首页 » 技术文章 » 基于mc35i的m2m终端设计与研究

基于mc35i的m2m终端设计与研究

作者:  时间:2010-12-06 14:17  来源:EDN

   闲待命态:此时mc35i处在离线关闭状态,节点处在低功耗模式下,系统复位后处于此状态。

  GPRS参数设置态:处理器控制启动MC35i模块后进入此状态,通过发送AT命令对模块及必要的网络参数进行设置,为使各个参数均设置成功,软件设计中增加了容错重试机制。

  PPP协商态:GPRS参数设置完成后,通过发送AT*99***1#命令开始MC35i模块与GPRS网络ISP(网络服务提供商) PPP协商软件设计中采用LCPHandler()函数完成LCP协商,PAPHandler()完成认证,由IPCPHandler()完成IPCP 协商,如果最后获得ISP和本节点的IP地址,则进入PPPOVER态,此后就能进行数据的传输了,由于GPRS网络等原因,PPP协商有时会失败,此时应重启MC35i模块,再按照状态机流程重新连接。

  UDP数据传输态:当程序采用UDP方式进行数据传输时,程序进入此状态,通过xDataTrsmtTask()任务进行数据的UDPIP封装和解析。

  TCP数据传输态:当节点调用uip_cionnect()函数与监控中心建立连接后,程序进入TCP数据传输态,进行基于TCP的数据传输。

  数据的封装和传输

  通过GPRS进行数据的传输需要经过Internet网络进行中转,因而传输的数据封装必须进行TCPIP协议。文中利用软件进行了数据封装,需要传输的数据经过传输层UDP协议头封装,然后是IP协议头的封装,最后进行PPP协议的封装。经过封装传输到MC35i的数据格式如表1所示。

  MC35i将接收到的数据透明地传输到Internet网络中。通过Internet网络路由器中转,最终将数据传输到监控中心。接收端对接收到的数据按照相应的层次进行解析,从而确定数据的目标程序。

  系统软件设计采用分层的结构,从底到上分别为:串口驱动层(物理层)PPP协议层(链路层)IP协议层(网络层)UDP协议和 ICMP(传输层)以及应用层。在移植好的LwIP协议栈中,通过在各层中建立相应功能的线程,实现数据的封装。底层软件为上层软件提供函数支持,上层软件利用底层软件完成应用程序的编写和实现。软件采用自底向上的设计方法逐步实现系统中各个函数的功能,各部分函数实现均采用模块化的设计方法。每个任务对应一个模块

  对每个任务单独进行设计后,最终由FreeRTOS操作系统统一管理,通过采用信号量和邮箱的方式实现多个任务之间的通信,软件各部分主要函数之间的关系如图3所示。

  在MC35SerialISR()中将接收的数据存放到xQRxChars队列中后,发送SemMC35Rx信号量来激活PPPRxTask()任务,通过对接收数据的解析,确定数据包的类型,然后由相应的函数对接收数据进行处理。

  如果接收的数据是应用程序的数据,将由IPRx()函数判断目标主机是否正确,再经过传输层解析数据从而判定对数据处理的应用程序。最后由应用程序解析数据并执行相应的功能,如将数据通过串口发送到主机、向数据采集系统发送控制命令、接收数据采集系统的数据并发送等。当接收队列中所有数据均处理完毕后,延时250ms如果还没有接收到数据,则任务通过等待信号量SemMC35Rx将自己挂起。数据的发送过程是一个相反的过程。

  应用程序根据需要的功能建立UDPTxTask()ICMPTxTask()任务,并将数据发送到xAPPTxQ队列中。相应的任务再调用IPTx()PPPTx()函数进行数据的封装并将数据发送到XqTxChar队列中,从而唤醒MC35SerialISR()中断程序将数据通过串口发送到MC35i中进行传输。为提高系统的实时性,本文中FreeRTOS采用可剥夺内核方式进行调度。采用FreeRTOS操作系统对任务进行管理简化了软件的编写难度,同时提高了程序的可读性和可移植性。

  总结

  基于GPRS m2m产品的无线数据传输以及远程监控系统是目前国内外研究的热点。本文采用完全免费的操作系统和TCPIP协议栈给出的系统设计方案具备成本低、性能好、可升级等优点,为远程监控系统相关领域的数据传输提供了一个可行的设计方案。

  参考文献

1 余先涛,张涛,莫易敏.基于GPRS技术的无线远程抄表的实现[J].机电一体化,2005,(2):52-55
2
摩托罗拉工程学院主编. GPRS网络技术[M]. 北京-电子工业出版社,2005
3 Siemens mobile.MC35i Hardware InteRFace DescripTIon. MC35i_HD_V00.02. 2003.2
4 www.FreeRTOS.Org
5 Simpson. The Point-to-Point Protocol (PPP). RFC 1661. 1994

相关推荐

u-blox收购SIMCom蜂巢式模块产品线

u-blox  wireless  m2m  无线模块  SIMTECH  2017-01-25

u-blox收购connectBlue 扩展Wi-Fi和蓝牙产品组合

u-blox  connectBlue  M2M  2014-05-23

Sierra Wireless推出基于Linux 的强大平台Legato™

Sierra  Legato  M2M  2014-02-28

解读4G终端产业链竞争力 上下游各有高招!

4G  终端  2013-12-27

盘点物联网初创型企业

物联网  M2M  2013-08-15

手机维修堪比看病 运营商终端服务令人困扰

手机  终端  2012-09-04
在线研讨会
焦点