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.

MSP430FR6922: [Urgent] Communication failure during TTL communication

Part Number: MSP430FR6922

Hello.

This is CNTech Electronics.

I received technical support regarding this issue previously.

I'm experiencing ongoing communication issues, so I'd like to contact you again for further assistance.

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1502946/msp430fr6922-urgent-uart-communication-freeze-on-msp430fr6922-in-water-meter-mass-production

 

20251205_TI_Total Register.xlsx 

I've captured the full text of the registers that are dead.

Please identify which registers are dead.

If you're curious about the conditions or initial settings that cause the problematic registers, please let me know which initial values ​​I can provide.

As this is an urgent matter, I request your prompt action.

Thank you.

  • Hi Seo,

    Let me check your register value then give you feedback tomorrow.

    Thanks!

    Best Regards

    Johnson

  • Hello.

    For easier analysis, I'm sending you the data comparing the registers of the normal and defective samples.

    Also, is there a separate command to reset the entire communication?

    I plan to reset the communication if I detect that communication has been interrupted for a certain period of time.

    20251204_TI_Compare all registers.xlsx

  • Good morning.
    Thank you for your interest in our technical inquiry.

    The registry information for the communication failure sample has been added.
    Please check it.

  • Hello.

    I've uploaded samples of both successful and failed communication, organized by register.

    Please check the details.

    Thank you.

  • CSTCL5:LFXTOFFG (and SFRIFG1:OFIFG) is set, indicating that the LFXT (32kHz crystal oscillator) has stopped. This would cause ACLK (which clocks UCA0) to switch to LFMODCLK, which is simply MODOSC/128. MODOSC is specified at +/-12.5%, which would probably prevent UART communication.

    It is possible to catch this condition via NMI [Ref User Guide (SLAU367P) Sec 3.2.8]. I expect restarting the LFXT would involve clearing then setting PJSELx.4/.5.

    It looks like CSCTL4:LFXTDRIVE=3 already. You might try shielding the (external) crystal circuit.

    [Edit: Example msp430fr6x7x_cs_03.c (here) shows how to use OFIE+NMI. It seems to suppose that the LFXT will restart by itself, and so doesn't do any recovery.]

  • Hello.

    I have another question.

    With the LFXTOFFG setting you mentioned, will the LCD turn off when LFXT stops?

    I'm currently experiencing a problem where the LCD turns off.

    Please check if this issue could be caused by the same reason.

    Thank you.

  • For the LCD is sourced from ACLK and the ACLK is sourced from LFXT , right?

    If so, you can also measure the signal cross LFXIN and LFXOUT to see if any 32k frequency sin wave exist with oscilloscope when the issue happen to see if the crystal failed. 

  • Hello.

    The crystal-related issue has been resolved to some extent, and the communication freeze issue has been eliminated.

    However, when connecting a TTL communication line, reversing the GND <-> RX pins and attempting communication with the TX pin properly connected, the power supply resets.

    What conditions can cause this issue, and is it also causing the LCD to freeze?

    I tried to read the register of the sample, but I got an error.

    Console : "MSP430 : Trouble Halting Target CPU: Internal error"

    Is there a connection between the LCD turning off and the inability to read the register?

    If so, what are the solutions?

    Please check.

  • Hello.

    The crystal-related issue has been resolved to some extent, and the communication freeze issue has been eliminated.

    However, when connecting a TTL communication line, reversing the GND <-> RX pins and attempting communication with the TX pin properly connected, the power supply resets.

    What conditions can cause this issue, and is it also causing the LCD to freeze?

    I tried to read the sample registers, but I got the error shown in the photo.

    Is the LCD turning off and the register reading issue related?

    If so, what is the solution?

    Please check.

  • However, when connecting a TTL communication line, reversing the GND <-> RX pins and attempting communication with the TX pin properly connected, the power supply resets.

    Could you help to provide more details about the hardware connection here? I am not clear about what's the hardware connection it is on your side. And could you provide more details how do you get the error step by step will be better. 

  • Let me explain the hardware connection in more detail.

    Currently, the MCU has pin TX64, pin RX1, and GND.

    I connected the RX <-> TX, TX<->RX, and GND<->GND with the device I'm communicating with, and communication worked fine.

    Here, I connected pin 64 of the MCU to the device's RX normally, connected pin 1 of the MCU to the device's GND, and then connected the MCU's GND to the device's TX. However, when I attempted to communicate, the MCU died.

    So far, I've confirmed that the MCU draws up to 3mA of current before it dies.

    Is there a firmware or hardware way to prevent this?

  • Hi Seo,

    Sorry I am still confusing about the hardware setup.

    pin TX64, pin RX1

    What's your mean of the pin of TX64 and RX1?

    What's the next side? A UART to USB converter?

    What 's the power supply of the FR6922 and what's power voltage it is?

  • In a UART connection, the TX side drives the wire high (almost) all the time. If you connect the TX side to GND, that source will dump as much current as it can provide into the GND plane. If you're lucky, it will cause the source to reset or shut down (protection circuit); if not, it could cause its TX pin to overheat and burn out.

    So connecting the MCU's RX wire to GND will tax whatever is at the other end of the wire and could (as you reported) cause its power supply to shut down.

    It's not clear to me what you're trying to accomplish by doing this. If you don't want the MCU to hear what's on its RX, you can just disconnect it -- either physically (hardware) or by setting its PSEL=0 and DIR=0 (software).

**Attention** This is a public forum