基于STM32的SNTP授時(shí)服務(wù)器的研究與設(shè)計(jì)
摘要:針對(duì)工控領(lǐng)域?qū)r(shí)間同步的要求,給出了以STM32和W5100為核心來搭建網(wǎng)絡(luò)硬件平臺(tái),并在其上實(shí)現(xiàn)簡單網(wǎng)絡(luò)時(shí)間協(xié)議(SNTP),從而建立嵌入式授時(shí)服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)方法。該系統(tǒng)運(yùn)行穩(wěn)定,能夠?qū)崿F(xiàn)網(wǎng)絡(luò)時(shí)間同步。
關(guān)鍵詞:STM32處理器;SNTP授時(shí);簡單網(wǎng)絡(luò)時(shí)間協(xié)議;時(shí)間同步
O 引言
隨著信息技術(shù)和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,網(wǎng)絡(luò)互連已經(jīng)滲透到國民經(jīng)濟(jì)的各行各業(yè)。而網(wǎng)絡(luò)時(shí)間同步也越來越受到重視,特別是局域網(wǎng)時(shí)間同步在國家安全和國民經(jīng)濟(jì)的諸多領(lǐng)域(如國防軍工、電信網(wǎng)、金融業(yè)、交通運(yùn)輸、電子商務(wù)和電力系統(tǒng)等部門)越發(fā)不可或缺。隨著嵌入式技術(shù)的發(fā)展,嵌入式與網(wǎng)絡(luò)時(shí)間同步技術(shù)的結(jié)合,無疑具有良好的發(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ù)器和客戶端兩大部分,本文主要對(duì)網(wǎng)絡(luò)授時(shí)服務(wù)器部分進(jìn)行研究。
在網(wǎng)絡(luò)授時(shí)同步服務(wù)器中,處理器STM32f103由內(nèi)部RTC模塊結(jié)合日歷算法來給出時(shí)間信息(年月日時(shí)分秒),再從GPS獲取時(shí)間信息,并修正自己的時(shí)間,最后結(jié)合W5100芯片搭建出一個(gè)時(shí)間服務(wù)器。當(dāng)客戶端向服務(wù)器發(fā)出請(qǐng)求時(shí),便可同步地統(tǒng)一客戶端的時(shí)間信息,并達(dá)到ms級(jí)精度。網(wǎng)絡(luò)傳輸時(shí)需實(shí)現(xiàn)SNTP應(yīng)用層協(xié)議,設(shè)計(jì)中通過構(gòu)造SNTP協(xié)議包,并根據(jù)同步算法可計(jì)算出包交換的往返延遲。
本系統(tǒng)采用ST公司基于Cortex-M3內(nèi)核的STM32系列處理器.Cortex-M3內(nèi)核是專門用于設(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是韓國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器件的推出大大簡化了硬件電路設(shè)計(jì),可使微控制器在沒有操作系統(tǒng)支持的情況下,真正的實(shí)現(xiàn)單芯片接入Internet。
評(píng)論