Abstract:
A remote reset circuit acts as a stand-alone monitor and controller by clocking in each character sent by a terminal to a computer and comparing it to a given reference character. When a match occurs, the remote reset circuit activates the system&#39;s hardware reset line. The remote reset circuit is hardware based centered around monostable multivibrators and is unaffected by system crashes, partial serial transmissions, or power supply transients.

Description:
BACKGROUND OF THE INVENTION 
     The present invention relates generally to a computer remote reset system and in particular to a software independent remote reset circuit. This invention is the result of a contract with the Department of Energy (Contract No. W-7405-ENG-36). 
     Computer systems based on a common bus, such as S-100, VME, or Multibus ® are widely used in the industry for a variety of applications ranging from control systems to software development stations. In addition, many home and personal computers are based on similar buses. Often it is convenient, and sometimes necessary, to physically separate the system&#39;s terminal or terminals from the computer. For example, in a system used for software development or user services the user may wish to have access through the telephone or long distance lines. In control applications, the computer system may be located in a harsh environment and must be isolated from the operator. If the user is near the system, a reset is just a push of the switch. If, however, the user is at a remote terminal or communicating through a telephone link, a reliable reset is difficult to provide. 
     In some computer systems the operating system software supports a reset from a remote terminal. In many cases, however, the software under development may cause the system&#39;s software to crash. As a result, the computer may fail to respond to the terminal, thus rendering the software supported reset function useless. 
     It is therefore an object of the present invention to provide a remote reset circuit that is completely independent of software. 
     It is another object of the present invention to provide a stand-alone remote reset circuit that is independent of other system hardware such as the UART or other terminal communications devices. 
     It is yet another object of the present invention to provide a remote reset circuit for which a system crash will not affect the availability of a user initiated system reset. 
     SUMMARY OF THE INVENTION 
     To achieve the foregoing and other objects, and in accordance with the purposes of the present invention, as embodied and broadly described herein, the apparatus of this invention may comprise a remote reset circuit acting as a stand-alone monitor and controller by clocking in each character sent by a terminal to a computer and comparing it to a given reference character. When a match occurs, the remote reset circuit activates the system&#39;s hardward reset line. The remote reset circuit is hardware based and designed around monostable multivibrators. As such, it is unaffected by system crashes, partial serial transmissions, or power supply transients. 
     An advantage of the present invention is that the remote reset circuit is hardware oriented and does not require software configuring or initialization. 
     Another advantage of the present invention is that the remote reset circuit has an easily selectable reset character. 
    
    
     Additional objects, advantages and novel features of the invention will be set forth in part in the description which follows, and in part will become apparent to those skilled in the art upon examination of the following or may be learned by practice of the invention. The objects and advantages of the invention may be realized and attained by means of the instrumentalities and combinations particularly pointed out in the appended claims. 
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The accompanying drawings, which are incorporated in and form a part of the specification, illustrate an embodiment of the present invention and, together with the description, serve to explain the principles of the invention. In the drawings: 
     FIGS. 1A and 1B together form a logic diagram of an embodiment of the remote reset circuit of the present invention; 
     FIG. 2 is a layout diagram for the embodiment of FIGS. 1A and 1B; 
     FIG. 3 is a logic diagram illustrating a method for inputting the embodiment of FIGS. 1A and 1B from RS-232 connectors; and 
     FIG. 4 is a timing diagram for the remote reset circuit of FIGS. 1A and 1B. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     For the purpose of this description, a tilde (˜) before a signal name indicates the inverted version of that signal, e.g., ˜Tsync is the inverse of Tsync. A slash (/) after a signal name indicates that the signal is active low, e.g., RESET/ is active, or asserted at a low logic level. 
     To understand the operation of the invention, assume that the multibus ® computer system remote reset circuit, shown in FIGS. 1A and 1B, has had no input for an arbitrarily long time. With no input, the RxD line is high. RxD is brought in at input connection 10, inverted in inverter 11 and logically ANDed in AND gate 13 with the clear signal (CLR) as inverted by inverter 15. The CLR (T1) is provided from a one-shot 17, and is normally low. Assuming that the one-shot 17 has timed out, and that CLR is indeed low, RxD is sent through AND gate 13 and inverter 19 to shift register 21 data input INA and to a second one-shot 25. A falling edge of RxD indicates a start bit, and triggers the second one-shot 25. The active high output Q of the second one-shot 25 enables and synchronizes timer 27 to provide an output of the Tsync clock. The Tsync clock output provides the clk input for shift register 21 and is inverted by inverter 30 to provide the ˜Tsync clock which is fed through AND gate 34 and JP4 to the B input of one-shot 17. Because of the duration (T2) of the second one-shot 25, the Tsync clock will be enabled long enough to clock in the start bit and all 7 data bits. Tsync is fed into the shift register 21 and ˜Tsync into the bit counter 23. Since the shift register 21 clocks data in on the rising edge of Tsync, bits are sampled in the approximate center. This allows for settling time. The bit counter 23 counts the number of samples (rising edges of Tsync, falling edges of ˜Tsync) and sets the QD output of bit counter 25 high when it counts to 8. This QD output of bit counter 25 enables ˜Tsync to the B input of the first one-shot 17. The next falling edge of Tsync (rising edge of ˜Tsync), after the 8th sample, triggers the first one-shot 17 to provide the CLR pulse. CLR clears the bit counter 23 and blocks RxD. By blocking RxD, a false state cannot occur at the fall of bit number 7, parity bits, stop bits, or noise at the end of the character. ˜CLR from second one-shot 25 clears the T2 pulse before time-out. Time-out is provided, however, to prevent hang-up in the event of partial transmission or transmission errors. In addition, the second one-shot 25 is used for T2 to ensure powering up in a known state. The fall of CLR indicates the end of the character, and the remote reset circuit of the present invention waits for the next fall of RxD. Returning now to shift register 21, the parallel date is brought out to two magnitude comparators 27 and 29 and is compared to the reference character set by switches S1-S7. The 8th bit of the reference character is tied high (B3 of 29), and the QD output of bit counter 25 is tied to A3 of magnitude comparator 29. This assures that a match cannot be found until all bits have been clocked in. (The start bit is thrown away, so the comparison is done between the reference character plus one high bit and the seven transmitted bits plus QD of bit counter 23.) If no match is found, the character is ignored, and no reset is generated. If a match is found, the A=B output of magnitude comparator 29 goes high and triggers timer 31 through inverter 33. Timer 31 is a 555 timer set up in monostable mode, with a pulse time of approximately 10 ms. This 10 ms pulse is fed through an open collector inverter 35 to provide the reset pulse. RESET/. 
     The remote reset circuit of the present invention above described for Multibus ® based systems may be embodied in several implementations. The circuit may be implemented on a logic card, see FIG. 2, which plugs into the system bus. The data input may be taken from a RS-232 jumper, or from the input to the system&#39;s UART. The logic card need not be a full size board since the logic occupies little space and needs access to only the bus power (VCC), ground, and hardware reset lines. Otherwise, the logic card can be plugged into a bus, other than Multibus ®, with either a RS-232 or TTL compatible data input. The logic may also be incorporated as a part of the CPU or serial communications printed circuit board. Finally, the logic may be incorporated as a part of the serial communication integrated circuit (UART or USART). 
     If the data is TTL data, the UART RxD TTL input may be inputted directly to the RxD input 10. Alternatively data may be pulled from RS-232 connectors and fed through an inverter 37 to the RxD input 10, see FIG. 3. 
     The remote reset circuit of the present invention may be set for use at any rate from 300 to 9600 Baud in the above-described embodiment. The following Baud rate timing adjustments must be made: 
     Tsync clock must be set for the Baud rate frequency; e.g., for 300 Baud, set Tsync for 300 Hz; Clear pulse (T1) must be set to 1.5 X Tsync period, ±20%; and Enable pulse (T2) must be set to 10 X Tsync period, ±20%; see FIG. 4. 
     With reference again to FIG. 1, the Baud rate is set by first removing the jumper plug JP1 and tying timer 27 RST terminal high (+5 volts). While observing Tsync on timer 27 OUT terminal, R1 and R2 are adjusted for a square-wave of the Baud rate frequency. Preferably the timer 27 is an NE555 timer. In some cases C3 will also have to be changed to achieve the desired square-wave frequency. 
     Second, replace jumper plug JP1 and remove jumper plugs JP2 and JP3. Then connect a TTL square-wave generator with a period of 10 X Tsync period to the one-shot 25 at input A and tie the one-shot 25 clear (CLR) high (+5 volts). At the falling edge of the signal at one-shot 25 input A, observe an active low pulse at test point TP1. Set R3 and C6 such that the low pulse is equal in duration to time T1. 
     Remove JP4 and connect a TTL square-wave generator with a period of approximately 20 X Tsync period to one-shot 17 input B. A rising edge of the signal on one-shot 17 input B initiates an active low pulse at one-shot 17 output Q. Set R4 and C5 so that the duration of the low pulse at one-shot 17 output Q is equal to time T2. Then, remove the signal generator, and replace jumper plugs JP2, JP3, and JP4. 
     Select the character to be used as a reset character, and set switches S1-S7. Although any 7-bit ASCII character may be used as the reset character, an unassigned control key sequence is suggested. This helps prevent unintentional resets. The open position sets the bit to a &#34;1&#34; and the closed position sets it to a &#34;0&#34;, thus S1-S7 are set to the binary representation of the reset character. S1 sets bit 0, S2 bit 1, and so forth. 
     If the remote reset circuit is implemented on a logic board, plug the board into an unused bus slot and connect the data input to the appropriate point in the system. This may be a connector to the RS-232 input, or a jumper to the TTL RxD input of the system UART as described hereinabove. 
     To use the remote reset control, type the selected reset character on a terminal keyboard and observe the system reset. 
     In the preferred embodiment, components and elements may be selected as follows: 
     
         ______________________________________COMPONENT    PART #    DESCRIPTION______________________________________27           NE555     Timer31           NE555     Timer17, 25       74LS221   Dual One-Shot11, 15, 19,  74LS05    Hex Open Collector30, 33, 35             Inverter23           74LS293   4-Bit Binary Counter21           74LS164   8-Bit Parallel                  OutPut Shift                  Register13, 34       74LS08    Quad AND Gate28           74LS85    4-Bit Magnitude                  Comparator29           74LS85    4-Bit Magnitude                  Comparator37           DS1489    RS-232 to TTL Converter                  optional)S1-S7                  Dip SwitchR1-R4                  100K Trim Pot, 10 TurnR5, R18                10K 1/4 Watt ResistorR6-R10                 5.1K 1/4 Watt ResistorR11-R17                3.3K 1/4 Watt ResistorC1, C6                 luf Ceramic Capacitor                  35 WVDCC2, C4                 6800 ph Ceramic                  Capacitor, 35 WVDCC3                     0.1 uf Ceramic Capacitor,                  35 WVDCC5                     0.47 uf Ceramic                  Capacitor, 35 WVDC______________________________________ 
    
     The foregoing description of the preferred embodiment of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and obviously many modifications and variations are possible in light of the above teaching. The embodiment was chosen and described in order to best explain the principles of the invention and its practical application to thereby enable others skilled in the art to best utilize the invention in various embodiments and with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the claims appended hereto.