TI中文支持网
TI专业的中文技术问题搜集分享网站

TMDSECATCNCD379D调试过程问题

你好!

我使用TI的TMDXICE110与TMS320F28377D进行联合测试EtherCAT功能。

1、使用PRU-ICSS-EtherCAT_Slave_01.00.06.01中的ecat_ti_esc_spi_slave_AMIC11x_arm工程。

2、使用PRU-ICSS-EtherCAT_Slave_01.00.06.01\protocols\ethercat_slave\firmware\v1.0下的ecat_frame_handler_ti.bin与ecat_host_interface_ti.bin。

3、28377D使用TMDSECATCND379D_V1.0\TMDSECATCNCD379D_EtherCAT_Solution_Ref下的TMDSECATCNCD379D_EtherCAT_Reference工程,其中仅对SPI的引脚进行适当调整。

测试时,使用TwinCAT的Scan后在Visual Studio中提示如下错误:

请问是哪里出问题了吗?状态机总是不正常。

Chris Meng:

你好,

我看提示错误都是和TMDSECATCNCD379D相关,是否到C2000论坛询问一下?

yongqing wang:

检测一下驱动

MiloBai:

回复 yongqing wang:

测试发现,TI提供的程序spi通讯总是错误。无法正常全双工通讯。求解决方法

yongqing wang:

回复 MiloBai:

有用逻辑分析仪测试SPI信号吗

yongqing wang:

回复 MiloBai:

ti提供的spi例程是不能收信号还是不会发信号?

MiloBai:

回复 yongqing wang:

没有使用逻辑分析仪。使用示波器测试MOSI与MISO信号,发现28377D发送信号正常,而AMIC110发送的信号不正常。

在PRU-ICSS-EtherCAT_Slave_01.00.06.01的ecat_ti_esc_spi_slave_AMIC11x_arm例程中有个主循环task(SPISlave_statusTask),在while循环中增加接受28377D数据后将其输出发现接受的数据是错误的。

因此导致TMDSECATCNCD379D_EtherCAT_Reference例程永远停留在下面这个循环中。(我们的ESI设置ESC的PDI为SPI模式,因此返回值应为0x06)

do { HW_EscReadWord(u16PdiCtrl,ESC_PDI_CONTROL_OFFSET); u16PdiCtrl = SWAPWORD(u16PdiCtrl);

} while ((u16PdiCtrl & 0xFF) != 0x06); }

赞(0)
未经允许不得转载:TI中文支持网 » TMDSECATCNCD379D调试过程问题
分享到: 更多 (0)