A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
I. Background of the Invention
A. Field of the Invention
The present invention is generally related to meters, and more specifically, relates to disposing a meter register in a default mode.
B. Related Art
A meter register uses many operating parameters which may be altered by use of a programmed device to tailor the operation of the register to a specific application. As a result, there are thousands of possible configurations that can be obtained for a single register.
To simplify major changes in operation, it is advantageous to have a method and apparatus of returning the register to a state in which all the values of all the programmable parameters are in a default state. In known registers, this operation was accomplished by removal of AC and battery power.
Current generations of meter registers, however, utilize non-volatile memories in which programmable parameters may be preserved even in the absence of both AC and battery power. A need exists, therefore, for a method and apparatus for disposing such registers in a default state.
Ii. Summary of the Invention
The present invention comprises means for mechanically initiating a meter register reset and means for resetting the register programmable parameters to default values upon initiation of the register reset. Particularly, in one embodiment, by mechanically depressing switches accessible from external the meter in a predetermined manner, register function bytes implemented in software are set to some unknown (RESET) value. Subsequent to mechanically depressing the switches, the register performs an initialization function. During the initialization operation, if the register function bytes do not match a predetermined set of values (i.e., a value for time-of-use and demand, demand only, or unprogrammed), then the programmable parameters of the register are set to default values.
The present invention does not require, in the one embodiment, the addition of any mechanical components to a commercially available meter register. Further, by utilizing a sufficient number of bytes for the register function bytes (in one embodiment, five (5) bytes are utilized), the odds of a match between the pre-determined value and the randomly set bytes is low (for five (5) bytes, the odds are 1099511627776:1).
Brief Description of the Drawings
These and other objects of the present invention, together with further features and advantages thereof, will become apparent from the following detailed specification when read together with the accompanying drawings, in which:
FIG. 1 view of a meter bezel;
FIG. 2 is a block diagram illustration of the interconnection between the switches shown in FIG. 1 and the meter register; and
FIG. 3 is a flow chart illustrating process steps in accordance with one embodiment of the present invention.
Detailed Description of the Drawings
Referring now to FIG. 1, a front view of a meter bezel 10 is shown. Mounted to the bezel 10 is a register display 12 such as a liquid crystal display (LCD), and three switches 14 A-C. The switch 14A is a reset switch, the switch 14B is the test switch, and the switch 14C is the display switch. Such a meter bezel is well-known in the art and commercially available, for example, from General Electric Company, Meter & Control Business Department, Somersworth, N.H.
As illustrated in FIG. 2, each switch 14 A-C is coupled to a register micro-controller 16. The switches 14 A-C, as shown, are biased open. Through a reference voltage (e.g., +5 V) and a resistor (R1-R3) network, when one of the switches 14 A-C is depressed, the micro-controller 16 receives a 0 V pulse input on a corresponding input pin. As is well-known in the art, for example, when the reset switch 14A is depressed, the micro-controller 16 causes "demand" values to be reset. Similar well-known operations are associated with the other switches.
In accordance with the present invention, and pre-stored in the memory 15 forming part of or coupled to the micro-controller 16, are five (5) bytes, collectively referred to as the register function 17, which are used by the micro-controller 16 to determine whether the register 13 has been programmed. Specifically, when the meter register 13 has been programmed, and as part of the programming operation, the register function 17 is set to a known, pre-determined value. At initialization after power-up, the register function 17 value is compared with the known values associated with respective modes of operation, and if the values do not match a recognized value, then the register 13 self-programs its non-volatile EEPROM 15 with a set of default values that are stored in ROM 19. The register function 17 is then set to "UNPRG" for unprogrammed.
By using five (5) bytes, the probability that the non-volatile memory's random contends will match the known state, thereby leading to an erroneous conclusion, is small. Particularly, with the five (5) bytes, the odds of a match randomly occurring are 1099511627776:1.
To return the register 13 to the default values, the present invention provides a means for manual initialization so that the default values will be programmed into the EEPROM 15. The manual initialization is followed by self-programming of the default values into the EEPROM 15 and is referred to herein as the register reset.
To manually initiate register reset in accordance with one embodiment of the present invention, the three switches 14 A-C are pressed in unison for a period of time greater than fifteen (15) seconds. When this occurs, the micro-controller 16 changes the register function 17 to a value (RESET) that does not match the pre-stored values such as values assigned to time-of-use and demand and demand only modes of operation.
When the register initialization function is executed, there will not be a match between the pre-stored value and the register function 17. When there is no match, then the default values are used for the programmable register values.
A common reason for resetting a register 13 is when the register password is lost or forgotten. Each register has a password to provide security against unauthorized access. Once a user forgets a password, access to change the password cannot be provided until either the user remembers the password, finds the password by trial and error, or resets the register 13 to default values. The password, of course, is one of the programmable register parameters.
Since resetting the register 13 provides a means for access to the register 13 without knowing the password, it is advantageous to know if a reset has occurred. Therefore, the number of EEPROM writes is not reset by the register reset. The means by which is this accomplished is by changing the register function 17 to a state unrecognized by the initialization check but recognizable by the routine which downloads the default values. When the default values are downloaded for the first time after manufacture, the register function 17 is unrecognizable to both the initialization sequence and the routine which downloads the default values. When the routine which downloads the default values does not recognize the value of the register function 17, it resets the number of EEPROM writes to zero. After a register reset, the initialization sequence will not recognize the register function 17, so it will cause the default values to be downloaded, but the routine which downloads the default values will recognize the register function 17, so even though it downloads all of the other default values it will not reset the number of EEPROM writes to zero. Thus the number of EEPROM writes will always be accurate even if the register 13 is reset.
FIG. 3 is a flow chart 20 illustrating process steps in accordance with one embodiment of the present invention. Subsequent to starting operations as indicated at a start legend 22, the first test is to determine whether the test, display and reset switches are pressed as indicated at a step 24. If the switches are not pressed, then the register reset position is set to UP as indicated at step 26 and operations then end as indicated at an end legend 28. If the switches are pressed, then the next step 30 is to determine whether the register reset position is DOWN. If the register reset position is not down, then the register reset position is set to DOWN as indicated at step 32 and the register reset timer is set to fifteen (15) seconds as indicated at step 34. Operations then end as indicated at step 28.
If the register reset position is DOWN, then the next step 36 is to determine whether the register reset timer has expired, i.e., timed-out, as indicated at a step 36. If the register reset timer has not expired, then operations end as indicated at end legend 28. If, however, the register reset timer has expired, then the register function 17 is set to RESET as indicated at step 38. The system then proceeds to the initialization task as indicated at step 40.
A pseudo code explanation of the present algorithm is provided in Appendix A.
While the present invention has been described with respect to specific embodiments, many modifications, variations, substitutions, and equivalents will be apparent to those skilled in the art. Accordingly, the invention is to be considered as limited only by the spirit and scope of the appended claims.