Hello,
I am new in here, and I have really little experience with freescale MCU. Few days ago, I made OSBDM (exactly this: Link (site is in Czech)) After few small complications i finally programmed OSBDM, and everything looks to be working fine. I succesfully programmed the MCU (MC9S08JM60) with a simple C code - blinking LED and I steped into debuging mode. I was able step the program, and I saw that LED are blinking correctly. The problem occured when I tryed to run the program outside the debugging mode. When I connected external power supply, the supply current rised about 1A and MCU basically burn out. Whenewer after that I connect the OSBDM, temperature rise rapidly, and MCU is smoking
What is suprising, that MCU is still not in silicon heaven. When I am quick I am able to re-program the MCU while it get to "smoking point" but it is not worth anythyng, when It cannot run more than 10sec.
I thought that it was some error in the connection MCU for the first time, so i changed the new MCU and DOUBLE CHECKED everything. But second time happend the exactly the same. (this time I had limited current to 150mA, so the MCU dont burn out, but the voltage get dropping to zero) I dont want to burn out the third MCU, so I kindly asking if somebody can help me with this. I am assuming, that there is just some basic (hardware) problem, but I have no experience with Freescale
I started example project, without editing anything, so I am assuming that is used internal oscilator, and other default stuff. Image of my circuit connection is here: Photo1 Photo2 Connection
The source code I am using:
#include <hidef.h> /* for EnableInterrupts macro */ #include "derivative.h" /* include peripheral declarations */ void main(void) { EnableInterrupts; /* enable interrupts */ PTBDD = 0x07; // initialize PTB0-PTB2 as output PTBD = 0; // initialize PTB to 0 for(;;) { PTBD_PTBD0 = ~PTBD_PTBD0; // invert the output PTBD_PTBD1 = ~PTBD_PTBD1; // invert the output PTBD_PTBD2 = ~PTBD_PTBD2; // invert the output __RESET_WATCHDOG(); /* feeds the dog */ } /* loop forever */ /* please make sure that you never leave main */ }
Thanks for anny suggestions! And sorry about my english
Hello and welcome to the fora,
It is quite possible to damage a module and have the rest of the device still function. I have seen this happen with SCI. There was a short on the Tx pin. The short was removed and the device then still run (with no transmit) but very hot. I left it run for a couple of days just for interest sake and it was still running when I replaced the MPU. It was too hot to touch!
I would be checking for shorts on the pins of the MPU. It looks like your PCB's may be home-brewed and may have thin traces of copper remaining between tracks. This can be irrelevant until you enable one of these pins as output where it then draws excess current.
BTW your English is better than a lot of native speakers!
Hi,
thank you for reply. Have you looked on the connection picture which I posted? I made this connection on contact board thru "reduction" board (on the picture). Like I said, I had double checked all the connection. I do not know how you call it in English, but I "beep it thru" and there was no short circuit in between pins, or referring to the Vss or Vdd. Is the connection correct? Isnt there missing something?
I am going to try it third time today. I am planning to add filtration capacitor on the board GND-VDD to slow the power rise time/fall time. It is just idea, but i think it cannot be worse.
Other thing which come to my mind- is there some restriction about connecting/disconecting power supply from the MCU? It seems to be working fine, until I start to messing around power supply. Or some rules about Reset pin connection or something.
When I am using internal oscilator, do I have to set it up somewhere, or it is default setting? In Atmel MCUs there was "fuse bites" is there something similar in freescale MCUs too?
And last thing, but I hope it is not needed until I am using USB. Do I have to connect 3,3V referrence to pin 20 (VUSB33)? I hope not.
I am really scratching my head right now, and I'm thinging about every detail which can go wrong, but I just dont get it, what can be the problem.
So any other suggestions, how I should proceed will be really appreciated!
Dear Rastislav,
I've used the JM60 quite a few times and I have had no problems similar to yours. I can't see anything wrong with your circuit Just double check that you haven't transposed the power connections to the ADC!
I think adding a supply bypass cap on your small PCB would be a good idea in any case (say 100 nF near to the chip).
The 3v3 supply for USB can be supplied from an internal regulator on the chip or externaly supplied. It needs bypass caps as well - see the recommended circuit in the chip manual.
Finally, have you considered the 9s08JS16 micro. It quite similar but is available in a more easily used package (SOIC20). No ADC though.
bye
OK,
so like I said, I have tryed to add few capacitors near the MCU. This third time (like two times before) I checked more than twice all connections, short circuits etc. and I found nothing wrong. This time I am powering MCU with 3,3V (just to be sure) and till now is everything working fine. I havent found out what was the problem two times before, because I was doing everything exactly the same way. So I am just assuming that bypass capacitors are really important. And it is funny, even when I think that was the problem, I still dont have enought courage to change supply voltage to 5V.
Anyway, I really appreciate your help and the quick response. I hope this was my last problem, and by now it will be everything working just fine
Thanks. R.