MSP430 ADC bits menos significativos siempre 1

2

Tengo un MSP430F2618 con construido en ADC de 12 bits, pero por alguna razón, los valores que devuelve siempre terminan con los 2 bits menos significativos establecidos en 1, excepto cuando se pone a cero. En otras palabras, los recuentos siempre tienen la forma 0x ## 3, 0x ## 7, 0x ## B o 0x ## F. ¿Me estoy perdiendo algo en mi inicialización que mágicamente convierte mi ADC de 12 bits en un 10 bits? ¿Podría haber alguna tensión transitoria que siempre sature el circuito de muestreo para los bits menos significativos? ¿Alguna sugerencia?

  P6SEL |= 0x01;                            // P6.0,P6.1-ADC option select
  ADC12CTL0 = SHT0_8 + ADC12ON + MSC;       // Set sampling time, turn on ADC12 (256 ADC12CLK cycles, ADCON, Multiple sample and conversion)
  ADC12CTL1 = SHP + CONSEQ_1;                 // Use sampling timer (SAMPCON signal is sourced from the sampling timer, Sequence-of-channels conversion sequence mode)
  ADC12MCTL0 = SREF_6 + INCH_0 + EOS;             //inch (Input channel) assigns channel to this memory location, (Reference: VR+ =VeREF+ and VR- = VREF-), end of sequence
  ADC12IE = 0x01;                           // Enable interrupt
  ADC12CTL0 |= ENC;                         // Conversion enabled
    
pregunta CodeFusionMobile

1 respuesta

3

Oli tenía razón. No tenía límites en mi VRef y el suministro no pudo generar 200uA de corriente transitoria para los últimos 2 bits de conversión.

Añadir 10uF a través de VRef + y VRef- solucionó el problema.

    
respondido por el CodeFusionMobile

Lea otras preguntas en las etiquetas