• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于IEEE1588協(xié)議的高精度時(shí)鐘同步系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

      2021-12-30 05:50:24崔永俊韓一德
      儀表技術(shù)與傳感器 2021年12期
      關(guān)鍵詞:物理層主從延時(shí)

      崔永俊,韓一德,郭 峰

      (中北大學(xué)儀器與電子學(xué)院,儀器科學(xué)與動(dòng)態(tài)測(cè)試教育部重點(diǎn)實(shí)驗(yàn)室,電子測(cè)試技術(shù)國(guó)防科技重點(diǎn)實(shí)驗(yàn)室,山西太原 030051)

      0 引言

      時(shí)鐘同步系統(tǒng)目前廣泛應(yīng)用在分布式數(shù)據(jù)采集、測(cè)試測(cè)量、數(shù)字變電站及工業(yè)控制應(yīng)用等領(lǐng)域。多個(gè)設(shè)備間為了實(shí)現(xiàn)實(shí)時(shí)采集、測(cè)試及控制,要求各設(shè)備中的時(shí)鐘保持較高的同步精度。目前時(shí)鐘同步方案主要包括IRIG-B碼時(shí)鐘同步、GNSS時(shí)間服務(wù)器同步、NTP網(wǎng)絡(luò)時(shí)間協(xié)議同步、SNTP簡(jiǎn)單網(wǎng)絡(luò)時(shí)間協(xié)議同步和PTP精確時(shí)間協(xié)議同步。其中GNSS時(shí)間服務(wù)器同步是將GPS/BD衛(wèi)星時(shí)間作為統(tǒng)一標(biāo)準(zhǔn)傳輸?shù)礁髟O(shè)備節(jié)點(diǎn),可同步多臺(tái)設(shè)備且授時(shí)精度較高。NTP及SNTP協(xié)議以時(shí)鐘源網(wǎng)站為時(shí)鐘標(biāo)準(zhǔn),多應(yīng)用于μs級(jí)的PC標(biāo)準(zhǔn)時(shí)間等互聯(lián)網(wǎng)時(shí)鐘同步應(yīng)用。PTP精確時(shí)間協(xié)議同步即IEEE1588協(xié)議,通過(guò)采用GPS/BD衛(wèi)星時(shí)鐘信號(hào)及網(wǎng)絡(luò)時(shí)鐘為時(shí)鐘源,在NTP協(xié)議基礎(chǔ)上實(shí)現(xiàn)標(biāo)記硬件時(shí)間戳提高授時(shí)同步精度,適用于工業(yè)測(cè)量控制等應(yīng)用[1]。本文對(duì)PTP協(xié)議進(jìn)行移植,采用硬件STM32F407、DP83640物理層芯片和軟件PTPd2(IEEE1588協(xié)議源碼)實(shí)現(xiàn)了硬件時(shí)間戳的標(biāo)記,減少了由于軟件協(xié)議棧處理沖突等因素引入的延遲干擾,進(jìn)一步提高了同步精度[2]。

      1 IEEE1588時(shí)間同步原理

      IEEE1588是高精度時(shí)鐘同步協(xié)議,在時(shí)鐘同步過(guò)程中。主時(shí)鐘與各從時(shí)鐘之間互相交換包含時(shí)間戳信息的報(bào)文,各從時(shí)鐘通過(guò)報(bào)文中的時(shí)間戳信息計(jì)算與主時(shí)鐘間的鏈路延遲與時(shí)間偏差,進(jìn)而調(diào)整本地時(shí)鐘與主時(shí)鐘實(shí)現(xiàn)同步。主從時(shí)鐘同步原理如圖1所示。

      同步報(bào)文分為4鐘報(bào)文:Sync同步報(bào)文,由主時(shí)鐘端發(fā)送到從時(shí)鐘端,攜帶從時(shí)鐘端打的t1時(shí)間戳;Follow_up跟隨報(bào)文,跟隨主時(shí)鐘發(fā)出的Sync同步報(bào)文發(fā)出,攜帶主時(shí)鐘端打的t1時(shí)間戳;Delay_req延時(shí)請(qǐng)求報(bào)文,從時(shí)鐘端發(fā)送到主時(shí)鐘端,攜帶從時(shí)鐘端打的t3時(shí)間戳;Delay_resp延時(shí)請(qǐng)求響應(yīng)報(bào)文,主時(shí)鐘端發(fā)送到從時(shí)鐘端,攜帶主時(shí)鐘端打的t4時(shí)間戳和請(qǐng)求的端口ID。

      一次時(shí)鐘同步過(guò)程分為4步:

      (1)主時(shí)鐘在t1時(shí)刻向從時(shí)鐘發(fā)送Sync同步報(bào)文,隨后t1時(shí)間存放在Follow_up跟隨報(bào)文中發(fā)送給從時(shí)鐘。

      (2)從時(shí)鐘在t2時(shí)刻接收Sync同步報(bào)文,并從Follow_up跟隨報(bào)文中獲取t1時(shí)間戳。

      (3)從時(shí)鐘在t3時(shí)刻發(fā)送Delay_req延時(shí)請(qǐng)求報(bào)文給主時(shí)鐘。

      (4)主時(shí)鐘在t4時(shí)刻接收到Delay_req延時(shí)請(qǐng)求報(bào)文,并發(fā)送包含t4時(shí)間戳的Delay_resp延時(shí)請(qǐng)求響應(yīng)報(bào)文給從時(shí)鐘。

      在一次時(shí)鐘同步完成后,從時(shí)鐘獲取到t1、t2、t3、t44個(gè)時(shí)間戳,利用這4個(gè)時(shí)間戳首先計(jì)算主從時(shí)鐘間的平均路徑延遲Delay:

      (1)

      由時(shí)鐘偏差Offset與平均路徑延遲Delay關(guān)系:

      Offset=t2-t1-Dealy

      (2)

      繼而計(jì)算出主從時(shí)鐘間的時(shí)鐘偏差Offset:

      (3)

      2 IEEE1588時(shí)鐘同步系統(tǒng)設(shè)計(jì)

      同步系統(tǒng)結(jié)構(gòu)圖如圖2所示。IEEE1588時(shí)間同步系統(tǒng)中通過(guò)GPS/BD衛(wèi)星輸出1PPS信號(hào)給主時(shí)鐘提供同步信號(hào),主時(shí)鐘與從時(shí)鐘均采用STM32F407和物理層芯片DP83640構(gòu)成,二者采用RMII接口連接,50 MHz有源晶振提供參考時(shí)鐘,參考時(shí)鐘主要用于同步報(bào)文的接收發(fā)送及PTP時(shí)鐘的速率調(diào)節(jié)。從時(shí)鐘數(shù)量依據(jù)實(shí)際測(cè)試需求調(diào)整,主時(shí)鐘在一個(gè)時(shí)鐘同步系統(tǒng)中時(shí)鐘精度最高且只有一個(gè)。

      進(jìn)行時(shí)鐘同步時(shí),主從時(shí)鐘通過(guò)周期性的交換包含硬件時(shí)間戳的同步報(bào)文,計(jì)算主從時(shí)鐘之間的時(shí)鐘偏差值,在本地參考時(shí)鐘的作用下對(duì)時(shí)鐘速率進(jìn)行調(diào)節(jié),增添或減少偏差值實(shí)現(xiàn)從時(shí)鐘的穩(wěn)定。

      2.1 系統(tǒng)硬件設(shè)計(jì)

      系統(tǒng)硬件主要包括STM32F407主控模塊和物理層芯片DP83640。硬件平臺(tái)如圖3所示。

      STM32F407處理器支持IEEE1588協(xié)議,自身同樣具有在MAC層的MII/RMII接口處標(biāo)記時(shí)間戳功能,同時(shí)可對(duì)本地PTP時(shí)鐘頻率進(jìn)行粗調(diào)和細(xì)調(diào)校正。在需要實(shí)現(xiàn)包含多個(gè)從時(shí)鐘設(shè)備進(jìn)行時(shí)鐘同步時(shí),STM32F407系列CPU芯片價(jià)格低廉,相對(duì)FPGA與其他ARM處理器芯片具有更高的性價(jià)比[3]。但僅采用STM32F407實(shí)現(xiàn)的IEEE1588協(xié)議是標(biāo)記時(shí)間戳在MAC數(shù)據(jù)鏈路層,相比于物理層時(shí)間戳精度較低。

      物理層芯片DP83640為集成了IEEE1588精密時(shí)鐘協(xié)議硬件支持功能的以太網(wǎng)芯片。DP83640應(yīng)用框圖如圖4所示,DP83640主要包括以太網(wǎng)物理層接口、IEEE1588時(shí)鐘、IEEE1588控制和IEEE1588包檢測(cè)處理程序。

      DP83640可以實(shí)現(xiàn)在物理層最靠近網(wǎng)線的地方對(duì)數(shù)據(jù)包標(biāo)記時(shí)間戳,并將時(shí)間戳存儲(chǔ)在芯片內(nèi)的時(shí)間戳寄存器中,同時(shí)DP83640具有自動(dòng)標(biāo)記時(shí)間戳功能,使能相應(yīng)功能后,DP83640會(huì)自動(dòng)識(shí)別PTP報(bào)文并將時(shí)間戳標(biāo)記在發(fā)送與接收的報(bào)文中。DP83640提供12個(gè)GPIO口,使能相應(yīng)管腳功能后,可對(duì)外部中斷事件例如上升沿、下降沿標(biāo)記時(shí)間戳,也可以通過(guò)相應(yīng)GPIO口輸出定時(shí)脈沖提供給自身或其他設(shè)備使用[4]。

      2.2 系統(tǒng)軟件設(shè)計(jì)

      系統(tǒng)軟件架構(gòu)如圖5所示,主要包括物理層DP83640、MAC層STM32F407、傳輸層Lwip協(xié)議棧和應(yīng)用層IEEE1588協(xié)議。

      時(shí)鐘設(shè)備處于主時(shí)鐘狀態(tài)時(shí),PTP報(bào)文由主時(shí)鐘應(yīng)用層產(chǎn)生,采用UDP報(bào)文通信,PTP報(bào)文采用Lwip協(xié)議棧的UDP_API接口傳遞給MAC層,MAC層接口采用RMII接口與物理層連接并傳遞UDP報(bào)文,物理層DP83640中的時(shí)間戳模塊記錄并插入包含當(dāng)前報(bào)文到達(dá)時(shí)間的時(shí)間戳在PTP報(bào)文中,通過(guò)RJ45接口發(fā)送給從時(shí)鐘。

      時(shí)鐘設(shè)備處于從時(shí)鐘狀態(tài)時(shí),接收到IP報(bào)文的DP83640記錄包含在PTP報(bào)文中的時(shí)間戳信息,同時(shí)發(fā)送含有當(dāng)前時(shí)間戳的UDP報(bào)文給MAC層,IP報(bào)文經(jīng)過(guò)MAC層和傳輸層的報(bào)文解封,剝離出PTP報(bào)文數(shù)據(jù)發(fā)送給IEEE1588協(xié)議實(shí)現(xiàn)對(duì)時(shí)間戳信息的提取,之后運(yùn)行最佳主時(shí)鐘算法和時(shí)鐘同步算法,調(diào)節(jié)本地時(shí)鐘完成主從時(shí)鐘同步[5-6]。

      2.2.1 IEEE1588協(xié)議處理流程

      STM32F407完成各協(xié)議的初始化后,IEEE1588協(xié)議進(jìn)入PTP_Initializing狀態(tài),系統(tǒng)運(yùn)行最佳主時(shí)鐘算法判別當(dāng)前時(shí)鐘狀態(tài)。IEEE1588協(xié)議處理流程如圖6所示。

      若當(dāng)前時(shí)鐘處于主時(shí)鐘狀態(tài),主時(shí)鐘向從時(shí)鐘依次發(fā)送Sync同步報(bào)文和Follow_up跟隨報(bào)文,等待接收?qǐng)?bào)文,記錄報(bào)文到達(dá)時(shí)間并解包。主時(shí)鐘判別當(dāng)前報(bào)文是否為從時(shí)鐘發(fā)送的Delay_req延時(shí)請(qǐng)求報(bào)文,若是,則向從時(shí)鐘發(fā)送Delay_resp延時(shí)請(qǐng)求響應(yīng)報(bào)文并繼續(xù)發(fā)送Sync同步報(bào)文和Follow_up跟隨報(bào)文,若否,繼續(xù)等待接收?qǐng)?bào)文。

      若當(dāng)前時(shí)鐘處于從時(shí)鐘狀態(tài),從時(shí)鐘等待接收從主時(shí)鐘發(fā)送的報(bào)文,若為Sync同步報(bào)文,繼續(xù)等待接收?qǐng)?bào)文,當(dāng)接收到Follow_up跟隨報(bào)文,記錄Follow_up跟隨報(bào)文包含的時(shí)間戳t1,并向主時(shí)鐘發(fā)送Delay_req延時(shí)請(qǐng)求報(bào)文,之后當(dāng)接收到主時(shí)鐘發(fā)送來(lái)的Delay_resp延時(shí)請(qǐng)求報(bào)文,記錄其包含的時(shí)間戳t4,根據(jù)記錄的4個(gè)時(shí)間戳計(jì)算時(shí)鐘偏差并修正本地時(shí)鐘。

      2.2.2 Lwip協(xié)議棧

      Lwip是輕型(Light Weight)IP開(kāi)源協(xié)議棧,保持TCP/IP協(xié)議主要功能的同時(shí)對(duì)RAM等資源占用量少,適合在STM32F407處理器中使用,有無(wú)操作系統(tǒng)均可運(yùn)行。

      Lwip協(xié)議棧主要實(shí)現(xiàn)與MAC層的通信接口及上層應(yīng)用層的通信接口建立。與MAC層通信時(shí),Lwip協(xié)議棧調(diào)用low_level_output()函數(shù)將封裝好的IP報(bào)文復(fù)制到DMATxDescToSet描述符指向的緩存,etharp_output函數(shù)將IP報(bào)文封裝為以太網(wǎng)幀后,調(diào)用linkoutput函數(shù)將數(shù)據(jù)包經(jīng)由MAC層發(fā)出。接收到報(bào)文時(shí),low_level_input()函數(shù)對(duì)DMA描述符輪詢檢查,當(dāng)DMA描述符緩存中存有報(bào)文時(shí),將報(bào)文復(fù)制到pbuf結(jié)構(gòu)體中,由Lwip協(xié)議棧對(duì)報(bào)文進(jìn)行處理[6-7]。

      與應(yīng)用層通信時(shí),Lwip采用Nerconn API標(biāo)準(zhǔn)接口,報(bào)文封裝在netbuf中,調(diào)用netconn_bind()函數(shù)將本地IP地址addr與UDP端口號(hào)319、320綁定,建立網(wǎng)絡(luò)連接。后調(diào)用netconn_recv()接收函數(shù)和netconn_send()發(fā)送函數(shù)實(shí)現(xiàn)報(bào)文的發(fā)送與接收,接收到的報(bào)文由IEEE1588協(xié)議進(jìn)行處理[8-9]。

      2.2.3 本地時(shí)鐘調(diào)節(jié)

      DP83640對(duì)本地時(shí)鐘調(diào)節(jié)有相位調(diào)整和頻率調(diào)整[10]。相位調(diào)整采用單步調(diào)整,當(dāng)本地時(shí)鐘比主時(shí)鐘運(yùn)行慢時(shí),調(diào)整值為正值,由于DP83640內(nèi)部會(huì)對(duì)單步調(diào)整值進(jìn)行16 ns的補(bǔ)償,因此調(diào)整寄存器中的值應(yīng)為調(diào)整值的基礎(chǔ)上增加16 ns。當(dāng)本地時(shí)鐘比主時(shí)鐘運(yùn)行快時(shí),調(diào)整值為負(fù)值。

      頻率調(diào)整采用固定速率調(diào)整和臨時(shí)速率調(diào)整相結(jié)合的方式糾正本地時(shí)鐘和主時(shí)鐘之間的頻率偏差。固定速率調(diào)整量為固定的2-32ns。臨時(shí)速率調(diào)整為短時(shí)間的速率調(diào)整,將臨時(shí)速率值及持續(xù)時(shí)間寫入臨時(shí)速率控制寄存器PTP_TEDH和PTP_TEDL,持續(xù)時(shí)間結(jié)束后返回固定速率調(diào)整。

      3 時(shí)鐘同步測(cè)試

      本文采用衛(wèi)星時(shí)鐘作為授時(shí)源,分別采用主從時(shí)鐘直連和主從時(shí)鐘通過(guò)交換機(jī)相連的方式對(duì)主從時(shí)鐘同步精度進(jìn)行測(cè)試及結(jié)果分析。

      3.1 主從時(shí)鐘直連同步測(cè)試

      主從時(shí)鐘直連同步測(cè)試為主從時(shí)鐘通過(guò)板上的RJ45接口用網(wǎng)線連接,設(shè)置同步時(shí)間間隔為1 s,每秒主時(shí)鐘發(fā)送1次Sync同步報(bào)文,主從時(shí)鐘的時(shí)間偏差通過(guò)串口輸出,時(shí)間偏差值的統(tǒng)計(jì)分析結(jié)果如圖7所示。

      進(jìn)行250次同步后,主從時(shí)鐘最大時(shí)鐘偏差為121 ns,時(shí)鐘偏差基本分布在±100 ns之間,精度優(yōu)于±150 ns。

      3.2 主從時(shí)鐘交換機(jī)相連同步測(cè)試

      如圖1所示,主從時(shí)鐘之間通過(guò)100 MHz交換機(jī)連接,設(shè)置同步時(shí)間間隔為1 s,結(jié)果如圖8所示。

      進(jìn)行250次同步后,主從時(shí)鐘最大時(shí)鐘偏差為-196 ns,時(shí)鐘偏差基本分布在150 ns之間,精度優(yōu)于±200 ns。相比于主從時(shí)鐘直連方式,采用交換機(jī)相連由于存在往返時(shí)延不對(duì)稱形成非對(duì)稱鏈路,增大了時(shí)鐘偏差計(jì)算誤差,造成同步精度下降??紤]若采用支持IEEE1588交換機(jī),降低時(shí)延不對(duì)稱性,可提高一定的同步精度。

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

      本文基于IEEE1588協(xié)議,設(shè)計(jì)了軟件與硬件結(jié)合的高精度時(shí)間同步系統(tǒng),并在硬件平臺(tái)測(cè)試中實(shí)現(xiàn)了主從兩個(gè)時(shí)鐘設(shè)備的同步,并達(dá)到了一定的同步精度。且隨著時(shí)鐘設(shè)備的增加,網(wǎng)絡(luò)負(fù)載也會(huì)增大,需要進(jìn)一步對(duì)系統(tǒng)拓補(bǔ)結(jié)構(gòu)進(jìn)行優(yōu)化,增加一定的網(wǎng)絡(luò)元件,如透明千兆交換機(jī)等,從而提供具有更高同步精度的時(shí)鐘同步系統(tǒng)。

      猜你喜歡
      物理層主從延時(shí)
      基于K-ML-MPWFRFT的物理層安全傳輸技術(shù)
      基于級(jí)聯(lián)步進(jìn)延時(shí)的順序等效采樣方法及實(shí)現(xiàn)
      公路聯(lián)網(wǎng)電子不停車收費(fèi)系統(tǒng)路側(cè)單元物理層自動(dòng)測(cè)試軟件研發(fā)
      FANUC系統(tǒng)PROFIBUS主從功能應(yīng)用
      基于主從控制的微電網(wǎng)平滑切換控制策略研究
      多天線物理層安全傳輸系統(tǒng)性能分析
      基于飛行試驗(yàn)數(shù)據(jù)的仿真模型主從一體化檢驗(yàn)
      Two-dimensional Eulerian-Lagrangian Modeling of Shocks on an Electronic Package Embedded in a Projectile with Ultra-high Acceleration
      1Gbps電力線載波通信物理層算法設(shè)計(jì)
      基于FPGA的機(jī)床數(shù)控系統(tǒng)主從控制器通信研究
      富阳市| 远安县| 房产| 手游| 嘉定区| 红安县| 临潭县| 金昌市| 万盛区| 邛崃市| 从江县| 武隆县| 平武县| 宜宾市| 天等县| 南部县| 富顺县| 三穗县| 望城县| 新郑市| 吉首市| 措美县| 沅陵县| 巨野县| 宜黄县| 晋江市| 海城市| 石楼县| 英吉沙县| 黑龙江省| 崇礼县| 云阳县| 沿河| 莒南县| 兴和县| 宁乡县| 凉城县| 连州市| 正蓝旗| 宝兴县| 峨山|