Linux内核驱动之网络驱动(4)PHY芯片分析
来源:互联网 发布:绩效软件 编辑:程序博客网 时间:2024/05/21 10:24
一 以太网PHY芯片RTL8201CP分析
RTL8201CP是一个单端口的物理层收发器, 只有一个MII接口,
它可以通过网络变压器YL18-2050S或YT37-1107S接RJ45来实现全部的10/100M以太网物理层功能
由上图分析RTL8201的引脚主要分为:
MII接口引脚,MDI接口引脚,自身配置引脚,电源引脚。
下面着重分析一下它的自身配置引脚
时钟晶振电路:由于最高支持百兆PHY所以需要输入25MHZ晶振
PHYADDn/LEDn等5个引脚用来配置PHY芯片的地址和需要输出的网口灯. 在PHY芯片中管脚复用都比较普遍,都是分时使用:
上电复位时用作输入引脚,复位结束后作为输出引脚。
PHYADD[4:0]上电复位时用作PHY address,复位结束后用作LED输出管脚.从电路分析PHYADD0是高电平,PHYADD1 – PHYADD4都是低电平,很明显PHY芯片的地址是0x01
复位结束后作为输出的网口灯.从datasheet知道:
PHYADD[4:0]上电时被拉高则稍后输出低电平,反之则输出高电平.
所以复位结束后NET_LED0输出高电平,其它都输出低电平
LED0代表Link LED,LED1代表Full Duplex LED,
LED2代表10M ACT LED,LED3代表100M ACT LED,LED5代表Collision LED
从上图也可以分析出来LED0此时为低电平,LED3为高电平,这样LED才会正常显示.同时当Link 是通着时候LED0会亮,
当有数据传输时候LED3会亮
功能配置引脚从图中可以看到MII,SPEED,DUPLEX,ANE引脚都为高电平表示RTL8201使用MII模式,使用全双工100M,以及自动协商能力
ISOLATE,LDPS,PRTR引脚都是低电平
二 以太网PHY芯片ET1011C分析
ET1011C是一个1000M网络传输芯片,支持MII,GMII,RGMII,
TBI,RTBI等接口与MAC相连,下图是使用GMII与MAC相连的原理图
对于PHY芯片来说一般都是4种类型的管脚
MII接口引脚,MDI接口引脚,自身配置引脚,电源引脚。
由于使用GMII接口,所以左上图24个管脚都是GMII接口
右上角都是MDI接口,连接到RJ45的以太网口
ET1011C的配置引脚主要是MAC_IF_SEL[2:0],PHYADDR[n],还有其他SPEED_1000,PAUSE等引脚.
对于上述配置引脚都有存在内部上拉或者下拉,当然也可以通过外部电路上拉下拉改变。比如MAC_IF_SEL[2:0] = 000(默认全部下拉)
PHYADDR[4:0] = 00001
当使用GMII/MII接口时MAC_IF_SEL[2:0] = 000
当使用RGMII接口时MAC_IF_SEL[2:0] = 100 / 110
当使用TBI接口时MAC_IF_SEL[2:0] = 001
当使用RTBI接口时MAC_IF_SEL[2:0] = 101 / 111
PHYADDR[4:0]在上电复位时作为输入表示PHY芯片的地址
上电复位结束后PHYADDR[0]和PHYADDR[1]用作LED_100
LED_TXRX输出。上述两个LED引脚默认是关闭状态,需要编辑
寄存器28来配置LED_100和LED_TXRX的LED灯意义。
SPEED_1000和PAUSE引脚在上电复位时作为输入引脚。
芯片内部将SPEED_1000上拉,PAUSE下拉
上电复位结束后SPEED_1000用来作为LED灯,默认打开,表示LED_1000。PAUSE也用来做LED等,默认打开,表示LED_LINK
当然该LED引脚输出的LED功能也可以通过寄存器28进行修改
转载,请注明 匠牛社区AM5728开发板
- Linux内核驱动之网络驱动(4)PHY芯片分析
- Linux内核驱动之网络驱动(3)PHY寄存器分析
- PHY芯片 AR8033驱动代码分析
- PHY芯片 AR8033驱动代码分析
- Ethernet PHY芯片AR8035驱动
- Ethernet PHY芯片AR8035驱动
- Linux网卡驱动-内核网络分层分析
- linux Phy 设备驱动
- PHY Linux 驱动
- linux ethernet PHY 驱动
- linux PHY驱动
- linux PHY驱动
- linux PHY驱动
- PHY Linux 驱动
- linux驱动学习之内核线程分析
- linux驱动学习之内核线程分析
- linux网络驱动分析
- Linux 4.6 phy驱动调试
- 85-002-3 spring与hibernate的整合(采用AOP来管理事务实现声明式事务)
- LeetCode 307 Range Sum Query - Mutable(范围和查询-可变)
- SAP HANA 链接备忘
- 下拉刷新上拉加载
- 今天记一下学到的级联
- Linux内核驱动之网络驱动(4)PHY芯片分析
- IOS 属性关键字
- AppDelegate中几个常用的回调调用时机
- 85-002-5 Struts环境的搭建
- python运算符重载
- Android 动画详解之属性动画(Property Animation)
- 85-002-6 SSH开发环境的整合
- python基础
- git如何查看某个文件最近一次修改diff?