谷动谷力

 找回密码
 立即注册
查看: 842|回复: 0
打印 上一主题 下一主题
收起左侧

【电子基础知识】Ethernet、USB驱动中Controller、MAC、PHY都是...

[复制链接]
跳转到指定楼层
楼主
发表于 2023-9-1 08:48:26 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
【电子基础知识】Ethernet、USB驱动中Controller、MAC、PHY都是啥?


做嵌入式开发,尤其是嵌入式Ethernet、USB、DDR、HDMI底层驱动开发中,经常会遇到Controller、MAC、PHY这些专业名词,这些名词是什么,之间又有什么关系?

一、基础概念和功能

Controller:控制器的统称,数字逻辑实现,主要包括控制寄存器组、FIFO,接口协议等。
MAC: Media Access Control,媒体访问控制器,属于控制器还是数字逻辑的实现。
PHY: Physical物理层,顾名思义实现通信中物理世界的光电等电气层面的信息,也就是实现数字信号转模拟信号,模拟信号转数字信号。

二、USB Controller +PHY

要实现USB通信大致需要两部分:Controller和PHY两部分。

Controller主要按照USB协议进行数据的打包和分解,并按照PIPE(USB3.0)或者UTMI(2.0)的总线的数据格式发送给PHY(2.0或者3.0)。

PHY通常为模拟逻辑实现(实现并转串的功能,把UTMI或者PIPE口的并行数据转换成串行数据,再通过差分数据线输出到芯片外部),USB PHY主要实现如下物理功能:
1.usb FS/HS 或者LS 模式选择2.usb 数据 NRZI 编码 和 Bit Stuffer3.将otg 并行数据 转为 差分串行D-/D+ 数据4.  速度枚举,J/K 信号产生。
大致的通信方式如下图所示:
图中看到UTMI和PIPE,这是PHY和controller通信的接口,USB2.0PHY主要使用ULPI和UTMI,USB3.0主要使用PIPE。

有的芯片内部集成了Controller和PHY,有的芯片则只有Controller,需要在芯片外挂一个PHY芯片。
一句话总结: usb phy 将usb 控制器的数据,按字usb 标准协议编码,然后转成串行差分数据,并通过D+/D- 发送出去。反之,对于从host 产生的数据,经过usb phy 解码,然后到usb 控制器,最后到我们ddr 或者sram可以访问的应用数据

三、Ethernet MAC +PHY

网卡主要包括OSI的最下面的两层,物理层和数据链路层

物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口。物理层的芯片称之为PHY

数据链路层则提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能。数据链路层的芯片称之为MAC控制器
从硬件的角度来分析,以太网的电路接口一般由CPU、MAC(Media Access Control)控制器和物理层接口(physical Layer PHY)组成,如下图所示:
对于上述三部分,并不一定都是独立的芯片,主要有以下几种情况
·CPU内部集成了MAC和PHY,难度较高
·CPU内部集成MAC,PHY采用独立芯片(主流方案)
·CPU不集成MAC和PHY,MAC和PHY采用独立芯片或者集成芯片(高端采用)
PHY整合了大量模拟硬件,而MAC是典型的全数字器件,芯片面积及模拟/数字混合架构是为什么先将MAC集成进微控制器而将PHY留在片外的原因。更灵活、密度更高的芯片技术已经可以实现MAC和PHY的单芯片整合

以常用的CPU内部集成MAC,PHY采用独立的芯片方案,虚线内表示CPU和MAC集成在一起,PHY芯片通过MII接口与CPU上的MAC互联。

MAC(Media Access Control),即媒体访问控制子层协议,该部分有两个概念:MAC可以是一个硬件控制器以及MAC通讯协议。该协议位于OSI七层协议中数据链路层的下半部分,主要是负责控制与连接物理层的物理介质。

PHY物理层位于OSI最底层,物理层协议定义电气信号、线的状态、时钟要求、数据编码和数据传输用的连接器。物理层的器件称为PHY。

PHY是物理接口收发器,它实现OSI模型的物理层。IEEE-802.3标准定义了以太网PHY包括MII/GMII(介质独立接口)子层、PCS(物理编码子层)、PMA(物理介质附加)子层、PMD(物理介质相关)子层、MDI子层。
总结一下:

MAC 就是以太网控制器,属于OSI的数字链路层。PHY 属于OSI的物理层(Physical layer),所以叫PHY。

MAC主要处理的数字信号:
PHY负责把MAC的数字信号进行编码,串行化等操作后,转化为模拟信号进行发送。PHY在数据接受时, 进行如上所述的逆操作,将模拟信号转化为数字信号,解码,并行化后,传给MAC。

基础以太网物理层非常简单:它是一种物理层收发器(发射器和接收器),能将一个设备物理地连接到另一个设备。这种物理连接可以是铜线(例如CAT5电缆——一种家庭使用的蓝色插线电缆)或光纤电缆。

最后,无论是USB还是以太网,只有Controller、MAC、PHY都正常工作,USB、以太网才能正常工作,那么对应到驱动层面就需要开发、调试Controller、MAC、PHY这几部分的驱动。
+10
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|深圳市光明谷科技有限公司|光明谷商城|Sunshine Silicon Corpporation ( 粤ICP备14060730号|Sitemap

GMT+8, 2024-11-15 13:59 , Processed in 0.165886 second(s), 44 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表