首页 » 技术文章 » 基于CDMA的车载终端数据通信设计

基于CDMA的车载终端数据通信设计

作者:  时间:2011-01-07 15:15  来源:EDN

   数据传输实例

  终端发送的数据包如下:

  01780102000146003030407 5345460008184101641000105 03010701221632303903.6741N1215 3.1326E27990357079425-70-66-632 004070031040828531405011144 1801194100068722100694210807 02200906902012

  数据包中0178为报文长度;01为版本号;02为命令字;0001为数据包序列号;460030304075345UIM卡号;460008184101641SIM卡号;00010503为系统工作状态字;01为后面跟1条数据(每条长度126)

  0701221632303903.6741N12153.13 26E27990357079425-70-66-63200407003104082853140501114 418011941000687221006942 1080702200906902012为一条数据,依次为时间、经纬度、C网质量参数和G网质量参数。

  注意事项

  拆包现象

  模块支持在TCP通道一次发送1024字节数据,但模块内部发送缓冲区为536字节,使用+ZIPSEND命令一次发送1024字节数据时,发送的1024 字节数据拆分为2socket数据先后传送给监控中心服务器。可通过降低一次发送的数据量来避免此现象,即一次传输不多于536字节。

  连包现象

  如果两条+ZIPSEND指令时间间隔过小,或前一包数据还未发送成功时模块收到新的数据发送命令,则模块把两条指令中的数据合并为一条 socket数据发送。此时,可以从两方面解决此问题:一是模块发送端每发送一个数据包后,等待监控中心返回确认消息后再继续其他工作,这样只能最大限度地防止上述现象的发生;另一方面是在监控中心接收端对上述现象进行容错处理。

  此外,如果监控中心发送两条数据的时间间隔太短,模块接收数据时会出现中心发送的两条数据合并,以+ZIPRECV消息从串口返回,终端处理TCP数据时要考虑此问题。

  异步消息的返回

  模块返回的异步消息主要为TCP通道返回的数据。该消息的返回格式在前文中已说明。由于异步消息返回时间的不确定性,该消息会以两种方式从串口输出。一是单独返回。二是向模块发送AT指令后,异步消息随该指令的返回值一同返回,例如,当发AT指令查询拨号连接状况时,模块在TCP通道收到数据,则返回如下:rn+ZPPPSTATUS:OPENEDrnrnOK rn+ZIPRECV:124002401810 000070312120016rn。在接收和处理异步数据时应充分考虑异步消息的这两种返回情况,以免丢失数据。

  结语

  本文详细论述了如何通过CDMA模块MG815+的数据传输功能实现车载终端与监控中心的通信,并给出了软件设计流程。最后对实测过程中遇到的问题提出相应解决方案,这对相关开发人员有很大的参考价值

相关推荐

Sprint选择u-blox为首选模组供应商以长期支援CDMA网路部署

Sprint  u-blox  CDMA  3G  2013-04-26

高通下注中国市场:放下身段进军低端市场

高通  手机  CDMA  2012-12-26

中兴通讯断臂求生再卖子公司

中兴通讯  CDMA  3G  2012-11-19

中电信收购CDMA网络为降高额租赁费

CDMA  网络  2012-08-24

华为年收入破2000亿直逼龙头爱立信

华为  CDMA  2012-04-26

中国电信携手高通共绘无线未来

高通  3G  CDMA  2012-01-19
在线研讨会
焦点