找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 基于GPRS的无线数据采集与传输终端

[复制链接]
admin 发表于 2013-3-23 18:58:44 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
        无线数据采集与传输的应用范围非常广,涉及行业有电力、水利、公安、交通、石油、安防和金融等。中国移动公司在2002年5月正式开通了通用分组无线业务GPRS网络。GPRS网络支持TCP/IP协议并且覆盖面广,比起使用短消息和超短波无线数传电台进行无线数据传输,GPRS无论在费用、可靠性和可实施性等方面都具有很大的优势。

        终端的系统组成

        无线数据采集与传输终端的设计可以有两套方案:第一套为“单片机+GPRS调制解调器”,此方案虽然硬件成本较低,但功能比较有限,在协议的开发和支持上都有一定难度;第二套方案为“嵌入式CPU+GPRS 模块”,此方案虽然硬件成本稍高,需要嵌入式CPU芯片来支持嵌入式操作系统,但可以实现丰富协议接口,便于移植和向高端系统应用升级,更加便于数据采集与传输的实现。

        图1给出了一个无线数据采集和传输终端组成的原理参考图,采用Motorola半导体(编者注,现更名为:Freescale)嵌入式CPU MPC8xx加GPRS模块CMS91的第二套实现方案。
    20121107051241183451269.jpg
图1  终端组成原理参考图
   
        终端工作原理为通过RS232/485口接收到用户数据,然后将数据打成IP包,通过GPRS模块接入GPRS网络,再通过各种网关和路由将数据发送到数据处理中心。

        下面对图1中的组成原理进行详细介绍:

        嵌入式CPU芯片是整个数据采集终端的核心,可以很好地支持嵌入式操作系统;考虑到嵌入式操作系统的移植方便性和性能要求,采用了当前成熟的Motorola MPC8xx嵌入式CPU。许多操作系统厂家都针对这种类型的CPU开发微码和套件(BSP),以方便用户移植。

        GPRS模块主要完成无线上网的功能。在市场上有一些成熟的产品,譬如说Sony/Ericsson的GM47;Simens的MC35等。在这里选用Cellon公司的CMS91。它是一种双频段GSM/GPRS 10级模块,主要优点有:低功耗、接口简单、AT指令功能完善、可支持GPRS CLASS 10、开发多媒体应用、价格较低等。同时,它也提供SMS(短消息服务)和语音功能。GPRS模块提供RS232接口,可以通过它来完成对模块的控制,譬如拨号和切换模式等。一旦通过模块连接上Internet,采集到的数据就可以用TCP/IP传输方式发送到任意一个具有公网IP地址的主机上去,从而实现采集数据的无线传输。

        数据采集一般采用标准RS232或RS485接口,采集压力、温度等传感器数据。由CPU负责对采集到的数据进行运算和处理,然后交给GPRS模块将其发送给远程数据中心。

        Watchdog主要用来防止终端系统死机。通过软件定时写数据到WD硬件,一旦系统死机,软件工作不正常,WD硬件由于接收不到数据而产生硬件中断,从而系统自动重启。

        ROM主要用于保存嵌入式操作系统、应用程序及相关配置参数,通过内部总线直接与CPU通信。在这里选用了Intel公司的28F320-J3,32M字节。可以在ROM上完成文件系统,但需要在操作系统中加入文件系统处理模块。

        LCD是可选模块,用来显示状态信息等。10Base-T也是可选模块,方便调试。也可以利用NAT技术和10Base-T端口将终端作为连接Internet的网关。

实施中的技术难点

        CPU通信端口的配置

        在此设计中选用MPC850微处理器, 它是一个多用途的通用芯片,内部集成了微处理器和常用外围组件,可用于各种控制领域。它是MPC860应用于通信系统的低成本实现,提供了更高的性价比,并在通信方面有所增强,比如通用串行总线(USB)的支持。MPC850集成了嵌入式PowerPC 核和一个为通信使用的专门的RISC通信处理器模块(CPM)。MPC850 的 CPM 支持6个串行通道:一个串行通信控制器(SCC),一个USB,两个串行管理控制器(SMS),一个I2C接口,和一个串行外围接口电路SPI。通常可将一个SCC和两个SMS配置成为通用串口UART,用以控制不同的模块且速率可调。

        ROM上文件系统的实现

        普通的ROM操作只能以模块操作,维护起来很不方便,而且由于在读写的时候没有缓冲操作,数据很容易丢失和出错。在ROM上实现的文件系统 可以合理的分配和使用每一个区块,减少了区块迁移和区块过度使用。本设计中采用Intel J3系列(28F320J3)闪存做为存储设备, 实现了TrueFFS。首先在系统启动配置文件中配置TFFS的三层结构,修改MTD。系统启动时初始化文件系统和缺省路径。如果成功,就生成了可操作的文件设备符。自此,用户就可以使用一般的文件操作方式了(生成、读、写和删除)。要注意的是在读写完文件后,要显示关闭文件,以避免数据丢失。

        设备作为网关时的网络地址转换(NAT)实现
          采用NAT接入Internet改变了原来使用代理软件接入Internet的方式,可采用两种NAT的设置(动态NAT和静态NAT)实现Internet的接入。动态NAT实现所有主机对Internet的访问。由于NAT具有隐藏网络内部拓扑结构的功能,外部主机不能直接访问内部网站或主机。但通过动、静态NAT的联合使用,既可以实现内外部互访,又可以隐藏网络内部拓扑结构,确保网络安全。在具体实现中,首先要通过PPP拨号上GPRS网络,得到分配地址。如果得到CPU通信端口上分配的网络通信内部IP地址,然后配置NAT参数,将其中的两个端口参数配置为GPRS网络地址和内部通讯地址。最后用配置好的NAT参数将NAT初始化。

  
   



          GPRS模块工作模式的使用

        利用CMS91进行数据传输的主要方法有3种:

        1.SMS Messages -可以用来传输字符或者二进制数据,一般情况下每条SMS的字节长度是140字节,SMS适合数据量小的对实时性要求不高的场合。

        2.Data Calls-在数据链路建立以后可以进行透明或者非透明的数据传输。主要适合数据量比较大而传输次数较少的场合。

        3.GPRS数据传输-适合所有情况下的数据传输,是未来的发展趋势。

        利用CMS91 GPRS模块进行基于Internet的数据通信SMS和Data Call应用有很大的不同,无论是SMS还是Data Call都是有相应的AT指令支持的,使用都是比较简单的、无需了解实际的运作流程,但是对于GPRS的数据应用,牵涉的网络协议方面的知识要相对较多。

        在这种应用中,CMS91 GPRS模块相当于一个无线调制解调器用户的应用系统,需要通过PPP(LCP/PAP/IPCP)先和运营商的Internet接入服务器连接,然后才能应用TCP/IP、UDP或者更高一层的应用层程序http、FTP等进行通信。在目前的GPRS应用中,如果应用系统是基于操作系统的,由于系统功能比较强,可以采用完整的PPP协议,但是如果应用系统是采用MCU的,那么一般采用简化的PPP协议,将一些不兼容的信息拒绝掉。

        利用GPRS进行数据传输的结构有两种,主要区别在于服务器端的位置: 服务器端采用普通Internet上的主机方式,或者服务器通过DDN(或其它高速连接的方式如ASDL)直接与中间移动网CMNET连接的方式。 根据以上介绍的设计实施技术,不难写出一个完整的利用GPRS模块基于Internet的数据通信流程。

        结语

        本文从系统结构和实现方式上介绍了一个基于GPRS的无线数据采集和传输终端的实现方法,尤其着重描述了如何利用GPRS进行数据通信。一般无线数据采集终端都用在专用系统中,如电力、水利等,特别适合小数据量低速数据传输要求,对工作稳定性的要求一般较高。在这里再提出一些成本和兼容性方面的设想:1.嵌入式CPU芯片由MPC8xx转换为ARM芯片。2.网络支持从GPRS升级到CDMA,可以通过更换无线通信模块来实现。
   参考文献:
1.      陈凯旋、谢海滔,‘GPRS原理及其应用,铁道通信信号’,2003年7月,Vol.39,No.7
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-25 00:21 , Processed in 0.060855 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表