技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > NTP時間服務(wù)器的研究與設(shè)計

NTP時間服務(wù)器的研究與設(shè)計

時間:2011-04-06 17:15:37來源:caijuan

導語:?NTP時間服務(wù)器的研究與設(shè)計。

      隨著信息技術(shù)和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,網(wǎng)絡(luò)互連已經(jīng)滲透到國民經(jīng)濟的各行各業(yè)。而網(wǎng)絡(luò)時間同步也越來越受到重視,特別是局域網(wǎng)時間同步在國家安全和國民經(jīng)濟的諸多領(lǐng)域(如國防軍工、電信網(wǎng)、金融業(yè)、交通運輸、電子商務(wù)和電力系統(tǒng)等部門)越發(fā)不可或缺。隨著嵌入式技術(shù)的發(fā)展,嵌入式與網(wǎng)絡(luò)時間同步技術(shù)的結(jié)合,無疑具有良好的發(fā)展前景。

1 方案設(shè)計

      目前網(wǎng)絡(luò)授時的實現(xiàn)方法有很多種,本文采用自行設(shè)計的嵌入式系統(tǒng)并在上面實現(xiàn)SNTP協(xié)議。從而完成網(wǎng)絡(luò)時間的同步。其系統(tǒng)框圖如圖l所示。

      本系統(tǒng)采用C/S模型,分為網(wǎng)絡(luò)授時同步服務(wù)器和客戶端兩大部分,本文主要對網(wǎng)絡(luò)授時服務(wù)器部分進行研究。

      在網(wǎng)絡(luò)授時同步服務(wù)器中,處理器STM32f103由內(nèi)部RTC模塊結(jié)合日歷算法來給出時間信息(年月日時分秒),再從GPS獲取時間信息,并修正自己的時間,最后結(jié)合W5100芯片搭建出一個時間服務(wù)器。當客戶端向服務(wù)器發(fā)出請求時,便可同步地統(tǒng)一客戶端的時間信息,并達到ms級精度。網(wǎng)絡(luò)傳輸時需實現(xiàn)SNTP應(yīng)用層協(xié)議,設(shè)計中通過構(gòu)造SNTP協(xié)議包,并根據(jù)同步算法可計算出包交換的往返延遲。

      本系統(tǒng)采用ST公司基于Cortex-M3內(nèi)核的STM32系列處理器.Cortex-M3內(nèi)核是專門用于設(shè)計高性能、低功耗、低成本、實時性嵌入式應(yīng)用系統(tǒng)的處理器核,它在提升性能的同時,又提高了代碼密度的Thumb-2指令集,同時也大幅度提高了中斷響應(yīng)的緊耦合嵌套向量中斷控制器的性能。所有新功能都同時具有業(yè)界最優(yōu)的功耗水平。

      TCP/IP協(xié)議棧的實現(xiàn)采用的固件芯片W5100是韓國WIZnet公司推出的固件網(wǎng)絡(luò)芯片,它集TCP/IP協(xié)議棧、以太網(wǎng)MAC和PHY為一體,可支持TCP,UDP、ICMP、IGMP、IPv4、ARP,PPPoE、Ethemet等網(wǎng)絡(luò)協(xié)議;同時支持4個獨立的Socket通信,內(nèi)部16 K字節(jié)的發(fā)送/接收緩沖區(qū)可快速進行數(shù)據(jù)交換,最大通信速率可達到25Mbps。此外,W5100還內(nèi)嵌10BaseT/100BaseTX以太網(wǎng)物理層,可支持自動應(yīng)答(全雙工/半雙工模式),并提供多種總線(兩種并行總線和SPI總線)接口方式,可以方便地與各種MCU連接。W5100器件的推出大大簡化了硬件電路設(shè)計,可使微控制器在沒有操作系統(tǒng)支持的情況下,真正的實現(xiàn)單芯片接入Internet。

2 SNTP協(xié)議分析

      SNTP即簡單網(wǎng)絡(luò)時間協(xié)議,它是一個用于局域網(wǎng)子網(wǎng)末端的時間同步協(xié)議,其要求在操作過程中只允許存在一個可靠的同步時鐘源,是NTP協(xié)議的一個簡化版本。

2.1 SNTP的同步原理

      SNTP協(xié)議主要通過同步算法來交換時間服務(wù)器和客戶端的時間戳,從而估算出數(shù)據(jù)包在網(wǎng)絡(luò)上的往返延遲,進而獨立地估算系統(tǒng)的時鐘偏差。它的時間同步原理的傳輸模型如圖2所示。 

      T1為客戶方發(fā)送查詢請求時間(以客戶方時間系統(tǒng)為參照,T2為服務(wù)器收到查詢請求時間以服務(wù)器時間系統(tǒng)為參照,T3為服務(wù)器回復時間信息包時間(以服務(wù)器時間系統(tǒng)為參照,T4為客戶方收到時間信息包時間以客戶方時間系統(tǒng)為參照,D1為請求信息在網(wǎng)上傳播所消耗的時間,D2為回復信息在網(wǎng)上傳播所消耗的時間。假設(shè)請求和回復在網(wǎng)上的傳播時間相同,即:δ1=δ2,則可得出如下公式:

      式中,θ為客戶端時間與標準時間之差,δ為信息在網(wǎng)上傳播的時間??梢钥吹?,θ、δ只與T2、T1的差值和T4、T3的差值相關(guān),而與T2、T3的差值無關(guān),即最終的結(jié)果與服務(wù)器處理請求所需的時間無關(guān)。據(jù)此,客戶端(CLIENT)即可通過T1、T2、T3、T4十算出的時差0去調(diào)整本地時鐘。

2.2 SNTP協(xié)議格式

      SNTP消息一般封裝在UDP報文中,UDP的端口號是123,UDP頭中的源端口和目的端口是一樣的。SNTP消息緊跟在IP和UDP報頭之后,其協(xié)議格式如圖3所示。

      圖3中,U為跳躍指示器,可警告在當月最后一天的最終時刻插入的迫近閨秒(閨秒)。VN表示版本號。Mode為模式,該字段包括以下值:

      O(預留);1(對稱行為);3(客戶機);4(服務(wù)器);5(廣播);6(NTP控制信息)。Stratum用于對本地時鐘級別的整體識別。Poll表示有符號整數(shù)表示連續(xù)信息間的最大間隔。Precision表示有符號整數(shù),表示本地時鐘精確度。Root Delay為有符號固定點序號,表示主要參考源的總延遲,如很短時間內(nèi)的15到16間的分段點。Root Dispersion為無符號固定點序號表示相對于主要參考源的正常差錯,如很短時間內(nèi)的位15到16間的分段點。

      Reference Identifier為識別特殊參考源。Originate Timestamp是向服務(wù)器請求分離客戶機的時間,采用64位時標(Timestamp)格式。  Receive Timestamp是向服務(wù)器請求到達客戶機的時間。也采用64位時標(Timestamp)格式。Transmit Timestamp是向客戶機答復分離服務(wù)器的時間。采用64位時標(Timestamp)格式。

3 硬件設(shè)計

      圖4所示為W5100部分的電路圖,圖中給出了W5100與STM32的連接方式及其外圍電路。

      W5100和STM32可通過SPI方式通信。通過對SEN管腳用10 kΩ電阻上拉到高電平可允許SPI模式;由于W5100處于SPI從模式,因此,其SPI工作時鐘由處于主模式的STM32提供,MISO和MOSI為用于SPI通信的兩條數(shù)據(jù)線,SCLK為SPI時鐘引腳;*****為片選引腳,低電平有效,主要用于在并行總線連接時由MCU訪問W5100內(nèi)部寄存器或存儲器;INT為中斷輸出引腳,低電平有效,在W5100在SOCKET端口產(chǎn)生連接、斷開、接收數(shù)據(jù)、數(shù)據(jù)發(fā)送完成以及通信超時等情況下,該引腳將輸出信號以指示MCU。中斷將在寫入中斷寄存器IR或端口的中斷寄存器時被清除,所有中斷都可以被屏蔽。W5100的第5、6、8和9腳是以太網(wǎng)物理層信號引腳,用于與RJ45接口相連接,其中第5和第6引腳是RXIP/RXlN信號對,用于接收從介質(zhì)傳來的差分數(shù)據(jù),第8和第9引腳是TXOP/TXON信號對,用于將差分數(shù)據(jù)發(fā)送給介質(zhì);第66引腳是連接LED指示引腳,低電平表示10/100Mbps連接狀態(tài)正常,連接正常時輸出低電平,而在TX/RX狀態(tài)時閃爍;第72引腳是接收狀態(tài)LED指示引腳,低電平表示當前接收數(shù)據(jù),第73引腳是發(fā)送狀態(tài)LED指示引腳,低電平表示當前發(fā)送數(shù)據(jù),這些LED指示引腳應(yīng)與RJ45的相應(yīng)LED指示燈引腳連接,以用于指示連接狀態(tài)。除電源引腳、時鐘引腳外,W5100的其它引腳DO~D7,AO~A14及WR~RD可選擇懸空。

      圖5所示是GPS模塊與STM32的連接示意圖。GPS接收模塊采用HOLUX生產(chǎn)的GPS模塊M87GPS,模塊的串行口輸出和輸入分別接到STM32的輸入與輸出,秒脈沖PPS信號連接到處理器的IO口,在秒脈沖(1PPS)同步的情況下,系統(tǒng)將實時精準地通過串口把標準的UTC時間傳送給處理器STM32。

4 SNTP服務(wù)器的軟件設(shè)計

      SNTP服務(wù)器的軟件設(shè)計主要可分為兩個部分:W5100的驅(qū)動設(shè)計和SNTP協(xié)議的軟件實現(xiàn)。其軟件流程圖如圖6所示。

      首先,利用ST公司提供的固件庫可初始化STM32的系統(tǒng)配置,把SPI接口配置為兩線單向全雙工傳輸、主模式,以8位數(shù)據(jù)幀的格式進行傳輸;同時配置RTC模塊產(chǎn)生秒脈沖,再與日歷算法結(jié)合得到自身的系統(tǒng)時間,然后通過GPS的秒脈沖PPS修正系統(tǒng)時間。再通過配置W5100公共寄存器和端口寄存器來完成它的基本設(shè)置、網(wǎng)絡(luò)信息以及端口存儲器信息的沒置,使之為UDP服務(wù)器模式。此后,W5100處于*狀態(tài),一旦W5100的SOCKET端口有中斷事件,W5100將觸發(fā)STM32的外部中斷,STM32若檢測到SoekRecvflag發(fā)生改變,則立即開始SNTP協(xié)議的解析。

      接收SNTP協(xié)議包后,便可記錄收到報文的時間T2,然后從報文中解析出時間戳T1,再將T1、T2封裝成新的報文進行發(fā)送,同時發(fā)送時再記錄一個發(fā)送時間T3。

5 結(jié)束語

      本文基于STM32和W5100搭建了一個網(wǎng)絡(luò)服務(wù)器硬件平臺,并在其上實現(xiàn)了SNTP同步時間報文。經(jīng)測試,本系統(tǒng)運行穩(wěn)定,并可實現(xiàn)對客戶端PC機的時鐘同步。通過該系統(tǒng)可有效解決工業(yè)控制等領(lǐng)域的時間不同步問題。

標簽:

點贊

分享到:

上一篇:太陽能電池測試中電子負載的應(yīng)用

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權(quán)與免責聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.treenowplaneincome.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責任。

相關(guān)資訊

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號