cavium CN71XX芯片 GSER Interface总结
General Serializer/Deserializer (GSER) Interface 通用串行器/解串器接口。
今日总结:
今天主要学习了General Serializer/Deserializer (GSER)通用串行器/解串器,主要做出如下总结:
1、SerDes是一种主流的时分多路复用(TDM)、点对点(P2P)的串行通信技术。
2、SerDes的工作原理为:在发送端多路低速并行信号被转换成高速串行信号,经过传输媒体(光缆或铜线),最后在接收端高速串行信号重新转换成低速并行信号。简而言之就是给使信号传输的更快。
3、SerDes通过以上的工作方式就实现了充分利用传输媒体的信道容量,减少所需的传输信道和器件引脚数目,从而达到了提升信号的传输速度,从而大大降低通信成本的目的。
4、而在CN71XX芯片中GSER模块不仅要控制SerDes双通道模块以实现信号转换功能,还要管理与CN71XX中各种MAC的数据连接。
5、今天做总结发现自己对于大的知识框架的认识还不够清晰,从而学习成果不佳,学习方式有待改善。首先要把握总的芯片协处理器的工作关系框架图,然后再去一一去搞懂其功能具体实现方式和一些参数的设置问题。
GSER块控制SERDES双通道模块(DLMS),并管理与CN71xx中各种MAC的数据连接。
通常,在与相应的MAC一起使用之前,需要一系列事件来初始化DLMS
DLM0 初始化
DLM 0只连接两个GMX Mac。主PLL、TX通道和RX通道都必须初始化。
主PLL初始化:
1、写入GSER(0)DLM(0)REFUSEPAD[REFUSEPAD]=1(选择外部参考时钟输入,如果需要)。否则,应将其设置为0以使用内部参考时钟输入。
2、如果参考时钟选择需要,写入gser(0)_dlm(0)_refclk_sel[refclk_sel]。如果gser(0)_dlm(0)_ref_use_pad[ref_use_pad]=1,则不使用该位。
3、如果需要,写入gser(0)_dlm(0)_ref_clkdiv2[ref_clkdiv2](如果参考时钟100兆赫,则必须进行设置。)
4、写GSER(0)_DLM(0)_MPLL_MULTIPLIER[MPLL_MULTIPLIER].有关编程值,请参见表21-1。
5、清除GSER(0)_DLM(0)_test_powerdown[test_powerdown]=0
6、设置 GSER(0)_DLM(0)_REF_SSP_EN[REF_SSP_EN] = 1.
7. 设置GSER(0)_DLM(0)_MPLL_EN[MPLL_EN] = 1.
8. 清除GSER(0)_DLM(0)_PHY_RESET[PHY_RESET] = 0.
9、投票直到MPLL锁定。等待GSER(0)_DLM(0)_MPLL_STATUS[MPLL_STATUS]=1
(投票poll什么意思?)
TX通道初始化
1、写入GSER(0)_DLM(0)_TX_RATE[TXN_RATE]。根据要求的数据速率设置(见表21-1)
2、设置GSER(0)_DLM(0)_TX_EN[TXN_EN]=1。
3、设置GSER(0)_DLM(0)_TX_CM_EN[TXN_CM_EN]=1。
4、设置GSER(0)_DL m(0)_tx_data_en[TXN_data_en]=1.
5、清除GSER(0)_DLM(0)_TX_RETH[TXN_RETH]=0。
6、投票GSER(0)_DLM(0)_TX_Status[TXN_Status,TXN_CM_STATUS],直到两者都设置为1为止。 直到DLM准备好
RX通道初始化
1、写入GSER(0)_DLM(0)_RX_RATE[RXN_RATE](必须匹配GSER(0)_DLM(0)_TX_RX_RX[TXN_RR]设置)。
2、设GSER(0)_DLM(0)_RX_PLL_en[RXN_PLL_en]=1.
3、设置GSER(0)_DLM(0)_RX_Data_en[rxn_data_en]=1。
4、清除GSER(0)_DLM(0)_RX_Reset[RXN_Reset]=0。
现在可以启用GMX:设置GMX(0.1)_INF_mode[en]=1。
dlm 0数据速率配置表显示在表21-1
DLM 1/2初始化:
DLM 1只与PEM 0和PEM 1 Mac连接,而DLM 2可以与PEMS 0、1或2或SATA MAC连接。
SATA模式初始化
1、编写GSER(0)_DLM 2_REFCLK_SEL如果参考时钟选择需要的话。
2、编写GSER(0)_DLM2_MPLL_MULTIPLIER[MPLL_MULTIPLIER].对于100 MHz参考时钟,设置为0x1E。有关编程值,请参见表21-2。
3、清除G Ser(0)_dlm 2_test_powerdown[test_powerdown]=0。
4、清除GSER(0)_DLM 2_PHY_RESET。
5、设置GSER(0)_SATA_CFG[SATA_en]=1以配置DLM 2多路复用。
6、清除LAE 0和LAE 1重置:GSER (0)_SATA_RX_INVERT [L0_RST,L1_RST]=0
sata配置表的dlm 2数据速率如表21-2所示。
PCIe RC模式初始化
1、编写GSER 0_DLM(1.2)_REFCLK_SEL[REFCLK_SEL]如果参考时钟选择需要的话
2、如果需要,编写GSER 0_DLM(1.2)_ref_CLKDIV 2[ref_CLKDIV2]=1( 如果参考时钟>100 mhz则必须设置)
3、写入GSER0_DLM(1..2)_MPLL_MULTIPLIER[MPLL_MULTIPLIER].
用于100 MHz参考时钟,设置为0x19。
用于125 MHz参考时钟,设置为0x28。p
有关编程值,请参见表21-3
4、配置PCIe管道:
a.编写GSER 0_PCIe_PIPE_PORT_SEL[PIPE_PORT_SEL]来配置PCIe管道。
0x0=禁用所有管道
0x1=只启用pipe0(PEM04-Lane)
0x2=启用 s管道0和1(PEM 0和PEM 1 2-Lane)
0x3=启用管道0、1、2和3(PEM 0、PEM 1和PEM 3各为单车道)
b.配置GSER0_PCIe_PIPE_PORT_SEL[CFG_PEM 1_DLM 2]。如果要配置PEM 1,则此位必须反映它在逻辑上绑定到哪个DLM。此位在gser中设置多路复用逻辑,并由rst逻辑用来确定mac何时可以不再 重置。
0=PEM 1绑定到DLM 1(3×1 PCIe模式)。
1=PEM 1绑定到DLM 2(对于所有其他PCIe模式)。
5.清除GSER(0)_DLM(1.2)_TEST_POWINK。只使用DLM 1的配置不需要清除GSER(0)_DLM 2_TEST_P
6、清除GSER(0)_DLM(1.2)_PHY_Reset。只使用DLM 1的配置不需要清除GSER(0)_DLM 2_PHY_Reset
7、 重置。每个管道都有一个PIPEn_RST位。根据配置清除适当的位(重置处于高活动状态)
SGMII/1000BASE-X/QSGMII Interface接口
概览
CN71xx通过单端口/单通道数据包接口实现多达两个串行千兆媒体独立接口(SGMII)/四个串行千兆媒体独立接口(QSGMII)/1000Base-X SERDES接口。
全双工端口/通道总共由四个外部管脚组成:差分输出对和差分输入对。
CN71xx将在SERDES通道上实现SGMII、QSGMII和/或1000Base-X协议的逻辑与10/100/1000 802.3 MAC耦合。
本章的其余部分假设gmx(0..1)inf_模式[类型]=sgmii/1000base-x/qsgmii。如果不是这样,则CN71xx SGMII/1000BASE-X SERDES逻辑不可操作。
图23-1是显示CN71XX SGMII接口的结构图。
GMX实现了10/100/1000 802.3 MAC,包括4KB接收缓冲区和4KB传输缓冲区。GMX将数据包输入数据发送给PIP/IPD( 参考第9章)并接收来自PKO的数据包输出数据(参见第10章)。
PCS实现SGMII/1000BASE-X协议。PCS在MAC和SerDes通道之间进行转换。
CN71XX 将两个SerDes通道打包装入双车道模块(DLM)。
1000BASE-X是一种通用的物理层协议,用于1000 Mbps操作的全双工串行物理媒体.它在IEEE 802.3-2005规范中第36条(PCS和PMA层)和第37条(Aut)中定义。1000BASE-X将802.3 MAC所需的并行GMII接口(在第35条中定义)转换为8b/10b串行代码。当PCS(0.1)_MISC(0.3)_CTL_REG[mode]=1时,CN71XX PCS在一个全双工SerDes车道上逻辑实现1000BASE-X协议。
串行Gigabit媒体独立接口(SGMII)协议是一种利用1000BASE-X的串行协议。SGMII添加/修改/到1000BASE-X的以下特性:
●SGMII定义 特殊的物理层实现。CN71XX不提供发送时钟,也不需要接收器处的时钟。CN71XX在一个全双工SerDes 通道上实现了这个无时钟的SGMII。 Ne(新)
●SGMII在1.25Gbaud全双工通道上实现10Mbps和100Mbps以及1000Mbps全和半双工。它通过在PCS层上复制/采样,在1.25Gbaud物理信道上实现10/100。
●SGMII修改10/100/1000 PHY的可选自动协商,以直接将线路状态传递给MAC。
四串行Gigabit媒体独立接口(QSGMII)是将四个SGMII接口合并到一个SerDes通道上的一种方法。每个端口具有独立的10/100/1000 Mbs速度和双工作能力。参见QSGMII规范,修订版1.3(2月) 3,2011年)。
当PCS(0.1)_MISCn_CTL_REG[mode]=0时,CN71XX PCS逻辑实现SGMII/QSGMII协议。CN71XX在实现SGMII接口时通常是MAC,但也可以选择作为PHY。
CN71XX实现了一个包含两个全双工SerDes信道的SerDes DLM。
GMX包-接口缓冲
CN71XX包接口包含4KB接收暂存缓冲区和4KB传输暂存缓冲区。在SGMII/1000BASEX模式下,CN71XX将所有缓冲区空间分配给单个端口。在QSGMII模式(1-4端口)中,cn 71xx将这些缓冲区均匀地划分在端口之间,以便每个端口至少有1KB的接收缓冲区和1KB的传输暂存缓冲区。
如果使用两个端口(即如果GMX) (0.1)_RX_PRTS[PRTS]=GMX(0.1)_TX_PRTS[PRTS]=0x2),则每个端口具有2kb接收FIFO和2kb发送FIFO。
如果使用所有四个端口(即如果GMX(0.1)_RX_PRTS[PRT]=GMX(0.1)_TX_PR) TS[PRTS]=0x4),那么每个端口都有一个1KB的接收FIFO和一个1KB的传输FIFO。
在输出的情况下,PKO(在第10章中描述)有更多的缓冲添加到这个包接口缓冲中。更重要的是,CN71XX硬件缓冲L2/DRAM中的数据包数据,以及这个缓冲区可以比数据包接口和PKO缓冲的结合起来大很多倍。
在输入情况下,PIP/IPD(在第9章中描述)有可能耗尽所有可用的l2/dram缓冲,使包接口成为输入数据包的唯一缓冲选项。 但是大多数CN71XX应用程序使用数据包丢弃和/或支持背压来防止缓冲区耗尽(参见第9.6和9.7节)。CN71xx可以背压(通过全双工模式中的暂停数据包或半双工模式下的强制冲突),以避免在其使用超过可编程开/关阈值时输入缓冲区溢出 (参阅第23.4.3.2条)
PCS自动协商、模式和GMX配置
自动协商
自动协商在IEEE 802.3-2005规范第37条中描述.CN71XX只支持基页,也不支持下一页。通过PCS(0.1)_MR(0.3)_CONTROL_REG[AN_EN]在CN71XX上启用自动协商。
CN71XX在下列任何情况下启动自动协商状态机制(请注意,即使在PCS(0.1)_MR(0.3)_CONTROL_REG[AN_EN]=0,禁用自动协商时,自动协商状态机制仍“启动”):
CN71XX禁止PCS自动协商任何芯片复位序列(即PCS(0.1)_MR(0.3)_CONTROL_REG[AN_EN]的复位值为0)
。当自动协商被禁用,因为它遵循任何芯片复位,大多数自动协商顺序是避免的,如802.3规范第37条所述。
当启用自动协商时,CN71XX实现三种不同的自动协商协议之一:
1、在1000BASE-X模式(即PCS(0.1)_MISC(0.3)_CTL_REG[mode]=1)中,CN71XX实现了1000BASE-X自动协商协议
2、在SGMII或QSGMII模式(例如PCS(0.1)_MISC(0.3)_CTL_REG[mode]=0)中,CN71XX实现了修改后的自动谈判协议:
-如果PCS(0.1)_MISC(0.3)_CTL_REG[MAC_PHY]=0,则CN71XX充当MAC
-如果PCS(0.1)_MISC(0.3)_CTL_REG[MAC_PHY]=1,则CN71XX充当PHY
CN71xx清除PC(0)。1)_MR(0)。3)_Status_REG[AN_CPT]无论何时开始自动协商,则在自动协商完成后设置它
启用自动协商后,PCS通常使用自动协商结果(即PCS(0.1)_an(0.3)_REG[DUP,SPD])作为其当前模式。PC(0.1)_MISC(0.3)_CTL_REG[AN_OVRD]可选择地将CN71XX PCS切换为使用PCS(0.1)_MR(0.3)_CONTROL_REG[DUP,SPDLSB,SPDMSB]来替代。
当PCS(0.1)_MR(0.3)_CONTROL_REG[UNI]=1时,不应启用自动协商。
第23 . 6.4 节和第23 . 7.5 节描述了在自动谈判期间/ 之后可能发生的中断。 第23 . 7.2 节描述了应该用于执行自动协商的软件序列。
PCS模式的确定
PCS逻辑的当前模式由接口速度(1000、100、10)和双工状态(全双工或半双工)来描述。
PCS逻辑的当前模式取决于是否启用自动协商及其状态。
如果禁用自动协商(即PCS(0.1)_mrn_control_reg[an_en]=0),或者如果自动协商结果被覆盖(即PCS(0.1)_MISCn_CTL_REG[AN_OVRD]=1),则PCS(0.1)_MRN_Con trol_Reg[DUP,SPDLSB,SPDMSB]表示PCS逻辑的当前工作模式
如果启用了自动谈判(即PCS(0.1)_mrn_control_reg[an_en]=1),并且自动协商结果没有被覆盖(即PCS(0.1)_MISCn_CTL_REG[AN_OVRD]=0)和自动协商完成(即在PCS(0.1)_MRN_STATUS_REG[AN_CPT]=1之后),然后PCS(0.1)_ANN_REG[DUP,SPD]表示当前PCS逻辑的工作模式。
第23.4.5.1节描述了当速度为100或10(在SGMII模式下)时,PCS接收字节减少逻辑的更多内容。PCS(0..1)MISCnCTLREG[SAMPPT]需要为这些模式适当选择。推荐的PCS(0.1)_MISCn_CTL_REG[SAMP_PT]值在100和10分别为5和50。
软件可以随时读取PCS(0.1)_MRN_Status_Reg[LNK_ST],以确定信道可靠性的硬件视图。当使用自动协商时,PCS(0.1)_MRN_Status_Reg[LNK_ST]采取 考虑到发送和接收信道的健康,假设链路合作伙伴遵循标准的自动协商规则。当不使用自动协商时,PCS(0.1)_MRN_Status _REG[LNK_ST]只是表示接收信道的健康状况
基于PCS模式的GMX配置
SGMII/1000BASE-X/QSGMII特性
本节讨论CN71XX gmx/pcs体系结构提供的显著特性,其中一些不属于ieee 802.3规范。
QSGMII模式
QSGMII允许硬件将SGMII/1000BASE-X接口扩展到四个端口。要启用QSGMII模式,请设置GMX(0.1)_INF_mode[mode]=QSGMII。
QSGMII将四个端口合并到一个SerDes车道上。每个GMX中的Ports1-3只有在QSGMII模式下才可用。每个端口可以配置速度(10/100/1000 Mbs)、双工(半双工/全双工)。
SERDES通道极性
CN71XX PCS逻辑可以控制和自动检测SerDes极性。在某些情况下,如果实现差别化对的两条线被交换,板路由就可以简化。
在传输端,PCS(0.1)_TX_RXN_极性_REG[TXPLRT]可选地反转相应的SerDes差分输出对
在接收端,PCS接收逻辑尝试动态地确定极性作为代码组同步的一部分。每次发生代码组同步(即每当PCS(0.1)_rxn_sync_reg[sync]从0过渡到1时),PC(0.1)_TX_RXN_POLARITY_REG[AUTORXPL]表示在该代码组同步期间计算的极性。通常应使用此结果,但PCS(0..1)TXRXnPOLARITYREG[RXOVRD]也可以选择预配置的接收极性PCS(0..1)_TX_RXn_POLARITY_REG[RXPLRT]来替代自计算的PCS(0..1)_TX_RXn_POLARITY_REG[AUTORXPL]。在发送器不完全符合第36 802.3条规范的情况下,可能需要这种过载。
启用任何回送选项时,不应使用自计算的极性,因此在这种情况下,PCS(0.1)_TX_RXN_O极化_REG[RXOVRD]应设置为1。第23.9节描述回送模式。
flow control流控制
下面的小节讨论CN71XX GMX如何处理接收和传输路径的流控制。第23.4.3.1节描述了远程设备控制流向CN71XX的数据流的能力。 第23.4.3.2节描述了CN71xx控制流向远程设备的数据流的能力。
/****************************************************************************************************/
Reduced Gigabit Media-Independent Interface(RGMII)简化千兆媒体独立接口(RGMII)
CN71XX通过单个端口/通道数据包接口实现单个RGMII接口。全双工通道共包括8个外部信号:4个接收信号和4个传输信号。CN71XX将实现RGMII协议的逻辑耦合为10/100/1000 802.3 MAC,完全符合IEEE 802.3和HP RGMII 1.3规范。
图 25-1 是显示 CN 71 XX 数据包接口的框图。 AGL 实现了 10/100 / 1000802.3 MAC ,包括 4 K B接收缓冲区和 2 K B发送缓冲区. 向 AGL 发送数据包输入数据到 PIP/IPD(参见第9章)并从PKO接收数据包输出数据(参见第10章)
GMX Packet-Interface Buffering
cn71xx数据包接口包含一个4kb的接收暂存缓冲区和一个2kb的传输暂存缓冲区。
在输出的情况下,PKO(在第10章中描述)有更多的缓冲添加到这个包接口缓冲中。更重要的是,CN71XX硬件在L2/DRAM中缓冲数据包数据,这种缓冲可以是数据包接口和维PKO缓冲组合的许多倍。
在输入情况下,PIP/IPD(在第9章中描述)有可能耗尽所有可用的l2/dram缓冲,使包接口成为输入数据包的唯一缓冲选项。 但大多数CN71XX应用程序使用数据包丢弃和/或垂直背压来防止缓冲区耗尽(参见第9.6和9.7节)。CN71XX可以在全双工模式下通过暂停数据包进行背压。 或在半双工模式下强制冲突),以避免输入缓冲区在其使用超过可编程开关阈值时溢出(请参阅第25.3.2节)。
AGL特性
本节讨论AGL提供的一些值得注意的特性,其中一些特性超出了802.3规范的范围。
下面的小节讨论CN71XX AGL如何处理接收和传输路径的流控制。第25节描述了远程设备控制流向CN71XX的数据流的能力。 .3.1.1和CN71XX控制流向远程设备的数据流的能力在第25.3.1.2节中作了说明。
PLL:锁相环,用来统一整合时钟脉冲信号,使内存能在正确的频率下正确的存取资料。
SerDes:是英文SERializer(串行器)/DESerializer(解串器)的简称。它是一种主流的时分多路复用(TDM)、点对点(P2P)的串行通信技术。即在发送端多路低速并行信号被转换成高速串行信号,经过传输媒体(光缆或铜线),最后在接收端高速串行信号重新转换成低速并行信号。这种点对点的串行通信技术充分利用传输媒体的信道容量,减少所需的传输信道和器件引脚数目,从而大大降低通信成本。这种点对点的通信技术可以提升信号的传输速度,并且降低通信成本。
autonegotiation(自动协商):实现什么样的功能,存在的意义是什么?
自动协商是以太网通过双绞线使用的信令机制和程序,两个连接的设备通过该机制和程序选择公共传输参数,例如速度,双工模式和流量控制。在此过程中,连接的设备首先分享这些参数的功能,然后选择它们都支持的最高性能传输模式。
自动协商可以由能够具有多于一种传输速率,不同双工模式(半双工和全双工)以及相同速度的不同标准的设备使用(尽管实际上在每种速度下仅广泛支持一种标准)。每个设备都声明其技术能力,即其可能的操作模式,并且从它们之间共享的最佳模式中选择最佳模式,其中较高速度优先于较低速度,而全双工优选半双工以相同速度。
当能够自动协商的设备连接到不能进行自动协商的设备时,使用并行检测。如果设备不支持自动协商或在设备上以管理方式禁用自动协商,则会发生这种情况。在这种情况下,能够自动协商的设备可以确定并匹配与其他设备的速度。此过程无法确定双工功能,因此始终假定为半双工。
除速度和双工模式外,自动协商用于传送端口类型(单端口或多端口)和主从参数(无论是否手动配置,如果是这种情况,设备是主设备还是从设备,以及否则为主从种子位。
1995年快速以太网标准IEEE 802.3u 中的第一版自动协商规范对不同的解释持开放态度。尽管大多数制造商以一种方式实施此标准,但其他一些制造商(包括网络巨头思科)以不同的方式实施了该标准。实现它的设备之间的自动协商失败。这种自动协商问题导致许多网络管理员手动设置每个网络接口卡的速度和双工模式。但是,使用手动设置配置也可能导致双工不匹配,特别是当两个连接的设备是:
一个手动设置为半双工,一个手动设置为全双工
一个设置为自动协商,另一个设置为全双工
1.MAC
MAC是Media Access Control的缩写,即媒体访问控制子层协议。该协议位于OSI七层协议中数据链路层的下半部分,主要负责控制与连接物理层的物理介质。在发送数据的时候,MAC协议可以事先判断是否可以发送数据,如果可以发送将给数据加上一些控制信息,最终将数据以及控制信息以规定的格式发送到物理层;在接收数据的时候,MAC协议首先判断输入的信息并是否发生传输错误,如果没有错误,则去掉控制信息发送至LLC层。以太网MAC由IEEE-802.3以太网标准定义
2.MII
MII即媒体独立接口, “媒体独立”表明在不对MAC硬件重新设计或替换的情况下,任何类型的PHY设备都可以正常工作。包括分别用于发送器和接收器的两条独立信道。每条信道都有自己的数据、时钟和控制信号。MII数据接口总共需要12个信号。
MII以4bit,即半字节方式双向传送数据,时钟速率25MHz,其工作速率可达100Mb/s。MII管理接口是个双信号接口,一个是时钟信号,另一个是数据信号。通过管理接口,上层能监视和控制PHY。MII界面传递了网络的所有数据和数据的控制,而MAC对PHY的工作状态的确定和对PHY的控制则是使用SMI(Serial Management Interface)界面通过读写PHY的寄存器来完成的。PHY里面的部分寄存器是IEEE定义的,这样PHY把自己的目前的状态反映到寄存器里面,MAC通过SMI总线不断的读取PHY的状态寄存器以得知目前PHY的状态,例如连接速度,双工能力等。当然也可以通过SMI设置PHY的寄存器达到控制的目的,例如流控的打开关闭,自协商模式还是强制模式等。不论是物理连接的MII总线和SMI总线还是PHY的状态寄存器和控制寄存器都是有IEEE的规范的,因此不同公司的MAC和PHY一样可以协调工作。当然为了配合不同公司的PHY的自己特有的一些功能,驱动需要做相应的修改。
RMII(Reduced Media Independant Interface)简化媒体独立接口,是标准的以太网接口之一,比MII有更少的I/O传输。
关于RMII口/MII/GMILL的基本区别:
RMII口是用2根线来传输数据
MII口是用4根线来传输数据
GMII是用8根线来传输数据
MII/RMII只是一种接口,对于10M线速,MII的时钟是2.5M,RMII则是5M;对于100M线速,MII的时钟是25M,RMII则是50M。
MII/RMII 用于传输以太网包,在MII/RMII接口是4/2bit的,在以太网的PHY里需要做串并转换、编解码等才能在双绞线和光纤上进行传输,其帧格式遵循IEEE 802.3(10M)/IEEE 802.3u(100M)/IEEE 802.1q(VLAN)。
以太网帧的格式为:
前导符+开始位+目的mac地址+源mac地址+类型/长度+数据+padding(optional)+32bitCRC
如果有vlan,则要在类型/长度后面加上2个字节的vlan tag,其中12bit来表示vlan id,另外4bit表示数据的优先级!
3.PHY
PHY是物理接口收发器,它实现物理层。包括MII/GMII(介质独立接口)子层、PCS(物理编码子层)、PMA(物理介质附加)子层、PMD(物理介质相关)子层、MDI子层。
100BaseTX采用4B/5B编码。PHY在发送数据时,收到MAC过来的数据(对PHY来说,没有帧的概念,对它来说,都是数据而不管什么地址,数据还是CRC),每4bit就增加1bit的检错码,然后把并行数据转化为串行流数据,再按照物理层的编码规则把数据编码,再变为模拟信号把数据送出去。收数据时的流程反之。PHY还有个重要的功能就是实现CSMA/CD的部分功能。它可以检测到网络上是否有数据在传送,如果有数据在传送中就等待,一旦检测到网络空闲,再等待一个随机时间后将送数据出去。如果两个碰巧同时送出了数据,那样必将造成冲突,这时候,冲突检测机构可以检测到冲突,然后各等待一个随机的时间重新发送数据。这个随机时间很有讲究的,并不是一个常数,在不同的时刻计算出来的随机时间都是不同的,而且有多重算法来应付出现概率很低的同两台主机之间的第二次冲突。通信速率通过双方协商,协商的结果是两个设备中能同时支持的最大速度和最好的双工模式。这个技术被称为Auto Negotiation或NWAY。隔离变压器把PHY送出来的差分信号用差模耦合的线圈耦合滤波以增强信号,并且通过电磁场的转换耦合到连接网线的另外一端。RJ-45中1、2是传送数据的,3、6是接收数据的。新的PHY支持AUTO MDI-X功能(也需要隔离变压器支持)。它可以实现RJ-45接口的1、2上的传送信号线和3、6上的接收信号线的功能自动互相交换
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)