基于嵌入式系统的GPRS数据终端的研究.doc_第1页
基于嵌入式系统的GPRS数据终端的研究.doc_第2页
基于嵌入式系统的GPRS数据终端的研究.doc_第3页
基于嵌入式系统的GPRS数据终端的研究.doc_第4页
基于嵌入式系统的GPRS数据终端的研究.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

基于嵌入式系统的GPRS数据终端的研究姓名: 陈蕊专业: 系统工程学号: s20090447基于嵌入式系统的GPRS数据终端的研究第一章 绪论随着数据无线传输需求的增加和中国移动GPRS业务的稳定运营,无线数据通信的应用场合越来越多,GPRS网络具有覆盖范围广、数据传输速度快、通信质量高、永远在线和按流量计费等优点。因此GPRS业务在远程设备监测、工业监控以及自动抄表等方面有着大量的应用需求。1.1 嵌入式系统嵌入式系统通常被描述为:以应用为中心,以计算机技术为基础,软硬件可裁减,适应应用系统对功能、可靠性、成本、体积、功耗、等综合性严格要求的专用计算机系统,简而言之,嵌入式系统是嵌入计算机技术的系统,嵌入式系统作为专用计算机系统与通用计算机相比,嵌入式系统是面向具体应用的,是在特定领域内完成特定功能的专用计算机系统;嵌入式系统中硬件配置是根据系统性能指标来选择的,嵌入式系统的资源是有限的,一般是实时系统,是高可靠的独立运行系统,一般不与人交互、独立运行,所以稳定性好、并有自动纠错能力。嵌入式系统总体上由硬件和软件组成,硬件包括处理器、存储器及外设器件和I/O端口、图形控制器等。软件部分包括操作系统软件(OS)(一般要求实时和多任务操作)和应用程序编程。目前比较有影响的32位嵌入式微处理器有ARM公司的ARM、Compaq公司的Alpha、HP公司的PA-RISC、IBM公司的PowerPC、MIPS公司的MIPS和Sun公司的Sparc等。而ARM处理器具有高性能、低功能和低成本等显著优点,已成为高性能、低功耗嵌入式微处理器的代名词,是目前32位、64位嵌入式处理器中应用最为广泛的一个系列。1.2 嵌入式操作系统嵌入式操作系统并不是简单嵌入的操作系统,它与通常意义上的操作系统有一定的区别。嵌入式操作系统负责嵌入式系统的全部软硬件资源的分配、调度工作,控制并协调并发活动,它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。与通用的操作系统相比,嵌入式操作系统具有如下一些特征:小巧、实时性、可装卸、固化代码、弱交互性、强稳定性。从20世纪80年代开始,陆续出现了一些嵌入式操作系统,比较著名的有VxWorks、Windows CE、Palm、CLinux、pSOS和C/OS-等,但由于嵌入式系统软件开发复杂度增加,和大量高性能、面向实际应用。集成多种系统功能的SOC芯片成为高端嵌入式应用的硬件核心,为可靠、高效、低成本地运行嵌入式操作系统提供了硬件平台,所以近几年比较广泛的应用。第二章 无线数据传输系统的技术方案2.1 GPRSGPRS(General Packet Radio Sercice)是通用分组无线业务的简称,是在GSM基础上发展起来的一种分组交换的数据承载和传输方式,其数据速率理论上可达到171.2Kbps。由于目前GSM移动电话用户占到了全球4.5亿移动电话用户的四成以上,因此GPRS在未来的移动数据市场中占有一定的优势。与原来的GSM比较,GPRS在数据业务的承载和支持上具有非常明显的优势:1. 通过多个GSM时隙的服用,支持的数据传输速率更高,理论峰时达171.2Kb/s。2. 不同的网络用户共享同一组GPRS信道,但只有当某一个用户需要发送或接受数据时才会占用信道资源。这样,通过多用户的业务复用,更有效地利用无线网络信道资源,特别适合突发性、频繁的销流量数据传输,很好地适应数据业务的突发性特点。3. GPRS计费方式更加灵活,可以支持按数据流量来进行计费。目前,我国移动推出的GPRS上网业务最高每千字节也只需3分钱,而且用户可以根据自己的需要,以月租、包月等多种形式进一步降低GPRS通信的资费。因此使用GPRS实现远程数据的传送是非常经济实用的,特别是对于不易架设有线网络的边远区域和可移动装置。4. 与无线应用协议(WAP)技术部痛,GPRS能够随时为用户提供透明的IP通道,可直接访问Internet上的所有站点及资源。5. 采用信道复用技术,每一个GPRS用户都能够实现永远在线。6. 另外,GPRS还能支持在进行数据传输的同时进行语音通话等,而且相对于短消息等其他无线数据通信业务,GPRS的价格优势较为明显。2.2 基于GPRS无线数据传输系统的工作方式从系统的工作方式上来讲,一般的采用中心对多点的无线数据传输系统有以下几种工作方式。永远在线模式:保持DTU与数据中心永久连接。工作过程为:DTU开机时自动连接GPRS网络,根据数据业务中心(DSC)的IP地址自动连接数据中心,并保持和维护链路的连接。定时传输模式:由DTU向中心定时发送数据,工作过程为:根据事先设置的发送数据间隔向数据业务中心(DSC)发送数据和接受数据,数据收发完毕后,自动断线。中心呼叫模式:由数据中心发起数据传输请求,DTU应答并发送/接受数据,工作过程为:当中心需要收集或发送给DTU端数据时,数据中心发出呼叫指令,DTU立即连接GPRS网络并登录数据业务中心(DSC),按照中心的指令传输数据。数据触发模式:当有用户数据传输时,由DTU发起连接,工作过程为:当有用户数据传输时,DTU连接GPRS网络并登录数据业务中心(DSC),传输数据。节电模式:无数据传输时关闭无线传输部分,系统进入休眠状态。在上述的工作方式中,定时传输模式只是定时发送数据,适合于周期性的业务,但对于非周期业务并不适用;中心呼叫模式则无法满足DTU的主动数据传输;而数据触发模式是由DTU发起连接,因而对中心呼叫无法响应;节电模式则不适合数据传输频繁的业务。为了满足大多数业务的需求本系统的工作方式选择使用永远在线模式,要保证DTU真正的“永远在线”,DTU要保持和维护链路的连接,在本文中DTU采用定时发送无实际意义的“心跳”信息来保持和维护GPRS连接的正常进行。2.3 基于嵌入式系统的无线数据终端技术方案由于嵌入式系统分为软硬件两个部分,因而本文中的基于嵌入式系统的数据终端单元方案选择也被分为软硬件两个部分。在硬件部分,嵌入式处理器是硬件平台的核心,其他硬件单元的设计都要围绕处理器的选择来进行;在软件部分,嵌入式操作系统是所有软件的运行平台。因而给予嵌入式系统的数据终端单元方案的确定主要是嵌入式处理器的选择以及嵌入式操作系统的选择。(1)嵌入式微处理器方案选择嵌入式微处理器是由通用计算机中的CPU演变而来的。它的特征是具有32位以上的处理器,具有较高的性能。根据本文应用系统的具体功能要求,嵌入式微控制器是本文合适的处理器,选用应用普遍、性能稳定的ARM核的微控制器。ARM微处理器目前有5个系统:ARM7、ARM9、ARM10和SecurCore,其中ARM7最为广泛使用。ARM7是低功耗的32位核,最适用于对价位和功耗敏感的消费类应用,具有低功耗、能提供0.9MIP/MHZ的三级流水线和冯诺依曼结构等特点。(2)嵌入式操作系统方案选择目前,广泛使用的操作系统有三种,即多道批处理操作系统、分时操作系统以及实时操作系统。多道批处理系统一般用于计算机中心较大的计算机系统中。由于其硬件设备比较全、价格较高,所以此类系统十分注意CPU及其它设备的充分利用,追求高的吞吐量,不具备实时性。分时系统的主要目的是让多个计算机用户能够共享系统的资源,能及时的响应和服务联机用户,只具有很弱的实时功能,但与真正的实时操作系统仍然有明显的区别。实时操作系统是事件驱动的,能对来自外界的作用在限定的时间范围内作出响应。它强调的是实时性、可靠性和灵活性,与实时应用软件相结合成有机的整体,并由它来管理和协调各项工作,为应用软件提供良好的运行软件环境及开发环境。而嵌入式实时操作系统在目前的嵌入式应用中也越来越广泛,尤其在功能复杂、系统庞大的应用中显得更为重要。但是,使用嵌入式实时操作系统还需要额外的ROM/RAM开销、2%5%的CPU额外负荷以及内核的费用。综上所述,嵌入式实时操作系统只用了少量的ROM/RAM、CPU等资源却换来了如此多的优点。本文中的应用程序对系统资源的要求不是很高,完全可以提供很少的一点资源来给实时操作系统。就本系统而言,采用嵌入式实时操作系统是必要而且可行的。第三章 无线数据终端硬件平台设计3.1 无线数据终端硬件原理框图图 3-1 硬件平台原理框图在无线数据传输终端的硬件结构中,以S3C44B0X处理器为核心,主要有以下几个模块组成:CPU中央处理器单元:包括S3C44B0X处理器的最小系统、时钟电路、复位电路等部分。FLASH存储单元:可存放用户应用程序、操作系统或其他在系统掉电后需要保存的用户数据等,SDRAM存储单元:作为系统运行时的主要区域,系统、用户数据及堆栈均位于其中。以太网单元:以太网接口为系统提供以太网接入的物理通道,通过该接口系统可以10M的速率接入以太网。JTAG调试接口:该接口可对芯片内部的所有部件进行访问,对系统进行调试、编程等。RS-232串行接口:用于S3C44B0X系统与用户端进行串行通信时使用。GPRS/GSM射频模块:用来与GPRS网络进行通信的射频模块。3.2 ARM7TDMI处理器及SamsungS3C44B0X概述3.2.1 ARM7TDMI处理器介绍ARM7TDMI的重要特性有:(1)实现ARM体系结构版本4T,支持64位结果的乘法,半字、有符号字节存取;(2)支持Thumb指令集,可降低系统开销;(3)328 DPS乘法器;(4)32位寻址空间-4GB线性地址空间;(5)它包含了EmbeddedICE模块,以支持嵌入式系统调试;(6)调试硬件由JTAG测试访问端口访问,因此JTAG控制逻辑被认为是处理器核的一部分;(7)广泛的ARM和第三方支持,并与ARM9Thumb系列、ARM10Thumb系列和StrongARM处理器相兼容。3.2.2 SamsungS3C44B0X介绍Samsung S3C44B0X 微处理器片内集成ARM7TDMI核,并在此内核基本功能的基础上集成了丰富的外围功能模块,便于低成本设计嵌入式应用系统,片上集成的主要功能如下:(1)在ARM7TDMI基础上增加了8KB的Cache;(2)外部扩充存储器控制器(FP/EDO/SDRAM控制,片选逻辑);(3)LCD控制器,并带有1个LCD专用DMA通道;(4)2个通用DMA通道/2个带外部请求引脚的DMA通道;(5)2个带有握手协议的UART,1个SIO;(6)1个多主的PC总线控制器;(7)1个IIS总线控制器;(8)5个PWM定时器及1个内部定时器;(9)看门狗定时器;(10)71个通用可编程I/O口,8个外部中断源;(11)功耗控制模式:正常、低、休眠和停止;(12)8路10位ADC;(13)具有日历功能的RTC(实时时钟);(14)PLL时钟发生器;3.3 GPRS模块嵌入设计通过GPRS网进行数据传输一般需要使用GPRS模块。目前,GPRS模块一般是指带有GPRS功能的GMS模块,可以利用GPRS网惊醒数据通信。本系统选用PIML-900/1800GPRS模块,它是CENTEL推出的GSM/DCS双频模块,带GPRS功能,主要为语音传输、短消息和数据业务提供无线接口,PIML-900/1800集成了完整的射频电路和GSM的基带处理电路,及充电电路。模块与控制器间的通信协议是AT命令集是Modem通信接口的工业标准,它的功能包括配置Modem与软件共同工作、与远程系统通信、发起或应答一个呼叫等。现在已成为事实上的标准并被所有调制解调器制造商采用的一个调制解调器命令语言。所有AT命令都以前缀AY开始,回车键结尾。指令执行后回车,如回应OK,则表示指令已正确执行,如回应error,则指令执行失败或发生错误,前缀AT用以引起调制解调器的注意,监测计算机串行通信口的速率,识别字符格式,包括字符长度和奇偶设定等,并且每一天AT命令都对应Modem的某种动作。硬件连接完成后,在进行GPRS上网操作之前,首先要对GPRS模块进行一定的设置,主要的设置工作有: 设置通信波特率,可以使用AT+IPR=115200命令,把波特率设为115200b/s或其他合适的波特率,默认的通信速度为9600b/s。 设置接入网关,通过AT+CGDCONT=1,“IP”,”CMNET”命令设置GPRS接入网关为移动梦网。 设置移动终端的类别,通过AT+CGCLASS=”B”设置移动终端的类别为B类,即同时监控多种业务,但只能运行一种业务,即在同一时间只能使用GPRS上网,或者使用GSM的语音通信。 测试GPRS的服务是否开通,使用AT+CGACT=1,1命令激活GPRS功能。3.4 输入输出接口电路设计3.4.1 串行接口电路设计几乎所有的微控制器、PC都提供串行接口,使用电子工业协会推荐的RS-232-C标准,这是一种很常用的串行数据传输总线标准。RS-232-C标准采用的接口是9芯或25芯的D型插头,系统采用9芯D型插头,但由于RS-232-C标准所定义的高、低电平信号与S3C44B0X系统的LVTTL电路所定义的高、低电平信号完全不同,LVTTL的标准逻辑“1”对应2V3.3V电平,标准逻辑“0”对应0V0.4V电平,而RS-232-C标准采用负逻辑方式,标准逻辑“1”对应-5V15V电平,标准逻辑“0”对应+5V+15V电平,显然,两者间要进行通信必须经过信号电平的转换。3.4.2 以太网接口电路设计在嵌入式系统中增加以太网接口,通常有如下两种方法实现:(1)嵌入式处理器+网卡芯片如:RTL8019AS这种方法对嵌入式处理器没有特殊要求,只要把以太网芯片连接到嵌入式处理器的总线即可,此方法通用性强,但是速度慢。(2)带有以太网络接口的嵌入式处理器这种方法要求嵌入式处理器有通用的网络接口,处理器核网络数据交换通过内部总线,速度快。由于本系统采用的CPU为S3C44B0X,内部没有网络接口,只能采用嵌入式处理网+网卡芯片的方法扩展以太网接口。网卡芯片采用RTL8019AS,S3C44B0X处理器和RTL8019AS连接的结构图如图3-2所示,RTL8019AS通过总线和S3C44B0X相连接,中断也通过S3C44B0X的外部中断接管。图 3-2 S3C44B0X 处理器和RTL8019AS连接结构图3.4.3 JTAG接口电路JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议,主要用于芯片内部测试及时系统进行仿真、调试,JTAG技术是一种嵌入式调试技术,它在芯片内部封装了测试电路TAP(Test Access Port 测试访问口),通过专用的JTAG测试工具对内部节点进行测试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个期间分别测试,JTAG接口还通用于实现功能。通过JTAG接口,可对芯片内部的所有部件进行访问,因而是开发调试嵌入式系统的一种简洁高效的手段。S3C44B0X、电源电路、晶振电路、复位电路、JTAG接口电路可构成真正意义上的最小系统,程序可运行于S3C44B0X内部的8KB RAM中,程序大小有限,掉电后无法保存,只能通过JTAG接口调试程序。第四章 无线数据终端软件设计本文根据实际应用的需要,软件系统主要包括四部分内容:系统启动加载程序、嵌入式实时操作系统C/OS-、基于C/OS-的系统应用程序以及网络应用部分。该系统的软件模型如图4-1所示。图 4-1 系统软件模型4.1 启动加载程序BootLoader的设计整个系统引导过程的流程如图4-2所示图 4-2 系统引导程序流程图系统启动程序所执行的操作同具体的目标系统和开发系统相关,对于S3C44B0X来说,包含以下内容:(1)硬件初始化BootLoader程序程序设计分四步进行,首先是硬件初始化,主要包括:禁止看门狗、禁止所有中断、设定时钟控制寄存器、锁相环倍频设定、所有功能单元块时钟功能、设定存储器控制寄存器、初始化堆栈等,这些程序都是在FLASH中直接进行的。(2)初始化存储器系统初始化存储器系统的编程对象是系统的存储器控制器,存储器控制器并不是ARM内核的部分,不同的系统其设计不尽相同,所以应该针对具体的要求来完成这部分的程序设计。(3)初始化堆栈程序如下所示:Idr r0,=WTCON /*禁止看门狗*/Idr r1,=0str r1,r0Idr r0,=INTMSKIdr r1,=0x07ffffff /*禁止所有中断*/str r1,r0/*设置时钟控制寄存器*/Idr r0,=LOCKTIMEIdr r1,=0xfffstr r1,r0_ifpLLONSTARTIdr r0,=PLLCON /*锁相环倍频设置*/Idr r1,=(M_DIV12)+(P_DIVr0*/ bicr0,r0,#MODEMASK|NOINT /*安全起见,屏蔽模式位以外的其他位*/ Orr r1,r0,#UNDEFMODE /*把设置模式位设置成需要的模式*/ msr cpsr_cxsf,r1 /*转到Undef模式*/ Idr sp,=UndefStack /*设置SP_und*/ Orr r1,r0,#ABORTMODE|NOINT msr cpsr_cxsf,r1 /*Abort模式*/ Idr sp,=AbortStack Orr r1,ro,#IRQMODE| IRQ_MODE msr cpsr_cxsf,r1 /*FIQ模式*/ Idr sp,=FIQStack bicr0,r0,#MODEMASK Orr r1,r0,#SVCMODE msr cpsr_cxsf,r1 /*SVC模式*/(4) 初始化应用程序执行环境不同的工具链会提供一些不同的机制和方法帮助用户完成这一步操作,主要是跟连接器相关。下面是在ARM开发工具环境下,一种常用存储器模型的直接实现:LDR r0,=Image_RO_Limit /*获取ROM数据区的地址*/LDR r1,=Image_RW_BaseLDR r3,=Image_ZI_BaseCMP r0,r1BEQ F1F0:CMP r1,r3LDRCC r2,r0,#4STRCC r2,r1,#4BCC F0F1:LDR r1,=Image_ZI_LimitMOV r2,#0F2:CMP r3,r1 /*零初始化*/STRCC r2,r3,#4BCC F2(5)跳转到主应用程序当所有的系统初始化工作完成之后,就需要把程序流程转入应用主程序,最简单的一种情况是:/* 跳到main()*/BL MainB4.2 C/OS-在S3C44B0X处理器上的移植大部分的C/OS-代码是使用ANSIC语言书写的,因此C/OS-的可移植性好,然而仍需要使用C和汇编语言写一些处理器相关代码,C/OS-的移植需要满足一下要求: 处理器的C编译器可以产生可重入代码; 可以使用C调用进入和退出临界区代码; 处理器必须支持硬件中断,并且需要一个定时中断源; 处理器需要能够容纳一定数据的硬件堆栈; 处理器需要有能够在CPU寄存器与内核和堆栈交换数据的指令。所以,S3C44B0X处理器完全满足上述要求,我们使用ARM SDT编译器,移植C/OS-主要包括以下几个步骤:(1)设置OS_CPU.H中与处理器核编译器相关的代码。定义数据类型,与编译器相关,如#define SVC32MODE 0x13移植后的OS运行在SVC模式下;Typedef unsigned int OS_STK,因为处理器现场的寄存器在任务切换时都将会保存在当前运行任务的堆栈中,所有OS_STK数据类型应该是和处理器的寄存器长度一致。另外,还有定义堆栈的方向,在S3C44B0X处理器中我们定义为: #define OS_STK_GROWTH 1(2)

温馨提示

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

评论

0/150

提交评论