基于GPS15xL-W塔鐘控制系統(tǒng)的研究
2.3 報時系統(tǒng)
報時系統(tǒng)硬件原理見圖4。報時系統(tǒng)由一塊ISD4004語音芯片、揚聲器及外圍電路構(gòu)成。ISD4004有兩個信號輸入端,一個是錄音信號的同相輸入端ANA IN+,另一個是錄音信號的反相輸入端ANA IN-。ISD4004被啟動后,發(fā)出報時信號,首先是音樂,接著是打點聲。此信號送入LM386,經(jīng)過放大后,推動揚聲器發(fā)聲。本文引用地址:http://www.ex-cimer.com/article/160335.htm
3 軟件設計
系統(tǒng)軟件設計采用模塊式,設計包括:初始化模塊,串口中斷接收模塊,數(shù)據(jù)處理模塊,顯示模塊,鍵盤處理模塊,走時模塊。圖5為主程序流程圖。系統(tǒng)初始化模塊包括串口初始化、液晶顯示初始化。串行中斷接收GPS_OEM板的“$ GPRMC”語句。每當正確接收到“$ GPR MC”語句就更新一次顯示,同時送出塔鐘走時的控制信號。
單片機上電復位,通過串行接口RXD與GPS15XL-W接收機通訊,獲取衛(wèi)星數(shù)據(jù);另一方面步進電機的指針快速走時,若查詢到按鍵1按下,則此時的位置為塔鐘的走時基準點。若查詢到按鍵2按下,則指針快速走到當前時刻,繼而正常走時。單片機通過P1口與塔鐘控制系統(tǒng)通訊實現(xiàn)塔鐘校時。單片機接收GPS接收機發(fā)來的數(shù)據(jù)信息,從中篩選出所需要的時間信息。傳送時間信息的指令是$GPRMC,是命令頭,其ASCII碼是24,47,50,52,4D,43,2C。緊隨命令頭的是UTC時間,hhmmss(時分秒)格式。
此外,單片機接收到的時間數(shù)據(jù)為UTC時間(格林威治時間),UTC時間與世界各地的時間有時差,例如,UTC時間比北京時間晚8 h,因此,將接收到的UTC時間加上8 h,即為北京時間。在對小時加8的時候,要注意對日期的影響,因為日期涉及到閏年等問題。
步進電機每獲得一個脈沖指針轉(zhuǎn)過1.8°,但是塔鐘轉(zhuǎn)盤一圈360°,秒針走過一小格,即6°,但是連續(xù)給步進電機三個脈沖,指針只能走5.4°,因此,為了減小誤差,給步進電機發(fā)送脈沖的時序為3—4—3,即單片機按三個脈沖、四個脈沖和三個脈沖給步進電機發(fā)送脈沖,塔鐘指針走過5.4°、7.2°和5.4°,照此循環(huán)發(fā)送,所以每三秒鐘就可以消除指針轉(zhuǎn)動的誤差。
因此,在軟件設計中,首先判斷當前的時刻的秒值與三相除所得余數(shù),余數(shù)為0和2,則發(fā)送3個脈沖,若余數(shù)為1,則發(fā)送4個脈沖,以此類推。秒針每轉(zhuǎn)過一圈為一分,即分針走過一小格;分針每轉(zhuǎn)過一圈為一小時,即帶動時針走一大格。塔鐘按上述情況走時。GPS時間信息每秒鐘校正一次塔鐘走時,從而保證塔鐘走時的高精度。
4 結(jié)論
因采用了GPS作為塔鐘走時的標準時鐘源,解決了塔鐘走時不準確的問題,控制系統(tǒng)硬件設計簡單,抗干擾性強,系統(tǒng)運行穩(wěn)定可靠,具有很好的實用性。
評論