日韩精品电影一二区-精品久久久久久亚洲中文字幕-一区二区三区国产美女在线播放-欧美日韩在线观看你懂的-午夜精品一区二区三区的区别-久久精品娱乐亚洲领-欧美在线网站一区二区三区-在线观看91精品国产不卡-国产水滴盗摄一区二区

創(chuàng)龍首頁 >關(guān)于創(chuàng)龍 > 新聞資訊 > 技術(shù)文章

聯(lián)系我們

Contact Us

公司總機:020-8998-6280

技術(shù)熱線:020-3893-9734

技術(shù)郵箱:support@tronlong.com

銷售郵箱:sales@tronlong.com

基于TI Sitara AM3352/54/58/59 處理器的EtherCAT主站開發(fā)案例

2021/07/21


本文主要基于TI Sitara處理器 AM3352/54/58/59芯片的工業(yè)板卡,給大家分享如何在德國Acontis公司EtherCAT主站協(xié)議棧控制伺服電機的具體方法。


其中試用到的案例板卡為Tronlong創(chuàng)龍科技的TL335x-EVM-S評估板。創(chuàng)龍TL335x-EVM是一款基于TI Sitara系列AM3352/AM3354/AM3358/AM3359 ARM Cortex-A8高性能低功耗處理器設(shè)計的評估板,由核心板和底板組成。



評估板正面圖


核心板經(jīng)過專業(yè)的PCB Layout和高低溫測試驗證,穩(wěn)定可靠,可滿足各種工業(yè)應(yīng)用環(huán)境。評估板接口資源豐富,引出雙路千兆網(wǎng)口、HDMI、GPMC、CAN等接口,方便用戶快速進行產(chǎn)品方案評估與技術(shù)預(yù)研。

本文適用開發(fā)環(huán)境:


Windows開發(fā)環(huán)境:Windows 7 64bit、Windows 10 64bit


Kernel:Linux-RT-4.9.65


Acontis EtherCAT主站協(xié)議棧開發(fā)包:EC-Master-V2.9-Linux_armv6-vfp-eabihf-Eval.tar.zip


Acontis EtherCAT網(wǎng)絡(luò)信息配置工具:EC-Engineer


伺服驅(qū)動器:SANYO RS2A03A0KA4W00


伺服電機:SANYO R2AA08075FXH00W


1 EC-Master、EC-Engineer簡介


圖 1 EtherCAT系統(tǒng)架構(gòu)


EtherCAT(以太網(wǎng)控制自動化技術(shù))是一個開放架構(gòu),以以太網(wǎng)為基礎(chǔ)的現(xiàn)場總線系統(tǒng),其名稱的CAT為控制自動化技術(shù)(Control Automation Technology)字首的縮寫。EtherCAT是確定性的工業(yè)以太網(wǎng)。自動化對通訊一般會要求較短的資料更新時間(或稱為周期時間)、資料同步時的通訊抖動量低,而且硬件的成本要低,EtherCAT開發(fā)的目的就是讓以太網(wǎng)可以運用在自動化應(yīng)用中。


德國Acontis公司是EtherCAT技術(shù)協(xié)會資深會員,Acontis圍繞EtherCAT協(xié)議開發(fā)的EtherCAT主站協(xié)議棧EC-Master、EtherCAT網(wǎng)絡(luò)信息配置工具EC-Engineer和Windows操作系統(tǒng)實時擴展核EC-Win等產(chǎn)品已經(jīng)在眾多國際知名機器人(如KUKA)及自動化公司的產(chǎn)品中得到多方驗證,其產(chǎn)品的可靠性和性能得到業(yè)界公認和推崇。


如下為EC-Master和EC-Engineer簡介。如需了解更多介紹信息,可訪問Acontis中國總代理北京盟通科技有限公司官網(wǎng):www.motrotech.com,或查看Acontis EtherCAT主站協(xié)議棧開發(fā)包中的Doc目錄下的EC-Master_ClassB.pdf文件。


1.1 EC-Master簡介


Acontis EtherCAT主站協(xié)議棧EC-Master包含:


(1) EtherCAT-Master-Core:EtherCAT主站的主要功能都在Core層中實現(xiàn)。所有協(xié)議的處理也都在這里執(zhí)行,例如過程數(shù)據(jù)傳輸和郵箱協(xié)議(CoE,EoE,FoE,SoE,AoE)。


(2) EtherCAT-Link-Layer:主從站的數(shù)據(jù)交換,將零拷貝(Zero Copy)和輪詢(Polling)技術(shù)與Core層配合使用,實現(xiàn)最好的實時性性能和最大限度減少CPU負載。


(3) OS層:操作系統(tǒng)的調(diào)用被封裝在OS層。為了能夠?qū)崿F(xiàn)最好的性能,絕大多數(shù)功能使用簡單的C語言宏編寫。




圖 2 EC-Master框架

1.2 EC-Engineer簡介


EtherCAT網(wǎng)絡(luò)信息配置工具EC-Engineer是由Acontis開發(fā)的一個功能強大用于EtherCAT網(wǎng)絡(luò)配置和診斷的軟件工具,可幫助用戶快速而舒適地處理工程和診斷任務(wù)。清晰且直觀的用戶界面確保了用戶在EtherCAT網(wǎng)絡(luò)診斷和配置方面獲得流暢的體驗。



圖 3


圖 4


1 EtherCAT主站開發(fā)案例測試


請通過網(wǎng)線將伺服驅(qū)動器CN0 EtherCAT(IN)網(wǎng)口連接到評估板RGMII1 ETH千兆網(wǎng)口(ETH0)。如果需要使用RGMII2 ETH網(wǎng)口(ETH1)來控制電機,請通過網(wǎng)線將伺服驅(qū)動器CN0 EtherCAT(IN)網(wǎng)口連接到評估板RGMII2 ETH千兆網(wǎng)口。并連接好伺服電機,硬件連接如下所示。



圖 5

將產(chǎn)品資料“4-軟件資料\Demo\tl_EcMasterDemoDCmotor\bin\”目錄下的eni_SANYO_motor.xml、tl_EcMasterDemoDcMotor和“4-軟件資料\Demo\tl_EcMasterDemoDCmotor\lib\”目錄下的libemllCPSW.so文件拷貝到評估板文件系統(tǒng)同一個目錄下。


伺服驅(qū)動器上電啟動運行。評估板上電啟動進入文件系統(tǒng)執(zhí)行如下命令卸載ti_cpsw千兆網(wǎng)口驅(qū)動。執(zhí)行ifconfig命令可查看到千兆網(wǎng)口對應(yīng)的eth0、eth1網(wǎng)卡已被卸載。


Target# rmmod ti_cpsw




圖 6

執(zhí)行如下命令加載EtherCAT主站網(wǎng)口驅(qū)動,可通過lsmod命令查看驅(qū)動是否加載成功。

Target# modprobe atemsys




圖 7

在可執(zhí)行程序tl_EcMasterDemoDcMotor文件所在路徑下,執(zhí)行如下命令查看可執(zhí)行程序的使用說明和參數(shù)解析。

Target# ./tl_EcMasterDemoDcMotor --help




圖 8

CPU頻率調(diào)節(jié)模式默認配置為ondemand(初始頻率為300MHz),此時系統(tǒng)會定期檢查負載,根據(jù)負載來調(diào)節(jié)頻率。由于EtherCAT對CPU頻率要求較高,因此需執(zhí)行如下命令將CPU頻率調(diào)節(jié)模式配置為performance,此時系統(tǒng)會將CPU頻率固定為800MHz。

Target# echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor

Target# cat /sys/devices/system/cpu/cpufreq/policy0/cpuinfo_cur_freq




圖 9


執(zhí)行如下命令,通過EtherCAT主站協(xié)議棧控制伺服電機進行正反轉(zhuǎn)動作,設(shè)置主站通訊周期為1000us,串口終端打印如下相關(guān)信息。


Target# ./tl_EcMasterDemoDcMotor -f eni_SANYO_motor.xml -auxclk 1000 -v 2 -t 30000 -perf -cpsw 1 1 1 m custom am33XX 0 1 0


參數(shù)說明:


-f eni_SANYO_motor.xml //加載網(wǎng)絡(luò)配置eni.xml文件


-auxclk 1000 //cycle time,即主站通訊周期為1000us


-v 2 //信息打印級別為2


-t 30000 //持續(xù)時間


-perf //打印性能參數(shù)


-cpsw 1 1 1 m custom am33XX 0 1 0 //網(wǎng)口類型為TI的CPSW,“1 1 1”表示port1,Polling模式,high priority,“m”表示Master。


如需使用RGMII ETH2網(wǎng)口來控制電機,需要執(zhí)行如下命令。


Target# ./tl_EcMasterDemoDcMotor -f eni_SANYO_motor.xml -auxclk 1000 -v 2 -t 30000 -perf -cpsw 2 1 1 m custom am33XX 1 1 0





圖 10




圖 11

由上圖得知,主站通訊周期平均值約為997.8us,最大值為1054.2us。主站的通訊周期最大抖動值為1054.2us-1000us=54.2us。

tl_EcMasterDemoDcMotor程序會自動檢測與加載EtherCAT主站協(xié)議棧license。如無license,程序運行60min后將自動停止,提示信息如下圖所示。




圖 12

若已購買license,在tl_EcMasterDemoDcMotor文件同一目錄下創(chuàng)建license文件,并將license密匙添加到此文本文件中。

備注:以下提供基于我司TL570x-EVM評估板添加license的測試截圖作為參考。




圖 13

重新運行tl_EcMasterDemoDcMotor程序,若成功讀取有效license,程序?qū)⒖砷L時間穩(wěn)定運行。同時,串口終端將會打印如下類似信息。


圖 14

2 EtherCAT主站開發(fā)案例編譯

將tl_EcMasterDemoDcMotor文件夾整個復(fù)制到Ubuntu,并進入EC_Master_SDK目錄,執(zhí)行如下命令將該目錄下的開發(fā)包EC-Master-V2.9-Linux_armv6-vfp-eabihf-Eval.tar.zip解壓到當前路徑下。

Host# cd tl_EcMasterDemoDcMotor/EC_Master_SDK/

Host# unzip EC-Master-V2.9-Linux_armv6-vfp-eabihf-Eval.tar.zip



圖 15

開發(fā)包解壓完成后在當前目錄生成EC-Master-V2.9-Linux_armv6-vfp-eabihf-Eval.tar文件夾,目錄結(jié)構(gòu)如下圖所示。案例編譯需依賴此開發(fā)包的庫文件。如需了解更多EcMaster EtherCAT案例,請查看開發(fā)包的Examples目錄。


圖 16

進入tl_EcMasterDemoDcMotor的src源碼目錄,在Makefile文件中指定平臺Linux Processor SDK交叉編譯工具鏈的實際路徑。

Host# cd ../src/

Host# vim Makefile



圖 17

CROSS_COMPILE ?= /home/tronlong/ti-processor-sdk-linux-rt-am335x-evm-04.03.00.05/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf- //交叉編譯工具鏈路徑



圖 18

修改完成后保存退出,執(zhí)行make命令編譯生成可執(zhí)行程序tl_EcMasterDemoDcMotor文件。

Host# make


圖 19



圖 20

3 EC-Engineer配置ENI文件方法

本章節(jié)主要說明通過Acontis EtherCAT網(wǎng)絡(luò)信息配置工具EC-Engineer工具配置ENI(EtherCAT Network Information Format)文件的方法。ENI文件主要描述EtherCAT總線拓撲結(jié)構(gòu)等信息。

將產(chǎn)品資料“4-軟件資料\Tools\Windows\”目錄下的EC-Engineer_Eval_[版本號].zip在Windows下解壓與安裝。

確保PC機可正常連接互聯(lián)網(wǎng),雙擊打開EC-Engineer工具。系統(tǒng)將會通過網(wǎng)絡(luò)檢測EC-Engineer的license是否過期,如無法訪問互聯(lián)網(wǎng)將會導(dǎo)致打開失敗。將伺服驅(qū)動器通過網(wǎng)線與PC機直連(此時PC機可斷開與互聯(lián)網(wǎng)的連接),在EC-Engineer選中Device Editor界面的Class A工程選項,如下圖所示。



圖 21

點擊“File -> ESI Manager”,打開ESI Manager界面。



圖 22

添加SANYO伺服驅(qū)動器配套的.xml文件,該文件由伺服驅(qū)動器廠家提供。



圖 23


圖 24




圖 25



圖 26

Cycle Time選擇1000us,在Network Adapter選項欄里選擇從站連接的網(wǎng)卡,按Select進行連接,連接后按鈕變?yōu)?/span>

。Cycle Time的大小可能會影響伺服電機的抖動,具體根據(jù)伺服電機的實際情況進行設(shè)置,此處使用1000us。



圖 27

點擊“Network -> Scan EtherCAT Network”掃描伺服設(shè)備。



圖 28



圖 29

成功掃描出伺服設(shè)備后,將其選中(本次操作為SANYO伺服)。點擊“Exports ENI”按鈕重新生成伺服設(shè)備.xml格式的ENI文件。文件名可自擬,此處文件名設(shè)定為eni_SANYO_motor,選擇“Diagnosis Mode”選項可觀察伺服設(shè)備信息。



圖 30



圖 31

此時會在當前路徑生成eni_SANYO_motor.xml配置文件,該文件記錄了從站的配置信息,文件配置的Cycle Time為1000us。


以上便是本次開發(fā)案例分享的所有內(nèi)容,感興趣的用戶歡迎下方評論點贊,謝謝關(guān)注,后面還將分享更多嵌入式相關(guān)的知識匯總與開發(fā)案例。

注:由于EtherCAT主站協(xié)議棧對系統(tǒng)實時性要求較高,因此使用Linux-RT實時內(nèi)核進行測試。資料中提供的EC-Engineer為免費試用版,需定期更新,如已過期可溝通提供新版。


Copyright © 2013~2025 廣州創(chuàng)龍電子科技有限公司 All Rights Reserved  | 粵ICP備15055271號