AMIC110是TI最新推出的支持ETHERCAT Slave的新一代SOC。它通过PRU-ICSS支持多种工业总线协议。本文介绍了ETHERCAT Slave demo,此软件不需要DDR仅在片内RAM上运行,且不需要RTOS。此DEMO软件可基于AMIC110 ICE板进行测试。
一,编译DEMO源码,准备烧写BIN文件
说明:本文涉及的软件源码请联系TI技术支持申请下载。
1,获得DEMO软件包后,需要自行到ETG官方网站上下载SSC5.12代码https://www.ethercat.org/en/downloads.html
下载后把源代码复制到EcatStack下面。然后把工程“ethercat_slave_full_baremetal_AMIC11x_arm_localsrc”导入CCS开始编译。如果编译成功可以在release目录下找到app文件,这是我们要烧录的应用程序。
2,把目录industrial_sdk/protocols/ethercat_slave/firmware/v1.0/下的ecat_frame_handler.bin和ecat_host_interface.bin通过命令转成_ti.bin的格式
tiimage.exe 0x4a334000 NONE ecat_frame_handler.bin ecat_frame_handler_ti.bin tiimage.exe 0x4a338000 NONE ecat_host_interface.bin ecat_host_interface_ti.bin |
3,把目录industrial_sdk/protocols/ethercat_slave/ecat_appl/iceAM335x/
下的tiesc_eeprom_ti.bin复制出来备用。
4,把ethercat_baremetal_standalone\pdk_am335x_1_0_12\packages\ti\starterware\binary\bootloader\bin\amic110-ddrless\gcc
目录下的bootloader_boot_mcspi_noDDR_a8host_release_ti.bin复制出来作为bootloader.
最终我们获取如下待烧录的文件:
二,烧写BIN文件到AMIC110 ICE的SPI FLASH
1,通过CCS链接AMIC110 ICE板子,连接配置如下
2,JTAG连上后,下载ethercat_baremetal_standalone\pdk_am335x_1_0_12\packages\ti\starterware\tools\flash_writer\spi_flash_writer_AM335X.out到A8上面并运行
根据控制台提示,把上述获得的文件按照如下地址分别烧入SPI FLASH
3,烧录完成,对ICE板子重新上电,会发现LED D17和D6被点亮,说明程序烧写成功。
三,通过TWINCAT进行功能测试
下面用TWINCAT进行测试,测试步骤如下:
1,到beckhoff官网下载twincat测试版
https://www.beckhoff.co.in/english.asp?download/tc3-download-xae.htm
TWINCAT安装完毕,复制[INSTALL-DIR]/protocols/ethercat_slave/ecat_appl/esi/TI_ESC.xml 到目录\TwinCAT\3.1\Config\Io\EtherCAT
2,启动TWINCAT,创建一个新的工程
File > New > Project > TwinCAT Project
3,用标准网线连接主机和ICE板子J6口
4,TwinCAT > Show Real Time Ethernet Compatible Devices and Install TwinCAT RT Ethernet intermediate driver. 安装TWINCAT网卡驱动。
5,TwinCAT project->device右键选择scan,一切正常的话可以搜索到如下设备
6,通过修改TI BOX1(TIESC-001)->DO Outputs-> LED[x]可以控制板上LED灯的开关。
至此,通过TWINCAT功能测试。
四,联合C2000 LaunchPAD进行SPI通信测试
AMIC110软件默认是跑的SPI MASTER模式,我们可以连接C2000 LaunchPAD, C2000跑SPI SLAVE软件。测试步骤如下:
1,C2000 LaunchPad J1/J3连AMIC110 J4,J2/J4连AMIC110 J5。
2,LaunchPAD通过USB口供电。需要先通过CCS烧录C2000的BIN文件到LaunchPAD板子上。
3,上电后通过TWINCAT->TI BOX1->DI Inputs->Switch[x]可以观察到SWITCH数据在不停的变化,说明AMIC110和C2000通过SPI通信正常。
此时AMIC110是SPI MASTER,C2000是SPI Slave.