第一章:PHY芯片概述
大家好,我是你们这门课的老朋友。做嵌入式这些年,我调试过的PHY芯片少说也有几十种了。今天咱们就来聊聊以太网物理层芯片——也就是PHY,到底是个什么角色。
1.1 以太网物理层芯片的作用
说白了,PHY芯片就是负责把数字信号变成模拟信号,再通过网线发出去。反过来也一样,把网线上传来的模拟信号还原成数字信号。你想想看,CPU和MAC(媒体访问控制器)都是数字世界的东西,它们只认0和1。但网线上跑的却是电压变化、电流脉冲,这中间必须有个“翻译官”。
这个翻译官就是PHY芯片。它干的事其实挺杂的:
- 编码与解码:把MAC发来的并行数据编码成适合在网线上传输的串行信号。比如100BASE-TX用的就是MLT-3编码。
- 时钟恢复:从接收到的数据流中提取出时钟信号。这个技术我当年刚接触时觉得挺神奇的——数据里居然能藏时钟?
- 链路检测:自动检测网线是否插好,对端设备是否在线。这就是为什么你插上网线后,灯要闪几下才能连上。
- 自动协商:和对端设备商量,双方都支持的最高速率和双工模式是什么。嗯,这个功能我踩过不少坑,后面会细说。
核心要点:PHY芯片是连接数字世界和模拟世界的桥梁。没有它,你的以太网口就是个摆设。
1.2 PHY芯片在OSI模型中的位置
OSI七层模型,大家上学时应该都背过。PHY芯片位于最底层——物理层(Layer 1)。它上面紧挨着的是数据链路层(Layer 2),具体来说是MAC子层。
我习惯把这两层的关系想象成:MAC是“大脑”,负责打包、解包、地址过滤这些逻辑工作;PHY是“嘴巴和耳朵”,负责把话说出去、把话听进来。它们之间通过MII(媒体独立接口)或RMII(精简媒体独立接口)等总线连接。
这里有个常见的误解:很多人以为网口芯片(比如大家熟悉的LAN8720、DP83848)就是PHY。其实严格来说,这些芯片内部集成了PHY和MAC之间的接口逻辑,但真正的MAC功能还是在主控芯片(比如STM32、i.MX)里实现的。当然,现在很多SoC已经把MAC和PHY集成在一起了,比如某些MCU自带以太网控制器。
| OSI层 | 功能 | 对应硬件 |
|---|---|---|
| 应用层 | HTTP、FTP等协议 | 软件 |
| 传输层 | TCP、UDP | 软件 |
| 网络层 | IP、ICMP | 软件 |
| 数据链路层 | MAC、LLC | MAC控制器(SoC内部) |
| 物理层 | 编码、解码、收发 | PHY芯片 |
小提示:调试PHY时,我建议你先搞清楚MAC和PHY之间的接口类型。是MII、RMII还是GMII?这决定了你的时钟频率和引脚数量。我曾经因为搞混了RMII的50MHz参考时钟来源,浪费了整整两天时间。
1.3 常见PHY芯片厂商及选型考量
市面上PHY芯片的厂商不少,但真正主流的就那么几家。我按个人经验给大家梳理一下:
Realtek(瑞昱)
台湾厂商,性价比极高。RTL8201、RTL8211系列在消费电子和工业控制领域用得非常多。我最早接触的就是RTL8201,当时觉得这芯片真便宜,而且资料好找。不过要注意,Realtek的某些型号对电源纹波比较敏感,layout时一定要把去耦电容放近些。
Marvell(美满电子)
Marvell的PHY芯片性能很稳,尤其是88E1111、88E1512这些型号,在通信设备和工业交换机上很常见。我记得有一次做项目,客户指定要用Marvell的片子,说是因为它在恶劣环境下的链路稳定性更好。价格嘛,比Realtek贵一些,但确实物有所值。
Broadcom(博通)
博通在高端市场占据主导地位,尤其是企业级交换机芯片。BCM5461、BCM89811这些型号性能强悍,支持各种高级功能。不过博通的资料管控比较严,很多寄存器手册需要签NDA才能拿到。我个人建议,如果不是非用不可,小公司还是优先考虑Realtek或Microchip(原Micrel)的方案。
其他值得关注的厂商
- Microchip(微芯):收购了Micrel后,LAN8720、LAN8742这些型号在MCU生态里很流行。驱动好写,文档清晰。
- TI(德州仪器):DP83848、DP83822在工业领域口碑不错,抗干扰能力强。
- NXP(恩智浦):TJA1100系列是车载以太网PHY,专门针对汽车应用设计。
选型时我一般会考虑这几个因素:
- 速率支持:10/100M还是千兆?别小看这个问题,有些项目一开始说百兆够用,结果后期要升级,换芯片的代价很大。
- 接口类型:MII、RMII、RGMII?这决定了你的PCB走线复杂度和主控引脚数量。RMII只需要7根线,但需要外部50MHz时钟;MII需要16根线,但时钟频率低一些。
- 工作温度范围:工业级(-40°C~85°C)还是商业级(0°C~70°C)?如果产品要放在户外,千万别省这个钱。
- 封装与体积:QFN封装散热好,但焊接难度大;LQFP封装好焊,但占面积大。看你的生产条件来选。
- 软件生态:有没有现成的Linux驱动?寄存器手册是否公开?我曾经被一个冷门PHY芯片折磨过,因为厂商连基本的数据手册都要签保密协议,调试起来极其痛苦。
避坑指南:我曾经在一个项目中选了某款小众PHY芯片,理由是“便宜且性能参数好看”。结果调试时发现,它的自动协商兼容性很差,和某些交换机死活连不上。最后不得不换回Realtek的方案,板子重新打样,工期延误了两周。所以我的建议是:除非你有充分理由,否则优先选市场占有率高的型号。
好了,第一章的内容就到这里。PHY芯片看似简单,但里面的门道其实不少。下一章我会带大家深入PHY芯片的内部结构,看看那些寄存器到底是怎么工作的。咱们下节课见。