This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS/TMS320F28377S: C2000 32-bit Microcontrollers Forum

Part Number: TMS320F28377S
Other Parts Discussed in Thread: OPA320, OPA350

Tool/software: Code Composer Studio

Hi everyone!

I am using TI's micom, TMS320F377S to read analog voltage using internal ADC with following environment

   - 12 bit resolution

   - 200 MHz internal clock

At low voltage range (eg. from 0.4 to 0.6), converted voltage integers are accurate

The measured accuracy is near to 1 LSB ( = 3.3V/4096 = 0.8 mV).

But, at high voltage range (eg. from 3 to 3.2), converted voltage integers are not not accurate.

The measured accuracy is near to 25 LSB ( = 20 mV).

Would you let me know to achieve high accuracy in high voltage range?

Thanks. Best Regards

  • Hi YoungHwan,

    Based on your description, seems like you are seeing linearity issues,  The TMS320F28377S integral non linearity across the range of 0-3.3v (with VREFHI of 3.3V) is +/-2 LSB.  To get an idea on what may be causing the error you are seeing near the full scale range, can you verify the following:

    - What is the measured voltage across VREFHI and VREFLO of the device (you might want to use a high resolution voltmeter that can display up to five digits).  Can you also measure the sampled signal with a high resolution voltmeter?

    - Is there a capacitor between VREHI and VREFLO, if so what is the value?

    - Is there a capacitor in the ADC input pin where you are sampling the voltage?

    - What is the speed of the ADC configured to and what ACQPS (sampling time) is used?

    Thanks,

    Joseph

  • Hi Joseph.

    I improved linearity by referencing your mail. I really appreciate your guide.

    - What is the measured voltage across VREFHI and VREFLO of the device (you might want to use a high resolution voltmeter that can display up to five digits).  Can you also measure the sampled signal with a high resolution voltmeter?

    [YoungHwan] I did not measured the voltage.

    - Is there a capacitor between VREHI and VREFLO, if so what is the value?

    [YoungHwan] I do not used a capacitors. But I added 100 nF capacitors between VREFHI/VREFLO and GND after reading your guidance. Then I achieved dramatic improvement in linearity. For your convenience, I attach pdf showing the improvement.

    - Is there a capacitor in the ADC input pin where you are sampling the voltage?

    [YoungHwan] I am using ADC input low pass filter. I have also tested without ADC input filter, but its result showed poor linearity at similar level to case without decoupling capacitors.

    I’ve read TMS320F28377S reference manual recommending serial connected RC between VREFHI / VREFLO and GND. Would you let me know best value of R and C in your experience?

    - What is the speed of the ADC configured to and what ACQPS (sampling time) is used?

    [YoungHwan] Sorry I cannot check ADC configuration. That is role of FW engineer in other company.Improve ADC linearity.pdf

  • Hi YUoungHwan,

    Based from your experiment with VREFHI filter capacitor, it looks like you do not have sufficient capacitance on the reference pin.  Depending on your board design and constraints and the accuracy that your application needs, there are several options you can take.  For typical applications, we usually recommend the use of precision voltage reference ICs  (e.g.. REF34xx and REF50xx) that has a 2.2uF filter capacitor to supply the VREFHI pin but for high accuracy application needs we recommend adding a buffer after the precision voltage reference IC.  The buffer is a unity gain amplifier configuration and what we found best to work with the TMS320F28377 is the OPA320/OPA350 amplifiers.  If the op amp buffer is used, we recommend using an RC VREFHI filter of 0.5ohm in series with a 2.2uF which is placed as close to the VREFHI pin as possible.

    As for the RC network on the ADC input, there is a section in the user manual (section 10.3.2) which discusses the relation of ADC configuration (specifically ACQPS and SYSCLK) that determines the optimum ACQPS (sampling time) depending on the ADC input impedance values.  You might want to check with your FW engineer to get these values.  From the waveforms you sent, it looks like the ACQPS value needs to be optimized.

    Best regards,

    Joseph

  • Hi Joseph.
    I really appreciate your help.
    Thanks Best Regards.