您好!
我的客户 使用 AM437x IDK、并且正在 开发阶段、AM437x PRU 上的12兆波特软 UART 具有 EnDAT 接口、并且在接收数据时遇到问题。
他使用 PRU 和 EnDAT 接口来接收异步数据。 他通过 EnDAT 接口以100kHz 的频率从第2个 PRU 发送数据、以便测试到1rst PRU。 EnDAT 在8倍过采样模式下工作、这意味着800kHz。 当发送8位时、他希望接收64位、但他得到128位。
他评估了接收到的位、可以看到在正确的位之间添加了一些错误位。 附加了结果、其中找到了不同位组合(1到255)中的2个发送字节以及接收到的数据。 2个字节发送了2次、这样您就可以看到接收到的位组合是相同的、而不是重合的。
以下是一个示例:
发送2字节0xA3 0xA3、
预期接收16字节:FF 00 FF 00 00 FF FF FF 00 FF 00 FF 00 FF FF FF
但实际上收到了:
FF 00 00 00 FF 00 00 00 FF 00 00 FF 00 FF FF FF 00 FF FF FF FF FF 00 FF 00 FF 00 FF 00 FF 00 FF 00 FF FF FF FF FF 00 FF FF FF FF FF FF FF FF
(大数字是正确的位)
根本原因可能是什么?
此致、Holger