基于ARM的GPRS无线数据终端设计 精品Word文件下载.docx
《基于ARM的GPRS无线数据终端设计 精品Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于ARM的GPRS无线数据终端设计 精品Word文件下载.docx(29页珍藏版)》请在冰豆网上搜索。
![基于ARM的GPRS无线数据终端设计 精品Word文件下载.docx](https://file1.bdocx.com/fileroot1/2023-1/21/bcfac2e1-9938-4407-86e4-e080bb1de13b/bcfac2e1-9938-4407-86e4-e080bb1de13b1.gif)
WiththedevelopmentofembeddedsystemsandGPRSwirelessnetwork,GPRSwirelessdataterminalshasbroughtabetterwayoftransmissionforlong-rangedatatransmissioninindustrialproduction,gettingridofthelimitationsofwireddatatransmission,savingsignificantlyinthelatermaintenancecosts,reducingcostsandmeetingthegrowingindustrialdemand.TheresearchoftheGPRSwirelessdataterminalhasbroadmeaningsandgoodbusinessprospects.
ThepapermainlydesignsandimplementstheGPRSwirelessdataterminalbasedonARM.ThesystemdependingonARM7familymicroprocessorcancontrolwirelessdatamodulewithacompleteTCP/IPprotocolstackthroughATcommands.Makeananalysisofthedesignprocessoftheembeddedsystemforwirelessdatatransmission,combinedwithGPRScommunicationnetworkcharacteristicsandgiveaspecificsystemimplementationincluding:
thehardwareandsoftwaredesignprocess,developmentpointsandtheimplementationprocess.
Thedesigniscompletedforseveralmonths,implementingvariousfunctionsofthewirelessdataterminal.
Keywords:
GPRS;
Embedded;
ARM;
ATcommand;
TCP/IPprotocol
1绪论
1.1研究背景
计算机与通信技术的不断发展,极大地促进了工业领域及其它领域的自动化和信息化的发展。
以前在工业领域大多采用由单片机构成的数据处理系统和PC机通过串行口构成的微机系统,主要是针对于生产过程分布范围不大、相距不远的场合,这些系统大多采用RS-232,RS-485或有线MODEM的通信方式,虽然经济实用,但是采用有线的数据传输方式,在很大程度上限制了应用场合的拓展。
随着企业生产规模不断扩大,不同的生产部门可能在地域上分布极广,相距遥远,如电力、铁路、采矿和石油等,这些部门要对相距遥远的生产过程进行数据传输,如果还是沿用有线的传输方式,则在技术上和经济上都是不足取的。
所以采用无线的方式来进行数据传输的需求就日益突出了。
在通信领域中,移动通信(GPRS)网则是这个领域中发展最积极最活跃最快的分支之一。
GPRS(GeneralPacketRadioService)即通用分组无线业务,是在现有GSM网络上开通的一种新型的数据传输技术,GPRS采用分组交换方式,仅在实际传送和接收数据时才占用无线资源。
GPRS理论上可提供高达171.2kb/s的传输速率。
除了速度上的优势外,GPRS还有“永远在线"
的特点,即用户可随时与网络保持联系。
另外分组交换接入时间的缩短,能提供快速即时的连接,可大幅度提高一些事务的效率。
利用现有的GPRS网络资源,发挥网络覆盖率高、永远在线等优势,为现有数据传输系统提供一种便捷的无线传输方式。
嵌入式系统是一门交叉学科,其支柱学科包括微电子学科、计算机学科、电子技术学科和对象学科。
微电子学科是嵌入式系统发展的基础,对象学科是嵌入式系统应用的归属学科,计算机与电子技术学科是嵌入式系统技术发展的重要保证。
美国著名未来学家尼葛洛庞帝在2001年访华时曾预言,4.5年后,嵌入式智能电脑将是继PC和Internet之后的最伟大发明。
的确,在当今社会中,嵌入式系统已经广泛应用于信息家电、移动通讯、手持通信终端、仪器仪表、航空航天以及工业控制等领域,为人们工作和生活带来了极大的便利,是当前研究最为热门的领域之一。
嵌入式系统被定义为:
以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成。
嵌入式系统以其本身体积小,实时性高,稳定性好,支持以太网等优点,成为工控领域的新热点。
如何利用嵌入式系统实现无线终端,并通过GPRS无线网络进行数据传输是一个具有实用意义的研究。
本课题源自莱芜一家科技公司,要求设计并实现适用于工业场合的GPRS无线数据终端设计。
该终端作为数据传输终端的载体,有广阔的市场和良好的商业前景。
1.2通讯方式的现状
随着电子、计算机及信息科学技术的发展,通信系统的发展也非常迅速,目前,数据传输中主要的通信方式有以下几种:
(1)电话拨号(电话线,专线)
电话拨号主要有利用电话线通信和架设专线通信两种方式。
电话线:
就是利用现有的公用电话网为依托,采用调制解调器和公用电话网的交换机系统,在两个通信实体之间建立起通信通道。
专线方式:
通信的网络适合于传输数据量不大、实时性要求不高的场合。
(2)光纤通信(ADSL)
从现场运行情况来看,利用光纤通信时数据比较稳定,抗干扰能力强。
这种方式在初期投资时较大,但随着光通信设备的价格不断下降,这种方式有可能成为比较实用的现场通信方式。
(3)基于GSM的短消息数据传输
GSM除语音业务外,另有基于短消息数据传输业务。
短消息限制每次传送文本字符不超过160个,传送给移动台的短消息在用户识别模块(SIM)上存储。
与话音的传输建立和释放过程不同,在GSM系统中,短消息是唯一一种不需要建立端到端的业务通道。
由于具备这个特点,即使移动台己处于电路通信状态,还能同时实现短信息业务。
(4)基于GPRS的分组数据传输
通用分组无线业务,是一种新的GSM数据传输服务,它将数据以数据包的形式在PLMN(公众陆地移动电话网)内或其他连接到PLMN的外部网络间传输。
主要针对突发性数据分组传送的一种新业务,与短消息业务类似,提供两类业务点到点业务和点到多点业务。
多个GPRS用户可以共享一个无线信道,而一个移动用户也可以同时利用多个信道,因而GPRS用户的实际通信速率非常灵活,可以低于l00kbps,也可以高于100kbps。
在实际的远程数据传输的通信中,如交通管理、电力系统、无线抄表等,可以采用GSM短消息、光纤接入等方式。
GSM短消息方式可以实现主动上报;
缺点是按条收费,运行费用高,而且在节假日短消息中心服务器繁忙时延时相当长。
光纤通信稳定可靠,但是施工成本投入大、扩展性差、设备维护方面不方便。
而GPRS通信则避免了以上问题。
1.3研究具体任务和目的
GPRS无线数据传输系统包括以下几部分:
(1)数据采集单元
由8/16位单片机功能电路承担,完成数据采集(针对不同的应用场合,采集的数据有所不同),一般通过RS232/485接口向下位机提供数据。
(2)下位机
主要负责监测并接收数据采集单元提供的数据,经过处理,通过加密隧道向上位机传输数据;
同时接收上位机下发命令,控制数据采集单元。
应智能化需求,该功能单元由32位微控制器承担。
这是该系统控制功能的核心单元。
(3)加密隧道或透明传输
数据传输的通道。
传统为有线方式,对GPRS无线数据传输系统而言,则是GPRS无线传输隧道。
加密是为了保证数据安全,不加密时为透明传输。
(4)上位机
由PC承担,负责完成数据分析、处理、打印等工作;
同时实现远程控制下位机完成指定任务。
该功能模块由通用计算机系统来完成,可以不归结为嵌入式系统的范畴。
本文关注的是下位机无线数据传输功能模块的实现。
通过GPRS网络登录已知公网IP,建立网络连接实现数据无线透明传输。
2系统总体方案设计
2.1系统功能要求
GPRS无线数据终端功能有:
系统可以在7V-40V宽电压范围供电,也可5V供电;
具有232、485两种通信接口;
系统上电初始能够通过串口对IP地址、网络端口号等登陆参数进行配置且掉电参数非易失;
自动登陆网络建立TCP连接;
能够对下行数据进行解析处理完成数据的透明传输;
支持心跳包发送,保持永久在线。
2.2系统组成
根据系统功能要求系统大体分为五部分:
电源部分、存储部分、串口通信部分、系统主控部分、无线通信部分。
电源部分为各功能模块部分提供电源支持,主控部分与存储部分为主从模式,存储主要的参数和相关数据。
通过串口通信部分完成参数配置和下位机数据交换的任务。
主控部分完成数据的接受、发送、校验、解析等处理,通过和无线模块的通信完成数据的无线透明传输。
系统框图如图3.1所示。
2.3系统主要器件选型
因为GPRS无线数据终端应用于工业场合,所以对系统中用到的器件提出了比较苛刻的要求。
由于工业环境一般比较恶劣,噪声较多,对温度范围要求较宽,要使无线数据终端能够在工业现场稳定可靠的运行,所选器件必须考虑上述要求。
2.2.1主控器件的选择
作为系统控制核心的微控制器应该选择工业级器件,同时要具有低成本、高可靠、灵活的扩展接口等特点。
如今,ARM微处理器及技术的应用几乎已经深入到各个领域。
采用ARM技术的微处理器现在已经遍及各类电子产品、汽车、消费娱乐和无线等市场,尤其是工业控制领域。
从应用的广泛度考虑,硬件平台的核心选择采用ARM微处理器/微控制器系列。
这样,不仅可以获得良好的技术支持,降低研发风险,而且可以缩短上市时间,增强产品竞争力。
本文选择了NXP公司的LPC2132作为系统的主控芯片。
NXP公司的ARM内核主控芯片在业界是非常出色地。
LPC2132是基于一个支持实时仿真和嵌入式跟踪的32/16位ARM7TDMI-STMCPU的微控制器,并带有64kB的高速Flash存储器。
128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。
对代码规模有严格控制的应用可使用16位Thumb模式将代码规模降低超过_30%,而性能的损失却很小。
较小的封装和极低的功耗使LPC2132可理想地用于小型系统中。
宽范围的串行通信接口和片内16kB的SRAM使LPC2132非常适用于通信网关、协议转换器、软modem、声音辨别和低端成像,为它们提供巨大的缓冲区空间和强大的处理功能。
多个32位定时器、1个10位8路ADC、PWM通道和47个GPIO以及多达9个边沿或电平触发的外部中断使它们特别适用于工业控制和医疗系统。
通过片内PLL可实现最大为60MHz的CPU操作频率,PLL的稳定时间为100us。
可通过个别使能/禁止外部功能和降低外部时钟来优化功耗。
单个电源供电,含有上电复位(POR)和掉电检测(BOD)电路。
CPU操作电压范围:
3.0~3.6V(3.3V
10%),I/O口可承受5V的最大电压。
以LPC21系列单片机具有32位解决方案的固有优势,如资源丰富、采用多级流水线技术、功耗低、体积小巧、购买和开发成本低、速度可以到60MHz,有32个中断源,两个串口,具有I2C总线和SPI总线接口。
主要用于工业控制,特别是LPC2132具有两个串行通信口更加适合无线数据终端的实现。
MCS-51单片机普遍性强,应用广泛,价格便宜。
但此系列单片机字长有限,处理速度较慢,资源不够丰富,需要扩展较多的外围电路,降低了系统的可靠性。
难以满足本设计要求。
相比较而言,ARM7系列单片机更适用于无线数据终端的实现。
最后根据系统要求选择LPC2132。
2.2.2无线模块的选择
无线数据通讯模块选用中兴通讯MG2639模块,频段:
850/900/1800/1900MHz,支持语音、短信、数据功能,数据传输最高速率354kbps,待机电流约2mA,内嵌TCP/IP协议,超薄设计、体积小、低功耗,温度范围:
-30℃~+75℃。
模块提供一个完整全双工UART接口,最大速率为115200bps,对外接口为2.8VCMOS电平信号,逻辑功能符合RS-232接口协议中的规定。
这路UART串口可作为串行数据接口,通常用于AT指令、数据业务、升级模块软件等。
MG2639模块基带处理器集成了符合ISO7816-3标准的SIM卡接口,MG2639模块支持1.8V或3V的SIM卡。
中兴通讯拥有雄厚的技术实力,可为CDMA/GPRS等通讯模块客户提供全方位的技术支持,为以后产品升级维护提供强有力的技术支持和保障。
综合考虑,在实现相同功能的情况下,这款模块性价比高是系统的最佳选择。
2.3软硬件开发工具选择
对于嵌入式ARM的开发,通常有两种编译环境ADS和KEIL,本系统是在KeiluVision4的软件编译环境下进行的。
ARM微处理器的传统开发工具是ADS,ADS(ARMDeveloperSuite)是在1993年由Metrowerks公司开发的,是ARM处理器下最主要的开发工具。
ADS是全套的实时开发软件工具,包编译器生成的代码密度和执行速度优异。
可快速低价地创建ARM结构应用。
ADS对汇编、C/C++、java支持的均很好,是目前最成熟的ARM开发工具。
很多ARM开发软件(例如Keil)也是借用的ADS的编译器。
但是ADS界面不够友好,项目管理和系统设置比较复杂,不易学习。
KeilμVision4于2009年2月发布,KeilμVision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上对窗口表面任何位置的完全控制。
新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。
新版本支持更多最新的ARM芯片,还添加了一些其他新功能。
2011年3月ARM公司发布最新集成开发环境RealViewMDK开发工具中集成了最新版本的KeiluVision4,其编译器、调试工具实现与ARM器件的最完美匹配。
2.4系统语言与模块化结构
2.4.1AT指令集
AT即Attention,AT指令集是从终端设备(TerminalEquipment,TE)或数据终端设备向终端适配器(TerminalAdapter,TA)或数据电路终端设备发送的。
通过TA,TE发送AT指令来控制移动台的功能,与GSM网络业务进行交互。
用户可以通过AT指令进行呼叫、短信、电话本、数据业务、传真等方面的控制。
90年代初,AT指令仅被用于Modem操作。
没有控制移动电话文本消息的先例,只开发了一种叫SMSBlockMode的协议,通过终端设备(TE)或电脑来完全控制SMS。
几年后,主要的移动电话生产厂商诺基亚、爱立信、摩托罗拉和HP共同为GSM研制了一整套AT指令,包括对SMS的控制。
AT指令在此基础上演化并被加入GSM07.05标准以及现在的GSM07.07标准。
SMS的控制共有3种实现途径:
最初的BlockMode;
基于AT指令的TextMode;
基于AT指令的PDUMode。
到现在PDUMode已经取代BlockMode,后者逐渐淡出。
GSM模块与计算机之间的通信协议是一些AT指令集,AT指令是以AT作首,字符结束的字符串,AT指令的响应数据包在每个指令执行成功与否都有相应的返回。
其他的一些非预期的信息(如有人拨号进来、线路无信号等),模块将有对应的一些信息提示,接收端可做相应的处理。
中兴通讯MG2639模块有自己丰富的AT指令集本,本文用到的基本指令有:
AT、ATE0、AT+ZPNUM="
CMNET"
"
"
(设置APN指令)、AT+ZPPPOPEN(激活APN指令)、AT+ZIPSETUP=1,60.208.26.237,3030(建立TCP网络连接指令)、AT+ZIPSEND=1,10(发送数据指令)。
2.4.2C语言程序模块化设计
不同于一般形式的软件编程,嵌入式系统编程建立在特定的硬件平台上,势必要求其编程语言具备较强的硬件直接操作能力。
无疑,汇编语言具备这样的特质。
但是,由于汇编语言开发的复杂性,它并不是嵌入式系统开发的一般选择。
而与之相比,C语言一种"
高级的低级"
语言,则成为嵌入式系统开发的最佳选择。
它既具有高级语言的特点,又具有汇编语言的特点。
而且C语言移植性好、易于模块化设计,有利于系统后期升级维护。
模块化设计,简单地说就是程序的编写不是开始就逐条录入计算机语句和指令,而是首先用主程序、子程序、子过程等框架把软件的主要结构和流程描述出来,并定义和调试好各个框架之间的输入、输出链接关系。
逐步求精的结果是得到一系列以功能块为单位的算法描述。
以功能块为单位进行程序设计,实现其求解算法的方法称为模块化。
模块化的目的是为了降低程序复杂度,使程序设计、调试和维护等操作简单化。
程序模块开发设计,有利于团队成员间的合作和分工,使嵌入式产品的开发周期变短。
提高开发效率,减少开发成本,更有利于产品的升级。
3硬件电路设计
硬件电路设计的具体设计任务:
首先分析硬件系统各部分的功能要求,选择合适的器件,完成各部分电路的设计,然后利用Protel99se进行硬件电路原理图的总体设计和PCB的设计,完成硬件设计。
3.1电源电路设计
3.1.1电源芯片选择
电源部分的设计,系统采用两种可选择电源供电方式,一种是5V的直流电源供电,另一种是电源范围在7-40V的宽电源直流供电。
工业现场的电源多为12V或24V的开关电源,而且工业现场环境恶劣,为了满足工业现场的需求,为保证系统的可靠性、稳定性,我们选用的供电模块、电源转换模块都要从性价比高、带负载能力强等方面考虑选型。
由于考虑无线数据终端的应用环境要求,经过认真考虑系统决定选用宽电压输入电压模块。
考虑到负载电流和功耗,电源芯片选用开关式,由于通信模块与微控制器所需电压不一致,故选用SP6201-3.3为LPC2132等供电电压为3.3V的芯片供电,选用为通信模块供电。
LM2576可将7-40V的直流电转换成5V直流电作为宽电压范围电源。
同时为了缩小产品的尺寸,选择的芯片封装为贴片形式。
3.1.2电源电路具体设计
在宽电源供电下,首先7-40V的直流电源进过LM2576DC-DC变换成5V直流电,然后LM2576的输出经MIC29302转换给无线模块供电,同时LM2576输出的5V直流电经芯片SP6201-3.3转换成3.3V给3.3V芯片供电。
图3.1LM2576电源转换电路
在图3.1中的电路中,LM2576输入端和输出端(MIC29302的输入端)的两个二极管IN5408为保护二极管以防电源接反损坏芯片,D3为稳压管,稳定电源输出,电感L1作用是滤波,使输出5V电压更加稳定。
图3.2模块电源电路
图3.2中VBAT为MIC29302的输出,直接给MG2639模块供电。
MG2639模块要求供电电压在3.4V-4.25V之间。
由
得
。
为满足要求R21/R1在1.92-2.6之间,故R21=2.2K、R1=1K,计算得VBAT=3.75V。
图3.33.3V电源电路
图3.3中芯片SP6201-3.3是把5V电压转换成3.3V,为3.3V器件供电,EN接高电平使能转换,RSN为低电压检测复位端。
当输出电压过低时,延时检测发出复位信号。
本系统未用此端。
C15、16为电源端去耦电容。
3.2主控外围电路
主控电路主控芯片为LPC2132,采用外部看门狗,外部看门狗芯片选择SP706。
SP706S供电电源为3.3V,系统上电后,SP706S自动产生200ms低电平复位信号,使MCU正常复位。
MCU配置一个I/O管脚为输出,并接到WDI。
如果I/O固定为HIGH或LOW电平不变,则1.6s后,SP706S内部的看门狗定时器就会溢出并使/WDO输出低电平,而/WDO已连接到手动复位/MR,因此会导致/RST管脚输出低电平复位信号使MCU重新复位。
MCU在正常工作情况下当然是不允许这样反复复位的,因此必须在程序里及时反转I/O的状态,该操作被形象地称为“喂狗”。
每次反转WDI输入状态都能够清除SP706S内部的看门狗定时器,从而确保/WDO不会输出低电平(为保证可靠,喂狗间隔应当小于1s)。
利用外部看门狗的好处是使系统更加稳定可靠,避免内部看门狗定时器限制系统功能。
晶振电路晶振选择11.0592MHZ,这样使得系统时间更加准确。
看门狗电路如图3.4
图3.4看门狗电路
主控电路部分具体电路如图3.5所示,C34、C34、晶振Y1、R14组成主控时钟电路,晶振选择11.0592MHZ频率,R14为起振电阻阻值为1MΩ。
CON2为程序下载短接端口,需下载程序时,在上电短接CON2,这样上电后LPC2132自动进入下载模式。
D9为运行指示LED。
图3.5主控电路
3.3串口通信电路
由于在工业现场大部分的串口通信接口,一般采用RS-232或RS-485接口方式,为了满足不同用户的需求,本系统设计了两种接口方式,可供用户根据自身条件自由选择。
故选用sp3232en和sp3485en作为GPRS无线终端与下位机的通信接口。
sp3232en和sp3485en供电电源均为3.3V,均为工业级芯片。
图3.6为RS-232典型串口电路,D10为数据传输指示灯。
图3.6RS-232电路
如图3.7所示,485电路中的CON2、CON3是232与485的通信接口切换接线端子,当RXD0与3485RXD短接、TXD0与3485TXD短接时,系统对外为485接口,反之为232接口。
A、B输出末端的电阻作为线路的匹配电阻,也是为了避免信号的反射影响系统性能。
UC0504A集成了四个TVS管,在A、B线路上各接一个TVS