微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 基于IP2022芯片可支持GPRS的GPS终端设计

基于IP2022芯片可支持GPRS的GPS终端设计

时间:09-16 来源:互联网 点击:

本文将介绍一种支持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)硬件单元,能直接与各种常用接口相连。这种功能使其能够实现片内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协议与远程的服务器通信了。这一部分与网络操作的功能都放在网络驱动模块中加以实现。与串口驱动模块类似,网络驱动模块也提供

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top