欧阳明星
(广东松山职业技术学院电气工程系,广东韶关512126)
“授时(Time service)”是指利用无线电波发播标准时间信号的工作,有短波授时、长波授时、卫星授时、互联网和电话授时,GPS卫星授时是一种覆盖范围宽、校时精度高的授时方法,无线通信网按规定的协议进行信息交互和通信,以实现智能化管理、控制、监控[1],将接收的GPS时钟信号通过无线通信网进行二次授时,系统具有分布广、成本低、精度高、使用简单的特点,解决了传统的采用晶体定时所存在的走时不准、操作不便、人工校时等问题。本文设计一种基于无线通信网的双时钟源授时系统,接收GPS卫星时钟信号作为第1时钟源,可对数量多、分布广的时钟、万年历、打铃仪等进行授时,设计有Internet网关,接入互联网可实现远程控制或用作网络授时服务器,为避免集中授时因GPS信号接收失败导致时钟大面积瘫痪问题,系统还设计了DS12C887组成第二时钟源备用,实时时钟可广泛应用于学校、厂矿等。
系统由GPS授时机、主机控制器、子机、传感器4个部分所构成,系统使用无线通信网络进行通信,主机控制器设计有Internet网关接口,以便计算机及智能终端的远程登录与控制,为提高GPS卫星信号的接收灵敏度,扩大使用范围,将GPS接收机置于室外并采用光伏自供电技术,GPS接收机接收卫星信号并提取出时间信息后通过无线通信网络向主机控制器发送授时信号,主机控制器置于室内,自带液晶显示人机接口,主机接收的授时信息转换成北京时间后再次通过无线通信网络发送给子机单元,系统组成如图1所示。
图1 授时系统结构图
全球卫星定位系统(Global Position System,GPS)是一套完整的定位、导航、授时系统,全球任何地点的GPS用户通过GPS接收机接收GPS卫星发出的信号,获取准确的空间位置信息、同步时基、世界标准时间等。要实现定位需要经度、维度、高度、用户时间与标准时间差,GPS接收板接收到卫星信号组成如下[2]:
式中:ρi为已知GPS接收板到每颗卫星的空间距离;xi、yi、zi为每颗卫星的空间位置;X、Y、Z 为 GPS 接收机的位置;Δt为GPS接收板时钟与卫星时钟偏差,接收4颗卫星组成4个方程或已知接收板位置接收1颗卫星信号均可实现卫星授时。GPS卫星装载了高精度的铯原子钟,授时精度为几十ns,比无线电同步码的授时精度高出一个数量级[3-4]。
图2 GPS授时原理
随着技术发展与进步,GPS接收设已做成集成了卫星解码芯片、陶瓷天线、控制单元等于一体的独立而完整的模块,通过RS232异步串行通信口与外界通信,使用 NMEA-0183接口通信协议,传输内容为ASCII编码。外置单片机通过RS232串行口即可接收GPS模块的接收信息,提取时间信号经加工后即可当成本系统的标准时间进行授时[2]。本设计使用块VK162 GPS接收模块,采用SiRF StarⅢ芯片组,体积小,接收灵敏度高,搜星快,其默认波特率为9600 b/s,可选RS232或TTL接口电平。VK162所使用NMEA-0183协议命令集如表1所示,每条指令有同步协议头,以“$”开始,后面跟着命令字。本设计只接收GLL命令,从GLL命令中提取时间、日期信息,其命令格式如下:
GPRMC,hhmmss.dd,s,xxmm.dddd,< N/S >,yyymm.dddd,< E/W > ,s.s,h.h,ddmmyy
“$”为语句起始标志;GPRMC为GLL命令协议头,后面跟着的为时间、日期、地标等信息,如表2所示[5]。时间精度为1 ms,值得注意的是接收到的时间为0区UTC世界时间,需要将其转换成东8区北京时间。
表1 NMEA-0183常用命令
表2 NMEA-0183命令举例
GPS接收机由VK162 GPS接收模块、CPU、无线收发器等组成,CPU读取VK162接收到的GPS数据中的GLL命名,提取GPS授时所需的时间、年、月、日等信息,并将其过无线收发器送给主机控制器。为提高授时成功率,增大辐射传输距离,将GPS接收机置于接收灵敏度高的室外,并使用太阳能光伏供电。设计GPS接收机硬件如图3所示[6],使用STM8L151F2P低功耗单片机作控制器,其内部采用3级流水线的哈弗结构,并集成了16M晶振、2个16位定时器、1个8位定时器以及了12bit分辨率的A/D转换器,有I2C、SPI接口电路,工作电压为 1.6~3.6 V,内部集成2KBFlash、1.5KBRAM 等 存 储 器,指 令 速 度 为16MIPS[7]。为提高太阳能电池发电效率,使用MPPT最大功率点追踪技术,使任意时刻太阳能电池处于发电的最佳时刻,输出最大功率[8],图中 U2、Q1、L1 等元件为MPPT及Boost充电电路,使用自适应变步长扰动观测法实现MPPT跟踪控制,以实现对蓄电池的高效率充电。
图3 GPS接收机原理图
GPS授时机通过无线方式向主机发送时间信息,主机接收以后再通过无线方式发送给所有子机,实现对子机的GPS授时。为提高系统稳定性和可靠性,主机设有DS12C887备用时钟源,作为第二时钟源以备应急使用。DS12C887将时钟、锂电池、充电电路集成在一起,信息能保持10年之久,是一种工业中常用的RTC时钟芯片[9]。主机在向其他子机发送GPS授时信号时亦同时校准DS12C887时钟,当主机与GPS接收机失去联系时,主机启用DS12C887的第二时钟源对子机授时。主机兼有电铃控制功能,预先作息时间表存于主机中,主机实时比对作息时间表,若定时时间到则向打铃仪子机发送响铃控制信号,控制其响铃。
图4 主机硬件电路原理图
为实现无人值守,主机中保存了不同季节的作息时间表,根据设定日期自动切换。此外,主机还可以向打铃仪发送“禁响”指令,使某些特殊位置的电铃或在特殊时期“禁响”,直到子机接收“解禁”指令后方能正常工作。主机硬件电路原理图如图4所示,使用STM32F103C8做控制器,并有LCD液晶屏和四按键组成的人机操作交互界面。STM32F103C8为ARM7 Cortex-M3内核结构,48脚封装,工作频率为72 MHz,64KB FLASH,20KB RAM,7个定时器,具有包含 I2C、SPI、USB在内的9个通信接口,2个10通道12 bit A/D转换器[10],芯片具有较高性价比。主机具有USB、以太网等接口,以太网的物理链接层由ENC28J60以太网接口芯片实现,CPU运行TCP/IP协议栈即可链接到Internet网,以便实现计算机或智能终端远程控制和互联网授时[11]。通过USB接口可以实现对主机内部的数据信息进行更新。
子机为万年历或打铃仪,分布在不同楼宇,子机还可以接传感器,以实现对楼宇的监测控制,当触发传感器时子机将向主机发送信息并控制电铃响铃报警。子机 CPU 控 制 器 使 用 STM8L101F1T3,其 与STM8L151F2P相比仅内部缺少A/D转换器,限于这部分电路较简单不再赘述。
基于系统集成设计思路,将GPS授时机、主机、子机组成一个无线通信网络,通过主机的以太网网关接入Internet网络。CC1101是TI公司的单芯片无线射频模块,可工作于315~915 MHz的ISM频段,集成10 mW PA功率放大器,遮体穿透能力强、抗干扰性能好,接口简单,编程方便,是一种低功耗、低成本的无线通信网物理层媒介设计方案[12],本系统使用CC1101无线通信模块作为无线通信网,工作在900 MHz频段,CPU通过SPI接口与其连接即可实现数据通信,其硬件电路见参考文献[12]。
以CC1101组成无线通信网络的物理链接媒介,采用频分复用与码分复用相结合的组网方式,按协议指令集进行组网通信。为避免频道冲突,主机与GPS授时机及子机之间采用不同通信信道,为提高系统可靠性,主机实时监测子机工作状态,主机逐一向子机发起查询命令,子机接收到命令后检查ID地址是否匹配并向主机发送应答信号[13]。系统上电后按约定的协议自动进行链接并组网,各种协议命令如图5所示。图5定义了7 Byte的短协议和63个字节长协议。短协议内容少,传输时延小,主要用实时授时和控制,长协议主要用于批量数据传送。
图5 通信协议集定义
广播授时命令字为00H~03H,共4条指令,分别代表GPS接收机的4种不同的状态:00H GPS同步授时,01H表示GPS接收失败,02H表示GPS设备故障,03H表示GPS授时不成功,改用本地 RTC授时[14]。查询命令为主机向从机发送的指令,地址匹配的子机接收将向主机发送应答信号。查询命令和应答命令只使用2个字节,余下字段填充AAH和55H[15]。设置命令为07H,主要用于通信信道参数设置,控制命令用于实时控制,可定义5个功能,如控制子机开关机等。数据传输命令用于作息时间数据传输,有4条指令,分别表示不同夏季时令、秋季时令、备用时令1、备用时令2,包ID用作大量数据时的分包传输,为0时表示只有一个包,为FFH时表示最后一个包。
GPS接收机使用频道0(CH0)与主机通信,主机与子机使用广播信道(CH1)通信,所有子机开机守候在CH1频道等待主机发送信号或命令,主机通过CH1向所有子机发送授时数据,发送间隔周期为300 s。主机每1 hr对子机进行一次检查,通过CH1广播信道呼叫指定子机,子机接收后向主机发送应答信号完成子机检查过程。所有子机检查完毕后主机切换到CH2信道监测传感器信号。若主机无法接收到子机的应答信号将在液晶屏给出提示信息。子机可与红外、微波等传感器进行无线连接,CH5为传感器专用信道,子机空闲时自动切换到CH5接收传感器发送信号,每60 s接收一个次传感器信号,若接收到传感器信号则立即通过CH2信道向主机发送盗情信号。整个系统链接通信过程如图6所示[16]。
图6 节点通信过程
授时系统分别选用了STM系列8位处理器和32位的Cortex-M3处理器,所有程序使用C语言编写实现,主机软件程序图见图7(a)所示,子机软件流程图见图7(b)所示。
样机制作成功之后包含一个GPS接收机、1台主机、2个子机、3个传感器,借助AT6010频谱分析仪和GPS导航仪时钟构建测的评平台进行测试,主要测试系统对环境和气候的适应能力和节点网落性能。GPS接收机分别放置室内和室外,连续实验3天,测试结果如表4所示,实践证明置于室外时100%能正常接收卫星信号并成功提取时间。分别测试CC1101无线通信模块的直线传输距离和遮体穿透通信能力,如表5所示,实践证明,CC1101有遮体(2道水泥墙)的传输距离为320 m左右,空旷地带的直线传输距离约为500 m左右。测试结果表明,样机组网后工作稳定可靠,授时精度高,万年历实现免调试,打铃仪实现无人值守,通过TCP/IP客户端软件可以实现授时系统的远程控制,通过计算机、智能手机终端即可实现程监测和控制。
图7 软件流程图
表4 GPS接收机测试结果
表5 CC1101无线通信网通信距离测试结果
[1] 董剑利,周 丹.通用GPS授时同步监控系统的设计与实现[J].计算机工程与设计,2007,12:3006-3008.
[2] 阳继军.基于GPS授时的地震采集系统同步系统设计[J].石油仪器,2009(1):82-83.
[3] 赵云峰,崔 明,昊志勇.新型高授时精度时码终端系统设计[J].光电与控制,2009,16(3):86-90.
[4] 邹德财,边玉敬,吴海涛,等.长波授时系统相位跟踪点检测的数字化研究[J].西安交通大学学报,2006,40(6):729-733.
[5] 董剑利,周 丹.通用GPS授时同步监控系统的设计与实现[J].计算机工程与设计,2007,28(12):3006-3008.
[6] 邬丽娜,张 波.基于MSP430单片机的太阳能充电控制器设计[J].实验室研究与探索,2012,31(5):33-36.
[7] 陈上挺,谢文彬,游颖敏.基于STM8的红外与超声波测距仪设计[J].电子技术应用,2011,37(9):32-34.
[8] 张 兴,曹仁贤.太阳能光伏并网发电及其逆变控制[M].北京:机械工业出版社,2010,9:187-198.
[9] 张永安,王 睿.基于DS12C887的数字时钟的实现[J].内蒙古农业大学学报(自然科学版),2010,31(3):263-266.
[10] 王铁流,李宗方,陈东升.基于STM32的USB数据采集模块的设计与实现[J].测控技术2009,28(8):37-40.
[11] 谢希仁.计算机网络[M].5版.北京:电子工业出版社,2008.
[12] 丁 欣,胥布工.基于CC1101无线自组网的路灯监控及节能系统[J].自动化与仪表,2011,26(2):20-22.
[13] 陈 香.CCl100的无线数据通信与时分多址通信协议[J].单片机与嵌入式系统应用,2009(7):69-70.
[14] 曹青松,徐 鹏,周继惠.基于CC l l 00的ZigBee无线抄表系统的节点设计术[J].电测与仪表,2010,47(2):17-20.
[15] 张利刚,鲍星合,罗 斌.基于CC1100的无线传感网基站设计[J].计算机技术与发展,2009,19(7):10-12.
[16] 李嘉敏,贾 卫,黄小寅,等.低功耗无线温室监控系统的研制[J].测控技术,2010,29(2):95-98.