背景说明
某项目平台采用S32K324+FS2613方案,其唤醒流程如下:
- 唤醒源:ACC/IGN、CAN_INH、IMU_INT等信号触发MCU唤醒,使用MCU唤醒方案。
- 唤醒过程:休眠状态下S32K324只需要3V3供电(内部LDO转1V1给内核供电),接收唤醒信号后唤醒后进入低速模式,通过CS引脚通知FS2613唤醒。
- 电源切换:FS2613被唤醒,输出1V5供电,MCU切换至正常模式(避免直接使用内部LDO导致功耗过高)。
升级至S32K328后,因功耗差异(唤醒阶段,328需外部1V5供电,无法内部切换至1V1),原方案出现特定条件下无法唤醒的问题。以下为优化方案分析。
兼容性方案对比
方案一:FS2613+S32K328(无EXTWAKE/PG信号连接)
问题描述:
- 当MCU休眠且SBC未休眠时,外部唤醒触发MCU唤醒,但SBC按协议关闭1V5,导致MCU异常掉电,无法恢复。
根因分析: - S32K328依赖外部1V5供电,而FS2613无PG(Power Good)信号反馈电源状态,导致唤醒时序冲突。
这种唤醒场景下的时序大致如下:
方案二:FS2613+S32K328(启用EXTWAKE/Reset功能)
改进点:
- 通过EXTWAKE引脚传递唤醒信号至SBC,MCU在输出EXTWAKE唤醒信号后延迟50ms(等待FS26唤醒、1V5稳定)再切换至运行模式。
遗留问题: - 若SBC意外关闭1V5,MCU会触发Reset并重新上电,导致非预期掉电,可能引发数据异常。
时序冲突示例:
方案三:FS2633+S32K328(启用EXTWAKE+PG信号)
终极解决方案
- 更换SBC为FS2633,利用其GPIO2引脚提供1V5 PG信号。
- 协作逻辑:
- SBC休眠时,PG拉低,EXTWAKE唤醒信号挂起。
- 唤醒信号触发后,SBC输出1V5并拉高PG。
- MCU检测PG为高且EXTWAKE为低后,进入运行模式。
优势:
- 彻底解决异常掉电问题,确保电源稳定后再切换模式。
潜在不足: - 唤醒响应略有延迟(见时序图)。
关键设计回顾
- 优先采用方案三:搭配FS2633与PG信号,确保唤醒时序可靠。
- PG信号监测:FS2633的GPIO2(PG)需严格用于1V5状态反馈,配合EXTWAKE实现可靠的唤醒方案。
- 异常场景测试:重点验证MCU休眠时SBC电源切换的边界条件。
如果上边内容有帮助,欢迎点赞、收藏、关注支持,小博主将持续更新硬件开发相关原创内容,谢谢!