91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

同一網(wǎng)絡,同一瞬間!一起玩轉(zhuǎn)1588!

先楫半導體HPMicro ? 2022-08-03 10:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在HPM6700/6400系列微控制器上,提供了2個以太網(wǎng)控制器。都可以支持IEEE1588-2002IEEE1588-2008標準。方便用戶實現(xiàn)基于網(wǎng)絡的精確時間同步。

本文提供了與HPM6700/6400系列微控制器基于網(wǎng)絡的IEE1588的功能示例和使用指南。


IEEE1588簡介

IEEE1588的全稱是網(wǎng)絡測量和控制系統(tǒng)的精密時鐘同步協(xié)議標準(PTP – Precision Time Protocol)。目前為2個版本,分別為IEEE1588(v1)和IEEE1588(v2)。IEEE1588的目的是為了對全網(wǎng)設備時鐘同步,這對于網(wǎng)絡設備在控制和采集同步尤為重要。本節(jié)簡單介紹IEEE1588的基礎知識,詳細的協(xié)議描述,請參考相關網(wǎng)站。

1588的同步原理

1588的原理是通過網(wǎng)絡中的主設備對從設備發(fā)送特殊的報文并以此和從設備進行交互得出時間的偏離以進一步將設備時鐘同步。如下圖所示:

33458b70-0f88-11ed-9ade-dac502259ad0.png

端口在t1時刻發(fā)送同步報文,并在接下來的報文中發(fā)送t1點的時間,從端口在t2時間點收到同步報文并在t3時刻發(fā)送響應給主端口,主端口在收到從端口的響應后再將t4時刻發(fā)送給從端口。


在這個過程中,得到網(wǎng)絡延遲和時鐘偏差。

Toffset=((t2 - t1) + (t4 – t3)) / 2

Tdelay=((t4 - t1) -(t3 – t2)) / 2

在整個網(wǎng)絡拓撲中,所有的節(jié)點定期的進行時鐘同步,最終達到納秒(IEEE1588-2008)或者微秒級(IEEE1588-2002)的精度。


HPM67/64系列1588功能介紹

IEEE1588本身是基于以太網(wǎng)提出的,因此其詳細使用以及寄存器描述請參見HPM6700/6400用戶手冊的第60章。

使用1588功能,首先要為該功能賦予時鐘源。因為HPM6700/6400有2個以太網(wǎng)控制器,ENET0, ENET1。因此,控制器為1588設立了2個時鐘源,分別為:

CLOCK_TOP_PTP0;

CLOCK_TOP_PTP1。


HPM6700/6400微控制器上,CLOCK_TOP_PTP0/1分別作為ENET0/1的1588時間戳計數(shù)器的運行時鐘,其默認頻率選擇是使用PLL1CLK1輸出, PLL1CLK1的默認輸出為400MHz,默認時鐘分頻系數(shù)為4,因此CLOCK_TOP_PTP0/1的默認頻率為100MHz。用戶可以根據(jù)自己的需要設置成不同的頻率作為輸入。

clock_set_source_divider(clock_ptp0, clk_src_pll1_clk1, 4);clock_set_source_divider(clock_ptp1, clk_src_pll1_clk1, 4);

用戶需要設置以下幾個寄存器來實現(xiàn)相應的1588功能

TS_CTRL 時間戳控制寄存器

SUB_SEC_INCR 次-秒增量寄存器

SYST_SEC 系統(tǒng)時間 – 秒寄存器

SYST_NSEC 系統(tǒng)時間 – 納秒寄存器

SYST_SEC_UPD 系統(tǒng)時間 – 秒更新寄存器

SYST_NSEC_UPD 系統(tǒng)時間 – 納秒更新寄存器

TS_ADDEND 時間戳加法寄存器

當確定好輸入頻率后,用戶需要在SUB_SEC_INCR中填寫增量值。它的填寫主要依靠2個因素,一個是TS_CTRL中的第9位TSCTRLSSR,另一個因素是前面提到的輸入頻率。

TSCTRLSSR是計數(shù)方式的選擇,當其置1時,SYS_NSEC納秒寄存器到0x3B9AC9FF時翻轉(zhuǎn);當其置0時,SYS_NSEC納秒寄存器到0x7FFFFFFF時翻轉(zhuǎn)。SYS_NSEC每翻轉(zhuǎn)一次代表時間上的1秒鐘。因此,當TSCTRLSSR置1時,SYS_NSEC中的1代表1ns;當TSCTRLSSR置0時,SYS_NSEC中的1代表0.465ns。SUB_SEC_INCR.SSINC中的數(shù)代表著輸入頻率所對應的時間,它會根據(jù)SYS_NSEC中1個計數(shù)所代表的時間進行相應的折算。

例如,當輸入頻率為100MHz時,一個clock是10ns,當TSCTRLSSR置1時,則SUB_SEC_INCR.SSINC設為10(10/1);當TSCTRLSSR置0時,則SUB_SEC_INCR.SSINC設為21(10/0.465)。

建議用戶將TSCTRLSSR置1,這樣理解和計算都更方便。


SYST_SEC和SYST_NSEC為MAC維護的時間戳。SYST_SEC為秒級時間戳,SYST_NSEC為納秒級時間戳。其中SYS_NSEC會根據(jù)TSCTRLSSR的設置在不同的數(shù)據(jù)下翻轉(zhuǎn)。當TSCTRLSSR置1時,它將會在0x3B9AC9FF時翻轉(zhuǎn),當TSCTRLSSR置0時,它將會在0x7FFFFFFF時翻轉(zhuǎn)。


SYST_SEC_UPD和SYST_NSEC_UPD為更新時間戳的寄存器,如果需要減少納秒時間,需要將SYST_NSEC_UPD中的最高位置1,如果需要增加納秒時間則需要將SYST_NSEC_UPD中的最高位置0。


假設時鐘同步算法發(fā)現(xiàn)時鐘偏慢,希望將累加的步長調(diào)整為10.1 ns,這時,可以保持SUB_SEC_INCR.SSINC為10,設置ADDEND = 0xFFFFFFFF * (0.1) = 0x19999999。此時,可以視為累加的等效步長為10.1 ns。

假設時鐘同步算法發(fā)現(xiàn)時鐘偏快,希望將累加的步長調(diào)整為9.9 ns,這時,需要設置SUB_SEC_INCR.SSINC為 9,設置ADDEND = 0xFFFFFFFF * (0.9) = 0xE6666666。此時,可以視為累加的等效步長為9.9 ns。


注意,以上所有的寄存器的寫入都是需要通過設置TS_CTRL中相應的狀態(tài)位為1,等待此位為0時,認為設置成功。


在先楫提供的SDK中,可以直接調(diào)用

../../hpm_sdk/drivers/src/hpm_enet_drv.c進行設置

void enet_init_ptp(ENET_Type *ptr, enet_ptp_config_t *config)void enet_set_ptp_timestamp(ENET_Type *ptr, enet_ptp_time_t *timestamp)

1588例程分析

在先楫發(fā)布的SDK中,可以找到1588的實現(xiàn)例程v1(即IEEE1588-2002)

..\..\hpm_sdk\samples\lwip\lwip_ptp\v1

其中包括master和slave, 分別對應主端口和從端口。在不改動任何設置的情況下,用戶需要2塊進行測試,一塊作為主端口,另一塊作為從端口。為了測試IEEE1588的時鐘同步性能,我們采用了2塊HPM6750EVK,分別燒寫master和slave的程序。

需要注意一下2塊板子的ip地址應該是不同的。默認的例程使用的是板子上的RMIIPHY,用戶可以根據(jù)自身的需求更換成RGMII PHY進行測試。

1. 代碼分析


初始化系統(tǒng),首先初始化IO,以太網(wǎng)芯片以及設置1588的時鐘。

board_init();board_init_enet_ptp_clock(ENET);board_init_enet_pins(ENET);enet_init(ENET);

在初始化以太網(wǎng)芯片成功后,初始化lwip,設置網(wǎng)絡參數(shù),ptp時鐘

enet_ptp_init();lwip_init();netif_config();user_notification(&gnetif);ptpd_Init();

接受網(wǎng)絡時鐘同步數(shù)據(jù)包,并以此進行時鐘校正。如此往復。

while (1) {ethernetif_input(&gnetif); ptpd_periodic_handle(localtime);}

2. 測試方法


因為1588的時鐘精確同步功能需要在網(wǎng)絡中實現(xiàn),因此先楫用了2塊HPM6750EVK通過對接的方式測試。在分別燒入了master和slave的程序后,通過網(wǎng)線直接連接板子上的RJ45(J10)端口。如圖所示:

337a8c58-0f88-11ed-9ade-dac502259ad0.jpg

系統(tǒng)上電后,在從端口的串口中顯示

(D 1651074120.060559130) state PTP_SLAVE(D 1651074121.919880830) addForeign: new record (0,1) 1 1 98bc9f:18(D 1651074121.923243890) event MASTER_CLOCK_CHANGED(D 1651074121.925549510) state PTP_UNCALIBRATED(D 1651074121.927681110) toState: Q = 0, R = 5(D 1651074123.919898550) updateOffset(D 1651074123.921597570) updateClock seconds(D 1651074134.003162180) setTime: resetting system clock to 1651074134s 3162050ns(D 1651074134.006781080) initClock(D 1651074134.008349500) one-way delay: 0s 0ns(D 1651074134.011270660) offset from master: -10s -79562820ns(D 1651074134.014279260) observed drift: 0(D 1651074135.999474620) updateOffset(D 1651074136.001174640) one-way delay: 0s 0ns(D 1651074136.004096190) offset from master: 0s 10170ns(D 1651074136.007017370) observed drift: 169(D 1651074137.999480800) updateOffset(D 1651074138.001180620) one-way delay: 0s 0ns(D 1651074138.004101330) offset from master: 0s 14370ns(D 1651074138.007022680) observed drift: 408

3. 測試結果

通過對結果的比對,我們將時間戳的偏移值進行比較,得到下圖:


339c46d6-0f88-11ed-9ade-dac502259ad0.png

從圖中可以看到,在同步之初,時間的偏差較大,但經(jīng)過最初的快速調(diào)整后,時鐘精確在±10us之內(nèi)。這對于IEEE1588-2002來說,已經(jīng)是非常好的效果。

總結

本文介紹了HPM6700/6400系列微控制器的以太網(wǎng)1588功能的使用和示例的演示。在IEEE1588-2002下,100MHz的網(wǎng)絡測試中得到了很好的效果。對于1588-2008版本的測試,會在后續(xù)的文檔中推出。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    114

    文章

    17800

    瀏覽量

    193517
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    CANopen協(xié)議核心秘籍:NMT、SDO、PDO、心跳報文一網(wǎng)打盡

    服務數(shù)據(jù)、PDO過程數(shù)據(jù)、心跳機制及COB-ID速查表一網(wǎng)打盡,助你快速掌握CANopen精髓。NMT(網(wǎng)絡管理)NMT負責設備的狀態(tài)切換、上線管理與心跳監(jiān)控1.1
    的頭像 發(fā)表于 03-05 19:34 ?102次閱讀
    CANopen協(xié)議核心秘籍:NMT、SDO、PDO、心跳報文<b class='flag-5'>一網(wǎng)</b>打盡

    為什么不能將 USB 磁盤與 exFat 一起使用?

    不能將 USB 磁盤與 exFat 一起使用
    發(fā)表于 03-04 06:27

    PCB中常用的快捷鍵

    + C取消高亮 ● Ctrl + G彈出捕捉格點對話框 ● Ctrl + M 測量距離 ● Ctrl + H PCB下選取某個網(wǎng)絡的布線,便于刪除同一網(wǎng)絡的布線 ● R + M 測量任意兩點間的距離
    發(fā)表于 01-30 06:01

    HT1000網(wǎng)絡視頻延長器的詳細使用說明和注意事項

    網(wǎng)段設置:將操作電腦的 IP 地址與設備 IP 設置在同一網(wǎng)段(默認設備 IP:192.168.1.168)。 WEB 平臺登錄:打開 IE 瀏覽器,輸入設備 IP,在登錄界面輸入默認
    發(fā)表于 12-30 14:46

    請問TCP 和 UDP 可以使用同一個端口嗎?

    TCP 和 UDP 可以使用同一個端口嗎?
    發(fā)表于 12-03 08:01

    CC LINK IE與ETHERNET/IP“語病”有治了!一網(wǎng)關讓產(chǎn)線精準同步

    CC LINK IE與ETHERNET/IP“語病”有治了!一網(wǎng)關讓產(chǎn)線精準同步 在電子制造車間里,PCB測試線如同一道精密的脈搏。側,三菱PLC控制著機械臂的每次起落;另
    的頭像 發(fā)表于 11-18 15:28 ?203次閱讀
    CC LINK IE與ETHERNET/IP“語病”有治了!<b class='flag-5'>一網(wǎng)</b>關讓產(chǎn)線精準同步

    中軟國際榮獲華為政務一網(wǎng)通軍團兩項大獎

    近日,在第十屆華為全聯(lián)接大會(HUAWEI CONNECT 2025)“政務一網(wǎng)通軍團合作伙伴之夜”中,中軟國際榮獲“優(yōu)秀持續(xù)運營伙伴獎”及“優(yōu)秀商業(yè)拓展支撐獎”。中軟國際云智能業(yè)務集團總裁閆國棟,副總裁田智受邀出席活動并代表公司領獎。
    的頭像 發(fā)表于 09-28 14:03 ?925次閱讀

    Texas Instruments LMK5C33414AS1網(wǎng)絡同步器數(shù)據(jù)手冊

    Texas Instruments LMK5C33414AS1網(wǎng)絡同步器是網(wǎng)絡同步器和抖動清除器,設計用于滿足無線通信和基礎設施應用的嚴格要求。LMK5C33414AS1是隨附軟件支持
    的頭像 發(fā)表于 08-03 12:13 ?971次閱讀
    Texas Instruments LMK5C33414AS1<b class='flag-5'>網(wǎng)絡</b>同步器數(shù)據(jù)手冊

    Texas Instruments LMK5C33216AS1網(wǎng)絡同步器數(shù)據(jù)手冊

    Texas Instruments LMK5C33216AS1網(wǎng)絡同步器是網(wǎng)絡同步器和抖動清除器,設計用于滿足無線通信和基礎設施應用的嚴格要求。LMK5C33216AS1是隨附軟件支持
    的頭像 發(fā)表于 08-03 10:53 ?1053次閱讀
    Texas Instruments LMK5C33216AS1<b class='flag-5'>網(wǎng)絡</b>同步器數(shù)據(jù)手冊

    POE防雷二合一網(wǎng)絡浪涌保護器的行業(yè)應用方案

    數(shù)據(jù)傳輸完整性與直流供電安全。 二合一網(wǎng)絡浪涌保護器:指同時對“網(wǎng)絡信號線 + 直流/交流電源線”或“差模+共模”兩類路徑進行體化防護的裝置。廣義上也包括“單只設備內(nèi)部集成數(shù)據(jù)線與PoE電源線保護”方案
    的頭像 發(fā)表于 07-23 14:44 ?726次閱讀
    POE防雷二合<b class='flag-5'>一網(wǎng)絡</b>浪涌保護器的行業(yè)應用方案

    光纖能與電線一起走嗎

    光纖與電線在特定條件下可以一起布線,但需嚴格遵守安全規(guī)范和物理隔離要求,以下是詳細分析: 、光纖與電線的物理特性差異 光纖 傳輸介質(zhì):以光信號傳輸數(shù)據(jù),不導電,因此不受電磁干擾(EMI
    的頭像 發(fā)表于 07-14 10:40 ?8142次閱讀

    Texas Instruments LMK5C22212AS1網(wǎng)絡同步器數(shù)據(jù)手冊

    Texas Instruments LMK5C22212AS1網(wǎng)絡同步器是款高性能抖動清除器和網(wǎng)絡同步器,設計用于滿足無線通信和基礎設施應用的嚴格要求。該設備帶軟件支持,可將IEEE-158
    的頭像 發(fā)表于 07-05 17:10 ?881次閱讀
    Texas Instruments LMK5C22212AS1<b class='flag-5'>網(wǎng)絡</b>同步器數(shù)據(jù)手冊

    同一水平的 RISC-V 架構的 MCU,和 ARM 架構的 MCU 相比,運行速度如何?

    ARM 架構與 RISC-V 架構的 MCU 在同一性能水平下的運行速度對比,需從架構設計原點、指令集特性及實際測試數(shù)據(jù)展開剖析。以 ARM Cortex-M33 這類 ARMv8M 架構核心與采用
    的頭像 發(fā)表于 07-02 10:29 ?1503次閱讀
    <b class='flag-5'>同一</b>水平的 RISC-V 架構的 MCU,和 ARM 架構的 MCU 相比,運行速度如何?

    怎么將同一車間PLC設備劃分到同一VLAN

    在某工廠網(wǎng)絡中,管理人員需要將同一車間的自動化設備PLC劃分到同一VLAN,確保只有該車間的設備能夠相互訪問,同時將這些設備接入交換實現(xiàn)與工廠MES系統(tǒng)的數(shù)據(jù)共享。但在網(wǎng)絡改造時遇到困
    的頭像 發(fā)表于 06-18 11:12 ?790次閱讀
    怎么將<b class='flag-5'>同一</b>車間PLC設備劃分到<b class='flag-5'>同一</b>VLAN

    為什么無法通過demo_feature_L2_bridge_vlan上的PFE轉(zhuǎn)發(fā)VLAN標記的以太網(wǎng)數(shù)據(jù)包?

    的 demo_feature_L2_bridge_vlan 演示,它基本上展示了以下內(nèi)容: 1. 同一網(wǎng)絡中 2 臺設備之間的無標簽通信(PC0_NOVLAN 和 PC1_NOVLAN) 2. 同一網(wǎng)絡中 2
    發(fā)表于 03-25 08:05