AUX-C2 — Sleep / Wake-up:为什么单 ECU 静态电流被压到 ~100 μA、"睡得省"与"醒得到"为何是一对物理对立,以及 selective wake 为何是"本地多花电、全局省电"

更新

本质与导读

专家养成 · 模块三(低压辅助电源)· C 阶第 2 讲。上一讲 AUX-C1 把 ECU "跑起来"的最后一棒讲透了:干净 rail 如何按器件物理定序、由独立硬件交付给数字 core,并在运行中守住每一路。但一台车 99% 的时间不在跑,而在熄火后停着——而正是这段"什么都不做"的时间,决定了低压电池能不能撑到你两个月后回来还打得着火。本讲从一个纯物理的倒推链立约束:整车能耗预算如何把单 ECU 的静态电流(quiescent current, ) 死死压到 100 μA 量级;再从第一性原理拆开"睡"与"醒"这对天然对立——降到近零功耗随时可被唤醒在物理上互斥,工程解只能是"留最小的监听层常醒、其余全断";最后论证 selective wake 这个反直觉的设计:它让收发器自己更费电,却是省整车电的关键杠杆。

开篇:硬约束——整车能耗预算把单 ECU 静态电流锁死在 ~100 μA

先把这条锁死一切的数学线走一遍,它是本讲所有 μA 数字的锚。EV 的 12V 低压辅助电池典型是 ,为避免过放只准用 80%,即 可用。OEM 的硬指标是:锁车停放 60 天(停车场 / 港口滞留 / 长差旅)后,电池仍要保住冷启动的荷电门槛。把可用容量摊到 60 天:

整车稳态静态电流的数学上限就是 ~20 mA。 这不是某个工程师拍的指标,是"电池能量 ÷ 停放时间"这条除法逼出来的物理事实。而一台 EV 的 12V KL30 常电网络上挂着 30-60 个 ECU,再加防盗、PEPS 低频扫描、T-Box 周期在线这类"常醒 / 半醒"件——后者往往是 mA 级、吃掉预算大头。于是留给一个普通 ECU 的配额被压到 100-300 μA,严苛项目压到 ~100 μA。

这个数字有多苛刻,需要一个参照才有体感:一颗 MCU 全速跑是几百 mA,一个 CAN 网络活跃时收发器是几 mA——100 μA 意味着整个 ECU 里 99.9% 的硅片必须彻底断电,只剩极少数电路可以"活着"。这就引出本讲的核心张力:在这种预算下,ECU 还怎么"听得见"唤醒它的信号?下面从第一性原理拆这对对立。


中段一:第一性——sleep 电流是"常醒监听层"的开销,不是 MCU 的开销

要理解 100 μA 花在哪,先要破一个直觉误区:sleep 状态下的 几乎和 MCU 无关——因为深睡时 MCU core 要么断电(),要么只保 retention(个位数到数十 μA)。真正花掉预算的,是那一小层为了"听得见"而必须 24 小时保持通电的电路:SBC 内部的欠压锁定 / 参考基准 / 唤醒比较器、CAN/LIN 收发器里的低功耗监听解码器、以及板级那些看不见的常驻漏电路径。sleep 的本质,是"保持可被唤醒"这一能力的物理开销。

由此可以把平均静态电流第一性地分解成两个成分,它们的缩放规律完全不同——这是整套预算的关键结构:

  • ——常醒监听层的静态偏置:SBC LP 模式 + 收发器 sleep 监听 + 板级漏电,永远在流,与你做不做事无关。它不随占空比下降,唯一的杠杆是器件选型(选低 的 SBC / 收发器)和抠漏电。它以模拟偏置(bandgap / 比较器)为主,升温平缓但不可忽略。
  • ——周期唤醒活动的占空加权平均:每一类周期性自醒(RTC 定时巡检、网络管理 NM 周期活动)醒来时电流是 mA 级,但乘上极小的占空比 后摊回平均值。这一项是设计可控的——你定巡检多密,就定了

这个分解立刻给出两条反直觉的工程判断。其一,深睡瞬时值不等于平均 :只在示波器上抓一眼深睡底电流,会把 整项漏掉,平均值可能高出数倍——这正是 LV 124 的 E-19 闭路电流(Ruhestrom)测试要求连续记录 12-24 小时、取占空加权平均的原因,短测糊弄不过去(顺带纠一个常见引用错:静态电流限值的规范落点是 OEM 的 LV 124 E-19 / Lastenheft,ISO 16750-2 里没有静态电流条款)。其二, 和占空项谁大不一定,取决于唤醒有多频繁——下一节把 4 类唤醒源摊开,再用 worked example 看这两项的量级对比。


中段二:4 类唤醒源——每一类都是"用一个常醒探测器换一种唤醒覆盖"

熄火后 ECU 要能被哪些事件叫醒?工程上归成 4 类源,而贯穿它们的第一性原理只有一句:每保留一种唤醒能力,就要养一个对应的"常醒探测器",它的偏置电流 24 小时计入 覆盖越多,静态底电流越高——这就是"睡"与"醒"对立的具体化。

① CAN 总线唤醒——两级机制,别混。 收发器在 sleep 下维持一个低功耗监听电路,认两种触发:WUP(wake-up pattern) 是"显性-隐性-显性"图案,任何低功耗收发器都认;worst-case 设计口径是每个相位发 ≥3.0 μs 才保证唤醒(TJA1145 的 twake 0.5-3.0 μs 是内部滤波阈值的个体分布,不是"要求区间")。WUF(wake-up frame) 是 selective wake 专用,只有匹配预设 ID/DLC/payload 的完整帧才唤醒(见中段四);WUF 必须是 classical CAN 帧——sleep 下只跑低功耗经典解码器,不解 CAN-FD 数据相位。器件级唤醒延迟很快(TJA1145 总线唤醒到 INH 拉高 ≤100 μs),真正的时延大头在后面的电源爬升 + MCU 冷启动。

LIN 唤醒——规范时序常被记错。 以 LIN 2.x / ISO 17987 原文为准:唤醒信号 = 总线显性 250 μs - 5 ms(不是几十 μs,太短的显性会被当干扰滤除);节点须在 100 ms 内可通信。用在车窗 / 座椅 / 后视镜这类低速末梢,常经 LIN master(门模块)转发唤醒链。

③ 本地物理源——硬线 / GPIO 直接检测。 包括 KL15 点火硬线(最强的广播式唤醒,几乎所有 ECU 同时醒)、钥匙按压 / 门把手 / 充电口盖、以及充电插枪 CP(1 kHz PWM 被 OBC 检测)。共同点:走 SBC 的 WAKE 引脚或 GPIO,自带 debounce + 滞回(TJA1145 WAKE 滞回 250-800 mV);常先唤醒 BCM,再由 BCM 经 CAN WUP/WUF 扩散。代价藏在输入网络的上拉 / 分压电阻里——它们是常驻漏电路径,是 里最容易失控的一项(见 worked example)。

④ 定时唤醒——RTC / SBC 周期定时器。 MCU standby 域 RTC(32.768 kHz 晶振,μA 级,精度高)或 SBC 内部 RC 定时器(无晶振,精度百分比级,够"每几分钟扫一圈")。唤醒源自身 只有个位数 μA,但唤醒后的活动电流按占空比摊回平均——巡检周期定多密,直接决定 。这是 4 类源里唯一让占空项显著抬头的一类。

把 4 类合起来看:CAN/LIN 养的是"总线监听解码器",本地源养的是"比较器 + 常驻分压漏电",定时源养的是"低频振荡器 + 周期活动"。每一类的偏置都是你为"这种事件能叫醒我"付的常年月租。 唤醒覆盖不是免费的,它直接顶高 sleep 底电流——这就是为什么真实设计里要精确裁剪"到底保留哪几类唤醒",而不是全开。


worked example: 预算表 + 占空比数学,看两个成分谁主导

接中段一的分解式,用一个挂 KL30 的车身域 ECU(MC33907 SBC + 外置 TJA1145 PN 收发器,可接受冷启动唤醒、无 retention 需求)走一遍,数字取各器件 datasheet 实值(与 Sleep/Wake-up 深度 §6 对标)。

先算 (全静默、只监听),两列都要核——25℃ typ 只做健康度对照,预算按热端 max:

25℃ typ热端 worst(DS max)
MC33907 LPOFF(全 rail 关、VCORE 断电)32 μA60 μA(/18 V)
TJA1145 Sleep(总线静默监听)40 μA59 μA(≤)
MCU(VCORE 断电)00
板级杂项(MΩ 级分压 + TVS/上拉)~20 μA~30 μA
合计~92 μA~149 μA

热端 149 μA 贴着 150 μA 目标过关,margin 主要被板级杂项吃掉。这里要给一个 失控的反例,才知道抠漏电为什么是死命令:若某信号用 10 kΩ 上拉到 5 V、sleep 时停在低电平,这一条支路就漏 ——单这一处漏电就是全 ECU 配额的 3-5 倍,一票否决。正确做法:sleep 前把该信号置高或改用 MΩ 级 + 开关切断采样支路。

再算占空项 ,看两个不同频度的周期唤醒如何决定它是否主导。设每次唤醒都是 MCU 低频运行 + CAN listen 的 Stand-by 档,:

  • 慢巡检(电池 SOC 监测):每 醒一次、每次 。占空比 ,贡献 ——相对 92 μA 静态底几乎可忽略,平均
  • 快扫描(PEPS 低频寻卡 / T-Box 在线):每 醒一次、每次 。占空比 ,贡献 ——反过来碾压静态底,平均 ,直接冲破 100 μA 配额。

这两个数把中段一的判断坐实了:周期唤醒是否主导预算,完全由巡检频度 决定;把 从 10 s 放宽到 1 h,占空项就从 200 μA 塌到 1 μA。这正是为什么"常醒 / 半醒件"(防盗 / PEPS / T-Box)吃掉整车预算的大头,而普通 ECU 只要把周期巡检压得够稀,预算就落在 这一档。设计动作因此分两路: 靠选型 + 抠漏电压低,占空项靠拉长唤醒周期压低——两个旋钮治两个成分,不能混。


中段四:selective wake 的第一性——本地多花电,换全局省电

上面 4 类源里,CAN 的 WUF(selective wake / 部分网络 PN)最值得单独讲,因为它的收益逻辑彻底反直觉,也最能体现"系统级优化 vs 器件级优化"的分野。标准沿革先站对:selective wake 原属 ISO 11898-6:2013、低功耗模式属 ISO 11898-5:2007,两者已于 ISO 11898-2:2016 并入同一本标准(2026 检索经 CiA / ISO 官方口径核实),新器件 compliance 只引 -2:2016;写需求务必锁"标准号 + 年号"。

机制是:PN 收发器在 sleep 下维持一个低功耗经典 CAN 解码器,SPI 预配 wake-up ID/mask/DLC/payload,只有匹配的 WUF 才唤醒 MCU,其他流量被收发器吞掉、节点继续睡;解码持续出错时退化为普通 WUP(宁可多醒,不可叫不醒);网络有 CAN-FD 流量必须选 FD-passive 或原生 FD 料,否则经典解码器把 FD 帧当错误、反复误唤醒。

反直觉点来了,datasheet 白纸黑字:PN 让收发器自己更费电——TJA1145 在 PN enabled 且总线有流量时,那个解码器在跑,额外加 300 μA typ / 400 μA max;只有总线静默时才回到 40 μA 的 sleep 底。那它省在哪?省的是节点,不是收发器。 第一性地讲:没有 selective wake 时,总线上任何一条无关流量都会把节点从 sleep(~100 μA)整个拽到 Stand-by(~10 mA)——是整颗 ECU 醒来;有了 selective wake,被拽醒的只是收发器里那个 +300 μA 的解码器,MCU 和外设继续睡。用一个局部代价(收发器多花 300 μA)换掉一个全局大头(整节点从 100 μA 跳到 10 mA)。

所以 selective wake 的收益不能按收发器 算,要按系统级算:

即"被避免唤醒的节点数 × 每节点省下的电流 × 部分网络运行工况的时长"。它的主场正是充电 / 预热这类总线持续有流量、但大多数节点与之无关的工况(见下面 worked)。


worked example:充电 8 小时,selective wake 单节点省多少

取一个与充电无关的车身节点,充电持续 、总线全程有流量:

  • 无 selective wake:节点被无关流量反复打醒、挂在 Stand-by,按 算,一夜耗
  • 有 selective wake:节点整体睡着,只有 PN 解码器在跑,,8 h 耗

单节点差 倍。再乘上"被避免唤醒的节点数"——一个充电场景里可能有二三十个节点与充电无关,系统级省下的就是 再放大一个数量级的能量。这也顺带暴露一个必须验证的 corner:充电结束后若有节点因 NM 状态机 bug 没回深睡,那 会直接挂在 12V 电池上过夜——预算表因此必须"全静默 / 部分网络"两列各算,且下电流程要实测验证回深睡,不能只算停车全静默一列。


落到工程结论:sleep 设计自顶向下链 + 三条准则

把本讲收成一条设计任一 KL30 节点 sleep 都走一遍的链:

  1. 定配额:从整车 20 mA 上限倒推本 ECU 配额(普通件 100-300 μA,严苛 ~100 μA);先分清本件是"普通"还是"常醒 / 半醒"件,后者要单独立占空预算。
  2. 裁唤醒覆盖:按功能需求裁剪保留哪几类唤醒源(CAN/LIN/本地/定时),每保留一类就承认一份常醒偏置进 ——不需要的源直接不养。
  3. 压两个成分: 靠选低 SBC / 收发器 + 逐条抠板级漏电(上拉 / 分压 / GPIO 悬空);占空项靠尽量拉长周期唤醒的 ;两个旋钮治两个成分。
  4. 上 selective wake(若网络有部分网络工况):按系统级公式核收益,认收发器自身 +300 μA 的局部代价;网络有 FD 流量锁 FD-passive / 原生 FD 料;SPI 配置后读回 PNCOK 确认,否则静默退化为普通 WUP。
  5. 按热端 + 占空加权验收:预算表两列(25℃ typ 对照 / 热端 DS max),两工况(全静默 / 部分网络);实测走 LV 124 E-19 长记录(12-24 h),不只抓深睡瞬时值。

带走三条准则:

  1. sleep 是"保持可被唤醒"的开销,不是 MCU 的开销。 MCU 深睡时贡献近零,花钱的是常醒监听层的偏置 + 板级漏电; 两成分缩放规律不同,必须分开治。
  2. 每一种唤醒覆盖都要付常年偏置月租。 睡与醒物理对立,工程解是"留最小监听层常醒、其余全断";裁唤醒源就是裁
  3. selective wake 省节点不省收发器。 它让收发器自己 +300 μA,却把整节点从 10 mA 摁回 ~0.4 mA;收益按系统级(避免唤醒的节点数 × 部分网络时长)算,绝不按器件 算。

承上启下:AUX-C1 讲了 ECU…

承上启下:AUX-C1 讲了 ECU 怎么醒着守好每一路 rail、AUX-C2 讲了它怎么睡得省又醒得到——但两讲都默认"电源只有一路,坏了就进安全态"。可对线控底盘 / L3+ 这类失效后仍必须继续工作的系统,单路供电断了不允许"安全地停下",而必须"带故障继续跑"。下一讲 AUX-C3Fail-Operational 冗余供电:双源 / 备份 DC-DC / ORing 二极管如何做到单点失效后供电不中断,以及它和 sleep 预算、和 FS-A3 的 FTTI 如何在冗余架构下重新算账。预读 辅助电源全栈 hub


延伸阅读