OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 12074|回复: 14

求助!如何提高H743 AD转换器的效率和精度?

[复制链接]

6

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2019-5-5
在线时间
14 小时
发表于 2019-6-22 07:30:15 | 显示全部楼层 |阅读模式
3金钱
在H743例程的基础上修改,只是将采样时间由810.5个ADC时钟周期减小,转换的是DAC发出的固定的电压。结果发现,减少采样时间,LCD屏幕上显示的电压减小。
保持810.5,将平均值由10增加到1000,小数点最后一位才几乎不动了。
推测:
1、单次转换模式下,是不是模拟开关每次都切换,要对采样保持电容充电,建立需要时间?
2、采样噪声很大,如果不做滤波,16位的高精度,实际上没有意义?

想转换频率高一点的信号,而且精度高一些,希望高手指导

1、如何让采样通道保持不变,使采样电容不必每次都充电。
2、快速通道的带宽实际是多少,输入信号带宽超过多少KHz,就会衰减,转换就不准了?



adc.jpg
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2019-5-5
在线时间
14 小时
 楼主| 发表于 2019-6-30 12:34:15 | 显示全部楼层
回复

使用道具 举报

3

主题

1907

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4105
金钱
4105
注册时间
2018-8-14
在线时间
696 小时
发表于 2019-6-30 13:27:19 | 显示全部楼层
充电时间是由两个因素决定, 一是电容, 这是芯片内部决定, 要改变也只能增加而不能减小(除非你不惜代价)
另一个是R, 这是你可以做的, 把接到ADC口的电路的阻抗尽量做到最低。
回复

使用道具 举报

0

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2015-1-25
在线时间
18 小时
发表于 2019-7-1 01:02:57 | 显示全部楼层
我也很关心这个H7号称16位的AD能不能做采样用,目前我使用的是FMC驱动AD7607采样。
回复

使用道具 举报

6

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2019-5-5
在线时间
14 小时
 楼主| 发表于 2019-7-2 07:28:42 | 显示全部楼层
jian007tg 发表于 2019-7-1 01:02
我也很关心这个H7号称16位的AD能不能做采样用,目前我使用的是FMC驱动AD7607采样。

以H7 实验22为基础,采用实验52中的浮点运算函数库,产生幅值和频均可调的正弦波,从DA输出,又AD采回,同时用示波器观察。当采样时间设置为810.5个ADC周期时,在5K的正弦波周期下,DA和AD的点数较少(每格50us)。将采样时间设置成8.5个ACD周期时(16位时最短),200us周期内,点数明显增加。
另外,还尝试了把数据存入SD卡,关闭了向串口调试助手输出提示信息后,瞬间完成。
另外还用到了例程42、40、41、20、17、14等。
程序通了,无错无报警,但刚上手,还有很多困难。
E:\图片\实验.jpg
E:\图片\LCD.jpg
E:\图片\810.jpg
E:\图片\8.jpg


回复

使用道具 举报

6

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2019-5-5
在线时间
14 小时
 楼主| 发表于 2019-7-2 07:51:05 | 显示全部楼层
本帖最后由 zzsbabytiger 于 2019-7-2 08:03 编辑

每个周期都根据时钟来计算准备DA输出的正弦波上的点,用到了浮点运算函数库,DA输出,AD转换。
所以每个周期能够DA和AD的点数,由这三大块消耗的时间决定。

使用到的相关例程

使用到的相关例程

产生的正弦波频率为5KHz

产生的正弦波频率为5KHz

采样时间为810.5ADC周期时

采样时间为810.5ADC周期时

采样时间为8.5时

采样时间为8.5时
回复

使用道具 举报

6

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2019-5-5
在线时间
14 小时
 楼主| 发表于 2019-7-3 20:10:30 | 显示全部楼层
jian007tg 发表于 2019-7-1 01:02
我也很关心这个H7号称16位的AD能不能做采样用,目前我使用的是FMC驱动AD7607采样。

我说明的信息,有参考作用么?
回复

使用道具 举报

0

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2015-1-25
在线时间
18 小时
发表于 2019-7-7 11:01:24 | 显示全部楼层
zzsbabytiger 发表于 2019-7-3 20:10
我说明的信息,有参考作用么?

用DA输出的信号可能不太准确,因为DA的是14位的,本身源信号误差就高,我的做法是拿一个标准信号发生器(直流),从最小值0,输出到AD能承受的最大值,记录下每个值的AD值,起码采30个值,然后计算误差,得出它的线性度。线性误差如果小就可用。我项目要求是小于0.5%。
回复

使用道具 举报

6

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2019-5-5
在线时间
14 小时
 楼主| 发表于 2019-7-7 16:31:34 | 显示全部楼层
jian007tg 发表于 2019-7-7 11:01
用DA输出的信号可能不太准确,因为DA的是14位的,本身源信号误差就高,我的做法是拿一个标准信号发生器( ...

原来我也是象你这么想的。
但测试下来,很准,除接近满量程时之外,小数点后第三位都是准的。
DA的线性度非常好。
想想也是,电阻网络而已,现在的技术,已经是nm级了。
问题不在于DA的误差,也不在于AD的位数不够,而是信噪比,我用了1000个数取平均,小数点后第三位才不怎么变动了。
回复

使用道具 举报

0

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2015-1-25
在线时间
18 小时
发表于 2019-7-7 18:49:24 | 显示全部楼层
zzsbabytiger 发表于 2019-7-7 16:31
原来我也是象你这么想的。
但测试下来,很准,除接近满量程时之外,小数点后第三位都是准的。
DA的线性 ...

这实验只是第一步,如果第一步都不行,方案就直接被否定了,真正做产品的时候还需要做电磁兼容对ADC的影响、高温70度对ADC精度的影响,低温40度对ADC的影响。 往往是芯片内部结构问题导致AD值飘动很大,导致产品失败。而且也不允许平均取值,应每次取值都应变化不大,AD7606每次取值都没超过3个AD值。
回复

使用道具 举报

6

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2019-5-5
在线时间
14 小时
 楼主| 发表于 2019-7-8 22:17:29 | 显示全部楼层
本帖最后由 zzsbabytiger 于 2019-7-8 22:19 编辑
jian007tg 发表于 2019-7-7 18:49
这实验只是第一步,如果第一步都不行,方案就直接被否定了,真正做产品的时候还需要做电磁兼容对ADC的影 ...

我也在用AD7760,AD4003等。
有机会对比测试下。

不过,你说DA,我答DA,你咋说AD啦没超过3AD值是啥意思?末位变化正负一个半?
回复

使用道具 举报

0

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2015-1-25
在线时间
18 小时
发表于 2019-7-9 00:41:07 | 显示全部楼层
zzsbabytiger 发表于 2019-7-8 22:17
我也在用AD7760,AD4003等。
有机会对比测试下。

我主要就是关注H7的AD,末位变化不超过正负3。
回复

使用道具 举报

0

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2020-9-10
在线时间
12 小时
发表于 2021-1-28 11:59:02 | 显示全部楼层
H7也好,F7也好,你直接用开发板时,ADC的精度实际上只能达到10位左右,用差分模式会好一些,能达到11位左右的精度。我试过多次,已经放弃了。你想提高精度,除非自己布板,注意模拟地要单独接地。以前用103的时候,ADC感觉还行,到H7以后,标称位数越来越高,实际效果却更差。
回复

使用道具 举报

16

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
133
金钱
133
注册时间
2013-12-21
在线时间
8 小时
发表于 2021-4-28 13:56:20 | 显示全部楼层
目前再用H743AD采样,感觉这精度有点差
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2020-2-13
在线时间
4 小时
发表于 2021-7-22 10:49:52 | 显示全部楼层
along1213 发表于 2021-1-28 11:59
H7也好,F7也好,你直接用开发板时,ADC的精度实际上只能达到10位左右,用差分模式会好一些,能达到11位左 ...

深有同感,最近测试使用,波动范围都在0.01V左右
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-27 08:31

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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