《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于STM32和W5100的SNTP服務(wù)器設(shè)計(jì)
基于STM32和W5100的SNTP服務(wù)器設(shè)計(jì)
電子發(fā)燒友
摘要: 0 引言  隨著信息技術(shù)和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,網(wǎng)絡(luò)互連已經(jīng)滲透到國(guó)民經(jīng)濟(jì)的各行各業(yè)。而網(wǎng)絡(luò)時(shí)間同步也越來(lái)越受到重視,特別是局域網(wǎng)時(shí)間同步在國(guó)家安全和國(guó)民經(jīng)濟(jì)的諸多領(lǐng)域(如國(guó)防軍工、電信網(wǎng)、金融業(yè)、交通運(yùn)輸、電子商務(wù)和電力系統(tǒng)等部門(mén))越發(fā)不可或缺。隨著嵌入式技術(shù)的發(fā)展,嵌入式與網(wǎng)絡(luò)時(shí)間同步技術(shù)的結(jié)合,無(wú)疑具有良好的發(fā)展前景。  1 方案設(shè)計(jì)  目前網(wǎng)絡(luò)授時(shí)的實(shí)現(xiàn)方法有很多種,本文采用自行設(shè)計(jì)的嵌入式系統(tǒng)并在上面實(shí)現(xiàn)SNTP協(xié)議。從而完成網(wǎng)絡(luò)時(shí)間的同步。其系統(tǒng)框圖如圖l所示。     本系統(tǒng)采用C/S模型,分為網(wǎng)絡(luò)授時(shí)同步服務(wù)器和客戶(hù)端兩大部分,本文主要對(duì)網(wǎng)絡(luò)授時(shí)服務(wù)器部分進(jìn)行研究。  在網(wǎng)絡(luò)授時(shí)同步服務(wù)器中,處理器STM32f103由內(nèi)部RTC模塊結(jié)合日歷算法來(lái)給出時(shí)間信息(年月日時(shí)分秒),再?gòu)腉PS獲取時(shí)間信息,并修正自己的時(shí)間,最后結(jié)合W5100芯片搭建出一個(gè)時(shí)間服務(wù)器。當(dāng)客戶(hù)端向服務(wù)器發(fā)出請(qǐng)求時(shí),便可同步地統(tǒng)一客戶(hù)端的時(shí)間信息,并達(dá)到ms級(jí)精度。網(wǎng)絡(luò)傳輸時(shí)需實(shí)現(xiàn)SNTP應(yīng)用層協(xié)議,設(shè)計(jì)中通過(guò)構(gòu)造SNTP協(xié)議包,并根據(jù)同步算法可計(jì)算出包交換的往返延遲。  本系統(tǒng)采用ST公司基于Cortex-M3內(nèi)核的STM
Abstract:
Key words :

  0 引言

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

  1 方案設(shè)計(jì)

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

  

 

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

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

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

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

  2 SNTP協(xié)議分析

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

  2.1 SNTP的同步原理

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

  

 

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

  

 

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

  2.2 SNTP協(xié)議格式

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

  

 

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

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

  Reference Identifier為識(shí)別特殊參考源。Originate Timestamp是向服務(wù)器請(qǐng)求分離客戶(hù)機(jī)的時(shí)間,采用64位時(shí)標(biāo)(Timestamp)格式。 Receive Timestamp是向服務(wù)器請(qǐng)求到達(dá)客戶(hù)機(jī)的時(shí)間。也采用64位時(shí)標(biāo)(Timestamp)格式。Transmit Timestamp是向客戶(hù)機(jī)答復(fù)分離服務(wù)器的時(shí)間。采用64位時(shí)標(biāo)(Timestamp)格式。

  3 硬件設(shè)計(jì)

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

  

 

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

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

  

 

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

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

  

 

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

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

  5 結(jié)束語(yǔ)

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美诱惑福利视频| 欧美国产日韩一区二区三区| 亚洲高清在线视频| 亚洲欧美日韩另类精品一区二区三区 | 国产精品一区视频网站| 欧美日韩国产小视频在线观看| 免费成人小视频| 美女脱光内衣内裤视频久久影院| 久久久天天操| 久久综合网hezyo| 久久亚洲高清| 久久这里只有| 免费成人小视频| 欧美激情精品久久久久| 欧美精品亚洲精品| 欧美日韩久久| 欧美日韩美女在线| 欧美日韩日本网| 国产精品久久久久久久久久三级 | 亚洲一区二区欧美日韩| 亚洲一区二区三区中文字幕 | 性8sex亚洲区入口| 午夜一区二区三区在线观看 | 久久夜色精品一区| 久久综合久久久久88| 老司机精品久久| 欧美大片国产精品| 欧美欧美在线| 国产精品久久亚洲7777| 国产麻豆精品theporn| 国产视频精品xxxx| 篠田优中文在线播放第一区| 欧美激情亚洲国产| 欧美精品久久久久久久| 欧美视频一区二区三区在线观看| 欧美日韩另类国产亚洲欧美一级| 欧美性猛片xxxx免费看久爱| 国产精品视频自拍| 国产综合在线看| 亚洲激情电影中文字幕| 夜夜嗨av一区二区三区| 亚洲一区二区三区在线观看视频| 欧美一区国产二区| 亚洲精选国产| 午夜在线观看欧美| 卡一卡二国产精品| 欧美日韩视频在线一区二区| 国产伦精品一区二区三区免费| 激情综合五月天| 一区二区欧美国产| 久久国产天堂福利天堂| 亚洲美女中文字幕| 亚洲综合国产激情另类一区| 久久久精品日韩| 欧美精品国产一区| 国产噜噜噜噜噜久久久久久久久| 黄色日韩网站| 一区二区激情| 亚洲第一精品影视| 亚洲视频在线观看三级| 久久久国产精品一区| 欧美全黄视频| 国产在线拍揄自揄视频不卡99| 亚洲美女视频在线观看| 欧美一级视频免费在线观看| 夜夜嗨av一区二区三区免费区| 欧美在线视频在线播放完整版免费观看 | 亚洲男人的天堂在线aⅴ视频| 亚洲韩国精品一区| 午夜精品久久久久久久久久久久久 | 亚洲三级免费电影| 欧美制服丝袜| 亚洲性视频网址| 蜜臀a∨国产成人精品| 国产精品久久久999| 亚洲国产成人av| 性视频1819p久久| 在线视频欧美日韩精品| 久久天堂国产精品| 国产精品伦理| 亚洲免费播放| 亚洲第一精品影视| 欧美一区激情| 欧美性色aⅴ视频一区日韩精品| 在线成人h网| 欧美一级日韩一级| 亚洲欧美日韩另类精品一区二区三区| 免费在线播放第一区高清av| 亚洲国产裸拍裸体视频在线观看乱了中文| 午夜精品久久久久久99热| 欧美一区中文字幕| 欧美美女视频| 亚洲黄色影院| 亚洲一区二区免费| 99www免费人成精品| 久久综合狠狠| 国产视频丨精品|在线观看| 亚洲精品美女在线| 亚洲狠狠丁香婷婷综合久久久| 欧美与欧洲交xxxx免费观看| 欧美日韩亚洲成人| 亚洲人成毛片在线播放女女| 久久国产精品网站| 性做久久久久久久免费看| 欧美日韩一区在线观看| 亚洲人成人一区二区三区| 亚洲国产精品第一区二区| 久久精品国产精品亚洲精品| 国产精品自在欧美一区| 夜夜嗨一区二区三区| 一区二区毛片| 欧美日韩国产三区| 亚洲国产成人在线| 最新成人av在线| 玖玖玖免费嫩草在线影院一区| 国产精品专区一| 亚洲欧美一级二级三级| 亚洲成色精品| 国产精品乱子久久久久| 一本色道久久综合亚洲精品婷婷| 亚洲免费成人| 欧美激情精品久久久久久蜜臀| 亚洲国产精品久久人人爱蜜臀| 亚洲国产日日夜夜| 嫩草影视亚洲| 亚洲欧洲一区二区三区久久| 99天天综合性| 欧美日韩精品国产| 一区二区高清视频| 亚洲欧美激情四射在线日 | 亚洲承认在线| 亚洲精品在线视频观看| 欧美国产视频在线观看| 亚洲丰满少妇videoshd| 亚洲伦理在线| 欧美日韩视频在线一区二区观看视频| 99成人在线| 亚洲欧美激情一区| 国产区在线观看成人精品| 欧美一级成年大片在线观看| 久久一本综合频道| 亚洲高清自拍| 制服丝袜亚洲播放| 欧美先锋影音| 亚洲欧美日韩在线不卡| 久久精品国产清高在天天线| 在线不卡中文字幕| 一区二区免费在线播放| 国产精品久久亚洲7777| 欧美影院精品一区| 欧美a级大片| 一区二区三区毛片| 久久精品91久久香蕉加勒比| 尤妮丝一区二区裸体视频| 日韩一级在线观看| 国产精品久久9| 久久精品三级| 欧美乱人伦中文字幕在线| 亚洲一区二区成人在线观看| 久久久人人人| 亚洲免费观看高清在线观看| 午夜精品福利电影| 樱桃成人精品视频在线播放| 中文国产成人精品| 国产日韩视频一区二区三区| 亚洲国产天堂久久综合网| 欧美日韩成人精品| 午夜亚洲激情| 欧美精品在线一区二区| 国产欧美日韩在线视频| 一区电影在线观看| 久久精品官网| 亚洲三级电影全部在线观看高清| 午夜在线成人av| 在线观看亚洲精品视频| 亚洲男人的天堂在线aⅴ视频| 韩国一区二区三区美女美女秀| 一区二区不卡在线视频 午夜欧美不卡在 | 亚洲国产高清自拍| 亚洲欧美一区二区激情| 樱桃视频在线观看一区| 亚洲在线观看免费| 精品成人在线| 亚洲欧美精品在线观看| 亚洲国产精品悠悠久久琪琪| 午夜激情综合网| 亚洲人体1000| 久久婷婷蜜乳一本欲蜜臀| 中日韩午夜理伦电影免费| 免费不卡欧美自拍视频| 亚洲在线视频观看| 欧美精品电影在线| 欧美在线影院| 国产精品你懂的在线| 99精品国产高清一区二区 | 亚洲国产精品成人va在线观看| 国产精品久久久久久久7电影 | 久久精品日产第一区二区| 国产精品久久777777毛茸茸| 亚洲精品乱码久久久久久蜜桃麻豆 |