打印

AD采集的值怎么都在变化?

[复制链接]
3170|28
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
thf2008|  楼主 | 2009-8-17 10:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
linhai2009| | 2009-8-17 10:25 | 只看该作者
只要相差不是太大,我觉得应该是外部模拟量不稳定的问题

使用特权

评论回复
板凳
dewlife| | 2009-8-17 16:21 | 只看该作者
肯定会有些波动

使用特权

评论回复
地板
thf2008|  楼主 | 2009-8-18 12:16 | 只看该作者
我测得是稳定的核心电压1.8V,是不是设置不对?

使用特权

评论回复
5
thf2008|  楼主 | 2009-8-18 12:17 | 只看该作者
我的AD初始化程序如下:
void InitAdc(void)
{
        unsigned int i;
        
        

        
        AdcRegs.ADCTRL1.bit.RESET=1;
        NOP;
        AdcRegs.ADCTRL1.bit.RESET=0;
        AdcRegs.ADCTRL1.bit.SUSMOD=3;
        AdcRegs.ADCTRL1.bit.ACQ_PS=0;
        AdcRegs.ADCTRL1.bit.CPS=0;
        AdcRegs.ADCTRL1.bit.CONT_RUN=0;
        AdcRegs.ADCTRL1.bit.SEQ_CASC=1;
        
        AdcRegs.ADCTRL3.bit.ADCBGRFDN=3;
        for(i=0;i<10000;i++)        NOP;
        AdcRegs.ADCTRL3.bit.ADCPWDN=1;
        for(i=0;i<5000;i++)        NOP;
        AdcRegs.ADCTRL3.bit.ADCCLKPS=15;
        AdcRegs.ADCTRL3.bit.SMODE_SEL=1;
        
//        AdcRegs.MAX_CONV.bit.MAX_CONV=15;
    AdcRegs.ADCMAXCONV.all=0x0001;
        AdcRegs.ADCCHSELSEQ1.bit.CONV00=0;
        AdcRegs.ADCCHSELSEQ1.bit.CONV01=0;

        
//        AdcRegs.ADC_ST_FLAG.bit.INT_SEQ1_CLR=1;
//        AdcRegs.ADC_ST_FLAG.bit.INT_SEQ2_CLR=1;        
        
        AdcRegs.ADCTRL2.bit.EVB_SOC_SEQ=0;
        AdcRegs.ADCTRL2.bit.RST_SEQ1=0;
        AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1=1;
        AdcRegs.ADCTRL2.bit.INT_MOD_SEQ1=0;
        AdcRegs.ADCTRL2.bit.EVA_SOC_SEQ1=0;
        AdcRegs.ADCTRL2.bit.EXT_SOC_SEQ1=0;
        AdcRegs.ADCTRL2.bit.RST_SEQ2=0;
        AdcRegs.ADCTRL2.bit.SOC_SEQ2=0;
        AdcRegs.ADCTRL2.bit.INT_ENA_SEQ2=0;
        AdcRegs.ADCTRL2.bit.INT_MOD_SEQ2=0;
        AdcRegs.ADCTRL2.bit.EVB_SOC_SEQ2=0;
        AdcRegs.ADCTRL2.bit.SOC_SEQ1=1;
        
        
        
        
}

使用特权

评论回复
6
linhai2009| | 2009-8-18 16:20 | 只看该作者
相差有多大?

使用特权

评论回复
7
shuizhongyu| | 2009-8-18 19:08 | 只看该作者
造成采集值变化一般为几个方面,基准电压不稳,或者频繁切换通道,另一重要的单片机要选择一个稳定的时钟信号

使用特权

评论回复
8
thf2008|  楼主 | 2009-8-21 20:46 | 只看该作者
没有频繁切换频道,你指的基准电压是指哪个?1.8V吗?

使用特权

评论回复
9
thf2008|  楼主 | 2009-8-23 13:14 | 只看该作者
回复六楼的:简直就是乱码,不过有数据显示!

使用特权

评论回复
10
linhai2009| | 2009-8-23 13:31 | 只看该作者
你直接将输入引脚接地,看看得到的数值是多少?你可能没有校准吧

使用特权

评论回复
11
sinadz| | 2009-8-23 18:22 | 只看该作者
应该是你外部模拟量在不断变化,是正常的,你可以用软件处理一下,取平均值,估计会稳定点

使用特权

评论回复
12
thf2008|  楼主 | 2009-8-24 10:38 | 只看该作者
是这样的,当我输入为了零的时候,数据很准确没有变化,只要不是零数据总是在变化,而且我再内部用了16次滤波处理!

使用特权

评论回复
13
thf2008|  楼主 | 2009-8-24 10:38 | 只看该作者
如果我把输入端接地的话采集的数据就不在变化拉!

使用特权

评论回复
14
linhai2009| | 2009-8-24 11:18 | 只看该作者
你接的是一个稳压源??

使用特权

评论回复
15
thf2008|  楼主 | 2009-8-25 08:35 | 只看该作者
我接的是另一块板子的电源,那个板子也是采集卡,那个采集卡可以采集到1.8的数据!我觉得是软件有问题,哪里有好的AD初始化程序?

使用特权

评论回复
16
linhai2009| | 2009-8-25 09:18 | 只看该作者
你确定那个板子的电源稳定吗?

使用特权

评论回复
17
jettlau| | 2009-8-27 18:03 | 只看该作者
肯定会有些波动

使用特权

评论回复
18
thf2008|  楼主 | 2009-8-30 09:29 | 只看该作者
那个板子的电源是这个板子提供的,是稳定的

使用特权

评论回复
19
linhai2009| | 2009-8-30 11:42 | 只看该作者
你采集的就是DSP坐在的板子上的1.8V稳压电源??

使用特权

评论回复
20
thf2008|  楼主 | 2009-8-31 12:57 | 只看该作者
是通过运放处理后的1.8的信号!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

221

主题

2024

帖子

2

粉丝