唐 山 学 院 毕 业 设 计
GSM模块通过AT命令与单片机通信。 首先来了解一下AT指令。 AT 指令如下:
AT+CMGC Send an SMS command(发出一条短消息命令) AT+CMGD Delete SMS message(删除SIM卡内存的短消息)
AT+CMGF Select SMS message formate(选择短消息信息格式:0-PDU;1-文本)
AT+CMGL List SMS message from preferred store(列出SIM卡中的短消息PDU/text: 0/“REC UNREAD”-未读,1/“REC READ”-已读,2/“STO UNSENT”-待发,3/“STO SENT”-已发,4/“ALL”-全部的)
AT+CMGR Read SMS message(读短消息) AT+CMGS Send SMS message(发送短消息)
AT+CMGW Write SMS message to memory(向SIM内存中写入待发的短消息) AT+CMSS Send SMS message from storage(从SIN|M内存中发送短消息) AT+CNMI New SMS message indications(显示新收到的短消息) AT+CPMS Preferred SMS message storage(选择短消息内存) AT+CSCA SMS service center address(短消息中心地址) AT+CSCB Select cell broadcast messages(选择蜂窝广播消息) AT+CSMP Set SMS text mode parameters(设置短消息文本模式参数) AT+CSMS Select Message Service(选择短消息服务) 经过以上了解现在来对GSM模块进行软件编写。
所有的AT指令(除了重复命令A/以外)都由AT开头,除了发送短信消息最后是以
常用初始化指令:
1)设置单片机和GSM模块的通信波特率AT+IPR=9600〈CR〉
2)设置短消息中心号码AT+CSCA=“+8613800311500”〈CR〉,正确返回〈CR〉〈LF〉OK〈CR〉〈LF〉,〈CR〉〈LF〉是回车换行符号。如果读取短消息中心号码,则命令为AT+CSCA=?〈CR〉,模块应该返回〈CR〉〈LF〉+CSCA:“8613800311500”〈CR〉〈LF〉。
3)设置短消息发送格式AT+CMGF=1〈CR〉,设置1代表text 格式,指令正确返回〈CR〉〈LF〉OK〈CR〉〈LF〉。
保存当前的设置AT&W。把当前的通信波特率,短消息中心代码和短消息发送格式写入模块。
11
唐 山 学 院 毕 业 设 计
3.3.4 短消息操作指令
1)短消息数据的长度AT+CMGS=8〈CR〉等待GSM 模块返回“〉”则可以将text 格式数据输入,text 格式数据以〈CTRL〉+〈Z〉作为结束符,短消息发送成功返回〈CR〉〈LF〉OK〈CR〉〈LF〉。
2)设置短消息到达自动提示 AT+CNMI=1,1,0,0,
3)读取短消息。模块接受到新的短消息之后,向单片机发送字符
4)删除短消息。SIM卡内存有限,所以防止卡中内存不足,在收到短息并且处理数据之后,将该短消息删除,删除指令AT+CMGD=INDEX
3.4 TC35的介绍
TC35是西门子公司推出的一种无线通信GSM模块,可以安全的传输方案中的数据,完成短信服务。模块的工作电压为3.3V-5.5V,可以工作在900MHz和1800MHz两个频段,所在频段功耗分别为2W和1。模块有AT指令接口,支持PDU模式的短信和文本格式的短信。第3组的2类传真以及2.4K,4.8K,9.6K的非透明模式。此外,该模块还有电话薄功能,多方通话,漫游检测等功能。常用的工作模式有省电模式,IDLETALK等模式。具有独特的40管脚的ZIF连接器,通过ZIF连接器以及50Ω天线连接器,可以分别连接SIM卡支架和天线。
TC35模块主要由GSM基带处理器,GSM射频模块,供电模块,闪存,ZIF连接器和天线接口组成。下图是TC35的具体模块图:
电 源 图3-9 TC35物理结构图 射频电路 基带处理器 无线连接器 Flash ROM 40引脚ZIF插座 TC35是一个完整的GSM模块,本身能够完成独立的功能,外部通过40管脚的ZIF
12
唐 山 学 院 毕 业 设 计
连接器对TC35模块进行控制,从而实现电源连接,指令数据,语音信号以及控制信号的双向传输。下图给出了ZIF连接器的管脚图:
图3-10 TC35的管脚图
下面具体介绍在本系统使用到的管脚:
VBATT+:供电胶管。供电电压在3.3V-5.5V之间 ,该胶管还必须满足峰值电流为2A。当模块在充电的时候,该胶管还可以作为输出管脚。所有的VBATT+必须并行连接在一起。
GND:接地管脚。
/IGT:启动管脚。该管脚用来启动TC35模块进行工作。该脚管低电平有效。 RXD0:发送数据到DTE。 TXD0:接收数据从DTE。
CTS0:清除发送。该信号有效表示TC35模块准备接受DTE数据。 RTS0:请求发送。该信号有效表示DTE准备发送数据到TC35模块。如果该管脚不用的话,通过一个10K的电阻将该管脚拉高。
DTR0:数据终端准备好,DTE控制该信号线有效。如果该管脚不用的话,通过一个10K的电阻将该管脚拉高。
CCIN:SIM卡连接胶管。该管脚用来检测SIM卡是否连接上,如果连上,该胶管被设置成高电平,如果没有连接上,则该管脚被设置成低电平。
CCRET:SIM卡复位管脚。由基带处理器提供。 CCIO:SIM卡的串行数据总线。输入输出数据。 CCCLK:SIM卡的时钟线。 CCVCC:SIM卡的电源输出管脚。 CCGND:SIM卡的接地管脚。
13
唐 山 学 院 毕 业 设 计
3.5 TC35的硬件设计
3.5.1 TC35的电源设计
对于TC35模块采用3.6V供电,由于该电源电流必须满足输出电流能够达到2A,在此采用NATIONAL公司的LP3966-ADJ芯片。该芯片的管脚2为shutdown管脚,在设计的时候必须通过一个10K的电阻拉高到5V。为了使3.6V输出电源波纹小,在输出部分用了一个68Pf,33μF和0.1μF的电容,实现滤波。另外在芯片的输入端也放置了一个68μF的滤波电容,减小输入端收到的干扰。具体的电路如下:
图3-11 TC35电源电路
3.5.2 TC35接口设计
TC35主要通过串口与单片机进行通讯,从而对TC35的控制,通过与单片机的UART进行两线连接,对于TC35的其他管脚不用的时候悬空处理,如果该管脚为输入的话,通过一个10K的电阻上拉。另外/IGT管脚使控制TC35模块工作的管脚,需要上拉,并且将该管脚与单片机连接,从而实现单片机控制TC35的工作状态。它的电源管脚并联在一起,另外TC35还需要连接SIM卡座子,下面为具体的接设计:
图3-12 TC35的接口设计图
14
唐 山 学 院 毕 业 设 计
3.5.3 SIM卡座子
TC35模块的SIM卡座子采用的是MOLEX座子,该座子由8个管脚,而TC35模块的管脚只有6个,具体的电路如下:
图3-13 SIM卡座子接线图
上图只需要把对应的管脚与TC35连接,在电源接地端加入电容滤波处理,达到减小波纹的目的。
3.6 单片机的接口设计
作为这个系统的核心处理部分,主要完成与TC35通信,它们是通过串口UART0实现的,虽然这两者的供电电压不同但是他们的接口点评可以直接相连,不需要电平转换。单片机通过一个I/O口来控制TC35的工作状态,MSP430F149单片机由两个时钟输入,即一个32kHz的时钟信号,一个8MHz的时钟信号。该系统的时钟部分是通过晶体振荡器实现的。电源的管脚加入一个0.1μF的电容来滤波,模拟地和数字地共地,模拟电源输入端增加一个滤波电容,设置p1.5口来作为启动通信的按键,由于p1.5作为中断来使用,这里设置成低电平出发方式,需要将管脚拉高。P1.0作为输出口,与TC35模块的/IGT管脚连接实现控制TC35的工作。连接传感器并且进行A/D转换的接口设置为P6.0口,单片机的电源分别接入AVCC和DVCC复位端为RESET0接口,并且通过I/O口P1.1发出高电平信号来实现水泵的启动停止,具体的过程是由软件来实现的。 下面为单片机的接口设计:
15