MCF51AC256BCLKE stops working at -10 deg C

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MCF51AC256BCLKE stops working at -10 deg C

Jump to solution
1,299 Views
Gambit
Contributor II

I have been conducting environmental (temperature) testing for an industrial automation product which uses two processors ( 1 microcontroller and 1 microprocessor).

 

While in the environmental chamber the MCF51AC256BCLKE works just fine up to +90 deg C before cycling down to -40 deg C. The environmental chamber is set to increment or decrement to temperature in 5 deg/min increments. When the chamber gets down to ~ -10 deg C the MCF51AC256BCLKE stops working (the microcontroller's firmware no longer streams data). The other processor (This is not a Freescale processor) and peripherals continue to work down to ~ -45 deg C. Once the chamber cycles back up to say 0 to +10 deg C the MCFAC256BCLKE starts working again. I have verified that the oscillator for the MCF51AC256BCLKE is still working down to ~ -45 deg C.

 

Has anyone else seen this type of issue with the MCF51AC256BCLKE?  According to the datasheet it is suppose to work across the industrial temperature range of -40 to +85 deg C.

Labels (1)
Tags (1)
1 Solution
1,052 Views
Gambit
Contributor II

Hi Monica,

The temperature issue has been solved.  There is a remote reset signal
from the Processor to the reset monitor for the Microcontroller (MCF51AC256BCLKE).  
I logic AND with another signal and buffer this remote reset.  I am using a reset supervisor which has a open drain MR# input.  So, I tie the remote reset and a Pushbutton to this pin. 

The Processor uses a Linux OS and although UBOOT sets the state of the GPIO’s properly (remote reset - pulled up output) when the kernel is loaded these pin states are returned to
default (remote reset - Hi-Z input).  The bad luck is that the logic (ANDing Hi-Z with logic 1) works under normal conditions.  Due to a chance observation I noticed as I measured the logic state of the remote reset at the input of the AND gate that the streaming data would stall on the MCF51AC256BCLKE serial terminal.  The loading of the multi-meter probe was causing remote reset (Hi-Z input) to go low enough to cause a logical 0 input on the AND gate input and therefore hold the MCF51AC256BCLKE in reset. 

  

When in the environmental chamber the negative degree temperature is apparently drawing the (Hi-Z) remote reset low enough as evidenced by the multiple resets (decoded) in the data stream.  Removing this logic (AND gate and Buffer) resulted in a successful environmental test at -40 deg C for more than 15 minutes.  The test was stopped while we were still streaming data with no issues.

Our Firmware Group has agreed to fix the Linux Kernel so the GPIO's are set properply. 

The MCF51AC256BCLKE does indeed work at least from -40 to +85 deg C as specified in the data sheet.

Tom, thanks for your helpful insights it was very much appreciated.

Regards

View solution in original post

6 Replies
1,052 Views
TomE
Specialist II

In spite of your measurements, my first suspect would be the crystal as they are certainly temperature sensitive. I'd suggest following the links in this previous post, in case the crystal is showing "spurs".

Re: MCF52259 Crystal or Oscillator

Are you able to test more than one example of the board? It may be a temperature-sensitive solder joint or PCB (internal layer short or open or via problem).

Could you be getting condensation on the board that is causing a problem?

Check that you haven't missed any necessary pullups or pulldowns (IRQs, RESET, BKGD).

At least you should be able to test it outside the chamber with spray-freeze.

Searching for previous posts (searching for "cold" doesn't work very well :-) finds:

regarding PLL lOCK in HCS08

Tom

0 Kudos
Reply
1,052 Views
Gambit
Contributor II

Hi Tom,

Yeah, I thought for sure that the oscillator was the issue, it still might be but the evidence is pointing to the MCF51AC256BCLKE (I'm hoping this is a red herring).  So to be clear I am using a 12 MHz, +5V oscillator (5 x 3.2)mm, -40 to +85 deg C.  I couldn't get the original Manufacturer's parts I spec'd in; so for the prototypes I found some programmable ones from digikey with the same "specifications".   I have even tried a 12MHz, +3.3V, -40 to +85 deg C (5 x 3.2)mm MEMs oscillator ( I am working on getting the +5V version of this oscillator) which works but the uC still quits at -10 deg C.  I ordered these directly from the Manufacturer so I pretty much knew what I was getting.  Also this is the same brand I am using on the processor (uP).

I have tried 4 different boards and other than the first try in the environmental chamber (1st failure was at -20 deg C) they all result with the uC failing at -10 deg C.   So I don't think solder joints are an issue but you never know. Also, the boards are 8 layer prototypes but the uP is in a much more dense area (small pitch BGA's) of the board than the uC and I have not seen one cold temperature issue with the uP.

I have not observed any condensation issues using the env chamber as we always cycle up to ambient before opening the chamber door.  We definitely do not want it to rain on the boards. :smileygrin:   The only time I have had condensation issues is at my desk / bench while using FreeZ-It.  I have not been able to reproduce the problem using FreeZ-It actually, until the condensation forms and I try to blot it away.  So I think this is more a function of the moisture than the cold that is causing the uC to stop working; when using FreeZ-It.  Which is surprising because I would expect the uC to fail after freezing not when it's warming up.  I'm thinking the env chamber gives it a very deep cold soak that is not easy to reproduce using FreeZ-It.

The IRQ input pin is a no connect but I will check to make sure the internal pull-up is engaged.  I think the IRQ input pull-up is by default engaged.

I appreciate your input and would welcome more.  I have a lot more things I would like to try and I will post my results here when I find a solution.

Regards,

Davey

0 Kudos
Reply
1,052 Views
Monica
Senior Contributor III

Davey, how is it going?

Keep us posted!

Best regards!

0 Kudos
Reply
1,053 Views
Gambit
Contributor II

Hi Monica,

The temperature issue has been solved.  There is a remote reset signal
from the Processor to the reset monitor for the Microcontroller (MCF51AC256BCLKE).  
I logic AND with another signal and buffer this remote reset.  I am using a reset supervisor which has a open drain MR# input.  So, I tie the remote reset and a Pushbutton to this pin. 

The Processor uses a Linux OS and although UBOOT sets the state of the GPIO’s properly (remote reset - pulled up output) when the kernel is loaded these pin states are returned to
default (remote reset - Hi-Z input).  The bad luck is that the logic (ANDing Hi-Z with logic 1) works under normal conditions.  Due to a chance observation I noticed as I measured the logic state of the remote reset at the input of the AND gate that the streaming data would stall on the MCF51AC256BCLKE serial terminal.  The loading of the multi-meter probe was causing remote reset (Hi-Z input) to go low enough to cause a logical 0 input on the AND gate input and therefore hold the MCF51AC256BCLKE in reset. 

  

When in the environmental chamber the negative degree temperature is apparently drawing the (Hi-Z) remote reset low enough as evidenced by the multiple resets (decoded) in the data stream.  Removing this logic (AND gate and Buffer) resulted in a successful environmental test at -40 deg C for more than 15 minutes.  The test was stopped while we were still streaming data with no issues.

Our Firmware Group has agreed to fix the Linux Kernel so the GPIO's are set properply. 

The MCF51AC256BCLKE does indeed work at least from -40 to +85 deg C as specified in the data sheet.

Tom, thanks for your helpful insights it was very much appreciated.

Regards

1,052 Views
Monica
Senior Contributor III

AWESOME!

Thanks so much for sharing! :smileygrin:

1,052 Views
TomE
Specialist II

> So to be clear I am using a 12 MHz, +5V oscillator

That might well be your problem. I can't find anywhere in the Data Sheet or Reference Manual that supports that. The spec for that chip is:

Oscillator (XOSC); loop-control Pierce oscillator; crystal or ceramic resonator range of 31.25

kHz to 38.4 kHz or 1 MHz to 16 MHz

The Reference manual says the OSC is for:

Allows a crystal or ceramic resonator to be used as the system clock source

In the Data Sheet, "2.9 External Oscillator (XOSC) Characteristics" doesn't allow what you're doing. There are no voltage level specifications given for the XTAL and EXTAL pins, or slew or duty-cycle requirements for the clock signal.

So you may be operating the chip outside of the Manufacturer's specifications.

Let's keep searching... Well there goes a nice theory, because in ONE place only in the Reference Manual...

2.1.6 Oscillator (XTAL and EXTAL)

The oscillator (XOSC) in this microcontroller is a Pierce oscillator that can accommodate

a crystal or ceramic resonator. Optionally, an external clock source can be connected

to the EXTAL input pin.

OK, so the Reference Manual says you can use an external oscillator, but nothing details HOW you're meant to use it. You obviously have to meet certain slew-rate and duty-cycle requirements, but there's nothing in the data sheet at all for these necessary parameters. There's also nothing stating how you should set up the bits in the MCGC2 Register.

So I'd suggest you play with the MCGC2 bits and see if that improves anything.

It is also possible the single statement that allows an external oscillator is a cut-and-paste error from a previous manual and this chip doesn't support that configuration. I'd suggest you requiest clarification through your supplier, pointing out the paucity of the documentation.

So why is it causing you a problem? I'd guess you've got overshoots and undershoots on that 5V oscillator signal, and as the temperature goes down those are causing leakage current problems in some on-chip protection diodes. I've had bad problems with an MCF5329 where overshoots and undershoots on the bus were causing problems, and I think that was temperature related.

I'd suggest putting a series resistor between the oscillator and EXTAL to damp out undershoorts and overshoots, or if you already have a resistor there, to increase its value.

You could always try using a crystal and see if anything changes.

Tom

0 Kudos
Reply