The 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.
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 in
As shown in
The IPG 100 illustrated in
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 by arrays 102 and 104 can be interleaved, while 25 Hz pulses provided by arrays 103 and 105 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,
This overlap in pulses can present a problem in the IPG 100, and to understand this, the concept of a timing channel is explained. Each of the pulse trains in
As shown, timing channel 1761 (corresponding to array 102) 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 channel 1761 passes therapeutic current pulses between electrodes Ec and E1, with Ec comprising the current source, and E1 the corresponding current sink. Timing channel 1762 (corresponding to array 103) 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 channels 1761 and 1762 will stimulate different regions on one (e.g., right) side of the brain.
The other timing channels 1763 and 1764 (corresponding to arrays 104 and 105 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 these timing channels 1763 and 1764 can be interleaved with the pulses of the same frequencies in timing channels 1761 and 1762, 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 channels 1763 and 1764) are largely ignored for simplicity in subsequent discussion.
The information from the timing channels 176 is provided to Digital-to Analog Converter 82 in the IPG 100, which comprises a programmable current source 83 and a programmable current sink 84′. Because the current source 83 and current sink 84′ 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. The PDAC 83 sources a current of the amplitude, pulse width, and frequency specified by the timing channel 176, while PDAC 84 provides a matching current sink. A switch matrix 85 can then be used to route the anodic pulses from the PDAC 82 and the cathodic pulses from the NDAC 84 to the electrodes specified in the timing channel 176 issuing the pulse.
As discussed previously with respect to
First, arbitration logic 306 (
A second solution is to provide the patient with two independent IPGs 100, as shown in
A better solution is therefore needed to the aforementioned problems, and is provided by this disclosure.
Disclosed 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.
The improved architecture 290 for an IPG is shown first in
Referring again to
In the example shown, each of the ICs 300 and 300′ are fabricated identically, even though they are destined to act as either the master or slave in the system 290. 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 the system 290. Whether any given IC operates as a master or slave depends on how it is connected to the remainder of the system 290, i.e., such chips are bond programmable. As shown in
Each IC 300 or 300′ contains, in this example, 16 electrode outputs, E1-E16, which, like the prior art, are ultimately coupled to the electrodes 106 on arrays 102-105 (
Unique to system 290, each of the electrode outputs of the master and slave ICs 300 and 300′ are shorted together off chip, e.g., on the PCB 16 (
Each of the circuit blocks performs standard functions in an IPG, and are discussed further in the '552 application referenced above. Telemetry block 62 couples to the IPG telemetry coil 13 (
Stimulation circuit block 175, introduced earlier in the Background, is coupled to the electrode outputs, and includes timing channels and DAC circuitry 82 for defining and outputting pulses of a specified therapy. How this occurs will be discussed subsequently with reference to
Sample and hold circuitry block 310 contains circuitry for sampling and holding various analog voltages provided by an analog bus 192, including the electrode voltages, the battery voltage, and other analog signals of interest, and is explained in detail in U.S. Pat. No. 9,061,140. Once sample and hold block 310 has operated to resolve a particular voltage, it can be sent to the A/D block 74, where it is digitized and disseminated via the communication bus 297 to wherever in the system 290 it is needed for analysis. Signals IN1, IN2, OUT1 and OUT2 can be used to route various analog signals between the two ICs 300 and 300′, as explained in U.S. Pat. No. 8,768,453. Note that because it handles both analog and digital signals, IC 300 comprises a mixed mode chip.
V+ generator block 320 generates a compliance voltage, V+, which is used by the current sources (DAC 82) in the stimulation circuitry block 175. It does so by voltage boosting the battery voltage, Vbat, to an appropriate V+ voltage used to power the current sources (i.e., DACs 82) 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 to
Clock generator 330 generates the communications clocks used by the communications protocol on the bus 297. While the master IC 300 can derive and provide a clock to the slave IC 300′ at its clock input, CLKIN (
Master/slave controller 350 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 in
Referring again to
The master and slave ICs 300 and 300′ in system 290 could each be individually packaged and connected to the IPG's PCB 16 (
Packaging of the master and slave ICs 300 and 300′ in a single BGA package 400 is advantageous because it reduces size and cost, improves reliability, and because it can fit within existing single-IC packages. In other words, BGA package 400 does not increase the “footprint” of the electrode driver circuitry on the IPG's PCB 16 compared to the use of one IC alone, and thus the BGA package 400 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 of architecture 290, which improvements are now discussed.
The pulses produced by programming the timing channels in this way are shown in
Other non-active timing channels in each of ICs 300 and 300′ are referred to as shadow timing channels, and are shown in dotted lines in
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 timing channels 176 if desirable or useful. Thus, it can be seen in
Also shown in
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 in
The shadow timing channels in each of the ICs assist with ensuring that charge recovery at one of the ICs 300 or 300′ 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′ in
Also noted earlier, the case electrode Ec in
A remaining consideration to understand in the improved architecture 290 relates to setting of the compliance voltage, V+, which is discussed with reference to
In the improved system, V+ is set using an algorithm 500, which is programmed into the microcontroller 305. By way of introduction, the goal of V+ algorithm 500 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 of
As important here, the sample and hold block 310 measures Vp, the voltage drop across the PDACs 83 and 83′, and Vn, the voltage drop across the NDAC 82 and 82′. (Voltage drops across the switch matrices 85 and 85′ are also included in these measurements, but are relatively small). During operation of the V+ algorithm 500, these parameters Vp and Vn are measured at the affected electrodes during the issuance of pulses from either the master or slave IC 300 or 300′. The shadow timing channels in the master IC 300 (
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 hold circuitry 310 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 hold circuitry 310, can be determined via bus 297, and read from either the timing channels 176 (if programmed for the slave) or directly from the microcontroller 305. Once measured, the Vp and Vn voltages are digitized by A/D block 74, and sent via bus 297 to the microcontroller 305 where they can be considered by the V+ algorithm 500.
Note that the particular implementation of the sample and hold circuitry 310 incorporated herein cannot measure Vp and Vn at the same time. Thus, sample and hold circuitry 310 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 to V+ algorithm 500 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.
Once therapy has been adjusted and the algorithm starts, V+ can be set to a maximum voltage by the V+ generator 320 (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 the V+ algorithm 500 by reviewing the frequencies (f1, f2) and pulse widths (pw1; pw2) programmed into the timing channels 176. From these parameters, it is not difficult for the algorithm 500 to compute a reasonable set time period for use in step 504. 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 of overlap 10 times per second. Assume, as algorithm 500 might to allow for error, the possibility of only partial overlaps, or simply to guardband the process, that only one of these 10 measurements 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 hence 30 seconds could comprise the set time period at step 504. In fact, many more Vp and Vn measurements (including those not taken during periods of overlap) would be captured and logged at the microcontroller 305 for algorithm 500 review during this time period. If necessary, and to reduce harmonics between the frequencies, the algorithm 500 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, the algorithm 500 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 the PDACs 83 and 83′ and the NDACs 84 and 84′. 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 at step 506 can proceed on that basis. Note that the determination at step 506 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, the V+ algorithm 500 can conclude that V+ can possibly be lowered. This occurs at step 508, where V+ might be reduced from its maximum by some set amount, e.g., 1V, to 17V.
The Vp and Vn measurement process at step 504 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 step 510, where V+ is increased by some amount, e.g., 10% (510), and is set (512). Increasing V+ at this step 510 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), the algorithm 500 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 the V+ algorithm 500 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′ in
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 both stimulation circuits 175 and 175′, 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.
This is a continuation application of U.S. patent application Ser. No. 15/063,072, filed Mar. 7, 2016, which is a continuation application of U.S. patent application Ser. No. 13/741,116, filed Jan. 14, 2013 (now abandoned), which was a non-provisional filing of U.S. Patent Application Ser. No. 61/586,930, filed Jan. 16, 2012. Priority is claimed to these applications, and they are incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
5501703 | Holsheimer et al. | Mar 1996 | A |
5861008 | Obel et al. | Jan 1999 | A |
5941906 | Barreras et al. | Aug 1999 | A |
6516227 | Meadows et al. | Feb 2003 | B1 |
6525986 | Prutchi et al. | Feb 2003 | B2 |
7444181 | Shi et al. | Oct 2008 | B2 |
7890182 | Parramon et al. | Feb 2011 | B2 |
8615306 | Griffith | Dec 2013 | B2 |
20060058588 | Zdeblick | Mar 2006 | A1 |
20060167525 | King | Jul 2006 | A1 |
20070038250 | He | Feb 2007 | A1 |
20070100399 | Parramon et al. | May 2007 | A1 |
20080319497 | Griffith et al. | Dec 2008 | A1 |
20120092031 | Shi et al. | Apr 2012 | A1 |
20120095519 | Parramon et al. | Apr 2012 | A1 |
20120095744 | Rahman et al. | Apr 2012 | A1 |
20130006315 | Lee | Jan 2013 | A1 |
20130023943 | Parramon et al. | Jan 2013 | A1 |
Number | Date | Country |
---|---|---|
2010-233846 | Oct 2010 | JP |
2002009808 | Feb 2002 | WO |
2006029257 | Mar 2006 | WO |
2007117232 | Oct 2007 | WO |
2008048321 | Apr 2008 | WO |
Entry |
---|
International Search Report and Written Opinion regarding application No. PCT/US2013/021703 dated Jul. 5, 2013. |
Number | Date | Country | |
---|---|---|---|
20170216600 A1 | Aug 2017 | US |
Number | Date | Country | |
---|---|---|---|
61586930 | Jan 2012 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 15063072 | Mar 2016 | US |
Child | 15491492 | US | |
Parent | 13741116 | Jan 2013 | US |
Child | 15063072 | US |