TI中文支持网
TI专业的中文技术问题搜集分享网站

SRIO的流控

C6678和C6455使用SRIO通信,1x4p模式,3.125G,其中C6678使用TI的PDK中SRIO LLD

发现C6455发送过快时候C6678的接收缓存不够,触发StarvationQ中断,然后这个包就丢了,但是对端C6455仍然认为包发送成功了,这就造成丢包现象,不能发挥SRIO的高速通道应有的作用。

请问SRIO如何能实现流控,即C6678接收缓冲区满时,C6455发送不出去

Allen35065:

使用NWRITE_R方式写

Boxue Li:

回复 Jane Lu:

1。free descriptor数目总要受到内存资源限制,不能无限增加。况且只治标不治本。

2。这个想法是可行的,如果置位后不会丢弃,然后导致接收缓冲区满,C6455收到发送错误中断,这时候不再让上层继续发数据就可以了。然后要解决的是包有可能乱序的问题。

顺着这个思路已经实现了可靠传输,不丢包也不乱序。

http://blog.csdn.net/li_boxue/

赞(0)
未经允许不得转载:TI中文支持网 » SRIO的流控
分享到: 更多 (0)