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

2020-02-11 10:05发布

本帖最后由 bailao99 于 2015-7-13 06:19 编辑

测试环境: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之间
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
ayaqby
1楼-- · 2020-02-11 15:52
1V的PMC Bandgap精确度是多少呢?
FSL_TICS_ZP
2楼-- · 2020-02-11 18:38
楼主,请问你后面是否每隔1s对Bandgap进行过测试?
bailao99
3楼-- · 2020-02-11 18:54
 精彩回答 2  元偷偷看……
FSL_TICS_ZP
4楼-- · 2020-02-11 20:13
bailao99 发表于 2015-7-17 18:58
采样间隔是10ms,采集不准是所有的AD通道,开始约150次采集都不准

开始前150采集都不准的意思是采样结果有波动?
bailao99
5楼-- · 2020-02-12 01:27
FSL_TICS_ZP 发表于 2015-7-20 14:31
开始前150采集都不准的意思是采样结果有波动?

例如1V的 PMC bandgap,前150个AD转换结果为1020~1040mV,150个以后的都是1000mV
bailao99
6楼-- · 2020-02-12 05:18
FAE现在有空了,不知能否回答下为什么?在隔壁论坛得到回复是,上电后PMC bandgap会变化。真是很有意思的回复!温度不变PMC bandgap变化1%,开始1.5s会变,之后就不变了。其它AD应该也是如此。

一周热门 更多>