深入探索RapidIO技术:从内存缓冲到机械环境应用
1. RapidIO内存缓冲与错误覆盖机制
RapidIO在FPGA内存缓冲方面展现出高效性。在并行规范中可处理8个未完成数据包,串行规范中可处理32个未完成数据包,利用片上FPGA内存就能实现缓冲。如今的FPGA提供了大量片上内存,对于RapidIO端点设计所需的内存,包括单独的接收和发送缓冲区,通常只是FPGA可用内存资源的一小部分。例如,中等级别的FPGA设备密度可提供约1 - 3 Mb的内存,而一个使用单独收发缓冲区且每个方向能容纳8个数据包的RapidIO实现,大约只需要36 kb的内存。即使采用分段缓冲以实现片上内存的更高效寻址和减少数据路径资源的复杂性,RapidIO端点所需内存的总体占比仍然很小。对于可能有多个端口的实现,还可以选择更高密度、片上内存更多的设备。
在错误覆盖方面,RapidIO具备高效的机制。它内置了数据包和控制符号错误覆盖功能,能够提供基于硬件的错误恢复。这种基于硬件的错误恢复使系统具有更高的可靠性和更低的系统延迟,因为在每次链路传输期间都可以检查数据包是否存在错误,并在必要时立即进行否定确认。
- 数据数据包 :由嵌入在数据包中的16位CRC进行覆盖。由于RapidIO协议将最大数据包大小限制为276字节,16位CRC足以检测错误。与一些类似协议使用更大的CRC多项式来覆盖数据不同,RapidIO的这种设计在不增加系统复杂度的情况下满足了需求。
- 控制符号 :在并行实现中,控制符号与其补码一起传输以提供错误覆盖;在串行实现中,控制符号由附加在控制符号末尾的5位CRC进行覆盖。
这些错误覆盖机制简
超级会员免费看
订阅专栏 解锁全文
4419

被折叠的 条评论
为什么被折叠?



