汪国飞06最小短信收发系统设计.docx
《汪国飞06最小短信收发系统设计.docx》由会员分享,可在线阅读,更多相关《汪国飞06最小短信收发系统设计.docx(20页珍藏版)》请在冰豆网上搜索。
汪国飞06最小短信收发系统设计
第1章引言
短信息服务作为GSM网络的一种基本业务,已得到越来越多的系统运营商和系统开发商的重视。
但是用常见的手机编辑短信息不方便,输入和显示都有局限,当然不适合工业应用,用PC机就不存在这些问题。
而这种短信收发系统一般是基于RS〖CD*2〗232串行总线的,不仅安装麻烦,而且由于受计算机插槽数量和地址、中断资源的限制,不可能挂接很多设备。
在一些电磁干扰性强的测试现场,无法专门对其做电磁屏蔽,导致信息的失真。
本设计以GSM网络作为数据无线传输网络,可以开发出多种前景极其乐观的各类应用。
典型的应用有:
变电站、电表、水塔、水库或环保监测点等监测数据的无线传输和无线自动警报;远程无线控制高压线路断电器、加热系统、防洪拦阻系统或其它机电系统的启动和关闭;车队交通管理和控制指挥系统;控制和监测香烟、食品和饮料自动售货机的运行状态和存货水平等。
本设计以GSM网络作为数据无线传输网络,选用支持GSM网络的模块TC35i和带有USB接口的单片机开发而成。
GSM(GlobalSystemforMobilecommunication)系统是目前基于时分多址技术的移动通信体制中,是比较成熟完善,且应用最广泛的第二代移动通信一种系统。
目前已建成的覆盖全国的GSM数字蜂窝移动通信网,是我国公众移动通信网的主要方式。
基于GSM的短信信息服务,是一种在是在移动网络上传送简短信息的无线应用,是一种信息在移动网络上存储和转寄的过程。
由于公众GSM网络在全球范围内实现了联网和漫游,建议上述系统不需再组建专用通信网络,所以具有实时传输数据功能的短信应用将得到迅速普及。
笔者开发设计的基于GSM网络的温度数据采集与无线传输系统正是借助该网络平台,利用短信息业务实现数据的自动双向传递。
本系统由数据采集部分、数据接收和发送部分、终端处理部分三个模块组成。
数据采集模块将采集到的温度数据存入存储器中。
数据收发模块采用双单片机共用E2RPOM的方式,单片机2控制数据从存储器转存入E2PROM中;单片机1负责将数据从E2PROM中读出,并经GSM模块2借助GSM网络将数据发送出去。
单片机1不仅控制数据的发送,也控制数据的接收。
在这里,E2PROM是温度数据临时存储和上传的中转站。
终端处理模块负责将接收到的数据交给计算机处理,并将处理后的结果存放到数据库中,以供查询。
当终端处理模块需要向GSM模块2发送控制命令时,GSM模块2接收过程正好与上述过程相反,从而实现数据的自动双向传递。
第2章系统设计的总体方案
2.1设计的目的和意义
短信息服务是移动网络上一种基本无线业务,是信息在移动网络上储存和转寄的过程。
但是用常见的手机编辑短信息不方便,输入和显示都有局限,当然不适合工业应用,用PC机就不存在这些问题。
而这种短信收发系统一般是基于RS〖CD*2〗232串行总线的,不仅安装麻烦,而且由于受计算机插槽数量和地址、中断资源的限制,不可能挂接很多设备。
在一些电磁干扰性强的测试现场,无法专门对其做电磁屏蔽,导致信息的失真。
本设计以GSM网络作为数据无线传输网络,选用支持GSM网络的模块TC35i和带有USB接口的单片机开发而成。
2.2系统框图与主要方案
本系统主要由短信收发模块和兼有监控实现USB接口双重功能的单片机组成即西门子公司的TC35i模块和Cygnal公司的C8051F320。
系统框图如图1所示。
本设计将TC35i终端与电脑相连(通过USB接口,TC35i终端支持GSMUAT指令集),就可以通过自行编制的短信息收发软件,利用PC的超级终端功能实现短信息收发。
该系统可实现中英文点对点的双向收发,一次最多可以发送70个中文字符和160个英文字符。
一旦消息被发送,那么发送人就会得到发送成功的通知。
它还可以实现一次性群发,最多可以发给10个用户,并且有电话簿功能。
该终随机收发,实时接收,立即回复,成本低等特性。
本系统由数据采集部分、数据接收和发送部分、终端处理部分三个模块组成。
数据采集模块将采集到的温度数据存入存储器中。
数据收发模块采用双单片机共用E2RPOM的方式,单片机2控制数据从存储器转存入E2PROM中;单片机1负责将数据从E2PROM中读出,并经GSM模块2借助GSM网络将数据发送出去。
单片机1不仅控制数据的发送,也控制数据的接收。
在这里,E2PROM是温度数据临时存储和上传的中转站。
终端处理模块负责将接收到的数据交给计算机处理,并将处理后的结果存放到数据库中,以供查询。
当终端处理模块需要向GSM模块2发送控制命令时,GSM模块2接收过程正好与上述过程相反,从而实现数据的自动双向传递。
图2-1 系统框图
标注:
CCVCC:
SIM卡引脚CCREST:
SIM卡引脚CCCLK:
SIM卡引脚
CCIO:
SIM卡引脚CCGND:
SIM卡引脚ZIF:
零阻力插座
TXD:
发送数据RXD:
接收数据SYNC:
同步
LED:
发光二极管IGT:
信号
TC35I:
这是西门子推出的最新的无线模块(直接解释是什么功能的芯片)
8051F320?
第3章硬件系统电路设计
本系统采用CygnalC8051F320作为控制主芯片。
CygnalC8051F为兼容MCS-51内核的单片机,内置8KBFlash,拥有256字节RAM。
由于内置Flash,因此在电路设计上可以省去外接程序存储器,缩小了PCB板的面积,也提高了整个系统的可靠性。
在这个GSM系统中,还有一些基本不变或者很少变化的量,比如子机的编号、号码、短消息中心号码等,这些数据可以作为常量直接写入程序的Flash中。
单片机通过串口和TC35i通信,单片机从TC35i接到外来的信息,并通过USB接口和PC机通信。
图3-1 稳压电源电路
3.1稳压电源电路
最小系统工作电压为5VDC。
由于TC35i模块的突发耗电电流峰值可达3A,故外加稳压器件必须达到足以提供该额定电流的条件。
另外,电源的指标不仅仅有电压,而且功率容限等指标都要满足要求,故采用图2的设计方案。
在该系统中,开关电源芯片LM7805完成12V到5V的转换,电源电路主要由LM7805和AS1117-3.3这2个三端稳压电源模块构成,电源模块AS1117-3.3接收LM7805输入的5V电平,输出为整个单片机系统提供+3.3V工作电压,连到ZIF连接器的1~5引脚,为TC35i提供+5V、500mA的充电电压。
电源的输出基本不会受外部输入变动干扰,而且有效的消除了电磁干扰。
图3-2 IGT电路
3.2IGT电路
对于TC35i模块控制,IGT信号非常重要,只有正确的IGT信号才可以使TC35i模块正常运行。
系统加电后,为使TC35i进入工作状态,必须给IGT加一个延时大于100ms的低脉冲,电平下降持续时间不可超过1ms。
驱动IGT时,TC35i供电电压不能低于3.3V,否则TC35不能激活。
电路设计如图3所示。
启动电路由开漏极三极管和上电复位电路组成。
为保证整个系统正常启动,要求在电源加电时,IGT必须保持大于100ms的低电平后,再跳到高电平,在电路板中是依靠RC电路来完成的,且该信号下降沿时间小于1ms。
启动后,IGT脚的信号应保持高电平。
电源通电后,+5V电源通过电阻对电容充电,使电容正极上的电压慢慢上升,大约经过100ms达到高电位,使施密特触发器翻转,系统被复位。
启动后,IGT应保持高电平(3.3V)。
TC35i数据接口通过USB电缆直接与PC机连接。
数据接口遵从DCE的ITU2TRS232内部交换电路标准,实现异步串行收发功能。
图3-3TC35i外围电路图
3.3TC35i其他部分电路
电源电路分为充电电池和稳压电源模块两部分:
充电电池主要为整个系统提供3.6V工作电压,同时产生MAX3238所需要的高电平;三端电源模块LM7806将外部+12V直流电源转换为+6V,连到ZIF连接器的11、12引脚,在充电模式下,为TC35i提供+6V、500mA的充电电源。
启动电路由开漏极三极管和上电复位电路组成。
模块上电10ms后(电池电压须大于3V),为使之正常工作,必须在15脚()加时长至少为100ms的低电平信号,且该信号下降沿时间小于1ms。
启动后,15脚的信号应保持高电平。
基带处理器集成了一个与ISO7816-3ICCard标准兼容的SIM接口。
为了适合外部的SIM接口,该接口连接到主接口(ZIF连接器)。
在GSM11.11为SIM卡预留5个引脚的基础上,TC35在ZIF连接器上为SIM卡接口预留了6个引脚,所添加的CCIN引脚用来检测SIM卡支架中是否插有SIM卡。
当插入SIM卡,该引脚置为高电平时,系统方可进入正常工作。
数据通信电路主要完成短消息收发、与PC机通信、软件流控制等功能。
数据通信电路以Maxim公司的MAX3238芯片为核心,实现电平转换及串口通信功能;具有低功耗、高数据速率、增强型ESD保护等特性。
增强型ESD结构为所有发送器输出和接收器输入提供保护,可承受±15kVIEC1000-4-2气隙放电、±8kVIEC1000-4-2接触放电和±15kV人体放电模式。
TC35的SYNC引脚有两种工作模式,可用AT命令ATSYNC进行切换。
一种是指示发射状态时的功率增长情况,另一种是指示TC35的工作状态。
本模块使用的是后一种功能:
当LED熄灭时,表明TC35处于关闭或睡眠状态;当LED为600ms亮/600ms熄时,表明SIM卡没有插入或TC35正在进行网络登录;当LED为75ms亮/3s熄时,表明TC35已登录进网络,处于持机状态。
TC35i通过C8051F020与PC机通信,其外围电路如图2-4所示
图3-4TC35i通过C8051F020与PC机通信
3.4单片机周围电路
采用Cygnal公司内置USB接口的高性能微控制器芯片C8051F320,简化了硬件部分的设计。
该单片机即实现了USB接口的功能又要完成对模块的控制功能。
因为C8051F320是带USB接口的单片机,所以整个硬件部分与一般单片机应用系统的开发类似,仅需要通过端口P0.5和P0.4连接40脚ZIF插座就可实现模块和单片机之间的通信。
下面是设计时应特别注意的问题:
在外接晶体时,一定要在晶体的两端接上10MΩ的电阻,晶体外壳最好接地,而且布线尽量的短,尽量减少干扰。
若要快捷、成功地开发一个USB设备,正确、合理的调试方法是必不可少的环节。
那么设计调试所用的JTAG口时,要在TCK加上3.3V上拉,上拉电阻为4.7kΩ。
本单片机共有32个引脚,对于未用的I/O口最好用100Ω的电阻下拉到地。
这样有助于保护I/O口。
图3-5USB的外接口电路
第4章系统的主要器件和功能
4.1TC35i模块的介绍
目前,国内已经开始使用的GSM模块有Falcom的A2D系列、Wavecome的WMO2系列、西门子的TC35系列、爱立信的DM10/DM20系列、中兴的ZXGM18系列等,而且这些模块的功能、用法差别不大。
其中西门子的TC35系列模块性价比很高,并且已经有国内的无线电设备入网证。
所以本设计选用的是西门子TC35系列的
TC35i。
这是西门子推出的最新的无线模块,功能上与TC35兼容,设计紧凑,大大缩小了用户产品的体积。
TC35i与GSM2/2+兼容、双频(GSM900/GSMl800)、RS232数据口、符合ETSI标准GSM0707和GSM0705,且易于升级为GPRS模块。
该模块集射频电路和基带于一体,向用户提供标准的AT命令接口,为数据、语音、短消息和传真提供快速、可靠、安全的传输,方便用户的应用开发及设计。
TC35i是一个支持中文短信息的工业级GSM模块,工作在EGSM900和GSM1800双频段,电源范围为3.3~5.5V,可传输语音和数据信号,功耗在EGSM900(4类)和GSM1800(1类)分别为2W和1W,通过接口连接器和天线连接器分别连接SIM卡读卡器和天线。
TC35i的数据接口(CMOS电平)通过AT命令可双向传输指令和数据,可选波特率为300b/s~115kb/s,自动波特率为1.2kb/s~115kb/s。
它支持Text和PDU格式的SMS(ShortMessageService,短消息),可通过AT命令或关断信号实现重启和故障恢复。
TC35i由供电模块(ASIC)、闪存、ZIF连接器、天线接口等6部分组成。
作为TC35i的核心,基带处理器主要处理GSM终端内的语音和数据信号,并涵盖了蜂窝射频设备中的所有模拟和数字功能。
在不需要额外硬件电路的前提下,可支持FR、HR和EFR语音信道编码。
4.1.1主要技术指标
TC35i主要特性与技术指标包括以下几点:
频段为双频GSM900MHz和GSMl800MHz(phase2/2+);②支持数据、语音、短消息和传真;③高集成度(54.5mm×36mm×3.6mm);④质量为9g;⑤电源电
压为单一电压3.3~4.8V;⑥可选波特率300bps~115kbps,动波特率4.8~115kbps;⑦电流消耗——休眠状态为3.5mA,空闲状态为25mA,发射状态为300mA(平均),2.5A峰值;⑧温度范围——正常操作-20℃~+55℃,存放-30℃~+85℃;⑨SIM电压为3V/1.8V。
TC35i有40个引脚,通过一个ZIF(ZeroInsertionForce,零阻力插座)连接器引出。
这40个引脚可以划分为5类,即电源、数据输入/输出、SIM卡、音频接口和控制。
第1~14脚为电源部分:
1~5为电源电压输入端Vbatt+,6~10为电源地GND,11、12为充电引脚,13为对外输出电压(共外电路使用),14为ACCU-TEMP接负温度系数的热敏电阻。
24~29为SIM卡引脚,分别为CCIN、CCRST、CCIO、CCCLK、CCVCC和CCGND。
33~40为语音接口,用来接电话手柄。
15、30、31和32脚为控制部分:
15为点火线IGT(Ignition),当TC35i通电后必须给IGT一个大于100ms低电平,模块才启动;30为RTCbackup,31为Powerdown,32为SYNC。
16~23为数据输入/输出,分别为DSR0、RING0、RxD0、TxD0、CTS0、RTS0、DTR0和DCD0。
TC35的数据输入/输出接口实际上是一个串行异步收发器,符合ITU-TRS232接口标准。
它有固定的参数:
8位数据位和1位停止位,无校验位,波特率在300bps~115kbps之间可选,硬件握手信号用RTS0/CTS0,软件流量控制用XON/XOFF,CMOS电平,支持标准的AT命令集。
4.1.2模块中与SMS有关的GSMAT指令介绍
GSM引擎模块提供的命令接口符合GSM07.05和GSM07.07规范。
GSM07.07中定义的ATCommand接口,提供了一种移动平台与数据终端设备之间的通用接口;GSM07.05对短消息作了详细的规定。
在短消息模块收到网络发来的短消息时,能够通过串口发送指示消息,数据终端设备可以向GSM模块发送各种命令。
与SMS有关的GSMAT指令如表1所列。
GSMAT指令集,是由诺基亚、爱立信、摩托罗拉和HP等厂家共同为GSM系统研制的,其中包含了对SMS(ShortMessageService)的控制。
表4-1与SMS相关的若干GSMAT指令
AT指令
功 能
AT+CMGC
SendanSMScommand(发出一条短消息命令)
AT+CMGD
DeleteSMSmessage(删除SIM卡内存的短消息)
AT+CMGF
SelectSMSmessageformat(选择短消息信息格式:
0-PDU;1-文本)
AT+CMGL
ListSMSmessagefrompreferredstore(列出SIM卡中的短消息信息格式PDU/text:
0/"RECUNREAD"为未读,1/“RECREAD”为已读,2/“STOUNSENT”为待发,3/“STOSENT”为已发,4/“ALL”为全部的)
AT+CMGR
ReadSMSmessage(读短消息)
AT+CMGS
SendSMSmessage(发送短消息)
AT+CMGW
WriteSMSmessagetomemory(向SIM内存中写入待发的短消息)
AT+CMGS
SendSMSmessagefromstorage(从SIM内存中发送短消息)
AT+CNMI
NewSMSmessageindication(显示新收到的短消息)
AT+CPMS
PreferredSMSmessagestorage(选择短消息内存)
AT+CSCA
SMSservicecenteraddress(短消息中心地址)
AT+CSCB
Selectcellbroadcastmessagemessages(选择蜂窝广播消息)
AT+CSMP
SetSMStextmodeparameters(设置短消息文本模式参数)
AT+CSMP
SelectMessageService(选择短消息服务)
4.1.3PDU编码规则
目前,发送短消息常用Text和PDU(ProtocolDataUnit,协议数据单元)模式。
使用Text模式收发短信代码简单,实现起来十分容易,但最大的缺点是不能收发中文短信;而PDU模式不仅支持中文短信,也能发送英文短信。
PDU模式收发短信可以使用3种编码:
7-bit、8-bit和UCS2编码。
7-bit编码用于发送普通的ASCII字符,8-bit编码通常用于发送数据消息,UCS2编码用于发送Unicode字符。
一般的PDU编码由ABCDEFGHIJKLM十三项组成。
A:
短信息中心地址长度,2位十六进制数(1字节)。
B:
短信息中心号码类型,2位十六进制数。
C:
短信息中心号码,B+C的长度将由A中的数据决定。
D:
文件头字节,2位十六进制数。
E:
信息类型,2位十六进制数。
F:
被叫号码长度,2位十六进制数。
G:
被叫号码类型,2位十六进制数,取值同B。
H:
被叫号码,长度由F中的数据决定。
I:
协议标识,2位十六进制数。
J:
数据编码方案,2位十六进制数。
K:
有效期,2位十六进制数。
L:
用户数据长度,2位十六进制数。
M:
用户数据,其长度由L中的数据决定。
J中设定采用UCS2编码,这里是中英文的Unicode字符。
4.2C8051F320的介绍
Cygnal公司的C8051F系列单片机是集成的混合信号片上系统SoC。
它具有与MCS-51内核及指令集完全兼容的微控制器,带有USB收发器,完全遵循USB协议2.0,支持12Mbps的全速传输或1.5Mbps的低速传输,可时钟恢复,不需额外的晶振(当然根据设计习惯,也可以采用外部晶振),提供有8个端点(endpoint),且每个端点的传输类型、传输方向均可自由配置。
另外,它还集成有1KB的USBSRAM和USB收发器,内置的16KB的Flash存储器和256B的内部RAM,还可以访问外部数据存储器RAM,即XRAM。
它还可以为固件提供足够的存储空间,不需要再扩展外部存储器。
更重要的是C8051F320内部包含有一个C2(Cygnal2-Wire)调试电路,通过2脚的C2接口使用开发套件,就可以进行非侵入式、全速的在系统调试。
另外,这2脚是公用的,它还有其他的功能,这样设计PCB板就相对简单些。
C8051F020系列器件与MCS-51指令集完全兼容,可以使用标准803X/805X的汇编器和编译器进行软件开发。
CIP-51内核具有标准8052的所有外设部件,包括5个16位的计数器/定时器、2个全双工UART、256字节内部RAM、128字节特殊功能寄存器(SFR)地址空间及8/4个字节宽的I/O口。
CIP-51采用流水线结构,与标准的8051结构相比,指令执行速度有很大的提高。
70%指令的执行时间为1或2个系统时钟周期,只有4条指令的执行时间大于4个系统时钟周期。
CIP-51工作在最大系统时钟频率25MHz时,峰值速度达到25MIPS。
该系列的MCU具有标准8051端口(0、1、2和3)和4个附加的端口(4、5、6和7),因此共64个I/O口。
每个I/O引脚都可以被配置为推挽或漏极开路输出。
在标准8051中固定的“弱上拉”可以被总体禁止。
这为低功耗应用提供了进一步节电的能力。
最独特的改进是引入了数字交叉开关。
这是一个大的数字开关网络,允许将内部数字资源映射到P0、P1、P2和P3的端口I/O引脚。
与具有标准复用数字I/O的微控制器不同,这种结构可以支持所有的功能组合。
可以通过设置交叉开关控制寄存器,将片内的计数器/定时器、串行总线、硬件中断、ADC转换启动输入、比较器输出以及微控制器内部的其它数字信号,配置为出现在端口的I/O引脚。
这一特性允许用户根据自己的特定应用选择通用I/O和所需数字资源的组合。
第5章软件设计
GSM(GlobalSystemforMobilecommunication)系统是目前基于时分多址技术的移动通信体制中,比较成熟完善,且应用最广泛的一种系统。
目前已建成的覆盖全国的GSM数字蜂窝移动通信网,是我国公众移动通信网的主要方式。
基于GSM的短信信息服务,是一种在移动网络上传送简短信息的无线应用,是一种信息在移动网络上存储和转寄的过程。
由于公众GSM网络在全球范围内实现了联网和漫游,建议上述系统不需再组建专用通信网络,所以具有实时传输数据功能的短信应用将得到迅速普及。
笔者开发设计的基于GSM网络的温度数据采集与无线传输系统正是借助该网络平台,利用短信息业务实现数据的自动双向传递。
系统模型图如图1所示。
本系统由数据采集部分、数据接收和发送部分、终端处理部分三个模块组成。
数据采集模块将采集到的温度数据存入存储器中。
数据收发模块采用双单片机共用E2RPOM的方式,单片机2控制数据从存储器转存入E2PROM中;单片机1负责将数据从E2PROM中读出,并经GSM模块2借助GSM网络将数据发送出去。
单片机1不仅控制数据的发送,也控制数据的接收。
在这里,E2PROM是温度数据临时存储和上传的中转站。
终端处理模块负责将接收到的数据交给计算机处理,并将处理后的结果存放到数据库中,以供查询。
当终端处理模块需要向GSM模块2发送控制命令时,GSM
图5-1系统模块图
模块2接收过程正好与上述过程相反,从而实现数据的自动双向传递。
(标注:
E2PROM:
只读存储器MSC1210:
新型SoC模拟信号处理单片机)
系统中,三个模块相互独立,彼此又相互依赖,共同完成数据的传输。
数据收发模块在系统中起着承上启下的作用,是系统的核心模块。
该模块以双单片机为核心,以RS232通信接口,在物理层上实现与GSM模块的连接。
由于篇幅的限制,本文主要介绍单片机控制这一模块工作的软件实现过程,旨在对怎样用单片机控制GSM模块收发短信息进行探讨。
5.1GSM模块MZ28
MZ28是中兴通讯推出的GSM无线双频调制解调器,主要为语音传输、短信发送和数据业务提供无线接口。
MZ28集成了完整的射频电路和GSM的基带处理器,特别适合于迅速开发基于GSM无线网络的无线应用产品。
带有人机接口(MMI)界面的应用产品内部与MZ28的通信可通过标准的串行接口(RS232)进行。
MZ28使用简单的2