CROSS-REFERENCE TO RELATED APPLICATIONSThis is a non-provisional filing of U.S. Patent Application Ser. No. 61/586.930, filed Jan. 16, 2012, which is incorporated herein by reference, and to which priority is claimed.
FIELD OF THE INVENTIONThe present invention relates generally to implantable medical devices, and more particularly to improved architectures for an implantable neurostimulator utilizing a plurality of electrode-driver integrated circuits.
BACKGROUND
Implantable neurostimulator devices are devices that generate and deliver electrical stimuli to body nerves and tissues for the therapy of various biological disorders, such as pacemakers to treat cardiac arrhythmia, defibrillators to treat cardiac fibrillation, cochlear stimulators to treat deafness, retinal stimulators to treat blindness, muscle stimulators to produce coordinated limb movement, spinal cord stimulators to treat chronic pain, cortical and deep brain stimulators to treat motor and psychological disorders, and other neural stimulators to treat urinary incontinence, sleep apnea, shoulder subluxation, etc.
As shown inFIGS. 1A and 1B, an Implantable Pulse Generator (IPG)100 includes abiocompatible device case30 formed of a conductive material such as titanium for example. Thecase30 typically holds the circuitry andbattery26 necessary for the IPG to function, although IPGs can also be powered via external RF energy and without a battery. The IPG100 includes one or more electrode arrays (four such arrays102-105 are shown), each containingseveral electrodes106. Theelectrodes106 are carried on a flexible body108, which also houses the individual electrode leads112-115 coupled to each electrode. In the illustrated embodiment, there are fourelectrodes106 on each of arrays102-105, although the number of arrays and electrodes is application specific and therefore can vary. Theconductive case30 can also comprise an electrode, Ec, as is useful in monopolar stimulation, which will be explained shortly. The arrays102-105 couple to the IPG100 using lead connectors38a-d,which are fixed in anon-conductive header material36, which can comprise an epoxy for example.
As shown inFIG. 1B, the IPG100 typically includes an electronic substrate assembly14 including a printed circuit board (PCB)16, along with various electronic components20, such as integrated circuits and capacitors mounted to the PCB16. Two coils (more generally, antennas) are generally present in the IPG100: atelemetry coil13 used to transmit/receive data to/from an external controller; and acharging coil18 for charging or recharging the IPG'sbattery26 using an external charger. Thetelemetry coil13 is typically mounted within theheader36 of the IPG100 as shown, and may be wrapped around aferrite core13′. However, thetelemetry coil13 may also appear inside thecase30, such as is disclosed in U.S. Patent Publication 2011/0112610. A discussion of how the IPG100 communicates with an external controller and an external charger can also be found in the '610 Publication. Further, a single coil could be used for both charging and telemetry functions, as disclosed in U.S. Patent Publication 2010/0069992.
The IPG100 illustrated inFIG. 1A is particularly (but not exclusively) useful in Deep Brain Stimulation (DBS), as might be useful in the treatment of Parkinson's disease for example. In such an application, the case is30 typically implanted in the chest or near the base of the skull, with two of the arrays (e.g.,102, and103) positioned at a desired locations within the right side of the brain, and with the other two arrays (e.g.,104 and105) positioned within the left side of the brain. These desired locations on each side can comprise the subthalamic nucleus (STN) and the pedunculopontine nucleus (PPN), such that two of the arrays (e.g.,102 and104) are positioned within the STN, while the other two (e.g.,103 and105) are positioned within the PPN.
DBS stimulation is typically monopolar, meaning that a given electrode on an array is chosen as the cathode or current sink, with the case electrode (Ec) acting as the anode or current source. Which of the electrodes on a given array will be chosen as the cathode can depend on experimentation—that is, trying of various of the electrodes on the array in succession to see which provides the best therapeutic benefit. Bipolar stimulation can also be used for DBS, in which one non-case electrode acts as the anode and another non-case electrode acts as the cathode, but for simplicity the remainder of this disclosure will focus solely on monopolar stimulation.
Studies suggest that different brain regions respond favorably when stimulated with current pulses of different frequencies. For example, stimulation of the STN provides better therapeutic results when stimulated at higher frequencies (e.g., 130-185 Hz), while stimulation of the PPN provides better therapeutic results when stimulated at lower frequencies (e.g., 25 Hz). Such pulses can generally be interleaved on the two arrays operating at the same frequency on different sides of the brain to prevent interference. For example, 130 Hz pulses provided byarrays102 and104 can be interleaved, while 25 Hz pulses provided byarrays103 and105 can similarly be interleaved.
However, such interleaving of the pulses does not address the possibility (or probability) that the pulses will overlap at the different frequencies. Consider for example,FIG. 2A, which shows monopolar stimulation of electrode E1 (array102) at a relatively high frequency (f1), and monopolar stimulation of electrode E7 (array103) at a relatively low frequency (f2). Also shown are the anodic responses of the case electrode, Ec, which as noted earlier acts as a current source for the cathodic pulses provided on electrodes E1 and E7. Notice at the left side ofFIG. 2A that the pulses overlap within the dotted-lined box.
This overlap in pulses can present a problem in the IPG100, and to understand this, the concept of a timing channel is explained. Each of the pulse trains inFIG. 2A are defined in software in the IPG100 bytiming channels176, which are shown in further detail inFIG. 2B. As shown, there are four timing channels1761-1764. Thetiming channels176 are shown as part of thestimulation circuitry175 of the IPG100, but could also reside as logic elsewhere in the IPG100, such as within itsmicrocontroller305. Eachtiming channel176 is programmed with the basic parameters needed to construct matching anodic and cathodic therapeutic pulses, such as frequency (f), pulse width (pw), amplitude (a), the affected electrodes, and polarity at each of the electrodes (whether an electrode is to act as anode (positive source of current) or a cathode (negative source of current)). Such parameters can be provided to and stored in thetiming channel176 by themicrocontroller305 via abus297, with each parameter for eachtiming channel176 having its own unique address.
As shown, timing channel1761(corresponding to array102) is used to provide the cathodic and anodic pulses respectively at electrode E1 (for example) and Ec (the case electrode) at a particular frequency (f1), pulse width (pw1), and amplitude (a1). Thus,timing channel1761passes therapeutic current pulses between electrodes Ec and E1, with Ec comprising the current source, and E1 the corresponding current sink. Timing channel1762(corresponding to array103) likewise is used to provide cathodic and anodic pulses respectively at electrode E7 (for example) and Ec, but with a different frequency (f2), and with a particular pulse width (pw2), and amplitude (a2). Assuming the type of DBS application described earlier,timing channels1761and1762will stimulate different regions on one (e.g., right) side of the brain.
Theother timing channels1763and1764(corresponding toarrays104 and105 respectively) provide pulses of the same frequencies f1 and f2 to electrodes at the other (e.g., left) side of the brain. However, as alluded to earlier, the pulses in thesetiming channels1763and1764can be interleaved with the pulses of the same frequencies intiming channels1761and1762, and are denoted fx(180°) to designate that fact. Because interleaving pulses of the same frequency prevents overlaps, a particular concern of this disclosure, such interleaved pulses (i.e.,timing channels1763and1764) are largely ignored for simplicity in subsequent discussion.
The information from thetiming channels176 is provided to Digital-to Analog Converter82 in the IPG100, which comprises a programmablecurrent source83 and a programmablecurrent sink84′. Because thecurrent source83 andcurrent sink84′ are typically made from P-channel and N-channel devices respectively, they are often referred to as a PDAC and an NDAC to differentiate them. ThePDAC83 sources a current of the amplitude, pulse width, and frequency specified by thetiming channel176, while PDAC84 provides a matching current sink. Aswitch matrix85 can then be used to route the anodic pulses from thePDAC82 and the cathodic pulses from theNDAC84 to the electrodes specified in thetiming channel176 issuing the pulse.
As discussed previously with respect toFIG. 2A, when different timing channels are used to define therapeutic pulses of different frequencies, the pulses can overlaps in time. Such overlap was of concern in the prior art, because the PDAC83 and NDAC84 could not source and sink two different currents at the same time. This problem suggested two different solutions, neither of which are optimal.
First, arbitration logic306 (FIG. 2B) could be employed to prevent overlaps from occurring, thus ensuring that the PDAC83 and NDAC84 were not called on to produce two different pulses at the same time. (Although shown as appearing in thestimulation circuitry175, thearbitration logic306 could appear in themicrocontroller305 as well).Such arbitration logic306 would identify overlaps, and would tellcertain timing channels176 to hold on issuing pulse information to theDAC82 to resolve the conflict. However, this scheme affects the otherwise desired frequency of the pulses. For example, and as shown inFIG. 2A, thearbitration logic306 has operated to shift the pulses provided by timingchannel1762to alleviate the overlap with the pulses intiming channel1761. As such, the frequency of the pulses intiming channel1762are no longer ideal, and depending on how frequently such overlaps occur, the overall effect of arbitration can significantly vary the frequency of the pulses in this timing channel from their desired value of f2. Unfortunately, the variation of the frequency in this timing channel can reduce the effectiveness of the therapy at the affected region in the brain (i.e., at array103).
A second solution is to provide the patient with twoindependent IPGs100, as shown inFIG. 2C, with one IPG (1001) providing stimulation at the first frequency (f1) to desired regions of the brain (e.g., the STNs viaarrays102 and104), and the other IPG (1002) providing stimulation at the second frequency to the other regions of the brain (e.g., the PPNs viaarrays103 and105). EachIPG100 can be independently programmed, and because each has itsown PDAC83 andNDAC84 there is no concern about the different frequencies double-scheduling such circuits. The obvious drawback to this approach is the requirement of implanting twoIPGs100 in the patient to provide full therapeutic coverage to all desired brain regions. TwoIPGs100 clearly doubles the cost, doubles patient discomfort, and generally overly complicates therapy for the patient.
A better solution is therefore needed to the aforementioned problems, and is provided by this disclosure.
BRIEF DESCRIPTION OF THE DRAWINGSFIGS. 1A-1B show an implantable pulse generator (IPG), and the electrode arrays coupled to the IPG in accordance with the prior art.
FIG. 2A-2C illustrates aspects of the circuitry of the prior art IPG, and illustrates problems and prior art solutions with respect to overlapping pulses of differing frequencies.
FIG. 3A-3D illustrate circuitry and architecture of an improved IPG having two electrode driver ICs in which the electrode outputs are shorted together.
FIG. 4 illustrates an optional BGA package for housing the two electrode driver ICs of the improved IPG.
FIGS. 5A and 5B illustrate how the improved IPG operates to provide pulses of differing frequencies despite overlaps in the pulses.
FIGS. 6A and 6B illustrate circuitry and an algorithm for setting a compliance voltage for the DACs in the improved IPG.
DETAILED DESCRIPTIONDisclosed is a new architecture for an IPG having a master and slave electrode driver integrated circuits (ICs or chips). Uniquely, the electrode outputs on the integrated circuits are wired together. Each integrated circuit can be programmed to provide pulses with different frequencies, as is useful in DBS for example. Active timing channels in each of the master and slave integrated circuits are programmed to provide the desired pulses, while shadow timing channels in the master and slave are programmed at least with the timing data from the active timing channels in the other integrated circuit so that each chip knows when the other is providing a pulse. In this way, each chip can disable its recovery circuitry so as not to defeat those pulses. Arbitration is turned off, so that each chip can provide its pulses at the desired frequency and without rescheduling. In the event of pulse overlap at a given electrode, the currents provided by each chip will add at the affected electrode. Compliance voltage generation for the provision of the pulses is dictated by an algorithm, which seeks to find an optimal compliance voltage for outputting the pulses even during periods when pulses are overlapping.
Theimproved architecture290 for an IPG is shown first inFIG. 3A. Thearchitecture290 comprises twoelectrode driver ICs300 and300′. One of theICs300 acts as a master, while the other300′ acts as a slave. BothICs300 and300′ are connected to acentralized bus297, upon which communications occur according to a protocol. The signals on thebus297 are shown inFIG. 3D. Thebus297 comprises time-multiplexed address and data signals (A/Dx); an address latch enable signal (ALE); an active-low write enable signal (*W/E), and an active-low read enable signal (*R/E). These signals allow the protocol to operate using an address-before-data scheme in which an address is followed by pertinent data for that address. To discern between address and data, an address latch enable signal (ALE) is active only upon the issuance of an address, which allows the address to be latched upon the falling edge of the clock. Whether the data corresponding to a particular address is to be written or read on the next falling clock edge depends on the assertion of the write and read enable signals (*W/E; *R/E). Also included inbus297 are control signals for selecting either of the two chips: CS_m, which comprises a chip select for themaster300, and CS_s, which comprises a chip select for theslave300′. Using CS_m and CS_s to differentiate between the twoICs300 and300′ is necessary, because similar circuit blocks in themaster300 andslave300′ ICs can share the same addresses.
Referring again toFIG. 3A, amicrocontroller305 is also connected to thebus297, which provides for control of functions in thesystem290 not handled by various circuit blocks in theICs300 and300′, and otherwise generally acts as the system's master controller. For example,bus297 communications are ultimately controlled by themicrocontroller305, which issues the bus control signals discussed previously (e.g., ALE, W/E*, R/E*, CS_m and CS_s).Microcontroller305 also controls the issuance of clocks needed for communications on thebus297 and for internal operations in each of theICs300 and300′, as explained in U.S. patent application Ser. No. 13/253,552, filed Oct. 5, 2011. Themicrocontroller305 can also schedule when the IPG is to listen for telemetry from an external controller for example.Microcontroller305 connects to a memory (Flash EPROM)chip307 in thesystem290, which can hold the operating software for the system, and which can also act as a free space to log data in the system, e.g., data to be reported to the external controller for analysis and/or feedback to the patient.
In the example shown, each of theICs300 and300′ are fabricated identically, even though they are destined to act as either the master or slave in thesystem290. Fabricating only a single electrode-driver IC is a great convenience, as the manufacturer does not have to differently fabricate, track, and test separate master and slave ICs for thesystem290. Whether any given IC operates as a master or slave depends on how it is connected to the remainder of thesystem290, i.e., such chips are bond programmable. As shown inFIG. 3A, each IC has an input, M/S, with the voltage at this input informing each IC whether it is acting as themaster300 or as theslave300′. This can be accomplished by connecting the M/S input to a particular node on the IPG's PCB, such as Vbat, the voltage of thebattery26 in the IPG, in the case of themaster300, or ground (GND) in the case of theslave300′. When a given IC understands that it is operating as a slave, it deactivates certain of its circuit blocks, as will be explained later.
EachIC300 or300′ contains, in this example,16 electrode outputs, E1-E16, which, like the prior art, are ultimately coupled to theelectrodes106 on arrays102-105 (FIG. 1A), and one case electrode output, Ec, which is ultimately coupled to theconductive case30 of the IPG. Such coupling can occur via decoupling capacitors C1-C16 and Cc (FIG. 3C), which improve safety by preventing direct DC current injection to the patient, as is well known. Generally, such decoupling capacitors don't affect stimulation performance. A large 1 M-ohm resistor R can be placed in parallel with the decoupling capacitor for the case, Cc, as shown inFIG. 3A, to allow a small amount of leakage to ensure that the IPG electronics will not float far from the potential of the patient's tissue.
Unique tosystem290, each of the electrode outputs of the master andslave ICs300 and300′ are shorted together off chip, e.g., on the PCB16 (FIG. 1B) of the IPG or by wire bonding as will be discussed subsequently in the alternative packaging configuration ofFIG. 4. As such, in thisarchitecture290, even though32 electrodes outputs (34 including the case30) are provided by theICs300 and300′, they together will support activation of only16 electrodes on the IPG (17 including the case30).
FIG. 3B shows the circuit blocks in either of theidentical master300 orslave300′ ICs. Each circuit block includesbus interface circuitry215 adherent with the protocol discussed earlier, and each is associated with an address (or a range of addresses) to organize communications on thebus297.
Each of the circuit blocks performs standard functions in an IPG, and are discussed further in the '552 application referenced above.Telemetry block62 couples to the IPG telemetry coil13 (FIG. 1B), and includes transceiver circuitry for communicating with an external controller. The charging/protection block64 couples to the IPG charging coil18 (FIG. 1B), and contains circuitry for rectifying power received from an external charger, and for chargingbattery26 in a controlled fashion.
Stimulation circuit block175, introduced earlier in the Background, is coupled to the electrode outputs, and includes timing channels andDAC circuitry82 for defining and outputting pulses of a specified therapy. How this occurs will be discussed subsequently with reference toFIGS. 5A and 5B.
Sample and hold circuitry block310 contains circuitry for sampling and holding various analog voltages provided by ananalog bus192, including the electrode voltages, the battery voltage, and other analog signals of interest, and is explained in detail in U.S. patent application Ser. No. 13/237,172, filed Sep. 20, 2011. Once sample and holdblock310 has operated to resolve a particular voltage, it can be sent to the A/D block74, where it is digitized and disseminated via thecommunication bus297 to wherever in thesystem290 it is needed for analysis. Signals IN1, IN2, OUT1 and OUT2 can be used to route various analog signals between the twoICs300 and300′, as explained in U.S. patent application Ser. No. 13/237,531, filed Sep. 20, 2011. Note that because it handles both analog and digital signals,IC300 comprises a mixed mode chip.
V+ generator block320 generates a compliance voltage, V+, which is used by the current sources (DAC82) in thestimulation circuitry block175. It does so by voltage boosting the battery voltage, Vbat, to an appropriate V+ voltage used to power the current sources (i.e., DACs82) to an optimal level. This optimal level for V+ can be deduced in part by monitoring the electrode voltages during stimulation, as will be discussed subsequently with reference toFIGS. 6A and 6B.
Clock generator330 generates the communications clocks used by the communications protocol on thebus297. While themaster IC300 can derive and provide a clock to theslave IC300′ at its clock input, CLKIN (FIG. 3A), as explained in detail in the '552 Application, simpler clocking mechanisms could also be used. For example, a system clock could be provided to the clock inputs, CLKIN, of bothICs300 and300′.
Master/slave controller350 receives the hardwired M/S input mentioned earlier, and interprets that input to inform the IC whether it is operating and a slave or master, and this is illustrated further inFIG. 3C. InFIG. 3C, the master andslave300 and300′ are shown as connected with corresponding circuit blocks in theslave IC300′ denoted by a prime symbol. In theslave IC300′ the master/slave controller350′ interprets the grounded input, and informs certain other circuit blocks that they are to be disabled in favor of use of those same circuit blocks in themaster IC300. Specifically, the charging/protection block64′,telemetry block62′ A/D block74′, sample and holdblock310′,V+ generator320′, andserial interface block167 are all disabled in theslave IC300′, and are shown in dotted lines to illustrate that fact. Disabling of each of these circuit blocks can occur in accordance with the state machines operating at each block upon receipt of information from the master/slave controller350, and such disabling can be affected by disabling the bus drivers and bus receivers operating in theinterface circuitry215 in the affected blocks (FIG. 3B). Still operative in theslave IC300′ are thestimulation circuitry block175′ coupled to the electrodes, and the master/slave controller350′ itself, and other blocks of lesser importance.
Referring again toFIG. 3B, interruptcontroller block173 receives various interrupts from other circuit blocks, which can be sent viabus297 to themicrocontroller305.
The master andslave ICs300 and300′ insystem290 could each be individually packaged and connected to the IPG's PCB16 (FIG. 1B), with appropriate connections between them (such as the connected electrode outputs) being made on the PCB itself.FIG. 4 though shows another way to accommodate bothICs300 and300′ in one Ball Grid Array (BGA)package400. As shown, one of the ICs (master IC300 as shown) can be attached to aninterposer402 by a die attachmaterial406. The surface of theinterposer402 containscontacts404, which connect through theinterposer402 toballs410 on the bottom of the substrate. Ultimately theseballs410 can be surface mounted to the IPG's PCB16, as is well known. The other IC (slave IC300′ as shown) is then vertically stacked on top and separated from the bottom IC by aseparator408. Theseparator408 is sized so that thebond pads301 of the bottom IC remain exposed, and, like thebond pads301′ on the top IC, can be wire bonded411 to thecontacts404 on theinterposer402. Thus, nodes common to both ICs—like the electrode outputs—can be shorted within theBGA package400 at thecontacts404. Other inputs or outputs on the ICs requiring unique connections—like the M/S inputs—would not be shorted, and instead theappropriate bond pads301 or301′ would be individually wirebonded to anappropriate contact404 on theinterposer402, or would not wirebonded at all if no connection is required. Once wirebonded, the assembly can be encapsulated412 using a cap or mold-injected plastic to complete manufacture of theBGA package400.
Packaging of the master andslave ICs300 and300′ in asingle BGA package400 is advantageous because it reduces size and cost, improves reliability, and because it can fit within existing single-IC packages. In other words,BGA package400 does not increase the “footprint” of the electrode driver circuitry on the IPG's PCB16 compared to the use of one IC alone, and thus theBGA package400 can be used as a “drop in” component in legacy IPGs that might have used only a single electrode driver IC. This allows such legacy IPGs to benefit from the improved functionality ofarchitecture290, which improvements are now discussed.
FIG. 5A shows thestimulation circuitry175 and175′ of both the master andslave ICs300 and300′. As before (FIG. 2B), both ICs contain four timingchannels176, each for controlling a particular array102-105 (FIG. 1A) implanted at a particular region of the brain. As before, the timingchannels176 define anodic and cathodic pulses, and in each IC these pulses are of a different frequency, as is desirable for DBS. Specifically,active timing channel1761in themaster IC300 is used to provide therapeutic pulses toarray102 at the right side of the brain, e.g., between Ec and E1, at frequency f1, pulse width pw1, and amplitude al to stay with the same example discussed in the background. Likewise,active timing channel1762′ in theslave IC300′ provides therapeutic pulses toarray103 at the right side of the brain, e.g., between Ec and E7, at frequency f2, pulse width pw2, and amplitude a2.
The pulses produced by programming the timing channels in this way are shown inFIG. 5B, and aspects of that Figure are discussed in the following paragraphs. Notice that the cathodic pulses are issued at electrodes E1 and E7 at the desired frequencies (f1 and f2 respectively) without delays or rescheduling. Thus, in distinction to the prior art, desired therapy at set different frequencies is achieved without arbitration and using a single IPG, which is particularly useful in DBS therapy. The case electrode Ec common to both timingchannels1761and1762′ reflects the anodic superposition of the cathodic pulses at E1 and E7, which is discussed further below.
Other non-active timing channels in each ofICs300 and300′ are referred to as shadow timing channels, and are shown in dotted lines inFIG. 5A to denote that fact. These shadow timing channels are programmed with the timing information of the active timing channels in the other IC. Thus,shadow timing channel1762in themaster IC300 is programmed with the same frequency (f2) and pulse width (pw2) as theactive timing channels1762′ in theslave IC300′. Likewise,shadow timing channel1761′ in theslave IC300′ is programmed with the same frequency (f1) and pulse width (pw1) as theactive timing channel1761in themaster IC300. As such, each IC knows when the other IC is scheduled to issue pulses.
It is not necessary in this example however that each IC knows the amplitude of the other IC's pulses, nor the electrodes that will receive those pulses, although such additional information can be programmed into the timingchannels176 if desirable or useful. Thus, it can be seen inFIG. 5A that the amplitudes in theshadow timing channels1762and1761′ are set to zero (or to don't care values), and that the electrodes stimulated in the other IC are not reported (or again, set to don't care values). Programming of the timingchannels176 and176′ as before can occur via thebus297, with signals CS_m and CS_s (FIG. 3D) allowing the timing channels at each of theICs300 and300′ to be separately addressed.
Also shown inFIG. 5A are theactive timing channels1763and1764′ for providing interleaved pulses to the other side of the brain (i.e., toarrays104 and105 on the left side), and their respectiveshadow timing channels1763′ and1764. Similar tochannels1763and1764as discussed in the Background, the pulses provided by theseactive timing channels1763and1764′ are interleaved with the pulses of the same frequencies in timingchannels1761and1762′, and are denoted fx(180°) to designate that fact. Because interleaving pulses of the same frequency prevents overlaps, a particular concern of this disclosure, such interleaved pulses (i.e., timingchannels1763,1764,1763′,1764′) are largely ignored for simplicity in subsequent discussion. While useful in an actual DBS application, timingchannels1763,1764,1763′,1764′ are not required in all useful embodiments of anIPG employing architecture290.
It is important that each IC understand the pulse timing of the other IC for practical reasons, including charge recovery. Charge recovery is well known in the IPG art, but is briefly explained. It is desirable in IPG technology that charge not build up in the tissue being stimulated, and as such it is desired that current injected from a given anode be entirely received at given an cathode. However, perfect charge recovery is difficult to achieve given the use of decoupling capacitors C1-C16 and Cc, and other capacitances that may be inherent in the tissue being stimulated.
Therefore, after each pulse, the IPG preferably performs charge recovery for a duration before the issuance of a next pulse. These charge recovery periods are shown inFIG. 5B as “r1” foractive timing channel1761in master IC300 (which stimulates El), and “r2” foractive timing channel1762′ in theslave IC300′ (which stimulates E7). During these charge recovery periods, capacitances between the electrodes are shorted together to drain any remaining charge, which is accomplished by charge recovery switches86 and86′ shown inFIG. 5A. (These recovery switches86 and86′ are shown intermixed with the switchingmatrix85 and85′ used to route the currents provided by thePDAC83 andNDAC84 to any desired electrode). As shown, the recovery switches86 and86′ short each of the electrodes to thebattery26 voltage, Vbat, which effectively shorts the electrodes to each other, and thus shorts capacitances between them to recover any remaining charge. Shorting to Vbat is desired to prevent any electrode from going above the compliance voltage (V+) or below ground (GND). However, the recovery switches could short the electrodes to any desired potential in the IPG.
The shadow timing channels in each of the ICs assist with ensuring that charge recovery at one of theICs300 or300′ does not adversely affect the issuance of pulses at the other of the ICs. Specifically, because the shadow timing channels inform each IC when the other IC is issuing pulses, each IC can suspend charge recovery by opening its recovery switches. Suspending charge recovery in this fashion can be seen at the artifacts X and X′ inFIG. 5B. Artifacts X at electrode E1 (stimulated by the master IC300) occur when E7 (stimulated by theslave IC300′) is issuing a pulse (pertiming channel1762′). Thus, themaster IC300 has opened its recovery switches86 during X to prevent pulses issued at electrodes E7/Ec by theslave IC300′ from being shorted to Vbat. Likewise, artifacts X′ at electrode E7 (stimulated by theslave IC300′) occur when E1 (stimulated by the master IC300) is issuing a pulse (per timing channel1761). Thus, theslave IC300 has opened its recovery switches86′ during X′ to prevent pulses issued at electrodes El/Ec by themaster IC300′ from being shorted to Vbat. If no recovery period is currently underway at one IC while the other is issuing pulses, the recovery switches at the one IC would be opened anyway, and thus the risk of shorting the other IC's pulses is moot.
Also noted earlier, the case electrode Ec inFIG. 5B reflects the anodic superposition of the cathodic pulses at E1 and E7. Thus, where anodic pulses from Ec in the two active timing channels on the master IC (1761) and the slave IC (1762′) overlap, their currents are added (a1+a2). Two such incidents of overlap are shown inFIG. 5B, with the left most showing a complete overlap, and the right most showing a partial overlap. This results in an occasional pulse which is not otherwise not therapeutically called for; no timing channel is called upon to supply a pulse of amplitude a1+a2 for example. However, it is not believed that this occasional superposition of currents will negatively affect therapy. Moreover, it is believed that such deviation from specified therapy is overshadowed by the more significant benefit of constant dual frequency pulses in a single IPG.
A remaining consideration to understand in theimproved architecture290 relates to setting of the compliance voltage, V+, which is discussed with reference toFIG. 6A and 6B. The compliance voltage V+ comprises the power supply voltage used by the DAC circuitry that issues the pulses. As noted earlier, the compliance voltage is generated byV+ generator320 in themaster IC300, and is sent to theDAC circuitry82 in themaster IC300, and to theDAC circuitry82′ in theslave IC300′ via an interconnect between the two ICs (seeFIG. 3C). V+ is generated by boosting the battery voltage, Vbat, and it is desired that V+ be set to an optimal level: if too low, the electrodes will not be able to issue pulses of the desired amplitudes; if too high, battery power is unnecessarily wasted. See U.S. Pat. No. 7,444,181, discussing this issue in further detail.
In the improved system, V+ is set using analgorithm500, which is programmed into themicrocontroller305. By way of introduction, the goal ofV+ algorithm500 is to set V+ at a level sufficient to handle the worst case during when the issued pulses will need the most power. In the disclosed example, such worst case will occur when the pulses are overlapping in time, such as occurred in the dotted-lined boxes ofFIG. 5B. During such periods of overlap, both of thePDACs83 and83′ and theDACs84 and84′ in the master andslave ICs300 and300′ will be operating. If V+ is set to handle this worst case scenario, it should be high enough (in fact, from an efficiency standpoint, too high) to handle less power-intensive periods when pulses are not overlapping at the two ICs.
FIG. 6A shows the circuitry that is implicated in bothICs300 and300′ in assessing and setting V+ according to thealgorithm500. Not already discussed in detail, but shown inFIG. 6A, is sample and holdcircuitry310 and an A/D converter block74. Such circuitry is inactive in theslave IC300, as previously noted. The electrode voltages, and certain reference potentials, are received by the sample and holdblock310, where they can be stabilized and subtracted. Details of the sample and holdcircuitry310 can be found in U.S. patent application Ser. No. 13/237,172, filed Sep. 20, 2011. This application is incorporated herein by reference, and thus is not discussed in full detail.
As important here, the sample and hold block310 measures Vp, the voltage drop across thePDACs83 and83′, and Vn, the voltage drop across theNDAC82 and82′. (Voltage drops across theswitch matrices85 and85′ are also included in these measurements, but are relatively small). During operation of theV+ algorithm500, these parameters Vp and Vn are measured at the affected electrodes during the issuance of pulses from either the master orslave IC300 or300′. The shadow timing channels in the master IC300 (FIG. 5A;1762and1764) are once again useful in this regard, because they inform the sample and holdcircuitry310 in themaster IC300 of the timing of the pulses in theslave IC300′, which would otherwise be unknown to the master. In short, the timingchannels176 inform the sample and holdcircuitry310 when pulses are being issued, and thus when the Vp and Vn measurements should be made. The sample and holdcircuitry310 further comprises a multiplexer (mux) for choosing the appropriate electrode and reference voltages, as disclosed in the above-incorporated '172 Application.
For example, when a cathodic pulse is being issued at E1, E1 and ground (GND) would be selected by the mux in the sample and holdcircuitry310 and subtracted to determine Vn. By contrast, the corresponding anode Ec and V+ would be selected and subtracted to determine Vp. Which electrodes are being stimulated, and are thus chosen by the sample and holdcircuitry310, can be determined viabus297, and read from either the timing channels176 (if programmed for the slave) or directly from themicrocontroller305. Once measured, the Vp and Vn voltages are digitized by A/D block74, and sent viabus297 to themicrocontroller305 where they can be considered by theV+ algorithm500.
Note that the particular implementation of the sample and holdcircuitry310 incorporated herein cannot measure Vp and Vn at the same time. Thus, sample and holdcircuitry310 might sequentially measure Vp for Ec (but not Vn for E1); then Vn for E7 (but not Vp for Ec); then Vn for E1 (but not Vp for Ec); etc. In short, it is not important toV+ algorithm500 to measure every single pulse, or to measure anodic and cathodic pulses concurrently, although this is possible in different implementations.
What is important is to make sure that the worst case scenario, typically overlapping, is adequately measured. As such, both Vp and Vn must at least occasionally be measured during periods of overlap to assess whether the compliance voltage V+ is inadequate and must be raised, or sufficient but capable of being lowered to save power.
FIG. 6B describes onealgorithm500 for setting V+ to an optimal level in theimproved system290. The algorithm can start (501) at any time the IPG is operating and providing pulses, but in one example starts when therapy setting have been adjusted in some fashion. This can occur, for example, when the patient or clinician has used an external controller to change the frequencies, durations, or amplitudes of the pulses, or has chosen new electrodes for stimulation.
Once therapy has been adjusted and the algorithm starts, V+ can be set to a maximum voltage by the V+ generator320 (502). This may be a value or about 18V or so. As will be seen, the goal in subsequent steps will generally be to lower V+ from this maximum voltage to a voltage that is closer to a threshold where V+ is too low to provide adequate power.
With V+ set to its maximum, therapy proceeds as programmed, and Vp and Vn are measured on active electrodes as discussed above, and for a time period that guarantees that these measurements will measure at least several overlaps (504). This time period can be determined by theV+ algorithm500 by reviewing the frequencies (f1, f2) and pulse widths (pw1; pw2) programmed into the timingchannels176. From these parameters, it is not difficult for thealgorithm500 to compute a reasonable set time period for use instep504. For example, if f1 equals 100 Hz, and f2 equals 40 Hz, and assuming pulse widths of 2 ms, the pulses (if started simultaneously) would overlap at 50 ms intervals, or 20 times a second. This means, at best, that Vp and Vn (which can't be measured simultaneously) could each be measured during periods ofoverlap 10 times per second. Assume, asalgorithm500 might to allow for error, the possibility of only partial overlaps, or simply to guardband the process, that only one of these 10measurements per second will actually be captured, i.e., that one Vp and Vn measurement per second will capture an overlap. This would mean that during a 30 second period that 30 Vp and Vn measurements will capture an overlap. This would be a sufficient number of Vp and Vn measurements under these facts, and hence30 seconds could comprise the set time period atstep504. In fact, many more Vp and Vn measurements (including those not taken during periods of overlap) would be captured and logged at themicrocontroller305 foralgorithm500 review during this this time period. If necessary, and to reduce harmonics between the frequencies, thealgorithm500 could stagger the beginning of the pulses at different times during this set time period to randomize the measurements and improve the probably of overlap capture.
Once the Vp and Vn measurements have been taken over the set time period, thealgorithm500 can review all of the Vp and Vn measurements during that time period (which would include both overlapping and non-overlapping measurements) and assess whether they always exceed particular threshold, i.e., Vpt and Vnt (506). These thresholds Vpt and Vnt can be chosen based upon the circuitry used in thePDACs83 and83′ and the NDACs84 and84′. For example, if the DACs comprise current mirrors as is typical, see U.S. Pat. No. 7,444,181, it would be known that the P-channel output transistors in the PDACs and the N-channel transistors in the NDACs would be in saturation—and thus providing a proper amount of current—if Vp and Vn exceed 1.5V and 1.2V respectively. In other words, Vpt=1.5V, Vnt=1.2V, and the assessment atstep506 can proceed on that basis. Note that the determination atstep506 would likely be governed by the Vp and Vn measurements taken during the overlap periods, when such parameters would likely be at their lowest values due to the additional loading of V+ that overlapping provides.
Assuming that all Vp measurements exceed 1.5V, and all Vn measurements exceed 1.2V, theV+ algorithm500 can conclude that V+ can possibly be lowered. This occurs at step508, where V+ might be reduced from its maximum by some set amount, e.g., 1V, to 17V.
The Vp and Vn measurement process atstep504 can thus begin again at this new, reduced compliance voltage, and once again for the set time period determined earlier. Again, the Vp and Vn over this new time period can be assessed (506), and such measurements should generally be lower than occurred in the previous time period when V+ was higher.
Eventually, as V+ continues dropping, the measured Vp or Vn values will start to drop below their thresholds Vpt or Vnt, and again the first values to so fall would likely be those occurring during overlaps. This indicates that the compliance voltage V+ is now too low to provide the currents required, or at least (depending of the guardband built into the thresholds) that V+ is approaching this point. The process proceeds to step510, where V+ is increased by some amount, e.g., 10% (510), and is set (512). Increasing V+ at thisstep510 is desired to ensure that V+ is sufficiently high, and to mitigate concerns that conditions might change (e.g., electrode array movement, tissue changes, etc.) such that higher V+ values might be needed in the future for the particular therapy settings. If therapy settings are once again changed (501), thealgorithm500 can repeat to set a new value for V+.
While it is important to setting the compliance voltage to assess both overlapping and non-overlapping periods, the worst case scenario will not always occur during periods of overlap. This would be especially true if during an overlap a particular electrode is being called upon to act as both an anode and a cathode. For example, if Ec is programmed as the cathode and E1 as the anode in the master IC, but Ec is programmed as the anode and E7 as the cathode in the slave IC, overlapping of pulses would cause Ec to both source and sink current, and hence the amplitude of the current at that node would be subtracted (i.e., the addition of a positive and negative current). This could mean that power requirements during overlap would be less than when either IC issues pulses without overlap, and thus the worst case demanding the highest V+ would occur during periods of no overlap. In any event, because theV+ algorithm500 monitors both overlapping and non-overlapping cases, the worst case scenario will be assessed and V+ set accordingly.
Although largely ignored for simplicity to this point, the timing channels used to define the interleaved pulses at the other side of the brain (1763,1764,1763′,1764′ inFIG. 5A) also require due consideration in an actual implementation in light of the concepts discussed herein. Thus, recovery switches86 in themaster IC300 should be opened when either ofactive timing channels1762′ or1764′ are issuing pulses in theslave IC300′ so as not to short those pulses to Vbat. Likewise, recovery switches86′ in theslave IC300′ should be opened when either ofactive timing channels1761or1763are issuing pulses in themaster IC300. Similarly, during operation of theV+ algorithm500, Vp and Vn measurements should be taken during overlapping and non-overlapping pulses issued byactive timing channels1763and1764′.
Although this disclosure has focused on a particular implementation of an IPG directed to providing DBS therapy at two different frequencies, it should not be understood as limited thereto. Many variations are possible. For example, the disclosed circuitry can support the issuance of cathodic and anodic pulses on any of the electrodes, and the case electrode need not act as the anode or, in bipolar simulation cases, need not even be used. Moreover, the disclosed circuitry can support the issuance of biphasic pulses, in which an anodic pulse at a particular electrode is followed by a cathodic pulse and vice versa. Moreover, while the disclosed dual-electrode driver IC system is particularly useful in issuing pulses of a first frequency from one of the ICs and pulses of another frequency from another IC, it need not be so limited. Both ICs can issue pulses of the same frequency, or can even issue aperiodic or random pulses depending on how it is programmed. The timing channels do not need to be dedicated to particular arrays, particular electrodes, or regions of the tissue being stimulated. Also, the disclosed approach is expandable to accompanying even further numbers of electrode driver ICs. For example, three or more IC could be used, with their electrode outputs shorted together, thus providing the ability to provide overlapping pulses of three or more different frequencies. Finally, the disclosed architecture need not be limited to DBS therapy, and can be applied to stimulation for a wide variety of therapies, such as those mentioned earlier.
Although disclosed as implemented in separate integrated circuits, the disclosed circuitry and methods can be employed in a single integrated circuit comprising bothstimulation circuits175 and175′, or can be employed with discrete circuits.
Although particular embodiments of the present invention have been shown and described, it should be understood that the above discussion is not intended to limit the present invention to these embodiments. It will be obvious to those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the present invention. Thus, the present invention is intended to cover alternatives, modifications, and equivalents that may fall within the spirit and scope of the present invention as defined by the claims.