黃明亮


摘 要:作者通過樹莓派、UM220-III GNSS模塊、以及C#軟件研發GPS/北斗授時服務器。使用樹莓派的的串行接口接收UM220模塊輸出的NMEA0183語句數據,通過配置樹莓派,從本地串口獲取數據,安裝配置NTP服務,并利用自研串口一分三模塊,通過C#平臺開發一套上位機串口時鐘同步軟件,搭建一套支持NTP授時,串口授時的北斗_GPS雙模授時系統,完成對空管系統的授時應用。
關鍵詞:UM220,樹莓派,北斗,GPS,NTP,串口報文
1引言:
作者之前基于STC12C5A60s2單片機和網絡模塊W5500,開發了一套時鐘授時服務器,硬件電路簡單,成本低廉,使用維護方便。為了進一步提高授時服務器性能和準確性,作者利用樹莓派作為處理器,利用樹莓派強大的處理性能,研發了新一套高性能、精準授時時鐘服務器。
2研發背景:
桂林空管站技保部目前配置兩套GPS時鐘授時系統,一套是川大智勝的GPS時鐘授時系統,另一套是美國Symmetricom公司的GPS服務器。川大智勝的GPS時鐘授時系統通過時間同步系統分發主機為用戶提供串口時間報文,并在各個引接該系統時鐘的主機上安裝上位機軟件,完成對該系統的授時應用。桂林空管站采用該種方式獲取GPS時間的系統主要有:ATC3000自動化系統,64路和48路青島宏光轉報機,HT記錄儀,MDSL記錄儀,氣象自觀設備等。
美國Symmetricom公司的GPS服務器,通過一臺交換機提供NTP授時服務。在被授時的客戶機上設置好服務器IP地址,即可通過NTP協議方式獲取GPS時間,完成時間同步。桂林空管站采用該種方式獲取GPS時間的系統主要有:新舊兩套telephonics自動化系統,FA36網管,FREQUENTIS內話系統,快速檢測系統等。
這兩套授時系統均只支持串口或者網絡其中一種授時方式,不滿足現階段空管眾多設備的授時需求。并且該時鐘服務器還存在時鐘翻轉和售后服務困難的問題,設備一旦出現故障,對空管安全生產將造成很大影響,基于此現狀,作者研發了支持串口和網絡兩種授時方式的授時服務器,以作為這兩套時鐘服務器故障后的備份保障工具。
3系統設計
該系統是基于和芯星通的UM220-III N雙系統高性能GNSS模塊、樹莓派和網絡模塊W5500開發,使用樹莓派作為處核心處理模塊,利用樹莓派的串行接口接收UM220模塊輸出的NMEA0183語句數據,通過編程配置,完成NTP授時功能。
3.1硬件設計
UM220-III N模塊能夠同時支持BD2 B1,GPS L1兩個頻點,接收北斗和GPS衛星信號。該模塊串口1為主串口,輸入輸出信號類型為LVTTL電平,默認波特率為9600bps,最高可以設為115200bps,可自行配置。模塊上還集成了MAX232芯片,提供EIA/TIA-232-E標準電平,以便與PC機等通過RS232串口進行通信。
樹莓派它是一款基于ARM的微型電腦主板,以SD/MicroSD卡為內存硬盤,卡片主板周圍有1/2/4個USB接口和一個10/100以太網接口(A型沒有網口),可連接鍵盤、鼠標和網線,同時擁有視頻模擬信號的電視輸出接口和HDMI高清視頻輸出接口,以上部件全部整合在一張僅比信用卡稍大的主板上,具備所有PC的基本功能。
網絡授時模塊:UM220-III N模塊輸出的時間信息,通過串口轉USB線輸出至樹莓派,在樹莓派上安裝ntpd,并配置ntpd從本地串口獲取數據,啟用NTP服務,完成NTP授時功能。具體步驟如下:
關閉樹莓派的串口登陸功能,使得樹莓派可以使用GPIO 14和GPIO15作為串口通信。通過指令sudo raspi-config進行配置,找到Serial這一項,選擇disable。
通過指令cat/dev/ttyAMA0測試串口,查看樹莓派能否讀取UM220-III N模塊輸出的語句
安裝配置ntp服務,通過編輯/etc/ntp.conf文件,配置ntpd連接本地串口并獲取gps時鐘信息,配置完成重啟ntp服務sudo service ntp restart
串口授時模塊:UM220-III N輸出的時間信息,通過自研串口一分三模塊輸出至需要授時的設備,在設備上安裝自研上位機軟件,獲取精確時間,完成串口授時功能。
3.2上位機軟件設計
本系統上位機軟件采用C#平臺開發,軟件包括串口接收模塊、UTC時間轉換模塊、授時模塊、圖形界面模塊。
串口接收模塊:接收UM220發出的串口報文,利用編程指令完成時間信息接收和處理;
UTC時間轉換模塊:衛星提供的時間是UTC時間,與北京時間相差八小時,并且為了保證系統的可靠性,時間轉換過程需要考慮閏年等情況
授時模塊:處理串口報文,并利用編程指令對系統進行授時,授時的頻率可以按需更改
圖形界面模塊:通過友好的界面開啟串口授時,并負責將接收到的時間信息,顯示到指定位置。
4結束語
本文介紹的基于樹莓派研發的雙模授時系統,不僅能夠提供精確的NTP授時和串口報文授時,而且具有硬件電路清晰,編程方便,性能穩定的特點,具有一定的使用價值。