- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
MIS系统中GPS15L模块的应用
GPS15L的串口1与PC的串口连接示意图如图1所示。
使用时,可将GPS15L的串口1与S3 C2410A的串口2进行连接。由于ARM主控板提供的串口是孔状的,所以,GPS15L要和针状的串口接头进行连接,连接时可将图1中的数据出线和数据入线两线对调,并分别连接到针状串口接头的PIN3(DATAOUT)和PIN2(DATAIN)。
2 GPS数据提取程序的设计
2.1 串口通信程序的设计
由于GPS模块是通过串行口1与S3C2410的串口2进行连接来进行通信的,因此,本文设计了Linux系统下的相应串口通信程序。
在整个操作过程中,与串口的通信只用到了3个功能,即打开、读和关闭串口。
(1)打开串口
在Linux下,所有的硬件设备都被看成是普通文件,系统中每一个设备都用一种特殊的设备相关文件来表示,并存放在/dev/目录下。串口文件就位于/dev下,串口一为/dev/ttvS0,串口二为/dev/ttyS1,打开串口可通过使用标准的文件打开函数来进行操作,具体如下:
(2)读串口
由于在整个通信过程中,需要的只是从GPS模块读取数据,所以,这里只用到读串口程序,其代码如下:
(3)关闭串口
关闭串口实际就是关闭文件,其代码如下:
close(m_nFDGPSDevice);
2.2 GPS数据提取
一般情况下,GPS接收机只要处于工作状态,就会源源不断地把接收到的信息通过串口传送到主控制板中。它的每一条NMEA语句都是以"rdquo;为开始标志、以"\n"为结束标志。接收到的GPRMC语句格式为:
其中,CR、LF分别表示ASCII字符"回车"和"换行",hh代表了"rdquo;和"*"之间所有字符的按位异或值(不包括这两个字符)。其含义见表1所列。
通过读串口得到的数据可能会出现两种情况,一种情况是每次读到的数据中都会有完整的GPRMC语句,另一种情况是GPRMC分两次获得。获得完整的句子之后。接着判断得到的句子是否为GPRMC语句(即判断句子是否以GPRMC开头),如果是GPRMC语句,再就开始判断每个数据格式是否正确,包括表1中的UTC时间格式、定位有效性、纬度格式、纬度半球表示方法、经度格式、经度半球表示方法、UTC日期格式信息等,最后还将"rdquo;和"*"之间的所有字符按位异或(不包括这两个字符),并计算校验和,看其是否为hh值("*"之后的值)。
来源:中电网
上一篇:降低蓝牙装置的功耗的方法
下一篇:基于直接提取载波技术的平方环设计