2021-03-01

8B/10B编码在PCS层和PMA层的应用
1.    PCS(Physical Coding Sublayer, 物理编码子层)层的功能
1.1    PCS层在发送端的功能
a.    读取发送队列中的PDU,原始的流控PDU,用户面的流控PDU,过滤控制符
b.    对齐有效发送的Lane上的字符码流
c.    无PDU发送时在Lane上插入空闲态码流,过滤控制符
d.    完成10bit的Code Group码组编码
e.    把码组块发到PMA层
1.2    PCS层在接收端的功能
a.    把收到的码组译码为字符
b.    标注译码后无效的字符
c.    对齐多Lane的译码码流
d.    向高层发送PDU
2.    PMA(Physical Media Attachment 物理媒介层)层的功能
对10bit的Code group进行串行化,保证数据的处理是在10bit的Code group边界对齐
3.    8B/10B传输编码
3.1    8B/10B编码是把PCS层的字符8bit+1bit控制(running disparity指示)编码为10bit的Code group的处理过程,在接收处理时,是10bit Code group到8bit字符的译码过程.编码表由256个编码字符和12个控制字符组成.
3.2    8B/10B编码要实现直流平衡,也就是在传输的码流中‘1’和‘0’的数量要相同,收发器在串行化处理Code group时,0—>1或1-->0 的状态迁移是最小化的
3.3    收发器通过跟踪处理Code group的极性状态就可以判定处理的码流中是否存在bit error,对于处理的一个Code group 中‘1’和‘0’的数量: 只会有1比0多2个,此时 running disparity 极性为‘+’; 0比1多2个,此时 running disparity 极性为‘-’; 1和0数量一样,此时 running disparity 极性为维持不变. 除此之外的状态都是非法状态,也从而说明数据传输上出现了bit error. 收发器在数据收发时,必须要保证发送的Code group使running disparity 的极性是交替出现的,不允许连续发送极性一样码流(DC balanced的除外)
4.    字符和Code group的编码表示
4.1    在PCS层的字符表示一般为 D25.3(这是256个字符中的一个), 注记符表示为( HGF  EDCBA), 2进制的表示为( 011  11001 ), ( HGF->011->对应3, EDCBA->11001->对应着25)
4.2    在PMA层时表示为 /D25.3/, 前后的‘/’是有意义的表示现在是10bit的Code group,现在的注记符表示为( abcdei  fghj ), 2进制表示为( 100110  1100 ), 可以看出和前面的PCS层的2进制编码是反射的关系,同时是‘1’和‘0’一样的 DC balanced
5.    Running disparity 编码极性
5.1    前面说了PMA层编码有编码极性,在发送端初始的Running dispariry极性设置为‘-’,在接收端的极性可正可负,但是多条Lane间要设置为一样的.在编码表中可以看到字符的Code group 编码有’RD-’ ‘RD+’ 2列,这是在编码时,要根据当前的 Running dispariry极性来选择编码,如果当前的极性是‘-’的,就要从‘RD-’列中选取编码; 如果当前的极性是‘+’的,就要从‘RD+’列中选取编码.
5.2    在编码表中可以发现,D字符(数据字符)和K字符(控制字符)的PCS层表示是一样的,但是PMA层的编码表示就是不一样的,同时在PCS层K码在PDU中的位置和D码在PDU中的位置是完全不同的,所以在PCS层可以正确的译码.
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值