单片机/MCUwilliam hill官网
直播中

张飞实战电子蔡琰

3年用户 523经验值
擅长:嵌入式技术
私信 关注
[文章]

【每日一知识点】STM32 以太网硬件设计——PHY

OSI 的 7 层基准模型中 PHY 属于第一层 ——物理层。PHY 是数据链路层的媒体访问控制部分和媒体的接口。PHY 对所有传输的数据只是进行编码转化,没有对有效数据信号进行任何分析或改变,但是MAC 所有的数据传输都必须经过 PHY 发送和接收才能传输到目标 MAC。
PHY 还可以完成连接判断,自动协商以及冲突检测。MAC 可以通过修改 PHY 的寄存器完成对自动协商的监控,当然也可以读取 PHY 的寄存器来判断 PHY 的状态。
一 . PHY  寄存器
IEEE802.3 标准中定义了 PHY 的基本寄存器,寄存器偏移 00h ~ 0fh。其中最重要的就是 BCR(Basic Control Register, offset: 00h),BSR(Basic Status Register, offset: 01h)。
MAC 通过 SMI 接口访问 BCR 来控制 PHY 的工作模式,也可以通过访问 BSR 来得知 PHY 的工作状态。
需要注意的是,有时 PHY 的工作速率和工作模式不一定是通过访问 BSR 来得到的,因此在使用
STM32 MAC 外设与不同的 PHY 通讯时,可能需要修改寄存器定义。以下是 ST 所提供的驱动中关于PHY 寄存器的定义(节选自 stm32f4xx_hal_conf.h)。
3.25.1.png
3.25.2.png
二.PHY AutoStrapping
现在的多数 PHY 都具有 AutoStrapping 功能,即可以在硬件设计时,通过上下拉电阻设定某些引脚的电平,PHY 复位后自动将引脚电平读入指定的寄存器标志位,以相应的方式工作。需要注意的有以下几项:
1. PHY  寄存器地址
SMI 接口访问 PHY 时除了需要 PHY 的寄存器偏移,也需要 PHY 的地址,这个地址是在
AutoStrapping 中指定的。当然,随后也可以通过 SMI 接口软件修改 PHY 的寄存器地址。
3.25.3.png
2.  工作模式
工作模式首先需要注意的是是否使能自动协商功能,自动协商遵循的原则就是双方寻找最快的方式。也可以在不使能自动协商的情况下直接指定 PHY 的工作模式(例如半双工 10Mbits/s)。在 ST 的驱动中,为了准确的获得此信息,通过 SMI 接口读取寄存器标志位。
3. LED  接口
PHY 中一般都包括指示 LED,用来指示链接状态和 Activity 情况。这些也是可以在此项中设置的。
4.  其它
此外,PHY 的 AutoStrapping 中一般还具有 Loopback 等功能。
三.  总结
MAC 和 PHY 并不困难,在应用时,硬件工程师应该阅读 PHY 的参考手册,并在原理图中标明所选定的工作方式以方便软件工程师编写驱动程序。

回帖(5)

松山归人

2021-3-25 14:30:02
很好的分享,学到了!
举报

取名被重复

2021-3-25 17:31:55
够精辟!!!学习了
举报

王栋春

2021-3-25 22:12:00
学习了  
举报

梵尘惘释

2021-4-1 10:59:53
很好的分享!!!!!!!
举报

谭多多

2021-5-2 11:45:51
蔡老师说得透,

需要国产网络芯片 ,USB HUB 2.0 可以联系下我
SR8201F  QFN32 ,百兆网口  PHY
SR9900A SR9900  SR9900AI  ,QFN24 ,USB2.0 接口网络芯片,
USB HUB2.0  SL2.2S 对应FE1.1S  SL2.1S SL2.1A
以上产品都成熟量产
举报

更多回帖

发帖
×
20
完善资料,
赚取积分