999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于LinuxPPS的高精度校時系統(tǒng)實現(xiàn)*

2012-01-25 01:26:04胡柯良鄧元勇商朝暉
天文研究與技術(shù) 2012年1期
關(guān)鍵詞:信號

于 佳,胡柯良,鄧元勇,商朝暉

(中國科學(xué)院國家天文臺,北京 100012)

一般的計算機和嵌入式設(shè)備使用的晶體振蕩器的精度為幾或者幾十PPM(百萬分之一秒),但由于受溫度漂移的影響,使得每天的誤差能夠達到秒級,如果再考慮元器件的老化或外界干擾等因素,誤差可能會超過十秒,如果不及時校正,誤差積累將不可忽視[1]。

網(wǎng)絡(luò)時間協(xié)議NTP(Network Time Protocol)是美國特拉華大學(xué)的MILLS David L教授在1982年提出的,設(shè)計目的是利用互聯(lián)網(wǎng)資源傳遞統(tǒng)一和標準的時間。具體的實現(xiàn)是在互聯(lián)網(wǎng)上建立若干個精確的時鐘源服務(wù)器,為用戶提供授時服務(wù),并且時間服務(wù)器之間能夠相互比對,提高準確度。NTP發(fā)展到現(xiàn)在已經(jīng)十分完善,支持多種時鐘源,如外置原子鐘、片上時鐘源和GPS時鐘源等。目前使用GPS信號實現(xiàn)校時的研究工作有很多,大多采用讀取串行數(shù)據(jù),提取時間信息來校正系統(tǒng)時鐘[2-3],精度一般為秒級。本文充分利用NTP校時工具對GPS的支持,采用串行數(shù)據(jù)和秒脈沖相結(jié)合的方式校準時間,校時精度大為提高,可達微秒量級。

準確的時間是天文觀測所必需的。精準的系統(tǒng)時間不僅能夠滿足南極觀測設(shè)備精確指向的要求,保障記錄的星空數(shù)據(jù)的時間準確度,還能夠應(yīng)用到其他需要高時間精確度的場合,如太陽光學(xué)段數(shù)據(jù)和射頻段數(shù)據(jù)進行高精度的同步比對。

1 校時方式

1.1 校時方式的選取

南極內(nèi)陸冰蓋的地理環(huán)境十分惡劣,空氣稀薄、寒冷而干燥,這樣的環(huán)境對觀測設(shè)備來說是一個不小的考驗,如何選取穩(wěn)定而又可靠的時鐘源實現(xiàn)時間同步顯得極為重要。采用GPS時鐘源作為校時的時鐘源主要有三點優(yōu)勢:

(1)GPS時鐘源是GPS衛(wèi)星上自帶的原子鐘,全天候工作,穩(wěn)定性好,可靠性高;

(2)接收設(shè)備簡單。目前的GPS接收模塊已經(jīng)相當成熟,性能穩(wěn)定,能夠滿足極地特殊環(huán)境的要求,經(jīng)測試G591在-25℃的環(huán)境下能夠正常工作;

(3)觀測地Dome A的大氣環(huán)境非常適宜天文觀測,同時衛(wèi)星信號也十分理想,為GPS模塊的正常工作提供了有力保障。

1.2 GPS 校時方式

Linux版本的NTP很早就支持GPS串行校時方式,早期的NTP源代碼中都有相應(yīng)的時鐘源代碼,如refclock_nmea.c。而Linux內(nèi)核對PPS的支持是從2.6.34才開始嵌入的,在這之前的版本要安裝LinuxPPS,都需要打上對應(yīng)版本的補丁,并重新編譯內(nèi)核。由于NTP是分層構(gòu)建的,其時間精度是逐層遞減的。本文的設(shè)計思想是使與GPS接收器相連的計算機處于NTP的頂層,實現(xiàn)單機的高精度時間校正,同時支持對下一級的時間服務(wù)。

使用GPS信號作為同步時鐘源的校時方案主要有3種[4]:脈沖同步方式、串行同步方式和綜合方式。本文采用的LinuxPPS校時方案是綜合方式。3種方式的對照如表1。

表1 校時方式對照Table 1 Comparison of different time-synchronization methods

1.3 基于LinuxPPS的綜合校時

LinuxPPS綜合校時方式是一種優(yōu)勢互補的校時方式。這種方式在原有的NMEA串行校時方式基礎(chǔ)上,引入了PPS脈沖校時,既繼承了NMEA串行校時方式可以獲取時間信息的優(yōu)勢,又利用了PPS脈沖校時延時估計誤差小、精度高的特點。LinuxPPS綜合校時的過程:LinuxPPS補丁先為操作系統(tǒng)增加了一個識別外部PPS信號的中斷源,采用的端口是串口第一信號線(Data Carrier Detect數(shù)據(jù)載波檢測);系統(tǒng)搭建好之后,GPS天線接收GPS信號,傳遞給G591芯片進行解碼,每秒輸出NMEA0183格式的數(shù)據(jù)和PPS信號;NTP服務(wù)器正確配置后從NMEA數(shù)據(jù)中提取時間信息,轉(zhuǎn)換后寫入timespec結(jié)構(gòu)體中,PPS中斷響應(yīng)后對timespec結(jié)構(gòu)體元素tv_nsec進行清零;校時誤差的減小是通過NTP自帶的函數(shù)進行時間補償。

2 系統(tǒng)設(shè)計實現(xiàn)

2.1 硬件平臺

LinuxPPS綜合校時方案需要的硬件設(shè)備分為3部分:GPS天線、GPS接收器和用于提供NTP服務(wù)的PC機或工作站,相應(yīng)的功能和應(yīng)用如下:

(1)GPS天線用于接收GPS信號。本文采用的是磁吸式GPS天線,使用時要水平放置,最好置于開闊地,如天窗、窗臺、陽臺等;

(2)GPS接收器由電源、GPS接收和電平轉(zhuǎn)換3個模塊構(gòu)成。電源模塊主要把5 V電源電壓轉(zhuǎn)成3.3 V給G591芯片供電;GPS接收模塊采用G591芯片,負責處理天線接收的信號,按照NMEA0183協(xié)議輸出串行數(shù)據(jù)流;電平轉(zhuǎn)換模塊主要采用MAXIM公司生產(chǎn)的MAX232芯片,將G591輸出的CMOS電平轉(zhuǎn)換成RS232電平。本文采用的G591芯片工作在只讀方式,將G591芯片的1PPS端和TXA端通過MAX232芯片分別連接到串口1號(DCD)和2號(RXD)信號線。具體的電路連接如圖1。

(3)PC機或工作站用于處理GPS數(shù)據(jù),要求支持串口和網(wǎng)口等設(shè)備,以實現(xiàn)GPS數(shù)據(jù)的接收和校時輸出。

圖2所示的硬件平臺搭建好之后,對PPS信號和NMEA0183串行數(shù)據(jù)進行了相應(yīng)的調(diào)試。對PPS信號的調(diào)試采用的是硬件方式,使用示波器來觀察GPS接收器是否有秒脈沖信號輸出,若天線和接收器工作正常,會檢測到PPS端有脈寬為100 ms的秒脈沖輸出;對NMEA數(shù)據(jù)的調(diào)試采用的是軟件方式,使用Windows操作系統(tǒng)自帶的超級終端或Linux操作系統(tǒng)的minicom等工具讀取串口數(shù)據(jù),檢測數(shù)據(jù)是否正常,正確的輸出結(jié)果是NMEA0183格式的串行數(shù)據(jù)。

圖1 GPS接收器電路Fig.1 Circuit diagram of the GPS receiver

2.2 軟件平臺

使用Ubuntu9.04 Linux操作系統(tǒng),內(nèi)核版本是2.6.24; 使用的 PPS 補丁是 ntp-pps-2.6.24.diff,版本是5.0.0;使用的串口設(shè)置工具是setserial,版本是2.17; 使用的 ntp 版本是 4.2.4。平臺搭建主要分為兩部分:LinuxPPS部分和NTP部分。

2.2.1 LinuxPPS 部分

該部分主要完成兩步工作:編譯內(nèi)核和安裝PPS 調(diào)試工具[5-6]。

(1)從相應(yīng)網(wǎng)站(http://kernel.org/)下載linux內(nèi)核和PPS補丁[6]的源代碼,放到指定目錄下,對下載的內(nèi)核代碼打上PPS補丁,使內(nèi)核支持PPS。然后準備好必要的軟件包:gcc-4.2.4、dpatch、dh_make、fakeroot、build-essential、libncurses-dev和setserial。在對內(nèi)核進行配置時,要配置設(shè)備驅(qū)動器(Device Drivers)中的PPS support,使內(nèi)核支持PPS debugging messages和UART serial support。在完成內(nèi)核編譯和系統(tǒng)重啟動后,可以通過查看安裝的mudule中是否有pps_core判別新內(nèi)核是否支持PPS。

(2)PPS補丁中自帶的調(diào)試工具存放在內(nèi)核Documentation目錄下的pps文件夾中,然后添加必要的庫(timepps.h、asm、linux、asm-generic)完成編譯,生成了可執(zhí)行文件ppstest和ppsctl。另外要實現(xiàn)調(diào)試功能還需要串口設(shè)置工具setserial,同樣也需要對setserial打補丁,使其能夠識別hardpps標識。

(3)PPS調(diào)試過程:檢測8250模塊;使用setserial為PPS中斷源指定一個串口;執(zhí)行ppsctl程序使串口有效;打開串口;運行ppstest程序檢測PPS中斷源。如果串口的DCD信號端有秒脈沖信號輸入,會產(chǎn)生串口中斷,從而觸發(fā)ppstest程序顯示系統(tǒng)時鐘。正確的輸出結(jié)果如下:

圖2 硬件平臺Fig.2 Block diagram of the hardware platform

2.2.2 NTP 部分

該部分主要完成NTP服務(wù)器的配置、安裝和調(diào)試[7-8]。

(1)為實現(xiàn)校時目的,必須正確配置NTP服務(wù)器。G591芯片默認輸出5項語句:GPGGA、GPRMC、GPGSA、GPGSV和GPVTG,其中攜帶UTC時間信息的是GPGGA和GPRMC。參考NTP的源代碼,將NTP服務(wù)器配置成模式0、1或2,都能夠讀取UTC信息;此外還需配置好NTP的fudge項,使其識別PPS中斷源。本文的配置如下:

(2)從相應(yīng)網(wǎng)站(http://archive.ntp.org/ntp4/)下載 NTP 源代碼和 nmea.patch[7]補丁文件。補丁文件的主要作用是讓NTP能夠識別PPS中斷源,并沒有改變NTP的波特率設(shè)置。由于G591芯片串行輸出的波特率是9 600,而通過查看NTP源代碼發(fā)現(xiàn)其默認波特率是4 800,兩者沖突。因此在打完補丁之后,將 NTP源代碼中的 refclock_nmea.c中的宏定義“#define SPEED232 B4800”改為“#define SPEED232 B9600”。

(3)NTP服務(wù)器安裝后的調(diào)試工作可以通過參照系統(tǒng)和NTP的日志文件,以及查看串口狀態(tài)等操作進行。本文總結(jié)了NTP服務(wù)器正常工作的必要條件:正確的配置、可用的網(wǎng)絡(luò)、PPS產(chǎn)生的串口中斷、沒有其他進程占用GPS時鐘源使用的串口。當NTP服務(wù)器正常工作時,使用自帶的ntpq程序可以查看NTP的工作狀態(tài),即校時的效果。如果GPS設(shè)備正常工作,NTP服務(wù)器幾分鐘后就能鎖定GPS時鐘源,系統(tǒng)時間會在NTP的控制下不斷校正,ntpq程序運行結(jié)果如下:

3 測試與分析

3.1 對照實驗

要衡量校時系統(tǒng)的好壞,偏移量(offset)和抖動(jitter)是重要的參考指標。本文為驗證GPS校時的有效性和可行性設(shè)計了對照實驗。實驗內(nèi)容是測試一臺計算機分別采用網(wǎng)絡(luò)校時、NMEA串行校時和基于LinuxPPS的綜合校時3種方式的校時效果。

實驗環(huán)境的搭建:綜合校時的系統(tǒng)搭建前文已有詳細介紹,以下介紹另外兩種校時方式的系統(tǒng)搭建。由于脈沖校時方式不能得到時間信息,所以沒有列入對照實驗。

(1)網(wǎng)絡(luò)校時的硬件平臺相對簡單,僅需要一臺能連接廣域網(wǎng)的計算機。軟件平臺采用安裝版的Ubuntu9.04 Linux操作系統(tǒng),內(nèi)核版本是2.6.28,無需重新編譯內(nèi)核。使用apt工具安裝ntpd之后,修改etc目錄下的ntp.conf文件配置NTP服務(wù)器。本文將NTP配置為只與一臺網(wǎng)絡(luò)時間服務(wù)器進行同步,該服務(wù)器為國家授時中心的NTP服務(wù)器,地址是210.72.145.44。

(2)NMEA串行校時的硬件平臺與基于LinuxPPS綜合校時的基本一樣,唯一的區(qū)別是不需要將G591的1PPS端通過電平轉(zhuǎn)換連入計算機。軟件平臺中操作系統(tǒng)和ntpd的安裝與網(wǎng)絡(luò)校時是一樣的。另外,需參考NTPD Driver20 Documentation[7],先在dev目錄下創(chuàng)建一個指向串口的軟鏈接,鏈接名為gps0;再使用setserial工具設(shè)置串口波特率為9 600;最后配置NTP服務(wù)器,使其僅通過GPS_NMEA時鐘源校時。配置如下:

實驗方法是編寫shell腳本程序,實時記錄偏移量和抖動的情況。shell腳本程序的主要功能是每16 s執(zhí)行一次“ntpq-p”命令,然后將ntpq命令的輸出結(jié)果進行過濾,濾出偏移量和抖動數(shù)據(jù)輸出到一個文本文件中。最終得到的文本文件只有兩列數(shù)據(jù),第1列是偏移量數(shù)據(jù),第2列是抖動數(shù)據(jù)。實驗時間均為24 h,由于是16 s采樣一次,所以偏移量和抖動的數(shù)據(jù)量都為5 400個。

實驗數(shù)據(jù)處理使用Excel軟件,利用Excel自帶的畫圖工具和計算函數(shù)可以方便地完成畫圖和統(tǒng)計分析工作。圖3是設(shè)備通過互聯(lián)網(wǎng)與網(wǎng)絡(luò)時間服務(wù)器進行同步的結(jié)果;圖4為NTP支持的NMEA串行方式的校時結(jié)果;圖5為采用基于LinuxPPS的綜合方式的校時結(jié)果。參考相關(guān)實驗結(jié)果[9],證明了本實驗結(jié)果的正確性。

圖3 網(wǎng)絡(luò)校時方式Fig.3 Time-synchronization for the network

圖4 NMEA串行校時方式Fig.4 NMEA serial time-synchronization

3.2 數(shù)據(jù)分析

表2對3種校時結(jié)果數(shù)據(jù)進行了統(tǒng)計分析。結(jié)合圖表不難分析:利用網(wǎng)絡(luò)時間服務(wù)器,雖然校時工作較為穩(wěn)定,但精度較低,維持在幾到幾十毫秒,主要原因是網(wǎng)絡(luò)傳輸延時的不確定性[1];采用單一的NMEA0183串行數(shù)據(jù)進行校時,效果并不理想,抖動太大,穩(wěn)定性差,主要原因是硬件資源分配過程中存在的隨機性,使得NMEA串行數(shù)據(jù)的處理速度有隨機偏差;本文采用的NMEA和PPS綜合校時方案取得了較為理想的效果。校時精度為亞毫秒,比上述兩種方式提高了至少兩個數(shù)量級。這種方式充分發(fā)揮了脈沖校時精確度高的特點,又保留了串行校時的時間信息,實現(xiàn)了優(yōu)勢互補。

圖5 基于LinuxPPS的綜合校時方式Fig.5 Comprehensive time-synchronization based on the LinuxPPS

表2 3種校時方式的效果統(tǒng)計Table2 Statistics for different time-synchronization methods

4 應(yīng)用和擴展

當系統(tǒng)時鐘校準后,應(yīng)用層程序就可以通過調(diào)用gettimeofday等函數(shù)提取精確的系統(tǒng)時鐘,精度可達到微秒量級。此外,本文還提出了3項擴展方案:

(1)秒脈沖信號的擴展:LinuxPPS支持的脈沖寬度可以是幾十到一百毫秒,因此,串口的DCD端連接的可以是其他的秒脈沖源,如石英晶振、原子鐘等提供的秒脈沖。如果G591芯片輸出的PPS信號不能滿足精度和穩(wěn)定性的要求,可以采用其他的脈沖源。同樣,通過減少相關(guān)抖動[10]也可以減小校時誤差,實現(xiàn)更高精度的校時要求。

(2)守時功能的擴展:G591芯片產(chǎn)生的PPS信號依賴于接收的信號質(zhì)量,如果信號質(zhì)量差,PPS端就沒有任何輸出,這會嚴重影響NTP的校時精度,甚至會導(dǎo)致NTP不能正常工作,所以在設(shè)計電路時加入守時電路是十分必要的。

(3)NTP校時的擴展:本文采用的校時方案設(shè)備簡單,成本低廉。利用這一優(yōu)點,可以在需要精確時間的設(shè)備上都裝上LinuxPPS,并使其處于NTP的頂層,然后通過網(wǎng)絡(luò)連接起來。這樣做既提高了精度,又給頂層各設(shè)備的校時提供了備用方案,一旦某一設(shè)備的GPS模塊工作不正常,還可以通過網(wǎng)絡(luò)與其它頂層設(shè)備實現(xiàn)次精確的時間同步。

5 結(jié)論

經(jīng)過多次實驗反復(fù)驗證,本文采用的基于LinuxPPS綜合校時方案是一種行之有效的高精度校時方案,其校時精度可達到亞毫秒量級,能夠滿足南極觀測設(shè)備的校時需要。同時,LinuxPPS代碼簡潔,可擴展性高,為工程上更高精度的校時服務(wù)提供了有力參考。

[1]黃沛芳.基于NTP的高精度時鐘同步系統(tǒng)實現(xiàn) [J].電子技術(shù)應(yīng)用,2009,35(7):122-127.Huang Peifang.Implementation of High-Precision Clock Synchronous System Based on NTP [J].Application of Electronic Technique,2009,35(7):122-127.

[2]孫成華,楊戟.用GPS校準計算機系統(tǒng)時間 [J].紫金山天文臺臺刊,1998,17(1):78-82.Sun Chenghua,Yang Ji.Calibration of the Computer System Time with GPS Receiver [J].Publications of Purple Mountain Observatory,1998,17(1):78-82.

[3]王久鵬,尚春陽.一種基于GPS的校時系統(tǒng) [J].現(xiàn)代電子技術(shù),2008(13):175-178.Wang Jiupeng,Shang Chunyang.Time Correcting System Based on GPS [J].Modern Electronics Technique,2008(13):175-178.

[4]鄒紅艷.基于GPS同步時鐘的綜合校時方案 [J].大眾科技,2007(4):126-128.

[5]LinuxPPS support[EB/OL].http://wiki.enneenne.com/index.php/LinuxPPS_support.

[6]LinuxPPS installation [EB/OL].http://wiki.enneenne.com/index.php/LinuxPPS_installation.

[7]NTPD support [EB/OL].http://wiki.enneenne.com/index.php/LinuxPPS_NTPD_support.

[8]Using a Garmin GPS 18 LVC as NTP stratum-0 on Linux2.6 [EB/OL].http://time.qnan.org/.

[9]GPS PPS NTP experiment[EB/OL].http://blizzard.rwic.und.edu/~nordlie/ntp-gps3/.

[10]L Gasparini,O Zadedyurina,G Fontana,et al.A Digital Circuit for Jitter Reduction of GPS-disciplined 1-pps Synchronization Signals[C]//International Workshop on Advanced Methods for Uncertainty Estimation in Measurement California:IEEE,2007:16-18.

猜你喜歡
信號
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
7個信號,警惕寶寶要感冒
媽媽寶寶(2019年10期)2019-10-26 02:45:34
孩子停止長個的信號
《鐵道通信信號》訂閱單
基于FPGA的多功能信號發(fā)生器的設(shè)計
電子制作(2018年11期)2018-08-04 03:25:42
基于Arduino的聯(lián)鎖信號控制接口研究
《鐵道通信信號》訂閱單
基于LabVIEW的力加載信號采集與PID控制
Kisspeptin/GPR54信號通路促使性早熟形成的作用觀察
主站蜘蛛池模板: 国产精品偷伦视频免费观看国产| 国产在线视频二区| 午夜视频www| 国产美女自慰在线观看| 久久人妻xunleige无码| 久久婷婷六月| 毛片视频网址| 亚洲欧洲天堂色AV| 青青草国产在线视频| 成人小视频在线观看免费| 国模私拍一区二区三区| 亚洲中文字幕无码爆乳| 波多野结衣一区二区三区四区 | 亚洲日本韩在线观看| 91黄色在线观看| 热久久综合这里只有精品电影| 国产成年无码AⅤ片在线| 亚洲男人天堂2020| 国产二级毛片| 久久久久亚洲精品无码网站| 国产成人一二三| 男女男精品视频| 欧美成人午夜视频免看| 色天堂无毒不卡| 亚洲中文在线看视频一区| 亚洲黄色激情网站| 久久精品娱乐亚洲领先| 在线精品视频成人网| 99精品高清在线播放| 熟妇人妻无乱码中文字幕真矢织江 | 综合网天天| 亚洲第七页| 久久77777| 精品国产一区91在线| 国产精品免费露脸视频| 国产青榴视频| 国产精品浪潮Av| 亚洲无码视频喷水| 国产在线八区| 亚洲第一页在线观看| 99成人在线观看| 日韩在线第三页| 毛片视频网址| 无码粉嫩虎白一线天在线观看| 国产美女一级毛片| 日本久久久久久免费网络| 亚洲欧洲天堂色AV| 成人av手机在线观看| 日韩欧美网址| 毛片在线区| 无码精品国产dvd在线观看9久| 亚洲精品自产拍在线观看APP| 久久人体视频| 67194亚洲无码| 精品国产福利在线| 久久精品国产在热久久2019| 小13箩利洗澡无码视频免费网站| 国产成人你懂的在线观看| 国产手机在线小视频免费观看| 欧美日韩久久综合| 这里只有精品在线| 男女猛烈无遮挡午夜视频| 亚洲一区网站| 又爽又大又黄a级毛片在线视频 | 91精品国产自产在线观看| 国产精品黄色片| 五月激激激综合网色播免费| 国产成年女人特黄特色毛片免| 亚洲天堂日韩av电影| 人妻91无码色偷偷色噜噜噜| 久久婷婷五月综合97色| 色天天综合久久久久综合片| 国产精品一区不卡| 无码日韩视频| 中文字幕亚洲无线码一区女同| 91视频99| 欧美a在线看| 国产成人精品优优av| a级毛片免费播放| 国产亚洲视频在线观看| 国内精品视频| 美女免费黄网站|