Not Applicable
Not Applicable
The present invention pertains to a timekeeping system commonly used in schools, hospitals, offices and industrial applications.
Many timekeeping systems are comprised of a master clock driving one or more “slave” or secondary clocks that are periodically updated to be time synchronous to the master. Older systems did not have the benefit of microprocessor technology, as do units produced today. In modern systems, both the master and secondary clocks frequently contain microprocessors, and it is advantageous to utilize this intelligence when performing installation and time correction. Secondary clocks in these systems may have either the traditional analog face or a digital display, or both.
Normally, timekeeping systems have several protocols, such as sync-wire 59 minute correction, sync-wire 58 minute correction, sync-wire National Time and Rauland correction, 2-wire digital communication, 3-wire digital communication, RS-485, and others. Currently, there are upwards of 40 or 50 different protocols in use around the world. Some are quite common whereas others are rarely used. These protocols frequently operate sending one or more voltage pulses from the master clock to the secondary clocks or sending data transmission from the master clock to the secondary clock. Depending on the protocol, the pulses vary in signal timing, such as pulse width, repetition rate, etc., that add complication when the system is first installed or new secondary clocks are later added to the system. Each secondary clock is capable of several protocols that must be set correctly at the time of installation.
Currently during system installation and correction, there are no tools available that automatically detect and select the correct protocol at the secondary clocks. In Blount et al. U.S. Pat. No. 6,205,090, there is disclosed an adjustable master/slave clock system having a time keeping correction apparatus that may be used to select among several time keeping correcting schemes, such as a 59th minute correction scheme, a 58th minute correction scheme and a National Time correction scheme. The correction scheme is not, however, automatically detected or selected by the clock system itself. Rather, the particular scheme desired must be manually selected by a user, such as with a switch. This is a time-consuming and error-prone chore for the user, particularly if numerous secondary clocks, each based on a different protocol, are added to the system after initial installation.
To overcome the disadvantages of the prior art, disclosed is a method for automatically detecting and selecting a time correction protocol and a time base, from among many possible protocols, in a master/slave clock system. A “self-teaching” feature is also disclosed, which includes a table stored at the slave clock containing data representative of characteristics, such as the relative frequency and spacing, of each one of numerous different time correction pulses that can be received by the slave clock from the master clock. Each time a pulse pattern from the master clock is sensed by the slave clock, the relative frequency and temporal spacing of the input pulses are stored in a statistical buffer. Then, at a time of time correction, the slave clock selects the protocol most likely being used by the master clock, based on historical data stored in a statistical buffer at the slave clock. The time displayed by the slave clock is then updated.
More particularly, in one embodiment, the invention comprises a master/slave clock system, comprising:
a master clock coupled to at least one slave clock, the master clock including means for transmitting a plurality of pulses to the slave clock; and
means within the slave clock for receiving the plurality of pulses and storing historical data descriptive of the pulses.
In another embodiment, the invention comprises a master/slave clock system for the automatic detection and selection of time-correction protocols, comprising:
a master clock coupled to at least one slave clock, the master clock including means for transmitting a plurality of pulses in a pattern representative of a time correction protocol used by the master clock;
means at the slave clock for receiving the pulses and storing data representative of characteristics of the pulses received at the slave clock;
means at the slave clock for performing an analysis of the data at the slave clock to determine which time correction protocol has been used most frequently by the master clock during a predetermined period of time in the past;
means at the slave clock for selecting the protocol for the slave clock that best matches the protocol determined to be in use by the master clock; and
executing the protocol at the slave clock so as to synchronize a time displayed by the slave clock with a time displayed by the master clock.
In another embodiment, the data stored at the slave clock includes data representative of one or more of the following characteristics of the pulses: frequency of occurrence of the pulses, width of the pulses, time between pulses, polarity of the pulses, and whether the pulses are sent by AC or DC current.
In another embodiment, the protocol used by the master clock comprises any one of the following protocols: 58th minute correction, 59th minute hourly correction, 59th minute daily correction, National Time and Rauland hourly correction, or National Time and Rauland daily correction, or impulse correction.
In another embodiment, the protocol selected for the slave clock is displayed at the slave clock.
In another embodiment, the protocol for the slave clock is selected whether or not the pulse pattern displays normal or inverted electrical signal polarity
In another embodiment, the invention comprises a clock adapted for use in a master/slave clock system, comprising:
a slave clock including a microprocessor and means for displaying time; and
means within the slave clock for receiving a plurality of pulses transmitted by a master clock and for storing historical data representative of characteristics of the pulses.
In another embodiment, the invention comprises a clock for use in a master/slave clock system, comprising:
a slave clock adapted to be coupled to a master clock;
means at the slave clock for receiving a plurality of time correction pulses sent by the master clock in a pattern representative of a time correction protocol used by the master clock;
means at the slave clock for storing data representative of characteristics of the pulses received at the slave clock;
means at the slave clock for performing an analysis of the data at the slave clock to determine which time correction protocol has been used most frequently by the master clock during a predetermined period of time in the past;
means at the slave clock for selecting the protocol for the slave clock that best matches the protocol determined to be in use by the master clock; and
executing the protocol at the slave clock so as to synchronize a time displayed by the slave clock with a time displayed by the master clock.
In another embodiment, the invention comprises a clock for use in a master/slave clock system, comprising:
a slave clock adapted to be coupled to a master clock; and
means at the slave clock for automatically displaying a time correction protocol in use by the slave clock.
In another embodiment, the invention comprises a clock for use in a master/slave clock system, comprising:
a slave clock adapted to be coupled to a master clock; and
means at the slave clock for automatically detecting a 50 Hz or 60 Hz time base.
In another embodiment, the invention comprises a clock for use in a master/slave clock system, comprising:
a slave clock adapted to be coupled to a master clock; and
means at the slave clock for receiving a plurality of time correction pulses from the master clock and for automatically displaying the pulses in real time as the pulses are being received by the slave clock.
In another embodiment, the invention comprises a method for automatically detecting and selecting a time correction protocol for use within a master/slave clock system, comprising the steps of:
(a) receiving a plurality of pulses in a pattern sent by a master clock to a slave clock, each pattern representing one of a plurality of time correction protocols; and
(b) storing data at the slave clock, the data representative of characteristics of the pulses received at the slave clock during a predetermined period of time in the past.
In another embodiment, the invention comprises a method for automatically detecting and selecting a time correction protocol for use within a master/slave clock system, comprising the steps of:
(a) receiving pulse patterns sent by a master clock to a slave clock, each pulse pattern representing a time correction protocol used by the master clock;
(b) storing data at the slave clock, the data representative of characteristics of the pulse patterns received at the slave clock during a predetermined period of time in the past;
(c) performing an analysis of the data at the slave clock to determine the protocol most likely in use by the master clock;
(d) selecting a time correction protocol for the slave clock that has the highest probability of being the protocol used by the master clock in the past, via continuous self-teaching and analysis of the data; and
(e) automatically synchronizing a time displayed by the slave clock with a time displayed by the master clock using the protocol for the slave clock.
In another embodiment, the invention comprises a master/slave clock system for the automatic detection and selection of time-correction protocols, comprising:
a master clock coupled to at least one slave clock, the master clock including means for transmitting pulses to the slave clock representative of a time correction protocol, and the slave clock including means for receiving the pulses;
a microprocessor within the slave clock and operating under the control of software stored within a memory in the microprocessor, the microprocessor configured to control slave clock functions;
a memory within the slave clock for storing data representative of characteristics of the pulses received at the slave clock;
a processor at the slave clock for performing an analysis of the data at the slave clock to determine which pulse patterns have been transmitted most frequently by the master clock in the past; and
whereby the microprocessor is further configured to automatically select a particular time correction protocol that has the highest probability of being the protocol used by the master clock during a predetermined period of time in the past, via continuous self-teaching and analysis of the data, and to automatically synchronize a time displayed by the slave clock with a time displayed by the master clock using the selected protocol.
These and other features and advantages of the invention will now be described with reference to the drawings of certain preferred embodiments, which are intended to illustrate and not to limit the invention, and in which like reference numbers represent corresponding parts throughout, and in which:
Summary of Features
Some of the significant features of a preferred embodiment of the present invention may be summarized as follows: First, software functionality contained in the secondary or slave clocks of a timekeeping system (see
Second, software functionality contained in the secondary clocks includes the capability to optionally display the communication protocol selected by the secondary clock. This display may include, but is not limited to, the hands of the analog clock movement or an encoded message via a LED or equivalent device.
Third, software functionality contained in the secondary clocks includes the capability to allow the scanning of communication protocols to be used by the process described above. input (time correction or protocol) pulses received from the master clock. Data representative of one or more of the following characteristics are stored: frequency of the pulses, width of the pulses, time between pulses, polarity of the pulses, and whether the pulses are sent by AC or DC current. In another feature of the invention, a table 61 is included in a memory, preferably Program Memory 23, which is preferably a nonvolatile memory. Table 61 is a dedicated area for the storage of data representative of standard pulse characteristics used for all known standard protocols, including but not limited to: 58th minute correction, 59th minute hourly correction, 59th minute daily correction, National Time and Rauland hourly correction, National Time and Rauland daily correction, and impulse correction. Such data is entered into table 61 at the time of manufacture of the slave clock, or prior to installation or activation of the slave clock.
Method of Operation
Referring now to
Fourth, software functionality contained in the secondary clocks includes the capability to receive information about the communication protocol as sent by the master clock during installation.
Fifth, the invention also has the capability to check for the best protocol even if the pulse data is inverted.
Turning now to the drawings,
Pulse Pattern Detection, Self-Teaching and Protocol Selection
By way of background, most institutional time clock systems require a protocol so that individual secondary/slave/wall clocks become and stay synchronized with the master clock. Occasionally, the slave clocks may become unsynchronized. To correct this, the master clock will periodically send patterns of electrical pulses to the slave clocks at a time of time correction. The particular pattern of pulses, such as an 8-second pulses followed by a 14-second pulse, represents a particular communication protocol that is being used for the time correction. Some systems use patterns of “on” and “off” times or reverse polarity of an electrical signal as the basis of this protocol.
Many different pulse patterns and protocols exist, for example 58th minute correction, 59th minute hourly correction, 59th minute daily correction, National Time and Rauland hourly correction, National Time and Rauland daily correction, and impulse correction. If a new secondary clock is added to the system, the user may not know in advance which type of protocol is being used by the master clock. Thus, a need exists for a slave clock that is able to adapt to many different types of protocols.
In addition, some of the pulse patterns for different protocols are quite similar. Thus, unless measures are taken, this similarity may cause errors at the slave clock if the slave clock is using a different protocol than the master clock. Other difficulties may be presented if the width of the pulses from the master clock is not wide enough or within the tolerance for accurate detection by the slave clock. In addition, different master and slave clocks may be connected to the system at different times. Thus, a need exists for a method using a statistical distribution of pulse patterns to allow any slave clock to detect and select the protocol in use by any master clock currently in use on the system.
In a feature of the invention, Pulse Pattern Detection (PPD) is an algorithm in the wall or secondary clock to automatically identify which pulse-based protocol is in use by the master clock. This algorithm is illustrated in
The PPD algorithm is executed whenever the slave clock notes a changed electrical signal received from the master clock (either AC or DC). The slave clock provides two input parameters to the algorithm: the elapsed time since the last electrical signal change, and the new signal state (on or off). In turn, the algorithm provides two return values: the protocol type detected and the specific type of pulse within the context of the protocol. It is possible that the received signal was not recognizable, or was invalid within the context of the current active protocol; the algorithm can indicate these situations in the return value.
As shown in
Second, if the pulse was of a known type, the algorithm updates statistics in the statistical buffer 26 (see
At the end of each 24-hour statistics period, the algorithm compares data in the statistical buffer 26 with data in the table 61 to calculate and determine the “winning” protocol (i.e., the protocol most likely to be in use by the master clock) for the day by finding the best match to the pulse statistics collected that day. At all times, the algorithm remembers the winning protocols for the previous three days. When one particular protocol wins for three consecutive days, it becomes the active protocol for the clock. This data is also stored in the statistical buffer.
If the slave clock has been in operation for less than three days, the algorithm applies a special rule to enable the clock to synchronize “out of the box” without waiting for three days to elapse. In such cases, the algorithm selects the active protocol based on which protocol best matches the ongoing pulse statistic for the current 24-hour period.
A more detailed description of flowchart operations follows. Looking first at
At step 99, the invention identifies the pulse type using the time elapsed since the last signal change. Then, at decision block 100 in
Next, at step 115, it is determined whether a day boundary has just passed. If so, the current day's protocol “winner,” or most likely protocol in use by the master clock, is calculated and recorded at step 120, and the protocol counters in the statistical buffer are reset. If the day boundary has not passed, then it is determined at step 135 whether the slave clock has been in operation less than three days. If so, the current “winning protocol” is calculated, and a new active protocol is set if needed, at step 140, and operation proceeds to step 80. At step 125, the invention determines whether the same protocol “winner” has been selected for the past three days. If so, then the invention assumes that this is the correct, permanent, active protocol. Then operation proceeds to step 80.
At step 80, after the appropriate protocol has been selected, then, at a predetermined time, time correction operation is automatically executed at the slave clock. Here, the slave clock hands are automatically moved (or the time is otherwise adjusted) to make an hourly or daily correction in accordance with the selected protocol. The system then returns to normal clock mode at step 30.
In summary, the present invention introduces considerable intelligence into a slave clock. The slave clock is not limited to only one protocol, and the protocol does not have to be manually set or pre-programmed by an operator. Accordingly, considerable versatility is introduced into master-slave clock systems.
This application is entitled to the benefit of U.S. Provisional Patent Application Ser. No. 60/434,626, filed Dec. 19, 2002, and U.S. Provisional Patent Application Ser. No. 60/439,586, filed Jan. 13, 2003. Such applications are incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
5323803 | Blumenauer | Jun 1994 | A |
5805530 | Youngberg | Sep 1998 | A |
6205090 | Blount et al. | Mar 2001 | B1 |
20030063525 | Richardson et al. | Apr 2003 | A1 |
20040179432 | Burke | Sep 2004 | A1 |
Number | Date | Country | |
---|---|---|---|
20040165480 A1 | Aug 2004 | US |
Number | Date | Country | |
---|---|---|---|
60434626 | Dec 2002 | US | |
60439586 | Jan 2003 | US |