这里需要解释的东西太多了,简要说一下吧
d31.7等等这些是8b10b用到的编码
在高速串行通行中为了保证‘0’和‘1’均衡,一般需要对数据进行编码
最典型的应用就是8b10b
例如你要传输一个数据0x05
它的二进制是b 0000 0101,这样在差分线上传输的0比1多,会导致接收端容易失锁问题
8b10b所做的就是将你的8位0x05转换为10位的数据,并且0和1比较均衡
10位2进制数据可以表示1k个数据,8位的数据可以表示256个数据
因此实际上就是将256个8位的数据映射为10位的256个固定数据,其他没有用到的1024 - 256个数据有些没有用到,有些作为特殊应用的编码
下面说下d31.7是什么意思,d指的是数据,它后边小数点前指的是8位数据的后5位,小数点指的是8位的前3位
这样d31.7其实就可以表示为:“数据” 111.11111,其实表示的就是0xFF
而K打头的数据比较特殊,例如K28.5,它是被选择出来作为K码的,主要是用来让接收端对齐的
一句两句说不清楚,如果感兴趣你还需要仔细看看说明