
1. 从一块核心板到完整底板电源与RTC的基石作用最近在折腾一块基于瑞芯微RK3568芯片的开发板核心板性能强劲但真正要让它在实际项目中跑起来离不开一块设计精良的底板。底板电路里有两个模块看似基础却直接决定了系统的稳定性和可靠性上限那就是电源模块和实时时钟RTC模块。很多人拿到原理图可能更关注高速信号、接口扩展这些“显性”功能但我的经验是电源和RTC的设计质量往往是区分“玩具板”和“工业级产品”的第一道门槛。电源不稳系统会莫名其妙死机、重启RTC不准或掉电丢失设备就成了“失忆症患者”每次上电都得重新对时在物联网、数据采集这些场景里是致命的。所以今天我就结合手头这块RK3568底板的原理图把这两个最基础也最重要的模块掰开揉碎了讲清楚聊聊设计时的选型考量、布局布线的坑以及调试中那些容易忽略的细节。2. RK3568的“膳食”需求多电压域与上电时序解析要给RK3568这颗SoC供电可不是接个5V那么简单。它内部集成了CPU、GPU、NPU、各种外设控制器不同模块对电压、电流、噪声的要求天差地别。分析底板电源模块前必须彻底吃透芯片的电源需求。2.1 核心电压域与电流估算根据RK3568的数据手册其主要的电源输入引脚可以归纳为几个关键的电压域VDD_LOGIC (VDD_CPU, VDD_GPU等)这是核心逻辑电压通常为0.9V。它为CPU、GPU的核心逻辑电路供电。这部分电流消耗动态范围极大从轻载时的几百毫安到满载特别是GPU/NPU全力运算时的几安培。设计时必须预留充足的余量。VDD_DDR内存接口电源电压取决于使用的DDR类型。对于常见的LPDDR4/LPDDR4X电压是1.1V对于DDR4则是1.2V。电流同样与内存频率和负载紧密相关。VCC_IO (或VCCIOx)这是GPIO和部分低速外设的IO口电压常见的有3.3V和1.8V两档通过软件可配置。它决定了芯片与外部3.3V或1.8V电平器件通信时的逻辑电平。AVDD (模拟电源)例如AVDD_333.3V、AVDD_181.8V、AVDD_PLL通常1.8V等。这些为内部的PLL锁相环、ADC、音频编解码器等模拟模块供电。它们对电源噪声极其敏感设计上需要与数字电源隔离并加强滤波。注意电流估算不能只看芯片手册的“典型值”。一个稳妥的方法是参考官方评估板的原理图和PCB看他们使用的电源芯片规格。例如如果官方板子给VDD_LOGIC用了最大输出电流5A的DCDC那么你在设计时用个3A的芯片就可能在高负载下出现压降导致系统不稳定。2.2 至关重要的上电与下电时序RK3568对各个电源的上电、下电顺序有明确要求。如果顺序错误可能导致内部寄生二极管导通产生大电流甚至永久损坏芯片。通常的顺序是核心电压如0.9V - IO电压如1.8V/3.3V - DDR电压 - 其他辅助电压。这个时序通常不是靠人工控制上电间隔来实现的而是通过电源芯片的“Power Good (PG)”或“Enable (EN)”引脚来链式控制。例如第一个DCDC转换器输出稳定的0.9V后其PG信号会拉高这个PG信号可以作为第二个DCDC转换器产生1.8V的EN使能信号从而实现自动的顺序上电。在分析底板原理图时一定要顺着EN信号的走向理清这条“供电流水线”。3. 底板电源模块原理图深度拆解我手头这块底板采用12V直流输入这是一个在工业、嵌入式领域很常见的电压等级。下面我们看看它是如何一步步“变”出RK3568所需的各种电压的。3.1 第一级12V至5V/3.3V的预降压12V输入首先经过一个防反接二极管和输入滤波网络如TVS管、共模电感、大容量电解电容然后进入第一级DCDC降压电路。这里通常选用一颗同步降压转换器将12V降至一个中间电压例如5V。芯片选型示例可能会使用像MP2451、SY8113B这类耐压超过20V输出电流2A-3A的芯片。选择依据是后续所有需要5V供电的器件包括可能有的USB HUB、网卡PHY芯片、第二级DCDC等的总电流之和并留出30%-50%余量。原理图关键点反馈网络由两颗精度1%的电阻分压设定输出电压Vout Vref * (1 Rup/Rdown)。Vref通常是0.8V或0.6V。电感与电容电感的饱和电流必须大于芯片的最大开关电流。输入和输出电容的ESR等效串联电阻要小特别是输出电容它直接影响输出电压的纹波。Boot电容对于高端MOSFET内置的芯片需要一个自举电容来驱动它这个电容必须靠近芯片的BST和SW引脚。生成的5V一部分直接给底板上的5V器件供电另一部分作为第二级DCDC的输入。3.2 第二级为核心SoC与周边器件供电这是最复杂也最关键的一级需要产生多路电压。VDD_LOGIC (0.9V) VDD_DDR (1.1V)这两路电流需求最大对纹波要求也高。通常会选用高性能的多相或单相同步降压控制器/转换器。方案A集成MOS使用像RT6240、TPS54332这类最大输出电流3A-5A的DCDC。优点是电路简单布局面积小。方案B控制器外置MOS对于电流需求更大5A或散热要求更高的场景会选用如MP2143控制器配合低内阻的MOSFET。这种方式设计更灵活效率可以做到更高但布局和驱动电路设计更复杂。在原理图中你需要关注补偿网络由电阻电容组成的Type II或Type III补偿网络用于稳定反馈环路。这部分参数通常参考芯片数据手册的推荐值后期调试中微调。电流检测如果是控制器外置MOS方案会有基于采样电阻或MOSFET Rds(on)的电流检测电路用于过流保护。VCC_IO (3.3V/1.8V) 和 AVDD (3.3V, 1.8V)这些电压电流相对较小几百mA到1A但对噪声敏感尤其是AVDD。常见的方案是使用LDO低压差线性稳压器例如从5V降压到3.3V使用AMS1117-3.3从3.3V降压到1.8V使用RT9193-18。LDO的优点是输出纹波极小噪声低非常适合给模拟电路和噪声敏感的IO供电。缺点是效率低压差大时发热严重。使用低噪声DCDCLDO组合对于从12V直接到1.8V这种大压差场景可以先用一个DCDC降到2.5V再用一个LDO降到1.8V兼顾效率和噪声。电源树与使能控制在原理图中你会看到一张清晰的“电源树”图或者通过网络标号能梳理出脉络。核心就是之前提到的时序控制。例如0.9V DCDC的PG信号通过一个三极管或逻辑门电路去控制1.8V和1.1V DCDC的EN脚。确保即使软件尚未运行硬件上电时序也是正确的。3.3 布局与布线中的“玄学”原理图正确只是第一步PCB布局布线才是电源性能的决定因素。大电流路径最短最粗尤其是DCDC的输入电容、芯片、电感、输出电容这个功率回路必须尽可能面积最小走线最宽。任何不必要的长度和弯折都会增加寄生电感导致电压尖峰和EMI问题。小信号远离大电流反馈走线FB必须远离电感和开关节点SW最好在PCB内层用地平面屏蔽。反馈分压电阻要尽可能靠近芯片的FB引脚。地平面完整性所有电源芯片的GND引脚都必须通过多个过孔直接连接到完整的地平面通常是PGND功率地。模拟地AGND和数字地DGND通常采用“单点连接”的方式连接点通常选择在LDO的输出电容接地端。电容的摆放大容量电解电容或钽电容用于储能和低频滤波应放在电源入口处。小容值的陶瓷电容如10uF, 1uF, 0.1uF用于高频去耦必须尽可能靠近芯片的电源引脚每对电源和地引脚之间最好都有一个。实操心得调试电源时第一个要测的就是纹波。用示波器探头切换到带宽限制20MHz并使用接地弹簧而不是长长的地线夹直接点在芯片电源引脚附近的电容上测量。如果纹波超标通常要求小于核心电压的3%如0.9V的3%是27mV优先检查功率回路布局和去耦电容。4. RTC模块让设备拥有“记忆”的时钟RTC模块的作用是在系统主电源断开后维持一个低精度的时钟继续走时并保存少量的关键数据如时间、闹钟设置、配置参数。对于RK3568通常有两种实现方式。4.1 外置独立RTC芯片方案这是最经典可靠的方案。底板原理图中常见的是使用PCF8563或DS1307这类I2C接口的RTC芯片。原理图分析电源部分芯片主电源VCC接系统3.3V。最关键的是后备电池输入VBAT它连接一个3V的纽扣电池如CR1220。在原理图中你会看到VBAT引脚通过一个肖特基二极管如BAT54C或MOSFET开关电路连接到VCC和电池。当系统有电时由VCC供电系统断电时二极管防止电池电流倒灌由电池给芯片供电。时钟部分芯片外围需要连接一个32.768kHz的晶振。这个频率是RTC的标准频率经过内部分频得到1Hz的秒信号。晶振两端通常需要接两个负载电容如12pF容值需要根据晶振的负载电容CL要求计算匹配否则会影响精度甚至不起振。接口部分通过I2C总线SDA, SCL连接到RK3568的I2C控制器可能还有中断输出INT引脚连接到GPIO用于产生闹钟中断。电池监控有些设计会通过一个电阻分压网络将电池电压接到SoC的ADC引脚用于监测电池电量。4.2 SoC内部RTC外部电路方案RK3568内部也集成了RTC模块但它需要外部提供32.768kHz晶振和后备电源。原理图分析晶振电路直接连接到RK3568的RTC_XIN和RTC_XOUT引脚。同样需要匹配负载电容。这部分电路必须非常靠近芯片引脚走线短且对称避免引入干扰。后备电源电路这是与独立RTC芯片方案最大的不同。RK3568有一个VCC_RTC引脚专门用于在系统断电时给内部RTC供电。在底板原理图上你会看到系统3.3V通过一个二极管防止倒灌连接到VCC_RTC。一颗3V纽扣电池的正极也通过一个二极管连接到VCC_RTC。VCC_RTC引脚到地需要接一个大容量电容如100uF作为储能和滤波。工作原理系统正常运行时3.3V通过二极管D1给VCC_RTC供电同时给储能电容C1充电。电池因D2反偏不供电。系统断电瞬间3.3V消失电容C1开始放电维持电压。当电压略低于电池电压时二极管D2正偏导通电池接替电容为VCC_RTC供电。二极管D1则防止电池电流流向已断电的3.3V网络。4.3 RTC电路的设计陷阱与调试晶振不起振这是最常见的问题。除了检查负载电容是否匹配还要用示波器高阻探头测量晶振两端波形应该是32.768kHz的正弦波幅度在几百mV。如果没波形检查焊接、芯片使能配置或者尝试更换不同品牌的晶振不同晶振的驱动能力要求不同。时间不准/跑快跑慢首先怀疑负载电容。电容大了频率变慢电容小了频率变快。可以通过微调电容换成可调电容测试来校准。长期不准可能是晶振本身精度差或温度补偿没做好对于有温补功能的芯片。断电时间保持不住检查电池和二极管测量断电后VCC_RTC或RTC芯片VBAT引脚的电压是否维持在2.5V以上。如果电压过低检查电池是否没电、二极管压降是否过大肖特基二极管约0.3V普通硅二极管约0.7V压降过大会导致有效电压不足。检查储能电容和漏电流对于SoC内部RTC方案储能电容C1的容量不够大会导致从系统断电到电池接手的“空窗期”电压跌落导致RTC数据丢失。计算电容容量C I * t / ΔV。假设RTC模块耗电1uA空窗期10ms允许电压下降0.1V则需要至少1e-6 * 0.01 / 0.1 0.1uF。实际上为了保险常用22uF或更大。排查PCB漏电如果电池在断电后消耗异常快几天就没电可能是VBAT网络对地存在漏电。用洗板水彻底清洁PCB特别是晶振、电容等小封装器件下方避免助焊剂残留。5. 电源与RTC的协同调试与系统验证单独模块调通后需要放在整个系统中验证。5.1 上电时序与复位验证使用多通道示波器同时抓取0.9V、1.8V、3.3V等关键电源的上电波形。验证它们是否符合数据手册要求的时序如0.9V先于1.8V稳定。同时监测RK3568的复位信号nRST确保它在所有电源稳定之后才被释放变为高电平。如果复位释放过早SoC可能启动失败。5.2 负载瞬态响应测试这是检验电源动态性能的关键。用一个电子负载或通过软件如让CPU瞬间从空闲跳到满频运行制造一个快速的负载电流阶跃变化例如从0.5A跳到2A用示波器观察核心电压如0.9V的波形。看它的电压跌落Undershoot和过冲Overshoot是否在允许范围内通常是±5%以及恢复到稳定的速度。如果响应太差可能需要调整DCDC的补偿网络或增加输出电容。5.3 RTC与系统时钟的集成测试系统时间同步Linux系统启动后通过hwclock命令将系统时间写入RTC或者从RTC读取时间到系统。命令如hwclock -w(写),hwclock -s(读)。测试断电一段时间后上电系统时间是否自动从RTC恢复。低功耗模式下的RTC如果产品需要支持休眠Suspend to RAM需要测试在系统进入低功耗状态、大部分电源域关闭时RTC及其后备电路是否仍能正常工作并能通过RTC闹钟或外部中断唤醒系统。这需要结合设备树Device Tree正确配置RK3568的电源管理单元PMU和RTC中断引脚。电池寿命估算测量RTC模块在电池供电下的静态电流。断开主电源串联一个高精度万用表在电池回路中测量电流。通常应在1微安uA级别。结合电池容量如CR1220约40mAh可以粗略估算保持时间时间(小时) 电池容量(mAh) / 电流(mA)。如果电流过大回到第4.3节排查漏电。6. 从原理图到可靠产品的经验之谈画原理图只是硬件开发的开始。围绕电源和RTC有几个容易踩坑的地方我结合多次打板调试的经验总结一下器件的“非理想”特性原理图上的电容是理想的但实际采购的贴片陶瓷电容MLCC其容值会随直流偏压施加的电压变化。例如一个标称10uF/6.3V的X5R电容在施加5V电压后实际容量可能只剩6uF。这在输入输出滤波时可能导致计算裕量不足。选型时要查阅厂商的直流偏压特性曲线或直接选用额定电压更高如10V的型号。DCDC的轻载啸叫有些DCDC芯片在轻负载时会进入一种特殊的节能模式如PFM其开关频率会降低到人耳可听的范围内几kHz引起电感机械振动产生噪音。如果对噪声敏感可以在芯片使能脚或反馈脚增加少量负载强制其工作在频率固定的PWM模式或者选择宣称“无啸叫”的芯片型号。RTC电池的“不可充电”警告常用的CR系列纽扣电池如CR1220、CR2032是不可充电的。虽然原理图中电池两端的电压可能看起来是3V但绝对不能用可充电的LIR系列电池直接替换也不要在VBAT电路上设计充电电路除非你用的是可充电的RTC芯片如DS1307Z。误接可充电电池或试图充电有漏液甚至爆炸的风险。预留测试点和调试选项在绘制底板PCB时一定要在关键电源网络如0.9V, 1.1V, 3.3V上预留测试点过孔或焊盘方便示波器探头测量。对于DCDC的反馈电阻可以设计成并联一个预留的电阻空位方便后期微调输出电压。对于RTC的电池路径可以串联一个0欧电阻或磁珠方便断开以测量电池电流。电源和RTC模块一个负责能量的稳定输送一个负责时间的持续流逝它们是嵌入式系统硬件底座中最沉默却最关键的守护者。把它们的原理吃透把电路调稳后续的应用开发才有了坚实的舞台。很多时候系统那些玄学般的偶发故障根源都藏在这两个最基础的模块里。多花点时间在这里绝对是值得的。