PRBS RX怎么计算误码的?

两个A和B serdes对接,A发出PRBS31,B收到后怎么知道有没有误码呢?有没有想过这个问题,如果写多PCS的verilog代码那就不用看下文了。

1.先举个例子,A和B 端口对接发送以太网报文,A发B收,B怎么知道出现错报呢。这个大家都知道A发的报文里数据的FCS,CRC校验码,FEC校验码,报文类型等很多信息控制字符。B收到后会重新计算比对,发现校验码和收到的一样,所以没有误码,如果和校验的对不上那就说明出现误码。如果误码的数量少,正好开了FEC,那就可以给纠正过程。如果B收到了大量的错误,超出FEC纠正范围那就端口出现大量误码告警甚至down掉。

2.同理PRBS31是安装序列移位产生,不能带有FCS,CRC的校验位。那B收到PRBS31怎么知道误码呢?

因为PRBS31有严格的定义,种子也就是第一个数据可以设置,但是移位运算的公式是相同的。所以B收到第一个数据后用公式计算下一个数据,和下一次B收到的数据进行比对,如果对不上就是有误码,相同就是没有误码。如果一直连续多个数据都有误码,就会到导致PRBS RX的lock报失锁故障。

 

posted @   韭菜满仓  阅读(64)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示