|
摘要:本文分析了Rockwell公司的“Jupiter”GPS接收机的内部电路功能和性能特点,给出了其内部结构和引脚功能,提出了一个用“Jupiter”GPS实现定位系统电路的方案,并结合实际开发指出了设计参数的配置方法。 关键词:GPS接收机 单片机 串口通讯 1 概述 GPS (global positioning system)全球定位系统是利用美国24颗GPS地球卫星所发射的信息而进行导航、定位、授时等服务的系统。自1993年GPS系统向世界免费开放以来,得到了世界各地各行业的广泛应用。这种全球定位系统可以用于航空导航、航海导航、大地测量、石油地质勘探、地震预报、授时校准、自动校时、高程测量、时间同步、输变电工程、疏浚工程测量验收、车辆定位、车辆跟踪、车辆导向及防盗等领域。 Rockwell公司的“Jupiter”GPS/OEM接收机具有尺寸小、性能稳定等优良特征。可方便、自主地开发出各种GPS应用系统。 它具有如下特点: ●极其紧凑的GPS接收机尺寸:71mm×41mm×11mm; ●其射频输入为1575.42MHz,范围为-130dBw~-163dBw; ●具有12个并行卫星轨迹通道,能快速识别和再识别当前位置; ●支持真正的NEMA-0183数据格式; ●直接微分的RECMSC-104数据动态提供定位精确度; ●自适应门限检测,提高微弱信号的检测能力; ●其于SA的静态导航能力; ●可与过去的天线兼容,花费很小; ●3D到2D导航时能自动保持纬度; ●可以基于SPS获得最佳导航精确度; ●无初始化数据时可以自动开启冷启动程序; ●通过串行通讯,用户有很大的操作空间和配置能力; ●可接受用户通过主串口写入的初始化数据; ●具有三种启动方式:热启动、初始化、冷启动; ●用户可以选择卫星; ●用户可以选择卫星表面角; ●具有可选的RF连接头; ●最大测速可达500m/s; ●工作温度范围为-40℃~+85℃。 2 内部结构和引脚说明 图1 所示是“Jupiter”GPS/OEM接收机的内部结构图,它主要包括天线部分、接收部分、数据处理部分。这种接收器是通过两个串口与外部通讯的,串口 1为主串口,串口2为辅助串口(提供修正量)。其中,串口1为全双工方式,串口2为半双工方式。系统通过这两个串口同其外部器件或设备连接,也可以用软件编程或硬件设置来配置其串口特性。 接收数据的用户可以选择的存储方式有三种:SRAM、ROM、EEPROM。 接收机内部的一个10kHz的参考时钟输出和一个1pps(每秒一个脉冲)的时钟标输出可用来进行时钟同步,也可用于进行时钟校准。 系统可以通过RESET进行复位。 “Jupiter”GPS/OEM接收机采用20脚DIP封装,常用管脚的说明如表1所列。
表1 “Jupiter”GPS/OEM接收机主要管脚说明 | 管 脚 | 说 明 | 备 注 | | 2 | PWRIN_5 | 5V主电源 | | 5 | M_RST | 复位输入(低电平有效) | | 7 | GPIO2 | NMEA协议选择 | | 8 | GPIO3 | ROM缺省选择 | | 11 | SDO1 | 串口1输出 | | 12 | SDI1 | 串口1输入 | | 15 | SDI2 | 串口2输入 | | 18 | GND | 地 | | 19 | TMARK | 1PPS时钟标记输出 | | 20 | 10kHz | 10kHz时钟输出 |
3 数据格式和通讯设置 3.1 数据格式 “Jupiter”GPS/OEM接收机具有两种数据格式,一种是二进制方式,另一种是(也为ASCII码)方式,可通过设置GPIO2和GPIO3来选择不同的数据格式。选择不同的数据格式所对应的形式不同,消息长度和内容也不同。 二进制方式消息格式共有31种消息(其中14种输出消息,17种输入消息),每种消息必有一个消息头,且以“0xFF81”开始,数据段可选;NEMA方式消息格式共有11种消息(其中7种输出消息,4种输入消息),每种消息以“$”开头,以<CR><LF>结束。前者消息长度比后者长,后者比前者消息种类少,可根据实际需要来选择。 3.2 通讯设置 “Jupiter”GPS/OEM接收机与外设连接,用串口来进行通讯。其串口设置如表2所列。
表2 串口设置 | GPIO2 | GPIO3 | 消息格式 | 主串口波特率(BPS) | 奇偶 | 数据位 | 停止位 | 存储方式 | | 0 | 0 | NMEA | 4800 | 无 | 8 | 1 | ROM | | 0 | 1 | NMEA | 4800 | 无 | 8 | 1 | SRAM/EEPROM | | 1 | 0 | 二进制 | 9600 | 无 | 8 | 1 | ROM | | 1 | 1 | 二进制 | 9600 | 无 | 8 | 1 | SRAM/EEPROM |
4 典型应用 4.1 典型电路 由于“Jupiter”GPS/OEM接收机的串口与TTL电平兼容,故可直接与单片机的串口连接,具体连接电路如图2所示。 4.2 程序流程图 程序流程图如图3所示(假定为NEMA格式,即选择GPIO2=GPIO3=0)。 4.3 初始化程序 单片机初始化主要对串口初始化,设置波特率和串口工作方式。假定选择GPIO2=GPIO3=0,可将串口初始化为,串口方式1,定时器1置方式2,波特率为4800BPS,允许接收。其初始化程序如下: MOV SCON,#50H; MOV TMOD,#20H; MOV TH1,#0FAH; MOV TL1,#0FAH; SETB TCON.6; SETB EA; SETB ES; 4.4 中断服务程序 单片机可以采用中断方式接收GPS消息,收到中断后,为了挑选出有用的消息,可以先进行消息头识别。不同消息具有不同的消息头,可根据需要来选择,如RMC消息格式为: $GPRMC,hhmmss.ss,a,llll.ll,a,yyyyy.yy,a,x.x,x.x,xxxxxx,x.x,a*hh<CR><LF> 例如,接收到的消息如下: $GPRMC,185203,A,3339.7332,N,11751.7589,W,0.000,121.7,160496,13.8,E*55<CR><LF> 此消息共分13个部分,前面为消息头,接着是时间,经纬度,速度,高度,日期等消息。可以先判定消息头是否正确,然后再接收,既可局部接收某个量,也可全部接收下来再选择所需参量。 识别消息头程序如下: JB 21H.5,WORD6; JB 21H.4,WORD5; JB 21H.3,WORD4; JB 21H.2,WORD3; JB 21H.1,WORD2; JB 21H.0,WORD1; CJNE A,#24H,WORDCLR; SETB 21H.0; ;识别“$” SJMP ENDT; WORD1:CJNE A,#47H,WORDCLR; SETB 21H.1; ;识别“G” SJMP ENDT; WORD2:CJNE A,#50H,WORDCLR; SETB 21H.2; ;识别“P” SJMP ENDT; WORD3:CJNE A,#52H,WORDCLR; SETB 21H.3; 识别“R” SJMP ENDT; WORD4:CJNE A,#4DH,WORDCLR; SETB 21H.4; ;识别“M” SJMP ENDT; WORD5:CJNE A,#43H,WORDCLR; SETB 21H.5; ;识别“C” SJMP ENDT; WORD6; ......;数据接收与处理程序 WORDCLR:MOV 21H,#00H; ENDT:RETI; 5 结束语 “Jupiter”GPS/OEM接收机具有较高的准确度。由于城市的高层建筑比较多,信号多径传输明显,因而没有顶盖或运动的运动媒体上运行效果很好。城市有些高层方位会出现接收盲区(很小范围),使用时应该注意。 这种GPS接收电路可以由硬件来设定模式,部分参数还可通过主串口送到接收电路进行设定,操作方便、灵活。本文介绍的电路及设定参数都经过了实践检验,数据接收稳定,误差小。 () |