瑞芯微RK3576 +Preempt-RT實測,EtherCAT抖動低至2.113μs
飛凌嵌入式
2026-01-26 15:25:00
RK3576
rk3576開發(fā)板
Preempt
RT
EtherCAT
在工業(yè)自動化領(lǐng)域,如何在通用Linux系統(tǒng)上實現(xiàn)微秒級的硬實時控制,一直是機器人、多軸運動控制等高精度場景落地的關(guān)鍵挑戰(zhàn)。開源的IgH EtherCAT Master協(xié)議棧,憑借其卓越的高實時性與低抖動特性,成為了連接工業(yè)現(xiàn)場總線與上層應用的核心橋梁。然而,要釋放其全部潛能,離不開Preempt-RT實時內(nèi)核的強力加持。
本文將基于飛凌嵌入式OK3576-C開發(fā)板,通過1ms周期同步速度模式與125μs周期同步轉(zhuǎn)矩模式的實測對比,展示在CPU隔離核與滿負載壓力下,系統(tǒng)如何將通訊抖動控制在微秒級,為您呈現(xiàn)一套可落地的高性能實時工業(yè)控制完整方案。
實測性能表現(xiàn)
周期抖動由6.3080μs降低為3.5790μs
周期抖動由50.0470μs降低為2.1130μs
IgH EtherCAT Master是什么?
EtherCAT工作原理示意圖
IgH EtherCAT則是運行于Linux系統(tǒng)的開源EtherCAT主站程序,IgH EtherCAT主站通過構(gòu)建Linux字符設(shè)備,應用程序通過對字符設(shè)備的訪問實現(xiàn)與EtherCAT主站模塊的通信。
它主要包括以下三部分:
1. Master Module
角色:EtherCAT 主站的"大腦"和內(nèi)核。
功能:負責管理 EtherCAT 總線通信,實現(xiàn)主站與從站間的數(shù)據(jù)交換與同步。它包含主站實例及供底層驅(qū)動和上層應用調(diào)用的接口。
2. Device Modules
角色:經(jīng)過實時性優(yōu)化的"網(wǎng)卡驅(qū)動"(如瑞芯微RK平臺的 stmmac)。
功能:作為主站與物理網(wǎng)口的橋梁。它能智能分流:被主站選中的設(shè)備用于收發(fā) EtherCAT 幀;未被選中的設(shè)備則作為普通以太網(wǎng)設(shè)備走常規(guī)協(xié)議棧,實現(xiàn) EtherCAT 與普通網(wǎng)絡(luò)的并行工作。
3. Application
角色:業(yè)務(wù)邏輯的執(zhí)行者(用戶編寫或生成)。
功能:通過應用接口向主站申請總線控制權(quán)。一旦獲準,即可配置總線并進行周期性的過程數(shù)據(jù)交換。應用程序既可以是內(nèi)核模塊,也可以是通過庫(EtherCAT/RTDM)調(diào)用的用戶空間程序。
應用層架構(gòu)示意圖
重要資源:點擊左側(cè)在線,即可獲得IgH EtherCAT Master官方源碼及技術(shù)手冊的下載方式。
實時內(nèi)核Preempt-RT
1. 獨具優(yōu)勢:
IgH EtherCAT Master要保證高實時性,需要在實時操作系統(tǒng)上運行。Preempt-RT是一種針對實時性能進行了優(yōu)化的Linux內(nèi)核,與普通的Linux內(nèi)核相比,Preempt-RT的優(yōu)勢很明顯:
- 硬實時保障:具備硬實時能力,能確保關(guān)鍵任務(wù)在嚴格規(guī)定的時限內(nèi)完成,不受其他任務(wù)干擾,滿足工業(yè)自動化、航空航天等對時間精度極高的場景需求。
- 高效調(diào)度與低延遲:采用基于優(yōu)先級的搶占式調(diào)度算法,高優(yōu)先級任務(wù)可立即搶占低優(yōu)先級任務(wù);同時深度優(yōu)化中斷處理機制,大幅縮短響應時間,消除系統(tǒng)抖動。
- 高精度定時:提供微秒級的內(nèi)核定時器精度,配合實時擴展機制,支持用戶對內(nèi)核進行定制,精準滿足EtherCAT通信的周期性數(shù)據(jù)交換需求。
2. 實時性測試
本次測試參考Rockchip RealTime Linux Performance Test Report,分為空載測試和壓力測試。測試的環(huán)境如下:
- 工具:cyclictest
- 硬件平臺:OK3576-C開發(fā)板
- 內(nèi)核版本:6.1.118-rt36
- Path:SDK/docs/rk35xx/Patches/Real-Time-Performance/PREEMPT_RT/kernel-6.1/kernel-6.1.118
a. 配置Preempt-RT內(nèi)核,可以參考用戶資料:/1-手冊/OK35xx-Linux6.1.118-配置實時內(nèi)核方法.pdf
b. 不同硬件平臺的實時性測試結(jié)果,可以參考用戶資料:/1-手冊/OK35xx-Linux6.1.118-實時性測試.pdf
空載測試:
參數(shù)介紹:
- -c 0:選擇時鐘源為CLOCK_MONOTONIC
- -m:鎖定內(nèi)存,防止內(nèi)存頁交換到磁盤
- -t 8:創(chuàng)建8個測試線程
- -p 99:設(shè)置線程的優(yōu)先級為99
- -D 12h:設(shè)置測試持續(xù)時間為12h
空載測試結(jié)果示意圖
壓力測試:
參數(shù)介紹:
- -c 8:模擬8個CPU邏輯核心滿負荷運行
- --io 8:模擬磁盤I/O壓力
- --cpu-load 100:設(shè)定 CPU 的目標負載為 100%
- -vm 4 --vm-bytes 512M:模擬內(nèi)存壓力
- --timeout 10000000s:設(shè)置測試持續(xù)時間為10000000秒
壓力測試結(jié)果示意圖
演示案例
本節(jié)的演示選取周期同步速度模式(通訊周期時間為1ms)與周期同步轉(zhuǎn)矩模式(通訊周期時間為125μs)驅(qū)動伺服電機轉(zhuǎn)動。
1. 環(huán)境介紹
- Kernel:6.1.118-rt36
- IgH EtherCAT Master:IgH EtherCAT master 1.6.0-rc1
- EtherCAT主站:OK3576-C
-
EtherCAT從站:
- (1)EtherCAT耦合器EK1100
- (2)數(shù)字量輸出模塊EL2008
- (3)伺服驅(qū)動器IS620NS1R6I + 伺服電機MS1H1-10B30CB A330Z
拓撲結(jié)構(gòu)圖:
系統(tǒng)拓撲結(jié)構(gòu)圖
主站通過網(wǎng)線連接EtherCAT耦合器EK1100,EK1100通過E-Bus連接數(shù)字量輸出模塊EL2008、通過網(wǎng)線連接伺服驅(qū)動器IS620N,交流伺服電機MS1H1-10B30CB通過動力線和編碼線與伺服驅(qū)動器IS620N相連。
使用EtherCat調(diào)試工具輸出識別到的從站:
從站識別
使用EtherCat調(diào)試工具輸出總線拓撲:
總線拓撲
2. 伺服模式
IS620N 支持 7 種伺服模式,分別為輪廓位置模式(PP)、輪廓速度模式(PV)、輪廓轉(zhuǎn)矩模式(PT)、回零模式(HM)、周期同步位置模式(CSP)、周期同步速度模式(CSV)、周期同步轉(zhuǎn)矩模式(CST)。
不同模式支持的通訊周期不同,如下所示:
伺服模式通訊周期表
3. 主站性能測試方法
抖動和延遲定義
參考官方示例代碼:examples/dc_user/main.c · stable-1.5 · EtherLab / EtherCAT Master · GitLab
里面有實現(xiàn)統(tǒng)計一個通訊周期的所花費的最大值和最小值。以1s為周期循環(huán)打印該區(qū)間EtherCAT通訊周期時間的最大值和最小值。
代碼示意圖
演示一:周期同步速度模式(1ms)
周期同步速度模式下,上位控制器將計算好的目標速度 60FF 周期性同步發(fā)送給伺服驅(qū)動器,速度、轉(zhuǎn)矩調(diào)節(jié)由伺服內(nèi)部執(zhí)行。
基本配置:
周期同步速度模式基本配置
使用EtherCat調(diào)試工具輸出的pdo信息:
周期同步速度模式PDO信息
操作步驟:
步驟1:設(shè)定模式,OD 6060h = 09h,周期同步速度模式。
步驟2:設(shè)定目標速度,OD 60FFh = 0。由于速度模式下,一旦切至 Servo On (步驟 3),伺服電機就會開始運轉(zhuǎn),因此設(shè)定 0 是確保在 Servo On 時先保持 0 rpm 而不作動。
步驟3:設(shè)定控制指令 OD 6040h,請依照以下步驟操作。步驟 3.1 與 3.2 是為了使驅(qū)動器的狀態(tài)機 (state machine) 進入準備狀態(tài)。
控制指令設(shè)置步驟
步驟4:設(shè)定目標速度 OD 60FFh。
性能指標:
① 壓力測試
./igh_ethercat_motor_csv
壓力測試結(jié)果
② 隔離測試+隔離核
taskset -c 7 ./igh_ethercat_motor_csv
隔離測試結(jié)果
演示二:周期同步轉(zhuǎn)矩模式(125μs)
此模式下,上位控制器將計算好的目標轉(zhuǎn)矩 6071h 周期性同步的發(fā)送給伺服驅(qū)動器,轉(zhuǎn)矩調(diào)節(jié)由伺服內(nèi)部執(zhí)行。當速度達到限幅值后將進入調(diào)速階段。
基本配置:
周期同步轉(zhuǎn)矩模式基本配置
使用EtherCat調(diào)試工具輸出的pdo信息:
周期同步轉(zhuǎn)矩模式PDO信息
操作步驟:
步驟1:設(shè)定模式,OD 6060h = 0Ah,周期同步轉(zhuǎn)矩模式。
步驟2:設(shè)定目標扭矩,OD 6071h = 0。由于扭矩模式下,一旦切至Servo On (步驟 3),伺服目標扭矩即作用,因此先設(shè)定 0,以確保安全。
步驟3:設(shè)定控制指令,OD 6040h,請依照以下步驟操作。步驟 3.1 與 3.2 是為了使驅(qū)動器的狀態(tài)機 (state machine) 進入準備狀態(tài)。
轉(zhuǎn)矩模式控制指令設(shè)置
步驟4:設(shè)定目標扭矩 OD 6071h。
性能指標:
① 壓力測試
./igh_ethercat_motor_cst
轉(zhuǎn)矩模式壓力測試結(jié)果
② 壓力測試+隔離核
taskset -c 7 ./igh_ethercat_motor_cst
轉(zhuǎn)矩模式隔離測試結(jié)果
測試說明:以上測試對未及時收回來的數(shù)據(jù)幀時統(tǒng)計的周期樣本進行剔除,在跑125μs周期,幀未及時收回來的情況會更加頻繁。
兩種演示的性能測試,應用程序都采用FIFO調(diào)度+內(nèi)存鎖定;在采取隔離核策略時,系統(tǒng)的周期抖動降低。
周期同步速度模式,周期抖動由6.3080μs降低為3.5790μs。
周期同步轉(zhuǎn)矩模式,周期抖動由50.0470μs降低為2.1130μs。
方案展示:
完整方案展示
完整的軟硬件生態(tài)系統(tǒng)
飛凌嵌入式提供從硬件到軟件的全棧解決方案,確保您的工業(yè)自動化項目快速落地
實時內(nèi)核優(yōu)化
深度優(yōu)化的Preempt-RT實時內(nèi)核,確保微秒級硬實時性能,滿足高精度運動控制需求
技術(shù)咨詢服務(wù)
我們的技術(shù)專家團隊可為您提供從方案選型到產(chǎn)品落地的全程技術(shù)支持,幫助您快速實現(xiàn)產(chǎn)品開發(fā)
全面開發(fā)支持
提供完整的BSP、驅(qū)動、示例代碼和技術(shù)文檔,大幅縮短開發(fā)周期
以上就是基于飛凌嵌入式RK3576開發(fā)板的Preempt-RT+IgH EtherCAT Master演示案例,希望能夠?qū)δ兴鶐椭?
RK3576核心板
相關(guān)產(chǎn)品 >
-
FET3568-C核心板
RK3568性能強而穩(wěn) 國產(chǎn)芯|飛凌嵌入式RK3568系列核心板,采用瑞芯微國產(chǎn)高性能AI處理器RK3568設(shè)計生產(chǎn),RK3568兼具CPU、GPU、NPU、VPU于一身,RK3568 性能、性價比在同類產(chǎn)品中具有較高優(yōu)勢,RK3568處理器是一款定位中高端的通用型SoC, 飛凌RK3568核心板主要面向工業(yè)互聯(lián)網(wǎng)、HMI、NVR存儲、車載中控、工業(yè)網(wǎng)關(guān)等領(lǐng)域。目前RK3568系列已經(jīng)批量穩(wěn)定出貨
了解詳情
-
FET3588-C核心板
RK3588芯片系列是Rockchip推出的旗艦級工業(yè)級產(chǎn)品,采用先進的8nm制程工藝,集成4核Cortex-A76+4核Cortex-A55架構(gòu),A76主頻高達2.4GHz,A55核主頻高達1.8GHz,能夠提供強大的性能支撐。飛凌FET3588-C核心板經(jīng)過了嚴苛的環(huán)境溫度測試和壓力測試,確保在高端應用中能夠穩(wěn)定運行。您可以通過飛凌提供的rk3588開發(fā)套件充分評估和驗證其性能。
了解詳情
-
FET3576-C核心板
飛凌嵌入式RK3576核心板集成了強大的處理器和豐富的接口,提供出色的計算能力和擴展性。RK3576核心板以其卓越的性能、低功耗和穩(wěn)定性,成為工業(yè)、AIoT、邊緣計算、智能移動終端等領(lǐng)域的理想選擇。無論是數(shù)據(jù)處理還是邊緣計算,RK3576都能為項目提供強大的硬件支持。核心板推薦選擇飛凌嵌入式瑞芯微系列RK3576J業(yè)級核心板、RK3576高性能核心板。 了解詳情
-
FET3562J-C核心板
RK3562核心板,采用高性能低功耗工業(yè)級芯片RK3562J設(shè)計,RK3562J是瑞芯微專為工業(yè)自動化及消費類電子設(shè)備打造的一款高性能、低功耗國產(chǎn)化應用處理器,集成了4個ARM Cortex-A53高性能核,主頻高達1.8GHz。RK3562核心板采用3組80Pin板對板連接器,可插拔式設(shè)計便于產(chǎn)品的安裝與維護。 了解詳情

