虹科KPA EtherCAT主站是一款協議棧產品,能夠使用戶快速利用EtherCAT技術的所有好處,例如實時操作、極短的循環時間、以及最低成本的最高性能。該協議棧的先進架構專注于可移植到不同的操作系統,可適配到各種硬件平臺、并且可通過基礎(Class B)、標準(Class A)和超值包進行縮放。本篇文章將介紹虹科KPA EtherCAT主站軟件如何基于Xilinx ZYNQ UltraScale+做移植測試。
# Description
開發環境
#硬件開發板:Xilinx HW-Z1-ZCU102 revision1.1
#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
備注:由于前期軟件開發包是基于revision1.0的硬件以及vivado2018.3移植測試的,導致該軟件包在vivado2018.3和新版本硬件移植測試出現問題,具體問題是制作完boot.bin后,上電沒法啟動運行;查了一下xilinx官網,說是新版本硬件需要使用vivado2019.1及其以上版本,后來在vivado 2019.1重新創建IPcore硬件工程,工程文件是zcu102_freeRTOS,重新生成bit文件(zcu102_freertos\project_1\project_1.sdk\design_1_wrapper_hw_platform_0)和fsbl.elf文件(zcu102_freertos\project_1\project_1.sdk\fsbl\Release)覆蓋軟件包原路徑(\\externals\boot)的bit文件和fsbl.elf,問題解決;
Step1 軟件安裝
1. 安裝KPA studio軟件,Studio_v1.12.417.0_x86.zip;2. 安裝基于windows的主站插件,MRT_WIN32_TRIAL_v1.6.44171.0.msi;3. 安裝cmake環境,可到cmake官網下載exe安裝,安裝后查詢到cmake版本如下:參考《KPA Studio簡易操作手冊.pdf》使用EtherCAT配置軟件,導出網絡配置文件/ENI文件,可命名為master.xml或者其他名字,需與mkpa_config.h中命名保持一致,導出的ENI文件,格式一定要選擇null-terminated格式。
Step2 軟件編譯
MDK_xilinx-2018.3_freertos_a53_trial_v2.4.48714.0-release.zip解壓到mdk_a53文件夾下
進入\mdk_a53\samples路徑下修改對應樣例程序,此處每個不同的樣例程序包含不同的API,具有不同的功能,此處以24_DriveRotationCiA402為例,這是一個簡單運行單軸伺服的樣例程序,為了適配邁信伺服驅動器,需保持C文件中的描述和ENI文件描述一致,修改后保存
進入\mdk_a53下,打開build.bat,修改編譯器路徑,路徑是xilinx SDK安裝路徑
運行cmd,進入該路徑下,運行build.bat,編譯所有樣例代碼,包括編譯24樣例,在\build\samples路徑下生成24_DriveRotationCiA402.elf文件
Step3 創建和運行boot.bin
進入mdk_a53\externals\boot路徑,根據readme文件以及24_DriveRotationCiA402.bif文件;
拷貝zcu102_freeRTOS內vivado工程生成的design_1_wrapper.bit()文件到該路徑下,覆蓋原來bit文件;
zcu102_freertos\project_1\project_1.sdk\fsbl\Release下的fsbl.elf拷貝到該路徑下,覆蓋原來fsbl.elf文件;
拷貝\build\samples路徑下生成的24_DriveRotationCiA402.elf到該路徑下;
拷貝生成的ENI文件(master.xml)文件到該路徑下
打開Xilinx XSCT tool進入到\externals\boot路徑下,生成boot.bin
將boot.bin文件拷貝到SD卡中,設置開發板SD卡啟動,上電運行
Step4 性能測試
一般情況下EtherCAT主站性能測試會關注主站通訊周期,circle time是否穩定,抖動多少,因此可以設置在不同的circle time,比如2ms,1ms,500us,250us,125us等條件下測試抖動,可以采用第三方的抓包工具+wireshark進行報文分析,不同主站周期,需要修改代碼以及ENI文件的circle time,此處以1ms主站周期,郵箱任務周期是5ms(主站周期的5倍)抓包方式,主站和從站直接接入第三方的抓包工具,連接方式如下示意圖,可以先運行主站,待主從通訊穩定后,再進行數據抓包,這樣抓出來的數據包就是pdo數據/過程數據,也可以主站啟動前,開始抓包,這樣就可以把整個啟動過程的數據抓取出來,但是過濾時,op前的報文數據就不是我們需要分析的數據了。
對Wireshark數據包進行針對性分析,設置時間顯示格式如下:
使用ecat.ado == 0x130命令,過濾出從站在第幾條報文處進入op狀態的,這里是33900,意味著33900前的報文不能用于分析circle time,因為pdo數據/周期性數據只在從站進入op后才被發送
分析周期性報文,注意到每個周期性報文包含三個子報文(邏輯尋址)以及一個DC相關的ARMW命令
過濾出周期性報文,使用該指令ecat.sub1.cmd == LRD && ecat.sub1.cnt == 0,過濾出子報文1為LRD且計算器值為0(表示從主站發出,未經過從站)的周期性報文,選擇三角進行報文排序,可以是從小到大,或者從大到小最小周期是999.496us
最大周期1000.536us
結論:可以看出1ms主站周期下,基于zcu102開發板,測試出來的主站周期的抖動是ns級別,實際在500us和250us,125us條件下,抖動都是在ns級別。
-
測試
+關注
關注
8文章
5633瀏覽量
128345
發布評論請先 登錄
工程師必看!PWM波控制全攻略,虹科LIN模塊助力開發效率翻倍

虹科直播回放 | IO-Link技術概述與虹科IO-Link OEM

虹科直播 | 2月18日開講!IO-Link技術深度解析!解鎖虹科自研產品+積分好禮!

虹科方案 僅需4個步驟!輕松高效搭建虹科TSN測試網絡

虹科電子12月事件回顧
虹科培訓 | 重磅來襲!波形分析課程全面上線!

虹科活動回顧 | 波形診斷開放日-上海站圓滿落幕!

AMD/Xilinx Zynq? UltraScale+ ? MPSoC ZCU102 評估套件

虹科應用 為什么虹科PCAN方案能成為石油工程通訊的首選?

虹科干貨 輕松掌握PCAN-Explorer 6,dll調用一文打盡!

虹科方案 領航智能交通革新:虹科PEAK智行定位車控系統Demo版亮相

虹科應用 當CANoe不是唯一選擇:發現虹科PCAN-Explorer 6

虹科案例|為什么PCAN MicroMod FD是數模信號轉換的首選方案?

評論