Abstract:
A method and apparatus are disclosed for telemetering both analog and digital data from an implantable medical device to an external receiver, such as between an implanted cardiac pacer and its external programming equipment. Analog data is first converted to digital format by an analog-to-digital converter, such that the transmission is digital data. A damped carrier at 175 kilohertz is pulse position modulated by the data. The modulation scheme defines a frame of slightly less than 2 milliseconds. The frame is divided into 64 individual time periods using a crystal clock. The data, along with synchronization and identification codes, are positioned into predefined ranges within each frame as measured by the individual time periods. The data is uniquely identified by the position of a burst of the carrier within the predetermined range. This modulation scheme enables necessary data to be transmitted at sufficiently high rates with reduced power requirements thereby conserving the internal battery of the implantable device. This modulation scheme provides flexibility of use, for example, with complex medical devices where transmission of increased volumes of data is desirable, such as cardiac devices having dual-chamber or multisensor capabilities, and for controlling particular conditions, such as tachyarrhythmia.

Description:
This application is a continuation of U.S. application Ser. No. 468,407, filed on Jan. 22, 1990, and now abandoned. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention generally relates to implantable medical devices, and more particularly, pertains to telemetry schemes for percutaneously transmitting analog and digital data from an implantable medical device. 
     2. Description of the Prior Art 
     The earliest implantable medical devices were designed to operate in a single mode and with no direct percutaneous communication. Later it became clinically desirable to vary certain of the operating parameters and change modes of operation. This was accomplished through the use of programmers and other external devices which transferred commands percutaneously to the implanted medical device. 
     The communication between the implant and the external world was at first primarily indirect. The operation of an implantable cardiac pacer could be observed, for example, in the electrocardiogram of the patient. Soon it became known that data could be sent from the implanted cardiac pacer by modulating the stimulation pulses in some manner. This can only provide a low bandpass channel, of course, without interfering with the clinical application of the device. Change of the pacing rate to indicate battery condition was a commonly used application of this technique. 
     As implantable cardiac pacers became more complex, the desirability to transfer more data at higher speeds resulted in the percutaneous transmission of data using a radio frequency carrier. The data to be transmitted is of two basic types, namely, analog and digital. The analog information can include, for example, battery voltage, intracardiac electrocardiogram, sensor signals, output amplitude, output energy, output current, and lead impedance. The digital information can include, for example, statistics on performance, markers, current values of programmable parameters, implant data, and patient and unit identifiers. 
     The earliest RF telemetry systems transmitted analog and digital information in separate formats, resulting in inefficient utilization of the available power/bandwidth. Also, these modulation schemes tended to be less than satisfactory in terms of battery consumption, and do not lend themselves to simultaneous transmission of differing data types. 
     Many types of RF telemetry systems are known to be used in connection with implantable medical devices, such as cardiac pacemakers. An example of a pulse interval modulation telemetry system used for transmitting analog and digital data, individually and serially, from an implanted pacemaker to a remote programmer is disclosed in U.S. Pat. No. 4,556,063 issued to Thompson et al., herein incorporated by reference. An example of a modern pacemaker programmer for use with programmable cardiac pacemakers having RF telemetric capabilities is disclosed in U.S. Pat. No. 4,550,370 issued to Baker, herein incorporated by reference. However, the telemetry format which is used under these systems, as well as other prior telemetry systems, have not been entirely adequate for reasons described above and a need for significant improvement has continued. As will become apparent from the following, the present invention satisfies that need. 
     SUMMARY OF THE INVENTION 
     The present invention percutaneously transmits all data from the implantable medical device in a digital format. It is pulse position modulated on an RF carrier. To accomplish this, the analog quantities must be converted to digital values either at the time of transmission, such as for real-time intracardiac electrocardiograms, or before storage in the memory of the device, as in the case of historical values of pacing rate for subsequent transmission for trend analysis. 
     Whether the data to be sent is initially analog or digital, it is transmitted in the same format, i.e., as digital information. The RF carrier is pulse position modulated to conserve battery energy. In this manner, only a short burst of the carrier, e.g., one cycle, is actually needed to transmit a given unit of data. The time position of that burst relative to a synchronizing standard determines the value of the data unit transmitted. 
     To accomplish this pulse position modulation, a frame of about 2 milliseconds is defined. Within this frame are positioned a synchronizing burst, a frame identifier burst, and one or more data bursts. The synchronizing burst is positioned at a fixed position in the frame. The frame identifier and data are variables, such that the corresponding bursts occur within a range of time within the frame. The range in which a burst is found defines the nature or type of the variable. The position in the range defines the value of the variable. 
     In particular, the present invention concerns a method and apparatus for performing telemetry of analog and digital data from an implanted medical device to an external programmer/receiver through the use of pulse position modulation technology and a framed digital data format. 
     In a preferred embodiment, a 175 Khz damped sinusoidal wave form pulse is generated at predetermined points within preselected sub-interval ranges of a very short time interval transmission data frame. In a single frame of approximately 2 milliseconds, for example, 8 bits of data may be rapidly transmitted, by delivering bursts of appropriately-timed pulse-positioned, radio frequency energy within the frame&#39;s sub-intervals consisting of: 1 frame-synchronizing bit; 1 data-identifier bit; and 2 data-value, sixteen-bit nibbles. 
     In one preferred embodiment, a method for transmitting information-encoded, telemetry signals percutaneously between an implanted medical device and an external device comprises the steps of: 
     (a) formatting the telemetry signal being transmitted using a frame having a predetermined time interval, the frame including at least first, second and third sub-interval ranges, each range comprising a set of available pulse positions; 
     (b) encoding the formatted telemetry signal by: 
     (1) placing a frame-synchronizing signal at a predetermined pulse position within the first sub-interval to synchronize the frame; 
     (2) placing an data-identifier signal at a predetermined pulse position within the second sub-interval to identify the type of information being transmitted; 
     (3) placing a data-value signal at a predetermined pulse position within the third sub-interval to indicate the value of the information being transmitted; and 
     (c) transmitting the formatted, encoded telemetry signals between the implanted medical device and the external device. 
     In another preferred embodiment, an apparatus for transmitting information-encoded, telemetry signals percutaneously between an implanted medical device and an external device comprises: 
     (a) a data bit source for bits corresponding to data to be transmitted; 
     (b) a frame formatter to define a transmission frame having a predetermined time interval including first, second and third sub-intervals; 
     (c) a clock to provide clock signals at preset clock intervals; 
     (d) a data encoder responsive to the clock and data bit source and coupled to the frame formatter, to encode the formatted telemetry signal by generating a signal at a certain pulse position within each of the first, second and third sub-intervals, such that the respective position of each signal within each sub-interval signifies its unique respective functions, namely, frame synchronization for the first sub-interval, data-type identification for the second sub-interval, and data-value indication for the third sub-interval; and 
     (e) a communication system for transmitting the formatted, encoded telemetry signals between the implanted medical device and the external device. 
     Because all data transmission is in a digital format, great flexibility is achieved with regard to additional units of data for future applications. The use of the standardized format and capability of encoding more data into a single pulse also decreases the overall battery current requirements and serves to level the energy demand over time. Transmitting the analog data in digital form provides enhanced noise immunity and accuracy. 
     The transmission protocol provides data rates which are sufficient to transfer clinically useful EGM information in real time. Because each frame is independent, data quantities of varying precision can be transmitted using the same protocol. This modulation scheme provides flexibility of use, for example, with complex medical devices where transmission of increased volumes of data is desirable in real time, such as cardiac devices having dual-chamber or multisensor capabilities, and for controlling particular conditions such as tachyarrhythmia. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The present invention will be better understood, and its attendant advantages will be readily appreciated, by reference to the accompanying drawings when taken in consideration with the following detailed description, wherein: 
     FIG. 1 is a simplified schematic view of an implantable medical device employing the improved telemetry format of the present invention; 
     FIG. 2 is a conceptual view of one frame of the improved telemetry format of the present invention; 
     FIG. 3 is a view of the actual transmission pattern of two frames of the improved telemetry format; 
     FIG. 4 is a block diagram of a portion of an implantable medical device for implementation of the improved telemetry format; 
     FIG. 5 is a simplified flowchart showing the basic function of software to perform the telemetry uplink operation of the improved telemetry format; 
     FIG. 6 is a block diagram of the circuitry of the telemetry uplink hardware for implementing the improved telemetry format; 
     FIG. 7 is a block diagram of the circuitry of the telemetry timing for implementing the improved telemetry format; and 
     FIG. 8 is a schematic diagram of the driver circuitry for implementing the improved telemetry format. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     A preferred embodiment of the present invention is disclosed relating to use of the improved telemetry format with an implantable cardiac pacer, which may be programmable. However, those of skill in the art will be readily able to adapt the teachings found herein to other implantable medical devices. It will also be understood by those of skill in the art that the telemetry format taught herein can be used for bi-directional communications between an implanted medical device and an external device. 
     FIG. 1 is a simplified schematic diagram of the present invention as employed in a cardiac pacing system. An implantable pulse generator 10 is implanted in the patient under the outer skin barrier 28. Implantable pulse generator 10 is electrically coupled to the heart of the patient using at least one cardiac pacing lead 12 in a manner known in the art. Percutaneous telemetry data is transmitted from implantable pulse generator 10 by an RF uplink 26 utilizing the improved telemetry format to a receiving antenna 22, which is coupled to a programmer 20 via a cable 24. Receiving antenna 22 also contains a magnet which activates a reed switch in implantable pulse generator 10 as a safety feature, as taught in U.S. Pat. No. 4,006,086 issued to Alferness et al., herein incorporated by reference. The telemetry data is demodulated and presented to the attending medical personnel by programmer 20. 
     FIG. 2 is a schematic diagram of the protocol of RF uplink 26 using the improved telemetry format. The uplink uses a damped 175 kilohertz RF carrier which is pulse position modulated, as described in detail below. Shown at 30, the basic timing unit of the format is a frame, having a duration of t n5 . It will be understood by those skilled in the art, however, that the present invention can be practiced using fixed-length frames having periods of shorter or longer duration. In the preferred embodiment, the main timing source of implantable pulse generator 10 comprises a standard 32.768 kilohertz crystal clock which provides a basic clock cycle of 30.52 microseconds. Thus, a frame comprised of 64 clock cycles and extending over a fixed time interval of 1.953125 milliseconds is a convenient frame period, since such frame period is a binary multiple of the basic clock cycle. 
     A unique synchronizing signal is positioned within a first fixed range of each frame 30. This signal comprises a synchronizing RF pulse 32 which is located at a time t n1  within frame 30. To properly function as a synchronizing pulse, it must be located at a fixed point within the first fixed range of frame 30, as shown at 34. 
     A four-bit frame identifier code is positioned within a second fixed range of each frame 30, such second fixed range comprising an identifier range 38. Identifier range 38 uses a total of eleven basic clock cycles as shown. This identifier code comprises an identifier RF pulse 36 which is pulse position modulated within the identifier range 38. The position of identifier pulse 36 within identifier range 38 identifies the nature or type of data found within each frame 30 which is being transmitted, such as peak sense, peak pressure, sense threshold and others, as described in further detail below. Shown at 40, time interval t n2  thus uniquely represents the value of identifier pulse 36, which value in turn identifies the data type being transmitted within frame 30. 
     Each frame 30 transfers one eight-bit byte of data along with the identifier code. This data is divided into two portions comprised of four bits of data each. A first portion of this data, namely the four least significant bits of the data byte, is positioned within a third fixed range of frame 30, such third fixed range comprising a lower nibble range 44. A second portion of this data, namely the four most significant bits of the data byte, is positioned within a fourth fixed range of frame 30, such fourth fixed range comprising an upper nibble range 48. 
     A lower nibble pulse 42 is pulse position modulated within lower nibble range 44, such that its value is uniquely identified by its location, such as at a time t n3  shown at 45. An upper nibble pulse 46 is also pulse position modulated within upper nibble range 48, such that its value is uniquely identified by its location, such as at a time t n4  shown at 50. Lower nibble range 44 and upper nibble range 48 each comprise sixteen basic clock cycles, permitting each of the sixteen unique values of the four-bit nibble to be specified. To prevent data overlap, suitable guardbands are positioned between each of the ranges within the frame to uniquely identify the synchronizing pulses, thereby avoiding undefined and erroneous data transmission. 
     FIG. 3 is a diagram of two frames of RF uplink 26, wherein a first frame corresponds to Word 1 shown at 70, and a second frame corresponds to Word 2 shown at 72. A count of clock cycles is indicated along an upper horizontal axis of this diagram for each frame. Each basic clock cycle has a duration of 30.52 microseconds. The first frame at 70 is initiated by an RF pulse 52. A synchronizing RF pulse 54 is shown uniquely identified as precisely four clock cycles later. Because the guardbands are all greater than four clock cycles, no combination of a frame identifier and data can appear as a synchronizing pulse. Synchronizing pulse 54 is used to provide frame synchronization between the transmitter (i.e., implantable pulse generator 10) and the receiver (i.e., programmer 20). 
     An identifier RF pulse 56 is located within identifier range 38, which range is defined as nine to nineteen basic clock cycles from the beginning of frame 70. In Word 1, for example, identifier pulse 56 is located at clock cycle nineteen. This identifies the frame as a particular type of data transfer, namely, &#34;Sense Threshold&#34; as indicated in Table 1 below. 
     
                       TABLE 1______________________________________Position        Identification______________________________________ 9              Memory10              Idle11              EGM-112              Markers13              Peak Sense14              Pressure Waveform15              Peak dp/dt16              Peak Pressure17              Delta Capacitor Voltage18              Activity Counts19              Sense Threshold______________________________________ 
    
     A lower nibble RF pulse 58 is located within lower nibble range 44, which range is defined as twenty-four to thirty-nine basic clock cycles from the beginning of frame 70. In Word 1, for example, lower nibble pulse 58 is located at clock cycle thirty-one, specifying a binary value of seven on a scale of zero to fifteen. An upper nibble RF pulse 60 is located at clock cycle fifty-eight within upper nibble range 48, which range is defined as forty-four to fifty-nine basic clock cycles from the beginning of frame 70, and is demodulated in similar fashion. 
     FIG. 4 is a block diagram of that portion of implantable pulse generator 10 which is associated with formatting and transmission of RF uplink 26. Most of the unique hardware which embodies the present invention is located on a single substrate, being a custom chip device indicated generally by arrow 105. The remainder is microprocessor-based logic indicated generally by arrow 100, comprising microprocessor 102, random access memory (RAM) 104, and parallel bus 106. The function of microprocessor-based logic 100 is described in further detail below. 
     Chip 105 has an analog-to-digital (A/D) converter 108 which receives a number of analog inputs 110 from a multiplexer (not shown). A/D converter 108 permits data to be transferred via RF uplink 26 to be digitized as necessary, so that all data is transmitted in a standardized digital form. 
     Circuitry (CRC) for generating and analyzing the cyclic redundancy code used to forward error detect telemetry data transmitted over RF uplink 26 is indicated at 112. In the preferred embodiment, it is also used for data received by implantable pulse generator 10 via a downlink (not shown). Circuitry (DMA) for providing direct memory access to RAM 104 is indicated at 114, thus permitting multiple byte transfers without constant management by microprocessor 102. 
     Key hardware used to implement RF uplink 26 comprises telemetry control and data buffer circuitry indicated generally within dashed lines at 121, which circuitry includes data buffer 116 and telemetry control 120, and up-link timing circuitry 118. Data buffer 116 includes storage for twelve bits of data. This storage is partitioned into a four-bit section 119 for storage of the frame identifier code, and an eight-bit section 117 for storage of the lower nibble and upper nibble of a frame. Data buffer 116 thus stores all of the variables for one complete frame. Data buffer 116 is used to stage the variables for the frame which may be received from RAM 104, A/D converter 108, CRC 12, or elsewhere along parallel bus 106. 
     Telemetry control 120 consists primarily of a telemetry status register. This register stores the telemetry commands and status as loaded by microprocessor 102. The contents of the register are thus used to gate the data at the proper time of the defined protocol. 
     Up-link timing 118 decodes the twelve bits of data stored in data buffer 116 to produce a set of timing signals which key bursts of RF energy at the appropriate times to pulse position modulate the 175 kilohertz carrier. Up-link timing 118 also keys bursts of RF energy at the fixed positions within the frame corresponding to the frame-initiating pulse and the synchronizing pulse. 
     FIG. 5 is a basic flowchart showing the overall function of the microprocessor-based logic 100. The role is essentially one of initiation of the transfer, rather than management of each detail of the transmission. Software associated with RF uplink 26 is started at element 130, usually by a down-linked command to transfer data. 
     Element 132 schedules the requested transmission via the up-link facilities. This scheduling prioritizes uplink transmission requests. Lower priority is given to continuous real time transfers, such as EGM and battery voltage, whereas higher priority is given to single occurrence transmissions of status information. 
     After scheduling, element 134 determines whether an uplink transmission is currently in progress. If an uplink transmission is in progress, element 132 reschedules the request. 
     If an uplink transmission is not in progress after scheduling, element 136 initiates the uplink transmission by activating telemetry control 120. Exit is via element 138. While some additional management of the process is required during the transmission, a description of such further details has been omitted, since it is not believed necessary to one skilled in the art to fully understand the present invention. As to the software associated with the uplink transmission, however, a source code listing of the pertinent sections of such software has been attached hereto as Appendix A, and is incorporated by reference herein. 
     FIG. 6 is a block diagram showing the major data and control signals of telemetry control and data buffer 121 (which includes data buffer 116 and telemetry control 120 shown in FIG. 4), and also of up-link timing 118. A primary function of data buffer 116, as indicated above, is the staging of the twelve variable bits of a given frame which correspond to a four-bit frame identifier ID, and dual-nibble data comprising a four-bit lower nibble LN and a four-bit upper nibble UN. The data is received over an eight-bit, parallel bus 159 and can be from any one of several sources. Control lines EGMDATA at 150, PRSDATA at 151, DLDMA at 153, DMADS at 155, LDANDAT at 156, ENCRC at 161 and LDCRC at 171 specify the source. The output of A/D converter 108 of FIG. 4 is presented separately to data buffer 116 as an eight-bit parallel transfer to ADC(0-7) at 154 (see FIG. 6). The output of CRC 112 is presented separately to data buffer 116 as an eight-bit parallel transfer to CRC(0-7) at 160, since those devices are located on the same substrate. 
     Telemetry control 120 outputs a number of control signals, including EGMGAIN at 162, RVPGAIN at 163, EGMTELEN at 164, ANULON at 165, RAMULON at 166, MEMEN at 167, PRSTELEN at 168, HDRCRCEN at 169 and EGMNPRS at 170. These control outputs are used to enable and control inputs to data buffer 116. The key outputs of telemetry control and data buffer 121 are TELRST at 182, which resets up-link timing 118 and initiates the beginning of a frame, and a parallel data transfer at 184, which transfers the frame identifier ID, lower nibble LN and upper nibble UN to up-link timing 118. 
     Up-link timing 118 receives the frame-initiating control signal TELRST at 182 and the parallel data transfer (ID, LN and UN) at 184. A primary function of up-link timing 118 is to key the transmission of 175 kilohertz RF energy at the proper times to indicate start of frame, frame synchronization, frame identifier, lower nibble and upper nibble. Timing for this function is provided by the 32.768 kilohertz crystal clock to up-link timing 118 with clock signal XTAL at 186. An output TELCLK is provided at 188 which keys the actual burst of RF carrier at the proper times. 
     FIG. 7 is a block diagram of up-link timing 118. A frame timing generator 202 provides the desired timing for a frame according to clock input XTAL at 186, in a manner hereinabove explained. Thus, each frame is comprised of sixty-four basic clock cycles. The process is initiated by receipt of the frame-initiating control signal TELRST at 182, which enables uplink when in a low state and disables uplink when in a high state. The initial clock cycle of a frame contains a burst of RF energy which is keyed by control signal TELCLK at 188, which is also used to trigger the start of the data decoding by an uplink word multiplexer 200. 
     After the proper four-bit quantity is selected (i.e., frame identifier ID first, lower nibble LN next, and upper nibble UN last), a telemetry pulse timer 204 determines the appropriate timing for a burst to be provided to frame timing generator 202, and a corresponding burst of RF energy is keyed. Each of the four-bit quantities thus results in the keying of a burst of RF energy at the appropriate time within each frame. 
     FIG. 8 is a circuit diagram for the drive circuit for generating the RF carrier. A control signal TELCLK at 188 provides the timing information for keying the carrier. A non-overlap generator 220 functions as a delay device to save current by preventing output transistors 230 and 232 from conducting simultaneously. Every transition of control signal TELCLK at 188 causes one transition by non-overlap generator 220. Inverters 222, 224, 226 and 228 are scaled to provide efficient switching with sufficient drive to the gates of transistors 230 and 232. Transistors 230 and 232 drive the signal off of chip 105 to ANTDR at 234 to an antenna circuit. A tuned circuit of discreet components, capacitor 236 and coil 238, are located external to chip 105. Each transition thus causes this tuned circuit to resonate at 175 kilohertz, thereby generating one uplink burst. 
     While the invention has been described above in connection with the particular embodiments and examples, one skilled in the art will appreciate that the invention is not necessarily so limited. It will thus be understood that numerous other embodiments, examples, uses and modifications of and departures from the teaching disclosed may be made as to various other systems for telemetering data to and from an implantable medical device, without departing from the scope of the present invention as claimed herein. ##SPC1##