| ??? 11/16/02 17:45 Read: times |
#32628 - RE: software reset |
It sounds to me that you should be able to have this mimic the effects of a reset. There are some minor differences however that you may need to analyze. With a hardware reset the chip is held in complete reset and upon release of the signal the normal operation sequence is started. This sequence varies from MPU to MPU type. Some have special onboard reset extension circuits, some types have flags that tell the type of reset, and some may have flags that are read only which are initialized by reset pulse. Of course these things are not generally possible to duplicate with the software technique that you describe.
It does beg asking to know just what you are trying to achieve with a "software" reset. If you are just trying to simply re-initialize your software then the scheme you outlined sounds like it would work just fine. On the other hand if you are trying to recover from some type of fault condition then it is necessary to ask yourself..."Did this fault condition happen due to a transient electrical event or a software detected memory fault?" If you say YES that is why I want to reset, then I suggest that the hardware reset may be FAR FAR more appropriate. There are ways that you can get software to initiate a hardware reset. The technique you use will however be completely dependant on what type MPU that you are using and the additional circuits you have on the PC board. Here are some of the possibilities (but keep in mind that these may not apply to your hardware platform). 1) If you have an offboard or onboard watch dog timer that is enabled, you can simply stop refreshing the watchdog and let it timeout and force a hardware reset. 2) If you have an onboard watch dog that not in use it may be possible to turn it on then let it reset the chip. Note that some chips disallow the enable/disable of an onboard watch dog timer circuit within a short time after the previous reset condition. 3) It is possible to build a circuit that is attached to a port pin that can be wired back into the hardware reset pin to force a complete reinitialize. The design of such a type of circuit requires careful consideration to ensure that the reset pulse generated in this manner is wide enough. This is due to the fact that if software toggles the port pin to force a reset, that same reset condition starting will quickly remove the port setting that the software had just set. Interestingly enough an easy way to make such a circuit is to use a low cost watch dog chip. 4) Some micro controllers have a software reset instruction or special function register with a bit that can be toggled to force a hardware reset. 5) Some derivative microcontrollers have onboard circuits that can be configured to force a reset. For example certain Cygnal processors have a comparator circuit that can be configured to force a reset. With the appropriate resistors tied to the comparator inputs it is possible to force a reset simply by enabling the comparator as a reset source. 6) Some systems have a software managed power subsystem. It is conceivable that the software management interface to the power supply can be set to turn the power supply off for a short period of time and then have it come back on and your pc board would re-start similar to a normal power on along with its attendant power on reset. I hope this helps provide you with the information you need to decide what you need to do in your application. Michael Karas |
| Topic | Author | Date |
| software reset | 01/01/70 00:00 | |
| RE: software reset | 01/01/70 00:00 | |
| RE: software reset | 01/01/70 00:00 | |
| RE: software reset | 01/01/70 00:00 | |
| RE: software reset | 01/01/70 00:00 | |
| RE: software reset | 01/01/70 00:00 | |
| RE: software reset | 01/01/70 00:00 | |
| RE: software reset | 01/01/70 00:00 | |
| RE: software reset--> Peter | 01/01/70 00:00 | |
| RE: software reset--> Peter | 01/01/70 00:00 | |
| RE: software reset--> Peter | 01/01/70 00:00 | |
RE: Thanks | 01/01/70 00:00 |



