ZHCADW7 March 2024 AM2434
为了验证串行端口数据传输的精度和带宽,为 TX/RX 环回测试应用 GPIO 直接模式。R5F 将 64 字节的数据存储到 TCM 的地址 0x78000000。PRU0 在周期性任务中查询 TCM 和传输数据,传输后清除帧头数据,以避免重复。同时,PRU1 将接收到的数据存储到 TCM 的地址 0x78000040,从而通过比较已发送和已接收的数据来验证接收到的数据的准确性。示波器测量发送端的传输带宽。测试结果如图 3-1 和图 3-2 所示。
图 3-1 64 字节发送时间如图 3-1 所示,带宽=数据长度/时间=512 位/10.82μs=47.32Mbps。
图 3-2 发送和接收数据比较PRU_GPIO 移位模式与直接模式类似,执行 64 字节的 TX/RX 环回测试,PRU0 处于移出模式,PRU1 处于移入模式,且发送数据存储在 R5F TCM 的地址 0x78000114。数据接收完成后,存储在 0x78000180。
图 3-4 显示,PRU1 内核收到正确数据,没有错误。
图 3-3 移位模式
图 3-4 发送/接收数据比较目标是使用 GPIO 移出模式在串行通信中实现 100Mbit 数据速率。图 3-3 显示,CLK_OUT 时钟周期为 10MHz,并且发送和接收数据之间没有错误位,这证明了串行通信的有效性。并且为了提高串行通信的可靠性,CRC 硬件加速器集成在 PRU_ICSSG 内,以便在每个通信帧后添加 CRC 校验和。
图 3-5 4 通道并行数据传输
图 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。