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.

TMS320F28386D-Q1: TMS320F28386 – Incorrect Readings Only on ADCA Channels, Others Work Fine (Same Reference, Same Settings)

Part Number: TMS320F28386D-Q1
Other Parts Discussed in Thread: C2000WARE

Tool/software:

Hello,

We are using all the ADCs on the TMS320F28386 processor. ADCB, ADCC, and ADCD are working correctly and reading the voltages accurately. However, the channels of ADCA are reading incorrectly.

* **ADCAIN0** reads **50 mV higher** than the actual value.
* **ADCAIN1** reads **130 mV lower** than the actual value.
* All ADCs are supplied with the same **3 V reference voltage** from a reference IC.

Since **ADCIN14 and ADCIN15** are shared channels, I tested them using ADCA, ADCB, and ADCC. Both ADCB and ADCC read the correct values, but ADCA still reads them incorrectly.

I tried **disabling the clocks** for ADCB, ADCC, and ADCD, but the issue persisted.
I also tested with and without calling the `ADC_cal()` function, but there was no change.
I used the **C2000Ware adc_soc_epwm** example project, but still couldn't find a solution.
We are using **16-bit resolution**, and the **ACQPS** settings are correct — the same settings are used across all ADCs.

Could the processor itself be defective?
Is it possible that there's an issue with the ADC trim settings?
Do you have any other suggestions for things I can check?

Thanks

  • Hi Hasan,

    The fact that only ADCA is misbehaving (while ADCB, ADCC, ADCD all behave correctly, even on shared channels) indicates that the issue is local to the ADCA block.

    I suggest reapply or reload ADCA’s factory trim / calibration values. Double-check that ADC_cal() (or equivalent) is indeed affecting ADCA’s trim registers properly. Also, please run a DC test, feed a low-impedance, stable voltage to ADCA, and sweep voltage. See whether the error is constant (offset) or proportional (gain).

    Inspect the analog front-end / layout: check for any unique resistors, protection diodes, routing, or leakage paths on ADCA input pins. Check ground return and trace layout. Please check the reference routing / decoupling path from the reference IC to ADCA; ensure the voltage seen locally at ADCA is truly the reference voltage.

    If possible, test using a fresh (identical) chip / board to see if ADCA still misbehaves; that helps determine if the chip is defective.

    Best Regards,

    Masoud