APP下载

基于北斗卫星授时的无线自动作息控制系统的研究与设计

2012-01-15李述良谢兆鸿

武汉轻工大学学报 2012年1期
关键词:作息北斗单片机

陈 超,李述良,谢兆鸿

(武汉工业学院电气与电子工程学院,湖北武汉430023)

目前,很多领域对时钟的精度和同步性的要求越来越高,随着生活节奏的加快,学校、机关、企业单位等常用的作息自控系统仍然采用单片机计时,这样的计时方法存在着一些缺陷与不足[1],主要表现在以下几个方面:(1)计时存在着累计误差;(2)传统的作息控制系统需要敷设专线来驱动电铃,致使安装和拆卸都比较麻烦;(3)传统的系统只能传递瞬时的开关信号,传达的信息模糊,例如究竟是上课还是下课;(4)刺耳的铃声常常会给安静的教学和科研环境带来噪声污染;(5)传统的作息控制系统还存在功耗大等不足。对此,本文研究设计了利用北斗卫星上的高精度的原子钟作为标准时间源,以太阳能供能,通过接收卫星发送的时钟信号,经本机修正处理解码后获得时间信息,在本机显示,并与存储的作息表比对,决定是否输出驱动信号,然后通过无线的方式向系统内的接收执行装置发送日期和时间的信息,并直接控制下位执行装置发出悦耳的铃声、语音、图像或者其他声光信息,来自动完成对作息时间的控制。

1 系统总体设计

本系统主要由两大系统组成:本地授时系统和作息控制系统。本地授时系统的任务是接收和处理北斗卫星的信号,提取时间信号,与作息表比对,通过无线向各个作息控制系统发出时间和执行信号。作息控制系统直接将收到的信息按不同的方案来加以执行,例如打铃发出语音提示等等。如图1所示即为北斗卫星授时的无线作息控制系统的总体框图。

图1 北斗卫星授时的无线自动作息控制系统总体框图

2 系统硬件设计

本地授时系统主要由:北斗接收模块(包括天线)、数据处理及控制模块、电源模块、显示模块、人机交互模块、无线收发模块组成。

2.1 北斗卫星接收模块

北斗卫星接收模块有单向和双向两种定时接收方式。两种定时的主要区别在于从中心站系统到用户机传播时延的获取方式不同,单向定时是利用系统广播的卫星位置信息按照一定的计算模型由用户机自主计算单向传播时延,建模误差(对流层模型、电离层模型等)及卫星位置误差都会影响该时延的估计精度,从而影响最终的定时精度;双向定时则无需知道用户机和卫星的位置,仅通过来回双向传播时间除以2的方式获取,就能更精确的反映了各种延迟信息,因此其估计精度较高。在北斗系统中单向定时的精度误差值为100 ns,双向定时为20 ns。考虑到100 ns已符合作息控制的要求,所以本系统采用单向定时的方式。

北斗卫星接收模块由接收天线、射频处理模块、BD信息单元、授时信息融合处理单元等组成。接收天线用来接收北斗系统的卫星信号,并将射频信号前置放大后传送给射频处理单元;射频处理模块将从天线接收到的信号进行放大、经变频和滤波等处理,把处理后的信号送到北斗信息处理单元;北斗信号处理单元用于完成北斗系统时间信息的提取。提取出来的时间信息可以通过RS232串口或者TTL协议接收和发送,考虑到设计中所选微处理器只有一个串口且在无线传输要用到,所以选择TTL协议的方式将时间信息传给微处理器。

北斗卫星接收模块接收发送数据均采用串行通信的来实现。输入(接收卫星的数据)输出(处理完的 数 据)语 句 均 按 NMEA -0183 协 议[2]。NMEA0183协议语句如下:“”为语句的起始标志;“Aaccc”为地址域,其中前两位为识别符,后三位为语句名;“,”为域分隔符;“Ddd…ddd”为数据块,发送数据内容;“*”为校验和识别符,其后两位为校验和;“hh”为校验和;“<CR>/<LF>”为终止符,表示回车和换行。NMEA-0183协议定义的语句很多,但是常用的或者说兼容性最广的语句只有GPGGA(全球定位数据)、 GPGSA(卫星 PRN数据)、GPGSV(卫星状态信息)、GPRMC(运输定位数据)、GPVTG(地面速度信息)、GPGLL(大地坐标信息)、GPZDA(UTC时间和日期),发送的次序为 PZDA、GPGGA、GPGLL、GPVTG、GPGSA、GPGSV*3、GPRMC。本设计需要的是 GPRMC数据,其格式为: GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,*hh<CR> <LF>。 <1> UTC时间,hhmmss(时分秒)格式;<2>定位状态,A=有效定位,V=无效定位;<3>纬度ddmm.mmmm(度分)格式(前面的0也将被传输);<4>纬度半球N(北半球)或S(南半球);<5>经度dddmm.mmmm(度分)格式(前面的0也将被传输);<6>经度半球E(东经)或W(西经);<7>地面速率(000.0-999.9节,前面的0也传输);<8>地面航向(000.0-359.9度,以真北为参考基准,前面的0也传输);<9>UTC日期,ddmmyy(日月年)格式;<10>磁偏角(000.0-180.0度,前面的0也传输);<11>磁偏角方向,E(东)或 W(西)[3]。

2.2 CPU模块

本系统中的CPU模块采用的是AT89S52单片机,AT89S52是一个低功耗,高性能CMOS8位单片机,片内含8KB ISP(In Systen Programmable)的可反复擦写1000次的FLASH只读程序存储器,支持在线编程。兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP FLASH存储单元[5]。具体特点表现为:优异的性能价格比;集成度高、体积小、可靠性高;控制功能强;低电压和功耗。

2.3 电源模块

电源模块主要是给北斗授时模块、微处理器和时钟源提供稳定的工作电压。考虑耗用电能较少,为了安装灵活,采用太阳能和可充电电池的供电方案,本模块在主要有太阳能电源和备用可充电池组成。在一般情况都是由太阳能电池来供电,当遇到特殊情况如天气状况恶劣或太阳能电池出现故障时则切换到备用电池来供电以保证系统的正常工作。

2.4 显示模块

显示模块主要用来显示时间信号,采用MAX7219芯片,MAX7219芯片是一种高集成化的具有串行输入/输出的共阴极显示驱动器,它可以连接微处理器与8位数字的7段数字LED显示,也可以连接条线图显示或者64位独立LED。芯片上包括一个片上的B型BCD编译码器、段字驱动器、位驱动器、多位扫描电路、内含8×8位静态RAM用于存储每一个数据。只需外接一个电阻就可为所有的LED提供段电流。MAX7219的三线串行接口适用于所有微处理器,每一个数据可以寻址,且在更新时不需要改写所有的显示。MAX7219具有软件译码和硬件译码两种功能,软件译码是根据各段笔划与数据位的对应关系进行编码,硬件译码采用BCD码(简称B码)译码。MAX7219工作模式包括150μA低压电源关闭模式、模拟数字亮度控制、限扫寄存器(允许用户从第1位数字显示到第8位)及测试模式(点亮所有LED)。其电路图如图2所示。

图2 显示电路

2.5 用户交互模块

用户交互模块包括本机键盘和受上位PC机遥控两种。本地键盘用来直接操作本地授时系统的微处理器,PC机的主要是通过无线遥控来来修改或更新授时系统中的作息时间表和检测系统的运行状态。

2.6 无线收发模块

SRWF-508型微功率无线数传模块是采用高效FEC前向纠错技术结合高性能的无线射频IC,以及高速微处理器相结合开发出的一款无线通信模块,该无线通信模块是在SRWF-501型无线通信模块的基础添加了适当的功率放大器,增加了通信距离的一款微功率无线模块,可与SRWF-501、SRWF-506、SRWF-507进行无线通信。该无线通信模块具有很强的抗干扰能力,全透明传输,体积小,功耗低传输距离远(能达到4500m)和波特率可调(有1200/2400/4800/9600/19200可选)的特点,使用时不需要任何编码技术。

2.7 本地时钟源模块

本系统中所采用的DS12C887时钟日历芯片具有一定的精度,其误差累积时间较长,可以采取每周或每月接收一次北斗时间信号以校准。这样就能克服在天气状况不好难以收到卫星信号或北斗系列出现故障时仍能使系统依然正常的工作,DS12C887中自带有锂电池,所以在外部掉电时,其内部的时间信息依然能保持10年之久。同时DS12C887中带有128字节时间信息,其中11字节RAM用来存储时间信息,4字节RAM用来存储DC12C887的控制信息,作为控制寄存器,余下的113字节RAM可供使用户使用。

2.8 作息控制系统

作息控制系统主要由接收模块和执行模块组成。接收模块把接收到的时间和执行信号送到作息系统中的单片机中,具有显示功能的系统可以把时间显示出来,具有执行功能的系统则根据接收到的执行信号来执行相应的动作如打铃或者发出语音提示等等。

3 系统软件设计

系统软件的设计包括系统的初始化、中断处理、接收信息处理、数码管的显示、发送信息处理。

3.1 本地授时和发送部分

本地授时系统的流程图如图3所示,系统主程序开始以后首先对系统环境初始化,之后单片机向北斗授时模块发出多数据的指令,北斗授时模块开始工作接收北斗卫星上发出信号并经过射频处理、北斗信息处理单元、授时信息融合单元等产生统一的时间信息,在将时间信息发给单片机,单片机将时间数据送入MAX7219并通过显示模块显示出来。同时,单片机将得到的时间数据与FLASH中的作息时间比对,如果与表中的时间匹配,单片机发出相应的控制信号,子系统来接收控制信号执行操作。为了减少功耗,设计30 s来发送一次数据,这是通过检测接收的时间信号的秒位为00或30时控制SRWF-508发送(如图4)来实现的。

图3 本地授时系统流程图

图4 SRWF-508发送流程图

3.2 作息控制和接收部分

作息控制系统的流程图如图5所示,微处理器等待SRWF-508接收到的信号(图6)传送过来,接收的信号包括时间信息和控制信号。时间信息作为本子系统的时间,控制信号用来执行相应的动作,如打铃或语音提示。

图5 作息控制系统流程图

图6 SRWF-508接收流程图

4 结束语

目前采用GPS卫星授时的时钟已经在生产和使用,这样的时钟走时精确、使用方便。但基于北斗的授时和作息控制系统还较少见。采用无线子母钟的方案更能对一片区域里面的时间达到高度的同步。特别适合于学校、工厂等对时间具有同步性要求的地方,也可以用于其他需要保持高度时间同步的场合。

[1] 胡宏波,宋光德.大区域子母钟及其监控系统的研究[D].天津:天津大学,2004.

[2] 周百力.微机与GPS--OEM板通信的应用研究[J].微机信息,1997(04).

[3] Anhl.GPS NMEA-0813 协议详解[EB/OL].(2008-12-04). http://www.cnblogs.com/anhlyiling/archive/2008/12/04/1347657.html.

[4] 刘大杰,施民,过静君.全球定位系统(GPS)的原理与数据处理[M].上海:同济大学出版社,1996:1-5;58-61.

[5] 刘守义.单片机原理及应用[M].2版.西安:西安电子科技大学出版社,2002:30-54.

猜你喜欢

作息北斗单片机
北斗和它的N种变身
不 顺
北斗时钟盘
爱心健康作息表
基于单片机的SPWM控制逆变器的设计与实现
“北斗”离我们有多远
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
超级秀场 作息规律
中国的北斗 世界的北斗