用IP2022实现支持GPRS的GPS系统

发布于:2007/4/6 9:31:51 | 445 次阅读

      
摘 要:随着移动GPRS业务的开展,GPRS成为将现场采集来的数据远程传输回数据中心的一种比较好的解决方案。本文将介绍一种GPS系统,并简要介绍其中所涉及的GPS终端电路、终端软件、服务器等关键技术。利用该系统可以将GPS定位信息通过GPRS网络送回GPS服务器,并可将服务器的管理数据透明地下发到GPS终端,同时支持对GPRS终端的远程管理。该系统的实现为GPS用户提供一种有效的解决方案。

关键词:GPRS GPS 远程数据传输 IP2022

引 言

  随着GPS在社会生活中应用范围的日益广泛,人们对它的研究也日益深入。GPS数据的远程传输作为GPS中的一个重要部分,也伴随通信技术的发展而不断变化,从原先的集群方式到传呼方式再到后来的短信方式,无不反映着人们对性价比的追求。

  随着移动GPRS业务的开展,利用GPRS来进行GPS数据传输的优势慢慢的显现出来。相对于传统的远程传输方式(例如通过电话拨号)来说,GPRS数据传输具有突出的优点。一方面,GPRS资费比较便宜,可以采用多种资费方案。对于大数据量业务的用户可以采用包月的方式,对于小数据量业务的用户可以根据通信的数据量和提供的服务质量进行计费。另一方面,在GPRS网中,用户只需与网络建立连接,就可长时间的保持这种连接,并只在传输数据时才占用信道并被计费,保持时不占用信道不计费。这样,数据采集点不用频繁建立连接,也不必支付传输间隙时的费用,而且GPRS能够较好地支持频繁、少量突发型的数据业务。此外,GPRS网络接入速度快,提供了与现有数据网的无缝连接。由于GPRS网本身是一个分组型数据网,支持TCP/IP、X.25等协议,因此无需经过PSTN等网络的转接,就可以直接与分组数据网(IP网或X.25网)互通[1],而且接入迅速,仅需几秒,快于电路型数据业务。

  对于高层协议,采用TCP/IP协议,较以前的无线数据网络(集群,双向传呼,GSM短信息)而言,网络接入更加直接方便。

  本文将介绍一种支持GPRS的GPS系统,并且对其中所涉及到的硬件、软件设计方案给出了详细的描述。通过该模型,可以比较好的实现GPS定位信息数据远程传输。

1 系统模型

  图1是本方案的系统模型。从GPS终端采集来的定位数据,经过GPRS网络透明地传输到远程GPS服务器,远程GPS服务器通过对GPS数据的解码便可以获得定位信息。其详细的流程可以概括如下:
   
① 首先,GPS终端发出包括有APN号码的GPRS登录请求,登陆到 GPRS网络;

② 位于移动的SGSN根据登陆请求中的APN,找到登记的Radius服务器,并将用户信息送至Radius服务器;

③ Radius服务器根据所传递过来的信息,确认是否是合法用户发来的请求,如果是合法用户,则根据配置为其分配一个IP地址;

④ Radius服务器向GGSN发送携带用户地址的确认信息;

⑤ GPS终端得到了IP地址,就可以根据配置(作为服务器端或者客户端)与GPS服务器建立起TCP连接;

⑥ 连接建立后,GPS终端采集到的定位信息数据就会通过建立的TCP数据连接透明地传输到GPS服务器;

⑦ 当GPS服务器有控制命令或其它数据要向下发送时,可以通过TCP连接传送到GPS终端;

⑧ GPS终端根据配置可以作为服务器端或者客户端建立与用户管理服务器的数据连接,用户管理服务器通过该连接对GPS终端进行监控、管理以及远程更新系统内核程序。

2 GPS终端的设计

2.1 硬件设计

  GPS终端的电路框图如图2所示,GPS终端的是一块负责TCP/IP数据传输的网络处理器:IP2022芯片。IP2022是UbiCom公司的高性能网络处理器,具有100MIPS的处理能力,并专门针对网络应用进行了优化。在IP2022芯片中集成了两个全双工的串化器/解串器(Ser/Des)硬件单元[2],能直接与各种常用接口相连。这种功能使其能够实现片内10Base-T以太网、USB以及其它各种快速串行协议。由于拥有Ser/Des硬件单元,IP2022也便于从一种协议转换到另一种协议,因此比较适合于实现GPS终端。
     
  IP2022的软件模块包括USB、UART、I2C、SPI以及一个完整的TCP/IP堆栈,它能够在执行应用程序的同时,提供高速计算、灵活的I/O控制和高效的数据处理功能。

  在本系统中,主要应用了IP2022的两个Ser/Des硬件单元以及其TCP/IP协议栈。两个全双工的Ser/Des硬件单元经过串口转换电路(为MAX232)转换成为两个标准的RS232接口,通过这两个RS232接口便于与GPS模块以及GPRS模块的通信。

  系统时钟模块为硬件系统提供工作所需要的时钟脉冲,这部分比较简单,但是需要注意两个方面。一是晶振的选择,虽然IP2022也支持无源晶振,但是在实际应用中发现还是有源晶振与IP2022的兼容性好一些,所以在可能的情况下还是选择有源晶振比较好。二是晶振频率的选择,由于串口通信的波特率是对晶振频率分频而成,如果晶振频率选择不当,在串口通信时会出现乱码。经试验和计算所得,4.9152MHz的晶振可以很好的支持多种常用波特率。

  程序的写入和调试是通过在线编程接口实现的,IP2022支持在线编程和调试,该部分主要把IP2022的编程接口引出,加以适当的隔离保护,并通过SPI和并口的转换电路与调试机的并口相连接。

  在本系统中,内部电压有两种,一种是接口设备所需要的3V,另一种是IP2022所需要的2.5V。这两种电压是经过电源转换模块转换而成。由于GPRS模块在数据发送的时候瞬间电流很大,电源转换模块也提供了足够的功率和必要的保护。

  GPRS数据模块实现GPRS传输的功能,相当于普通的Modem,市面上比较流行的有Motorola的G18。
在与GPRS数据传输模块通信时,没有采用直接操纵GPRS数据传输模块接口,而是通过RS232连接,极大的降低了对GPRS数据传输模块的依赖性,用户可以根据需要,来选定GPRS数据模块。

  GPS接收器采用了Motorola公司的M12,M12通过串口与RS232接口单元相连接。

2.2 软件设计

  在GPS终端软件设计方面,为了便于以后扩展,采用了严格的分层结构,具体的软件结构如图3所示。
         
2.2.1 串口驱动模块

  利用串口驱动模块来完成对串口的操作,向上层提供对串口参数配置的功能,并在有数据收到或者发送完毕的时候通过IndicateReceive、IndicateSend回调函数向上层报告,上层软件可以调用Send、Receive来进行收发。

2.2.2 网络驱动模块

  在硬件中的GPRS模块只是提供了一种硬件信道,与服务器之间的数据连接必须通过软件完成。在通信时,软件首先通过GPRS模块特有的命令(一般为AT+CGMD)与GPRS网络连接,再通过PPP协议建立数据链路,就可以通过TCP/IP协议与远程的服务器通信了。这一部分与网络操作的功能都放在网络驱动模块中加以实现。与串口驱动模块类似,网络驱动模块也提供了数据传输的一些服务。

2.2.3 桥接模块

  由于串口是一个慢速连接,主机与串口的通信有时甚至是单字节操作,如果对于每一个这样小的通信都单独通过一个TCP包发送的话,譬如说一个字节的数据,这将产生一些41字节的分组:20字节的IP头,20字节的TCP头以及1字节的数据。如果在高速网络上(例如局域网),这一些小分组通常不会引起麻烦,但是如果在GPRS这样的网络上(平均往返时间高达数百ms)[3],则会增加拥塞出现的可能性,并将会使网络的效率极其低。在通常的TCP/IP实现中,一般采用Nagle算法来解决这个问题[4]。但是在Ubicom的协议栈中没有这个功能,因此,必须自己实现这个算法。考虑到对下层硬件结构的无依赖性,笔者将其放在桥接模块中实现,而不是放在网络驱动模块中实现。在算法实现中,当有串口数据到来时,对于小分组,并不立即就将其发出,而是等待一段时间(200s左右)[5],如果在这段时间中再没有小数据到来,那么将其发出,否则将数据进行累计后发出。当然有些系统要求立即发出,那么也可以通过配置取消这种功能。经这样实现后,效率有了很大的提高,具体的效果可以参考后面的实验数据。

2.2.4 辅助模块

  在上面一些模块的介绍中可以看到,其中有一些关键性的数据必须支持用户自己配置,例如串口通信速度、停止位、网络驱动模块中GPRS所要连接的APN、账户、密码、工作模式(是作为服务器运行还是客户端运行)、静态IP还是动态IP等。这一部分数据由配置模块存储在外部存储器里,每次系统启动的时候再由配置模块载入。在辅助模块中还包括一个重要的子模块:远程管理模块,它实现对GPS终端的远程管理,包括远程跟踪和远程更新程序。系统的运行情况通过统计模块进行统计,然后可以通过远程管理模块进行上报。

2.2.5 系统监控模块

  对于放在远程的一个无人看管的系统来说,最重要的一点就是容错能力,必须能够在任何错误的情况下自动恢复到正常运行状态,这一部分就是通过系统监控模块实现的。在GPS终端中,经常出现的异常包括有TCP连接中断和网络连接中断,这两种错误是有区别的,解决的方法也不一样。TCP连接中断指的是TCP连接进入异常状态,不能在该连接上进行数据的收发工作。这种错误产生的原因是GPRS网络有时会进入伪死状态,而导致虽然还在网络上,但是数据的收发工作无法进行。通过在每个连接上设置一个收发超时计时器可以发现这种错误。当有数据传输时即复位计数器,如果计数器超时,则表明TCP连接中断,此时应该根据工作模式而采取不同的处理。如果是工作在客户端模式,需要再次与服务器连接,如果工作在服务器模式,则只需要简单的断开连接即可。

  对于网络连接中断的情况探测起来比较困难,一般是通过监测长时间没有数据通信来判断。如果一旦发生此类错误,则需要重新进行网络的连接工作。

  由于软件难免会有一些未曾发觉的错误,在发生此类错误的时候则由硬件看门电路复位系统,并且在下次软件启动时将此类错误发生过的信息远程传送到服务器。

3 服务器端软件的设计

  GPS服务器程序可以采用两种方式与远程的GPS终端建立连接,一种是采用TCP方式,另外一种是采用串口通信方式。在采用串口通信方式时,需要编制一个虚拟串口驱动程序,将一个TCP连接模拟成为一个串口,这样服务器就可以像操纵M12一样对远程的GPS终端进行操作了。

  GPS服务器和远程GPS终端之间的通信协议采用了原始的M12通信命令,模块在GPS服务器和M12之间进行了数据透明转发的作用。M12支持有两种通信数据格式: 一是Motorola二进制数据指令格式,在采用Motorola二进制格式时,通信速率可以保证在9600bps;另一种是NMEA-0183格式,其通信速率只有4800bps,同时在初始化GPS时还需要加入由Motorola二进制转化为NMEA-0183的指令。因此建议使用Motorola二进制数据格式。

  在此设计当中,关键的环节在于两个方面,一是连接的建立,二是M12的初始化。GPS终端返回的定位信息数据格式如下:

@@Eamdyyhmsffffaaaaoooohhhhmmmmvvhhddtntimsd imsdimsdimsdimsdimsdimsdimsdsC<CR><LF>。
时间信息:m月,d日,yy年, h小时,m分,s秒。 位置信息:aaaa纬度,oooo经度,hhhh椭球高度。

   在所有信息终止的<CR><LF>前的一个字节为校验和,是所有信息字节的“异或”。

  收到数据后,只要对数据进行解码,就可以获得定位信息以及时间。

4 服务器端的考虑

  在GPRS联网中,必须注意的一个概念是APN。在登陆GPRS时,采用的APN不同,GPS终端和服务器之间所能采用的方式也有所不同。

  如果采用公网APN(cmnet),那么服务器端只要有一固定公网IP即可,此时Radius服务器由移动公司提供,GPS终端上网后的IP也是由移动公司的Radius服务器随机分配的。GPS终端与服务器必须经过NAT(Network Address Translation,网络地址变换)后才能通信,而从我们数据服务器看过去的GPS终端的IP地址也不是它的真正地址。因此,GPS终端与数据服务器之间的连接只能由GPS终端发起,换言之,即GPS终端只能工作在客户状态。在采用公网时虽然可以节省开支,但需要考虑安全性问题,因为这时候是与Internet直接连通的,并且客户之间也不可以直接访问。

  与公网APN相对应的一种方式是采用私有APN,即用户向移动申请一个APN号。在采用这种方式时,所有登陆这个APN的用户可以通过IP地址互相访问,因此在数据量比较小的时候甚至可以采用一个也使用GPRS终端的用户做服务器。Radius服务器的设置比较灵活,可以采用移动公司的Radius服务器,也可以自建一套Radius服务器。自建Radius服务器的好处就是GGSN会将验证信息发送给我们,我们可以根据号码或者其它信息为其分配一个静态IP地址,非常适合GPS终端作为服务器运行。

   Radius服务器可以采用一些商用的服务器,但从实践中看,自己编写一套Radius服务器可能更加适合GPRS。

5 结 论

  对系统进行了全面的测试,在传输效率上面,本系统表现的非常良好,连接上网络的时间仅需要3s左右。在使用Class 12的GPRS模块时,传输速率可以达到38kbps的上传速度以及44kbps的下传速度。对于一般的数据采集设备能够保证数据的及时传输,在发生GPRS网络短暂失效时,可以在网络恢复后的10s内重新在线,基本上保证了无间断传输,因此可以满足GPS用户的需要。

  由于本系统在设计上严格地进行了功能模块隔离,因此可以作为一个原型系统加以扩展,以支持更多的GPS功能。

                 参考文献
1 韩斌杰. GPRS原理及其网络优化 [M]. 北京:机械工业出版社,2003
2 IP2022 Silicon Tech Docs [EB/OL]. https://portal.ubicom.com/,2003
3 文志成. 通用分组无线业务——GPRS [M]. 北京:电子工业出版社,2004
4 W.Richard Stevens,等. TCP/IP详解 卷1:协议[M]. 北京:机械工业出版社,2000
5 Dauglas E Comer,David L Stevens. 用TCP/IP进行网际连接. 第2卷. 设计实现和内部构成 [M]. 北京:电子工业出版社,1998

出处:《单片机与嵌入式系统应用》 

参与讨论
后参与讨论

//评论区

推荐阅读

智能网联汽车国际标准法规协调专家组(HEAG)召开工作会议

近年来智能网联汽车快速发展,新技术不断涌现,与相关产业融合度持续提升,正在推动全球汽车产业发生深刻变革。为应对此种形势,欧、美、日等汽车工业发达国家和地区都加大了智能网联汽车的国际标准法规协调的参与力度,在联合国世界车辆法规论坛(UN/WP.29)和国际标准化组织(ISO)层面,智能网联汽车相关国际标准法规协调活动正快速推进。 为更有效地支撑上述组织的国际标准法规协调活动,2017年全国汽车标准

0215jiejie | 发布于:2022-12-01 0评论 0赞

苹果推出搭载M2芯片的新款iPad Pro 799美元起售

据苹果官网,苹果推出搭载M2芯片的新款iPadPro。 11英寸wifi版起售价为799美元,wifi+蜂窝网络版起售价为999美元;12.9英寸wifi版起售价为1099美元,wifi+蜂窝网络版起售价为1299美元。

0215jiejie | 发布于:2022-10-19 0评论 0赞

新能源汽车领衔 “中国智造”加速登陆欧洲市场

全球五大车展之一巴黎车展时隔四年再度启幕。在这场被视为“全球汽车行业风向标”的盛会上,国内外汽车品牌云集,长城汽车、比亚迪等再次领衔中国汽车出海。 长城汽车欧洲区域总裁孟祥军表示:“欧洲是长城汽车最重要的海外市场之一,巴黎车展是长城汽车向欧洲市场展示GWM品牌和产品的最佳机会。长城汽车正在研究汽车行业碳排放的整个生命周期,到2025年,将推出50多款新能源产品,全力支持可再生能源使用,为全球用户

0215jiejie | 发布于:2022-10-19 0评论 0赞

严监管时代来临,电子烟“通配”大战走向何方?

针对通配烟弹厂商的一系列诉讼的结果,将对生产通配烟弹的品牌未来在电子烟行业的发展产生深远影响。 10月1日,《电子烟强制性国家标准》正式实施,中国电子烟监管全面生效。而在电子烟行业进入规范化、法治化阶段前夕,一场围绕着通配烟弹的争论在行业里发酵。 “通配”是电子烟从业者约定俗成的概念。换弹式电子烟由烟杆和烟弹组成,“通配”烟弹指的是非品牌商生产、可与品牌烟杆匹配使用的烟弹。多位业内人士表示,被

0215jiejie | 发布于:2022-10-19 0评论 0赞

Bourns 全新大功率分流电阻器

采用金属感应引脚,专用于大电流应用中进行精确测量 全新分流电阻器专为电池管理系统、大电流工业控制和电动汽车充电站 提供高可靠性、高成本效益的解决方案 美国柏恩Bourns全球知名电子组件领导制造供货商,宣布新增12款CSM2F系列功率分流电阻器,扩展其产品组合。全新系列采用铆接通孔金属传感引脚,可满足大电流应用中对电压测试点精确定位日益增长的需求。最新型Bourns?CSM2F系列分流电阻器

0215jiejie | 发布于:2022-10-18 0评论 0赞

请尊重元宇宙“这个筐”

元宇宙是个筐,啥都往里装,但区别在于有的像聚宝盆,有的像垃圾桶。国庆假期刚结束,中青宝“90后”董事长李逸伦便亲自上阵,玩起了元宇宙婚礼。靠着老板首秀和代言,中青宝顺势推出“MetaLove元囍”App,正式进军元宇宙婚礼赛道。 就产品而言,如同其他元宇宙产品,李逸伦的元宇宙婚礼“新奇与吐槽齐飞”:有人说是有趣的尝试,有人则认为像QQ炫舞结婚系统。要知道,QQ炫舞是一款推出了十余年的老游戏。

0215jiejie | 发布于:2022-10-13 0评论 0赞

边缘计算:突围商业模式痛点

截至8月末,中国5G基站总数达210.2万个,中国5G发展已经进入下半场。随着5G加速融入千行百业,互动直播、vCDN、安防监控等场景率先大规模落地,车联网、云游戏、工业互联网、智慧园区、智慧物流等场景也快速走向成熟,这些更大流量、更低时延、更高性能的场景涌现,对边缘计算的刚性需求势必爆发。 GrandViewResearch预测,即使在新型冠状病毒肺炎疫情肆虐全球的背景下,边缘计算和5G网络市

0215jiejie | 发布于:2022-10-13 0评论 0赞

商务部回应美商务部升级半导体等领域对华出口管制并调整出口管制“未经验证清单”

商务部新闻发言人10日就美商务部升级半导体等领域对华出口管制并调整出口管制“未经验证清单”应询答记者问。 有记者问:近日,美国商务部在半导体制造和先进计算等领域对华升级出口管制措施。同时,在将9家中国实体移出“未经验证清单”过程中,又将31家中国实体列入,请问中方对此有何回应? 对此,商务部新闻发言人回应称,中方注意到相关情况。首先,通过中美双方前一阶段共同努力,9家中国实体zui终

0215jiejie | 发布于:2022-10-13 0评论 0赞

TCL华星官宣与奔驰合作:推出全球首款横贯A柱的车载显示屏

今年1月,奔驰带来了VISIONEQSS概念车,其中控台采用了一块完全无缝的47.5英寸曲面显示屏,横贯整个A柱,令人印象深刻。今天,TCL华星正式官宣与奔驰达成合作,并认领了VISIONEQSS上这块全球首款横贯整个A柱曲面的车载显示屏。 根据TCL介绍,这款显示屏采用了完全无缝的超薄一体化设计,将仪表盘、中控与副驾娱乐显示融为一体,并能够与3D实时导航系统相辅相成。 同时,这块显示屏还采用

0215jiejie | 发布于:2022-10-12 0评论 0赞

半导体板块暴跌 谁最受伤

国庆假期后首日开盘,上证综指时隔5个月再次失守3000点,与此同时,半导体板块也再度走低,其中,北方华创、雅克科技等个股跌停。10月11日早盘期间,半导体板块持续下挫,北方华创、雅克科技再度跌停。截至下午收盘,北方华创、雅克科技维持跌停状态,华海清科、拓荆科技-U、盛美上海、清溢光电、海光信息的跌幅则超10%。同日,半导体板块中的119只个股中超五成呈现下跌趋势。 在半导体板块遭遇下挫的同时,北

0215jiejie | 发布于:2022-10-12 0评论 0赞