已回答假定已回答

ADUC7060 内部Primary ADC参考电压问题

cherryljl 在 2012-12-26 詢問的問題
最後回覆由wangmigooo於2013-1-20提供

ADuC7060内部集成了两个24位的独立AD模块,Datasheet上写的AD的参考电压可以使用AVDD,但是我实验电路的接线如下:AVDD=2.5V,REF+=2.5V,REF-=AGND,ADC0=GND,ADC1=1.24V(两个等值电阻通过AVDD到地分压得到),ADCON寄存器内的HIGHEXTREF0 和ADC0REF[1:0]都已经考虑了参考电压大于1.35V的情况,ADC0REF[1:0]设置成01或者11,即REF+,REF-作为参考电压或者AVDD和AGND作为参考电压,系统都不能够输入大于1.25V的电压。使用的初始化程序如下:

ADC0初始化程序:

ADCMSKI = BIT0; // Enable ADC0 result ready interrupt source

ADCFLT = 0x7; // Chop off, 1Khz samping rate, SF = 7. No averaging

ADCMDE = BIT0  +   //Continuous Conversion mode,

                     BIT7;       // Normal mode, 4Mhz clock source  to ADC.

ADC0CON =  BIT4 +             //extern reference inputs (REF+,REF-)

                        BIT6 +

                        BIT10 +   // Unipolar ADC output

                        BIT12+              //extern reference exceed 1.35V

                        BIT15;  // Gain = 1, Buffer on. Also, Int reference,

       

ADCCFG = 0;

IRQEN = BIT10;   //open ADC irq interupt

IRQ中断程序:

__irq __arm void IRQ_Handler(void)

{

  unsigned long IRQSTATUS="0";

 

  IRQSTATUS =  IRQSTA;

  if((IRQSTATUS & BIT10) == BIT10)

  {

    ulADC0Result = ADC0DAT;

  }

}

ADC0转换结果是:ulADC0Result = 0x00F56F08;接近满量参考电压2.5V对应的电压值,但是我的输入电压是1.24V。

我的问题是:是否ADuC7060的最高参考电压并不能做到2.5V或者ADC存在问题,再或者我的程序有问题?如果ADuC7060的最高参考电压可以做到2.5V,应如何设置?

結果