大家好,
我最近在使用28388D的CM4核来实现EtherCAT通信,我使用的是Ti官方例程“f2838x_cm_cia402_solution”和"f2838x_cpu1_allocate_ecat_to_cm",参照文档EtherCAT Slave Controller Software USER’S GUIDE进行配置,我使用controlCARD来运行时能成功连接上TwinCAT,状态机切换正常,当我使用自制的28388D的板子的时候,烧写同样的例程发现有时候能正常连接,但有时候会在TwinCAT扫描的是Device1,所以无法正常通信,烧写程序在线运行时发现在HW_init函数执行以下代码时会返回错误状态。
if(ESCSS_getMemoryInitDoneStatusBlocking(ESC_SS_BASE, memoryTimeOut) !=
ESCSS_API_SUCCESS)
{
return(ESC_HW_INIT_FAIL);
}
首先可以确定的是,我自制的板引脚连接和例程上的引脚配置是一致的(因为有EtherCAT正常通信的情况出现),但使用的phy芯片是不一样的,phy偏移地址用的是00。
除了上述描述的返回错误状态的情况,几乎所有可能的问题都排除了,但是不知如何解决,想请教一下大家,谢谢。