简介:围绕Marvell 88E6320/21交换芯片的硬件设计参考文档,面向网络设备硬件工程师、PCB设计人员及嵌入式开发者,服务于原理图评审、接口规划和板级调试等场景。文档为REV2.1版DB原理图,内容覆盖电源与稳压器选型、上电复位芯片、MAGJACK应用,也包含芯片顶层框图、RGMII接口、P0至P1的光纤Serdes连接、P2至P6的RGMII与MDI接口、EEPROM及时钟配置、复位与GPHY指示灯、SMI USB/CPLD和千兆RJ45铜口等模块。版本记录还说明稳压器替换以支持5V与12V输入、板载POR芯片增加、各端口统一MAGJACK、外部PHY串联端接电阻改为0欧姆及V_Set电阻值校正等变更,便于理解设计取舍与修改脉络。压缩包仅含一个PDF文件,约275KB,篇幅轻量但信息密度较高;已有9469人学习下载,读者可据此核对接口连接关系、电源与复位处理方式及关键配置要点,快速定位原理图模块并排查板级问题。
1. 从 88E6320_DB_QFN108_REV2 说起:18 页图里藏着五个版本坑
88E6320_DB_QFN108_REV2 这份 18 页的原理图,第一眼很像“参考资料”——目录、顶层框图、QFN108 全管脚、每个端口一页,翻完十分钟。真正让人出问题的根本不是看不懂图,是版本。REV2.1 的改动记录列了五条:regulator 换成支持 5V 和 12V 双输入、板上加了 POR 芯片、所有口的 MAGJACK 统一、外部 PHY 的串阻改成 0Ω、V_Set 分压电阻值修正。新图配老 BOM,板子上电要么纹波不对,要么链路起来一阵就断,查三天也查不出所以然。这套环境适合手上有一块七口千兆交换板、要把它从“能上电”推到“每个口都能跑满流量”的人,硬件和驱动都算在内。
2. 环境准备:把 18 页 PDF 变成可检索的检查表
拿到图纸的第一件事往往不是看电路,而是确认“我看的是不是大家看的那一份”。这类交换板图纸在团队里传三四手之后,最容易被改名为88e6320_db_rev2.pdf、rev2_final.pdf、rev2_final_改.pdf三个版本同时存在,内容差了整整一页电源。先把文件和目录固定下来,后面所有结论才有参照物。
2.1 先锁版本:md5、页数与 REV2.1 的五条改动
图纸落到本地磁盘之后立刻算指纹,同时确认页数。原图 18 页,sheet 1 是目录与顶层框图,sheet 2 是芯片接口总览,sheet 3 是 QFN108 全管脚,sheet 4 是 2-wire EEPROM、系统复位和时钟/MDC-MDIO,sheet 5 是 GPHY LED 的间接访问,sheet 6 到 11 是 P5、P6、P2 三组 RGMII 与对应 PHY 的 MDI,sheet 8 是 1000BASE-X 光口,剩下的是电源。少一页,你后面查电源树就会一直觉得“图上没有”。
# 1) 落盘先算指纹,避免拿到被改过一版的图纸 md5sum 88E6320_DB_QFN108_REV2.pdf # 2) 页数、生成工具、创建时间一起看,页数对不上 18 就直接别往下走 pdfinfo 88E6320_DB_QFN108_REV2.pdf | egrep 'Pages|Producer|CreationDate' # 3) 转成保留版式的纯文本,后面所有检索都基于这一份 pdftotext -layout 88E6320_DB_QFN108_REV2.pdf db.txt wc -l db.txt-layout这个参数不要省。管脚表那种“网络名、管脚号、功能”三列并排的排版,去掉版式之后会串成一长条,P5_VDDO和它的 40 脚会跑到两行里,检索出来的对应关系全错。pdfinfo里的Producer也值得扫一眼,如果显示的是某个在线转换工具而不是原始出图工具,说明这份文件被“过”过一次,字体和图层可能已经丢了,图上某些灰色标注会读不出来。
版本锁定之后,把 REV2.1 的五条改动做成一张对照表贴在工位上,这就是后面所有踩坑的索引:
| 改动项 | REV2.1 具体做了什么 | 落到板子上要核对什么 |
|---|---|---|
| Regulator | 换成能同时吃 5V 和 12V 输入的方案 | 输入电压跳线、反馈分压、电感饱和电流 |
| POR | 板上新增电压监控芯片,替代原来的 RC 复位 | 复位阈值档位、复位延时是否够晶振起振 |
| MAGJACK | 所有端口的集成变压器网口统一成同一型号 | BOM 里别再混两种料,MDI 配对别串 |
| 串阻 | 外部 PHY 的串联端接电阻改为 0Ω | 手焊板最容易还按老 BOM 贴 22Ω/33Ω |
| V_Set | 分压电阻值修正 | 空载先量输出电压,别直接插模块 |
我一般会顺手建个 git 仓,把 PDF、自己导出的网络标号表、实测记录都塞进去,commit message 里写清楚“改了哪个口的哪颗电阻”。三周后回头看,只有这样做才分得清哪次是图纸改动、哪次是手焊改动。
mkdir -p ~/work/88e6320-db && cd ~/work/88e6320-db git init mkdir -p docs notes cp /path/to/88E6320_DB_QFN108_REV2.pdf docs/ git add docs && git commit -m "rev2.1 baseline, 18 sheets, md5 recorded"2.2 建网络标号索引:pdftotext 抽取与人工核对
18 页图里真正会被反复查的只有几十个网络名:P0_S_TXP、P5_OUTD0、MDC_PHY、EE_CLK这些。与其每次在阅读器里翻页找,不如先抽一遍做成索引。抽取的意义不是替代看图,而是让你在开会或者焊接的时候能三秒钟定位到“这根线在第几页出现过”。
# 按端口前缀归类,统计每个网络标号出现的次数 pdftotext -layout 88E6320_DB_QFN108_REV2.pdf - \ | grep -Eo '\bP[0-6]_[A-Z0-9_]+' | sort | uniq -c | sort -rn | head -40 # 管脚号和网络名一起抓,用来定位 QFN108 那段在文本里的位置 grep -nE 'QFN108|P5_VDDO|P6_VDDO|ADDR\[0\]n' db.txt | head -20grep -Eo只输出匹配到的片段,不会带整行噪音;uniq -c统计出现次数后,出现次数特别少的标号要留意——它很可能只出现在顶层框图里,实际电路上并没有接出去,属于“图上有、板上无”的悬空网络。第二行命令拿到行号之后,回到 PDF 阅读器跳到对应页人工核对,因为文本抽取出来的三列管脚表一定错行,只能当索引用,不能当结论用。
索引做完,建议落成一张自己的对照表,列固定为:网络名、芯片管脚号、所在 sheet、方向、上电默认电平。后面调试时所有的“我以为它接了”都要回这张表里查。举几个这张表里必须有的条目:
| 网络名 | 管脚 | Sheet | 说明 |
|---|---|---|---|
| RESETn | 103 | 4 | 复位输入,低有效,由板上电压监控和按钮共同驱动 |
| MDC_CPU / MDIO_CPU | 55 / 54 | 4 | 面向 CPU 的 SMI,交换芯片自身挂在这条总线上 |
| MDC_PHY / MDIO_PHY | 53 / 52 | 2、4 | 面向外部 PHY 的第二条 MDIO,与上面那条不是一回事 |
| EE_CLK / EE_DOUT | 98 / 97 | 4 | 2-wire EEPROM 的时钟与数据,复用为 LED 移位 |
| XTAL_IN / XTAL_OUT | 34 / 35 | 4 | 25MHz 晶体,起振不好整块板子都不工作 |
2.3 电源树对照:5V/12V 双输入下的六条轨
REV2.1 换 regulator 的直接后果是:同一块板子可能被 5V 适配器和 12V 适配器分别供过电,而这两种输入下各条轨的空载值不一定一样。上电之前先把电源树在纸上画一遍,比对着板子瞎量效率高得多。图上能数出来的轨大致是这几条:VDD_3.3V、VDD_2.5V、外部 PHY 用的PHY_1.8V、芯片的VDD_15和VDD_CORE,再加上VOUT11/VOUT15这一对芯片自己出来的电压。61、62 脚是它们的_SEN反馈脚,外接电容和反馈走线动一下,输出就偏。
| 电源轨 | 图上主要去处 | 谁在吃 | 上电前后要确认什么 |
|---|---|---|---|
| VDD_3.3V | VDD33(58)、VDD33_PLL(57)、VDD33_IN、EEPROM 的 VCC(8) | 交换芯片 IO、EEPROM | 对地阻值;PLL 那路的滤波别省 |
| VDD_2.5V | P5_VDDO(40)、P6_VDDO(74/82/89)、PHY 的 VDDO(46) | RGMII 侧 IO | 必须和 I/O SEL 档位一致,见 3.1 |
| PHY_1.8V | 外部 PHY 的 DVDD/AVDD 1.8V 段 | 外部千兆 PHY 内核 | 与 3.3V 段分开量,别只看总电流 |
| VDD_15 | 芯片 VDD_15 四只脚 | 内部 1.5V 域 | 空载先量,再挂网口变压器 |
| VDD_CORE | 38、65、96 | 芯片内核 | 纹波,探头地线要短 |
| VOUT11 / VOUT15 | 63 / 60,配合 61/62 的 SEN | 芯片内部稳压输出 | 外接电容是否按图贴齐 |
常见做法是上电前先用万用表二极管档量一遍 3.3V 和 2.5V 对地阻值,几百欧以上才敢上电;上电后先空载量VOUT11/VOUT15,这两路不对就别插网线也别插光模块,否则后面所有现象都是连带反应,排查会被带偏。12V 输入下还要额外摸一下 regulator 的温度,双输入方案在高压差时发热明显更大,这不是故障,但会让你误判。
3. 配置管脚:P5/P6 I/O SEL 与复位锁存窗口
交换芯片这类器件的“配置”有相当一部分不在寄存器里,而在上电瞬间被几根脚的电平锁存进去。88E6320 这块板子上,P5_VDDOS[0]、P6_VDDOS[0]、P0_SMODE、P1_SMODE、LED_SEL0/1、NO_CPU、ADDR[0..4]n、EEE_WP全是这种角色。它们和普通 GPIO 的最大差别是:复位释放那一刻是什么电平,就永久是什么配置,之后再改也没用,除非重新复位。所以调试顺序永远是先确认 strap,再看寄存器。
3.1 三档 I/O 电平:0X、10、11 到底怎么选
图上对 P5 和 P6 的 I/O 电平标注是同一套编码:0X对应 1.8V,10对应 3.3V,11对应 2.5V。这里的X是不关心位,也就是00和01两个组合都落在 1.8V 档。这个是血泪经验级的细节——很多人看到01会以为那是“预留档”或者“默认档”,量出来是 1.8V 就以为板子焊错了,其实图上写得很清楚。
| SEL 编码 | 实际电平 | 什么时候会选它 |
|---|---|---|
| 00 / 01 | 1.8V | 低功耗场景,外部 PHY 也用 1.8V IO |
| 10 | 3.3V | 与 3.3V 的 CPU、CPLD 直连,最常见 |
| 11 | 2.5V | 与 2.5V 器件混接,或需要折中驱动能力 |
选档不只是改电压,它连带上拉电阻的去向。MDC/MDIO 的上拉必须跟着对应 VDDO 走:如果 P5 选了 1.8V 而 MDIO 上拉还挂在
本文还有配套的精品资源,点击获取