数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 89|回复: 1

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

[复制链接]
发表于 8 小时前 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 创天蓝 于 2026-7-28 14:40 编辑

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)
发表于 7 小时前 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|数码之家-技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2026-7-28 22:59 , Processed in 0.109200 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz!

© MyDigit.Net Since 2006

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