当前位置:首页 > 通信技术 > 通信技术
[导读]本文给出了一种针对工业总线的嵌入式系统连接Internet的无线上网方案,探讨了实现该方案中要解决的主要问题。

摘  要:本文给出了一种针对工业总线的嵌入式系统连接Internet的无线上网方案,探讨了实现该方案中要解决的主要问题。设计并实现了基于AT91R40008微处理器和G18 GSM模块的嵌入式GPRS传输终端,采用层次结构和标准接口,实现了基于实时操作系统µC/OS-Ⅱ的嵌入式TCP/IP协议栈,对软件系统中的主要模块进行了分析。
关键词:嵌入式系统;AT91R40008;GPRS;µC/OS-Ⅱ;嵌入式TCP/IP协议栈

1 引言
    随着Internet的快速发展,Internet已成为信息流通的重要渠道,Internet接入终端在各种远程监控系统中得到广泛应用。采用GPRS无线移动互联网接入技术的终端,使得现有工业总线的监控系统直接通过Internet进行远程数据传输,解决了采用以太网或电话线接入Internet的有线通讯布线困难、覆盖范围小、无法移动通信等问题。Internet接入终端已经成为工业控制、远程测量、交通管理等应用热点。本文给出了基于ARM处理器和GPRS Modem嵌入式数据传输终端的设计与实现。

2设计原理
    将嵌入式系统接入Internet涉及两个关键问题,即传送信息的媒质和采用的协议,传输媒质可以是以太网或者电话线等媒介,在本设计中采用GPRS Modem作为无线接入Internet的媒质;协议采用嵌入式TCP/IP协议栈。通过GPRS Modem与当地GSM基站中的GPRS业务节点进行无线通信,进入GPRS网络,然后通过GPRS网关与Internet进行数据传输。

    系统硬件划分为控制模块和GPRS modem模块,GPRS modem模块提供接入Internet 的TCP/IP物理连接;控制模块是主控软件的载体,负责控制将处理好的数据通过GPRS modem发送出去或者传向工业总线。在控制模块中,微控制器的一个串行接口连接GPRS modem,通过对GPRS modem的控制和通信,实现Internet网络数据的收发;另一个串行接口通过工业总线与其他嵌入式设备进行数据通信。该实现方法采用数据透明传输,对原有的嵌入式系统不附加限制条件,较好地实现了网络功能,而且系统的实时性较高。

3基于AT91R40008的硬件设计
    为了解决网络协议软件和实时操作系统处理的硬件瓶颈,设计中选择了Atmel公司的AT91R40008微控制器,一款基于ARM7TDMI核的32位微控制器,工作频率为66M,其片内集成了256KB RAM,可以直接将代码运行在片上RAM中,使得本次应用程序可以采用任务查询方式,增强系统的稳定性,并且两个全双工通用同步/异步收发器(USART)与外围控制器PDC连接,使用PDC方式,整段数据交给硬件自动收发处理比单字节处理要大大减轻系统处理压力,提高了系统的实时性。
 
    图1所示为控制模块的硬件连接图。图中MAX232负责实现系统的另一个用户接口与标准232总线之间的电平转换;24CL04负责存储系统运行时需要的重要参数,如远程连接的IP地址、端口等。如果为了紧缩设备体积可以采用将AT91R40008和AT49BV1614A集成在一起的AT91FR40162处理器。GPRS Modem模块采用的是Motorola g18 DIN,该模块为用户的无线上网提供了物理链路。
        
    图1 控制模块硬件结构图

4 软件设计
    软件部分的主要功能包括系统及设备的初始化,创建接收发送任务,建立连接的通信链路,保证网络连接实时有效等。采用的实时操作系统是源码开放的嵌入式操作系统µC/OS-Ⅱ,为了嵌入式系统能接入Internet,成功移植实时操作系统后还要实现一个嵌入式TCP/IP协议栈。软件设计采用层次结构,从下到上依次是:硬件驱动程序、操作系统内核软件、网络接口软件、协议软件和应用程序。

4.1实时操作系统µC/OS-Ⅱ的移植
    移植µC/OS-Ⅱ的工作主要包括以下几个部分:修改OS_CPU.H文件,该文件主要包含与编译器相关的数据类型的定义、处理器实现开关中断的方法、堆栈类型的定义和几个宏定义及函数说明;修改OS_CPU_C.C文件,用C语言实现堆栈初始化和几个提供给用户用于扩展操作系统功能的hook(又称为钩子函数)函数;修改OS_CPU_A.S文件,用与CPU相关的汇编语言实现CPU开/关中断、任务级的任务切换、中断级的任务切换以及时钟中断程序。

    采用GCC编译器编译时,除了对上述文件做相应移植修改外,对实时系统的源码不做改动,但要编写能在操作系统内直接调用的微控制器外围设备驱动函数,这些驱动函数构成微控制器的控制驱动函数库,使得在操作系统内可以完成UART控制、I2C总线访问、PIO控制等硬件操作,对移植后的实时系统能够使用各个外围器件以及协议的实现都很重要。

4.2 嵌入式TCP/IP协议栈
    在实时操作系统上需要一个TCP/IP协议栈来实现在Internet接入并收发数据,为了提高效率节省资源,采用简化的TCP/IP协议栈,本次应用只保留了TCP、UDP、IP和PPP协议,如图2所示,网络协议栈和构件为网络环境的嵌入式应用提供有效的系统服务。
 
图2 网络协议栈和部件

    传输层采用TCP(传输控制协议)和UDP(用户数据报协议)。TCP是一种面向连接的协议,它提供可靠的字节流传输;UDP协议没有保证可靠性的机制,但可以实现高速高效的发送数据报。网络层协议实现的主要是IP,在实现中IP协议不支持IP包的分片和重装以及路由选择。物理层的GPRS Modem实现了连接网络的物理设备,要通过Modem拨号上网,必须在数据链路层上实现PPP拨号协议,按照PPP协议的要求与移动GPRS网关建立通信链路。为了方便协议软件的使用还要实现各个层面的接口,网络接口层在网络协议和网络设备、不同的协议层之间提供了一个相互内部隔离的编程接口。BSD Socket接口为应用提供了访问网络的统一接口。

4.3 缓冲区和驱动软件
    本次应用中缓冲区和驱动软件是提高系统性能的关键,通过多种缓冲区设计将多层次结构的软件紧密的整合在一起,可以缓和各层软件之间处理瓶颈,提高连续数据并行处理能力;高效驱动软件的设计降低了硬件处理对CPU的占有率。

    数据经过串口硬件设备进入软件系统后就开始在一系列缓冲区中传递,图3所示为所采用的缓冲结构。从左到右依次是串口的收发缓冲区、串口收发工作缓冲区、网络接口读写缓冲区,最后是协议栈缓冲区。这样整个数据交流过程就变成对本层缓冲区的读写,接口程序的编写相对简单明了。
 
 
图3 缓冲区设计示意图

    每个串口的收发缓冲区是6组长度为512字节的char类型数组,工作缓冲区是长度为1KB的char类型环行队列;网络接口读写缓冲区采用和工作缓冲区相同的结构;协议栈缓冲区是协议软件处理过程中数据的唯一载体,协议栈缓冲区采用结构体的静态链表结构。

    上述缓冲区设计不仅保证了连续数据到来时CPU有足够的处理时间和空间,而且将硬件和网络协议软件隔离便于软件的设计开发。这种设计模式会占用大量RAM空间,但是所采用的ARM处理器片内集成了256KB RAM,所以有足够的RAM作缓冲区以提高系统性能。软件的RAM使用情况如表1所示。其中还可以有100KB左右的内存空间可以提供给软件升级,而且用户可以选择程序的FLASH运行方式,节省更多RAM为软件升级使用。

表1 整个系统的RAM占用表

    驱动程序包括三部分:初始化部分,函数功能部分和中断服务程序ISR。初始化部分初始化硬件设备,分配设备所需的资源,完成系统相关的设置;函数功能部分完成系统指定的功能,中断服务程序的主要功能是发起一个任务来完成必要的处理。为串口硬件编写驱动函数的工作主要是串口的启动、停止、波特率设置、控制PDC以及对缓冲区的读写。

4.4系统启动工作流程
    处理器上电后首先进行CPU硬件、操作系统、协议栈软件参数的初始化工作;测试外设GSM模块,由于GSM模块作为一个相对重要而且较为独立的设备,它的启动过程相对MCU要慢很多,所以在系统进入正常运行阶段之前必须等待GSM模块正常工作以后,才能进行网络服务器的连接。用户任务除了负责网络和工业总线数据交换以外,由于在GSM信号、模块电源受到干扰或SIM卡震动使都会引起GSM模块死机,所以还要建立GSM模块检测任务,负责网络连接的检测以及判断网络中断连接是否由GSM模块故障引起,从而决定是否对GSM模块重启,以保证整个系统的稳定运行。  

5 结束语
    本文给出了一种基于32位ARM微处理器和GPRS的嵌入式无线数据传输终端的实现方案。该方案硬件成本不高于采用中高档单片机的实现方案,同时具有数据吞吐量大、可靠性高、处理能力强等优点。嵌入式TCP/IP协议和实时系统相结合的软件平台,增强了系统的功能性和实时性,这种平台不仅可以作为测控网络与Internet数据接入终端,还可以实现FTP、WEB、GUI、FS等多种嵌入式应用,用于远程监控网站、监控图片传输、网络硬盘、现场界面机等应用场合,替换PC机降低系统成本。

参 考 文 献:
[1] 马忠梅, 徐英慧等. AT91系列ARM核微控制器结构与开发[M]. 北京: 北京航空航天大学出版社,2003.
[2] Jean J.Labrosse. 嵌入式实时操作系统µC/OS-Ⅱ(第二版)[M].邵贝贝译.北京:北京航空航天大学出版社,2003。
[3] Gary R.Wright, W.Richard Stevens. TCP/IP详解 卷2:实现[M]. 北京:机械工业出版社,2002.

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭