ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

RK3588硬件设计全流程:从原理图到PCB的实战避坑指南

RK3588硬件设计全流程:从原理图到PCB的实战避坑指南 1. RK3588硬件设计整体思路与方案选型RK3588这颗芯片但凡做过一轮完整项目的硬件工程师大概率都会有一个共同感受性能确实猛但硬件设计的坑也是真不少。8核CPU4×A764×A55、6TOPS NPU、8K编解码、LPDDR4/4X/5、PCIe 3.0、SATA、USB 3.1、双千兆、多路MIPI……这一堆高速接口堆在一起意味着你在原理图阶段就得把信号完整性、电源完整性、时钟树规划全部想清楚否则到了PCB阶段再回头改基本等于重画。这篇内容我打算把RK3588从原理图到PCB的完整硬件设计流程拆开讲一遍重点放在方案选型逻辑、关键电路设计细节、PCB叠层与布线策略、以及实际调试中踩过的坑。适合正在做RK3588项目或者准备入坑的硬件工程师、Layout工程师以及需要理解硬件底层的驱动/系统移植人员。不管你是第一次画RK3588还是已经画过一版想优化这里面的思路和参数选择应该都能直接参考。1.1 为什么RK3588硬件设计不能照抄参考设计很多人拿到原厂或者核心板的参考原理图第一反应就是“照着抄一遍就行”。但实际项目里参考设计往往是为特定场景优化的比如核心板厂商的参考设计可能重点考虑的是通用性和可扩展性而你的产品可能是边缘计算盒子、工业网关或者AI一体机接口需求、结构限制、成本目标完全不同。我见过一个典型情况某团队直接照搬了参考设计的电源方案结果发现自己的板子待机功耗比预期高了将近一倍。排查下来是因为参考设计里为了兼容多种外设保留了好几路LDO一直使能而他们的产品根本用不到那些接口。所以原理图设计的第一步不是画图而是做需求裁剪——明确你的产品需要哪些接口、哪些可以砍掉、哪些需要降规。另一个不能照抄的原因是DDR部分。RK3588支持LPDDR4、LPDDR4X、LPDDR5不同内存类型的走线要求、电源要求、颗粒选型都不一样。参考设计如果用的是LPDDR4X你换成LPDDR5整个DDR部分的原理图和PCB都得重新设计不能简单替换。1.2 核心板与全自主设计的选择逻辑做RK3588项目第一个要做的决策就是用核心板还是自己画全部核心板的优势很明显DDR、电源、时钟这些最难的部分厂商已经帮你验证过了你只需要画底板把接口引出来就行。开发周期短风险低适合中小批量或者快速验证的项目。但核心板也有代价成本更高结构受限而且有些高速信号经过连接器之后质量会下降比如PCIe或者USB 3.0。全自主设计的话灵活性最高成本可以压到最低但前提是你得有能力搞定DDR布线、电源树设计、高速信号完整性。RK3588的DDR如果跑LPDDR4X 4266Mbps走线等长控制、阻抗控制、参考平面完整性任何一个环节出问题都可能导致系统不稳定甚至起不来。我的建议是如果你是第一次做RK3588先用核心板把产品功能跑通验证市场和软件等出货量上来了再考虑全自主设计降成本。如果团队本身有丰富的高速设计经验那直接全自主也没问题但一定要留足调试时间。1.3 电源树规划的核心考量RK3588的电源域非常多粗略数一下CPU核心、GPU、NPU、VPU、DDR、IO、PLL、USB、PCIe、SATA……每个域对电压、电流、上电时序的要求都不一样。电源树设计不好轻则功耗高、发热大重则芯片根本起不来。规划电源树的时候我一般按这几个步骤走列出所有电源域从RK3588的datasheet里把每个电源引脚对应的域、典型电压、最大电流整理成表格。确定供电方案哪些用DCDC哪些用LDO哪些可以共用。大电流的比如CPU核心、GPU、DDR肯定用DCDC小电流或者对噪声敏感的比如PLL、模拟部分用LDO。规划上电时序RK3588对上电时序有要求一般是核心电压先上IO后上具体顺序看datasheet。时序不对可能导致芯片闩锁或者启动失败。预留余量每路电源的电流能力至少留30%余量特别是DCDC的电感选型饱和电流要够。这里有个经验PLL部分的电源一定要干净。RK3588的PLL对电源噪声非常敏感如果PLL电源纹波大可能导致时钟抖动增加进而影响DDR、PCIe这些高速接口的稳定性。我一般会在PLL电源的LDO输出端加π型滤波并且LDO的输入也单独从DCDC的一路引出不和数字部分混用。2. 原理图设计核心细节与实操要点原理图阶段的工作量其实比很多人想象的要大。RK3588有上千个引脚光是整理网络标号、检查连接关系就得花不少时间。但原理图是PCB的基础这里出错后面代价更大所以宁可慢一点也要仔细。2.1 DDR部分原理图设计要点DDR部分是整个原理图里最需要小心的。以LPDDR4X为例RK3588的DDR控制器支持双通道每个通道16bit或者32bit。原理图设计时要注意电源部分LPDDR4X的VDDQ一般是0.6VVDD1是1.8VVDD2是1.1V。这三路电源的噪声要求都很高特别是VDDQ直接关系到DDR的信号质量。我一般会用单独的DCDC给VDDQ供电输出端加足够的大容量电容和陶瓷电容组合。参考电压VREF的产生方式有两种一种是用电阻分压一种是用专用的VREF芯片。电阻分压成本低但对电源噪声抑制差专用芯片贵一点但稳定性好。如果是高频率运行建议用专用VREF芯片。终端电阻LPDDR4X的ODTOn-Die Termination是芯片内部集成的不需要外部加终端电阻。但地址线和命令线可能需要外部加电阻具体看走线拓扑和仿真结果。ZQ校准电阻每个DDR通道都有一个ZQ引脚需要接一个240Ω的精密电阻到地。这个电阻精度要求1%不能随便用5%的代替否则校准不准会影响信号质量。2.2 高速接口原理图注意事项RK3588的高速接口包括PCIe 3.0、USB 3.1、SATA、MIPI等。这些接口在原理图阶段主要注意以下几点AC耦合电容PCIe和SATA的TX端需要加AC耦合电容一般是100nF。电容的封装要小0402或者0201而且要紧靠发送端放置。USB 3.0的TX端也需要AC耦合电容但容值可能不同具体看协议要求。ESD保护所有对外接口都要加ESD保护器件。选型的时候注意结电容高速信号要选低结电容的比如0.5pF以下否则会影响信号质量。阻抗匹配原理图阶段虽然不直接控制阻抗但要在网络标号或者备注里标明阻抗要求比如PCIe差分线100ΩUSB差分线90Ω。这样Layout工程师才知道怎么控制。参考时钟PCIe需要100MHz参考时钟一般由RK3588内部提供或者外部晶振提供。如果用外部晶振要注意jitter要求PCIe 3.0对参考时钟的jitter要求很严。2.3 调试接口与启动配置原理图阶段一定要把调试接口留出来否则后面调试会很痛苦。串口至少留一路UART做调试串口波特率一般1500000。串口线要引到排针或者测试点方便接USB转串口模块。JTAG虽然RK3588主要用串口调试但JTAG在某些情况下还是很有用比如芯片起不来的时候。建议留出JTAG接口哪怕不焊连接器至少留测试点。启动模式配置RK3588支持多种启动模式SPI Flash、eMMC、SD卡等通过启动引脚的电平决定。原理图里要把这些引脚做成可配置的比如用电阻上拉/下拉或者用拨码开关。我一般会用电阻配置默认从eMMC启动需要的时候再改。复位按键留一个复位按键调试的时候很方便。复位信号要加RC滤波防止按键抖动导致误复位。2.4 常见原理图设计错误与避坑做了几版RK3588之后我总结了一些原理图阶段容易犯的错误错误类型具体表现后果规避方法电源域漏接某个电源引脚忘了接芯片部分功能不工作对照datasheet逐个检查上拉电阻遗漏I2C、SPI等总线的上拉没加通信失败检查所有总线的上拉时钟引脚接错晶振频率不对或接错引脚系统不启动核对晶振频率和引脚启动配置错误启动电阻配置不对无法从预期介质启动仔细阅读启动章节网络标号重复不同网络用了相同标号短路用ERC检查提示原理图完成后一定要跑ERC电气规则检查虽然不能发现所有问题但能抓出大部分连接错误。3. PCB设计实战叠层、布局与布线原理图确认无误之后就进入PCB设计阶段。RK3588的PCB设计难度主要在于高速信号多、电源复杂、散热要求高。这一部分我按叠层设计、布局、布线、散热几个方面来讲。3.1 PCB叠层设计与阻抗控制叠层设计是PCB设计的第一步也是决定信号质量的基础。RK3588项目一般至少需要8层板如果接口特别多或者密度特别高可能需要10层甚至12层。一个典型的8层叠层方案层号功能说明L1信号层主要走高速差分线、时钟线L2地平面完整地平面为L1提供参考L3信号层走中低速信号、电源控制线L4电源平面分割成多个电源域L5电源平面继续分割电源域L6信号层走中低速信号L7地平面完整地平面L8信号层走低速信号、调试接口这个叠层的核心思路是高速信号层紧邻地平面保证有完整的回流路径。L1和L2组成一个微带线结构L3和L2/L4组成带状线结构。电源平面放在中间用L2和L7两个地平面把电源夹住降低电源噪声。阻抗控制方面RK3588的DDR、PCIe、USB、MIPI都有明确的阻抗要求DDR单端信号40Ω或50Ω看具体设计DDR差分信号80Ω或100ΩPCIe差分100ΩUSB 2.0差分90ΩUSB 3.0差分90ΩMIPI差分100Ω阻抗控制需要和PCB板厂沟通提供叠层结构和阻抗要求板厂会调整线宽和介质厚度来满足。一定要让板厂出阻抗报告不能自己算完就完事因为实际生产的介质厚度和介电常数和理论值有偏差。3.2 关键器件布局策略布局决定了布线的难易程度好的布局能让布线事半功倍。RK3588项目的布局要点DDR颗粒紧靠RK3588DDR的走线越短越好一般要求走线长度不超过2000mil约50mm。DDR颗粒要放在RK3588的DDR引脚附近尽量对称保证两个通道的走线长度接近。电源芯片靠近负载DCDC和LDO要靠近对应的负载放置减少走线压降和噪声。特别是CPU核心和GPU的供电DCDC要放在RK3588背面或者附近输出电容紧靠负载引脚。晶振靠近芯片系统晶振和RTC晶振都要紧靠RK3588放置走线尽量短并且包地处理。晶振下面不要走其他信号线避免干扰。高速连接器靠近芯片PCIe、USB 3.0、SATA等高速接口的连接器要尽量靠近RK3588减少走线长度。如果连接器必须放远要考虑加redriver或者retimer。散热考虑RK3588的功耗不低满载可能到10W以上。布局时要考虑散热路径芯片下面可以放散热焊盘通过过孔连接到背面的大铜皮。如果空间允许加散热片或者风扇。3.3 DDR布线实战技巧DDR布线是RK3588 PCB设计中最难的部分没有之一。这里我按LPDDR4X来讲LPDDR5的要求更严但思路类似。走线拓扑LPDDR4X一般用fly-by拓扑或者T型拓扑。Fly-by适合点对点或者一拖一T型适合一拖多。RK3588的DDR控制器一般支持两个通道每个通道可以接一个或者两个颗粒。如果接两个颗粒建议用fly-by走线更简单。等长控制DDR的等长控制分几个组数据组DQ、DQS、DMI数据掩码要等长误差一般控制在±5mil以内地址命令组ADDR、CMD、CTRL要等长误差可以放宽到±10mil时钟组CK、CK#要等长误差±2mil以内等长不是绝对的关键是时序余量。如果走线长度差异导致时序余量不够系统可能跑不到最高频率。我一般会用PCB设计软件里的等长工具先自动绕等长再手动调整。参考平面DDR走线必须有完整的参考平面不能跨分割。如果DDR走线在L1参考平面是L2那L2在DDR走线区域必须是完整的地平面不能有分割或者开槽。过孔处理DDR走线换层时过孔会产生阻抗不连续。为了减少影响可以在过孔旁边加地过孔提供回流路径。地过孔要尽量靠近信号过孔距离不超过100mil。串扰控制DDR走线密集串扰是常见问题。控制串扰的方法有增加线间距一般要求3W以上W是线宽、减少并行走线长度、在敏感信号之间加地线隔离。3.4 高速差分线布线要点PCIe、USB 3.0、MIPI这些高速差分线的布线要求比DDR稍微简单一些但也不能马虎。差分对内部等长差分对的两根线要等长误差一般控制在±5mil以内。等长是为了保证差分信号的相位一致减少共模噪声。差分对之间间距不同差分对之间要保持足够的间距一般要求5W以上减少串扰。参考平面完整差分线下面要有完整的参考平面不能跨分割。如果必须换层要在换层过孔旁边加地过孔。AC耦合电容放置PCIe和SATA的AC耦合电容要靠近发送端电容焊盘要做阻抗匹配避免阻抗不连续。ESD器件放置ESD器件要靠近连接器放置走线要先经过ESD器件再到芯片不能反过来。3.5 电源完整性与去耦电容布局电源完整性PI是RK3588稳定运行的关键。电源噪声大可能导致芯片工作不稳定、DDR误码、甚至死机。去耦电容布局每个电源引脚都要有去耦电容容值一般从0.1uF到10uF不等。小容值电容靠近引脚放置大容值电容可以稍远。电容的接地端要就近打过孔到地平面过孔数量要够减少接地阻抗。电源平面分割不同电源域在电源平面上要分割开分割间距一般20mil以上。分割的时候要注意不要让高速信号跨分割否则回流路径断裂信号质量会急剧下降。DCDC输出电容DCDC的输出电容要靠近电感放置减少输出纹波。电容的ESR和ESL要低陶瓷电容是首选。大电流路径CPU核心、GPU这些大电流路径走线要足够宽或者用铜皮连接。过孔数量要够一个过孔大概能过1A电流大电流路径要多打几个过孔。4. 常见问题排查与调试经验实录硬件设计完成、板子打回来之后调试阶段才是真正考验人的时候。这一部分我整理了一些RK3588调试中常见的问题和排查思路。4.1 系统起不来怎么排查板子第一次上电最怕的就是系统起不来。排查思路按以下顺序第一步检查电源。用万用表逐个测量每个电源域的电压看是否在预期范围内。如果某个电源不对先查这一路。常见问题包括DCDC没使能、反馈电阻焊错、电感虚焊、负载短路。第二步检查时钟。用示波器测量系统晶振和RTC晶振看是否起振。晶振不起振的原因可能是晶振损坏、负载电容不匹配、晶振引脚接错。第三步检查复位。测量复位引脚的电压看复位信号是否正常释放。如果复位一直拉低查复位电路。第四步检查启动配置。测量启动引脚的电平看是否和预期一致。如果启动配置不对芯片可能从错误的介质启动。第五步看串口输出。如果以上都正常接串口看有没有输出。如果有输出但卡在某一步根据输出信息定位问题。如果完全没输出可能是芯片损坏或者DDR初始化失败。4.2 DDR稳定性问题排查DDR问题是RK3588调试中最常见的表现包括系统随机死机、跑压力测试报错、频率跑不上去。排查工具RK3588的SDK里一般有DDR压力测试工具比如memtester或者厂商提供的测试程序。先用这些工具跑一遍看是否有报错。常见原因和解决方法问题表现可能原因排查方法解决方法随机死机DDR时序余量不足降低DDR频率测试优化走线或调整时序参数压力测试报错信号完整性差用示波器测DDR信号改善走线、调整ODT频率跑不上去电源噪声大测DDR电源纹波加强去耦、优化电源部分容量不可用地址线接错检查地址线连接修复原理图或PCB经验分享DDR问题很多时候是电源引起的。我遇到过一次DDR跑压力测试偶尔报错查了很久走线都没问题最后发现是VDDQ的DCDC开关频率和DDR时钟产生了干扰。把DCDC开关频率改了一下问题就解决了。所以DDR调试时电源和信号要一起看不能只盯着走线。4.3 高速接口识别问题PCIe、USB 3.0这些高速接口调试时常见的问题是设备识别不到或者识别不稳定。PCIe排查检查参考时钟是否有输出检查AC耦合电容是否焊好检查差分线是否接反TX和RX不能交叉用lspci命令看是否能枚举到设备如果枚举不到检查PERST信号和CLKREQ信号USB 3.0排查检查USB 2.0部分是否正常USB 3.0兼容USB 2.0检查USB 3.0的TX和RX差分线是否接对检查VBUS供电是否正常用lsusb命令看设备是否识别如果识别为USB 2.0设备说明USB 3.0的差分线有问题4.4 散热与功耗问题RK3588满载功耗不低散热设计不好会导致芯片降频甚至死机。功耗测量用电流表或者功率计测量整板功耗对比预期值。如果功耗明显偏高检查是否有电源域漏电或者外设一直使能。温度测量用热成像仪或者热电偶测量RK3588表面温度。如果温度超过85℃需要考虑加强散热。散热优化芯片下面放散热焊盘通过过孔连接到背面铜皮加散热片用导热硅胶固定如果空间允许加风扇优化软件降低不必要的负载4.5 常见问题速查表问题可能原因快速排查串口无输出电源、时钟、复位、启动配置逐个测量DDR报错电源噪声、走线、时序降频测试、测纹波PCIe不识别时钟、AC电容、差分线测时钟、查连接USB 3.0降速差分线问题查TX/RX连接温度过高散热不足测温度、加散热功耗偏高电源域漏电逐个断开外设注意调试时一定要有耐心按顺序排查不要东查一下西查一下。先保证电源正常再看时钟和复位最后看信号。5. 从原理图到量产的设计检查清单从第一版样机到量产中间还有很多工作要做。这一部分我整理了一个设计检查清单帮助大家在投板前做最后确认。5.1 原理图检查清单所有电源引脚都连接正确没有漏接所有地引脚都连接到地网络上拉/下拉电阻配置正确晶振频率和负载电容匹配启动配置电阻正确调试接口引出复位电路正确网络标号没有重复ERC检查通过5.2 PCB检查清单叠层结构确认阻抗报告已拿到DDR走线等长满足要求高速差分线等长和间距满足要求参考平面完整没有跨分割去耦电容布局合理电源平面分割正确过孔数量满足电流要求散热设计到位丝印清晰没有遮挡焊盘DFM检查通过5.3 投板前的最后确认投板前一定要做一次完整的review最好找没有参与设计的同事帮忙看一遍因为自己画的东西容易有盲区。Review的重点是电源、DDR、高速接口、启动配置。这几个地方出错板子基本要重做。另外第一版板子一定要留足够的测试点和调试接口。不要为了省空间把测试点都去掉调试的时候你会感谢自己留了这些点。6. 个人经验总结与后续扩展方向做了几版RK3588之后我最大的体会是硬件设计没有捷径每一个细节都可能决定成败。原理图阶段多花一天检查可能省掉PCB阶段一周的返工。PCB阶段多花一天优化走线可能省掉调试阶段一个月的折腾。如果让我给第一次做RK3588的人一个建议我会说先用核心板把软件和系统跑通同时并行做全自主设计的原理图和PCB。这样等核心板验证完功能全自主的板子也差不多回来了可以无缝衔接。如果全自主的板子有问题核心板还能作为参考对比快速定位问题。后续如果大家有兴趣我可以再展开讲几个方向一是RK3588的电源时序详细分析和实测波形二是DDR仿真的具体操作和参数设置三是高速接口的SI仿真和实测对比。这些内容展开讲的话每一个都能单独写一篇。最后分享一个小技巧调试RK3588的时候一定要把串口日志保存下来。很多时候问题不是每次都复现有日志才能分析。我一般会用脚本自动保存串口输出加上时间戳方便回溯。这个习惯帮我定位了好几个偶发问题。
返回列表