新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于 PIC18F8520 的 GPS 精准时钟实现

基于 PIC18F8520 的 GPS 精准时钟实现

作者:时间:2011-01-02来源:网络收藏

GPS(Global Positioning System,全球定位系统)是世界上最完善的卫星导航系统。它不仅有覆盖全球的实时、连续的高精度的三维定位能力,同时也有精准的授时功能。利用高度稳定、精确的星载原子钟作为信号源进行时间传输和比对,已成为众多领域获取时间的重要手段。基于此,本文利用GPS所提供的精确授时功能,采用单片机技术,实现了一种GPS时钟,并将时间信息通过LCD进行显示。

本文引用地址:http://www.amcfsurvey.com/article/151136.htm

系统构成及硬件实现
1 系统构成
GPS时钟系统主要由GPS接收机、单片机、LCD显示器三部分组成,如图1所示。

图1 GPS时钟系统构成框图


GPS接收机
在本系统中,GPS接收机采用Garmin公司的GPS15XL,它是12通道的GPS接收机,体积小,重量轻,功耗低,首次定位和重捕获时间短,有较强抗遮挡和抗干扰能力,性能极其稳定可靠,且操作简单,易于开发。可工作在3.3~5.4V电压范围内,本系统采用+3.3V供电;精密授时类型精度可达±50ns(典型值);具有串行端口,输出为RS232,输入可为RS232或者具有RS232极性的TTL电平,波特率从300~38 400可选,默认为4800,无奇偶校验,8个数据位,1个起始位,1个停止位。GPS15XL输出的数据以美国国家海洋电子协会(National Marine Electronics Association)的NMEA0183 ASCII码接口协议为基础,可输出多条语句,内容包括经度、纬度、速度、方位角、高度、世界时、星历等信息。还可输出Garmin二进制格式信息。非常适合应用于车辆导航、海事导航、电力系统校时等。


对GPS15XL的配置,可以利用单片机通过NMEA 0183语句在程序中实现,也可以利用SNSRCFG软件来进行。配置参数将被保存在永久性存储器中,下次加电时自动生效。为简化设计,本文采用第二种方法,即通过SNSRCFG软件对GPS15XL进行初始化配置。


GPS15XL可以输出两种时间信号:一是包含在串口输出信息中的UTC(Coordinated Universal Time协调世界时)绝对时间(年、月、日、时、分、秒);二是间隔为1s的同步脉冲信号1PPS,其脉冲前沿与UTC的同步误差不超过1μs。本系统主要是利用串口输出的NMEA 0183语句获取UTC时间信息。


NMEA 0183语句以“$”开始,以CR>LF>,即ASCII字符“回车”(十六进制的0D)和“换行”(十六进制的0A)结束。下面以本文使用的GPRMC语句为例说明其格式:


$GPRMC,1>,2>,3>,4>,5>,6>,7>,8>,9>,10>,11>,12>*hh CR>LF>
$GPRMC:语句起始标志(Recommended Minimum Specific GPS/TRANSIT Data推荐定位信息)
1> UTC时间,hhmmss(时分秒)格式
2>定位状态,A=有效定位,V=无效定位
9>UTC日期,ddmmyy(日月年)格式
最后的校验码*hh用于做奇偶校验,通常不是必需的,但当周围环境有较强的电磁干扰时则推荐使用校验码。hh代表了“$”和“*”之间所有字符的按位异或值(不包括这两个字符)。
单片机PIC18F8520


系统采用Microchip公司生产的高性能RISC CPU PIC18F8520作为控制器,它内部有32KB的FLASH程序存储器和2KB的SRAM数据存储器、1KB的EEPROM数据存储器;运算速度可达10MIPS;可以工作在DC~40MHz的时钟频率范围之内;具有USART接口,支持RS-485和RS-232,可与GPS模块相连,用来获取时间信息;支持ICSP在线串行编程,便于软件的升级和维护;支持ICD,可以在线调试,缩短开发周期。


上一页 1 2 3 下一页

关键词: 收发器

评论


相关推荐

技术专区

关闭