找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3|回复: 0
打印 上一主题 下一主题
收起左侧

外部电路上电后 MCU 内部基准读数突然满量程

[复制链接]
跳转到指定楼层
楼主
ID:277903 发表于 2026-7-28 14:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PY32F030 VREFINT 读到 4095 时检查 5 V 信号接入的 GPIO
结论: 本板开启外部 DCDC 后,5 V 电源域的输出信号进入工作在 3.3 V 电源域的 MCU,相关 GPIO 出现高于 VDD 的电压,VREFINT 随即饱和到 4095。关闭 DCDC 后,GPIO 电压恢复,VREFINT 也立即恢复正常。



供电结构与异常现象
业务操作需要开启外部 DCDC,由 DCDC 输出 5 V,为其他电路供电。MCU 仍由 3.3 V 供电,但 5 V 电源域中的部分输出信号会接入 MCU GPIO。

DCDC 关闭时,VREFINT 原始值约为 1470,反推 VDD 约为 3.3 V
  1. [​VREF​] raw=1476 vdd_mv=3330
复制代码
DCDC 开启后,连续两次转换都到满量程:
  1. [​VREF​] raw=4095 first_raw=4095 vdd_mv=1200
复制代码


DCDC 开关的单变量验证
每次只改变一个硬件状态:

操作VREFINT 原始值
GPIO 时钟和输出初始化
1470
DCDC 使能脚配置为输出
1470
DCDC 开启
4095
DCDC 关闭
立即恢复到约 1470
DCDC 使能脚完成 GPIO 初始化时,VREFINT 仍然正常。异常只在 DCDC 实际输出 5 V 后出现。ADC 重置和 VREFINT 通道重建也没有改变这一对应关系,因此排查方向需要从 ADC 配置转向 5 V 电源域与 MCU 之间的信号连接。



5 V 信号跨电源域的触发链路
示波器确认了以下触发链路:

  • 开启外部 DCDC,5 V 电源域开始工作。
  • 该电源域中的部分电路向 MCU 输出信号。
  • 相关 GPIO 电压高于 MCU 的 3.3 V VDD。
  • VREFINT 固定为 4095
关闭 DCDC 后,GPIO 过压消失,VREFINT 无需重建 ADC 或重启 MCU 便立即恢复。现有证据可以确认 GPIO 过压与 VREFINT 异常同步出现,但没有直接证明具体的片内耦合路径。



ADC 结果的失效边界
异常日志中的 1200 mV 是由满量程读数反推得到的错误结果。VREFINT 已经读到 4095 时,基于该值计算的 VDD、电池电压或阈值判断都不能继续使用。



跨电源域信号的排查顺序
再次遇到 VREFINT 满量程时:

  • 测量 MCU 的真实 VDD。
  • 检查外部电源域与 MCU 之间的全部信号线。
  • 测量相关 GPIO,找出电压高于 MCU VDD 的引脚。
  • 关闭对应外设供电,观察 GPIO 电压与 VREFINT 是否同时恢复。
确认触发关系后,再根据接口类型处理电平兼容问题。具体电路改法取决于信号方向、速度和驱动方式,本文不展开。




build 28 July 2026 14:28 (UTC+8)

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表