歐陽明星
(廣東松山職業(yè)技術(shù)學(xué)院電氣工程系,廣東韶關(guān)512126)
“授時(Time service)”是指利用無線電波發(fā)播標(biāo)準(zhǔn)時間信號的工作,有短波授時、長波授時、衛(wèi)星授時、互聯(lián)網(wǎng)和電話授時,GPS衛(wèi)星授時是一種覆蓋范圍寬、校時精度高的授時方法,無線通信網(wǎng)按規(guī)定的協(xié)議進(jìn)行信息交互和通信,以實現(xiàn)智能化管理、控制、監(jiān)控[1],將接收的GPS時鐘信號通過無線通信網(wǎng)進(jìn)行二次授時,系統(tǒng)具有分布廣、成本低、精度高、使用簡單的特點,解決了傳統(tǒng)的采用晶體定時所存在的走時不準(zhǔn)、操作不便、人工校時等問題。本文設(shè)計一種基于無線通信網(wǎng)的雙時鐘源授時系統(tǒng),接收GPS衛(wèi)星時鐘信號作為第1時鐘源,可對數(shù)量多、分布廣的時鐘、萬年歷、打鈴儀等進(jìn)行授時,設(shè)計有Internet網(wǎng)關(guān),接入互聯(lián)網(wǎng)可實現(xiàn)遠(yuǎn)程控制或用作網(wǎng)絡(luò)授時服務(wù)器,為避免集中授時因GPS信號接收失敗導(dǎo)致時鐘大面積癱瘓問題,系統(tǒng)還設(shè)計了DS12C887組成第二時鐘源備用,實時時鐘可廣泛應(yīng)用于學(xué)校、廠礦等。
系統(tǒng)由GPS授時機(jī)、主機(jī)控制器、子機(jī)、傳感器4個部分所構(gòu)成,系統(tǒng)使用無線通信網(wǎng)絡(luò)進(jìn)行通信,主機(jī)控制器設(shè)計有Internet網(wǎng)關(guān)接口,以便計算機(jī)及智能終端的遠(yuǎn)程登錄與控制,為提高GPS衛(wèi)星信號的接收靈敏度,擴(kuò)大使用范圍,將GPS接收機(jī)置于室外并采用光伏自供電技術(shù),GPS接收機(jī)接收衛(wèi)星信號并提取出時間信息后通過無線通信網(wǎng)絡(luò)向主機(jī)控制器發(fā)送授時信號,主機(jī)控制器置于室內(nèi),自帶液晶顯示人機(jī)接口,主機(jī)接收的授時信息轉(zhuǎn)換成北京時間后再次通過無線通信網(wǎng)絡(luò)發(fā)送給子機(jī)單元,系統(tǒng)組成如圖1所示。
圖1 授時系統(tǒng)結(jié)構(gòu)圖
全球衛(wèi)星定位系統(tǒng)(Global Position System,GPS)是一套完整的定位、導(dǎo)航、授時系統(tǒng),全球任何地點的GPS用戶通過GPS接收機(jī)接收GPS衛(wèi)星發(fā)出的信號,獲取準(zhǔn)確的空間位置信息、同步時基、世界標(biāo)準(zhǔn)時間等。要實現(xiàn)定位需要經(jīng)度、維度、高度、用戶時間與標(biāo)準(zhǔn)時間差,GPS接收板接收到衛(wèi)星信號組成如下[2]:
式中:ρi為已知GPS接收板到每顆衛(wèi)星的空間距離;xi、yi、zi為每顆衛(wèi)星的空間位置;X、Y、Z 為 GPS 接收機(jī)的位置;Δt為GPS接收板時鐘與衛(wèi)星時鐘偏差,接收4顆衛(wèi)星組成4個方程或已知接收板位置接收1顆衛(wèi)星信號均可實現(xiàn)衛(wèi)星授時。GPS衛(wèi)星裝載了高精度的銫原子鐘,授時精度為幾十ns,比無線電同步碼的授時精度高出一個數(shù)量級[3-4]。
圖2 GPS授時原理
隨著技術(shù)發(fā)展與進(jìn)步,GPS接收設(shè)已做成集成了衛(wèi)星解碼芯片、陶瓷天線、控制單元等于一體的獨(dú)立而完整的模塊,通過RS232異步串行通信口與外界通信,使用 NMEA-0183接口通信協(xié)議,傳輸內(nèi)容為ASCII編碼。外置單片機(jī)通過RS232串行口即可接收GPS模塊的接收信息,提取時間信號經(jīng)加工后即可當(dāng)成本系統(tǒng)的標(biāo)準(zhǔn)時間進(jìn)行授時[2]。本設(shè)計使用塊VK162 GPS接收模塊,采用SiRF StarⅢ芯片組,體積小,接收靈敏度高,搜星快,其默認(rèn)波特率為9600 b/s,可選RS232或TTL接口電平。VK162所使用NMEA-0183協(xié)議命令集如表1所示,每條指令有同步協(xié)議頭,以“$”開始,后面跟著命令字。本設(shè)計只接收GLL命令,從GLL命令中提取時間、日期信息,其命令格式如下:
GPRMC,hhmmss.dd,s,xxmm.dddd,< N/S >,yyymm.dddd,< E/W > ,s.s,h.h,ddmmyy
“$”為語句起始標(biāo)志;GPRMC為GLL命令協(xié)議頭,后面跟著的為時間、日期、地標(biāo)等信息,如表2所示[5]。時間精度為1 ms,值得注意的是接收到的時間為0區(qū)UTC世界時間,需要將其轉(zhuǎn)換成東8區(qū)北京時間。
表1 NMEA-0183常用命令
表2 NMEA-0183命令舉例
GPS接收機(jī)由VK162 GPS接收模塊、CPU、無線收發(fā)器等組成,CPU讀取VK162接收到的GPS數(shù)據(jù)中的GLL命名,提取GPS授時所需的時間、年、月、日等信息,并將其過無線收發(fā)器送給主機(jī)控制器。為提高授時成功率,增大輻射傳輸距離,將GPS接收機(jī)置于接收靈敏度高的室外,并使用太陽能光伏供電。設(shè)計GPS接收機(jī)硬件如圖3所示[6],使用STM8L151F2P低功耗單片機(jī)作控制器,其內(nèi)部采用3級流水線的哈弗結(jié)構(gòu),并集成了16M晶振、2個16位定時器、1個8位定時器以及了12bit分辨率的A/D轉(zhuǎn)換器,有I2C、SPI接口電路,工作電壓為 1.6~3.6 V,內(nèi)部集成2KBFlash、1.5KBRAM 等 存 儲 器,指 令 速 度 為16MIPS[7]。為提高太陽能電池發(fā)電效率,使用MPPT最大功率點追蹤技術(shù),使任意時刻太陽能電池處于發(fā)電的最佳時刻,輸出最大功率[8],圖中 U2、Q1、L1 等元件為MPPT及Boost充電電路,使用自適應(yīng)變步長擾動觀測法實現(xiàn)MPPT跟蹤控制,以實現(xiàn)對蓄電池的高效率充電。
圖3 GPS接收機(jī)原理圖
GPS授時機(jī)通過無線方式向主機(jī)發(fā)送時間信息,主機(jī)接收以后再通過無線方式發(fā)送給所有子機(jī),實現(xiàn)對子機(jī)的GPS授時。為提高系統(tǒng)穩(wěn)定性和可靠性,主機(jī)設(shè)有DS12C887備用時鐘源,作為第二時鐘源以備應(yīng)急使用。DS12C887將時鐘、鋰電池、充電電路集成在一起,信息能保持10年之久,是一種工業(yè)中常用的RTC時鐘芯片[9]。主機(jī)在向其他子機(jī)發(fā)送GPS授時信號時亦同時校準(zhǔn)DS12C887時鐘,當(dāng)主機(jī)與GPS接收機(jī)失去聯(lián)系時,主機(jī)啟用DS12C887的第二時鐘源對子機(jī)授時。主機(jī)兼有電鈴控制功能,預(yù)先作息時間表存于主機(jī)中,主機(jī)實時比對作息時間表,若定時時間到則向打鈴儀子機(jī)發(fā)送響鈴控制信號,控制其響鈴。
圖4 主機(jī)硬件電路原理圖
為實現(xiàn)無人值守,主機(jī)中保存了不同季節(jié)的作息時間表,根據(jù)設(shè)定日期自動切換。此外,主機(jī)還可以向打鈴儀發(fā)送“禁響”指令,使某些特殊位置的電鈴或在特殊時期“禁響”,直到子機(jī)接收“解禁”指令后方能正常工作。主機(jī)硬件電路原理圖如圖4所示,使用STM32F103C8做控制器,并有LCD液晶屏和四按鍵組成的人機(jī)操作交互界面。STM32F103C8為ARM7 Cortex-M3內(nèi)核結(jié)構(gòu),48腳封裝,工作頻率為72 MHz,64KB FLASH,20KB RAM,7個定時器,具有包含 I2C、SPI、USB在內(nèi)的9個通信接口,2個10通道12 bit A/D轉(zhuǎn)換器[10],芯片具有較高性價比。主機(jī)具有USB、以太網(wǎng)等接口,以太網(wǎng)的物理鏈接層由ENC28J60以太網(wǎng)接口芯片實現(xiàn),CPU運(yùn)行TCP/IP協(xié)議棧即可鏈接到Internet網(wǎng),以便實現(xiàn)計算機(jī)或智能終端遠(yuǎn)程控制和互聯(lián)網(wǎng)授時[11]。通過USB接口可以實現(xiàn)對主機(jī)內(nèi)部的數(shù)據(jù)信息進(jìn)行更新。
子機(jī)為萬年歷或打鈴儀,分布在不同樓宇,子機(jī)還可以接傳感器,以實現(xiàn)對樓宇的監(jiān)測控制,當(dāng)觸發(fā)傳感器時子機(jī)將向主機(jī)發(fā)送信息并控制電鈴響鈴報警。子機(jī) CPU 控 制 器 使 用 STM8L101F1T3,其 與STM8L151F2P相比僅內(nèi)部缺少A/D轉(zhuǎn)換器,限于這部分電路較簡單不再贅述。
基于系統(tǒng)集成設(shè)計思路,將GPS授時機(jī)、主機(jī)、子機(jī)組成一個無線通信網(wǎng)絡(luò),通過主機(jī)的以太網(wǎng)網(wǎng)關(guān)接入Internet網(wǎng)絡(luò)。CC1101是TI公司的單芯片無線射頻模塊,可工作于315~915 MHz的ISM頻段,集成10 mW PA功率放大器,遮體穿透能力強(qiáng)、抗干擾性能好,接口簡單,編程方便,是一種低功耗、低成本的無線通信網(wǎng)物理層媒介設(shè)計方案[12],本系統(tǒng)使用CC1101無線通信模塊作為無線通信網(wǎng),工作在900 MHz頻段,CPU通過SPI接口與其連接即可實現(xiàn)數(shù)據(jù)通信,其硬件電路見參考文獻(xiàn)[12]。
以CC1101組成無線通信網(wǎng)絡(luò)的物理鏈接媒介,采用頻分復(fù)用與碼分復(fù)用相結(jié)合的組網(wǎng)方式,按協(xié)議指令集進(jìn)行組網(wǎng)通信。為避免頻道沖突,主機(jī)與GPS授時機(jī)及子機(jī)之間采用不同通信信道,為提高系統(tǒng)可靠性,主機(jī)實時監(jiān)測子機(jī)工作狀態(tài),主機(jī)逐一向子機(jī)發(fā)起查詢命令,子機(jī)接收到命令后檢查ID地址是否匹配并向主機(jī)發(fā)送應(yīng)答信號[13]。系統(tǒng)上電后按約定的協(xié)議自動進(jìn)行鏈接并組網(wǎng),各種協(xié)議命令如圖5所示。圖5定義了7 Byte的短協(xié)議和63個字節(jié)長協(xié)議。短協(xié)議內(nèi)容少,傳輸時延小,主要用實時授時和控制,長協(xié)議主要用于批量數(shù)據(jù)傳送。
圖5 通信協(xié)議集定義
廣播授時命令字為00H~03H,共4條指令,分別代表GPS接收機(jī)的4種不同的狀態(tài):00H GPS同步授時,01H表示GPS接收失敗,02H表示GPS設(shè)備故障,03H表示GPS授時不成功,改用本地 RTC授時[14]。查詢命令為主機(jī)向從機(jī)發(fā)送的指令,地址匹配的子機(jī)接收將向主機(jī)發(fā)送應(yīng)答信號。查詢命令和應(yīng)答命令只使用2個字節(jié),余下字段填充AAH和55H[15]。設(shè)置命令為07H,主要用于通信信道參數(shù)設(shè)置,控制命令用于實時控制,可定義5個功能,如控制子機(jī)開關(guān)機(jī)等。數(shù)據(jù)傳輸命令用于作息時間數(shù)據(jù)傳輸,有4條指令,分別表示不同夏季時令、秋季時令、備用時令1、備用時令2,包ID用作大量數(shù)據(jù)時的分包傳輸,為0時表示只有一個包,為FFH時表示最后一個包。
GPS接收機(jī)使用頻道0(CH0)與主機(jī)通信,主機(jī)與子機(jī)使用廣播信道(CH1)通信,所有子機(jī)開機(jī)守候在CH1頻道等待主機(jī)發(fā)送信號或命令,主機(jī)通過CH1向所有子機(jī)發(fā)送授時數(shù)據(jù),發(fā)送間隔周期為300 s。主機(jī)每1 hr對子機(jī)進(jìn)行一次檢查,通過CH1廣播信道呼叫指定子機(jī),子機(jī)接收后向主機(jī)發(fā)送應(yīng)答信號完成子機(jī)檢查過程。所有子機(jī)檢查完畢后主機(jī)切換到CH2信道監(jiān)測傳感器信號。若主機(jī)無法接收到子機(jī)的應(yīng)答信號將在液晶屏給出提示信息。子機(jī)可與紅外、微波等傳感器進(jìn)行無線連接,CH5為傳感器專用信道,子機(jī)空閑時自動切換到CH5接收傳感器發(fā)送信號,每60 s接收一個次傳感器信號,若接收到傳感器信號則立即通過CH2信道向主機(jī)發(fā)送盜情信號。整個系統(tǒng)鏈接通信過程如圖6所示[16]。
圖6 節(jié)點通信過程
授時系統(tǒng)分別選用了STM系列8位處理器和32位的Cortex-M3處理器,所有程序使用C語言編寫實現(xiàn),主機(jī)軟件程序圖見圖7(a)所示,子機(jī)軟件流程圖見圖7(b)所示。
樣機(jī)制作成功之后包含一個GPS接收機(jī)、1臺主機(jī)、2個子機(jī)、3個傳感器,借助AT6010頻譜分析儀和GPS導(dǎo)航儀時鐘構(gòu)建測的評平臺進(jìn)行測試,主要測試系統(tǒng)對環(huán)境和氣候的適應(yīng)能力和節(jié)點網(wǎng)落性能。GPS接收機(jī)分別放置室內(nèi)和室外,連續(xù)實驗3天,測試結(jié)果如表4所示,實踐證明置于室外時100%能正常接收衛(wèi)星信號并成功提取時間。分別測試CC1101無線通信模塊的直線傳輸距離和遮體穿透通信能力,如表5所示,實踐證明,CC1101有遮體(2道水泥墻)的傳輸距離為320 m左右,空曠地帶的直線傳輸距離約為500 m左右。測試結(jié)果表明,樣機(jī)組網(wǎng)后工作穩(wěn)定可靠,授時精度高,萬年歷實現(xiàn)免調(diào)試,打鈴儀實現(xiàn)無人值守,通過TCP/IP客戶端軟件可以實現(xiàn)授時系統(tǒng)的遠(yuǎn)程控制,通過計算機(jī)、智能手機(jī)終端即可實現(xiàn)程監(jiān)測和控制。
圖7 軟件流程圖
表4 GPS接收機(jī)測試結(jié)果
表5 CC1101無線通信網(wǎng)通信距離測試結(jié)果
[1] 董劍利,周 丹.通用GPS授時同步監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機(jī)工程與設(shè)計,2007,12:3006-3008.
[2] 陽繼軍.基于GPS授時的地震采集系統(tǒng)同步系統(tǒng)設(shè)計[J].石油儀器,2009(1):82-83.
[3] 趙云峰,崔 明,昊志勇.新型高授時精度時碼終端系統(tǒng)設(shè)計[J].光電與控制,2009,16(3):86-90.
[4] 鄒德財,邊玉敬,吳海濤,等.長波授時系統(tǒng)相位跟蹤點檢測的數(shù)字化研究[J].西安交通大學(xué)學(xué)報,2006,40(6):729-733.
[5] 董劍利,周 丹.通用GPS授時同步監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機(jī)工程與設(shè)計,2007,28(12):3006-3008.
[6] 鄔麗娜,張 波.基于MSP430單片機(jī)的太陽能充電控制器設(shè)計[J].實驗室研究與探索,2012,31(5):33-36.
[7] 陳上挺,謝文彬,游穎敏.基于STM8的紅外與超聲波測距儀設(shè)計[J].電子技術(shù)應(yīng)用,2011,37(9):32-34.
[8] 張 興,曹仁賢.太陽能光伏并網(wǎng)發(fā)電及其逆變控制[M].北京:機(jī)械工業(yè)出版社,2010,9:187-198.
[9] 張永安,王 睿.基于DS12C887的數(shù)字時鐘的實現(xiàn)[J].內(nèi)蒙古農(nóng)業(yè)大學(xué)學(xué)報(自然科學(xué)版),2010,31(3):263-266.
[10] 王鐵流,李宗方,陳東升.基于STM32的USB數(shù)據(jù)采集模塊的設(shè)計與實現(xiàn)[J].測控技術(shù)2009,28(8):37-40.
[11] 謝希仁.計算機(jī)網(wǎng)絡(luò)[M].5版.北京:電子工業(yè)出版社,2008.
[12] 丁 欣,胥布工.基于CC1101無線自組網(wǎng)的路燈監(jiān)控及節(jié)能系統(tǒng)[J].自動化與儀表,2011,26(2):20-22.
[13] 陳 香.CCl100的無線數(shù)據(jù)通信與時分多址通信協(xié)議[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2009(7):69-70.
[14] 曹青松,徐 鵬,周繼惠.基于CC l l 00的ZigBee無線抄表系統(tǒng)的節(jié)點設(shè)計術(shù)[J].電測與儀表,2010,47(2):17-20.
[15] 張利剛,鮑星合,羅 斌.基于CC1100的無線傳感網(wǎng)基站設(shè)計[J].計算機(jī)技術(shù)與發(fā)展,2009,19(7):10-12.
[16] 李嘉敏,賈 衛(wèi),黃小寅,等.低功耗無線溫室監(jiān)控系統(tǒng)的研制[J].測控技術(shù),2010,29(2):95-98.