Method and apparatus for timing events within an implantable medical device
First Claim
1. In an implantable cardiac rhythm management device having a processing components capable of performing a plurality of concurrent tasks, a timing device for timing events in such rhythm management device, the timing device comprising:
- a hardware timer operative to time events up to a pre-determined maximum period of time;
a timer manager operative to receive timer requests from the plurality of processes with each timer request specifying a time delay to be timed, wherein the time delay of each individual timer request is no greater than the maximum period of time; and
a timer manager operative to control the hardware timer to issue timer completion signals based upon the time delays of the timer requests, the timer manager determining, upon receipt of each new timer request, the next timer completion signal that needs to be issued and the time remaining to issue next timer completion signal and sequentially controlling the hardware timer to time each remaining period of time between successive timer requests, the determination being made with comparison to a pseudo clock value such that only a single timer is required.
1 Assignment
0 Petitions
Accused Products
Abstract
A technique is described for timing hardware or software events for use in an implantable medical device capable of performing many concurrent processes. The technique exploits a first timer for timing events using a timing interval of one millisecond and a second timer or clock signal for timing events using a timing interval of two seconds. A receive unit receives timer requests from the many concurrent processes with each timer request specifying a time delay before an interrupt or other timer completion signal is required. A control unit uses either the first timer or the second timer to time the request based upon the time delay and the respective timing intervals. An interrupt or other timer completion signal is issued to the requesting device following the specified time delay as timed by the selected timer. For the purposes of prioritizing two or more timer requests to be timed by the same timer, the device also exploits the concept of a pseudo clock for tracking time up to a maximum pre-determined period of time of, for example, 65 seconds.
-
Citations
12 Claims
-
1. In an implantable cardiac rhythm management device having a processing components capable of performing a plurality of concurrent tasks, a timing device for timing events in such rhythm management device, the timing device comprising:
-
a hardware timer operative to time events up to a pre-determined maximum period of time;
a timer manager operative to receive timer requests from the plurality of processes with each timer request specifying a time delay to be timed, wherein the time delay of each individual timer request is no greater than the maximum period of time; and
a timer manager operative to control the hardware timer to issue timer completion signals based upon the time delays of the timer requests, the timer manager determining, upon receipt of each new timer request, the next timer completion signal that needs to be issued and the time remaining to issue next timer completion signal and sequentially controlling the hardware timer to time each remaining period of time between successive timer requests, the determination being made with comparison to a pseudo clock value such that only a single timer is required. - View Dependent Claims (2, 3)
-
-
4. In an implantable cardiac rhythm management device having a processing components capable of performing a plurality of concurrent tasks, a timing device for timing events in such rhythm management device, the timing device comprising:
-
a timing means for timing events, the timing means capable of timing events only up to a pre-determined maximum period of time;
means for receiving timer requests from the plurality of processes with each timer request specifying a time delay to be timed, wherein the time delay of each individual timer request is no greater than the maximum period of time; and
timing means for controlling the timing means to issue timer completion signals based upon the time delays of the timer requests, the timing means determining, upon receipt of each new timer request, the next timer completion signal that needs to be issued and the time remaining to issue the next timer completion signal and sequentially controlling the timing means to time each remaining period of time between successive timer requests, the determination being made with comparison to a pseudo clock value such that only a single timer is required. - View Dependent Claims (5, 6, 7)
determination means for determining a current amount of time remaining before the timing means issues a timer completion signal based upon a previously requested timer request; and
comparison means for determining whether the time delay for a newly requested timer request is less than the time remaining on the timing means and, if so, for resetting the timing means to issue a timer completion signal following the time delay of the newly requested timer request and, if not, for waiting until the timing means issues a timer completion for a first timer completion signal that needs to be issued then for resetting the timing means to issue a second timer completion signal following a time remaining for a next timer completion signal that needs to be issued.
-
-
8. In an implantable cardiac rhythm management device having a processing components capable of performing a plurality of concurrent tasks, a method for timing events in such rhythm management device using a hardware timer capable of timing events only up to a pre-determined maximum period of time and a counter, the method comprising the steps of:
-
a) receiving a first timer request requesting that a first duration of time be timed, the first duration of time being no greater than the maximum pre-determined time;
b) activating the timer to time the first duration of time;
c) receiving a second timer request requesting that a second duration of time be timed, the second duration of time being no greater than the maximum pre-determined time;
d) controlling the counter to operate as pseudo clock beginning at the point in time the second timer request is received;
e) receiving additional timer requests, each specifying a duration of time no greater than the maximum pre-determined time and, for each additional timer request, adding a current value of the pseudo clock to the corresponding specified duration of time to yield an adjusted duration of time;
f) as each additional timer request is received, determining the current pseudo clock time, determining which pending timer request needs to be timed next by comparing the adjusted times of the timer requests with the current pseudo clock time, then resetting the hardware timer to time the remaining time for that timer request;
g) issuing a timer completion signal when the hardware timer expires; and
h) repeating steps e), f) and g) until all pending timer requests have been processed.
-
-
9. In an implantable cardiac rhythm management device having a processing components capable of performing a plurality of concurrent tasks, a method for timing events in such rhythm management device using a timer capable of timing events only up to a pre-determined maximum period of time and a counter, the method of timing comprising the steps of:
-
receiving a plurality of concurrent timer requests from the plurality of processes with each timer request specifying a time delay to be timed, wherein the time delay of each individual timer request is no greater than the maximum period of time;
upon receiving a first of the plurality of concurrent timer requests, activating the timer to time the respective time delay;
upon receiving a second of the plurality of concurrent timer requests, activating the counter to operate as a pseudo clock;
determining, upon receipt of each additional timer request, the timer request that needs to be completed next and the period of time remaining, the determination being made with comparison to a current value of the pseudo clock; and
adjusting the timer to time the period of time remaining for the timer request that needs to be completed next and controlling the timer to issue a timer completion signal upon expiration of the timer. - View Dependent Claims (10, 11, 12)
sequentially controlling the timer to time each remaining period of time between successive timer requests, and controlling the timer to issue additional timer completion signals upon each sequential expiration of the timer.
-
-
11. The method of timing of claim 9 wherein the step of adjusting the timer includes steps of:
-
determining a current amount of time remaining before the timer issues a timer completion signal based upon a previously requested timer request; and
determining whether the time delay for a newly requested timer request is less than the time remaining on the timer and, if so, resetting the timing means to issue a timer completion signal following the time delay of the newly requested timer request and if not, waiting until the timer issues a first timer completion signal that needs to be issued then resetting the timer to issue a second timer completion signal following a time remaining for a next timer completion signal that needs to be issued.
-
-
12. The method for timing events of claim 9 wherein the processing components of the implantable cardiac rhythm management device perform one or more of the steps of telemetry, bradycardia monitoring, data measurement and recording, non-invasive programmer stimulation, high voltage control, diagnostics, internal electrocardiogram detection and storage and morphology monitoring.
Specification