平台有线以太网通路:有线以太网一般插入的是RJ45 座要与 PHY 芯片(RTL8306M)连接在一起,但是中间需要一个网络变压器,网络变压器经过模数转换后到达网卡(RTL8111)转换为帧数据后到达SOC。
RJ45 接口:
RJ45 座要与 PHY 芯片连接在一起,但是中间需要一个网络变压器,网络变压器用于隔离 以及滤波等,网络变压器也是一个芯片,外形一般如图:
但是现在很多 RJ45 座子内部已经集成了网络变压器。
RJ45 座子上一般有两个灯,一个黄色(橙色),一个绿色,绿色亮的话表示网络连接正常,黄色闪烁的话说明当前正在进行网络通信。这两个灯由 PHY 芯片控制,PHY 芯片会有两个引 脚来连接 RJ45 座上的这两个灯。
PHY的数据是RJ45网络接口(网线口)穿过了的差分信号,而PHY作用就是将差分信号转为数字信号。
PHY 是 IEEE 802.3 规定的一个标准模块,SOC 可以对 PHY 进行配置或者读取 PHY 相关状态,这个就需要 PHY 内部寄存器去实现了。PHY 芯片寄存器地址空间为 5 位,地 址 0~31 共 32 个寄存器,IEEE 定义了 0~15 这 16 个寄存器的功能,16~31 这 16 个寄存器由厂 商自行实现。也就是说不管你用的哪个厂家的 PHY 芯片,其中 0~15 这 16 个寄存器是一模一 样的。仅靠这 16 个寄存器是完全可以驱动起 PHY 芯片的,至少能保证基本的网络数据通信。
网络七层协议:
数据链路层的MAC芯片;物理层的PHY芯片。
MAC位于OSI七层协议中数据链路层的下半部分,主要负责控制与连接物理层的物理介质。MAC在发送数据的时候,事先判断是否可以发送数据,如果可以,给数据加上一些控制信息,再将数据以及控制信息以规定的格式封装成帧发送到物理层;在接收数据的时候,MAC只接收发送至本网卡的单播帧、组播帧和广播帧,其余的丢弃,再将帧重新组合成数据,并判断输入的数据是否发生传输错误,如果没有错误,则去掉控制信息发送至LLC层。
PHY位于OSI七层协议中的物理层。PHY在发送数据的时候,收到MAC过来的数据,然后把并行数据转化为串行流数据,按照物理层的编码规则把数据编码,再变为模拟信号送出去,收数据时的流程反之。
mido协议即SMI协议
SMI协议也是一种通信协议类似与I2C协议但是通信方式不一样
SMI包含两根信号线,一个MDC时钟线,一个MDIO双向传输的数据线,STA(StaTIon Management)为主控设备,PHY为从设备,一个STA最多管理32个PHY。
MDIO主要是传输链接状态、传输速度与选择、断电、低功率休眠状态、TX/RX模式选择、自动协商控制、环回模式控制等。
以太网硬件设计有两种方案:SOC内未集成MAC芯片,SOC内集成MAC芯片。
SOC内未集成MAC芯片:
对于内部没有MAC的SOC芯片,可以使用外置 MAC+PHY一体的网络芯片来实现网络功能。
有些外置的网络芯片更强大,内部甚至集成了硬件TCP/IP协议栈,SOC就不需要移植软件协议
栈,这种方案的优点就是让不支持网络的SOC能够另辟蹊径,实现网络功能,但是缺点就是网络
效率不高,因为一般芯片内置的MAC会有网络加速引擎,比如网络专用DMA,网络处理效率会很
高。而且此类外置芯片网速都不快,基本就是10/100M。另外,相比PHY芯片而言,此类芯片的成
本也比较高,可选择比较少。
SOC内集成MAC芯片:
我们一般说某个SOC支持网络,说的就是他内部集成网络MAC外设,此时我们还需要外接一个网
络PHY芯片。目前几乎所有支持网络的SOC都是内置MAC外设。内部MAC外设会有专用的加速模
块,比如专用的DMA,加速网速数据的处理。网速快,可以支持10/100/1000M网速。外接PHY可
选择性多,成本低。