第四章 硬件原理图设计(下):以太网/USB/PCIe/HDMI接口设计、电平转换与隔离、保护电路设计

各位好,我们接着聊原理图设计的下半部分。上一章我们把电源、时钟、复位这些“基础设施”讲透了,这一章要啃的,是真正跟外部打交道的接口——以太网、USB、PCIe、HDMI。这些接口,说白了就是芯片跟外界沟通的“嘴巴”和“耳朵”。

我个人习惯,在设计这些高速接口时,会先问自己三个问题:信号完整性能不能保证?电平匹配有没有做好?万一插拔或者短路,保护电路扛不扛得住?这三个问题想明白了,原理图基本就稳了。

4.1 以太网接口设计:从PHY到RJ45

以太网接口,在瑞芯微平台上用得非常多。无论是百兆还是千兆,核心都是MAC(集成在SoC内部) + 外部PHY芯片 + 网络变压器 + RJ45连接器。

PHY芯片选型,我建议优先考虑瑞芯微官方参考设计里推荐的那几颗。比如RTL8211F(千兆)、YT8512H(百兆)。为什么?因为驱动和DTS配置都是现成的,省心。我自己踩过坑,换了一颗非主流的PHY,结果驱动调了整整两天,时序死活对不上。

MAC到PHY的接口,千兆通常用RGMII,百兆用RMII。RGMII要注意时钟相位对齐。瑞芯微的SoC一般支持内部延迟(internal delay),你需要在PHY侧或者SoC侧把TX和RX的时钟延迟调好。我习惯在PHY侧通过寄存器配置,这样调试更灵活。

RGMII接口关键信号:

  • TXC / RXC —— 125MHz时钟(千兆)
  • TXD[3:0] / RXD[3:0] —— 数据线
  • TX_CTL / RX_CTL —— 控制信号
  • MDIO / MDC —— 管理接口,用来配置PHY寄存器

网络变压器,这个不能省。它主要做三件事:隔离共模噪声、提供浪涌保护、匹配阻抗。我见过有人为了省几毛钱,直接用电容耦合代替变压器,结果产品在雷雨天气频繁断网。嗯,后来老老实实加回去了。

变压器选型时,注意抽头(center tap)的接法。百兆通常接3.3V或2.5V,千兆有些需要接VDDIO。具体看PHY手册,别想当然。

RJ45连接器,如果空间允许,我推荐带集成变压器的RJ45座子,比如HanRun HR911105A。这样布局更紧凑,走线也更短。

小技巧: 以太网差分对走线,要等长、等距、包地。我一般控制在5mil以内等长,差分阻抗100Ω。另外,PHY芯片的时钟晶振,尽量靠近PHY放,远离其他高速信号。

4.2 USB接口设计:OTG与HUB的取舍

瑞芯微的USB接口,通常有USB 2.0 OTG和USB 3.0 Host。OTG口可以当Host也能当Device,调试阶段特别有用。量产时,如果不需要OTG功能,我建议直接配成Host模式,省掉ID检测电路。

USB 2.0差分对,DP/DM走线要等长,阻抗90Ω。ESD保护器件,我习惯用TI的TPD2E001或者NXP的PESD5V0S1UB。注意,ESD器件的寄生电容要小于1pF,否则会影响USB信号质量。

USB 3.0 就复杂多了。除了DP/DM,还有SSTX+/SSTX-、SSRX+/SSRX-两组超高速差分对。每组都要独立等长,组间也要等长。我一般控制在10mil以内。另外,USB 3.0的AC耦合电容,通常放在靠近连接器侧,容值0.1uF或0.22uF。

注意: USB 3.0的差分对,绝对不能跨分割层走线。我曾经在一个项目里,因为走线跨了电源分割,导致USB 3.0只能跑在2.0模式。查了三天,最后发现是参考平面不连续。血的教训。

USB HUB 的选择,如果板子上需要多个USB口,可以用一颗HUB芯片扩展。比如GL852G(USB 2.0 HUB)或者VL812(USB 3.0 HUB)。HUB芯片的供电,要注意每个下行口都要有过流保护。我习惯用自恢复保险丝(PTC),比如0.5A或1A的规格。

4.3 PCIe接口设计:高速串行总线的布局要点

PCIe在瑞芯微平台上,通常用来接NVMe SSD或者Wi-Fi模块。PCIe是高速串行总线,对信号完整性要求极高。

差分对走线,PCIe Gen2的速率是5Gbps,Gen3是8Gbps。走线要严格控制阻抗,85Ω或100Ω(看芯片要求)。等长要求更严,我一般控制在5mil以内。另外,AC耦合电容要靠近发送端放置,容值0.1uF或0.22uF。

参考时钟,PCIe需要100MHz差分时钟。这个时钟的抖动要求很严,通常要求RMS抖动小于1ps。我建议用专用的时钟缓冲器,比如SI52142,不要直接从SoC的时钟输出拉出来用。

PCIe布局要点:

  • 差分对走线要短,尽量控制在5英寸以内
  • 避免过孔,如果必须用过孔,每对差分线过孔数要一致
  • 远离其他高速信号,至少保持3倍线宽的距离
  • 参考平面要完整,不能跨分割

我记得有一次,客户要求把PCIe走线从顶层绕到底层,结果因为过孔阻抗不连续,NVMe SSD死活识别不到。后来改成同层走线,问题就解决了。所以,能不走过孔就别走。

4.4 HDMI接口设计:视频输出的关键

HDMI接口,在瑞芯微平台上主要用于显示输出。HDMI 1.4支持4K@30Hz,HDMI 2.0支持4K@60Hz。设计时要注意以下几点。

TMDS差分对,HDMI有4组差分对(3组数据+1组时钟)。每组都要等长,组间也要等长。我一般控制在10mil以内。阻抗要求100Ω。

HDMI的DDC通道(I2C),用来读取显示器的EDID信息。这个I2C要加上拉电阻,通常4.7kΩ。另外,HPD(热插拔检测)引脚要处理好,不能直接接5V,需要分压或者用三极管转换。

ESD保护,HDMI接口经常插拔,ESD保护必不可少。我习惯用专用的HDMI ESD保护芯片,比如TI的TPD4E05U06。这种芯片寄生电容极低,不会影响信号质量。

经验之谈: HDMI的走线,尽量远离板边。因为板边容易受到外部干扰。另外,HDMI连接器的外壳要接地,而且接地要良好,否则容易出现静电打坏芯片的情况。

4.5 电平转换与隔离:不同电压域之间的桥梁

瑞芯微的SoC,IO电压通常是1.8V或3.3V。但外设可能是5V或者1.2V。这时候就需要电平转换。

单向电平转换,比如3.3V转5V,可以用三极管或者MOS管搭。我习惯用2N7002,便宜又好用。如果信号速率不高(比如I2C、GPIO),完全够用。

双向电平转换,比如I2C,需要双向转换。我推荐用TXS0102或者PCA9306。这些芯片自动检测方向,不需要额外的控制信号。

隔离,如果两个电路之间需要电气隔离(比如隔离电源、隔离通信),可以用数字隔离器。比如TI的ISO7240或者ADI的ADuM1201。隔离电压通常选3kV或5kV。

注意: 电平转换芯片的速率要匹配。比如SPI通信,如果速率是10MHz,那电平转换芯片的速率至少要能支持20MHz。否则信号会失真。我见过有人用低速电平转换芯片跑高速SPI,结果数据全是错的。

4.6 保护电路设计:防患于未然

保护电路,是产品可靠性的最后一道防线。我把它分为三类:过流保护、过压保护、ESD保护。

过流保护,常用自恢复保险丝(PTC)。比如USB口的过流保护,用0.5A或1A的PTC。PTC的响应时间要快,否则可能烧坏PCB走线。

过压保护,常用TVS管。比如电源输入口,用SMBJ5.0A或者SMCJ5.0A。TVS管的钳位电压要低于后端芯片的耐压值。

ESD保护,前面已经提过。所有对外接口(USB、HDMI、以太网、GPIO)都要加ESD保护。我习惯用集成式ESD保护芯片,比如TPD4E05U06或者PESD5V0S1UB。

保护电路设计原则:

  • 保护器件要靠近接口放置,越近越好
  • 保护器件的接地要短而粗,直接接到地平面
  • TVS管的寄生电容要小,否则会影响高速信号
  • PTC的额定电流要留余量,通常取工作电流的1.5倍

嗯,这一章的内容就到这里。接口设计,说白了就是平衡性能、成本和可靠性。你想想看,一个产品如果经常因为接口问题返修,那成本得多高?所以,设计时多花点心思,量产时就能少操点心。

下一章,我们会进入PCB布局布线的实战环节。到时候,我会把走线、叠层、地平面设计这些细节,一个一个掰开来讲。咱们下期见。