2.4.2 接口定义
引脚 1 2 3 4 NC 名称 GND DATA SCK VDD NC 描述 地 串行数据,双向 串行时钟,双向 电源 必须为空 SHT1x 的供电电压范围为2.4-5.5V, 建议供电电压为3.3V。在电源引脚(VDD,GND)之间须加一个100nF的电容,用以去耦滤波。
SHT1x 的串行接口,在传感器信号的读取及电源 损耗方面,都做了优化处理;传感器不能按照I2C 协议编址,但是,如果I2C 总线上没有挂接别的元件,传感器可以连接到I2C 总线上,但单片机必须按照传感器的协议工作。
SCK 用于微处理器与SHT1x 之间的通讯同步。由于接口包含了完全静态逻辑,因而不存在最小SCK 频率。
DATA 引脚为三态结构,用于读取传感器数据. 当向传感器发送命令时, DATA 在SCK上升沿有效且在SCK高电平时必须保持稳定。DATA 在SCK 下降沿之后改变为确保通讯安全,DATA 的有效时间在SCK上升沿之前和下降沿之后应该分别延长至TSUand THO– 参见图11。 当从传感器读取数据时, DATA TV 在SCK变低以后有效,且维持到下一个SCK的下降沿 。为避免信号冲突,微处理器应驱动DATA 在低电平。需要一个外部的上拉电阻(例如:10kΩ)将信号提拉至高电平。上拉电阻通常已包含在微处理器的I/O 电路中。
2.5 GSM模块TC35i
TC35i新版西门子工业GSM模块是一个支持中文短信息的工业级GSM模块,工作在EGSM900和GSM1800双频段,电源范围为直流3.3~4.8V ,电流消耗——休眠状态为3.5mA,空闲状态为25mA,发射状态为300mA(平均),2.5A峰值;可传输语音和数据信号, 功耗在EGSM900(4类)和GSM1800(1类)分别为2W和1W ,通过接口连接器和天线连接器分别连接SIM卡读卡器和天线。SIM电压为3V/1.8V,TC35i的数据接口(CMOS电平)通过AT命令可双向传输指令和数据,可
11
选波特率为300b/s~115kb/s , 自动波特率为1.2kb/s~115kb/s。它支持Text和PDU格式的SMS(Short Message Service,短消息),可通过AT命令或关断信号实现重启和故障恢复
2.5.1 TC35i硬件设计
TC35i模块有40个引脚,通过一个ZIF(Zero Insertion Force,零阻力插座)连接器引出。这40个引脚可以划分为5类,即电源、数据输入/输出、SIM卡、音频接口和控制。
TC35i的第1~5引脚是正电源输入脚通常推荐值4.2V,第6~10引脚是电源地。11、12为充电引脚,可以外接锂电池,13为对外输出电压(共外电路使用),14为ACCU-TEMP接负温度系数的热敏电阻,用于锂电池充电保护控制。 15脚是启动脚IGT,系统加电后为使TC35i进入工作状态,必须给IGT加一个大于100ms的低脉冲,电平下降持续时间不可超过1ms。
16~23为数据输入/输出,分别为DSR0、RING0、RxD0、TxD0、CTS0、RTS0、DTR0 和DCD0。tc35i模块的数据输入/输出接口实际上是一个串行异步收发器,符合ITU-T RS232接口标准。它有固定的参数:8位数据位和1位停止位,无校验位,波特率在300bps~115kbps之间可选,默认9600。硬件握手信号用RTS0/CTS0,软件流量控制用XON/XOFF,CMOS电平,支持标准的AT命令集。 其中18脚RxD0、19脚TxD0为TTL的串口通讯脚,需要和单片机或者PC通讯。
TC35i使用外接式SIM卡, 24~29为SIM卡引脚,SIM卡同TC35i是这样连接的:SIM上的CCRST、CCIO、CCCL、CCVCC和CCGND通过SIM卡阅读器与TC35i的同名端直接相连,ZIF连接座的CCIN引脚用来检测SIM卡是否插好,如果连接正确,则CCIN引脚输出高电平,否则为低电平。
TC35i的第32脚SYNC引脚有两种工作模式,一种是指示发射状态时的功率增长情况,另一种是指示TC35i的工作状态,可用AT命令AT+SYNC进行切换,本模块使用的是后一种。当LED熄灭时,表明TC35i处于关闭或睡眠状态;当LED为600 ms亮/600ms熄时,表明SIM卡没有插入或TC35i正在进行网络登录;当LED为75 ms亮/3s熄时,表明TC35i已登录进网络,处于待机状态。 30、31、32脚为控制脚,其中30为RTC backup,31为Power down,32 为SYNC。 35~38为语音接口,35、36接扬声器放音。37、38可以直接接驻极体话筒来采集声音(37是话筒正端,39是话筒负端) 下面为内部电路图
12
2.5.2 TC35i软件开发
模块的供电电压如果低于3.3V会自动关机。同时模块在在发射时,电流峰值可高达2A。同时在此电流峰值时,电源电压(送入模块的电压)下降值不能超过0.4V。所以该模块对电源的要求较高,电源的内阻+FFC联接线的电阻必需小于200mΩ。
单片机通过两根I/O口控制TC35的开关机、复位等,通过串口与TC35进行数据通信,通信速率为9600Kbps,采用8位异步通讯方式,1位起始位,8位数据位,1位停止位。
TC35模块输入输出的TTL正电平逻辑不是+5V,而是+2.9V,因此必要时加端口保护。
AT指令发送短信流程
一、英文短信 发:AT 收:OK
发:AT+CMGF=1 收:OK
发:AT+CMGS=13902433649 收:>
13
发:data→ //test 为发送内容,→为发送符(ctrl+z,十六进制0x1A) 收:+CMGS: 54 OK 二、中文PDU短信
本文以一个实例来解说AT指令发送PDU短信的全过程,假如我要发送下面的短信:
接收号码:+8613902433649 短信内容:工作愉快!
短信中心号码:+8613800100500
1、短信中心号码处理:用字符串 addr 表示
a、将短信息中心号码去掉+号,看看长度是否为偶数,如果不是,最后添加F 即 addr = \ => addr = \b、将奇数位和偶数位交换。 => addr = \
c、将短信息中心号码前面加上字符91,91是国际化的意思 => addr = \
d、算出 addr 长度,结果除2,格式化成2位的16进制字符串,16 / 2 = 8 => \
=> addr = \2、手机号码处理:用字符串 phone
a、将手机号码去掉+号,看看长度是否为偶数,如果不是,最后添加F 即 phone = \ => phone = \b、将手机号码奇数位和偶数位交换。 => phone = \3、短信息部分处理:用字符串 msg 表示
a、转字符串转换为Unicode代码,例如“工作愉快!”的unicode代码为 5DE54F5C61095FEBFF01,(转换在linux里可用iconv函数实现。)
b、将 msg 长度除2,保留两位16进制数,即 5DE54F5C61095FEBFF01 = 20 / 2 => \,再加上 msg
=> msg = \
14
4、组合
a、手机号码前加上字符串 11000D91(1100:固定,0D:手机号码的长度,不算+号,十六进制表示,91:发送到手机为91,发送到小灵通为81) 即 phone = \ => 11000D91683109423346F9
b、手机号码后加上 000800 和刚才的短信息内容,000800也写死就可以了 即 phone = phone + \
即 11000D91683109423346F9 + 000800 + 0A5DE54F5C61095FEBFF01 => phone = 11000D91683109423346F90008000A5DE54F5C61095FEBFF01 c、phone 长度除以2,格式化成2位的十进制数
即 11000D91683109423346F90008000A5DE54F5C61095FEBFF01 => 50位 / 2 => 25
5、所以要发送的内容为 发:AT 收:OK
发:AT+CMGF=0 收:OK
发:AT+CMGS=25 收:>
发:addr+phone→ //→为发送符(ctrl+z,十六进制0x1A) 收:+CMGS: 54 OK
6、如果返回不是ERROR,恭喜你,发送成功了 三、几个要注意的问题
1、发送的指令用0x0D结尾,注意不是通常认为的0x0D,0x0A。 特别是在发送PDU短信的AT+CMGS=25命令时, 一定只能以0x0D结尾。
2、在发送短信内容时,以0x1A(代表ctrl+Z的虚拟键值)结尾。
3、用AT+CMEE=1命令,可以在短信猫返回ERROR时带上原因,这样方便调试。
15
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库2246论文 - 图文(3)在线全文阅读。
相关推荐: