查看: 2747|回复: 5

[求助] KL25 ADC的硬件平均功能的疑惑求解答

[复制链接]

该用户从未签到

32

主题

138

帖子

0

中级会员

Rank: 3Rank: 3

积分
390
最后登录
2017-12-29
发表于 2017-4-19 11:55:05 | 显示全部楼层 |阅读模式
本帖最后由 胡孟龙 于 2017-4-19 11:59 编辑

PE中可以对ADC的硬件平均功能进行设置,平均的采样点可以选择4,8,16,32.
请问,如何理解这些采样点?举个例子说明的我疑惑。
如果我使用ADC0_A通道每采集一个点,就通过复用芯片切换采集另外一路的信号。如下图:
            |~~~~~~|
0V----->|             |
1V----->|硬件切换 |-------->ADC_A----->输出
2V----->|   电路    |
3V----->|             |
            |~~~~~~|

如果开启硬件平均,那么原始端得数据是不是就会发生混叠现象?还是说他每采集一个点之前就先默认采集多个采样点,然后求完平均值后再输出?(这种情况下是不会发生信号混叠的。)

如果不能开启硬件平均,采集的精度怎么保证?


我知道答案 目前已有5人回答
回复

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24890
最后登录
2025-7-21
发表于 2017-4-19 13:33:37 | 显示全部楼层
楼主你好!
关于ADC的硬件平均,你可以参考KL25 参考手册:
28.4.4.7 Hardware average function
The hardware average function can be enabled by setting SC3[AVGE]=1 to perform a hardware average of multiple conversions. The number of conversions is determined by the AVGS[1:0] bits, which can select 4, 8, 16, or 32 conversions to be averaged. While
the hardware average function is in progress, SC2[ADACT] will be set.
After the selected input is sampled and converted, the result is placed in an accumulator from which an average is calculated once the selected number of conversions have been completed. When hardware averaging is selected, the completion of a single conversion will not set SC1n[COCO].
If the compare function is either disabled or evaluates true, after the selected number of conversions are completed, the average conversion result is transferred into the data result registers, Rn, and SC1n[COCO] is set. An ADC interrupt is generated upon the setting of SC1n[COCO] if the respective ADC interrupt is enabled, that is, SC1n[AIEN]=1.

  也就是如果使能硬件平均之后,硬件会自己做平均之后,把平均好的值放到数据寄存器,标志置位。
所以,如果你要切换通道,建议你使用代码换通道,然后采集等待采集完成,这样不会导致信号混乱。


回复 支持 反对

使用道具 举报

该用户从未签到

32

主题

138

帖子

0

中级会员

Rank: 3Rank: 3

积分
390
最后登录
2017-12-29
 楼主| 发表于 2017-4-19 13:46:16 | 显示全部楼层
小恩GG 发表于 2017-4-19 13:33
楼主你好!
关于ADC的硬件平均,你可以参考KL25 参考手册:
28.4.4.7 Hardware average function

他进行平均时使用的值是之前输出的值吗?还是重新采集了n个点,平均后输出一个点?
回复 支持 反对

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24890
最后登录
2025-7-21
发表于 2017-4-19 13:56:13 | 显示全部楼层
胡孟龙 发表于 2017-4-19 13:46
他进行平均时使用的值是之前输出的值吗?还是重新采集了n个点,平均后输出一个点? ...

肯定是硬件采集n个点,然后这个n个点取平均之后输出一个点。
不是之前输出的点取的。输出的就是它硬件计算好的。
回复 支持 反对

使用道具 举报

该用户从未签到

32

主题

138

帖子

0

中级会员

Rank: 3Rank: 3

积分
390
最后登录
2017-12-29
 楼主| 发表于 2017-4-19 14:05:59 | 显示全部楼层
小恩GG 发表于 2017-4-19 13:56
肯定是硬件采集n个点,然后这个n个点取平均之后输出一个点。
不是之前输出的点取的。输出的就是它硬件计 ...

好的,谢谢肖恩前辈
回复 支持 反对

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24890
最后登录
2025-7-21
发表于 2017-4-19 14:12:24 | 显示全部楼层
胡孟龙 发表于 2017-4-19 14:05
好的,谢谢肖恩前辈

不客气,后续有问题,欢迎继续发帖交流。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-21 13:06 , Processed in 0.095660 second(s), 26 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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