EDN China > 技术文章 > 通信 > 网络传输与交换 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

用IP2022实现支持GPRS的GPS系统

来源:单片机及嵌入式系统应用/东北大学 陈志军 沈阳航空工业学院 王 丹?? 2006年05月12日 ?? 收藏0



????????????? 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],如果在这段时间中再没有小数据到来,那么将其发出,否则将数据进行累计后发出。当然有些系统要求立即发出,那么也可以通过配置取消这种功能。经这样实现后,效率有了很大的提高,具体的效果可以参考后面的实验数据。


?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

GPRS? GPS? 远程数据传输? IP2022?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈