打印
[其他ST产品]

STM32网络ETH

[复制链接]
楼主: kzlzqi
手机看帖
扫描二维码
随时随地手机跟帖
21
kzlzqi|  楼主 | 2023-1-26 14:03 | 只看该作者 |只看大图 回帖奖励 |倒序浏览

MII_TX_EN:发送使能信号。该信号表示 MAC 当前正针对 MII 发送半字节。该信号必须与报头的前半字节进行同步 (MII_TX_CLK),并在所有待发送的半字节均发送到 MII时必须保持同步
MII_TXD[3:0]:数据发送信号。该信号是 4 个一组的数据信号,由 MAC 子层同步驱动,在MII_TX_EN 信号有效时才为有效信号(有效数据)。MII_TXD[0] 为最低有效位,MII_TXD[3] 为最高有效位。禁止MII_TX_EN 时,发送数据不会对 PHY 产生任何影响

使用特权

评论回复
22
kzlzqi|  楼主 | 2023-1-27 11:51 | 只看该作者

MII_CRS:载波侦听信号。当发送或接收介质处于非空闲状态时,由 PHY 使能该信号。发送和接收介质均处于空闲状态时,由 PHY 禁止该信号。PHY 必须确保MII_CS 信号在冲突条件下保持有效状态。该信号无需与 TX 和 RX 时钟保持同步。在全双工模式下,该信号没意义
MII_COL:冲突检测信号。检测到介质上存在冲突后,PHY 必须立即使能冲突检测信号,并且只要存在冲突条件,冲突检测信号必须保持有效状态。该信号无需与 TX 和 RX 时钟保持同步。在全双工模式下,该信号没意义

使用特权

评论回复
23
kzlzqi|  楼主 | 2023-1-27 11:56 | 只看该作者




MII_RXD[3:0]:数据接收信号。该信号是 4 个一组的数据信号,由 PHY 同步驱动,在MII_RX_DV 信号有效时才为有效信号(有效数据)。MII_RXD[0] 为最低有效位,MII_RXD[3] 为最高有效位。当 MII_RX_DV 禁止、MII_RX_ER 使能时,特定的MII_RXD[3:0] 值用于传输来自 PHY 的特定信息(请参见表 142)
MII_RX_DV:接收数据有效信号。该信号表示 PHY 当前正针对 MII 接收已恢复并解码的半字节。该信号必须与恢复帧的头半字节进行同步(MII_RX_CLK),并且一直保持同步到恢复帧的最后半字节。该信号必须在最后半字节随后的第一个时钟周期之前禁止。为了正确地接收帧,MII_RX_DV 信号必须在时间范围上涵盖要接收的帧,其开始时间不得迟于 SFD 字段出现的时间
————————————————

使用特权

评论回复
24
kzlzqi|  楼主 | 2023-1-27 11:58 | 只看该作者

MII_RX_ER:接收错误信号。该信号必须保持一个或多个周期(MII_RX_CLK),从而向MAC 子层指示在帧的某处检测到错误。该错误条件必须通过 MII_RX_DV 验证,如表142 所示

使用特权

评论回复
25
kzlzqi|  楼主 | 2023-1-27 11:59 | 只看该作者
表141.TX 接口信号编码


使用特权

评论回复
26
kzlzqi|  楼主 | 2023-1-27 12:00 | 只看该作者
表142. RX 接口信号编码

使用特权

评论回复
27
kzlzqi|  楼主 | 2023-1-27 12:01 | 只看该作者

要生成 TX_CLK 和 RX_CLK 时钟信号,必须向外部 PHY 提供 25MHz 时钟,如图 所 示。除了使用外部 25 MHz 石英晶体提供该时钟,还可以通过 STM32F20xx 微控制器的 MCO引脚输出该信号。这种情况下,必须对 PLL 倍频进行配置,以通过 25 MHz 外部石英晶体在 MCO 引脚上获得所需频率。

使用特权

评论回复
28
kzlzqi|  楼主 | 2023-1-27 12:02 | 只看该作者
RMII接口
Reducedmedia-independent interface: RMII

翻译:精简介质独立接口:RMII



精简介质独立接口 (RMII) 规范降低了 10/100 Mbit/s 下微控制器以太网外设与外部 PHY 间的 引脚数。根据 IEEE 802.3u 标准,MII 包括 16 个数据和控制信号的引脚。RMII 规范将引脚 数减少为 7 个(引脚数减少 62.5%)

使用特权

评论回复
29
kzlzqi|  楼主 | 2023-1-27 12:04 | 只看该作者



RMII接口是MAC和PHY之间的实例化对象。这些有助于MAC的MII接口转化为RMII接口。RMII接口具有以下特点

10-Mbit/s和100-Mbit/s 的运行速率
参考时钟必须是 50 MHz
相同的参考时钟必须从外部提供给 MAC 和外部以太网PHY
它提供了独立的 2 位宽(双位)的发送和接收数据路径

使用特权

评论回复
30
kzlzqi|  楼主 | 2023-1-27 12:05 | 只看该作者
这里时钟管脚比MII接口少,

又一个非常重要的点,那就是时钟源必须是50MHZ

使用特权

评论回复
31
kzlzqi|  楼主 | 2023-1-27 12:06 | 只看该作者
时钟源



使用外部 50 MHz 时钟驱动 PHY 或使用嵌入式 PLL 生成 50 MHz 频率信号来驱动 PHY

使用特权

评论回复
32
kzlzqi|  楼主 | 2023-1-27 12:06 | 只看该作者
MII和RMII的接口选择

使用 SYSCFG_PMC 寄存器中的配置位 23 MII_RMII_SEL 选择 MII 或 RMII 模式。以太网控 制器处于复位模式或使能时钟前,应用程序必须设置 MII/RMII 模式

使用特权

评论回复
33
kzlzqi|  楼主 | 2023-1-27 12:07 | 只看该作者
MII/RMII内部时钟方案

支持 MII 和 RMII 以及 10 和 100 Mbit/s 运行所需的时钟方案如图 321所示


使用特权

评论回复
34
kzlzqi|  楼主 | 2023-1-27 12:08 | 只看该作者
通过 SYSCFG_PMC 寄存器中的位 23 MII_RMII_SEL 控制 MII/RMII 选择



要节省引脚,需在同一个 GPIO 引脚上复用 RMII_REF_CK 和 MII_RX_CLK 这两个输入时 钟信号。

使用特权

评论回复
35
kzlzqi|  楼主 | 2023-1-27 12:15 | 只看该作者
DMA控制器操作


28.6   以太网功能说明:DMA控制器操作

       DMA具有自主的发送和接收引擎,还有一个 CSR(控制和状态寄存器)空间。发送引擎将数据从系统存储器传送到 Tx FIFO,而接收引擎将数据从 Rx FIFO 传送到系统存储器。控制器(也就是DMA)利用描述符有效的将数据从源地址移动到目的地,很小的CPU干预。DMA 专为面 向包的数据传送(如以太网中的帧)而设计。控制器可以编程去打断CPU,例如完成帧发送和接收传送操作时以及其它正常/错误条件下。DMA 和STM32F20x 和STM32F21x 通过以下两种数 据结构进行通信:

控制和状态寄存器 (CSR)
描述符列表和数据缓冲区

————————————————
版权声明:本文为CSDN博主「strongercjd」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Firefly_cjd/article/details/79825544

使用特权

评论回复
36
kzlzqi|  楼主 | 2023-1-27 12:16 | 只看该作者

控制和状态寄存器在28.8节第895页。细节的介绍和描述在875页。


使用特权

评论回复
37
hilahope| | 2023-2-2 12:39 | 只看该作者
推荐《STM32嵌入式系统开发实战指南:FreeRTOS与LwIP联合移植》

使用特权

评论回复
38
lzbf| | 2023-2-4 13:42 | 只看该作者
STM32移植LWIP需要配置什么

使用特权

评论回复
39
jonas222| | 2023-2-4 15:40 | 只看该作者
stm32单片机怎么才能随时连接以太网

使用特权

评论回复
40
burgessmaggie| | 2023-2-6 15:11 | 只看该作者
有连接局域网参考例程吗?              

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则