news 2026/10/6 1:36:19

基于XC7Z100的Zynq-7000板级系统设计:从原理图到DDR3L布线与调试

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于XC7Z100的Zynq-7000板级系统设计:从原理图到DDR3L布线与调试

做Xilinx Zynq-7000系列板子之前,我想先泼一盆冷水:别一上来就盯着DDR那一坨走线,那是整块板子流程里最后才轮到的地方。真正决定一块XC7Z100板卡能不能跑起来的,是原理图阶段的电源树、时钟和复位;这三样缺一样,板子到手基本就是废铁,后面画得再漂亮都得推倒重来。

XC7Z100在硬件设计圈里一直被当作Zynq-7000家族的高性能代表,一颗芯片内部同时躺着双核ARM Cortex-A9和一大片可编程逻辑阵列。通俗点说,它把一颗能跑Linux的应用处理器和一块规模不小的FPGA糊进了同一个封装里。所以画原理图的时候,你既要照顾应用处理器的“电脑思维”,还要照顾FPGA的“逻辑思维”,这是它和51单片机、STM32最小系统板那些经典入门项目的本质区别。

这篇文章就完整复盘一次从原理图到板级系统搭建的实战过程。内容按我实际项目里的推进顺序来写:先是选型与架构拆解,然后是原理图各关键模块的设计点,再是PCB层叠、阻抗和DDR布线,最后是通电调试和踩坑记录。适合正在画Zynq板子的人,也适合从MCU往复杂SoC平台跳的硬件工程师,越往后读越能感受到“为什么这么设计”而不是“照着连就完了”。

1. 动手前先把芯片和板级架构想清楚

1.1 XC7Z100是谁,和MCU设计有什么不同

很多从STM32转过来的朋友,第一反应是拿看MCU的方式看Zynq,结果看数据手册的时候直接懵掉:电源引脚几十个,配置引脚一堆,Bank这个概念反复出现,DDR、QSPI、USB、以太网这些外设引脚还不固定,要由MIO复用配置决定。这确实比单片机复杂,但复杂不等于难,关键是把它的架构理清楚。

XC7Z100本质上是一个异构SoC,分PS和PL两大部分。PS是Processing System,包含双核ARM Cortex-A9、L2 Cache、DDR控制器以及各种硬核外设;PL是Programmable Logic,就是传统的FPGA可编程逻辑资源。两者之间通过AXI总线高速互联,性能强的地方在于“ARM管流程、FPGA管数据搬运和处理”,这种分工非常适配视频采集、软件无线电、工业控制、边缘计算这类既有复杂协议栈又有大量并行计算的任务。

从硬件设计角度看,PS部分是“数字应用处理器”的设计思路,DDR走线、启动配置、时钟复位、外设电平匹配都得严格按照SoC的设计规范来;PL部分则是“FPGA板卡”的设计思路,要考虑配置电压、IO Bank电压、高速串行收发器、电源去耦这些传统FPGA设计内容。所以一块板子相当于同时做了一块ARM核心板和一块FPGA板,工作量自然不是画个最小系统那么轻。

另外要提醒选型阶段的一个坑:网上搜Zynq硬件设计,经常会看到一些老牌板卡把DDR3L做成标配,很多新人就疑惑为什么不上DDR4。Zynq-7000的PS端DDR控制器只支持DDR3/DDR3L,PL侧的MIG也不支持DDR4直连,想用DDR4得选UltraScale以后的平台。所以千万别拿着项目标题里带“DDR4原理图”的资源硬套在ZC7Z100上,套了也白套,这是芯片硬限制。

1.2 板级系统先搭哪条链路:我的搭建顺序

拿到一颗新芯片,我不会先从某个具体外设开始画。我的习惯是先按“电源—>时钟—>复位—>下载调试—>大容量存储—>通信接口—>PL外设”这个顺序把整块板子的链路搭出来。

电源是第一个要解决的,因为Zynq的电源轨非常多,PS有VCCPINT、VCCPAUX、VCCPLL,PL有VCCINT、VCCBRAM、VCCAUX,各Bank还有VCCO,而且上电顺序有讲究。很多人觉得电源不就走个DCDC,实际上一颗Zynq规划完电源树,基本就决定了板子用几层、热不热、能不能过EMC测试。

时钟是第二个,PS需要一个PS_CLK参考时钟,PL侧需要给各Bank提供IO时钟,GTX高速收发器还需要单独的高质量参考时钟。没有时钟,其他都是空谈,调试的时候连JTAG都可能认不到设备。

再往后才是复位、JTAG、启动模式这些“让芯片先活过来”的东西。这也是我反复强调的:完整的板级系统不是把原理图所有网络画通就行,而是要让系统按照一个明确的顺序“活”起来。先有电,再有时钟,然后复位释放,CPU取指,FSBL加载,DDR初始化,最后引导Linux或裸机程序。你原理图设计时就把这个链条规划好,调试阶段会省掉大量时间。

2. 原理图设计的关键点:电源树、最小系统与接口

2.1 电源树:一颗Zynq为什么需要七八路电源

XC7Z100的电源系统是我每次画原理图最谨慎的部分。简单列一下常见板卡的电源轨就明白了:PS的VCCPINT一般1.0V,VCCPAUX和VCCPLL一般1.8V;PL的VCCINT 1.0V,VCCBRAM 1.0V,VCCAUX 1.8V;然后每个IO Bank根据接的外设不同,可能是1.8V、2.5V或3.3V;DDR部分还需要VDDQ和VTT。这还没算给LDO和DCDC供电的输入电源、系统5V或12V。

说实话,光把这些电压摆出来就容易让人打退堂鼓,但实际设计是有规律的。第一步,把所有电源轨按“核心逻辑、辅助逻辑、IO电平、接口专用”分成四类;第二步,确定每一类的电压值,以官方数据手册和参考板为基准,别自己拍脑袋;第三步,按最大功耗估算每路电流。XC7Z100这种级别的芯片,VCCINT那路电流轻松上好几安,如果选错DCDC,纹波一大,FPGA内部时序就乱,跑着跑着报bit翻转错误,那种问题最头疼。

电源的另一个大头是上电顺序。Zynq数据手册里对电源轨的斜坡顺序有明确要求,PS和PL各有各的顺序,不能乱。一个常见做法是用带使能脚的DCDC,把前一级电源的PG输出接到后一级的EN输入,一级推一级形成固定顺序;讲究一点可以上电源时序控制器,比如TI的UCD90160这类。我这里还是建议在原理图阶段就把顺序想好,画一个含“输入电压->各路DCDC->PG连线”的电源树框图,哪怕不画在图纸里,也要在文档里给出来,后面焊接、调试、技术评审都用得上。

去耦电容也别省。Zynq封装的电源引脚密密麻麻分布,BGA背面焊盘扇出后要就近放0.1uF和1uF的高频去耦电容,底层再放10uF、22uF甚至100uF的bulk电容。很多板子是DDR跑不稳或PL逻辑偶发错误,查到最后是去耦电容太少。这属于原理图阶段就要规划好的,因为PCB布局布线是否有可能嵌进去,在原理图阶段就能决定。

千万别为省事把不同电压的电源引脚合并。每个电源网络该建就建,该用磁珠隔就隔。尤其是VCCAUX和VCCPLL这种对噪声敏感的引脚,很多参考设计都会加磁珠或π型滤波。你如果和普通数字电源并在一起,短期可能没反应,但只要项目跑到高速接口或长时间运行,噪声问题就会频繁冒出来。

2.2 启动、时钟和复位:最小系统真正的三根支柱

网上搜“原理图”“最小系统”这类词,很大比例是在搜STM32最小系统板怎么画。MCU最小系统三板斧是电源、时钟、复位,这个思路在Zynq上同样成立,只是颗粒度完全不一样。

先看启动。Zynq没有传统ARM那种单纯靠BOOT引脚选SPI或SD的方式,它是通过MIO的复用配置来实现。具体来说,上电时PS会采样启动模式引脚,选择从JTAG、QSPI、SD卡、NAND等介质启动。这个模式下电阻的处理很关键,不同的启动模式对应MIO上不同的上下拉组合,画原理图的时候最好把常用的JTAG、QSPI、SD三种模式都做成可配置电阻位,方便调试阶段灵活切换。

再看时钟。PS_CLK是给PS系统提供参考时钟的引脚,一般用33.333MHz或50MHz有源晶振,实际以数据手册给定的频率范围和参考设计为准。时钟源质量很重要,别拿便宜的陶瓷谐振器或随便一个有源晶振糊弄,抖动太大会导致系统跑飞。PL侧的时钟则要按Bank规划,需要给PL提供差分或单端参考时钟时,尽量靠近BGA放置,保证走线短而顺。GTX高速收发器需要独立的高质量参考时钟,通常用可编程的差分振荡器,方便通过I2C改频率,适配不同速率协议。

复位也一样,Zynq有PS_POR_B和PS_SRST_B两个关键复位信号。POR上电复位用来做整机冷启动,SRST软件复位给外部复位看门狗或者按键使用。很多人就接一个RC复位电路,这在MCU项目里能用,在Zynq上容易出问题。推荐加复位监控芯片,实现上电复位、电压跌落复位、手动复位三合一。原理图上还要仔细看与此相关的Bank电压,确保复位引脚的电平逻辑和MIO Bank电压匹配。

烧录调试这一环不能漏。标准14脚JTAG接口、TCK/TMS/TDI/TDO四条线必须拉出来,加ESD防护和上拉电阻。Zynq的PL配置和传统FPGA不太一样,它通常是由PS通过内部配置接口(PCAP)来加载bitstream,启动包顺序是FSBL+bitstream+应用。这也是为什么很多人第一次玩Zynq板子时,明明写好了FPGA逻辑,上电却没反应,因为根本没做启动镜像或启动介质不对。

2.3 DDR3L怎么接,以及为什么别碰DDR4

DDR部分往往是新手最紧张的地方,因为走线密、信号多、等长要求高。但从原理图角度来说,DDR3L并不比STM32外接SRAM难多少,只要抓住几类信号:数据线DQ、数据选通DQS差分对、地址线、控制线、时钟差分对、以及电源VDDQ和参考电压VTT。

以常见方案为例,PS端DDR控制器支持16bit或32bit数据位宽,我的项目用的是一片DDR3L x16颗粒做16bit单通道,容量选2Gb或4Gb;如果带宽不够就上两片x16拼成32bit。原理图阶段最需要注意的是把DDR颗粒的地址线、Bank地址线、数据线按功能分组整理好,别画得乱七八糟,否则后面PCB布线时很难做等长。

DDR3L的电源要单独理清楚。VDDQ是DDR的主电源,电压1.35V,需要单独的DCDC或LDO,不能用其他IO电源替代;VTT是终结电压,为VDDQ的一半,电流能力要求不高但噪声要低;VREF参考电压对噪声敏感,最好用电阻分压加滤波电容单独产生,不要直接从DCDC引。这些电源在原理图里就要画得清清楚楚,等长布线是PCB阶段的事,电源没设计好,布线再漂亮DDR也跑不稳。

顺便说一句,现在网上能搜到很多“DDR4原理图”的资源,但Zynq-7000平台的PS控制器和7系列PL端内存控制器都不支持DDR4,只有UltraScale/UltraScale+这类新平台才设计DDR4接口。我见过有人把PC内存条DDR4 SODIMM焊到Zynq板子上,结果初始化失败,一查手册才发现控制器根本没有DDR4模式,只能重新改版。这个坑希望大家绕过去。

2.4 常用外设接口的原理图处理细节

Zynq的PS端外设很多,但和传统单片机不同,它的外设引脚大多通过MIO复用输出,同一个功能可以映射到不同的MIO引脚,原理图设计时需要在Vivado里做引脚分配。这里我只挑几个几乎所有板子都会用到的接口说。

UART串口是调试的基本出口,通过MIO配置到UART0或UART1,再外接一颗USB转串口芯片,比如CP2102或FT232。注意MIO Bank的电压,如果MIO是1.8V而USB转串口芯片是3.3V,就需要加电平转换或选择支持1.8V电平的芯片。这类电平匹配问题是新手最容易犯的,原理图画得漂亮,结果引脚电压不匹配,通信全是乱码。

USB 2.0 Host也是一样,Zynq PS的USB控制器输出的是ULPI接口,不是USB差分信号本身,所以必须外接ULPI PHY芯片(比如USB3320、USB3300),再接USB连接器和ESD防护。原理图里要特别关注PHY的时钟来源、复位脚、中断脚和ULPI接口的电平域。很多人以为Zynq自带USB,画个D+/D-就完事,结果板子回来USB完全无法识别,其实就是少了PHY这一层。

千兆以太网在Zynq上很常用,PS端集成了MAC,对外是RGMII接口,所以同样需要外接一颗物理层PHY芯片,比如88E1518、RTL8211F或KSZ9031。RGMII接口的时钟相位要求比较严,现在很多PHY支持内部的TX/RX Delay配置,原理图设计时要通过配置电阻把模式设为RGMII-ID,否则数据采样会不稳定。MDI差分线对要接网络变压器再到RJ45座,变压器选带中心抽头配置的型号即可。

QSPI Flash用于存放启动镜像,通过PS的QSPI控制器接一颗1.8V的Nor Flash,比如S25FL256S。封装小、管脚少,原理图不复杂,但要注意WP#和HOLD#引脚不能悬空,这导致擦写失败或误写保护。SD卡接口也差不多,Zynq的SDIO控制器可以和TF卡直连,但需要接上拉电阻和ESD保护,如果卡座是推拉式还要注意检测脚的接法。

PL侧的扩展接口就要根据实际项目需求来设计了。比如视频处理项目可能会从PL引出并行RGB或MIPI接口,通信项目会接GTX高速收发器。PL部分每个Bank的VCCO电压要单独规划,使用的引脚标准要匹配外设电平。原理图阶段至少预留一个扩展FMC或排针,方便后续调试逻辑,哪怕产品最终用不到,调试阶段也特别管用。

3. PCB板级系统搭建:层叠、阻抗与DDR布线

3.1 层叠设计与阻抗控制:10层板怎么排

原理图画完后,板级系统搭建的下一道工序就是PCB。到了这个阶段,核心话题就变成层叠、阻抗、BGA扇出和DDR布线。老实讲,Zynq这种芯片不是不能做四层板,但性能、EMC和布线可行性都很难保证,所以我做XC7Z100基本从10层板起步。

10层板的一种常见配置是:第一层信号,第二层地,第三层信号,第四层电源,第五层地,第六层信号,第七层信号,第八层电源,第九层地,第十层信号。顶层和底层放器件和主要走线,内层承担DDR等密集信号的布线和完整电源平面。电源层不能只画一个shape,要把不同的电压平面在物理上分割开,分割线要避开关键信号走线区域,否则信号会跨分割导致阻抗突变。

阻抗控制在层叠阶段就要定好目标值。Zynq单端信号一般按50欧姆控制,USB差分对按90欧姆,以太网差分对按100欧姆,PCIe等高速串行按85欧姆。这里说一个非常实际的经验:不要把阻抗控制的期望寄托在PCB加工厂的“帮忙调整”上。你在设计文件中要标明叠层信息、介质厚度、铜厚和阻抗目标值,工厂才能帮你调线宽和间距。如果你的板厂只能控制±10%的阻抗,那高速信号的裕量就要在设计时留足。

很多刚从MCU项目过来的人容易忽略叠层安排的对称性。10层板尽量做到结构对称,避免板材翘曲。在层叠方案确定后,先做叠层阻抗计算,再开始扇出和布线,不然画到一半发现某些层没法走线,返工量很大。这个顺序别反过来。

3.2 BGA扇出和DDR3走线等长

XC7Z100用的封装是BGA,引脚间距常见0.8mm。第一次画BGA的人会感受到什么叫“寸土寸金”。0.8mm间距的焊盘之间很难穿过普通过孔,通常要采用盘中孔或HDI盲埋孔工艺。如果不做盘中孔,就把过孔打在四个焊盘的交叉区域,让不同层的走线从BGA内部往外扇出,一层一层“逃逸”。

对于BGA扇出,我的建议是先用Cadence Allegro或Altium Designer的自动扇出功能生成初步结果,然后手工调整关键信号。DDR信号必须优先扇出,因为它们网络多、等长要求高。扇出完成后检查有没有走线瓶颈,很多板子是在BGA内部走线太挤,被迫换层,结果DDR走线阻抗断裂,调试时就出现偶发跑飞。

DDR3L布线是Zynq板卡上最考验功夫的部分。先把信号分组:DQ0~DQ7和DQS0、DQ8~DQ15和DQS1这类数据组,还有地址、Bank地址、控制信号和时钟差分对。数据线每组内部做等长,常见要求是控制在20mil以内;DQS差分对要匹配;地址和控制信号相对于时钟做等长,容差可以放宽一些,比如50mil到100mil,具体以芯片手册和MIG参考设计为准。

这里还要特别注意参考平面。DDR信号必须有连续的地平面作为回流路径,绝对不能跨越电源平面的分割槽。如果某些信号不得不换层,旁边要有相邻地平面,必要时还要加地过孔。“等长好了但参考平面断了”是很多DDR跑不稳定的隐形杀手。

电容摆放也不要忘,每个DDR电源引脚附近都要有去耦电容,DDR颗粒背面尽量铺完整地平面。我见过有人把所有去耦电容放在板子边缘的“电容阵”里,结果纹波依旧大,因为电容离引脚太远,高频去耦等于白放。正确的姿势是电容跟着引脚走,扇出时就占好位置。

3.3 高速串行接口和电源平面处理

XC7Z100这类中高端的Zynq型号带有高速串行收发器GTX,可以用来接PCIe、SFP+光模块或者串行ADC/DAC。这部分布线和普通GPIO完全不是一个量级。高速差分对要按差分阻抗控制走线,对内等长,对间也要尽量等长;走线要短而直,参考平面完整,过孔越少越好。

在需要AC耦合电容时,比如PCIe,发送和接收信号上通常串联0.1uF电容。电容要放在信号路径中,最好靠近连接器侧放置,同时保证电容两端的阻抗连续,不要在这个位置突然收窄线宽。另外高速收发器的参考时钟也必须精心布置,它们通常是一组差分对,要远离其他数字信号,避免串扰。

电源平面在这里的作用也很大。GTX的供电引脚一般标识为MGTAVCC等,对电源纹波比普通逻辑敏感得多。原理图阶段我已经用磁珠隔离了GTX电源,到了PCB阶段就要保证这些电源经过磁珠以后,进入收发器引脚之前不要再和其他大动态电流网络混流。否则DDR读写时的大电流跳变会通过电源平面耦合到GTX上,导致光模块或PCIe链路误码率飙升。

EOS/ESD防护也不能省。USB连接器、RJ45、SD卡座这些直接暴露到外部的接口都要加TVS管或ESD保护器件,摆放位置要尽量靠近连接器,ESD泄放路径才短。这是一个很容易被忽视但在产品化阶段非常关键的部分,实验室环境可能没感觉,一到现场就频繁出现接口损坏。

3.4 电源平面与去耦电容

回到PCB阶段再强调一次电源:BGA背面的去耦电容位置,是从原理图设计开始就要反复斟酌的。有人把BGA封装的背面整个铺成地平面,电容反而没地方放,这是不对的。Zynq这类大封装芯片,背面通常就是天然的“去耦电容位”,设计时要给每个电源引脚预留via到内层电源平面,在背面就近摆放高频电容。

电源平面分割之前先统计电压域。Zynq板子可能有1.0V、1.35V、1.8V、3.3V等多个电源平面,电压域之间要留出足够的隔离间距,同时确保每块电源区域的过流面积足够宽。面积不够,载流能力不足,局部电压跌落就会触发芯片复位或DDR读写出错。一个偷懒但有效的检查方法是:在PCB完成后,用IR Drop分析工具检查一下核心电源网络,看最远端的电压跌落是否超过允许范围,比如一般要求<3%额定值。

去耦电容的容值组合也要结合实际。Zynq这类高功耗芯片,通常在BGA下方以0.1uF和0.01uF为主,高频抑制效果好;BGA外围和板边放10uF到100uF的bulk电容,应对瞬态电流。MLCC的直流偏压特性很多人没注意:一颗10uF的0402电容,在1.0V电压下实际容量可能只剩6到7uF;如果是1.8V、2.5V等更高电压的电源轨,衰减更明显。选型时要用耐压等级更高的电容来补偿,否则电源的瞬态响应会偏弱。

4. 通电调试与踩坑实录

4.1 上电前要做的事:别急着烧程序

板子贴片回来,第一件事不是插电,更不是烧程序。我的习惯是先用万用表量一遍电源对地阻抗,重点查VCCINT、VCCAUX、VCCPINT、DDR VDDQ这些大网络,有没有短路。这一步能排查出焊接桥连、电容装反等低级但致命的错误。

接下来是限流上电。直流电源设到板子额定输入电压,先把电流限制调到几百毫安,上电后观察有没有异常的电流飙升。如果电流明显偏大,马上断电排查。如果电流正常,再用万用表逐路量电压,确认每路DCDC输出是否正确。这里有件事一定别偷懒:测试点已经在原理图设计阶段预留好了,那就逐个量过去,从输入电源到每路DCDC输出,再到芯片端。很多所谓“板卡不上电”,最后查出来就是某路电源没起来或者被后级拉死。

电压确认之后,用示波器看关键电源轨的纹波。纹波超标会导致芯片行为十分诡异,比如偶尔启动失败、跑一段时间死机。示波器带宽限制开到20MHz,用弹簧地线尽量减少测量噪声,量到的纹波才靠谱。量完电源再量时钟,用示波器确认PS_CLK有没有信号,幅度和频率对不对。没有正常时钟,后面一切都白搭。

4.2 调试顺序:从时钟到DDR再到外设

上电稳定后,第一个目标是让JTAG识别到芯片。在Vivado Hardware Manager里打开目标连接,如果能列出XC7Z100的device,说明PS的时钟、复位、JTAG链路和核心供电基本正常了。如果识别不到,先把JTAG四根线重新量一遍,确认TCK/TMS有没有上拉,检查JTAG链上其它芯片是否影响。

JTAG识别成功后,建立FSBL工程,先把DDR初始化跑通。FSBL会自动执行DDR Training,如果终端打印DDR初始化失败,大概率是DDR布线等长、参考平面或电源问题。这一步我会把常见可疑点列一个checklist,逐个排除:先量DDR VDDQ和VTT电压,再用示波器看DQS/DQ信号有没有明显畸变,最后检查地址线、控制线是否交换错位。

DDR通过后,启动镜像从SD卡或QSPI引导,串口打印出Boot日志,说明PS侧基本活了。接下来调试外设:先验证UART回环,再测USB枚举、网口连通,然后是PL侧的bitstream加载。PL bitstream加载失败时,回看启动顺序和DevC配置,确认镜像打包顺序是否正确。我这里特别想强调,调试阶段不要跳步,先把基础链路跑通,再去做复杂功能,否则故障叠加在一起,定位成本会成倍上升。

4.3 常见问题速查:JTAG、DDR、USB、网口

最后整理一个我实际项目中反复出现的故障速查表。第一次接触Zynq板卡调试的人,可以按这张表来快速缩小问题范围。

故障现象可能原因排查与解决
JTAG识别不到芯片JTAG引脚上拉不对、VCCO电压没给、PS_CLK无输出先量电压时钟,再查JTAG四线连接和ESD器件
FSBL卡在DDR TrainingDDR电源异常、走线等长差太大、参考平面不连续量VDDQ/VTT电压,检查DQS和时钟信号,背板确认焊点
Linux启动无串口输出UART MIO配置不对、波特率不匹配、启动介质镜像错误检查MIO复用配置,确认串口工具参数,重写启动镜像
USB无法枚举缺少ULPI PHY或PHY模式配置错误、PHY时钟异常查PHY的电源复位、时钟输入,确认配置引脚拉法
网口ping不通PHY地址配置不对、RGMII时钟延迟未开启检查PHY模式电阻,配置RGMII-ID,量MDI差分波形
PL bitstream不加载启动镜像顺序错误、PL电源或Bank电压异常检查Boot Image分区,确认VCCINT和VCCO正常

这张表不能说覆盖所有情况,但它覆盖了我这几年做Zynq板卡时相当高比例的问题。硬件调试本质是一个“控制变量”的过程,一次只改一个点,别同时动电源、时钟和软件配置,不然出了问题你根本分不清是谁传染的。

另外我还想说一个被很多人忽视的调试依赖项——可靠的参考板或官方开发板。手里有一块官方的Zynq开发板,和自研板卡做信号对比,很多疑难问题能很快定位。比如你怀疑SD卡启动有问题,官方板上把同一个镜像跑一遍,直接排除镜像本身的问题。硬件工程师千万别嫌参考板贵,它省下来的时间成本远超板价。

从原理图到板级系统搭建,XC7Z100这块芯片确实是个很好的磨刀石。它逼着你把电源设计、高速布线、启动配置、DDR调试这些基本功全部过一遍。我自己的一个固执习惯是:原理图里每一个电源轨都加一个测试点,并且把电压值和允许纹波标注清楚。调试时拿着万用表一路量过去,很多“玄学”问题其实就是某一路电压没起来。

做硬件就是这样,没有太多捷径,但每一步踩过的坑都是后面的经验。希望这篇实战记录能给正在画板子的人一点参考,也祝大家的板卡第一次上电就能跑起来。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/6 1:33:47

Java饭店点餐系统论文复现:B/S架构+MySQL+Tomcat完整实现指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/6 1:33:31

概率图模型与变分推断:从指数族到算法谱系的系统梳理

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/6 1:33:01

鲁班猫5部署YOLOv12:RK3588 NPU目标检测完整实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/6 1:32:58

AXI VIP调优实战:乱序与延时配置深入解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/6 1:32:56

RK3588 NPU部署MediaPipe手势识别:TFLite转RKNN量化与性能优化实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华