短信息服务是移动网络上一种基本无线业务,是信息在移动网络上储存和转寄的过程。但是用常见的手机编辑短信息不方便,输入和显示都有局限,当然不适合工业应用,用PC机就不存在这些问题。而这种短信收发系统一般是基于RS〖CD*2〗232串行总线的,不仅安装麻烦,而且由于受计算机插槽数量和地址、中断资源的限制,不可能挂接很多设备。在一些电磁干扰性强的测试现场,无法专门对其做电磁屏蔽,导致信息的失真。本设计以GSM网络作为数据无线传输网络,选用支持GSM网络的模块TC35i和带有USB接口的单片机开发而成。
1 系统的结构特点和主要器件 本系统主要由短信收发模块和兼有监控实现USB接口双重功能的单片机组成,即西门子公司的TC35i模块和Cygnal 公司的C8051F320。系统框图如图1所示。本设计将TC35i终端与电脑相连 (通过USB接口,TC35i终端支持GSMU
AT指令集),就可以通过自行编制的短信息收发软件,利用PC的超级终端功能实现短信息收发。该系统可实现中英文点对点的双向收发,一次最多可以发送70个中文字符和160个英文字符。一旦消息被发送,那么发送人就会得到发送成功的通知。它还可以实现一次性群发,最多可以发给10个用户,并且有电话簿功能。该终端具有随机收发,实时接收,立即回复,成本低等特性。
图1 系统框图
1.1 TC35i模块的介绍
目前,国内常用的GSM模块有Waecome的WMO2、爱立信的DM10/DM20系列、中兴的ZXGM18系列和西门子公司的TC35i,这些模块各有所长。其中西门子公司的TC35i系列模块性价比高,并且已经有国内的无线电设备入网证。本设计就是选用西门子公司的TC35i。
TC35i 是一个支持中文短信息的工业级GSM 模块,工作在EGSM900 和GSM1800 双频段,电源范围为3.3~5.5 V ,可传输语音和数据信号, 功耗在EGSM900 (4 类) 和GSM1800 (1 类) 分别为2 W和1 W ,通过接口连接器和天线连接器分别连接SIM卡读卡器和天线。TC35i 的数据接口(CMOS 电平)通过
AT 命令可双向传输指令和数据,可选波特率为300 b/s~115 kb/s , 自动波特率为1.2 kb/s~115 kb/s。它支持Text和PDU 格式的SMS (Short Message ServICe,短消息),可通过
AT 命令或关断信号实现重启和故障恢复。TC35i由供电模块(ASIC)、闪存、ZIF 连接器、天线接口等6部分组成。作为TC35i的核心,基带处理器主要处理GSM 终端内的语音和数据信号,并涵盖了蜂窝射频设备中的所有模拟和数字功能。在不需要额外硬件电路的前提下,可支持FR、HR 和EFR 语音信道编码。
1.2 C8051F320的介绍
USB的特点是统一了周边所有装置的连接口,各种不同的插头、插座都设计为统一规格,这就解决了哪一个装置插头要接在哪个连接口的问题。USB总线接口作为外设的通用接口,有其他接口无法比拟的优势。速度性能是USB技术的突出特点,它支持热插拔,是真正的即插即用设备,支持双向、同步传输,能保证某些需要连接
数据流的设备需要。在进行该USB设备开发之前,首先要根据具体使用要求选择合适的USB控制器。现在市场上供应的USB控制器主要有两种:带USB接口的单片机(MCU)或纯粹的USB接口芯片。笔者选用Cygnal公司的C8051F320芯片属于前者。
Cygnal公司的C8051F系列单片机是集成的混合信号片上系统SoC。它具有与MCS-51内核及指令集完全兼容的微控制器,带有USB收发器,完全遵循USB协议2.0,支持12 Mbps的全速传输或1.5 Mbps的低速传输,可时钟恢复,不需额外的晶振(当然根据设计习惯,也可以采用外部晶振),提供有 8个端点(endpoint),且每个端点的传输类型、传输方向均可自由配置。另外,它还集成有1 KB的USB SRAM和USB收发器,内置的16 KB的Flash存储器和256 B的内部RAM,还可以访问外部数据存储器RAM,即XRAM。它还可以为固件提供足够的存储空间,不需要再扩展外部存储器。更重要的是C8051F320内部包含有一个C2(Cygnal2-Wire)调试电路,通过2脚的C2接口使用开发套件,就可以进行非侵入式、全速的在系统调试。另外,这2脚是公用的,它还有其他的功能,这样设计PCB板就相对简单些。
2 硬件系统电路设计 本系统采用Cygnal C8051F320作为控制主芯片。Cygnal C8051F为兼容MCS-51内核的单片机,内置8 KB Flash,拥有256字节RAM。由于内置Flash,因此在电路设计上可以省去外接程序存储器,缩小了PCB板的面积,也提高了整个系统的可靠性。在这个GSM系统中,还有一些基本不变或者很少变化的量,比如子机的编号、号码、短消息中心号码等,这些数据可以作为常量直接写入程序的Flash中。单片机通过串口和TC35i通信,单片机从TC35i接到外来的信息,并通过USB接口和PC机通信。
图2 稳压电源电路
2.1 稳压电源电路
最小系统工作电压为5 V DC。由于TC35i 模块的突发耗电电流峰值可达3 A,故外加稳压器件必须达到足以提供该额定电流的条件。另外,电源的指标不仅仅有电压,而且功率容限等指标都要满足要求,故采用图2的设计方案。在该系统中,开关电源芯片LM7805 完成12 V到5 V的转换,电源电路主要由LM7805和AS1117-3.3这2个三端稳压电源模块构成,电源模块AS1117-3.3接收LM7805输入的5 V电平,输出为整个单片机系统提供+3.3 V工作电压,连到ZIF连接器的1~5引脚,为TC35i提供+5 V、500 mA的充电电压。电源的输出基本不会受外部输入变动干扰,而且有效的消除了电磁干扰。
2.2 IGT电路
对于TC35i模块控制,IGT信号非常重要,只有正确的IGT信号才可以使TC35i模块正常运行。系统加电后,为使TC35i 进入工作状态,必须给IGT 加一个延时大于100 ms 的低脉冲,电平下降持续时间不可超过1 ms。驱动IGT时,TC35i 供电电压不能低于3.3 V ,否则TC35不能激活。电路设计如图3所示。启动电路由开漏极三极管和上电复位电路组成。为保证整个系统正常启动,要求在电源加电时,IGT必须保持大于100 ms的低电平后,再跳到高电平,在电路板中是依靠RC电路来完成的,且该信号下降沿时间小于1 ms。启动后,IGT脚的信号应保持高电平。电源通电后,+5 V电源通过电阻对电容充电,使电容正极上的电压慢慢上升,大约经过100 ms达到高电位,使施密特触发器翻转,系统被复位。启动后, IGT应保持高电平(3.3 V) 。
TC35i数据接口通过USB电缆直接与PC机连接。数据接口遵从DCE的ITU2T RS232内部交换电路标准,实现异步串行收发功能。
2.3 TC35i其他部分电路
TC35i使用外接式SIM卡, ZIF连接器上有6个引脚做为SIM卡的接口,SIM卡上也有6个引脚分别与它相对应, SIM卡同TC35i是这样连接的:SIM上的CCRST、CCIO、CCCL、CCVCC和CCGND通过SIM卡阅读器与TC35i的同名端直接相连,CCIN悬空,而TC上的CCIN通过一个3.3 kΩ电阻与CCVCC相连,用来检测SIM卡是否插好。这种连接方式是由SIM卡阅读器决定的,由于此部分的电路简单,本文就不提供了。
TC35i的SYNC引脚有两种工作模式,一种是指示发射状态时的功率增长情况,另一种是指示TC35i的工作状态,可用
AT命令
AT SYNC进行切换,本模块使用的是后一种。当LED熄灭时,表明TC35i处于关闭或睡眠状态;当LED为600 ms亮/600 ms熄时,表明SIM卡没有插入或TC35i正在进行网络登录;当LED为75 ms亮/3 s熄时,表明TC35i已登录进网络,处于待机状态。
2.4 单片机周围电路
采用Cygnal公司内置USB接口的高性能微控制器芯片C8051F320,简化了硬件部分的设计。该单片机即实现了USB接口的功能又要完成对模块的控制功能。因为C8051F320是带USB接口的单片机,所以整个硬件部分与一般单片机应用系统的开发类似,仅需要通过端口P0.5和P0.4连接40脚ZIF插座就可实现模块和单片机之间的通信。下面是设计时应特别注意的问题:在外接晶体时,一定要在晶体的两端接上10 MΩ的电阻,晶体外壳最好接地,而且布线尽量的短,尽量减少干扰。若要快捷、成功地开发一个USB设备,正确、合理的调试方法是必不可少的环节。那么设计调试所用的JTAG口时,要在TCK加上3.3 V上拉,上拉电阻为4.7 kΩ。本单片机共有32个引脚,对于未用的I/O口最好用100 Ω的电阻下拉到地。这样有助于保护I/O口。
3 软件设计
基于带有USB接口的短信发送系统,既包括硬件设计又包括软件设计,下面简单介绍软件设计。USB应用系统软件设计分为三部分:USB外设端的固件(firmware)、主机操作系统上的客户驱动程序以及主机应用软件。8051F320固件程序控制整个系统的运行,并负责处理PC机发来的各种USB请求,以完成它们之间的数据传输。该固件共包含7个程序文件,响应各种来自系统的USB标准请求,完成各种数据的交换工作和事件处理。单片机通过串行口控制TC35i,控制方法采用标准的
AT命令集。由于在 GSM标准中,中文编码采用的是Unicode编码,而不是目前国内常用的GB-2312编码,故还需要进行中文编码的转换,才能显示汉字字型。因此,在进行短消息的发送时,还要对用户数据按PDU格式进行编码,为了增强硬件的功能最好把这部分放在固件。这些底层的驱动函数将会使上层协议的编写很方便,更重要的是,它提供了一个硬件抽象层。当底层硬件改动时,只需要改动底层的驱动函数,而上层函数的代码不变。在此基础之上再编写应用层程序。主机应用软件通过客户驱动程序与系统USBDI进行通信,实现系统USB数据的传送动作。
图3 IGT电路
在USB传输中,因外围设备的类型与应用不同,制定了4种传输类型,分别是控制传输(control transfer)、中断传输(interrupt transfer)、批量传输(bulk transfer)以及实时传输(isochronous transfer)。其中,需要特别注意的是慢速设备仅支持控制传输与中断传输。在此系统中采用中断传输。
笔者采用Keil C51完成固件的设计,在DRIVER STUDIO环境中采用Visual C++ 6.0完成USB驱动程序的设计,最后用Visual C++ 6.0开发生成应用软件及其相关使用说明。本设计完全采用Windows风格,用户可快捷地使用本设备。
4 结论 利用西门子公司TC35i模块和新华龙公司C8051F320的最小系统进行设计开发,简单容易,开发周期短,且带有USB接口,提高了安全性,减少现场人员工作的复杂性,易于为工程实践所采用。本文通过计算机实现了短信收发功能,利用C51对其进行编程控制,在此基础上,对软件和硬件加以改动还可以进行二次开发实现其他功能,例如,可以通过移动终端来查收多种信息和控制各种工程的现场设备。总之,本系统作为一个无线通信系统,具有广泛的应用前景。
参考文献1 Cygnal Integrated Products Inc. C8051F320 datasheet
2 TC35i Engine Hardware Interface Description. www.siemens.com,2003
3 Cygnal Integrated products, Inc. C8051F单片机应用解析. 潘琢金,等译. 北京:北京航空航天大学出版社,2002
4 何立民. 单片机应用系统设计.北京:北京航空航天大学出版社,1990
5 王成儒. 等. USB2.0原理与工程开发.北京:国防工业出版社,2004
6 萧世文. USB2.0硬件设计.北京:清华大学出版社,2004
7 康厚强. 等.用于短信息收发的TC35i终端的硬件设计与实现.电子技术,2002(8)