查看原文
其他

STM32网络电路设计

Firefly 知晓编程 2022-10-21




长按二维码识别关注

技术共享|资料共享|沟通交流


在之前的推文中《STM32网络之SMI接口》《STM32网络之MII和RMII接口》,介绍了STM32以太网和外部PHY的所有接口。

在之前的推文中《STM32网络之SMI接口》《STM32网络之MII和RMII接口》,介绍了STM32以太网和外部PHY的所有接口。

如果有同学对SMIMIIRMII接口不熟悉,建议看一下上面提到的两篇文章,不然可能看不太懂下文。

区域1:我们称为SMI接口,用于配置外部PHY芯片。

区域2是数据交换接口,也就是上面我们说的MII接口和RMII接口。

利用这些接口可以有多种不同的网络电路设计方案,这里我来总结下。


01MII接口方案


MII接口在文章《STM32网络之MII和RMII》已经详细介绍过了,从中得知,需要一个25MHz的时钟。

对于MII接口,最常用的方案是,STM32外接25MHz的晶振。

  1. 内部的PLL配置HCLK,提供给内核和外设等。

  2. 外部PHY连接提供了25MHz的MCO脚。

此方案适合STM32F107/2x7/4x7。


02RMII接口方案

RMII接口在文章《STM32网络之MII和RMII》已经详细介绍过了,从中得知,需要一个50MHz的时钟。


2.1、外部晶振(2个晶振)


这个方案需要外接连里两个晶振。

  1. 外接25MHz晶振,内部的PLL配置HCLK,提供给内核和外设等。

  2. 外接50MHz晶振,输出50MHz时钟,提供给MAC控制器和外部PHY。

此方案适合STM32F107/2x7/4x7。

2.2、外部晶振(1个晶振)

这种方案外部只需要接1个50M晶振。一个晶振同时给STM32和外部PHY提供时钟,这样可以省成本。

重点:STM32F2X7不能使用这种方案,只适用于STM32F107/4x7。

大家注意上图的区别

这是因为,将HSE的OSC部分滤除掉,通过HSE的bypass,已经将50MHz的时钟通过OSCIN输入到PLL,再通过PLL产生提供内核和外设的时钟。


2.3、需要强力PHY


这个方案也使用一个25MHz的晶振,但是需要一个功能强大的PHY芯片,这颗PHY可以将输入的25MHz的时钟内部倍频到50MHz时钟,然后输出给STM32的MAC控制模块。

  1. 外接25MHz晶振,内部的PLL配置HCLK,提供给内核和外设等。

  2. STM32通过MCO引脚提供25MHz时钟给外部PHY。

  3. 外部PHY内部生成50MHz的时钟提供给STM32的MAC控制模块。

此方案适合STM32F107/2x7/4x7。

个人不建议这种方案,不利于后期更换物料。

END

STM32 SPI详解

链表在STM32中的应用 必读

我是如何查找官方资料的

STM32 延时函数的四种方法 必读

设计一款兼容ST207和GD207的开发板

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存