目录
一、概述
以太网硬件主要包括OSI的最下面两层,物理层和数据链路层
- 物理层:定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层提供标准接口。物理层的芯片为PHY
- 数据链路层:提供限制机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能。数据链路的芯片为MAC控制器。
从硬件设计的角度,以太网硬件电路包含MCU、MAC控制器、PHY组成(在MCU、MAC之间可能存在DMA数据传输)。这三部分并不一定是单独芯片,有以下集中形式:
- MCU内部集成了MAC、PHY,难度较高;
- MCU内部集成MAC,PHY采用独立芯片(主流方案)
- MCU不集成MAC、PHY,MAC和PHY采用独立芯片或集成芯片(高端应用)
二、MAC控制器
MAC,即媒体访问控制子层协议。MAC由硬件控制器及MAC通信协议构成。该协议位于OSI模型中的数据链路层的下半部分,主要负责控制域连接物理层介质。
- 发送数据:MAC协议可以实现判断是否可以发送数据,如果可以发送将数据加上一些控制信息,最后按规定的格式发送给物理层。
- 接收信息:MAC协议首先判断输入的信息是否发生传输错误,如没有错位,则去掉控制信息将数据发送到LLC(逻辑链路控制层)。
三、PHY
物理层PHY:数据传输与接收所需要的电与光信号、线路状态、时钟基准、数据编辑和电路等,并向数据链路层设备提供标准接口;
- 发送数据:当收到MAC过来的数据,PHY将接收道的并行数据转为串行流数据,再按照物理层编码规则将数据编码,并转为模拟型号发送出去
- 接收数据:模拟数据转为数字数据,在解码并转为并行数据发送给MAC
- PHY还有一个重要功能就是网络上是否有数据传输,只有检测到总线空闲后,等待随机时间后发送数据,或是数据发送时同时检测到冲突,各自等待随机时间后重新发送数据。
PHY作为IEEE802.3中定义的一个标准模块,通过SMI接口对PHY的行为、状态进行管理和控制。其控制动作就是通过读写PHY内部寄存器实现的。
- PHY芯片的寄存器地址空间是5位,一般由外部硬件连接决定。
- PHY寄存器的地址空间为5位,可以定义0~31共32个寄存器,IEEE 802.3定义了0~15这16个寄存器的功能,16~31寄存器由芯片制造厂商自由定义。也就是说不管哪个厂商的PHY芯片,其中0~15这16个寄存器是一模一样的。(很多厂商采用了分页机制来开展寄存器地址空间)
四、SMI协议
SMI数据协议有Clause22 和 Clause45是两种不同格式数据协议,其中Clause22是在IEEE802.3里面定义的,随着以太网的发展,为了满足10G以太网的需求扩展,在802.3ae规范标准中提出了Clause45。