该芯片作为phy和serdes使用
mii 是一个标准接口,用于连接 mac 和 phy。mii 是 ieee-802.3 定义的以太网标准, mii 接口可以同时控制多个 phy。
mii包含两个接口:
1.一个数据接口,用户 mac 和 phy 之间收发 ethernet 数据2.一个管理接口,这个管理接口通常称为 mdio,miim 或者 smi。 这个接口用于 mac 从 phy 读取相关管理寄存器的值,或者往 phy 管理寄存器上写入数据。
mdio
mdio 也被称为 miim,或者 smi,它是 ieee802.3 定义标准 mii 接口的一部分,用于 mac 配置 phy。mdio 具有两个信号线,分别如下:
1. mdc 时钟线:mdio 的时钟信号,由 mac 驱动 phy2. mdio 数据线:双向数据线,用于在 mac 和 phy 之间传输配置信息 mdio 总线只支持 mac 作为主设备,phy 作为从设备。mido 支持两种时序,分别为 clause 22 和 clause 45.
mdio接口最初是由ieee rfc802.3中的22号条款定义的,在最初的定义中,一个单独的mdio接口可以访问32个不同的phy设备中的32个寄存器,这些寄存器提供状态和控制信息,例如:连接状态、传输速度能力、当前选择的传速、低压消耗时的下电情况、全双工还是半双工、自动协商、错误提示以及反馈信息等等。
为了满足10g以太网设备的普及发展,在ieee 802.3ae 的45号条款中为mdio接口提供了额外的规范:
1)能够通过32个端口访问32个不同设备的65536个寄存器;
2)为访问10g以太网提供额外的op码和st码,从而可以直接访问寄存器地址;
3)端到端的报错信号;
4)环回模式控制;
5)低压电气标准。
22号条款
22号条款的mdio通信的帧格式定义如下:
45号条款
为了弥补22号的条款中定义的缺陷,45号条款中增添了对低压设备的支持,最低可到1.2v,同时扩充了帧格式,能够访问更多的设备和寄存器。
45号mdio通信帧格式如下:
第45号条款的主要变化是如何访问寄存器。在第22中,一个单独的帧指定要读或写的地址和数据,同时完成了这些工作。45号中改变这种范式,第一个地址帧发送到指定的mmd和寄存器,然后发送第二帧来执行读或写。
工作模式
该芯片有两种寻址模式:单芯片寻址和多芯片寻址。
多芯片寻址
对于多芯片寻址,需要给芯片设置一个非零的smi地址(addr[4:0]的反码)。在多芯片寻址模式下,仅有两个寄存器(0x00:smi command register 0x01:smi data register)能够使用,内部各port的寄存器均由这两个寄存器间接访问。
通过向smi command register的[9:5]写入内部smi设备地址,[4:0]写入内部smi寄存器地址来访问各个port的内部寄存器,[11:10]决定决前是写入还是读出操作。
通过向smi data register的[15:0]位写入或读取smi command register设定的寄存器内容。
单芯片寻址
对于单芯片寻址,其smi地址为0x00(针对整个芯片),即addr[4:0]=0x1f。
在单芯片寻址模式下,每个port都有各自的smi地址(针对内部每个port),port0-port9对应的smi地址分别为0x0-0x9(直接访问),port10对应0xa。
若port0、1、2等接有外部phy,则必须使用以下smi地址,0x00对应port0,0x01对应port1,这样ppu才能自动的轮询各个phy获取各自的连接状况,速度,双工情况,流控状态等信息,这些外部phy需要使用global2 offset 0x18、0x19进行访问。对于port3a、port4的内部phy地址映射为0x03、0x04;port9、port10的内部serdes映射为0x9、0xa,同样的,也是需要使用global2 offset 0x18、0x19进行访问。
global2 寄存器的 offset24,25 寄存器
前文提到,两个非常重要的寄存器,即global2 offset 0x18、0x19寄存器,在单芯片寻址模式下phy和serdes寄存器的访问都必须通过这两个寄存器间接访问。
global2 offset 0x18 (smi phy command register)寄存器
bit[12]指定了帧协议是22号时序还是45号时序。22号协议下,与多芯片存储能够访问的command register寄存器一样,[9:5]写入smi设备地址,[4:0]写入smi寄存器地址来访问各个port的内部寄存器,[11:10]决定当前是写入还是读出操作。45号协议,[9:5]指定port,[4:0]指定设备类别。
global2 offset 0x19 (smi phy data register)寄存器
与smi data register相同,通过[15:0]位写入或读取smi command register设定的寄存器内容。
在45号协议下,第一个地址帧发送到指定的mmd和寄存器,我们要把phy command reg中的[11:10]置为0x00=write address register,即在第一个帧中的最后16位数据中,指定要操作的寄存器的地址。随后在第二个数据帧中,要把phy command reg中的[11:10]置为0x01=write data register,即第二个帧中的最后16位写入的是数据。
uboot 中访问 mdio (smi/miim)
项目开发中,经常要在 uboot 阶段通过 mdio 总线去配置 phy 或者 switch。
更多指令
示例:
小米6X和荣耀8X哪个好
加拿大正式宣布禁飞波音737Max 8飞机和波音737Max 9飞机
LTE技术特点解析
用Pybrain库进行神经网络数据拟合的主要步骤
微软将在 GitHub 网站移除所有不必要的 cookie,不会弹出提示横幅
Marvell交换芯片介绍之MII、MDIO
苹果iOS应用程序不经过用户同意读取剪贴板数据
影响逆变器输出功率的因素有哪些
未来智能交通!绝对是首尾相连的汽车
鲸小爱英语:解决青年大学生“哑巴口语”,Mobile+AI的结合
一文解析扇出型封装技术
腾讯引进Nintendo Switch ™将首次参展进博会
关于晶棒的常见知识点总结(8个基础要点)
自适应计算加速平台 功能超CPU和FPGA
兼容替代NRF24L01P的2.4G无线射频芯片
是德科技大学支持计划-教师培训营
SoC(System on chip)与NoC(network-on-chip)
碳化硅解决方案满足快速充电基础设施设计要求
小米12是小屏手机吗_小米12屏幕到底多大
千方科技荣登“2022新型实体企业100强榜单”