您好!
客户询问 PRU 中是否可以实现16位的软 UART 和12Mbit/s 的波特率。 他希望使用 AM335x。
此致、Holger
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
客户询问 PRU 中是否可以实现16位的软 UART 和12Mbit/s 的波特率。 他希望使用 AM335x。
此致、Holger
您好、Holger、
对于 UART RX、客户有哪些过采样要求?
该软 UART 示例支持8位或16位过采样。 但是、在查看软 UART 示例后、无法使用该过采样率实现12MBaud 的传输速率。 该示例使用 McASP 串行器(AXR 引脚)作为 UART I/O。 PRU 执行所有数据处理、并将数据推入/拉出 McASP。 在 RX 端、McASP 在 PRU 接收到8或16个过采样数据位(取决于过采样配置)后中断 PRU。 这意味着 PRU 有83ns 或16个 PRU 周期(=(1 / 12Mbaud)/ 5ns)来读取和处理数据。 否则、它将开始丢失数据位。 但是、PRU 只需从 McASP 读取过采样数据的 A 字节、需要40个以上的 PRU 周期! 这远远超过了16个 PRU 周期允许值、并且 PRU 无法跟上 RX 数据。
如果过采样被移除并且 McASP 直接采样 UART RX 信号、那么软 UART 示例可能会实现一个@ 12Mbaud 的单个 UART 端口。 但是、不进行过采样的风险是、采样的 RX 数据可能会由于计时漂移而产生更多误差。
此致、
Melissa