概述:
由于近期要使用以太网PHY芯片,于是在网上查找各种资料,学习这部分的知识,这篇文章是对当前的学习做一个汇总。因为这部分的知识很多,所以只是做一个整体的概要总结,具体的知识点无法详细展开,作者目前也是在学习PHY,所以难免会有错误不足,有什么需要更正补充的,欢迎大家一起讨论交流。
目录
什么是PHY
PHY(英语:Physical),中文可称之为端口物理层,是一个对OSI模型物理层的共同简称。而以太网是一个操作OSI模型物理层的设备。一个以太网PHY是一个芯片,可以发送和接收以太网的数据帧(frame)。 ----百度百科
也就是说,PHY是网络结构中的最底层,物理层。PHY芯片是实现物理层这一层功能的芯片。网络设备之间就是通过PHY芯片相互连接的(介质是网线或者光纤)。
PHY芯片的硬件连接简单介绍
拿CPU与PHY的连接举例,网络上层几层框架,基本都可以封装或集成到CPU内部,但一般PHY芯片可能会单独出来,虽然目前一些集成度高的网络设备,或者CPU也可以做到将PHY集成到一个芯片。但一般来说,PHY的功能是单独做到一个PHY芯片内部的,集成了PHY的网络设备芯片(CPU、交换机芯片等等)一般也有接口连接单独的PHY。
这是因为PHY的主要功能就是将数字信号转成模拟信号,然后在网线或者光纤传输。因为模拟信号和数字信号的不同,加上不同设备之间的传输环境复杂,因此,大部分的PHY都是单独做到一个芯片内的。
因此,在一般的网络设备电路设计中,需要为PHY芯片设计电路。PHY的芯片厂家为了满足大部分的应用场景,会在PHY上面提供很多接口协议,以供设计人员使用。比如,一颗PHY可能会支持网线传输,又或者支持光纤传输,然后在连接数据链路层这边,会提供很多的MII接口以供选择。
由于一个PHY芯片的功能可能会比较多,因此,在PHY芯片的应用中,有一点很重要的就是要选择合适的接口来满足自己的应用。
PHY芯片的接口介绍
MII接口
MII是连接PHY和MAC的总线。有一系列的MII总线协议来满足不同的应用场景,如MII, RMII, SMII, GMII, RGMII, SGMII, XGMII等等。
既然有这么多的协议,为什么不使用同一种固定的总线协议呢,比如IIC或者SPI这种,这么多的总线协议,不是加大了应用设计的难度?
这是因为,网络传输是一种高速的通信,而且是一直在发展的,导致以前的一些协议已经不能满足现在的传输要求,比如从10M/100M到现在的1G/10G等等,不同的MII接口就是为了满足不同的应用。而且,由于芯片设计的发展,也可以对一些占用资源的总线做优化改动,例如以前的并口通信,会占用很多的引脚资源,但现在由于高频通信的发展,使用串行总线也可以达到高速通信的目的,并且还节省引脚资源。
下面介绍一些常用的MII总线协议,以供参考。
注:MII命名是有一定规律的