想了解 MII 相关的 寄存器,该看什么文档?
大家给说一下,我现在有空,有些闲,想看看 MII 相关的 PHY registers 的各个介绍(大约也就10几个寄存器吧)我想详细研究一下,应该查看什么文档呢?(比较官方的,例如:IEEE标准) MII得实现不同得卡一样么? 你都知道看IEEE标准了,那就看那个吧。 MII得实现不同得卡一样么? 你都知道看IEEE标准了,那就看那个吧。
accessory 发表于 2010-04-27 00:26 http://linux.chinaunix.net/bbs/images/common/back.gif
不明白你的意思。
我感觉大部分寄存器应该一样吧,而这些大部分的寄存器都是 IEEE 标准所规定要必须实现的,少部分的寄存器是厂商自己相关的。
完全凭感觉理解,如果有错误,请大家指正。
我想问:我应该看哪个 IEEE 标准? 802.3 随便找个芯片资料看看
与MII相关的无非就是电源,双工模式,速率模式 随便找个芯片资料看看
与MII相关的无非就是电源,双工模式,速率模式
smalloc 发表于 2010-04-27 11:28 http://linux.chinaunix.net/bbs/images/common/back.gif
恩,言之有理,我就是看了两个 chip 的资料之后,发现大部分寄存器的内容都差不多,但是因为 datasheet 上面讲的不是很细致,所以才想在标准文档上面应该有更详细的参考资料,所以想找来看看。 回复 6# qiangqiang02
mii细节本质上是对程序员透明的。
想弄更清楚细节看看802。3
不过有2本书更适合
千兆以太网技术与应用
Ethernet:The Dedinitive Guide
http://www.ithov.com/Book/network/netbase/35232.shtml#downUrlMap Clause 22的寄存器标准上定义的是32个(5-bit的寄存器地址),其中前面16个有比较标准的定义,而后面的16个一般就各厂商自定义了。实际上有许多厂商都做了扩展,做了多Page的功能,这些差异就比较大了,例如Vitesse一般用Register 31来做Page Number,而Marvell的PHY则用Register 22。
同一个厂商有些不同系列的PHY在寄存器设计上也有明显差异。
你可以先看一下IEEE802.3的22.2.4,其中讲到对于MII最基本的是0、1两个寄存器,而对于GMII则还有一个15;另外Clause 28/37也有一些相关的内容。如果要做10GE,则还需要看一下Clause 45。
真正要开发的话,就必须看具体用到的PHY的Data Sheet及其它一些相关文档(最好有参考设计),只看802.3是做不出来的。实际应用中应该RGMII/SGMII的接口用的比较多。 回复 8# Cyberman.Wu
请教下上面说的 “多Page的功能” 是什么? 回复 9# smalloc
SMI只支持5-bit的寄存器地址,也就是最多32个。在实际应用中厂商一般都会扩展,例如Vitesse的PHY通常用Register 31表示一个Page Number,平时是0,如果写为1,则同样的寄存器地址16~30,实际上操作的是不同的寄存器,这个一般叫一个Page,也可以看做是地址的扩展吧。实际上厂商有可能会留许多寄存器用于调试或特殊场合扩展一些功能,例如Vitesse的有些芯片要求初始化时先Register 31写一个文档中没提到过的页面值,然后再访问某个寄存器,这些通常是厂商不公开的一些寄存器。
这个每个厂商有自己的实现,可能也不一定要Page,但大体上都是扩展一下支持的寄存器空间。
页:
[1]