eva17

STM系列(4)--STM32以太网电路设计注意事项

0
阅读(1575)

1.webp.jpg

.前言

项目竞标:GE PHY芯片设计

STM32Fxx7系列(互联型产品)中内置了MAC,配合外置的PHY可以实现以太网通讯。这篇文档将介绍以太网接口的信号定义,重点介绍时钟电路的设计,并给出在实践中已成功应用的设计方案,希望可以对需要进行以太网电路设计的朋友提供帮助。

二.以太网接口

STM32的以太网支持10M/100Mbits的全双工和半双工的工作方式,其中的MAC通过MII接口或者RMII接口与PHY通讯。

1.MII

MII接口标准定义了16跟信号线,根据功能将其可以分为3组(发送,接收,载波侦听和冲突监测),另外还有用于对PHY进行配置的SMI接口。


发送

·TX_CLK:MII 接口需要 25MHz 的时钟(100Mbits 传输速率时),当以 10Mbits 的速率工作,PHY 内部的电路会对

25MHz 的信号进行十分频以得到 2.5MHz 的时钟。

·TXD[3 :0] : 根据时钟速率,不难算出 TXD 需要 4 根数据线。数据线需要与时钟保持同步。

·TX_EN : 发送使能信号,也需要与时钟保持同步。

·TX_ER : 发送错误指示信号,MAC 通过此信号向 PHY 表示数据无效。需要注意的是在许多 PHY 和 MAC 中,这个 信号是没有的(STM32 就没有这个信号,图中用虚线表示),由于在另一端的接 收信号中包含 RX_ER,因此这个 信号是不必要的。

接收

·RX_CLK接收时钟与发送时钟完全类似。

·RXD[3:0]与发送数据线完全类似。

·RX_ER:接收错误指示信号,PHY通过此信号向MAC层表示在某一帧数据中发现问题。需要与RX_DV一起使用。

·RX_DV:与RX_ER一起进行出错分析。

载波侦听和冲突监测

CRSCOL:这两根信号线在半双工工作方式下提供载波侦听和冲突监测功能,全双工下无用。


SMI接口

MDCMDIO:对PHY进行配置的接口。可以通过GPIO口进行模拟。

2.RMII


RMII接口可以简单的理解为(Reduce-MII)接口,即减少了MII接口中信号线的数量。基本原理是通过提高时钟速率来完成的(RMII的时钟为50MHz),因此发送/接收数据线都只需要两根,并合并了一定功能引脚

CRS_DV:此信号是MII接口中CRSRX_DV的复合信号。


.时钟电路设计


仔细观察图1和图2,细心的读者会发现两者在时钟电路上有着明显的区别。在MII接口电路中,时钟由PHYMAC提供

(时钟源由通讯的一方来提供);在RMII接口电路中,MACPHY共同使用来自外部的时钟信号(数据的发送方和接收方采用同一个时钟源)。

由于MACPHY的通讯速率相对较快,为保证硬件电路的可靠性,在设计中应该通过器件的数据手册了解相关参数以确定具体的电路方式。一般需要注意的有:

·上升时间/下降时间t_rise/t_fall:STM32GPIO口可以进行摆率的设置,不同摆率下上升时间和下降时间是不同的。尤为需要注意的是,当使用MCOMainClock Output需要了解此功能的读者请阅读参考手册)对多个PHY提供时钟,需考虑负载的增加,对输出能力的要求的影响。

·时钟抖动(短周期)jitter(short term)特别需要注意的是此项参数,不同的PHY对此项参数的有不同的要求,一般多要求jitter小于几十个ps,有些PHY的则要求jitter小于几百个psSTM32MCO直接输出HSE的时钟抖动一般在30~40ps,但若使用PLLHSE倍频后,再由MCO输出会带来几百个ps的时钟抖动。

下面将分别介绍目前在实践中应用最为广泛的两种接口电路。


1.MII接口设计

4.png
3MII接口设计实例

如图3所示,此系统是典型的MII接口电路设计,PHY所需的时钟由STM32MCO管脚输出(直接输出HSE的信号,没有经过PLL处理)。需保证MCO输出的时钟满足PHY的要求。

2.RMII时钟电路

5.jpg

4RMII接口设计实例

如图4所示,此系统是典型的RMII接口电路设计,MACPHY所需的时钟由外部的有源晶振(50MHz)提供,需保证OSC输出的时钟满足MACPHY的要求。

.结语

尽管本文讨论的是以太网电路的设计要点,事实上,在数字电路接口的设计中,了解信号链走向和器件的参数要求都是必要的,也只要如此,才可以保证数字电路接口的硬件可靠性。


文章来源:微信公众号 融创芯城(一站式电子元器件、PCB、PCBA购买服务平台,项目众包平台,方案共享平台)

Baidu
map