基于gprs的远程智能通讯终端设计

基于gprs的远程智能通讯终端设计

ID:33160784

大小:2.51 MB

页数:80页

时间:2019-02-21

上传者:U-22107
基于gprs的远程智能通讯终端设计_第1页
基于gprs的远程智能通讯终端设计_第2页
基于gprs的远程智能通讯终端设计_第3页
基于gprs的远程智能通讯终端设计_第4页
基于gprs的远程智能通讯终端设计_第5页
资源描述:

《基于gprs的远程智能通讯终端设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

西安电子科技大学学位论文独创性(或创新性)声明秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说明并表示了谢意。申请学位论文与资料若有不实之处,本人承担一切的法律责任。本人签名:著卜鼋bR期。型L筝j每4曰关于论文使用授权的说明本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究生在校攻读学位期间论文工作的知识产权单位属函安电子科技大学。学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后结合学位论文研究课题再撰写的文章一律署名单位为西安电子科技大学。(保密的论文在解密后遵守此规定)本学位论文属于保密,在一年解密后适用本授权书。本人签名:巅鳢l生同期望蜂捆三2多导师签名:二宇强同期二bd己:.≥7 2 摘要mlllll⋯刚删㈣mm洲嶝Y1866932随着嵌入式技术和信息技术的发展,以嵌入式系统为平台,借助无线通信网络进行数据传输有效改变了远程数据传输受地域限制的状况。GPRS是在现有GSM网络上丌通的一种新型的分组数据传输技术,已成为测控数据传输的重要手段。在此背景下,本文研究设计基于GPRS的远程智能通信终端。本文在进行需求分析和功能划分的基础上,完成了基于GPRS的远程智能通信终端的系统设计,制定了系统指标;以S3C24lOA处理器和MC55通信模块为核心,设计了嵌入式硬件电路、GPRS通信电路以及相应的外围电路,充分考虑到电路的抗干扰能力;以嵌入式Linux操作系统和MiniGUI图形界面为支持,设计了软件的体系结构、通信接口驱动程序以及远程通信应用程序,实现了界面的可视化操作功能,软件设计采用了抗干扰技术。远程智能通信终端的模拟测试结果表明:软硬件工作均正常稳定,系统性能指标满足要求,实现了远程智能通信功能,具有一定的实用价值。关键词:GPRS嵌入式系统LinuxMC一55通信网络 基于GPRS的远程智能通讯终端设计2 AbstractththedeVelopmentandapplicationofembeddedsystemtechnologyandinfomationtechnology,datatransmissionthatdependonwirelesscommunicationnetworkea’ectiVelychangetheremotedatatransmissionofgeographicalconstrainbasedontheplatf.onnofembeddedsystems.GPRSisanewtypeofpacketdatatransmissiontechnologythathaLsopenedintheexistingGSM,andisbecominganimportantmeansofmonitoringdata。Thepapermakestheresearchanddesignstheremoteintelligentcommunicationte硼inalbaSedonGPRSinthissituation.Inthispaper,thedesignofremoteintelligentcommunicationtenninalsystemiscompletedbaSedontheanalysisofrequirementandfunction,andsystemindicatorsareconfinned.ThedesigntaketheS3C24l0AmicroprocessorandGPRSmoduIeMC.55aSacenter,completetheembeddedhardwareandthecorrespondingperipheralcircuits.Consideringtheanti—interferenceabilityofthecircuit,soRwarearchitecturecommunicationteminaildriVerandremotecommunicatesoRwarearedesignedbyembeddedlinuxoperatingsystemandMiniGUI,andthusthefeatureofvalueinterfaceisimplemented.Anti-jammingtechnologyisusedinsoRwaredesign.Thesimulationresultsoftheramoteintelligenttemlinalindicatesthathardwareandso小Vareworknormallyandstably,systemperfomancemlfilstheneeds,sothefunctionoftheremoteintelligentcommunicationisimplementedandthepraticalvalueisendowedwith.Keywords:GPRSEmbeddedsystemLinuxMC一55Communicationnetwork 基丁:GPRS的远程智能通讯终端设计4 目录第一章绪论⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.11.1选题背景及研究意义⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯11.2相关技术发展现状⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯21.3论文内容安排⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯3第二章系统总体设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.52.1信息传输的统一模型⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯52.2系统需求分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯72.3系统功能划分⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯82.4系统结构设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯82.5技术指标设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.92.6本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..12第三章远程智能通信终端的硬件设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..133.1硬件电路体系设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..133.2基于ARM的嵌入式硬件设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯133.2.1ARM体系结构分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯143.2.2ARM功能配置⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯153.2.3RAM存储器设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯163.2.4FLASH闪存设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯l73.2.5键盘及LCD驱动电路的设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..193.2.6系统总线实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯203.3基于GPRS的通讯电路设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一233.3.1GPRS网络结构和相关协议⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..233.3.2GPRS通信模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯~253.3.3RS232串行数据交换接口⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.273.3.4电源转换电路⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯283.3.5SIM卡电路⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.303.3.6其它外围电路设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯303.4硬件系统可靠性设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..313.4.1输入端口设计分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯3l3.4.2GPRS通信模块抗干扰措施⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..33 基于GPRS的远程智能通讯终端设计3.4.3RS232串行数据传输抗干扰措施⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.343.5电路原理图及PCB版图设计结果⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.353.6本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..36第四章远程智能通信终端软件设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..374.1嵌入式Linux软件丌发平台建立⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯374.1.1嵌入式Linux交叉编译环境构建⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯374.1.2Bootloader移植与Linux内核分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..384.1.3Linux根文件系统制作⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一434.2基于嵌入式Linux的软件体系设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯444.2.1软件系统结构设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯444.2.2软件系统功能分配⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯444.3串行通信接口驱动程序设计与优化⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..454.3.1驱动程序剖析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯464.3.2串行接口驱动程序设计与优化⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯474.3.3驱动程序的技术实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯494.4本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一49第五章远程通信应用软件设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..515.1基于GPRS的通信程序设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。5l5.1.1信息收发的理论依据⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.5l5.1.2ATCommand命令分析与应用⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯535.1.3系统应用程序设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯555.1.4通信软件可靠性设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯575.2可视化图形界面设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..575.3模拟运行与测试⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..595.4本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..60第六章结论与展望⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。:⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯6l致谢⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯63参考文献⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯65附录⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯676,,___●_-__●-___●●●--____-●_●__●J●_-___●___-_____-,●●_1●-___-_____●__●_-J_●J1●●___J●-1●__●●●JI|I●●●●1I●,●●__●●J11J__●_●●●●l●●J●1{II●●●●●ll●●●●,l,●●●●●11 第一章绪论嵌入式技术和通信网络技术的不断发展及相关技术的融合,给社会生活带来了极大的变化,目前除计算机和其它一些IT类设备具有通信和网络能力外,越来越多的普通机器设备也具备了联网和通讯能力,例如家电、车辆、工厂设备等。通信网络技术的目标就是使所有机器设备都具有联网和通信能力。尤其是无限网络的建立和应用,促进了远程监视、控制、诊断系统的普及和应用,例如GPRS数传业务作为在现有GSM网络上开通的一种新型的分组数据传输技术越来越多的应用在现实生产和生活中,已成为测控数据传输的重要支持手段,伴随着嵌入式技术的迅速发展,基于GPRS无线智能通讯技术应用越来越受到重视。1.1选题背景及研究意义在实际应用中,往往有大量分布广泛的现场数据需要被远程传输,如何建立起实用性强、覆盖面广、灵活性好的传输系统,满足各方面对检测信息的需求,已成为一个重大问题。由于监测点分散,分布范围广,而且大多设置在环境恶劣的地区,通过有线网络的方式传输数据造价太高,施工难度太大,需要采用无线远程通讯的技术来解决这个问题。无限远程监测系统越来越多地使用嵌入式技术和GPRS数据传输技术来实现。嵌入式系统(EmbeddedSystem)一般指非PC系统,可以简单地定义为以专门应用为中心、以计算机技术和网络通信技术为基础,软件可按需增加和裁剪,硬件可按需配置,系统可靠性、成本、体积、功耗要求严格的专用计算机系统⋯。典型的嵌入式系统开发一般由两部分组成:以微处理器(MPU)或者微控制器(MCU)为核心的硬件设计和基于嵌入式应用的实时操作系统的软件开发。目前,随着电子技术、通信技术、计算机技术的发展,全球同益信息化,嵌入式系统以其体积小、功耗低、使用方便已经在国防、国民经济及社会生活各项领域普及应用,深入到企业、军队、办公室、实验室及个人家庭等各种场所。小到电视机上的机项盒,大到军队的通信装备、智能炸弹制导引爆等,都完全依赖嵌入式系统来实现。GPRS是一种基于GSM系统的无线分组交换技术,提供端到端的、广域的无线IP链接。相对原来GSM的拨号方式的电路交换数据传输方式,GPRS是分组交换技术,具有“实时在线”、“按量计费”、“快捷登陆”、“高速传输”、“自如切换”等优点12J。它能够提供比现有GSM网9.6kbit/s更高的数据传输速率,最高可达170kbit/s。巨大的吞吐量改变了以往单一面向文本的无线数据应用,可以完全满足用户应用的需求。GPRS在传输速度高的同时,也具有接入时问短的特点:GPRS介入时间短,可快速建立连接,平均为2s13l。因为用户将始终处于连线和在线状态, 基于GPRS的远程智能通讯终端设计所以GPRS可以提供实时在线的功能,这将使得访问服务变得非常简单、快速。GPRS支持Intemet上应用最广泛的IP协议和X.25协议,而且由于GSM网络覆盖面广,使得GPRS能提供Intemet和其他分组网络的全球性接入技术。GPRS工作时,是通过路由管理来进行寻址和建立数据连接的,而GPRS的路由管理表现在以下三个方面:(1)移动终端发送数据的路由建立;(2)移动终端接收数据的路由建立;(3)移动终端处于漫游时数据路由的建立。综上所述,随着嵌入式开发技术和GPRS网络技术的发展和成熟,远程设备的数据通过GPRS无线通信网络进行传输成为可以选择的重要手段之一。具备无线通信的嵌入式终端产品将大量涌现,所以开发性价比高的GPRS设备终端有着重要意义。在此背景下,本文进行基于GPRS的远程智能通信终端的研究和设计。1.2相关技术发展现状国内外目前GPRS远程终端数据传输终端主要采用“低端单片机+GPRS模块”的模式实现,此方案的优点是硬件成本较低,但因为硬件功能比较有限,在协议的丌发和支持上都有一定难度,因此只能实现少量的应用功能。随着高性能嵌入式处理器的出现及其价格成本的逐步降低,“高性能嵌入式微处理器+GPRS模块”的模式应运而生,此方案虽然硬件成本稍高,但由于高性能嵌入式微处理功能已经越来越强大,基本上达到了通用微处理的标准,在今后将有逐步取代单片机的趋势。该方案实现的终端系统的组成涉及到以下几个部分:处理器、存储器、GPRS模块、数据采集部分以及与硬件紧密结合的软件部分【41。l、处理器的发展:通用32位的高性能嵌入式微处理器已经成为主流。其处理速度越来越高,硬件性能得到大力提高;并且高性能嵌入式微处理器大都集成了相当多的端口硬件资源,硬件的扩展和设计大为简化。目前比较有影响的32位嵌入式微处理器有ARM公司的ARM,Comap公司的Alpha,IBM公司的PowerPC。而ARM处理器具有高性能、低功耗、低成本等优点,已经成为目前32位嵌入式处理器中应用最为广泛的一个系列。2、存储器技术的发展:存储器除了有只读存储器来存储程序外,还有闪存来支持动态升级。在ARM方面一般采用DRAM,虽然它比SRAM慢,而且需要周期性的刷新,但是DRAM的功耗低,价格便宜,同体积的:芯片存储容量大。3、GPRS模块:目前GPRS模块的研发公司很多,如西门子MC系列、摩托罗拉等。大都和微处理器集成在一块板上,方便耐用,少数做成单独模块,方便系统集成开发时使用。2 第一章绪论4、数据采集部分:数据采集主要提供了供仪表使用的RS.232、RS485等串行通信接口。5、软件部分:嵌入式系统软件主要包括嵌入式操作系统和嵌入式TCP/IP协议栈等。嵌入式操作系统方面,嵌入式高性能处理器有足够的能力支持嵌入式操作系统的运行,具备任务的并发处理潜力,因此嵌入式软件系统大都采用操作系统作为软件平台。国内外很多科研机构和软件厂商对其进行了研究,也推出了很多性能较好的产品。商业化的产品如美国风河公司研发的Vxworks、微软的WindowsCE,开源项目的有LinuX、uc,os.II等。嵌入式TCP/IP协议方面,微处理器的硬件性能能够支持更加复杂更加丰富的通信协议实现,因此该方案中的通信协议相对单片机中的通信协议功能更加强大,可靠性更高。国内外对该方案的实施还存在一些不足之处,更多的是侧重于GPRS传输通道的建立,高性能嵌入式处理器的优越性并没有得到较大的体现,人机交互功能缺少,数据采集方式较为单一。GPRS模块和微处理器集成在一块板上,不利于二次丌发或代码的移植、升级和维护。一1.3论文内容安排本课题采用了“高性能嵌入式微处理器+GPRS模块"设计远程无线智能通信1终端。全文共分六章,内容安排如下:第一章绪论部分,阐述课题研究的背景和意义,分析该研究领域的技术发展+现状,说明论文的内容安排。_第二章研究系统的总体设计,研究了信息传输的统一模型、系统需求、功能划分,给出系统的总体结构设计,并确定系统的综合参数指标。第三章主要进行系统的硬件设计。研究分析ARM体系结构、嵌入式芯片S3C2410A,存储体系、系统总线等,完成嵌入式硬件设计:研究分析GPRS相关技术,并设计了GPRS无线通信模块.MC55的电平转化电路、串行通信电路和SIM电路等,完成系统硬件设计:进行了可靠性设计。第四章建立嵌入式丌发环境,移植Bootloader,移植Linu)(内核和制作根文件系统,开发设备U凡盯驱动程序,建立可靠的系统软件平台。第五章主要研究无线智能通信终端软件设计和实现。对短信息完成编码转换,用AT指令的PDU模式进行编解码,并通过AT指令来有效地控制采集数据的发送与接收,利用MiniGUI实现人机互动的智能控制界面;并进行系统的模拟测试。第六章结论与展望,总结本次设计的特点,讨论了设计中遇到的问题和解决办法,并指出了需要应进一步研究的工作。 4基于GPRS的远程智能通讯终端设计 第二章系统总体设计系统的设计思想是在对GPRS的技术、网络、服务等多方面特点和数据采集与监控系统的特点、发展及应用等方面深入分析基础上提出来的,系统的设计同时考虑监测系统对数据传输的实时性、可靠性及安全性等。2.1信息传输的统一模型多路传输的关键是通道之间的交叉干扰要最小,理想情况下为零。J下确选择副载波是至关重要的,只有当各路副载波相互正交的时候,才能保证通道问的交叉干扰为零。如果两个副载波£(f)和已(,)具有同一重复周期,当满足下列公式时就称为正交。】一‘0刀≠肌享j:删匕(7)2{l刀:所(2-1)一上式意味着每一波形均方值为1。这种特性对多路传输来说是需要的,因为这就是说,所有载波具有相等的功率,并且受随机噪声的影响是相等的。正交函数有很多种,J下、余弦函数是频分制的基础。哈尔函数系、桥函数系都具备正交特性,因此也可以分别以他们为基础构成遥测体系。还有人提出过利用勒让德多项式适合变形的厄米特多项式来构成新的体制。由于它们太复杂,不适于工程应用。下面设计一个多路传输的一般方框图,它对各种体制都适用,也称统一模型,如图2.1。 6基丁:GPRS的远程锣能通讯终端设计接收端图2.1统一模型收发两端采用相同的波形发生器,它产生只(f),£(,),⋯,最(,)的正交波形。自动同步电路,保证两端的发生器工作于相同的重复周期7’,并使之完全同步。在发送端,各路副载波通过相乘实现调制,把各路已调制副载波相加,在相加器中获得综合信号上E(,)=∑吼只(,)(2-2)n=I口。表示各路调制信号的幅度,对于模拟信号,幅度在连续范围内取正值或负值。对于二进制数字信号,幅度限于±l。为了保证波形的正交性,不同幅度的系数口。在每个区间丁内必须基本上为常数。这个条件可以通过对输入信号采样并保持常数来满足,对模拟信号,采样率可抵达信号频率的两倍,而对于数字信号,采样率必须与信息比特率匹配。综合信号通过常规的信道传输,在接收端先回复出综合信号,然后再利用相关检测器把各电路信号分离出来。对于特定的信道,利用接收端产生的某一路副载巴(,)与综合信号相关,就可以提取该路幅度口。。1,口埘=÷【E(,)巴(,)衍,,,=1,2⋯,Ⅳ(2-3)』”这里必须注意:所有下标不同的乘积之积分为零,下表相同的乘积之积分就是所要求的幅度系数。相关过程在区问内通过乘法器和复位积分器来实现。在每一区间末,被积电压经采样并保持,而积分器被复原以备下一区间工作。每一路恢复的采样序列,可采用低通滤波器平滑以获得模拟信号,或加到二进制电路以重新产生数字信号。 第二章系统总体设计2.2系统需求分析嵌入式通信终端可以分成硬件和软件两大部分;硬件又可分为处理器、存储器、输入输出等功能部件。嵌入式通信终端最核心的部分就是嵌入式处理器。目前市场上的嵌入式处理器很多,不同的处理器功能和优势也不同。但是低成本、低功耗、高性能是嵌入式系统应用的特殊要求。应用中使用的主要嵌入式处理器类型有MC68K系列,PowerPC系列,RAM系列,MIPS系列,DSP(D画talSignalProcess)等【5】。存储器也是构成嵌入式系统的重要部分。本系统需要FLASH和SDRAM来存储软件。虽然存储器的选择依赖处理器的选择,但是就功能需求来说,需要考虑容量大、性能稳定的存储器。要结合实际情况和处理器的功能,确定系统外围设备。本系统是一个完整的嵌入式系统,根据实际应用要求,需要以下通信接口。1.RS.232串行接口≯..目前RS.232是PC和通信工业中应用最广泛的一种串行接口。RS.232被定义为一种在低速率串行通信中增加通信距离的单端标准。系统的传输速率要求是115200bps,该频率在串口支持的频率范围内,满足系统通信速率的要求。:2.GPRS模块嵌入式系统和中心站或PC通过串行接口构成多微机系统,广泛应用于工业控制、环境监测等场合,这些系统大多采用RS.232,RS.485或是有线Modem的通.:信方式。虽然很经济实用,但是有线数据传输方式很大程度上限制了其实用的场合。嵌入式通信终端和中心站通信的目的是要实现无线监测/监控的智能化和自动化系统,应用在环境恶劣、不易铺设通信线缆的场合,故选择GPRS传输数据,为了支持这种GPRS无线通信的功能,本系统中必须加入GPRS通信功能的外围电路。3.键盘和液晶显示屏键盘和液晶显示屏是常用的输入输出设备,结合各具特色的嵌入式应用软件,可以发挥嵌入式系统的更多功能,并且可以用于现场调试和手动操作。4.USB接口USB接口方便,传输速率高等优点已经逐渐成为计算机行业的外设接口标准。嵌入式系统要与PC机进行高速通信,USB接口是理想的选择。系统对监控/监测数据最终要在嵌入式操作系统的支持下完成处理。系统对操作系统的选择是除具有一般操作系统最基本的功能,如任务调度、同步机制、终端处理、文件功能,还要注意以下特点。 8基丁GPRS的远程智能通讯终端设计1)可装卸性。丌放性、可伸缩性的体系结构。2)强实时性。EOS实时性一般较强,可用于各种设备控制当中。3)统一的接口。提供各种设备驱动程序。4)操作方便、简洁,提供友好的图形GUI、图形界面。5)提供强大的网络功能,支持TCP/IP协议,提供TCP肘DP/IP/PPP协议支持及统一的MAC访问层接口,为各种移动计算设备预留接口。6)强稳定性,弱交互性。7)固化代码。在嵌入式系统中,嵌入式操作系统和应用软件被固化在嵌入式计算机的ROM中。8)更好的硬件适应性,也就是良好的移植性。2.3系统功能划分远程智能通信终端是运用先进的信息处理技术和网络通信技术,对现场信息进行实时采集和远程监控。系统以S3C2410A处理器为中心,处理器主要对采集到的数据进行处理,将需要发送的数据经过适当的编码处理后,通过串行通信接口传输到MC55。并且在与相连的LCD上制作人机交互界面,通过键盘进行人机交互,将控制信息在LCD上显示出来。MC55主要完成处理后数据发送到监控中心,并将接收到监控中心的信号传送回处理器。控制中心需要对MC55发送过来数据进行分析和处理,以及设置相应的控制命令通过MC55模块传输到S3C2410A。整个系统采用模块化的设计方案,各个模块间采用标准通信协议,由于S3C24lOA处理器提供UART接口,因此数据传输采用标准串行通信总线RS.232作为传输标准。2.4系统结构设计本系统的嵌入式开发平台使用了基于ARM9为核心的S3C2410A处理器,它是由三星公司开发的一款基于ARM920T内核的16/32位砌SC嵌入式微处理器,可高达50MHZ的CPU操作频率,并且以低功耗为目的进行了优化。系统需要扩展闪存(FLASH),用于存放所有的指令和参变量:需要扩展同步动态数据存储器(SDRAM),用于存放数据和运行程序;需要扩展RS.232口,下载程序用于调试;需要扩展GPRS模块,进行基于GPRS网络的无线数据通信;扩展液晶显示器和键盘,用于数据输出显示和现场输入操作。 第二章系统总体设计9系统采用的GPRS通信模块MC55是当今市场上尺寸最小的三频模块,内置TCP/IP协议栈,由AT指令控制并使应用程序很容易接入网络。这一方案的优点在于它不需要应用程序厂商执行自己的TCP/IP和PPP栈,这样最小化了将网络连接集成到一个新的或已存在的应用程序的成本和时间。本系统的结构图如下2.2所示。图2.2系统结构框图就操作系统而言,主要有三个选择:WindowsCE、VxW6rks、“nux。由于该嵌入式采集系统的一个主要目的就是要实现远程监控,首先就排除与Windows同宗的WindowsCE操作系统。VxW|orks是商业软件,授权费用很高,而且源代码不开放,不方便做深入研究,因此排除VxW6rks。Linux是丌放源代码的操作系统,而且有可裁减的特性,非常合适作嵌入式数据采集系统。2.5技术指标设计衡量一个通信系统的好坏,一般用系统的性能指标来描述。无线数据通信系统的性能指标主要有有效性、可靠性及通信距离【61。有效性:通信系统传输消息的“速率”问题,一般由元传输率(单位时间内传送码元数)或者信息传输速率(单位时间内传送信息的量)描述。可靠性:指通信系统的“质量”问题,一般由误码率或者误比特率描述。码元传输率通常称为码元速率、数码率、传码率或波形速率,用符号RB来表示。码元速率是指单位时问内传输的码元数目,单位为波特(Band),常用符号B表示。其计算公式为:’%=寺(2-4) lO基丁GPRS的远程智能通讯终端设计信息传输速率简称信息速率,又可称为传信率、比特率等,用Rb表示,是指每秒钟传送的信息量,其单位为bit/s。RB与凡的对应关系为:R.v=‰log;(2—5)误码率,又称码元差错率,用P。表示,是指接收到的错误码元数在传送总码元数中所占的比例,即码元在传输系统中被传错的概率。e:凳黧(2—6)r=一I£一n-~总的码元数⋯。误信率,也称信息差错率,用P。b表示,是指接收到错误的信息量在传送信息总量中所占的比例,即码元的信息量在传输系统中被丢掉的概率。对于无线通信系统来说,另一个重要参数是无线通信的距离,是指天线周围为无限大真空时的电波传输距离,它是理想传输条件源在自由空间传输时,其能量既不被障碍物所吸收,也不会产生任何反射和散射时的通信距离。其计算公式为:Lfs=32.44+20lgd(km)+20lgf(MHz)(2—7)式中:LfS为传输损耗;f为频率,单位为MHz。由式(2.4)可以看出,自由空间中电波传输损耗只与工作频率f和传输距离d有关,当f或者d增大一倍时,k将分别增大6dB。测试GPRS数据传输的可靠性,主要参数是误码率。在实验条件有限的情况下,只能通过人工的方式逐字符比较发送与接收端数据是否一致,并记录数据不同的次数。在字符错误率极低甚至没有的结果下,可以认为传输稳定可靠。此法虽然简单也是最有效的办法。表2.1是实验结果。表2.1数据传输准确性验证文件名发端文件(KB)收端文件(KB)字符不同次数WD.GIF2.152.15OR曲.dbf4.35023.jpg8.650ShadoW.exe23.00REPBRRC.DLL65.20实验结果显示,终端发送文件与远程服务器端接收文件的数目和大小一样,文件中没有字符错误,表明GPRS数据传输稳定可靠。了更直观显 第二章系统总体设计示速度的变化趋势,绘出速度变化曲线图2-3。表2.2GPRS数据发送速度与接收速度文件名文件大小(KB)发送速度(KB/s)接收速度(KB/s)List.ING1.0431.441.26Device.def4.3616.037.62Con疗g.db10.2560.2l0.12Ms.EPS15.0670.320.290sk.chm20.32lO.45O.15Shadows.exe32.0160.15O.15Picture.jpg42.136O.100.10Install.pdf51.842O.0885图2.3GPRS数据传输速度图以上通过理论分析和实验数据证明:l、本系统的通信模块工作频率为900MHz,发射功率为10dBm(10mW),接收灵敏度为.105dBm,在自由空l’日J传播时,其损耗最大为115dBm(10dB+105dB)。由LfS的计算公式可得:距离d≈10.5km。2、发送小于20KB,最好是5KB~10KB大小的文件能够满足数据传输可靠性的要求。 基于GPRS的远程智能通讯终端设计2.6本章小结本章依据信息传输统一模型,对系统的需求、功能、结构进行了研究与设计。从通信系统的技术指标方面分析了系统的各项指标,设计了无线通讯模块的简单实验。实验结果表明模块工作正常,性能稳定,信号反应灵敏,能够达到系统实时性的要求。12 第三章远程智能通信终端的硬1j,l:设计第三章远程智能通信终端的硬件设计结合系统总体设计任务和构架选定了硬件器件,针对其功能和参数进行计,完成了系统的硬件设计工作。3.1硬件电路体系设计无线通信终端不仅要实现信息内容的输入,同时还需要实现这些数据的GSM网络传输。本系统是以S3C2410嵌入式处理器和GPRS模块为核心,在配置相关外围电路的基础上设计而成的。系统硬件主要由存储模块、GPRS模块及其他电路组成。系统的主题部分是一个构成计算机系统的最小系统,包括CPU、RAM、ROM等。如图3.1所示:图3.1系统硬件结构3.2基于ARM的嵌入式硬件设计嵌入式微处理器有多种流行的处理器核,芯片生产厂家一般都基于这些处理器核生产不同型号的芯片。AIW公司生产的AlW微处理器核技术广泛应用于便携通信产品、手持运算、多媒体和嵌入式解决方案。ARM芯片提供丰富的内嚣部件,减少了电路的设计增加了系统的可靠性【"。文所使用的S3C24lOA丌发板的详细体系结构如图3.2示。 14基于GPRS的远程智能通讯终端设计图3.2S3C24lOA开发板的详细体系结构图S3C24l0A对于片内的各个部件采用了独立的电源供给方式:内核采用1.8v供电,存储单元和I/o采用3.3供电【引。3.2.1AIW体系结构分析采用RIsc架构的ARM微处理器一般有如下特点【9】:1)体积小、功耗低、低成本、高性能:2)流水线结构:3)支持Thumb(16位)/ARM(32位)双指令集,能很好兼容8位/16位器件:4)大量使用寄存器,指令执行速度更快:5)大多数数据操作都在寄存器中完成;6)寻址方式灵活,执行效率高;7)指令长度固定,支持条件执行;8)具有桶形移位器(barrelshiRer),可以提高数学逻辑运算速度,不过也增加了硬件的复杂性,会占用更多的芯片面积; 第三章远程智能通信终端的硬件设计9)AMBA互联总线协议,可以有效地将各个IP组件粘接起来;AlW的大部分设计都采用RISC思想,当然它也综合一些CISC的设计理念以达到最佳的性能,所以ARM不是纯粹的刚SC架构;总而言之,ARM处理器最大的优势就在于体积小、功耗低、价格低廉,并且还能提供相当高的性能,是众多嵌入式设备的首选。3.2.2ARM功能配置ARM920T是一种高性能的32位单片系统处理器。它提供完善的高性能CPU子系统。1)ARM9TDMIRISC整数CPU。2)16K字节指令与16K字节数据缓存。3)指令与数据存储管理单元(MMU)。4)写缓冲器。5)高级微处理器总线架构(ARMTM)总线接口。6)ETM(内置追踪宏单元)接口。ARM920T中的ARM9TDMI内核可执行32位ARM及16位Thumb指令集。Al蝴9TDMI处理器是哈佛结构的,有包括取指、译码、执行、存储及写入的5级流水线。AlW920T处理器包括2个协处理器。1)CP—14控制软件对调制信道的访问。’2)CP—15系统控制处理器,提供16个额外寄存器用来配置与控制缓存、MMU、系统保护、时钟模式及其他系统选项。ARM920T处理器主要特征如下:(1)ARM9TDMIQ.内核,ARMQV4T架构。(2)两套指令集。①AIW高性能32位指令集。②Thumb高代码密度16位指令集。(3)5级流水线结构。①取指(F)。②指令译码(D)。0执行(E)。④数据存储访问(M)。@写寄存器(w)。(4)16K字节数据缓存,16K字节指令缓存。 16基于GPRS的远程钾能通讯终端设计①虚拟地址64路相关缓存。②每线8字。@正向及反向写操作。固伪随机或循环置换。⑦低功耗CAMI认M设备。(5)写缓冲器。①16字的数据缓冲器。②4地址的地址缓冲器。(6)标准的ARMv4存储管理单元(MMU)。①区域访问许可。②允许l/4页面大小对页面进行访问。@16个输入指令TLB及64个输入数据TLB。④8位、16位、32位的指令总线与数据总线。3.2.3RAM存储器设计一个嵌入式系统必须有一定的存储器来存放和执行代码。在决定存储器的层次、宽度和类型等特性时,必须综合考虑价格、性能和功耗等因素。在AIW体系结构中,提供大端/小端两种方式存储数据,而在S3C24lO中町以通过软件设嚣其存储方式。S3C2410处理器存储结构共支持8个存储Bank(BankO.Bank7),其中6个可作ROM和SRAM,且这6个Bank的起始地址是固定的,剩余2个可作ROM、SRAM和SDRAM(支持自刷新和省电模式)。每个Banl(均支持可编程的数据总线宽度(8/16/32位),地址空间为128MB,即总共1GB。SDRAM不具有掉电保持数据的特性,但其存取速度快,且具有读写的属性,因此,SDRAM在系统中主要用作程序的运行空间,数据及堆栈区,是系统启动后进行存取操作的主要存储器。当系统启动时,CPU首先从复位地址OxO处读取启动代码,在完成系统的初始化后,程序代码调入SDRAM中运行,以提高系统的运行速度,同时,系统及用户堆栈、运行数据也都放在SDRAM中。本设计采用2片SDRAM(HynixHY57V561620)010J,通过并联方式来构建总线宽度为32位,容量为64MB的SDRAM存储器系统,其中一片为高16位,一片为低16位,将两片HY57V561620作为一个整体连接到bank6,即使用NGCS6片选信号,使用地址总线A【14:2】,Bank选择A24、A25,数据总线D【3l:0】。图3.3为SDRAM的接口电路。 第三章远程智能通信终端的硬件设计17LDAT^fl,LADDR2LADDR3LADDR4hWBI丑WBU硷MUDQMCKECⅨDQ0DQlD∞DQ3DQ4DQjDG晒DQ■Dq8DQljDQl4DQl3DQl2DQllDQl0DQ9CSR^SC^SWELDATA¨LDATAl21.DATAl3LDATAl4l,DATAI5GCS6咄斌WE【^ADDR2LADDR3LADDR4LnWBl』WBLDAT^f163l^0Al^2A3A4^jA6A7A8A9A10AlIA12B^0B^lL工岣MUDQM阢CLK3.2.4FLASH闪存设计图3.3SDI认M接口电路cs啦CAS、砸基W6系统的开发板S3C2410A使用的是SAMSUNG的K9F1208UOB,对此型号的NandFlaSh读取操作分析。首先从物理结构上来剖析这颗芯片,结构图3.4所示:128KP‘=4.096\、~~512Byt骼一/06吼sBIo味=32Pa口eS16K+5'2)8yte1Pa口e=528Byles1BlocI【:528Bx32Pa口∞=(16K+512)Bytes1D制‘ce=528Bx32Pa口e3x‘.096BIDc'‘S:528Mb№图3.4NandFlaLSh的物理结构讵如硬槛的盘片被分为磁道,每个磁道又被分为若干扇区,一块NandFlaSh被分为若干Block,每个Block又被分为若干Page。由上图可以知flash中B”e(字节),Page(页),Block(块)3个单位之间的关系为:1Page等于512B”esDataField加上16B”esSpareField;lBlock等于32Pages。K9F1208UOB总共有4096个Blocks,故可以算出这块flash的容量为4096奉(32木528)=69206016B”es=66MB。但事实上每个Page上的最后16B”es是用于存贮检验码用的,并不能存放实际的一一一一一一一一一一~一~一一一一~~一一一一一一一一一嘲阿飚邸脚郦髓财郧哪叫哪舭州娜嗵一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一)I2口I柚舭舵∞M"瞄时肛舻心川“从从一一一一一一一一一一一一一一一一一~一 18基丁GPRS的远程智能通讯终端设计数据,所以实际上可以操作的芯片容量为4096x(32x512)=67108864B”es=64MB由上图所示,1个Page总共由528B”es组成,这528个字节按顺序由上而下以列为单位进行排列(1列代表1个B”e。第0行为第OB”e,第l行为第1Byte,以此类推,每个行又由8个位组成,每个位表示1个B”e里面的lbit)。这528B”es按功能分为两大部分,分别是DataField和SpareField,其中SpareField占528B”es里的16Bytes,这16Bytes是用于在读写操作的时候存放校验码用的,一般不用做普通数据的存储区,除去这16B”es,剩下的512B”es便是我们用于存放数据用的DataField,所以一个Page上虽然有528个Bytes,但只按512B”es进行容量的计算。DataField按位置关系又可分为两个部分,分别称为lsthalf与2ndhalf,每个half各占256个b”es。对K9F1208UOB的操作是通过向NaJldFlaSh命令寄存器(对于S3C2410来说此寄存器为NFCMD,内存映射地址为Ox4eooo004)发送命令队列进行的,之所以说是命令队列?就是因为要完成某个操作的时候发送的不是一条命令,而是连续几条命令或是一条命令加几个参数。图3.5K9F1208UOB的操作命令集:AcceptableCOmm丑ndFunc廿on'sLCyck2nd.Cycl●3州.CyckdurinOBUSyRead'00h,01hl”Read250nReodID90hResetFFnoPa口ePro口懵mfrnJep80h'0hPa口ePro口憎m(D帅my’圆80n11hCopy-BackP旧口阳mfr八均l圆∞h8^h10nCopy·Bjc.【P嘲ram《DummyP03h8^h11hB●ockE同se∞hDohMuI廿.PbneBbckErase∞h.一栅D0^ReadstatLb70nOReadMum·PbneSt锄us71h俾O图3.5K9Fl208UOB的操作命令集读命令有两个,分别是Readl,Read2其中:1)Readl用于读取DataField的数据2)Read2用于读取SpaureFieId的数据。对于NandFlash来说,读操作的最小操作单位为Page,也就是说当给定了读取的起始位置后,读操作将从该位置丌始,连续读取到本Page的最后一个B”e为止(可以包括SpareField)NandFlaSh的寻址NandFlash的地址寄存器把一个完整的NandFlash地址分解成CoIumnAddress与PageAddress.进行寻址。 第三章远程李7能通信终端的硬1j,l:设计19ColumnAddress:列地址。ColumnAddress其实就是指定Page上的某个Byte,指定这个B”e其实也就是指定此页的读写起始地址。PageAddress:页地址。由于页地址总是以512Bytes对齐的,所以它的低9位总是0。确定读写操作是在FlaSh上的哪个页进行的。基于以上分析,本课题的嵌入式系统终端采用64MBNandF1ash存储器K9F1208(64MB)存储启动代码、操作系统和应用程序,使用数据总线D[7:0】。当存储器在进行读写或擦除时,CE为片选信号,CLE为命令锁存使能信号,ALE为地址锁存使能信号,WE和RE分别为读写信号,这些信号可直接与处理器的相关引脚十目连。图3.6为NandFlaSh接口电路。LDAT.A[IlI。0VCC3.3VLDATA】I幻1WPR2^LDATA:I_|f|。2WFnj.W上,LDA肼L:ALEI,03ALEVCC33、.VSSCLELDATAzVCCVSSGNDLDATA!I,04VCCnFCELDATA(I_I。5CEI,06RE1FRELDATAjR,nBI幻7R.IBK9Fl208UDM.YCB0图3.6NandFlash接口电路3.2.5键盘及LCD驱动电路的设计l、嵌入式开发平台的键盘设计要考虑功能、资源占用小等方面。S3C2410开发板采用中断触发4木4矩阵键盘,GPGl2—GPGl3要外接上拉电阻,使其工作在外部中断模式,低电平触发方式,电路图如图3.7所示。I;R523;盟;;袋;添鼹.爵}1陬:lS3KEY芦拙:声独S5KEY芦船:芦拙07KE吖芦拙:芦难图3.7矩阵键盘原理图 基于GPRS的远程智能通讯终端设计2、S3C2410处理器内部集成了LCD控制器,LCD液晶屏需要用5V的电压,可直接使用开发板的控制接口线与之相连接,LCD的驱动电路如图3.8所示。3.2.6系统总线实现图3.8LCD的驱动电路任何一个微处理器都要与一定数量的部件和外围设备连接,但如果将各部件和每一种外围设备分别用一组线路与CPU直接连接,那么连线将会错综复杂,甚至难以实现。为了简化硬件电路设计和系统结构,常用一组线路,配置以适当的接口电路,与各部件和外围设备连接,这组共用的接口电路被称为总线。采用总线结构便于部件和设备的扩充,尤其是制定统一的总线标准更容易使不同设备问20 第三章远程智能通信终端的硬1,|:设计实现互联。总线的主要性能参数有总线带宽、总线位宽和总线工作时钟频率I¨J。1)总线带宽也称总线传输速率,用来描述总线传输数据的快慢。用总线上单位时间(每秒)可传送数据量的多少表示,常用单位为MB/s。如符合AGP2规范的AGP总线带宽为528MB/s。2)总线位宽是指总线一次能传送二进制数的数据量,单位为bit。常说的32bit、64bit即指总线的位宽。总线位宽越大,则每次通过总线传送的数据越多,总线带宽也越大。3)总线工作时钟频率简称为总线时钟,用于描述总线工作的快慢,用总线上单位时间(每秒)可传送数据的次数表示,总线时钟常用单位为MHz。总线时钟频率越高,单位时间通过总线传送数据的次数越多,总线带宽越大。由于计算机中不同设备的速度不同,需要的数据量多少也不同,因此通向不同设备的总线时钟也不尽相同,需要将系统时钟(由一个安装在主板上的晶振产生,相当精确稳定的脉冲信号发生器)经分频供给不同设备的总线使用。4)带宽、位宽、总线时钟的关系为:总线带宽=总线位宽×总线时钟例如:PCI总线的位宽为32位,总线的时钟频率为33MHz,则PCI总线带宽=132MB/s本系统的嵌入式丌发平台使用了IIC总线。IIC(InterIntegratedCircuit)总线是一种由Philips公司开发的两线式串行总线,用于连接微控制器及其外围设备。IIC总线产生于20世纪80年代,最初为音频和视频设备开发,如今主要在服务管理中使用,其中包括单个组件状态的通信。例如,管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。可以随时监控内存、硬盘、网络、系统温度等多个参数,增加了系统的安全性,方便了管理。lIC总线最主要的优点是简单性和有效性。由于接口直接在组件之上,因此IIC总线占用的空间非常小,减少了电路板的空间和管脚数量,降低了互联成本。总线的长度可高达25英寸,并且能够以10Kbps的最大传输速率支持40个组件。IIC总线的另一个优点是,它支持多主控,其中任何能够进行发送和接受的设备都可以称为主总线。一个主控能够控制信号的传输和时钟频率。当然,在任何时问点上只有一个主控。IIC总线支持任何一种IC制造工艺,并且Philips和其他厂商提供了种类非常丰富的lIC兼容芯片。作为一个专利的控制总线,IIC已经成为世界性的工业标准。S3C2410A处理器提供了一个IIC串行总线,包括一个专门的串行数据和串行时钟线。它的操作模式有四种: 基于GPRS的远程智能通讯终端设计5)主设备发送模式;6)主设备接收模式;7)从设备发送模式;8)从设备接受模式;图3.9为S3C24lOA的IIC功能框图。SCLPCLK图3.9S3C2410A的lIC功能框图图3.10为IIC的应用电路,S3C2410作为主器件,访问AT2402EEPROM,R7和R8两个lO欧姆的上拉不能省掉,因为在电气特性上,IIC总线的设计思想是利用“线与”的方法实现总线冲突监测和抢占。这就要求总线上的元件I/O特性必须满足“线与”的条件,即OC门输出,而且总线上必须有上拉电阻。图3.10IIC应用电路 第三章远程智能通信终端的硬件设计3.3基于GPRS的通讯电路设计3.3.1GPRS网络结构和相关协议1.GPRS总体结构GPRS网络是在现有GSM网络中增加GGSN和SGSN来实现的【12l,使得用户能够在端到端分组方式下发送和接受数据。移动用户利用GSM基站通信,但与电路交换式数据呼叫不同的是,GPRS分组是从基站发送到GPRS服务支持节点(SGSN),而不是通过移动交换中心(MSC)链接到语音网络上。SGSN与GPRS网管支持节点(GGSN)进行通信;GGSN对分组数据进行相应的处理,再发送到目的网络,如PDN或Intemet。GGSN接受来自Internet标识有移动台地址的IP包,再转发到SGSN,而传送到移动台上。SGSN是GSM网络结构中的一个节点,它与MSC处于网络体系的同一层;SGSN通过帧中继与BTS相连,是GSM网络结构与移动台之间的接口。SGSN的主题作用是记录移动台当前位置信息,并且在移动台和GGSN之间完成移动分组数据的发送和接收。GGSN通过基于IP协议的GPRS骨干网络链接到SGSN,是链接GSM网络和外部分组交换网(如凶特网和局域网)的网关。GGSN主要足起网关作用,也有人将GGSN称为GPRS路山器。GGSN可以把GSM网中的GPRS分组数据包进行协议转换,从而可以把这些分组数据包传送到远端的TCP/IP或X.25网络。SGSN和GGSN利用GPRS隧道协议(GTP)对IP或X.25分组进行封装,实现二者之间的数据传输。图3.11给出了GPRS网络结构的接入与参考点的简图。图3.11GPRS总体结构及接入接口的参考点GGSN到外部分组网络是通过Gi参考点连通的,而其他GPRS网络是通过Gp接口连通的。另外,从MS端到GPRS网络有两个接入点,Um接口用于无线 24基丁.GPRS的远程智能通讯终端设计通信接入,R参考点用于信息产生或接收。这里的MS由TE(终端设备)和MT(移动终端)两部分组成,它们通过R参考点组成一个整体;另外,MS也可单独由MT组成。MT(如手机)通过Um接口接入GPRSPLMN,R则是MT和TE(如笔记本电脑)之间的参考点。对于一个支持GPRS的公共陆地移动网络(PLMN),当它运行GPRS业务时可能涉及到任何其他网络,这时就产生了网络互通的要求。GPRS网络通过Gi参考点和Gp接口实现同其他网络的互通。对于具有GPRS业务功能的移动终端,它本身具有GSM和GPRS业务运营商提供的地址,这样,分组公共数据网的终端利用数据网识别码即可向GPRS终端直接发送数据。另外,GPRS支持与基于IP的网络互通,当在TCP连接中使用数据报时,GPRS提供TCP/IP报头的压缩功能。由于GPRS是GSM系统中提供分组业务的一种方式,所以它能广泛应用于IP域,其移动终端通过GSM网络提供的寻址方案和运营商的具体网问互通协议实现全球网fnJ通信。2.GPRS逻辑结构从逻辑上来说,GPRS通过在GSM网络结构中增添SGSN和GGSN两个新的网络节点来实现,囚为增加了这两个网络节点,所以需要命名新的接口。如图3.12为GPRS逻辑体系结构,表3.1中给出了GPRS体系结构的接门及参考点。,,,7l、、、,‘’、,固@Q、甲_④√卜~固粤、国{,@77◇.、、、、、:,/?图3.12GPRS逻辑体系结构 第三章远程智能通信终端的硬f;,l:设计表3.1GPRS体系结构中的接口及参考点接入或参考点RGbGcGdGiGnGpGrGsGfUm说明非ISDN终端与移动终端之间的参考点SGSN与BSS之间的接口GGSN与HLR之间的接口SMS.GMSC之阳J的接口,SMS.1WMSC与SGSN之间的接GPRS与外部分组数据之问的参考点同一GSM网络中两个GSM之问的接口不同GSM网络中两个GSN之间的接口SGSN与HLR之间的接口SGSN与MSCⅣLR之间的接口SGSN与EIR之间的接口MS与GPRS固定网络部分之间的无线接口除了这些接口参考点之外,GPRS还增加了分组单元(PacketControlUnitPCU)和Gb接口单元(GbInterfIaceUnit,GBIU)。其中PCU使BSS提供数据功能,控制。无线接口,使多个用户使用相同的无线资源;GBIU提供从BSS到SGSN的标准接口,可以和PCU合并在同一个物理实体中。由于GPRS在GSM网络中引入了两个GPRS支持结点和新的接口及单元。因此会对GSM网络设备产生以下的影响。1)HLR现有软件需要更新,以支持Gc、Gr接口。2)MSC现有软件需要更新,以支持Gs接口。3)在BSC中引入PCU,并且软件需要支持。41BTS配合BCF进行相应的软件升级。3.3.2GPRS通信模块目前市场上的GPRS模块分两种:一种是纯粹的GPRS通信模块,它利用中国移动的网络平台进行数据传输,需要对其进行拨号连接、在线监测和从新拨号、协议解析和数掘打包、数据发送、解释、数掘纠错等工作,这些一般是通过微处理器编程完成。另一种GPRS模块是将微处理器和GPRSMODEM集成,降低成本,使用时只需将数据发送给模块或从模块中读出数据即可。本无线通信模块采用德国SIEMENS公司的GSM/GPRS无线通信模块MC55,MC55是当今市场上最小的三频模块,具有以下特征|13l: 基于GPRS的远样智能通讯终端设计1)可以工作在900MHZ、1800MHZ和1900MHZ三个频段,适用于欧洲和亚洲的网络通信频段;2)支持数据、语言、短消息和传真等业务;3)高集成度,结构紧凑,尺寸为35x32.5x2.95mm,重量仅5.59,是目前最小的三频模块;4)休眠状态下的电流消耗为3mA;5)J下常工作温度为.20~+55℃,极限温度为.25~+70℃,温度越限时具有自动关机的功能;6)设计用于基于MicrosofIQWindowSMobile&拌8482;平台的设备(SmartphoneandPocketPCs):7)GPRS(class10)标准,支持PPCCH。MC55模块由基带控制器、测量网络、射频模块、供电模块(ASIC)、FlaLsh/SRAM存储器、应用接口七部分组成,其结构如图3.13所示。图3.13MC55功能结构图基带控制器是整个模块的核心,它控制着模块内部各种信号的传输、转换、放大等处理过程。射频模块是一个单片收发器,它由一个外差式接收器、一个变频调制环路发送器、一个射频锁相环路和一个全集成中频合成器四个功能模块组成,共同完成对射频信号的接收和发送等处理。26 第三章远程智能通信终端的硬件设汁27MC55模块的软件部分对外提供了一个控制系统操作的AT命令集,模块接收来自串口的AT命令,解释并执行相应的操作,实现无线MODEM的对应功能。MC55根据AT命令来完成自身初始化、数据传输、语音传输及短消息服务等。MC55模块内嵌TCP/IP协议,开发过程中无需对模块编写通信协议,大大加快产品的开发进度。从MC55内部的功能可知,其已经包括射频处理、网络监测、基带处理及SIM卡处理等功能,因此MC55能够处理与基站的空中可靠连接,这样在设计时不必考虑GPRS终端的空中接口问题,而实际要做的就是利用MC55提供的对外数据和空中接口,根据实际应用设计适配模块,如电源模块、SIM卡模块等。接下来设计所需的各部分电路图113.1引。3.3.3RS232串行数据交换接口MC55具有两个异步串行接口ASCO和ASCl,如图3.14所示,其中DCE为MC55,DTE端为应用终端如微处理器。.tGSMmodUIeAppIicationlDCEI(D田,T)(D0:,TXDo,RxD0:,Rm8逞舸so!,m黑罢朋瑚‘,CrS.量鸯7咖,DTR星2朕釉窭,Ⅸ淑;,DCD0,亡IC0,RINGQ,RlNGo,rml..∞毫o,Rm葛宅,RxDlo腓墨芑,RTsl百臁1腮薏∞《lN图3.14MC55‘叶:行接口ASCO:8线串行接口,包括数据线厂rXDO和厂RXD0、状态线/RTS0和/CTS0和控制线他TRo、/DSR0、/DCD0和厂RING0。其中比较重要的一根线是瓜烈G0,它用来显示呼入信号以及URC(结果代码),它还可以提供脉冲给上位机,比如用来把应用程序从节电模式唤醒。ASC0主要用于语音呼叫、CSD呼叫、传真和GPRS 基于GPRS的远程智能通讯终端设计业务,还可以通过AT指令控制MC55。ASCO支持以下波特率:1200、2400、4800、9600、19200、38400、57600、115200、230400bps。ASCO的接口电路如图3.15所示。ASCl:4线串行接口,包括串行接口,包括数据线厂rXDl和/RXDl、用于硬件握手的/RTSl和/CTSl。ASCl用于语音呼叫、GPRS业务和对MC55进行AT指令控制,不适用于CSD呼叫、传真和复用模式。当ASCl处于复用模式时,ASCl不可用。3孵誓仿辩DPDT图3.15MC55的ASC0的串行接口电路本系统MC55和开发板之问的通信是通过各自的ASC0接口完成的。如图3.14所示,由于只有RXD和TXD是负责真正的数据传输工作之外,其他的信号均是用来完成硬件握手的信号,所以设计中不采用硬件流控制,而是构建一个精简的串口通信,致利用RXD和TXD两个信号来和丌发板实现通信,而其他的六个信号均不用,这样通过电脑即可以调试GPRS通信模块。3.3.4电源转换电路MC55要求电源提供3.3.4.8V电源,瞬问电流能够承受2A,模块检点后至少28 第三章远程智能通信终端的硬什设计2910ms之后,IGTPin电平低至少100ms,然后变为高阻状态。此时GPRS模块会启动起来。启动后,IGT应保持高电平(3.3V)。IGT引脚所要求波形示意图如图3.16所示。BATT+\ml121一.刊”≠⋯⋯⋯¨竖⋯⋯⋯⋯⋯⋯⋯一Hlz⋯姬T图3.16GPRS模块启动时序MC55处于数据传输阶段,电源电压会出现一个负脉冲,为了减小这个负脉冲对电源的影响,应尽量缩短电源线,并在VCC输入端接一个1000wF的储能电容。另外,在直流电源输入端应采墩射频过滤的措施,用一定容值的电容接在电源上一靠近MC55的地方,具体的电容值要根据用户使用的网络的频段来选择。本系统中采用MIC29302BU稳压芯片将5V降至典型工作电压3.6V。之所选择它,是因为它简单高效,有优异的负载调整能力,所需要的外部元件很少,电流驱动能力可达到3A,能满足GPRS模块的需要。并且它的价格也比较合理,符合经济性的原则。MIc=翮2BU图3.17MC55的供电电路图MC55的供电电路图如图3.17所示,输出电压理论计算公式为: 30基丁GPRS的远程智能通讯终端设计屹Ⅲ=1.204(1+“3%)/1、36输出电压Vout=3.82V,约高于典型工作电压3.6V,能够满足对GPRS模块的供电要求。为了减少在信号线上的损失,在设计中使LM2576输出的3.6V信号与MC55的用户接口之间的连线尽可能的短,为了减小在数据传输阶段的电压下降的幅度,在靠近MC55的电源和地线上还跨接了一个电解电容,取值为1000uF,可承受16V电压,在平时作为储能元件,当处于数据传输阶段时释放能量,从而降低电压的下降值。为了减小射频信号对滞留电源线的影响,在靠近MC55用户接口的地方,用一个39pF的电容接在电源和地之间,起到滤波的作用。3.3.5SIM卡电路GPRS模块MC55支持外部SIM卡,采用电源的标准SIM卡接口,包括SIM卡时钟信号SIMCLK、复位信号SIMRST、数据信号SIMIO、电源端SIMVCC和接地端SIMGND,通过连接必要的分压电阻,进行相应的电平和电流转换后,分别连接到SIM卡对应的引脚,即可通信,原理图如图3.18所示,需要注意SIM卡不要带电插拔,否则容易导致烧卡。使用GPRS模块前用户需要先插上SIM卡。3V33.3.6其它外围电路设计图3.18SIM卡电路MC55提供了一个LED引脚,作用是控制LED的闪烁以达到指示模块的工作状态,通过它可以控制一个发光二极管的闪烁。从发光二极管的闪烁可以帮助我们判断通信模块及SIM卡电路是否正常工作,在J下常上电后MC55若是已经检的LED做频率约为l38脚一个持续120毫 第三章远群智能通信终端的硬什设计秒的低电平,则MC55开始启动。那么,在复位后如何确定MC55已经启动了,MC55的第36脚会发出PWM脉冲,可以接上蜂呜片或者喇叭,听声音正常启动模块,如图3.20。图3.19模块指示灯电路∞图3.20蜂呜器电路3.4硬件系统可靠性设计一个系统必然以硬件平台为依托,展角度H{发考虑硬件平台的整体设计,3.4.1输入端口设计分析设计硬件平台时,要从全局以及今后的发不能以简单功能实现作为设计的最终目标。在嵌入式系统控制电路设计中,数据的输入/输出端口是控制器完成数据输出和接收功能的关键部分,因此这一部分电路设计的好坏关系到控制器能否J下常工作。以控制器为中心,按照数据的流向,控制器的端口分为数字输入端和数字输出端两种,最简单的一种I/O形式是数字输入输出119J。由于控制器的数据输入输出引脚数量少,并且在使用时要分时复用。因此一般控制器和外部设备之间使用缓冲器74HC244或锁存器连接,这种方式适合输入端少的情况。而嵌入式设计不仅要求性能高、体积小,更要求功耗低,采用74HC244连接会使处理器数据总线上的电容负载值比较大,使得数据总线无法接收数据。为了减少电容对数据输入的影响,改进的方案是采用数据选择器来替代74HC244,比如采用74HC257。74HC257输出端的最大电容为15pF,比74HC244的输出端电容稍小一些。用其可以使控制器的一条数据总线连接两条输入端,相当于一条数据总线的输入电容值只有7.5pF。如果系统设计中不需要对多于数据总线数量的数字输入端进行同时取样,以上的74HC244和74HC257方案就完全可以适用;如果在系统设计中要求必须同时 基丁GPRS的远程智能通讯终端设计取样大量的数字输入端,则必须在电路设计中使用锁存器来锁存数据。在电路设计中,经常使用的锁存器是74HC374和74HC574,这两个锁存器的功能相当。一方面,由于74HC574的输入引脚和输出引脚分别列在集成块的两边,这样的排列使制作印刷电路板的布线比较简单;另一方面,74HC574的输出电容值为15pF。这个值与74HC244的输入电容值几乎一样,因此在设计中一般选用74HC574。在嵌入式系统中采用避免系统受外部干扰的技术也是非常重要的,但是需要注意的是在电路设计中,COMS器件的输入端不能悬空处理。因为COMS器件是电压控制型器件,未被连接的输入端有噪声干扰时,由于噪声电平接近CMOS门槛电压输入的趋势,使得芯片内部的三极管执行不必要的开关动作。从而既增加了错误的逻辑关系,又耗费了系统的功率。一般使用上拉电阻或下拉电阻,把未被连接输入引脚与电源或接地点连接,使其有一个确定的电压值。COMS输入引脚的最大输入电流非常小,只有l∥彳左右,因此选用1MQ作为上拉或下拉电阻。在嵌入式系统中,当输入引脚的有效电压是5V以上或负值(对地)时,使用几个电阻就可以防止输入引脚过压。如图3.20所示,CMOS集成块内部的两个二极管可以把电压钳位在COMS器件输入电压值,这两个二极管是高速COMS器件(74HC系列)静电保护措施的一部分。为了更安全地保护输入端口,可以在输入端连接两个肖特基j极管,如图3—21所示。前端电压降到集成块内部两个二极管导通电压的1/3,内部的两个j_:极镗不会导通,电流全部通过前端J下向偏压的肖特基二极管。这种电压保护电路在有些应用设计中是必须的,但在一般设计中没有必要采用这样的额外保护。VCCP一Z、.I’ll—一由‘。Z∑Il=图3.20电阻分爪式保护电路示意图图3.21肖特基一:极管掣保护电路示意图还有另外一种保护方法,即在电路中加载滤波器,如图3.22所示。它的两剃,作用一是电容和电阻构成一个低通滤波器,用来减小输入尖脉冲信号的幅度,而低频信号能够通过:二是低通滤波器还有静电保护功能。 第三章远程智能通信终端的硬什设计VCC—+Z、.I直乞』’l●∑图3—22滤波器型保护电路示意图3.4.2GPRS通信模块抗干扰措施在嵌入式无线通信系统设计中,射频电路部分最容易收到数字电路部分的干扰【201。对于高灵敏度的接收芯片而言,从天线到射频芯片的输入信号可能小于1.“彳,所以数字与射频信号强度之嵋J的差别可达100万倍(120dB)。如果这些信号没有被恰当地隔离或屏蔽,射频信号就将被干扰,并且传输性能会受到习F常严重的影响,因此射频电路部分的设计就显得非常重要。在设计中可以分别从电路原理图和PCB板两个方面综合考虑,并遵循一定的设计规则,尽量大可能降低射频电路收到的干扰,提高嵌入式无线通信系统的性能指标。:卜电路设计方面应遵循以下原则:(1)一定要有一个可靠地地平面,电源地应该直接与射频部分的地相连。(2)与地平面的连接越短越好,与地连接的焊盘应该在附近设置一个过孔,并且两个接地的焊盘不可以共用一个孔。(3)解耦电容应该尽量靠近需要解耦的引脚,每个需要解耦的节点单独使用一个解耦电容。恰当地选择电容大小会起到很好的效果。(4)电源要采用星型布线,即不同部分(数字部分、模拟部分及射频部分)的电源线分别直接从总电源引出。并且分别解耦,这样可以有效防止电源噪声的干扰。PCB板设计方面应遵循以下原则。(1)在设计PCB板时原则如下:1)应在条件许可下采用多层板,提供专用的电源层和地线层。2)如采用电源总线方式,应尽可能地加粗电源线和底线。3)尽量减少板上的通孔(包括插件元件的引脚及过孔等)。4)多增加一些底线。 基于GPRS的远程智能通讯终端设计5)分开模拟电源和数字电源。(1)隔离敏感元件,在信号线边上可放置电源线。以最小化信号环路面积,减少环路数量。(2)传输布线时应尽量避免传输线阻抗不连续(阻抗不连续点是传输先突变点,如直拐角及过孔等,它将产生信号反射。为此布线时应避免走线的直拐角,可采用450角或弧线走线,尽可能地少用孔)。(4)串扰可以通过以下一些简单的办法抑制。11由于容性串扰和感性串扰的大小随负载阻抗的增大而增大,所以应对串扰引起的干扰敏感信号进行适当的端接。2)增大信号线问的距离,以减小容性串扰。3)为减小容性串扰,可以在相邻信号间插入l根地线。但必须注意,此地线每1/4波长要接入线层。4)对感性串扰,应尽量减小环路面积,如果允许,应消除次环路。5)避免信号共用回路。(5)随着电路速度的提高,电磁干扰(EMI)越发严重,所以还必须减小EMI。减小EMI的途径通常有屏蔽、滤波、消除电流环路和尽量降低器件速度。滤波通常有3种选择,即去耦电容、EMI滤波器和磁性元件。最常见的是去耦电容,用于f也源线路滤波。通常在电源接入电路板处放罱一个l∥F~10∥F的去耦电容,以滤除低频噪声;在板上每个源器件的电源引脚处放置0.0lⅣF~0.1p,的去耦电容,以滤除高频噪声。要注意去耦电容的放置位置,使其尽可能靠近相应的元器件管脚。3.4.3RS232串行数据传输抗干扰措施RS.232规定最大的负载电容为2500pF,这个电容限制了传输距离和传输速率,由于RS.232的发送器和接收器之间具有公共信号地(GND),属于非平衡电压型传输电路,不使用差分信号传输,因此不具备抗共模干扰的能力,共模噪声会耦合到信号中,在不使用调制解调器(MODEM)时,RS.232能够可靠进行数据传输的最大通信距离为15米,对于RS232远程通信,必须通过调制解调器进行远程通信连接。现在所提供的串行端口的传输速度一般都可以达到ll5200bps甚至更高,标准串口能够提供的传输速度主要有以下波特率:1200bps、2400bps、4800bps、9600bps、19200bps、38400bps、57600bps、115200bps等12lJ,在仪器仪表或工业控制场合,9600bps是最常见的传输速度,在传输距离较近时,使用最高传输速度也输速度,可以延长34 第三章远程智能通信终端的硬1,l:设计RS-232的逻辑“l”是以.3~.15V来表示的,而单片机的逻辑“l”是以+5V来表示的,两者完全不同。因此,单片机系统要和电脑的RS.232接口进行通信,就必须把单片机的信号电平(TTL电平)转换成计算机的RS.232C电平,或者把计算机的RS一232C电平转换成单片机的TTL电平,通信时候必须对两种电平进行转换。实现这种转换的方法可以使用分立元件,也可以使用专用RS.232电平转换芯片。目前较为广泛地使用专用电平转换芯片,如MCl488、MCl489、MAX232等电平转换芯片来实现EIA到TTL电平的转换。3.5电路原理图及PCB版图设计结果l、设计的硬件电路原理如图3.2l所示。图3.2l通信电路原理图2、设计的PCB版图如图3.22所示。 36基于GPRS的远程智能通讯终端设计I蚪颤‘一一..,^.r.,●一___’』L、嘏=苫莲刍h@叫≮jI卜!j甬曰·●I,≮',UU●誓▲lY◆●●◆◆◆I=几]n‘l1o‘IIl●+、零群薯····◆·1.u·叫UUU●◆一◆三一●I.Ill‘J一门nn●●◆:⋯0忏◆l掣岜u1;;LIJV●uL了,p..;q睁-..P刍广_■.一·:1.叫一!,·!!●l●’●I-Ⅲ".■’●●_1t,+口◆写:-口@:·磐■’矿罔稻◆●.,’静广1·w.{·目岜:舌目●I·::::●图3.22PCB版图3.6本章小结本章研究了系统的嵌入式开发平台的硬件设计,分析了GPRS通信模块的结构,设计了通信模块的外围接口电路,并且对整个系统进行了可靠性分析与设计,完成了系统硬件的设计。 第四章远程智能通信终端软件设计37无线智能通讯终端多用于无人值守的远程监控环境中,由于工作环境及地域的原因,终端常处于无人看管或不定期维护的状态。这就要求系统具有很高的稳定性、可靠性,需要在软件设计过程中予以考虑。系统本身能够对内存、文件系统、设备及任务具有最优的管理控制;同时对技术升级及功能扩充不需要进行大规模的改动就能实现、易于维护。4.1嵌入式Linux软件开发平台建立嵌入式Linux是指对标准LinuX经过小型化裁剪处理之后,能够固化在容量只有几K或者几M字节的存储器芯片或者单片机中,适合于特定嵌入式应用场合的专用Linu)(操作系统。嵌入式Linux既继承了Intemet上无限的开放源代码资源,又具有嵌入式操作系统的特征。嵌入式Linux操作系统具有以下特点【22】:1)系统稳定,功能强大,支持多种硬件平台。它可以非常稳定地运行在许多种体系结构的处理器上。2)模块化可裁剪特性非常适合嵌入式系统的要求,系统完全启动只要小到500K字节不到的目标代码,完全可以把Linux内核和root文件系统放在一张软盘上。3)自由软件可以有效降低丌发成本。4)文档完善,支持渠道众多。5)强大的网络功能,完全使用移动互联的嵌入式设备发展趋势。嵌入式Linux丌发过程如下图4.1所示。图4.1嵌入式Linux开发过程嵌入式LinuX系统的软件平台一般包括启动代码、操作系统内核、硬件驱动程序、用户程序等。这几个部分足相互联系的有机整体,缺一不可。本系统的Bootloade为U_boot.1.3.1,Linux内核为LinuX.2.6.22.6。4.1.1嵌入式Linux交叉编译环境构建宿主机一目标机(Host.Ta唱et)模式是嵌入式系统常用的开发模式,其中宿主机 38基于GPRS的远程智能通讯终端设计是指完成操作系统的裁剪和应用软件的丌发的计算机,目标机通常是指待开发去实现对被控对象智能化的硬件平台。其实现原理:在宿主机上完成软件功能,然后通过串口或网口将交叉编译生成的目标代码传输并下载到目标板上,并在监控程序或者操作系统的支持下利用交叉调试器进行分析和调试,最后目标机在特定环境下脱离宿主机单独运行。采用宿主机一目标机开发模式进行嵌入式系统开发,具有整体思路清晰,便于系统分工,容易同步丌发的特点。其中交叉编译和远程调试是系统开发的重要特征。因为嵌入式系统硬件资源的限制,加上宿主机的CPU体系结构和指令集与目标机的不同,要使实现裁剪后的嵌入式操作系统和应用软件能在目标机上J下常运行起来,就需要在移植它们之前,在宿主机上建立新的编译环境,进行和目标机CPU相匹配的编译,这种编译方式称为交叉编译。新建立的编译环境称之为交叉编译坏境。交叉编译环境下的编译工具在宿主机上配置编译实现,必须是针对目标机CPU体系的编译工具。只有这样,才对源代码编译生成的可执行映像,才会被目标机的CPU识别。嵌入式Linux交叉编译环境的建立步骤:1.建立开发环境一在主机上安装Linux。一建寺交叉丌发环境:如交叉编泽器,交叉调试器(am.Linux.gcc)。2.配置开发主机一配置MiniCom或者超级终端。一配置网络环境。一配置网络服务:如Rp和nfS等。4.1.2B00tloader移植与Linux内核分析1.BOOtIOaderBootloader通俗的讲是系统启动时运行的第一段程序,类似于PC机的BIOS和位于硬盘MBR中的引导程序。开发板的Bootloader通常只存在于FlaLsh中,上电由CPU自动嵌入到RAM中运行。其作用主要是在内核运行之前初始化硬件设备,建立内存空间映射,为操作系统运行做好准备,加载操作系统。图4.2是一个同时装有B00tloader、内核启动参数、内核映像和根文件系统的固态存储设备典型空间分配结构图。 第四章远程智能通信终端软{;,|:设计39l化厂蚋~Ba吠细幽图4.2I村态存储设备的典型空间分配结构嵌入式的Bootloader除了上面提到的功能,一般它还有下载系统,调试系统等扩展功能。大多数Bootloader都包含两种不同的操作模式。启动模式:Bootloader从目标机上的固态存储设备上将操作系统加载到RAM中运行,整个过程没有用户介入,这也是正常的产品发布时的状态。下载模式:通过USB、网络、串口等通信手段将系统的内核文件等下载得到RAM中的方式,通常只有丌发人员才会用到。?从操作系统的角度看,Bootloader的总目标就是正确地调用内核。另外,由于Bootloader的实现依赖于CPU的体系结构,因此大多数B00tloader都分为stagel和stage2两大部分。比如设备初始化代码等,通常都放在stagel中,而且通常都用汇编语言‘米实现,以达到短小精悍的目的。而stage2则通常用C语言来实现,这样可以实现给复杂的功能,而且代码会具有更好的可读性和可移植性123】。Bootloader的stagel通常包括以下步骤:1)硬件设备初始化。2)为加载Bootloader的stage2准备RAM空间。3)拷贝Bootloader的stage2到RAM空问中。4)设置好堆栈。5)跳转到stage2的C入口点。B00tloader的stage2通常包括以下步骤:1)初始化本阶段要使用到的硬件设备。·2)检测系统内存映射(memo叮map)。3)将kemel映像和根文件系统映像从naLsh上读到RAM空问中。4)为内核设置启动参数。5)调用内核。本系统的Bootloader使用的是U-boot。U-boot(UniversalB00tloader)遵循GPL条款的丌源项目,由amboot和ppcboot演化而来,所以其源码目录结构和Linux和相似,目前支持的操作系统有LinuX、Vxwbrks、ONX和wince等。支持的CPU 基于GPRS的远程智能通讯终端设计包括:MIPs、x86、ARM、Xscale等,几乎所有常用的微处理器。u-b00t目录结构,和Linux非常的相似。1)board:目标板相关的文件,主要是SDRAM和FLASH的驱动。2)common:独立于处理器体系结构的通用代码,例如内存大小检测和故障检测等。3)cpu:与处理器相关的文件。4)“ver:通用的设备驱动。5)doc:u-boot的相关文档。6)example:可以在u.boot下运行的事例程序,例如hello.c等。7)include:u-boot的头文件,尤其是conngs文件央下的和日标板相关的配置头文件,是移植过程中经常要修改的文件。8)Libxxx:处理器体系结构相关的文件。9)net:有网络功能相关的代码,例如t邱功能。lO)post:上电自检目录。l1)tools:用于创建u-boot等镜像文件的工具。移植U.boot步骤:1)建立自己的平台类型。2)修改cp“am920t/start.S文件,完成U—Boot的重定向。3)创建board/fS2410/naJl(1—read.c文件,加入读NANDFlaSh的操作。4)同时修改boa础fS24lO/Makenle文件,增加nandread文件。5)修改boa删fs2410/fS2410.c文件,加入NANDFlaSh操作。6)修改include/configs/fS2410.h头文件。7)修改include/linux/mtd/nand.h头文件。8)修改include/linux/mtd/nandids.h头文件。9)修改common/envnand.c文件。10)修改common/cmdboot.c文件,添加内核启动参数设置。11)交叉编译U.BOOT。撑makedistclean拌mal(efs2410』on行gexpOrtPATH=$PATH:/home/linu刈crosstool儋cc一3.4.5一glibc-2.3.6/ann-soRnoat-linux—gn训bin:撑make生成的u-boot.bin即为移植后的结果。下载到丌发板上运行。2.Linux内核 怂燃说:竺勰蒜’雾怒篓鬈篙警文熙鬈鬈篓蚕嚣、:嚣焉喜淼品苎兰墨曼竺u:隰竺:::嚣淼纛I茹磊赢批程序等等于:裴:然蹴絮;裂箸赫二i、简称幽畎黑戮絮=黧}嚣菱淼篙篙新藉性uns燃2裟黧昙篇蒜辚蒜篡淼。脯戬譬妾兰凳壁萋篓篓誓蔫翥蔫丌兰鬈羹蓑?,一誓凳差磊裹嚣;鼍嚣磊盖麓:w弄夏藉套黧纂嚣煞三鬟淼茹篙:嚣描;?蒹淼本黧纂竺要驾翟燃了慧!鬻i赫淼乏号的形式为x.y.z,对于稳定树来说,y是1尚数;嗣1,‘及俐刁Ⅷ∽7~”⋯。图4.3Linux内核的主要组成部分蛐。,:篡内笔慧篡墨篇麓器芸墓篡蠹著毳警黧完整的Linux内核主要由五个部分组璧警程管理糗坎’堪怔归1地旧1天扒⋯“。。模块,虚拟文件系统和网络通讯模块‘251。‘三’生黧慧蹴1CPUo调度进程所使用的策略可以保证进程能够公平地访⋯竺了然墨器嚣㈤≯刖期引~卜一。问CPU,同时保证内核可以准时执行一些必须的馒仟碟。。F。 42基于GPRS的远稃智能通讯终端设计内核管理允许多个进程可以安全地共享机器的主存系统。此外,内存管理程序支持虚拟内存。虚拟内存使得Linux可以支持进程使用超过系统中的内存数量的内存。暂时不用的存储信息可以交换出内存,存放到永久性存储器上,然后在需要的时候再交换回来。(3)虚拟文件系统通过提供一个所有设备的公共文件接口,VFS抽象了不同硬件设备细节。此外,VFS支持与操作系统兼容的不同的文件传输格式。(4)网络接口提供了对各种网络的存取和各种网络硬件的支持。网络接口可以为网络协议和网络驱动部分。网络协议部分负责实现每一种可能的网络传输协议。网络设备驱动部分负责与硬件设备进行通信,每一种可能的硬件驱动设备都有相应的设备驱动程序。(5)进程问通信子系统为单个Linux系统进程之问的通信提供一些机制。这些子系统虽然是功能相对独立,但存在着较强的依赖性(调用依赖模块中相应的函数),所以说Linux内核是单块结构的。Linux内核的启动过程,下图4.4所示。^.;动(stan)上I蝴讷恢(dec锄press-keme⋯)上I渊J}J内饮(caluemel())上I内梭、1nlinux入⋯sl呲)占I内拽涨池(s锄-keme⋯)IsenJp.;Ⅱ℃h()/arch/ar卫n/boot/col口presse∈【/heaas/arch/arIn/boot/kernel/hcads/init/IDairLcI!∈I4.4Linux内核启动过程 第四章远程智能通信终端软f,I:设计434.1.3Linux根文件系统制作一般来说,根文件系统是指Linux系统启动时所使用的第一个文件系统,在内核启动时需要挂载根文件系统来支持访问外部设备,以及装载和运行内核模块于应用程序,在操作系统正常运行时也需要根文件系统来支持各利,操作功能。1.根文件系统的定义根文件系统是一种文件系统,相对于普通的文件系统,它的特殊之处在于它是内核启动所挂载的第一文件系统。根文件系统成功挂载之后,会把一些基本的初始化脚本和服务加载到内存中运行。根文件系统一直以来是所有类Uinx系统的一个重要组成部分,为嵌入式LinuX的文件系统带来了许多强大和灵活的功能,当然也有一些复杂性。文件系统必须条件是了解文件系统的结构,以及应用程序所需要的库文件、内核模块和应用程序等,并且要配置好很多的初始化脚本,选择合适的文件系统类型,将它部署到相应的位置。2.根文件系统的目录结构。常用的一些文件路径:厂bin:存放二进制文件的目录。/dev:存放设备文件的目录。/etc:存放系统管理和配置文件的目录。/home:用户主目录。/lib:存放动态共享库的目录。/sbin:存放系统管理员使用的管理程序的目录。/tmp:公用的临时目录。/root:系统管理员的主目录。/mnt:系统提供给用户,用以临时挂载其他的文件系统。/proc:虚拟文件系统,可以直接访问这个目录来获得系统信息。/Var:某些大文件的溢出区。/usr:最庞大的目录,要用到的应用程序和文件几乎都在这个目录下。根文件系统的制作是在丌发平台已经移植好U-boot、编译好Linux内核,并且有相应的交叉编译工具链。制作步骤为:1)下载并配置busybox源码。2)编译busybox。3)安装建立busyboX文件系统。4)配置文件系统。51NFS测试。6)制作r锄disk文件系统。 基于GPRS的远程智能通讯终端设计7)制作cramfS文件系统和部署。8)制作j行S2文件系统镜像和部署。4.2基于嵌入式Linux的软件体系设计嵌入式系统的软件支配整个系统的运行并协调整个系统的资源分配与利用,嵌入式软件设计的好坏直接关系到系统能否可靠、稳定的运行。软件的设计需层次化,针对不同的功能进行层次的划分。4.2.1软件系统结构设计嵌入式Linux软件的结构层次如图4.5所示。用户程序应用程序接口Linux内核驱动程序引导程序BSP支持包硬件层图4.5嵌入式Linux的软件层次系统启动后,最先执行的是启动代码,因其位于系统上电后PC指针所处的位置,在启动代码执行之前,系统的软件和硬件处于未知状态,启动代码需将系统的硬件和软件进行初始化,完成系统的初始化之后,将控制权交给操作系统内核。系统内核此时需要对任务控制块、信号箱、队列、管道、信号、事件组等模块进行初始化工作,内核初始化完成后,便可以进行任务的调度。操作系统驱动程序的加载以任务的形式实现,如测控系统中需实现通信以及初始化文件系统组件和大容量的存储体,初始化完成后,任务可自身清除自己,真J下的应用程序通过调用内核服务实现通信及文件存取等功能。任务间的通信、以及事件的响应、资源分配等都是由内核来统一管理的。4.2.2软件系统功能分配然后PC指针指 第四章远程智能通信终端软f,l:设计45到程序的ROM空间的O地址空间,然后程序从该地址丌始执行。这部分代码主要完成硬件的初始化,并将ROM中的程序代码拷贝到RAM中,最后将地址空间映射到RAM中。2.操作系统内核:操作系统正常运行所需的组件,具有中断处理、任务调度、进程通信、资源管理等功能。主要负责整个操作系统的协调工作。嵌入式系统的内核代码比较小,具有可移植、可固化、可裁剪的功能。3.操作系统组件:操作系统组件是构建在操作系统内核基础之上的软件模块,分别实现不同的功能。例如音频、网络、文件等等。这些组件可根据丌发的需要进行裁减。4.设备驱动程序:上层软件对硬件设备的操作是通过驱动程序来实现的。它为上层软件提供了可调用的接口函数,使其不必关心底层硬件的具体细节。主要完成对硬件的复位、初始化、J下常的操作、异常处理等等。使操作系统能够于具体的硬件结构脱离,从而便于嵌入式系统的移植。5.用户应用程序:用户程序是构建在嵌入式系统之上的应用程序。主要完成产品的功能需求。本系统完成通信模块的数据传输。4.3串行通信接口驱动程序设计与优化设备驱动程序足一组由内核中的相关子例程和数据组成的I/O设备软件口。每当内核意识到要对某个设备进行特殊的操作,它就调用相应的驱动例程。这就使得控制从用户进程转移到了驱动例程,当驱动例程完成后控制又被返回至用户进程,该过程如图4.6。设备级图4.6设备驱动程序内核级器 46基于GPRS的远程智能通讯终端设计4.3.1驱动程序剖析l、设备驱动程序的作用设备驱动程序将复杂的硬件抽象成一个结构良好的设备,并通过提供统一的程序接口为系统的其它部分提供使用设备的能力和方法。设备驱动程序为系统的其它部分提供各种使用设备的能力,使用设备的方法应该由应用程序决定1261。2、设备驱动程序的分类:1)字符设备驱动程序(各种串行接口,并行接口等)。2)块设备驱动程序(磁盘设备等)。3)网络设备驱动程序(网卡等)。4)杂项设备驱动程序(不属于上述三种设备之外的一些设备,如时钟等)。3、在操作系统中的位置设备驱动程序是内核代码的一部分,它的地址空问是内核的地址空间。驱动程序的代码直接对设备硬件(实际是设备的各种寄存器)进行控制(实际就是读写操作)。应用程序通过操作系统的系统调用执行相应的驱动程序函数。中断则直接执行相应的中断程序代码。设备驱动程序的fileoperations结构体的地址被注册到内核中的设备链表中。块设备和字符设备以设备文件的方式建立在文件系统中的/dev目录下,而且每个设备都有一个主设备号和一个次设备号。4、设备驱动程序的主要数据结构(1)structdevicestruct:在系统启动过程中要登记块设备和字符设备管理表的定义在文件fS/devices.c中。实际上块设备和字符设备使用了相同的数据结构。在某些系统中,这些设备表也称做设备开关表,不同的是它们直接定义了一组函数指针进行对设备管理。而系统用文件操作(6leoperations)代替了那组开关。文件操作是文件系统与设备驱动程序之间的接口,系统特殊文件在建立时候并没有把两者对应起来,只是把设备的默认文件结构和i节点结构赋给设备文件,而真正的对应定义在系统启动之后,当设备被打开时才进行的。(2)stTlJctflle.operations:操作系统将每个外部设备当做文件来处理,内核通过nleoperations结构来访问嘶ver的功能。fileoperations的定义在中。每个字符设备都有一个fileoperations结构。这个结构指向一组操作函数(open、read)。每个函数的定义由driver提供。有些标准操作某些设备并不支持,这时,fileopemtions结构中对应表项为NULL。(3)structinode:fileoperations中的大多数操作都将inode作为第一个参数。LinuX的VFS是对物理文件系统、物理设备的一个封装。Inode结构就是VFS与下个子目录或文件只能 第四章远样智能通信终端软件设计474.3.2串行接口驱动程序设计与优化Linux的串口设备驱动相对比较复杂,原因是串口是终端(tty)的输入/输出设备之一。在LinuX环境下编程时,对串口的读/写就是对设备文件“/devmySn”的读/写,如果控制台的操作则是对设备文件“/dev/console”进行读/写操作。最终内核中数据流向及相关的内核代码如图4.7。多数的串口控制器,特别是PC的串口,都是与16C550兼容的硬件设备,Linux内核对这一类硬件有很好的支持,其代码在文件8250.c中127。。在嵌入式系统中,对于这一类的硬件就不用从新编写设备驱动程序了,只要提供具体的硬件相关资源,如寄存器和中断号等,就可以直接使用。但ARM处理器内置的串口控制器,通常是非16C550兼容的设备,因此需要编写部分代码。⋯⋯平⋯⋯一一一一一一一≤薹三二二二一一一一一驱动图4.7Linux串口驱动层次结构要在LinuX的串口驱动架构下实现设备驱动。事实上是要实现硬件密切相关的.代码,而串口驱动程序的核心代码在serialcore层。编写设备驱动就是要实现serialcore必要地数据结构,并通过制定的注册函数登记这些数据结构。关键的数据结构包括u缸“ver、uartport、uanops,这三个数据结构在serialcore.h中定义。一个uandriver就表示了一种类型UART的设备驱动,ua九port表示一个具体串口设备,而uanops则是某种类型UART支持的硬件操作。saticstructuan_driVers3c24xX』Ⅳ={.ower=THISMODULE. 篆基丁GPRS的远程智能通讯终端设计.deV--name2“ttys”,.nr=3,.driVer.name=‘‘nys”,.m勾or=S3C24XX—SERIAL_MAJOR,.minor=S3C24XX—SERIALMINOR,其中成员deV_name是在目录/dev下显示的设备文件名称,driVer-name则是这设备驱动的名称。Maior和minor分别表示设备的主设备号和次设备号,nr表示用这个设备驱动程序的串口有几个。staticstructs3c24Xx—uan-Jorts3c24xx—serialJorts附R_PORTS】处理的串口2串口1的流控信号是复用的,因此系统的串口数量NR-PORTS需要看硬件的设。串口的接收和发送使用不同的中断,发送中断号为接收中断号加1,为此定两个宏:撑defineTX—IRQ(pon)((port)一>irq+1)撑defineR二譬一IRQ(pon)((pon)->irq)uaJl』ort的指针ops指向s3c24xx—seriaI—ops数据结构,s3c24Xx—serial-ops实了uaJtops的17个成员函数。staticstructuart_opss3c24xx-Se^al-0ps={.pm=s3c24xx—serial-pm,.tX—empt),=s3c24xx—se^al_tx—9mpty,.get-mctrl=s3c24x)【_seriaI—geLmctrl,.seLmctrl=s3c24xx—serial—set_mctrl,.stop—奠=s3c24xx—Se—al—stop--tx,.stantx=s3c24xx—芦erial—start_tx,.stop_lx=s3c24xx_.沁rial—stop一Ⅸ,.enable—ms=s3c24xx_Serial-enabltms,.breal(--ctl=s3c24xX_seriaI—breal(_ctl,.startup=s3c24xx—seriaI—startup,.shutdoⅥ,n=s3c24x)(_serial—shutdown,.seLte丌nios=s3c24xx—seriaI—seLtermios,.type=s3c34xx—.Serial-type,.reIeaS叫on=s3c24xx_SeriaI—releaSe-pon,.request-port=s3c24xx—-Serial—.I.equest_port,.con69—port=s3c24xx—Serial—conng—port,.Verif-y—port=s3c24xx—serial—Verif.),-pon,}; 第四章远程智能通信终端软f,l:设计494.3.3驱动程序的技术实现设备驱动程序被静态编译到内核中的情况:moduIeinit()指示内核在启动过程中运行设备的初始化函数,如spiocinit()函数。驱动程序的加载随内核的启动一起完成。静态编译的内核模块不能被动态卸载,只有到系统关闭时由内核执行相应的卸载函数,如spiocexit()。嵌入式操作系统一般使用静态内核模块以减少系统的尺寸和复杂性。设备驱动程序被动态加载到内核中的情况:首先,驱动程序需要被编译成目标文件,如spioc.o。在操作系统运行之后,使用insmod命令将驱动程序模块动态加载到内核中$insmodspioc.o使用insmod命令动态加载的内核模块可以使用mmod命令动态地从内核中卸载$肌modspioc.o使用内核的动态模块加载/卸载功能需要内核支持kmod功能。驱动程序的加载流程图4.8。图4.8驱动程序的加载流程图4.4本章小结本章主要论述了系统的软件平台的搭建过程,包括交叉编译环境的搭建、操作系统的移植等,完成了基于嵌入式LinuX的软件体系设计,通信接口驱动程序的设计和优化。 50基丁GPRS的远程智能通讯终端设计 第五章远程通信应用软件设计本设计是基于ARM模块和GPRS模块的实现相互通信的无线数据传输系统,系统通过建立主线程、键盘控制线程和读GPRS模块数据的线程等3个线程并使其相互协调运行实现语音通信、短信收发、TCP/IP数据传输等业务,涉及短信协议的传输层中各个功能的具体分析和实现。5.1基于GPRS的通信程序设计5.1.1信息收发的理论依据假设要在同一信道传输Ⅳ路信号,不防记为石(,),石(,),⋯,^(,)。那么,取一组归一化的正交函数组q(,),c:(,),⋯,%(,),,∈[,l,,:】,即满足条件f2q(,)巳(,)斫={:);三乡(L/=,,2,⋯,Ⅳ)(5-·)首先在信号发送端,对于Ⅳ个信号石(,),石(,),⋯,^(,)进行采样,采样值分别是石,五,⋯,^。将c。(,),c:(,),⋯,%(,),,∈[,1,,:】作为分路用的副载波信号(分离信号),分别将Ⅳ路信号的采样值对副载波进行调制,其调制关系一般为信号的相乘关系,即‘(,)=Z·q(,)=,q(,),f=1,2,⋯,Ⅳ(5·2)然后在发送端将这Ⅳ个已调信号叠加(复合)起来,得到综合的多路信号s(,)=∑‘(,)=∑托(,)(5-3)叠加起来的多路信号s(,)经过同一信道传输至接收端,在不计信道噪声、传输失真及信道归一化的情况下,信道输出端的信号形式仍然是式(5.3)所表示的多路信号,需要利用信号分离器,在数学上一般用分离算子来描述。如果用分离算子见{·)表示第所个(朋=1,2,⋯,Ⅳ)通道从多路信号s(,)中分离出厶的泛函功能,则应满足:N见{s(,)}=∑,巳(,)=∑,D卅{q(,)},=I,=1.Ⅳ=厶D卅h(,))+∑,见{q(,))=厶(5-4) 基丁GPRS的远程智能通讯终端设计就是说,分离算子见{·)与分离信号q(,)应满足下关系式:IO,≠所以{cJ(,))={..(5—5)Ilf=m显然,要实现下式运算见{s(,))=厶(5-6)分离信号集合中的各个信号必须相互线性无关,即仅当,(f-1,2,⋯,JV)全为零时,才有s(,)=0;只要有任一个,不为零,则s(,)≠0。因此,能够实现信号完全分离的充要条件是,只要某个或某些,不为零,就恒有s(,)=∑‘(f)=∑Z·q(,)≠o(5—7)这个条件从物理意义上讲也是十分清楚的,那就是多路信号在信道中叠加在一起时,不应该发生相互抵消(使信道无输出)的情况【28’291。或者说,只要有一路或几路信息信号存在,则多路已调信号就存在,就可以在接收端将多路信号分离出来。由于所取的分离信号集c。(,),c2(,)'⋯,%(,),,∈[,l,,:】是一组归一化的正交函数组,它显然是线性无关的,因此满足上述条件。此时分离算子可具有如下形式。见㈨))=』:2s(,)气(,)出=厶』:2‘出+霎,』:2q(,)%(,)加=厶(5-8)就是说,为了从多路信号s(,)中分离出第所(所=l,2,⋯,Ⅳ)路信号厶,则首先用函数气(,)与s(,)相乘,然后再进行积分运算,就可以完成信号的分离,即见㈨))=』:2l∑,q(外。(啪’L,=lJ这就是多路信号的正交分割原理。在正交分割的条件下,分离算子也可取点积积分的形式,这在工程上易于实现,而且电路简单。从上述过程可以看出,用归一化J下交函数组q(,)'c:(,)'⋯,“(,),,∈[O,1】作为分离信号集,它的好处在于,在发送端的分离信号发生器与接收端的分离信号集合产生器可以使用同一电路,这样就能使设备简单化。52 第五章远程通信戍.}{』软1i,l:设计5.1.2ATCommand命令分析与应用SMS是在两个或多个GPRS模块之问传输信息时使用的一种通信方式,两个或多个GPRS模块之问是无法直接建立通信链路协议的,使用SMS技术可以实现监测终端通过GSM网络直接向维护人员发送信息GSMAT命令集是有欧洲通信标准协会ETSl制定的一套用于控制移动电话等移动设备的命令集规范,使用该命令集规范可以通过适当的移动设备进行短信发送。GSMAT命令集采用问答形式进行交互,命令形式类似于标准的调制解调器AT命令。通过GSMAT命令集发送短消息的网络结构如图5.1130JAT命令ME控制图5.1短消息的网络结构其中,终端设备通过通用的AT命令集与终端适配器交互,TE负责人机接口,在TE基础上可构建复杂的应用流程,终端适配器再通过特定移动设备的控制命令和状态信息完成与移动设备的交互,移动设备最终完成与移动通信网络的信息交互。AT即Attention,一般指专门用来控制调制解调的指令集,是从TE(TeminaIEquipment,终端设备)或DTE(DataCircuitTenninalEquipment,数据电路终端设备)发送的指令。该指令最初由美国Hayes公司推出,专门用于数据传输通信领域,目前已经成为全球通用的标准,任何与Hayes兼容的调制解调器都可使用这些指令,MC55也属于无线调制解调器的范畴,提供了标准的AT指令集并扩展了和Intemet应用相关的指令集,用于对模块的控制【3l】。AT指令分为三部分,开头部分为“AT”或者“at”,主体部分山指令、参数和可用到的参数值组成,结尾部分为。AT命令一般返回格式为“”样式的信息。一般在文档中省略了。在MC55AT命令集中根据命令名称可简单分为:标准命令集、GSM标准扩展AT命令、自定义扩展的AT命令。命令格式如下:①“ATxx”及少量“Ar+xxx”为V25标准命令集; PID(ProtocolIdentmer):协议指标标志,一般为00。DCS(DataCodingScheme):数据编码方案,发送中文时此域设为08,只发送英文则为00。 第五章远程通信应J}J软什设计节。VP(ValidityPeriod):有效期限,设为oo表示5分钟。UDL(UserDataLength):用户数据长度,按字节计算,1个中文字符占两个字UD(UserData):用户数据域,采用Unicode编码。5.1.3系统应用程序设计1.主函数主函数首先通过对输入参数的检查,完成对ARM9模块串口波特率的设置,同时对串口通信其他的一些属性进行设置,从而保证ARM9模块和GPRS模块正确地通信。然后完成键盘控制线程和读GPRS模块数据线程的建立,此过程需要嵌入式Linux操作系统的库函数的支持。最后主函数(主线程)处于等待外部巾断请求的死循环中.。主函数的流程如图5.2。移.2.键盘控制线程函数函数入口工设置串口通信时的波特牢系统初始化创建键盘控制线程创建读GPRS模块返回信息的线程系统循环等待≮岁夕,五习!竺图5.2主函数流程图 基于GPRS的远程智能通讯终端设计键盘操作是用户和该无线通信系统的交互接口,用户首先对系统所提供的各种服务菜单进行选择,然后系统根据用户的选择向用户提供各种无线数据传输服务和对GPRS模块性能的设置。该键盘控制函数首先进行键盘初始化,然后打印出系统向用户提供各种服务的菜单,并等待用户的选择。然后根据用户的选择进行判断,并调用相应的函数提供用户所要求的无线数据传输服务,例如用户选择系统菜单【1】,则键盘控制函数根据选择来调用相应的打电话函数来提供语音数据传输的服务。同时键盘控制函数根据用户的选择还可以提供接电话、发短信、收短信、查看短信、TCP/IP数据传输以及等待无线通信等数据服务。等系统提供完相应的服务后,该函数重新打印出系统数据服务菜单,等用户新的输入,该线程处于一个死循环中为用户提供多种无线数据传输服务。键盘控制模块流程如图5.3所示:图5.3键{{!;c控制模块流样图56 第五章远程通信应用软件设计3.GPRS所提供的各种无线数据传输服务的实现函数GPRS模块函数包括GPRS模块的初始化、GPRS打电话模块服务函数、GPRS接电话模块服务函数、GPRS发送短信模块服务函数、GPRS查看电话本记录函数和GPRS的TCP/IP网络连接函数等。5.1.4通信软件可靠性设计GPRS通信模块担负着终端与主站之问的通信,通信中断时主站对终端进行远程监控,因此,除了采用常规可靠性设计技术之外,在GPRS通信模块的设计过程中采取了进一步确保其稳定性和可靠性的设计方法。(1)假连接处理。GPRS模块在线但长时间无数据传输时,有可能被GPRS网络踢掉,大多数GPRS模块都不能在短时间内检测到自身已经掉线,这种现缘称为假连接。MC55也会发生实际连接已断,但TCP状态字扔显示为已连接的现象,这种情况不能被发送至主站。为确保永久在线,终端每隔3min(时间可设定)向主站发送心跳帧,当主站确认终端在线时,发送心跳确认帧。如果终端连续3次没有收到主站的心跳确认信息,即作掉线处理,重新启动连接。(2)串口接收超时处理。为防止程序跑飞或进入死循环,使用软件看门狗检测串口数据接收。设定串口接收数据的最大问隔时问,在这个时问内串口上没有接收到任何数据,进行复位操作。将MC55模块断电关机再重新了『=机,以保证程序的可靠运行。(3)死机现象处理。GPRS模块在工作过程中,有时会出现死机现象,对微处理器发送的指令不予响应。这种情况在实际运用中很难判断,遇到这种情况时,以一个经验方式作为判断依据采取相应措施。如果长时间没有数据传送,则以软件方式对模块进行复位操作,确保系统的正常通信,防止终端在系统中丢失。5.2可视化图形界面设计图形用户接口(GUI)是指计算机与其使用者之间的对话接口,是计算机系统的重要组成部分。由于GUI的直观、简洁等特点是得它成为软件设计中一个必不可少的部分。同样,在嵌入式系统中,GUI也越来越流行,比如手机,PDA都需要GUI的支持。但是嵌入式GUI和通常PC机上使用的GUI又不太一样。由于嵌入式系统硬件本身资源有限,嵌入式系统对GUI的要求更高,一般要求嵌入式GUI具备以下特点:体积小:运行时占用系统资源小;上层接口与硬件无关,高度可移植与可裁减性;高可靠性:在某些应用场合应具备实时性等。MiniGUI是一款面向嵌入式系统的高级窗口系统和图形用户界面支持系统,是一个定位于轻量级的嵌入式图形库,对系统资源的需求完全考虑到了嵌入式设备的硬件情况,具有 基丁GPRS的远程智能通讯终端设计良好的体系结构及优化的图形接口,可确保最快的图形绘制速度。l、程序的入口点MiniGUI程序的入口点为MiniGUIMain,该函数原型如下:IntMiniGUIMain(inta唱c,char宰aLrgV[】)Main函数在MiniGUI的函数库中已经定义了,此函数在一些MiniGUI的初始化工作之后调用MiniGUIMain函数。每个MiniGUI应用程序的入口点都为MiniGUIMain函数。参数argc和argv与C程序main函数的参数argc和argv的含义是一样的,分别为命令行参数个数和参数字符串数组指针。程序流程图(5_4)如下134,36】:5.4图形界面程序流程图根据MiniGUI编程流程,首先创建终端收发界面主窗口,其中对话框是一类特殊的主窗口,这类窗口关注与用户的交互。在主窗口DLGTEMPLATE创建的基础上,通过结构CTRLDAlA控制模板,用于对话框的控制定义。2、MiniGUI.Processes模式加入层拌ifdefMGRMPROCESSES‘JoinLayer(NAME-DEF-LAYER,““0,O);JoinLayer是MiniGUi.Processes模式的专有函数,因此包含在一MGRM—PROCESSES的条件编译中。在MiniGUi—Processe运行模式下,每个客户端在调用其他MiniGUI函数之问必须调用该函数将自己添加到一个0建和显示窗口nWnd=CreateMainWindow(&CreateInfo);58扫自亘至匦匡 第五章远程通信应J}J软什设计59每个MiniGUI应用程序的初始化界面一般都是一个窗口,可以通过调用CreateMainWindows函数来创建一个主窗口,其参数是一个指向MA烈W烈CREATE结构的指针。4、MiniGUi的消息实现过程MiniGUl是一个基于事件驱动的图形用户界面支持系统,所以每一个MiniGUI应用程序都包含有一个主事件循环,它不停地、反复地监测是否有用户事件发生。当用户进行窗口操作时,这些动作就会触发一个相应的“事件”,而应用程序把这些事件交由该窗口相关联的窗口过程函数来处理。事件是通过消息机制来实现传递的,当事件产生时,MiniGUI将事件转化为一个消息,并将消息发送到MiniGUI应用程序的消息队列之中。在MiniGUI应用程序中,创建和现实窗口之后的任务就是处理信息,所以需要建立一个消息循环,从应用程序的消息队列中取检索消息,并将每一条消息发送到相应的窗口过程函数中。消息循环的一般形式如:While(GetMessage(&Msg,hMainWnd)){‘TransIateMessage(&Msg);DispatchMessage(&Msg);}5.3模拟运行与测试模拟运行与测试采用了一个简单的对话框显示程序进行演示。由于LCD显示屏幕为320宰240,采用256色显示,所显示的界面采用移植过来的MiniGUI图像界面的函数绘制而成。测试过程为:程序编译后,首先启动服务器,然后运行客户端,此时会出现如图1所示的登录界面,幽5.5控制台登陆界面 基.丁.GPRS的远程智能通讯终端设计图5.6与控制台建立连接界面图5.7控制信息发送界面双击其中某一个控制台时,就可与其发送消息。图5.3即为双击控制台一后出现的对话框,这样王芳就可以与刘英之问进行消息的传递。当控制台列表中的某个退出之后,会向服务器发送消息,服务器会通知其它的用户下线。5.4本章小结本章详细设计了数据收发软件、控制软件等,涉及到主函数线程、键盘控制模块线程、GPRS模块线程等三个主要线程,还提出了软件设计的优化方法,最后设计了系统的图形控制界面。 第六章结论与展望6l本文主要从嵌入式系统和GPRS无线通信网络入手,对基于GPRS的远程智能终端进行了分析与设计。结果证明,这种新型体系结构的智能通信终端的性能稳定,它将为智能终端技术的进一步发展提供一定的参考价值。论文的主要研究工作有以下几方面:1、研究了信息传输的理论,分析了GPRS技术的实现机制。对GPRS网络传输数据进行了理论和实验分析。2、采用了广泛应用的嵌入式系统作为设计平台,研究了ARM体系结构的嵌入式系统架构。3、对嵌入式开发平台进行了系统移植,根据系统实时性的要求裁剪了Linux内核,研究并设计了串口的驱动程序。4、研究了GPRS通信模块MC55,设计了模块的外围接口电路,对电路的各项性能进行了评估与测试。5、在设计好的硬件平台的基础上和建立好的软件环境上,设计了无线智能通讯终端的应用程序。6、设计了系统的图形界面,从而更加方便的对终端进行操作。本文研究设计的远程智能通信终端基本上完成了阶段性设计目标,由于能力和时间有限,本设计还有很多需要完善的工作。在本文的研究基础上,还应在下面几个方面做进一步的研究:l、对嵌入式Linux操作系统的研究。Linu)(操作系统是开源的操作系统,系统复杂。远程智能终端使用此操作系统不仅能够使功能更加完善,更有效地对系统进行管理,所以有必要对Linux操作系统在嵌入式方面的应用进行深入的研究。2、无线分组技术的固有特性产生了潜在的转接时延问题。GPRS的传输时延根网络容量、数据处理、数据处理能力以及网络的拥塞程度密切相关,为了在实际应用中减少时延,应该对传送的数据进行压缩处理。3、本文未涉及数据安全性问题,有待进一步研究。●1、1 2基于GPRS的远程智能通讯终端设计62 致谢63本论文的选题,课题的研究以及论文撰写在我的导师宣荣喜教授的悉心指导下完成。在论文脱稿之际,首先对我的导师表示最衷心的感谢。在这近三年的硕士研究生学习期间,宣老师不仅在课题上不辞艰辛的支持和给予我指导与帮助,而且在同常生活中也给予了莫大的关怀。他严谨踏实的治学和研究态度,以及孜孜不倦的待人处事品格更是我今后最宝贵的精神财富。感谢我的同窗同学,在读研期问我们相互学习与进步,共同度过了快乐和有意义的三年生活,对于各位同学和朋友在研究过程中所给予的支持与帮助表示由衷的谢意。感谢我的亲人们在我的学习和生活中所给予的关怀与安慰,感谢他们的一路支持,没有他们,我也不能够顺利的完成学业。感谢所有支持我的人和所有在我遇到困难的时候伸出援助之手的同窗好友!最后,感谢母校对我多年来的悉心栽培,她为我的学习与研究提供了许多宝贵的资源与帮助!非常感谢所有老师与领导的支持!我会好好努力! 基丁GPRS的远程智能通讯终端设计 参考文献65【1】王田苗.嵌入式系统设计与实例丌发.北京:清华大学出版社,2005.15.35【2]摩托罗拉工程学院.GPRS网络技术.北京:电子工业出版社,2005.61—65[3】张春荣,范寒柏.基于GPRS远程脏控数据终端的研究[J】.现代电子技术,2006.110.112【4】黄承安,张跃.微控制器的GPRS无线上网【J】.单片机与嵌入式系统应用,2003,(12):19—22【5】杨恒.ARM嵌入式系统设计及实践.西安:西安电子科技大学出版社,2005.123.165。【6】管耀武,杨宗德.ARM嵌入式无线通讯系统丌发实例精讲.北京:电子工业出版社,2006.221.224。【7】【美】AndrewN.Sloss,【英】DominicSymes.ARMSystemDeveloper’s【8】【9】【10]【1l】【12】3】4】5】6】7】8】9】【20】【2l】Guide:DesigningandOptimizingSystemSoftw2ure.北京:北京航空航天大学出版社,2005.5.10S3C241OA32.BITRISCMICROPRCESSORUSER’SMANUAL.SAMSUNGELECTRONICS,2008.17—4lDavidSeal.ARMArchitectureReferenceManual.SecondEdition.PearsonEducationLimited(Addsion—Wesley),2005.45-l03HY57V56l620B(L/S)T4Bankx4Mx16BitSynctlrIonousDr锄.Hynix李佳.ARM系列处理器应用技术完全手册[M】.北京:人民邮电出版社,2006.20·65黄涛,白创,徐靖.嵌入式无线互联系统丌发.北京:中国电力出版社,2007.94.103MC55HardwareInterfaceDesc^ption,Version03.03【Z】.Siemens2004SIMlOODataLSheet【Z】.SIM有限公司,2004M22Datasheet,ReV.0.2【Z】.BenQ,AUG/05/2004GR47/GR48TechnicalDescription【Z】.SonyEricsson,2004G20CelluIarEngineModuleDescription【Z】.Motorola’2005张蓬,等.ProtelDXP电路设计入门与应用【M】.北京:机械工业出版社,2005陶伟,DSP嵌入式无线通信系统开发实例精讲【M】.北京:电子工业出版社,2009,ppl70-182KaVehPahlaVan,PraShantK—shn锄unhy.PrinciplesofwirelessNetworks【M]。北京:清华大学出版社,2002.33.63覃朝东.嵌入式系统设计从入门到精通【M】.北京:北京航空航天大学出版社, 基丁GPRS的远程智能通讯终端设计2009.189-1982】胡满玲.基于GPRS和嵌入式Linux系统的无线通信系统【D】.长春理工大学,20023】韦东山.嵌入式Linux应用丌发[M】.北京:人民邮电出版社,2008.245.3524】商赋.Linux设备驱动开发入门与编程实践【M】.北京:电子工业出版社,2009.73.845】DanielP.BoVet,MarcoCesati.UnderstangingTheLinuxKemel【M】.O’Reilly,2006.62.726]JonathanCorbet,AIessandroRubini,Gregl”Void幸keycontrol() p—ntR“\n’’);研ntf【‘\n【1]giVeacall’’);print坟‘‘\n[2】respondacalI’’);printfi[“\n【3】holdacall”);砸ntf(“\n【4】、们teamessage’’);州nt坟“\n【5】sendamessage’’);州ntf【“\n【6】receiVeamessage’’);州ntf(“\n[7】deIeleamessage’’);printf(“\n【8】readamessage’’);print坟“\Il[9】checkSIMcard”);print坟‘。\n[10】findphonenumber’’);printf(‘‘\n[11】saVephonenumber,’);print坟“\n【13】delectphonenumber,’);print坟“_\n【l4】TCPconnection’’):p订ntf(‘\n【15】UDPconnection’’):print坟“\n【l6】helpmenu”);print坟sheIl—s)mush(stdout);i坟stmcmp(“1”,cmd,1)==0){print坟‰youselecttogiVeacaH,pleaSeinputnumber:',);用ush(stdout);get—number(cmd);gprsI-caIl(cmd,strIen(cmd));print坟“、ncalling⋯⋯.’’);)elsei坟stmcp(“2”,cmd,1)==0){gprs—ans、Ver();p^nt足“\nanswering⋯..’');)elsei坟stmcmp(‘‘3”,cmd,1)==0){gprLhold();print坟“\nhoIding⋯..’,);}elsei坟stmcmp(‘‘4”,cmd,1)==0){ 70基于GPRS的远程智能通讯终端设计charcmdl【256】={O);p—ntf(‘\nyouselecttowriteamessage,pleaseinputphonenumberyouwillsendthemessageto:”);mush(stdouD;get_J1umbe“cmd);gprS_write—message(cmd,strlen(cmd),cmdl,strle(cmd1));print坟“\nmessagewTitingOK⋯”);3、GPRS提供的无线数据传输程序voidgprsjnt(){inti;for(i=0;i<5;i++){tty一、Vritecmd(cmd[i】,strlen(cmd[i】));VoidgprsI..call(char幸number,intnum)command一、V—te(“atd",strlen(“atd"))command_、Vrite(“:V’,strlen(“:V’));usleep(200000);VoidgpS_—answer()command—州te(‘at,’,strlen(“ata,’);VoidgprLwrite-_message(char幸number'intnum);command—州tecmd(“at,’,strlen(“at”));command—州tecmd(“at",strlen(“at’,));command一、Vritecmd(“at+cmgf=l”,strlen(“at+cscs。gsm”));command一、Vritecmd(“at+cmg、V=,',strlen(“at+cmg、V=,,));commandwritecmd(mumber'num));command、州te(numberl,num1); 附录7lVoidgprs—send—message(char木number,intnum){carcmd【256】_{O,);if(stmcp(“1”,number,1)2=O){printfj[“\nyouselecttosenfanewmessage,pleaSeinputphonenumber:”)mush(stdout);get—number(cmd);command_Mitecmd(“at”,strlen(“at”));command.-Witecmd(“at+cmg=1’’,strlen(“at+cmgs=1”));commandj、Vrite(“at+cmgs2”,strlen(“at+cmgs2”));command—州te(ctl,1);usleep(300000);)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭