TMS320F28379D: Consultation on ADC Sampling Error

Part Number: TMS320F28379D
Other Parts Discussed in Thread: C2000WARE

Tool/software:

I need to perform fault diagnosis on the motor now and require a highly accurate current value. The zero position voltage measured by the current sensor is very stable, but after entering the ADC module of the f28379d, the measured current error is very large. The measured current has an error of about ±1A, that is, there is an error of 30/4096 during ADC sampling, which cannot meet the requirements of my fault diagnosis. May I ask if this is a problem with the chip or the development board?

  • Hello,

    ±1 A (=30/4096 codes around 20–25 mV at the ADC pin) is much larger than the normal noise/offset you should see on F28379D, so this points to configuration, front-end, or reference/grounding, not a bad chip.

    The device’s factory calibration must run after reset. In C2000Ware projects this is done for you, but if you have your own start-up code, call the device-cal API before enabling the ADCs. If using internal VREF, place the recommended caps close to VREFHI/VSSA. Other thing to check is sync the sampling. Current measurements in motor drives must be taken in a “quiet” point in the PWM period (mid-S1 on-time etc.). Trigger the SOC from ePWM SOCA and place the sample away from switching edges. In the layout, keep the current-sense routing differential (or tight Kelvin to shunt), short, and away from high-dv/dt nodes.

    If you can share a few details, I can be more precise: 

    - sensor type and its output-to-current scale (mV/A), your ADC VREF scheme and ACQPS/ADCCLK settings.

    - whether the device-cal routine is executed at boot.

    - short the ADC channel to VSSA at the header then log 4096 samples and compute mean/std-dev. You should see a few LSBs of jitter, not around 30.

    Best Regards,

    Masoud