微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > RMII模式以太网PHY芯片DP83848C的应用

RMII模式以太网PHY芯片DP83848C的应用

时间:10-01 来源:单片机与嵌入式系统 宋鑫 郭勇 谢兴红 点击:

引言

  DP83848C是美国国家半导体公司生产的一款鲁棒性好、功能全、功耗低的10/100 Mbps单路物理层(PHY)器件。它支持MII(介质无关接口)和RMII(精简的介质无关接口),使设计更简单灵活;同时,支持10BASE~T和 100BASE-TX以太网外设,对其他标准以太网解决方案有良好的兼容性和通用性。

  MII(Medium Independent InteRFace)是IEEE802.3u规定的一种介质无关接口,主要作用是连接介质访问控制层(MAC)子层与物理层(PH-Y)之间的标准以太网接口,负责MAC和PHY之间的通信。由于MII需要多达16根信号线,由此产生的I/O口需求及功耗较大,有必要对MII引脚数进行简化,因此提出了RMII(Reduced Medium Independent Interface,精简的介质无关接口),即简化了的MII。

  1 硬件设计

  1.1 电路设计

  DP83848C的收发线路各是一对差分线,经过变比为1:1的以太网变压器后与网线相连。以太网变压器的主要作用是阻抗匹配、信号整形、网络隔离,以及滤除网络和设备双方面的噪音。典型应用如图1所示。

  图2是DP83848C与MAC的连接电路。其中,Xl为50 MHz的有源振荡器。

  1.2 PCB布局布线

  布局方面,精度为1%的49.9 Ω电阻和100 nF的去耦电容应靠近PHY器件放置,并通过最短的路径到电源。如图3所示,两对差分信号(TD和RD)应平行走线,避免短截,且尽量保证长度匹配,这样可以避免共模噪声和EMI辐射。理想情况下,信号线上不应有交叉或者通孔,通孔会造成阻抗的非连续性,所以应将其数目降到最低;同时,差分线应尽可能走在一面,且不应将信号线跨越分割的平面,如图4所示。信号跨越一个分割的平面会造成无法预测的回路电流,极可能导致信号质量恶化并产生EMI问题。注意,图3和图4中,阴影部分为错误方法。

  2 RMll模式描述

  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±50×10-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所示,发送延时情况如表l所列。其中,PMD为物理介质关联层(physical media depen-dent)接口。

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)("01""01""01""11")。MAC应该开始SFD之后的数据。如果检测到接收错误,在载波活动结束前,RXD[1:0]将会替换为接收字符串"01"。而由于帧中剩余数据被替换,MAC的奇偶校验将会拒绝错误的信息包。如果检测到错误的载波(坏的 SSD),RXD[1:O]将会替换为"10",直到接收事件结束。这

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top