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.

MSP430F6726 ADC10 problem

I built a first-run of boards (qty 10) using the MSP430F6726IPN (TQFP80 package). Everything went well, so I ordered more panels and started assembly. The first run was 18 boards (I believe in testing as I ramp up production). Sure enough, I have an issue with the current batch of 18 boards regarding the ADC10. Using the same firmware and PCB layout, the new board's ADC10 always returns "0x0000" for all channels. The only difference is the MSP430 lot numbers. The working MSP430s are "24CRK2T(G4)" and the non-working ones are "55C6D3T(G4)". Has anything changed between these two runs? They both show "Rev A".

I have read the errata for this processor for which there are 2 issues listed with the ADC10, but neither of those apply to my current problem.

Any ideas?

Thanks in advance.

  • Jim,
    I would recommend trying to isolate the MSP430 as the issue. Are you in a position to 'swap' ICs between good and bad boards to see if the problem stays with the IC or the PCB? Additionally, can you remove the IC and put on a target board or other known good platform and run simple code examples to verify the IC is ok?

    Regards,
    Chris
  • I replaced the non-working "55C6D3T(G4)" with a completely different date code part "3BC429T(G4)". This part is older, but not as old as the original "24CRK2T(G4)". Unfortunately the ADC10 didn't work at first. I have been running the core voltage at it's minimum, so I bump it up to it's maximum (1.9V) and the "3BC429T(G4)" part's ADC10 started working. The "55C6D3T(G4)" part's ADC10 still does not work even with the core voltage set at max. 

     I don't understand how I can be the only one having this issue if it is a problem with the part. Is anybody else using a new-ish MSP430F672x and the ADC10?

    Thanks,
    Jim

  • Jim,
    Do you think that you are running the device out of spec? Can you send the code and/or configuration of the system? I will reach out to the quality team and request their feedback regarding returns for this part.

    Regards,
    Chris
  • Finally making some headway.

    I did as you suggested and created a bare-bones program. The ADC10 works on the newer IC. I'm now in the slow process of adding modules back to see what is effecting the ADC10 on the newer chip. I noticed the TLV info has changed on the newer part. The cal value for the ADC10 is now returning a negative number close to -1.0. For now I will comment out the TLV part. I'll let you know what I find.

    Thanks,
    Jim
  • The problem is resolved.
    The solution:
    1) Increasing Vcore from minimum to maximum voltage.
    2) TLV returning ~ -1.0 for cal. The values I expect can never go negative and thus get clipped at 0, so for now I just stopped using TLV data.
    3) Timing changed such that two function calls now required "__monitor", which suspends interrupts for the function.

    I didn't expect numbers 1 & 2, but number 3 was my bad (should have known better).
    Thanks for being patient with me and for suggesting what I knew I should do, just didn't want to ;)

    Jim
  • Thanks Jim. Really appreciate the follow-up and conclusion.

    Best Regards,
    Chris

**Attention** This is a public forum