WO2005061044A2 - Implantable medical device communication system with pulsed power biasing - Google Patents

Implantable medical device communication system with pulsed power biasing Download PDF

Info

Publication number
WO2005061044A2
WO2005061044A2 PCT/US2004/041872 US2004041872W WO2005061044A2 WO 2005061044 A2 WO2005061044 A2 WO 2005061044A2 US 2004041872 W US2004041872 W US 2004041872W WO 2005061044 A2 WO2005061044 A2 WO 2005061044A2
Authority
WO
WIPO (PCT)
Prior art keywords
implantable medical
medical device
slave
voltage
command
Prior art date
Application number
PCT/US2004/041872
Other languages
French (fr)
Other versions
WO2005061044A3 (en
Inventor
James D. Reinke
Robert M. Ecker
Original Assignee
Medtronic, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Medtronic, Inc. filed Critical Medtronic, Inc.
Priority to EP04818017A priority Critical patent/EP1703941B1/en
Publication of WO2005061044A2 publication Critical patent/WO2005061044A2/en
Publication of WO2005061044A3 publication Critical patent/WO2005061044A3/en

Links

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61NELECTROTHERAPY; MAGNETOTHERAPY; RADIATION THERAPY; ULTRASOUND THERAPY
    • A61N1/00Electrotherapy; Circuits therefor
    • A61N1/18Applying electric currents by contact electrodes
    • A61N1/32Applying electric currents by contact electrodes alternating or intermittent currents
    • A61N1/36Applying electric currents by contact electrodes alternating or intermittent currents for stimulation
    • A61N1/372Arrangements in connection with the implantation of stimulators
    • A61N1/37211Means for communicating with stimulators
    • A61N1/37252Details of algorithms or data aspects of communication system, e.g. handshaking, transmitting specific data or segmenting data
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61NELECTROTHERAPY; MAGNETOTHERAPY; RADIATION THERAPY; ULTRASOUND THERAPY
    • A61N1/00Electrotherapy; Circuits therefor
    • A61N1/02Details
    • A61N1/025Digital circuitry features of electrotherapy devices, e.g. memory, clocks, processors
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61NELECTROTHERAPY; MAGNETOTHERAPY; RADIATION THERAPY; ULTRASOUND THERAPY
    • A61N1/00Electrotherapy; Circuits therefor
    • A61N1/18Applying electric currents by contact electrodes
    • A61N1/32Applying electric currents by contact electrodes alternating or intermittent currents
    • A61N1/36Applying electric currents by contact electrodes alternating or intermittent currents for stimulation
    • A61N1/372Arrangements in connection with the implantation of stimulators

Definitions

  • the present invention relates to an interface for communication between primary and secondary devices along a two-wire communication bus. More particularly, the present invention relates to an interface for bi-directional communication between an implantable medical device and a plurality of slave devices such as sensors or actuators along a two-wire communication bus.
  • Implantable medical devices take many forms to provide therapy to a patient. For example, implantable medical devices provide pacing therapy to assist in maintaining proper heart rhythm. Pacing therapy may be applied to treat a number of conditions, such as atrial fibrillation, atrial tachyarrhythmia, atrial arrhythmias, ventricular fibrillation, ventricular tachyarrhythmia, and bradyarrhythmias caused by heart block or sinus node dysfunction. Implantable medical devices may also take the form of an implantable cardioverter defibrillator to provide therapy for sudden cardiac arrest, ventricular tachycardia, and ventricular fibrillation.
  • an implantable medical device communicates with a plurality of implantable slave devices, such as sensors, to monitor conditions including heart electrical activity and blood oxygen content, for example.
  • implantable slave devices such as sensors
  • Both the sensors and the implantable medical device are implanted within the body, and in order to reduce interference to the body, the implantable medical device communicates with the sensors over a small bus having a minimum number of electrically conductive wires. For example, communication information, along with power and ground, is provided over two conductive wires.
  • the implantable medical device operates by way of an internal power source, usually in the form of a battery, which has a limited amount of available power. Moreover, because replacement of the implantable medical device requires surgery to the patient, conservation of power is an important consideration.
  • Implantable medical devices are often required to deliver life-supporting therapy in the form of electrical stimulation to the patient. Accordingly, reliable communication between the implantable medical device and the implantable sensors external to the IMD is important. Furthermore, physical characteristics such as reduced size and space of the devices are desired in order to decrease patient stress, simplify implant procedures, and reduce surgical complications.
  • the present implantable medical device communication system includes an implantable medical device ("IMD") running a master clock. Slave devices resynchronize to the IMD clock on the rising edge.
  • the sensor interface improves the data communication rate and permits simultaneous or individual communication with a plurality of external sensors.
  • a 2-wire bus provides power, clock, and data from a single master to up to 16 slave devices. Half-duplex communication and pulse width modulation of the voltage on the bus allow a raw data rate of approximately 100 Kbps.
  • the data is encoded as "1 's" and "O's" for data transmission between the master and slave devices.
  • An initialization procedure determines the long address of each slave device and assigns a short address to reduce command length.
  • a message initiated by the master triggers slave measurements.
  • the master writes data to the slave and the master reads data from the slave.
  • Addressing modes allow individual devices, groups of devices, or all devices to be addressed.
  • the message format includes start, command word, address, data, cyclical redundancy check (CRC), and stop. Cyclical redundancy checking is an error-checking scheme used to check for errors in messages sent by the master and the data response from the slaves. Messages may be selectively acknowledged or selectively not acknowledged by the recipient device, however the master device initiates data communications. Slave devices do not put data on the bus without the master first requesting the data.
  • the start of a data bit in a message begins with the master pulling the data wire of the two-wire bus up to a high voltage.
  • the master pulls the data wire low, such that the duration of the high voltage pulse determines the data value.
  • the master is the only device on the two-wire bus with pull-up capability.
  • the slaves may include a number of implantable devices such as sensors, actuators or slave implantable medical devices ("IMDs").
  • the IMD delivers power to the slaves in the form of a DC bias on the bus. In other embodiments, the IMD delivers power to slaves in the form of periodic voltage pulses, such as bipolar voltage pulse pairs, and does not place a DC bias on the bus. In embodiments where the IMD delivers power in the form of pulses, corrosion and other types of electrochemical degradation of bus that are attributable to the presence of DC voltages and conductive solutions can be reduced or eliminated. In various embodiments of the invention, the IMD delivers one or more power pulses without issuing a command to a slave device, one or more power pulses preceding each command, or one or more power pulses followed by a series of commands to one or more slave devices.
  • the polarity of an immediately preceding power pulse indicates the polarity of the data pulses that will follow the command to the slave devices.
  • the master for example, generates positive data pulses following a bipolar power pulse pair in which the second pulse of the pair is positive.
  • Each command is preceded by a start sequence for the message, which includes a forced "0" followed by two logic “1 's”.
  • Power pulses "wake up” the slaves from a low power state, and cause the slaves to monitor for a start sequence. In some embodiments, power pulses cause slaves to perform a measurement without the need to receive a command.
  • Each command is followed by a master stop sequence, which includes one bit time for slaves to indicate whether the CRC check passed, e.g., that the message was error-free according to the CRC error check contained in the Frame Check Sequence field of the command.
  • slave acknowledge that the CRC check passed by pulling a line of the bus low at a first time during the bit to indicate a logic "0”
  • NAK acl ⁇ iowledge
  • the master stop sequence also includes one bit time for slaves to indicate a power status.
  • slaves acknowledge (ACK) a low power status, i.e., indicate that they have low power, by pulling a line of the bus low at a first time during the bit time to indicate a logic "1", or not acknowledge (NAK) the low power status, i.e., indicate that they have adequate power, by either pulling the line of the bus low at a second time during the bit time to indicate a logic "0", or allowing the line to remain high through the first and second times of the bit time, i.e., not responding.
  • the master can output more power pulses in response to detection of a low power ACK.
  • the master can drive the bus low to signal a data "1" or NACK in embodiments where sensors do not respond during either of the CRC ACK/NACK and Low Power ACK/NACK bit times.
  • the master provides another rising edge for the clock derivation, which can allow sensors to remain synchronized with the master.
  • FIG. 1 is a schematic diagram of an implantable medical device system according to an embodiment of the invention
  • FIG. 2 is a block diagram of an implantable medical device connected to a pair of sensor capsules
  • FIG. 3 is a block diagram of an implantable medical device system implementing a sensor communication protocol between a programmer module, an IMD and a sensor capsule
  • FIG. 4 is a cross section of a co-axial two-wire bus lead
  • FIG. 5 is a sectional view of a multi-lumen lead
  • FIG. 6 is an axial view of a two-wire co-radial lead
  • FIG. 7 is a sectional view of an exemplary wire used in a two-wire co-radial lead
  • FIG. 8 is an electrical model illustrating electrical interference of sensor leads;
  • FIG. 1 is a schematic diagram of an implantable medical device system according to an embodiment of the invention
  • FIG. 2 is a block diagram of an implantable medical device connected to a pair of sensor capsules
  • FIG. 3 is a block diagram of an implant
  • FIG. 9 is a schematic block diagram of a sensor interface system for an implantable medical device and a sensor capsule for lead fault detection;
  • FIG. 10 is graph of one bit time for communication across a two-wire bus wherein the bit time is divided into six equal parts;
  • FIG. 11 is a graph illustrating one bit time communication between a fast sender and a slow receiver;
  • FIG. 12 is a graph illustrating one bit time communication between a slow sender and a fast receiver;
  • FIG. 13 is a graph illustrating voltage swings on a two-wire bus;
  • FIG. 14 is a graph illustrating a start bit definition;
  • FIG. 15 is a graph illustrating a master driving a data "0";
  • FIG. 16 is a graph illustrating a master driving a data "1";
  • FIG. 17 is a graph illustrating a slave driving a data "0"
  • FIG. 18 is a graph illustrating a slave driving a data "1 "
  • FIG. 19 is a graph illustrating a master stop, a master acknowledge request ("ack req"), and a slave acknowledge ("slave ack”)
  • FIG. 20 is a graph illustrating a master stop, a master ack req, and a slave non- acknowledge (“nack”)
  • FIG. 21 is a graph illustrating a slave stop-stop-stop
  • FIG. 22 is graph illustrating the sending of a message from the master to one or more slaves
  • FIG. 23 is graph illustrating a response with data from a slave to the master
  • FIG. 24 is a general command format for transferring data across a two-wire bus;
  • FIG. 25 is a table providing a slave long address format;
  • FIG. 26 is a table of slave short addresses and multicast examples;
  • FIG. 27 is a graph of a triggering example;
  • FIG. 28 is a graph and table illustrating a relationship between triggering of one sensor and reading corresponding data;
  • FIG. 29 is a graph illustrating re-triggering of data using a count code;
  • FIG. 30 is a graph illustrating a collection of data points for an RV pressure waveform;
  • FIG. 31 is a table illustrating Command Codes and measured parameters;
  • FIG. 32 is a table providing a command overview of a sensor interface for an implantable medical device;
  • FIG. 32 is a table providing a command overview of a sensor interface for an implantable medical device;
  • FIG. 33 is a table illustrating a Master's Unlocks command;
  • FIG. 34 is a table illustrating Unlock key options;
  • FIG. 35 is a table illustrating a Master's Search Long Address command;
  • FIG. 36 is table summarizing an example search across a sensor for an implantable medical device;
  • FIG. 37 is a table illustrating a Master's Write Short Address command;
  • FIG. 38 is a table illustrating a Trigger command;
  • FIG. 39 is a table illustrating a Trigger Command Code for a cardiac IMD;
  • FIG. 40 is a table illustrating an example of a Trigger Command Code for Sonomicrometry transmitters and receivers;
  • FIG. 41 is a table illustrating a Quick Trigger command;
  • FIG. 42 is a table illustrating a Master's Read command;
  • FIG. 43 is a table illustrating a Slave's Read Response
  • FIG. 44 is a table providing rules for a Read Results command
  • FIG. 45 is a pair of tables illustrating an example of reading results from a reading buffer with 8 bit data and a count and a command code embedded
  • FIG. 46 is a table illustrating a Master's Read Results command
  • FIG. 47 is a table illustrating a Slave's Read Results example response
  • FIG. 48 is a table illustrating a Master's Write command
  • FIG. 49 is a table illustrating a Master's LSB RAM/REG Address command
  • FIG. 50 is a table illustrating a Master's MSB RAM/REG Address command
  • FIG. 51 is a table illustrating an LSB EEPROM Address command
  • FIG. 52 is a table illustrating a MSB EEPROM Address command
  • FIG. 53 is a table illustrating a Master's Copy RAM/REG to EEPROM memory command
  • FIG. 54 is a table illustrating a Master's Copy of EEPROM to RAM REG memory command
  • FIG. 55 is a table illustrating a Master's Quick Read command
  • FIG. 56 is a table illustrating a Master's Which Pointer to Read command
  • FIG. 57 is a Slave's Quick Read Response command
  • FIG. 58 illustrates power pulses and data pulses output by a master according to a pulsed power embodiment of the invention
  • FIG. 1 is a schematic diagram of an implantable medical device system 100 according to an embodiment of the invention.
  • implantable medical device IMD
  • IPD implantable medical device
  • RV right ventricular
  • System 100 includes IMD 102 that communicates with internal pressure reference (“IPR") 104 by way of communication bus 106.
  • IMD 102 is electrically connected with right ventricular coil (“RV coil”) 108,
  • RV lead 116 right ventricular lead
  • the RV lead 116 has a true bipolar lead (Vtip 114, Vring 112) for differential sensing, along with a Vsensor capsule 110, and RV Coil 108 for high voltage defibrillation therapy.
  • the Vsensor capsule 110 contains a pressure sensor, an oxygen sensor, and a temperature sensor.
  • the right atrial lead (“RA Lead") 120 is connected to Asensor 121, and a true bipolar lead (Atip 122, Aring 124).
  • RA Lead right atrial lead
  • Atip 122, Aring 124 true bipolar lead
  • a DC bias voltage of 3.0 V is maintained across RV Lead 116, and data in the form of 200 mV fluctuations are communicated on top of the 3.0 V bias.
  • EVID 102 delivers biphasic power pulse pairs (+/-3.0 V) via RV Lead 116, and data in the form of 200 mV pulses are communicated between power pulses.
  • the communication across the two-wire bus of system 100 in one embodiment seeks to minimize resistance, minimize capacitance, minimize inductance, maximize shielding and maximize reliability.
  • the shielding is most easily maximized in a coaxial implementation with a grounded outer conductor and data/clock/power on the inner conductor.
  • IPR 104 has a separate lead whose communication bus 106 is hooked in parallel with the other communication busses in RV Lead 116 and RA Lead 120. These all share a common pair of feedthrus into IMD 102.
  • Pressure sensors are absolute pressure sensors that require temperature measurement capability.
  • the sensors are optionally electrically connected in parallel with EVID 102 through a number of different ways.
  • each lead is plugged into a corresponding port in a connector block and electrical connections between the sensors are made inside the connector.
  • sensors are serially connected to IMD 102 via the bus.
  • each of sensors 110 and 121 are, for example, connected by respective pairs of wires to a common connector block port.
  • Programmer module 130 communicates with IMD 102 by way of RF Link 176 from RF Head 132. The programmer module 130 programs parameters, read status, read diagnostic data and stored waveforms, as well as real-time waveform data.
  • FIG. 2 is a block diagram of an implantable medical device system 140 including IMD 102 connected to sensor capsules 142 and 144 by way of two-wire bus 178. The diagram schematically illustrates parallel electrical connection of sensor capsules 142 and 144 to LMD 102 with each capsule containing more than one sensor.
  • IMD 102 includes micro-controller unit 146, which has a microcontroller memory
  • Therapy and diagnostic unit 148 provides an accelerometer and minute ventilation, diagnostic circuitry (electro-gram, wavefom compression, battery monitoring, and lead monitoring), and basic infrastructure circuitry (power supply generation, ADC, and references, etc.).
  • Clock 149 is provided within therapy and diagnostic unit 148 to provide timing to LMD 102 and the sensor capsules.
  • Power supply 147 is also provided within therapy and diagnostic unit 148 to provide power to IMD 102 as well as external sensor capsules 142 and 144.
  • Communication unit 150 communicates with remote sensors and sends power as well as a synchronizing signal or clock signal to remote sensors.
  • Communication unit 150 also contains a transceiver to transmit and receive data over a two-wire communication bus.
  • Communication unit 150 has protection networks to protect EVID 102 against transient voltages and currents induced on two-wire bus 178 due to electro-surgery, electrical discharge, defibrillation, electro-static discharge, electro-magnetic interference, etc.
  • Each sensor capsule 142 and 144 contains circuitry to measure and convert pressure, temperature, and oxygen signals into a digital signal through analog to digital converters ("ADCs") 152.
  • ADCs analog to digital converters
  • Each sensor capsule (142, 144) also contains a small nonvolatile memory, in the form of EEPROM 154, to store a unique sensor address, serial number, and calibration coefficients, etc.
  • Recovery units 156 recover power from the fluctuating voltages on two-wire bus 178 to power each respective sensor. Clock synchronization allows a relatively inaccurate high speed clock recovery unit 157 to be available on each sensor, which is periodically synchronized with clock 149 on EVID 102. IMD 102 thereby controls the sampling rate and sampling time for each of the individual sensors by way of transmitting commands to the sensor(s), thereby instructing the sensor(s) to sample. EVID 102 also controls when each sensor puts each bit of data on the bus. The need for high accuracy clock generation circuits within each sensor capsule is therefore eliminated.
  • FIG. 3 is a block diagram of implantable medical device system 170 implementing sensor communication between programmer module 130, EVID 102 and sensor capsule
  • the first protocol defines how sensor data is digitized and moved to a small buffer memory within recovery unit 156 in sensor capsule 174. This protocol also defines how data is read/written from/to an EEPROM within sensor capsule 174 and placed into buffer memory. This protocol is defined by hardware within each sensor capsule.
  • the second protocol is a sensor communication protocol that defines how data is moved from memory within a transceiver at one end of two- ire bus 178 to memory within a transceiver at the other end of two-wire bus 178.
  • the sensor communication protocol defines an addressing scheme, data encoding, and voltage/current levels on two- wire bus 178.
  • a third protocol defines how data is moved from a transceiver within IMD 102 to the appropriate locations. Once data is received by EVID 102, it becomes available in memory for signal processing, waveform compression, telemetry, and episode storage. This protocol is defined by hardware and firmware within EVID 102.
  • the sensor communication protocol defines how data is moved between remote sensors and IMD 102 via two-wire bus 178. Network protocols generally have multiple layers. The sensor communication protocol is therefore described using the open system interconnection ("OSI") model for a network. All layers defined in the OSI model are not necessary for the present invention. The OSI model is broken into 7 layers. The physical layer determines how a bit is moved across the wires (voltage, current, timing).
  • the data link layer determines how frames of data are created (bytes, words).
  • the network layer detennines how packets of data are assembled.
  • the transport layer determines how packets are moved.
  • the session layer defines how a session is started and ended.
  • the presentation layer determines how data is compressed or encrypted.
  • the application layer determines how data is used at the highest level.
  • the application layer is defined by the- circuits, firmware, RAMware, and software running in EVID 102 and/or programmer module 130.
  • the physical layer determines how "l's" and "O's" are moved between EVID 102 and sensor capsules 174 via two-wire bus 178.
  • the physical layer also determines how remote sensors are powered from IMD 102.
  • the two-wire bus 178 provides synchronization between sensors 174 and
  • EVID 102 This allows IMD 102 to control when a sensor makes a sample and maintains synchronous operation of all sensors.
  • the physical layer also defines how the integrity of the wires can be checked.
  • the transmission of power from EVID 102 to remote sensor capsules is provided because the sensors are in some embodiments small enough to pass through the veins and into the heart. That is, certain unpowered sensors may be used that lack as internal power. Synchronization is important for applications requiring sensors at different locations (e.g. EGM, RA and RV pressure). If each sensor sends data at a slightly different rate, it becomes more difficult for EVID 102 to create records of the sensor data because each sample is taken at a different points in time. Processing of the data also becomes difficult because the time base for the samples is slightly different.
  • calculating a simple difference between RA and RV pressure is complicated if the sample rates are not the same. Data would then be collected at a higher rate from one of the sensors and interpolation or other filtering techniques would be required to time align the sample data.
  • the synchronization signal also allows the clock circuitry within each sensor to be less accurate. If each sensor has to provide data at the same rate without a synchronizing signal, crystal controlled oscillators would be required, which would add significantly to the size of the sensor capsule. Integrity of two-wire bus 178 is continually verified during operation. Numerous faults could occur on the wires, which could impact the therapy supplied by IMD 102.
  • EMI filters and/or high voltage protection networks may be optionally installed on EVID 102 and possibly in sensor capsule 174. These networks add capacitance and series impedance, which tend to increase power supply current when driving two-wire bus 178. Furthermore, the use of these networks slows down transitions on the bus and may limit bandwidth.
  • FIG. 4 is a cross sectional view of a typical two-wire bus lead in the form of coaxial lead 180. Outer coil 182 is connected to the sensor capsule, and to system ground on IMD 102. Inner coil 184 is also connected between a sensor capsule and IMD 102, and is used for communication.
  • Bus insulation layer 186 surrounds and protects inner coil 184 and outer coil 182.
  • the outer coil is covered by outer coil insulation layer 183 while inner coil 184 is covered by inner coil insulation layer 188.
  • a gap 185 is formed between inner coil insulation layer 188 and outer coil insulation layer 183. Gap 185 may be air if lead 180 is dry or may gradually fill with fluid if lead 180 is wet.
  • Bus insulation layer 186 and inner coil insulation layer 188 may be made from e.g. polyurethane (Pellathane 80A). Layers 186 and 188 may optionally be made from a biocompatible insulating material including polyurethanes, ETFE, silicone, or polyamides.
  • FIG. 5 is a sectional view of an exemplary multi-lumen lead 190.
  • multi-lumen lead 190 is a three lumen high voltage lead intended for an implantable cardiodefibrillator ("ICD") and pressure sensing application.
  • Lead 190 supports integrated bipolar sensing, a high voltage RV coil, and uses a coaxial cable for communication with a pressure sensor.
  • Lead 190 includes a plurality of compression lumens 192 defined by lead body 194.
  • Lead 190 uses one cable with a coil 196, one coil 198, and a cable for HV coil 200.
  • the coil 198 is connected to the tip electrode and is used to allow the stylet to pass through to the tip.
  • the cable within coil 196 is used for sensor communication and is preferably silver cored MP35N with an ETFE insulating layer.
  • Cable 200 is used for a high voltage (“HV") coil.
  • HV high voltage
  • the resistance of the conductors is low ( « 5 ohms).
  • FIG. 6 is an axial view of two-wire co-radial lead 210 that uses a co-radial, multi-conductor construction. Lead 210 uses four individual wires wound side by side.
  • FIG. 7 is a sectional view of the conductors used within the co-radial lead 210, including a core 218. Wire core 218 is dipped in a polyamide coating 220. Each wire 212 is further insulated with outer insulation 222 ETFE.
  • Electrical model 230 includes IMD 102, which includes transceiver 234 and stimulus circuits 236. Inner wire 238 and outer wire 240 comiect EVID 102 to sensor capsule 242 and sensor capsule 244. Each sensor capsule has an interior transceiver 246. Electrical interference from stimulus circuits 236 to the body tissue are modeled through ring 248, tip 250 and case 252. There are several variables that affect performance of the communication link, such as signals on the wires coupling into the body causing sensing errors, signals in the body coupling into the wires causing data errors, EMI coupling into the wires causing data errors, CVF current, and effects due to sensors turning on/off.
  • Cio 260 models the capacitance from inner conductor to outer conductor of the coaxial cable. Cio 260 directly affects current drain of the system because current is proportional to capacitance * voltage * frequency ("CVF").
  • Cob 262 models the capacitance from outer conductor to the body tissue. Cob 262 directly affects crosstalk from external noise sources into the communication lead and allows commumcation signals to couple into the body, where they could cause sensing problems in EVID 102.
  • Cib 264 models coupling from the inner conductor of the cable to the body.
  • Ri 266 and Ro 268 model the resistance properties of the inner and outer conductors.
  • Ro 268 is especially important for rejecting noise from the body and for preventing crosstalk from the commumcation protocol to the body. Any voltage change in the body relative to ground results in a current flow in the outer conductor due to Cob 262. This current is converted to a voltage by the resistance of the outer conductor Ro 268.
  • the tip 250, ring 248, and case 252 of the stimulus/sensing electrodes are modeled as if coupled to the body through resistors. In reality, these electrodes are complex distributed impedances.
  • IMD 102 is shown electrically connected to the lead through the body tissue.
  • Case 252 of EVID 102 is typically the largest electrode in a pacemaker/ICD and is typically the most representative of the voltage seen in the body, hi some IMDs, the case is tied to system ground through a low impedance switch, while in others the case is left floating.
  • Rtr 270 and Rtc 272 are modeled as 830 ohm resistors, while Rrc 274 is modeled as a 415 ohm resistor.
  • case 252 is left floating, ring electrode 248 is tied to system ground, and tip 250 is driven to a large negative voltage (0 to -9 V).
  • case voltage ends up somewhere in between the tip and ring voltage, but typically stays closer to ring 248 than tip 250 because the ring electrode area is typically larger than the tip, thereby creating a lower impedance connection.
  • case 252 is held to ground while tip 250 is driven negative. In this scenario, case 252 stays close to ground.
  • the stimulus circuits ground the tip, while pulsing the ring or case positive. In these systems, the case typically moves a greater distance from ground thereby inducing a larger voltage in the body relative to system ground.
  • voltage pulses on the case may reach 9 V with respect to system ground. In nerve stimulators, this value can be as high as 15 V.
  • pacing pulses rise times for the leading edges of pacing pulses are typically on the order of 100 ns - 1 us.
  • Pacemakers and implantable cardiodefibrillators typically address high voltage protection differently.
  • ICD implantable cardiodefibrillators
  • the case moves as much as 800 V with respect to ground during discharge.
  • Rise times on ICD pulses are typically very fast with slew rates on the order of 500 V/us at the leading edge.
  • trans thoracic defibrillation the case moves as much as 1600 V with respect to ground.
  • Rise times on trans thoracic defibrillation pulses are typically much slower than for ICD's.
  • voltage on the leads is clamped with protection networks.
  • a voltage limiting network may be incorporated within IMD 102 and in the sensors. Interference into the communication wires can occur if the capacitance on the outer lead conductor is large and the impedance of the outer lead conductor is large.
  • a large amplitude unipolar pace in a pacemaker uses a pace case architecture with the sensor lead outer conductor grounded. The voltage induced on the lead outer conductor during the pulse rise time is approximately: ( Ro Cob* Vpace ⁇ — + Rswitch Vouter » tfall J J Q j In EQ.
  • Cob is the capacitance between outer conductor and body
  • Vpace is the voltage on the body relative to ground
  • tfall is the fall time on the leading edge of the pace
  • Ro is the resistance in series with the outer conductor and is assumed to be distributed
  • Rswitch is the value of the switch on IMD 102 used to connect the lead outer conductor to ground (about 10 Ohms).
  • the architecture used for the pacing circuits and the rise time of the stimulus pulses will be important in reducing the amount of crosstalk.
  • using the co-radial construction lead results in enough coupling from the pacing pulses to the sensor signal to disrupt communications, if the pulses occur when the signal line is not strongly driven.
  • voltage on wires can be coupled into the body causing interference with sensing operation within EVID 102.
  • a sensor is enabled and the current flowing through the lead outer conductor causes a voltage drop across the conductor, which is then capacitively coupled into the body through the lead outer insulation.
  • the voltage induced on the lead outer conductor is dependent on the sensor current (Isensor) and the impedance in the lead outer conductor (Rswitch + Ro). The voltage is then coupled into the body through Cob.
  • a resistive impedance could be added to the tip, ring, or case to allow the common mode voltage to quickly bleed away.
  • Last considered is a coupling from the lead outer conductor.
  • tip 250, ring 248, and case 252 of EVID 102 float relative to circuit ground.
  • Very fast rise time 200 mV communication pulses and, in some embodiments, 3 V power pulses with 100 Ohm source impedance are applied to the lead inner conductor with the lead outer conductor grounded. The resistance of the lead outer conductor plus any switch resistances cause the current through the lead outer conductor to result in a voltage drop. This results in a voltage spike that will quickly bleed away.
  • the peak of the spike is given by: — R ° • + R personallyswitch Vouter » réelle-. — drunk 1 Vsignal Rsource + — + — - + Rswitch 2 2 EQ. 4
  • the magnitude of Vouter is reduced by minimizing Ro, Rswitch and Vsignal, and maximizing Rsource.
  • the time constant of the decay is given by: ( Ro ) Tau — + Rswitch + Rsource + Rswz ' tc/z • Cio 2 ; EQ. 5 Tau can be minimized by reducing Ro, Rswitch, and Cio. This voltage is coupled through the capacitance of the lead outer conductor into the body causing a common mode step in voltage on the tip, ring, and case.
  • the effect of turning high current sensors on and off can induce voltages in the body large enough to disrupt sense amplifiers or impedance measuring circuits.
  • the cross talk performance of the high voltage multi-lumen lead is better than the co-axial lead or the co-radial construction lead. Crosstalk can be reduced by minimizing the amplitude of the voltages used on the bus and by reducing the rise/fall times of the signals.
  • the addition of capacitance or resistance to the tip, ring, or case to ground can also help significantly.
  • Options for implementing a leakage detection circuit include issuing a command to the sensors to completely power down the sensors on the bus to allow a leakage check between the conductors and the body at normal supply voltages. Another option is to drop the voltage on the bus to a low voltage level (350 - 400 mV), which can result in a "0" current state for the sensors on the bus.
  • a preferred mode of implementation is to issue a broadcast command to all bus sensors to go to a "0" current state for a period of time long enough to check for leakage. Circuitry in the EVID may then check for faults between each of the conductors or between each of the conductors and the body. Pulse powered embodiments will generally have different requirements because they do not utilize a constant DC bias in the body.
  • the outer conductor should be maintained at the same DC potential as the body.
  • Some IMDs use a positive battery terminal as a body ground while others use a negative terminal as body ground.
  • the outer conductor of the lead could be driven to either the positive supply voltage or negative supply voltage.
  • a rectifier function within each sensor would be required to allow the conductor polarity to be different for different IMDs. If the co-radial construction method is used, and there is a lead outer insulation fault, there is no shield layer to prevent current flow to the body. Thus, the possibility of a lead insulation fault that could cause a DC current flow into the body for DC bias powered embodiments is greater. FIG.
  • FIG. 9 is a schematic block diagram of a sensor interface system 280 for an implantable medical device ("EVID") 102 and a sensor capsule 284 for lead fault detection.
  • EVID 102 is capable of switching the transceiver and sensor power source 286 or a leakage detection circuit 288 onto inner conductor 290 or outer conductor 292.
  • the outer conductor 292 of the lead is normally connected to body ground, but can be isolated by a switch.
  • the sensor capsule 284 includes a rectifier & regulator 294 to accept voltages of arbitrary polarity from IMD 102.
  • the sensor capsule 284 includes sensor 298 and also includes isolation circuits 296 for isolating the rectifier and regulator 294 and transceiver 295 from the lead conductors, during a lead integrity check.
  • IMD 102 The maximum voltage level conveniently available in IMD 102 is the unregulated battery voltage, which can be as high as 3.3 V at begimiing of life, typically 2.65 V at an elective replacement indicator, and as low as 1.8 to 2.2 V at end of battery life.
  • Each sensor has a different operating current drain. Most have low operating currents (1 - 10 uA) and will be turned on for a few milliseconds each second or run continuously.
  • Some sensors, and/or the EEPROMs within the sensors, may require currents in the milliamp range. If the source impedance of the battery, supply circuitry, and wire resistance is high, the milliamp current pulses could disrupt communications in DC bias embodiments. A few methods are available to address this issue, such as fonmilating a design protocol to operate through the high current pulses or suspending communications during high current measurement. Another method includes storing charge on a capacitor in the high current sensor and to isolate the sensor from the bus. The preferable method is to suspend commumcations during high current measurement. A two-wire bus provides power, clock, and data from a single master to up to 16 slave devices.
  • Half-duplex communications, and pulse width modulation of the voltage on the bus allow a raw data rate of approximately 100 Kbps.
  • the "l's" and “O's” are encoded the same for master and slave devices.
  • An initialization procedure is used to determine the long address of each slave device and to assign a short address to keep the commands shorter.
  • the protocol includes messages to trigger measurements, write, and read data. Addressing modes are provided to allow individual devices, groups of devices, or all devices to be addressed.
  • the message format includes start, command word, address, data, CRC ACK and stop.
  • the message format also includes a Low Power ACK. Some messages require acknowledge by the recipient while others do not.
  • the master device always initiates communications.
  • FIG. 10 is graph of nominally one bit time for communication across a two-wire bus wherein the bit time is divided into 6 equal parts. One bit time can allow up to an 8% tolerance on the clock in both the sender and receiver.
  • FIG. 13 is a graph illustrating voltage swings on a two-wire bus for DC bias embodiments of the invention. The voltage swings are 200 V. Signals are driven on the two-wire bus. One wire is labeled "MW_DATA" and is driven between Bplus, e.g., 3.0 V, and Bplus - 200 mV.
  • FIG. 14 is a graph illustrating an example start bit definition for DC bias embodiments of the invention.
  • the start of a message is nominally a bus low for two bit times, however some variation on clock mismatch is allowed between slave and master so that the slave can wake up and detect the start bit.
  • the start bit definition for pulse power embodiments includes three bit times. The sending of a message from the master to a slave device is first described. The start of a data bit in the message begins with the master pulling the bus up to a high voltage. A fraction of a bit time later, the master pulls the bus back low. The duration of the high voltage pulse indicates the data value.
  • FIG. 14 is a graph illustrating an example start bit definition for DC bias embodiments of the invention.
  • the start of a message is nominally a bus low for two bit times, however some variation on clock mismatch is allowed between slave and master so that the slave can wake up and detect the start bit.
  • the start bit definition for pulse power embodiments includes three bit times. The sending of a message from the master to
  • FIG. 15 is a graph illustrating a master driving a data "0".
  • a data value with a time high of 1/3 bit time corresponds to a logic "0".
  • FIG. 16 is a graph illustrating a master driving a data " 1 ".
  • a data value with a time high of 2/3 bit time corresponds to a logic "1".
  • the slave's receiver samples the data on the bus with a time delay of 1/2 bit time (t3) after the rising edge of the bus.
  • FIG. 17 is a graph illustrating a slave driving a data "0”
  • FIG. 18 is a graph illustrating a slave driving a data "1 ".
  • the master is the only one on the bus with pull-up capability.
  • FIG. 19 is a graph illustrating a stop sequence for DC bias embodiments, which includes a master stop, a master acknowledge request ("ack req"), and a slave acknowledge ("slave ack").
  • a stop bit is indicated by the bus being held high continuously for 1 bit time. The master can send out commands to multiple slaves.
  • a multi-slave acknowledge therefore is of limited value because if received, the master only knows that at least one slave received the message.
  • the master ends commands with a sequence that the data link layer refers to as Stop-Ack Req-(N)Ack. If the master requires an ACK to the last command, the master will put a logic "0" on the bus in the bit time immediately following the stop bit. If a request for an
  • the master stop sequence for pulse power embodiments additionally includes a Low Power (N)Ack in addition to the illustrated CRC (N)Ack.
  • FIG. 20 is a graph illustrating a master stop, a master ack req, and a slave non- acknowledge ("nack"). If the slave does not receive the message at all, or if the message is received with an error, no ACK or NACK will be provided and the command will be ignored. Defining what is an error based on the command structure and error checking is also further defined in the data link layer.
  • FIG. 20 is a graph illustrating a master stop, a master ack req, and a slave non- acknowledge ("nack"). If the slave does not receive the message at all, or if the message is received with an error, no ACK or NACK will be provided and the command will be ignored. Defining what is an error based on the command structure and error checking is also further defined in the data link layer.
  • 21 is a graph illustrating a slave stop sequence for DC bias embodiments, which includes a stop-stop-stop.
  • the slave drives data onto the bus in response to a command
  • the slave drives "l's" and "O's" out to the master.
  • the master Upon the last bit of data being sent, the master is still unsure if any more data is to follow. Accordingly, the master allows three chances for the slave to send more data. This is referred to as a STOP-STOP- STOP.
  • the stop bit from the slave is indicated by the lack of data on the bus for a period of 1 bit time for a consecutive 3 bit times in a row.
  • the stop sequence occurs for 3 bit times in a row to avoid conflict on the bus where the sensor is pulling down and the master is pulling up at the same time.
  • the sensor stop sequence for pulse power embodiments includes four bit times, and takes the form of a STOP-AckReq-(N)Ack-STOP.
  • FIG. 22 is graph illustrating the sending of a message from the master to one or more slaves.
  • a message from the master to one or more slaves is summarized as a start sequence, some data, and a stop sequence.
  • the slave device uses a delay chain triggered off the rising edge of the bus to determine when to sample the bus voltage. The rising edge of the bus is used to reset the falling edge of the slave's clock low and the 1/2 bit time delay after the rising edge of the bus is used to set the slave's clock high.
  • FIG. 23 is graph illustrating a response with data from a slave to master-.
  • the master requests data from the slave by sending a complete message. All commands that require data from the slave will be preceded by the ACK request.
  • the slave will then put an ACK on the bus and follow up with data.
  • the master then pulls the bus high for 1/6 of a bit time and releases the bus.
  • the slave puts data on the bus in the same manner as the master did when the master was sending data by pulling the bus low. In other words, as discussed above with reference to FIGS.
  • the duration of the high voltage pulse indicates the data value with a time high of 1/3 bit time corresponding to a logic "0" and a time of 2/3 bit time corresponding to a logic " 1 ".
  • the longest value possible for 5/6 of a bit time seen in the sensor must be less than the shortest value possible for 1 bit time as seen by the master. This puts an accuracy tolerance on the time delays of about +/- 8% if rise-fall times and propagation delays for detecting clocks and turning on/off pull-ups and pull downs are neglected.
  • the master weakly holds the bus high while waiting for the slave to pull the bus down for a data "1" or "0.”
  • the master drives the bus high for 1/6 of a bit time at the start of the bit time, and then weakly holds the bus high while waiting for the slave pull the bus low at 1/3 or 2/3 of the bit time for a data "0" or data "1", respectively.
  • the master detects that the bus is in the low state and weakly drives the bus low.
  • the master quickly releases its weak hold high, e.g., within 100 nanoseconds, to minimize power consumption.
  • the slave releases the drive to the bus that is pulling it low at 5/6 of the bit time, leaving the master weakly holding the bus low.
  • the master disconnects a weak hold switch prior to pulling the bus high for the start of the next bit time.
  • the strong drive from the master or slave, which is used to pull the bus high or low will be on the order of 50 Ohms, while the weak hold used by the master to weakly hold the bus high or low will be much higher, e.g., on the order of 5 kOhm, to insure that the slave can overdrive the weak pull up.
  • the communication system operates with less errors in a noisy environment and with lower impedance across the two wires of the bus when the slave is responding to the master than in embodiments where the master allows the bus to float high while waiting for the data response from the slave.
  • the task of a data link layer is to take a raw transmission facility and transform it into a line that appears free of transmission errors.
  • the data link layer accomplishes this task by breaking up the input data into data frames, transmitting the frames sequentially, and then processing the acknowledgment frames sent back by the receiver.
  • the application layer determines the set of allowed messages and the action taken upon receipt of each. Data transmission is based on a master - slave relationship.
  • the master initiates all communication by sending commands to the slave, which then responds with actions or , data.
  • This allows more hardware intelligence to be placed in the master IMD, which has more resources such as a battery, a crystal oscillator controlled time base, and more area for integrated circuits and external components.
  • the slave electronics are provided to be simple and low in power. The slave may, of course, still support intelligent operations. Signal processing in the slave allows the sending of processed data rather than raw data back to the master, thereby resulting in fewer transferred data bits.
  • FIG. 24 is a general command format for transferring data across a two-wire bus. Commands are preceded by a Start sequence and all slaves on the bus wake up in response to a Start.
  • the fields are labeled Masterl through Master7, implying that the master is talking.
  • the data is sent out from the most significant bit ("msb") first proceeding to the least significant bit (“lsb").
  • the field formats are configured as follows.
  • the Start field is a unique 2 bit time long sequence issued by the master.
  • the Slave(s) field is a field to identify one slave (unicast) multiple slaves (multicast) or all slaves (broadcast).
  • the Slave(s) field is explained more fully below with regard to addressing.
  • the Quick Trigger (“QT") field is a special field identifying a Quick Trigger ("QT bit set") command. All commands except the Quick Trigger ("QT bit set”) have this bit set to zero. When the QT bit is set high, the command is identified as a Quick Trigger command.
  • the Master Command Name field provides instruction to the slave. A 5 bit command in the Master Command Name field identifies up to 32 different commands. If the QT bit is set, then this field is not used.
  • the Data field is 8 bits long for most commands.
  • the use of 8 bits allows a byte of data to be written at a time.
  • the data field varies from command to command and can be broken down to sub-fields.
  • the frame check sequence (“FCS") field provides error checking.
  • FCS field is used for a cyclic redundancy check (“CRC”).
  • CRC cyclic redundancy check
  • the Stop Sequence field is used to tell the slave when the master is talking and that this is the end of the command. When the slave is talking, the stop sequence is used to tell the master that this is the end of the data.
  • the stop sequences for DC bias embodiments take two forms discussed above, namely Stop-Ack Req-(N)Ack and Stop-Stop-Stop.
  • Stop-Ack Req-(N)Ack In the Stop-Ack Req-(N)Ack form, the talker is asking the listener if they received the message and if the message was error free. "Ack Req” means Acknowledge Request, "Ack” means Acknowledge, and "(N)Ack” means Not Acknowledge.
  • the Stop-Stop-Stop form is slave data response for the Read and Read Results commands.
  • a bit time is a unit of time (clock cycle) for a "1" or "0".
  • the command format length is 33 bit times for most commands in DC bias embodiments, and 35 bit times for most commands in pulsed power embodiments, discussed in greater detail below, due to the addition of bit times in the Start and Stop sequences.
  • the sensor interface allows the slaves to sleep, thereby saving power.
  • the bus can have multiple slaves hanging on it. These slaves may be sensors, actuators or slave IMDs.
  • the command structure is implemented with the Master initiating all communication.
  • the Master When the Master starts talking, the Master issues a Start command. All slaves begin listening on a Start command, or on detection of a power pulse. A slave not being addressed by the master may stop listening and interpreting the command to save power. When a particular slave determines that a command is not directed to that slave, the slave may go to sleep until the next Start sequence or power pulse. Sleep mode may occur at different points in the command format, depending on whether the sensor is mapped or unmapped. A mapped sensor has an assigned short address and unmapped sensor does not have a short address. Addressing is provided in two forms: long address, and short address. The long address is 64 bits while the short address in the command is 6 bits. The long address uniquely identifies the slave telling: 1. manufacturer; 2. protocol version; 3. model identifier; 4.
  • FIG. 25 is a table providing a slave long address format.
  • the goal is to have a command structure that allows a map assignment of long addresses to short addresses such that the majority of communication is provided by short addresses.
  • the use of a short address containing only 6 bits will lower the cvf current of the bus.
  • the master communicates to the slaves three different ways: 1. Unicast to one sensor; 2 Multicast (Trigger) up to four slaves simultaneously; and 3. Broadcast to all slaves. A broadcast is sent to every sensor on the bus, and there can be up to 16 slaves simultaneously on the bus.
  • the 6 bit address is provided to trigger, i.e. Multicast, multiple slaves simultaneously.
  • the 6 bit format permits identification of 16 sensors uniquely and permits all short addresses sent to the sensors to be of the same format.
  • the 6 bit format allows some multicast capability and a unique broadcast code.
  • FIG. 26 is a table of slave short addresses and multicast examples. The table particularly illustrates examples of how the master specifies the short addresses.
  • multicasting a message to more than four slaves is not permitted.
  • Addressing at power up is particularly considered as follows. Slaves are powered up or reset and respond only to their long address. In this state they are unmapped, and only three commands are usable in this state: 1. Unlocks; 2. Search Long Address; and 3. Write Short Address. These commands can all use a reserved short address with a code of 000000. This reserved code is used as a broadcast command going to all slaves on the bus. When the master uses the broadcast short address of 000000, then all slaves listen. The master may then uniquely identify a particular slave depending on whether the command calls for a long address. After power up, the long addresses of the slaves are searched. The sequence is as follows: 1.
  • Long Address and search for the long address of the slave(s) (once all slave long addresses proceed to next step); and 4. Assign each slave a unique short address via the command Write Short Address.
  • the assignment of long addresses are made during manufacturing. Long addresses may be assigned to various slaves on a pacing lead or to a slave IMD, one slave at a time before each slave is added to the bus.
  • a capsule on a lead is a hermetic body that contains the slave's electronics. If a capsule contains multiple slaves, the four bit slave number included in the long address can be uniquely hard coded.
  • the master searches the unique long addresses and assign short addresses. The capsule containing multiple slaves then only requires one pair of wires for all slaves.
  • the Unlocks command has a form that "unlocks" the ability to write long addresses. If a lead contains multiple capsules the capsules are assigned unique addresses before they are built into a lead. Each capsule's long address is therefore searched out using the Search Long Address command. Data going to or from the master contains a Frame Check Sequence ("FCS").
  • FCS Frame Check Sequence
  • FCS is an 8 bit CRC.
  • the generator polynomial G(x) is given as follows:
  • Polynomial strings are based upon treating bit strings as representations of polynomials with coefficients of "0 and "1". Therefore, for example, the generator polynomial is the bit string 10011 0001 2 .
  • the master controls when slaves sample by issuing triggers.
  • the issued triggers ensure that all samples are evenly spaced for a particular slave and ensure that all slaves are sampling at the same time or multiples of each other, i.e. data alignment slave to slave. Furthermore, the issued triggers allow the master to control the data rates.
  • the slave's ADC will require a certain amount of time to perform a conversion.
  • the Trigger command allows two additional fields of 4 bits each.
  • One field allows time stamping of data via a Count embedded in the trigger command. This allows the master to tell if a sensor missed a trigger(s) and which trigger(s) were missed.
  • Another field will allow Command Codes to be sent down to the sensor.
  • the sensor may perform signal processing of the data stream between two different Command Codes. Command Codes work like a 4 bit write within the Trigger command.
  • FIG. 27 is a graph of a triggering example. As illustrated, the read that follows a trigger does not obtain data from the most recent trigger but rather obtains data from 4 triggers previous.
  • FIG. 28 is a graph and table illustrating a relationship between triggering of one sensor and reading corresponding data.
  • the graph particularly illustrates an example of triggering four slaves at a same trigger frequency and the staggering of reading the data back to distribute the bus traffic evenly.
  • the Counts that were sent with the triggers are stored in with the data.
  • the Quick Trigger (QT bit set) works just like the Trigger command, but is less flexible and allows power savings.
  • the Quick Trigger command does not have a Master
  • FIG. 29 is a graph illustrating re-triggering of data using a count code. On occasion, re-triggering of a sample may occur. Re-triggering is a Trigger or a Quick
  • Trigger command with a count code of Ehex may be used if the slope of the data is not important or is not adversely effected by a re-trigger. Re-triggering may also be used if the sample period is long compared to the time between the trigger and the re-trigger of a sample (implying the slope is not adversely effected). Further, a re-trigger may be used if the data is non-periodic or if only a single sensor is being triggered.
  • the acknowledge request can be meaningless because more than one sensor is acknowledging proper receipt of the trigger command.
  • the trigger goes out to a single sensor, the acknowledge has more meaning because the acknowledge is specific to a single sensor. Therefore, if the trigger is NACK'd, the trigger can be determined if re-triggering can be performed. A re-trigger may get ACK'd thereby returning some semblance of periodic triggering.
  • triggering can be accomplished by issuing a power pulse to multiple slaves on the bus.
  • the slaves can perform some pre-determined action or measurement. Triggering in this manner reduces bus traffic, thereby lowering current drain.
  • power pulses used as triggers do not include data, such as slave addresses.
  • the master can deliver a sequence of power pulses that is associated with, e.g., addresses that slave. In such cases, slaves are able to count the number of power pulses issued in order to recognize sequences of power pulses and accordingly perform pre-determined actions.
  • Some forms of digital signal processing may be performed in the sensor. The signal processing for RV Pressure set forth below may be equally performed in the sensor or in the IMD.
  • FIG. 30 is a graph illustrating a collection of data points for an RV pressure waveform.
  • FIG. 31 is a table illustrating Command Codes and measured parameters.
  • the protocol provides for passing the whole pressure waveform up to the IMD for research, diagnostics and display purposes. Commands are sent out by the EVID at a certain rate and each have a 4 bit Count Code associated with them. With these counts, both time and signal slopes can be derived and the presence of missing Triggers can be determined.
  • the Trigger commands optionally have a 4 bit Command Code associated with them.
  • One use of the Command Codes is to determine when to start the signal processing and when to end the signal processing.
  • the Command Codes are essentially used as a short write command embedded within the Trigger command.
  • the Quick Trigger command in combination with the Write command can be used to start signal processing and end signal processing.
  • There exists a certain amount of data overhead when retrieving data from the slave. By minimizing the data overhead, the current drain is reduced by reducing the data frequency (f) in the i cvf equation. Data transfer overhead for a single slave using a Trigger command and a Read
  • Results command are analyzed below using the 33 Bit Times per standard command for DC bias embodiments as an example. For a one slave application generating 12 bit data and sending 4 bit Count codes back with the data, the following information is obtained. Each Trigger is associated with 16 bits of data coming back: 33 Bit Times 12 Bits ADC Data 4 Bits Count Data 49 Bit Times Trigger Trigger Trigger
  • n samples Read Request g Q g For calculation of the number of bit times each sample associated with a trigger costs for a one slave application.
  • the efficiency for one slave is not nearly as great as for multiple slaves.
  • use of multiple slaves using a Trigger and Read Results command provides increased efficiency.
  • each Trigger command is associated with a certain amount of data (16 bits X the quantity of slaves Y) coming back:
  • Each slave has its own read request and response that has a certain cost: 33 Bit Times in Request 8 Bit Times for CRC in Request 3 Bit/Times for Stop in Response 44 Bit Times Read Request Read Request Read Request Read Request Read Request
  • Each slave has its own read request and response that has a certain cost: 33 Bit Times 8 Bit Times for CRC in Response 3 Bit Times for Stop in Response 44 Bit Times Read Request Read Request Read Request Read Request EQ. 19
  • Y triggers to get n samples per Read Request n samples Read Request g Q 2 Q Therefore, the number of bit times each sample costs for a quantity of Y slave application is:
  • FIG. 32 is a table providing a command overview for the sensor interface for an implantable medical device.
  • a unicast command writes to a single slave
  • a multi-cast command writes to more than one slave
  • a broadcast command writes to all slaves.
  • Memory inside the slave is partitioned to hold Calibration Constants, Slave Long Addresses, Lead Long Addresses and other variables to control the operation of the device.
  • the memory is preferably non-volatile for Calibration Constants and Addresses so that data is not lost once the bus is powered down.
  • FIG. 33 is a table illustrating a format for the Unlocks command.
  • FIG. 34 is a table illustrating Unlock command key options.
  • the Unlocks command is used for multiple operations and globally unmaps all slaves. When a slave is unmapped, the slave only responds to its associated long address. The Unlocks command may be sent multiple times because more than one slave is responding and ACKing. Globally, the Unlocks command checks for any unmapped slaves, and is shown as three steps in FIG. 49 below. The Unlocks command also globally checks for any mapped slave, and checks if the Unmap-all command was successfully completed.
  • the Unlocks command allows for copying from RAM/REG address space to EEPROM, and allows copying from EEPROM address space to RAM/REG space. Further, the Unlocks command allows writing of a slave long address.
  • the command is either ACK or NACK.
  • the ACK normally indicates that the FCS was valid but if searching for an Unmapped slave, an ACK will only be provided if the FCS is valid and unmapped.
  • FIG. 35 is a table of a Master's Search Long Address command. With this command, a binary search for the long address can occur. This search occurs with progressively-longer Long Address Bit Patterns (field Master4). If one or more slaves exist at the long address, then the command pulls the line low via the ACK command.
  • FIG. 36 is table summarizing an example search across a sensor for an implantable medical device. The search is performed by the Master implantable medical device for the binary long address bit pattern of the sensors attached to it. If the long address given below is only 4 bits, two slaves are on the bus at addresses (1010 2 and 1001 2 ), and the search will progress as illustrated. However, slaves having 4 bit addresses is illustrated for example purposes only.
  • FIG. 37 is a table illustrating a Master's Write Short Address command. This command writes the short address of a single slave. The Master's Write Short Address Command is given the long address (indicated by the Master4 field) and then a short address defined by the Master2 field is assigned.
  • FIG. 38 is a table illustrating a Trigger command.
  • the slave to be triggered depends on the Slave(s) field Master2.
  • the sampling rate depends on the speed that the
  • Trigger command is sent by the master, the frequency of Master and Sensor time bases, and the length of the trigger command. If the Trigger command is sent at 250 Hz, the Trigger command could trigger an RV pressure slave to sample every 4 ms.
  • the Command code for the Trigger command is a 4 bit code that encodes information, i.e. events, such that the slave can associate samples with cardiac or other information. Not all slaves will use the Command code field. Some slaves will use the Command code only and some will use the Command code and the Count and some may use neither the Command code or Count.
  • slave devices can take the form of a variety of types of devices in various embodiments of the invention. For example, in some embodiments of the invention slave devices may be other implantable medical devices or actuators.
  • An actuator can take the form of, for example, a miniature drug pump, stimulation device, or a micro-electro-mechanical-sensor device.
  • the master device can trigger sensing or delivery of therapy, opening of a particular orifice for delivery of drags or selection of a combination of electrodes for delivery stimulation by an
  • actuators take the form of sonomicrometry transducers, and the master triggers one or more actuators to act as either transmitters or receivers for one or more measurements.
  • FIG. 39 is a table illustrating a Trigger Command Code for a cardiac EVID. The illustrated list is used to communicate cardiac Command Codes to multiple slaves.
  • FIG. 40 is a table illustrating an example of a Trigger Command Code for sonomicrometry transmitters and receivers. The illustrated list is used to determine which slave/actuator is making an acoustic ping and which slave/sensor is listening.
  • the Command Code of F 16 (1111 2 ) is a reserved code for cleared data.
  • the Command Code of E 16 (1110 2 ) is a reserved code for normal (not specific Command Code data).
  • the Count field in FIG. 38 is a 4 bit code that gives a sequence to the triggers that are coming.
  • the Count rotates (in hexadecimal) 0,1,2,3,4,5,6,7,8,9,A,B,C,D,0,1,2,3...
  • the Counts of E] 6 and F ⁇ 6 are reserved.
  • the Count of Fig (1111 2 ) is a reserved count code for cleared data and the Count of E 16 (1110 2 ) is a reserved count code for retriggering of a sample that is NACK'd A Slave can determine if a trigger was missed.
  • the Count should increment 0 16 thru D ⁇ 6 , if the triggers are emitted to the slave in that order. Time alignment of data between slaves is accomplished in the master. A slave can be told to down sample on even values or odd values of the Count field via the Short Address Field. The Trigger command's Short Address field: G ⁇ G 0 A 3 A 2 A ⁇ A 0 still tells the slave to sample or not, therefore the Count does not dictate if a sample occurs. The Count embedded for this slave's data when read via the Read Results command tells whether any data is missing. Sampling on even Counts have Counts embedded in the data such as 0, 2,
  • the Pre-ejection interval may be recorded as the time from R wave detection to peak dP/dt. If one of the samples is not one of the reserved Command Code codes: (1111 2 or 1110 2 ) there could be a code for R-wave detection (for example 0000 2 ). Signal processing is performed to pick off the dP/dt via the Count codes. Once the speed of Count increments is determined, the PEI may be recorded as the number of
  • FIG. 41 is a table illustrating a Quick Trigger Command.
  • the Quick Trigger works like the Trigger command but uses fewer bits to save power.
  • the Master2 determines which slaves are triggered.
  • the sampling rate depends on the speed that the Quick Trigger command is sent by the master. For example, if the Quick Trigger command is transmitted at 250 Hz, an RV pressure slave may be triggered to sample every 4 ms.
  • the Quick Trigger command is the only one with the QT bit set.
  • the Quick Trigger command does not have a Master Command Name Field, therefore the slave must recognize whether the QT bit is set and know that it is the Quick Trigger command.
  • the count field works the same in the Quick Trigger command as in the Trigger command.
  • a command response is an Acknowledge from one or more slaves.
  • FIG. 42 is a table illustrating a Master's Read command.
  • the Address for the read is set up via the Master's LSB RAM/REG Address Command and the Master's MSB RAM/REG Address command.
  • the Quantity of bytes field allows reading up to 256 values from a page. A value of "0" reads 1 byte of data.
  • FIG. 43 is a table illustrating a Slave's Read Response. The Read command will leave the address as set by the Master's LSB RAM/REG Address Command and the Master's MSB RAM/REG Address Command, where it pointed to for the first byte read.
  • FIG. 44 is a table providing rules for a Read Results command.
  • FIG. 45 is a pair of tables illustrating a buffer with 8 bit Data and Count and Command Code embedded.
  • FIG. 46 is a table illustrating a Master's Read Results command.
  • the Master's Read Results command is more useful/specific than the general Read command because it performs more for the master, reduces bus traffic and reduces power.
  • the Read Results command reads result data from RAM/Register Address space, and is used in conjunction with slave results being put into this memory typically by an ADC.
  • Data can be put into memory via any format and can be slave specific. As illustrated in FIG. 44, the data format is shown with the oldest data given first.
  • the Read Results command works in close association with the Trigger and the Quick Trigger commands.
  • the Trigger command forwards a Command Code and a Count that are values other than Fi 6 .
  • Command Codes and/or Count codes that are embedded in the data read by the Read Results command, and that have values of F ⁇ 6 , have not yet had ADC data written to their associated data fields.
  • the Quick Trigger works like the Trigger except that it only sends the Count code.
  • the Read Results command follows the rules given in the table of FIG. 44.
  • FIG. 47 is a table illustrating a Slave's Read Results example response.
  • the example response is a response to reading N + 1 bytes.
  • the indicated response is slave specific, such that slaves may send various data bit widths back as well which may be including Count and/or Command Codes. The response does not have to send back both the Command Code and Count.
  • a response is given only if the Slave field (Master 2) is Unicast. No data is sent and no operations are performed with the ADC pointer if the
  • FIG. 48 is a table illustrating a Master's Write command.
  • the Address for placement of the value is set up via the Master's LSB RAM/REG Address command and the Master's MSB RAM/REG Address command.
  • FCS frame check sequence
  • the value field indicates the value that is written and the write command leaves the address off at the address where the write occurred.
  • the slave will acknowledge the write with a command response as long as the FCS was correct.
  • FIG. 49 is a table illustrating a Master's LSB RAM/REG Address command.
  • the Master's LSB RAM/REG Address command writes the RAM/Register Address Least Significant Byte Pointer.
  • FIG. 50 is a table illustrating a Master's MSB RAM/REG Address command.
  • the Value field for the Master's MSB RAM/REG Address command will contain the RAM/Register MSB Address Pointer, and the slave will acknowledge the write as a command response as long as the FCS is correct.
  • FIG. 51 is a table illustrating the LSB EEPROM Address command.
  • the LSB EEPROM Address command writes the EEPROM Address Least Significant Byte Pointer.
  • the Value field contains the EEPROM LSB Address Pointer and the slave will acknowledge the write as a command response as long as the FCS is correct.
  • FIG. 52 is a table illustrating a MSB EEPROM Address command.
  • the MSB EEPROM Address command writes the RAM/Register Address Most Significant Byte Pointer.
  • the Value field contains the EEPROM MSB Address Pointer while the slave will acknowledge the write with a command response long as the FCS is correct.
  • FIG. 53 is a table illustrating a Master's Copy RAM/REG to EEPROM Memory command. This command can copy up to 256 bytes from RAM/Register Address Space to EEPROM address space. The EEPROM addresses are left off at the starting address as dictated by the commands LSB EEPROM Address and MSB EEPROM Address.
  • FIG. 54 is a table of a Master's Copy of EEPROM to RAM/REG Memory command. The Copying command copies up to 256 bytes from EEPROM Address Space to RAM/Register space. The EEPROM addresses will be left off at the starting address as dictated by the commands LSB EEPROM Address and MSB EEPROM Address.
  • FIG. 55 is a table illustrating a Master's Quick Read command. This command reads address pointers that are not readable via a normal read using address pointers and also reads status words that are desirable for quick access.
  • FIG. 56 is a table illustrating a Master's Which Pointer to Read command and
  • FIG. 57 is a table illustrating a Slave's Read Address Pointers Response command. The generalized Read command does not use these pointers because they are used for the Read itself. This command is useful for debug by checking if pointer manipulation is working properly.
  • an EVID provides power to a slave device by placing a DC bias voltage on the two-wire bus used for communication between the IMD and the slave device.
  • two-wire buses according to the invention are in some cases exposed to conductive bodily fluids, particularly where the bus interfaces with the IMD and the slave device.
  • DC bias powering is utilized, such exposure could, over time, lead to degradation and failure of the bus, or of metallic components of the EVID and slave device that are coupled to the bus, due to corrosion or the like. Consequently, in preferred embodiments of the invention, an EVID provides power to a slave device by placing voltage pulses on the two-wire bus, which reduces the likelihood of failure due to corrosion or the like.
  • Slave devices such as sensor capsules 142 and 144 (FIG. 1) include recovery units 156 (FIG. 1) to recover power from the voltage pulses.
  • recovery units 156 include rectifier circuits to recover power from the voltage pulses.
  • the two-wire bus may take any of the forms illustrated in FIGS. 4-7, as well as other forms.
  • FIG. 58 illustrates power pulses and data pulses output by a master, e.g., an EVID, according to a pulsed power embodiment of the invention.
  • the master outputs voltage power pulses as bipolar voltage power pulse pairs.
  • the duration of each pulse of the pair, of an interval between pulses of a pair, and of an interval between pulse pairs is illustrated as one bit time. As discussed above, one bit time is nominally equal to ten microseconds.
  • the two-wire bus there is no DC bias on the two-wire bus between the IMD and the slave devices.
  • Data is communicated on the two- ire bus by variation of the voltage on one wire of the bus in the manner described above with reference to FIG. 13.
  • the variation is between a reference voltage, e.g., 0 V, and 200 mV.
  • the amplitude of power pulses is the reference voltage +/- 3.0 V.
  • Bipolar power pulse pairs can have any amplitude for the pulses, order of polarities of the pulses, duration of the pulses, and duration of the interval between the pulses of a pair. Further, bipolar power pulse pairs need not include an interval between the pulses of a pair.
  • power pulses are unipolar pulses, which can have any amplitude, duration, and polarity.
  • the master can vary the duration of voltage power pulses during operation of the IMD commumcation system.
  • a single power pulse, or, as illustrated in FIG. 58, a train of two or more voltage power pulses is delivered prior to communication of data.
  • the first pulse of a train that follows a message on the bus is preceded by an idle period of five bit times in which the master holds the data line of the bus at the reference voltage, i.e., holds that line at a forced "0.”
  • the idle period includes four idle period bit times, and a fifth force "0" bit time attributed to the one force "0" bit time that precedes all delivered power pulses.
  • slave devices determine the polarity of data pulses based on the polarity of the immediately preceding power pulse, or of the second pulse of an immediately preceding bipolar power pulse pair.
  • the master determines a number of power pulses to send before a message based on the power needed by the slave devices to perform the action requested by the message.
  • Slave devices wake-up from a low power state and monitor for a message Start sequence in response to detecting a power pulse on the bus.
  • Single power pulses or trains of power pulses can be delivered without a message to follow, e.g., in order to maintain adequate power for the slave devices. In such cases, the pulse or pulse train is followed by an idle period of five bit times so that the slave devices can determine that no message is forthcoming and return to the low power state.
  • slave devices wake-up and perform a measurement or some other predetermined in response to detecting a power pulse on the bus, e.g., the slaves are triggered by a power pulse or sequence of power pulses as described above.
  • FIG. 59 illustrates an example message sequence for pulsed power embodiments of the invention, which includes a Start sequence and command output by the master, and a master stop sequence.
  • the Start sequence synchronizes the slaves to the master, and indicates that a command will be output by the master.
  • the master outputs the Start sequence as a forced "0" followed by two logic "1 's".
  • the start sequence is not preceded by any power pulses, but is streamed or chained with the end of a previous message, as will be described in greater detail below with reference to FIG. 60.
  • the Stop sequence includes a "Stop” and a master acknowledge request (ACKReq) output by the master, followed by a slave cyclical redundancy check acknowledge or non- acl ⁇ iowledge (CRC ACK NAK) and slave low power acknowledge or non-acknowledge (LPwr ACK/NAK).
  • the Stop sequence ends with a second "Stop” output by the master.
  • the master outputs a "Stop” by holding the bus high continuously for 1 bit time.
  • slaves indicate a logic "0” by pulling the bus low at a shorter fraction of a bit time, and indicate a logic "1” by pulling the bus low at a longer fraction of the bit time. Consequently, in embodiments where the bus is shared by a plurality of slaves, output of a logic "0" by any of the slaves is detected as a logic "0" by the master for that bit time.
  • Slaves output a logic "0" during a LPwr bit time of the Stop sequence to indicate a low power status, e.g., to request delivery of additional power pulses from the master. If any slave outputs a logic "0", the master will detect a low power ACK, and determine that at least one slave has insufficient power. In some embodiments, the master outputs one or more power pulses in response to detection a low power ACK. If all slaves on the bus output a logic "1" or do not respond during the LPwr bit time, the master will detect a low power NAK.
  • the master Stop sequence is followed by an idle period of at least five bit times that will precede another power pulse or train of power pulses.
  • the master Stop sequence is followed by slave data pulses, wherein a slave transmits information to the master, and a slave stop sequence.
  • the slave stop sequence is followed by an idle period that precedes another power pulse.
  • the master streams multiple messages, i.e., outputs multiple commands, between consecutive power pulses.
  • Each command is preceded by a Start sequence, which alerts the sensors that an additional command will be sent, and synchronizes the sensor for receipt of the additional command.
  • one or more of the master Stop sequences within a message stream are followed by sensor data and sensor Stop sequences.
  • a final "Stop" bit within a master or slave Stop sequence provides a rising edge, which is also used for resynchromzation of the slave to prior to receipt of an additional command.

Abstract

An implantable medical device communication system communicates information between an implantable medical device and at least one slave device by way of a two-wire bus. Slave devices may include remote sensors, actuators and other implantable medical devices. The implantable medical device includes a communication unit to output commands and power pulses, and receive information from the slave devices over the two-wire bus. The implantable medical device and slaves communicate over the bus by selectively changing one of the lines of the bus between a first and second voltage, the second voltage substantially equal to a reference voltage of the second line, e.g., zero volts. In some embodiments, the power pulses take the form of bipolar pulse pairs. The slave device includes a recovery unit to recover power from the power pulses.

Description

IMPLANTABLE MEDICAL DEVICE COMMUNICATION SYSTEM WITH PULSED POWER BIASING
This application is a continuation-in-part of U.S. Application Serial No. 10/254,236, filed September 25, 2002, which is herein incorporated by reference in its entirety.
The present invention relates to an interface for communication between primary and secondary devices along a two-wire communication bus. More particularly, the present invention relates to an interface for bi-directional communication between an implantable medical device and a plurality of slave devices such as sensors or actuators along a two-wire communication bus.
Implantable medical devices take many forms to provide therapy to a patient. For example, implantable medical devices provide pacing therapy to assist in maintaining proper heart rhythm. Pacing therapy may be applied to treat a number of conditions, such as atrial fibrillation, atrial tachyarrhythmia, atrial arrhythmias, ventricular fibrillation, ventricular tachyarrhythmia, and bradyarrhythmias caused by heart block or sinus node dysfunction. Implantable medical devices may also take the form of an implantable cardioverter defibrillator to provide therapy for sudden cardiac arrest, ventricular tachycardia, and ventricular fibrillation. In order to provide therapy, an implantable medical device ("IMD") communicates with a plurality of implantable slave devices, such as sensors, to monitor conditions including heart electrical activity and blood oxygen content, for example. Both the sensors and the implantable medical device are implanted within the body, and in order to reduce interference to the body, the implantable medical device communicates with the sensors over a small bus having a minimum number of electrically conductive wires. For example, communication information, along with power and ground, is provided over two conductive wires. At the same time, the implantable medical device operates by way of an internal power source, usually in the form of a battery, which has a limited amount of available power. Moreover, because replacement of the implantable medical device requires surgery to the patient, conservation of power is an important consideration. Implantable medical devices are often required to deliver life-supporting therapy in the form of electrical stimulation to the patient. Accordingly, reliable communication between the implantable medical device and the implantable sensors external to the IMD is important. Furthermore, physical characteristics such as reduced size and space of the devices are desired in order to decrease patient stress, simplify implant procedures, and reduce surgical complications.
The present implantable medical device communication system includes an implantable medical device ("IMD") running a master clock. Slave devices resynchronize to the IMD clock on the rising edge. The sensor interface improves the data communication rate and permits simultaneous or individual communication with a plurality of external sensors. A 2-wire bus provides power, clock, and data from a single master to up to 16 slave devices. Half-duplex communication and pulse width modulation of the voltage on the bus allow a raw data rate of approximately 100 Kbps. The data is encoded as "1 's" and "O's" for data transmission between the master and slave devices. An initialization procedure determines the long address of each slave device and assigns a short address to reduce command length.
A message initiated by the master triggers slave measurements. The master writes data to the slave and the master reads data from the slave. Addressing modes allow individual devices, groups of devices, or all devices to be addressed. The message format includes start, command word, address, data, cyclical redundancy check (CRC), and stop. Cyclical redundancy checking is an error-checking scheme used to check for errors in messages sent by the master and the data response from the slaves. Messages may be selectively acknowledged or selectively not acknowledged by the recipient device, however the master device initiates data communications. Slave devices do not put data on the bus without the master first requesting the data. The start of a data bit in a message begins with the master pulling the data wire of the two-wire bus up to a high voltage. A fraction of a bit time later, the master pulls the data wire low, such that the duration of the high voltage pulse determines the data value. The master is the only device on the two-wire bus with pull-up capability. The slaves may include a number of implantable devices such as sensors, actuators or slave implantable medical devices ("IMDs").
In some embodiments, the IMD delivers power to the slaves in the form of a DC bias on the bus. In other embodiments, the IMD delivers power to slaves in the form of periodic voltage pulses, such as bipolar voltage pulse pairs, and does not place a DC bias on the bus. In embodiments where the IMD delivers power in the form of pulses, corrosion and other types of electrochemical degradation of bus that are attributable to the presence of DC voltages and conductive solutions can be reduced or eliminated. In various embodiments of the invention, the IMD delivers one or more power pulses without issuing a command to a slave device, one or more power pulses preceding each command, or one or more power pulses followed by a series of commands to one or more slave devices. In some embodiments in which one or more power pulses precede a command, the polarity of an immediately preceding power pulse indicates the polarity of the data pulses that will follow the command to the slave devices. In such embodiments, the master, for example, generates positive data pulses following a bipolar power pulse pair in which the second pulse of the pair is positive.
Each command is preceded by a start sequence for the message, which includes a forced "0" followed by two logic "1 's". Power pulses "wake up" the slaves from a low power state, and cause the slaves to monitor for a start sequence. In some embodiments, power pulses cause slaves to perform a measurement without the need to receive a command.
Each command is followed by a master stop sequence, which includes one bit time for slaves to indicate whether the CRC check passed, e.g., that the message was error-free according to the CRC error check contained in the Frame Check Sequence field of the command. Specifically, slave acknowledge (ACK) that the CRC check passed by pulling a line of the bus low at a first time during the bit to indicate a logic "0", or not aclαiowledge (NAK) that the CRC check passed by either pulling the line of the bus low at a second time during the bit time to indicate a logic "1" or allowing the line to remain high throughout the first and second times of the bit time, i.e., not responding. The master stop sequence also includes one bit time for slaves to indicate a power status. Specifically, slaves acknowledge (ACK) a low power status, i.e., indicate that they have low power, by pulling a line of the bus low at a first time during the bit time to indicate a logic "1", or not acknowledge (NAK) the low power status, i.e., indicate that they have adequate power, by either pulling the line of the bus low at a second time during the bit time to indicate a logic "0", or allowing the line to remain high through the first and second times of the bit time, i.e., not responding. The master can output more power pulses in response to detection of a low power ACK.
The master can drive the bus low to signal a data "1" or NACK in embodiments where sensors do not respond during either of the CRC ACK/NACK and Low Power ACK/NACK bit times. By driving the bus low in these situations, the master provides another rising edge for the clock derivation, which can allow sensors to remain synchronized with the master.
FIG. 1 is a schematic diagram of an implantable medical device system according to an embodiment of the invention; FIG. 2 is a block diagram of an implantable medical device connected to a pair of sensor capsules; FIG. 3 is a block diagram of an implantable medical device system implementing a sensor communication protocol between a programmer module, an IMD and a sensor capsule; FIG. 4 is a cross section of a co-axial two-wire bus lead; FIG. 5 is a sectional view of a multi-lumen lead; FIG. 6 is an axial view of a two-wire co-radial lead; FIG. 7 is a sectional view of an exemplary wire used in a two-wire co-radial lead; FIG. 8 is an electrical model illustrating electrical interference of sensor leads; FIG. 9 is a schematic block diagram of a sensor interface system for an implantable medical device and a sensor capsule for lead fault detection; FIG. 10 is graph of one bit time for communication across a two-wire bus wherein the bit time is divided into six equal parts; FIG. 11 is a graph illustrating one bit time communication between a fast sender and a slow receiver; FIG. 12 is a graph illustrating one bit time communication between a slow sender and a fast receiver; FIG. 13 is a graph illustrating voltage swings on a two-wire bus; FIG. 14 is a graph illustrating a start bit definition; FIG. 15 is a graph illustrating a master driving a data "0"; FIG. 16 is a graph illustrating a master driving a data "1"; FIG. 17 is a graph illustrating a slave driving a data "0"; FIG. 18 is a graph illustrating a slave driving a data "1 "; FIG. 19 is a graph illustrating a master stop, a master acknowledge request ("ack req"), and a slave acknowledge ("slave ack"); FIG. 20 is a graph illustrating a master stop, a master ack req, and a slave non- acknowledge ("nack"); FIG. 21 is a graph illustrating a slave stop-stop-stop; FIG. 22 is graph illustrating the sending of a message from the master to one or more slaves; FIG. 23 is graph illustrating a response with data from a slave to the master; FIG. 24 is a general command format for transferring data across a two-wire bus; FIG. 25 is a table providing a slave long address format; FIG. 26 is a table of slave short addresses and multicast examples; FIG. 27 is a graph of a triggering example; FIG. 28 is a graph and table illustrating a relationship between triggering of one sensor and reading corresponding data; FIG. 29 is a graph illustrating re-triggering of data using a count code; FIG. 30 is a graph illustrating a collection of data points for an RV pressure waveform; FIG. 31 is a table illustrating Command Codes and measured parameters; FIG. 32 is a table providing a command overview of a sensor interface for an implantable medical device; FIG. 33 is a table illustrating a Master's Unlocks command; FIG. 34 is a table illustrating Unlock key options; FIG. 35 is a table illustrating a Master's Search Long Address command; FIG. 36 is table summarizing an example search across a sensor for an implantable medical device; FIG. 37 is a table illustrating a Master's Write Short Address command; FIG. 38 is a table illustrating a Trigger command; FIG. 39 is a table illustrating a Trigger Command Code for a cardiac IMD; FIG. 40 is a table illustrating an example of a Trigger Command Code for Sonomicrometry transmitters and receivers; FIG. 41 is a table illustrating a Quick Trigger command; FIG. 42 is a table illustrating a Master's Read command; FIG. 43 is a table illustrating a Slave's Read Response; FIG. 44 is a table providing rules for a Read Results command; FIG. 45 is a pair of tables illustrating an example of reading results from a reading buffer with 8 bit data and a count and a command code embedded; FIG. 46 is a table illustrating a Master's Read Results command; FIG. 47 is a table illustrating a Slave's Read Results example response; FIG. 48 is a table illustrating a Master's Write command; FIG. 49 is a table illustrating a Master's LSB RAM/REG Address command; FIG. 50 is a table illustrating a Master's MSB RAM/REG Address command; FIG. 51 is a table illustrating an LSB EEPROM Address command; FIG. 52 is a table illustrating a MSB EEPROM Address command; FIG. 53 is a table illustrating a Master's Copy RAM/REG to EEPROM memory command; FIG. 54 is a table illustrating a Master's Copy of EEPROM to RAM REG memory command; FIG. 55 is a table illustrating a Master's Quick Read command; FIG. 56 is a table illustrating a Master's Which Pointer to Read command; FIG. 57 is a Slave's Quick Read Response command; FIG. 58 illustrates power pulses and data pulses output by a master according to a pulsed power embodiment of the invention; FIG. 59 illustrates an example message sequence for pulsed power embodiments of the invention; and FIG. 60 illustrates delivery of a stream of messages between consecutive power pulses in accordance with some pulsed power embodiments of the invention. With reference now to the drawings, wherein like numbers refer to like elements throughout, embodiments of the invention are now described. FIG. 1 is a schematic diagram of an implantable medical device system 100 according to an embodiment of the invention. As illustrated, implantable medical device ("IMD") 102 takes the form of an internal cardio defibrillator or pacemaker, for example, with implantable pressure reference, right ventricular ("RV") pressure, and RV oxygen. System 100 includes IMD 102 that communicates with internal pressure reference ("IPR") 104 by way of communication bus 106. IMD 102 is electrically connected with right ventricular coil ("RV coil") 108,
Vsensor 110, Vring 112, and Vtip 114 by way of right ventricular lead ("RV lead") 116. The RV lead 116 has a true bipolar lead (Vtip 114, Vring 112) for differential sensing, along with a Vsensor capsule 110, and RV Coil 108 for high voltage defibrillation therapy. The Vsensor capsule 110 contains a pressure sensor, an oxygen sensor, and a temperature sensor. The right atrial lead ("RA Lead") 120 is connected to Asensor 121, and a true bipolar lead (Atip 122, Aring 124). In some embodiments, a DC bias voltage of 3.0 V is maintained across RV Lead 116, and data in the form of 200 mV fluctuations are communicated on top of the 3.0 V bias. In other embodiments, EVID 102 delivers biphasic power pulse pairs (+/-3.0 V) via RV Lead 116, and data in the form of 200 mV pulses are communicated between power pulses. The communication across the two-wire bus of system 100 in one embodiment seeks to minimize resistance, minimize capacitance, minimize inductance, maximize shielding and maximize reliability. The shielding is most easily maximized in a coaxial implementation with a grounded outer conductor and data/clock/power on the inner conductor. IPR 104 has a separate lead whose communication bus 106 is hooked in parallel with the other communication busses in RV Lead 116 and RA Lead 120. These all share a common pair of feedthrus into IMD 102. Pressure sensors are absolute pressure sensors that require temperature measurement capability. Accordingly, pressure changes in a capsule due to temperature effects are calibrated out. The sensors are optionally electrically connected in parallel with EVID 102 through a number of different ways. In this embodiment, each lead is plugged into a corresponding port in a connector block and electrical connections between the sensors are made inside the connector. In other embodiments, sensors are serially connected to IMD 102 via the bus. hi such embodiments, each of sensors 110 and 121 are, for example, connected by respective pairs of wires to a common connector block port. Programmer module 130 communicates with IMD 102 by way of RF Link 176 from RF Head 132. The programmer module 130 programs parameters, read status, read diagnostic data and stored waveforms, as well as real-time waveform data. DVID 102 collects data from IPR 104, an oxygen sensor, and temperature sensors at regular intervals on the order of every couple of seconds. Data is further collected from Vsensor 110 at rates up to 2048 samples per second, assuming 16 bit data, and 4 count and 8 bit CRC returned as data. Higher sampling rates can be accomplished by increasing the speed of the bus or decreasing the amount of data sent. Infomiation received from IMD 102 is displayed on programmer module 130 by way of monitor 134. FIG. 2 is a block diagram of an implantable medical device system 140 including IMD 102 connected to sensor capsules 142 and 144 by way of two-wire bus 178. The diagram schematically illustrates parallel electrical connection of sensor capsules 142 and 144 to LMD 102 with each capsule containing more than one sensor. IMD 102 includes micro-controller unit 146, which has a microcontroller memory
(RAM, ROM, EEPROM), telemetry port, and therapy circuitry (for pacing, sensing, defibrillation, and timing). Therapy and diagnostic unit 148 provides an accelerometer and minute ventilation, diagnostic circuitry (electro-gram, wavefom compression, battery monitoring, and lead monitoring), and basic infrastructure circuitry (power supply generation, ADC, and references, etc.). Clock 149 is provided within therapy and diagnostic unit 148 to provide timing to LMD 102 and the sensor capsules. Power supply 147 is also provided within therapy and diagnostic unit 148 to provide power to IMD 102 as well as external sensor capsules 142 and 144. Communication unit 150 communicates with remote sensors and sends power as well as a synchronizing signal or clock signal to remote sensors. Communication unit 150 also contains a transceiver to transmit and receive data over a two-wire communication bus. Communication unit 150 has protection networks to protect EVID 102 against transient voltages and currents induced on two-wire bus 178 due to electro-surgery, electrical discharge, defibrillation, electro-static discharge, electro-magnetic interference, etc. Each sensor capsule 142 and 144 contains circuitry to measure and convert pressure, temperature, and oxygen signals into a digital signal through analog to digital converters ("ADCs") 152. Each sensor capsule (142, 144) also contains a small nonvolatile memory, in the form of EEPROM 154, to store a unique sensor address, serial number, and calibration coefficients, etc. Recovery units 156 recover power from the fluctuating voltages on two-wire bus 178 to power each respective sensor. Clock synchronization allows a relatively inaccurate high speed clock recovery unit 157 to be available on each sensor, which is periodically synchronized with clock 149 on EVID 102. IMD 102 thereby controls the sampling rate and sampling time for each of the individual sensors by way of transmitting commands to the sensor(s), thereby instructing the sensor(s) to sample. EVID 102 also controls when each sensor puts each bit of data on the bus. The need for high accuracy clock generation circuits within each sensor capsule is therefore eliminated. A protection network is also included in each sensor capsule to minimize the effect of transient voltages and currents induced on the two-wire bus 178 due to electro-surgery, implantable cardio defϊbrillator ("ICD") discharge, defibrillation, electro-static discharge, and electro-magnetic interference, etc. As illustrated, sensor capsule 142 includes temp sensor 158 and pressure sensor 160. Likewise, sensor capsule 144 includes temp sensor 162, pressure sensor 164, and oxygen sensor 166. Other sensors may be similarly used in various embodiments of the invention. FIG. 3 is a block diagram of implantable medical device system 170 implementing sensor communication between programmer module 130, EVID 102 and sensor capsule
174. Three communication protocols are defined to move data from sensor capsule 174 to micro-controller 146 within LMD 102. The first protocol defines how sensor data is digitized and moved to a small buffer memory within recovery unit 156 in sensor capsule 174. This protocol also defines how data is read/written from/to an EEPROM within sensor capsule 174 and placed into buffer memory. This protocol is defined by hardware within each sensor capsule. The second protocol is a sensor communication protocol that defines how data is moved from memory within a transceiver at one end of two- ire bus 178 to memory within a transceiver at the other end of two-wire bus 178. The sensor communication protocol defines an addressing scheme, data encoding, and voltage/current levels on two- wire bus 178. Finally, a third protocol defines how data is moved from a transceiver within IMD 102 to the appropriate locations. Once data is received by EVID 102, it becomes available in memory for signal processing, waveform compression, telemetry, and episode storage. This protocol is defined by hardware and firmware within EVID 102. The sensor communication protocol defines how data is moved between remote sensors and IMD 102 via two-wire bus 178. Network protocols generally have multiple layers. The sensor communication protocol is therefore described using the open system interconnection ("OSI") model for a network. All layers defined in the OSI model are not necessary for the present invention. The OSI model is broken into 7 layers. The physical layer determines how a bit is moved across the wires (voltage, current, timing). The data link layer determines how frames of data are created (bytes, words). The network layer detennines how packets of data are assembled. The transport layer determines how packets are moved. The session layer defines how a session is started and ended. The presentation layer determines how data is compressed or encrypted. The application layer determines how data is used at the highest level. The application layer is defined by the- circuits, firmware, RAMware, and software running in EVID 102 and/or programmer module 130. According to an embodiment of the present invention, the physical layer determines how "l's" and "O's" are moved between EVID 102 and sensor capsules 174 via two-wire bus 178. The physical layer also determines how remote sensors are powered from IMD 102. The two-wire bus 178 provides synchronization between sensors 174 and
EVID 102. This allows IMD 102 to control when a sensor makes a sample and maintains synchronous operation of all sensors. The physical layer also defines how the integrity of the wires can be checked. The transmission of power from EVID 102 to remote sensor capsules is provided because the sensors are in some embodiments small enough to pass through the veins and into the heart. That is, certain unpowered sensors may be used that lack as internal power. Synchronization is important for applications requiring sensors at different locations (e.g. EGM, RA and RV pressure). If each sensor sends data at a slightly different rate, it becomes more difficult for EVID 102 to create records of the sensor data because each sample is taken at a different points in time. Processing of the data also becomes difficult because the time base for the samples is slightly different. For example, calculating a simple difference between RA and RV pressure is complicated if the sample rates are not the same. Data would then be collected at a higher rate from one of the sensors and interpolation or other filtering techniques would be required to time align the sample data. The synchronization signal also allows the clock circuitry within each sensor to be less accurate. If each sensor has to provide data at the same rate without a synchronizing signal, crystal controlled oscillators would be required, which would add significantly to the size of the sensor capsule. Integrity of two-wire bus 178 is continually verified during operation. Numerous faults could occur on the wires, which could impact the therapy supplied by IMD 102. If the outer insulation of the wires fails in a way that allows current to flow through the heart muscle, the heart could be unintentionally stimulated or fibrillation could be induced. If an insulation fault occurs between the two wires of two-wire bus 178, the battery of IMD 102 could be drained or loaded, thereby causing a loss of longevity or loss of function in IMD 102. If a wire break occurs, a loss in communication with the sensor would likely occur. EMI filters and/or high voltage protection networks may be optionally installed on EVID 102 and possibly in sensor capsule 174. These networks add capacitance and series impedance, which tend to increase power supply current when driving two-wire bus 178. Furthermore, the use of these networks slows down transitions on the bus and may limit bandwidth. The wires used to connect the sensors to EVID 102 have characteristics that may limit the performance of the bus in terms of data rate, current drain, and noise immunity. The wire characteristics also affect how signals on the bus couple to adjacent wires on the lead and interfere with these signals. The physical construction of the wires ftirther defines the types of faults in the wires that are most likely to occur and impacts how fault detecting circuitry should operate. FIG. 4 is a cross sectional view of a typical two-wire bus lead in the form of coaxial lead 180. Outer coil 182 is connected to the sensor capsule, and to system ground on IMD 102. Inner coil 184 is also connected between a sensor capsule and IMD 102, and is used for communication. A stylet is insertable within inner coil 184 to aid in positioning the sensor at the time of input. Bus insulation layer 186 surrounds and protects inner coil 184 and outer coil 182. The outer coil is covered by outer coil insulation layer 183 while inner coil 184 is covered by inner coil insulation layer 188. A gap 185 is formed between inner coil insulation layer 188 and outer coil insulation layer 183. Gap 185 may be air if lead 180 is dry or may gradually fill with fluid if lead 180 is wet. Bus insulation layer 186 and inner coil insulation layer 188 may be made from e.g. polyurethane (Pellathane 80A). Layers 186 and 188 may optionally be made from a biocompatible insulating material including polyurethanes, ETFE, silicone, or polyamides. Insulating materials with low dielectric coefficients are preferred to minimize capacitance between conductors. The gaps between the insulation and conductors will be air when the lead is dry or may gradually fill with water when the lead is wet. Outer coil 182 and inner coil 184 can be made from biocompatible conductive materials including MP35N, platinum, or silver cored MP35N. Conductive materials with low resistance are preferred. FIG. 5 is a sectional view of an exemplary multi-lumen lead 190. In particular, multi-lumen lead 190 is a three lumen high voltage lead intended for an implantable cardiodefibrillator ("ICD") and pressure sensing application. Lead 190 supports integrated bipolar sensing, a high voltage RV coil, and uses a coaxial cable for communication with a pressure sensor. Lead 190 includes a plurality of compression lumens 192 defined by lead body 194. Lead 190 uses one cable with a coil 196, one coil 198, and a cable for HV coil 200. The coil 198 is connected to the tip electrode and is used to allow the stylet to pass through to the tip. The cable within coil 196 is used for sensor communication and is preferably silver cored MP35N with an ETFE insulating layer. Cable 200 is used for a high voltage ("HV") coil. The resistance of the conductors is low (« 5 ohms). FIG. 6 is an axial view of two-wire co-radial lead 210 that uses a co-radial, multi-conductor construction. Lead 210 uses four individual wires wound side by side. Two wires are connected to signal "a" and two wires are connected to signal "b." An outer insulation of polyurethane is used to provide further protection. Wires 212(a), 213(a), 214(b) and 215(b) are wound adjacent to each other rather than one on the outside and one on the inside. The wires are wound together with two wires used for each signal. Polyurethane tubing 216 covers each of wires 212 - 215. FIG. 7 is a sectional view of the conductors used within the co-radial lead 210, including a core 218. Wire core 218 is dipped in a polyamide coating 220. Each wire 212 is further insulated with outer insulation 222 ETFE. FIG. 8 is an electrical model 230 illustrating electrical interference of sensor leads. Electrical model 230 includes IMD 102, which includes transceiver 234 and stimulus circuits 236. Inner wire 238 and outer wire 240 comiect EVID 102 to sensor capsule 242 and sensor capsule 244. Each sensor capsule has an interior transceiver 246. Electrical interference from stimulus circuits 236 to the body tissue are modeled through ring 248, tip 250 and case 252. There are several variables that affect performance of the communication link, such as signals on the wires coupling into the body causing sensing errors, signals in the body coupling into the wires causing data errors, EMI coupling into the wires causing data errors, CVF current, and effects due to sensors turning on/off. These factors can change by several orders of magnitude depending on the lead parameters, methods used for stimulating tissue and sensing, as well as methods used for EMI and high voltage protection in EVID 102. In electrical model 230, Cio 260 models the capacitance from inner conductor to outer conductor of the coaxial cable. Cio 260 directly affects current drain of the system because current is proportional to capacitance * voltage * frequency ("CVF"). Cob 262 models the capacitance from outer conductor to the body tissue. Cob 262 directly affects crosstalk from external noise sources into the communication lead and allows commumcation signals to couple into the body, where they could cause sensing problems in EVID 102. Cib 264 models coupling from the inner conductor of the cable to the body. Normally this will be very low in a coaxial lead configuration because the outer conductor shields the inner conductor from the body. Ri 266 and Ro 268 model the resistance properties of the inner and outer conductors. Ro 268 is especially important for rejecting noise from the body and for preventing crosstalk from the commumcation protocol to the body. Any voltage change in the body relative to ground results in a current flow in the outer conductor due to Cob 262. This current is converted to a voltage by the resistance of the outer conductor Ro 268. The tip 250, ring 248, and case 252 of the stimulus/sensing electrodes are modeled as if coupled to the body through resistors. In reality, these electrodes are complex distributed impedances. IMD 102 is shown electrically connected to the lead through the body tissue. Case 252 of EVID 102 is typically the largest electrode in a pacemaker/ICD and is typically the most representative of the voltage seen in the body, hi some IMDs, the case is tied to system ground through a low impedance switch, while in others the case is left floating. In this example, Rtr 270 and Rtc 272 are modeled as 830 ohm resistors, while Rrc 274 is modeled as a 415 ohm resistor. During a bipolar pace sequence, case 252 is left floating, ring electrode 248 is tied to system ground, and tip 250 is driven to a large negative voltage (0 to -9 V). The case voltage ends up somewhere in between the tip and ring voltage, but typically stays closer to ring 248 than tip 250 because the ring electrode area is typically larger than the tip, thereby creating a lower impedance connection. For a unipolar pace, case 252 is held to ground while tip 250 is driven negative. In this scenario, case 252 stays close to ground. In some pacing systems, the stimulus circuits ground the tip, while pulsing the ring or case positive. In these systems, the case typically moves a greater distance from ground thereby inducing a larger voltage in the body relative to system ground. Depending on the method of implementation for the pacing system, voltage pulses on the case may reach 9 V with respect to system ground. In nerve stimulators, this value can be as high as 15 V. Rise times for the leading edges of pacing pulses are typically on the order of 100 ns - 1 us. Pacemakers and implantable cardiodefibrillators ("ICDs") typically address high voltage protection differently. In an ICD, the case moves as much as 800 V with respect to ground during discharge. Rise times on ICD pulses are typically very fast with slew rates on the order of 500 V/us at the leading edge. During trans thoracic defibrillation, the case moves as much as 1600 V with respect to ground. Rise times on trans thoracic defibrillation pulses are typically much slower than for ICD's. In a pacemaker, voltage on the leads is clamped with protection networks. This reduces the voltage on the leads as seen by the implantable medical device ("EVID"), but the voltage is still very large in the body. Similar voltages can be seen in the body during electro-surgery. A voltage limiting network may be incorporated within IMD 102 and in the sensors. Interference into the communication wires can occur if the capacitance on the outer lead conductor is large and the impedance of the outer lead conductor is large. As an example, a large amplitude unipolar pace in a pacemaker uses a pace case architecture with the sensor lead outer conductor grounded. The voltage induced on the lead outer conductor during the pulse rise time is approximately: ( Ro Cob* Vpace\ — + Rswitch Vouter » tfall JJQ j In EQ. 1, Cob is the capacitance between outer conductor and body, Vpace is the voltage on the body relative to ground, tfall is the fall time on the leading edge of the pace, Ro is the resistance in series with the outer conductor and is assumed to be distributed, and Rswitch is the value of the switch on IMD 102 used to connect the lead outer conductor to ground (about 10 Ohms). Thus, it can be seen that interference is minimized by reducing Cob, Ro, Rswitch and increasing tfall. From the above example, the lead conductor capacitance and resistance properties play an important part in rejecting interference from pacing pulses. The high- voltage multi-lumen lead construction has significantly better performance than the co-axial lead or the co-radial designs due to lower resistance and lower capacitance properties. Further, the architecture used for the pacing circuits and the rise time of the stimulus pulses will be important in reducing the amount of crosstalk. Finally, using the co-radial construction lead results in enough coupling from the pacing pulses to the sensor signal to disrupt communications, if the pulses occur when the signal line is not strongly driven. Just as voltages on the body can be coupled into the wires used for communications, voltage on wires can be coupled into the body causing interference with sensing operation within EVID 102. Three scenarios are set forth below wherein the coupling to the body could be a factor: from lead inner conductor (through Cib), from the lead outer conductor (through Cob) due to the DC current needed to power the sensor, and from lead outer conductor due to transient current flowing in the leads during voltage transitions from communications. First, coupling from the lead conductor directly to the body is addressed. Any capacitance between the clock/power/data line to the body may cause an attenuated version of the voltage (Vsignal) on the communication lines to be coupled into the body as a common mode signal to tip 250, ring 248, and case 252. A capacitive divider effect will be fonned by Cib, Cob, and Cbody to ground. _ Cib • Vsignal Vbodv « Cib + Cob + Cbody E 2 This coupling is minimized by reducing Cib and minimizing the voltage transitions on the lead used for communications. Next is considered a situation where a sensor is enabled and the current flowing through the lead outer conductor causes a voltage drop across the conductor, which is then capacitively coupled into the body through the lead outer insulation. The voltage induced on the lead outer conductor is dependent on the sensor current (Isensor) and the impedance in the lead outer conductor (Rswitch + Ro). The voltage is then coupled into the body through Cob.
Vouter « 1 ensor • (Ro + Rswitch) PQ 3 This coupling is minimized by reducing Cob, Ro, Rswitch, and Isensor.
Alternatively, a resistive impedance could be added to the tip, ring, or case to allow the common mode voltage to quickly bleed away. Last considered is a coupling from the lead outer conductor. In this case, tip 250, ring 248, and case 252 of EVID 102 float relative to circuit ground. Very fast rise time 200 mV communication pulses and, in some embodiments, 3 V power pulses with 100 Ohm source impedance are applied to the lead inner conductor with the lead outer conductor grounded. The resistance of the lead outer conductor plus any switch resistances cause the current through the lead outer conductor to result in a voltage drop. This results in a voltage spike that will quickly bleed away. The peak of the spike is given by: — R° + R „switch Vouter » „-. — „ 1 Vsignal Rsource + — + — - + Rswitch 2 2 EQ. 4 The magnitude of Vouter is reduced by minimizing Ro, Rswitch and Vsignal, and maximizing Rsource. The time constant of the decay is given by: ( Ro ) Tau — + Rswitch + Rsource + Rswz'tc/z • Cio 2 ; EQ. 5 Tau can be minimized by reducing Ro, Rswitch, and Cio. This voltage is coupled through the capacitance of the lead outer conductor into the body causing a common mode step in voltage on the tip, ring, and case. These glitches appear as common mode spikes on tip, ring, and case electrodes, which are then be filtered by circuits in the IMD. Typically, sense amplifiers have good common mode rejection and high frequency filtering of the input signals. As an example, if a sense amplifier or EGM amplifier had a first order low pass filter at 150 Hz, this results in an attenuation of the glitch amplitude of approximately 10,000X. For coupling through the lead outer conductor, the multi-lumen approach provides the least coupling and the fastest decay time making any filtering more effective as well as reducing the peak amplitude. The lead properties have an effect on cross-talk from communications taking place on the sensor wires to the signals on the lead. Also, the effect of turning high current sensors on and off can induce voltages in the body large enough to disrupt sense amplifiers or impedance measuring circuits. The cross talk performance of the high voltage multi-lumen lead is better than the co-axial lead or the co-radial construction lead. Crosstalk can be reduced by minimizing the amplitude of the voltages used on the bus and by reducing the rise/fall times of the signals. The addition of capacitance or resistance to the tip, ring, or case to ground can also help significantly. There are several potential wire faults that can affect safety and reliability of the system. Typical causes of damage to leads include: crushing of the lead, environmental stress cracking, scalpel nicks, and work hardening of the metal or insulation due to many cycles of flexing. These lead failures can cause gaps in the insulation layers resulting in impedance paths between adjacent conductors and/or impedance paths between the conductors and the body. The lead failures can also cause high impedance paths in the wires. Safety issues for DC bias powered embodiments of the invention include prevention of DC current flow into the body tissue and prevention of inadvertent stimulation of tissue for a scenario where the insulation fails. Another issue is that a lead fault does not cause a high current condition that could cause the battery within the IMD to discharge prematurely. In the presence of a lead fault, the system should not allow a DC leakage path to the body with an average current greater than 100 nA over 1 second or a pulsed current condition in excess of 100 uA for 0.5 ms. Options for implementing a leakage detection circuit include issuing a command to the sensors to completely power down the sensors on the bus to allow a leakage check between the conductors and the body at normal supply voltages. Another option is to drop the voltage on the bus to a low voltage level (350 - 400 mV), which can result in a "0" current state for the sensors on the bus. A preferred mode of implementation is to issue a broadcast command to all bus sensors to go to a "0" current state for a period of time long enough to check for leakage. Circuitry in the EVID may then check for faults between each of the conductors or between each of the conductors and the body. Pulse powered embodiments will generally have different requirements because they do not utilize a constant DC bias in the body. An important possible lead fault concerns failure of the outer insulation. To minimize the impact of this possible fault, the outer conductor should be maintained at the same DC potential as the body. Some IMDs use a positive battery terminal as a body ground while others use a negative terminal as body ground. In this case, the outer conductor of the lead could be driven to either the positive supply voltage or negative supply voltage. However, a rectifier function within each sensor would be required to allow the conductor polarity to be different for different IMDs. If the co-radial construction method is used, and there is a lead outer insulation fault, there is no shield layer to prevent current flow to the body. Thus, the possibility of a lead insulation fault that could cause a DC current flow into the body for DC bias powered embodiments is greater. FIG. 9 is a schematic block diagram of a sensor interface system 280 for an implantable medical device ("EVID") 102 and a sensor capsule 284 for lead fault detection. EVID 102 is capable of switching the transceiver and sensor power source 286 or a leakage detection circuit 288 onto inner conductor 290 or outer conductor 292. The outer conductor 292 of the lead is normally connected to body ground, but can be isolated by a switch. The sensor capsule 284 includes a rectifier & regulator 294 to accept voltages of arbitrary polarity from IMD 102. The sensor capsule 284 includes sensor 298 and also includes isolation circuits 296 for isolating the rectifier and regulator 294 and transceiver 295 from the lead conductors, during a lead integrity check. Currently developed sensors have differing operating voltage requirements. With multiple sensors on a bus, it is desirable to provide as large a DC bias voltage or voltage pulses as is practical for the supply, and allow each sensor to regulate the required voltage to a required level. hi DC bias powered embodiments, this also reduces the effects of line voltage drops due to changing load currents. The maximum voltage level conveniently available in IMD 102 is the unregulated battery voltage, which can be as high as 3.3 V at begimiing of life, typically 2.65 V at an elective replacement indicator, and as low as 1.8 to 2.2 V at end of battery life. Each sensor has a different operating current drain. Most have low operating currents (1 - 10 uA) and will be turned on for a few milliseconds each second or run continuously. Some sensors, and/or the EEPROMs within the sensors, may require currents in the milliamp range. If the source impedance of the battery, supply circuitry, and wire resistance is high, the milliamp current pulses could disrupt communications in DC bias embodiments. A few methods are available to address this issue, such as fonmilating a design protocol to operate through the high current pulses or suspending communications during high current measurement. Another method includes storing charge on a capacitor in the high current sensor and to isolate the sensor from the bus. The preferable method is to suspend commumcations during high current measurement. A two-wire bus provides power, clock, and data from a single master to up to 16 slave devices. Half-duplex communications, and pulse width modulation of the voltage on the bus allow a raw data rate of approximately 100 Kbps. The "l's" and "O's" are encoded the same for master and slave devices. An initialization procedure is used to determine the long address of each slave device and to assign a short address to keep the commands shorter. The protocol includes messages to trigger measurements, write, and read data. Addressing modes are provided to allow individual devices, groups of devices, or all devices to be addressed. For DC bias powered embodiments, the message format includes start, command word, address, data, CRC ACK and stop. In pulsed power embodiments, the message format also includes a Low Power ACK. Some messages require acknowledge by the recipient while others do not. The master device always initiates communications. It is not allowable for a slave device to put data on the bus without the master first requesting the data. In DC bias embodiments, the start of a message is indicated by, for example, pulling the bus low for 2 bit times nominally. This serves to wake up all slaves such that they are ready to read messages. In pulsed power embodiments, receipt of a power pulse serves to wake up all slaves, and a start sequence following a power pulse indicates the start of a message. Pulsed power embodiments are described in greater detail below with reference to FIGS. 58-60. FIG. 10 is graph of nominally one bit time for communication across a two-wire bus wherein the bit time is divided into 6 equal parts. One bit time can allow up to an 8% tolerance on the clock in both the sender and receiver. FIG. 11 is a graph illustrating one bit time communication between a fast sender and a slow receiver. In this case, one bit time ends up being 10 us - (0.08 x 10 us) = 9.2 us. FIG. 12 is a graph illustrating one bit time communication between a slow sender and a fast receiver. In this case, one bit time ends up being 10 us + (0.08 x 10 us) = 10.8 us. FIG. 13 is a graph illustrating voltage swings on a two-wire bus for DC bias embodiments of the invention. The voltage swings are 200 V. Signals are driven on the two-wire bus. One wire is labeled "MW_DATA" and is driven between Bplus, e.g., 3.0 V, and Bplus - 200 mV. The other wire is labeled "MW_SHEILD." FIG. 14 is a graph illustrating an example start bit definition for DC bias embodiments of the invention. The start of a message is nominally a bus low for two bit times, however some variation on clock mismatch is allowed between slave and master so that the slave can wake up and detect the start bit. As will be described in greater detail below, the start bit definition for pulse power embodiments includes three bit times. The sending of a message from the master to a slave device is first described. The start of a data bit in the message begins with the master pulling the bus up to a high voltage. A fraction of a bit time later, the master pulls the bus back low. The duration of the high voltage pulse indicates the data value. FIG. 15 is a graph illustrating a master driving a data "0". A data value with a time high of 1/3 bit time corresponds to a logic "0". FIG. 16 is a graph illustrating a master driving a data " 1 ". A data value with a time high of 2/3 bit time corresponds to a logic "1". In its simplest form, the slave's receiver samples the data on the bus with a time delay of 1/2 bit time (t3) after the rising edge of the bus. FIG. 17 is a graph illustrating a slave driving a data "0", and FIG. 18 is a graph illustrating a slave driving a data "1 ". The master is the only one on the bus with pull-up capability. At the end of the bit time, the master again pulls the bus high starting a new bit time. When the slave drives data onto the bus, the slave can only pull the bus down. Because the slave cannot pull up, the slave uses timing information to determine whether to send a data "1" or "0". This is essentially the same as when the master is sending "l's" and "O's" but the slave shares driving of the bus with the master. FIG. 19 is a graph illustrating a stop sequence for DC bias embodiments, which includes a master stop, a master acknowledge request ("ack req"), and a slave acknowledge ("slave ack"). A stop bit is indicated by the bus being held high continuously for 1 bit time. The master can send out commands to multiple slaves. If multiple slaves are responding, then some slaves may be acknowledging the message and others may not. A multi-slave acknowledge therefore is of limited value because if received, the master only knows that at least one slave received the message. The master ends commands with a sequence that the data link layer refers to as Stop-Ack Req-(N)Ack. If the master requires an ACK to the last command, the master will put a logic "0" on the bus in the bit time immediately following the stop bit. If a request for an
ACK is given, the slave device will respond with a logic "1 " in the next bit time as an indication that the slave received the message. As will be described in greater detail below, the master stop sequence for pulse power embodiments additionally includes a Low Power (N)Ack in addition to the illustrated CRC (N)Ack. FIG. 20 is a graph illustrating a master stop, a master ack req, and a slave non- acknowledge ("nack"). If the slave does not receive the message at all, or if the message is received with an error, no ACK or NACK will be provided and the command will be ignored. Defining what is an error based on the command structure and error checking is also further defined in the data link layer. FIG. 21 is a graph illustrating a slave stop sequence for DC bias embodiments, which includes a stop-stop-stop. When the slave drives data onto the bus in response to a command, the slave drives "l's" and "O's" out to the master. Upon the last bit of data being sent, the master is still unsure if any more data is to follow. Accordingly, the master allows three chances for the slave to send more data. This is referred to as a STOP-STOP- STOP. The stop bit from the slave is indicated by the lack of data on the bus for a period of 1 bit time for a consecutive 3 bit times in a row. The stop sequence occurs for 3 bit times in a row to avoid conflict on the bus where the sensor is pulling down and the master is pulling up at the same time. As will be described in greater detail below, the sensor stop sequence for pulse power embodiments includes four bit times, and takes the form of a STOP-AckReq-(N)Ack-STOP. FIG. 22 is graph illustrating the sending of a message from the master to one or more slaves. Thus, a message from the master to one or more slaves is summarized as a start sequence, some data, and a stop sequence. The slave device uses a delay chain triggered off the rising edge of the bus to determine when to sample the bus voltage. The rising edge of the bus is used to reset the falling edge of the slave's clock low and the 1/2 bit time delay after the rising edge of the bus is used to set the slave's clock high. The clock is then used to sample the data on the bus and to synchronize the data with the clock. FIG. 23 is graph illustrating a response with data from a slave to master-. First, the master requests data from the slave by sending a complete message. All commands that require data from the slave will be preceded by the ACK request. The slave will then put an ACK on the bus and follow up with data. The master then pulls the bus high for 1/6 of a bit time and releases the bus. The slave puts data on the bus in the same manner as the master did when the master was sending data by pulling the bus low. In other words, as discussed above with reference to FIGS. 17 and 18, the duration of the high voltage pulse indicates the data value with a time high of 1/3 bit time corresponding to a logic "0" and a time of 2/3 bit time corresponding to a logic " 1 ". Once the slave has pulled the bus low, the slave releases the bus at t = 5/6 of a bit time. The master continues to pull the bus high at the start of each bit time until the master receives a stop bit by the slave indicating the data transmission is complete. When the master recognizes the stop bit from the slave and determines that the message was received correctly, the master finishes the stop command by putting two more stop bits on the bus. To prevent contention on the bus, the bus master releases the bus before the sensor tries to pull it low. The slave also releases the bus before the master pulls the bus back high. To meet this requirement, the longest value possible for 5/6 of a bit time seen in the sensor must be less than the shortest value possible for 1 bit time as seen by the master. This puts an accuracy tolerance on the time delays of about +/- 8% if rise-fall times and propagation delays for detecting clocks and turning on/off pull-ups and pull downs are neglected.
In some embodiments, the master weakly holds the bus high while waiting for the slave to pull the bus down for a data "1" or "0." The master drives the bus high for 1/6 of a bit time at the start of the bit time, and then weakly holds the bus high while waiting for the slave pull the bus low at 1/3 or 2/3 of the bit time for a data "0" or data "1", respectively. Once the bus is pulled low by the slave, the master detects that the bus is in the low state and weakly drives the bus low. When the master detects that the bus is in the low state, the master quickly releases its weak hold high, e.g., within 100 nanoseconds, to minimize power consumption.
The slave releases the drive to the bus that is pulling it low at 5/6 of the bit time, leaving the master weakly holding the bus low. The master disconnects a weak hold switch prior to pulling the bus high for the start of the next bit time. Typically, the strong drive from the master or slave, which is used to pull the bus high or low, will be on the order of 50 Ohms, while the weak hold used by the master to weakly hold the bus high or low will be much higher, e.g., on the order of 5 kOhm, to insure that the slave can overdrive the weak pull up. In embodiments where the master weakly holds the bus high while waiting for the data response from the slave, the communication system operates with less errors in a noisy environment and with lower impedance across the two wires of the bus when the slave is responding to the master than in embodiments where the master allows the bus to float high while waiting for the data response from the slave. The task of a data link layer is to take a raw transmission facility and transform it into a line that appears free of transmission errors. The data link layer accomplishes this task by breaking up the input data into data frames, transmitting the frames sequentially, and then processing the acknowledgment frames sent back by the receiver. The application layer determines the set of allowed messages and the action taken upon receipt of each. Data transmission is based on a master - slave relationship. The master initiates all communication by sending commands to the slave, which then responds with actions or , data. This allows more hardware intelligence to be placed in the master IMD, which has more resources such as a battery, a crystal oscillator controlled time base, and more area for integrated circuits and external components. The slave electronics are provided to be simple and low in power. The slave may, of course, still support intelligent operations. Signal processing in the slave allows the sending of processed data rather than raw data back to the master, thereby resulting in fewer transferred data bits. FIG. 24 is a general command format for transferring data across a two-wire bus. Commands are preceded by a Start sequence and all slaves on the bus wake up in response to a Start. The fields are labeled Masterl through Master7, implying that the master is talking. The data is sent out from the most significant bit ("msb") first proceeding to the least significant bit ("lsb"). The field formats are configured as follows. In the illustrated DC bias powered embodiment, the Start field is a unique 2 bit time long sequence issued by the master. The
Slave(s) field is a field to identify one slave (unicast) multiple slaves (multicast) or all slaves (broadcast). The Slave(s) field is explained more fully below with regard to addressing. The Quick Trigger ("QT") field is a special field identifying a Quick Trigger ("QT bit set") command. All commands except the Quick Trigger ("QT bit set") have this bit set to zero. When the QT bit is set high, the command is identified as a Quick Trigger command. The Master Command Name field provides instruction to the slave. A 5 bit command in the Master Command Name field identifies up to 32 different commands. If the QT bit is set, then this field is not used. The Data field is 8 bits long for most commands. The use of 8 bits allows a byte of data to be written at a time. The data field varies from command to command and can be broken down to sub-fields. The frame check sequence ("FCS") field provides error checking. The FCS field is used for a cyclic redundancy check ("CRC"). The Stop Sequence field is used to tell the slave when the master is talking and that this is the end of the command. When the slave is talking, the stop sequence is used to tell the master that this is the end of the data. The stop sequences for DC bias embodiments take two forms discussed above, namely Stop-Ack Req-(N)Ack and Stop-Stop-Stop. In the Stop-Ack Req-(N)Ack form, the talker is asking the listener if they received the message and if the message was error free. "Ack Req" means Acknowledge Request, "Ack" means Acknowledge, and "(N)Ack" means Not Acknowledge. The Stop-Stop-Stop form is slave data response for the Read and Read Results commands. A bit time is a unit of time (clock cycle) for a "1" or "0". The command format length is 33 bit times for most commands in DC bias embodiments, and 35 bit times for most commands in pulsed power embodiments, discussed in greater detail below, due to the addition of bit times in the Start and Stop sequences. Because most commands are the same length and format, a simpler form of digital electronics is allowed in a capsule (hermetic body) on a lead. Of course, this area is extremely constrained. The sensor interface allows the slaves to sleep, thereby saving power. The bus can have multiple slaves hanging on it. These slaves may be sensors, actuators or slave IMDs. The command structure is implemented with the Master initiating all communication.
When the Master starts talking, the Master issues a Start command. All slaves begin listening on a Start command, or on detection of a power pulse. A slave not being addressed by the master may stop listening and interpreting the command to save power. When a particular slave determines that a command is not directed to that slave, the slave may go to sleep until the next Start sequence or power pulse. Sleep mode may occur at different points in the command format, depending on whether the sensor is mapped or unmapped. A mapped sensor has an assigned short address and unmapped sensor does not have a short address. Addressing is provided in two forms: long address, and short address. The long address is 64 bits while the short address in the command is 6 bits. The long address uniquely identifies the slave telling: 1. manufacturer; 2. protocol version; 3. model identifier; 4. unique serial number; 5. manufacturing facility; and 6. slave number (useful for identifying multiple slaves on a single lead). Error checking of the Long Address is performed internally within the sensor via CRC check or other standard checking procedure. FIG. 25 is a table providing a slave long address format. The long address contains many bits and the current drain of the data communication is governed by i = cvf, where c = capacitance of the bus, v = voltage swing of data communicating on the bus, and f = frequency of the data on the bus. If the 64 bit long address is used for all commands, the frequency of data on the bus would be exceedingly large for an implantable system. The goal is to have a command structure that allows a map assignment of long addresses to short addresses such that the majority of communication is provided by short addresses. The use of a short address containing only 6 bits will lower the cvf current of the bus. The master communicates to the slaves three different ways: 1. Unicast to one sensor; 2 Multicast (Trigger) up to four slaves simultaneously; and 3. Broadcast to all slaves. A broadcast is sent to every sensor on the bus, and there can be up to 16 slaves simultaneously on the bus. The 6 bit address is provided to trigger, i.e. Multicast, multiple slaves simultaneously. The 6 bit format permits identification of 16 sensors uniquely and permits all short addresses sent to the sensors to be of the same format. The 6 bit format allows some multicast capability and a unique broadcast code. FIG. 26 is a table of slave short addresses and multicast examples. The table particularly illustrates examples of how the master specifies the short addresses. According to a preferred embodiment, multicasting a message to more than four slaves is not permitted. Addressing at power up is particularly considered as follows. Slaves are powered up or reset and respond only to their long address. In this state they are unmapped, and only three commands are usable in this state: 1. Unlocks; 2. Search Long Address; and 3. Write Short Address. These commands can all use a reserved short address with a code of 000000. This reserved code is used as a broadcast command going to all slaves on the bus. When the master uses the broadcast short address of 000000, then all slaves listen. The master may then uniquely identify a particular slave depending on whether the command calls for a long address. After power up, the long addresses of the slaves are searched. The sequence is as follows: 1. Use the Unlocks command and ensure all slaves are unmapped - forcing all the slaves to be unmapped; 2. Use the Unlocks command and check for any slaves on the bus "check for unmapped" (if a slave on the bus then proceed to next step); 3. Use the Search
Long Address and search for the long address of the slave(s) (once all slave long addresses proceed to next step); and 4. Assign each slave a unique short address via the command Write Short Address. The assignment of long addresses are made during manufacturing. Long addresses may be assigned to various slaves on a pacing lead or to a slave IMD, one slave at a time before each slave is added to the bus. A capsule on a lead is a hermetic body that contains the slave's electronics. If a capsule contains multiple slaves, the four bit slave number included in the long address can be uniquely hard coded. At capsule test, the master searches the unique long addresses and assign short addresses. The capsule containing multiple slaves then only requires one pair of wires for all slaves. For increased safety, the Unlocks command has a form that "unlocks" the ability to write long addresses. If a lead contains multiple capsules the capsules are assigned unique addresses before they are built into a lead. Each capsule's long address is therefore searched out using the Search Long Address command. Data going to or from the master contains a Frame Check Sequence ("FCS"). The
FCS is an 8 bit CRC. The generator polynomial G(x) is given as follows:
G(x) = xs + x5 + x4 + l EQ. 6 Polynomial strings are based upon treating bit strings as representations of polynomials with coefficients of "0 and "1". Therefore, for example, the generator polynomial is the bit string 10011 00012. The master controls when slaves sample by issuing triggers. The issued triggers ensure that all samples are evenly spaced for a particular slave and ensure that all slaves are sampling at the same time or multiples of each other, i.e. data alignment slave to slave. Furthermore, the issued triggers allow the master to control the data rates. The slave's ADC will require a certain amount of time to perform a conversion. The are two trigger commands: Trigger, and Quick Trigger. The Trigger command allows two additional fields of 4 bits each. One field allows time stamping of data via a Count embedded in the trigger command. This allows the master to tell if a sensor missed a trigger(s) and which trigger(s) were missed. Another field will allow Command Codes to be sent down to the sensor. The sensor may perform signal processing of the data stream between two different Command Codes. Command Codes work like a 4 bit write within the Trigger command. FIG. 27 is a graph of a triggering example. As illustrated, the read that follows a trigger does not obtain data from the most recent trigger but rather obtains data from 4 triggers previous. FIG. 28 is a graph and table illustrating a relationship between triggering of one sensor and reading corresponding data. The graph particularly illustrates an example of triggering four slaves at a same trigger frequency and the staggering of reading the data back to distribute the bus traffic evenly. The Counts that were sent with the triggers are stored in with the data. The Quick Trigger (QT bit set) works just like the Trigger command, but is less flexible and allows power savings. The Quick Trigger command does not have a Master
Command Name and does not have a Command Code. The inclusion of the Quick Trigger command adds a 1 bit overhead to all the other commands but saves 9 bits on the most frequent operation of triggering. FIG. 29 is a graph illustrating re-triggering of data using a count code. On occasion, re-triggering of a sample may occur. Re-triggering is a Trigger or a Quick
Trigger command with a count code of Ehex. Re-triggering may be used if the slope of the data is not important or is not adversely effected by a re-trigger. Re-triggering may also be used if the sample period is long compared to the time between the trigger and the re-trigger of a sample (implying the slope is not adversely effected). Further, a re-trigger may be used if the data is non-periodic or if only a single sensor is being triggered. When the trigger is broadcast to multiple sensors, the acknowledge request can be meaningless because more than one sensor is acknowledging proper receipt of the trigger command. When the trigger goes out to a single sensor, the acknowledge has more meaning because the acknowledge is specific to a single sensor. Therefore, if the trigger is NACK'd, the trigger can be determined if re-triggering can be performed. A re-trigger may get ACK'd thereby returning some semblance of periodic triggering.
In pulse power embodiments, triggering can be accomplished by issuing a power pulse to multiple slaves on the bus. Upon receiving the power pulse, the slaves can perform some pre-determined action or measurement. Triggering in this manner reduces bus traffic, thereby lowering current drain. However, power pulses used as triggers do not include data, such as slave addresses. To selectively trigger a particular slave, the master can deliver a sequence of power pulses that is associated with, e.g., addresses that slave. In such cases, slaves are able to count the number of power pulses issued in order to recognize sequences of power pulses and accordingly perform pre-determined actions. Some forms of digital signal processing may be performed in the sensor. The signal processing for RV Pressure set forth below may be equally performed in the sensor or in the IMD. If the sensor is area constrained, processing is preferably accomplished in the EVID. FIG. 30 is a graph illustrating a collection of data points for an RV pressure waveform. FIG. 31 is a table illustrating Command Codes and measured parameters. The advantage of processing in the sensor is to pass only processed information back to the EVID, rather than every waveform point. This lowers the (i = cvf) current drain. The protocol provides for passing the whole pressure waveform up to the IMD for research, diagnostics and display purposes. Commands are sent out by the EVID at a certain rate and each have a 4 bit Count Code associated with them. With these counts, both time and signal slopes can be derived and the presence of missing Triggers can be determined. The Trigger commands optionally have a 4 bit Command Code associated with them. One use of the Command Codes is to determine when to start the signal processing and when to end the signal processing. The Command Codes are essentially used as a short write command embedded within the Trigger command. As an alternative, the Quick Trigger command in combination with the Write command can be used to start signal processing and end signal processing. There exists a certain amount of data overhead when retrieving data from the slave. By minimizing the data overhead, the current drain is reduced by reducing the data frequency (f) in the i = cvf equation. Data transfer overhead for a single slave using a Trigger command and a Read
Results command are analyzed below using the 33 Bit Times per standard command for DC bias embodiments as an example. For a one slave application generating 12 bit data and sending 4 bit Count codes back with the data, the following information is obtained. Each Trigger is associated with 16 bits of data coming back: 33 Bit Times 12 Bits ADC Data 4 Bits Count Data 49 Bit Times Trigger Trigger Trigger Trigger
EQ. 7 One Read Request and response costs a certain number of bit times: 33 Bit Times 8 Bit Times for CRC in Response 3 Bit Times for Stop in Response 44 Bit Times Trigger Read Request Read Request Read Request
EQ. 8 Given n triggers to get n samples per Read Request: n samples Read Request gQ g For calculation of the number of bit times each sample associated with a trigger costs for a one slave application. ( 44 Bit Times 49 Bit Times Read Request, X Bit Times Trigger ( n samples Sample Trigger Read Request; PΠ 10 Ifn = 4 then we get: 44 Bit Times 49 Bit Times Read Request, 60 Bit Times - + Trigger 4 samples | Sample Trigger Read Request EQ. 11 As set forth below, the efficiency for one slave is not nearly as great as for multiple slaves. In particular, use of multiple slaves using a Trigger and Read Results command provides increased efficiency. Generalized for a quantity of Y slave applications, each slave generating 12 bits data and transmitting a 4 bit Count up, savings are achieved. Each Trigger command is associated with a certain amount of data (16 bits X the quantity of slaves Y) coming back:
33 Bit Times [ 12 Bits ADC Data 4 Bits Count Data ϊ Y sensors 33 Bit Times 16 Bit Times of Data Y sensors -+ — + —. \ -^~. = — — + — x - Trigger Trigger Trigger J Trigger Trigger Trigger Trigger EQ.
12
Each slave has its own read request and response that has a certain cost: 33 Bit Times in Request 8 Bit Times for CRC in Request 3 Bit/Times for Stop in Response 44 Bit Times Read Request Read Request Read Request Read Request
EQ. 13
Given triggers to get n samples per Read Request: n samples Read Request gQ ^ The number of bit times each sample costs for a quantity of Y slave application is next calculated:
7 44 Bit Times') 33 Bit Times Y sensors I Read Request J X Bit Times Trigger Trigger ( xx samples Sample Trigger , I Read Request;
Figure imgf000033_0001
EQ. 15
If n = 4 and Y = 4 as in FIG. 28, then: 7 44 Bit Times 33 Bit Times 4 sensors I Read Request, 16 Bit Times of Data 141 Bit Times
' ' — + i x Trigger Trigger J 4 samples j Trigger Sample Trigger , V Read Request J EQ. 16 For 1 trigger resulting in 1 sample for 4 slaves, an average of 32.5 bit times per slave is achieved.
141 Bit Times 1 Sample Trigger 35.25 Bit Times Sample Trigger 4 Sensors Sensor C -, 7
Accordingly, 35.25 bit times per slave are produced. Considering the acquisition of 12 bits of ADC data and 4 bits of Count data for time alignment or a total of 16 bits, then a factor of approximately 2x for the protocol is efficient. Moreover, efficiency is further increased by reading larger amounts of data, i.e. by increasing "n" in EQ. 14. The cost of reading more data per read command is a lowered specificity to detect errors in the data. Using the Quick Trigger command along with the Read Results command also provides increased efficiency as set forth below. Generalized for a quantity of Y slave applications, with each slave generating 12 bits of data and transmitting a 4 bit Count up, efficiency is improved. Each Quick Trigger command is associated with a certain amount of data (16 bits X the quantity of slaves Y) coming back:
24 Bit Times ( 12 Bits ADC Data 4 Bits Count DataW sensors 24 Bit Times 16 Bit Times of Data Y sensors Trigger I, Trigger Trigger J Trigger Trigger Trigger Trigger EQ.
Each slave has its own read request and response that has a certain cost: 33 Bit Times 8 Bit Times for CRC in Response 3 Bit Times for Stop in Response 44 Bit Times Read Request Read Request Read Request Read Request EQ. 19 Given Y triggers to get n samples per Read Request: n samples Read Request gQ 2Q Therefore, the number of bit times each sample costs for a quantity of Y slave application is:
7 44 Bit Times') 24 Bit Times Y sensors I Read Request; 16 Bit Times of Data X Bit Times Trigger Trigger ( n samples Trigger Sample Trigger V Read Request; EQ. 21 If n = 4 and Y = 4 as in FIG. 28, then:
22 Bit Times 4 sensors 132 Bit Times Trigger Trigger Sample Trigger
Figure imgf000035_0001
EQ. 22 For 1 trigger resulting in 1 sample for 4 slaves, then this averages to 33 bit times per slave. 132 Bit Times 1 Sample Trigger 33 Bit Times Sample Trigger 4 Sensors Sensor gQ 23 Therefore, approximately 33 bit times are required per slave. Considering 12 bits of ADC data and 4 bits of Count data for time alignment or a total of 16 bits, then a factor of approximately 2x for the protocol is efficient. Moreover, efficiency is further increased by reading larger amounts of data, thereby increasing n in the above EQ. 20. The cost of reading more data per read command is a lowered specificity to detect errors in the data. For a calculation of EQ. 21 for one sensor read every 4 triggers, a value of 51 bit times per sample trigger is determined. Thus, the Quick Trigger command has an efficiency over the Trigger command, which comes out to 60 bit times per sample trigger in EQ. 11. FIG. 32 is a table providing a command overview for the sensor interface for an implantable medical device. In general, a unicast command writes to a single slave, a multi-cast command writes to more than one slave, and a broadcast command writes to all slaves. Memory inside the slave is partitioned to hold Calibration Constants, Slave Long Addresses, Lead Long Addresses and other variables to control the operation of the device. The memory is preferably non-volatile for Calibration Constants and Addresses so that data is not lost once the bus is powered down. Memory partitioning is specific to each slave and 16 bit addressing is allowed for both EEPROM and internal RAM/Register memory. Examples of commands using this type of memory are given by: 1. LSB RAM/REG Address; 2. MSG RAM/REG Address; 3. LSB EEPROM Address; 4. MSB EEPROM Address; 5. Copy RAM/REG to EEPROM memory; and 6. Copy EEPROM to
RAM/REG memory. Data link layer commands are particularly set forth below for a sensor interface for an implantable medical device. FIG. 33 is a table illustrating a format for the Unlocks command. FIG. 34 is a table illustrating Unlock command key options. The Unlocks command is used for multiple operations and globally unmaps all slaves. When a slave is unmapped, the slave only responds to its associated long address. The Unlocks command may be sent multiple times because more than one slave is responding and ACKing. Globally, the Unlocks command checks for any unmapped slaves, and is shown as three steps in FIG. 49 below. The Unlocks command also globally checks for any mapped slave, and checks if the Unmap-all command was successfully completed. The Unlocks command allows for copying from RAM/REG address space to EEPROM, and allows copying from EEPROM address space to RAM/REG space. Further, the Unlocks command allows writing of a slave long address. For a command response, the command is either ACK or NACK. The ACK normally indicates that the FCS was valid but if searching for an Unmapped slave, an ACK will only be provided if the FCS is valid and unmapped. FIG. 35 is a table of a Master's Search Long Address command. With this command, a binary search for the long address can occur. This search occurs with progressively-longer Long Address Bit Patterns (field Master4). If one or more slaves exist at the long address, then the command pulls the line low via the ACK command. Only unmapped slaves respond to this command. FIG. 36 is table summarizing an example search across a sensor for an implantable medical device. The search is performed by the Master implantable medical device for the binary long address bit pattern of the sensors attached to it. If the long address given below is only 4 bits, two slaves are on the bus at addresses (10102 and 10012), and the search will progress as illustrated. However, slaves having 4 bit addresses is illustrated for example purposes only. FIG. 37 is a table illustrating a Master's Write Short Address command. This command writes the short address of a single slave. The Master's Write Short Address Command is given the long address (indicated by the Master4 field) and then a short address defined by the Master2 field is assigned. If the long address matches the slave's long address, then this command marks the short address as mapped. For a command response, the slave will acknowledge the write as long as the FCS is correct. Action will only be taken if the Slave field (Master 2) is Unicast. FIG. 38 is a table illustrating a Trigger command. The slave to be triggered depends on the Slave(s) field Master2. The sampling rate depends on the speed that the
Trigger command is sent by the master, the frequency of Master and Sensor time bases, and the length of the trigger command. If the Trigger command is sent at 250 Hz, the Trigger command could trigger an RV pressure slave to sample every 4 ms. The Command code for the Trigger command is a 4 bit code that encodes information, i.e. events, such that the slave can associate samples with cardiac or other information. Not all slaves will use the Command code field. Some slaves will use the Command code only and some will use the Command code and the Count and some may use neither the Command code or Count. Although described herein primarily as sensors, slave devices can take the form of a variety of types of devices in various embodiments of the invention. For example, in some embodiments of the invention slave devices may be other implantable medical devices or actuators. An actuator can take the form of, for example, a miniature drug pump, stimulation device, or a micro-electro-mechanical-sensor device. The master device can trigger sensing or delivery of therapy, opening of a particular orifice for delivery of drags or selection of a combination of electrodes for delivery stimulation by an
EVID or actuator slave, or some other pre-determined action by an EVID or actuator slave. Ln some embodiments, actuators take the form of sonomicrometry transducers, and the master triggers one or more actuators to act as either transmitters or receivers for one or more measurements.
FIG. 39 is a table illustrating a Trigger Command Code for a cardiac EVID. The illustrated list is used to communicate cardiac Command Codes to multiple slaves. FIG. 40 is a table illustrating an example of a Trigger Command Code for sonomicrometry transmitters and receivers. The illustrated list is used to determine which slave/actuator is making an acoustic ping and which slave/sensor is listening. The Command Code of F16 (11112) is a reserved code for cleared data. The Command Code of E16 (11102) is a reserved code for normal (not specific Command Code data).
Accordingly, a code other than F]6 is allowed to be embedded with most of the samples in case the Command Code is sent back with the Data. The Count field in FIG. 38 is a 4 bit code that gives a sequence to the triggers that are coming. The Count rotates (in hexadecimal) 0,1,2,3,4,5,6,7,8,9,A,B,C,D,0,1,2,3... The Counts of E]6 and Fι6 are reserved. The Count of Fig (11112) is a reserved count code for cleared data and the Count of E16 (11102) is a reserved count code for retriggering of a sample that is NACK'd A Slave can determine if a trigger was missed. If sampling on every Count, then the Count should increment 016 thru Dι6, if the triggers are emitted to the slave in that order. Time alignment of data between slaves is accomplished in the master. A slave can be told to down sample on even values or odd values of the Count field via the Short Address Field. The Trigger command's Short Address field: GιG0A3A2AιA0 still tells the slave to sample or not, therefore the Count does not dictate if a sample occurs. The Count embedded for this slave's data when read via the Read Results command tells whether any data is missing. Sampling on even Counts have Counts embedded in the data such as 0, 2,
4, 6, 8, A, C, 0, 2. Sampling on odd Counts would Counts embedded in the data such as 0, 3, 6, 9, C, 1, 4, 7, A, D, 2, 5, 8, B, 0, 3. The pattern for odd Counts takes longer to repeat itself. Using Counts for signal processing in the slave are performed and slopes can be calculated, even with missing triggers, because the Count value is given for each trigger.
Using Counts and Command Codes for signal processing and time measurements is also utilized. For example, the Pre-ejection interval ("PEI") may be recorded as the time from R wave detection to peak dP/dt. If one of the samples is not one of the reserved Command Code codes: (11112 or 11102) there could be a code for R-wave detection (for example 00002). Signal processing is performed to pick off the dP/dt via the Count codes. Once the speed of Count increments is determined, the PEI may be recorded as the number of
Count increments between when the R wave is signaled and when the pressure slave showed a max +dP/dt. Not all slaves will use the Count field. Some will use Count only and some will use the Command Code and the Count. Some may use neither the Command Code or the Count. A slave can embed both a Count and Command Code within a data response.
Signal processing is performed on the Master end. For the Command response, an Acknowledge from one or more slaves is provided. The AckReq gives an edge that allows accurate timing for sonomicrometry operation. FIG. 41 is a table illustrating a Quick Trigger Command. The Quick Trigger works like the Trigger command but uses fewer bits to save power. The Slave(s) field
Master2, determines which slaves are triggered. The sampling rate depends on the speed that the Quick Trigger command is sent by the master. For example, if the Quick Trigger command is transmitted at 250 Hz, an RV pressure slave may be triggered to sample every 4 ms. The Quick Trigger command is the only one with the QT bit set. The Quick Trigger command does not have a Master Command Name Field, therefore the slave must recognize whether the QT bit is set and know that it is the Quick Trigger command. The count field works the same in the Quick Trigger command as in the Trigger command. The count cycles 0 thru D, 0 thru D etc... with count codes E and F being reserved. A command response is an Acknowledge from one or more slaves. The AckReq gives an edge that improves timing for sonomicrometry operation. FIG. 42 is a table illustrating a Master's Read command. The Address for the read is set up via the Master's LSB RAM/REG Address Command and the Master's MSB RAM/REG Address command. The Quantity of bytes field allows reading up to 256 values from a page. A value of "0" reads 1 byte of data. FIG. 43 is a table illustrating a Slave's Read Response. The Read command will leave the address as set by the Master's LSB RAM/REG Address Command and the Master's MSB RAM/REG Address Command, where it pointed to for the first byte read. For a command response, the slave will acknowledge the read as long as the FCS from the master was correct. A response will be given if the command is Unicast to one slave. The response indicated is a response to reading N-l bytes. FIG. 44 is a table providing rules for a Read Results command. FIG. 45 is a pair of tables illustrating a buffer with 8 bit Data and Count and Command Code embedded. FIG. 46 is a table illustrating a Master's Read Results command. The Master's Read Results command is more useful/specific than the general Read command because it performs more for the master, reduces bus traffic and reduces power. The Read Results command reads result data from RAM/Register Address space, and is used in conjunction with slave results being put into this memory typically by an ADC. Data can be put into memory via any format and can be slave specific. As illustrated in FIG. 44, the data format is shown with the oldest data given first. The Read Results command works in close association with the Trigger and the Quick Trigger commands. The Trigger command forwards a Command Code and a Count that are values other than Fi6. Command Codes and/or Count codes that are embedded in the data read by the Read Results command, and that have values of Fι6, have not yet had ADC data written to their associated data fields. The Quick Trigger works like the Trigger except that it only sends the Count code. The Read Results command follows the rules given in the table of FIG. 44. The read command is setup to read from a specific buffer (either "0" or "1") and depending on which buffer is being read and which buffer the ADC pointer is pointing to the appropriate set of rales are followed. Two buffers have been implemented allowing a retry of reading the data. FIG. 47 is a table illustrating a Slave's Read Results example response. The example response is a response to reading N + 1 bytes. The indicated response is slave specific, such that slaves may send various data bit widths back as well which may be including Count and/or Command Codes. The response does not have to send back both the Command Code and Count. A response is given only if the Slave field (Master 2) is Unicast. No data is sent and no operations are performed with the ADC pointer if the
Slave field is not Unicast. FIG. 48 is a table illustrating a Master's Write command. The Address for placement of the value is set up via the Master's LSB RAM/REG Address command and the Master's MSB RAM/REG Address command. Before a value is written to any memory, the frame check sequence ("FCS") is checked first. The value field indicates the value that is written and the write command leaves the address off at the address where the write occurred. The slave will acknowledge the write with a command response as long as the FCS was correct. FIG. 49 is a table illustrating a Master's LSB RAM/REG Address command. The Master's LSB RAM/REG Address command writes the RAM/Register Address Least Significant Byte Pointer. The Value field for the Master's LSB RAM/REG Address command will contain the RAM/Register LSB Address Pointer and for the command response, the slave will acknowledge the write as long as the FCS is correct. FIG. 50 is a table illustrating a Master's MSB RAM/REG Address command. The Value field for the Master's MSB RAM/REG Address command will contain the RAM/Register MSB Address Pointer, and the slave will acknowledge the write as a command response as long as the FCS is correct. FIG. 51 is a table illustrating the LSB EEPROM Address command. The LSB EEPROM Address command writes the EEPROM Address Least Significant Byte Pointer. The Value field contains the EEPROM LSB Address Pointer and the slave will acknowledge the write as a command response as long as the FCS is correct. The pointer
Address will not change on a write that is NACK'd. FIG. 52 is a table illustrating a MSB EEPROM Address command. The MSB EEPROM Address command writes the RAM/Register Address Most Significant Byte Pointer. The Value field contains the EEPROM MSB Address Pointer while the slave will acknowledge the write with a command response long as the FCS is correct. The pointer
Address will not change on a write that is NACK'd. FIG. 53 is a table illustrating a Master's Copy RAM/REG to EEPROM Memory command. This command can copy up to 256 bytes from RAM/Register Address Space to EEPROM address space. The EEPROM addresses are left off at the starting address as dictated by the commands LSB EEPROM Address and MSB EEPROM Address.
RAM/Register addresses will be left off at their starting addresses as dictated by the commands LSB RAM/REG Address and MSB RAM/REG Address. The Unlocks command is sent as a guard against writing into the calibration constant and address areas of EEPROM. The slave will acknowledge the write with a command response as long as the FCS is correct. No action will be taken if the appropriate Unlocks command is not performed. FIG. 54 is a table of a Master's Copy of EEPROM to RAM/REG Memory command. The Copying command copies up to 256 bytes from EEPROM Address Space to RAM/Register space. The EEPROM addresses will be left off at the starting address as dictated by the commands LSB EEPROM Address and MSB EEPROM Address. RAM/Register addresses will be left off at their starting addresses as dictated by the commands LSB RAM/REG Address and MSB RAM/REG Address. The Unlocks command must be sent as a guard against writing into sensitive areas of RAM/Register space. The slave will acknowledge the write with a command response as long as the FCS is correct. No action will be taken if the appropriate Unlocks command was not performed. FIG. 55 is a table illustrating a Master's Quick Read command. This command reads address pointers that are not readable via a normal read using address pointers and also reads status words that are desirable for quick access. FIG. 56 is a table illustrating a Master's Which Pointer to Read command and FIG. 57 is a table illustrating a Slave's Read Address Pointers Response command. The generalized Read command does not use these pointers because they are used for the Read itself. This command is useful for debug by checking if pointer manipulation is working properly.
As described above, in some embodiments of the invention an EVID provides power to a slave device by placing a DC bias voltage on the two-wire bus used for communication between the IMD and the slave device. However, two-wire buses according to the invention are in some cases exposed to conductive bodily fluids, particularly where the bus interfaces with the IMD and the slave device. In embodiments where DC bias powering is utilized, such exposure could, over time, lead to degradation and failure of the bus, or of metallic components of the EVID and slave device that are coupled to the bus, due to corrosion or the like. Consequently, in preferred embodiments of the invention, an EVID provides power to a slave device by placing voltage pulses on the two-wire bus, which reduces the likelihood of failure due to corrosion or the like. Slave devices, such as sensor capsules 142 and 144 (FIG. 1) include recovery units 156 (FIG. 1) to recover power from the voltage pulses. In exemplary embodiments, recovery units 156 include rectifier circuits to recover power from the voltage pulses. In such embodiments, the two-wire bus may take any of the forms illustrated in FIGS. 4-7, as well as other forms.
FIG. 58 illustrates power pulses and data pulses output by a master, e.g., an EVID, according to a pulsed power embodiment of the invention. In the illustrated embodiment, the master outputs voltage power pulses as bipolar voltage power pulse pairs. The duration of each pulse of the pair, of an interval between pulses of a pair, and of an interval between pulse pairs is illustrated as one bit time. As discussed above, one bit time is nominally equal to ten microseconds.
As illustrated in FIG. 58, there is no DC bias on the two-wire bus between the IMD and the slave devices. Data is communicated on the two- ire bus by variation of the voltage on one wire of the bus in the manner described above with reference to FIG. 13. However, in the illustrated embodiment, the variation is between a reference voltage, e.g., 0 V, and 200 mV. The amplitude of power pulses is the reference voltage +/- 3.0 V. However, the invention is not limited to the illustrated embodiment. Bipolar power pulse pairs can have any amplitude for the pulses, order of polarities of the pulses, duration of the pulses, and duration of the interval between the pulses of a pair. Further, bipolar power pulse pairs need not include an interval between the pulses of a pair. In some embodiments, power pulses are unipolar pulses, which can have any amplitude, duration, and polarity. In some embodiments, the master can vary the duration of voltage power pulses during operation of the IMD commumcation system.
A single power pulse, or, as illustrated in FIG. 58, a train of two or more voltage power pulses is delivered prior to communication of data. The first pulse of a train that follows a message on the bus is preceded by an idle period of five bit times in which the master holds the data line of the bus at the reference voltage, i.e., holds that line at a forced "0." The idle period includes four idle period bit times, and a fifth force "0" bit time attributed to the one force "0" bit time that precedes all delivered power pulses. In some embodiments, slave devices determine the polarity of data pulses based on the polarity of the immediately preceding power pulse, or of the second pulse of an immediately preceding bipolar power pulse pair. In exemplary embodiments, the master determines a number of power pulses to send before a message based on the power needed by the slave devices to perform the action requested by the message.
Slave devices wake-up from a low power state and monitor for a message Start sequence in response to detecting a power pulse on the bus. Single power pulses or trains of power pulses can be delivered without a message to follow, e.g., in order to maintain adequate power for the slave devices. In such cases, the pulse or pulse train is followed by an idle period of five bit times so that the slave devices can determine that no message is forthcoming and return to the low power state. In some embodiments, slave devices wake-up and perform a measurement or some other predetermined in response to detecting a power pulse on the bus, e.g., the slaves are triggered by a power pulse or sequence of power pulses as described above. FIG. 59 illustrates an example message sequence for pulsed power embodiments of the invention, which includes a Start sequence and command output by the master, and a master stop sequence. The Start sequence synchronizes the slaves to the master, and indicates that a command will be output by the master. In the illustrated example, the master outputs the Start sequence as a forced "0" followed by two logic "1 's". In other embodiments, the start sequence is not preceded by any power pulses, but is streamed or chained with the end of a previous message, as will be described in greater detail below with reference to FIG. 60.
The Stop sequence includes a "Stop" and a master acknowledge request (ACKReq) output by the master, followed by a slave cyclical redundancy check acknowledge or non- aclαiowledge (CRC ACK NAK) and slave low power acknowledge or non-acknowledge (LPwr ACK/NAK). The Stop sequence ends with a second "Stop" output by the master. The master outputs a "Stop" by holding the bus high continuously for 1 bit time. As discussed above, slaves indicate a logic "0" by pulling the bus low at a shorter fraction of a bit time, and indicate a logic "1" by pulling the bus low at a longer fraction of the bit time. Consequently, in embodiments where the bus is shared by a plurality of slaves, output of a logic "0" by any of the slaves is detected as a logic "0" by the master for that bit time.
Slaves output a logic "0" during a CRC bit time of the Stop sequence to indicate a CRC ACK, i.e., to indicate that the command from the master is error-free according to the CRC error check contained in the Frame Check Sequence field of the command. If no slave outputs a logic "0", i.e., a CRC NAK is indicated, the command is resent. Where a
CRC NAK is indicated, the master does not consider the LPwr ACK/NAK for that Stop sequence.
Slaves output a logic "0" during a LPwr bit time of the Stop sequence to indicate a low power status, e.g., to request delivery of additional power pulses from the master. If any slave outputs a logic "0", the master will detect a low power ACK, and determine that at least one slave has insufficient power. In some embodiments, the master outputs one or more power pulses in response to detection a low power ACK. If all slaves on the bus output a logic "1" or do not respond during the LPwr bit time, the master will detect a low power NAK.
In the example illustrated in FIG. 59, the master Stop sequence is followed by an idle period of at least five bit times that will precede another power pulse or train of power pulses. In other embodiments, the master Stop sequence is followed by slave data pulses, wherein a slave transmits information to the master, and a slave stop sequence. In such embodiments, the slave stop sequence is followed by an idle period that precedes another power pulse.
In still other embodiments, as illustrated in FIG. 60, the master streams multiple messages, i.e., outputs multiple commands, between consecutive power pulses. Each command is preceded by a Start sequence, which alerts the sensors that an additional command will be sent, and synchronizes the sensor for receipt of the additional command. In some embodiments, one or more of the master Stop sequences within a message stream are followed by sensor data and sensor Stop sequences. A final "Stop" bit within a master or slave Stop sequence provides a rising edge, which is also used for resynchromzation of the slave to prior to receipt of an additional command.

Claims

We Claim:
1. An implantable medical device commumcation system, comprising: an implantable medical device comprising a power supply, a controller, and a communication unit, wherein the communication unit combines data from the controller and power from the power supply to produce a communication signal that is selectively changeable between at least a first and a second voltage, produces a reference voltage, and generates voltage power pulses from the power supply; a two-wire bus to receive the communication signal and the voltage power pulses on a first wire, and to receive the reference voltage on a second wire; and a slave device comprising a recovery unit to recover power from the voltage power pulses and a transceiver unit to decode data from the selectively changeable communication signal transmitted across the first wire, wherein one bit time of data to be communicated across the first wire is defined as a predetermined number of clock cycles, a logic "0" is communicated by holding the first wire at the first voltage for a first fraction of the predetermined number of clock cycles, and a logic "1" is communicated by holding the first wire at the first voltage for a second fraction of the predetermined number of clock cycles, and wherein the second voltage is substantially equal to the reference voltage.
2. The implantable medical device communication system of claim 1, wherein the voltage power pulses comprise bipolar voltage power pulse pairs.
3. The implantable medical device communication system of claim 2, wherein the pulses of each bipolar voltage power pulse pair are separated by an interval, and a duration of the interval and of each of the pulses of each bipolar power pulse pair is substantially equal to one bit time.
4. The implantable medical device communication system of claim 1, wherein the slave device enters a power down state, detects one of the voltage power pulses, and exits the power down state based on detection of the voltage power pulse.
5. The implantable medical device communication system of claim 1, wherein the slave device detects at least one of the voltage power pulses, and performs a predetermined action based on detection of the voltage power pulse.
6. The implantable medical device communication system of claim 5, wherein the communication unit of the implantable medical device uses a sequence of voltage power pulses to address the slave device, and wherein the slave device detects the sequence of voltage power pulses and performs the predetermined action based on detection of the sequence.
7. The implantable medical device communication system of claim 6, wherein the predetermined action comprises at least one of a measurement and delivery of a therapy.
8. The implantable medical device communication system of claim 1, wherein the commumcation unit of the implantable medical device outputs commands to the slave device.
9. The implantable medical device communication system of claim 8, wherein the communication unit of the implantable medical device outputs a start sequence subsequent to generation of one of the voltage power pulses, and outputs one of the commands subsequent to generation of the start sequence, and wherein the transceiver unit of the slave device detects the voltage power pulse and monitors for the start sequence based on the detection.
10. The implantable medical device communication system of claim 9, wherein the transceiver unit of the slave device identifies a polarity of the voltage power pulse, and identifies a polarity of the first voltage for receipt of the start sequence and command based on the polarity of the voltage power pulse.
11. The implantable medical device communication system of claim 9, wherein the start sequence comprises three bit times, a first bit time of the start sequence comprises a forced "0" that is communicated by holding the first wire at the second voltage for substantially the entire first bit time, and each of a second bit time and third bit time of the start sequence comprise a logic "1".
12. The implantable medical device communication system of claim 9, wherein the communication unit outputs a plurality of commands to the slave device between consecutive voltage power pulses, and outputs a start sequence to precede each command.
13. The implantable medical device communication system of claim 9, wherein the transceiver unit of the slave device indicates a power status of the slave device to the implantable medical device during a bit time of a stop sequence that follows the command.
14. The implantable medical device commumcation system of claim 13, wherein the communication unit of the implantable medical device receives the indication of the power status from the transceiver unit of the slave device by driving the first wire of the bus at the first voltage, and then sensing the first wire to determine a fraction of the bit time at which the transceiver unit pulls the first wire to the second voltage.
15. The implantable medical device communication system of claim 14, wherein the transceiver unit of the slave device communicates a low power status by pulling the first wire to the second voltage at a first fraction of the bit time, and communicates an adequate power status by one of pulling the first wire to the second voltage at a second fraction of the bit time and allowing the first wire to remain substantially at the first voltage through the first and second fractions of the bit time.
16. The implantable medical device of claim 14, wherein the communication unit of the implantable medical device weakly holds the bus at the first voltage while sensing the first wire to determine a slave fraction of the bit time at which the transceiver unit pulls the first wire to the second voltage.
17. The implantable medical device communication system of claim 1, wherein the slave device comprises at least one of a sensor and an actuator that is external to the implantable medical device.
18. The implantable medical device communication system of claim 1, further comprising a plurality of slave devices, each slave device comprising a sonomicrometry transducer, wherein the communication unit of the implantable medical device directs at least one of the slave devices to act as a transmitter for a measurement and directs at least one of the slave devices to act as a receiver for the measurement.
19. The implantable medical device commumcation system of claim 1, wherem the implantable medical device comprises a first implantable medical device and the slave device comprises a second implantable medical device.
20. An implantable medical device communication system, comprising: an implantable medical device comprising a power supply, a controller, and a communication unit, wherein the communication unit selectively outputs voltage power pulses and a plurality of different commands, each command preceded by a start sequence and followed by a stop sequence; a bus to transmit the voltage power pulses and communicate the start sequences, stop sequences and the plurality of different commands; and a slave device comprising a recovery unit to recover power from the voltage power pulses and a transceiver unit to receive the commands via the bus, wherem the transceiver unit indicates a power status of the slave device during the stop sequences.
21. The implantable medical device communication system of claim 20, wherein the stop sequence includes a plurality of bit times, and the transceiver unit indicates a low power status of the slave device by communicating a logic "0" during one of the bit times to, and indicates an adequate power status of the slave device by one of communicating a logic "1" during the bit time and not responding during the bit time.
22. The implantable medical device commumcation system of claim 20, wherein the voltage power pulses comprise bipolar voltage power pulse pairs.
23. The implantable medical device communication system of claim 20, wherem the slave device enters a power down state, detects one of the voltage power pulses, and exits the power down state based on detection of the voltage power pulse.
24. The implantable medical device communication system of claim 20, wherein the slave device detects at least one of the voltage power pulses, and performs a predetermined action based on detection of the voltage power pulse.
25. The implantable medical device of claim 24, wherein the communication unit of the implantable medical device uses a sequence of voltage power pulses to address the slave device, and wherein the slave device detects the sequence of voltage power pulses and performs the predetermined action based on detection of the sequence.
26. The implantable medical device communication system of claim 20, wherein the communication unit outputs a plurality of commands to the slave device between consecutive voltage power pulses, and outputs a start sequence to precede each command.
27. The implantable medical device communication system of claim 20, wherein the communication unit outputs a plurality of voltage power pulses between consecutive commands.
28. The implantable medical device communication system of claim 20, wherein the slave device comprises a sensor that is external to the implantable medical device.
29. An implantable medical device communication system, comprising: an implantable medical device comprising a power supply, a controller, and a communication unit, wherein the communication unit selectively outputs voltage power pulses and a plurality of different commands, and outputs a plurality of commands between consecutive voltage power pulses; a bus to transmit the voltage power pulses and communicate the plurality of different commands; and a slave device comprising a recovery unit to recover power from the voltage power pulses and a transceiver unit to receive the commands via the bus.
30. The implantable medical device communication system of claim 29, herein the communication unit outputs a start sequence to precede each command.
31. The implantable medical device communication system of claim 30, wherem the start sequence comprises three bit times, a first bit time of the start sequence comprises a forced "0", and each of a second bit time and third bit time of the start sequence comprise a logic "1".
32. The implantable medical device communication system of claim 29, wherein the communication unit outputs a plurality of voltage power pulses between consecutive commands.
PCT/US2004/041872 2003-12-11 2004-12-09 Implantable medical device communication system with pulsed power biasing WO2005061044A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP04818017A EP1703941B1 (en) 2003-12-11 2004-12-09 Implantable medical device communication system with pulsed power biasing

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/733,000 US7139613B2 (en) 2002-09-25 2003-12-11 Implantable medical device communication system with pulsed power biasing
US10/733,000 2003-12-11

Publications (2)

Publication Number Publication Date
WO2005061044A2 true WO2005061044A2 (en) 2005-07-07
WO2005061044A3 WO2005061044A3 (en) 2007-03-08

Family

ID=34710427

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2004/041872 WO2005061044A2 (en) 2003-12-11 2004-12-09 Implantable medical device communication system with pulsed power biasing

Country Status (3)

Country Link
US (1) US7139613B2 (en)
EP (1) EP1703941B1 (en)
WO (1) WO2005061044A2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2316526A1 (en) * 2007-06-25 2011-05-04 Boston Scientific Neuromodulation Corporation Improved architecture for an implantable medical device system
WO2011093916A1 (en) * 2010-01-29 2011-08-04 Medtronic, Inc. Clock synchronization in an implantable medical device system
US8768453B2 (en) 2010-10-13 2014-07-01 Boston Scientific Neuromodulation Corporation Monitoring electrode voltages in an implantable medical device system having daisy-chained electrode-driver integrated circuits
US9061140B2 (en) 2010-10-13 2015-06-23 Boston Scientific Neuromodulation Corporation Sample and hold circuitry for monitoring voltages in an implantable neurostimulator
US9795793B2 (en) 2010-10-13 2017-10-24 Boston Scientific Neuromodulation Corporation Architectures for an implantable medical device system having daisy-chained electrode-driver integrated circuits

Families Citing this family (142)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7139613B2 (en) * 2002-09-25 2006-11-21 Medtronic, Inc. Implantable medical device communication system with pulsed power biasing
US7304950B2 (en) * 2003-12-15 2007-12-04 Finisar Corporation Two-wire interface having dynamically adjustable data fields depending on operation code
US20050159801A1 (en) * 2004-01-16 2005-07-21 Medtronic, Inc. Novel implantable lead including sensor
US7389140B1 (en) * 2004-06-16 2008-06-17 Kroll Mark W Adjustment of stimulation current path
US8897884B2 (en) * 2004-11-26 2014-11-25 St. Jude Medical Ab Implantable medical device with a voltage protection circuit
US8818504B2 (en) * 2004-12-16 2014-08-26 Cardiac Pacemakers Inc Leadless cardiac stimulation device employing distributed logic
US8391990B2 (en) 2005-05-18 2013-03-05 Cardiac Pacemakers, Inc. Modular antitachyarrhythmia therapy system
US9616223B2 (en) * 2005-12-30 2017-04-11 Medtronic, Inc. Media-exposed interconnects for transducers
US8019416B2 (en) * 2006-11-13 2011-09-13 Cardiac Pacemakers, Inc. Reduction of AV delay for treatment of cardiac disease
US20080114408A1 (en) * 2006-11-13 2008-05-15 Shuros Allan C Method and device for simulated exercise
US7610101B2 (en) * 2006-11-30 2009-10-27 Cardiac Pacemakers, Inc. RF rejecting lead
EP2131393A4 (en) * 2007-03-23 2011-08-31 Fujitsu Ltd Electronic device, electronic apparatus mounting electronic device, article mounting electronic device, and method for manufacturing electronic device
US20080319280A1 (en) * 2007-03-29 2008-12-25 Visible Assets Inc. Implantable Biotelemetry Device
US8805530B2 (en) * 2007-06-01 2014-08-12 Witricity Corporation Power generation for implantable devices
US8972007B2 (en) * 2007-09-25 2015-03-03 Cardiac Pacemakers, Inc. Variable shortening of AV delay for treatment of cardiac disease
US8406898B2 (en) 2007-09-27 2013-03-26 Cardiac Pacemakers, Inc. Implantable lead with an electrostimulation capacitor
US8731685B2 (en) 2007-12-06 2014-05-20 Cardiac Pacemakers, Inc. Implantable lead having a variable coil conductor pitch
JP5149399B2 (en) 2008-02-06 2013-02-20 カーディアック ペースメイカーズ, インコーポレイテッド Lead with design features compatible with MRI
US8103360B2 (en) 2008-05-09 2012-01-24 Foster Arthur J Medical lead coil conductor with spacer element
DE102008062865B4 (en) * 2008-05-30 2016-09-22 Continental Teves Ag & Co. Ohg Serial peripheral interface interface with reduced number of connection lines
DE102008029902A1 (en) * 2008-06-24 2009-12-31 Bayerische Motoren Werke Aktiengesellschaft Bus system i.e. local interconnect network bus, operating method for motor vehicle, involves performing communication between master and slave nodes by conductor and ground and supplying slave node with energy by conductor at separate time
US20100105997A1 (en) 2008-10-29 2010-04-29 Medtronic, Inc. Closed loop parameter adjustment for sensor modules of an implantable medical device
US8862685B2 (en) 2008-11-21 2014-10-14 Continental Teves Ag & Co. Ohg Data transmission protocol for synchronization communication between two communication devices
DE102009005453A1 (en) * 2009-01-21 2010-07-22 Ags Elektronik Gmbh Sensor bus system for use in building, has field units with signal input acting on switchable low impedance path, where path is activated in associated data segment depending on signal input, and data part with data segment for field units
WO2010104643A2 (en) * 2009-03-12 2010-09-16 Cardiac Pacemakers, Inc. Thin profile conductor assembly for medical device leads
JP5542926B2 (en) * 2009-06-26 2014-07-09 カーディアック ペースメイカーズ, インコーポレイテッド Medical instrument lead comprising a conductor assembly consisting of a single wire coil with improved torque transfer performance and reduced heating by MRI
CN102460972B (en) * 2009-06-30 2015-10-14 拉姆伯斯公司 For adjusting clock signal with the method for comfort noise, system and integrated circuit
US8335572B2 (en) * 2009-10-08 2012-12-18 Cardiac Pacemakers, Inc. Medical device lead including a flared conductive coil
US9254380B2 (en) 2009-10-19 2016-02-09 Cardiac Pacemakers, Inc. MRI compatible tachycardia lead
JP5551794B2 (en) * 2009-12-30 2014-07-16 カーディアック ペースメイカーズ, インコーポレイテッド Medical device leads safe under MRI conditions
US8391994B2 (en) * 2009-12-31 2013-03-05 Cardiac Pacemakers, Inc. MRI conditionally safe lead with low-profile multi-layer conductor for longitudinal expansion
EP2519305B1 (en) 2009-12-31 2017-07-05 Cardiac Pacemakers, Inc. Mri conditionally safe lead with multi-layer conductor
US8825181B2 (en) 2010-08-30 2014-09-02 Cardiac Pacemakers, Inc. Lead conductor with pitch and torque control for MRI conditionally safe use
US8825170B2 (en) 2010-10-29 2014-09-02 Medtronic, Inc. Low-power system clock calibration based on a high-accuracy reference clock
US20120116479A1 (en) * 2010-11-08 2012-05-10 Werner Meskins Two-wire medical implant connection
US8720276B2 (en) 2011-03-24 2014-05-13 Medtronic, Inc. Moment fraction computation for sensors
US8509908B2 (en) * 2011-04-20 2013-08-13 Cochlear Limited Inter-chip communications for implantable stimulating devices
US9259163B2 (en) 2011-05-25 2016-02-16 Medtronic, Inc. Integrated wireless non-invasive perfusion sensor and method of use
US8798768B2 (en) 2011-06-30 2014-08-05 Greatbatch Ltd. Electrically identifiable electrode lead and method of electrically identifying an electrode lead
US9031641B2 (en) 2011-07-28 2015-05-12 Medtronic, Inc. Quantifying laser-doppler perfusion signal for arrhythmia detection and disease monitoring
EP2772000B1 (en) * 2011-10-28 2020-08-26 Koninklijke Philips N.V. Data communication with interventional instruments
AU2012333113B2 (en) 2011-11-04 2014-11-20 Cardiac Pacemakers, Inc. Implantable medical device lead including inner coil reverse-wound relative to shocking coil
DE102012100818B3 (en) * 2012-02-01 2013-04-11 Leuze Electronic Gmbh & Co. Kg Method for data transmission in fieldbus system for use in industrial application, involves calculating cyclic redundancy check (CRC) checksum from bit sequences of frames and frame address associated with identifier
US8825179B2 (en) 2012-04-20 2014-09-02 Cardiac Pacemakers, Inc. Implantable medical device lead including a unifilar coiled cable
US8954168B2 (en) 2012-06-01 2015-02-10 Cardiac Pacemakers, Inc. Implantable device lead including a distal electrode assembly with a coiled component
US8958889B2 (en) 2012-08-31 2015-02-17 Cardiac Pacemakers, Inc. MRI compatible lead coil
CN104736196B (en) 2012-10-18 2017-06-16 心脏起搏器股份公司 Sensing element for providing Magnetic resonance imaging compatibility in implantable medical device lead
EP3013409B1 (en) 2013-06-27 2018-01-03 Koninklijke Philips N.V. Automatic external sensor interface
EP3308833B1 (en) 2014-01-10 2019-06-26 Cardiac Pacemakers, Inc. Methods and systems for improved communication between medical devices
WO2015106015A1 (en) 2014-01-10 2015-07-16 Cardiac Pacemakers, Inc. Systems and methods for detecting cardiac arrhythmias
DE102014101754B4 (en) * 2014-02-12 2015-11-19 Infineon Technologies Ag A SENSOR COMPONENT AND METHOD FOR SENDING A DATA SIGNAL
US10243724B2 (en) 2014-02-12 2019-03-26 Infineon Technologies Ag Sensor subassembly and method for sending a data signal
EP3110499B1 (en) 2014-02-26 2018-01-24 Cardiac Pacemakers, Inc. Construction of an mri-safe tachycardia lead
US9872722B2 (en) 2014-05-05 2018-01-23 Covidien Lp Wake-up system and method for powered surgical instruments
US10191855B2 (en) 2014-07-03 2019-01-29 Avago Technologies International Sales Pte. Limited Caching systems and methods for page reclamation with simulated NVDRAM in host bus adapters
US9694189B2 (en) 2014-08-06 2017-07-04 Cardiac Pacemakers, Inc. Method and apparatus for communicating between medical devices
US9757570B2 (en) 2014-08-06 2017-09-12 Cardiac Pacemakers, Inc. Communications in a medical device system
US9808631B2 (en) 2014-08-06 2017-11-07 Cardiac Pacemakers, Inc. Communication between a plurality of medical devices using time delays between communication pulses to distinguish between symbols
EP3185952B1 (en) 2014-08-28 2018-07-25 Cardiac Pacemakers, Inc. Implantable cardiac rhythm system and an associated method for triggering a blanking period through a second device
FR3029661B1 (en) * 2014-12-04 2016-12-09 Stmicroelectronics Rousset METHODS OF TRANSMITTING AND RECEIVING A BINARY SIGNAL OVER A SERIAL LINK, ESPECIALLY FOR DETECTING THE TRANSMISSION SPEED, AND DEVICES THEREOF
WO2016126968A1 (en) 2015-02-06 2016-08-11 Cardiac Pacemakers, Inc. Systems and methods for safe delivery of electrical stimulation therapy
WO2016126613A1 (en) 2015-02-06 2016-08-11 Cardiac Pacemakers, Inc. Systems and methods for treating cardiac arrhythmias
US10046167B2 (en) 2015-02-09 2018-08-14 Cardiac Pacemakers, Inc. Implantable medical device with radiopaque ID tag
US10201704B2 (en) 2015-02-20 2019-02-12 Cochlear Limited Digital communications in an implantable system
CN107530002B (en) 2015-03-04 2021-04-30 心脏起搏器股份公司 System and method for treating cardiac arrhythmias
US10050700B2 (en) 2015-03-18 2018-08-14 Cardiac Pacemakers, Inc. Communications in a medical device system with temporal optimization
CN107427222B (en) 2015-03-18 2021-02-09 心脏起搏器股份公司 Communication in a medical device system using link quality assessment
US10305671B2 (en) * 2015-05-21 2019-05-28 Cirrus Logic, Inc. Synchronous differential signaling protocol
EP3337559B1 (en) 2015-08-20 2019-10-16 Cardiac Pacemakers, Inc. Systems and methods for communication between medical devices
CN108136186B (en) 2015-08-20 2021-09-17 心脏起搏器股份公司 System and method for communication between medical devices
US9956414B2 (en) 2015-08-27 2018-05-01 Cardiac Pacemakers, Inc. Temporal configuration of a motion sensor in an implantable medical device
US9968787B2 (en) 2015-08-27 2018-05-15 Cardiac Pacemakers, Inc. Spatial configuration of a motion sensor in an implantable medical device
EP3341076B1 (en) 2015-08-28 2022-05-11 Cardiac Pacemakers, Inc. Systems and methods for behaviorally responsive signal detection and therapy delivery
WO2017040115A1 (en) 2015-08-28 2017-03-09 Cardiac Pacemakers, Inc. System for detecting tamponade
US10226631B2 (en) 2015-08-28 2019-03-12 Cardiac Pacemakers, Inc. Systems and methods for infarct detection
WO2017044389A1 (en) 2015-09-11 2017-03-16 Cardiac Pacemakers, Inc. Arrhythmia detection and confirmation
EP3359251B1 (en) 2015-10-08 2019-08-07 Cardiac Pacemakers, Inc. Adjusting pacing rates in an implantable medical device
US10183170B2 (en) 2015-12-17 2019-01-22 Cardiac Pacemakers, Inc. Conducted communication in a medical device system
US10905886B2 (en) 2015-12-28 2021-02-02 Cardiac Pacemakers, Inc. Implantable medical device for deployment across the atrioventricular septum
WO2017127548A1 (en) 2016-01-19 2017-07-27 Cardiac Pacemakers, Inc. Devices for wirelessly recharging a rechargeable battery of an implantable medical device
EP3411113B1 (en) 2016-02-04 2019-11-27 Cardiac Pacemakers, Inc. Delivery system with force sensor for leadless cardiac device
CN108883286B (en) 2016-03-31 2021-12-07 心脏起搏器股份公司 Implantable medical device with rechargeable battery
US10668294B2 (en) 2016-05-10 2020-06-02 Cardiac Pacemakers, Inc. Leadless cardiac pacemaker configured for over the wire delivery
US10328272B2 (en) 2016-05-10 2019-06-25 Cardiac Pacemakers, Inc. Retrievability for implantable medical devices
US10512784B2 (en) 2016-06-27 2019-12-24 Cardiac Pacemakers, Inc. Cardiac therapy system using subcutaneously sensed P-waves for resynchronization pacing management
US11207527B2 (en) 2016-07-06 2021-12-28 Cardiac Pacemakers, Inc. Method and system for determining an atrial contraction timing fiducial in a leadless cardiac pacemaker system
US10426962B2 (en) 2016-07-07 2019-10-01 Cardiac Pacemakers, Inc. Leadless pacemaker using pressure measurements for pacing capture verification
WO2018017226A1 (en) 2016-07-20 2018-01-25 Cardiac Pacemakers, Inc. System for utilizing an atrial contraction timing fiducial in a leadless cardiac pacemaker system
EP3500342B1 (en) 2016-08-19 2020-05-13 Cardiac Pacemakers, Inc. Trans-septal implantable medical device
CN109640809B (en) 2016-08-24 2021-08-17 心脏起搏器股份公司 Integrated multi-device cardiac resynchronization therapy using P-wave to pacing timing
WO2018039322A1 (en) 2016-08-24 2018-03-01 Cardiac Pacemakers, Inc. Cardiac resynchronization using fusion promotion for timing management
WO2018057626A1 (en) 2016-09-21 2018-03-29 Cardiac Pacemakers, Inc. Implantable cardiac monitor
US10758737B2 (en) 2016-09-21 2020-09-01 Cardiac Pacemakers, Inc. Using sensor data from an intracardially implanted medical device to influence operation of an extracardially implantable cardioverter
CN109803720B (en) 2016-09-21 2023-08-15 心脏起搏器股份公司 Leadless stimulation device having a housing containing its internal components and functioning as a terminal for a battery case and an internal battery
US10305495B2 (en) * 2016-10-06 2019-05-28 Analog Devices, Inc. Phase control of clock signal based on feedback
WO2018081225A1 (en) 2016-10-27 2018-05-03 Cardiac Pacemakers, Inc. Implantable medical device delivery system with integrated sensor
US10434314B2 (en) 2016-10-27 2019-10-08 Cardiac Pacemakers, Inc. Use of a separate device in managing the pace pulse energy of a cardiac pacemaker
US10463305B2 (en) 2016-10-27 2019-11-05 Cardiac Pacemakers, Inc. Multi-device cardiac resynchronization therapy with timing enhancements
US10413733B2 (en) 2016-10-27 2019-09-17 Cardiac Pacemakers, Inc. Implantable medical device with gyroscope
US10561330B2 (en) 2016-10-27 2020-02-18 Cardiac Pacemakers, Inc. Implantable medical device having a sense channel with performance adjustment
JP7038115B2 (en) 2016-10-27 2022-03-17 カーディアック ペースメイカーズ, インコーポレイテッド Implantable medical device with pressure sensor
US10434317B2 (en) 2016-10-31 2019-10-08 Cardiac Pacemakers, Inc. Systems and methods for activity level pacing
US10617874B2 (en) 2016-10-31 2020-04-14 Cardiac Pacemakers, Inc. Systems and methods for activity level pacing
WO2018089311A1 (en) 2016-11-08 2018-05-17 Cardiac Pacemakers, Inc Implantable medical device for atrial deployment
EP3538213B1 (en) 2016-11-09 2023-04-12 Cardiac Pacemakers, Inc. Systems and devices for setting cardiac pacing pulse parameters for a cardiac pacing device
US10881863B2 (en) 2016-11-21 2021-01-05 Cardiac Pacemakers, Inc. Leadless cardiac pacemaker with multimode communication
US11147979B2 (en) 2016-11-21 2021-10-19 Cardiac Pacemakers, Inc. Implantable medical device with a magnetically permeable housing and an inductive coil disposed about the housing
US10639486B2 (en) 2016-11-21 2020-05-05 Cardiac Pacemakers, Inc. Implantable medical device with recharge coil
US10894163B2 (en) 2016-11-21 2021-01-19 Cardiac Pacemakers, Inc. LCP based predictive timing for cardiac resynchronization
US10881869B2 (en) 2016-11-21 2021-01-05 Cardiac Pacemakers, Inc. Wireless re-charge of an implantable medical device
US11207532B2 (en) 2017-01-04 2021-12-28 Cardiac Pacemakers, Inc. Dynamic sensing updates using postural input in a multiple device cardiac rhythm management system
US10737102B2 (en) 2017-01-26 2020-08-11 Cardiac Pacemakers, Inc. Leadless implantable device with detachable fixation
WO2018140623A1 (en) 2017-01-26 2018-08-02 Cardiac Pacemakers, Inc. Leadless device with overmolded components
EP3573706A1 (en) 2017-01-26 2019-12-04 Cardiac Pacemakers, Inc. Intra-body device communication with redundant message transmission
US10905872B2 (en) 2017-04-03 2021-02-02 Cardiac Pacemakers, Inc. Implantable medical device with a movable electrode biased toward an extended position
US10821288B2 (en) 2017-04-03 2020-11-03 Cardiac Pacemakers, Inc. Cardiac pacemaker with pacing pulse energy adjustment based on sensed heart rate
US10918875B2 (en) 2017-08-18 2021-02-16 Cardiac Pacemakers, Inc. Implantable medical device with a flux concentrator and a receiving coil disposed about the flux concentrator
WO2019036600A1 (en) 2017-08-18 2019-02-21 Cardiac Pacemakers, Inc. Implantable medical device with pressure sensor
CN111107899B (en) 2017-09-20 2024-04-02 心脏起搏器股份公司 Implantable medical device with multiple modes of operation
US11185703B2 (en) 2017-11-07 2021-11-30 Cardiac Pacemakers, Inc. Leadless cardiac pacemaker for bundle of his pacing
US11260216B2 (en) 2017-12-01 2022-03-01 Cardiac Pacemakers, Inc. Methods and systems for detecting atrial contraction timing fiducials during ventricular filling from a ventricularly implanted leadless cardiac pacemaker
WO2019108830A1 (en) 2017-12-01 2019-06-06 Cardiac Pacemakers, Inc. Leadless cardiac pacemaker with reversionary behavior
EP3717059A1 (en) 2017-12-01 2020-10-07 Cardiac Pacemakers, Inc. Methods and systems for detecting atrial contraction timing fiducials within a search window from a ventricularly implanted leadless cardiac pacemaker
EP3717063B1 (en) 2017-12-01 2023-12-27 Cardiac Pacemakers, Inc. Systems for detecting atrial contraction timing fiducials and determining a cardiac interval from a ventricularly implanted leadless cardiac pacemaker
US11529523B2 (en) 2018-01-04 2022-12-20 Cardiac Pacemakers, Inc. Handheld bridge device for providing a communication bridge between an implanted medical device and a smartphone
US10874861B2 (en) 2018-01-04 2020-12-29 Cardiac Pacemakers, Inc. Dual chamber pacing without beat-to-beat communication
US10425124B1 (en) * 2018-03-14 2019-09-24 Pericom Semiconductor Corporation Repeaters with fast transitions from low-power standby to low-frequency signal transmission
EP3768369A1 (en) 2018-03-23 2021-01-27 Medtronic, Inc. Av synchronous vfa cardiac therapy
CN111902187A (en) 2018-03-23 2020-11-06 美敦力公司 VFA cardiac resynchronization therapy
WO2019183514A1 (en) 2018-03-23 2019-09-26 Medtronic, Inc. Vfa cardiac therapy for tachycardia
EP3856331A1 (en) 2018-09-26 2021-08-04 Medtronic, Inc. Capture in ventricle-from-atrium cardiac therapy
US10931476B2 (en) * 2018-10-29 2021-02-23 Analog Devices Global Unlimited Company Content protection over synchronous data networks
US11679265B2 (en) 2019-02-14 2023-06-20 Medtronic, Inc. Lead-in-lead systems and methods for cardiac therapy
US11697025B2 (en) 2019-03-29 2023-07-11 Medtronic, Inc. Cardiac conduction system capture
US11213676B2 (en) 2019-04-01 2022-01-04 Medtronic, Inc. Delivery systems for VfA cardiac therapy
US11712188B2 (en) 2019-05-07 2023-08-01 Medtronic, Inc. Posterior left bundle branch engagement
US11305127B2 (en) 2019-08-26 2022-04-19 Medtronic Inc. VfA delivery and implant region detection
CN112924752A (en) * 2019-12-06 2021-06-08 台达电子企业管理(上海)有限公司 Insulation impedance detection circuit and insulation impedance detection method of photovoltaic inverter system
US11617877B2 (en) 2019-12-11 2023-04-04 Medtronic, Inc. Detecting pump suction, pump thrombus, and other adverse VAD motor events
US11813466B2 (en) 2020-01-27 2023-11-14 Medtronic, Inc. Atrioventricular nodal stimulation
US11911168B2 (en) 2020-04-03 2024-02-27 Medtronic, Inc. Cardiac conduction system therapy benefit determination
US11813464B2 (en) 2020-07-31 2023-11-14 Medtronic, Inc. Cardiac conduction system evaluation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5464435A (en) * 1994-02-03 1995-11-07 Medtronic, Inc. Parallel processors in implantable medical device
US20040059396A1 (en) * 2002-09-25 2004-03-25 Reinke James D. Implantable medical device communication system
US20040122490A1 (en) * 2002-09-25 2004-06-24 Medtronic, Inc. Implantable medical device communication system with pulsed power biasing

Family Cites Families (145)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US602704A (en) * 1898-04-19 Brtrnee
US3682160A (en) 1969-10-16 1972-08-08 Matsushita Electric Ind Co Ltd Physiological signal transmitter for use inside the body
US3651454A (en) 1969-12-15 1972-03-21 Borg Warner Automotive multiplex system
US3857399A (en) 1970-03-24 1974-12-31 F Zacouto Heart pacer
US3717858A (en) 1970-08-12 1973-02-20 D Hadden Two conductor telemetering system
US3742473A (en) 1970-08-12 1973-06-26 D Hadden Pulse discriminator and telemetering systems using same
US3735396A (en) 1971-08-10 1973-05-22 Signatron Alarm signalling network
US3805795A (en) 1972-03-17 1974-04-23 Medtronic Inc Automatic cardioverting circuit
JPS493510A (en) 1972-04-21 1974-01-12
US3922490A (en) 1973-06-18 1975-11-25 Charles D Pettis Alarm and utility meter reading system employing telephone lines
US3938144A (en) 1973-11-28 1976-02-10 Johnson Service Company Digital multiplexing system remote scanning of a plurality of monitoring points
US4016480A (en) 1974-03-04 1977-04-05 Zenith Radio Corporation Dual function coupling system and method
GB1488304A (en) 1974-06-20 1977-10-12 Yukogawa Electric Works Ltd Signal transmission system
US3958558A (en) 1974-09-16 1976-05-25 Huntington Institute Of Applied Medical Research Implantable pressure transducer
DE2445337C2 (en) 1974-09-23 1986-05-15 Philips Patentverwaltung Gmbh, 2000 Hamburg Circuit arrangement for the transmission of electrical measured value signals
US4101337A (en) 1974-10-03 1978-07-18 F. L. Smidth & Co. Cement manufacture
US4127845A (en) 1975-01-10 1978-11-28 General Signal Corporation Communications system
US4063220A (en) 1975-03-31 1977-12-13 Xerox Corporation Multipoint data communication system with collision detection
US4023562A (en) 1975-09-02 1977-05-17 Case Western Reserve University Miniature pressure transducer for medical use and assembly method
US4077030A (en) 1976-02-19 1978-02-28 The Bendix Corporation Sensor data input by means of analog to pulse width-to digital converter
US4093946A (en) 1976-03-01 1978-06-06 The Laitram Corporation Two-wire, multiple-transducer communications system
GB1589748A (en) 1976-09-10 1981-05-20 Matsushita Electric Works Ltd Time division multiplex transmission system
US4137910A (en) 1976-09-30 1979-02-06 Murphy Donald H Method and means for measuring cardiac pumping performance of left ventricle
US4114606A (en) 1976-11-12 1978-09-19 The Johns Hopkins University Monitoring apparatus for resonant circuit intracranial pressure implants
DE2717659C2 (en) 1977-04-21 1985-11-14 Wirtzfeld, Alexander, Prof. Dr.med., 8195 Egling Pacemaker
FR2403695A1 (en) 1977-09-16 1979-04-13 Cii Honeywell Bull DEVICE FOR ENSURING THE POWER SUPPLY AND THE TRANSMISSION OF ELECTRIC SIGNALS BETWEEN TWO DEVICES THROUGH LOW NUMBER CONTACTS
US4227181A (en) 1977-10-12 1980-10-07 Ford Motor Company Peripheral station in an information handling system
US4265252A (en) 1978-04-19 1981-05-05 The Johns Hopkins University Intracranial pressure implant
JPS5524004A (en) 1978-06-22 1980-02-20 Minolta Camera Kk Oxymeter
US4211238A (en) 1978-06-23 1980-07-08 Del Mar Avionics Apparatus and method for recording and playing back electrocardial signals
US4311986A (en) 1978-09-13 1982-01-19 The Bendix Corporation Single line multiplexing system for sensors and actuators
US4539992A (en) 1978-12-22 1985-09-10 Intermedics, Inc. Method and apparatus for communicating with implanted body function stimulator
US4417306A (en) 1980-01-23 1983-11-22 Medtronic, Inc. Apparatus for monitoring and storing utilizing a data processor
US4360030A (en) 1980-01-23 1982-11-23 Medtronic, Inc. Apparatus for monitoring and storing a variety of heart activity signals
US4364397A (en) 1980-01-23 1982-12-21 Medtronic, Inc. Apparatus for monitoring the rhythm of a patient's heartbeat
US4407296A (en) 1980-09-12 1983-10-04 Medtronic, Inc. Integral hermetic impantable pressure transducer
DE3107128C2 (en) 1981-02-26 1984-07-05 Heinze, Roland, Dipl.-Ing., 8000 München Control circuit for adapting the stimulation frequency of a cardiac pacemaker to the load on a patient
US4432372A (en) 1981-08-28 1984-02-21 Medtronic, Inc. Two-lead power/signal multiplexed transducer
US4413250A (en) 1981-09-03 1983-11-01 Beckman Instruments, Inc. Digital communication system for remote instruments
US4422066A (en) 1981-10-08 1983-12-20 Honeywell Inc. Condition sensor interface means
NL193256C (en) 1981-11-10 1999-04-02 Cordis Europ Sensor system.
US4485813A (en) 1981-11-19 1984-12-04 Medtronic, Inc. Implantable dynamic pressure transducer system
US4467807A (en) 1981-11-23 1984-08-28 Medtronic, Inc. Rate adaptive demand pacemaker
US4494950A (en) 1982-01-19 1985-01-22 The Johns Hopkins University Plural module medication delivery system
US4535401A (en) 1982-06-30 1985-08-13 Texas Instruments Incorporated Apparatus and method for providing power from master controller to subcontrollers and data communication therebetween
US4738269A (en) * 1982-08-16 1988-04-19 Nashner Lewis M Apparatus and method for sensory integration and muscular coordination analysis
US4534025A (en) 1983-02-24 1985-08-06 United Technologies Automotive, Inc. Vehicle multiplex system having protocol/format for secure communication transactions
US4543955A (en) 1983-08-01 1985-10-01 Cordis Corporation System for controlling body implantable action device
US4538262A (en) 1983-08-03 1985-08-27 Rca Corporation Multiplex bus system for controlling the transmission of data between a master control unit and a plurality of remotely located receiver-transmitter units
US4519401A (en) 1983-09-20 1985-05-28 Case Western Reserve University Pressure telemetry implant
US4592364A (en) 1984-05-10 1986-06-03 Pinto John G Apparatus for the diagnosis of heart conditions
JPS6125525A (en) 1984-07-13 1986-02-04 住友電気工業株式会社 Patient monitor apparatus
US4802481A (en) 1984-07-19 1989-02-07 Cordis Leads, Inc. Apparatus for controlling pacing of a heart in response to changes in stroke volume
US4708143A (en) 1984-07-19 1987-11-24 Cordis Leads Inc. Method for controlling pacing of a heart in response to changes in stroke volume
US4600017A (en) 1984-07-19 1986-07-15 Cordis Corporation Pacing lead with sensor
US4628934A (en) 1984-08-07 1986-12-16 Cordis Corporation Method and means of electrode selection for pacemaker with multielectrode leads
US4566456A (en) 1984-10-18 1986-01-28 Cordis Corporation Apparatus and method for adjusting heart/pacer rate relative to right ventricular systolic pressure to obtain a required cardiac output
US4686988A (en) 1984-10-19 1987-08-18 Sholder Jason A Pacemaker system and method for measuring and monitoring cardiac activity and for determining and maintaining capture
US4860751A (en) 1985-02-04 1989-08-29 Cordis Corporation Activity sensor for pacemaker control
FR2579092B1 (en) 1985-03-22 1989-06-16 Univ Toulouse IMPLANTABLE INTRACRANIAL PRESSURE SENSOR
US4716887A (en) 1985-04-11 1988-01-05 Telectronics N.V. Apparatus and method for adjusting heart/pacer rate relative to cardiac pCO2 to obtain a required cardiac output
US4671288A (en) 1985-06-13 1987-06-09 The Regents Of The University Of California Electrochemical cell sensor for continuous short-term use in tissues and blood
US4745596A (en) 1985-07-16 1988-05-17 Honda Giken Kogyo Kabushiki Kaisha Multiplex communication system
EP0215729B1 (en) 1985-09-17 1992-12-02 BIOTRONIK Mess- und Therapiegeräte GmbH & Co Ingenieurbüro Berlin Heart stimulator
EP0225839B1 (en) 1985-09-17 1993-12-01 BIOTRONIK Mess- und Therapiegeräte GmbH & Co Ingenieurbüro Berlin Heart pacemaker
DE3688577D1 (en) 1985-09-17 1993-07-22 Biotronik Mess & Therapieg HEART PACEMAKER.
US4936304A (en) 1985-10-07 1990-06-26 Thomas Jefferson University Pacing system and method for cardiac pacing as a function of determined myocardial contractility
IL77677A (en) 1986-01-22 1990-04-29 Daniel Goor Method and apparatus for detecting mycardial ischemia
JPS62207435A (en) 1986-03-07 1987-09-11 テルモ株式会社 Catheter for measuring cardiac output
DE3786712D1 (en) 1986-06-16 1993-09-02 Siemens Ag SENSOR ARRANGEMENT FOR CONTROLLING IMPLANTABLE BODY SPARE PARTS.
SE454045B (en) 1986-08-04 1988-03-28 Radisensor Ab LEADER FOR MECHANICAL CONTROL OF A CATHETIC DURING HEART AND KERL SURGERY
US4813421A (en) 1986-08-15 1989-03-21 Medtronic, Inc. Oxygen sensing pacemaker
US4791935A (en) 1986-08-15 1988-12-20 Medtronic, Inc. Oxygen sensing pacemaker
US4807629A (en) 1986-08-15 1989-02-28 Medtronic, Inc. Oxygen sensing pacemaker
US4827933A (en) 1986-10-30 1989-05-09 Telectronics N.V. Apparatus and method for adjusting heart/pacer rate relative to cardiac pO2 obtain a required cardiac output
US5207103A (en) * 1987-06-01 1993-05-04 Wise Kensall D Ultraminiature single-crystal sensor with movable member
US5113868A (en) * 1987-06-01 1992-05-19 The Regents Of The University Of Michigan Ultraminiature pressure sensor with addressable read-out circuit
US4881410A (en) 1987-06-01 1989-11-21 The Regents Of The University Of Michigan Ultraminiature pressure sensor and method of making same
US4750495A (en) 1987-06-05 1988-06-14 Medtronic, Inc. Oxygen sensing pacemaker
US4903701A (en) 1987-06-05 1990-02-27 Medtronic, Inc. Oxygen sensing pacemaker
US4899760A (en) 1987-06-15 1990-02-13 Colin Electronics Co., Ltd. Noise rejecting detector for biomedical signals
DE3880910D1 (en) 1987-07-27 1993-06-17 Siemens Ag CATHETER FOR IMPLANTATION IN THE HEART WITH A BUILT-IN MEASURING PROBE.
US4794372A (en) 1987-08-24 1988-12-27 Fischer & Porter Co. Two-wire DC signal telemetering system
US4808994A (en) 1987-08-27 1989-02-28 Riley Robert E Logic interchange system
DE3732640C1 (en) 1987-09-28 1989-05-18 Alt Eckhard Medical device for determining physiological functional parameters
US4967748A (en) 1987-10-06 1990-11-06 Leonard Bloom O2 level responsive system for and method of treating a malfunctioning heart
US4986270A (en) 1987-10-06 1991-01-22 Leonard Bloom Hemodynamically responsive system for and method of treating a malfunctioning heart
US4984572A (en) 1988-08-18 1991-01-15 Leonard Bloom Hemodynamically responsive system for and method of treating a malfunctioning heart
US4815469A (en) 1987-10-08 1989-03-28 Siemens-Pacesetter, Inc. Implantable blood oxygen sensor and method of use
EP0444021B1 (en) * 1987-11-13 1995-01-25 BIOTRONIK Mess- und Therapiegeräte GmbH & Co Ingenieurbüro Berlin Cardiac pacemaker
US4886064A (en) 1987-11-25 1989-12-12 Siemens Aktiengesellschaft Body activity controlled heart pacer
US4926875A (en) 1988-01-25 1990-05-22 Baylor College Of Medicine Implantable and extractable biological sensor probe
US4846191A (en) 1988-05-27 1989-07-11 Data Sciences, Inc. Device for chronic measurement of internal body pressure
US5025786A (en) 1988-07-21 1991-06-25 Siegel Sharon B Intracardiac catheter and method for detecting and diagnosing myocardial ischemia
US4947854A (en) 1988-09-13 1990-08-14 Baylor College Of Medicine Epicardial multifunctional probe
DE3831809A1 (en) * 1988-09-19 1990-03-22 Funke Hermann DEVICE DETERMINED AT LEAST PARTLY IN THE LIVING BODY
US5021777A (en) 1988-10-14 1991-06-04 Transition Technology, Inc. Mode-selectable communications system
US4967755A (en) 1989-02-28 1990-11-06 Medtronic, Inc. Electromedical lead with pressure sensor
US4941472A (en) 1989-04-13 1990-07-17 Surgical Engineering Associates, Inc. Electrical access port assembly
US5040538A (en) 1989-09-05 1991-08-20 Siemens-Pacesetter, Inc. Pulsed light blood oxygen content sensor system and method of using same
US5016641A (en) 1989-11-13 1991-05-21 Advanced Technology Laboratories, Inc. Spectral interpolation of ultrasound Doppler signal
US5040536A (en) 1990-01-31 1991-08-20 Medtronic, Inc. Intravascular pressure posture detector
US5109850A (en) * 1990-02-09 1992-05-05 Massachusetts Institute Of Technology Automatic blood monitoring for medication delivery method and apparatus
CA2033765C (en) * 1990-03-08 1999-10-19 Brian D. Pederson Variation in cardiac chamber volume or pressure as a controlling parameter
US5016631A (en) 1990-03-23 1991-05-21 The Johns Hopkins University Minimum interface biomedical monitoring system
US5097831A (en) * 1990-04-16 1992-03-24 Siemens-Pacesetter, Inc. Rate-responsive pacemaker with circuitry for processing multiple sensor inputs
US5085213A (en) * 1990-06-01 1992-02-04 Leonard Bloom Hemodynamically responsive system for and method of treating a malfunctioning heart
US5087243A (en) * 1990-06-18 1992-02-11 Boaz Avitall Myocardial iontophoresis
US5275171A (en) * 1990-08-06 1994-01-04 Siemens Pacesetter, Inc. Implantable lead and sensor
DE69122015T2 (en) * 1990-09-11 1997-04-17 Ferek Petric Bozidar Cardiac electrotherapy system
US5372136A (en) * 1990-10-06 1994-12-13 Noninvasive Medical Technology Corporation System and method for noninvasive hematocrit monitoring
US5184614A (en) * 1990-10-19 1993-02-09 Telectronics Pacing Systems, Inc. Implantable haemodynamically responsive cardioverting/defibrillating pacemaker
IT1245814B (en) * 1991-05-21 1994-10-18 Sorin Biomedica Spa RATE RESPONSIVE CARDIOSTIMULATOR DEVICE
US5267564A (en) * 1991-06-14 1993-12-07 Siemens Pacesetter, Inc. Pacemaker lead for sensing a physiologic parameter of the body
US5205286A (en) * 1991-07-24 1993-04-27 Intermedics, Inc. Subcutaneous electrical data port
US5293879A (en) * 1991-09-23 1994-03-15 Vitatron Medical, B.V. System an method for detecting tremors such as those which result from parkinson's disease
ATE142520T1 (en) * 1991-11-04 1996-09-15 Cardiac Pacemakers Inc IMPLANTABLE HEART MONITORING AND STIMULATION DEVICE FOR DIAGNOSIS AND THERAPY
US5282839A (en) * 1992-12-14 1994-02-01 Medtronic, Inc. Rate responsive cardiac pacemaker and method for providing an optimized pacing rate which varies with a patient's physiologic demand
US5507737A (en) * 1993-04-22 1996-04-16 Siemens Elema Ab Apparatus for determining the volume of a bellows reservoir for medication in an implantable infusion system
US5411532A (en) * 1993-06-04 1995-05-02 Pacesetter, Inc. Cardiac pacemaker having integrated pacing lead and oxygen sensor
SE501713C2 (en) * 1993-09-06 1995-05-02 Pharmacia Biosensor Ab Diaphragm-type valve, especially for liquid handling blocks with micro-flow channels
US5394400A (en) * 1993-06-21 1995-02-28 Eaton Corporation Multiaddress remote control of vehicular accessories without microprocessors
US5628777A (en) * 1993-07-14 1997-05-13 Pacesetter, Inc. Implantable leads incorporating cardiac wall acceleration sensors and method of fabrication
US5497772A (en) * 1993-11-19 1996-03-12 Alfred E. Mann Foundation For Scientific Research Glucose monitoring system
US5488307A (en) * 1993-12-22 1996-01-30 Namco Controls Corporation Sensor interface method and apparatus
WO1995019049A1 (en) * 1994-01-06 1995-07-13 Cardiometrics, Inc. Ultrasonic transducer with selectable beamwidth and method
SE9400824D0 (en) * 1994-03-10 1994-03-10 Siemens Elema Ab Optical transmission device
US5409009A (en) * 1994-03-18 1995-04-25 Medtronic, Inc. Methods for measurement of arterial blood flow
US5518001A (en) * 1994-06-17 1996-05-21 Pacesetter, Inc. Cardiac device with patient-triggered storage of physiological sensor data
CA2198909A1 (en) * 1994-09-02 1996-03-14 Robert Z. Obara Ultra miniature pressure sensor and guidewire using the same and method
US5593430A (en) * 1995-01-27 1997-01-14 Pacesetter, Inc. Bus system for interconnecting an implantable medical device with a plurality of sensors
US5674258A (en) * 1995-03-08 1997-10-07 Medtronic, Inc. Packaged integrated accelerometer
US5911738A (en) * 1997-07-31 1999-06-15 Medtronic, Inc. High output sensor and accelerometer implantable medical device
US5725562A (en) * 1995-03-30 1998-03-10 Medtronic Inc Rate responsive cardiac pacemaker and method for discriminating stair climbing from other activities
US5722998A (en) * 1995-06-07 1998-03-03 Intermedics, Inc. Apparatus and method for the control of an implantable medical device
FR2735985B1 (en) * 1995-06-30 1997-12-19 Ela Medical Sa ACTIVE IMPLANTABLE MEDICAL DEVICE, IN PARTICULAR A CARDIAC STIMULATOR, SERVED WITH AT LEAST ONE PHYSIOLOGICAL PARAMETER
US5741211A (en) * 1995-10-26 1998-04-21 Medtronic, Inc. System and method for continuous monitoring of diabetes-related blood constituents
JP3125675B2 (en) * 1996-03-29 2001-01-22 三菱電機株式会社 Capacitive sensor interface circuit
WO1997035636A1 (en) * 1996-03-28 1997-10-02 Medtronic, Inc. Detection of pressure waves transmitted through catheter/lead body
WO1997037720A1 (en) * 1996-04-04 1997-10-16 Medtronic, Inc. Living tissue stimulation and recording techniques
US6070103A (en) * 1996-11-05 2000-05-30 Intermedics Inc. Apparatus for making direct electrical connection with an implantable medical device
US5735883A (en) * 1996-12-13 1998-04-07 Sulzer Intermedics Inc. Implantable cardiac stimulator with impedance based autothreshold
US5902326A (en) * 1997-09-03 1999-05-11 Medtronic, Inc. Optical window for implantable medical devices
US6017313A (en) * 1998-03-20 2000-01-25 Hypertension Diagnostics, Inc. Apparatus and method for blood pressure pulse waveform contour analysis
DE10053118A1 (en) * 1999-10-29 2001-05-31 Medtronic Inc Remote self-identification apparatus and method for components in medical device systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5464435A (en) * 1994-02-03 1995-11-07 Medtronic, Inc. Parallel processors in implantable medical device
US20040059396A1 (en) * 2002-09-25 2004-03-25 Reinke James D. Implantable medical device communication system
US20040122490A1 (en) * 2002-09-25 2004-06-24 Medtronic, Inc. Implantable medical device communication system with pulsed power biasing

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2316526A1 (en) * 2007-06-25 2011-05-04 Boston Scientific Neuromodulation Corporation Improved architecture for an implantable medical device system
US8649858B2 (en) 2007-06-25 2014-02-11 Boston Scientific Neuromodulation Corporation Architectures for an implantable medical device system
WO2011093916A1 (en) * 2010-01-29 2011-08-04 Medtronic, Inc. Clock synchronization in an implantable medical device system
US8396563B2 (en) 2010-01-29 2013-03-12 Medtronic, Inc. Clock synchronization in an implantable medical device system
US8504165B2 (en) 2010-01-29 2013-08-06 Medtronic, Inc. Clock synchronization in an implantable medical device system
US9061140B2 (en) 2010-10-13 2015-06-23 Boston Scientific Neuromodulation Corporation Sample and hold circuitry for monitoring voltages in an implantable neurostimulator
US8768453B2 (en) 2010-10-13 2014-07-01 Boston Scientific Neuromodulation Corporation Monitoring electrode voltages in an implantable medical device system having daisy-chained electrode-driver integrated circuits
US9095726B2 (en) 2010-10-13 2015-08-04 Boston Scientific Neuromodulation Corporation Monitoring electrode voltages in an implantable medical device system having daisy-chained electrode-driver integrated circuits
US9314638B2 (en) 2010-10-13 2016-04-19 Boston Scientific Neuromodulation Corporation Monitoring electrode voltages in an implantable medical device system having daisy-chained electrode-driver integrated circuits
US9561365B2 (en) 2010-10-13 2017-02-07 Boston Scientific Neuromodulation Corporation Sample and hold circuitry for monitoring voltages in an implantable neurostimulator
US9643016B2 (en) 2010-10-13 2017-05-09 Boston Scientific Neuromodulation Corporation Monitoring electrode voltages in an implantable medical device system having daisy-chained electrode-driver integrated circuits
US9782588B2 (en) 2010-10-13 2017-10-10 Boston Scientific Neuromodulation Corporation Sample and hold circuitry for monitoring voltages in an implantable neurostimulator
US9795793B2 (en) 2010-10-13 2017-10-24 Boston Scientific Neuromodulation Corporation Architectures for an implantable medical device system having daisy-chained electrode-driver integrated circuits
US9962551B2 (en) 2010-10-13 2018-05-08 Boston Scientific Neuromodulation Corporation Monitoring electrode voltages in an implantable medical device system having daisy-chained electrode-driver integrated circuits

Also Published As

Publication number Publication date
EP1703941A2 (en) 2006-09-27
WO2005061044A3 (en) 2007-03-08
US7139613B2 (en) 2006-11-21
EP1703941B1 (en) 2011-11-23
US20040122490A1 (en) 2004-06-24

Similar Documents

Publication Publication Date Title
EP1703941B1 (en) Implantable medical device communication system with pulsed power biasing
EP1551501B1 (en) Implantable medical device communication system
US5593430A (en) Bus system for interconnecting an implantable medical device with a plurality of sensors
US10940319B2 (en) Methods and systems for managing synchronous conducted communication for an implantable medical device
US8055345B2 (en) Self-referencing communication in implantable devices
EP2365841B1 (en) Timing coordination of implantable medical sensor modules
US8352025B2 (en) Leadless cardiac pacemaker triggered by conductive communication
US7233825B2 (en) Impedance measurement in implanted device
CN106535988A (en) Multi-chamber intracardiac pacing system
WO2006036667A1 (en) Implantable medical lead
WO2011011327A1 (en) Neuro-stimulation
JP2009521276A5 (en)
US8126555B2 (en) Bidirectional communications between a generator and sensors or actuators of a lead for an active implantable medical device
EP3389775A1 (en) Conducted communication in a medical device system
US8406891B2 (en) Telemetry double buffering and oversampling for an implantable medical device
AU2010276380B9 (en) Neuro-stimulation

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2004818017

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2004818017

Country of ref document: EP