Other Parts Discussed in Thread: AM2432, TMDS243EVM
Thread: TMDS243EVM 中讨论的其他器件
工具/软件:
您好:
我正在使用[enet_layer2_icssg]、我针对 EtherCAT 通信实验进行了修改。
在该工程中、我创建了一个发送任务、每 500us 调用一次 EnetDma_submitTxPktQ 以三次发送 EtherCAT 帧。
一个接收任务、在接收到返回的帧时、该任务使用 UDMA 将接收到的数据传输到另一个存储器位置。
在此过程中、接收任务偶尔会暂停大约 350 毫秒、从几分钟到一小时不等。
当这种情况发生时,它总是持续大约 348-352ms,给人一种控制它的东西的印象。
(在此暂停期间,发送任务继续运行。)
更仔细地观察这种现象、似乎在这大约 350ms 期间没有接收到接收中断、这使我怀疑帧本身可能因 CRC 错误或类似错误而被删除。
我想确定这种行为的原因、因此、我希望能够提供线索的任何信息。
例如、在帧完全传输之前、不应再次调用 EnetDma_submitTxPktQ。
补充说明
发送三个帧时、先发送第一个帧、稍后发送第二个帧和第三个帧。
在以下时序下调用 EnetDma_submitTxPktQ:第一个帧→100us 已过去→第二个帧→第三个帧。
此外、如果使用 EnetQueue_enq 同时发送第二个和第三个帧、则此问题尚未发生。 (我运行了大约 16 小时。)
sdk mcu_plus_sdk_am243x_11_00_00_15
使用的电路板 AM243xEVM/定制电路板 (AM2432)
电路板有一个 ICSSG 端口连接到从器件、另一个端口断开
配置:AM2432(EtherCAT 主站)- profishark1G(LAN 分析仪)- AM2432 (EtherCAT slave1)- AM2432 (EtherCAT slave2)

