芯片特性

  • Marvell 88E6321/88E6320 是一个7-Port千兆以太网交换芯片。支持最新的IEEEE802.1 Audio Video Bridging标准。
  • 芯片包含两个10、100、1000三速以太网收发器(PHYs),两个千兆SERDES,三个数字接口(GMII\RGMII\MII组合)。
  • 芯片采用Marvell动态队列限制(Dynamic Queue Limit ),实现高速无阻塞4级QOS交换结构。包含一个高性能地址查询引擎,多达支持8K个节点和1Mbit的帧缓存。
  • 内部MAC单元符合标准的IEEE802.3,最大支持10KByte帧长。
  • 包含一个TCAM-based策略控制列表(TCAM-based Policy Control List)引擎,支持256条规则(仅88E6321支持)。
  • 芯片的RGMII(或MII/RMII)接口支持直接连接管理器件或者路由器CPU作为MAC使用。2、6Port可以设置支持完整GMII接口。
  • 千兆SERDES接口支持SGMII、1000BASE-X、100BASE-FX。
  • PHY单元支持802.3az 节能以太网(Energy Efficient Ethernet)。
  • 内部PHY单元、MAC单元均支持完整IEEE802.3标准。
  • 支持帧唤醒和帧时间侦测唤醒功能,允许在连接cpu是进入睡眠模式,以达到降低系统功耗目的。
  • 多达6个LED,可以通过寄存器配置相应功能。
  • 可以使用SMI接口和以太网帧对芯片进行配置,也可以使用EEPROM进行配置。
  • 支持8K条MAC地址自动学习和老化功能。
  • 支持25MhzXTAL时钟源。

结构框图


从结构框图可以看出:

  • Port2、5、6可以配置为MAC模式或者PHY模式,均支持RGMII/RMII/MII,2、6Port还支持GMII。
  • Port3、4支持10、100、1000M自适应以太网接口。
  • Port0、1支持100M、1000M光口(SFP)。

引脚定义


从引脚定义可以看出,许多引脚都有多种功能,这些复用的功能大多在RESETn为低电平时有效,RESETn上升沿时锁存。

1.NO_CPU模式选择:

在复位状态下(RESETn = low)时,设置NO_CPU引脚电平后,RESETn上升沿将锁存引脚电平。若此时NO_CPU=0则表示芯片由CPU控制,NO_CPU=1则表示芯片非CPU控制。
在NO_CPU=0模式下,所有的Port在初始化时都被关闭,PHY的供电关闭,使得CPU可以在芯片工作前进行启动与配置,该引脚内部上拉,默认上电所有Port打开。
为了方便,可以将NO_CPU置为1进行调试,调试通过后,考虑低功耗处理时,可以采用NO_CPU=0模式,以屏蔽不需要打开的Port。

2.P5和P2、6的模式选择(以P5为例):

P5_OUT[3:0]为多功能引脚,在复位状态下(RESETn = low),引脚为输入状态,此时可以设置引脚电平(P5_MODE[2:0])来决定该端口的工作模式(见下图),在设置好引脚电平后,RESETn上升沿过程中将会锁存引脚电平,进入对应的工作模式。

该引脚内部上拉,默认工作模式为RGMII,对于其他模式,可以在硬件上直接串4.7K电阻到GND来进行配置,我这里设置为0x04RMII模式,因此P5_MODE[1:0]引脚通过4.7K电阻接地。

在NO_CPU=1模式下,P5_CRS,P5_COL作为MDC_PHY,MDIO_PHY功能使用用于管理外接的SMI从设备(如外部PHY),否则为GPIO[8:7]使用。

3.寻址模式

由于88E6321本身功能强大,即可以做MAC也可以做PHY(2个Port)、SERDES(2个Port),因此虽然只是一个芯片,但却可以看作多个设备,这将面临一个地址确定的问题,如何给片内PHY、SERDES、MAC分配地址。为了解决这个问题,88E6321有两种芯片寻址模式:单芯片寻址与多芯片寻址。
通过在复位状态时设置ADDR[4:0]n引脚的电平可以设置设备地址(需要注意的是,ADDR所设置的地址为实际SMI地址的反码,即ADDR=0x1F对应的实际SMI地址为0x00,,ADDR=0x00对应的实际SMI地址0x1F,这点在下文中需要注意)。

  • 单芯片寻址模式:
    当ADDR[4:0]n=0x1F时,进入单芯片寻址模式,此时通过内部地址直接访问,在这个模式下,88E6321会响应所有的32个SMI地址,因此必须确保他是惟一的SMI从设备,在设备寄存器映射图中,SMI设备地址0X10-0X16(对应Port0-Port7),0X1B-0X1D(对应特殊寄存器Global1-3)是可以直接访问的,而地址0X03、0X04(对应Port3、4的PHY)、0X0C、0X0D(对应Port0、1的SERDES)则需要使用Global2地址的SMI PHY CommandSMI PHY Data两个寄存器进行间接访问。
  • 多芯片寻址模式:
    当ADDR[4:0]n!=0x1F时,则进入多芯片寻址模式,此时,88E6321只会响应ADDR设置的地址的反码,同时仅有两个寄存器可以直接访问(SMI Command寄存器与SMI Data寄存器),其他寄存器则通过这两个寄存器间接访问(包括在单芯片寻址模式下间接访问的寄存器)。

4.从SMI接口

当88E6321作为SMI从设备时,主控可以通过这个接口(MDC_CPU与MDIO_CPU)对88E6321进行管理。
MDC_CPU最高支持20MHz,MDIO_CPU需要外接一个4.7K到10K的上拉电阻。需要注意的是,该接口在INTn为低电平时才可以通信。
INTn为中断引脚,用于指示未被掩码屏蔽的中断是否产生。由于该引脚为开漏输出,且低电平有效,因此必须在其外部上拉,这样在未发生中断的情况下,始终未高电平。同时,该引脚低电平有效时也意味着SMI接口可以使用。(上电过程中,芯片会从外挂的EEPROM(如果有的话)加载寄存器设置,然后发出EEPROM处理完成中断,拉低INTn)

5.PHY接口

Port3、Port4支持10/100/1000三速PHY,支持IEEE标准中的10BASE-T,100BASE-TX,1000BASE-T。

6.SERDES接口

Port0、Port1是SERDES接口,可以通过配置选则其工作模式:

  • 连接Marvell的三速PHY
    SERDES可以配置为三速PHY接口,用于连接外部PHY,此时SERDES使用SGMII协议,
  • 连接到1000BASE-X的光纤模块
  • SGMII接口
    通过设置Px_SMODE引脚电平可以配置SERDES工作模式:
  • 与其他Marvell交换芯片级联

LED接口

88E6321采用矩阵LED接口,使得每个PHYPort都能分配到2个LED。LED的阴极都连接到一条行信号线上(Rx_LED),阳极连接到列信号线上(Cx_LED)。LED引脚能够形成3行2列的矩阵LED。
LED映射如下图:

典型电路连接图:

LED行信号(Cx_LED)与EEPROM共用,采用时分多路复用来避免LED与EEPROM操作的互相干扰。

  • LED选项
    通过对各自Port的LED Control寄存器(offset=0x16)进行配置,可以设置各个LED的功能:
  • 上电参数设置
    LED上电后的初始化功能可以由LED_SEL[1:0]来配置,这些硬件内部上拉,默认是0x03,可以复位状态通过外接下拉4.7K电阻,来改变初始配置。
    1.LED_SEL[1:0]=0x03
    一个LED显示网络连接(Link)与网络活动(Activity),另一个LED用于显示更高速率的连接(Gig Link)。

    2.LED_SEL[1:0]=0x02
    一个LED显示千兆网络连接与网络活动,另一个LED用于显示10/100M网络连接与网络活动.

    3.LED_SEL[1:0]=0x01
    用于双色或三色LED,不同颜色显示不同网络速率下的网络连接与网络活动。

    4.LED_SEL[1:0]=0x00
    用于单LED显示,通过不同的闪烁频率来表示不同网络速率,连接,网络活动。默认的闪烁频率如下:1Gbps:84ms,100Mbps:170ms,10M:340ms。

    以上是88E6321关于硬件相关的介绍。

我这里使用stm32通过RMII连接至88E6321的Port5,Port4连接电口以太网,Port5连接SFP光口以太网。

不同于一般的功能单一的PHY器件(如LNA8720A),88E6321的PHY相关寄存器操作相对较复杂,具体操作方法见后续介绍。

Marvell交换芯片88E6321/88E6320驱动总结-硬件篇相关推荐

  1. Marvell交换芯片88E6321/88E6320驱动总结-寄存器篇

    由于我在项目中将该芯片作为PHY和SERDES使用,因此本文内容主要还是围绕PHY和SERDES的相关功能,至于其他功能则没有进行深入研究. 工作模式 在之前的硬件篇中有提到,该芯片有两种寻址模式:单 ...

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

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

  3. Marvell 交换芯片DSA(分布式交换架构)功能介绍

    Marvell DSA(分布式交换架构)by 韩大卫@吉林师范大学*************** 请参见 Marvell Prestera/Cheetah/xcat/lion 系列交换芯片手册获取更详 ...

  4. 5-->详解《switch 数据接收驱动框架、mtk7621集成交换芯片mt7530》之一

    一. MTK7621 网络通讯原理简述 本篇博文分析的是mtk7621的芯片所内嵌的交换芯片mt7530的驱动程序,MTK7621采用内部的 MDIO 接口管理MT7530 的 switch 芯片:M ...

  5. Marvell宣战博通网络交换芯片,一大波饿狼扑食而来

    origin: http://www.esmchina.com/news/article/201704051517 一大批饿狼扑食而来,基础芯片领域--网络交换芯片江湖将掀起血雨腥风. 此前,网络交换 ...

  6. 6 -->详解《switch 数据接收驱动框架、mtk7621集成交换芯片mt7530》之二

    一. MTK7621 网络通讯原理简述 本篇博文分析的是mtk7621的芯片所内嵌的交换芯片mt7530的驱动程序,MTK7621采用内部的 MDIO 接口管理MT7530 的 switch 芯片:M ...

  7. Marvell 88E1111PHY芯片简介

    1.PHY芯片简介 PHY芯片在OSI协议栈中属于最底层的物理层,与其它层的关系图如下: 从硬件上来说,一般PHY芯片为模数混合电路,负责接收电.光这类模拟信号,经过解调和A/D转换后通过MII接口将 ...

  8. 基于交换芯片的五元组的PCL规则过滤功能

    2019独角兽企业重金招聘Python工程师标准>>> 基于交换芯片的五元组的PCL规则过滤功能作者: 韩大卫@吉林师范大学2012.12.10Not Approved by Doc ...

  9. 基于交换芯片的五元组过滤功能

    基于交换芯片的五元组的PCL规则过滤功能作者: 韩大卫@吉林师范大学2012.12.10Not Approved by Document Control Review Copy Only基于Marve ...

最新文章

  1. ES6中的class是如何实现的?(附Babel编译的ES5代码详解)
  2. 网络名称空间 实例研究 veth处于不同网络的路由问题
  3. 服务器双网卡冗余备份技术的实现
  4. html怎么使背景图片充屏,css如何使div背景图片填充
  5. Java 中的List动态转Map集合
  6. NOIP2014 uoj20解方程 数论(同余)
  7. angularjs1.X进阶笔记(3)——如何重构controller
  8. 我的儿时理想—让世界没有乞丐
  9. UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcd in position 0: invalid continuation byte
  10. 三菱无机房电梯故障代码查询_三菱无机房电梯的故障代码
  11. 2019年“深圳杯”数学建模挑战赛B题解题思路(一)
  12. Alsa是Linux高级音频接口(百度文库无下载券抄来的)
  13. VUE 组件 有数据不渲染 v-for
  14. 汉字文化杂志汉字文化杂志社汉字文化编辑部2022年第11期目录
  15. java打字小游戏_java实现打字游戏小程序
  16. vue导出excel乱码(锟斤拷唷?锟?;锟斤拷)
  17. valgrind工具使用
  18. 为保用户安全 Facebook居然要从黑客手上回购密码?
  19. C艹开源可读项目整理
  20. 渲染预览PDF文档,轻松搞定,这方案真香!

热门文章

  1. 告别复制粘贴,Python 实现 PDF 转文本
  2. python怎么导入math库_Python math数学库的用法
  3. Unix 磁盘扫描命令
  4. Google I/O大会:Android 13
  5. NullPointerException异常
  6. 六大布局之RelativeLayout
  7. HihoCoder 1408 The Lastest Time
  8. textblob 情感分析_使用TextBlob进行远程学习的推文中的情感分析
  9. Oracle中的CHR()函数
  10. 西游之路——python全栈——报障系统之后台管理