作者:白政民 蔡子亮 来源:微计算机信息
摘要:本文采用日本古野公司推出的GPS-OEM接收板GN-77N的内部电路功能及特点,结合AT89C52单片机设计出GPS系统的时钟信息接收和显示电路,并给出了数据接收、格林威治时间转换成北京时间及显示程序。
关键词:GPS ;GPS OEM;NMEA格式;单片机
GPS(global positioning system)全球定位系统是利用美国24颗GPS地球卫星所发射的信息而进行定位、导航、授时等服务的系统。自1993年GPS系统向世界免费开放以来,得到了世界各地各行业的广泛应用。GPS系统广泛地应用在导航、大地测量、精确授时、车辆定位及防盗等领域。本文介绍使用日本古野公司的GPS-OEM接收板GN-77N及AT89C52单片机实现时钟信息接收和显示的设计方法。
1 系统的硬件接口
GN-77N是日本古野公司推出的GPS-OEM接收板,该接收板为并行8通道接收机,可同时跟踪8颗卫星,具有高精度授时、定位速度快、超低功耗、超小体积、插针式安装、超强的抗电磁干扰能力等强大功能,在各种各样的应用过程中为用户提供最佳的解决办法。
1.1 GN-77N的引脚功能
该接收板的引脚功能及说明如表1所示。
表1 GN-77N接收板的引脚功能及说明
接口编号 |
信号名称 |
功 能 |
说明 |
1 |
RD1 |
串行输入1 |
NMEA-0183格式 |
2 |
TD1 |
串行输出1 |
NMEA-0183格式 |
3 |
GND |
地 |
|
4 |
VCC |
主供电电源输入 |
5V±5% |
5 |
VBAK |
备份电源输入 |
2.5~5.5V |
6 |
1PPS |
1秒脉冲输出 |
|
7 |
VANT |
天线供电 |
5V±5% |
8 |
RD2 |
串行输入2 |
RTCM-104 |
9 |
TD2 |
串行输出2 |
RTCM-104 |
1.2 AT89C52单片机和GPS的时钟信息显示系统硬件电路
系统采用AT89C52单片机,12MHZ晶振,串口方式1接收GPS信息,P1口和P2口及74LS138作为6位七段共阳LED显示接口,可以轮流显示实时时间及其它GPS信息数据。系统硬件电路连接图如图1所示。
图1系统硬件电路连接图
2 系统的软件接口
2.1 GN-77N模块数据格式
本设计中GN-77N的通信波特率设为4800,1个起始位,8个数据位,1个停止位,无奇偶校验。使用串口1的NMEA-0183格式输出。NMEA-0183是美国海洋电子协会为海用电子设备制定的标准格式,数据代码为ASCII码字符,其中GPGGA语句中传送的格式为:
$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*hh<CR><LF>其中
$GPGGA为起始引导符及语句格式说明(本句为GPS定位数据),<1> 为UTC时间,时时分分秒秒格式。
例如:$GPGGA,104530,3105.3535,N,12207.1258,E,1,03,13.8,46.5,M,12.3,M,,*4A传送的信息,意思为UTC时间为10时45分30秒,位置在北纬31度5.3535分,东经122度7.1258分,普通GPS定位方式,接收到3颗卫星,水平精度13.8米,天线离海平面高度46.5米,所在地离地平面高度12.3米,校验和为4AH。
2.2时钟信息显示系统的软件设计
系统程序包括主程序、数据接收子程序、时间转换子程序和显示子程序。设接收到的时间信息放在显示缓冲区中,显示缓冲区的地址为60H,61H,…,65H,依次存放时时分分秒秒。程序如下:
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN: MOV PSW,#00H
MOV PCON,#80H ;波特率翻倍2400×2=4800BPS
MOV SCON,#50H ;设置成串口1方式
MOV TMOD,#20H ;T1工作在模式2上
MOV TH1,#0F4H ;设置初值,按2400BPS
MOV TL1,#0F4H ;设置初值,按2400BPS
SETB TR1 ;启动定时器T1
CLR ES
CLR TI
CLR RI
LOOP: JNB RI,$
LCALL INT
LJMP LOOP
INT: LCALL INT1
LCALL RECEIVE
LCALL SETDATA
LCALL DISP
RET
INT1: LCALL SS ;判断$GPGGA
XRL A,#24H
JZ INT2
LJMP INT1
INT2: LCALL SS
XRL A,#47H
JZ INT3
LJMP INT1
INT3: LCALL SS
XRL A,#50H
JZ INT4
LJMP INT1
INT4: LCALL SS
XRL A,#47H
JZ INT5
LJMP INT1
INT5: LCALL SS
XRL A,#47H
JZ INT6
LJMP INT1
INT6: LCALL SS
XRL A,#41H
JZ INT7
LJMP INT1
INT7: LCALL SS
RET
RECEIVE: LCALL SS ;时间接收,时分秒
MOV 60H,A
LCALL SS
MOV 61H,A
LCALL SS
MOV 62H,A
LCALL SS
MOV 63H,A
LCALL SS
MOV 64H,A
LCALL SS
MOV 65H,A
RET
SS: JBC RI,SS1
LJMP SS
SS1: MOV A,SBUF
RET
SETDATA: MOV A,60H ; 时间转换子程序
……
SETH: MOV A,60H
……
ADD A,#8 ;把UTC时间转换成北京时间
MOV B,A ;如果时间大于24则减24
SUBB A,#24
JC SETH1
LJMP SETH2
SETH1: MOV A,B
SETH2: MOV B,#10
DIV AB
ADD A,#30H ;把处理后的字符转换成ASCII码
……
RET
DISP: MOV R0,#60H ;显示子程序
……
RET
3 结束语
由于计算机技术、网络技术、通信技术、GPS定位技术等相关技术的发展以及GPS技术所具有的全天候、高精度和自动测量的特点,作为先进的测量手段和新的生产力,已经融入了国民经济建设、国防建设和社会发展的各个应用领域。因此开展对GPS系统的研究和应用,将极大地提高生产力,并产生巨大的经济效益。本文介绍的基于单片机和GPS的时钟信息显示系统可以获得精确的时间和定位信息,为人们的日常生活提供便利,避免了因时钟不准确而带来的不便。同时,也为GPS系统的应用开拓了一个较好的用途,具广泛的现实意义。
本论文的创新点在于:时间信号的准确与否,直接关系到人们的日常生活、工业生产和社会发展。本文介绍的基于单片机和GPS的时钟信息显示系统,不仅能够从GPS导航系统获取精确时间信息,而且具有硬件电路简单、成本低廉、编程方便、性能稳定的特点,具有一定的使用价值。另外,对于纬度、经度及其它GPS信息数据的接收与处理,只需在软件部分增加响应的子程序即可实现。
参考文献:
[1]王惠南,GPS导航原理与应用.北京:科学出版社,2003
[2]何立民,单片机应用系统设计.北京:北京航空航天大学出版社.1993
[3]李光飞,GPS定位信息的单片机控制显示系统,《微计算机信息》(测控自动化)2004年第20卷第11期
[4]李铎,应用GPS接受板研制高精度系统时钟,《微型计算机信息》1999年第15卷第4期
[5]刘晓等,基于单片机采集GPS数据系统的设计,青岛科技大学学报,2006.02