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

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

3天內不再提示

基于Zynq UltraScale+MPSoC高性能EtherCAT主站方案

jf_pJlTbmA9 ? 來源:f_pJlTbmA9 ? 作者:f_pJlTbmA9 ? 2023-07-07 14:15 ? 次閱讀

1. 技術背景

EtherCAT 是開放的實時以太網通訊協議,由德國倍福自動化有限公司研發。EtherCAT 具有高性能、低成本、容易使用等特點,目前在技業領域有著廣泛的應用。

ZCU102 評估套件可幫助設計人員快速啟動面向汽車、工業、視頻以及通信應用的設計。該套件具有基于 Xilinx 16nm FinFET+ 可編程邏輯架構的 Zynq? UltraScale+? MPSoC 器件,提供一款四核 ARM? Cortex?-A53、雙核 Cortex-R5F 實時處理器以及一款 Mali?-400 MP2 圖像處理單元。ZCU102 支持所有可實現各種應用開發的主要外設及接口。

KPA EtherCAT 主站是一套質量穩定、知名度和性價比較高的 EtherCAT 協議棧,有較大參考價值。本文將介紹KPA EtherCAT 主站在ZCU102平臺的移植與測試。

2 EtherCAT簡介

EtherCAT(以太網控制自動化技技)是一種用于確定性以太網的高性能工業通信協議,它擴展了 IEEE 802.3 以太網標準,使得數據傳輸中具有可預測性定時及高精度同步等特點。這個開放性標 準作為 IEC 61158 的組成部分,常用于機械設計及運動控制等應用中。EtherCAT 采用標準的 IEEE802-3 以太網幀,幀結構如圖 1。EtherCAT 協議直接用標準以太網的幀格式傳輸數據,并不修改其基本結構。

1677203057100484.png

EtherCAT 實現了 CANopen 協議,在 CANopen 中周期性的數據通過 PDO(過程數據對象)來傳輸,PDO 優先級較高,可用于實時傳輸。非周期性的數據比如配置參數和對象字典等則通過 SDO(服務數據對象)來傳輸。

每個 PDO 都包含單個或多個從設備的地址,這種數據加地址的結構(附帶用于校驗的傳輸計數位)組成了 EtherCAT 的報文。每個 Ethernet 幀可能包含數個報文,而一個周期中可能需要多幀來傳送所需的所有報文。

傳統的以太網通信解決方案從站先接受以太網數據包,然后解釋和復制過程數據,最后轉發數據。而EtherCAT 以太網幀在特殊的硬件模塊的幫助下可以實現在傳輸的同時被處理。每個從節點都有 FMMU(現場總線存儲管理單元),FMMU 會對經過的數據包進行地址分析,發現是本節點的 數據就會讀取,同時報文轉發給下一個設備。同樣在報文通過的時候也可以插入需要傳輸的數據。讀取/插入/轉發數據的整個過程,報文只有幾納秒的延遲。如圖 2 所示,設想以太網的幀就像行駛中的火車,EtherCAT 報文是每節火車車廂,PDO 數據的比特就是車廂內的乘客,這些數據可以被提取并插入到合適的從設備中。整輛火車不停止地穿越所有從設備,在末端從設備處又掉頭,重新反向穿越所有從設備。(注:EtherCAT不僅支持主從通訊,也支持從從通訊即S2S)

1677203073808936.png

2.1 KPA EtherCAT主站軟件介紹

KPA EtherCAT主站軟件根據功能不同,提供了Basic,Standard,Premium以及Extension四個版本主站協議棧,因此除了支持ETG1500定義了Class A和Class B兩種主站類型外,KPA還支持一些拓展功能比如:Data- and Frame-Logger(記錄數據和報文)、Access Rights(設置不同的訪問權限)Multi Master(多主站,冗余)、Cable Redundancy (線纜冗余)、Hot-Connect(熱插拔)、其他。

提供了基于多種不同硬件平臺和OS的現成開發包,支持SoC(ARM+FPGA)/ARM/X86 /PowerPC等主流硬件平臺,支持Linux(Xenomai/RT-preempt)/ Windows(INtime/RTX)/ QNX/ Ucos/ Vxworks等。幾乎滿足目前所有用戶主站開發要求的一款主站方案。

KPA主站協議棧采用模塊化的架構,可以實現每個特殊的項目應用。它使得主站可以自由擴展以適應不同大小的應用程序、可以移植不同的操作系統和各種各樣的硬件平臺。每個模塊可以單獨定制化或者二次開發,而且不會破壞其他模塊的完整性。主站結構如圖

1677203091573764.png

KPA主要功能模塊為:

(1)應用層:應用層負責與各種不同的編程/配置環境交互,負責與不同的應用或設備交互。確保在應用或過程任務端順利訪問主站功能函數;與主站通過Remote Procedure Calls服務交互,提供了TCP/IP以及UDP連接,比如:通過UDP與從站設備進行mailbox相關的通訊

(2)Mailbox Module:EtherCAT主站核心mailbox模塊利用不同的協議處理服務數據對象(SDP),數據傳輸以及數據交換。支持CoE,FoE,EoE,SoE,VoE,AoE等郵箱服務。

(3)Process Image Module過程映像模塊:Process Image簡稱PI,它的地址是由EtherCAT network information (ENI) 文件提出的,ENI文件可由配置工具KPA Studio自動生成。從控制/過程任務訪問過程映像是由主站接口執行的。

(4)Distribution Clock分布時鐘模塊:使得所有的EtherCAT設備(包括主站和從站)總是能夠共享相同的EtherCAT系統時間。這是通過補償編譯和漂移時間來實現的。

(5)Frame Schedule Module幀調度模塊:不同PDO采用不同的掃描周期。在配置工具KPA Studio里,用戶可以單獨定義每個從站的掃描速率。幀調度表模塊管理EtherCAT幀速率,轉發它們到EtherCAT網絡驅動。

(6)OSAL操作系統抽象層模塊:包含與操作系統相關的功能函數的包裝,比如處理線程、計時器、互斥量等;包括網絡適配驅動器模塊:從底層的網絡實現提取主站堆棧的core核心

2.2 KPA EtherCAT主站硬件介紹

主站硬件主要由三部分組成見下圖:ZCU102主站開發板以及外擴的FMC網卡。KPA MAC IPcore在PL端構建了FPGA網卡,FreeRTOS master既可以運行在R5 CPU中也可以運行在A53 CPU中,另外需要一臺PC通過串口終端來實現操作系統指令輸入,PC端上的EtherCAT網絡診斷配置工具KPA EtherCAT Studio通過RPC服務連接ZCU102主站板,可以實現對主站和從站的配置,掃描生成網絡配置文件。

1677203120453891.png

2.3 KPA EtherCAT主站移植

2.3.1 硬件開發板

Xilinx HW-Z1-ZCU102 revision1.1

2.3.2 EtherCAT主站軟件開發包

MDK_xilinx-2018.3_freertos_a53_trial_v2.4.48714.0-release.zip

HW_SAMPLE_xilinx-2018.3_freertos_a53_trial_v2.4.48714.0-release.zip

2.3.3 軟件編譯

將MDK_xilinx-2018.3_freertos_a53_trial_v2.4.48714.0-release.zip解壓到mdk_a53文件夾下

1677203148234483.png

進入mdk_a53samples路徑下修改對應樣例程序,此處每個不同的樣例程序包含不同的API,具有不同的功能,此處以24_DriveRotationCiA402為例,這是一個簡單運行單軸伺服的樣例程序,為了適配邁信伺服驅動器,需保持C文件中的描述和ENI文件描述一致,修改后保存

1677203155966839.png

1677203251409291.png

進入mdk_a53下,打開build.bat,修改編譯器路徑,路徑是xilinx SDK安裝路徑

1677203259460039.png

運行cmd,進入該路徑下,運行build.bat,編譯所有樣例代碼,包括編譯24樣例,在buildsamples路徑下生成24_DriveRotationCiA402.elf文件

1677203268327139.png2.3.4 創建運行程序

進入mdk_a53externalsboot路徑,根據readme文件以及24_DriveRotationCiA402.bif文件;

拷貝zcu102_freeRTOS內vivado工程生成的design_1_wrapper.bit()文件到該路徑下,覆蓋原來bit文件;

拷貝zcu102_freertosproject_1project_1.sdkfsblRelease下的fsbl.elf到該路徑下,覆蓋原來fsbl.elf文件;

拷貝buildsamples路徑下生成的24_DriveRotationCiA402.elf到該路徑下;

拷貝生成的ENI文件(master.xml)文件到該路徑下

打開Xilinx XSCT tool進入到externalsboot路徑下,生成boot.bin

1677203303490772.png

將boot.bin文件拷貝到SD卡中,設置開發板SD卡啟動,上電運行

1677203315270132.png

2.4 主站性能數據

網絡配置:Beckhoff EK1100+EL1004+EL2004+EL6692 (60 bytes frame)。

運行在R5 CP(x32)上測試數據:

運行在A53 CPU(x64)上測試數據:

1677203332730959.png

3. 第三方抓包工具性能分析方法

一般情況下EtherCAT主站性能測試會關注主站通訊周期,circle time是否穩定,抖動多少,因此可以設置在不同的circle time,比如2ms,1ms,500us,250us,125us等條件下測試抖動,可以采用第三方的抓包工具+wireshark進行報文分析,不同主站周期,需要修改代碼以及ENI文件的circle time,此處以1ms主站周期,郵箱任務周期是5ms(主站周期的5倍)

1677203353998501.png

1677203360568117.png

對Wireshark數據包進行針對性分析,設置時間顯示格式如下

1677203368824216.png

使用ecat.ado == 0x130命令,過濾出從站在第幾條報文處進入op狀態的,這里是33900,意味著33900前的報文不能用于分析circle time,因為pdo數據/周期性數據只在從站進入op后才被發送

1677203377218295.png

分析周期性報文,注意到每個周期性報文包含三個子報文(邏輯尋址)以及一個DC相關的ARMW命令

1677203388624683.png

過濾出周期性報文,使用該指令ecat.sub1.cmd == LRD && ecat.sub1.cnt == 0,過濾出子報文1為LRD且計算器值為0(表示從主站發出,未經過從站)的周期性報文,選擇三角進行報文排序,可以是從小到大,或者從大到小。

最小周期是999.496us


審核編輯:湯梓紅

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

    關注

    40

    文章

    5135

    瀏覽量

    166780
  • Zynq
    +關注

    關注

    9

    文章

    600

    瀏覽量

    46787
  • ethercat
    +關注

    關注

    18

    文章

    457

    瀏覽量

    37838
  • MPSoC
    +關注

    關注

    0

    文章

    194

    瀏覽量

    24148
收藏 人收藏

    評論

    相關推薦

    Zynq UltraScale + MPSoC USB 3.0 CDC器件類設計

    Zynq?UltraScale+?MPSoC USB 3.0控制器由兩個獨立的雙角設備(DRD)控制器組成。兩者都可以單獨配置為在任何給定時間用作主機或設備。USB 3.0 DRD控制器通過高級可
    發表于 01-03 09:59

    如何利用ZYNQ MPSoC玩DOOM?

    賽靈思和 DornerWorks 的系統軟件團隊在賽靈思的 Zynq? Ultrascale+? MPSoC 上啟動 Xen Project 管理程序時,我們發現可通過運行當年叱詫一時的流行電子游戲
    發表于 10-09 06:21

    請問Zynq Ultrascale + MPSOC本身是否存在問題?

    你好我們正在考慮在我們的新設計中使用Zynq Ultrascale + MPSOC。我們想在我們的電路板設計中加入HDMI接口。 Zynq Ultr
    發表于 10-14 09:17

    將seL4移植到Xilinx Zynq UltraScale + MPSoC,以實現極高的硬件安全性

    系統所需的工具,來緩解這種情況。我們建立生態系統的一種方法是將seL4移植到更多可以真正利用其優勢的平臺上。Zynq UltraScale + MPSoCZynq?UltraScale +?M
    發表于 08-20 19:23

    如何調試Zynq UltraScale+ MPSoC VCU DDR控制器

    的普通問題,還是一個出現在正在使用 Zynq UltraScale+ MPSoC VCU DDR 控制器的地方的特殊問題?! DR 性能:  對于
    發表于 01-07 16:02

    如何調試Zynq UltraScale+ MPSoC VCU DDR控制器

    如何調試 Zynq UltraScale+ MPSoC VCU DDR 控制器?
    發表于 01-22 06:29

    ZYNQ Ultrascale+ MPSOC FPGA教程

    ZYNQ Ultrascale+ MPSOC FPGA教程
    發表于 02-02 07:53

    開源!ZYNQ IgH EtherCAT方案分享

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

    Zynq UltraScale+ MPSoC的發售消息

    Zynq?UltraScale+?MPSoC,現已開始發售。視頻向您重點介紹了Xilinx UltraScale +產品組合的第一位成員
    的頭像 發表于 11-27 06:47 ?3345次閱讀

    如何使用Zynq UltraScaleMPSOC管理電源和性能資料說明

    為了滿足關鍵的系統級需求,設計者必須將功率/熱量與整體性能抵消。Zynq UltraScale+?MPSOC有助于實現這種平衡。
    發表于 02-19 11:53 ?18次下載
    如何使用<b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale</b>和<b class='flag-5'>MPSOC</b>管理電源和<b class='flag-5'>性能</b>資料說明

    如何調試 Zynq UltraScale+ MPSoC VCU DDR 控制器?

    Zynq UltraScale+ MPSoC VCU DDR 控制器是一款專用 DDR 控制器,只支持在 Zynq UltraScale+
    發表于 02-23 06:00 ?15次下載
    如何調試 <b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale</b>+ <b class='flag-5'>MPSoC</b> VCU DDR 控制器?

    米爾電子zynq ultrascale+ mpsoc底板外設資源清單分享

    米爾電子推出的國內首款zynq ultrascale+ mpsoc平臺核心板(及開發板):MYC-CZU3EG吸引了人工智能、工業控制、嵌入式視覺、ADAS、算法加速、云計算、有線/無線通信
    發表于 01-07 15:20 ?3次下載
    米爾電子<b class='flag-5'>zynq</b> <b class='flag-5'>ultrascale</b>+ <b class='flag-5'>mpsoc</b>底板外設資源清單分享

    Xilinx ZYNQ UltraScale+系列產品介紹

    Zynq UltraScale+MPSoC是Xilinx推出的第二代多處理SoC系統,它在第一代Zynq-7000的基礎上進行了全面升級。
    的頭像 發表于 06-09 10:07 ?2015次閱讀
    Xilinx <b class='flag-5'>ZYNQ</b> <b class='flag-5'>UltraScale</b>+系列產品介紹

    Zynq UltraScale+ MPSoC的隔離設計示例

    電子發燒友網站提供《Zynq UltraScale+ MPSoC的隔離設計示例.pdf》資料免費下載
    發表于 09-13 11:28 ?2次下載
    <b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale</b>+ <b class='flag-5'>MPSoC</b>的隔離設計示例

    Zynq UltraScale+MPSoC嵌入式設計教程

    電子發燒友網站提供《Zynq UltraScale+MPSoC嵌入式設計教程.pdf》資料免費下載
    發表于 09-13 09:14 ?4次下載
    <b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale+MPSoC</b>嵌入式設計教程
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>