Marvell以太网交换芯片 您所在的位置:网站首页 内置cpu和交换芯片 Marvell以太网交换芯片

Marvell以太网交换芯片

2023-09-07 16:42| 来源: 网络整理| 查看: 265

1 引言

    下载Marvell的器件资料,需要公司与其签订NDA保密协议。Marvell 用户访客登陆网址:https://marvell-customers.okta.com/login/login.htm 在这里插入图片描述 找到相应的器件,下载相关的资料。 在这里插入图片描述

2 硬件环境准备

仿真器:USB2SMI 用途:用于交换芯片eeprom 镜像烧写,交换芯片从eeprom读取镜像进行启动和配置 在这里插入图片描述 相关使用文档:《MV-S400452-00_USB2SMI-Module-DC201-Adapter-User-Guide.pdf》

3 软件环境准备

安装CodeBlocks CodeBlocks 用于编写代码,编译后生成的 .ihx文件用于烧写eeprom. 在这里插入图片描述 参考文档: 《Creating-EEPROM-images-for-Amethyst-Peridot-and-Topaz_02_01_2019.pdf》

安装 IMPGUI 工具 该工具用于eeprom 镜像文件的格式转换和eeprom烧写; 在这里插入图片描述 参考文档: 《Creating-EEPROM-images-for-Amethyst-Peridot-and-Topaz_02_01_2019.pdf》

安装SwitchGUI 工具 该工具用于读写交换芯片各端口寄存器; 在这里插入图片描述 该工具可以将已配置好的寄存器值 dump 出来,形成regloader code,可以放到 CodeBloaks中编辑。

4 实际应用

由于公司与Marvell签了保密协议,手册中的部分截图无法贴出来,网友们见谅啦! 我们使用的场景如下,使用MPU的一个MAC+PHY与交换芯片的Port9端口通过SGMII连接。交换的Port1作为级联口接外部网络,Port2-Port7连接背板,Port8预留暂没有使用。 交换芯片使用的是No CPU模式,即上电后从eeprom读取配置文件。 在这里插入图片描述 交换芯片上需做的修改: 在这里插入图片描述 交换芯片需要做3个地方的修改: (1) 设置 C_MODE 参考:《fs_88E6390X_88E6390_88E6290_88E6190X_88E6190-Switch-Functional-Specification-Draft-Rev0-04.pdf》 Page-182 设置Port9和Port10的C_MODE =0x9,让其工作模式为1000BASE-X (2)设置 VLAN 参考:《fs_88E6390X_88E6390_88E6290_88E6190X_88E6190-Switch-Functional-Specification-Draft-Rev0-04.pdf》 Page-200 设置各端口的Frame Mode为Normal Network (3)设置各端口的PHY - Fiber Transceiver Registers全部关闭自协商,强制1000M/FULL 参考:《88E6390X_88E6390_88E6190X_88E6190-PHY-and-SERDES-Functional-Specification-and-Registers.pdf》 Page-112

CodeBlock编辑的代码如下:

#include #include int main () { /**************************************************** * set C_MODE - Switch - Page182 ****************************************************/ /* P9 - 1000BASE-X ; P2\P3\P4 - AutoMedia */ WriteReg(0x9,0x0,0xde09); /* P10 - 1000BASE-X ; P5\P6\P7 - AutoMedia */ WriteReg(0xa,0x0,0xde09); /**************************************************** * set VLAN - Frame Mode - Switch - Page200 ****************************************************/ /* P1-P10 */ WriteReg(0x1,0x4,0x7f); WriteReg(0x2,0x4,0x7f); WriteReg(0x3,0x4,0x7f); WriteReg(0x4,0x4,0x7f); WriteReg(0x5,0x4,0x7f); WriteReg(0x6,0x4,0x7f); WriteReg(0x7,0x4,0x7f); WriteReg(0x8,0x4,0x7f); WriteReg(0x9,0x4,0x7f); WriteReg(0xa,0x4,0x7f); /******************************************************** * Close AutoNegotitaion, force 1000M/FULL - PHY - Page112 ********************************************************/ /* P9-P10 */ //C45RegWrite(0x9,0x4,0x2000,0x140,0); //C45RegWrite(0xa,0x4,0x2000,0x140,0); /* P2-P7 */ C45RegWrite(0x12,0x4,0x2000,0x140,0); C45RegWrite(0x13,0x4,0x2000,0x140,0); C45RegWrite(0x14,0x4,0x2000,0x140,0); C45RegWrite(0x15,0x4,0x2000,0x140,0); C45RegWrite(0x16,0x4,0x2000,0x140,0); C45RegWrite(0x17,0x4,0x2000,0x140,0); return 0; }

另外,交换芯片的复位时序也要特别注意!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有