APP下载

基于C8051F340单片机的GPS校时器设计

2011-06-05林炳章

电子设计工程 2011年17期
关键词:串口单片机电源

肖 强 , 王 冲 , 林炳章

(1.空军雷达学院 三系,湖北 武汉 430019;2.武汉大学 卫星定位技术研究中心,湖北 武汉 430079;3.武汉大学 电子信息学院,湖北 武汉 430079)

随着电子行业的飞速发展,各种电子产品层出不穷,单片机处理器也从早期的8031/8051演变成如今嵌入有51核的各种处理器芯片,笔者设计了一款GPS时间校时器,由于不同仪器显示的时钟总是存在差异,此校时器能提供精准的时钟标准,并将此标准时间传给外部设备来校时。根据地理位置不同,我国均采用首都北京所在的东八时区的区时作为标准时间,与世界时相隔8个小时,标准北京时间是与国家授时中心标准时间同步更新的。因此电脑、手机、手表等时钟显示器可以以此为标准来校准,一般标准的时间可以通过上网来查询更新,但是这种方法往往比较麻烦,而且在对户外设备校时时,也会带来很多不便,本设计的校时器,其时间可以与标准的北京时间同步,此外与电脑相比此校时器体积小且方便携带,使用起来也十分方便。

1 系统总体概述

本系统设计的是一款GPS校时器,所谓校时器是指能够提供标准的时间基准的仪器,这款校时器是用来对指定的外部设备校时的,主要使用GPS的标准世界时,将标准的时间信息通过串口发送给外部设备,发送的数据有标准的格式,其他设备接收到数据后提取出有用信息再进行校时。此系统主要包括3大模块:GPS模块、单片机控制模块和液晶显示模块。具体框图如图1所示,其中单片机是控制的核心部件。数据来源于GPS接收到的数据,时间信息通过液晶显示供用户观察。

图1 系统结构框图Fig.1 Structure diagram of system

2 各模块的介绍

2.1 单片机的介绍

C8051F340是在早期的803x/805x的基础上发展起来的,以其低功耗,高速的运算能力等优点而得到广泛的应用,是目前运用较多的一款单片机处理芯片[1]。它是新华龙公司研制的一款芯片,使用CIP-51微控制器内核。CIP-51与MCS-51指令集完全兼容,可以使用标准803x/805x的汇编器和编译器进行软件开发。此外还添加了很多外设,因而提高了单片机的整体性能,使其更易于在实际中使用。

2.2 GPS模块的介绍

此系统使用了一款MG2217S2模块,它是一个高精度的GPS模块,包括一个RF射频接收端,基带信号处理部分,内部Flash存储,以及电源供电单元,这些部件全部集成在模块内部,在使用时只用连接简单的外围电路就可以接收GPS信号。此模块工作于L1频段,采用C/A码调制,数据每1s更新一次,热启动只需1 s的时间,而温启动需 32 s,实行热启动可以大大节省GPS信号的捕获时间,输出的信号有GGA,GLL,GSA,GSV,RMC和 VTG 6种形式,每种形式都有固定的数据格式且各不相同,这些数据均包含当前的时间,地理位置等信息。

在本系统中主要使用的是RMC格式的数据,其数据格式 为 $GPRMC,161229.487,A,3723.2475,N,12158.3416,W,0.13,309.62,120598,*10 其中 161229.487 表示的就是 hhmmss.sss,3723.2475表示的是经度信息,12158.3416表示的是纬度信息,N和W分别表示的是南北纬,东西经,状态位A(V)用来判断收到的GPS数据是否有效,在接收端用软件处理时首先要判断有效位,如果该位为A则可以使用时间和位置信号。除了使用GPS精确的时间和地理信息外,还可以利用秒脉冲信号PPS,因为不管GPS是否有收到信号,只要GPS模块是上电的则能够工作,则可以发送1 s的连续脉冲波,其精度高达20 ns。这比GPS信号有效时将接收到的时间数据再来处理要方便得多,此信号的精确度相当高,因此可以根据需要接收此PPS信号做相应的处理,例如用来产生1 s的中断。

2.3 OLED的介绍

由于系统大小尺寸有限制,液晶的大小也有规定,因此选用一款多功能的液晶显示芯片SSD1305,它是一款CMOS的OLED,它由132×64的点阵构成,能同时显示4行汉字,每行最多8个字,可以设置不同的背景颜色,调节对比度,使显示的结果看起来更加舒适。内嵌有对比度控制器,显示区RAM以及晶振等,可以减少外部元件的数量进而减少功耗,因其体积小功耗低在各种便携器件中应用较多,比如计算器的显示屏,手机的屏幕,MP3/MP4的显示屏等。

3 各模块功能的实现方法

GPS模块的应用是基于目前全球定位系统GPS[2]是技术上最成熟且已实用的一种卫星导航和定位系统,GPS发播一种形式的协调世界时(UTC),以便为全世界的用户提供时间同步能力。本文主要采用的是集成的GPS模块,它能提供标准的世界时间,通过单片机控制GPS模块的数据用串口来传送,单片机的串口接收数据并提取出有用的信息,经处理后在液晶OLED上显示出来,便于用户观察当前时间,此外单片机还将时间信号以一定的格式通过串口传给外部设备用来校准时间。

由于采用的是集成的GPS模块,只用提供电源,连接简单的外围部件,模块就可以正常地工作,数据的输出通过串口发送端与单片机的串口接收端相连,就可以被单片机正常地接收。单片机从串口接收到的数据中提取出有用的当前世界时,当地的地理位置的经度和纬度。

时钟芯片DS1302是为了防止GPS接收到的信号无效而使用的,在考虑到GPS模块在没有信号时其时间数据是随机的,数据均是无效的,因此必须使用一款时钟芯片来记录GPS有效的时间。在上电后DS1302内部的振荡器开始工作通过单片机的读写控制向DS1302写入初值,芯片便开始以秒为基准计数,且只要DS1302的供电电源有效则秒信号就会加1计数。可以将GPS有效的时间值写入DS1302,即使在GPS信号无效时DS1302的时间也是准确的。当GPS信号有效时,GPS信号的时间与DS1302读出来的时间是同步的,在GPS信号无效时DS1302仍可以读出标准的时间,可以把DS1302的时间作为时间基准,但为了防止出现误差,可以隔一段时间对其校准,这里使用PPS产生的中断来校准时间,当GPS信号有效时,将写入当前DS1302的秒数据加1,在下一个PPS中断信号到来时将此秒信号加1后的值写入到DS1302,完成一次校时。这一系列的操作均通过软件实现,用这种方式DS1302显示的时间精确度与PPS的精度相当。可以保证不管在GPS信号是否有效时均能保证读出的时间是标准时间,达到校时的目的。

系统的电源由5 V的USB提供,单片机、GPS模块、串口转换模块、时钟模块等的供电电源为3.3 V,液晶供电电源为12 V。因此设计使用了两个电压转换芯片[3-4],其中一个为5 V转3.3 V的DC-DC芯片MIC29152,另一块为3.3 V转12 V的DC-DC芯片TPS61040,此外还配有4.2 V电池装置,可以配置一块充电电池在电耗完时接外接电源充电,与手机充电电池相当,这样在户外校时就会很方便。其中两款DC-DC芯片均配有工作使能引脚,只有在使能端电压为有效时芯片才正常工作,使能端通过单片机控制,软件编程可以输出有效的3.3 V和12 V的电压。

数据的传输都是通过串口传送的,但是由于此电路板设计规则有要求,因此数据在发送给外部设备时采用的是USB接口,这就要求电路必须要有电平转换电路[5],这里使用了一片MAX3232,串行数据通过MAX3232后USB接口发送出去,在程序的调试阶段通过与电脑相连设置相同的波特率就可以接收单片机发送的数据。同时也可以将电脑要发送的数据通过USB接口给单片机接收。此系统设置有两个串口,一个用来发送GPS信号,主要用来判断GPS是否正常工作,另一个接口用来发送提供给外部设备的校时信息,一般串口输出的信息包含规定的起始标志符,当前的时间信息以及从PPS中断开始到时间信息发送完毕时定时器所记录的时间作为一次发送的结束标志,此结束标志也可以作为外部校时设备收到信号后的开始标志。

在外部环境使用此校时器没有外接电源,需要使用电池来供电,但长时间的供电会使电池耗尽,为了减小功耗,当不需要校时时,选择单片机工作在停机模式,同时其他电源芯片使能脚无效电源不能正常工作,这样可以减小电池的消耗,这里利用了C8051F340单片机的特殊停机模式的功能,按键按下后即可进入停机模式,只有在系统复位时才能由停机模式转换为正常的工作模式,这一功能主要靠程序控制字PCON实现。此方式减少了电源的消耗也大大节省了电池充电的次数。

4 软件实现方法

校时的核心步骤均是通过软件来实现的,一般GPS天线在室外容易收到信号,而在室内往往不易收到,因此要用此设备校时时可以先在室外接收GPS信号,在上电后在液晶上会显示当前的时间信息以及当前所处的地理信息,此时由于GPS信号有效,DS1302的时间已经被校准过了,若要开始校时可以按下按钮KEY2,串口开始发送数据,对方接收后处理接收到的数据即可,若校时结束则断开KEY2。在校时结束后不需要使用时可以按下KEY1,此时进入停机模式,液晶显示关闭,处于节能状态。需要再次校时时按下KEY3,系统复位重新恢复显示。其中软件流程图如图2所示,具体编程使用的是C语言[6],因其语法结构简单易懂而被广泛应用,环境编程使用Keil C51可以设置断点、单步全速运行等,方便进行在线调试。

5 结束语

图2 软件流程图Fig.2 The flow chart of software

此校时器利用GPS标准的世界时,用串口发送时间数据来校时,精确度高,性能稳定,且自备有天线和电池装置,可以随时随地使用,因而不同于一般的校时设备,通过单片机的核心控制由软件来实现校时功能,可以由程序灵活地控制,性能良好,方便携带,是一款理想的校时仪器。

[1]万光毅,孙九安,蔡建平,等.SoC单片机实验、实践与应用设计——基于C8051F系列[M].北京:北京航空航天大学出版社,2006:13-23.

[2]Kaplan E D,Hegarty C J.GPS原理与应用[M].寇艳红,译.2版.北京:电子工业出版社,2007:87-90.

[3]康华光.电子技术基础(模拟部分)[M].北京:高等教育出版社,2008:485-516.

[4]谢自美.电子线路设计·实验·测试 [M].第3版。北京:电子工业出版社,2008:139-150.

[5]李朝青.单片机原理及串行外设接口技术[M].北京:高等教育出版社,1999:53-62.

[6]谭浩强.C语言设计[M].北京:清华大学出版社,2001:40-60.

猜你喜欢

串口单片机电源
浅谈AB PLC串口跟RFID传感器的通讯应用
基于单片机的SPWM控制逆变器的设计与实现
Cool Invention炫酷发明
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
哪一款移动电源充电更多?更快?
阳光电源
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信