AU2015203779A1 - Architectures for an Implantable Medical Device System Having Daisy-Chained Electrode-Driver Integrated Circuits - Google Patents

Architectures for an Implantable Medical Device System Having Daisy-Chained Electrode-Driver Integrated Circuits Download PDF

Info

Publication number
AU2015203779A1
AU2015203779A1 AU2015203779A AU2015203779A AU2015203779A1 AU 2015203779 A1 AU2015203779 A1 AU 2015203779A1 AU 2015203779 A AU2015203779 A AU 2015203779A AU 2015203779 A AU2015203779 A AU 2015203779A AU 2015203779 A1 AU2015203779 A1 AU 2015203779A1
Authority
AU
Australia
Prior art keywords
clock signal
integrated circuit
bus
functional blocks
microcontroller
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
AU2015203779A
Inventor
Emanuel Feldman
Paul J. Griffith
Jordi Parramon
Jess W. Shi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Boston Scientific Neuromodulation Corp
Original Assignee
Boston Scientific Neuromodulation Corp
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
Priority claimed from AU2011313977A external-priority patent/AU2011313977B2/en
Application filed by Boston Scientific Neuromodulation Corp filed Critical Boston Scientific Neuromodulation Corp
Priority to AU2015203779A priority Critical patent/AU2015203779A1/en
Publication of AU2015203779A1 publication Critical patent/AU2015203779A1/en
Abandoned legal-status Critical Current

Links

Abstract

An implantable stimulator device comprising a plurality of first electrodes and a plurality of second electrodes configured to provide stimulation to a patient's tissue is provided. The device comprises a first integrated circuit and a second integrated circuit identical in construction to the first integrated circuit. The first integrated circuit comprises a first stimulation circuitry block for controlling stimulation of the plurality of first electrodes, and a plurality of first functional blocks. The second integrated circuit comprises a second stimulation circuitry block identical to the first stimulation circuitry block for controlling stimulation of the plurality of second electrodes, and a plurality of second functional blocks identical to the plurality of first functional blocks. The plurality of first functional blocks are enabled, and the plurality of second functional blocks are disabled. 6670596_1 (GHMatters) P93088.AU.1 PAULA rr r LUj LU - C) LU LU r Ln LUj coo N D' C) ~

Description

ARCHITECTURES FOR AN IMPLANTABLE MEDICAL DEVICE SYSTEM HAVING DAISY CHAINED ELECTRODE-DRIVER INTEGRATED CIRCUITS CROSS-REFERENCE TO RELATED APPLICATIONS [001] This application is divided from and claims the benefit of the filing and priority dates of Patent Application No. 2011313977 filed 3 October 2011, which claims the priority of U.S. Patent Application No. 61/392,594 filed 13 October 2010, the content of both of which as filed is incorporated herein by reference in its entirety. [002] This application is also related to U.S. Patent Applications Nos. 61/392,600 and 61/392,587, both filed 13 October 2010, which are both incorporated herein by reference in their entireties. FIELD OF THE INVENTION [003] 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. BACKGROUND [004] 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. The description that follows will generally focus on the use of the invention within a Spinal Cord Stimulation (SCS) system, such as that disclosed in U.S. Patent 6,516,227. However, the 1 6670596_1 (GHMatters) P93088.AU.1 PAULA present invention may find applicability in any implantable neurostimulator. [005] As shown in Figures 1A and 1, a SCS system typically includes an Implantable Pulse Generator (IPG) 100, which includes a biocompatible device case 30 formed of a conductive material such as titanium for example. The case 30 typically holds the circuitry and battery 26 necessary for the IPG to function, although IPGs can also be powered via external RF energy and without a battery. The IPG 100 includes one or more electrode arrays (two such arrays 102 and 104 are shown), each containing several electrodes 106. The electrodes 106 are carried on a flexible body 108, which also houses the individual electrode leads 112 and 114 coupled to each electrode. In the illustrated embodiment, there are eight electrodes on array 102, labeled Ei-Es, and eight electrodes on array 104, labeled E 9
-E
16 , although the number of arrays and electrodes is application specific and therefore can vary. The arrays 102, 104 couple to the IPG 100 using lead connectors 38a and 38b, which are fixed in a non-conductive header material 36, which can comprise an epoxy for example. [006] As shown in Figure 2, the IPG 100 typically includes an electronic substrate assembly 14 including a printed circuit board (PCB) 16, along with various electronic components 20, such as microprocessors, integrated circuits, and capacitors mounted to the PCB 16. Two coils (more generally, antennas) are generally present in the IPG 100: a telemetry coil 13 used to transmit/receive data to/from an external controller 12; and a charging coil 18 for charging or recharging the IPG's battery 26 using an external charger 50. The telemetry coil 13 is typically mounted within the header 36 of the IPG 100 as shown, and may be wrapped around a ferrite core 13'. [007] As just noted, an external controller 12, such as a hand-held programmer or a clinician's programmer, is used to wirelessly send data to and receive data from the IPG 100. For example, the external controller 12 can send programming data to the IPG 100 to dictate the therapy the IPG 100 will provide to the patient. Also, the external controller 12 can act as a receiver of data from the IPG 100, such as various data reporting on the IPG's status. The external controller 12, like the IPG 100, also contains a PCB 70 on which electronic components 72 are placed to control operation of the external controller 12. A user interface 74 similar to that 2 6670596_1 (GHMatters) P93088.AU.1 PAULA used for a computer, cell phone, or other hand held electronic device, and including touchable buttons and a display for example, allows a patient or clinician to operate the external controller 12. The communication of data to and from the external controller 12 is enabled by a coil (antenna) 17. [008] The external charger 50, also typically a hand-held device, is used to wirelessly convey power to the IPG 100, which power can be used to recharge the IPG's battery 26. The transfer of power from the external charger 50 is enabled by a coil (antenna) 17'. The external charger 50 is depicted as having a similar construction to the external controller 12, but in reality they will differ in accordance with their functionalities as one skilled in the art will appreciate. [009] Wireless data telemetry and power transfer between the external devices 12 and 50 and the IPG 100 takes place via inductive coupling, and specifically magnetic inductive coupling. To implement such functionality, both the IPG 100 and the external devices 12 and 50 have coils which act together as a pair. In case of the external controller 12, the relevant pair of coils comprises coil 17 from the controller and coil 13 from the IPG 100. In case of the external charger 50, the relevant pair of coils comprises coil 17' from the charger and coil 18 from the IPG 100. As is well known, inductive transmission of data or power can occur transcutaneously, i.e., through the patient's tissue 25, making it particularly useful in a medical implantable device system. During the transmission of data or power, the coils 17 and 13, or 17' and 18, preferably lie in planes that are parallel, along collinear axes, and with the coils as close as possible to each other. Such an orientation between the coils 17 and 13 will generally improve the coupling between them, but deviation from ideal orientations can still result in suitably reliable data or power transfer. [0010] U.S. Patent Publication 2008/0319497 ("the '497 application"), owned by the present assignee and which is incorporated herein by reference in its entirety, discloses an improved architecture 150 for an IPG 100, which is shown in Figures 3A to 3C. Because of its pertinence to the present disclosure, some time is spent discussing pertinent aspects of the '497 application's architecture. [0011] The improved IPG architecture 150 of Figure 3A involves integration of various IPG functional circuit blocks on a single integrated circuit (IC) 200 via a 3 6670596_1 (GHMatters) P93088.AU.1 PAULA bus 190 governed by a communication protocol, discussed further below. The centralized bus 190 is a parallel bus containing a plurality of multiplexed address and data lines operating in parallel. However, this is not strictly necessary, and instead bus 190 can comprise a serial bus as well. To communicate with the bus 190 and to adhere to the protocol, each circuit block includes bus interface circuitry 215 adherent with that protocol. Because each circuit block complies with the protocol, any given circuit block can easily be modified or upgraded without affecting the design of the other blocks, facilitating debugging and upgrading of the IPG circuitry. Moreover, because the centralized bus 190 can be taken off the integrated circuit, extra circuitry can easily be added off chip to modify or add functionality to the IPG, a point discussed further below. [0012] Each of the circuit blocks performs standard functions in an IPG. For example, telemetry block 62 couples to the IPG telemetry coil 13, and includes transceiver circuitry for communicating with the external controller 12 (Fig. 2). The charging/protection block 64 couples to the IPG charging coil 18, and contains circuitry for rectifying power received from the external charger 50 (Fig. 2), and for charging the power source (battery) 26 in a controlled fashion. Stimulation circuit block 175 is coupled to the electrodes El-E16 and includes circuitry for setting the program (magnitude, and polarity) for the stimulation pulses appearing at those electrodes. Block 175 also includes the drivers for the electrodes, with a Digital-to-Analog Converter (DAC) 82 being responsive to the stimulation program to supply the specified electrodes currents. Notice that the electrodes El-E16 are connected to off-chip decoupling capacitors C l-CN prior to connection to the corresponding electrodes 106 on the leads 102 and 104 (Fig. 1 A); such decoupling capacitors C 1 -CN prevents direct DC current inj ection from the IPG into the patient, which is advisable for safety, but otherwise such decoupling capacitors don't effect stimulation performance. EPROM block 177 caches any relevant data in the system (such as log data), and additional memory 66 can also be provided off-chip via a serial interface block 167. Analog-to Digital (A/D) block 74 digitizes various analog signals for interpretation by the IPG 100, such as the battery voltage Vbat or voltages appearing at the electrodes, and is coupled to an analog bus 192 containing such voltages. Interrupt controller 4 6670596_1 (GHMatters) P93088.AU.1 PAULA block 173 receives various interrupts from other circuit blocks, which because of their immediate importance are received independent of the bus 190 and its communication protocol. Note that because it handles both analog and digital signals, IC 200 comprises a mixed mode chip. [0013] Stimulation circuit block 175 is coupled to the electrodes El-E16 and includes circuitry for setting the program (magnitude, and polarity) for the stimulation pulses appearing at those electrodes. Block 175 also includes the drivers for the electrodes, with a Digital-to-Analog Converter (DAC) 82 being responsive to the stimulation program to supply the specified electrodes currents. Notice that the electrodes El-E16 are connected to off-chip decoupling capacitors Cl-CN prior to connection to the corresponding electrodes 106 on the leads 102 and 104 (Fig. 1A); such decoupling capacitors Cl-CN prevent direct DC current injection from the IPG into the patient, which is advisable for safety, but otherwise such decoupling capacitors don't significantly effect stimulation performance. [0014] Internal controller 160 acts as the master controller for all other circuit blocks. Specifically, each of the other circuit blocks contains set-up and status registers (not shown). The set-up registers are written to by the controller 160 upon initialization to configure and enable each block. Each circuit block can then write pertinent data at its status register, which can in turn be read by the controller 160 as necessary. Aside from such control imposed by the master controller 160, the circuit blocks outside of the controller 160 can employ simple state machines to manage their operation, which state machines are enabled and modified via the set-up registers. [0015] As can be seen in Figure 3A, the IC 200 contains several external terminals 202 (e.g., pins, bond pads, solder bumps, etc.), such as those necessary to connect the power source 26, to connect the coils 18, 13, to connect the external memory 66, and to connect the stimulation electrodes. Other external terminals 202 are dedicated to the various signals that comprise the centralized bus 190 to allow this bus to communicate with other devices outside of the IC 200. [0016] The various signals comprising the bus 190 can be seen in Figure 3B, which also discloses the protocol for communications on the bus. As shown, the 5 6670596_1 (GHMatters) P93088.AU.1 PAULA centralized bus 190 comprises a clock signal (CLK) for synchronization, 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). The frequency for the clock signal, CLK, can be in the range of 32 kHz to 1 MHz, which is generally slow for a computerized protocol, but is suitably fast for operation of the IPG, which typically provides stimulation pulses on the order of tens of microseconds to milliseconds. As shown, the protocol uses a fairly simple address-before-data scheme in which an address is followed by pertinent data for that address. To discern between address and data, the 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). [0017] The nature of this protocol means that all functional blocks coupled to the centralized bus 190 are designated an address, or more likely, a range of addresses. For example, the address for a data register holding the value for the compliance voltage (in A/D block 74) might be ADDR[3401], while the address for the magnitude and duration of stimulation to be provided by electrode E6 (in stimulation circuitry block 175) may be ADDR[7655] and ADDR[7656] respectively. To assist the various functional blocks in recognizing pertinent addresses, and to ensure each block's ability to function in accordance with the centralized bus 190's protocol, each block contains bus interface circuitry 215. As this bus interface circuitry was described in detail in the above-incorporated '497 application, such details are not repeated here. [0018] As noted in the '497 application, when the circuit blocks are coupled via the bus 190 and communicate using the protocol, it becomes a relatively simple matter to make changes to any particular block to fix circuit errors, and/or to upgrade the IC 200 for use in next-generation IPGs. Additionally, because the bus 190 is provided outside of the IC 200, it is easy to modify or add functionality to the IPG 100 outside of the IC 200. For example, and as shown in Figure 3C, more memory 300 (preferably, nonvolatile memory) can be added. Or, systemic control 6 6670596_1 (GHMatters) P93088.AU.1 PAULA can be added outside of the IC 200, for example, via an external microcontroller 240. Should an external microcontroller 240 be used in conjunction with the IC 200, the '497 application discusses manners in which control is arbitrated between the microcontroller 204 and the internal controller 160 in the IC 200. Again, such details are not repeated here. [0019] In another off-chip extension of the architecture noted in the '497 application, and as particularly pertinent to the present disclosure, another IC 200' can be added which is similarly constructed to the first IC 200. This allows the IPG 100 in which the IC 200 and 200' are placed to provide 32 stimulation electrodes, i.e., 16 each from both of the ICs. In other words, the capacity of the IPG can be increased by "daisy chaining" a plurality of stimulation ICs together. In such an embodiment, the internal controller 160 in one of the ICs 200 or 200' can be inactivated so only one controller 160 acts as the master controller for the system. [0020] Practical concerns arising from the use of electrode drivers in two different ICs 200 are addressed in this disclosure. SUMMARY OF THE INVENTION [0021] According to a first broad aspect of the invention, there is provided an implantable stimulator device comprising a plurality of first electrodes and a plurality of second electrodes configured to provide stimulation to a patient's tissue, comprising: a first integrated circuit, the first integrated circuit comprising a first stimulation circuitry block for controlling stimulation of the plurality of first electrodes, and a plurality of first functional blocks; and a second integrated circuit identical in construction to the first integrated circuit, the second integrated circuit comprising a second stimulation circuitry block identical to the first stimulation circuitry block for controlling stimulation of the plurality of second electrodes, and 7 6670596_1 (GHMatters) P93088.AU.1 PAULA a plurality of second functional blocks identical to the plurality of first functional blocks, wherein the plurality of first functional blocks are enabled, and wherein the plurality of second functional blocks are disabled. [0022] The device may further comprise: a bus; a first input to the first integrated circuit; a second input to the second integrated circuit, wherein the first input is set to enable communication between of the plurality of first functional blocks and the bus, and wherein the second input is set to disable communication between the plurality of second functional blocks and the bus. [0023] In an embodiment, the device further comprises a telemetry antenna for receiving and transmitting data from and to an external controller, wherein one of the plurality of first functional blocks comprises a first telemetry circuitry block coupled to the telemetry antenna, and wherein one of the plurality of second functional blocks comprises a second telemetry circuitry block not coupled to the telemetry antenna. [0024] In an embodiment, the device further comprises a battery with a battery voltage, and wherein one of the plurality of first functional blocks comprises a first charging block for charging the battery, and wherein one of the plurality of second functional blocks comprises a second charging block. [0025] For example, the battery voltage may be routed to both the first and second integrated circuits. [0026] In an example, the device further comprises a charging antenna for receiving power from an external charger, wherein the charging antenna is coupled to the first charging block, and wherein the charging antenna is not coupled to the second charging block. [0027] In an embodiment, one of the plurality of first functional blocks comprises a first compliance voltage generation block for generating a compliance voltage for the first and second stimulation circuitry blocks, wherein one of the plurality 8 6670596_1 (GHMatters) P93088.AU.1 PAULA of second functional blocks comprises a second compliance voltage generation block. [0028] In a certain embodiment, the first integrated circuit further comprises a first master/slave controller, and wherein the second integrated circuit further comprises a second master/slave controller identical to the first master slave controller, and wherein the first master/slave controller enables the plurality of first functional blocks, and wherein the second master/slave controller disables the plurality of second functional blocks. [0029] According to a second broad aspect of the invention, there is provided an implantable stimulator device, comprising: a first integrated circuit comprising a plurality of first electrodes configured to provide stimulation to a patient's tissue; a second integrated circuit comprising a plurality of second electrodes configured to provide stimulation to the patient's tissue; an initial clock signal received at the first integrated circuit; an external clock signal issuing from the first integrated circuit and derived from the initial clock signal, the external clock received at the second integrated circuit; and a bus in communication with the first and second integrated circuits, wherein the external clock signal is selectively enabled at the first integrated circuit by an external clock enable signal via a command from the bus. [0030] In an embodiment, the initial clock signal is provided by an oscillator circuit. [0031] In an embodiment, the oscillator circuit comprises a crystal oscillator external to the first integrated circuit. [0032] In an embodiment, the device further comprises a register in the first integrated circuit for receiving the command and for setting the external clock enable signal. [0033] The external clock signal may be formed by ANDing the initial clock signal with the external clock enable signal. 9 6670596_1 (GHMatters) P93088.AU.1 PAULA [0034] The command may be issued from a microcontroller separate from the first integrated circuit. [0035] According to a third broad aspect of the invention, there is provided an implantable stimulator device, comprising: a first integrated circuit comprising a plurality of first electrodes configured to provide stimulation to a patient's tissue, the first integrated circuit for receiving an initial clock signal and for selectively issuing an external clock signal and a microcontroller bus clock signal derived from the initial clock signal; a second integrated circuit comprising a plurality of second electrodes configured to provide stimulation to the patient's tissue, the second integrated circuit receiving the external clock signal; and a microcontroller external to the first and second integrated circuits receiving the microcontroller bus clock signal. [0036] In an embodiment, the device further comprises a bus in communication with the first and second integrated circuits and the microcontroller. [0037] In one example, the first integrated circuit comprises first logic circuitry for deriving a first internal clock signal and a first bus clock signal from the initial clock signal, and wherein the second integrated circuit comprises second logic circuitry for deriving a second internal clock signal and a second bus clock signal from the external clock signal. [0038] For example, the first bus clock may enable the first integrated circuit to communicate on the bus, and the second bus clock enable the second integrated circuit to communicate on the bus. [0039] In one example, the first internal clock signal, the first bus clock signal, the second internal clock signal, and the second bus clock signal are selectively enabled by the microcontroller. [0040] In an embodiment, the first integrated circuit receives an enable signal from the microcontroller, and wherein the microcontroller bus clock signal is formed by ANDing the enable signal with the initial clock signal. [0041] In a certain embodiment, the microcontroller bus clock signal enables the microcontroller to communicate on the bus. 10 6670596_1 (GHMatters) P93088.AU.1 PAULA [0042] In one embodiment, the microcontroller bus clock signal is distinct from an internal microcontroller clock. [0043] In an embodiment, the initial clock signal, the external clock signal, and the microcontroller bus clock signal are synchronized. BRIEF DESCRIPTION OF THE DRAWINGS [0044] In order that the invention may be more clearly ascertained, embodiments will now be described, by way of example, with reference to the accompanying drawings, in which: [0045] Figures 1A and 113 show an implantable pulse generator (IPG), and the manner in which an electrode array is coupled to the IPG in accordance with the prior art. [0046] Figure 2 illustrates an IPG, an external controller, and an external charger in accordance with the prior art. [0047] Figures 3A to 3B illustrate aspects of an IPG architecture using a centralized bus, as disclosed in U.S. Patent Publication No. 2008/0319497. [0048] Figures 4A to 4C illustrate aspects of an architecture for an IPG utilizing a plurality of electrode-driver ICs, according to an embodiment of the present inevntion. [0049] Figure 5 illustrates circuitry, timing, and bus commands for simultaneously providing a situation pulse at electrodes on different of the electrode-driver ICs in the architecture of figures 4A to 4C. [0050] Figure 6 illustrates sample and hold circuitry in the master IC, and illustrates bus commands for monitoring a voltage at an electrode at the master IC using the sample and hold circuitry. [0051] Figures 7A and 713 illustrate sample and hold circuitry in the master and slave ICs, and illustrates bus commands for monitoring a voltage at an electrode at the slave IC using the sample and hold circuitry at the master IC. [0052] Figures 8A and 813 illustrate sample and hold circuitry in the master and slave ICs, and illustrates bus commands for monitoring a resistance between an electrodes at the slave IC and an electrode at the master IC using the sample and hold circuitry at the master IC. 11 6670596_1 (GHMatters) P93088.AU.1 PAULA [0053] Figures 9A to 9C illustrate sample and hold circuitry in the master and slave ICs, and illustrates bus commands for monitoring a resistance between two electrodes at the slave IC using the sample and hold circuitry at the master IC. [0054] Figure 10 illustrates aspects of the architecture of figures 4A to 4C relating to the clocking circuitry, and shows circuitry for disabling clocking at the slave IC as a power saving measure. DETAILED DESCRIPTION [0055] Figure 4A shows a system 290 for an IPG 295 having an architecture in which two electrode driver ICs 300 and 300' are daisy chained to double the electrode capacity in the IPG, i.e., from 16 to 32 electrodes as shown. (The metallic case of the IPG 295 can also comprise an electrode, but this is not shown for simplicity). In this example, one of the ICs 300 acts as a master, while the other 300' acts as a slave, as will be explained in further detail below. Both ICs 300 and 300' are connected to a bus 297, which is similar to the bus described in the Background, but which includes additional control signals for selecting either of the two chips: CS_m, which comprises a chip select for the master 300, and CS_s, which comprises a chip select for the slave 300'. Note that while the clock signal (CLK; Fig. 3B) remains important in the communication protocol, it is not included as one of the bus signals shared by all ICs in the system; clocking circuitry in the system 290 is discussed further with reference to Figure 10 below. [0056] Also connected to the bus is a microcontroller 305, which provides for control of functions in the system 290 not handled by various circuit blocks in the ICs 300 and 300', and otherwise generally acts as the system's master. For example, bus communications are ultimately controlled by the microcontroller 305, which controls the issuance of clocks needed for the communication protocol as explained further below, and which also issues the bus control signals (e.g., ALE, W/E*, R/E* in Fig. 3B). In another example, microcontroller 305 schedules when the IPG 295 is to listen for telemetry from the external controller 12 (Fig. 2). See, e.g., U.S. Patent 7,725,194, discussing this issue in further detail. Microcontroller 305 also connects to a memory (Flash EPROM) chip 307 in the system 290, which can hold the operating software for the system, and which can 12 6670596_1 (GHMatters) P93088.AU.1 PAULA also act as a free space to log data in the system, e.g., data to be reported to the external controller 12 for analysis and/or feedback to the patient. [0057] In the embodiment shown, each of the ICs 300 and 300', which will be explained in detail shortly, are fabricated identically, even though they are destined to act as master or slave in the system. Fabricating only a single electrode-driver IC is a great convenience, as the manufacturer does not have to different fabricate, track, and test, separate master and slave ICs for the system 290. Whether any given IC operates as a master or slave in the system depends on how it is connected to the remainder of the system 297, i.e., such chips are bond programmable. As shown in Figure 4A, each IC has an input, MIS, which when provided a voltage informs the IC that it is the master 300, and when not informs the IC that it is a slave 300'. This can be accomplished by connecting the M/S input to a particular node on the IPG's PCB, such as Vbat, the battery 26 voltage (Fig. 2), in the case of the master 300, or ground (GND) in the case of the slave 300'. When a given IC understands that it is operating as a slave, it deactivates certain of its circuit blocks, as will be explained later. [0058] Also shown in Figure 4A are certain off-bus signals 195. These signals and their functions will be discussed in more detail later. [0059] Figure 4B shows the circuit blocks in either of the identical master 300 or slave 300' ICs. Many of these circuit blocks were discussed earlier in conjunction with the Background (see Fig. 3A), and so discussion of those blocks is not repeated here. Of particular note and new to Figure 4B are the sample and hold block 310, the compliance voltage (V+) generator block 320, the clock generator block 330, and a master/slave (MIS) controller 350. As with other circuit blocks on the IC, these circuit blocks contain interface circuitry 215 to allow them to communicate on, and be controlled by, the bus 297 in accordance with the protocol discussed earlier. [0060] Sample and hold circuitry block 310 will be explained in detail later, but for now merely note that it contains circuitry for sampling and holding various analog voltages comprising the analog bus 192, including the electrode voltages. 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 13 6670596_1 (GHMatters) P93088.AU.1 PAULA communication bus 297 to wherever in the system 290 it is needed for analysis. Signals INI, IN2, OUTI and OUT2 are used to route various analog signals between the two ICs 300 and 300', as explained later. [0061] 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 to an optimal level, which optimal level can be deduced in part by monitoring the electrode voltages during stimulation. See, e.g., U.S. Patents 7,872,884; 7,444,181; 7,539,538, for further details concerning the generation of compliance voltage V+ in an IPG. [0062] Clock generator 330 generates the communications clocks used by the communications protocol on the bus 297. As noted earlier though, a clocking signal does not comprise part of the communication bus 297. Operation of the clock generator 330 will be explained in detail with respect to Figure 10. [0063] Master/slave controller 350 receives the 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 Figure 4C. In Figure 4C, the master and slave 300 and 300' are shown as connected, including bus-based 297 and off-bus 195 connections. Note that corresponding circuit blocks in the slave IC 300' are denoted by a prime symbol. As described earlier, the MIS inputs to the master/slave controllers 350 differ (high; low) depending on which IC is acting as the master or slave. In the slave IC 300' the master/slave controller 350' 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 the master IC 300. Specifically, the charging/protection block 64', telemetry block 62' A/D block 74', V+ generator 320', interrupt controller 173', and the internal controller 160' are all disabled in the slave IC 300', 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 controller 350, and such disabling can be effected by disabling the bus drivers and bus receivers operating in the interface circuitry in the affected blocks (see the above-incorporated '497 application). Still operative in the slave 14 6670596_1 (GHMatters) P93088.AU.1 PAULA IC 300' however are the stimulation circuitry block 175' coupled to the electrodes, the sample and hold circuit block 310', the clock generation circuitry 330', and the master/slave controller 350' itself. [0064] With regard to the various off-chip signals 195, note that the compliance voltage, V+, generated in the master IC 300 is routed to the slave IC 300' for use in the slave's stimulation circuitry block 175'. The changing and telemetry coils 18 and 13 are only coupled to the master IC 300 where their corresponding blocks 64 and 62 are active. The battery 26 (Fig. 2) voltage, Vbat, is shared by both ICs 300 and 300' (as well as the microcontroller 305), and other components internal to the IPG 100. An external crystal oscillator 340 is coupled to the CLKIN input only on the master IC 300. [0065] Figures 5-9C illustrate the operation of the sample and hold circuitry blocks 310 and 310' active in both ICs 300 and 300', and further illustrate how off-bus signal 195 carried between INI, IN2, OUTI, and OUT2 are used in the system to monitor analog signals in both ICs. Additionally, these Figures provide examples of commands used on the bus 297 to provide the desired stimulation and monitoring functions. [0066] Figure 5 shows an example of the stimulation that can be provided by the system 290, and in particular shows the provision of a monophasic pulse train to a patient's tissue, which is represented in Figure 5 as a resistance, R. (System 290 can similarly provide biphasic pulses as one skilled in the art understands, and as is explained in the above-incorporated concurrent application. However, monophasic pulses are illustrated for simplicity). In the example shown, electrode El from the master IC 300 is used as the anode which sources a current +1 for a pulse duration of tD, and electrode E17 from the slave IC 300 is used as the cathode for the sink of that current (-I). The pulses at both electrodes have a periodicity of tp. [0067] The currents (+1, -I) appearing at each electrode are set by Digital-to Analog Converters, or DACs 82, which comprises part of the stimulation circuitry 175. As is known, the DACs 82 provide the desired current based on digital control signals (<P>, <N>), which control signals specify the amount that a reference current, Iref, is to be amplified. A DAC used as the anodic source is 15 6670596_1 (GHMatters) P93088.AU.1 PAULA called a PDAC, while a DAC used as the cathodic sink is called a NDAC. See, e.g., U.S. Patent Publication 2007/0038250, for further details concerning the specifics of PDAC and NDAC circuitry useable in a system such as system 290. Because electrodes El and E17 in this example are respectively driven by the master and slave ICs 300 and 300', the stimulation circuitry 175 and 175' and DACs 82 and 82' at each are implicated in providing the desired pulses. Of course, more than one electrode in each of the stimulation circuitries 175 and 175' may be enabled at one time, but only a single electrode for each is shown in Figure 5 for simplicity. [0068] Prior to the delivery of the desired pulses, the stimulation circuitry 175 in each of the ICs is loaded with the appropriate stimulation parameters. These parameters (magnitude and polarity of current) are communicated via bus 297 from the microcontroller 305 based upon the therapy program that has been established for the patient, which therapy program can be changed from time to time by the external controller 12 (Fig. 2). As noted earlier, the bus-based communication protocol allows for these parameters to be sent to various addresses designated for the various circuit blocks. For example, the magnitude for the current at electrode El may be stored at ADDRi in the stimulation circuitry 175, while the polarity is stored at ADDRj. These parameters can be loaded serially for each electrode, and in advance of the issuance of the pulse. Thus, and referring to the command table in Figure 5, it is seen that these parameters are loaded for each of electrodes El and E17 before tl-the first pulse in the train. [0069] When ICs 300 and 300' are daisy chained as disclosed, it is important to properly differentiate between active circuit blocks in each of the two ICs. For example, and as discussed earlier with respect to Figure 4C, the stimulation circuitry block 175', the sample and hold circuit block 310', and the clock generation circuitry 330', are active in both ICs, and share the same addresses. Differentiation between the two ICs occurs by use of the chip select signals, CSm and CSs. Thus, as shown in Figure 5, although El and E17 are associated with the same addresses ADDRi and ADDRj, the chip select signal is used to differentiate them and to program the stimulation circuitry 175 in the appropriate ICs. Thus, the stimulation parameters for electrode El are written to ADDRi and j 16 6670596_1 (GHMatters) P93088.AU.1 PAULA with CSm asserted, indicating programming of the stimulation circuitry 175 in the master IC 300 (i.e., that which drives electrodes El-E16). By contrast, the stimulation parameters for electrode E17 are written to ADDRi and j with CS_s asserted, indicating programming of the stimulation circuitry 175 in the slave IC 300' (i.e., that which drives electrode E17-E32). [0070] It is important to synchronize therapeutic pulses occurring at electrodes in each of the ICs 300 and 300'. Thus, after the stimulation parameters have been loaded, it must be ensured that the stimulation pulses will issue from the various electrodes on the ICs 300 and 300' at the same time. For example, if the anodic pulse issues from electrode El issues slightly prior to the issuance of the cathodic pulse at electrode E17, charge will be injected into the patient's tissue during that slight time with no return path. Likewise, if the anodic pulse ceases from electrode El issues slightly prior to cessation of the cathodic pulse at electrode E17, charge will be depleted from the patient's tissue during that slight time. Such charge build up can impede therapy, or could injure the patient. [0071] To ensure simultaneous issuance of the pulses, bus-based communication is used in system 290 to simultaneously trigger the issuance of both pulses. As shown in Figure 5, at time tl, i.e., after the stimulation parameters for each electrode have been loaded to each of the ICs 300 and 300', a paralleled multi-bit stimulation enable command is issued on the bus with both of the chip select signals asserted (i.e., CS-m = CS-s = 1). This allows both of stimulation circuitries 175 and 175' to receive the stimulation enable signal at the same time, and to provide the pre-stored stimulation parameters to their DACs 82 and 82', thus producing the desired currents simultaneously. Specifically, the stimulation enable command simultaneously enables both of DACs 82 and 82' by issuing the appropriate control signals <P> and <N> for an appropriate length of time. In this example, the stimulation enable command is sent to a register with ADDRk. If not pre-loaded as a stimulation parameter, the pulse duration tD can be included with the simulation enable command. [0072] Another important issue, and one addressed in the system 290, deals with monitoring various voltages in the ICs 300 and 300', such as the electrode voltages. Assessing such voltages is beneficial for many reasons. Knowing the 17 6670596_1 (GHMatters) P93088.AU.1 PAULA voltages present at the electrodes during stimulation can be useful in setting the compliance voltage, V+, at the V+ generator 320 (Fig. 4B) to an appropriate and power-efficient magnitude. See, e.g., U.S. Patent 7,444,181. Also, knowing the electrode voltages allows the resistance between the electrodes, R, to be calculated, which is useful for a variety of reasons. [0073] Voltage monitoring in any given IC 300 is performed by the sample and hold circuitry 310, which is shown in Figure 6. As shown, sample and hold circuitry 310 comprises two multiplexers (MUXI ad MUX2), either of which can select from a plurality of signals comprising the analog bus 192 (Fig. 4B), such as the electrode voltages (El-E16), the voltage on the metallic case, the battery voltage (Vbat), the compliance voltage (V+), or ground (GND). Each MUX receives a control signal to choose one of these various inputs. (In reality, the control signal for each MUX may comprise a plurality of digital control signals. For example, if the MUX is capable of selecting from 16 different inputs, then four control signals may be used). [0074] Figure 6 shows the example of measuring the voltage on electrode El during stimulation. MUXI chooses this electrode via control signal(s) SELEl, which allows the voltage on El to pass to OUT1. MUX2 chooses ground (GND) as a reference (e.g., 0 Volts), which is passed to OUT2. As shown in the command table in Figure 6, both of these selections can be made via the bus 297 at an appropriate time during the duration of the pulse (i.e., during tD), where it is assumed that MUXI is accessible via ADDRr and MUX2 via ADDRs. Because the voltage, VEl, being monitored is already present at the master IC 300, the chip select signals are set accordingly (CSm = 1, CS_s = 0). Intervening between these outputs OUTI and OUT2 is holding circuitry 312. Holding circuitry 312 can comprise any circuitry suitable for holding and stabilizing the voltage to be measured, and as illustrated comprises a single capacitor, C. However, more sophisticated holding circuitry 312 can be used, such as the circuitry disclosed in above-incorporated concurrent application. Alternatively, and particularly when DC voltages are being monitored, holding circuitry 312 can be dispensed with altogether. 18 6670596_1 (GHMatters) P93088.AU.1 PAULA [0075] The voltages on each plate of the capacitor are sent to a differential amplifier 314, which after a settling period outputs the difference between the two, which in this case is VEl - 0 or VEl. This analog voltage can then be sent to A/D block 74 (Fig. 4B), where it is digitized. This values can then be read (at ADDRt in A/D block 74), and used elsewhere in the system, such as the V+ generator 320 (Fig. 4B). [0076] When the voltage being measured comes from the slave IC 300' instead of the master 300, the interconnection between the two sample and hold circuitries 310 and 310' is implicated, as shown in Figure 7A. Such interconnection involves the use of off-bus signals INI, IN2, OUTI, and OUT2, which were briefly mentioned earlier, and which are shown at a high level in Figure 4A. As shown there, and in further detail in Figure 7A, note that OUTI from MUXI on the slave IC 300' is sent to INI in the master IC 300, which in turn is sent as an input to both of the master IC's MUXes. OUT2 from MUX2 on the slave IC 300' is sent to IN2 in the master IC 300, which again is sent as in input to both of the master IC's MUXes. This interconnection of the sample and hold circuitries 310 and 310' operates to pull any relevant voltages to be monitored from the sample and hold circuitry 310' in the slave IC 300' to the sample and hold circuitry 310 in the master IC 300. Because the holding circuitry 312' and differential amplifier 314' are not used in the slave IC 300', they are illustrated in dotted lines in Figure 7A. This interconnection of the sample and hold circuitries 310 and 310' also result in inputs INI and IN2 to the MUXes in the slave not being used, and the outputs OUTI and OUT2 in the master not being used, which again is represented by dotted lines. Routing on the PCB between the two IC 300 and 300' establishes the proper connections between OUTI and OUT2 from the slave IC 300', and INI and IN2 in the master IC 300. [0077] Figure 7A illustrates monitoring the voltage on electrode E17 (that is, El from the slave IC 300'), with the command table for doing the same provided in Figure 7B. E17 is selected at MUX1 via its MUX address ADDRr, but with the slave IC selected (CS_s = 1, CSm = 0). Because no other voltage is of interest is pulled from the slave IC, MUX2 in the slave selects no value. The output from MUXI, OUT1, is routed off chip to input INI on the master IC 300, where it is 19 6670596_1 (GHMatters) P93088.AU.1 PAULA selected at MUXI. Again, MUXI is addressed at ADDRr, but this time with the master selected (CS_m = 1, CS_s = 0), which routes the voltage on E17 to the top plate of the capacitor in sample and hold circuit 312. Because in this example it is desired to know the absolute value of the voltage on E17, MUX2 (address ADDRs) in the master selects the ground input, which routes ground to the bottom plate of the capacitor. After allowing for settling, differential amplifier 314 outputs the difference between its two inputs, VE17, which can then be passed to A/D block 74 for interpretation as discussed before. [0078] Monitoring the voltages at electrodes during stimulation is further useful in calculating the resistance between electrodes, and examples using sample and hold circuitry 310 to do so are shown in Figures 8A-9C. Figure 8A and 8B continue the example of Figure 5, but with the goal of determining the resistance R between anode electrode El and cathode electrode E17. Such a resistance measurement requires assessment of the voltages at both electrodes, VEl and VE17. Here, only one of the voltages (E17) needs to be pulled from the slave IC 300' to the sample and hold circuit 310 in the master IC 300. Because this electrode is the cathode, MUX2 is selected at the slave (ADDRs; CS_s = 1; CSm = 0) to pull this voltage to IN2 at the master IC 300. Anode electrode El is selected by MUXI at the master (ADDRr; CSm = 1; CS_s = 0), and IN2 (E17 as pulled from the slave IC 300') is selected by MUX2 at the master (ADDRs; CSm = 1; CSs = 0). The resulting voltage difference across the capacitor in holding circuitry 312 (VEl VE17) is then reflected at the output of the differential amplifier 314. Because the current used to form these voltages is known (I), the resistance between the electrodes can be calculated in the IPG 295 as (VEl - VE17) / I, with perhaps some adjustment to the calculation to account for small voltage drops across the decoupling capacitor, a point discussed in further detail in the concurrent application. [0079] Figures 9A-9C illustrate a more complicated case in which the resistance between anode electrode E32 and cathode electrode E17 are measured as shown in Figure 9A. Here, both electrodes appearing in the slave IC 300'. Because of this, and as shown in Figure 9B, the voltages for each of these electrodes are selected by MUXI and MUX2 respectively in the slave, which pass them to the master IC 20 6670596_1 (GHMatters) P93088.AU.1 PAULA 300 at inputs IN1 and IN2 respectively. The MUXes in the master sample and hold circuit 310 then choose these inputs INI and IN2, placing the voltage of the anode (E32) on top of the capacitor, and the voltage of cathode E17 on the both of the capacitor in the holding circuit 314. As before, the differential amplifier 314 outputs the difference between the two (VE32 - VE17), and the resistance between then can then be calculated using the known current, I. [0080] Another significant issue addressed by system 290 involves clocking, the details of which are shown in Figure 10. Each of the devices (the microcontroller 305, the master IC 300, and the slave IC 300') requires clocks to function. Each requires clocks to run their internal functions ("internal clocks"), as well as clocks to communicate on the bus 297 ("bus clocks") according to the protocol described earlier (see Fig. 3B). For communications on the bus 297 to be orderly, the bus clocks should be synchronized at each of the devices. [0081] However, there may be times during operation of system 290 when certain internal or bus clocks are not needed. For example, when either the master IC 300 or slave IC 300' are performing an internal operation (e.g., providing stimulation) not requiring bus communications, bus clocking is not required, and only the devices' internal clocks need to be active. In another example, there may be periods of time when only the master IC 300 needs to be clocked. Consider the use of the system 290 when only electrodes on the master IC 300 (El-E16) are required for patient therapy. During such periods of time, the slave IC 300' may not need to be clocked at all, as that device will neither need to communicate on the bus 297 nor perform any internal operations. In short, not all of the devices in the system 290 will require their internal or bus clocks to be active at a given time. When a particular clock is not required, it is desirable to disable it: significant power can only be drawn during clock transitions, and so shutting down unnecessary clocks in the system save powers, which power is usually limited by the capacity of the battery 26 (Fig. 4B). The disclosed system therefore uses discrete bus and internal clocks in the system, which clocks can be selectively enabled or disabled as needed. Because independent control of particular clocks is desired, a master clock signal is not distributed by the bus 297, as will be made clear below. 21 6670596_1 (GHMatters) P93088.AU.1 PAULA [0082] Figure 10 shows the various internal and bus clocks. Microcontroller 305 uses clock signal BUSCLKpc to communicate on the bus 297, and uses clock CLKpc as its internal clock. As noted earlier, the bus protocol can operate relatively slowly, and so BUSCLKpc can be relatively slow, e.g., on the order of 100 kHz. By comparison, the internal clock signal CLKptc that runs the internal functions of the microcontroller 305 can be relatively fast, on the order of several MUz or more, or even GHzs if modern day processors are used. [0083] Master IC 300 uses clock signal BUSCLKm to communicate on the bus 297, and uses clock signal CLKm as its internal clock. Likewise, slave IC 300' uses clock signal BUSCLKs to communicate on the bus 297, and uses clock signal CLKs as its internal clock. As shown, each of the bus clocks BUSCLKm and BUSCLKs are provided to the various functional blocks (Blockl, Block 2) in their respective ICs, and more specifically to the bus interface circuitry 215 of such bocks. These functional blocks can comprise any of the functional blocks described earlier with respect to Figure 4B. The internal clocks CLKm and CLKs are used by the ICs to run internal functions. Although not shown, one important use for internal clocks is to provide reference clocking for the provision of stimulation to the electrodes, which can occur independently of bus communications (or more accurately, after bus communications have already provided the stimulation parameters). [0084] Figure 10 further illustrates how these various clocks are generated in the system 290, and specially shows the clock generation circuitry blocks 330 and 330' operating in the master and slave ICs 300 and 300' respectively. Communication on the bus 297 is controlled by microcontroller 305, which issues a control signal, BUSCLKen, when communications on the bus 297 are required, i.e., when the microcontroller 305 needs to send or receive data to or from either of the master or slave ICs 300 or 300'. This control signal BUSCLKen is sent to the corresponding input of the master IC 300, but not to the corresponding input of the slave IC 300' by virtue of off-chip routing as shown in Figures 4A and 10. [0085] Also received at the master IC 300 at input CLKIN (but not at the slave IC 300') is an initial clock signal, CLKi, generated off chip by a crystal oscillator 340. As will be seen, all of the internal and bus clock signals (expect for the 22 6670596_1 (GHMatters) P93088.AU.1 PAULA microcontroller's internal clock CLKptc) are generated from (and hence synchronized with) CLKi. It is assumed in Figure 10 that CLKi from the crystal oscillator 340 is of a proper frequency, which again may be on the order of 100 kHz. However, the signal from the crystal oscillator 340 may also be processed or buffered within the clock generator circuitry 330 to achieve an appropriate clock CLKi (not shown). Although use of a crystal oscillator 340 is shown, other types of clocking circuitries (e.g., ring oscillators) could also be used. Moreover, although CLKi is shown in Figure 10 as generated off-chip, an on-chip clock generator could also be used. In this case, the M/S controllers 350 and 350' could be used to enable the on-chip clock generator in the master IC 300, but to disable that same generator in the slave IC 300'. CLKi is generally always running, provided the battery 26 in the IPG has not depleted. [0086] CLKi is ANDed with control signal BUSCLKen at AND gate 360 to produce the communication clock BUSCLKptC for the microcontroller 305 at output CLKOUT1. This results in BUSCLKptC being active (and synchronized with CLKi) when BUSCLKen is asserted, and grounded when BUSCLKen is not asserted. Note that the corresponding input for BUSCLKen is grounded in the slave IC 300', which grounds the output to AND gate 360', inactivating output CLKOUT1 on the slave, as represented by the dotted lines. [0087] Once BUSCLKptC is active and the microcontroller 305 can communicate on the bus 297, the microcontroller 305, acting as the system master, can assess which clocks in the master and slave ICs 300 and 300' need to be enabled. Depending on that assessment, the microcontroller 305 can write via the bus 297 to registers 380 and 380' in the master and slave respectively. Specifically shown are three register bits, E, B, and I, which stand for "external," "bus," and "internal." B and B' comprise enable signals for generation of the bus clocks BUSCLKm and BUSCLKs respectively. I and I' comprise enable signals for generation of the internal clocks CLKm and CLKs respectively. (Each of the master and slave can have more than one internal clock, and hence more than one internal clock register value, but only one such clock in shown in Figure 10 for simplicity). E comprises an enable signal for porting a clock external to the IC 300 (CLKext) to a downstream slave IC such as 300'. Register values E, B, and I 23 6670596_1 (GHMatters) P93088.AU.1 PAULA are each accessible at their own addresses (e.g., ADDRx, ADDRy, and ADDRz), and each of these addresses can be selectively written to by the microcontroller 305 using the chip select signals CS m and CSs discussed earlier. [0088] Starting with the master IC 300, notice that the bus interface circuitry 215 receives the initial clock, CLKi. Because the microcontroller 305's bus clock BUSCLKpc is synchronous with CLKi, this enables register values E, B, and I in register 380 to be set by the microcontroller 305 even though the microcontroller has not yet enabled the remainder of the master IC 300 to fully communicate on the bus 297. Should master IC 300 require its bus clock BUSCLKm to communicate with the microcontroller 305, register value B would be set high by the microcontroller 305. Should master IC 300 require its internal clock CLKm, register value I would be set. When not needed, these registers would be set low. Such register values may default to a high state upon initialization. Like BUSCLKptc, BUSCLKm and CLKm are generated from CLKi using AND gates 365 and 366 respectively, with register values B and I enabling those clocks. As noted earlier, BUSCLKm is sent to the interface circuitry 215 in all other functional blocks within the master IC 300, thus enabling full communication between the microcontroller 305 and all functions in the master IC 300 when BUSCLKm is enabled. [0089] It should be noted that registers B and I are not strictly required in the master IC 300 in all useful embodiments of system 297. Instead, the initial clock signal CLKi can be used directly as the master bus clock BUSCLKm and as the master internal clock CLKm. However, doing so would however prevent the microcontroller 305 from selectively disabling those clock signals at useful times during operation of the system. [0090] The slave IC 300' only receives a clock issued by the master IC 300, namely clock signal CLKext. This occurs when the microcontroller 305 sets the external register E in the master IC 300. Like BUSCLKpc, BUSCLKm, and CLKm, CLKext is formed by ANDing an enable signal (in this case, E) with CLKi, and therefore CLKext is synchronized with all of these other clocks. As shown in Figure 10, CLKext is output from the master IC 300 and is received at the slave IC 300' at the CLKIN input in the master, effectively taking CLKi's 24 6670596_1 (GHMatters) P93088.AU.1 PAULA place in the slave. If operation of the slave IC 300' is not required-if slave IC 300' require neither a bus nor internal clock-E is set low, which will ground CLKext and disable the clock signal to the slave IC 300'. Without receipt of a clock signal, the slave IC 300' will draw only nominal power. [0091] If the slave IC 300' is to be operational, E is set high at the master IC 300 and CLKext is enabled. Thereafter, the microcontroller 305 can set the various registers B' and I' in the slave IC 300' depending on whether a bus clock (BUSCLKs) and/or internal clock (CLKs) is required at a given point in time. (Corresponding register E' in the slave IC 300' is irrelevant in the embodiment shown, as the system 290 contains no further downstream slave ICs. As such, the effect of register E' in the slave IC 300' has been depicted with dotted lines). Writing to registers B' and I' occurs at the same addressees (ADDRy and ADDRz) as registers B and I in the master, but with CS s = 1. The status of B' and I' respectively determine whether clocks BUSCLKs and CLKs are enabled, and in the slave these enable signals are ANDed with CLKext at AND gates 365' and 366' respectively. BUSCLKs is sent to the interface circuitry 215 in all other functional blocks within the slave IC 300'. However, this does not necessarily mean that all circuit blocks in the slave will be operative, or that full communications with the slave IC 300' can be had. By way of review, certain circuit blocks in the slave IC 300' will have their interface circuitry 215 disabled by the MIS controller 350' (see Fig. 4C), and thus will be unable to communicate on the bus 297, despite receipt of BUSCLKs. [0092] Because CLKext is ultimately derived from CLKi in the master, clocks BUSCLKs and CLKs are also synchronized with CLKi. To summarize, all of clocks BUSCLKptc, BUSCLKm, BUSCLKs, CLKm and CLKs are synchronized with CLKi, and all will have the same frequency (again, about 100 kHz). Any small delays between these clocks caused by routing or gating are irrelevant given the relatively low operating speed of CLKi. Synchronization is particularly important as concerns the bus clocks, which need to be synchronized for reliable communications on the bus 297. However, synchronization of the internal clocks is important as well to ensure synchronicity in the internal operations between the master and slave, such as during the provision of a stimulation pulse. 25 6670596_1 (GHMatters) P93088.AU.1 PAULA [0093] It should be noted again that registers B' and I' are not strictly required in the slave IC 300' in all useful embodiments of system 297. Instead, the external clock signal CLKext can be used directly as the slave bus clock BUSCLKs and as the slave internal clock CLKs. However, doing so would however prevent the microcontroller 305 from selectively disabling those clock signals at useful times during operation of the system. [0094] To summarize, by setting register values E, B, I, B', and I', the microcontroller 305 can selectively control the various bus and internal clocks signals needed by the master and slave IC 300'. Importantly, at periods in time when the slave IC 300' is not needed by the system, its clocks can be completely disabled (by setting E low in the master), or partially (by setting E high in the master, but by setting either or both of B' and I' low). [0095] Although Figure 10 depicts only a single master and slave IC, note that the technique is extendible to control the clock of additional downstream slave ICs. [0096] 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. [0097] In the claims that follow and in the preceding description of the invention, except where the context requires otherwise owing to express language or necessary implication, the word "comprise" or variations such as "comprises" or "comprising" is used in an inclusive sense, that is, to specify the presence of the stated features but not to preclude the presence or addition of further features in various embodiments of the invention. [0098] Further, any reference herein to prior art is not intended to imply that such prior art forms or formed a part of the common general knowledge in any country. 26 6670596_1 (GHMatters) P93088.AU.1 PAULA

Claims (21)

1. An implantable stimulator device comprising a plurality of first electrodes and a plurality of second electrodes configured to provide stimulation to a patient's tissue, comprising: a first integrated circuit, the first integrated circuit comprising a first stimulation circuitry block for controlling stimulation of the plurality of first electrodes, and a plurality of first functional blocks; and a second integrated circuit identical in construction to the first integrated circuit, the second integrated circuit comprising a second stimulation circuitry block identical to the first stimulation circuitry block for controlling stimulation of the plurality of second electrodes, and a plurality of second functional blocks identical to the plurality of first functional blocks, wherein the plurality of first functional blocks are enabled, and wherein the plurality of second functional blocks are disabled.
2. The device of claim 1, further comprising: a bus; a first input to the first integrated circuit; a second input to the second integrated circuit, wherein the first input is set to enable communication between of the plurality of first functional blocks and the bus, and wherein the second input is set to disable communication between the plurality of second functional blocks and the bus.
3. The device of either claim 1 or 2, further comprising a telemetry antenna for receiving and transmitting data from and to an external controller, wherein one of the plurality of first functional blocks comprises a first telemetry circuitry block coupled to the telemetry antenna, and wherein one of the plurality of second 27 6670596_1 (GHMatters) P93088.AU.1 PAULA functional blocks comprises a second telemetry circuitry block not coupled to the telemetry antenna.
4. The device of any one of claims 1 to 3, further comprising a battery with a battery voltage, and wherein one of the plurality of first functional blocks comprises a first charging block for charging the battery, and wherein one of the plurality of second functional blocks comprises a second charging block.
5. The device of claim 4, wherein the battery voltage is routed to both the first and second integrated circuits.
6. The device of claim 4, further comprising a charging antenna for receiving power from an external charger, wherein the charging antenna is coupled to the first charging block, and wherein the charging antenna is not coupled to the second charging block.
7. The device of any one of claims I to 6, wherein one of the plurality of first functional blocks comprises a first compliance voltage generation block for generating a compliance voltage for the first and second stimulation circuitry blocks, wherein one of the plurality of second functional blocks comprises a second compliance voltage generation block.
8. The device of any one of claims 1 to 7, wherein the first integrated circuit further comprises a first master/slave controller, and wherein the second integrated circuit further comprises a second master/slave controller identical to the first master slave controller, and wherein the first master/slave controller enables the plurality of first functional blocks, and wherein the second master/slave controller disables the plurality of second functional blocks.
9. An implantable stimulator device, comprising: a first integrated circuit comprising a plurality of first electrodes configured to provide stimulation to a patient's tissue; 28 6670596_1 (GHMatters) P93088.AU.1 PAULA a second integrated circuit comprising a plurality of second electrodes configured to provide stimulation to the patient's tissue; an initial clock signal received at the first integrated circuit; an external clock signal issuing from the first integrated circuit and derived from the initial clock signal, the external clock received at the second integrated circuit; and a bus in communication with the first and second integrated circuits, wherein the external clock signal is selectively enabled at the first integrated circuit by an external clock enable signal via a command from the bus.
10. The device of claim 9, wherein the initial clock signal is provided by an oscillator circuit.
11. The device of either claim 9 or 10, wherein the oscillator circuit comprises a crystal oscillator external to the first integrated circuit.
12. The device of any one of claims 9 to 11, further comprising a register in the first integrated circuit for receiving the command and for setting the external clock enable signal.
13. The device of any one of claims 9 to 12, wherein: i) the external clock signal is formed by ANDing the initial clock signal with the external clock enable signal, and/or ii) the command is issued from a microcontroller separate from the first integrated circuit.
14. An implantable stimulator device, comprising: a first integrated circuit comprising a plurality of first electrodes configured to provide stimulation to a patient's tissue, the first integrated circuit for receiving an initial clock signal and for 29 6670596_1 (GHMatters) P93088.AU.1 PAULA selectively issuing an external clock signal and a microcontroller bus clock signal derived from the initial clock signal; a second integrated circuit comprising a plurality of second electrodes configured to provide stimulation to the patient's tissue, the second integrated circuit receiving the external clock signal; and a microcontroller external to the first and second integrated circuits receiving the microcontroller bus clock signal.
15. The device of claim 14, further comprising a bus in communication with the first and second integrated circuits and the microcontroller.
16. The device of claim 15, wherein the first integrated circuit comprises first logic circuitry for deriving a first internal clock signal and a first bus clock signal from the initial clock signal, and wherein the second integrated circuit comprises second logic circuitry for deriving a second internal clock signal and a second bus clock signal from the external clock signal.
17. The device of claim 16, wherein the first bus clock enables the first integrated circuit to communicate on the bus, and wherein the second bus clock enables the second integrated circuit to communicate on the bus.
18. The device of either claim 16 or 17, wherein the first internal clock signal, the first bus clock signal, the second internal clock signal, and the second bus clock signal are selectively enabled by the microcontroller.
19. The device of any one of claims 14 to 18, wherein the first integrated circuit receives an enable signal from the microcontroller, and wherein the microcontroller bus clock signal is formed by ANDing the enable signal with the initial clock signal.
20. The device of any one of claims 14 to 19, wherein the microcontroller bus clock signal: 30 6670596_1 (GHMatters) P93088.AU.1 PAULA i) enables the microcontroller to communicate on the bus, and/or ii) is distinct from an internal microcontroller clock.
21. The device of any one of claims 14 to 20, wherein the initial clock signal, the external clock signal, and the microcontroller bus clock signal are synchronized. 31 6670596_1 (GHMatters) P93088.AU.1 PAULA
AU2015203779A 2010-10-13 2015-07-07 Architectures for an Implantable Medical Device System Having Daisy-Chained Electrode-Driver Integrated Circuits Abandoned AU2015203779A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2015203779A AU2015203779A1 (en) 2010-10-13 2015-07-07 Architectures for an Implantable Medical Device System Having Daisy-Chained Electrode-Driver Integrated Circuits

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US61/392,594 2010-10-13
AU2011313977A AU2011313977B2 (en) 2010-10-13 2011-10-03 Architectures for an implantable medical device system having daisy-chained electrode-drive integrated circuits
AU2015203779A AU2015203779A1 (en) 2010-10-13 2015-07-07 Architectures for an Implantable Medical Device System Having Daisy-Chained Electrode-Driver Integrated Circuits

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
AU2011313977A Division AU2011313977B2 (en) 2010-10-13 2011-10-03 Architectures for an implantable medical device system having daisy-chained electrode-drive integrated circuits

Publications (1)

Publication Number Publication Date
AU2015203779A1 true AU2015203779A1 (en) 2015-07-30

Family

ID=53716704

Family Applications (1)

Application Number Title Priority Date Filing Date
AU2015203779A Abandoned AU2015203779A1 (en) 2010-10-13 2015-07-07 Architectures for an Implantable Medical Device System Having Daisy-Chained Electrode-Driver Integrated Circuits

Country Status (1)

Country Link
AU (1) AU2015203779A1 (en)

Similar Documents

Publication Publication Date Title
US9962551B2 (en) Monitoring electrode voltages in an implantable medical device system having daisy-chained electrode-driver integrated circuits
AU2011313977B2 (en) Architectures for an implantable medical device system having daisy-chained electrode-drive integrated circuits
EP3509692B1 (en) Pulse definition circuitry for creating stimulation waveforms in an implantable pulse generator
EP3509687B1 (en) Pulse definition circuitry for creating stimulation waveforms in an implantable pulse generator
CA3033554A1 (en) Pulse definition circuitry for creating stimulation waveforms in an implantable pulse generator
AU2017204027B2 (en) Monitoring electrode voltages in an implantable medical device system having daisy-chained electrode-driver integrated circuits
AU2015203779A1 (en) Architectures for an Implantable Medical Device System Having Daisy-Chained Electrode-Driver Integrated Circuits

Legal Events

Date Code Title Description
MK5 Application lapsed section 142(2)(e) - patent request and compl. specification not accepted