TB3073 Implementing a 10-Bit Digital Potentiometer using a Quad 8-Bit Digital Potentiometer Technical Brief Mark Palmer Microchip Technology Inc. FIGURE 1: POR/BOR Event Digital Potentiometer INTRODUCTION RxA = 1 This technical brief will discuss how using the Terminal Control feature of Microchip’s digital potentiometers allows a higher resolution digital potentiometer to be implemented. PxA RxW = 1 Using a quad 8-bit digital potentiometer allows a 10-bit digital potentiometer to be implemented, while a dual 8-bit digital potentiometer allows a 9-bit digital potentiometer to be implemented. Limitations of this implementation will be covered so that application issues may be understood. These limitations may be an acceptable trade-off to the possible cost savings. RxB = 1 The Terminal Control operation is shown in Figure 1 for all terminals connected (RxA, RxW, and RxB bits = 1, default state after a POR/BOR event), while Figure 2 shows the Terminal Control operation for all terminals disconnected (the RxA, RxW, and RxB bits = 0), where the “x” refers to the resistor network selected (0, 1, 2, or 3). Implementing a higher resolution digital potentiometer requires that all the A and B terminals are connected (RxA and RxB bits = 1) and all W pins are externally shorted together. With this configuration, only one of the W pins can be connected to the resistor network at any one time. If two or more W pins are connected to the resistor networks, then the higher resolution digital potentiometer RAB resistance will be affected. 2013 Microchip Technology Inc. PxW PxB Model Digital Potentiometer RSxA OVERVIEW PxA RAB The Terminal Control feature allows any of the three digital potentiometer terminals (A, W, or B) of the resistor network to be disconnected from the device’s pins. The default state of the TCON register is terminals connected. The number of TCON registers is determined by the number of resistor networks on the device. For this discussion we will use a quad resistor network digital potentiometer, which is either the MCP43x1 or MCP44x1 device. The TCON registers bits are shown in Register 1. Terminal Connections After RSxW PxW RSxB FIGURE 2: Terminals Open A 8-bit RAB Author: PxB B Terminal Connections – All Digital Potentiometer RxA = 0 PxA RxW = 0 RxB = 0 PxW PxB DS93073A-page 1 TB3073 Figure 3 shows the block diagram for the MCP4461 device, which is a quad output 8-bit nonvolatile digital potentiometer with I2C™ serial interface. MCP4461 Device Block Diagram (8-bit Nonvolatile with I2C Serial Interface) FIGURE 3: VDD VSS A1 HVC/A0 SCL SDA WP RESET Power-up/ Brown-out Control Resistor Network 0 (Pot 0) I2C™ Serial Interface Module & Control Logic (WiperLock™ Technology) Wiper 0 & TCON0 Register Memory (16x9) Wiper0 (V & NV) Wiper1 (V & NV) Wiper2 (V & NV) Wiper3 (V & NV) TCON0 TCON1 STATUS Data EEPROM (5 x 9-bits) Resistor Network 1 (Pot 1) Wiper 1 & TCON0 Register Resistor Network 2 (Pot 2) Wiper 2 & TCON1 Register Resistor Network 3 (Pot 3) Wiper 3 & TCON1 Register DS93073A-page 2 P0A P0W P0B P1A P1W P1B P2A P2W P2B P3A P3W P3B 2013 Microchip Technology Inc. TB3073 REGISTER 1: TCON REGISTER BITS Control Bit with POR/BOR State Register R-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 TCON0 D8 R1HW R1A R1W R1B R0HW R0A R0W R0B TCON1 D8 R3HW R3A R3W R3B R2HW R2A R2W R2B bit 8 bit 0 Legend: R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’ -n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown bit 8 D8: Reserved. Forced to “1” bit 7 R1HW or R3HW: Resistor Network 1 / 3 Hardware Configuration Control bit This bit forces Resistor Network 1 / 3 into the “shutdown” configuration of the Hardware pin 1 = Resistor Network 1 / 3 is NOT forced to the hardware pin “shutdown” configuration 0 = Resistor Network 1 / 3 is forced to the hardware pin “shutdown” configuration bit 6 R1A or R3A: Resistor Network 1 / 3 Terminal A (P1A/P3A pin) Connect Control bit This bit connects/disconnects the Resistor Network 1 / 3 Terminal A to the Resistor 1 / 3 Terminal A Pin 1 = P1A/P3A pin is connected to the Resistor Network 1 / 3 Terminal A 0 = P1A/P3A pin is disconnected from the Resistor Network 1 / 3 Terminal A bit 5 R1W or R3W: Resistor Network 1 / 3 Wiper (P1W/P3W pin) Connect Control bit This bit connects/disconnects the Resistor Network 1 / 3 Wiper to the Resistor 1 / 3 Terminal W Pin 1 = P1W/P3W pin is connected to the Resistor Network 1 / 3 Terminal W 0 = P1W/P3W pin is disconnected from the Resistor Network 1 / 3 Terminal W bit 4 R1B or R3B: Resistor Network 1 / 3 Terminal B (P1B/P3B pin) Connect Control bit This bit connects/disconnects the Resistor Network 1 / 3 Terminal B to the Resistor 1 / 3 Terminal B Pin 1 = P1B/P3B pin is connected to the Resistor Network 1 / 3 Terminal B 0 = P1B/P3B pin is disconnected from the Resistor Network 1 / 3 Terminal B bit 3 R0HW or R2HW: Resistor Network 0 / 2 Hardware Configuration Control bit This bit forces Resistor Network 0 / 2 into the “shutdown” configuration of the Hardware pin 1 = Resistor Network 0 / 2 is NOT forced to the hardware pin “shutdown” configuration 0 = Resistor Network 0 / 2 is forced to the hardware pin “shutdown” configuration bit 2 R0A or R2A: Resistor Network 0 / 2 Terminal A (P0A/P2A pin) Connect Control bit This bit connects/disconnects the Resistor Network 0 / 2 Terminal A to the Resistor 0 / 2 Terminal A Pin 1 = P0A/P2A pin is connected to the Resistor Network 0 / 2 Terminal A 0 = P0A/P2A pin is disconnected from the Resistor Network 0 / 2 Terminal A bit 1 R0W or R2W: Resistor Network 0 / 2 Wiper (P0W/P2W pin) Connect Control bit This bit connects/disconnects the Resistor Network 0 / 2 Wiper to the Resistor 0 / 2 Terminal W Pin This bit connects/disconnects the Resistor 0 Wiper to the Resistor 0 Network 1 = P0W/P2W pin is connected to the Resistor Network 0 / 2 Terminal W 0 = P0W/P2W pin is disconnected from the Resistor Network 0 / 2 Terminal W bit 0 R0B or R2B: Resistor Network 0 / 2 Terminal B (P0B/P2B pin) Connect Control bit This bit connects/disconnects the Resistor Network 0 / 2 Terminal B to the Resistor 0 / 2 Terminal B Pin 1 = P0B/P2B pin is connected to the Resistor Network 0 / 2 Terminal B 0 = P0B/P2B pin is disconnected from the Resistor Network 0 / 2 Terminal B Note 1: These bits do not affect the wiper register values. 2013 Microchip Technology Inc. DS93073A-page 3 TB3073 IMPLEMENTATION resistance. So, if the 8-bit resistor network resistances are 5k, then the 10-bit RAB resistance (RAB-10) is 20 k. Figure 4 shows the connections of the four 8-bit resistor networks of a quad digital potentiometer device (MCP4351/61 or MCP4451/61) to implement a single 10-bit digital potentiometer. To achieve this, only one of the four wiper terminals may be connected at a time (the other three are disconnected, which is floating). Also, the A terminal of resistor network 0 is connected to the B terminal of resistor network 1, the A terminal of resistor network 1 is connected to the B terminal of resistor network 2, and the A terminal of resistor network 2 is connected to the B terminal of resistor network 3. This means that the implemented 10-bit RAB (RAB-10) resistance is four times the 8-bit RAB (RAB-08) 10-bit Resistor Network Implementation Diagram (using four 8-bit Resistor Networks). P3A R3A = 1 A R3W P3B R2B = 1 C1(1) P1W R1W (2) P1A RAB R2W P2B R2B W R1A P1W RAB R1A = 1 P2W R1W P1B P0A R0A P0W R0B = 1 10-bit Digital Potentiometer P0B R0W B P0A RAB R0W (2) R1B RAB P0W P1A P1B R1B = 1 R0A = 1 P2A RAB P2B W R2A P2A 10-bit RAB (RAB-10) R2W (2) R3B RAB P2W A P3B R3B = 1 R2A = 1 P3A R3A P3W RAB R3W (2) MCP43xx or MCP44xx 10-bit RAB (RAB-10) (3) MCP43xx or MCP44xx P3W After POR, and before writing to the TCON registers, the RAB-10 resistance will be ~ the RAB-08 resistance since all wiper terminals are connected and the wiper will be at mid-scale (volatile devices or NV devices where NV Wiper 0 and NV Wiper 3 = mid-scale). So, after POR and until the device is configured, the RAB-10 resistance approximately equals the RAB-08 resistance. RAB FIGURE 4: Note: R0B P0B B 10-bit Digital Potentiometer after POR/BOR Note 1: Optional, application dependant. 2: Typically only one of these wiper switches will be closed at a time. 3: After POR/BOR event, the effective resistance is shown as blue path. DS93073A-page 4 2013 Microchip Technology Inc. TB3073 FIGURE 5: 10-bit Implementation Model (for Wiper Value between 100h and 1FFh) P3W So, using typical switch resistance values (75), the switch resistance between each 8-bit digital potentiometer (RS0A + RS1B, RS1A + RS2B, and RS2A + RS3B) is 150. This will affect the VW output voltage for the output code of RAB(n) at Full Scale and RAB(n+1) at Zero Scale. Due to the terminal switches being analog switches (NMOS and PMOS transistors in parallel), the RON resistance of the analog switch will depend on several factors which include the device VDD voltage, the voltages at P3A, P0B, and W. W is the 10-bit wiper, which is the P0W, P1W, P2W, and P3W pins shorted together. This variation of the analog switch resistance will effect the step voltages between the 8-bit resistor networks, which can be seen when setting the wiper connections to VFS1 and VZS2. These voltages will determine the voltages at P3B/P2A, P2B/P1A, and P1B/P0A, as well as currents through the resistor network elements, and the device temperature. P3A A VZS3 RS2A + RS3B R2W = 0 VZS2 RS1A + RS2B W VFS1 C1 P1W R1W = 1 10-bit RAB (RAB-10) P2W RAB-08’ (2) VFS2 RAB-08’ (1) The value of these switch resistances are determined by factors such as device VDD voltage, applied terminal voltages (RS3A, RS0B, and the Wiper), and device temperature. Therefore, as the RAB-10 resistance increases, as a result of having multiple RAB-08 resistances in series, the Zero-Scale and Full-Scale errors decrease approximately proportionally. That is to say, doubling the RAB-10 resistance will reduce the Zero-Scale and Full-Scale errors by half. R3W = 0 RS3A RAB-08’ (3) VFS3 VZS1 RS0A + RS1B VFS0 P0W R0W = 0 RAB-08’ (0) The Implementation shown in Figure 4 can be modeled as shown in Figure 5. The analog switches for each Terminal A and Terminal B connections will add resistance to the resistor ladder. The use of a larger RAB resistance device, such as 100 k, is one method to minimize the errors due to the analog switch resistance (see Table 2). VZS0 RS0B P0B B Note: RSxA and RSxB are the resistances associated with the analog switches connecting the A terminal to the A pin and the B terminal to the B pin. 2013 Microchip Technology Inc. DS93073A-page 5 TB3073 TRANSITIONS BETWEEN 8-BIT RESISTOR NETWORKS IN 10-BIT RESISTOR LADDER FOUR SINGLE POTENTIOMETERS OR A SINGLE QUAD POTENTIOMETER? To reduce the transition error that occurs between RAB-08 (x) and RAB-08 (x+1) both wiper switches can be connected to the resistor network (see example in Figure 6). This will cause the Wiper voltage (VW) to be at approximately the mid-point of RAB-08 (x)@FS and RAB-08 (x+1)@ZS. Doing this will have a minimal effect on the RAB-10 resistance. This is due to the two wiper resistances (RS1W and RS2W) being in parallel with the Terminal A and Terminal B switch resistances (RS1A and RS2B). In Figure 6, the RAB-10 resistance is decreased where the (RS2B + RS1A) resistance is changed from (RS2B + RS1A) to ( (RS2W + RS1W) || (RS2B + RS1A) ). It is recommended to use a single quad potentiometer since each of the potentiometers on that single die will have similar characteristics including the tempco. FIGURE 6: 10-bit Implementation Model for Value at Full-Scale/Zero-Scale Transition P3W P3A A RAB-08 (3) VFS3 RS3A R3W VZS3 VFS2 P1W RAB-08 (2) RS2W R2W = 1 RS1W R1W = 1 VZS2 RS1A + RS2B VFS1 10-bit RAB (RAB-10) P2W VZS1 RS0A + RS1B RAB-08 (0) VFS0 P0W R0W VZS0 RS0B EXAMPLE VARIATION OF VS WHEN USING FOUR SINGLE POTENTIOMETERS (1) RAB3 (2) RAB2 (2) RAB1 (2) RAB0 (2) RAB-08 (1) C1 Table 1 shows that for the four devices whose resistor networks are shown in Table 3, the step voltage (VS) will vary based on which of the four 8-bit resistor networks is currently controlling the wiper voltage (VW). The variation can range from a step voltage of approximately 3.9 mV to approximately 5.9 mV for the different devices used to form the RAB-10 resistor network. TABLE 1: RS2A + RS3B W Four resistor networks on the same die will have very similar RAB resistances, as specified by the “Nominal Resistance Match” electrical specification. The typical variation for the MCP4461 is 0.2%. When the four RAB resistors are on different die, the variation is +/- 20% from the typical value. So, with a 5 k typical device the resistance could range from 4 k to 6 k. Table 2 calculates 10-bit RAB (RAB-10) for a quad digital potentiometer with the typical RAB-08 value, while Table 3 shows an example of the potential variation using four single digital potentiometers. P0B B 5,000 4,000 6,000 4,200 VFSx (3) (V) 4.9805 3.6784 2.6367 1.0742 VZSx (4) (V) 3.7174 2.6758 1.1133 0.0195 4.934 3.916 5.951 4.120 VS (5) (mV) Note 1: Potentiometer RAB3 is at the top of the ladder, Terminal A is connected to 5V, and Potentiometer RAB0 is at the bottom of the ladder, Terminal B is connected to VSS. 2: Includes the Terminal A and Terminal B Switch Resistance. For this example, RSxA and RSxB are 75 3: The Full-Scale voltage is determined by the RABx resistance and the Terminal A Switch Resistance (75 for this example). 4: The Zero-Scale voltage is determined by the RABx resistance and the Terminal B Switch Resistance (75 for this example). 5: The Step voltage (VS): VS = (VFS - VZS) / (# of RS) Note: RSxA and RSxB are the resistances associated with the analog switches connecting the A terminal to the A pin and the B terminal to the B pin. DS93073A-page 6 2013 Microchip Technology Inc. TB3073 TABLE 2: CALCULATING 10-BIT RAB (WITH QUAD 8-BIT DEVICE) 8-bit (Typ.) 10-bit RAB-10 (Typ.) (1) RSxA RSxB 10,000 50,000 100,000 Note 1: 2: 3: (1,2) 75 75 Comments RAB’ RS0A + RS1B, RS (3) in LSb Relative (RAB - RSxA - RSxB) 4*RAB-08 RS1A + RS2B, to RS (RS = 1 LSb) RS2A + RS3B 150 / 7.92 18.95 75 75 9,850 38.48 40,000 150 150 / 3.90 38.48 75 75 49,850 194.73 200,000 150 150 / 0.77 194.73 75 75 99,850 390.04 400,000 150 150 / 0.38 Allows best 390.04 performance Switch Resistance is dependant on many issues including device VDD voltage, voltages on the analog switches source and drain, temperature, current through switch. The effects of the analog switch resistance (RSxA, RSxB) decreases as the 8-bit RAB values increases. The Step Resistance (RS) equals the RAB’ divided by the number of Step Resistors (RS = RAB’ /(# of RS) ). TABLE 3: 4,850 18.95 20,000 150 EXAMPLE DEVICE TO DEVICE VARIATION IF USING 4 SINGLE 8-BIT DEVICES 8-bit Note 1: 2: 3: 4: 22.86 46.29 233.79 468.17 4,200 8,400 42,000 84,000 RS3 (4) 5,850 11,850 59,850 119,850 RAB3’ (3) RAB3 3,850 15.04 6,000 7,850 30.67 12,000 39,850 155.67 60,000 79,850 311.92 120,000 RAB-10 (Typ.) (1, 2) Device 3 RS2 (4) RAB2 RS1 (4) Device 2 (max. case) RAB2’ (3) 5,000 4,850 18.95 4,000 10,000 9,850 38.48 8,000 50,000 49,850 194.73 40,000 100,000 99,850 390.04 80,000 RAB1’ (3) Device 1 (min. case) RAB1 RS0 (4) RAB0 RAB0’ (3) Device 0 (typical case) 10-bit 4,050 15.83 19,200 8,250 32.23 38,400 41,850 163.48 192,000 83,850 327.54 384,000 RS0A + RS1B, RS1A + RS2B, RS2A + RS3B 5,000 (1,2) RAB0 + RAB1 + RAB2 + RAB3 RAB-08 8-bit Transition Error (Typ.) (1) 150 150 150 150 Switch Resistance is dependant on many issues including device VDD voltage, voltages on the analog switches source and drain, temperature, current through switch. The effects of the analog switch resistance (RSxA, RSxB) decreases as the 8-bit RAB values increases. The RSxA and RSxB resistance is a typical 75. The Step Resistance (RS) equals the RAB’ divided by the number of Step Resistors (RS = RAB’ /(# of RS) ). 2013 Microchip Technology Inc. DS93073A-page 7 TB3073 EXAMPLE STEPS FOR CONTROLLING THE FOUR 8-BIT RESISTOR NETWORKS FOR 10-BIT OPERATION With two wiper control bits in each TCON register, the initialization sequence may require up to three serial commands to update the RAB-10 wiper position (VW). Example 1 shows a possible sequence of events and operations to control the operation of the 10-bit digital potentiometer. Table 4 shows how to use the upper two bits (D9:D8) of the 10-bit wiper code to select the correct Resistor Network to have the wiper connected to. EXAMPLE 1: Step D9:D8 TABLE 4: 00 01 10 11 DECODING 10-BIT CODES TO FOUR 8-BIT CODES D7:D0 xxxx xxxx xxxx xxxx Resistor Network After Power-on Reset (POR) all wiper terminals are connected to the external pins. With P0W and P3W shorted together the effective RAB-10 resistance will be approximately the RAB-08 resistance. This is due to the Resistor Network 0 wiper is at mid-scale and the Resistor Network 3 wiper is at mid-scale. With both wipers connected to their respective resistor network and externally shorted together, the effective resistance becomes approximately RAB-08. xxxx xxxx xxxx xxxx Event/Operation Action RAB-10 VW (1) Mid-Scale 5 k (VA-VB) / 2 2 — Write TCON1 = DDh — 15 k (VA-VB) / 3 3 — Write TCON0 = DDh Floating 20 k (VA-VB) / 3 4 — Write Wiper 2 = 0 — 20 k (VA-VB) / 3 5 6 — Change 10-bit Wiper to 37Fh — TCON1 = DFh Write Wiper 3 = 7Fh 200h 200h 20 k 20 k (VA-VB) / 2 (VA-VB) / 2 Write TCON1 = FDh 37Fh 20 k 37Fh / 3FFh Write Wiper 0 = 5Ah 37Fh 20 k 37Fh / 3FFh 9 Change 10-bit Wiper to 05Ah — Write TCON1 = DDh Floating 20 k 37Fh / 3FFh 10 — Write TCON0 = DFh 05Ah 20 k 05Ah / 3FFh 11 Change 10-bit Wiper to 0A5h Change 10-bit Wiper to 1A5h — Write Wiper 0 = A5h 0A5h 20 k 0A5h / 3FFh Write Wiper 1 = 5Ah 0A5h 20 k 0A5h / 3FFh Write TCON0 = FDh 1A5h 20 k 1A5h / 3FFh — Unknown 1A5h / 3FFh 12 13 14 — 10-Bit Wiper Power-Up (POR) 8 R3W R2W R1W R0W 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 EXAMPLE 10-BIT STATES AND SEQUENCES 1 7 0 1 2 3 Wiper TCON Bit States Brown-Out (BOR) — (2) Comment This is due to P0W and P3W being shorted together, VW = Mid-Scale P3W and P2W are disconnected P1W and P0W are disconnected 10-bit POR value will be Mid-Scale Wiper is at Mid-Scale Resistor Network 3 Wiper = 7Fh. (2) (2) External Capacitor holds VW at ~ 37Fh voltage (2) (2) (2) (2) (2,3) 15 Power-Up (POR) — Mid-Scale 5 k (VA - VB) / 2 Go back to Step 2 Note 1: For this example, voltage on terminal A (VA) higher than voltage on terminal B (VB). 2: This is the ratio for the voltage between the VA and VB voltages. 3: Volatile register values may become corrupted. This means that the Wiper register value may change and or the Terminal Control bits may change. DS93073A-page 8 2013 Microchip Technology Inc. TB3073 PSEUDO CODE FOR AN 8-BIT MICROCONTROLLER Example 2 shows example pseudo code to update the 10-bit digital potentiometer which is implemented as four 8-bit potentiometers in series. The 10-bit wiper code value requires two 8-bit registers. We will name the registers: • WIPER_H • WIPER_L EXAMPLE 2: The WIPER_L register contains the lower 8-bits of the 10-bit wiper code, while the The WIPER_H register contains the upper 2-bits of the 10-bit wiper code. A variable OLD_TCON_PTR will indicate if last write used TCON0 or TCON1. This pseudo code is written as a routine that is called when the 10-bit wiper value is to be updated. So once the operation is complete, this routine “returns” to the calling function. EXAMPLE PSEUDO CODE TO UPDATE THE RAB-10 POTENTIOMETER Label Operation Comment UPDATE_DP WIPER_H AND 03h ; Ensure that only bits 1 and 0 can be non-zero IF WIPER_H == 0h, Goto RAB0 ; Check if Wiper code is in 1st 25% range IF WIPER_H == 1h, Goto RAB1 ; Check if Wiper code is in 2nd 25% range IF WIPER_H == 2h, Goto RAB2 ; Check if Wiper code is in 3rd 25% range IF WIPER_H == 3h, Goto RAB3 ; Check if Wiper code is in 4th 25% range RAB0 IF OLD_TCON_PTR == 0, Write TCON0 = DDh ; Both Wiper0 and Wiper1 are disconnected IF OLD_TCON_PTR == 1, Write TCON1 = DDh ; Both Wiper2 and Wiper3 are disconnected RAB1 Wiper0 = WIPER_L ; Wiper0 Register is loaded with 8-bit value TCON0 = DFh ; Wiper0 is now connected OLD_TCON_PTR = 0 ; Pointer indicates TCON0 RETURN ; Return to calling routine IF OLD_TCON_PTR == 0, Write TCON0 = DDh ; Both Wiper0 and Wiper1 are disconnected IF OLD_TCON_PTR == 1, Write TCON1 = DDh ; Both Wiper2 and Wiper3 are disconnected RAB2 Wiper1 = WIPER_L ; Wiper1 Register is loaded with 8-bit value TCON0 = FDh ; Wiper1 is now connected OLD_TCON_PTR = 0 ; Pointer indicates TCON0 RETURN ; Return to calling routine IF OLD_TCON_PTR == 0, Write TCON0 = DDh ; Both Wiper0 and Wiper1 are disconnected IF OLD_TCON_PTR == 1, Write TCON1 = DDh ; Both Wiper2 and Wiper3 are disconnected RAB3 Wiper2 = WIPER_L ; Wiper2 Register is loaded with 8-bit value TCON1 = DFh ; Wiper2 is now connected OLD_TCON_PTR = 1 ; Pointer indicates TCON1 RETURN ; Return to calling routine IF OLD_TCON_PTR == 0, Write TCON0 = DDh ; Both Wiper0 and Wiper1 are disconnected IF OLD_TCON_PTR == 1, Write TCON1 = DDh ; Both Wiper2 and Wiper3 are disconnected Wiper0 = WIPER_L ; Wiper3 Register is loaded with 8-bit value TCON1 = FDh ; Wiper3 is now connected OLD_TCON_PTR = 1 ; Pointer indicates TCON1 RETURN ; Return to calling routine 2013 Microchip Technology Inc. DS93073A-page 9 TB3073 CONSIDERATIONS Board Area Potential applications considerations that need to be evaluated. These considerations may not be an issue based on the requirements of the end application. The quad potentiometer can be used in either a 20-lead TSSOP or 20-lead QFN (4x4) package. The QFN is the smaller of the two options with a package size of about 16 mils2. A single potentiometer may be available in an 8-lead DFN (3x3) package, which gives a package size of about 9 mils2. This is about 56% of the board area. These considerations include, but may not be limited to: POR/BOR When the device has a POR or BOR event, all terminals are connected. With all the wipers connected, the effective RAB-10 resistance is 25% of the resistance when only one wiper terminal is connected. This resistance is equivalent to the RAB-08 resistance. This POR/BOR resistance will remain until the TCON registers are configured. Due to the two TCON registers, the RAB-10 resistance will have intermediate values depending on the sequence of disconnecting the wiper terminals. This lower RAB-10 resistance may be a system issue due to the higher current possible changes to the VA and VB voltages until the digital potentiometer has been initialized. 8-Bit Code Transitions Due to the Terminal A and Terminal B switch resistances as each RAB-08 is placed in series, the transition of the 10-bit codes at each 8-bit boundary (0FFh to 100h or 1FFh to 200h or 2FFh to 300h) will have a larger step voltage than code steps between x00h and xFFh. For the lower RAB-08 resistances, this transition can be in the multiple LSbs compared to a standard step. This characteristic is greatly diminished when the RAB-08 resistance is 100 k (see Table 2). SUMMARY This technical brief has shown how the use on Microchip’s Terminal Control feature allows the implementation of a higher resolution digital potentiometer. Although there are characteristics of this implementation that need to be understood during system operation, for many applications this is an acceptable solution to implement a higher resolution digital potentiometer device. When possible, the use of higher resistance 8-bit digital potentiometers (100 k) is preferred, as it will decrease errors due to the relationship between the switch resistances (RSxA, RSxW, and RSxB) and the step resistance (RS). Output Update While the output is in each RAB-08 range, the output update rate is the same as for the RAB, when the output code crosses the 8-bit boundary, then the update time needs to include changing the Wiper Terminal connections. This may require one or two additional serial commands. Software Complexity Due to the requirement to communicate with the multiple RAB-08 resistor networks and the TCON registers, the microcontroller’s communication firmware is more complex than a dedicated 10-bit device. This is due to the requirement of determining which of the RAB-08 devices need to be written, as well as the update of the Wiper connect/disconnect bits of the TCON registers. This requires testing of the upper two bits of the 10-bit digital potentiometer code and comparing to the current setting to determine the changes required to transition from the old to the new code. DS93073A-page 10 2013 Microchip Technology Inc. Note the following details of the code protection feature on Microchip devices: • Microchip products meet the specification contained in their particular Microchip Data Sheet. • Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the intended manner and under normal conditions. • There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchip’s Data Sheets. Most likely, the person doing so is engaged in theft of intellectual property. • Microchip is willing to work with the customer who is concerned about the integrity of their code. • Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not mean that we are guaranteeing the product as “unbreakable.” Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our products. Attempts to break Microchip’s code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act. Information contained in this publication regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer’s risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights. Trademarks The Microchip name and logo, the Microchip logo, dsPIC, FlashFlex, KEELOQ, KEELOQ logo, MPLAB, PIC, PICmicro, PICSTART, PIC32 logo, rfPIC, SST, SST Logo, SuperFlash and UNI/O are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. FilterLab, Hampshire, HI-TECH C, Linear Active Thermistor, MTP, SEEVAL and The Embedded Control Solutions Company are registered trademarks of Microchip Technology Incorporated in the U.S.A. Silicon Storage Technology is a registered trademark of Microchip Technology Inc. in other countries. Analog-for-the-Digital Age, Application Maestro, BodyCom, chipKIT, chipKIT logo, CodeGuard, dsPICDEM, dsPICDEM.net, dsPICworks, dsSPEAK, ECAN, ECONOMONITOR, FanSense, HI-TIDE, In-Circuit Serial Programming, ICSP, Mindi, MiWi, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, mTouch, Omniscient Code Generation, PICC, PICC-18, PICDEM, PICDEM.net, PICkit, PICtail, REAL ICE, rfLAB, Select Mode, SQI, Serial Quad I/O, Total Endurance, TSHARC, UniWinDriver, WiperLock, ZENA and Z-Scale are trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. SQTP is a service mark of Microchip Technology Incorporated in the U.S.A. GestIC and ULPP are registered trademarks of Microchip Technology Germany II GmbH & Co. & KG, a subsidiary of Microchip Technology Inc., in other countries. All other trademarks mentioned herein are property of their respective companies. © 2013, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved. Printed on recycled paper. ISBN: 9781620768747 QUALITY MANAGEMENT SYSTEM CERTIFIED BY DNV == ISO/TS 16949 == 2013 Microchip Technology Inc. Microchip received ISO/TS-16949:2009 certification for its worldwide headquarters, design and wafer fabrication facilities in Chandler and Tempe, Arizona; Gresham, Oregon and design centers in California and India. The Company’s quality system processes and procedures are for its PIC® MCUs and dsPIC® DSCs, KEELOQ® code hopping devices, Serial EEPROMs, microperipherals, nonvolatile memory and analog products. In addition, Microchip’s quality system for the design and manufacture of development systems is ISO 9001:2000 certified. DS93073A-page 11 Worldwide Sales and Service AMERICAS ASIA/PACIFIC ASIA/PACIFIC EUROPE Corporate Office 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 480-792-7200 Fax: 480-792-7277 Technical Support: http://www.microchip.com/ support Web Address: www.microchip.com Asia Pacific Office Suites 3707-14, 37th Floor Tower 6, The Gateway Harbour City, Kowloon Hong Kong Tel: 852-2401-1200 Fax: 852-2401-3431 India - Bangalore Tel: 91-80-3090-4444 Fax: 91-80-3090-4123 India - New Delhi Tel: 91-11-4160-8631 Fax: 91-11-4160-8632 Austria - Wels Tel: 43-7242-2244-39 Fax: 43-7242-2244-393 Denmark - Copenhagen Tel: 45-4450-2828 Fax: 45-4485-2829 India - Pune Tel: 91-20-2566-1512 Fax: 91-20-2566-1513 France - Paris Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 Japan - Osaka Tel: 81-6-6152-7160 Fax: 81-6-6152-9310 Germany - Munich Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 Atlanta Duluth, GA Tel: 678-957-9614 Fax: 678-957-1455 Boston Westborough, MA Tel: 774-760-0087 Fax: 774-760-0088 Chicago Itasca, IL Tel: 630-285-0071 Fax: 630-285-0075 Cleveland Independence, OH Tel: 216-447-0464 Fax: 216-447-0643 Dallas Addison, TX Tel: 972-818-7423 Fax: 972-818-2924 Detroit Farmington Hills, MI Tel: 248-538-2250 Fax: 248-538-2260 Indianapolis Noblesville, IN Tel: 317-773-8323 Fax: 317-773-5453 Los Angeles Mission Viejo, CA Tel: 949-462-9523 Fax: 949-462-9608 Santa Clara Santa Clara, CA Tel: 408-961-6444 Fax: 408-961-6445 Toronto Mississauga, Ontario, Canada Tel: 905-673-0699 Fax: 905-673-6509 Australia - Sydney Tel: 61-2-9868-6733 Fax: 61-2-9868-6755 China - Beijing Tel: 86-10-8569-7000 Fax: 86-10-8528-2104 China - Chengdu Tel: 86-28-8665-5511 Fax: 86-28-8665-7889 China - Chongqing Tel: 86-23-8980-9588 Fax: 86-23-8980-9500 Korea - Daegu Tel: 82-53-744-4301 Fax: 82-53-744-4302 China - Hangzhou Tel: 86-571-2819-3187 Fax: 86-571-2819-3189 Korea - Seoul Tel: 82-2-554-7200 Fax: 82-2-558-5932 or 82-2-558-5934 China - Hong Kong SAR Tel: 852-2943-5100 Fax: 852-2401-3431 Malaysia - Kuala Lumpur Tel: 60-3-6201-9857 Fax: 60-3-6201-9859 China - Nanjing Tel: 86-25-8473-2460 Fax: 86-25-8473-2470 Malaysia - Penang Tel: 60-4-227-8870 Fax: 60-4-227-4068 China - Qingdao Tel: 86-532-8502-7355 Fax: 86-532-8502-7205 Philippines - Manila Tel: 63-2-634-9065 Fax: 63-2-634-9069 China - Shanghai Tel: 86-21-5407-5533 Fax: 86-21-5407-5066 Singapore Tel: 65-6334-8870 Fax: 65-6334-8850 China - Shenyang Tel: 86-24-2334-2829 Fax: 86-24-2334-2393 Taiwan - Hsin Chu Tel: 886-3-5778-366 Fax: 886-3-5770-955 China - Shenzhen Tel: 86-755-8864-2200 Fax: 86-755-8203-1760 Taiwan - Kaohsiung Tel: 886-7-213-7828 Fax: 886-7-330-9305 China - Wuhan Tel: 86-27-5980-5300 Fax: 86-27-5980-5118 Taiwan - Taipei Tel: 886-2-2508-8600 Fax: 886-2-2508-0102 China - Xian Tel: 86-29-8833-7252 Fax: 86-29-8833-7256 Thailand - Bangkok Tel: 66-2-694-1351 Fax: 66-2-694-1350 Italy - Milan Tel: 39-0331-742611 Fax: 39-0331-466781 Netherlands - Drunen Tel: 31-416-690399 Fax: 31-416-690340 Spain - Madrid Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 UK - Wokingham Tel: 44-118-921-5869 Fax: 44-118-921-5820 China - Xiamen Tel: 86-592-2388138 Fax: 86-592-2388130 China - Zhuhai Tel: 86-756-3210040 Fax: 86-756-3210049 DS93073A-page 12 Japan - Tokyo Tel: 81-3-6880- 3770 Fax: 81-3-6880-3771 11/29/12 2013 Microchip Technology Inc.