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.

TMS320F28335: ADC register could not be written rightly

Part Number: TMS320F28335

Hi Expert,

Customer met a problem that the ADCTRL3 content should be written as 0x00E7, however after run through the configuration code,

  1. The AdcRegs.ADCTRL3.all =  0x0007. 
  2. ADC unit could not power up.
  3. There are 50% boards existing this kind of issue.
  4. Customer configured the ADCENCLK = 1 & ADC_cal() twice as the code in F28335 ADC example. If delete one of the "SysCtrlRegs.PCLKCR0.bit.ADCENCLK =1", the issue is solved. 

The CPU core voltage is 1.9V and ADC reference voltage is 2.048V.

Could you give some advice on the issue or what we should do to debug it? Thanks!

The ADC configuration codes.

The ADC power circuit.

The CPU core(channel 1) and ADC reference voltage(channel 2)  power up waves.

Best Regards

Rayna Wang

  • Rayna,

    At the moment, I do not think that it is a board-level issue. Do note that the ADC_cal() function only needs to be executed once. If it is executed more than once in an example, it is not done intentionally.

    It should be straightforward to set a breakpoint during ADC initialization and single-step through the sequence while monitoring the ADC register values to see where things break.

    -Tommy

  • Hi Tommy,

    Thanks for your suggestion! I'll update once get the test results.

    Best Regards

    Rayna Wang

  • Hi Tommy,

    After update the compiler from TI v18.1.4 to a newer, the issue disappears. However, when come back to TI v18.1.4, the issue could not recurrent.

    It's really strange, and customer wonder if the new version compiler solves this problem, and what they could do to make sure the software is stable during the production stage.

    Thanks!

    Best Regards

    -Rayna

  • Rayna,

    It sounds like we are not able to confirm that the compiler is the root-cause of the problem. Compiler issues are expected to be repeatable. Without root-cause identification, we cannot provide any guidance with confidence.

    As a best practice, I would recommend starting development using the newest LTS compiler available and accepting defect repair updates when they are  released.

    -Tommy