當前位置: 首頁 > 工業(yè)電氣產(chǎn)品 > 端子與連接器 > 線路板連接器 > FFC連接器
發(fā)布日期:2022-04-28 點擊率:36
Other Parts Discussed in Post: AM6442, LP-AM243, TMDS243GPEVM, AM2434
作者:Shaoxing Ke
摘要:
AM243x 是TI高性能的Sitara MCU產(chǎn)品,片上集成了用于工業(yè)以太網(wǎng)通信的2個PRU_ICSSG(Programmable Real-time Unit_Industrial Communication SubSystem Gb) 工業(yè)通訊子模塊,可實現(xiàn)Profinet RT/Profinet IRT,EtherNet/IP,EtherCAT和IO-link等通信協(xié)議。本文檔詳細介紹AM64x/AM243x多協(xié)議Demo,其中AM64x A53核上跑Linux系統(tǒng)并運行Codesys runtime system,可以用來當作Codesys主站(可以理解為軟PLC),LP-AM243評估板用來當作從站,且主從之間可進行多種工業(yè)以太網(wǎng)的通信協(xié)議切換。由于無須更換硬件,只將不同協(xié)議棧固件(Firmware)進行替換就可自由切換不同的通信協(xié)議,可幫助客戶實現(xiàn)靈活的工業(yè)網(wǎng)絡配置,并極大改善供應鏈管理環(huán)境,降低BOM數(shù)量和系統(tǒng)成本。此外,由于AM64x與AM243x的ALX-17x17mm2封裝是管腳兼容的,因此項目開發(fā)在硬件和軟件算法上擴展性也更強。
Abstract:
AM243x is TI's high-performance Sitara MCU product with two PRU_ICSSG(Programmable Real-time Unit_Industrial Communication SubSystem Gb) modules capable for industrial Ethernet communication, such as Profinet RT/Profinet IRT, EtherNet/IP, EtherCAT and IO-link. This document introduces the AM64x/AM243x multi-protocol demo in details, in which the Linux system and Codesys runtime system run on the A53 core of AM64x and work as the Codesys master (can be described as soft PLC), while slave protocols run on LP-AM243 board. Since different protocols can be flexibly switched only by replacing the firmware of different protocol stacks without hardware change, it greatly increases the flexibility of the industrial Ethernet communication ‘s implementation, simplifies the supply chain management, and reduces the system complexity and BOM costs. In addition, AM64x and AM243x ALX-17x17 are pin compatible, which makes the project development more scalable in both hardware design and software algorithms implementation.
應用背景介紹:
由于擁有千兆以太網(wǎng),多達4個800Mhz的Cortex-R5F核和豐富外設資源使得 AM243x更加適用于高端應用,例如工廠自動化、機器臂、預測性維護和可持續(xù)能源管理等。其中,圖1 為工廠自動化中機械臂的實時以太網(wǎng)與控制應用案例。在工廠自動化中多自由度機械臂系統(tǒng),通過利用AM6442構(gòu)建的控制器作為一個控制層的PLC,利用多個AM243x集成工業(yè)以太網(wǎng)通信和電機控制作為現(xiàn)場層的終端設備,從而實現(xiàn)真正意義上工廠智能化?;诖?,本文檔將重點介紹AM64x如何實現(xiàn)軟PLC的功能,Codesys軟件如何實現(xiàn)AM243x的遠程I/O控制,以及多協(xié)議的切換與應用等。應用場景上的介紹如:Connect and control the factory floor
圖1 工廠自動化機械臂的實時以太網(wǎng)與控制應用案例
環(huán)境搭建:
整個Demo環(huán)境分為硬件搭建與Codesys軟件安裝。其中,AM64x處理器硬件既可以用來當主站,也可以用來當從站;然而,AM243x處理器硬件用做從站控制器(IO-link協(xié)議除外)。如圖2,對于在 AM64x SITARA 處理器硬件上的 CODESYS 運行時,需要適用于 Linux ARM64 SL 的 CODESYS Control。
圖2 Codesys與主/從站連接的示意圖
2.1硬件環(huán)境搭建
硬件環(huán)境搭建包括了圖3中AM64x-EVM上電,Boot模式選擇,移植Linux操作系統(tǒng),以及安裝CODESYS Runtime。同時,也有針對LP-AM243上電,協(xié)議棧代碼燒錄,RJ45連接等。
圖3 AM64X-EVM的板子及連接示意圖
AM64x-EVM上電:為了避免高浪涌電流,并防止可能損壞 AM64x-EVM組件,應使用power switch(SW1)進行 AM64x-EVM 開機和關機。如打開AM64x-EVM,首先將AM64x-EVM power switch關閉,其次將12v DC/電源適配器的圓口插入AM64x-EVM(J6)并市電下供應給電源適配器,此時LD6 and LD12亮起,最后將power switch(SW1)打開,LD1, LD2, LD3, LD4, LD6, LD7, LD8, LD9, LD10, LD15, LD24, LD25亮,如圖4所示。
圖4 AM64X-EVM正常上電示意圖
設置SD card boot,如圖5所示。要確保AM64x-EVM斷電后再去設置boot模式。由于AM64-EVM需要運行Linux操作系統(tǒng)軟件包,SD卡必須不小于16GB。
圖5 SD BOOT MODE(BOOTMODE [ 0 : 7 ] (SW2) = 1100 0011;
BOOTMODE [ 8 : 15 ] (SW3) = 0110 1100)
其中所有boot引導模式引腳都有一個弱下拉電阻和一個能夠連接到一個強上拉電阻的開關。 開關設置為“ON”對應邏輯“HIGH”,而“OFF”對應邏輯“LOW”。
移植Linux操作系統(tǒng),需要將 WIC 映像寫入 SD 卡,并設置SD card boot啟動。
首先在https://www.ti.com/tool/PROCESSOR-SDK-AM64X#downloads
單擊“下載”,然后選擇 PROCESSOR-SDK-LINUX-AM64X 或 PROCESSOR-SDK-LINUX-RT-AM64X,接著下載tisdk-default-image-am64xx-evm.wic.xz,如圖6所示。
圖6 AM64x默認的Linux系統(tǒng)WIC映像文件下載
其次,可以使用balenaEtcher,腳本script和bmap-tools等方式將WIC 映像寫入 SD 卡,同時也支持客戶自定義WIC 映像文件,詳情見Create SD Card。
本文檔SD卡的創(chuàng)建是利用balenaEtcher工具將WIC 映像寫入 SD 卡,如下:
圖7 balenaEtcher工具的界面
1.下載并安裝balenaEtcher工具,如圖7所示。需要使用帶SD/TF卡讀卡器的USB分線器,將下載好的tisdk-default-image-am64xx-evm.wic.xz文件,利用balenaEtcher通過USB燒錄至SD卡內(nèi)。
2.將micro SD卡插入USB-SD讀卡器并啟動Etcher。選擇要刷入的WIC鏡像,選擇USB SD讀卡器為目標,然后,點擊“Flash”。 Etcher會解壓鏡像并寫入SD卡,如圖8所示。
圖8 將 WIC 映像刷入 SD 卡
3.安裝串口助手Tera Term,并建立與 EVM 的串行調(diào)試。Tera Term軟件安裝界面,如圖9所示。當使用 TeraTerm 等串行終端仿真器連接到電腦端口COMx。 配置串口設置為115200波特率,8位,無奇偶校驗,1個停止位,無流量控制,如下圖:
圖9 Tera Term串口安裝界面
配置串口的設置界面選擇,如圖10所示。需要注意的是選擇與EVM板所對應的串口,可以嘗試設置EVM在UART Boot模式下識別串口號,或者在電腦屬性→設備管理→Ports。其中,詳細的解釋可參考:建立與 EVM 的串行連接。
圖10 配置串口設置的界面示意圖
2.2 Codesys軟件安裝
安裝CODESYS Runtime。在電腦PC上安裝Codesys Development system,軟件下載鏈接:https://us.store.codesys.com/codesys.html,同時需要安裝CODESYS Control for Linux ARM64 SL, 軟件下載鏈接:https://us.store.codesys.com/codesys-control-for-linux-arm-sl-bundle.html。先安裝Codesys Development system需要注意的是,關閉電腦防火墻同時運行時run as administrator,如圖11所示。
圖11 Codesys Development system安裝界面
其后安裝CODESYS Control for Linux ARM64 SL可以直接管理員運行,或者從Codesys Development system的Package Manager進行安裝,最終CODESYS Control for Linux ARM64 SL會在安裝包里面進行顯示,如圖12所示。
當然如果控制器采用的是KUNBUS RevPi hardware,則可以從Codesys官網(wǎng)搜索下載并安裝CODESYS Control for Raspberry Pi MC SL。本文檔是基于AM64x SITARA Processor hardware,因此使用的是CODESYS Control for Linux ARM64 SL安裝包。CODESYS Control for Linux ARM64 SL安裝包顯示已安裝,可查看如圖12所示。此外,若沒有可以點擊圖12右上角選擇“Install”,選擇對應的文件進行安裝。
圖12 Codesys安裝包管理的界面顯示
同時,打開 CODESYS Control for Linux ARM64 SL 4.2.0.0.package 存檔文件,例如 Ubuntu 中文件和存檔管理器,或 Windows 中的 7-zip 解壓縮文件,在文件夾目錄下找到如下兩個文件:
Dependancy/codemeter-lite_7.21.4611.501_arm64.deb
Delivery/codesyscontrol_linuxarm64_4.2.0.0_arm64.deb
將這兩個文件復制并安裝在Linux/codesys下,以上僅操作一次即可??梢酝ㄟ^Ubuntu,也可以通過TeraTerm進行操作。
復制命令:
scp Downloads/codemeter-lite_7.21.4611.501_arm64.deb root@192.168.1.134:~
scp Downloads/codesyscontrol_linuxarm64_4.2.0.0_arm64.deb root@192.168.1.134:~
安裝命令:
按如上操作,已制作了一張帶有 AM64x Linux 映像的 Micro-SD 卡并連接到 EVM 的串行端口,請按照下面列出的步驟將 EVM 引導到 Linux:
1)確保 EVM 已關閉電源。 將 Micro-SD 卡插入 EVM(卡的觸點一側(cè)應朝下)。
2)確保為 SD 卡啟動正確設置了 EVM 啟動模式開關,如圖5所示SD card boot。
3)將以太網(wǎng)電纜的一端連接到 EVM,另一端連接到路由器。
4)按照Power Switch(SW1)提供的開機順序打開 EVM 的電源。
此時EVM 應該啟動時,并且啟動進度應該會顯示在串行控制臺輸出中。 在啟動結(jié)束時,將出現(xiàn) Arago 登錄提示。 只需輸入“root”即可登錄,如圖13所示。
圖13 AM64x GP EVM 上的 Linux的調(diào)試界面顯示
2.3將協(xié)議棧燒錄至LP-AM243 Flash
LP-AM243需要注意的是雙Type-C供電,要求滿足5V/3A的要求,充電頭可以使用USB-C PD 3.0 PPS Wall Charger 25W,或者惠普電腦的Type-C供電。正常供電及上電時序要求,見AM243x LP User's Guide (Rev. A) 文檔。
為便于網(wǎng)絡調(diào)試,將協(xié)議棧代碼燒錄至LP-AM243的Flash上,方法如圖14所示。
圖14 SBL OSPI Boot程序流程
其中,SBL OSPI Boot程序是將MCU初始化并且從OSPI Flash 的 0x80000地址讀取并啟動多核appimage代碼,本文檔以PN_RT_MII的example為例,只需將profinet_device_rt_mii_demo_am243x-lp_r5fss0-0_freertos_ti-arm-clang.appimage路徑修改為下圖文件所對應的位置,最后將XIP image屏蔽,即屏蔽最后一行。因為我們選擇的是通過UART進行Flash燒寫,無須將XIP文件進行操作,如圖15所示。
圖15 default_sbl_ospi.cfg文件內(nèi)容
啟動window命令符操作燒錄成功的顯示界面,如圖16所示。CCS設置串口并上電啟動,可以看到PN/RT啟動運行成功的顯示界面,如圖17所示。
圖16 Window命令符下程序燒錄的顯示界面
圖17 CCS串口顯示PN/RT啟動成功的界面
詳細燒錄工具如:LP-AM243 Flashing Tools
多協(xié)議Demo項目搭建
3.1項目介紹與硬件建立
目前Sitara產(chǎn)品AM243x可支持四種協(xié)議,詳細參數(shù)及關鍵特性如下表所示。
或可從Industrial Communications Toolkit詳細查看SDK_Example的細節(jié)內(nèi)容,如圖18所示。
圖18 MCU+SDK的工業(yè)通信工具包
多協(xié)議Demo中LP-AM243是以EtherCAT Slave Simple Demo和Profinet Device Demos兩個例子分別與AM64x-EVM進行連接,具體的連接示意圖,如圖19所示。需要注意的是上位機PC通過路由器與AM64x-EVM的標準以太網(wǎng)CPSW相連,另外是PRU-ICSSG的雙端口網(wǎng)口(最上面的是eth1和eth2),進而與LP-AM243的網(wǎng)口相連,最終搭建好整個的硬件環(huán)境。
圖19 多協(xié)議的Demo連接示意圖
3.2 Codesys啟動與設置靜態(tài)IP地址
在AM64x-EVM上eth1設置靜態(tài)IP地址,是為了保證AM64x-EVM與LP-AM243在同一個網(wǎng)段內(nèi)。如果Codesys掃描不到從站LP-AM243設備,則有可能是沒有設置好靜態(tài)IP地址。如果是Codesys掃描不到主站AM64x-EVM設備,則有可能是電腦主機IP地址與CPSW的IP地址不對應,則需要對電腦主機IP進行修改。
首先Codesys啟動在EVM上啟動,如圖13所示。注意先設置Tera Term串口,再進行EVM上電即可。接著設置設置靜態(tài)IP地址,如圖20所示。靜態(tài)IP地址設置成功如圖21所示。
sudo ip addr add 192.168.1.20/24 dev eth1 (eth1 is top port on GP EVM)
圖20 Tera Term上設置靜態(tài)IP地址
圖21靜態(tài)IP地址設置為eth1
其次,再AM64x-EVM 啟動Codesys控制器,輸入以下命令行:
root@am64xx-evm:~# cd /var/opt/codesys/
root@am64xx-evm:/var/opt/codesys# /opt/codesys/bin/codesyscontrol.bin /etc/CODESYSControl.cfg
Codesys控制器已成功運行的界面,如圖22所示。如若未成功,EVM斷電重新啟動命令。
圖22 Codesys控制器已成功運行的界面
3.3 Codesys編程與顯示
1)PN/RT Example+LED燈控制
從管理員啟動Codesys前,首先確保圖22已經(jīng)可以在AM64x-EVM成功運行的。
啟動CODESYS開發(fā)系統(tǒng),新建標準項目,如圖23所示。同時,選擇 CODESYS Control for Linux ARM64 SL (3S - Smart Software Solutions GmbH) 作為設備和選擇結(jié)構(gòu)化文本作為編程語言,如圖24所示。PN_Example2項目可以看到所創(chuàng)建項目結(jié)構(gòu)并填充設備樹的結(jié)構(gòu),如圖25所示。同時在配置 PROFINET 網(wǎng)絡之前,必須將匹配的設備描述文件安裝到 CODESYS 設備存儲庫中,如圖26所示。
不同Example所對應的設備描述文件所在路徑如下:
${SDK_INSTALL_PATH}sourceindustrial_commsethercat_slavestackesi
圖23 新建Codesys的標準項目
圖24 選擇控制器類型及編程語言
圖25 PN_Example2項目界面
圖26 設備描述文件安裝至Codesys的Device Repository
掃描PROFINET Network并添加主站。雙擊左側(cè)Device,可以看到掃描網(wǎng)關設備并選擇連接的 AM64x SITARA 處理器,如圖27所示。如果連接成功,則網(wǎng)關和Device的小圓點標志均會顯示綠色。由于電腦主機與AM64x-EVM是走的標準的Ethernet,因此首先需要先添加Ethernet Adapter,如圖28所示。其次,在左側(cè)設備樹中右擊Ethernet添加Device,選擇Profinet IO底下的Master,如圖29所示。
圖27 掃描PN網(wǎng)絡和添加主站設備
圖28 為CODESYS Control for Linux ARM64 SL添加設備
圖29 添加PN-Controller的Device
如圖30所示,點擊Ethernet,并選擇General,選取所設置IP地址的eth1。若eth1顯示與eth2相同則說明靜態(tài)IP地址設置不成功,則返回至3.2小節(jié)重新啟動Codesys和設置靜態(tài)IP地址。
圖30 PN-Controller設置eth1:192.168.1.20
掃描從站和進入run模式。首先點擊工具欄Login in并運行,其次在左側(cè)設備樹上右擊PN_Controller進行設備掃描,并且進行設置站名和 IP 地址,進而可以將設備復制到PN_Example2項目中,如圖31和32所示。圖32需要注意的是IP地址為前面所設置的靜態(tài)IP,必須保證在同一網(wǎng)段,但需要修改最后一位(否則會與eth1的IP地址產(chǎn)生沖突),如本文設定為IP Address:192.168.1.22;Subnet Mask:255. 255. 255.0。
掃描復制添加過后,需要Login out然后再次Login in并運行,此時Codesys才會讓設備進入在線run模式,如圖33所示。
圖31 PN_controller掃描從站設備
圖32 掃描后進行站名和 IP 地址的設置
圖33 PN/RT設備進入在線run模式
Codesys的可視化編程。如果從站為LP-AM243則RJ45網(wǎng)口旁邊的4個LED燈可以被映射,進行遠程控制。如果從站為TMDS243GPEVM則有8個LED燈可以被映射,進行遠程控制。
在PLC_PRG進行變量定義與程序編寫,如下:
PROGRAM PLC_PRG
VAR
i2c_leds AT %QB0 : BYTE :=0;
i2c_led1 : BOOL :=0;
i2c_led2 : BOOL :=0;
i2c_led3 : BOOL :=0;
i2c_led4 : BOOL :=0;
xSwitch1 : BOOL;
xSwitch2 : BOOL;
xSwitch3 : BOOL;
xSwitch4 : BOOL;
END_VAR
i2c_led1 := xSwitch1;
i2c_led2 := xSwitch2;
i2c_led3 := xSwitch3;
i2c_led4 := xSwitch4;
PLC程序編寫的為4個開關控制4個LED燈。在左側(cè)設備樹Application添加Add object,選中Visualization,進入到可視化控件選擇,并將變量i2c_leds和xSwitch1鏈接到Lamp和Switch,如圖34所示。此外,還需要將所定義的i2c_leds變量鏈接到PN_Device的輸出字節(jié)上,如圖33中am2434-10上的I/O map上,如圖35所示。
圖34 可視化控件與Codesys定義變量鏈接
圖35 可視化控件與Codesys定義變量鏈接
最終保存PN_Example2項目,Login in和Run可看到直接操作可視化控制Switch可控制LP-AM243上網(wǎng)口旁邊的四個LED燈,如圖36所示。
(a)Codesys上Switch未打開狀態(tài) | (b)Codesys上Switch打開狀態(tài) |
圖 36 Codesys遠程控制LP-AM243的LED燈
2)Simple EtherCAT+LED燈控制
AM64x-EVM無須更改,僅通過Flash程序操作將Simple EtherCAT的程序燒錄至LP-AM243的板子上,并重復之前的操作如啟動Codesys Controller,設置靜態(tài)IP地址,新建Codesys項目和編程。當CCS設置串口并給LP-AM243開發(fā)板上電即可看到串口打印信息,如圖37所示。
圖37 LP-AM243的Simple EtherCAT已經(jīng)啟動
Codesys建立的EtherCAT1工程項目后,所添加的Device為EtherCAT-Master,如圖38所示。同時掃描從站設備,如圖39所示。若掃描不出來從站設備,則需要Login out,然后再次Login in進行設備掃描。若此方法仍無法掃描從站設備,則需要檢查LP-AM243協(xié)議棧是否正常跑,以及Codesys Controller是否如圖22所示。
圖38 添加EtherCAT-Master的Device
圖39 掃描從站設備顯示界面
當EtherCAT1工程項目Login in 和run時,導航到“Expert Process Data”選項卡,選擇并設置后將顯示該選項卡,然后選擇“Load PDO Info from Device”,如圖40所示。
Codesys的可視化編程。EtherCAT 過程數(shù)據(jù) LED 可以通過將過程輸出圖像中的前 4 位映射到結(jié)構(gòu)化文本程序中的布爾變量來尋址,映射完成后,可以分配/操作程序中的變量。 例如,我們可以在EtherCAT1工程項目中可視化界面中分配它們。
圖40 Load PDO Info from Device操作前
圖40 Load PDO Info from Device操作后
圖41 可視化控件與Codesys定義變量鏈接
如PN/RT Example+LED燈控制一樣,需要定義變量,鏈接變量到輸出的控制字節(jié)上,進而實現(xiàn)遠程LED燈控制,如圖42所示。同理,EtherNet/IP也通過更改從站上的協(xié)議棧代碼,以及Codesys上的設置與編程即可建立連接,具體可參考資料Using Codesys Control for PLC Controller Stacks, Enabled by AM64x & RT Linux
(a)Codesys上Switch未打開狀態(tài) | (b)Codesys上Switch打開狀態(tài) |
圖 42 Codesys遠程控制LP-AM243的LED燈
總結(jié):
由于工業(yè)現(xiàn)場實際應用的通訊需求,支持多協(xié)議的Sitara產(chǎn)品凸顯其競爭力?;诖耍疚臋n詳細介紹以Codesys為上位機軟件進行的組網(wǎng),可實現(xiàn)Profinet RT,EtherNet/IP和EtherCAT。以LP-AM243+AM64x-EVM為硬件,詳細介紹不同協(xié)議下利用Codesys組網(wǎng)的要點及注意事項,以及遠程I/O控制的實現(xiàn),便于客戶快速進行Codesys項目的開發(fā)。
問題總結(jié):
Simple EtherCAT案例上主站掃描LP-AM243的從站顯示在設備存儲庫未找到?
解決方法:將所對應Example的設備描述文件安裝到Codesys中的Device Repository.
2.EtherCAT_Master掃描LP-AM243的從站沒有任何反應?
解決辦法:檢查LP-AM243的從站是否正常運行,PHY是否被Disable;檢查Codesys Controller是否正常運行;或者通過WireShark抓包分析UDP/IP是否握手。
3.Codesys添加可視化后未顯示任何控件?
解決辦法:1.檢查可視化的安裝包是否缺少;2. Codesys授權問題。當首次添加組件時候是可以看到可視化的控件的。
4.安裝CODESYS Control for Linux ARM64 SL時,顯示無法安裝?
解決方法:需要安裝CODESYS Edge Gateway for Linux 4.1.0.0,下載鏈接: https://store.codesys.com/en/codesys-edge-gateway-for-linux.html
參考資料:
AM2434產(chǎn)品首頁https://www.ti.com.cn/product/cn/AM2434
AM6442產(chǎn)品首頁 https://www.ti.com.cn/product/cn/AM6442
LP-AM243 評估板AM243x LaunchPad Development Kit User's Guide
AM64x/AM243x 通用評估板用戶手冊AM64x/AM243x GP EVM User's Guide
AM243x 入門培訓Sitara MCU+ Academy for AM243x (1.00.00.04)
AM64x 入門培訓Sitara MCU+ Academy for AM64x
Getting Started with EtherCAT
Getting Started with EtherNet/IP
Getting Started with PROFINET RT
Using Codesys Control for PLC Controller Stacks, Enabled by AM64x & RT Linux
下一篇: PLC、DCS、FCS三大控
上一篇: 強魯棒性低側(cè)柵極驅(qū)動