肖 強 , 王 沖 , 林炳章
(1.空軍雷達學院 三系,湖北 武漢 430019;2.武漢大學 衛(wèi)星定位技術研究中心,湖北 武漢 430079;3.武漢大學 電子信息學院,湖北 武漢 430079)
隨著電子行業(yè)的飛速發(fā)展,各種電子產品層出不窮,單片機處理器也從早期的8031/8051演變成如今嵌入有51核的各種處理器芯片,筆者設計了一款GPS時間校時器,由于不同儀器顯示的時鐘總是存在差異,此校時器能提供精準的時鐘標準,并將此標準時間傳給外部設備來校時。根據地理位置不同,我國均采用首都北京所在的東八時區(qū)的區(qū)時作為標準時間,與世界時相隔8個小時,標準北京時間是與國家授時中心標準時間同步更新的。因此電腦、手機、手表等時鐘顯示器可以以此為標準來校準,一般標準的時間可以通過上網來查詢更新,但是這種方法往往比較麻煩,而且在對戶外設備校時時,也會帶來很多不便,本設計的校時器,其時間可以與標準的北京時間同步,此外與電腦相比此校時器體積小且方便攜帶,使用起來也十分方便。
本系統(tǒng)設計的是一款GPS校時器,所謂校時器是指能夠提供標準的時間基準的儀器,這款校時器是用來對指定的外部設備校時的,主要使用GPS的標準世界時,將標準的時間信息通過串口發(fā)送給外部設備,發(fā)送的數據有標準的格式,其他設備接收到數據后提取出有用信息再進行校時。此系統(tǒng)主要包括3大模塊:GPS模塊、單片機控制模塊和液晶顯示模塊。具體框圖如圖1所示,其中單片機是控制的核心部件。數據來源于GPS接收到的數據,時間信息通過液晶顯示供用戶觀察。
圖1 系統(tǒng)結構框圖Fig.1 Structure diagram of system
C8051F340是在早期的803x/805x的基礎上發(fā)展起來的,以其低功耗,高速的運算能力等優(yōu)點而得到廣泛的應用,是目前運用較多的一款單片機處理芯片[1]。它是新華龍公司研制的一款芯片,使用CIP-51微控制器內核。CIP-51與MCS-51指令集完全兼容,可以使用標準803x/805x的匯編器和編譯器進行軟件開發(fā)。此外還添加了很多外設,因而提高了單片機的整體性能,使其更易于在實際中使用。
此系統(tǒng)使用了一款MG2217S2模塊,它是一個高精度的GPS模塊,包括一個RF射頻接收端,基帶信號處理部分,內部Flash存儲,以及電源供電單元,這些部件全部集成在模塊內部,在使用時只用連接簡單的外圍電路就可以接收GPS信號。此模塊工作于L1頻段,采用C/A碼調制,數據每1s更新一次,熱啟動只需1 s的時間,而溫啟動需 32 s,實行熱啟動可以大大節(jié)省GPS信號的捕獲時間,輸出的信號有GGA,GLL,GSA,GSV,RMC和 VTG 6種形式,每種形式都有固定的數據格式且各不相同,這些數據均包含當前的時間,地理位置等信息。
在本系統(tǒng)中主要使用的是RMC格式的數據,其數據格式 為 $GPRMC,161229.487,A,3723.2475,N,12158.3416,W,0.13,309.62,120598,*10 其中 161229.487 表示的就是 hhmmss.sss,3723.2475表示的是經度信息,12158.3416表示的是緯度信息,N和W分別表示的是南北緯,東西經,狀態(tài)位A(V)用來判斷收到的GPS數據是否有效,在接收端用軟件處理時首先要判斷有效位,如果該位為A則可以使用時間和位置信號。除了使用GPS精確的時間和地理信息外,還可以利用秒脈沖信號PPS,因為不管GPS是否有收到信號,只要GPS模塊是上電的則能夠工作,則可以發(fā)送1 s的連續(xù)脈沖波,其精度高達20 ns。這比GPS信號有效時將接收到的時間數據再來處理要方便得多,此信號的精確度相當高,因此可以根據需要接收此PPS信號做相應的處理,例如用來產生1 s的中斷。
由于系統(tǒng)大小尺寸有限制,液晶的大小也有規(guī)定,因此選用一款多功能的液晶顯示芯片SSD1305,它是一款CMOS的OLED,它由132×64的點陣構成,能同時顯示4行漢字,每行最多8個字,可以設置不同的背景顏色,調節(jié)對比度,使顯示的結果看起來更加舒適。內嵌有對比度控制器,顯示區(qū)RAM以及晶振等,可以減少外部元件的數量進而減少功耗,因其體積小功耗低在各種便攜器件中應用較多,比如計算器的顯示屏,手機的屏幕,MP3/MP4的顯示屏等。
GPS模塊的應用是基于目前全球定位系統(tǒng)GPS[2]是技術上最成熟且已實用的一種衛(wèi)星導航和定位系統(tǒng),GPS發(fā)播一種形式的協(xié)調世界時(UTC),以便為全世界的用戶提供時間同步能力。本文主要采用的是集成的GPS模塊,它能提供標準的世界時間,通過單片機控制GPS模塊的數據用串口來傳送,單片機的串口接收數據并提取出有用的信息,經處理后在液晶OLED上顯示出來,便于用戶觀察當前時間,此外單片機還將時間信號以一定的格式通過串口傳給外部設備用來校準時間。
由于采用的是集成的GPS模塊,只用提供電源,連接簡單的外圍部件,模塊就可以正常地工作,數據的輸出通過串口發(fā)送端與單片機的串口接收端相連,就可以被單片機正常地接收。單片機從串口接收到的數據中提取出有用的當前世界時,當地的地理位置的經度和緯度。
時鐘芯片DS1302是為了防止GPS接收到的信號無效而使用的,在考慮到GPS模塊在沒有信號時其時間數據是隨機的,數據均是無效的,因此必須使用一款時鐘芯片來記錄GPS有效的時間。在上電后DS1302內部的振蕩器開始工作通過單片機的讀寫控制向DS1302寫入初值,芯片便開始以秒為基準計數,且只要DS1302的供電電源有效則秒信號就會加1計數。可以將GPS有效的時間值寫入DS1302,即使在GPS信號無效時DS1302的時間也是準確的。當GPS信號有效時,GPS信號的時間與DS1302讀出來的時間是同步的,在GPS信號無效時DS1302仍可以讀出標準的時間,可以把DS1302的時間作為時間基準,但為了防止出現(xiàn)誤差,可以隔一段時間對其校準,這里使用PPS產生的中斷來校準時間,當GPS信號有效時,將寫入當前DS1302的秒數據加1,在下一個PPS中斷信號到來時將此秒信號加1后的值寫入到DS1302,完成一次校時。這一系列的操作均通過軟件實現(xiàn),用這種方式DS1302顯示的時間精確度與PPS的精度相當??梢员WC不管在GPS信號是否有效時均能保證讀出的時間是標準時間,達到校時的目的。
系統(tǒng)的電源由5 V的USB提供,單片機、GPS模塊、串口轉換模塊、時鐘模塊等的供電電源為3.3 V,液晶供電電源為12 V。因此設計使用了兩個電壓轉換芯片[3-4],其中一個為5 V轉3.3 V的DC-DC芯片MIC29152,另一塊為3.3 V轉12 V的DC-DC芯片TPS61040,此外還配有4.2 V電池裝置,可以配置一塊充電電池在電耗完時接外接電源充電,與手機充電電池相當,這樣在戶外校時就會很方便。其中兩款DC-DC芯片均配有工作使能引腳,只有在使能端電壓為有效時芯片才正常工作,使能端通過單片機控制,軟件編程可以輸出有效的3.3 V和12 V的電壓。
數據的傳輸都是通過串口傳送的,但是由于此電路板設計規(guī)則有要求,因此數據在發(fā)送給外部設備時采用的是USB接口,這就要求電路必須要有電平轉換電路[5],這里使用了一片MAX3232,串行數據通過MAX3232后USB接口發(fā)送出去,在程序的調試階段通過與電腦相連設置相同的波特率就可以接收單片機發(fā)送的數據。同時也可以將電腦要發(fā)送的數據通過USB接口給單片機接收。此系統(tǒng)設置有兩個串口,一個用來發(fā)送GPS信號,主要用來判斷GPS是否正常工作,另一個接口用來發(fā)送提供給外部設備的校時信息,一般串口輸出的信息包含規(guī)定的起始標志符,當前的時間信息以及從PPS中斷開始到時間信息發(fā)送完畢時定時器所記錄的時間作為一次發(fā)送的結束標志,此結束標志也可以作為外部校時設備收到信號后的開始標志。
在外部環(huán)境使用此校時器沒有外接電源,需要使用電池來供電,但長時間的供電會使電池耗盡,為了減小功耗,當不需要校時時,選擇單片機工作在停機模式,同時其他電源芯片使能腳無效電源不能正常工作,這樣可以減小電池的消耗,這里利用了C8051F340單片機的特殊停機模式的功能,按鍵按下后即可進入停機模式,只有在系統(tǒng)復位時才能由停機模式轉換為正常的工作模式,這一功能主要靠程序控制字PCON實現(xiàn)。此方式減少了電源的消耗也大大節(jié)省了電池充電的次數。
校時的核心步驟均是通過軟件來實現(xiàn)的,一般GPS天線在室外容易收到信號,而在室內往往不易收到,因此要用此設備校時時可以先在室外接收GPS信號,在上電后在液晶上會顯示當前的時間信息以及當前所處的地理信息,此時由于GPS信號有效,DS1302的時間已經被校準過了,若要開始校時可以按下按鈕KEY2,串口開始發(fā)送數據,對方接收后處理接收到的數據即可,若校時結束則斷開KEY2。在校時結束后不需要使用時可以按下KEY1,此時進入停機模式,液晶顯示關閉,處于節(jié)能狀態(tài)。需要再次校時時按下KEY3,系統(tǒng)復位重新恢復顯示。其中軟件流程圖如圖2所示,具體編程使用的是C語言[6],因其語法結構簡單易懂而被廣泛應用,環(huán)境編程使用Keil C51可以設置斷點、單步全速運行等,方便進行在線調試。
圖2 軟件流程圖Fig.2 The flow chart of software
此校時器利用GPS標準的世界時,用串口發(fā)送時間數據來校時,精確度高,性能穩(wěn)定,且自備有天線和電池裝置,可以隨時隨地使用,因而不同于一般的校時設備,通過單片機的核心控制由軟件來實現(xiàn)校時功能,可以由程序靈活地控制,性能良好,方便攜帶,是一款理想的校時儀器。
[1]萬光毅,孫九安,蔡建平,等.SoC單片機實驗、實踐與應用設計——基于C8051F系列[M].北京:北京航空航天大學出版社,2006:13-23.
[2]Kaplan E D,Hegarty C J.GPS原理與應用[M].寇艷紅,譯.2版.北京:電子工業(yè)出版社,2007:87-90.
[3]康華光.電子技術基礎(模擬部分)[M].北京:高等教育出版社,2008:485-516.
[4]謝自美.電子線路設計·實驗·測試 [M].第3版。北京:電子工業(yè)出版社,2008:139-150.
[5]李朝青.單片機原理及串行外設接口技術[M].北京:高等教育出版社,1999:53-62.
[6]譚浩強.C語言設計[M].北京:清華大學出版社,2001:40-60.