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