Hello Forum members,
I want it to reach out to you guys
for help an a strange situation with some of the TIVA C parts
specailly the TM4C123GH6PMI parts found on the launchpad
and the TM4C123BE6PMI.
We have a customer board that was design around the TM4C123BE6PMI parts
and the Launchpad with the TM4C123GH6PMI was use to develop the firmware
for the customer board.
Things were working great until, the customer reported board failures due to low temperatures
on the field. There report was that 20 boards they were initally field testing fail to operate when
the temperature in the environment on which the boards were installed had reached -5 C.
They also reported that they got the boards to run again when they heated the boards back to normal
room temperatures.
So we ask our customer to take power supplies measurements specially the TM4C123 power supply
of 3.3V and its VDDC core voltage of 1.2V under the failing temperature. They reported that the votlages
were found normal as when the boards runs in normal temperatures.
So, we started testing a couple of the customer boards here at the office by running the firmware
while the boards were expose to freezer temperatures of 0-18C or 0 F. Sure enough after a few minutes
the boards stop running the code. So while it was inside the freezer, we took some measurements and found
the power to the mcu to be normal 3.3V and the core voltage (VDDC) to be normal of 1.2V, we also probed the
crystal with oscilloscope and found it to be working, but no code running.
Our first trials involved the TM4C123BE6PMI chips and found each one we tested to fail once expose to -18C.
So, then we order the TM4C123GH6PMI, which is the same chip use on the Launchpads, to replace the
TM4C123BE6PMI chips, and run it in the same cold environment. For our surprise, the TM4C123GH6PMI failed
too at -18C and 0F temperatures.
To make sure there that our customer board was not at fault, we decided to get to then test the Launch Pad
board. So we then loaded the firmware and run it on the same cold temperature of -18C. To our surprise, we
found the launch pad to also fail under same cold temperature.
In trying to get to the bottom of what is happening with these chips, we search the Errata documents on TI's
website to see if TI has found any issues with peripherals on the chip causing failures at cold temperatures.
But we found nothing on this matter.
So, what to do next?
Well, we decided to experiment a little to see if we could get an answer as to what is
happening with the chips. We took, the launch pad connected to CCS 5, load the code and debug.
Using the chip internal temperature with TI's formula: TEMP = 147.5 - ((75 x (VREFP - VREFN) x ADCcode) / 4096)
to take quick temperatures readings as we freeze the mcu and send it out to the uart via launchpad.
Before we show any results we have to explain what peripherals we are currently using on the TIVA C parts
in question here.
1) UART0 via Pins 17 and 18, configure at 115200 baud, 8 bits 1 top bit no parity
2) PWM1: PWM2, PWM3, PWM4, and PWM5 on pins 23, 24, 28, and 29 respectably.
Generator 1 for PWM and Generator 3 for ADC timing
3) PWM 1 Generator 3 interrupts to generate our 1 ms interrupts
4) ADC0 at 1MSPS with Sequencer 0 processing 8 channels including Internal temperature sensor, and Sequencer 1 handling 4 more channels
5) ADC Sequence 0 Interrupts
6) ADC Sequence 1 Interrupts
7) UART0 Interrupts
8) GPIOs of course.
OK. now here is what we find.
1) As long as the temperature is below 0 C the PWM channels M1PWM2 and M1PWM3 are turn off and they don't come back on until the temperature gets above 4 or 5 C base on the internal mcu temperature sensor
2) The UART0 data transmitted stops when below 0 C, but starts transmitting back once above 0C.
3) ADC0 seems to stop reading below 0 C.
Now, here is the question.
What is failing first the ADC0 or the PWM1?
Since the PWM1 uses the data returned back from the ADC0 to turn run its PWM channels.
Or could it be that the Interrupts fail and not the ADC0 or the PWM1 which depend on the interrupts
to update the data from the ADC0 and the Duty cycle for the PWM1 channels.
Has any body encounter something like this with the launch pads mcu?
If any body is interested in trying the same experiments we did here is the firmware bin file
to load into the TIVA C launchpad.