国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

周期抖動2μs!RK3576的IgH EtherCAT工業級主站方案很厲害

飛凌嵌入式 ? 2026-01-23 11:53 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

工業自動化領域,如何在通用Linux系統上實現微秒級的硬實時控制,一直是機器人、多軸運動控制等高精度場景落地的關鍵挑戰。開源的IgH EtherCAT Master協議棧,憑借其卓越的高實時性與低抖動特性,成為了連接工業現場總線與上層應用的核心橋梁。然而,要釋放其全部潛能,離不開Preempt-RT實時內核的強力加持。

本文將基于飛凌嵌入式OK3576-C開發板,通過1ms周期同步速度模式與125μs周期同步轉矩模式的實測對比,展示在CPU隔離核與滿負載壓力下,系統如何將通訊抖動控制在微秒級,為您呈現一套可落地的高性能實時工業控制完整方案。

先說結論,表現很強悍!

周期同步速度模式,周期抖動由6.3080μs降低為3.5790μs;

周期同步轉矩模式,周期抖動由50.0470μs降低為2.1130μs!

1、IgH EtherCAT Master是什么?

在解答這個問題之前,先來看一下什么是EtherCAT ?EtherCAT是發展最快的工業以太網協議之一,采用硬件驅動型架構,具有速度快、傳輸數據量大、傳輸距離長、更新周期小、連接設備數量多等多重優勢。

wKgZO2ly8LqASxQ0ACy-ibhtLB0824.gif

IgH EtherCAT則是運行于Linux系統的開源EtherCAT主站程序,IgH EtherCAT主站通過構建Linux字符設備,應用程序通過對字符設備的訪問實現與EtherCAT主站模塊的通信。

wKgZO2ly8LiAN-o6AAARYjjjw-k461.png

它主要包括以下三部分:

1. Master Module

角色:EtherCAT 主站的“大腦”和內核。

功能:負責管理 EtherCAT 總線通信,實現主站與從站間的數據交換與同步。它包含主站實例及供底層驅動和上層應用調用的接口

2. Device Modules

角色:經過實時性優化的“網卡驅動”(如瑞芯微RK平臺的 stmmac)。

功能:作為主站與物理網口的橋梁。它能智能分流:被主站選中的設備用于收發 EtherCAT 幀;未被選中的設備則作為普通以太網設備走常規協議棧,實現 EtherCAT 與普通網絡的并行工作。

wKgZPGly8LiAL_dqAAAV2vU3hXc011.png

3. Application

角色:業務邏輯的執行者(用戶編寫或生成)。

功能:通過應用接口向主站申請總線控制權。一旦獲準,即可配置總線并進行周期性的過程數據交換。應用程序既可以是內核模塊,也可以是通過庫(EtherCAT/RTDM)調用的用戶空間程序。

wKgZPGly8LmATHW7AAQ3gCkFfyw307.png

評論區留言【資料】,即可獲得IgH EtherCAT Master官方源碼及技術手冊的下載方式。

2、實時內核Preempt-RT

1. 獨具優勢:

IgH EtherCAT Master要保證高實時性,需要在實時操作系統上運行。Preempt-RT是一種針對實時性能進行了優化的Linux內核,與普通的Linux內核相比,Preempt-RT的優勢很明顯:

① 硬實時保障:

具備硬實時能力,能確保關鍵任務在嚴格規定的時限內完成,不受其他任務干擾,滿足工業自動化、航空航天等對時間精度極高的場景需求。

② 高效調度與低延遲:

采用基于優先級的搶占式調度算法,高優先級任務可立即搶占低優先級任務;同時深度優化中斷處理機制,大幅縮短響應時間,消除系統抖動。

③ 高精度定時:

提供微秒級的內核定時器精度,配合實時擴展機制,支持用戶對內核進行定制,精準滿足EtherCAT通信的周期性數據交換需求。

2. 實時性測試

本次測試參考Rockchip RealTime Linux Performance Test Report,分為空載測試和壓力測試。測試的環境如下:

① 工具:cyclictest

② 硬件平臺:OK3576-C開發板

③ 內核版本:6.1.118-rt36

④ Path:SDK/docs/rk35xx/Patches/Real-Time-Performance/PREEMPT_RT/kernel-6.1/kernel-6.1.118

a. 配置Preempt-RT內核,可以參考用戶資料:/1-手冊/OK35xx-Linux6.1.118-配置實時內核方法.pdf

b. 不同硬件平臺的實時性測試結果,可以參考用戶資料:/1-手冊/OK35xx-Linux6.1.118-實時性測試.pdf

空載測試:

cyclictest -c 0 -m -t 8 -p99 -D12H

參數介紹:

  • -c 0:選擇時鐘源為CLOCK_MONOTONIC
  • -m:鎖定內存,防止內存頁交換到磁盤
  • -t 8:創建8個測試線程
  • -p 99:設置線程的優先級為99
  • -D 12h:設置測試持續時間為12h
wKgZO2ly8LiADozlAAECpXkG-2A177.png

壓力測試:

stress-ng -c8 --io 8 --cpu-load 100 -vm 4 --vm-bytes 512M --timeout 10000000s &

參數介紹:

  • -c 8:模擬8個CPU邏輯核心滿負荷運行
  • --io 8:模擬磁盤I/O壓力
  • --cpu-load 100:設定 CPU 的目標負載為 100%
  • --vm 4 --vm-bytes 512M:模擬內存壓力
  • --timeout 10000000s:設置測試持續時間為10000000秒
wKgZO2ly8LmAWIWQAAEkDQTH1Gs615.png

3、演示案例

本節的演示選取周期同步速度模式(通訊周期時間為1ms)與周期同步轉矩模式(通訊周期時間為125μs)驅動伺服電機轉動。

1. 環境介紹

開發環境:

  • Kernel:6.1.118-rt36
  • IgH EtherCAT Master:IgH EtherCAT master 1.6.0-rc1
  • EtherCAT主站:OK3576-C
  • EtherCAT從站:
  • (1)EtherCAT耦合器EK1100
  • (2)數字量輸出模塊EL2008
  • (3)伺服驅動器IS620NS1R6I + 伺服電機MS1H1-10B30CB A330Z

拓撲結構圖:

wKgZO2ly8LmAAeHOAAIrvq-vALE547.png

主站通過網線連接EtherCAT耦合器EK1100,EK1100通過E-Bus連接數字量輸出模塊EL2008、通過網線連接伺服驅動器IS620N,交流伺服電機MS1H1-10B30CB通過動力線和編碼線與伺服驅動器IS620N相連。

使用EtherCat調試工具輸出識別到的從站:

wKgZPGly8LmAVJ1JAAAwj2D3Wto264.png

使用EtherCat調試工具輸出總線拓撲:

wKgZPGly8LqAfo1gAACV6QFEeTk568.png

2. 伺服模式

IS620N 支持 7 種伺服模式,分別為輪廓位置模式(PP)、輪廓速度模式(PV)、輪廓轉矩模式(PT)、回零模式(HM)、周期同步位置模式(CSP)、周期同步速度模式(CSV)、周期同步轉矩模式(CST)。

不同模式支持的通訊周期不同,如下所示:

wKgZO2ly8LqASrTYAACzEsjWMPg584.png

3. 主站性能測試方法

以下定義參考:Definitions of Jitter and Latency

wKgZPGly8LqADyKNAACxhIcCjSE623.png

參考官方示例代碼:

examples/dc_user/main.c · stable-1.5 · EtherLab / EtherCAT Master · GitLab

里面有實現統計一個通訊周期的所花費的最大值和最小值。以1s為周期循環打印該區間EtherCAT通訊周期時間的最大值和最小值。

wKgZPGly8LqAcVHXAAAxURZg3IE130.png

演示一:周期同步速度模式(1ms)

周期同步速度模式下,上位控制器將計算好的目標速度 60FF 周期性同步發送給伺服驅動器,速度、轉矩調節由伺服內部執行。

基本配置:

wKgZO2ly8LuAWWssAAEnqgYypfA856.png

使用EtherCat調試工具輸出的pdo信息:

wKgZO2ly8LqAKTxbAAA8O0qP4mw952.png

操作步驟:

步驟1:設定模式,OD 6060h = 09h,周期同步速度模式。

步驟2:設定目標速度,OD 60FFh = 0。由于速度模式下,一旦切至 Servo On (步驟 3),伺服電機就會開始運轉,因此設定 0 是確保在 Servo On 時先保持 0 rpm 而不作動。

步驟3:設定控制指令 OD 6040h,請依照以下步驟操作。步驟 3.1 與 3.2 是為了使驅動器的狀態機 (state machine) 進入準備狀態。

wKgZPGly8LqAI2YdAACpseAit3Y943.png

步驟4:設定目標速度 OD 60FFh。

性能指標:

① 壓力測試(6h)

stress -c 4 --io 2 --vm 1 --vm-bytes 256M --timeout 1000000s&

./igh_ethercat_motor_csv

wKgZO2ly8LqAAiugAABLeboMEoU296.pngwKgZPGly8LuAD45LAADlUNHUa9U824.png

② 隔離測試+隔離核(6h)

stress -c 4 --io 2 --vm 1 --vm-bytes 256M --timeout 1000000s &

taskset -c 7 ./igh_ethercat_motor_csv

wKgZO2ly8LuAJQigAABJISFtopQ866.pngwKgZO2ly8LuAYCiQAADn_TIMgJw909.png

演示二:周期同步轉矩模式(125μs)

此模式下,上位控制器將計算好的目標轉矩 6071h 周期性同步的發送給伺服驅動器,轉矩調節由伺服內部執行。當速度達到限幅值后將進入調速階段。

基本配置:

wKgZPGly8LuAGwbMAAFRC4PZPLo178.png

使用EtherCat調試工具輸出的pdo信息:

wKgZPGly8LuATjIsAAA_WRF1QZs164.png

操作步驟:

步驟1:設定模式,OD 6060h = 0Ah,周期同步轉矩模式。

步驟2:設定目標扭矩,OD 6071h = 0。由于扭矩模式下,一旦切至Servo On (步驟 3),伺服目標扭矩即作用,因此先設定 0,以確保安全。

步驟3:設定控制指令,OD 6040h,請依照以下步驟操作。步驟 3.1 與 3.2 是為了使驅動器的狀態機 (state machine) 進入準備狀態。

wKgZO2ly8LuAdAXtAACr67gqOIg049.png

步驟4:設定目標扭矩 OD 6071h。

性能指標:

① 壓力測試(6h)

stress -c 4 --io 2 --vm 1 --vm-bytes 256M --timeout 1000000s&

./igh_ethercat_motor_cst

wKgZPGly8LuADUuHAABIW_-HUvQ154.pngwKgZPGly8LyAaRFAAADk9w-ydG8376.png

② 壓力測試+隔離核(6h)

stress -c 4 --io 2 --vm 1 --vm-bytes 256M --timeout 1000000s &

taskset -c 7 ./igh_ethercat_motor_cst

wKgZPGly8LyAHbUFAABJLr81ys4985.pngwKgZO2ly8LyAUUIEAADfx0JT8Jc467.png

以上測試對未及時收回來的數據幀時統計的周期樣本進行剔除,在跑125μs周期,幀未及時收回來的情況會更加頻繁。

兩種演示的性能測試,應用程序都采用FIFO調度+內存鎖定;在采取隔離核策略時,系統的周期抖動降低。

  • 周期同步速度模式,周期抖動由6.3080μs降低為3.5790μs。
  • 周期同步轉矩模式,周期抖動由50.0470μs降低為2.1130μs。

方案展示:

wKgZPGly8L6Ac2orADkS1DfNXvI423.gif
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5196

    文章

    20391

    瀏覽量

    332720
  • ethercat
    +關注

    關注

    19

    文章

    1482

    瀏覽量

    44673
  • EtherCAT主站
    +關注

    關注

    2

    文章

    33

    瀏覽量

    4461
  • preempt-rt
    +關注

    關注

    0

    文章

    6

    瀏覽量

    1811
  • rk3576
    +關注

    關注

    1

    文章

    255

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    RK3568-IgH EtherCAT站開發案例

    RK3568-IgH EtherCAT站開發案例
    的頭像 發表于 01-19 15:20 ?3194次閱讀
    <b class='flag-5'>RK3568-IgH</b> <b class='flag-5'>EtherCAT</b><b class='flag-5'>主</b>站開發案例

    如何移植EtherCAT Igh--基于米爾RK3576開發板

    本文將介紹基于米爾電子MYD-LR3576開發板(米爾基于瑞芯微RK3576開發板)的板端移植EtherCATIgh方案的開發測試。摘自優秀創作者-EPTmachine米爾基于瑞芯微RK357
    的頭像 發表于 09-26 08:04 ?9798次閱讀
    如何移植<b class='flag-5'>EtherCAT</b> <b class='flag-5'>Igh</b>--基于米爾<b class='flag-5'>RK3576</b>開發板

    基于全志T507-H的Igh EtherCAT案例分享

    基于全志T507-H的Linux-RT + IgH EtherCAT演示 下文主要介紹基于全志T507-H(硬件平臺:創龍科技TLT507-EVM評估板)案例,按照創龍科技提供的案
    發表于 06-03 09:59

    基于全志T507-H的Linux-RT + Igh EtherCAT案例分享

    Plus等平臺也提供了開源EtherCATIgH案例。Linux-RT系統的優勢 - 內核開源、免費、功能完善。- RT PREEMPT補丁,使Linux內核成為硬實時操作系統,
    發表于 07-17 11:18

    RK3576 vs RK3588:為何越來越多的開發者轉向RK3576?

    瑞芯微(Rockchip)最新發布的 RK3576 一經推出,就吸引了大量原本關注 RK3588 的開發者。RK3588 作為旗艦芯片,性能固然強大,但
    發表于 05-30 08:46

    【米爾RK3576開發板免費體驗】3、移植EtherCAT Igh

    .config rockchip_linux_docker.config rockchip_rt.config 指令中/path/to/SDK為SDK的安裝路徑。 2、EtherCAT IGH編譯和安裝 下載
    發表于 07-21 10:35

    【作品合集】米爾RK3576開發板測評

    輸出 【米爾RK3576開發板免費體驗】3、移植EtherCAT Igh 【米爾RK3576開發板免費體驗】4、移植SOEM
    發表于 09-11 10:19

    如何米爾RK3576開發板上移植EtherCAT Igh

    本文將介紹基于米爾電子MYD-LR3576開發板(米爾基于瑞芯微 RK3576開發板)的板端移植EtherCAT Igh方案的開發測試。摘自
    發表于 09-26 16:02

    開源IgH EtherCAT方案,基于IMX8、ZYNQ、AM335x、T3等平臺

    :latency:等待喚醒時間。period:EtherCAT通訊周期時間。exec:接收和發送EtherCAT數據時間。4、案例編譯4.1IgH
    發表于 09-17 17:14

    EtherCAT igh是如何控制松下伺服(csp模式)的

    EtherCAT igh是如何控制松下伺服(csp模式)的?怎樣去編寫其代碼?
    發表于 10-08 06:12

    開源!ZYNQ IgH EtherCAT方案分享

    前 言:創龍科技已基于IMX8、ZYNQ、AM5728、AM5708、AM437x、AM335x、T3/A40i等平臺提供了開源EtherCATIgH案例。本文主要演示
    發表于 10-29 11:17

    RK3576單板發布倒計時:RK3399與RK3576對比

    好多人說RK3576RK3399的升級版,某種程度上也可以這么說,RK3576在強大的多媒體功能的基礎上,性能和接口都進行了升級 一、工藝 性能 rk3576采用 Rockchip
    的頭像 發表于 12-03 16:59 ?2446次閱讀
    <b class='flag-5'>RK3576</b>單板發布倒計時:<b class='flag-5'>RK</b>3399與<b class='flag-5'>RK3576</b>對比

    瑞芯微RK3576RK3576S有什么區別,性能參數配置與型號差異解析

    瑞芯微第二代8nm高性能AIOT平臺RK3576家族再添新成員-RK3576S,先說結論:相較型號的RK3576/RK3576J,性能略有
    的頭像 發表于 08-14 23:57 ?2256次閱讀
    瑞芯微<b class='flag-5'>RK3576</b>與<b class='flag-5'>RK3576S</b>有什么區別,性能參數配置與型號差異解析

    創龍 瑞芯微 RK3588 國產2.4GHz八核 工業開發板—IgH?EtherCAT站開發案例(上)

    /SCHED_DEADLINE 模式在空載 / 滿負荷狀態測試)、編譯(程序與 igh_ethercat_dc_motor 案例編譯)及關鍵代碼。案例以 1ms EtherCAT
    的頭像 發表于 10-14 11:55 ?578次閱讀
    創龍 瑞芯微 <b class='flag-5'>RK</b>3588 國產2.4GHz八核 <b class='flag-5'>工業</b>開發板—<b class='flag-5'>IgH</b>?<b class='flag-5'>EtherCAT</b><b class='flag-5'>主</b>站開發案例(上)

    創龍 瑞芯微 RK3588 國產2.4GHz八核 工業開發板—IgH?EtherCAT站開發案例(下)

    /SCHED_DEADLINE 模式在空載 / 滿負荷狀態測試)、編譯(程序與 igh_ethercat_dc_motor 案例編譯)及關鍵代碼。案例以 1ms EtherCAT
    的頭像 發表于 10-15 15:06 ?571次閱讀
    創龍 瑞芯微 <b class='flag-5'>RK</b>3588 國產2.4GHz八核 <b class='flag-5'>工業</b>開發板—<b class='flag-5'>IgH</b>?<b class='flag-5'>EtherCAT</b><b class='flag-5'>主</b>站開發案例(下)