1.PHY芯片简介
PHY芯片在OSI协议栈中属于最底层的物理层,与其它层的关系图如下:

从硬件上来说,一般PHY芯片为模数混合电路,负责接收电、光这类模拟信号,经过解调和A/D转换后通过MII接口将信号交给MAC芯片进行处理。一般MAC芯片为纯数字电路。
物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口。物理层的芯片称之为PHY。数据链路层则提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能。以太网卡中数据链路层的芯片称之为MAC控制器。很多网卡的这两个部分是做到一起的。他们之间的关系是pci总线接mac总线,mac接phy,phy接网线(当然也不是直接接上的,还有一个变压装置)。
由此可见,MAC 和PHY,一个是数据链路层,一个是物理层;两者通过MII传送数据。

Marvell 88E1145PHY芯片的初始化配置
[千兆以太网TCP协议的FPGA实现]
(https://blog.csdn.net/lzx6901152/article/details/70281070)

Ethernet的接口实质是MAC通过MII总线控制PHY的过程。
根据组合形式,可分为下列几种类型:
1.CPU集成MAC与PHY;
2.CPU集成MAC,PHY采用独立芯片;
3.CPU不集成MAC与PHY,MAC与PHY采用集成芯片;

下图是采用方案二的网口结构图.虚框表示CPU,MAC集成在CPU中.PHY芯片通过MII接口与CPU上的Mac连接.


MII接口简介
MII即媒体独立接口, “媒体独立”表明在不对MAC硬件重新设计或替换的情况下,任何类型的PHY设备都可以正常工作。包括分别用于发送器和接收器的两条独立信道。每条信道都有自己的数据、时钟和控制信号。MII数据接口总共需要12个信号,包括:

transmit data -
TXD[3:0] 被发送数据transmit strobe -
TX_EN发送使能transmit clock -
TX_CLK///10/100M信号时钟transmit error -
TX_ER/TXD4发送器错误receive data -
RXD[3:0]///接收数据receive strobe -
RX_DV///接收数据有效指示receive clock -
RX_CLK///接收信号时钟receive error -
RX_ER/RXD4///接收数据出错指示collision indication -
COL冲突检测carrier sense -
CRS载波检测management data clock -
MDC管理配置接口 management data input/output -
MDIO 管理配置接口数据IO
MII以4bit,即半字节方式双向传送数据,时钟速率25MHz,其工作速率可达100Mb/s。MII管理接口是个双信号接口,一个是时钟信号,另一个是数据信号。通过管理接口,上层能监视和控制PHY。MII界面传递了网络的所有数据和数据的控制,而MAC对PHY的工作状态的确定和对PHY的控制则是使用SMI(Serial Management Interface)界面通过读写PHY的寄存器来完成的。PHY里面的部分寄存器是IEEE定义的,这样PHY把自己的目前的状态反映到寄存器里面,MAC通过SMI总线不断的读取PHY的状态寄存器以得知目前PHY的状态,例如连接速度,双工能力等。当然也可以通过SMI设置PHY的寄存器达到控制的目的,例如流控的打开关闭,自协商模式还是强制模式等。不论是物理连接的MII总线和SMI总线还是PHY的状态寄存器和控制寄存器都是有IEEE的规范的,因此不同公司的MAC和PHY一样可以协调工作。当然为了配合不同公司的PHY的自己特有的一些功能,驱动需要做相应的修改。

RMII(Reduced Media Independant Interface)简化媒体独立接口,是标准的以太网接口之一,比MII有更少的I/O传输。

关于RMII口/MII/GMILL的基本区别:
RMII口是用2根线来传输数据
MII口是用4根线来传输数据
GMII是用8根线来传输数据
MII/RMII只是一种接口,对于10M线速,MII的时钟是2.5M,RMII则是5M;对于100M线速,MII的时钟是25M,RMII则是50M。

MII/RMII 用于传输以太网包,在MII/RMII接口是4/2bit的,在以太网的PHY里需要做串并转换、编解码等才能在双绞线和光纤上进行传输,其帧格式遵循IEEE 802.3(10M)/IEEE 802.3u(100M)/IEEE 802.1q(VLAN)。
MII支持10Mbps和100Mbps的操作,一个接口由14根线组成,它的支持还是比较灵活的,但是有一个缺点是因为它一个端口用的信号线太多,如果一个8端口的交换机要用到112根线,16端口就要用到224根线,到32端口的话就要用到448根线,一般按照这个接口做交换机,是不太现实的,所以现代的交换机的制作都会用到其它的一些从MII简化出来的标准,比如RMII,SMII,GMII等.

RMII是简化的MII接口,在数据的收发上它比MII接口少了一倍的信号线,所以它一般要求是50MHz的总线时钟.RMII一般用在多端口的交换机,它不是每个端口安排收,发两个时钟,而是所有的数据端口公用一个时钟用于所有端口的收发,这里就节省了不少的端口数目.RMII的一个端口要求7个数据线,比MII少了一倍,所以交换机能够接入多一倍数据的端口.和MII一样,RMII支持10Mbps和100Mbps的总线接口速度.

SMII是由思科提出的一种媒体接口,它有比RMII更少的信号线数目,S表示串行的意思.因为它只用一根信号线传送发送数据,一根信号线传输接受数据,所以为了满足100Mbps的总线接口速度的需求,它的时钟频率就达到了125MHz,为什么用125MHz,是因为数据线里面会传送一些控制信息.SMII一个端口仅用4根信号线完成100Mbps的传输,比起RMII差不多又少了一倍的信号线.SMII在工业界的支持力度是很高的.同理,所有端口的数据收发都公用同一个外部的125MHz时钟.

GMII是千兆网的MII接口,这个也有相应的RGMII接口,表示简化了的GMII接口

以太网帧的格式为:
前导符+开始位+目的mac地址+源mac地址+类型/长度+数据+padding(optional)+32bitCRC
如果有vlan,则要在类型/长度后面加上2个字节的vlan tag,其中12bit来表示vlan id,另外4bit表示数据的优先级!

Marvell 88E1111PHY芯片简介相关推荐

  1. NT3H2111_2211芯片简介

    NT3H2111_2211芯片简介 NT3H2111_2211是一个支持ISO14443A协议的NFC芯片,通过外接一个线圈可以从手机发送的射频信号实现获取能量和信息. 芯片结构 芯片由EEPROM, ...

  2. 2020TI省级大学生电子竞赛推荐芯片简介

    2020TI省级大学生电子竞赛推荐芯片简介 2020TI省级大学生电子竞赛芯片 不知道用什么单片机?不知道用什么AD/DA模块,不知道用什么运放,不知道用什么稳压器? 所以官方给了一些推荐的. 我也是 ...

  3. 深入CC3200(1)—芯片简介及学习方法

    深入CC3200(1)-芯片简介及学习方法 admin 于 2015年09月15日 发表在  CC3200开发 写在前面: 在一个项目中使用了TI的CC3200芯片.总体而言,对于CC3200这款芯片 ...

  4. 02 nRF52832芯片简介

    nRF52832芯片简介 nRF52832 SoC是一款功能强大,高度灵活的超低功耗多协议SoC,非常适合低功耗蓝牙,ANT和2.4GHz超低功耗无线应用.它和普通的单片机如51.stm32等最大的不 ...

  5. Marvell交换芯片88E6390驱动开发

    作者 QQ群:852283276 微信:arm80x86 微信公众号:青儿创客基地 B站:主页 https://space.bilibili.com/208826118 参考 Marvell交换芯片8 ...

  6. 低压差稳压器--AMS1117芯片简介 结构

    低压差稳压器–AMS1117芯片简介 结构 从内部框图可以看出,ASM1117提供电流限制和热保护(TSD),以防环境温度造成过高的结温.电路包含1个齐纳调节的带隙参考电压以确保输出电压的精度在±1% ...

  7. NRF52832学习笔记1——NRF52832芯片简介

    NRF52832芯片简介 描述 低功耗 内核 内存配置(两种) 电源管理 外设 描述 nRF52832 SoC是一款功能强大,高度灵活的超低功耗多协议SoC,非常适合低功耗蓝牙,ANT和2.4GHz超 ...

  8. BCM ESW芯片和Marvell CAT芯片的比较

    我曾经分别对BCM的ESW系列芯片和Marvell的XCAT芯片有一段时间的开发经历,这两块芯片在共同支持的功能上没有什么大的不同,但是在硬件实现上有着很大的区别,现在我跟进个人感受总结他们的不同,希 ...

  9. Marvell交换芯片88E6321/88E6320驱动总结-硬件篇

    芯片特性 Marvell 88E6321/88E6320 是一个7-Port千兆以太网交换芯片.支持最新的IEEEE802.1 Audio Video Bridging标准. 芯片包含两个10.100 ...

最新文章

  1. 一位老司机谈谈掏心窝子的话
  2. 铁路运货的运费与路程远近java_JAVA铁路运货的运费与路程远近及货物的重 – 手机爱问...
  3. python保留字-9.Python关键字(保留字)一览表
  4. SpringBoot | 自动配置原理
  5. mvc和php的关系,php - 什么是HMVC模式?
  6. spring boot系列 1: 第一个spring boot: Hello prj
  7. 为什么非阻塞io性能更好_提高性能:流的非阻塞处理
  8. 二叉树面试题:判断树是否为完全二叉树和求二叉树的镜像
  9. css 向左白色箭头,带CSS的工具提示左侧的箭头
  10. python 导入包 导入模块
  11. LuaForUnity2:Lua基本数据类型与符号
  12. IMX8MM IMX8QXP芯片配置GPIO方向和数据
  13. mmd Ray渲染 mikumikudance导入模型阴影很黑
  14. 科技爱好者周刊(第 163 期):你的城市有多少张病床?
  15. 微信朋友圈的软文写作技巧
  16. 公众号开发素材管理,php删除微信素材
  17. 陈丹青版画作品首次元宇宙拍卖明日揭幕!
  18. PawningShop:一种NFT抵押借贷的实现
  19. 解决Unity3d 图片黑边问题
  20. pl sql迁移oracle,Oracle数据库安装及使用PLSQL数据迁移

热门文章

  1. 《经济的律动》徐远(作者)epub+mobi+azw3格式下载
  2. 云开发平台开源应用中心一次体验
  3. lamber表达式sql_sql语句-linq语言-lambda表达式对照
  4. BP神经网络(Back Propagation Neural Network)Matlab简单实现
  5. 怎么样用云服务器进行深度学习
  6. 先进制造技术论文_轴承先进锻造工艺及制造技术
  7. 关于部分Win10降成WIN7的安装步骤
  8. 虚拟机如何进入PE系统
  9. 爱快路由器wifi短信验证上网怎样配置?wifi身份认证方案
  10. iphone ipad 为孩子创建 apple id