最小短信收发系统_第1页
最小短信收发系统_第2页
最小短信收发系统_第3页
最小短信收发系统_第4页
最小短信收发系统_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1章引言短信息服务作为GSM网络的一种基本业务,已得到越来越多的系统运营商和系统开发商的重视。但是用常见的手机编辑短信息不方便,输入和显示都有局限,当然不适合工业应用,用PC机就不存在这些问题。而这种短信收发系统一般是基于RSCD*2232串行总线的,不仅安装麻烦,而且由于受计算机插槽数量和地址、中断资源的限制,不可能挂接很多设备。在一些电磁干扰性强的测试现场,无法专门对其做电磁屏蔽,导致信息的失真。本设计以GSM网络作为数据无线传输网络,可以开发出多种前景极其乐观的各类应用。典型的应用有:变电站、电表、水塔、水库或环保监测点等监测数据的无线传输和无线自动警报;远程无线控制高压线路断电器、加

2、热系统、防洪拦阻系统或其它机电系统的启动和关闭;车队交通管理和控制指挥系统;控制和监测香烟、食品和饮料自动售货机的运行状态和存货水平等。本设计以GSM网络作为数据无线传输网络,选用支持GSM网络的模块TC35i和带有USB接口的单片机开发而成。GSM(Global System for Mobile communication)系统是目前基于时分多址技术的移动通信体制中,是比较成熟完善,且应用最广泛的第二代移动通信一种删除一种二字系统。目前已建成的覆盖全国的GSM数字蜂窝移动通信网,是我国公众移动通信网的主要方式。基于GSM的短信信息服务,是一种在删除是在移动网络上传送简短信息的无线应用,是一

3、种信息在移动网络上存储和转寄的过程。由于公众GSM网络在全球范围内实现了联网和漫游,建议上述系统上述系统是什么系统?不需再组建专用通信网络,所以具有实时传输数据功能的短信应用将得到迅速普及。笔者开发设计的基于GSM网络的温度数据采集与无线传输系统正是借助该网络平台,利用短信息业务实现数据的自动双向传递。本系统由数据采集部分、数据接收和发送部分、终端处理部分三个模块组成。数据采集模块将采集到的温度数据存入存储器中。数据收发模块采用双单片机共用E2RPOM的方式,单片机2控制数据从存储器转存入E2PROM中;单片机1负责将数据从E2PROM中读出,并经GSM模块2借助GSM网络将数据发送出去。单片

4、机1不仅控制数据的发送,也控制数据的接收。在这里,E2PROM是温度数据临时存储和上传的中转站。终端处理模块负责将接收到的数据交给计算机处理,并将处理后的结果存放到数据库中,以供查询。当终端处理模块需要向GSM模块2发送控制命令时,GSM模块2接收过程正好与上述过程相反,从而实现数据的自动双向传递。第2章 系统设计的总体方案2.1设计的目的和意义短信息服务是移动网络上一种基本无线业务,是信息在移动网络上储存和转寄的过程。但是用常见的手机编辑短信息不方便,输入和显示都有局限,当然不适合工业应用,用PC机就不存在这些问题。而这种短信收发系统一般是基于RSCD*2232串行总线的,不仅安装麻烦,而且

5、由于受计算机插槽数量和地址、中断资源的限制,不可能挂接很多设备。在一些电磁干扰性强的测试现场,无法专门对其做电磁屏蔽,导致信息的失真。本设计以GSM网络作为数据无线传输网络,选用支持GSM网络的模块TC35i和带有USB接口的单片机开发而成。 2.2系统框图与主要方案 本系统主要由短信收发模块和兼有监控实现USB接口双重功能的单片机组成即西门子公司的TC35i模块和Cygnal 公司的C8051F320。系统框图如图1所示。本设计将TC35i终端与电脑相连 (通过USB接口,TC35i终端支持GSMU AT指令集),就可以通过自行编制的短信息收发软件,利用PC的超级终端功能实现短信息收发。该系

6、统可实现中英文点对点的双向收发,一次最多可以发送70个中文字符和160个英文字符。一旦消息被发送,那么发送人就会得到发送成功的通知。它还可以实现一次性群发,最多可以发给10个用户,并且有电话簿功能。该终随机收发,实时接收,立即回复,成本低等特性。本系统由数据采集部分、数据接收和发送部分、终端处理部分三个模块组成。数据采集模块将采集到的温度数据存入存储器中。数据收发模块采用双单片机共用E2RPOM的方式,单片机2控制数据从存储器转存入E2PROM中;单片机1负责将数据从E2PROM中读出,并经GSM模块2借助GSM网络将数据发送出去。单片机1不仅控制数据的发送,也控制数据的接收。在这里,E2PR

7、OM是温度数据临时存储和上传的中转站。终端处理模块负责将接收到的数据交给计算机处理,并将处理后的结果存放到数据库中,以供查询。当终端处理模块需要向GSM模块2发送控制命令时,GSM模块2接收过程正好与上述过程相反,从而实现数据的自动双向传递。图2-1系统框图字体改成四号宋体?标注: CCVCC:SIM卡引脚 CCREST:SIM卡引脚 CCCLK:SIM卡引脚CCIO:SIM卡引脚 CCGND:SIM卡引脚 ZIF:零阻力插座TXD:发送数据 RXD:接收数据 SYNC:同步LED:发光二极管 IGT:信号 TC35I:这是西门子推出的最新的无线模块(直接解释是什么功能的芯片)8051F320

8、?第3章 硬件系统电路设计 本系统采用Cygnal C8051F320作为控制主芯片。Cygnal C8051F为兼容MCS-51内核的单片机,内置8 KB Flash,拥有256字节RAM。由于内置Flash,因此在电路设计上可以省去外接程序存储器,缩小了PCB板的面积,也提高了整个系统的可靠性。在这个GSM系统中,还有一些基本不变或者很少变化的量,比如子机的编号、号码、短消息中心号码等,这些数据可以作为常量直接写入程序的Flash中。单片机通过串口和TC35i通信,单片机从TC35i接到外来的信息,并通过USB接口和PC机通信。图3-1稳压电源电路字体字号3.1 稳压电源电路目和正文间隔一

9、行最小系统工作电压为5 V DC。由于TC35i 模块的突发耗电电流峰值可达3 A,故外加稳压器件必须达到足以提供该额定电流的条件。另外,电源的指标不仅仅有电压,而且功率容限等指标都要满足要求,故采用图3-1的设计方案。在该系统中,开关电源芯片LM7805 完成12 V到5 V的转换,电源电路主要由LM7805和AS1117-3.3这2个三端稳压电源模块构成,电源模块AS1117-3.3接收LM7805输入的5 V电平,输出为整个单片机系统提供+3.3 V工作电压,连到ZIF连接器的15引脚,为TC35i提供5 V、500 mA的充电电压。电源的输出基本不会受外部输入变动干扰,而且有效的消除了

10、电磁干扰。图3-2IGT电路3.2 IGT电路对于TC35i模块控制,IGT信号非常重要,只有正确的IGT信号才可以使TC35i模块正常运行。系统加电后,为使TC35i 进入工作状态,必须给IGT 加一个延时大于100 ms 的低脉冲,电平下降持续时间不可超过1 ms。驱动IGT时,TC35i 供电电压不能低于3.3 V ,否则TC35不能激活。电路设计如图3-2所示。启动电路由开漏极三极管和上电复位电路组成。为保证整个系统正常启动,要求在电源加电时,IGT必须保持大于100 ms的低电平后,再跳到高电平,在电路板中是依靠RC电路来完成的,且该信号下降沿时间小于1 ms。启动后,IGT脚的信号

11、应保持高电平。电源通电后,+5 V电源通过电阻对电容充电,使电容正极上的电压慢慢上升,大约经过100 ms达到高电位,使施密特触发器翻转,系统被复位。启动后, IGT应保持高电平(3.3 V) 。TC35i数据接口通过USB电缆直接与PC机连接。数据接口遵从DCE的ITU2T RS232内部交换电路标准,实现异步串行收发功能。图4 TC35i外围电路图3.3 TC35i其他部分电路电源电路分为充电电池和稳压电源模块两部分:充电电池主要为整个系统提供3.6V工作电压,同时产生MAX3238所需要的高电平;三端电源模块LM7806将外部12V直流电源转换为6V,连到ZIF连接器的11、12引脚,在

12、充电模式下,为TC35i提供6V、500mA的充电电源。启动电路由开漏极三极管和上电复位电路组成。模块上电10ms后(电池电压须大于3V),为使之正常工作,必须在15脚()加时长至少为100ms的低电平信号,且该信号下降沿时间小于1ms。启动后,15脚的信号应保持高电平。基带处理器集成了一个与ISO 7816-3 IC Card标准兼容的SIM接口。为了适合外部的SIM接口,该接口连接到主接口(ZIF连接器)。在GSM11.11为SIM卡预留5个引脚的基础上,TC35在ZIF连接器上为SIM卡接口预留了6个引脚,所添加的CCIN引脚用来检测SIM卡支架中是否插有SIM卡。当插入SIM卡,该引脚

13、置为高电平时,系统方可进入正常工作。数据通信电路主要完成短消息收发、与PC机通信、软件流控制等功能。数据通信电路以Maxim公司的MAX3238芯片为核心,实现电平转换及串口通信功能;具有低功耗、高数据速率、增强型ESD保护等特性。增强型ESD结构为所有发送器输出和接收器输入提供保护,可承受15kV IEC 1000-4-2气隙放电、8kV IEC 1000-4-2接触放电和15kV人体放电模式。TC35的SYNC引脚有两种工作模式,可用AT命令AT SYNC进行切换。一种是指示发射状态时的功率增长情况,另一种是指示TC35的工作状态。本模块使用的是后一种功能:当LED熄灭时,表明TC35处于

14、关闭或睡眠状态;当LED为600ms亮/600ms熄时,表明SIM卡没有插入或TC35正在进行网络登录;当LED为75ms亮/3s熄时,表明TC35已登录进网络,处于持机状态。TC35i通过C8051F020与PC机通信,其外围电路如图4所示图3-4 TC35i通过C8051F020与PC机通信3.4 单片机周围电路采用Cygnal公司内置USB接口的高性能微控制器芯片C8051F320,简化了硬件部分的设计。该单片机即实现了USB接口的功能又要完成对模块的控制功能。因为C8051F320是带USB接口的单片机,所以整个硬件部分与一般单片机应用系统的开发类似,仅需要通过端口P0.5和P0.4连

15、接40脚ZIF插座就可实现模块和单片机之间的通信。下面是设计时应特别注意的问题:在外接晶体时,一定要在晶体的两端接上10 M的电阻,晶体外壳最好接地,而且布线尽量的短,尽量减少干扰。若要快捷、成功地开发一个USB设备,正确、合理的调试方法是必不可少的环节。那么设计调试所用的JTAG口时,要在TCK加上3.3 V上拉,上拉电阻为4.7 k。本单片机共有32个引脚,对于未用的I/O口最好用100 的电阻下拉到地。这样有助于保护I/O口。图3-5 USB的外接口电路第4章 系统的主要器件和功能4.1 TC35i模块的介绍目前,国内已经开始使用的GSM模块有Falcom的A2D系列、Wavecome的

16、WMO2系列、西门子的TC35系列、爱立信的DM10/DM20系列、中兴的ZXGM18系列等,而且这些模块的功能、用法差别不大。其中西门子的TC35系列模块性价比很高,并且已经有国内的无线电设备入网证。所以本设计选用的是西门子TC35系列的TC35i。这是西门子推出的最新的无线模块,功能上与TC35兼容,设计紧凑,大大缩小了用户产品的体积。TC35i与GSM 2/2+兼容、双频(GSM900/GSMl800)、RS232数据口、符合ETSI标准GSM0707和GSM0705,且易于升级为GPRS模块。该模块集射频电路和基带于一体,向用户提供标准的AT命令接口,为数据、语音、短消息和传真提供快速

17、、可靠、安全的传输,方便用户的应用开发及设计。TC35i 是一个支持中文短信息的工业级GSM 模块,工作在EGSM900 和GSM1800 双频段,电源范围为3.35.5 V ,可传输语音和数据信号, 功耗在EGSM900 (4 类) 和GSM1800 (1 类) 分别为2 W和1 W ,通过接口连接器和天线连接器分别连接SIM卡读卡器和天线。TC35i 的数据接口(CMOS 电平)通过AT 命令可双向传输指令和数据,可选波特率为300 b/s115 kb/s , 自动波特率为1.2 kb/s115 kb/s。它支持Text和PDU 格式的SMS (Short Message Service,

18、短消息),可通过AT 命令或关断信号实现重启和故障恢复。TC35i由供电模块(ASIC)、闪存、ZIF 连接器、天线接口等6部分组成。作为TC35i的核心,基带处理器主要处理GSM 终端内的语音和数据信号,并涵盖了蜂窝射频设备中的所有模拟和数字功能。在不需要额外硬件电路的前提下,可支持FR、HR 和EFR 语音信道编码。4.1.1 主要技术指标TC35i主要特性与技术指标包括以下几点:频段为双频GSM900MHz和GSMl800MHz (phase 2/2+);支持数据、语音、短消息和传真;高集成度(54.5mm36mm3.6mm); 质量为9g;电源电压为单一电压3.34.8V;可选波特率3

19、00bps115kbps,动波特率 4.8115kbps;电流消耗休眠状态为3.5mA,空闲状态为25mA,发射状态为300mA(平均),2.5A峰值;温度范围 正常操作-20+55,存放-30+85;SIM电压为3V/1.8V。TC35i有40个引脚,通过一个ZIF(Zero Insertion Force,零阻力插座)连接器引出。这40个引脚可以划分为5类,即电源、数据输入/输出、SIM卡、音频接口和控制。第114脚为电源部分:15为电源电压输入端Vbatt+,610为电源地GND,11、12为充电引脚,13为对外输出电压(共外电路使用),14为ACCU-TEMP接负温度系数的热敏电阻。2

20、429为SIM卡引脚,分别为CCIN、 CCRST、CCIO、CCCLK、CCVCC和CCGND。3340为语音接口,用来接电话手柄。15、30、31和32脚为控制部分:15为点火线IGT(Ignition), 当TC35i通电后必须给IGT一个大于100ms低电平,模块才启动;30为RTC backup,31为Power down,32为SYNC。1623为数据输入/输出,分别为DSR0、RING0、RxD0、TxD0、CTS0、RTS0、DTR0和DCD0。TC35的数据输入/输出接口实际上是一个串行异步收发器,符合ITU-T RS232接口标准。它有固定的参数:8位数据位和1位停止位,无

21、校验位,波特率在300bps115kbps之间可选,硬件握手信号用RTS0/CTS0,软件流量控制用XON/XOFF,CMOS电平,支持标准的AT命令集。4.1.2 模块中与SMS有关的GSM AT指令介绍GSM引擎模块提供的命令接口符合GSM07.05和GSM07.07规范。GSM07.07中定义的AT Command接口,提供了一种移动平台与数据终端设备之间的通用接口;GSM07.05对短消息作了详细的规定。在短消息模块收到网络发来的短消息时,能够通过串口发送指示消息,数据终端设备可以向GSM模块发送各种命令。与SMS有关的GSM AT指令如表1所列。GSM AT指令集,是由诺基亚、爱立信

22、、摩托罗拉和HP等厂家共同为GSM系统研制的,其中包含了对SMS(Short Message Service)的控制。表4-1 与SMS相关的若干GSM AT指令AT指令 功能 AT+CMGC Send an SMS command(发出一条短消息命令) AT+CMGD Delete SMS message(删除SIM卡内存的短消息) AT+CMGF Select SMS message format(选择短消息信息格式:0-PDU;1-文本) AT+CMGL List SMS message from preferred store(列出SIM卡中的短消息信息格式PDU/text:0/REC

23、 UNREAD为未读,1/“REC READ”为已读,2/“STOU NSENT”为待发,3/“STO SENT”为已发,4/“ALL”为全部的) AT+CMGR Read SMS message(读短消息) AT+CMGS Send SMS message(发送短消息) AT+CMGW Write SMS message to memory(向SIM内存中写入待发的短消息) AT+CMGS Send SMS message from storage(从SIM内存中发送短消息) AT+CNMI New SMS message indication(显示新收到的短消息) AT+CPMS Pref

24、erred SMS message storage(选择短消息内存) AT+CSCA SMS service center address(短消息中心地址) AT+CSCB Select cell broadcast message messages(选择蜂窝广播消息) AT+CSMP Set SMS text mode parameters(设置短消息文本模式参数) AT+CSMP Select Message Service(选择短消息服务) 4.1.3 PDU编码规则目前,发送短消息常用Text和PDU(Protocol Data Unit,协议数据单元)模式。使用Text模式收发短信代

25、码简单,实现起来十分容易,但最大的缺点是不能收发中文短信;而PDU模式不仅支持中文短信,也能发送英文短信。PDU模式收发短信可以使用3种编码:7-bit、8-bit和UCS2编码。7-bit编码用于发送普通的ASCII字符,8-bit编码通常用于发送数据消息,UCS2编码用于发送Unicode字符。一般的PDU编码由A B C D E F G H I J K L M十三项组成。A:短信息中心地址长度,2位十六进制数(1字节)。B:短信息中心号码类型,2位十六进制数。C:短信息中心号码,B+C的长度将由A中的数据决定。D:文件头字节,2位十六进制数。E:信息类型,2位十六进制数。F:被叫号码长度

26、,2位十六进制数。G:被叫号码类型,2位十六进制数,取值同B。H:被叫号码,长度由F中的数据决定。I:协议标识,2位十六进制数。J:数据编码方案,2位十六进制数。K:有效期,2位十六进制数。L:用户数据长度,2位十六进制数。M:用户数据,其长度由L中的数据决定。J中设定采用UCS2编码,这里是中英文的Unicode字符。4.2 C8051F320的介绍Cygnal公司的C8051F系列单片机是集成的混合信号片上系统SoC。它具有与MCS-51内核及指令集完全兼容的微控制器,带有USB收发器,完全遵循USB协议2.0,支持12 Mbps的全速传输或1.5 Mbps的低速传输,可时钟恢复,不需额外

27、的晶振(当然根据设计习惯,也可以采用外部晶振),提供有 8个端点(endpoint),且每个端点的传输类型、传输方向均可自由配置。另外,它还集成有1 KB的USB SRAM和USB收发器,内置的16 KB的Flash存储器和256 B的内部RAM,还可以访问外部数据存储器RAM,即XRAM。它还可以为固件提供足够的存储空间,不需要再扩展外部存储器。更重要的是C8051F320内部包含有一个 C2(Cygnal2-Wire)调试电路,通过2脚的C2接口使用开发套件,就可以进行非侵入式、全速的在系统调试。另外,这2脚是公用的,它还有其他的功能,这样设计PCB板就相对简单些。C8051F020系列器

28、件与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、

29、5、6和7),因此共64个I/O口。每个I/O引脚都可以被配置为推挽或漏极开路输出。在标准8051中固定的“弱上拉”可以被总体禁止。这为低功耗应用提供了进一步节电的能力。最独特的改进是引入了数字交叉开关。这是一个大的数字开关网络,允许将内部数字资源映射到P0、P1、P2和P3的端口I/O引脚。与具有标准复用数字I/O的微控制器不同,这种结构可以支持所有的功能组合。可以通过设置交叉开关控制寄存器,将片内的计数器/定时器、串行总线、硬件中断、ADC转换启动输入、比较器输出以及微控制器内部的其它数字信号,配置为出现在端口的I/O引脚。这一特性允许用户根据自己的特定应用选择通用I/O和所需数字资源的组

30、合。第5章 软件设计GSM(Global System for Mobile communication)系统是目前基于时分多址技术的移动通信体制中,比较成熟完善,且应用最广泛的一种系统。目前已建成的覆盖全国的GSM数字蜂窝移动通信网,是我国公众移动通信网的主要方式。基于GSM的短信信息服务,是一种在移动网络上传送简短信息的无线应用,是一种信息在移动网络上存储和转寄的过程。由于公众GSM网络在全球范围内实现了联网和漫游,建议上述系统不需再组建专用通信网络,所以具有实时传输数据功能的短信应用将得到迅速普及。笔者开发设计的基于GSM网络的温度数据采集与无线传输系统正是借助该网络平台,利用短信息业务

31、实现数据的自动双向传递。系统模型图如图1所示。本系统由数据采集部分、数据接收和发送部分、终端处理部分三个模块组成。数据采集模块将采集到的温度数据存入存储器中。数据收发模块采用双单片机共用E2RPOM的方式,单片机2控制数据从存储器转存入E2PROM中;单片机1负责将数据从E2PROM中读出,并经GSM模块2借助GSM网络将数据发送出去。单片机1不仅控制数据的发送,也控制数据的接收。在这里,E2PROM是温度数据临时存储和上传的中转站。终端处理模块负责将接收到的数据交给计算机处理,并将处理后的结果存放到数据库中,以供查询。当终端处理模块需要向GSM模块2发送控制命令时,GSM图5-1 系统模块图

32、模块2接收过程正好与上述过程相反,从而实现数据的自动双向传递。(标注:E2PROM:只读存储器 MSC1210:新型SoC模拟信号处理单片机)系统中,三个模块相互独立,彼此又相互依赖,共同完成数据的传输。数据收发模块在系统中起着承上启下的作用,是系统的核心模块。该模块以双单片机为核心,以RS232通信接口,在物理层上实现与GSM模块的连接。由于篇幅的限制,本文主要介绍单片机控制这一模块工作的软件实现过程,旨在对怎样用单片机控制GSM模块收发短信息进行探讨。 5.1 GSM模块MZ28MZ28是中兴通讯推出的GSM无线双频调制解调器,主要为语音传输、短信发送和数据业务提供无线接口。MZ28集成了

33、完整的射频电路和GSM的基带处理器,特别适合于迅速开发基于GSM无线网络的无线应用产品。带有人机接口(MMI)界面的应用产品内部与MZ28的通信可通过标准的串行接口(RS232)进行。MZ28使用简单的20-PIN ZIP插座与用户自己的应用系统相连,此ZIP连接方式提供开发所需的数据通信、音频和电源等接口信号。MZ28可以作为无线引擎,嵌入到用户自己的产品当中,用户可以用单片机或其它CPU的UART口,使用相应的AT命令,对模块进行控制,达到使其产品可以轻松进入GSM网络的目的。5.2 串口控制SMS的工作原理单片机与GSM模块一般采用串行异步通信接口,通信速度可设定,通常为19200bps

34、。采用这种RSM232电缆方式进行连接时,数据传输的可靠性较好。RS232接口方式连接,通过串行接口集成电路和电平转换电路与GSM模块连接,电路比较简单,所涉及的芯片包括单片机89C52和电平转换芯片MAX232,是非常常见的接口电路。需要说明的是,该接口通过I2C总线扩展了一个E2PROM存储器芯片AT24C64,它的主要作用是存储数据,而且断电信息也不会丢失,这些特性正是存储数据所必须的。GSM的短信息业务SMS利用信令信道传输,这是GSM通信网所特有的。它不用拨号建立连接,把要发的信息加上目的数据发送到短信息服务中心,经短信服务中心完成存储后再发送给最终的信宿。所以当目的GSM终端没开机

35、时信息不会丢失。每个短信的信息量限制为160字节。现在市场上大多数手机均支持GSM07.05规定的AT指令集。该指令集是ETSI(欧洲通信技术委员会)发布的,其中包含了对SMS的控制。利用GSM手机的串行接口,单片机向手机收发一系列的AT命令,就能达到控制GSM模块收发SMS的目的。必须注意的是,用单片机实现时,编程必须注意它发送指令与接收到的响应都是字符的ASCII码。用单片机控制GSM模块收发短信息所涉及以的AT指令如表1所列。表5-1 AT指令 AT指令功能描述AT+OFF关机并重新启动AT+CSDH=0在TEXT模式下在返回值中不显示详细的头信息ATE0关闭回显AT+CMGF=1选择短

36、信格式为TEXT模式AT+CMGS发送短信息AT+CMGR读取短信息AT+CMGD=0删除全部短信息 USB应用系统软件设计分为三部分:USB外设端的固件(firmware)、主机操作系统上的客户驱动程序以及主机应用软件。8051F320固件程序控制整个系统的运行,并负责处理PC机发来的各种USB请求,以完成它们之间的数据传输。该固件共包含7个程序文件,响应各种来自系统的USB标准请求,完成各种数据的交换工作和事件处理。单片机通过串行口控制TC35i,控制方法采用标准的AT命令集。由于在 GSM标准中,中文编码采用的是Unicode编码,而不是目前国内常用的GB2312编码,故还需要进行中文编

37、码的转换,才能显示汉字字型。因此,在进行短消息的发送时,还要对用户数据按PDU格式进行编码,为了增强硬件的功能最好把这部分放在固件。这些底层的驱动函数将会使上层协议的编写很方便,更重要的是,它提供了一个硬件抽象层。当底层硬件改动时,只需要改动底层的驱动函数,而上层函数的代码不变。在此基础之上再编写应用层程序。主机应用软件通过客户驱动程序与系统USBDI进行通信,实现系统USB数据的传送动作。在USB传输中,因外围设备的类型与应用不同,制定了4种传输类型,分别是控制传输(control transfer)、中断传输(interrupt transfer)、批量传输(bulk transfer)以

38、及实时传输(isochronous transfer)。其中,需要特别注意的是慢速设备仅支持控制传输与中断传输。在此系统中采用中断传输。5.3 软件实现5.3.1 上位机模块和下位机模块半双工通信协议的实现这里可以插入必要说明5.3.1.1 应答和重发上位机模块和下位模块的通信双方遵照半双工通信方式进行,即数据传送是双向的。但是,任何时刻只能由其中的一方发送数据,另一方接收数据,因为E2PROM的读出和写入不能同时进行。为了避免一方在发送信息帧时(这里的信息帧指的是下位机模块发送的数据帧和上位机模块发送的命令帧,下同),另一方也会发送数据,必须把信道变成半双工方式。尽管这样效率可能不如全双工方

39、式,但通过此举牺牲效率可以换取模块工作性能的稳定。双方采取的顺序是:发收到应答后再发。按照整个系统的设计思路,上位机模块(即图4-1中的GSM模块1,下同)发送的帧包括命令帧、确认帧和非确认帧;下位机模块(即图4-1中的GSM模块2,下同)发送的帧包括数据帧、确认帧和非确认帧。其中确认帧和非确认帧是发送数据后等待对方发送的应答帧,以此作为继续发送下一帧和重新发送上一帧的依据。命令帧和数据帧是信息帧,当一方先发送完信息帧,如果收方接收到对方的信息帧,而又没有信息帧需要发送,那么情况就比较简单,收方将根据信息帧的正确与否决定发送确认帧还是非确认帧,以使对方决定是继续发送还是重新发送;如果此刻收方也

40、有信息帧需要发送,那么收方将不立即发送应答帧,而是立即发送本方的信息帧给对方,并等待对方对此帧的应的应答帧,在收到对方的应答帧后,收方将依据应答帧的内容(即确认帧或者是非确认帧,下同)决定是继续发送下一信息帧,还是重新发送原来的信息帧。如果由于链路本身不可靠等因素造成应答帧的丢失,收方将在一定时间内因为没有收到应答帧而延时重发原来的信息帧。在收到对方的应答帧后,收方将继续发送下一信息帧,并等待对方的应答帧,如此反复,直到收方全部发送完信息帧。在本方收到对方最后一个应答帧后,表明本方全部的信息帧发送完毕。然后收方将发送对方仍然等待的应答帧,通知对方收到的信息帧正确与否。图5-2 双方通信的实现过程5.3.1.2 延时重发 在双方通信过程中,有两个时间t1和t2,分别表示重新发送信息帧的最大延时。t1表示一方发送完信息帧到收到对方应答帧的时间,如果等待应答帧的时间超过了t1,则发方会重新发送原来的信息帧;当收方接收到对方发送的信息帧,如果收方此时有需要发送的信息帧,则收方此记得不发送应答帧,而是发送信息帧给对方。也就是说,利用对方等待收方应答帧的时间t1内,收方插入发送本文的信息帧,同样本方的发送也存在一个延时重发的问题。在规定的时间内,如果没有收到对方应答帧,收方也同样需要重发原来的信息帧,这个规定的时间就是t2。显然由于收方是利用间隙时间发送本方信息帧,所以t2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论