F2808 ADC 外部参考不能使用

chipsos   2009-12-2 07:45 楼主
要使用外部的REF3020 作为 F2808 ADC 的外部参考,但ADC ADCRESULTn 中得到的结果却是以3V为参考基准的。帮忙看看以下程序有何问题?

通过设置断点查看寄存器的位已设置成功。外部电路已按照手册的接法接好,ADCREFP接2.2uF,ADCREFM接2.2uF  ADCRESEXT接22K 都检查过。
作了个测试,当外部输入2.048v时,ADC的结果寄存器数值为2800左右(应为0xFFF 呀??)。

void InitAdc(void)
{
   extern void DSP28x_usDelay(Uint32 Count);

   AdcRegs.ADCREFSEL.bit.REF_SEL = 0x1;     // 1:选择外部参考, ADCREFIN = 2.048v
   
   AdcRegs.ADCTRL3.all = 0xE0;    // Power up bandgap/reference/ADC circuits
   DELAY_US(ADC_usDELAY);         // Delay before converting ADC channels

   AdcRegs.ADCTRL1.bit.ACQ_PS = 0x0F;      
   AdcRegs.ADCTRL3.bit.ADCCLKPS = 2;        
   AdcRegs.ADCTRL1.bit.CPS = 1;            
   
   AdcRegs.ADCTRL1.bit.SEQ_CASC = 1;        
   AdcRegs.ADCTRL3.bit.SMODE_SEL = 1;      
   AdcRegs.ADCTRL1.bit.CONT_RUN = 0;        
   
   AdcRegs.ADCMAXCONV.all = 0x0007;         
   AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x0;   
   AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 0x0;   
   AdcRegs.ADCCHSELSEQ1.bit.CONV02 = 0x1;   
   AdcRegs.ADCCHSELSEQ1.bit.CONV03 = 0x1;   

   AdcRegs.ADCCHSELSEQ2.bit.CONV04 = 0x2;   
   AdcRegs.ADCCHSELSEQ2.bit.CONV05 = 0x2;   
   AdcRegs.ADCCHSELSEQ2.bit.CONV06 = 0x4;   
   AdcRegs.ADCCHSELSEQ2.bit.CONV07 = 0x4;   

   AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 1;   
   AdcRegs.ADCTRL2.bit.INT_MOD_SEQ1 = 0;   
}

回复评论 (8)

卡住了,大家帮忙啊,应该有很多人用过F2808的。
点赞  2009-12-2 14:35
问题仍然存在,难道没有人用过?
我对此的理解是:
当选择3V基准时,若ad通道输入3V,结果应为0xFFF;
当选择2.048V基准时,若ad通道输入2.048V,结果应为0xFFF;
当选择1.5V基准时,若ad通道输入1.5V,结果应为0xFFF;
当选择1.024V基准时,若ad通道输入1.024V,结果应为0xFFF;
但是作了实验,好像不是那么回事。
点赞  2009-12-8 01:51
能否把你的原理图及其测试程序发到我的邮箱看看。
haierdzl@126.com
点赞  2009-12-10 14:26
个人理解是
当使用外部基准是,0XFFF对应的电压值仍为3V
点赞  2009-12-13 08:41
当选择2.048V基准时,ad通道输入电压范围是多少能超过2.048V吗?
点赞  2011-7-13 22:12
当选择2.048V基准时,结果应为2.048/3*0xFFF;
点赞  2011-7-20 15:55

回复 楼主 chipsos 的帖子

2808的数据结果是以3V为最大值的,并不是跟随电压基准浮动;
另外在Piccolo系列里面,增加了ADC的转换模式,可以实现变比的转换,也就是你需要的模式,ADC的最大值以外部基准为最大值。
点赞  2011-7-25 12:08
学习了。
工程 = 数学+物理+经济
点赞  2011-8-29 16:26
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复