IEEE802.3-2015 Cl74 BASE-R PHY的前向纠错(FEC)子层 等部分相关点翻译
目录72. PMD子层和10GBase-KR型基带介质72.6.11 PMD LPI功能73.背板和铜缆组件的AN73.3功能规范73.5.2 DME页面编码73.7.5重新协商功能73.7.7下一页功能73.8管理寄存器要求74. BASE-R PHY的前向纠错(FEC)子层74.1概述74.4子层间接口74.4.1 10GBASE-R PHY的功...
目录
74.5.2 40GBASE-R和100GBASE-R服务原语
72. PMD子层和10GBase-KR型基带介质
本条规定了10GBASE-KR PMD和基带介质。当形成一个完整的物理层时,PMD应连接到适当的子层(见表72-1),并具有可通过第45条中定义的管理接口或等效接口访问的管理功能。
72.6.11 PMD LPI功能
具有可选节能以太网(EEE)功能的10GBASE-KR PHY可选择进入低功耗空闲(Low power idle,LPI)模式,以在链路利用率较低时节省能源。PMD LPI功能通过PMD_TX_MODE和PMD_RX_MODE请求响应活动(Active),睡眠(Sleep),安静(Quiet),刷新(Refresh)和唤醒(Wake)状态之间的转换。 该功能的实现是可选的。 在背板自动协商期间将公布EEE功能和参数,如45.2.7.13中所述。标准定义的主要能力和选项如下所示:
PCS、PMA、AN三层必须实现,LPI(Lower Power Idle)就属于可选的功能。
73.背板和铜缆组件的AN
本节中所定义的,自动协商被指定用于在背板上操作的以太网PHY,以及与在铜缆组件上操作的某些以太网PHY一起使用。虽然背板以太网PHY必须实现自动协商,但自动协商的使用是可选的。 应为不支持自动协商的传统设备提供并行检测,并应可以与不支持第Cl73自动协商的传统设备互操作。使用差分曼彻斯特编码(DME)页面执行自动协商。DME提供DC平衡信号。DME不会向网络设备添加数据包或上层开销。
73.3功能规范
自动协商功能提供了一种机制来控制单个MDI与单个PHY类型的连接,其中可能存在多种PHY类型。管理界面提供自动协商的控制和状态,但不需要存在管理代理。
自动协商功能应提供以下内容:
a)自动协商传输
b)自动协商接收
c)自动谈判仲裁
这些功能应符合图73-9至图73-11的状态图。自动协商功能应通过依赖于技术的接口与技术相关的PHYs进行交互(见73.9)。依赖技术的PHYs包括1000BASE-KX,10GBASE-KX4, 10GBASE-KR,40GBASE-KR4, 40GBASE-CR4, 100GBASE-CR10, 100GBASE-KP4, 100GBASE-KR4和100GBASE-CR4。当MDI支持多个通道(lane)时,MDI的lane0应用于自动协商和任何其它单通道PHY(例如,1000BASE-KX或10GBASE-KR)的连接。
73.5.2 DME页面编码
DME页面带有48位自动协商数据。它由106个均匀间隔的转换位置组成,包含曼彻斯特违规分隔符,48位数据和单个伪随机位。奇数转变位置表示时钟信息。偶数转换位置表示数据信息。DME页面连续传输,没有任何空闲或间隙。
前八个过渡位置包含曼彻斯特违规分隔符,标记页面的开头。曼彻斯特违规包含位置1和位置5的转换,其余位置没有转换。曼彻斯特违规定界符是转换之间唯一出现四个间隔的地方。以支持接收器获得页面同步。如下为基页格式(支持NP):
D[4:0]包含选择器字段(IEEE802.3当为00001)。
D[9:5]包含Echoed Nonce字段。ACK=0时为0,ACK为1时为对端发送的nonce随机数。
D[12:10]包含用于通告与PHY无关的功能的能力位。即C[1:0],用于通告PAUSE功能。剩余的能力位C[2]被保留。
D[15:13]包含RF,Ack和NP位。这些位的功能应符合28.2.1.2的规定。
D[20:16]包含Transmitted Nonce字段。即发送给对端的随机数。
D[45:21]包含能力集字段。如下所示(CR4、CR10为面板口,其它均为背板口):
D[47:46]包含FEC能力(具体参看cl74)。
a) F0 is FEC ability [能力位]
b) F1 is FEC requested [请求启用位]
73.7.5重新协商功能
来自任何实体(例如管理代理)的重新协商请求,应使仲裁功能可以解决所有依赖于技术的PHY,并停止任何传输数据和链路转换活动,直到break_link_timer到期为止。 因此,链接伙伴将进入链接失败并恢复正常的自动协商。 在break_link_timer到期后,本地设备将通过发出DME页面来恢复自动协商,其中基页在tx_link_code_word [48:1]中有效。 一旦自动协商完成,如果接收link_control = ENABLE,HCD返回link_status = FAIL,则将进行重新协商。为了允许PHY有机会使用其自己的链路完整性测试功能来确定链路完整性,link_fail_inhibit_timer限定link_status = FAIL指示,使得如果link_fail_inhibit_timer已经到期并且PHY仍指示link_status = FAIL则发生重新协商。
73.7.7下一页功能
Next Page功能使用Auto-Negotiation仲裁机制允许交换Next Pages信息,这可能遵循用于基本链接码字的传输和确认程序。下一页包含消息代码字段和未格式化的代码字段两个字段。使用双重确认系统。Ack用于确认收到信息;Ack2用于指示接收方能够对消息中定义的信息(或执行任务)进行操作。Toggle位用于确保本地设备和链接对端之间的正确同步。
如果链接的任何一端将Next Page位设置为逻辑1,表示它至少有一个要发送的Next Page,则在交换基本链接代码字之后进行下一页交换。下一页交换包括使用正常的自动协商仲裁过程来发送下一页消息。
消息代码包含预定义的11位代码,未格式化的代码包含32位代码。可以传输具有适当消息代码和未格式化代码的多个下一页以发送扩展消息。每个Next Pages系列都有一个Message代码,用于定义如何解释为格式化的代码。可以按任何顺序发送任意数量的下一页;但是,建议将发送的下一页的总数保持为较小,以最大限度地缩短链接启动时间。
当链接的两端将其下一页位设置为逻辑0时,下一页传输结束,表示两者都没有任何额外的传输。一台设备可能比另一台设备有更多的页面要传输。一旦设备完成其下一页信息的传输,它将发送具有空消息代码的下一页并且NP位设置为逻辑0,同时其链接对端继续发送有效的下一页。自动协商设备应识别消息页面的接收,其中包含空消息代码作为其链接对端的下一页信息的结尾。
73.7.7.1下一页编码
对于NP,Ack,MP,Ack2和T位,下一页应使用图73-7和图73-8中所示的编码。 这些位应按照28.2.3.4的规定运行。下一页编码有两种类型 - 消息和未格式化。 对于消息下一页,MP位应设置为逻辑1,11位字段D [10:0]应编码为消息代码字段,D [47:16]应编码为无格式代码字段。 对于未格式化的下一页,MP位应设置为逻辑0; D [10:0]和D [47:16]应编码为无格式代码字段。
73.8管理寄存器要求
管理接口用于向管理实体传递自动协商信息。Cl45管理数据输入/输出(MDIO)接口的MMD7(MDIO管理设备7,MMD name:Auto-Negotiation)应作为逻辑接口提供,用于访问AN和其他管理目的的设备寄存器。CL45的MIDO电气接口是可选的。在没有MDIO的物理实例的情况下,建议提供等效机制来访问寄存器。表73-6提供了底板以太网自动协商变量到管理寄存器的映射。
74. BASE-R PHY的前向纠错(FEC)子层
74.1概述
本节规定了10GBASE-R和其他BASE-R PHY的可选前向纠错(FEC)子层。 FEC子层可以放置在10GBASE-R和其他BASE-R物理层实现的PCS和PMA子层之间,如图74-2,图74-3和图74-4所示。对于具有多通道BASE-R PCS的PHY,FEC子层针对每个PCS通道进行实例化,并基于每个PCS通道自主运行。FEC提供编码增益以增加链路预算和BER性能。Cl72和Cl84中描述的10GBASE-KR和40GBASE-KR4 PHY可选择使用FEC子层来增加比第Cl69中定义的更广泛的背板通道集的性能。Cl85中描述的40GBASE-CR4和100GBASE-CR10 PHY可选择使用FEC子层将BER性能提高到10-12以上。
74.2目标:该一节在IEEE802.3-2015中已经失效。
74.3与其他子层的关系:图74-1描述了MAC和协调子层(RS),BASE-R PCS,BASE-R FEC(显示为阴影),BASE-R PMA和BASE-R PMD,ISO / IEC 8802-2 LLC和ISO / IEC以及ISO/IEC开放系统互连(OSI)参考模型之间的关系。
74.4子层间接口
提供FEC服务接口以允许FEC子层将信息传送到PCS和从PCS传送信息。抽象服务模型用于定义此接口的操作。对于10GBASE-R,FEC服务接口直接映射到第49章中定义的PCS的PMA服务接口,下层FEC子层接口映射到第51章中定义的串行PMA子层提供的服务接口。对于40GBASE-R和100GBASE-R,FEC服务接口是80.3中定义的子层间服务接口的实例,83.2中定义的PMA服务接口也是如此。
对于40GBASE-R和100GBASE-R,FEC服务接口可以连接到PCS,如图74-1所示,也可以连接到PMA,如图83-2所示,其中FEC和PCS位于由XLAUI / CAUI-n连接的独立设备中。
该标准根据位,八位位组,数据组,数据单元和信号定义了这些接口; 但是,如果实现遵循服务接口的逻辑模型,则实现者可以选择其他数据路径宽度和其他便于实现的控制机制。
74.4.1 10GBASE-R PHY的功能框图
图74-2显示了10GBASE-R PHY的FEC功能框图以及PCS和PMA子层之间的关系。
74.4.2 40GBASE-R PHY的功能框图
图74-3给出了40GBASE-R PHY的FEC功能框图以及PCS和PMA子层之间的关系。
74.4.3 100GBASE-R PHY的功能框图
图74-4给出了100GBASE-R PHY的FEC功能框图以及PCS和PMA子层之间的关系。
74.5 FEC服务接口
提供FEC服务接口以允许PCS将信息传送到FEC和从FEC传送信息。FEC服务接口相当于10GBASE-R的PMA服务接口和80.3中为40GBASE-R和100GBASE-R定义的子层间服务接口的实例。这些服务以抽象方式定义,并不意味着任何特定实现。FEC服务接口支持使用请求和指示原语在链路任一侧的PCS实体之间交换数据单元。数据单元由FEC映射到FEC块并传递给PMA,反之亦然。
对于10GBASE-R以及40GBASE-R和100GBASE-R,服务原语的定义不同。
已经定义了PMA服务接口的可选PHY实例(见第51章,附件83A,附件83B,附件83D和附件83E)。 10GBASE-R有XSBI(10 Gigabit Sixteen-Bit Interface),40GBASE-R有XLAUI,100GBASE-R有CAUI-n。如果需要,具有PMA的这些PJHY实例也可以用于FEC服务接口。
74.5.1 10GBASE-R服务原语
在FEC服务接口中定义了以下原语:
a)FEC_UNITDATA.request(tx_data-group <15:0>)
b)FEC_UNITDATA.indication(rx_data-group <15:0>)
c)FEC_SIGNAL.indication(SIGNAL_OK)
d)FEC_TX_MODE.request(tx_mode)
e)FEC_RX_MODE.request(rx_mode)
f)FEC_ENERGY.indication(energy_detect)
g)FEC_LPI_ACTIVE.request(rx_lpi_active)
d),e),f)和g)仅用于可选的EEE能力。
FEC服务接口直接映射到第49章中定义的10GBASE-R PCS提供给PMA的服务接口。FEC_UNITDATA.request映射到PMA_UNITDATA.request原语;FEC_UNITDATA.indication映射到PMA_UNITDATA.indication原语;PMA_SIGNAL.indication映射到10GBASE-R PCS的PMA_SIGNAL.indication原语(即在10GBASE-R中不实现FEC子层,或者说非完整FEC子层)。
如果支持可选的节能以太网(EEE)功能(参见条款78),则具有PMA子层(或FEC子层)的接口包括rx_mode和tx_mode以控制较低子层中的power状态和energy_detect,指示PMD子层是否在接收器处检测到信号。
74.5.2 40GBASE-R和100GBASE-R服务原语
40GBASE-R和100GBASE-R的FEC服务接口是在80.3中定义的子层间服务接口的实例。 FEC服务接口原语总结如下:
a)FEC : IS_UNITDATA_i.request
b)FEC : IS_UNITDATA_i.indication
c)FEC : IS_SIGNAL.indication
d)FEC_TX_MODE.request(tx_mode)
e)FEC_RX_MODE.request(rx_mode)
f)FEC_RX_TX_MODE.indication(rx_tx_mode)
g)FEC_LPI_ACTIVE.request(rx_lpi_active)
h)FEC_ENERGY.indication(energy_detect)
d),e),f),g)和h)项仅用于可选的EEE能力。
40GBASE-R FEC具有四个并行比特流,因此对于40GBASE-R,i = 0到3; 100GBASE-R FEC具有二十个并行比特流,因此对于100GBASE-R,i = 0到19。PCS(或PMA)连续向FEC发送四个或二十个并行比特流,每个PCS通道一个,每个标称信令速率为10.3125 GBd(40GBASE-R)和5.15625 GBd(100GBASE-R)。
FEC:IS_SIGNAL.indication原语由FEC发送到PCS(或PMA)以指示接收过程的状态。 FEC:IS_SIGNAL.indication由FEC接收过程生成,以便将严重错误条件的检测(例如,没有从PMA子层接收到有效信号)传播到PCS(或PMA)。
FEC:IS_SIGNAL.indication中的SIGNAL_OK参数可以采用以下两个值之一:OK或FAIL。值OK等于true,表示FEC接收过程成功,描述了从由FEC_SIGNAL_OK变量指示的PMA子层接收的所有输入数据流,均为有效有效载荷信息,对于所有数据流,该有效载荷信息通过FEC:IS_UNITDATA_i.indication原语呈现给PCS(或PMA)。值FAIL等于false,表示由FEC_SIGNAL_OK变量指示的接收过程检测到了错误,这阻止了有效数据被呈现给PCS(或PMA),在这种情况下,FEC:IS_UNITDATA_i.indication原语是来自PMA的PMA:IS_UNITDATA_i.indication原语的直接传递。
FEC_TX_MODE.request中的tx_mode参数从PCS发送。 当发送器处于TX_QUIET状态时,它被设置为QUIET,当发送器处于TX_ALERT状态时,它被设置为ALERT,否则被设置为DATA。
FEC_RX_MODE.request中的rx_mode参数从PCS发送。 当接收器处于RX_QUIET状态时,它被设置为QUIET,否则设置为DATA。
FEC_RX_TX_MODE.indication原语传递rx_tx_mode参数。 该参数指示PMA子层从接收信号推断出的tx_mode的值。如果没有EEE深度睡眠功能,则永远不会生成该原语,并且子层的行为就像rx_tx_mode = DATA一样。 参数rx_tx_mode被分配以下值之一:DATA,QUIET或ALERT。
FEC_LPI_ACTIVE.request中的rx_lpi_active参数是从PCS发送的布尔变量,当LPI模式在接收器处于活动状态时设置为TRUE,否则设置为FALSE。
FEC_ENERGY.indication中的energy_detect参数是一个布尔变量,它向PCS指示在PMD处检测到能量。
74.8 FEC MDIO功能映射
第45章中描述的可选MDIO功能定义了几个变量,这些变量为PHY提供控制,状态,能力/能力,错误指示信息。 如果实现了MDIO,它应将MDIO变量映射到FEC变量,如表74-1所示(74.7为FEC层结构与编码细节,74.8为FEC宏观性的信息,重点关注74.8即可)。
74.8.1 FEC能力
由于FEC是可选的子层,因此每个BASE-R PHY类型的变量FEC_ability指示FEC能力。 应提供MDIO接口或等效管理接口以访问BASE-R PHY类型的变量FEC_ability。 FEC_ability变量位设置为1以指示PHY支持FEC子层,否则默认为零。
BASE-R PHY的FEC_ability变量映射到寄存器位1.170.0(参见45.2.1.92.1)。
链路伙伴之间的FEC能力可以使用73.6.5中定义的第73条自动协商进行协商。 仅当链路伙伴都通告他们具有FEC能力并且其中一个请求通过自动协商功能启用FEC时,才在链路上启用FEC功能。
74.8.2 FEC Enable
FEC子层应具有启用或禁用FEC功能的能力。应提供MDIO接口或等效管理接口以访问BASE-R PHY的FEC_Enable变量(参见45.2.1.93寄存器位1.171.0)。当FEC_Enable变量位设置为1时,将启用BASE-R PHY的FEC。当变量设置为零时,在BASE-R PHY中禁用FEC。执行PHY复位时,此变量应设置为零。当禁用FEC功能时,PHY应具有绕过FEC编码和解码功能的机制,以免引起与编码或解码功能相关的额外延迟。
74.8.3 FEC Enable错误指示
如果支持此能力,则FEC子层可以具有使BASE-R FEC解码器能够通过如74.7.4.5中定义的BASE-R PHY的同步位,向上层(PCS)指示解码错误的选项。应提供MDIO接口或等效管理接口以访问变量FEC_Enable_Error_to_PCS(错误指示使能位)。当变量设置为1时,这使得能够通过同步位到PCS层指示解码错误。设置为零时,将禁用错误指示功能。
74.8.3.1 FEC错误指示能力
FEC错误指示能力应由变量FEC_Error_Indication_ability(错误指示能力位)指示。该变量设置为1表示BASE-R FEC能够指示PCS层的解码错误。如果BASE-R FEC不支持此功能,则变量设置为零。应提供MDIO接口或等效管理接口以访问变量FEC_Error_Indication_ability。
74.8.4 FEC错误监控功能
以下计数器适用于FEC子层管理和错误监视。 如果提供了MDIO接口(参见第45条),则可通过该接口访问它。 如果不是,建议提供等效访问。 在读取或复位FEC子层时,这些计数器复位为零。当计数器到达计数上限时(全为1),它会停止计数。计数器的目的是帮助监控链接的质量。如果EC_LPI_ACTIVE.request(rx_lpi_active)为TRUE,则应禁用这些计数器。
74.8.4.1 FEC_corrected_blocks_counter
校正的块是具有无效奇偶校验的FEC块,并且已经由FEC解码器校正。
FEC_corrected_blocks_counter(对于单通道PHY)或FEC_corrected_blocks_counter_i(对于多PCS lane PHY,其中i = 0到3表示40 Gb / s,i = 0到19表示100 Gb / s),当FEC_SIGNAL.indication或FEC:IS_SIGNAL.indication为OK,对于每个校正的FEC块计数一次。这些是32位计数器。这些变量通过管理接口访问,该接口可映射到45.2.1.94(1.172,1.173)中针对单通道PHY定义的寄存器,和45.2.1.116(1.300至1.339)针对多通道PHY的定义。
74.8.4.2 FEC_uncorrected_blocks_counter
未校正的块是具有无效奇偶校验的FEC块,并且未被FEC解码器校正。
对于FEC_uncorrected_blocks_counter或FEC_uncorrected_blocks_counter_i来说,当FEC_SIGNAL.indication或FEC:IS_SIGNAL.indication为OK时,对于每个未校正的FEC块计数一次。这些是32位计数器。这些变量可通过管理接口访问,该接口可映射到45.2.1.95(1.174,1.175)中针对单通道PHY定义的寄存器和45.2.1.117(1.700至1.739)针对多通道PHY的定义。
74.9 BASE-R PHY测试模式
10GBASE-R PCS提供测试模式功能,PCS发送通道和接收通道均可在正常模式或测试模式模式下运行(见49.2.2)。 当10GBASE-R PHY配置为测试模式模式时,可以通过将FEC Enable变量设置为零来禁用FEC功能,因此可以将10GBASE-R PCS的测试模式发送到PMA服务接口,绕过 FEC编码和解码功能。
第82章PCS也可以在测试模式模式下运行(见82.2.11); 但是,加扰的空闲测试模式不需要绕过FEC编码和解码。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)