Reset circuit of electronic device

Abstract: A processor (6) outputs a state signal representing the process state to a reset circuit (1, 20). Upon reception of a reset signal from an external reset switch (4), the reset circuit (1, 20) outputs the reset signal to the reset terminal of the processor (6) under the condition that the state signal allows a reset operation. The reset circuit (1, 20) also has a counter (5a) for starting a count operation upon reception of an externally input reset signal. Even when the processor (6) is in a runaway state and cannot output the state signal for allowing the reset operation, a forced reset signal is supplied to the processor (6) after a predetermined time is counted by the counter (5a).

Description: The present invention relates to a reset circuit used in an electronic device and, more particularly, to a reset circuit for a processor such as a CPU (Central Processing Unit) and an MPU (Micro Processing Unit). A reset operation is denoted such that, for example, the Q outputs from all flip-flops such as registers and counters are set to a level "0" (i.e., "L"). In an arithmetic and logic processor such as a CPU and an MPU, the system is preferably set in a predetermined state upon a power ON operation, and therefore power-ON reset which uses arise in a power supply voltage as a signal is often used. Alternatively, by use of a reset switch externally arranged, the system is set again in the same state as that obtained after a power ON operation, or otherwise the arithmetic and logic processor is initialized. For this reason, normally the above arithmetic and logic processor has a reset terminal or a clear terminal for initializing internal circuits. When a reset signal is supplied to the reset terminal, the internal circuits such as flip-flops are initialized. Conventionally, for an arithmetic and logic processor (simply referred to as a processor hereinafter) such as a CPU and an MPU, there is provided 1. a reset circuit for forcibly supplying a reset signal to the reset terminal of the processor, or 2. a reset circuit for supplying a reset signal to the reset terminal of the processor as interrupt process when software processing is temporarily interrupted on the basis of software processing conditions and the like in the processor. More specifically, in above case 1, a reset signal (more specifically, a reset pulse) is generated in accordance with a reset signal request input externally. The reset signal generated is then output to the reset terminal of the processor, thereby initializing the internal units of the processor. In above case 2, the arithmetic processor is normally executing various processes based on predetermined programs. When the program processing is being executed, predetermined status information is output during a normal operation. Thus, if the program execution processing causes a runaway due to any reason and no more status information is output, it is determined that an abnormality has occurred in the program execution processing. At this time, a reset signal is output to the reset terminal of the processor as an interrupt signal, thereby performing initialization of the processor. However, in a reset scheme stated in the above case 1, if a reset signal request is issued during an access to a memory such as a built-in RAM (Random Access Memory) by the processor, a reset signal is output to the reset terminal of the processor. For this reason, the following problem is occurred. More specifically, in such a memory access state, information stored in the memory is being changed by a rewriting operation or the like, and the contents of the memory are not defined yet. Therefore, when the processor is reset in such an unstable state, there is the possibility that the contents of the memory are destroyed. This is based on the same reason, for example, as that for inhibiting an eject operation during an access to a floppy disk (FD) in a floppy disk drive (FDD). If the process is resumed with the contents of the memory destroyed, an unexpected failure may occur. In a reset scheme stated in the above case 2, when the program execution processing causes a runaway due to any reason and no more status information is output, it is determined that an abnormality has occurred in the program execution processing, and a reset signal is output to the reset terminal of the processor as an interrupt signal. For this reason, the following problem is occurred. More specifically, if a wait terminal or a bus hold terminal etc. are also locked due to the runaway of the processor, the status information is fixed as it is through the processor is being in the runaway state. Therefore, the processor cannot be reset permanently. EP-A-0370737 suggests in connection with figure 1 a reset switch 23 for supplying a reset signal to a microprocessor 10 via a gate 22 when a low voltage inhibit circuit 14 detects powerdown of a power supply 12. A reset signal generated by a manual switch 23 passes through gate 22 leading to an unavoidable reset of microprocessor 10. EDN Electrical Design News, Vol. 30, No. 21, September 1985, Newton, Massachusetts, US, page 246, Almazan L. M. "Perform a Z80 reset without memory loss" describes a reset circuit for performing a manual reset of the Z80 µ P at any time, without losing data from the Z80's dynamic RAM. The circuit delays the manual reset so that it coincides with an op-code fetch, thus avoiding interference with the refresh cycle. A gate circuit accommodates the normal power-up reset routine as well. It is the object of the present invention to reset a processor in an electronic device firmly while protecting the contents of the peripheral circuits. This object is solved by the subject matter of claim 1. Preferred embodiments are the subject matter of the dependent claims. According to an aspect of the present invention, there is provided an electronic device comprising a memory, a processor comprising a reset terminal and a process state terminal for outputting a process state signal representing at least a data write state to said memory, a reset switch and a reset circuit comprising a gate circuit for passing a reset signal from said reset switch to said reset terminal of said processor, wherein said reset circuit further comprises a condition storage circuit responsive to said processor for storing reset inhibition data for inhibiting a reset operation before completion of an executed program, wherein said condition storage circuit and said gate circuit control passing said reset signal from said reset switch to said reset terminal of said processor, and wherein said gate circuit is controlled by said processor so as to be disabled, to prevent passing of the reset signal when the PS signal represents the data write state and when said condition storage circuit stores the reset inhibition data. The invention can be more fully understood from the following detailed description when taken in conjunction with the accompanying drawings, in which: FIG. 1 is a block diagram showing the entire arrangement of a reset circuit according to the first embodiment of the present invention; FIG. 2 is a block diagram showing the arrangement of the main portions of a forced reset circuit; FIG. 3 is a timing chart of a PS signal representing a memory access state of a CPU; FIG. 4 is a timing chart for explaining a process state reset operation of the reset circuit; FIG. 5 is a timing chart for explaining the software condition reset operation of the reset circuit; FIG. 6 is a timing chart for explaining a forced reset operation in a runaway state of the reset circuit; and FIG. 7 is a block diagram showing the entire arrangement of a reset circuit according to the second embodiment of the present invention. There will now be described embodiments of the prevent invention with reference to the accompanying drawings. First Embodiment A reset circuit according to the first embodiment of the present invention will be described with reference to FIGS. 1 to 6 hereinbelow. FIG. 1 is a block diagram showing the entire arrangement of an electronic device using a reset circuit 1 of the first embodiment. Referring to FIG. 1, the reset circuit 1 of this embodiment is constituted by a flip-flop 2 for storing a reset pulse supplied from an external reset switch 4, a flip-flop 3 for storing a software condition signal supplied from a CPU 6, an AND gate 8, an OR gate 9, and a forced reset circuit 5. Reference numeral 7 denotes a memory as a peripheral circuit connected to the CPU 6 through a bus. The flip-flop 2 latches the reset pulse generated upon depressing the external reset switch 4 and outputs the latched reset pulse to an input terminal of the AND gate 8 and the forced reset circuit 5. In addition, when the reset signal to be supplied to the reset terminal of the CPU 6 is supplied to the reset terminal of the flip-flop 2, the flip-flop 2 is reset simultaneously with the reset operation of the CPU 6. The flip-flop 3 normally outputs a signal of a level "H". When the flip-flop 3 latches a reset inhibition condition signal output from the CPU 6 in specific software execution process, it outputs a signal of the level "L" to the input terminal of the AND gate 8. More specifically, as for specific software such as a character substitution program wherein data which is being written in a memory is destroyed upon a reset operation during execution, a reset inhibition condition set instruction is executed before execution of character substitution, thereby outputting a reset inhibition condition signal. Upon completion of character substitution, an inhibition cancel instruction is executed to clear the reset inhibition condition signal stored in the flip-flop 3, thereby returning an output from the flip-flop 3 to the level "H". An output signal from the flip-flop 3 is referred to as a software condition signal hereinafter. The output terminal of the flip-flop 2, the output terminal of the flip-flop 3, and the output terminal of a signal (to be referred to as a PS signal hereinafter) representing an access state (process state) of the CPU 6 are connected to the input terminals of the AND gate 8, respectively. The output terminal of the AND gate 8 is connected to one input terminal of the OR gate 9. The PS signal (to be described later in detail) is a signal representing the state wherein the CPU 6 accesses the memory 7. The output terminal of the AND gate 8 is connected to one input terminal of the OR gate 9. The other input terminal of the OR gate 9 is connected to the output terminal of the forced reset circuit 5. More specifically, in this circuit, when both a PS signal output from the CPU 6 and a software condition signal from the flip-flop 3 are-at the level "H", and at the same time, a reset pulse is input from the flip-flop 2, or when a reset pulse is output from the forced reset circuit 5, a reset signal is output from the OR gate 9 to the CPU 6. FIG. 2 is a block diagram showing the configuration of the forced reset circuit 5. The forced reset circuit 5 is constituted by a counter 5a serving as a counter circuit, exclusive NOR gates 5b and 5c, an AND gate 5d, an inverter 10, and registers 11 to 14. The forced reset circuit 5 is so constituted that it outputs a reset signal after the elapse of a predetermined time from reception of a reset pulse from the flip-flop 2. The output terminal of the flip-flop 2 is connected to a start terminal as an input terminal of counter 5a. The output terminal of the flip-flop 2 is connected to the reset terminal through the inverter 10. The registers 11 and 12 hold two-digit second figures on the basis of the count value of the counter 5a. The contents of the registers 11 and 12 are connected to the corresponding input terminals of the exclusive NOR gates 5b and 5c, respectively. The registers 13 and 14 are connected to the other input terminals of the exclusive NOR gates 5b and 5c, respectively. The registers 13 and 14 latch forced reset time data output from the CPU 6 through a data bus in accordance with a write signal (to be referred to as a WR signal hereinafter). The contents of the registers 13 and 14 are compared with those of the registers 11 and 12 by the exclusive NOR gates 5b and 5c. In this case, the forced reset time is defined as two-digit second figures and can be freely set within a range of 1 to 99 seconds. That is, an arbitrary time can be set in seconds, and five seconds are set in the first embodiment. More specifically, when a reset pulse is input from the flip-flop 2, the reset pulse is directly supplied to the start terminal of the counter 5a, and at the same time, the reset pulse is supplied to the reset terminal through the inverter 10, thereby starting a count operation by the counter 5a. Upon the count operation of the counter 5a, elapsed seconds are stored in the registers 11 and 12 in accordance with the count value. The second figures stored in the registers 11 and 12 are compared with a set value as a forced reset time, which is stored in the registers 13 and 14 in advance in accordance with a WR signal from the CPU 6, by the exclusive NOR gates 5b and 5c. If these values are coincided with each other, signals of the level "H" are output from the exclusive NOR gates 5b and 5c. As a result, a forced reset pulse is output from the AND gate 5d. FIG. 3 is a timing chart of a PS signal representing the access state of the CPU 6 to the memory 7. The CPU 6 executes, on the basis of a reference clock, a series of processes such as 1 ○fetch of an instruction, 2 ○ decode of an instruction, 3 ○ execution of an instruction, and 4 ○ transmission of data (storage of data) to the memory 7. In the first embodiment, a PS signal is output from the CPU 6 while an access to the memory 7 using the bus is not performed. Therefore, in the process of 1 ○ fetch of an instruction or 4 ○ storage of data, which is performed for a read/write access to the memory 7, a signal of the level "L" is output as the PS signal. In the process of 2 ○ decode of an instruction or 3 ○ execution of an instruction is an internal process of the CPU 6, which does not require an access to the memory 7, a signal of the level "H" is output as the PS signal. The operations of the reset circuit 1 shown in FIG. 1 will now be described hereinbelow with reference to FIGS. 4 to 6. Reset Control by Process State (FIG. 4) When the CPU 6 is executing decode and execution of an instruction while the software does not inhibit the reset operation, both the software condition signal and the PS signal supplied to the AND gate 8 are at the level "H". When a reset pulse is supplied to the flip-flop 2 at this timing by an external operation, the reset pulse from the flip-flop 2 passes through the AND gate 8 and is immediately supplied to the reset terminal of the CPU 6 through the OR gate 9. Therefore, the CPU 6 immediately starts the reset operation in accordance with the reset operation. On the other hand, when the CPU 6 is executing fetch of an instruction or storage of data while the software does not inhibit the reset operation, a software condition signal of the level "H" and the PS signal of the level "L" are supplied from the flip-flop 3 to the AND gate 8. Therefore, when a reset pulse is received from the flip-flop 2 at this timing, an output from the AND gate 8 is at the level "H", so no reset signal is output from the OR gate 9. When the CPU 6 continues its operation, and the PS signal goes "H", a reset signal is output from the OR gate 9. At this time, the forced reset circuit 5 performs a count operation upon reception of the reset pulse. However, since the PS signal goes "H" within a short time, the counter 5a is reset before a forced reset signal is output. Reset Control by Software (FIG. 5) FIG. 5 is a timing chart for explaining a reset operation of the reset circuit 1 under the control of software. When a reset pulse is supplied to the flip-flop 2 by operating the external switch, the reset pulse is latched by the flip-flop 2. The latched reset pulse is supplied from the flip-flop 2 to the AND gate 8 and the forced reset circuit 5. With this operation, a count operation is started by the counter 5a in the forced reset circuit 5. On the other hand, a software condition signal is supplied from the flip-flop 3 to the AND gate 8. The software condition signal goes "L" when software processing involving a memory access is executed by the CPU 6. For example, before the character substitution process is executed by document creation software of a wordprocessor or the like, the CPU 6 outputs the reset inhibition condition signal, and the flip-flop 3 sets the software condition signal at a level "L". With this process, when a reset pulse is output from the flip-flop 2 during the character substitution processing by the CPU 6, the software condition signal from the flip-flop 3 goes "L". Therefore, even when the PS signal supplied to the AND gate 8 goes "H", no reset signal is output from the OR gate 9. When the software condition (reset inhibition condition) is canceled upon completion of the software processing (i.e., "H"), and the PS signal goes "H", a reset signal is output to cause the CPU 6 to perform the reset operation. Forced Reset Operation (FIG. 6) FIG. 6 is a timing chart for explaining a forced reset operation in the runaway state of the CPU 6. Assume that runaway of the CPU 6 occurs during execution of software processing, e.g., that the CPU 6 is locked during an access to the memory 7, since the access state of the CPU 6 to the memory 7 is maintained, the PS signal is kept at the level "L". Therefore, even when a reset pulse is supplied to the flip-flop 2 by an external operation and the reset pulse is output from the flip-flop 2, the reset pulse cannot be output from the AND gate 8 to the OR gate 9 in this state because the PS signal is at the level "L". However, a count operation by the counter 5a in the forced reset circuit 5 is started simultaneously with output of the reset pulse from the flip-flop 2. Upon reaching a predetermined count value (five seconds in this case), a forced reset pulse is output to the OR gate 9, thereby forcibly resetting the CPU 6. In the above first embodiment, the PS signal output from the CPU 6 goes "H" because the memory 7 is not accessed in the process of 2 ○ decode of an instruction or 3 ○ execution of an instruction. However, the arrangement is not limited to this configuration. Since only reading of an instruction from the memory 7 is performed in the process of 1 ○ fetch of an instruction, a signal of the level "H" may also be output as the PS signal in the process of 1 ○ fetch of an instruction. In the above embodiment, the CPU 6 is exemplified as a calculation means. However, the calculation means for receiving a reset signal is not limited to the CPU 6. Second Embodiment Similarly, the arrangement of the forced reset circuit 5 is not limited to the above arrangement. For example, as shown in FIG. 7, it may be replaced with another arrangement having the same function, as a matter of course. FIG. 7 is a block diagram showing the entire arrangement of a reset circuit 20 according to the second embodiment. The same reference numerals as used in FIG. 1 denote the same elements in FIG. 7. Referring to FIG. 7, a forced reset circuit 30 in the reset circuit 20 is constituted by an inversion detection circuit 301, a counter 302, and an AND gate 303. The inversion detection circuit 301 outputs a reset signal to the reset terminal of the counter 302 when the process state (PS signal) changes. The counter 302 is reset in accordance with the reset signal output from the inversion detection circuit 301 and counts a clock CK input from the input terminal. When the count value reaches a predetermined value (e.g., five seconds), a signal of the level "H" is output to one of the input terminals of the AND gate 303. One input terminal of the AND gate 303 is connected to the output terminal of the counter 302, as described above. The other input terminal of the AND gate 303 is connected to the output terminal of a flip-flop 2, and its output terminal is connected to one input terminal of an OR gate 9. During a normal operation, the PS signal output from a CPU 6 is alternately inverted as "H" → "L" → "H" → ..., and output. Therefore, if the PS signal is not inverted during a predetermined time, it indicates the runaway state of the CPU 6. More specifically, in a normal state, a reset signal is supplied from the inversion detection circuit 301 before the counter 302 counts up, and a reset operation is performed. However, when the CPU 6 is in the runaway state, no reset signal is supplied from the inversion detection circuit 301, and a count up signal is output to the AND gate 303. At this time, when a reset pulse is supplied from the flip-flop 2 to the AND gate 303, a forced reset signal is output from the AND gate 303 to the OR gate 9, and a reset signal is output from the OR gate 9 to the reset terminal of the CPU 6. Therefore, as in the above second embodiment, a forced reset operation is performed.

Claims: An electronic device comprising: a memory (7); a processor (6) comprising a reset terminal and a process state (PS) terminal for outputting a process state (PS) signal representing at least a data write state to said memory (7); a reset switch (4); and a reset circuit (1, 20) comprising a gate circuit (8) for passing a reset signal from said reset switch (4) to said reset terminal of said processor (6); characterized in that said reset circuit (1, 20) further comprises a condition storage circuit (3) responsive to said processor (6) for storing reset inhibition data for inhibiting a reset operation before completion of an executed program, wherein said condition storage circuit (3) and said gate circuit (8) control passing said reset signal from said reset switch (4) to said reset terminal of said processor (6), and wherein said gate circuit (8) is controlled by said processor (6) so as to be disabled, to prevent passing of the reset signal when the PS signal represents the data write state and when said condition storage circuit (3) stores the reset inhibition data. A device according to claim 1, characterized in that the PS signal is output from said processor (6) while a data read/write access to said memory is carried out through a bus. A device according to claim 2, characterized by further comprising a forced reset circuit (5, 30) for supplying a delay reset signal which is different from the reset signal applied to said reset terminal of said processor (6) via said gate circuit (8), said delayed reset signal being supplied when a predetermined time period has elapsed without an output of the PS signal after reception of the reset signal which is input from said reset switch via said gate circuit. A device according to claim 3, characterized in that said forced reset circuit (5) has a timer circuit (5a, 13, 14) which sets a delay time of the delayed reset signal. A device according to claim 1, wherein said processor (6) causes said condition storage circuit (3) to store data for inhibiting a reset operation before a predetermined program is executed, and said gate circuit (8) is controlled to close a pass gate in accordance with output of the reset inhibition data from said condition storage unit (3). A device according to claim 1, characterized by further comprising a forced reset circuit (5, 30) for supplying a substitute reset signal which is different from the reset signal applied to said reset terminal of said processor (6) via said gate circuit (8) when a predetermined time period has elapsed without an output of the reset signal from said gate circuit (8) after reception of a reset signal input from said reset switch. A device according to claim 6, characterized in that said forced reset circuit (5) has a timer circuit (5a, 13, 14) which sets a delay time of the substitute reset signal. A device according to one of the claims 1 to 7, characterized in that said reset circuit (1, 20) for outputting a reset signal to said processor (6) further comprises: reset signal generation means (2) for generating the reset signal; and reset signal output control means (9) for outputting the reset signal generated by said reset signal generation means (2) from said gate circuit (8) to said processor (6). A device according to claim 8, wherein the reset circuit is further characterized in that said status detection means (8) has means for detecting said particular state in accordance with a state signal which is output by said processor on the basis of a processing operation of said processor (6), the state signal representing whether a memory access is being made. A device according to claim 9, wherein the reset circuit is characterized by further comprising count means (5a) for starting a count operation upon generation of the reset signal by said reset signal generation means (2). A device according to claim 10, wherein the reset circuit further comprises means for resetting the count operation when said reset signal output control means (8, 9) outputs the reset signal, and forced reset means (5, 30) for outputting a forced reset signal when said count means (5a) counts a predetermined time. A device according to claim 10, wherein the reset circuit further comprises forced reset means (5, 30) for outputting a forced reset signal when a predetermined time is counted by said count means (5a) without an output of the reset signal from said reset signal output control means. A device according to claim 10, 11 or 12, characterized in that in the reset circuit the time to be counted by said count means (5a) is freely settable.

Inventors: HIROTANI TAKAYUKI, KANEKO KATSUYOSHI, MORIYA KOUJI, ORIMOTO TAKASHI, WATANABE KAZUYOSHI, HIROTANI, TAKAYUKI, KANEKO, KATSUYOSHI, MORIYA, KOUJI, ORIMOTO, TAKASHI, WATANABE, KAZUYOSHI
Applicants: CASIO COMPUTER CO LTD, CASIO COMPUTER CO., LTD.
Application year: 1995
Main classification: G06F1
IPC codes: G06F1