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.

ADC reading constant value despite sine wave as input

Part Number: TMS320F28P659DK-Q1

Tool/software:

Hello TI Experts,

I’m facing an issue with ADC readings on a custom board based on the TMS320F28P650DK8-Q1 and DRV8343S-Q1 gate driver.  we are using single_axis_servo_drive_fcl_qep_f28p65x project for reference.

Setup Overview:

  • ADC resolution: 12-bit (3.3V reference)

  • VREFHI & VDDA = 3.3V 

  • VREFLO = GND

  • CSA Gain = 20 V/V

  • Shunt Resistor: 5 mΩ

  • ADC Sampling Frequency: 20 kHz

  • Signal Type: PWM-triggered CSA output (AC current sine, ~0.5 V to 3.0 V swing)

  • Input signal confirmed on the ADC pin using an oscilloscope.

NOTE : We are giving ADC Vref as external and is 3.3V.  will that create any issue. i was able to read V bus voltage with this existing config.

Issue:

  • ADC always reads a value near 2048, regardless of actual input signal level.

  • The same firmware works perfectly on the TI Eval Kit (LAUNCH-XL-F28P65x & DRV8343S EVB), where everything works fine.

  • On the custom board, SOC triggering is confirmed, signal on the ADC pin is swinging, but ADCRESULT0 remains constant (~2048).

Could there be any additional hardware-level issue, missing initialization, or ADC clock/trigger setup difference between Eval Kit and custom board that could cause this?

Is it possible that the ADC is not sampling despite SOC triggering due to clocking or errant state?

Any suggestions for further debugging or hardware-level checks would be highly appreciated.

Thanks & regards