《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于STM32的SNTP授時服務器的研究與設計
基于STM32的SNTP授時服務器的研究與設計
維庫開發網
伍 毅,王鐵流,常 濤
北京工業大學
摘要: 針對工控領域對時間同步的要求,給出了以STM32和W5100為核心來搭建網絡硬件平臺,并在其上實現簡單網絡時間協議(SNTP),從而建立嵌入式授時服務器的設計與實現方法。該系統運行穩定,能夠實現網絡時間同步。
關鍵詞: SNTP 服務器
Abstract:
Key words :

0 引言

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

1 方案設計

目前網絡授時的實現方法有很多種,本文采用自行設計的嵌入式系統并在上面實現SNTP" title="SNTP">SNTP協議。從而完成網絡時間的同步。其系統框圖如圖l所示。

本系統采用C/S模型,分為網絡授時同步服務器" title="服務器">服務器和客戶端兩大部分,本文主要對網絡授時服務器部分進行研究。

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

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

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

2 SNTP協議分析

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

2.1 SNTP的同步原理

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

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

式中,θ為客戶端時間與標準時間之差,δ為信息在網上傳播的時間。可以看到,θ、δ只與T2、T1的差值和T4、T3的差值相關,而與T2、T3的差值無關,即最終的結果與服務器處理請求所需的時間無關。據此,客戶端(CLIENT)即可通過T1、T2、T3、T4十算出的時差0去調整本地時鐘。

2.2 SNTP協議格式

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

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

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

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

3 硬件設計

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

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

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

4 SNTP服務器的軟件設計

SNTP服務器的軟件設計主要可分為兩個部分:W5100的驅動設計和SNTP協議的軟件實現。其軟件流程圖如圖6所示。

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

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

5 結束語

本文基于STM32和W5100搭建了一個網絡服務器硬件平臺,并在其上實現了SNTP同步時間報文。經測試,本系統運行穩定,并可實現對客戶端PC機的時鐘同步。通過該系統可有效解決工業控制等領域的時間不同步問題。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
在线观看日韩精品| 亚洲无亚洲人成网站77777 | 欧美人成在线视频| 久久综合九色九九| 久久人人超碰| 久久激情视频久久| 久久精品日产第一区二区| 欧美中文字幕不卡| 久久成人精品视频| 久久久精品2019中文字幕神马| 欧美在线播放| 久久国产免费| 久久免费高清视频| 久久影院亚洲| 免费不卡视频| 欧美激情久久久| 欧美美女福利视频| 欧美色视频在线| 国产精品jvid在线观看蜜臀| 欧美偷拍一区二区| 国产精品美女午夜av| 国产精品一区二区你懂的| 国产乱人伦精品一区二区| 国产午夜精品理论片a级探花| 国产午夜精品一区理论片飘花 | 国产在线一区二区三区四区 | 日韩视频免费观看高清完整版| 日韩视频―中文字幕| 一区二区黄色| 午夜激情综合网| 久久精品91久久久久久再现| 亚洲第一精品夜夜躁人人爽| 久久高清一区| 亚洲精品日韩精品| 亚洲香蕉成视频在线观看| 亚洲欧美在线一区| 久久人人97超碰人人澡爱香蕉 | 欧美激情第五页| 欧美三日本三级三级在线播放| 国产精品久久久免费| 国产一区二区福利| 亚洲国产日韩一级| 亚洲视频1区| 久久成人精品无人区| 亚洲国产精品成人综合| 日韩一级黄色av| 亚洲女优在线| 久久婷婷亚洲| 欧美色精品天天在线观看视频| 国产精品资源在线观看| 尤物九九久久国产精品的分类| 亚洲精品欧美在线| 亚洲主播在线观看| 亚洲日韩中文字幕在线播放| av不卡在线| 久久国产精品一区二区| 欧美精品亚洲| 国产精品看片你懂得| 极品尤物久久久av免费看| 日韩亚洲欧美一区| 羞羞视频在线观看欧美| 日韩视频一区二区三区在线播放免费观看| 亚洲香蕉在线观看| 玖玖在线精品| 国产精品国产一区二区| 一区二区视频免费在线观看| 亚洲人永久免费| 欧美一区二区三区的| 99国产精品99久久久久久粉嫩| 午夜视频在线观看一区二区| 嫩草国产精品入口| 国产精品性做久久久久久| 亚洲激情欧美激情| 欧美亚洲综合久久| 国产精品99久久久久久www| 久久精品国产一区二区三区| 欧美精品亚洲二区| 黄色亚洲在线| 亚洲综合视频在线| 一本色道88久久加勒比精品| 久久久久久久一区二区| 国产精品videosex极品| 亚洲国产精品传媒在线观看| 亚洲欧美日韩人成在线播放| 一区二区三区产品免费精品久久75 | 亚洲欧美另类在线观看| 欧美激情麻豆| 狠狠色2019综合网| 亚洲欧美国产精品va在线观看| av72成人在线| 欧美大片va欧美在线播放| 国产夜色精品一区二区av| 亚洲一区二区三区国产| 一本大道久久精品懂色aⅴ| 老司机精品久久| 国产日韩精品久久久| 一本久久综合亚洲鲁鲁| 99视频在线精品国自产拍免费观看 | 国产精品午夜视频| 亚洲私拍自拍| 亚洲午夜精品| 欧美日本网站| 亚洲国产精品专区久久| 久久爱www.| 久久成人人人人精品欧| 国产精品日韩精品| 中文日韩在线视频| 亚洲视频视频在线| 欧美日韩国产精品专区| 亚洲精品激情| 日韩午夜三级在线| 欧美大色视频| 亚洲国产成人精品女人久久久| 久久精品视频在线| 久久色在线播放| 禁断一区二区三区在线| 久久精品国产亚洲5555| 久久免费视频观看| 国内欧美视频一区二区| 久久gogo国模啪啪人体图| 久久日韩粉嫩一区二区三区| 激情综合久久| 亚洲欧美日韩国产一区二区三区| 欧美三级网页| 亚洲韩国日本中文字幕| 亚洲乱码国产乱码精品精98午夜 | 亚洲韩国一区二区三区| 久久婷婷国产麻豆91天堂| 黄色综合网站| 亚洲日本中文| 欧美日韩大陆在线| 一区二区三区成人| 午夜精品区一区二区三| 国产精品国产三级国产普通话99| 99在线精品观看| 亚洲一区二区三区在线看| 国产精品久久久久毛片大屁完整版 | 亚洲免费高清视频| 亚洲免费伊人电影在线观看av| 国产精品久久网站| 欧美亚洲免费在线| 久久综合99re88久久爱| 亚洲国产一区视频| 亚洲伊人色欲综合网| 国产精品系列在线播放| 久久精品91久久香蕉加勒比| 欧美成人午夜| av成人免费在线| 欧美一级网站| 精品成人国产在线观看男人呻吟| 91久久精品一区| 欧美三级午夜理伦三级中视频| 亚洲综合三区| 久久只精品国产| 日韩视频不卡| 久久成年人视频| 亚洲国产成人91精品| 亚洲一区尤物| 狠狠久久五月精品中文字幕| 99精品视频免费全部在线| 国产精品久久二区二区| 久久精品99| 欧美日韩亚洲国产精品| 亚洲欧美日韩人成在线播放| 欧美不卡激情三级在线观看| 夜夜嗨av一区二区三区| 久久精品亚洲| 亚洲免费精彩视频| 久久久女女女女999久久| 亚洲日本免费| 欧美在线观看日本一区| 亚洲国语精品自产拍在线观看| 午夜精品福利一区二区三区av| 影音先锋日韩有码| 亚洲欧美日韩综合| 亚洲第一级黄色片| 午夜精品久久久久99热蜜桃导演| 亚洲欧美激情一区二区| 欧美激情四色 | 亚洲精品麻豆| 欧美在线影院在线视频| 亚洲国产成人高清精品| 午夜精品福利在线| 亚洲人成网站精品片在线观看| 先锋影音网一区二区| 亚洲电影欧美电影有声小说| 亚洲欧美制服中文字幕| 亚洲国产一区视频| 久久精精品视频| 一本色道久久综合狠狠躁篇怎么玩| 久久精品首页| 亚洲五月六月| 欧美激情精品久久久久久久变态 | 久久综合给合| 亚洲一区国产一区| 欧美精品亚洲精品| 久久不射中文字幕| 国产精品一区亚洲| 亚洲图片欧洲图片av| 亚洲成人在线观看视频|