硬汉嵌入式论坛

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

[ADC] 多通道ADC的DMA传输误差问题

[复制链接]

2

主题

8

回帖

14

积分

新手上路

积分
14
发表于 2024-1-8 00:51:58 | 显示全部楼层 |阅读模式
想请问一下,当使用ADC1的一个通道、ADC2的一个通道、ADC3的两个通道。进行采样并DMA传输采样结果。

      如下图所示现象:
      DMABufA[0]->对应ADC1的通道
      DMABufB[0]->对应ADC2的通道
      DMABufC[0]->对应ADC3的一个通道
      DMABufC[1]->对应ADC3的另外一个通道

      DMABufA[0]所对应的采样值始终比DMABufB[0]和DMABufC[0]得到的值小。
     

也尝试了更换ADC1和ADC2以及ADC3的引脚,发现始终是ADC1的采样值偏小。
    想提问,这种情况下是和底层配置相关吗,我在配置ADC1/2/3都保持一致,但目前ICAHE和DCAHE都未开启。
回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2024-1-8 00:54:16 | 显示全部楼层
下载.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106678
QQ
发表于 2024-1-8 09:37:34 | 显示全部楼层
这个现象确实有些诡异,降低下采样率有对比过没
回复

使用道具 举报

0

主题

124

回帖

124

积分

初级会员

积分
124
发表于 2024-1-8 18:08:25 | 显示全部楼层
把4个通道的口短路再试试
回复

使用道具 举报

75

主题

684

回帖

909

积分

金牌会员

积分
909
发表于 2024-1-8 23:26:36 | 显示全部楼层

调用校准校准一下试试
回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2024-1-8 23:45:14 | 显示全部楼层
eric2013 发表于 2024-1-8 09:37
这个现象确实有些诡异,降低下采样率有对比过没

硬汉哥,目前分别尝试以下两种方式进行比较:
    一、将采样周期由原来的2.5改为8.5,发现误差还是存在,相比之前的波形误差小一点点,但不明显。


    二、将分辨率由原来的16bit更改为12bit(采样周期还为原来的2.5),发现误差也还是存在,
          (大致)当前相对误差:(2080-2010)/(2080)=3.3%。
          (大致)之前相对误差:(33300-32300)/(32300)=3.096%



回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2024-1-8 23:55:53 | 显示全部楼层
庄永 发表于 2024-1-8 23:26
调用校准校准一下试试




     确实是校准的问题,之后又查了一遍底层的配置。
     发现自己只对ADC1进行校准,后面的ADC2和ADC3都未进行校准处理。


    这里也发现了一个问题,如果不对ADC进行校准,其采样的值会偏高,不知道这种是不是一种通性。
回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2024-1-9 00:01:21 | 显示全部楼层
Edmund1964 发表于 2024-1-8 18:08
把4个通道的口短路再试试



   老哥,之后又查了一下底层配置,发现只对ADC1进行校准处理。ADC2和ADC3都未进行校准处理。

   下图是四路短接后的图形(只对ADC1进行校处理的情况下)
    也有一个现象->误差较大的变为ADC2对应的通道了。

下载 (3).png

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106678
QQ
发表于 2024-1-9 09:03:09 | 显示全部楼层
如来德lz 发表于 2024-1-8 23:55
确实是校准的问题,之后又查了一遍底层的配置。
     发现自己只对ADC1进行校准,后面的ADC2 ...

不校准不需要研究了,STM32的ADC不校准不能使用的。

ADC做线性和偏移校准都做,什么效果。

回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2024-1-9 22:34:46 | 显示全部楼层
eric2013 发表于 2024-1-9 09:03
不校准不需要研究了,STM32的ADC不校准不能使用的。

ADC做线性和偏移校准都做,什么效果。

硬汉哥,图1为未开启线性化处理,图2为未开启线性化处理


整体上看感觉 开启线性化处理之后浮动的范围变宽了

图1


图2



回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 08:33 , Processed in 0.547292 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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