伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

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

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

3天內不再提示

瑞芯微RK3506開發板Ethercat主站適配開發詳細攻略,實測微秒級抖動延遲!

觸覺智能 ? 2025-05-09 15:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

IgH EtherCAT總線


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

IgH EtherCAT開發包配套EtherCAT工具,可提供各種可在Linux用戶層運行的命令,可直接實現對從站的訪問和設置,如設置從站地址、顯示總線配置、顯示PDO數據、讀寫SDO參數等。具體詳情可以查看IgH的官網進行了解。

wKgZPGgds8eAAT0cAAh-aVA0bMY184.png

本文基于觸覺智能RK3506星閃開發板演示Ethercat主站開發,其配套RK3506核心板(3核A7+M0多核異構),100%全國產,峰值功耗低至0.65W。

EtherCAT IgH軟件環境


  • EtherCAT整體介紹

EtherCAT整體分為四個部分,包含:實時Linux內核、用戶態、驅動以及EtherCAT應用。觸覺智能RK3506開發板提供EtherCAT預編譯的bin文件:

wKgZPGgds-CAREcqAAFKLSo5R_k412.png


  • 實時Linux內核

EtherCAT IgH需要保證高實時性,Preempt-RT是一種針對實時性能進行了優化的Linux內核。與普通的 Linux內核相比,Preempt-RT具有以下優勢:


1. 實時性能: Preempt-RT提供了更可靠和更精確的實時性能。它采用了一些實時調度策略和機制,使得任務能夠按照嚴格的時間要求執行,從而適用于需要高度可預測性和低延遲的應用場景,如工業自動化機器人控制等。

2. 硬實時能力:Preempt-RT具有硬實時能力,即能夠確保任務在規定的時間內完成,而不會受到其 他任務或中斷的干擾。這對于需要嚴格的時間限制的應用非常重要,如航空航天、醫療設備等領域。

3. 任務調度:Preempt-RT使用了更加高效和優化的任務調度算法,如基于優先級的實時調度算法, 以確保高優先級任務能夠及時響應并完成,而低優先級任務不會影響到實時任務的執行。

4. 中斷處理:Preempt-RT針對中斷處理進行了優化,使得中斷的響應時間更短,能夠更快地響應外部事件。

5. 內核定時器:Preempt-RT提供了更精確和可配置的內核定時器,使得可以實現微秒級的定時精 度,適用于對時間要求極高的應用場景。

6. 實時擴展:Preempt-RT提供了一些實時擴展機制,使得用戶能夠方便地對內核進行定制和擴展,以滿足特定應用的需求。


總的來說,Preempt-RT在實時性能、可靠性和精度方面比普通的Linux內核更加優秀,因此在對實時性能 要求較高的應用場景中被廣泛使用。瑞芯微提供配套SDK的Preempt-RT補丁。


  • 用戶態

用戶態中主要是兩個文件,ethercatlibethercat.so,一個是EtherCAT IgH的調試工具,一個是EtherCAT。

IgH的動態庫,用來提供用戶層接口。用戶態部分訪問以下鏈接:

https://gitlab.com/etherlab.org/ethercat/-/tree/master?r ef_type=heads下載IgH的源代碼,編譯后會生成ethercat二進制文件libethercat.so和一些example等等。用戶態部分也可以使用預編譯好的EtherCAT IgH二進制文件libethercat.so,如下所示:

wKgZPGgds-2AZ-BhAAG45sP4qlY511.png


  • 驅動

驅動部分主要是ec_master.ko和一些瑞芯微RK優化后的ko文件。

wKgZO2gds_SAVJgTAAQS143r36Q539.png
  • EtherCAT IgH應用部分

EtherCAT IgH應用部分需要根據實際使用的伺服驅動器來實現,該部分無法通用的, 觸覺智能提供如下測試組件:

EtherCAT IgH軟件編譯和部署


以下將根據實時Linux內核、用戶態、驅動以及EtherCAT應用四個部分進行講解。

  • 編譯內核

步驟一:打上Preempt-RT補丁,內核方案選擇Preempt-RT內核方案,參考文檔打上補丁:SDK/docs/Patches/Real-Time-Performance/README.md

要特別注意的是:發布的驅動部分SDK/external/rk_ethercat_release和內核頭文件強相關,請確認內核的commit

要和SDK/external/rk_ethercat_release/driver/redmine中描述的一樣,再打入Preempt-RT補丁。

步聚二:修改RK3506 Linux 6.1內核

diff --git a/arch/arm/configs/rk3506_defconfig b/arch/arm/configs/rk3506_defconfig index e6d3ba608a77..3029973ade8c 100644 --- a/arch/arm/configs/rk3506_defconfig +++ b/arch/arm/configs/rk3506_defconfig @@ -2,6 +2,7 @@ CONFIG_KERNEL_XZ=y CONFIG_DEFAULT_HOSTNAME="localhost" CONFIG_SYSVIPC=y +CONFIG_NO_HZ_FULL=y CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y CONFIG_PREEMPT=y @@ -119,12 +120,13 @@ CONFIG_NETDEVICES=y # CONFIG_NET_VENDOR_SOLARFLARE is not set # CONFIG_NET_VENDOR_SMSC is not set # CONFIG_NET_VENDOR_SOCIONEXT is not set -CONFIG_STMMAC_ETH=y +CONFIG_STMMAC_ETH=m # CONFIG_DWMAC_GENERIC is not set # CONFIG_NET_VENDOR_SYNOPSYS is not set # CONFIG_NET_VENDOR_VIA is not set # CONFIG_NET_VENDOR_WIZNET is not set # CONFIG_NET_VENDOR_XILINX is not set +CONFIG_PHYLIB=y CONFIG_MOTORCOMM_PHY=y CONFIG_PPP=y # CONFIG_WLAN is not set

步驟三:編譯出實時內核最后根據rt-linux README.md,生成實時性內核。

  • EtherCAT IgH應用部分

EtherCAT IgH應用部分需要根據具體的伺服器來編寫,需要使用上面用戶態編譯出來的EtherCAT IgH工具獲取一些伺服驅動器的配置信息,然后完成應用代碼的開發。具體可添加觸覺智能客服 微 信13423856106,獲取EtherCAT IgH應用部分開發指導。

EtherCAT IgH工具介紹

使用ethercat --help命令可以查看EtherCAT IgH工具,這些工具可以查看與主站連接的從站的各種信息, 可以有助于主站應用程序的編寫,下面介紹幾種常用的命令和參數的使用,其中[]中為必選參數, <>為 可選參數。

  • c語言的形式輸出pdo信息(ethercat cstruct)EtherCAT IgH應用部分

/* Master 0, Slave 0 * Vendor ID: 0x00000a79 * Product code: 0x00002000 * Revision number: 0x00000001 */ ec_pdo_entry_info_t slave_0_pdo_entries[] = { {0x603f, 0x00, 16}, /* ErrorCode */ {0x6041, 0x00, 16}, /* StatusWord */ {0x6064, 0x00, 32}, /* Position actual value */ {0x60fd, 0x00, 32}, /* Digital inputs */ {0x6061, 0x00, 8}, /* Modes of operation display */ {0x6040, 0x00, 16}, /* ControlWord */ {0x6060, 0x00, 8}, /* Modes of operation */ {0x607a, 0x00, 32}, /* Target position */ {0x6081, 0x00, 32}, /* Profile velocity */ {0x6099, 0x01, 32}, /* Search Switch */ {0x6099, 0x02, 32}, /* Search Zero */ {0x6040, 0x00, 16}, {0x607a, 0x00, 32}, {0x60ff, 0x00, 32}, {0x6060, 0x00, 8}, {0x0000, 0x00, 8}, /* Gap */ {0x6041, 0x00, 16}, {0x6064, 0x00, 32}, {0x606c, 0x00, 32}, {0x6061, 0x00, 8}, {0x0000, 0x00, 8}, /* Gap */ }; ec_pdo_info_t slave_0_pdos[] = { {0x1a01, 5, slave_0_pdo_entries + 0}, /* TxPDO 2 */ {0x1601, 6, slave_0_pdo_entries + 5}, /* RxPDO 2 */ {0x1600, 5, slave_0_pdo_entries + 11}, {0x1a00, 5, slave_0_pdo_entries + 16}, }; ec_sync_info_t slave_0_syncs[] = { {0, EC_DIR_OUTPUT, 2, slave_0_pdos + 0, EC_WD_DISABLE}, {1, EC_DIR_INPUT, 0, NULL, EC_WD_DISABLE}, {2, EC_DIR_OUTPUT, 1, slave_0_pdos + 2, EC_WD_ENABLE}, {3, EC_DIR_INPUT, 1, slave_0_pdos + 3, EC_WD_DISABLE}, {0xff} }; 0 0:0 PREOP + 0x000001dd:0x10305070

  • 輸出pdo信息(ethercatpdos)

SM0: PhysAddr 0x1000, DefaultSize 128, ControlRegister 0x26, Enable 1 RxPDO 0x1a01 "TxPDO 2" PDO entry 0x603f:00, 16 bit, "ErrorCode" PDO entry 0x6041:00, 16 bit, "StatusWord" PDO entry 0x6064:00, 32 bit, "Position actual value" PDO entry 0x60fd:00, 32 bit, "Digital inputs" PDO entry 0x6061:00, 8 bit, "Modes of operation display" RxPDO 0x1601 "RxPDO 2" PDO entry 0x6040:00, 16 bit, "ControlWord" PDO entry 0x6060:00, 8 bit, "Modes of operation" PDO entry 0x607a:00, 32 bit, "Target position" PDO entry 0x6081:00, 32 bit, "Profile velocity" PDO entry 0x6099:01, 32 bit, "Search Switch" PDO entry 0x6099:02, 32 bit, "Search Zero" SM1: PhysAddr 0x1100, DefaultSize 128, ControlRegister 0x22, Enable 1 SM2: PhysAddr 0x1200, DefaultSize 12, ControlRegister 0x64, Enable 1 RxPDO 0x1600 "" PDO entry 0x6040:00, 16 bit, "" PDO entry 0x607a:00, 32 bit, "" PDO entry 0x60ff:00, 32 bit, "" PDO entry 0x6060:00, 8 bit, "" PDO entry 0x0000:00, 8 bit, "Gap" SM3: PhysAddr 0x1300, DefaultSize 19, ControlRegister 0x20, Enable 1 TxPDO 0x1a00 "" PDO entry 0x6041:00, 16 bit, "" PDO entry 0x6064:00, 32 bit, "" PDO entry 0x606c:00, 32 bit, "" PDO entry 0x6061:00, 8 bit, "" PDO entry 0x0000:00, 8 bit, "Gap"

#設置別名地址(下面的例子代表設置位置0的別名修改為1) ethercat alias -p 0 0 #設置別名地址(下面的例子代表別名0的別名修改為1) ethercat alias -a 0 1

Ethercat IgH主站性能測試結論

觸覺智能RK3506開發板1ms控制周期內,性能數據如下:

wKgZPGgdtLeANcZ4AABz-hXzRCw034.png

觸覺智能RK3506星閃開發板,僅188元,點贊本文購送套餐優惠券如需選購,馬云家 搜索觸覺智能官方企業店

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

    關注

    26

    文章

    6323

    瀏覽量

    119060
  • 瑞芯微
    +關注

    關注

    27

    文章

    801

    瀏覽量

    54493
  • EtherCAT總線
    +關注

    關注

    5

    文章

    94

    瀏覽量

    5954
  • RK3506
    +關注

    關注

    0

    文章

    96

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    米爾多核異構低功耗RK3506核心重磅發布

    近日,米爾電子發布MYC-YR3506核心開發板,基于國產新一代入門工業處理器
    發表于 05-16 17:20

    米爾基于RK3562與RK3506開發板有什么區別?

    后可直接在產品中應用。 具體來看,我這款開發板型號是基于RK3506J,512MB的內存和8GB的存儲,支持工業
    發表于 07-11 09:32

    RK3506各型號該怎么選?全新工業芯片介紹 觸覺智能出品

    RK3506各型號該怎么選?全新工業芯片介紹,還將推出與星閃技術相結合的RK3506星閃網關開發板
    的頭像 發表于 12-25 10:27 ?2810次閱讀
    <b class='flag-5'>RK3506</b>各型號該怎么選?<b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>全新工業芯片介紹 觸覺智能出品

    【技術簡析】觸覺智能RK3506 Linux星閃網關開發板有什么奧妙?

    在工業智能化與物聯網深度融合的今天,深圳觸覺智能推出首款搭載RK3506芯片的Linux星閃網關開發板,以“多核異構架構+星閃無線通信
    的頭像 發表于 03-21 11:58 ?1742次閱讀
    【技術簡析】觸覺智能<b class='flag-5'>RK3506</b> Linux星閃網關<b class='flag-5'>開發板</b>有什么奧妙?

    RK3506開發板之Qt應用開發手冊(上) 深圳觸覺智能出品,嵌入式方案商

    RK3506開發板必備攻略之Qt應用開發手冊(
    的頭像 發表于 04-28 17:16 ?1564次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RK3506</b><b class='flag-5'>開發板</b>之Qt應用<b class='flag-5'>開發</b>手冊(上) 深圳觸覺智能出品,嵌入式方案商

    米爾基于RK3506核心開發板

    MYC-YR3506核心開發板新一代入門國產工業處理器RK3506,3核A7+單核M0多核異構RK
    發表于 05-15 16:00 ?14次下載

    有獎丨米爾 RK3506開發板免費試用

    米爾與合作發布的新品基于RK3506應用
    的頭像 發表于 06-19 08:04 ?1109次閱讀
    有獎丨米爾 <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RK3506</b><b class='flag-5'>開發板</b>免費試用

    RK3506開發板必備攻略之Qt應用開發手冊(下),觸覺智能工控嵌入式方案商

    本文基于觸覺智能RK3506星閃開發板Buildroot系統進行演示,配套RK3506核心(3核A7+M0多核異構)寬溫59元/工業
    的頭像 發表于 06-19 17:49 ?1270次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RK3506</b><b class='flag-5'>開發板</b>必備<b class='flag-5'>攻略</b>之Qt應用<b class='flag-5'>開發</b>手冊(下),觸覺智能工控嵌入式方案商

    有獎丨米爾 RK3506開發板免費試用來啦!

    米爾與合作發布的新品基于RK3506應用
    的頭像 發表于 07-10 08:03 ?1023次閱讀
    有獎丨米爾 <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RK3506</b><b class='flag-5'>開發板</b>免費試用來啦!

    RK3506開發板Linux開發板極致性價比之選

    RK3506開發板Linux開發板極致性價比之選RK3
    的頭像 發表于 09-11 16:26 ?3574次閱讀
    <b class='flag-5'>RK3506</b><b class='flag-5'>開發板</b>Linux<b class='flag-5'>開發板</b>極致性價比之選

    RK3506開發板Xenomai內核RT-Linux實時性系統適配教程與性能實測實測僅7μs穩定延時

    本文基于觸覺智能RK3506核心/開發板,介紹Xenomai內核RT-Linux實時性系統適配,并附性能實測。簡介與
    的頭像 發表于 09-18 14:21 ?1487次閱讀
    <b class='flag-5'>RK3506</b><b class='flag-5'>開發板</b>Xenomai內核RT-Linux實時性系統<b class='flag-5'>適配</b>教程與性能<b class='flag-5'>實測</b>,<b class='flag-5'>實測</b>僅7μs穩定延時

    RK3506核心/開發板DSM音頻開發實戰,關鍵知識點與實操案例必看攻略

    本文基于觸覺智能RK3506核心/開發板,介紹DSM音頻功能使用攻略。如需購買開發板可某寶搜索深圳觸覺智能DSM簡介DSMDSM(Delt
    的頭像 發表于 09-30 17:41 ?2690次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RK3506</b>核心<b class='flag-5'>板</b>/<b class='flag-5'>開發板</b>DSM音頻<b class='flag-5'>開發</b>實戰,關鍵知識點與實操案例必看<b class='flag-5'>攻略</b>!

    2025開發者大會萬象奧科展出RK3506郵票孔核心

    2025開發者大會萬象奧科展出RK3506郵票孔核心2025年7月17-18日,第九屆
    的頭像 發表于 10-10 14:10 ?1588次閱讀
    2025<b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>開發</b>者大會萬象奧科展出<b class='flag-5'>RK3506</b>郵票孔核心<b class='flag-5'>板</b>

    RK3506核心/開發板SARADC模擬采集實戰,軟硬件實操必看攻略

    本文基于觸覺智能RK3506核心/開發板,介紹SARADC采集模擬信號使用攻略,包括硬件、驅動層的修改。
    的頭像 發表于 10-30 11:58 ?870次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RK3506</b>核心<b class='flag-5'>板</b>/<b class='flag-5'>開發板</b>SARADC模擬采集實戰,軟硬件實操必看<b class='flag-5'>攻略</b>!

    RK3506 Flexbus技術開發指南,從原理、內核配置到測試的完整攻略

    現代工業數據采集與控制系統中,高效、可靠、實時的數據傳輸是構建高性能嵌入式系統的關鍵。RK3506芯片平臺集成的硬件FlexBus并
    的頭像 發表于 03-14 07:24 ?228次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RK3506</b> Flexbus技術<b class='flag-5'>開發</b>指南,從原理、內核配置到測試的完整<b class='flag-5'>攻略</b>