陳 超,李述良,謝兆鴻
(武漢工業學院電氣與電子工程學院,湖北武漢430023)
目前,很多領域對時鐘的精度和同步性的要求越來越高,隨著生活節奏的加快,學校、機關、企業單位等常用的作息自控系統仍然采用單片機計時,這樣的計時方法存在著一些缺陷與不足[1],主要表現在以下幾個方面:(1)計時存在著累計誤差;(2)傳統的作息控制系統需要敷設專線來驅動電鈴,致使安裝和拆卸都比較麻煩;(3)傳統的系統只能傳遞瞬時的開關信號,傳達的信息模糊,例如究竟是上課還是下課;(4)刺耳的鈴聲常常會給安靜的教學和科研環境帶來噪聲污染;(5)傳統的作息控制系統還存在功耗大等不足。對此,本文研究設計了利用北斗衛星上的高精度的原子鐘作為標準時間源,以太陽能供能,通過接收衛星發送的時鐘信號,經本機修正處理解碼后獲得時間信息,在本機顯示,并與存儲的作息表比對,決定是否輸出驅動信號,然后通過無線的方式向系統內的接收執行裝置發送日期和時間的信息,并直接控制下位執行裝置發出悅耳的鈴聲、語音、圖像或者其他聲光信息,來自動完成對作息時間的控制。
本系統主要由兩大系統組成:本地授時系統和作息控制系統。本地授時系統的任務是接收和處理北斗衛星的信號,提取時間信號,與作息表比對,通過無線向各個作息控制系統發出時間和執行信號。作息控制系統直接將收到的信息按不同的方案來加以執行,例如打鈴發出語音提示等等。如圖1所示即為北斗衛星授時的無線作息控制系統的總體框圖。

圖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]。
本系統中的CPU模塊采用的是AT89S52單片機,AT89S52是一個低功耗,高性能CMOS8位單片機,片內含8KB ISP(In Systen Programmable)的可反復擦寫1000次的FLASH只讀程序存儲器,支持在線編程。兼容標準MCS-51指令系統及80C51引腳結構,芯片內集成了通用8位中央處理器和ISP FLASH存儲單元[5]。具體特點表現為:優異的性能價格比;集成度高、體積小、可靠性高;控制功能強;低電壓和功耗。
電源模塊主要是給北斗授時模塊、微處理器和時鐘源提供穩定的工作電壓。考慮耗用電能較少,為了安裝靈活,采用太陽能和可充電電池的供電方案,本模塊在主要有太陽能電源和備用可充電池組成。在一般情況都是由太陽能電池來供電,當遇到特殊情況如天氣狀況惡劣或太陽能電池出現故障時則切換到備用電池來供電以保證系統的正常工作。
顯示模塊主要用來顯示時間信號,采用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 顯示電路
用戶交互模塊包括本機鍵盤和受上位PC機遙控兩種。本地鍵盤用來直接操作本地授時系統的微處理器,PC機的主要是通過無線遙控來來修改或更新授時系統中的作息時間表和檢測系統的運行狀態。
SRWF-508型微功率無線數傳模塊是采用高效FEC前向糾錯技術結合高性能的無線射頻IC,以及高速微處理器相結合開發出的一款無線通信模塊,該無線通信模塊是在SRWF-501型無線通信模塊的基礎添加了適當的功率放大器,增加了通信距離的一款微功率無線模塊,可與SRWF-501、SRWF-506、SRWF-507進行無線通信。該無線通信模塊具有很強的抗干擾能力,全透明傳輸,體積小,功耗低傳輸距離遠(能達到4500m)和波特率可調(有1200/2400/4800/9600/19200可選)的特點,使用時不需要任何編碼技術。
本系統中所采用的DS12C887時鐘日歷芯片具有一定的精度,其誤差累積時間較長,可以采取每周或每月接收一次北斗時間信號以校準。這樣就能克服在天氣狀況不好難以收到衛星信號或北斗系列出現故障時仍能使系統依然正常的工作,DS12C887中自帶有鋰電池,所以在外部掉電時,其內部的時間信息依然能保持10年之久。同時DS12C887中帶有128字節時間信息,其中11字節RAM用來存儲時間信息,4字節RAM用來存儲DC12C887的控制信息,作為控制寄存器,余下的113字節RAM可供使用戶使用。
作息控制系統主要由接收模塊和執行模塊組成。接收模塊把接收到的時間和執行信號送到作息系統中的單片機中,具有顯示功能的系統可以把時間顯示出來,具有執行功能的系統則根據接收到的執行信號來執行相應的動作如打鈴或者發出語音提示等等。
系統軟件的設計包括系統的初始化、中斷處理、接收信息處理、數碼管的顯示、發送信息處理。
本地授時系統的流程圖如圖3所示,系統主程序開始以后首先對系統環境初始化,之后單片機向北斗授時模塊發出多數據的指令,北斗授時模塊開始工作接收北斗衛星上發出信號并經過射頻處理、北斗信息處理單元、授時信息融合單元等產生統一的時間信息,在將時間信息發給單片機,單片機將時間數據送入MAX7219并通過顯示模塊顯示出來。同時,單片機將得到的時間數據與FLASH中的作息時間比對,如果與表中的時間匹配,單片機發出相應的控制信號,子系統來接收控制信號執行操作。為了減少功耗,設計30 s來發送一次數據,這是通過檢測接收的時間信號的秒位為00或30時控制SRWF-508發送(如圖4)來實現的。

圖3 本地授時系統流程圖

圖4 SRWF-508發送流程圖
作息控制系統的流程圖如圖5所示,微處理器等待SRWF-508接收到的信號(圖6)傳送過來,接收的信號包括時間信息和控制信號。時間信息作為本子系統的時間,控制信號用來執行相應的動作,如打鈴或語音提示。

圖5 作息控制系統流程圖

圖6 SRWF-508接收流程圖
目前采用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.