Watchdog timer
 |
Tanagawa, Kouji; |

A watchdog timer for monitoring the operation of a computer monitors if the period of a writing signal (W.sub.T) generated by each execution of an instruction of a program is within the predetermined duration. The present watchdog timer comprises a register (2) for storing predetermined DATA upon receipt of the writing signal (W.sub.T), a counter (4) which is incremented by a clock pulse (.phi.), a comparator (3) for providing coincidence output signal when content of the counter reaches said predetermined DATA in the register (2), a first flip-flop (F.sub.1) for storing said coincidence output signal for one period of said clock pulse (.phi.), a second flip-flop (F.sub.2) for storing said coincidence output signal upon receipt of said clock pulse (.phi.), a third flip-flop (F.sub.3) for storing output of said second flip-flop (F.sub.2) upon receipt of said clock pulse (.phi.), an AND circuit (G.sub.1) for providing logical product of reverse output (Q.sub.1) of said first flip-flop (F.sub.1) and said writing signal (W.sub.T), and an OR circuit (G.sub. 2) for receiving an output of said third flip-flop (F.sub.3) and an output of said AND circuit (G.sub.1) and producing an alarm signal NG which indicates an error of a computer to be monitored.

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a watchdog timer which monitors the operation of an electronic device, in particular, relates to such a device for the use of monitoring a one-chip micro-computer, and/or a one-chip micro-processor.
2. Background of the Invention
A watchdog timer is a sort of program timer which provides an alarm signal indicating a system error when a micro-computer program overruns.
The watchdog timer also has a counter which is reset every predetermined period while a computer-program operates correctly, and which overflows to output an alarm signal when is not reset after a predetermined period.
Said alarm signal is used for the initial reset of a hardware of a computer system, a trigger signal of an alarm buzzer, or an interruption signal for recovering from a software upset.
FIG.1A shows a block diagram of a prior-art watchdog timer acting as a program timer of which the initial preset value can be determined by a program.
The watchdog timer 1 has the register 2 for receiving preset data which determines a monitoring period the present data being preset by a writing signal W.sub.T in response to a preset instruction in a program, the counter 4 for counting the number of pulse .phi. which is provided every execution of an instruction of a computer, the comparator 3 for providing the coincidence output signal M when the content of the register 2 coincides with the content of the counter 4, and the start-stop control circuit 4' for controling the transmission of the clock pulse .phi. according to a start instruction and a stop instruction in a program.
The operation is described in accordance with FIG.1B.
When the writing signal W.sub.T (5") is applied to the watchdog timer 1, the initial data (DATA) is set in the register 2, while the counter 4 is reset to zero.
Then, when the start signal (START) is applied to the circuit 4' by the start instruction of a program, the counter 4 begins to be incremented by a clock pulse .phi..
When the next writing signal W.sub.T (5') is applied to the timer before the overflow of the counter 4, the next data is restored in the register 2 to restart the counting operation by the counter 4, without generating the coincidence signal M of a high level from the comparator 4.
The preset value of the register 2 can be readily changed by the data (DATA) to change a period of time of the writing signal W.sub.T.
On the other hand, when there is something wrong with the operation of the program, the writing signal W.sub.T (6) is not normally provided, but the writing signal (8) is applied at a delayed timing, therefore the counter 4 overflows. In this case, the comparator 3 provides the coincidence signal M of a "high" level which indicates computer upset.
However, the watchdog timer of FIG. 1A has the disadvantage that it cannot detect such a program error as a writing signal appears early to a normal pulse to be generated at a predetermined preset time, although it can detect such a program error as a writing signal appears lately to a normal pulse to be generated at a predetermined preset time.
Accordingly, a prior art watchdog timer is not enough for detecting all possible errors of a program, therefore a more reliable watchdog timer has been desired.
SUMMARY OF THE INVENTION
It is an object, therefore, of the present invention to overcome the disadvantages and limitations of a prior watchdog timer by providing a new and improved watchdog timer.
It is also an object of the present invention to provide a watchdog timer which can detect not only the late appearance of a writing signal, but also an early appearance of a writing signal.
The above and other objects are attained by a watchdog timer having a register (2) for preseting predetermined DATA upon receipt of writing signal (W.sub.T), a counter (4) which is incremented by a clock pulse (.phi.), a comparator (3) which compares content of said register (2) with contents of said counter (4) and providing coincidence output signal when those two contents coincide with each other, a first flip-flop (F.sub.1) for storing said coincidence output signal for one period of said clock pulse (.phi.), a second flip-flop (F.sub.2) for storing said coincidence output signal upon receipt of said clock pulse (.phi.), a third flip-flop (F.sub.3) for storing output of said second flip-flop (F.sub.2) upon receipt of said clock pulse (.phi.), an AND circuit (G.sub.1) for providing logical product of reverse output Q.sub.1 of said first flip-flop (F.sub.1) and said writing signal (W.sub.T), an OR circuit (G.sub.2) for receiving an output of said third flip-flop F.sub.3 and an output of said AND circuit (G.sub.1) and producing an alarm signal NG which indicates an error of a computer to be monitored.
BRIEF DESCRIPTION OF THE DRAWINGS
The foregoing and other objects, features, and attendant advantages of the present invention will be appreciated as the same become better understood by means of the following description and accompanying drawings wherein;
FIG. 1A is a block diagram of a prior watchdog timer,
FIG. 1B is an operational time sequence of the watchdog timer of FIG. 1A,
FIG. 2A is a block diagram of a watchdog timer according to the present invention,
FIG. 2B is an operational time sequence of the watchdog timer of FIG. 2A, and
FIG. 3 is a flow chart of a computer program which is monitored by the present watchdog timer.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
FIG. 2 shows the block diagram of the watchdog timer according to the present invention. In the figure, the reference numeral 1 is a program timer which has the same function as that of the watchdog timer 1 of FIG. 1A, the symbol F.sub.1 is a first flip-flop which holds the coincidence signal M of the comparator in response to the input pulse .phi. and is set by the initial reset signal RES. The symbol F.sub.2 is a second flip-flop which holds the coincidence signal M by the input clock pulse .phi., and is reset by the writing signal W.sub.T, the symbol F.sub.3 is a third flip-flop which shifts the output signal Q.sub.2 of the flip-flop F.sub.2 by one period of the clock pulse .phi. in response to the clock pulse .phi., and is reset by the initial reset signal RES. The symbol G.sub.1 is an AND circuit for providing the logical product of the inverse output Q.sub.1 of the flip-flop F.sub.1 and the writing signal W.sub.T, the symbol G.sub.2 is an OR circuit to provide an alarm signal NG in response to the logical sum of the output Q.sub.2 of the flip-flop F.sub.3 and the output of the AND circuit G.sub.1, and the symbol G.sub.3 is an OR circuit for providing the logical sum of the writing signal W.sub.T and the output Q.sub.2 of the flip-flop F.sub.2 to reset the counter 4.

- .DELTA..beta.-Phase reversal coupled waveguide interferometer
1,4-Benzodiazepine-2-amine derivatives
- 2-(4'-alkoxyphenyl)-5-alkylpyridines
2-diazo-1,2-naphthoquinone compounds
- 3-Substituted-5-hydroxy(mercapto)alkylidene-rhodanine derivatives
6F2 3-transistor DRAM gain cell
- Accessory receptacle
Action figure
- Activated protein C formulations
Adaptive antenna
- Adaptive equalizer
Agricultural or horticultural fungicide
- Air bag module
Air conditioner control
- Air cooled shoe
Air-curtaining apparatus for fire protection
- Airbag apparatus for vehicle
Airplane container door hinge
- Amino thiol peptides
Amplifier with power supply switching
- Anchor for a basketball goal
Aniline derivatives
- Animated bird decoy
Antimicrobial peptide compositions and method
- Antistatic driving belt
Aperture masks for circuit fabrication
- Apparatus for cleaning printed paper
Apparatus for packaging articles
- Apparatus for swaging ferrules
Aromatic polyamide resin compositions
- Asphaltic composition
Assay method for biological components
- Astigmatic focus correction circuit
Bag folding apparatus
- Baseball hitting game
Battery voltage regulation circuit
- Benzonaphthalene derivatives and compositions
Bichannel radiation detection apparatus
- Bis-carbamylguanidinoazaalkane antimicrobial compounds
Bistable circuit
- Bleachable polymeric filter dyes
Blood pump
- Boat launching apparatus
Bonding compositions for dental use
- Bumper pocket billiard table
Bumper system for motor vehicles
- Burst fire control mechanism
Bus bar
- Cable mounted magnetic core assembly
Call traffic control
- Callous-removing skin-file
Camera with positioning capability
- Can-conveyor system and rinser
Cassette
- Catalyst for treating heavy oils
Catapult device
- Cellular intumescent materials
Clipless bicycle pedal
- Coal compositions
Coating binder additive
- Collapsible sawhorse
Collar construction
- Color liquid crystal display unit
Column ball grid array package
- Compact fluid pump
Compensating brake fluid reservoir
- Composite consolidation using induction heating
Composite laminating method and product
- Compressed air control apparatus
Computational origami
- Computer mainframe and stand arrangement
Connector contact terminal
- Connector quick coupling/decoupling mechanism
Contact bonding adhesives
- Container and closure system
Container coupling member
- Container holder
Container lash systems
- Continuously variable speed transmission
Contrast-based autofocus mechanism
- Controllable exhaust gas turbocharger
Convertible business card
- Conveying roller
Core sling lifting fixture
- Curable liquid resin composition
Custom underwater diving system
- Cylinder apparatus
Dental restorations
- Dental separator
Device for collecting sheets
- Device for maneuvering scenery
Dewatering process
- Diaphragm control device for cameras
Differential type voltage controlled oscillator
- Direction finder
Discharge lamp with heat shield
- Dispensing container for symmetrical articles
Diving suit
- Document file
Document of value
- Drive system for veneer slicer
Dual purpose child's baseball glove
- Dual spectrum infrared fire detector
Dual-mode Z-stage
- Dynamic memory refresh circuitry
Electrodynamic painting system and method
- Electromagnetic flow meter
Electromagnetic wave absorber
- Electronic component
Electrostatic charge neutralization
- Electrostatically sprayable insecticidal formulations
End seal for idler roller
- Energy recuperative soil remediation system
Energy scalable laser amplifier
- Engine systems
Expandable dental implant apparatus
- Fabric cleaner
Fiber reinforcement for resin composites
- Fibered micro vaso-occlusive devices
Filtration arrangement
- Fishing reel
Flexible flashlight
- Flexible/rigid copolyamide
Fluid distribution system
- Fluid filter with internal spacer
Fluid-filled mount
- Foreground subject-identifying apparatus
Frac plug with caged ball
- Fractionation of aromatic streams
Free weight exercise device
- Frequency/space diversity data transmission system
Fuel filter with bypass valve
- Fuel injection arrangement
Fuel injection nozzle
- Fuel injection system
Fungicidal oxathiin azoles
- Game board
Gas-burned soldering tool
- Glass container with plastic wrapper
Hair dye and its use
- Handle lock device
Handling unit, especially inserter
- Hanging of sliding doors
Heat-resistant anti-glare screen
- High impact flanged window screen
High speed trolley harp assembly
- High voltage MOS transistor
High yield stereospecific mannosylation
- Homogeneous, ductile brazing foils
Human fibrous protein
- Human high-affinity neurotransmitter uptake system
Hybrid inflator with a valve
- IC socket
Imaging-offset compensation methods and systems
- In cap medication reminder
Infrared communications scheme
- Infusion pump retraction mechanism
Inhibitor switch
- Injection blow molding machine
Integrated detector dewar cryoengine
- Intelligent service peripheral/intelligent peripheral
Internal combustion engine
- Inverters
Ion measuring device
- Irrigation line drain valve
Jaw support bandage
- Joint construction for metal sheets
Lambertian reflectance and linear subspaces
- Lead with inter-electrode spacing adjustment
Leatherlike fabrics
- Life-saving hammer structure
Lift for sealing device
- Liquid crystal display
Liquid crystal display
- Liquid-level gauge driver circuit
Local area network control block
- Logic circuit test system
Low melting, durable phosphate glasses
- Luminaire
Lysin-deficient bacteriophages having reduced immunogenicity
- Machine tool
Magnetic carrier particles
- Magneto-optical recording medium
Manifold for heat exchanger
- Manually-operated labeler
Mechanical descaling device
- Mechanical pencil structure
Method for evaluating mutagenicity
- Method for preparing polyamide-imide resin
Method for water control
- Method of Liquifying a gas
Method of making a cartridge
- Method of manufacturing mono-layer capacitors
Method of preparing a template
- Method of preparing co-polymer particles
Method of protecting hard surfaces
- Methods for producing 2-(2-hydroxyphenyl)-2-(alkoxyimino)-N-methylacetamide derivatives
Methods for purifying a solvent
- Micro-adjustable bucking bar anvil
Micro-finishing apparatus
- Mini-E1A gene and gene products
Mixture of isocyanate-terminated polyurethane prepolymers
- Mobile pumping station
Mold release composition
- Moldable composite material
Money information print control system
- MOS-type solid-state imaging apparatus
Motor vehicle security system
- Multi-level deformable mirror device
Multi-position sliding center console
- Multicolor heat-sensitive recording material
Multiple frequency Doppler flow meter
- Naphthyl organic compounds
Navigation apparatus for vehicle
- Neurotrophic factor
Oil level control
- One-use device for biological tests
Opening roof for a vehicle
- Optical flat bed scanning system
Optical recording system
- Optical, temporal bandpass filter
Oral composition
- Organic nonlinear optical material
Ornamental article with illuminated display
- Oxygen sensor
Packaging apparatus
- Packaging system for ventable bags
Padlock protecting device
- Pattern forming method
Personality generator for conversational systems
- Pet feeding device
Photo holder for photo albums
- Photographic camera apparatus
Photographic processing composition in slurry-form
- Pipe coupler
Pistons for internal combustion engines
- Pivotable mailbox and post assembly
Pneumatically-operated gas demand apparatus
- Polyamide resin composition
Porous hydroxyl apatite material
- Portable coordinate measurement machine
Portable folded wiper system
- Portable laser beam monitor
Portable radio telephone set
- Potter's grate
Power feed adapter
- Prepackaged, disposable hypodermic syringes
Preparation of 1,3-bis(3-aminopropyl)tetramethyldisiloxane
- Press diaphragm
Pressure gradient CVI/CVD process
- Printed circuit board heat sink
Process for preparation of phenols
- Process for preparing 9,10-anthracenedicarboxaldehyde
Process for preparing thermosetting organopolysiloxane
- Process for producing calcium hypochlorite
Process for separating porphyrins
- Processing of aluminum oxide fibers
Production of perfluoro(alkyl vinyl ethers)
- Programmable control apparatus and method
Prosthetic leg
- Psychophysiological reflex arc training simulator
Pulse generating circuit for microcomputers
- Quartz glass crucibles
Queue measurement apparatus and methodology
- Quick release vehicle headlamp arrangement
Quinoline derivatives having anti-tumor activity
- Radial pole linear reluctance motor
Resistance insertion type circuit-breaker
- Ribbed plant support poles
Roof mounting assembly
- Rotary ceramic heat exchanger mounting
Rotary heat exchanger
- Router table fence system
Safety bar for fire trucks
- Safety walker assembly
Sample/hold amplifier for integrated circuits
- Satellite telecommunications system
Scanning optical system
- Scroll saw bearing compensating mechanism
Selective peach pitter
- Semiconductor photodetector device
Shaft manipulating and centering tool
- Shafts mounted in bearings
Shale-stabilizing additives
- Shear pin coupling
Shield plate mounting apparatus
- Shoes
Single point mooring apparatus
- Sludge removal apparatus
Snap buckle
- Snap in cable connector
Solenoid-operated valve
- Speech recognition method
Spinal stabilization surgical method
- Spray gun
Stilbene derivatives as anticancer agents
- Stretching apparatus
Structure of liquid crystal display
- Structure-based designed herbicide resistant products
Support for portable trusted software
- Suture locking device
Switched capacitor switching
- Switching type dual wafer stage
Tag attacher
- Tape cast multi-layer ceramic/metal composites
TCLP compliant fluorescent lamp
- Theft detection system and method
Thermal connection layer
- Three-way gas management valve
Thrombosis-test
- Tilt-telescope steering column
Tissue encapsulating sheath
- Tool coupling apparatus and method
Toothbrush
- Toy dragstrip and starting tower
Track brake for railways
- Transmission mechanism
Transparent, fixed tint glass lenses
- Trapezoid chip capacitor
Triazole derivatives
- Turbo-molecular pump
Twin lobe impact mechanism
- Two-cycle engine
Ultrasonic transducer
- Unicycle for operation in water
Universal computer support bracket
- USB mobile disk-pen
Utility valve key
- Vacuum pump
Valve control means
- Valve lifter
Vascular retractor
- Vehicle
Vehicle air-conditioning system
- Vehicle axle control system
Vehicles for effecting a seal
- Video device with post-recordability
Video signal routing system
- Voltage control of integrated circuits
Wafer inspecting system
- Water skiing tow bridle construction
Water-insoluble amino acid salt
- Windshield wiper device for automobiles
Wire bonding apparatus
- Wire ion plasma electron gun
Worklight case
- X type electric welding machine
Y5V dielectric composition

The operation of the apparatus of FIG. 2A is described in accordance with the timing sequence of FIG. 2B.
When the initial reset signal RES is applied to the present watchdog timer, the flip-flops F.sub.1 and F.sub.3 are set and reset, respectively, then, the reverse output Q.sub.1 of the flip-flop F.sub.1 and the output Q.sub.3 of the flip-flop F.sub.3 become low level (L). Since no writing signal W.sub.T exists at that moment, the output Q.sub.2 of the flip-flop Q.sub.2 is undecided.
Next, when the writing signal W.sub.T (100) is applied to the present watchdog timer, the register 2 stores the preset data (DATA) corresponding to a preset time which is determined by a preset instruction, and at the same time, the flip-flop F.sub.2 is reset to provide low lever (L) at the output Q.sub.2, and the counter 4 is reset.
Next, when the start instruction is executed, the start signal (START) is applied to the start-stop control circuit 4', and the input clock pulses (P.sub.1, P.sub.2, P.sub.3, P.sub.4) are applied to the counter 4 and the flip-flops F.sub.1 and F.sub.2. The duration T.sub.1 which includes the input clock pulses P.sub.1, P.sub.2 and P.sub.3 corresponds to the preset time for the monitoring the operation of the program. Then, the counter 4 begins to be incremented from an initial value, and the reverse output Q.sub.1 of the flip-flop F.sub.1 becomes high level (H).
Next, when the preset time T.sub.1 elapsed, the coincidence signal M becomes a "high" level, and when the next input pulse P.sub.4 is provided, the reverse output Q.sub.1 becomes "low" level during the period T.sub.3 (see 13 in FIG. 2B), and the output Q.sub.2 of the flip-flop F.sub.2 becomes a "high" level. In a normal operation, the next preset instruction is executed during the coincidence signal output duration T.sub.3. Then, when the writing signal W.sub.T (15) is inputted, the register 2 presets DATA corresponding to the next preset time (T.sub.2), while the counter 4 and the flip-flop F.sub.2 are reset.
Since the reverse output Q.sub.1 of the flip-flop F.sub.1 is in "low" level, the output of the AND circuit G.sub.1 is "low" level. Since the output Q.sub.2 of the flip-flop F.sub.2 is also "low" level, both the outputs of the flip-flop F.sub.3 and the OR circuit G.sub.2 is "low" level. Therefore, no NG signal (alarm signal) appears at the output of the OR circuit G.sub.2.
Assuming that the writing signal W.sub.T (9) is provided during the preset duration T.sub.1 because of the upset of a computer, the AND circuit G.sub.1 outputs the "high" level signal since the output Q.sub.1 of the flip-flop F.sub.1 is in the "high" level. Therefore, the OR circuit G.sub.2 provides the NG signal 10 of a "high" level (see FIG. 2B) irrespective of the condition of the output Q.sub.3 of the flip-flop F.sub.3.
On the other hand, assuming that the writing signal W.sub.T (11) is provided after the preset duration T.sub.1 due to the upset of a computer, the AND circuit G.sub.1 provides the "high" level output as the output Q.sub.1 of the flip-flop F.sub.1 is "high" level. Therefore, the OR circuit G.sub.2 provides the "high" level NG signal (12).
Further, assuming that during the presence of the coincidence signal corresponding to a preset time, the next preset instruction is not executed due to the upset of a computer, and then a writing signal W.sub.T 16 is not inputted, the output Q.sub.3 of the flip-flop F.sub.3 becomes "high" level. Therefore, the OR circuit G.sub.2 provides the NG signal (17).
FIG. 3 shows a flow diagram of the micro-computer which includes the present watchdog timer. In the figure, the blocks B.sub.1 through B.sub.5 show the operation of a program to be monitored, and the preset durations A.sub.1 through A.sub.4 for monitoring said program execution durations B.sub.1 through B.sub.4, respectively, are preset in the watchdog timer.
The present watchdog timer is triggered at first by the start instruction (START). The box A.sub.1 includes the preset operation for monitoring the program B.sub.1, the box A.sub.2 includes the preset operation for monitoring the program B.sub.2, and the box A.sub.3 includes the preset operation for monitoring the program B.sub.3. The symbols C.sub.1, C.sub.2 and C.sub.3 show the instruction for stopping the operation of the watchdog timer, and those stop instructions stop the monitoring operation when the preset duration cannot be predicted because of the presence of the waiting instruction (D.sub.1) and the branch instruction (D.sub.2) in a processing program. After the waiting operation, or the branch opration, the monitoring operation can be restarted by the preset instruction A.sub.4 or A.sub.5. The stop instructions C.sub.2 and C.sub.3 stop the monitoring operation because of the end of the program operation.
As described above, according to the present invention, a preset time is stored in a watchdog timer, and when said preset time elapsed, the next preset time is stored, and all the possible errors of a computer including both the status that operation time is too early, and operation time is too slow can be detected. Therefore, the present watchdog timer can detect an error of a computer with very high accuracy.
Some modifications are possible to those skilled in the art. For instance, clock pulse .phi. may be divided to 1/2 or 1/3 so that the counter is incremented for every two or three clock pulses.
From the foregoing it will now be apparent that a new and improved watchdog timer has been found. It should be understood of course that the embodiment disclosed is merely illustrative and is not intended to limit the scope of the invention. Reference should be made to the appended claims, therefore, rather than the specification as indicating the scope of the invention.
|