1 概述
1)1000BASE-T PHY 在四对 5 类平衡电缆上采用全双工基带传输。物理层从上到下有reconciliation、GMII、PCS、PMA、MDI。
2)混合器(hybrid)和消除器(canceller)的使用实现了全双工传输
3)传输的符号是从一个4-dimensional 5-level symbol constellation中选择的。每个四维符号可以看作是从集合 {2, 1, 0, –1, –2} 中提取的一维五进制符号的四元组 (An, Bn, Cn, Dn)。
4)使用连续信令系统;在没有数据的情况下,传输空闲符号。空闲模式是代码组的一个子集,代码组中每个symbol都被限制在集合 {2, 0, –2} 以提高同步性。
5)1000BASE-T PHY 可以配置为 MASTER PHY 或 SLAVE PHY。MASTER PHY 使用本地时钟来确定发送器操作的时序。 SLAVE PHY 从接收到的信号中恢复时钟并使用它来确定发送器操作的时序。
6)PCS
PCS Transmitt负责通过4D-PAM5(四维五级脉冲调制技术)生成要在四个通道上传输的连续代码组。通过这种编码方案,八位转换为四个五进制符号的一次传输(128变成625血亏?)。
PCS Receive 处理 PMA 提供的代码组。PCS Receive检测数据帧的开始和结束,并在接收数据期间将接收到的代码组解扰和解码为八位字节 RXD<7:0>,然后传递给 GMII。代码组到八位字节的转换使用 8B1Q4 数据解码技术。
此外,PCS包含PCS Carrier Sense功能、PCS Collision Presence功能和管理接口。
7)PMA
PMA 将来自 PMA 服务接口的消息耦合到平衡的布线物理介质上,并提供链路管理和 PHY 控制功能。 PMA 在长达 100 m 的四对平衡电缆上提供 125 MBaud 的全双工通信。
PMA 发送功能包括四个独立的发送器,用于在四对 BI_DA、BI_DB、BI_DC 和 BI_DD 中的每一对上生成五级脉冲幅度调制信号。
PMA 接收功能包括四个独立的接收器,用于四对 BI_DA、BI_DB、BI_DC 和 BI_DD 中的每一对上的五级脉冲幅度调制信号。
接收器负责获取时钟并向 PCS 提供由 PMA_UNITDATA.indicate 消息定义的代码组。
PMA 还包含 Link Monitor 的功能。
PMA的“PHY 控制”功能生成控制 PCS 和 PMA 子层操作的信号。 “PHY 控制”在自协商完成后开始,并提供1000BASE-T 成功操作所需的启动功能。它确定 PHY 是否在正常状态下运行,启用链路段上的数据传输,或者 PHY 是否发送表示空闲模式的特殊代码组。后者发生在共享链路段的一个或两个 PHY 不能可靠运行时。
8)PHY 以两种基本模式运行,正常模式或训练模式。在正常模式下,PCS 生成代表数据、控制或空闲的代码组以供 PMA 传输。在训练模式中,PCS 被指示仅生成空闲代码组以供 PMA 传输,这使得另一端的接收器能够进行训练,直到它准备好在正常模式下操作。
3 PCS
PCS 包括一个 PCS 复位功能和四个同步和异步操作功能。
PCS 操作功能有:PCS Transmit Enable、PCS Transmit、PCS Receive 和 PCS Carrier Sense。
所有操作功能在 PCS 复位功能成功完成后立即启动。
3.1 功能
3.1.1 复位功能
上电后或管理实体请求后,就会启动复位。
3.1.2 PCS Data Transmission Enable
输入:tx_mode、TX_ER、TX_EN 和 TXD<7:0>
输出: tx_enable、 tx_error
3.1.3 PCS Transmit function
GMII上携带的数据和状态通过很复杂的数学运算后,转化成了4维5位向量传给PMA。
PCS 发送功能根据接收是否与发送同时发生来生成 GMII 信号 COL。在不支持半双工操作的 1000BASE-T PHY 中,不需要 PCS 发送功能来生成 GMII 信号 COL。
在每个symbol周期中,PCS Transmit 生成一个代码组(An、Bn、Cn、Dn),该代码组通过 PMA_UNITDATA.request 原语传输到 PMA。 PMA 分别通过线对 BI_DA、BI_DB、BI_DC 和 BI_DD 传输符号 An、Bn、Cn、Dn。整数 n 是一个时间索引,用于建立不同symbol周期之间的时间关系。symbol周期 T 正常等于 8 ns。
在正常操作模式下,在参数 tx_enable 指示的数据流之间,PCS Transmit 使用为空闲模式定义的编码规则生成向量序列。在 tx_enable 置位后,PCS Transmit 将一个SSD(a SSD of two consecutive vectors of four quinary symbols)传递给 PMA,替换前两个前导八位字节。在 SSD 之后,使用 4D-PAM5 技术将每个 TXD<7:0> 八位字节编码为四个五进制符号的向量,直到 tx_enable 被清除。如果 TX_ER 被置1而 tx_enable 也被置位,则 PCS Transmit把指示发送错误的向量发给PMA。
请注意,如果在发送 SSD 时信号 TX_ER置位,则错误状态的传输会延迟,直到 SSD 传输完成。在 tx_enable 置低之后,会生成两个连续代码组的卷积状态复位 (Convolutional State Reset ,CSReset),然后是两个连续代码组的 ESD,然后恢复空闲或控制模式的传输。
如果PMA_TXMODE.indicate=SEND_Z, PCS Transmit通过PMA_UNITDATA.request primitive传输一个0向量给PMA.
如果PMA_TXMODE.indicate=SEND_I, PCS Transmit根据训练模式的编码规则发序列给PMA,即指采用{-2,0,+2}. 训练模式编码还考虑了参数 loc_rcvr_status 的值。通过这种机制,PHY 在空闲传输期间向链路伙伴指示其自身接收器的状态。
在正常操作模式下,PMA_TXMODE.indicate=SEND_N,PCS Transmit功能使用 8B1Q4 编码技术在每个symbol周期生成代表数据、控制或空闲的代码组。在数据传输期间,PCS 使用旁流加扰器(side-stream scrambler)对 TXD<7:0> 位进行加扰,然后将其编码为五进制符号的代码组并传输到 PMA。 在数据编码期间,PCS Transmit 使用三态卷积编码器。
从空闲或载波扩展到数据的转换通过插入 SSD,数据传输结束由 ESD表示。Further code-groups are reserved for signaling the assertion of TX_ER within a stream of data, carrier extension, CSReset, and other control functions.在空闲和载波扩展编码期间,使用符号值限制在集合 {2, 0, –2} 的特殊代码组。这些代码组也是使用发送旁流加扰器生成的。但是,空闲、SSD 和载波扩展代码组的编码规则与数据、CSReset、CSExtend 和 ESD 代码组的编码规则不同。在空闲、SSD 和载波扩展期间,PCS Transmit功能反转传输符号的符号。这允许在接收器处,表示数据、CSReset、CSExtend 和 ESD 的代码组序列与表示 SSD、载波扩展和空闲的代码组序列很容易区分开来。
PCS 编码涉及生成四位字 Sxn[3:0]、Syn[3:0] 和 Sgn[3:0],从中获得五进制符号(An、Bn、Cn、Dn)。四位字 Sxn[3:0]、Syn[3:0] 和 Sgn[3:0] 由从发送旁流加扰器导出的伪随机二进制符号序列确定。
master和slave采用不同表达式的加扰器。
3.1.4 PCS Receive function
PCS Receive功能通过参数 rx_symb_vector 接受由 PMA Receive功能提供的接收代码组。 为了实现正确操作,PCS Receive 使用在空闲模式下使用的编码规则的知识(knowledge)。 PCS Receive 生成四个五进制符号(RAn、RBn、RCn、RDn)的向量序列,并通过将参数 scr_status 设置为 OK 来指示解扰器状态的可靠获取。 处理序列(RAn、RBn、RCn、RDn)以生成信号 RXD<7:0>、RX_DV 和 RX_ER给 GMII。 PCS Receive 检测到来自远程站的数据流传输,并通过参数 1000BTreceive 将此信息传送到 PCS Carrier Sense 和 PCS Transmit 功能。
当 PMA 通过将 loc_rcvr_status 参数设置为值 OK 指示已实现正确的接收器操作时,PCS Receive 会不断检查接收到的序列是否满足空闲模式下使用的编码规则。 当检测到违规时,PCS Receive 将值 TRUE 分配给参数接收,并通过检查最后两个接收到的向量 (RAn-1, RBn-1, RCn-1, RDn-1) 和 (RAn, RBn, RCn, RDn),确定违规是由于接收 SSD 还是由于接收器错误。
在检测到 SSD 时,PCS Receive 还将值 TRUE 分配给提供给 PCS Carrier Sense 和 Collision Presence 功能的参数接收。 在 SSD 对应的两个符号周期内,PCS Receive 将 SSD 替换为前导位。 在检测到 SSD 时,信号 RX_DV 被置位,并且每个接收到的向量被解码为数据八位字节 RXD<7:0>,直到检测到 ESD。
在检测到接收器错误时,信号 RX_ER 被置位并且参数 rxerror_status 采用值 ERROR。 在检测到满足空闲模式中使用的编码规则的四个连续向量时,将取消断言 RX_ER 并转换到空闲状态 (rxerror_status=NO_ERROR)。
在接收数据流期间,PCS Receive 检查符号 RAn、RBn、RCn、RDn 是否遵循ESD的编码规则,只要它们假定值为 ±2。PCS Receive 每次处理两个连续向量n 检测 ESD。在检测到 ESD 时,PCS Receive 将 GMII 上的信号 RX_DV 置低。如果 ESD 的最后一个符号周期表明存在载波扩展,PCS Receive 将在 GMII 上置位 RX_ER 信号。如果 ESD2 quartet(应该是4bit的意思)中未指示载波扩展,PCS Receive 将值 FALSE 分配给参数接收。如果存在扩展,则在检测到有效的空闲符号周期后转换到 IDLE 状态,并且参数接收保持 TRUE,直到 check_idle 为 TRUE。如果检测到违反编码规则,PCS Receive 将置位信号 RX_ER 至少一个符号周期。
过早的流终止是由在接收数据流期间检测到无效符号引起的。然后,PCS Receive 在取消断言错误指示之前等待接收到满足空闲模式中使用的编码规则的四个连续向量。
信号 RX_ER 也在 LINK FAILED 状态下被置1,这确保了 RX_ER 在至少一个符号周期内保持1。
master和slave采用不同表达式的解扰器,跟上面PCS TX里面描述的正好相反。
3.1.5 PCS Carrier Sense function
PCS 载波侦听功能生成 GMII 信号 CRS。不支持半双工操作的 1000BASE-T PHY 不需要 PCS 载波侦听功能。
3.2 Stream structure
tx_symb_vector和rx-symb_vector的结构为IDLE SSD DATA CSRESET ESD IDLE
3.1.4 PCS Receive function
PCS Receive功能通过参数 rx_symb_vector 接受由 PMA Receive功能提供的接收代码组。 为了实现正确操作,PCS Receive 使用在空闲模式下使用的编码规则的知识(knowledge)。 PCS Receive 生成四个五进制符号(RAn、RBn、RCn、RDn)的向量序列,并通过将参数 scr_status 设置为 OK 来指示解扰器状态的可靠获取。 处理序列(RAn、RBn、RCn、RDn)以生成信号 RXD<7:0>、RX_DV 和 RX_ER给 GMII。 PCS Receive 检测到来自远程站的数据流传输,并通过参数 1000BTreceive 将此信息传送到 PCS Carrier Sense 和 PCS Transmit 功能。
当 PMA 通过将 loc_rcvr_status 参数设置为值 OK 指示已实现正确的接收器操作时,PCS Receive 会不断检查接收到的序列是否满足空闲模式下使用的编码规则。 当检测到违规时,PCS Receive 将值 TRUE 分配给参数接收,并通过检查最后两个接收到的向量 (RAn-1, RBn-1, RCn-1, RDn-1) 和 (RAn, RBn, RCn, RDn),确定违规是由于接收 SSD 还是由于接收器错误。
在检测到 SSD 时,PCS Receive 还将值 TRUE 分配给提供给 PCS Carrier Sense 和 Collision Presence 功能的参数接收。 在 SSD 对应的两个符号周期内,PCS Receive 将 SSD 替换为前导位。 在检测到 SSD 时,信号 RX_DV 被置位,并且每个接收到的向量被解码为数据八位字节 RXD<7:0>,直到检测到 ESD。
在检测到接收器错误时,信号 RX_ER 被置位并且参数 rxerror_status 采用值 ERROR。 在检测到满足空闲模式中使用的编码规则的四个连续向量时,将取消断言 RX_ER 并转换到空闲状态 (rxerror_status=NO_ERROR)。
在接收数据流期间,PCS Receive 检查符号 RAn、RBn、RCn、RDn 是否遵循ESD的编码规则,只要它们假定值为 ±2。PCS Receive 每次处理两个连续向量n 检测 ESD。在检测到 ESD 时,PCS Receive 将 GMII 上的信号 RX_DV 置低。如果 ESD 的最后一个符号周期表明存在载波扩展,PCS Receive 将在 GMII 上置位 RX_ER 信号。如果 ESD2 quartet(应该是4bit的意思)中未指示载波扩展,PCS Receive 将值 FALSE 分配给参数接收。如果存在扩展,则在检测到有效的空闲符号周期后转换到 IDLE 状态,并且参数接收保持 TRUE,直到 check_idle 为 TRUE。如果检测到违反编码规则,PCS Receive 将置位信号 RX_ER 至少一个符号周期。
过早的流终止是由在接收数据流期间检测到无效符号引起的。然后,PCS Receive 在取消断言错误指示之前等待接收到满足空闲模式中使用的编码规则的四个连续向量。
信号 RX_ER 也在 LINK FAILED 状态下被置1,这确保了 RX_ER 在至少一个符号周期内保持1。
master和slave采用不同表达式的解扰器,跟上面PCS TX里面描述的正好相反。
3.1.5 PCS Carrier Sense function
PCS 载波侦听功能生成 GMII 信号 CRS。不支持半双工操作的 1000BASE-T PHY 不需要 PCS 载波侦听功能。
3.2 Stream structure
tx_symb_vector和rx-symb_vector的结构为IDLE SSD DATA CSRESET ESD IDLE
4.2 PMA functions
主要功能模块有复位、PHY控制、链路监测、PMA TX、PMA RX、时钟恢复。
所有操作功能在 PCS 复位功能成功完成后立即启动。
4.2.1 PMA Reset function
上电后或管理实体请求后,就会启动复位。
4.2.2 PMA Transmit function
PMA 发送功能包括四个同步发送器,用于在BI_DA、BI_DB、BI_DC 和 BI_DD 的每一对上生成四个 5 级脉冲幅度调制信号。 PMA Transmit 应在由 tx_symb_vector[BI_DA]、tx_symb_vector[BI_DB]、tx_symb_vector[BI_DC] 和 tx_symb_vector[BI_DD] 给出的五进制符号调制的 MDI 脉冲上连续传输。四个发送器应由相同的发送时钟 TX_TCLK 驱动。
当 PMA_CONFIG.indicate 参数配置为 MASTER 时,PMA 发送功能应从本地时钟源获取 TX_TCLK。当 PMA_CONFIG.indicate 参数配置为 SLAVE 时,PMA 发送功能应从 恢复时钟获取 TX_TCLK。
4.2.3 PMA Receive function
PMA 接收功能包括四个独立的接收器,用于四对 BI_DA、BI_DB、BI_DC 和 BI_DD 中的每一对上的五进制脉冲幅度调制信号。 PMA Receive 包含必要的电路,用于从 MDI 通过接收对 BI_DA、BI_DB、BI_DC 和 BI_DD 接收的信号中检测五进制符号序列,并将这些序列呈现给 PCS 接收功能。
为了达到指定的性能,强烈建议 PMA Receive 包含信号均衡、回声和串扰消除以及序列估计(sequence estimation)等功能。 需要分配给 tx_symb_vector 的代码组序列来执行回声和自近端串扰消除。
PMA Receive 功能使用 scr_status 参数和均衡、消除和估计功能的状态来确定接收器性能的质量,并相应地生成 loc_rcvr_status 变量。 生成 loc_rcvr_status 的精确算法取决于实现。
4.2.4 PHY Control function
PHY Control 生成使 PHY 进入可与链路伙伴交换帧的操作模式所需的控制操作。
在自协商期间,PHY Control处于 DISABLE 1000BASE-T TRANSMITTER 状态,并且发送器被禁用。 当 Auto-Negotiation 进程断言 link_control=ENABLE 时,PHY Control 进入 SLAVE SILENT 状态。 进入此状态后,将启动 maxwait 计时器,并且PHY Control通过设置 tx_mode=SEND_Z 来强制传输零。 从 SLAVE SILENT 状态的转换取决于 PHY 是在 MASTER 还是 SLAVE 模式下运行。 在 MASTER 模式下,PHY Control立即转换到 TRAINING 状态。 在 SLAVE 模式下,仅在 SLAVE PHY 收敛其分布式(distributed)反馈均衡器 (DFE)、获取时序并获取其解扰器状态并设置 scr_status=OK 后,PHY 控制才转换到 TRAINING 状态。
对于 SLAVE PHY,自适应滤波器参数的最终收敛是在 TRAINING 状态下完成的。 MASTER PHY 在 TRAINING 状态下执行其所有接收器收敛功能。进入 TRAINING 状态后,minwait_timer 启动,PHY Control通过断言 tx_mode=SEND_I 强制传输进入空闲模式。在 PHY 成功完成训练并建立正确的接收器操作后,PCS Transmit 通过传输参数 loc_rcvr_status 将此信息传达给链路伙伴。 链路伙伴给loc_rcvr_status 的值存储在本地设备参数 rem_rcvr status 中。当 minwait_timer 到期并且满足条件 loc_rcvr_status=OK 时,如果 rem_rcvr_status=OK,则 PHY 控制转换为 SEND IDLE OR DATA 状态,如果 rem_rcvr_status=NOT_OK,则转换为 SEND IDLE 状态。在进入 SEND IDLE 或 SEND IDLE OR DATA 状态时,maxwait_timer 停止,minwait_timer 启动。
正常操作模式对应于 SEND IDLE OR DATA 状态,其中 PHY Control 断言 tx_mode=SEND_N 并且可以通过链路传输数据。 在这种状态下,当不需要发送任何帧时,就会发生空闲传输。
如果在 SEND IDLE OR DATA 或 SEND IDLE 状态中检测到不令人满意的接收器操作(loc_rcvr_status=NOT_OK)并且minwait_timer 已到期,则当前帧的传输完成并且PHY Control 进入 SLAVE SILENT 状态。 在 SEND IDLE OR DATA 状态下,只要运行可靠的 PHY 检测到远程 PHY 的运行不令人满意 (rem_rcvr_status=NOT_OK) 并且 minwait_timer 已到期,它就会进入 SEND IDLE 状态,该状态下tx_mode=SEND_I 被置位并发生空闲传输。 在这种状态下,使用参数 loc_rcvr_status=OK 执行编码。
一旦远程 PHY 发出令人满意的接收器操作信号 (rem_rcvr_status=OK) 并且 minwait_timer 已到期,则进入 SEND IDLE OR DATA 状态。
PHY 控制可以通过请求执行PCS 复位功能来强制将发送扰频器状态初始化为任意值。
4.2.5 Link Monitor function
Link Monitor 确定底层(underlying)接收通道的状态,并通过变量 link_status 进行通信。 底层接收通道的故障通常会导致 PMA 的客户端暂停正常操作。
在上电、复位或从下电状态释放时,自协商算法设置link_control=SCAN_FOR_CARRIER,并在此期间发送快速链路脉冲以向远程站指示自己的存在。 如果通过接收快速链路脉冲检测到远程站的存在,则自协商算法设置 link_control=DISABLE 并与远程站交换自协商信息。在此期间,link_status=FAIL 被置位。 如果建立了远程 1000BASE-T 站的存在,自协商算法通过设置 link_control=ENABLE 允许完全操作。 一旦实现可靠传输,变量 link_status=OK 就会被置位,在此基础上可以进行进一步的 PHY 操作。
4.2.6 Clock Recovery function
时钟恢复功能耦合到所有四个接收对。 它可以提供独立的时钟相位,用于对四对中的每一对上的信号进行采样。
时钟恢复功能应在每条线路上提供适合信号采样的时钟,以满足10^-10的误码率。 训练完成后(loc_rcvr_status=OK),接收到的时钟信号必须稳定并准备好使用。 接收到的时钟信号由 received_clock 提供给 PMA Transmit。