
RMII模式以太网PHY芯片DP83848C的应用.docx
9页引言DP83848C是美国国家半导体公司生产的一款鲁棒性好、功能全、功耗低的10/100 Mbps单路物理层(PHY)器件它支持Mll(介质无关接口)和RMII(精简的介质无关接口),使 设计更简单灵活;同时,支持10BASE〜T和100BASE-TX以太网外设,对其他标准以太 网解决方案有良好的兼容性和通用性MII(Medium In depe nden t In terface)是 IEEE802. 3u 规定的一种介质无关接口,主要 作用是连接介质访问控制层(MAC)子层与物理层(PH-Y)之间的标准以太网接口,负责MAC 和PHY之间的通信由于MII需要多达16根信号线,由此产生的I / O 口需求及功耗较大, 有必要对Mil引脚数进行简化,因此提出了 RMII(Reduced Medium In depe nde nt In terface, 精简的介质无关接口),即简化了的MII1硬件设计1. 1电路设计DP83848C的收发线路各是一对差分线,经过变比为1:1的以太网变压器后与网线相 连以太网变压器的主要作用是阻抗匹配、信号整形、网络隔离,以及滤除网络和设备双方 面的噪音。
典型应用如图1所示丁 I IT & _ iRIM L~HP-1團1 DPfl3848C^型应用图2是DP83848C与MAC的连接电路其中,XI为50 MHz的有源振荡器ENET TXFin hNPT TNTJFR^T MCIOEMET WDCBNETCRS TNET RX ERKtiStT hl HtTclk'1'xixi ran rxra rxm/SNT MOT?E rx ENunTrt MDC r:El^CTtS JW7TE少亡 ftX_ER/VniZ 胡-JUqZDV1dIl_MODl-OOl»TilYA15ii RXMKHIVADl} flXI>1fFHVAPi] KXD^PHYADl) rjcdXphyaluj RA CLK.PWTt DOWWIKFL£D IJNK*AN5 LED SPKKn'AN IKRA"问mimJN2亂 IT1. 2 PCB布局布线II电源或地层不要轄越 接地层或 电源层\图3差分傅号对和覆匏B0 4畫分馆号对层间跨誡布局方面,精度为1 %的49. 9 Q电阻和100 nF的去耦电容应靠近PHY器件放置, 并通过最短的路径到电源如图3所示,两对差分信号(TD和RD)应平行走线,避免短截, 且尽量保证长度匹配,这样可以避免共模噪声和EMI辐射。
理想情况下,信号线上不应有 交叉或者通孔,通孔会造成阻抗的非连续性,所以应将其数目降到最低;同时,差分线应尽 可能走在一面,且不应将信号线跨越分割的平面,如图4所示信号跨越一个分割的平面 会造成无法预测的回路电流,极可能导致信号质量恶化并产生EMI问题注意,图3和图 4中,阴影部分为错误方法2 RMII模式描述RMII模式在保持物理层器件现有特性的前提下减少了 PHY的连接引脚RMII由参考时钟REF_CLK、发送使能TX_EN、发送数据TXD[1:0]、接收数据RXD[1:0]、载波侦听/接收数据有效CRS_DV和接收错误RX_ER(可选信号)组成在此基础上, DP83848C还增加了 RX_DV接收数据有效信号2. 1 REF_CLK——参考时钟REF_CLK 是一个连续时钟,可以为 CRS_DV、RXD[1 : O]、TX_EN、TXD[1: O]、RX_DV和RX_ER提供时序参考REF_CLK由MAC层或外部时钟源源提供REF_CLK 频率应为50 MHz±50x10-6,占空比介于35%和65%之间在RMII模式下,数据以50 MHz 的时钟频率一次传送2位因此,RMII模式需要一个50 MHz有源振荡器(而不是晶振)连接 到器件的X1脚。
2. 2 TX_EN—发送使能TX_EN表示MAC层正在将要传输的双位数据放到TXD[1: O]上TX_EN应被前导符 的首个半字节同步确认,且在所有待传双位信号载入过程中都保持确认跟随一帧数据的末 2位之后的首个REF_CLK上升沿之前,MAC需对TX_EN取反TX_EN的变化相对于 REF_CLK是同步的2. 3 TXD[1: 0]—发送数据TXD[1: O]的变换相对于REF_CLK是同步的TX_EN有效后,PHY以TXD[1: 0]作 为发送端在10 Mbps模式下,由于REF_CLK的频率是在10Mbps模式中数据速率的10倍因 此TXD[1: 0]上的值必须在10个脉冲期间保持稳定,确保DP83848C能够每隔10个周期 进行采样发送时序如图5所示,发送延时情况如表I所列其中,PMD为物理介质关联 层(physical media depe n-dent)接口TXD[1 :0]TX^ENPMD输出对图5 HN4ll£送时库2. 4 RXD[1: 0]—收数据RXD[1:0]转换是与REF_CLK同步的在CRS_DV有效后的每个时钟周期里,RXD[1:O]接收DP83848C的两位恢复数据。
在某些情况下(如数据恢复前或发生错误),则接收到 的是RXD[1: O]的预确定值而不是恢复数据CRS_DV解除确认后,RXD[1: O]为“00”, 表示进入空闲状态CRS_DV确认后,在产生正确的接收解码之前,DP83848C将保证RXD[1: 0]=“00”DP83848C提供的恢复数据总是半字节或成对双位信号的形式,这对于由前导符开始 的所有数据值都成立因为CRS_DV是异步确认的,不能假设先于前导符的“00”数据会是 双位信号形式100 Mbps模式下,在CRS_DV确认之后的正常接收过程中,RXD[1: O]将会保持“00”,直到接收器检测到正确的起始串分界符 (STart St-ream Delimiter,SSD)一旦检测到 SSD,DP83848C 将会驱动前导符(“01”), 后面紧跟着起始帧分界符(Start of Frame. Delimiter,SFD)(“0T“0T“01”“1T)MAC 应该开 始SFD之后的数据如果检测到接收错误,在载波活动结束前,RXD[1: 0]将会替换为接 收字符串“01”而由于帧中剩余数据被替换,MAC的奇偶校验将会拒绝错误的信息包。
如 果检测到错误的载波(坏的SSD),RXD[1: 0]将会替换为“10”,直到接收事件结束这种情 况下,RXD[1: O]将会从“00”变为“10”,而无需标明前导符(“01”)10 Mbps模式下,CRS_DV确认后,RXD[1: O]将会一直保持“00”,直到DP83848C 有恢复脉冲并能对接收数据进行解码为止当存在有效接收数据时,RXD[1: 0]以“01”为前 导符接收恢复的数据值因为REF_CLK频率是10 Mbps模式下数据速率的10倍,MAC 对RXD[1: 0]上的值每隔10个周期采样一次接收时序如图6所示,接收延时情况如表2 所列2 MtlR接收时的鹰时悄况st述备注堆小値/ ns/ni/nsXI时轉周期闊MHjt的黑寿甘•^―20—RXD[liaLCRS _DV.RX_DV 和 RX_ER 后XI ±升沿 时的长度■■■=^—CRSfFS 迟从PMD捲收对 的JK 号到CSS.DV的衲始■ ・IB, 5-—-CRS^S 迟 :从PMD接收对 的TR符号到 CKS^DV的初抽27RXDDP]和 RX _EK的牆后圖同从接收对上的符381CRSJOV RXDfl:O] RX ERFMD输入时整DoodocxmDocmcx2. 5 RX_DV——收数据有效尽管RMII并不要求,DP83848C还是提供了一个RX_DV信号。
RX-DV是没有结合 CRS的接收数据有效信号(Receive Data Valid)第一个正确的恢复数据(前导符)或伪载波 检测到来时,RX_DV被确认,在恢复数据的末两位传送之后解除确认通过使用该信号, 全双工MAC不必再从CRS _DV信号中恢复RX_DV信号2. 6 CRS_DV——载波侦听/接收数据有效当接收介质处于非空闲状态时,由PHY来确认CRS_DV在载波检测中,CRS_DV 依据与工作模式相关的标准异步确认10BASE_T模式下,静噪通过时发生该事件在 100BASE-TX模式,当10位中检测到2个非相邻的零值时,发生该事件在RMII规范(1. 2版)中提到,载波丢失将导致与REF_CLK周期同步的CRS_DV解 除确认,这在RXD[1: 0]半字节的首两位出现(即CRS_DV仅在半字节边界解除确认)在 CRS_DV首次解除确认后,如果DP83848C还有数据位要加在RXD[1 : O]上,则在 REF_CLK周期中,DP83848C应在每半个字节的第2个双位上确认CRS_DV,并在一个 半字节的第1个双位解除确认这样,从半字节边界开始,到CRS(载波侦听/接收信号) 在 RX_DV 前结束时,CRS_DV 以 25 MHz(100 Mbps 模式)或 2. 5MHz(10 Mbps 模式)的 频率翻转(假设当载波事件结束时DP83848C还有待传送的数据位)。
通过编程DP83848C能够与RMII规范(1. 0版)很好地兼容在该模式下,CRS_DV 将会异步地与CRS进行确认,但是要等传送完最后的数据时才会解除确认,CRS_DV在 数据包的末端不会被翻转该模式虽然不能对来自CRS_DV的CRS信号进行精确的恢复, 但是却可以使MAC层的设计更简单在出错的载波活动时间中,CRS_DV保持确认一旦确认CRS_DV,则可以认为在 RXD[1: O]上的数据是有效的然而,由于CRS_DV的确认相对于REF_CLK是异步的, 因而在正确解码接收信号之前,RXD[1: 0]上的数据应为“00”2. 7 RX_ER――接收错误遵照IEEE802. 3标准的规定,DP83848C提供一个RX_ER输出端RX_ER可以维 持一个或更多的REFCLK周期,来标识一个在当前PHY到帧的传输过程中曾出现的错误 (MAC子层不一定能检测到,但PHY可以检测到的编码错误或其他错误)RX_ER的变化 相对于REF_CLK是同步的由于DP83848C是通过以固定数据代替原来数据的方式干扰到RXD[1: O],所以MAC 不需要RX_ER,而只需CRC校验(即奇偶校验)就可以检测到错误。
2. 8冲突检测RMII不向MAC提供冲突标志对于半双工操作,MAC必须从CRS_DV和TX_EN信 号中产生它自己的冲突检测为了实现这一点MAC必须从CRS-D V信号中恢复CRS信号, 并和TX_EN进行逻辑与注意,不能直接使用CRS_DV,因为CRS_DV可能在帧的末端 触发以标志CRS解除确认3 RMII模式配置DP83848C的RMII模式配置包括硬件和软件两个方面3. 1硬件配置如图2所示,DP83848C的X1(34)脚上提供50 MHzCMOS电平的振荡信号在上电 和复位时,强制DP83848C进入RMII模式方法是通过在RX_DV / MII_MODE(39脚)接入一个上拉电阻3. 2软件配置(MAC„BASE_ ADDR + 0x100)}井 define PHY_REG_.RBR 0x17/ * RMH和Bypa诙寄存器餐/# define CR_RMI1 0。












