1.1 ARM微处理器STM32f103rbt6
STM32f103rbt6是意法半导体公司一款基于Conex-M3内核的32位微控制器,它主要应用于智能仪表、变频器、工控网络、高端家电和操作界面等领域。STM32f103系列微控制器开发简单,有丰富的语句代码库,与ARM7TDMI相比运行速度最多可快35%且代码最多可省45%。综合考虑选用了此款微控制器为本系统的核心。
该微控制器特点如下:
1)Cortex-M3内核、哈佛总线结构(可达90 DMIPS);
2)20 K字节的SRAM,128 K字节的Flash;主频72 MHz,可在系统编程;
3)带唤醒功能的低功耗模式、内部RC振荡器、内置复位电路;
4)在待机模式下,典型的耗电值仅为2μA,非常适合电池供电的应用;
5)3个16位通用的定时器,1个系统时间定时器:24位自减型。
1.2 NEO-5Q GPS接收模块
本系统选用较低功耗的NEO-5Q GPS超小型卫星接收模块,此芯片为多功能独立型GPS模组,以ROM为基础构架,成本低,体积小,最多可搜寻32个卫星频道,能够从接收到的信息中提取并输出2种时间信号:一是脉冲信号1PPS,其脉冲前沿与国际标准时间的同步误差不超过1μs;二是经串口输出的时间信息,它在1PPS脉冲之间给出,用来说明一个1PPS脉冲对应的UTC时间(年、月、日、时、分、秒)。NEO-5Q有UART和USB2.0两种接口,数据全速传输可达12 Mbit/s,具有高精度时间信号、在恶劣环境下持续工作的优点,可以达到系统要求。
[page]
2.2 NEO-5Q GPS接收电路
微控制器STM32f103rbt6的串行口RXD、TXD分别和NEO-5Q的TXD1、RXD1连接,并采用TTL电平串口通讯。微控制器的RXD负责接收从TXD1发来的GPS信息。而TXD在上电复位时的任务是向GPS接收模块发送初始化命令,使其按预定的格式和频率输出时钟信息。在初始化成功后TXD将不再向外发送任何命令,而是改变传输对象,转而通过MAX3232给上位机发送时间信息。由此可见,在不同的时间段单片机的TXD引脚要与不同的单元通讯,承担着不同的任务。既要在上电复位时给GPS接收模块发初始化命令,又要在初始化完毕后向上位机发送时间信息。当GPS模块被系统成功初始化后,将输出GPS秒脉冲信号,在秒脉冲上升沿之后,串行口会输出时间信息和相关的GPS状态信息。因此,为了便于将国际标准时间转化为北京时间,须使1PPS信号分为2路:一路作为微控制器的外部中断源,提示微控制器准备接收GPS接收模块输出的各种信息,以实现时间信息的同步处理,并监测信号正常与否,另一路则直接作为同步信号。GPS信号接收电路如图3所示。
[page]
3 GPS同步授时系统软件设计
3.1 GPS信号提取
GPS上电后,每隔一定的时间就会返回一定格式的数据,数据每行都以‘$’开头,接着是信息类型,后面是数据,以逗号分隔开。信息的类型有:
GPGSV:可见卫星信息
GPGLL:地理定位信息
GPRMC:最小定位信息
GPVTG:地面速度信息
GPGGA:GPS定位信息
GPGSA:当前卫星信息
因为GPRMC最小定位信息包含系统所需要的时间信息,所以微控制器只需提取最小定位信息中的时间数据。
一行完整的最小定位信息数据如下:
$GPRMC,020603.000,A,3744.9012,N,11232.5569,E,0.00,96.40,140211,,,A*50
当GPS接收模块收到数据传给微控制器时,数据处理终端首先提取第一个逗号后的数据020603,它是UTC时间hhmmss(时分秒)格式,因为不是标准北京时间,所以要对其UTC日期ddmmyy(日月年)格式。最后,将处理完毕后的数据存到控制器的数据存储器中,并通过串口发送给上位机软件。
3.2上位机GPS授时软件
GPS授时软件是通过VC++6.0编写的上位机程序,当软件运行时首先采集本地计算机时间:如2011-02-14 10:05:58,当GPS模块接收到正常数据并选择正确的串行端口时,UTC时间信息经控制器处理成标准北京时间后输出到校时系统中:如2011-02-14 10:06:03,如图4所示。系统需要校时动作时,按下校时按钮,然后弹出GPS校时信息,表明GPS同步校时成功。
4 结论
本文给出了针对授时系统的新方案,并对整体结构进行了深入分析,根据所需要实现的功能构建了整体软硬件开发平台。提出了一种基于ARM的GPS同步授时系统,通过GPS采集终端和微控制器数据处理终端,并结合上位机校时软件成功实现了一种更加精确的同步授时方案。
关键字:ARM GPS 同步授时系统
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』