Claims
- 1. A system for operation of a communication device adapted to be operated by a battery for reception of scheduled intermittent information messages (22) comprising a receiver (26) for receiving the messages, a dual mode timer (70), for continually maintaining time and operable in two modes, an active mode and a power saving sleep mode, a controller (50) for scheduling the timer (70) to power down idle components of the receiver (26) between message receptions in the power saving sleep mode to conserve battery power, a reference oscillator (90) for controlling the timer (70) operative during the active mode when the device is fully active in reception of messages, said reference oscillator (90) operating with a relatively high frequency to support digital processing by the receiver (26), and a sleep oscillator (96) operative during the sleep mode when only the timer (70) is powered ON, said sleep oscillator (96) operative at a much lower frequency than the reference oscillator (90) for maintaining the lowest possible level of power consumption within the timer (70).
- 2. The system of claim 1 further including means for automatic temperature calibration of the timer to compensate for timing inaccuracies inherent to the sleep oscillator (96) used for the sleep mode.
- 3. A system for operating a battery operated communication device with reduced power consumption wherein the communication device is adapted to receive radio signals containing intermittently scheduled digital messages, the communication device comprising
receiver means for frequency downconversion of said radio signals and demodulation of said digital messages; a dual mode timer for continually maintaining system time while operating in one of two modes, said modes comprising an active mode and a sleep mode; controller data processing means for data processing of the demodulated message data to extract the messages; a reference oscillator for generating a reference clock, wherein the frequency of said reference clock is high enough to serve as clocking requirements for digital processing in the receiver and controller during the active mode, and wherein the frequency of said reference clock is responsive to input of an automatic frequency control word to the reference oscillator; a sleep oscillator for generating a frequency which is low relative to the frequency of the reference clock and wherein power consumption of the sleep oscillator is very low relative to the power consumption of the reference oscillator; controller means for supervising operation of the communication device, wherein said supervision is executed by a microprocessor operation with program memory contained in a storage register.
- 4. The system of claim 3 wherein said controller means include
controller scheduling means for scheduling commands for supervision of the communication device, event scheduler means for receiving scheduling commands, and controller frequency tracking means for providing for automatic frequency control wherein received downconverted signals are processed to generate a frequency control word for the reference oscillator at the rate of once per message reception such that the frequency of the reference oscillator clock is frequency-locked to the received signal.
- 5. The system of claim 3 wherein said controller means includes controller time tracking means for processing received signal samples to estimate system time error to serve as a tracking loop error discriminant and for generating a feedback control word for adjustment of system time such that system time error is nullified.
- 6. The system of claim 3 wherein said controller means includes a controller timer calibration algorithm for supervising automatic oscillator calibration of said sleep oscillator relative to said reference oscillator, said algorithm using data from said oscillator calibration to compute a correct sleep counter increment, and writing said increment into a sleep increment register.
- 7. The system of claim 3 wherein said controller means includes a controller sleep mode adjustment algorithm which provides for computation of a correction term for system time to account for residual time remaining in the sleep counter at the end of sleep mode and writes the correction term to a reference counter modulus register at the beginning of the active mode.
- 8. The system of claim 3 wherein said controller means includes controller message processing means for data processing of a demodulated message, including decoding, deinterleaving, and extraction of command message data that indicates schedule of system time for message arrivals.
- 9. The system of claim 3 wherein the timer for continually maintaining system time while operating in one of two modes, comprises
a reference counter for modulus counter means that counts cycles of the reference clock up to a modulus value stored in a reference counter modulus register and resetting to zero at the next clock count, the reference counter generating system time during active mode in units of reference clock number represented by the current value in the reference counter, the reference counter generating a frame epoch output at the time of said reset, the reference counter also generating shifts in system time in units of reference clock cycles when a modulus value other than nominal is written to the reference counter modulus register.
- 10. The system of claim 9 wherein said timer further includes a sleep counter for accumulator means that successively sums a fractional number, or sleep counter increment stored in a sleep increment register by a controller calibration algorithm, wherein the sleep increment is equal to the number of frames per sleep oscillator cycle, the accumulator means successively adding the sleep increment register value but retaining only the fractional part of accumulation and generating an integer carry epoch each time an integer carry occurs in the accumulation, the sleep counter clocked by the sleep clock so that accumulation occurs at the rate the sleep clock frequency, said integer carry epochs generated by the sleep counter therefore representing frame boundary epochs.
- 11. The system of claim 9 wherein said timer further includes a frame counter that provides for modulus counter means that counts input frame epochs generated by either the reference counter or the sleep counter, the selection thereof dictated by a mode switch, said mode switch having two switch states, one state representing the active mode when the frame epoch source is the reference counter and the other switch state representing the sleep mode when the frame epoch source is the sleep oscillator, the mode switch being responsive to mode control logic, the frame counter maintaining continuity of count through changes in mode switch state, the frame counter counting up to the modulus value contained in a frame counter modulus register and resetting back to zero at the next clock cycle, the frame counter generating a multiframe epoch at each frame counter reset, the frame counter thereby generating system time in units of frame number in either active mode or sleep mode as represented by the current frame counter value.
- 12. The system of claim 9 wherein said frame counter provides modulus counter means to count up to the modulus value stored in a frame modulus register and resets back to zero on the next count.
- 13. The system of claim 9 wherein system time is defined in active mode as the triple (reference clock number, frame number, multiframe number) corresponding respectively to current count of the three registers (reference counter, frame counter, multiframe counter), and similarly defined in sleep mode except that reference clock number is undefined and ignored during sleep mode, system time being continuously generated as the mode switch alternates its state between active and sleep mode.
- 14. The system of claim 4 wherein said event scheduler means include registers for records of scheduled events, each scheduled event comprising a command word that initiates a processing event and the scheduled system time for execution of said command, the event scheduler continually monitoring system time for a match with the scheduled time in any of the records, said match causing execution of the command in the record for which the match occurs.
- 15. The system of claim 14 wherein the scheduled commands include
a first command to the power controller means to selectively power up or power down components of the communication device at specified event times, a second command to the mode control logic to switch the state of the mode switch from active mode to sleep mode or to switch the state from sleep mode to active mode at specified event times, a third command to generate interrupts to execute controller algorithms and operations such as controller time tracking means, controller frequency tracking means, controller timer calibration algorithm, controller sleep mode adjustment algorithm, and controller message processing means, and a downconversion command for receiver downconversion and demodulation of a scheduled message.
- 16. The system of claim 15 wherein said mode control logic is responsive to the second command from event scheduler to transition from active mode to sleep mode at a specified event time, at the instant of said event time resets the sleep counter to zero count, at time of uptick of the first sleep oscillator cycle following the first reference generator frame epoch following the event time gates off the clock input of the reference counter and simultaneously causes mode switch state to transition from active mode to sleep mode, and wherein said mode control logic is responsive to the command from the event scheduler to transition from sleep mode to active mode at a specified event time, at the time of first uptick of the first sleep oscillator cycle following said event time gates on the clock input of the reference counter and simultaneously causes the mode switch state to change from sleep mode to active mode.
- 17. The system of claim 4 wherein said controller scheduler means is adapted to write command records to the event scheduler, said records effecting power savings in the communication device by scheduling events that realize power saving, said scheduler means being contained in program memory in the storage means, the write command records including
a first command to cause execution of controller timer calibration algorithm, scheduled for shortly after turn on of communication device, said first command to provide for calculation of correct value of sleep counter increment to compensate for sleep oscillator error, thereby enabling synchronous operation of the communication device, a second command to execute controller sleep mode adjustment algorithm, scheduled for immediately following termination of sleep mode and start of active mode and prior to first frame epoch in active mode, thereby limiting accumulation of system time error during sleep mode to less than one reference oscillator cycle, and thereby enabling synchronous operation of the communication device, a third command to cause controller means to execute the time track algorithm to update time tracking, scheduled for end of each active mode interval, thereby avoiding possible accumulation of system time error due to repetitive occurrences of sleep mode, and thereby enabling synchronous operation of the communication device, downconversion commands to receiver means to perform downconversion and synchronous demodulation and controller means to process received message, with event time coinciding with message arrival times, with no requirement to schedule reception and controller processing for reacquisition owing to synchronous operation of the communication device, thereby minimizing power consumption for signal processing during active mode, power controller commands to the power controller to selectively power up components of the communication device only when needed, where event times are precisely designated so that power up intervals are the minimum interval required, as enabled by synchronous operation of the communication device, thereby avoiding power waste on timing margins that compensate for system time uncertainties, and mode commands to the mode controller to change state of the mode switch into and out of active mode with corresponding event times specified such that sleep mode duty cycle with low power consumption is maximized and active mode duty cycle with relatively high power consumption is minimized, as made possible by the synchronous operation of the communication device.
- 18. The system of claim 4 wherein the system maintains synchronous operation with respect to received messages despite inherent frequency inaccuracies of the sleep oscillator clocking the timer during sleep mode, and further maintains accurate system time continuously during sleep mode to an error less than a sleep clock cycle.
- 19. The system of claim 4 further including an increment counter for calibration of the sleep mode to enable precise scheduling of power on intervals spanning both the active node and the sleep mode.
- 20. The system of claim 4, further including means for automatic calibration of the timer in an environment of changing temperature, including
temperature sensing means for obtaining temperature measurements of the low-frequency oscillator; a sleep increment register for storing sleep increment values, and storage means containing microprocessor program and data memory and register data memory, a calibration table maintained in volatile memory in the storage means such that the calibration table is initially empty at power up of the communication device, the calibration table thereafter holding calibration records, each record comprised of a sleep increment value calculated from sleep oscillator calibration data and temperature of the sleep oscillator during said calibration.
- 21. The system of claim 20, wherein initially after power up of the communication device, the controller schedules a timer calibration algorithm and temperature measurement at time of calibration to generate a first record for the calibration table and an initial value for the sleep increment in the sleep increment register, and
thereafter temperature measurement is performed periodically at a pre-specified period, and if temperature remains constant, no re-calibration is required and no action is taken, but if temperature changes, the new temperature is maintained in a record in the calibration table and the corresponding calibration value for sleep increment is loaded into the sleep increment register, thereby re-calibrating the sleep timer for the new temperature.
- 22. The system of claim 21 wherein if temperature changes and the new temperature is not in a record in the calibration table, the controller schedules the calibration algorithm to obtain a new calibration value, the pair of new temperature and new calibration values being entered as a new record in the calibration table, and the new calibration value is written to the sleep increment register, thereby re-calibrating the sleep timer for the new temperature.
- 23. The system of claim 22 wherein the automatic calibration of timer for temperature change continually maintains the correct value of sleep increment in the timer, thereby preserving accurate system time and synchronous operation of the communication device, thereby preserving power savings in an environment of changing temperature.
- 24. The system of claim 2, further including means for automatic calibration of the timer in an environment of changing temperature, including
a real-time clock powered with a backup battery that operates continually through power down of the communication device.
- 25. The system of claim 24, further including temperature sensing means for obtaining temperature measurement of the low-frequency oscillator;
controller means for supervising operation of the communication device, wherein supervision is executed by a microprocessor operation with program memory contained in a storage register, said storage register having a non-volatile memory, and a calibration table maintained in the non-volatile memory such that at power up of the communication device, contents of the calibration table present just prior to power down of the communication device remain intact at power up of the communication device, the calibration table holding calibration records, each record comprised of a sleep increment value obtained by a controller sleep oscillator calibration algorithm and a temperature measurement of the sleep oscillator at the time of oscillator calibration.
- 26. The system of claim 25, further including means for automatic calibration of the timer
wherein initially after first power up of the communication device, a time stamp is affixed to the calibration table, said time stamp indicating an expiration time that is a pre-specified interval of time into the future, where said prespecified interval is an aging allowance for the table, the controller schedules the timer calibration algorithm, and schedules temperature measurement at time of said calibration, to generate the first record for the calibration table and an initial value for the sleep increment in the sleep increment register, thereafter temperature measurement is performed periodically at a pre-specified period, wherein if temperature remains constant no re-calibration is required and no action is taken, if temperature changes and the new temperature is in a record in the calibration table the corresponding calibration value in said record is loaded into the sleep increment register, thereby re-calibrating the sleep timer for the new temperature, and if temperature changes and the new temperature is not in a record in the calibration table, the controller schedules the sleep oscillator calibration algorithm to obtain a new calibration value, and schedules a new temperature measurement, the pair of new temperature and new calibration value entered as a new record in the calibration table, and the new calibration value written to the sleep increment register, thereby re-calibrating the sleep timer for the new temperature.
- 27. The system of claim 26 wherein at subsequent power up of the communication device
if said time stamp of the calibration table has expired, the calibration table is purged and new time stamp affixed with new expiration time, and said calibration method resumes as in initial power up of the communication device, thereby ensuring that invalidation of calibration data in the calibration table due to aging of the sleep oscillator crystal does not occur, if said time stamp of the calibration table has not expired the calibration method resumes as in initial power-up of the calibration method but now generally starting with a non-empty calibration table.
- 28. The system of claim 27 wherein the automatic calibration of timer for temperature change continually maintains the correct value of sleep increment in the timer, thereby preserving accurate system time and synchronous operation of the communication device and preserving power savings in an environment of changing temperature;
- 29. The system of claim 2, further including means for automatic calibration of the timer in an environment of changing temperature, including:
estimator means for estimation of frequency offset of the sleep oscillator based on time averaging of tracking loop updates during an active mode interval, a controller calibration tracking loop algorithm that utilizes said estimator means as a track loop discriminant to generate a feedback correction term for a sleep increment value in a sleep increment register such that errors in sleep increment value are nullified.
- 30. The system of claim 29 further including means for automatic calibration of the timer wherein at initial power up of the communication device the controller calibration algorithm is scheduled to generate a correct initial sleep increment value and write said increment value to the sleep increment register, thereafter at each active mode interval, said increment value in said sleep increment register is updated by scheduling of said controller calibration track loop algorithm at the end of each active mode interval,
thereby continually maintaining the correct value of sleep increment in the timer and preserving accurate system time and synchronous operation of the communication device and power savings in an environment of changing temperature.
Parent Case Info
[0001] This application claims the benefit of provisional application Ser. No. 60/087,402, filed Jun. 1, 1998, under 35 USC 119(e).
Provisional Applications (1)
|
Number |
Date |
Country |
|
60087402 |
Jun 1998 |
US |
Continuations (1)
|
Number |
Date |
Country |
Parent |
09302447 |
Apr 1999 |
US |
Child |
10272439 |
Oct 2002 |
US |