开发RapidIO硬件:功能、监控与错误处理全解析
1. 维护事务处理
在RapidIO系统里,要服务来自不同端口的请求,就需要一个合理的方案。每个端口都能独立接收对寄存器总线的读写请求,所以设计者得确定允许的未完成维护事务数量。一旦达到最大未完成事务数,RapidIO端口会重试后续所有事务。
- 维护响应 :包含4字节有效负载的读响应或者写完成响应。响应由寄存器块逻辑生成,然后插入到请求发起端口的出站队列(用于CRC计算)。
- 维护出站端口写请求 :由错误处理逻辑生成的数据包。端口写数据包会转发到发生错误的端口,同时端点设备要向UDI生成一个中断。
- 维护入站端口写请求 :由远程RapidIO设备生成,用于报告错误情况。端点设备需将入站端口写的有效负载加载到状态寄存器,并向UDI生成中断。
- 维护调试数据包 :用户定义的数据包长度,基于每个端口生成(在用户寄存器访问下),仅用于调试。
当RapidIO交换机遇到数据包头部跳数为零的维护数据包时,会认领该数据包,进行解包并将数据发送到内部寄存器总线。收到维护请求数据包后,入站模块要组装维护响应数据包并生成CRC字段,源ID和目标ID会与维护请求数据包相反。数据包组装完成后,入站模块向交换结构请求将响应数据包传输到同一RapidIO接口的出站模块,出站模块再将数据包发送回RapidIO源。
若入站模块收到跳数不为零的维护数据包,会将跳数值减1,然后将数据包发送到内部交换结构以
超级会员免费看
订阅专栏 解锁全文
42

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



