marvell88Q5152交换机开发(1)-硬件

📅 2026/8/20 12:54:33
marvell88Q5152交换机开发(1)-硬件
本文主要介绍硬件开发环境与硬件配置环境。JTAG当我们使用MARVELL给的开发板时JTAG是设计在板载硬件接口上我们不需要单独购买JTAG设备就可以直接debug或者烧录程序。但是在实际的项目开发过程中还是需要通过专用的JTAG芯片去控制芯片。下面介绍一下我们使用的JTAG工具。烧录设备FT2232HL88Q5152不是所有JTAG设备都可以烧录正常FAE会给设备建议我们使用的如图**Q烧录板和芯片的JTAG口接线pin名称pin定义AD0TCKAD1TDIAD2TDOAD3TMSGNDGND88Q5152 bootstrapsMARVELL88Q5152的配置分为2部分上电初始话的io锁存配置和启动后的寄存器操作本章节主要介绍io的锁存配置。在介绍之前首先介绍一下配置需求。1.首先MCU通过SMI接口读写88Q5152的寄存器读取状态以及动态配置2.port1配置成1000BASET1 SLAVE模式port2配置成1000BASET1 MASTER模式等3.port9配置从SGMII模式同事外部挂接一个PHY芯片实现1000BASET1的通讯4.外接的PHY芯片88Q2221使用switch的SMI接口进行配置88Q5152有丰富的pin脚初始化配置pin功能功能描述K3、H1、H2、J3SMI地址ADDR[0-3]设置0xF地址值0x0 默认设置0xE对应地址0x1依此类推G17P1_PHYMODEport1 T1的模式0x0100baseT10x1:1000baseT1 默认P15P1_MASTER0x1: master 默认C15P2_PHYMODE0x1:1000baseT1 默认T18P2_MASTER0x1: master 默认N17P3_PHYMODE0x1:100baseT1 默认T17P3_MASTER0x1: master 默认P16P4_PHYMODE0x1:100baseT1 默认T16P4_MASTER0x1: master 默认L16、M16P5_MODE0x3RGMII (默认)N18P5_MEDIA0x1:10baseT1s/100baseT1 (默认) 关联P5_PHYMODEP18P5_VDDOS0x1:3.3v供电 (默认)R18P5_PHYMODE0x1:100baseT1默认U17P5_MASTER0x0: slaveT13、R14、T14P67_MODE设置0x0port6 SGMIIport7RGMII 使能phy detectR15P6_MASTER0x1: master 默认G16、G18P7_MODE0x3:port7 RGMII 默认H16P7_VDDOS0x1:3.3v供电 默认H4、G1P8_SMODE0x0:10GBASE-R 默认U13、U14、V14P9_SMODE0x0SGMII 使能phy detect 通过smi配置88Q2221V13GPIO_VDDOS0x1: 3.3v供电 (默认)R16SPI_VDDOS0x13.3v供电 (默认)H18SMI_SPI_SEL0x1: SMI接口 (默认)U16CPU_EN0x1: 使能CPU (默认)F17、M17SSPI_MODE0x0:clock polarity 0低电平空闲,clock phase0 第一个跳变沿采样 (默认)H3ACTIVE0x0disable所有port(默认)J1RESETF2InterruptF4ExternalFailureReporting基于表格的定义以及需求1.switch的SMI地址K3、H1、H2、J3 外部上拉虽然默认有内部上拉但是一般外部需要在上拉一下。当所有的脚上拉时使得switch的smi地址为0x00当地址位0时smi的地 址会广播到switch内部其他的模块都可以直接按照smi编码地址访问不 需要二级访问。例如当配置访问switch的port1时当switch的smi地址为0我问在访问寄存器时直接smi地址为1就可以。如果switch地址不为0需要smi地址指向switch地址然后访问公共的smi控制寄存器在smi的控制寄存器里面访问对应的port1的地址然后寄存器。2.switch的端口模式根据表格中提示的内容按需求配置3.switch的控制接口根据表格中提示的内容按需求配置成SMI模式4.CPU使能U16是否使能5152内置的R55 ARM核如果使能上电时会默认从外部flash或者网络加载应用程序。在88Q5152的开发流程中 ARM中运行的固件是闭源的有marvell编译释放。4.port使能配置H3一般情况下为了控制以太网的上电时序port1-port9在上电时应该保持power down状态当其他的控制器都配置好后在通过cpu加载的程序把所有的port口都拉起来。这样可以避免在switch复位初期状态不稳定就收到以太网报文出现异常。88Q2221 bootstraps与交换机一样2221这个phy也有2部分配置方式硬件io和读写寄存器31RESETn171637CONFIG[0]CONFIG[1]GPIO默认上拉PHYAD 0x0 (default), 如果0位下拉 0x115CONFIG[2]slave 1(default)14CONFIG[3]1000BT11(default)18CONFIG[4]Passive Mode disable1(default)19CONFIG[5]TC10 sleep/wake-up enable1 (default)由于phy是挂载在switch上并且使用switch的smi接口配置所以phy的地址也不需要刻意配置直接配置SMI地址0就可以。其他的速率和主从按照需求配置就可以也可以后续使用smi访问寄存器修改。FLASH选型当使能CPU时为了实现switch的快启一般需要在外部挂一个flash用于存储程序在上电的时候由R55核的bios直接引导运行。外挂flash要求支持QSPI可配置频率19.2MHz-83.3MHz支持singledualquad模式电压和频率要求flash的尺寸要求SPI的波形和时序EEPROM选型硬件要求大小32K bit (24C32), 64K bit (24C64), 128K bit (24C128), 256K bit (24C256),512K bit (24C512)时序要求可选配置用来存初始化配置信息使能LED引脚PHY的初始化SERDES的初始化注意从EEPROM初始化switch需要几秒才能完成从cpu固件启动只需要几十毫秒在网络配置工具中禁用EEPROM原理在EEPROM的0地址写入0xFFFF注意一次写入后就可以一直生效EEPROM掉电一直保存在配置工具中新增一个“运行时操作“指令在调试工具中在0和1地址写入0xFF