AMIC110 ETHERCAT slave DEMO介绍(DDRless & NoneOS 版本)

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.