APP下载

基于ARM的无线终端系统设计

2010-11-15

巢湖学院学报 2010年6期
关键词:串口嵌入式数据中心

孙 骏

(安徽职业技术学院,安徽 合肥 230011)

基于ARM的无线终端系统设计

孙 骏

(安徽职业技术学院,安徽 合肥 230011)

提出了无线数据终端的数据传输模型及技术方案,搭建了以S3C44B0X为控制核心的数据终端硬件平台,完成了外围电路及GPRS射频模块设计。同时,在软件方面实现了嵌入式实时操作系统μC/OS-II和轻型TCP/IP协议栈(LwIP)的移植用以满足基于GPRS的无线数据传输上层应用。

GPRS;嵌入式系统;μC/OS-II;ARM;LwIP

1 概述

GPRS技术资源利用率高,引入了分组交换的传输模式,使得原来采用电路交换模式的GSM传输数据方式发生了根本性的变化,这在于资源短缺的情况下显得尤为重要。GPRS用户的计费以通信的数据量为主要依据。实际上,GPRS用户的连接时间可能长达数小时,却只需支付相对低廉的连接费用。GPRS可提供高达115kbit/s的传输速率(最高值为171.2kbit/s,不包括FEC)。目前,在一些诸如远程设备监测、工业监控以及自动抄表等嵌入式系统应用领域中,传输的数据量不大,采用有限通信方式既浪费又不切合实际,采用光缆投资太高,自建无线电台局限性大,因而利用无线移动网络作为传输平台是理想的解决方案。

2 无线传输系统模型

系统以GPRS网络作为无线数据传输平台,将数据终端单元和数据业务中心作为终端设备接入到GPRS网络平台中来实现最终用户数据的透明传输,其模型如图1所示。远端数据终端接入GPRS网络中后通过GGSN (Gateway GPRS Support Node,GPRS。支持节点网关)接入 Internet中,并和己接入到Internet中的数据中心进行用户数据的透明传输。在该模型中,远端数据终端包括用户设备和数据终端单元DTU两部分,而数据中心则包含数据中心服务器和数据库。

DTU通过串口使用RS-232标准将数据从用户设备中读入,经DTU做透明数据协议处理后打包,使用AT命令(Modem专用控制命令)控制GPRS模块通过GPRS网络连接到数据中心;或者将GPRS网络中的数据读入DTU,去掉DTU控制信息后将用户设备控制信息由用户侧串口返回用户设备。DTU对用户数据不做任何处理,为用户设备数据提供透明传输通道。当GPRS数据通道中断后,DTU切换到短信备用通信方式。

3 无线数据终端硬件平台设计

3.1 嵌入式硬件系统

硬件部分是实现整个系统功能的基础也是整个设计实现的关键。图2为系统硬件结构框图。

在无线数据传输终端的硬件结构中,以S3C44B0X处理器为核心,主要有以下几个模块组成:

●CPU中央处理器单元:包括S3C44B0X处理器的最小系统、时钟电路、复位电路等部分。

●FLASH存储单元:可存放用户应用程序、操作系统或其他在系统掉电后需要保存的用户数据等,采用SST39VF160。

●SDRAM存储单元:作为系统运行时的主要区域,系统、用户数据及堆栈均位于其中,采用1片32位宽度的DRAM芯片HY57V641620构成8MByte的内存。

●以太网单元:以太网接口为系统提供以太网接入的物理通道,通过该接口系统可以10M的速率接入以太网,采用RTL8019AS网卡芯片。

●JTAG调试接口:该接口可对芯片内部的所有部件进行访问,对系统进行调试、编程等。

●RS-232串行接口:用于S3C44B0X系统与用户端进行串行通信时使用。

●GPRS/GSM射频模块:用来与GPRS网络进行通信的射频模块,本系统选用Simens的MC55。

3.2 GPRS模块实现

Siemens GSM/GPRS模块MC55是内嵌TCP/IP协议栈的三频模块。尺寸非常小,有利于集成进嵌入式系统,同时功耗低、可靠性高。支持TCP、UDP、HTTP、FTP、SMTP 和 POP3 等 多 种 网络协议;具有5KB的Buffer用于GPRS数据传输,最大数据包长度为1.5KB,能够缓存较多的数据进行发送;以AT命令方式实现数据传输,每次传输都会有结果状态返回,用户不需要切换状态;提供两个全双工串口,可以实现两个TCP通道的同时传输,GPRS与短信或语音状态自动切换。MC55的结构图如3所示。

Modem采用9V直流供电,通过DC/DC转换电路为各个芯片提供工作电压,SIM卡为GPRS Modem接入GPRS网络提供身份认证GPRS Modem的核心是无线模块,无线模块经过电平转换和滤波电路后,利用RS232接口与控制器进行通信,RS232接口使用标准的DB9FL。GPRS无线模块从RS232接口接收来自控制器的AT指令,根据指令内容完成模块的各项设置或者相应动作,并针对每条指令的完成状况发送回应到控制器。

4 无线数据终端软件设计

本文采用了在嵌入式实时操作系统μC/OSII下编程的方法,μC/OS-II内核为通讯协议和应用程序提供任务管理与调度,利用μC/OS-II的占先式多任务调度机制来保证系统的实时性。软件系统主要包括四部分内容:系统启动加载程序、嵌入式实时操作系统μC/OS-II、基于μC/OSII的系统应用程序以及网络应用部分。该系统的软件模型如图4

4.1 μC/OS-II的移植

S3C44B0X处理器完全满足μC/OS-II的移植要求,需要完成的工作非常的简单,修改三个和体系结构相关的文件即可,代码量大约是500行。这三个文件是:OS_CPU.H、OS_CPU_C.C、OS_CPU_A.ASM。

上述工作完成之后,还要对移植后的内核在目标板上进行测试。为μC/OS-II编写一个启动程序,初始化系统的硬件环境和软件环境,初始化定时器以及初始化串口,并向操作系统提供一些硬件相关例程和函数,以方便调试。在CPU、板级和程序自身初始化完成后,就可以把CPU的控制权交给操作系统了。

4.2 LwIP协议栈的移植

LwIP(light weight IP)是瑞士计算机科学院的Adam Dunkels等开发的一套用于嵌入式系统的开放源代码TCP/IP协议栈。LwIP既可以移植到操作系统上,又可以在无操作系统的情况下独立运行。LwIP实现的重点是在保持TCP/IP协议主要功能的基础上减少对RAM的占用,一般只需要几十K的RAM和40K左右的ROM就可以运行。

LwIP协议栈在设计时就考虑到了将来的移植问题,因此把所有与硬件、OS、编译器相关的部分独立出来,放在/src/arch目录下。因此LwIP在μC/OS-II上的实现就是修改这个目录下的文件,其它的文件一般不应该修改。

4.2.1 与CPU或编译器相关的include文件

/src/arch/include/arch 目录下 cc.h、cpu.h、perf.h中有一些与CPU或编译器相关的定义,如数据长度,字的高低位顺序等。这要与实现μC/OS-II时定义的数据长度等参数一致。

4.2.2 操作系统相关部分sys_arch文件

LwIP为了适应不同的操作系统,在代码中并没有使用和某一个操作系统相关的系统调用和数据结构,而是在LwIP和操作系统之间增加了一个操作系统封装层。操作系统封装层为操作系统服务(定时、进程同步、消息传递)提供了一个统一的接口。LwIP中所有与操作系统相关的部分都在sys_arch.c和sys_arch.h中定义,LwIP协议栈的源代码中并没有这两个函数,只是提供了与这两个文件有关的描述文档sys_arch.txt,对于在不同操作系统上的移植必须根据自己的需要和文档中的要求重新封装或者编写这两个文件。

4.2.3 网络设备驱动程序

LwIP的网络驱动有一定的模型,/src/netif/ethernetif.c文件即为驱动的模板,本文的网络设备8019AS芯片实现驱动即参照此模板。在驱动中主要做的就是实现网络接口的收、发、初始化以及中断处理函数。

4.3 无线数据传输

系统初始化任务完成对GPRS/GSM模块的的测试及初始化,GPRS/GSM模块的操作通过AT命令来实现,发送“AT+回车”命令来测试模块是否正常工作,如果模块返回“OK”表示模块正常。在测试模块正常工作之后发送其它AT命令来设置模块数据传输速率为115200b/s,设置GPRS连接并建立TCP网络连接,通过GPRS网络中的GGSN节点建立起DTU与公共Internet上的数据中心之间的TCP网络连接,之后初始化用户侧的环状串口缓冲区准备接收用户数据。至此,一条DTU与数据中心之间的无线到有线的链路建立成功,用户可以随时向数据中心传输数据。

S3C44BOX URAT单元提供2个独立的异步串行通信口,均可工作于中断和DMA模式,最高波特率为115200b/s。每个UART单元包含一个16字节FIFO,用于数据接收和发送。本系统中,两个异步串口均被使用,一个用于与用户侧设备相接,接收用户侧数据,而另一个与GPRS/GSM射频模块相接实现与模块间的数据传输。用户侧串口的工作方式必须选择中断方式,一旦有数据立即接收并处理,否则就会出现用户数据的丢失等现象。

满包数据发送任务从用户侧串口读入数据到数据区,当收到16个字符时发送configmsg消息,当收够一包(256个字符)时,GPRS模块发送AT命令发送固定长度(256个字符)数据,并清空数据区。当串口数据不足整包即不满256个字符时或者长时间无数据发送时,就需要数据处理任务对数据做其他处理。数据处理任务读取串口数据,因其优先级低于满包数据发送任务,因而当串口数据满一包时会被高优先级的满包数据发送任务处理,低优先级的数据处理任务只用来处理不满一包的数据,将这些不满一包的数据单独用AT命令控制GPRS模块发送。

5 结束语

嵌入式系统的网络化是当今嵌入式领域的一大研究热点,在军事和民用领域都有非常广泛的应用前景。嵌入式产品将成为互连网的主要终端之一,嵌入式网络平台的研究将使得更多的工业设备和仪器方便、快捷、经济的接入Internet,因而具有广阔的市场前景。随着通信费用的进一步降低,GPRS无线数据终端的应用将会迅速普及。

[1]Samsung.Samsung User’s Manual[EB/OL].www.samsung.com,2002.

[2][美]Jean J.Labrosse著,邵贝贝等译.嵌入式实时操作系统μC/OS-II(第二版)[M].北京:北京航空航天大学出版社,2003.

[3]A.Dunkels.LwIP-a lightweight TCP/IP stack.http://dunkels.com/adam/uip/2002,10.

[4]里吉斯.通用分组无线业务(GPRS)技术与应用[M].北京:人民邮电出版社,2004.

[5]管耀式,杨宗德.ARM嵌入式无线通信系统开发实例精讲[M].北京:电子工业出版社,2006.

[6]何剑兰.基于 S3C44BOX 的 TCP/IP 协议栈实现[J].中国水运,2007,(5):128-129.

WIRELESS TERMINAL SYSTEM DESIGN BASED ON ARM

SUN Jun
(Anhui Vocational and Technical College, Anhui Hefei 230011)

Put out the transmission model and technological scheme about wireless data terminal, build the hardware platform which dominant core is S3C44BOX, accomplished the periphery circuit and GPRS mode.At the same time, in the software,realized transplant of μC/OS-II and the light weight TCP/IP(LwIP) in order to fit the app1ication of wireless data transmission based on GPRS.

GPRS;embedded system;μC/OS-II;ARM;LwIP.

TP393.03

A

1672-2868(2010)06-0034-04

2010-09-04

孙骏(1970-),男,安徽六安人。讲师,硕士研究生,研究方向:计算机网络及嵌入式系统应用。

责任编辑:陈 侃

猜你喜欢

串口嵌入式数据中心
酒泉云计算大数据中心
浅析数据中心空调节能发展趋势
浅谈AB PLC串口跟RFID传感器的通讯应用
关于建立“格萨尔文献数据中心”的初步构想
搭建基于Qt的嵌入式开发平台
嵌入式软PLC在电镀生产流程控制系统中的应用
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
基于云计算的交通运输数据中心实现与应用