GPS授时系统的软件设计
系统软件主要分为初始化、GPS数据接收存储、数据传送子程序3部分。软件流程如图4所示。
首先将GPS OEM接收板通过串口与PC连接好,接通主电源和备用电源,用自带的接收软件SNSRCFG设置初始化信息,只输出一条GPRMC语句,保证每秒接收存储时间信息的精度;然后转化为NMEA格式,连接上传,则初始化信息就自动将被保存在板内的永久性存储器中,下次上电时将会自动生效。如需更改则要再次修改参数和再次上传。
系统上电后硬件复位,设置UART的波特率为19200b/s,数据通信格式为10位异步收发;授时接收系统进入正常工作状态,单片机(AT89S51) 通过RS-232串行方式接收GPS OEM板的卫星数据。通过查询字头,接收OEM板GPRMC输出语句中的时、分、秒和年、月、日信息。没有用的信息跳过。由于接收到的是UTC时间.出于习惯考虑,将UTC时间转化为北京时间。
本地时间=GPS时间+时区值
北京位于第8时区,时区值为+8。将接收到的时间信息转化为北京时间,按日、月、年、时、分、秒的顺序存储在片内30H到3BH这12个单元中。然后用 MOVX指令将数据送到片外双口RAM的0C00H到0COBH中,供另外需要时间信息的CPU调用。图5为某次仿真结果,时间是北京时间2005年4月 15日9时lO分8秒。