硬汉嵌入式论坛

 找回密码
 立即注册
查看: 760|回复: 11
收起左侧

[其它] 关于STM32U57的ADC DMA采样bug

[复制链接]

2

主题

37

回帖

43

积分

新手上路

积分
43
发表于 2025-1-10 10:13:41 | 显示全部楼层 |阅读模式
本帖最后由 wandeng123 于 2025-1-10 10:52 编辑

近期公司做了个项目使用到了STM32U575RG这块芯片,使用了片上ADC配合DMA采样存储发现一个很奇怪的现象,GPIO悬空状态下开启HAL_ADC_Start_DMA函数后对应的模拟引脚电压会上升,导致后续测得的电压都不对

adc引脚配置

adc引脚配置

开发板引脚示意

开发板引脚示意

断电位置

断电位置

验证流程如下

1、程序断点在开启DMA之前,对应配置的PA1引脚还是低电平

测量前

测量前

2、程序断点在开启DMA之后,对应配置的PA1引脚直接升高了240mv左右

测量后

测量后



本人能力尚浅,参照的直接是ST官网驱动包程序,验证下来有点怀疑st的片上ADC是否存在bug


回复

使用道具 举报

2

主题

37

回帖

43

积分

新手上路

积分
43
 楼主| 发表于 2025-1-10 10:28:08 | 显示全部楼层
欸?帖子的图是被吞了吗
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115454
QQ
发表于 2025-1-10 10:41:37 | 显示全部楼层
wandeng123 发表于 2025-1-10 10:28
欸?帖子的图是被吞了吗

论坛bug不支持图片复制粘贴
https://www.armbbs.cn/forum.php?mod=viewthread&tid=126432
回复

使用道具 举报

2

主题

37

回帖

43

积分

新手上路

积分
43
 楼主| 发表于 2025-1-10 10:53:45 | 显示全部楼层
eric2013 发表于 2025-1-10 10:41
论坛bug不支持图片复制粘贴
https://www.armbbs.cn/forum.php?mod=viewthread&tid=126432

这个芯片21年产的,按理说不至于存在这种问题,硬汉哥能给个思路吗
回复

使用道具 举报

10

主题

678

回帖

708

积分

金牌会员

积分
708
发表于 2025-1-10 13:57:47 | 显示全部楼层
看看有没有勘误手册出来?
回复

使用道具 举报

2

主题

37

回帖

43

积分

新手上路

积分
43
 楼主| 发表于 2025-1-10 15:24:56 | 显示全部楼层
hqgboy 发表于 2025-1-10 13:57
看看有没有勘误手册出来?

目前还没搜索到相关说明,我是用定时器+DMA传输的,定时器触发频率低的话(200us触发测试)就不会出现这个现象,触发频率高(4us触发测试)才会有
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115454
QQ
发表于 2025-1-11 07:16:42 | 显示全部楼层
wandeng123 发表于 2025-1-10 15:24
目前还没搜索到相关说明,我是用定时器+DMA传输的,定时器触发频率低的话(200us触发测试)就不会出现这 ...

没太理解楼主位的意思,是悬空状态测试的吗,STM32的ADC不可以悬空测量。不过配置前短暂的悬空不应该影响后续的测量。可以ADC引脚接个下拉大电阻。

最后就是这个有ADC外设在配置阶段有校准配置没有
回复

使用道具 举报

2

主题

30

回帖

36

积分

新手上路

积分
36
发表于 2025-1-11 19:55:47 | 显示全部楼层
本帖最后由 matt_dash 于 2025-1-12 06:15 编辑
wandeng123 发表于 2025-1-10 15:24
目前还没搜索到相关说明,我是用定时器+DMA传输的,定时器触发频率低的话(200us触发测试)就不会出现这 ...

看错了编译一下
回复

使用道具 举报

2

主题

37

回帖

43

积分

新手上路

积分
43
 楼主| 发表于 2025-1-12 09:22:05 | 显示全部楼层
eric2013 发表于 2025-1-11 07:16
没太理解楼主位的意思,是悬空状态测试的吗,STM32的ADC不可以悬空测量。不过配置前短暂的悬空不应该影响 ...

1、校准做过了
2、悬空是因为一开始测试外部施加了10-2500mV的方波,采样开始波形会被莫名抬高,为了避免干扰,所以就悬空测了
回复

使用道具 举报

2

主题

37

回帖

43

积分

新手上路

积分
43
 楼主| 发表于 2025-1-12 16:15:36 | 显示全部楼层
找到问题的原因了
1、函数发生器输出的信号线阻抗可能有点高,换了根线就正常了
2、不过还有个不明白的地方,adc外部引脚浮空状态下启动转换时为啥会有电压,是这种SAR ADC这种架构就会出现类似的问题吗
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115454
QQ
发表于 2025-1-13 09:38:00 | 显示全部楼层
wandeng123 发表于 2025-1-12 16:15
找到问题的原因了
1、函数发生器输出的信号线阻抗可能有点高,换了根线就正常了
2、不过还有个不明白的地 ...

是的,悬空状态,会有悬空电压值,这个电压值是ADC内部结构决定的。
回复

使用道具 举报

2

主题

37

回帖

43

积分

新手上路

积分
43
 楼主| 发表于 2025-1-14 20:02:08 | 显示全部楼层
eric2013 发表于 2025-1-13 09:38
是的,悬空状态,会有悬空电压值,这个电压值是ADC内部结构决定的。

IMG_4371.HEIC.JPG.JPG

最后一张图传错了,重新贴上
误会芯片了,确实是内部结构导致的电压抬高,加上输入信号的电流又很小,出现的这个问题
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-4-26 14:14 , Processed in 0.363891 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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