STM32网络电路设计
发布日期:2021-05-08 23:31:20 浏览次数:17 分类:博客文章

本文共 956 字,大约阅读时间需要 3 分钟。

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

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

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

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

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

01、MII接口方案

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

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

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

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

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

 

02、RMII接口方案

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。

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

 

点击查看本文所在的专辑,

 

上一篇:电子工程师,你真的了解Type-C吗?
下一篇:STM32网络之MII和RMII接口

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2025年05月01日 23时23分57秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

900行c语言贪吃蛇,原生js实现的贪吃蛇网页版游戏完整实例 2023-01-24
ado filter 多条记录_Excel 有了Filter函数VLOOKUP函数要靠边站了 2023-01-24
ado读取多条oracle数据,Oracle ADO数据存取 2023-01-24
anaconda新建python2环境安装不了jupyterlab_anaconda3安装及jupyter环境配置教程(全)... 2023-01-24
android asynctask handler 区别,AsyncTask与Thread+Handler简要分析 2023-01-24
android fastjson漏洞_初识Fastjson漏洞(环境搭建及漏洞复现) 2023-01-24
android pod 组件化_CocoaPods 组件化实践 - 私有Pod 2023-01-24
$CH0201$ 费解的开关 2023-01-24
android进程管理策略,Android进程保活 2023-01-24
arduino蓝牙通讯代码_arduino 联接蓝牙模块 2023-01-24
asp.mvc 4项目发布文件目录结构_如何用SpringBoot(2.3.3版本)快速搭建一个项目?文末有小彩蛋... 2023-01-24
aspen串联反应怎么输入_如何进步提升串联谐振试验装置的稳定性 2023-01-24
aspose html转pdf_Java实现Word/Pdf/TXT转html 2023-01-24
a推b等价于非a或b_AB胶/蜜月胶常见问题的原因分析及解决方法 2023-01-24
bat 命令返回结果_【批处理】带你入门命令行 2023-01-24
c++ string取子串_Integer与String的设计哲学 2023-01-24
c++ 数组批量赋值_数组之间不能赋值?穿个马甲吧! 2023-01-24
cad模糊查询符号_mysql 正则模式和like模糊查询 2023-01-24
continue可以用if判断里面吗_谁能说说if()else()里的continue是干嘛的? 2023-01-24
ctrl c 和 ctrl v 不能用了_神奇操作,原来CTRL键还能这么用 2023-01-24