Linux嵌入式--PHY芯片详解
PHY 基础知识简介
- 定义和作用:PHY(Physical Layer)是物理层模块,负责将数据转换为可在媒介上传输的信号。IEEE 802.3标准规定了PHY的功能。
- 寄存器空间:PHY有32个16位寄存器,前16个由IEEE定义,保证基本功能,后16个由厂商自定义,用于扩展功能。
- 通用驱动:Linux内核提供通用PHY驱动,支持所有符合IEEE标准的PHY,实现基础通信。如需特定功能,则需加载厂商专用驱动。
LAN8720A 详解
- 简介:LAN8720A是一款低功耗10/100Mbps以太网PHY,适用于多种嵌入式设备,支持RMII接口、全双工/半双工模式及自动协商。
- 中断管理:通过nINT引脚输出中断信号,有主中断和复用中断两种模式,ALPHA开发板未使用中断。
- PHY地址设置:通过RXER/PHYAD0引脚设置,ALPHA开发板上ENET1为0,ENET2为1。
- REFCLK配置:可选择外部50MHz时钟或内部生成,ALPHA开发板使用i.MX6ULL提供的50MHz时钟。
- 关键寄存器:
- BCR (Basic Control Register):控制PHY行为,如速度选择、自协商等。
- BSR (Basic Status Register):反映当前状态,如链路状态、速率等。
- PHY ID寄存器:识别PHY型号。
- 特殊控制/状态寄存器:显示实际工作模式。
总结与建议
- 通用性:大多数10/100M PHY兼容,可先用通用驱动验证。
- 调试重点:关注BCR和BSR寄存器,确保正确配置和状态。
- 高级功能:如需中断或其他特性,集成厂商驱动。