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.

TM4C1237H6PZ: Microcontroller Stuck on Reset

Part Number: TM4C1237H6PZ

Hi,

My controller which was working perfectly fine, has got stuck on reset after a power outage. I am able to program the controller using JTAG programmer but do not see any response from the controller. I checked my reset button mechanism, and I am getting +3.3V on the !RST pin.

Similar thing has happened previously, but that occurrence was after a power-cycle of the controller. Any suggestions as to what might be going wrong?

  • My controller which was working perfectly fine, has got stuck on reset after a power outage.

    I think it will be hard to know what actually happened when you had a power outage since this is an unexpected event. I don't know if you had a chance to record the power supply to the MCU when the outage happened. If the outage caused the supply to exceed the absolute maximum ratings then the device can be damaged or walking wounded. Loading code using JTAG is just part of the MCU. We don't really know if other parts of the device is still operating normally once the maximum ratings were exceeded. You can do a resistance check on the I/O pins for any shorts. A ABA swap test will provide evidence if the device is damaged or not or even the rest of the components on your board. 

    The A-B-A Swap Method is a simple cross check test, which can confirm the observed issue is not systemic.

    • A-B-A Swap Method
      (1) Remove the suspected component (A) from the original failing board.
      (2) Replace the suspected component (A) with a known good component (B) and check if the original board now works properly.
      (3) Mount the suspected component (A) to a known good board and see if the same failure occurs on the good board.

    Step 3 is important because it helps us to exclude any possibility that the issue is caused by a systemic issue or the interaction of multiple slightly bad components on a good board.

  • Thank you for suggesting the A-B-A swap method. I tried it and the failed component 'A' remains unresponsive on a known operational board.

    Although, reading your response, I noticed that the image you have posted contains absolute maximum of (+3.3V + 0.3V) for the 4 pins being used as GPIO input. I checked my board and found a peripheral using these pins that has a +5V logic output. This could be the possible source of issue. I will hack clamping diodes to these 4 pins and will report back if the issue still persists or gets resolved.

    But it is surprising, that instead of damaging these pins, the controller gets stuck in reset. Also, I was able to correctly read data from this +5V logic peripheral for almost a month before the controller died. Anyway, will update here once I try the clamping diode fix.

  • Hi,

    I checked my board and found a peripheral using these pins that has a +5V logic output. This could be the possible source of issue. I will hack clamping diodes to these 4 pins and will report back if the issue still persists or gets resolved.

    Which four pins are you talking about here?

    GPIO on the TM4C123 MCU is 5V tolerant on inputs. However, you should not use the MCU to drive 5V devices externally. If your external device is driving an 5V input to the MCU, it should be fine. 

    But it is surprising, that instead of damaging these pins, the controller gets stuck in reset. Also, I was able to correctly read data from this +5V logic peripheral for almost a month before the controller died. Anyway, will update here once I try the clamping diode fix.

    I'm still unable to connecting dots as to why the nRST is stuck low. 

  • Please refer to the attached image from the TM4C1237H6PZ datasheet Pg.1256:

    The 4 GPIO Input pins I am referring to are: PJ0, PJ1, PB0 and PB1.

  • Ok. These four pins are special and can not take 5V. If you are driving 5V on these pins they can damage the device. 

  • UPDATE: I studied the schematic carefully and found out that although the peripheral is being powered using ±5V supply the digital logic outputs are using +3.3V. I did verify this logic output on an oscilloscope, and it is indeed +3.3V.

    So, I have not mounted the clamping diodes and I'm back to square 1!

    Will continue to monitor this situation and update if this 3rd controller also fails.