[导读] 本文利用支持语音、短消息SMS ( ShortM es.sage Service)、数据通信、传真等业务的嵌入式无线CPU, 结合已有的单片机系统通过RS- 232接口连接嵌入式无线CPU, 从而利用GSM网络实现数据的无线传输。嵌入式无线CPU 在短信息方面的应用具有永远在线、不需拨号、价格便宜、覆盖范围广等特点, 特别适用于需频繁传送小流量数据的应用, 实现无线数据的双向传送。对软件和硬件加以改动还可以实现数据采集系统、GPS /GSM ( SMS)移动车辆监控定位系统、移动POS机、移动收费系统、移动性数据和Internet接入、机房监控、远程维护系统、移动性数据查询证券交易和信息查询系统、无线远程检测和控制等。
1. 引言 当前单片机和PC 机通过串行接口构成的多微机系统已经广泛应用于工业控制、环境监测等场合,这些系统大多采用RS - 232、RS - 485 或是有线modem的通信方式, 虽然很经济适用, 但是有线数据传输方式很大程度上限制了其使用的场合, 使得架设通信线路比较困难的地区无法应用。针对这种情况, 本文利用支持语音、短消息SMS ( ShortM es.sage Service)、数据通信、传真等业务的嵌入式无线CPU, 结合已有的单片机系统通过RS- 232接口连接嵌入式无线CPU, 从而利用GSM网络实现数据的无线传输。嵌入式无线CPU 在短信息方面的应用具有永远在线、不需拨号、价格便宜、覆盖范围广等特点, 特别适用于需频繁传送小流量数据的应用, 实现无线数据的双向传送。对软件和硬件加以改动还可以实现数据采集系统、GPS /GSM ( SMS)移动车辆监控定位系统、移动POS机、移动收费系统、移动性数据和Internet接入、机房监控、远程维护系统、移动性数据查询证券交易和信息查询系统、无线远程检测和控制等。 2. 系统硬件设计 本设计选用的是西门子TC35i嵌入式无线CPU。TC35i是西门子为适应各个专业领域对无线数据传输、语音传输及可开发性的需求推出的基于GSM 900移动通信网络系统的OEM 模块, TC35 i与GSM 2 /2+ 兼容、双频( GSM900 /GSM1800) , RS232数据口、符合ETS I标准GSM07. 07和GSM07. 05 、提供标准的AT 命令接口。MCU 采用CygnalC8051F020单片机。 基于TC35i嵌入式无线CPU 应用系统硬件的设计包括TC35 i的IGT电路、稳压电源电路、SYNC /S IM 卡指示灯电路、C8051F020 与TC35 i相连的串行口电路、C8051F020与PC 机的串行接口等几部分的设计, 应用系统硬件框图如图1 所示。其中TC35 i的IGT电路和C8051F020与PC 机的串行接口电路的设计需特别注意。  图1. 应用系统硬件框图 2. 1. TC35 i的IGT电路的设计 对于TC35 i模块的控制, IGT 信号非常的重要,只有正确的IGT信号才可以使TC35 i模块正常的运行, 模块工作时序如图2所示。  图2. TC35 i模块工作时序 启动电路由开漏极三极管和上电复位电路组成。模块上电10m s后(电压须大于3V ) , 为保证整个系统正常启动, 要求在电源加电时GT 必须在保持大于100毫秒的低电平后再阶跃到高电平。在电路板中是依靠RC电路来完成的且该信号下降沿时间小于lms。启动后15脚的信号应保持高电平。电源通电后, + 5V电源通过电阻R 对C 充电, 使电容正极上的电压慢慢上升, 大约经过100ms达到高电位使施密特触发器翻转、使系统被复位。电路设计如图3所示。  图3. TC35i的IGT电路 2. 2. C8051F020与PC 机的串口电路的设计 串行接口E IA - RS- 232C 标准对电器特性、逻辑电平和各种信号线功能都作了规定, RS- 232- C采用负逻辑规定逻辑电平。RS- 232C 不能和单片机的TTL电平( TTL 以高低电平表示逻辑状态)直接相连, 否则将使TTL 电路烧坏。本设计中C8051F020与PC 机的串行接口数据通信电路以SP3223E 芯片为核心, 实现电平转换及串口通信功能。SP3223E 芯片供电电压为3~ 5. 5V , 符合TIA /E IA - 232- F和ITUV. 28 /V. 24 标准。兼容5V 逻辑输入, 内含2路接收、2路发送串行通信接口, 数据传输速率可达240 kbit/ s。具有低功耗、高数据速率、增强型ESD保护等特性。增强型ESD结构为所有发送器输出和接收器输入提供保护, 可承受? 15kV IEC 1000- 4- 2气隙放电、? 8kV IEC 1000-4- 2接触放电和? 15kV 人体放电模式。芯片的最大特点是, 在串行口无数据输入的情况下, 可以灵活的进行电源管理, 即当ONLINE 为低电平、SHUT. DOWN 为高电平时, ON - LINE 功能有效。在正常运行模式下, 若芯片在接收引脚没有检测到有效信号, 将自动进入SHUTDOWN 模式, 此时耗电luA。 在ON - LINE 功能有效时, 如果检测到接收或发送引脚有信号输入, 该芯片自动被激活, 转入正常工作状态。电路设计如图4所示。  图4. C8051F020与PC 机的串口电路 3. 系统软件设计 软件的编写分为底层驱动程序和应用层程序。 为了方便软件编程, 需要针对硬件编写一些底层驱动程序。首先是串行口的驱动函数: 打开串口( OpenComm )、关闭串口( C loseComm )、读串口数据( fteADComm)、写串口数据(W riteComm) 等, 本系统中通过控件MSCCOMM 来完成。然后在这些串口函数的基础上编写TC35i的驱动函数。单片机通过串行口控制TC35i,控制方法采用标准的AT 命令集。在进行短消息的发送时, 还要对用户数据按PDU 格式进行编码, 函数分别为Encode和Decode,在此基础之上再编写应用层程序。这些底层的驱动函数将会使上层协议的编写很方便, 更重要的是, 它提供了一个硬件抽象层。当底层硬件改动时, 只需要对底层的驱动函数改动, 而上层函数的代码不变。 软件层次结构如图5所示。  图5. 软件层次结构图 [page] 3. 1. 上位机软件设计 上位机软件是一个短信息通信的管理器, 运行在PC机上, 通过串口与单片机和TC35 i通信。上位机软件由RS - 232串口参数设置、接收信息、发送信息、历史记录、发送命令等部分组成。上位机软件用户界面如图6所示。  图6. 上位机软件用户界面 ( 1) 发送短信息程序流程。 对于SIM 卡中的短信息, 可以显示其编号、类型、发送者号码、信息正文和发送时间, 当发送短信息时应该先设置并检查串口是否打开和TC35 i模块是否正确连接, 还要判断目的手机和短信息中心号码位数是否正确, 之后再发送AT 命令, 发送短信息程序流程图如图7所示。  图7. 发送短信息程序流程图 ( 2) 接收短信息程序流程。 若TC35 i接收到一条短信息, 将会发送一个提示信息, 串口*程序收到此提示信息, 就把短信息的内容显示到文本框中, 短信息内容包括接收时间、发送时间、发送手机号、短信息正文。接收短信息程序流程图如图8所示。  图8. 接收短信息程序流程图 3. 2. 下位机软件设计 下位机采用C ygna l公司的C8051F020单片机,它具有2 个串口UART0 和UART1, 设计时UART0连接PC 上位机(接收端)或数据采集系统(发送端) , UART1连接TC35 i模块, 两个串口都是双向通道, 这样单片机既可以控制TC35 i发送数据, 又可通过TC35 i接收数据, 数据传输流向如图9所示。  图9. 单片机数据传输流向图 由于UART0的中断优先级比UART1要高得多, 如果用查询的方式先处理UART0的请求, 再处理UART1的请求, 比中断方式更有效率, 并且程序设计更为简单, 故本系统在单片机串口程序设计中采用了查询方式。下位机软件程序流程图如图10所示。  图10. 下位机软件程序流程图 4. 结束语 本文围绕基于嵌入式无线CPU 短信息通信终端设计这一热点课题, 阐述了相应的GSM 无线终端的设计方案、开发方法和开发过程。实现了能收发短信的无线CPU 终端, 完成了IGT启动电路以及单片机与TC35 i和PC 机的串行接口等硬件电路的设计。采用面向对象的设计方法完成了上位机软件设计, 在单片机程序设计中, 用C51进行编程, 对两个串口的读写采用轮询方式, 由于篇幅有限程序代码省略, 给出了程序设计流程图。 在本终端平台的基础上, 对硬件和软件进行适当的调整和扩充就能设计成各种应用系统。
|