ZHCADW7 March   2024 AM2434

 

  1.   1
  2.   摘要
  3.   商标
  4. 1引言
  5. 2实施
    1. 2.1 PRU 实施串行端口
    2. 2.2 PRU 实施并行端口
  6. 3验证
  7. 4总结
  8. 5参考文献

验证

为了验证串行端口数据传输的精度和带宽,为 TX/RX 环回测试应用 GPIO 直接模式。R5F 将 64 字节的数据存储到 TCM 的地址 0x78000000。PRU0 在周期性任务中查询 TCM 和传输数据,传输后清除帧头数据,以避免重复。同时,PRU1 将接收到的数据存储到 TCM 的地址 0x78000040,从而通过比较已发送和已接收的数据来验证接收到的数据的准确性。示波器测量发送端的传输带宽。测试结果如图 3-1图 3-2 所示。

GUID-20230926-SS0I-TK1C-N2KC-60ZB91BWQBT3-low.png图 3-1 64 字节发送时间

图 3-1 所示,带宽=数据长度/时间=512 位/10.82μs=47.32Mbps。

GUID-20230926-SS0I-QNCV-WB3B-LVKHSGCXBZC8-low.png图 3-2 发送和接收数据比较

PRU_GPIO 移位模式与直接模式类似,执行 64 字节的 TX/RX 环回测试,PRU0 处于移出模式,PRU1 处于移入模式,且发送数据存储在 R5F TCM 的地址 0x78000114。数据接收完成后,存储在 0x78000180。

图 3-4 显示,PRU1 内核收到正确数据,没有错误。

GUID-20230926-SS0I-TVZJ-51ZC-FRMRFL1M72HW-low.png图 3-3 移位模式
GUID-20230926-SS0I-RBTR-VVTN-N7G46PFHMLQT-low.png图 3-4 发送/接收数据比较

目标是使用 GPIO 移出模式在串行通信中实现 100Mbit 数据速率。图 3-3 显示,CLK_OUT 时钟周期为 10MHz,并且发送和接收数据之间没有错误位,这证明了串行通信的有效性。并且为了提高串行通信的可靠性,CRC 硬件加速器集成在 PRU_ICSSG 内,以便在每个通信帧后添加 CRC 校验和。

GUID-20230926-SS0I-WRQM-WRJM-PQB1Q3FMC6JV-low.png图 3-5 4 通道并行数据传输
GUID-20230926-SS0I-WMLB-X4CB-Z8BGBXDMDWWG-low.png图 3-6 发送/接收数据比较

为了显示并行端口性能,执行了 TX/RX 环回实验,发送数据存储在 R5F TCM 的 0x78000114。数据接收完成后,存储在 0x78000180。在这种情况下,时钟周期等于 5 个 PRU 周期,带宽 = 数据长度/时间 = 4 位/周期/(3ns/时钟 x 5 个时钟/周期)= 266.4Mbps。随着使用更多 PRU GPI/GPO 信号,数据吞吐量会增加。例如,使用 1 个时钟信号和 15 条数据线可实现 1Gbps 的带宽:带宽 = 数据长度/时间 = 15 位/周期/(3ns/时钟 x 5 个时钟/周期)= 1Gbps。