This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Hardware Reset Problem

Hi,

Setup:
I am using C8051F124 MCU. I have configured UART0 for serial communication to acquire real time data.

Problem:
When I do hardware reset (i.e. pulling down the RST pin on the MCU), the system halts and does not come up again.
On the other hand when I do a power cycle with a pause of almost a sec, then the system restarts and is up and running again. Repeating the power cycle with the pause is of short duration, like about 200msec or lower the system again fails to come up.

Other Details:
The system is running at 50MHz
RSTSRC = 0x06 on initialization

Please help to identify the mistake I am doing.

Kind Regards,
CM

Parents
  • Guys,

    I was able to fix the problem, but saw some interesting behavior from the MCU.

    I used to check RSTSRC register before I initiate any communication over the UART. I would check if the source of last reset was a power-on or VDD monitor reset. This check failed everytime I did a quick powercycle or pulled the RST pin low. But, it passed when there was a normal powercycle with more than 200msec duration between the voltage going down and coming up again.
    So, removing that check from my source code, I was able to solve the problem.

    As of now I have found the root of the problem I was facing, but the behavior is not clear to me. Have you guys ever come across such condition or can you explain why this would happen?

    Thanks for all the replies.

    Kind Regards

Reply
  • Guys,

    I was able to fix the problem, but saw some interesting behavior from the MCU.

    I used to check RSTSRC register before I initiate any communication over the UART. I would check if the source of last reset was a power-on or VDD monitor reset. This check failed everytime I did a quick powercycle or pulled the RST pin low. But, it passed when there was a normal powercycle with more than 200msec duration between the voltage going down and coming up again.
    So, removing that check from my source code, I was able to solve the problem.

    As of now I have found the root of the problem I was facing, but the behavior is not clear to me. Have you guys ever come across such condition or can you explain why this would happen?

    Thanks for all the replies.

    Kind Regards

Children