Abstract:
A monitor circuit which discriminates between valid and invalid (bouncing) changes in state of monitored sense points. A microprocessor periodically scans a plurality of sense points, logically determines the validity of each sense point during each scan and stores data representing the validity of these sense points in a memory.

Description:
FIELD OF THE INVENTION 
     The present invention relates to monitor circuits and more particularly to a sense point monitor circuit. 
     BACKGROUND OF THE INVENTION 
     Sense point monitor circuits are commonly connected to switch or relay contacts. These circuits typically include a delay or feedback circuit connected to the associated switch or relay contact. The output signals provided by these circuits then represent the valid (debounced) state of the associated switch or relay contact. However, such an arrangement, with delay or feedback circuitry connected to each sense point, becomes expensive as the number of monitored sense points increases. 
     Accordingly, it is the object of the present invention to provide a novel sense point monitor circuit without the requirement of delay or feedback circuitry. 
     SUMMARY OF THE INVENTION 
     In accordance with the present invention, a sense point monitor circuit is provided. This circuit is connected to a plurality of sense points each operative to provide a status signal of a first or second characteristic, and it includes processing means having a plurality of first, second and third storage locations. This processing means is operative to periodically scan each sense point and store the status signal of each scanned sense point in an associated first storage location. It is further operative to transfer the contents of the first storage location to an associated second storage location prior to each subsequent scan of the sense point. 
     The processing means is further operative in response to a signal of the first characteristic from the associated first and second storage locations to store a resultant signal of a first characteristic in an associated third storage location. 
     It is further operative in response to a signal of the first characteristic from the associated first and third or second and third storage locations to store the resultant signal of a first characteristic in the associated third storage location. 
     The processing means is further operative in response to a signal of the second characteristic from the associated first and second or first and third or second and third storage locations to store a resultant signal of a second characteristic in said associated third storage location. 
    
    
     DESCRIPTION OF THE DRAWING 
     The single FIGURE of the accompanying drawing is a block diagram of a sense point monitor circuit in accordance with the present invention. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     Referring now to the accompanying drawing the sense point monitor circuit of the present invention is shown. MICROPROCESSOR 10 is connected to sense points SP1-SPn, SCRATCH PAD MEMORY 20 and random-access-memory (RAM) 30. PROCESSOR 10, SCRATCH PAD MEMORY 20 and RAM 30 operate as a processing circuit. Sense points SP1-SPn typically include switch or relay contacts. 
     MICROPROCESSOR 10 periodically scans sense points SP1-SPn. The status of the sense points are then stored in words of SCRATCH PAD MEMORY 20 designated as current status (CS) words. Before the next scan, the data in the current status words are transferred to words of RAM 30 designated as last status (LS) words. On the next scan of the sense points PROCESSOR 10 again stores the current status of the sense points in the CS words. This current status data is then logically compared to the data in the last status words and the resultant data is stored in words of RAM 30 designated as debounced status (DS) words. Then, MICROPROCESSOR 10 again moves the data in the CS words to the LS words in preparation for the next scanning and comparison cycle. 
     On each subsequent scan of the sense points, MICROPROCESSOR 10 first scans the sense points, then stores data representative of their status in the CS words, logically compares that data to the data in the LS and DS words, and compares the data in the LS words to the data in the DS words. The data resulting from these comparisons represents the new debounced status of the sense points and that data is stored in the DS words. MICROPROCESSOR 10 then moves the data in the CS words to the LS words. 
     Thus, on each scan, MICROPROCESSOR 10 updates the debounced status of the sense points. MICROPROCESSOR 10 debounces the sense points by changing the associated data in the DS words only when a change in status of a sense point remains constant for at least as long as the time period required for two successive scans of the sense point. If the status of a sense point is not constant for at least two successive scans, it is considered to be noise and is ignored. 
     For example, MICROPROCESSOR 10 writes a logic level 1 (resultant signal of a first characteristic) into a bit of the debounced status word (third storage location) associated with a particular sense point when the associated bit of the current status and last status words (first and second storage locations) for that sense point are both at a logic level 1 (status signal of a first characteristic). This process is logically represented as NDS=LS·CS (equation 1) where NDS=new debounced status. The new debounced status and current status data are then written into the DS and LS bits, respectively. Under these conditions, the state of the DS bit is irrelevant since the data in the DS bit was either already at a logic level 1 or it is being changed from a logic level .0. (resultant signal of a second characteristic) to a logic level 1 in response to a valid change in status of the associated sense point. 
     MICROPROCESSOR 10 also writes a logic level 1 into a sense point&#39;s debounced status bit when the last status and debounced status bits for that sense point are both at a logic level 1. This process is logically represented as NDS=LS·DS (equation 2). Again, the new debounced and current status data are then written into the DS and LS bits respectively. Under these conditions, the state of the CS bit is irrelevant since the sense point is either bouncing, and the CS bit will be at a logic level .0. (status signal of a second characteristic) for only one scan, or the CS bit remained at a logic level 1, causing equation 1 to also write a logic level 1 into the DS bit. Another alternative is that a valid change will be detected on the next scan. 
     MICROPROCESSOR 10 also writes a logic level 1 into the debounced status bit of a sense point when the current status and debounced status bits for that sense point are both at a logic level 1. This process is logically represented as NDS=CS·DS (equation 3). Again, the new debounced and current status data are written into the DS and LS bits, respectively. Under these conditions the state of the LS bit is irrelevant since the data in the LS bit either represents noise (one scan at a logic level .0.) or the CS bit remained at a logic level 1, causing equations 1 and 2 to also write a logic level 1 into the DS bit. 
     Obviously, if neither equations 1, 2 nor 3 cause a logic level 1 to be written into the DS bit, then a logic level .0. will be written there. These three equations can be combined into an equation 4 as follows: 
     
         NDS=(LS·CS)+(LS·DS)+(CS·DS) 
    
     The various logical conditions resulting from this equation are summarized in the following table, which shows all possible data combinations on each successive scan. 
     
         ______________________________________Debounced Last      Current  New DebouncedStatus    Status    Status   Status______________________________________DS        LS        CS       NDS0         0         0        00         0         1        00         1         0        00         0         1        00         1         1        11         1         1        11         1         0        11         0         1        11         1         0        11         0         0        0______________________________________ 
    
     As previously described and as indicated in this table, the NDS and CS data of any particular scan are written into the DS and LS bits before the next scan. 
     Thus, the sense point monitor circuit of the present invention periodically scans connected sense points and updates the debounced status bit for each sense point on each scan. 
     It will be obvious to those skilled in the art that numerous modifications of the present invention can be made without departing from the spirit of the invention which shall be limited only by the scope of the claims appended hereto.