TMS320F28377D: ADC resolution and pin configuration

Part Number: TMS320F28377D

Tool/software:

in the datasheet,ADC features as bellow:Differential signal conversions (16-bit mode only)• Single-ended signal conversions (12-bit mode only)• Input multiplexer with up to 16 channels (single-ended) or 8 channels (differential)

i want to know in differential mode,which channel is adcin-p and which is the adcin-n?what will happen if i congifure the adc as 16bit mode and single-ended?

  • Hello,

    16-bit resolution is only supported for differential signal conversion. Regarding pin selection, you can refer to the following table in the TRM:



    Best Regards,

    Masoud

  • Thanks for you reply.

    i have another question.if i config the adc to 16bit-single,the data will be 16bit but valid data is the high 12bit?as bellow

    void ConfigureADC(void)
    {
    EALLOW;

    //
    //write configurations
    //
    AdcaRegs.ADCCTL2.bit.PRESCALE = 6; //set ADCCLK divider to /4
    AdccRegs.ADCCTL2.bit.PRESCALE = 6; //set ADCCLK divider to /4
    // AdcbRegs.ADCCTL2.bit.PRESCALE = 6; //set ADCCLK divider to /4

    AdcSetMode(ADC_ADCA, ADC_RESOLUTION_16BIT, ADC_SIGNALMODE_SINGLE);
    AdcSetMode(ADC_ADCC, ADC_RESOLUTION_16BIT, ADC_SIGNALMODE_SINGLE);
    // AdcSetMode(ADC_ADCB, ADC_RESOLUTION_16BIT, ADC_SIGNALMODE_SINGLE);

    //
    //Set pulse positions to late
    //
    AdcaRegs.ADCCTL1.bit.INTPULSEPOS = 1;
    AdccRegs.ADCCTL1.bit.INTPULSEPOS = 1;
    // AdcbRegs.ADCCTL1.bit.INTPULSEPOS = 1;

    //
    //power up the ADC
    //
    AdcaRegs.ADCCTL1.bit.ADCPWDNZ = 1;
    AdccRegs.ADCCTL1.bit.ADCPWDNZ = 1;
    // AdcbRegs.ADCCTL1.bit.ADCPWDNZ = 1;

    //
    //delay for 1ms to allow ADC time to power up
    //
    DELAY_US(1000);

    EDIS;
    }

    thanks.

  • Hello,

    When you configure the ADC in 16-bit resolution, the result is returned in a 16-bit register, and all 16 bits are valid — not just the high 12 bits.

    Best Regards,

    Masoud