QSGMII协议详解.ppt

上传人:豆**** 文档编号:61204676 上传时间:2022-11-20 格式:PPT 页数:57 大小:2.51MB
返回 下载 相关 举报
QSGMII协议详解.ppt_第1页
第1页 / 共57页
QSGMII协议详解.ppt_第2页
第2页 / 共57页
点击查看更多>>
资源描述

《QSGMII协议详解.ppt》由会员分享,可在线阅读,更多相关《QSGMII协议详解.ppt(57页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、1000Base-X1.8B10B编码原理2.RD运算规则3.有序集详解4.自协商、发送、接收状态机PCS RelationshipFunction Block8B/10B的引入 8B/10B编码是目前高速串行通信中经常用到的一种编码方式。直观的理解就是把8bit数据编码成10bit来传输,引入这种机制的目的是保证信号的DC平衡。当高速串行流的逻辑1或逻辑0有多个位没有产生变化时,信号的转换就会因为电压位阶的关系而造成信号错误。8B/10B编码避免了5个连续的“0”或者“1”出现。并且还可以使接收端从数据中有效地提取时钟。编码原理8bit原始数据会分成两部分,其低5位会进行5B/6B编码,高3

2、位则进行3B/4B编码,这两种映射关系有一个标准化的表格。对于8bit信号作为一个数据群码时用Dx.y表示,作为特殊群码时用Kx.y表示,其中x是EDCBA的十进制值,y是HGF的十进制值。例如,一个8bit数据码 110 11101 表示为D29.6。5B/6B编码表5B/6B code5B/6B codeinputinputRD=-1RD=-1RD=+1RD=+1inputinputRD=-1RD=-1RD=+1RD=+1EDCBAEDCBAabcdeiabcdeiEDCBAEDCBAabcdeiabcdeiD.00D.00000000000010011110011101100001100

3、0D.16D.161000010000011011011011100100100100D.01D.010000100001011101011101100010100010D.17D.171000110001100011100011D.02D.020001000010101101101101010010010010D.18D.181001010010010011010011D.03D.030001100011110001110001D.19D.191001110011110010110010D.04D.040010000100110101110101001010001010D.20D.20101

4、0010100001011001011D.05D.050010100101101001101001D.21D.211010110101101010101010D.06D.060011000110011001011001D.22D.221011010110011010011010D.07D.070011100111111000111000000111000111D.23+D.23+1011110111111010111010000101000101D.08D.080100001000111001111001000110000110D.24D.241100011000110011110011001

5、100001100D.09D.090100101001100101100101D.25D.251100111001100110100110D.10D.100101001010010101010101D.26D.261101011010010110010110D.11D.110101101011110100110100D.27+D.27+1101111011110110110110001001001001D.12D.120110001100001101001101D.28D.281110011100001110001110D.13D.130110101101101100101100D.29+D.

6、29+1110111101101110101110010001010001D.14D.140111001110011100011100D.30+D.30+1111011110011110011110100001100001D.15D.150111101111010111010111101000101000D.31D.311111111111101011101011010100010100K.28K.2811100111000011110011111100001100003B/4B编码表3B/4B code3B/4B codeinputinputRD=-1RD=-1RD=+1RD=+1input

7、inputRD=-1RD=-1RD=+1RD=+1HGFHGFfghjfghjHGFHGFfghjfghjD.x.0D.x.00000001011101101000100K.x.0K.x.00000001011101101000100D.x.1D.x.100100110011001K.x.1K.x.10010010110011010011001D.x.2D.x.201001001010101K.x.2K.x.20010011010101001010101D.x.3D.x.30110111100110000110011K.x.3K.x.30110111100110000110011D.x.4D.

8、x.41001001101110100100010K.x.4K.x.41001001101110100100010D.x.5D.x.510110110101010K.x.5K.x.51011010101010110101010D.x.6D.x.611011001100110K.x.6K.x.61101101001100101100110D.x.P7D.x.P71111111110111000010001D.x.A7D.x.A71111110111011110001000K.x.7K.x.71111110111011110001000Running Disparity表中的RD标志,代表编码极性

9、。它的目的就是保持8B/10B编码中的直流平衡。RD=+1表示1比0多,RD=-1表示0比1多。RD=-1是上电初始化状态。每进行一次编码后,都要计算出当前编码的RD值,用于下一个编码。Running Disparity举例说明:假设要传输 D4.0 和 D21.4 该如何编码?根据当前区块的“0”“1”个数计算出的RD作为下一个区块的RD参照值。起始RD默认为-1。所以传输的编码可以表示为-D4.0-D21.4+-1110101+10100-1101010-11101+1RD翻转RD的翻转规则:1.零偏差(“0”和“1”的个数相等)的区块前后保持RD极性,非零偏差的区块翻转其RD极性。2.如

10、果在RD=-1后接收到“0”比“1”多,或者在RD=+1后接收到“1”比“0”多,说明接收到错误群码。3.无论是否接收到错误群码,RD仍继续计算下去。非零偏差的区块能避免错误的蔓延。RD计算错误侦测举例传送群码传送比特流接收比特流接收群码-D21.1 D10.2 D23.5 +-101010-1001-010101-0101-111010+1010+-101010-1011a+010101+0101+111010+b 1010+c-D21.0 +D10.2 +错误群码d +a.位元发生错误:1001=1011。b.非零偏差的区块应翻转其RD极性。c.无论接收群码是否正确,RD继续计算;非零偏差

11、的区块避免了错误的蔓延。d.错误群码不一定代表当前群码传送错误。逗号码7比特逗号码定义为0011111(comma+)以及1100000(comma-)。在数据群码中保证了不会有连续5比特的0或1出现,因此逗号码能作为唯一被识别为数据对齐的信号。包含逗号码的特殊群码为/K28.1/,/K28.5/,/k28.7/。/K28.7/用作于误码率和时钟的测试(连续的/K28.7/组合为00000111110000011111.)/K28.5/用在有序集/C/及/I/中。/K28.1/在802.3中暂未提及使用。有序集的概念802.3中定义了8种有序集(order_set),它们由单一的特殊群码或者由

12、一个特殊群码与数据群码的组合构成。包含/K28.5/的有序集支持数据对齐和时钟恢复。有序集可以理解为物理链路上的一些控制协议。有序集有序集/C/有序集/C/是用作自协商寄存器配置的标识码,在有序集后的16比特数即为寄存器值。有序集/C/分为/C1/和/C2/;/C1/定义为/K28.5/D21.5/,/C2/定义为/K28.5/D2.2/。/C1/的前后极性翻转,/C2/的前后极性保持。有序集/C/对于确定的一个R,无论起始的RD正负,初始发送C1,然后与C2交替发送。假设用/C?/R1/R2/来表达自协商时传输的四个字节,/R1/代表Config_Reg7:0,R2/代表Config_Reg

13、15:8,那么发送方式为/C1/R1/R2/C2/R1/R2/C1/C2/交替发送/C1/,/C2/可以使2个comma+和2个comma-连续交替发送。有序集/C/R1/R2/前后的极性所有可能为:如果起始极性为-,-R1-R2+=-R+;-R1-R2-=-R-;-R1+R2+=-R+;-R1+R2-=-R-;如果起始极性为+,+R1-R2+=+R+;+R1-R2-=+R-;+R1+R2+=+R+;+R1+R2-=+R-;有序集/C/则连续发送时,当:起始为+,R极性翻转:.+C1-R+C2+R-C1+R-C2-R+C1-.;起始为+,R极性保持:.+C1-R-C2-R-C1+R+C2+R+

14、C1-.;起始为-,R极性翻转:.-C1+R-C2-R+C1-R+C2+R-C1+.;起始为-,R极性保持:.-C1+R+C2+R+C1-R-C2-R-C1+.;自协商寄存器FD:全双工指示,如果设置为1,则该设备支持全双工模式;HD:半双工指示,如果设置为1,则该设备支持半双工模式;PS1,PS2:流量控制指示,不同组合有不同的含义,如下:00:不支持流量控制;01:针对链路对端的不对称流量控制;10:对称流量控制;11:针对本地设备的不对称流量控制。RF1,RF2:远程错误位,指出远程设备的一些错误发送;00:设备正常(默认);01:本地设备离线;10:链路故障;11:自协商错误。ACK:

15、确认指示。如果一台设备成功接收到了对端的基页,则发送自己基页的时候,将ACK设置为1;NP:下一页指示。如果把该位设置为1,则隐含说明该设备还要发送除基页外的其他页面,这些其他页面用来协商或配置其他功能。RSV RSV RSV RSV RSVFDHDPS1 PS2 RSV RSV RSV RF1 RF2 ACKNP LSB MSBD0 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15自协商过程有序集/I/当GMII上没有数据传输的时候,链路也不能空闲,而是传输一些不代表任何实际意义的比特位,这样可以保持两端时钟的同步,并使链路保持在激活状态。

16、组成这些空闲比特位的为有序集/I/,链路两端的设备在接收到/I/后,仅仅忽略,但如果一段时间内没有接收到数据,同时接收不到/I/有序集,则认为链路故障。有序集/I/I/分为/I1/和/I2/,/I1/定义为/K28.5/D5.6/,/I2/定义为/K28.5/D16.2/。/I1/的前后极性相反;/I2/的前后极性一致。在数据码或者有序集后如果RD为+,则使用/I1/用来恢复RD至-的状态,随后发送持续的/I2/用来保证RD-。保证RD-是为了/K28.5/能包含comma+。如果在接收到一个由两群码组成的有序集,第一个群码为/K28.5/,第二个群码为除/D21.5/和/D2.2/以外的数据

17、群码,则这个有序集被认为是一个/I/。有序集/R/有序集/R/称为载波扩展,定义为/K23.7/。/R/的第一个功能:Carrier extension千兆以太网最小帧长度为64B,那么在半双工工作模式下,大于200米的链路上一个短帧的传输时间远小于冲突窗口(传输长度为512B帧所需的时间),不能进行正常的CSMA/CD。所以对于小于512B的帧信号,需要使用/R/填充至512B。如图所示,如果没有载波扩展,发送一个64B的短帧,则在A检测到碰撞的时刻,该帧早已全部发完,那么该CSMA/CD失败。相反,发送512B帧,在检测到碰撞时该帧还没有发完,那么延迟一个随机时间重发。有序集/R/R/的第

18、二个功能:Packet seperation半双工模式下使用载波扩展造成了额外的开销,影响传输效率。为了改善传输效率,千兆以太网在MAC子层定义了帧突发模式(burst)。帧突发机制如下:发送端允许连续发送一些帧,第一个帧按CSMA/CD规则发送,即如果第一帧不够512B使用/R/填充至512B,第一帧发送成功后,该链路不会再遇到冲突,后续发送短帧也不必进行填充。但是为了连续占有信道,后续帧之间的IPG使用/R/填充,一次帧突发的最大长度限制为8192B。有序集/R/R/的第三个功能:/I/偶数对齐后文结合/T/详细说明。有序集/R/R/的产生:TX_EN低电平,TX_ER高电平Permiss

19、ible encodings of TXD,TX_EN,and TX_ER如果在发送载波扩展时,需要请求物理层进行中断,则发送载波扩展错误。由TX_EN=0,TX_ER=1,TXD=1F表达,PCS层编码为/V/。有序集/S/,/T/包起始定界符用来描述数据序列传输的起始边界,由有序集/S/构成。有序集/S/定义为/K27.7/。包截止定界符用来描述数据序列传输的终止边界,由有序集/T/R/I/构成。有序集/T/定义为/K29.7/。如果/T/出现在奇数位置上,则需填充一个/R/构成/T/R/R/I/,保证/I/能够偶数对齐。/T/与/I/的奇偶关系-1我们知道,/I/是由/K28.5/和/D

20、/两个字节组成,标准中规定/I/的/K28.5/必须在偶数位置上,/D/在奇数位置上。如果/T/出现在偶数位置上(该帧从/S/到/T/包含的字节数为偶数),那么插入一字节的/R/便能保证/I/的/K28.5/在偶数位置上,称为/I/偶数对齐。/T/与/I/的奇偶关系-2如果/T/出现在奇数位置上(该帧从/S/到/T/包含的字节数为奇数),那么插入两字节的/R/R/便能保证/I/偶数对齐。/S/与/I/的奇偶关系-1虽然根据/T/的位置插入相应的/R/就能保证/I/偶数对齐,但是不能保证TX_EN有效时刻的位置,那么当TX_EN出现在偶数位置上时,/S/紧接着/I2/插入,并且替换掉前导的第一个

21、字节。/S/与/I/的奇偶关系-1在接收方向,/S/解码时还原为前导的第一个字节。/S/与/I/的奇偶关系-2当TX_EN出现在奇数位置上时,/S/紧接着/I2/插入,由/I2/的/D16.2/替换掉前导的第一个字节,/S/替换掉前导的第二个字节。/S/与/I/的奇偶关系-2在接收方向解码时,/D16.2/并没有被还原为前导的第一字节,而是完成/I2/的组合。/S/被还原为前导的一个字节。所以造成了前导的一个字节丢失。有序集/V/当MAC层检测到信号数据流中的错误,便会驱动TX_ER,使PCS层产生错误传递的指示,通过有序集/V/来表示。有序集/V/定义为/K30.7/。在PCS层产生/V/必

22、须保持TX_EN有效。接收方向时序如果在接收方向存在编码错误,PHY需通过RX_ER信号向RS层告知,RX_ER与RX_DV组合表明的含义与TX方向类似。如果载波扩展发生编码错误,则在该处插入/V/,解码时RXD置为1F。Permissible encoding of RXD,RX_ER,and RX_DV载波错误指示如果在接收到第一个数据群码的前面既不是/S/也不是/K28.5/,那么就认为该处发生载波错误,并插入/V/,解码时RXD置为0E。自协商状态机第二部分SGMII(Cisco V1.8 2005)QSGMII(Cisco V1.2 2007)SGMII不同与1000Base-X,S

23、GMII和QSGMII都是芯片间接口;SGMII是 Cisco开发的利用单lane serdes,通常在PHY和MAC间传输三速(10/100/1000)以太网,支持单工和双工自协商,同1000Base-X的自协商区别如下:SGMII同1000Base-X一样,mac/phy之间编码为8B/10B;不同的是1000Base-X 8B/10B编码后直接通过光信号传输了,而SGMII只在板上芯片间;PHY的通常是RJ-45接口,实现10BaseT,100BaseT,或者1000BaseT。所以SGMII会有传统双绞线以太网载波监听冲突检测相关的信号Carrier Sense(CRS),and co

24、llision(COL)SGMIISGMIISGMII类似于快速以太网,SGMII在传输100M时串行线上对相同的数据复制10份,传输10M时串行线上对相同的数据复制100份,这样保证芯片间的串行线上时钟是1.25Gbps现在SGMII是事实上的行业标准,并广泛使用,CPU PHY 交换芯片等之间往往都有SGMII接口;FPGA在实现SGMII时PMA通常有硬核Serdes和LVDS可选择QSGMII不同SGMII 1.25G线路速率,QSGMII 5G线路速率,以字节交织的方式,并行传输4路SGMII,编码方式还是8B/10B。QSGMII在Broadcom的交换芯片和部分PHY上已有实现,

25、但FPGA上目前只有Xilinx有IP Core,Altera只有SGMII和1000Base-XQSGMII绿色标注部分是发送方向QSGMII同SGMII/1000Base-X不同的地方;发送时四路字节方式交织编码,0/1/2/3的顺序,其中0路的K28.5的编码改为替换成K28.1,在接收方向使用K28.1来进行第0路起始界定QSGMII绿色标注是接收方向与SGMII和1000Base-X不同的地方:disparityENcarrier_detectK28.1 detectQSGMIIQSGMII把C和I Code中的K28.5,替换成K28.1并且只支持I1,不再支持I2QSGMIIdi

26、sparityEN:为了防止极性错误扩散到其他端口QSGMIIcarrier_detect用在802.3 1000Base-X PCS receive state diagram,part a和part b中由于K28.5被替换成K28.1,carrier_detect信号也需要重新生成QSGMII的自协商与SGMII相同,link timer都是1.6msQSGMIIQSGMII的编解码采用8B10B,如果采用10bit总线位宽,则需要500Mhz的时钟,所以在实现上一般采用了125Mhz内部频率,响应的总线变为40bit,即4个8B/10B同时进行,这 要求Comma检查前数据也要以40bit送comma检测后,8b10b解码和极性检查也是以40bit为整体进行操作,4个通道的极性耦合在一起,而不是单个独立,一个端口的极性错,容易扩散到其他相邻端口QSGMII1408项目中,采用64bit/78.125mhz pma,通过异步不等宽fifo转换成40bit/125mhz,之后进40bit 4个并联的8b/10b解码器得到并行的32bit,再对32bit分成4路,分别进4个独立的8b/10b编码器,最后连接我们自己的SGMII 核发送方向与上面过程相反

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com