查看: 5614|回复: 24

[求助] K22 16位分辨率AD采集结果不准

[复制链接]

该用户从未签到

4

主题

29

帖子

0

注册会员

Rank: 2

积分
150
最后登录
2019-11-7
发表于 2015-8-3 16:21:54 | 显示全部楼层 |阅读模式
测试环境:FDRM-K22,MDKV5.13,KSDKV1.1
测试流程:
1、初始化做了ADC Calibration
2、单端采样代码如下:不管是否设置成高速采样,结果都是错误
  ADC16_DRV_StructInitUserConfigDefault(&adcUserConfig);
  adcUserConfig.intEnable = true;
  adcUserConfig.resolutionMode = kAdcResolutionBitOf16;
  adcUserConfig.hwTriggerEnable = true;
  adcUserConfig.continuousConvEnable = false;
//  adcUserConfig.highSpeedEnable = true;
  adcUserConfig.highSpeedEnable = false;
  ADC16_DRV_Init(instance, &adcUserConfig);

  ADC_InstallCallback(instance, 0U, callbackFunc);
   
  adcChnConfig.chnNum = chnNum;
  adcChnConfig.diffEnable = false;
  adcChnConfig.intEnable = true;
  adcChnConfig.chnMux = chnMux;
  ADC16_DRV_ConfigConvChn(instance, 0U, &adcChnConfig);
3、ADC中断中,使用
ADC16_DRV_GetConvValueRAW(0, 0);得到结果,连续采样32次求平均
4、测试结果:对1V的PMC Bandgap进行采集,电源电压3.3V。第一次平均值在1020~1060mV之间,隔1s后再次求平均,第二次以后的结果在1000~1001mV之间
在初始化中ADC Calibration延时无效果

请教,如何保证第一次求平均值就得到结果在1000~1001mV之间


例如1V的 PMC bandgap,前150个AD转换结果为1020~1040mV,150个以后的都是1000mV
我知道答案 目前已有24人回答

评分

参与人数 1NXP金币 +10 收起 理由
小七 + 10 打赏!

查看全部评分

回复

使用道具 举报

  • TA的每日心情
    擦汗
    2022-3-3 09:56
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    106

    主题

    836

    帖子

    4

    金牌会员

    Rank: 6Rank: 6

    积分
    1527
    最后登录
    2023-6-12
    发表于 2015-8-3 16:31:12 | 显示全部楼层
    要把每一次取的值丢弃吧。

    233r ew.PNG
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    63

    主题

    263

    帖子

    0

    高级会员

    Rank: 4

    积分
    921
    最后登录
    2021-2-23
    发表于 2015-8-3 16:51:11 | 显示全部楼层
    把32位硬件平均打开,效果绝对就会好了。
    我在你的初始化没看到有使能这个,SDK我不熟,你找一找在哪打开。以前在非SDK的项目,我试过,把这个打开就好了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    连续签到: 1 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    16715
    最后登录
    1970-1-1
    发表于 2015-8-3 23:01:04 | 显示全部楼层
    学习了!
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2017-5-9 08:12
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    34

    主题

    801

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2368
    最后登录
    2021-8-11
    发表于 2015-8-4 08:59:41 | 显示全部楼层
    启动硬件平均功能可以降低ADC浮动
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4

    主题

    29

    帖子

    0

    注册会员

    Rank: 2

    积分
    150
    最后登录
    2019-11-7
     楼主| 发表于 2015-8-4 11:08:21 | 显示全部楼层
    huiyao 发表于 2015-8-3 16:51
    把32位硬件平均打开,效果绝对就会好了。
    我在你的初始化没看到有使能这个,SDK我不熟,你找一找在哪打开。 ...

    现在AD采集速度为125K,硬件32次平均,是否需要将采集速度改为125K*32=4000K?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4

    主题

    29

    帖子

    0

    注册会员

    Rank: 2

    积分
    150
    最后登录
    2019-11-7
     楼主| 发表于 2015-8-4 11:08:47 | 显示全部楼层
    modou0 发表于 2015-8-4 08:59
    启动硬件平均功能可以降低ADC浮动

    谢谢您分享宝贵经验!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4

    主题

    29

    帖子

    0

    注册会员

    Rank: 2

    积分
    150
    最后登录
    2019-11-7
     楼主| 发表于 2015-8-4 11:13:16 | 显示全部楼层
    jinyi7016 发表于 2015-8-3 16:31
    要把每一次取的值丢弃吧。

    不明白“把每一次取的值丢弃”,现实是前150个值丢弃就行
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2022-3-3 09:56
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    106

    主题

    836

    帖子

    4

    金牌会员

    Rank: 6Rank: 6

    积分
    1527
    最后登录
    2023-6-12
    发表于 2015-8-4 11:46:12 | 显示全部楼层
    笑对人生-2015164 发表于 2015-8-4 11:13
    不明白“把每一次取的值丢弃”,现实是前150个值丢弃就行

    写错了,是“第一次”,前150次的都不对么?AD的稳写时间是多少囝?
    233r ew.PNG
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4

    主题

    29

    帖子

    0

    注册会员

    Rank: 2

    积分
    150
    最后登录
    2019-11-7
     楼主| 发表于 2015-8-4 13:42:19 | 显示全部楼层
    jinyi7016 发表于 2015-8-4 11:46
    写错了,是“第一次”,前150次的都不对么?AD的稳写时间是多少囝?

    与AD采样频率无关,也就是采样频率100Hz和125KHz,都是前150个采集结果不准

    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-28 12:17 , Processed in 0.108812 second(s), 31 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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