MCP4706/4716/4726 8-/10-/12-Bit Voltage Output Digital-to-Analog Converter with EEPROM and I2C Interface Features * Output Voltage Resolutions - 12-bit: MCP4726 - 10-bit: MCP4716 - 8-bit: MCP4706 * Rail-to-Rail Output * Fast Settling Time of 6 s (typical) * DAC Voltage Reference Options - VDD - VREF Pin * Output Gain Options - Unity (1x) - 2x, only when VREF pin is used as voltage source * Nonvolatile Memory (EEPROM) - Auto Recall of Saved DAC register setting - Auto Recall of Saved Device Configuration (Voltage Reference, Gain, Power Down) * Power-Down Modes - Disconnects output buffer - Selection of VOUT pull-down resistors (640 k, 125 k, or 1 k) * Low Power Consumption - Normal Operation: 210 A typ. - Power Down Operation: 60 nA typ. (PD1:PD0 = "11") * Single-Supply Operation: 2.7V to 5.5V * I2CTM Interface: - Eight Available Addresses - Standard (100 kbps), Fast (400 kbps), and High-Speed (3.4 Mbps) Modes * Small 6-lead SOT-23 and DFN (2x2) Packages * Extended Temperature Range: -40C to +125C Applications * * * * * * Set Point or Offset Trimming Sensor Calibration Low Power Portable Instrumentation PC Peripherals Data AcquisitionSystems Motor Control (c) 2011 Microchip Technology Inc. Package Types MCP4706 / 16 / 26 6 VREF VREF 1 VOUT 1 VSS 2 5 SCL SCL 2 VDD 3 4 SDA SDA 3 SOT-23-6 6 VOUT EP 7 5 VSS 4 VDD 2x2 DFN-6* * Includes Exposed Thermal Pad (EP); see Table 3-1. Description The MCP4706/4716/4726 are single channel 8-bit, 10-bit, and 12-bit buffered voltage output Digital-toAnalog Converters (DAC) with nonvolatile memory and an I2C Serial Interface. This family will also be referred to as MCP47X6. The VREF pin or the device VDD can be selected as the DAC's reference voltage. When VDD is selected, VDD is connected internally to the DAC reference circuit. When the VREF pin is used, the user can select the output buffer's gain to 1 or 2. When the gain is 2, the VREF pin voltage should be limited to a maximum of VDD/2. The DAC Register value and configuration bits can be programmed to nonvolatile memory (EEPROM). The nonvolatile memory holds the DAC Register and configuration bit values when the device is powered off. A device reset (such as a Power On Reset) latches these stored values into the volatile memory. Power-down modes enable system current reduction when the DAC output voltage is not required. The VOUT pin can be configured to present a low, medium, or high resistance load. These devices have a two-wire I2CTM compatible serial interface for standard (100 kHz), fast (400 kHz), or high speed (3.4 MHz) mode. These devices are available in small 6-pin SOT-23 and DFN 2x2 mm packages. DS22272A-page 1 MCP4706/4716/4726 Block Diagram VREF DS22272A-page 2 DAC Register EEPROM Control Logic Resistor Ladder SCL I2C Interface Logic SDA PD1:PD0 Buffer VOUT Op Amp PD1:PD0 VW 640 k VSS 125 k VDD Gain (1x or 2x) (G = 0 or 1) VRL 1 k VDD Reference Selection VREF1:VREF0 (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 1.0 ELECTRICAL CHARACTERISTICS Absolute Maximum Ratings Voltage on VDD with respect to VSS ................ -0.6V to +6.5V Voltage on all pins with respect to VSS ................................................................................ -0.3V to VDD + 0.3V Input clamp current, IIK (VI < 0, VI > VDD, VI) ....................................................................................20 mA Output clamp current, IOK (VO < 0 or VO > VDD) ....................................................................................20 mA Maximum input current source/sunk by SDA, SCL pins ........................................................................................2 mA Maximum output current sunk by SDA Output pin ......................................................................................25 mA Maximum current out of VSS pin ...................................50 mA Maximum current into VDD pin ......................................50 mA Maximum current sourced by the VOUT pin ..................40 mA Notice: Stresses above those listed under "Maximum Ratings" may cause permanent damage to the device. This is a stress rating only and functional operation of the device at those or any other conditions above those indicated in the operational listings of this specification is not implied. Exposure to maximum rating conditions for extended periods may affect device reliability. Maximum current sunk by the VOUT pin........................40 mA Maximum current sunk by the VREF pin .........................40 A Package power dissipation (TA = +50C, TJ = +150C) SOT-23-6 .......................................................452 mW DFN-6 ..........................................................1098 mW Storage temperature .....................................-65C to +150C Ambient temperature with power applied ......................................................................-55C to +125C ESD protection on all pins .................................... 6 kV (HBM) .................................................................................... 400V (MM) Maximum Junction Temperature (TJ) ......................... +150C (c) 2011 Microchip Technology Inc. DS22272A-page 3 MCP4706/4716/4726 ELECTRICAL CHARACTERISTICS Electrical Specifications: Unless otherwise indicated, VDD = 2.7V to 5.5V, VSS = 0V, RL = 5 k from VOUT to GND, CL = 100 pF, TA = -40C to +125C. Typical values at +25C. Parameters Symbol Min Typical Max Units Conditions Input Voltage VDD 2.7 -- 5.5 V Input Current IDD -- 210 400 A VREF1:VREF0 = `00', SCL = SDA = VSS, VOUT is unloaded, volatile DAC Register = 0x000 -- 210 400 A VREF1:VREF0 = `11', VREF = VDD, SCL = SDA = VSS, VOUT is unloaded, volatile DAC Register = 0x000 Power Requirements Power-Down Current IDDP -- 0.09 2 A PD1:PD0 = `01' (Note 6), VOUT not connected Power-On Reset Threshold VPOR -- 2.2 -- V RAM retention voltage, (VRAM) < VPOR Power-Up Ramp Rate VRAMP 1 -- -- V/S Note 1: 2: 3: 4: 5: 6: 7: (Note 1, Note 4) This parameter is ensured by design and is not 100% tested. This gain error does not include offset error. See Section 2 for more details in plots. Within 1/2 LSb of final value when code changes from 1/4 to 3/4 of FSR. (Example: 400h to C00h in 12- bit device). The power-up ramp rate affects on uploading the EEPROM contents to the DAC register. It measures the rise of VDD over time. This parameter is ensured by characterization, and not 100% tested. The PD1:PD0 = `10', and `11' configurations should have the same current. VDD = 5.5V. DS22272A-page 4 (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 ELECTRICAL CHARACTERISTICS (CONTINUED) Electrical Specifications: Unless otherwise indicated, VDD = 2.7V to 5.5V, VSS = 0V, RL = 5 k from VOUT to GND, CL = 100 pF, TA = -40C to +125C. Typical values at +25C. Parameters Symbol Min Typical Max Units Conditions 0.02 0.75 -- 1 -- ppm/C -40C to +25C -- 2 -- ppm/C +25C to +85C -- 0.13 2.0 LSb MCP4706, Code = 0x00h -- 0.52 7.7 LSb MCP4716, Code = 0x000h -- 2.05 30.8 LSb MCP4726, Code = 0x000h DC Accuracy Offset Error Offset Error Temperature Coefficient Zero Scale Error Full Scale Error VOS VOS/C EZS EFS Gain Error (Note 2) gE Gain Error Drift G/C Resolution INL Error (Note 7) DNL Error (Note 7) Note 1: 2: 3: 4: 5: 6: 7: -- 0.3 5.2 LSb MCP4706, Code = 0xFFh -- 1.1 20.5 LSb MCP4716, Code = 0x3FFh -- 4.1 82.0 LSb MCP4726, Code = 0xFFFh -2 -0.10 2 % of FSR MCP4706, Code = 0xFFh VREF1:VREF0 = `00', G = `0' -2 -0.10 2 % of FSR MCP4716, Code = 0x3FFh VREF1:VREF0 = `00', G = `0' -2 -0.10 2 % of FSR MCP4726, Code = 0xFFFh VREF1:VREF0 = `00', G = `0' -- -3 -- n INL DNL % of FSR Code = 0x000h VREF1:VREF0 = `00', G = `0' ppm/C 8 bits MCP4706 10 bits MCP4716 12 bits MCP4726 -0.907 0.125 +0.907 LSb MCP4706 (codes: 6 to 250) -3.625 0.5 +3.625 LSb MCP4716 (codes: 25 to 1000) -14.5 2 +14.5 LSb MCP4726 (codes: 100 to 4000) -0.05 0.0125 +0.05 LSb MCP4706 (codes: 6 to 250) -0.188 0.05 +0.188 LSb MCP4716 (codes: 25 to 1000) -0.75 0.2 +0.75 LSb MCP4726 (codes: 100 to 4000) This parameter is ensured by design and is not 100% tested. This gain error does not include offset error. See Section 2 for more details in plots. Within 1/2 LSb of final value when code changes from 1/4 to 3/4 of FSR. (Example: 400h to C00h in 12- bit device). The power-up ramp rate affects on uploading the EEPROM contents to the DAC register. It measures the rise of VDD over time. This parameter is ensured by characterization, and not 100% tested. The PD1:PD0 = `10', and `11' configurations should have the same current. VDD = 5.5V. (c) 2011 Microchip Technology Inc. DS22272A-page 5 MCP4706/4716/4726 ELECTRICAL CHARACTERISTICS (CONTINUED) Electrical Specifications: Unless otherwise indicated, VDD = 2.7V to 5.5V, VSS = 0V, RL = 5 k from VOUT to GND, CL = 100 pF, TA = -40C to +125C. Typical values at +25C. Parameters Symbol Min Typical Max Units Conditions Minimum Output Voltage VOUT(MIN) -- 0.01 -- V Output Amplifier's minimum drive Maximum Output Voltage VOUT(MAX) -- VDD - 0.04 -- V Output Amplifier's maximum drive PM -- 66 -- Degree () Slew Rate SR -- 0.55 -- V/s Short Circuit Current ISC 7 15 24 mA Output Amplifier Phase Margin CL = 400 pF, RL = tSETTLING -- 6 -- s Note 3 Power Down Output Disable Time Delay TPDD -- 1 -- s PD1:PD0 = "00" -> `11', `10', or `01' started from falling edge SCL at end of ACK bit. VOUT = VOUT - 10 mV. VOUT not connected. Power Down Output Enable Time Delay TPDE -- 10.5 -- s PD1:PD0 = `11', `10', or `01' -> "00" started from falling edge SCL at end of ACK bit. Volatile DAC Register = FFh, VOUT = 10 mV. VOUT not connected. VREF 0.04 -- VDD 0.04 V Buffered Mode 0 -- VDD V Unbuffered Mode Input Impedance RVREF -- 210 -- k Unbuffered Mode Input Capacitance C_REF -- 29 -- pF Unbuffered Mode -- 86.5 -- kHz VREF = 2.048V 0.1V, VREF1:VREF0 = `10', G = `0' -- 67.7 -- kHz VREF = 2.048V 0.1V, VREF1:VREF0 = `10', G = `1' -- -73 -- dB VREF = 2.048V 0.1V, VREF1:VREF0 = `10', G = `0', Frequency = 1 kHz Major Code Transition Glitch -- 45 -- nV-s Digital Feedthrough -- <10 -- nV-s Settling Time External Reference (VREF) (Note 1) Input Range -3 dB Bandwidth Total Harmonic Distortion THD Dynamic Performance (Note 1) Note 1: 2: 3: 4: 5: 6: 7: 1 LSb change around major carry (800h to 7FFh) This parameter is ensured by design and is not 100% tested. This gain error does not include offset error. See Section 2 for more details in plots. Within 1/2 LSb of final value when code changes from 1/4 to 3/4 of FSR. (Example: 400h to C00h in 12- bit device). The power-up ramp rate affects on uploading the EEPROM contents to the DAC register. It measures the rise of VDD over time. This parameter is ensured by characterization, and not 100% tested. The PD1:PD0 = `10', and `11' configurations should have the same current. VDD = 5.5V. DS22272A-page 6 (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 ELECTRICAL CHARACTERISTICS (CONTINUED) Electrical Specifications: Unless otherwise indicated, VDD = 2.7V to 5.5V, VSS = 0V, RL = 5 k from VOUT to GND, CL = 100 pF, TA = -40C to +125C. Typical values at +25C. Parameters Symbol Min Typical Max Units Conditions Output Low Voltage VOL -- -- 0.4 V Input High Voltage (SDA and SCL Pins) VIH 0.7VDD -- -- V Input Low Voltage (SDA and SCL Pins) VIL -- -- 0.3VDD V Input Leakage ILI -- -- 1 A SCL = SDA = VSS or SCL = SDA = VDD CPIN -- -- 3 pF (Note 5) TWRITE -- 25 50 ms Data Retention -- 200 -- Years At +25C, (Note 1) Endurance 1 -- -- Million Cycles At +25C, (Note 1) Digital Interface Pin Capacitance IOL = 3 mA EEPROM EEPROM Write Time Note 1: 2: 3: 4: 5: 6: 7: This parameter is ensured by design and is not 100% tested. This gain error does not include offset error. See Section 2 for more details in plots. Within 1/2 LSb of final value when code changes from 1/4 to 3/4 of FSR. (Example: 400h to C00h in 12- bit device). The power-up ramp rate affects on uploading the EEPROM contents to the DAC register. It measures the rise of VDD over time. This parameter is ensured by characterization, and not 100% tested. The PD1:PD0 = `10', and `11' configurations should have the same current. VDD = 5.5V. (c) 2011 Microchip Technology Inc. DS22272A-page 7 MCP4706/4716/4726 I2C Mode Timing Waveforms and Requirements 1.1 VPOR (VBOR) VDD tPORD SCL tBORD VIH VIH SDA VOUT pulled down by internal 500 k (typical) resistor VOUT I2C Interface is operational FIGURE 1-1: Power-On and Brown-Out Reset Waveforms. ACK Stop Start ACK SDA SCL tPDE tPDD VOUT I2C Power-Down Command Timing. FIGURE 1-2: TABLE 1-1: RESET TIMING Standard Operating Conditions (unless otherwise specified) Operating Temperature -40C TA +125C (extended) Timing Characteristics All parameters apply across the specified operating ranges unless noted. VDD = +2.7V to 5.5V, 5 k, 10 k, 50 k, 100 k devices. Typical specifications represent values for VDD = 5.5V, TA = +25C. Parameters Sym Min Typ Max Units Conditions Power Up Reset Delay tPORD -- 60 -- s Monitor ACK bit response to ensure device responds to command. Brown Out Reset Delay tBORD -- 1 -- s VDD transitions from VDD(MIN) > VPOR VOUT driven to VOUT disabled Power Down Disable Time Delay TPDD -- 2.5 -- s VDD = 5V PD1:PD0 `00' (from `01', `10', or `11'), from falling edge SCL at end of ACK bit. -- 5 -- s VDD = 3V PD1:PD0 `00' (from `01', `10', or `11'), from falling edge SCL at end of ACK bit. -- 10.5 -- s PD1:PD0 `01', `10', or `11' (from `00'), from falling edge SCL at end of ACK bit. Power Down Enable Time Delay DS22272A-page 8 TPDE (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 VIH SCL 93 91 90 92 111 SDA VIL STOP Condition START Condition I2C Bus Start/Stop Bits Timing Waveforms. FIGURE 1-3: TABLE 1-2: I2C BUS START/STOP BITS REQUIREMENTS I2C AC Characteristics Param. Symbol No. 90 91 92 93 94 95 Characteristic Standard Mode Fast Mode High-Speed 1.7 High-Speed 3.4 Cb Bus capacitive 100 kHz mode loading 400 kHz mode 1.7 MHz mode 3.4 MHz mode TSU:STA START condition 100 kHz mode Setup time 400 kHz mode 1.7 MHz mode 3.4 MHz mode THD:STA START condition 100 kHz mode Hold time 400 kHz mode 1.7 MHz mode 3.4 MHz mode TSU:STO STOP condition 100 kHz mode Setup time 400 kHz mode 1.7 MHz mode 3.4 MHz mode THD:STO STOP condition 100 kHz mode Hold time 400 kHz mode 1.7 MHz mode 3.4 MHz mode THVCSU HVC to SCL Setup time THVCHD SCL to HVC Hold time FSCL D102 Standard Operating Conditions (unless otherwise specified) Operating Temperature -40C TA +125C (Extended) Operating Voltage VDD range is described in Electrical characteristics SCL pin Frequency (c) 2011 Microchip Technology Inc. Min Max Units 0 0 0 0 -- -- -- -- 4700 600 160 160 4000 600 160 160 4000 600 160 160 4000 600 160 160 25 25 100 400 1.7 3.4 400 400 400 100 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- kHz kHz MHz MHz pF pF pF pF ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns uS uS Conditions Cb = 400 pF, 2.7V - 5.5V Cb = 400 pF, 2.7V - 5.5V Cb = 400 pF, 4.5V - 5.5V Cb = 100 pF, 4.5V - 5.5V Only relevant for repeated START condition After this period the first clock pulse is generated High Voltage Commands High Voltage Commands DS22272A-page 9 MCP4706/4716/4726 103 102 100 101 SCL 90 106 91 92 107 SDA In 110 109 109 SDA Out I2C Bus Data Timing. FIGURE 1-4: I2C BUS DATA REQUIREMENTS (SLAVE MODE) TABLE 1-3: I2C AC Characteristics Param. No. Sym Characteristic 100 THIGH Clock high time 101 Note 1: 2: 3: 4: 5: 6: 7: 8: TLOW Clock low time Standard Operating Conditions (unless otherwise specified) Operating Temperature -40C TA +125C (Extended) Operating Voltage VDD range is described in Electrical characteristics Min Max Units 100 kHz mode 4000 -- ns 2.7V-5.5V 400 kHz mode 600 -- ns 2.7V-5.5V 1.7 MHz mode 120 ns 4.5V-5.5V 3.4 MHz mode 60 -- ns 4.5V-5.5V 100 kHz mode 4700 -- ns 2.7V-5.5V 400 kHz mode 1300 -- ns 2.7V-5.5V ns 4.5V-5.5V -- ns 4.5V-5.5V 1.7 MHz mode 320 3.4 MHz mode 160 Conditions As a transmitter, the device must provide this internal minimum delay time to bridge the undefined region (minimum 300 ns) of the falling edge of SCL to avoid unintended generation of START or STOP conditions. A fast-mode (400 kHz) I2C-bus device can be used in a standard-mode (100 kHz) I2C-bus system, but the requirement tSU;DAT 250 ns must then be met. This will automatically be the case if the device does not stretch the LOW period of the SCL signal. If such a device does stretch the LOW period of the SCL signal, it must output the next data bit to the SDA line. TR max.+tSU;DAT = 1000 + 250 = 1250 ns (according to the standard-mode I2C bus specification) before the SCL line is released. The MCP47X6 device must provide a data hold time to bridge the undefined part between VIH and VIL of the falling edge of the SCL signal. This specification is not a part of the I2C specification, but must be tested in order to ensure that the output data will meet the setup and hold specifications for the receiving device. Use Cb in pF for the calculations. Not Tested. This parameter ensured by characterization. A Master Transmitter must provide a delay to ensure that difference between SDA and SCL fall times do not unintentionally create a Start or Stop condition. If this parameter is too short, it can create an unintentional Start or Stop condition to other devices on the I2C bus line. If this parameter is too long, the Data Input Setup (TSU:DAT) or Clock Low time (TLOW) can be affected. Data Input: This parameter must be longer than tSP. Data Output: This parameter is characterized, and tested indirectly by testing TAA parameter. Ensured by the TAA 3.4 MHz specification test. The specification is not part of the I2C specification. TAA = THD:DAT + TFSDA (or TRSDA). DS22272A-page 10 (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 TABLE 1-3: I2C BUS DATA REQUIREMENTS (SLAVE MODE) (CONTINUED) I2C AC Characteristics Param. No. Sym 102A(5) TRSCL 102B(5) 103A 103B (5) (5) Note 1: 2: 3: 4: 5: 6: 7: 8: TRSDA TFSCL TFSDA Standard Operating Conditions (unless otherwise specified) Operating Temperature -40C TA +125C (Extended) Operating Voltage VDD range is described in Electrical characteristics Characteristic SCL rise time SDA rise time SCL fall time SDA fall time Min Max Units 100 kHz mode -- 1000 ns 400 kHz mode 20 + 0.1Cb 300 ns 1.7 MHz mode 20 80 ns 1.7 MHz mode 20 160 ns Conditions Cb is specified to be from 10 to 400 pF (100 pF maximum for 3.4 MHz mode) After a Repeated Start condition or an Acknowledge bit 3.4 MHz mode 10 40 ns 3.4 MHz mode 10 80 ns After a Repeated Start condition or an Acknowledge bit 100 kHz mode -- 1000 ns Cb is specified to be from 10 to 400 pF (100 pF max for 3.4 MHz mode) 400 kHz mode 20 + 0.1Cb 300 ns 1.7 MHz mode 20 160 ns 3.4 MHz mode 10 80 ns 100 kHz mode -- 300 ns 400 kHz mode 20 + 0.1Cb 300 ns 1.7 MHz mode 20 80 ns 3.4 MHz mode 10 40 ns 100 kHz mode -- 300 ns 400 kHz mode 20 + 0.1Cb(4) 300 ns 1.7 MHz mode 20 160 ns 3.4 MHz mode 10 80 ns Cb is specified to be from 10 to 400 pF (100 pF max for 3.4 MHz mode) Cb is specified to be from 10 to 400 pF (100 pF max for 3.4 MHz mode) As a transmitter, the device must provide this internal minimum delay time to bridge the undefined region (minimum 300 ns) of the falling edge of SCL to avoid unintended generation of START or STOP conditions. A fast-mode (400 kHz) I2C-bus device can be used in a standard-mode (100 kHz) I2C-bus system, but the requirement tSU;DAT 250 ns must then be met. This will automatically be the case if the device does not stretch the LOW period of the SCL signal. If such a device does stretch the LOW period of the SCL signal, it must output the next data bit to the SDA line. TR max.+tSU;DAT = 1000 + 250 = 1250 ns (according to the standard-mode I2C bus specification) before the SCL line is released. The MCP47X6 device must provide a data hold time to bridge the undefined part between VIH and VIL of the falling edge of the SCL signal. This specification is not a part of the I2C specification, but must be tested in order to ensure that the output data will meet the setup and hold specifications for the receiving device. Use Cb in pF for the calculations. Not Tested. This parameter ensured by characterization. A Master Transmitter must provide a delay to ensure that difference between SDA and SCL fall times do not unintentionally create a Start or Stop condition. If this parameter is too short, it can create an unintentional Start or Stop condition to other devices on the I2C bus line. If this parameter is too long, the Data Input Setup (TSU:DAT) or Clock Low time (TLOW) can be affected. Data Input: This parameter must be longer than tSP. Data Output: This parameter is characterized, and tested indirectly by testing TAA parameter. Ensured by the TAA 3.4 MHz specification test. The specification is not part of the I2C specification. TAA = THD:DAT + TFSDA (or TRSDA). (c) 2011 Microchip Technology Inc. DS22272A-page 11 MCP4706/4716/4726 I2C BUS DATA REQUIREMENTS (SLAVE MODE) (CONTINUED) TABLE 1-3: I2C AC Characteristics Param. No. Sym 106 THD:DAT 107 109 110 Note 1: 2: 3: 4: 5: 6: 7: 8: Standard Operating Conditions (unless otherwise specified) Operating Temperature -40C TA +125C (Extended) Operating Voltage VDD range is described in Electrical characteristics Characteristic Data input hold time TSU:DAT Data input setup time TAA TBUF Output valid from clock Bus free time Min Max Units Conditions 100 kHz mode 0 -- ns 2.7V-5.5V, Note 6 400 kHz mode 0 -- ns 2.7V-5.5V, Note 6 1.7 MHz mode 0 -- ns 4.5V-5.5V, Note 6 3.4 MHz mode 0 -- ns 4.5V-5.5V, Note 6 100 kHz mode 250 -- ns Note 2 400 kHz mode 100 -- ns 1.7 MHz mode 10 -- ns 3.4 MHz mode 10 -- ns 100 kHz mode -- 3750 ns 400 kHz mode -- 1200 ns 1.7 MHz mode -- 150 ns Cb = 100 pF, Note 1, Note 7, Note 8 -- 310 ns Cb = 400 pF, Note 1, Note 5, Note 8 3.4 MHz mode -- 150 ns Cb = 100 pF, Note 1, Note 8 100 kHz mode 4700 -- ns Time the bus must be free before a new transmission can start 400 kHz mode 1300 -- ns 1.7 MHz mode N.A. -- ns 3.4 MHz mode N.A. -- ns Note 1, Note 8 As a transmitter, the device must provide this internal minimum delay time to bridge the undefined region (minimum 300 ns) of the falling edge of SCL to avoid unintended generation of START or STOP conditions. A fast-mode (400 kHz) I2C-bus device can be used in a standard-mode (100 kHz) I2C-bus system, but the requirement tSU;DAT 250 ns must then be met. This will automatically be the case if the device does not stretch the LOW period of the SCL signal. If such a device does stretch the LOW period of the SCL signal, it must output the next data bit to the SDA line. TR max.+tSU;DAT = 1000 + 250 = 1250 ns (according to the standard-mode I2C bus specification) before the SCL line is released. The MCP47X6 device must provide a data hold time to bridge the undefined part between VIH and VIL of the falling edge of the SCL signal. This specification is not a part of the I2C specification, but must be tested in order to ensure that the output data will meet the setup and hold specifications for the receiving device. Use Cb in pF for the calculations. Not Tested. This parameter ensured by characterization. A Master Transmitter must provide a delay to ensure that difference between SDA and SCL fall times do not unintentionally create a Start or Stop condition. If this parameter is too short, it can create an unintentional Start or Stop condition to other devices on the I2C bus line. If this parameter is too long, the Data Input Setup (TSU:DAT) or Clock Low time (TLOW) can be affected. Data Input: This parameter must be longer than tSP. Data Output: This parameter is characterized, and tested indirectly by testing TAA parameter. Ensured by the TAA 3.4 MHz specification test. The specification is not part of the I2C specification. TAA = THD:DAT + TFSDA (or TRSDA). DS22272A-page 12 (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 TABLE 1-3: I2C BUS DATA REQUIREMENTS (SLAVE MODE) (CONTINUED) I2C AC Characteristics Param. No. Sym Characteristic 111 TSP Input filter spike suppression (SDA and SCL) Note 1: 2: 3: 4: 5: 6: 7: 8: Standard Operating Conditions (unless otherwise specified) Operating Temperature -40C TA +125C (Extended) Operating Voltage VDD range is described in Electrical characteristics Min Max Units Conditions 100 kHz mode -- 50 ns 400 kHz mode -- 50 ns 1.7 MHz mode -- 10 ns Spike suppression 3.4 MHz mode -- 10 ns Spike suppression -- -- -- ns Standard Mode, (Not Applicable) 50 (typ) -- -- ns Fast Mode 10 (typ) -- -- ns High Speed Mode 1.7 10 (typ) -- -- ns High Speed Mode 3.4 NXP Spec states N.A. As a transmitter, the device must provide this internal minimum delay time to bridge the undefined region (minimum 300 ns) of the falling edge of SCL to avoid unintended generation of START or STOP conditions. A fast-mode (400 kHz) I2C-bus device can be used in a standard-mode (100 kHz) I2C-bus system, but the requirement tSU;DAT 250 ns must then be met. This will automatically be the case if the device does not stretch the LOW period of the SCL signal. If such a device does stretch the LOW period of the SCL signal, it must output the next data bit to the SDA line. TR max.+tSU;DAT = 1000 + 250 = 1250 ns (according to the standard-mode I2C bus specification) before the SCL line is released. The MCP47X6 device must provide a data hold time to bridge the undefined part between VIH and VIL of the falling edge of the SCL signal. This specification is not a part of the I2C specification, but must be tested in order to ensure that the output data will meet the setup and hold specifications for the receiving device. Use Cb in pF for the calculations. Not Tested. This parameter ensured by characterization. A Master Transmitter must provide a delay to ensure that difference between SDA and SCL fall times do not unintentionally create a Start or Stop condition. If this parameter is too short, it can create an unintentional Start or Stop condition to other devices on the I2C bus line. If this parameter is too long, the Data Input Setup (TSU:DAT) or Clock Low time (TLOW) can be affected. Data Input: This parameter must be longer than tSP. Data Output: This parameter is characterized, and tested indirectly by testing TAA parameter. Ensured by the TAA 3.4 MHz specification test. The specification is not part of the I2C specification. TAA = THD:DAT + TFSDA (or TRSDA). (c) 2011 Microchip Technology Inc. DS22272A-page 13 MCP4706/4716/4726 TEMPERATURE CHARACTERISTICS Electrical Specifications: Unless otherwise indicated, VDD = +2.7V to +5.5V, VSS = GND. Parameters Symbol Min Typical Max Units Specified Temperature Range TA -40 -- +125 C Operating Temperature Range TA -40 -- +125 C Storage Temperature Range TA -65 -- +150 C Thermal Resistance, 6L-SOT-23 JA -- 190 -- C/W Thermal Resistance, 6L-DFN (2 x 2) JA -- 91 -- C/W Conditions Temperature Ranges Note 1 Thermal Package Resistances Note 1: The MCP47X6 devices operate over this extended temperature range, but with reduced performance. Operation in this range must not cause TJ to exceed the Maximum Junction Temperature of +150C. DS22272A-page 14 (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 2.0 TYPICAL PERFORMANCE CURVES Note: The graphs and tables provided following this note are a statistical summary based on a limited number of samples and are provided for informational purposes only. The performance characteristics listed herein are not tested or guaranteed. In some graphs or tables, the data presented may be outside the specified operating range (e.g., outside specified power supply range) and therefore outside the warranted range. Note: Unless otherwise indicated, TA = +25C, VDD = 5V, VSS = 0V, VRL = Internal, Gain = x1, RL = 5 k, CL = 100 pF. 12 12 -40C +25C +85C +125C -40C +25C +85C +125C 8 4 INL Error (LSb) INL Error (LSb) 8 0 -4 -8 4 0 -4 -8 -12 -12 0 1024 2048 3072 4096 0 1024 Volatile DAC Register Code FIGURE 2-1: INL vs. Code (code = 100 to 4000) and Temperature (MCP4726). VDD = 5V, VREF1:VREF0 = `00'. 4096 3 -40C +25C +85C +125C 2 -40C +25C +85C +125C 2 1 INL Error (LSb) INL Error (LSb) 3072 FIGURE 2-4: INL vs. Code (code = 100 to 4000) and Temperature (MCP4726). VDD = 2.7V, VREF1:VREF0 = `00'. 3 0 -1 -2 1 0 -1 -2 -3 -3 0 128 256 384 512 640 768 896 1024 0 128 Volatile DAC Register Code 256 384 512 640 768 896 1024 Volatile DAC Register Code FIGURE 2-2: INL vs. Code (code = 25 to 1000) and Temperature (MCP4716). VDD = 5V, VREF1:VREF0 = `00'. FIGURE 2-5: INL vs. Code (code = 25 to 1000) and Temperature (MCP4716). VDD = 2.7V, VREF1:VREF0 = `00'. 1.0 1.0 -40C +25C +85C +125C -40C +25C +85C +125C 0.5 INL Error (LSb) 0.5 INL Error (LSb) 2048 Volatile DAC Register Code 0.0 -0.5 0.0 -0.5 -1.0 -1.0 0 32 64 96 128 160 192 224 256 Volatile DAC Register Code FIGURE 2-3: INL vs. Code (code = 6 to 250) and Temperature (MCP4706). VDD = 5V, VREF1:VREF0 = `00'. (c) 2011 Microchip Technology Inc. 0 32 64 96 128 160 192 224 256 Volatile DAC Register Code FIGURE 2-6: INL vs. Code (code = 6 to 250) and Temperature (MCP4706). VDD = 2.7V, VREF1:VREF0 = `00'. DS22272A-page 15 MCP4706/4716/4726 0.4 0.4 0.3 0.3 0.2 0.2 DNL Error (LSb) DNL Error (LSb) Note: Unless otherwise indicated, TA = +25C, VDD = 5V, VSS = 0V, VRL = Internal, Gain = x1, RL = 5 k, CL = 100 pF. 0.1 0.0 -0.1 -0.2 0.1 0.0 -0.1 -0.2 -40C +25C +85C +125C -0.3 -40C +25C +85C +125C -0.3 -0.4 -0.4 0 1024 2048 3072 4096 0 1024 Volatile DAC Register Code 0.3 0.3 0.2 0.2 0.1 0.1 0.0 -0.1 -40C +25C +85C +125C 4096 0.0 -0.1 -40C +25C +85C +125C -0.2 -0.3 -0.3 0 128 256 384 512 640 768 896 0 1024 128 256 384 512 640 768 896 1024 Volatile DAC Register Code Volatile DAC Register Code FIGURE 2-8: DNL vs. Code (code = 25 to 1000) and Temperature (MCP4716). VDD = 5V, VREF1:VREF0 = `00'. FIGURE 2-11: DNL vs. Code (code = 25 to 1000) and Temperature (MCP4716). VDD = 2.7V, VREF1:VREF0 = `00'. 0.20 0.20 0.15 0.15 0.10 0.10 DNL Error (LSb) DNL Error (LSb) 3072 FIGURE 2-10: DNL vs. Code (code = 100 to 4000) and Temperature (MCP4726). VDD = 2.7V, VREF1:VREF0 = `00'. DNL Error (LSb) DNL Error (LSb) FIGURE 2-7: DNL vs. Code (code = 100 to 4000) and Temperature (MCP4726). VDD = 5V, VREF1:VREF0 = `00'. -0.2 2048 Volatile DAC Register Code 0.05 0.00 -0.05 -0.10 0.05 0.00 -0.05 -0.10 -40C +25C +85C +125C -0.15 -40C +25C +85C +125C -0.15 -0.20 -0.20 0 32 64 96 128 160 192 224 256 Volatile DAC Register Code FIGURE 2-9: DNL vs. Code (code = 6 to 250) and Temperature (MCP4706). VDD = 5V, VREF1:VREF0 = `00'. DS22272A-page 16 0 32 64 96 128 160 192 224 256 Volatile DAC Register Code FIGURE 2-12: DNL vs. Code (code = 6 to 250) and Temperature (MCP4706). VDD = 2.7V, VREF1:VREF0 = `00'. (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 Note: Unless otherwise indicated, TA = +25C, VDD = 5V, VSS = 0V, VRL = Internal, Gain = x1, RL = 5 k, CL = 100 pF. -18.0 2.7V 5.0V 5.5V -20.0 Full Scale Error (LSb) Zero Scale Error (LSb) 2.0 1.5 1.0 0.5 -22.0 -24.0 -26.0 -28.0 2.7V 5.0V 5.5V -30.0 0.0 -32.0 -40 -20 0 20 40 60 80 100 120 -40 -20 0 20 Temperature (C) FIGURE 2-13: Zero Scale Error (ZSE) vs. Temperature (MCP4726). VDD = 5V, VREF1:VREF0 = `00'. 80 100 120 -4.0 2.7V 5.0V 5.5V 0.4 0.3 0.2 -5.0 -6.0 -7.0 0.1 2.7V 5.0V 5.5V 0.0 -8.0 -40 -20 0 20 40 60 80 100 120 -40 -20 0 20 Temperature (C) 0.20 40 60 80 100 120 Temperature (C) FIGURE 2-14: Zero Scale Error (ZSE) vs. Temperature (MCP4716). VDD = 5V, VREF1:VREF0 = `00'. FIGURE 2-17: Full Scale Error (FSE) vs. Temperature (MCP4716). VDD = 2.7V, VREF1:VREF0 = `00'. 0.0 2.7V 5.0V 5.5V Full Scale Error (LSb) Zero Scale Error (LSb) 60 FIGURE 2-16: Full Scale Error (FSE) vs. Temperature (MCP4726). VDD = 2.7V, VREF1:VREF0 = `00'. Full Scale Error (LSb) Zero Scale Error (LSb) 0.5 40 Temperature (C) 0.15 0.10 0.05 -0.5 -1.0 -1.5 2.7V 5.0V 5.5V 0.00 -2.0 -40 -20 0 20 40 60 80 100 120 Temperature (C) FIGURE 2-15: Zero Scale Error (ZSE) vs. Temperature (MCP4706). VDD = 5V, VREF1:VREF0 = `00'. (c) 2011 Microchip Technology Inc. -40 -20 0 20 40 60 80 100 120 Temperature (C) FIGURE 2-18: Full Scale Error (FSE) vs. Temperature (MCP4706). VDD = 2.7V, VREF1:VREF0 = `00'. DS22272A-page 17 MCP4706/4716/4726 Note: Unless otherwise indicated, TA = +25C, VDD = 5V, VSS = 0V, VRL = Internal, Gain = x1, RL = 5 k, CL = 100 pF. 12 12 -40C +25C +85C +125C 8 4 INL Error (LSb) INL Error (LSb) 8 -40C +25C +85C +125C 0 -4 -8 4 0 -4 -8 -12 -12 0 1024 2048 3072 4096 0 1024 Volatile DAC Register Code FIGURE 2-19: INL vs. Code (code = 100 to 4000) and Temperature (MCP4726). VDD = 5V, VREF1:VREF0 = `10', G = `0', VREF = VDD. 4096 3 -40C +25C +85C +125C 2 -40C +25C +85C +125C 2 1 INL Error (LSb) INL Error (LSb) 3072 FIGURE 2-22: INL vs. Code (code = 100 to 4000) and Temperature (MCP4726). VDD = 2.7V, VREF1:VREF0 = `10', G = `0', VREF = VDD. 3 0 -1 -2 1 0 -1 -2 -3 -3 0 128 256 384 512 640 768 896 1024 0 128 Volatile DAC Register Code 256 384 512 640 768 896 1024 Volatile DAC Register Code FIGURE 2-20: INL vs. Code (code = 25 to 1000) and Temperature (MCP4716). VDD = 5V, VREF1:VREF0 = `10', G = `0', VREF = VDD. FIGURE 2-23: INL vs. Code (code = 25 to 1000) and Temperature (MCP4716). VDD = 2.7V, VREF1:VREF0 = `10', G = `0', VREF = VDD. 1.0 1.0 -40C +25C +85C +125C -40C +25C +85C +125C 0.5 INL Error (LSb) 0.5 INL Error (LSb) 2048 Volatile DAC Register Code 0.0 -0.5 0.0 -0.5 -1.0 -1.0 0 32 64 96 128 160 192 224 256 Volatile DAC Register Code FIGURE 2-21: INL vs. Code (code = 6 to 250) and Temperature (MCP4706). VDD = 5V, VREF1:VREF0 = `10', G = `0', VREF = VDD. DS22272A-page 18 0 32 64 96 128 160 192 224 256 Volatile DAC Register Code FIGURE 2-24: INL vs. Code (code = 6 to 250) and Temperature (MCP4706). VDD = 2.7V, VREF1:VREF0 = `10', G = `0', VREF = VDD. (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 0.4 0.4 0.3 0.3 0.2 0.2 DNL Error (LSb) DNL Error (LSb) Note: Unless otherwise indicated, TA = +25C, VDD = 5V, VSS = 0V, VRL = Internal, Gain = x1, RL = 5 k, CL = 100 pF. 0.1 0.0 -0.1 -0.2 0.1 0.0 -0.1 -0.2 -40C +25C +85C +125C -0.3 -40C +25C +85C +125C -0.3 -0.4 -0.4 0 1024 2048 3072 4096 0 1024 Volatile DAC Register Code 0.3 0.3 0.2 0.2 0.1 0.1 0.0 -0.1 -40C +25C +85C +125C 4096 0.0 -0.1 -40C +25C +85C +125C -0.2 -0.3 -0.3 0 128 256 384 512 640 768 896 0 1024 128 256 384 512 640 768 896 1024 Volatile DAC Register Code Volatile DAC Register Code FIGURE 2-26: DNL vs. Code (code = 25 to 1000) and Temperature (MCP4716). VDD = 5V, VREF1:VREF0 = `10', G = `0', VREF = VDD. FIGURE 2-29: DNL vs. Code (code = 25 to 1000) and Temperature (MCP4716). VDD = 2.7V, VREF1:VREF0 = `10', G = `0', VREF = VDD. 0.20 0.20 0.15 0.15 0.10 0.10 DNL Error (LSb) DNL Error (LSb) 3072 FIGURE 2-28: DNL vs. Code (code = 100 to 4000) and Temperature (MCP4726). VDD = 2.7V, VREF1:VREF0 = `10', G = `0', VREF = VDD. DNL Error (LSb) DNL Error (LSb) FIGURE 2-25: DNL vs. Code (code = 100 to 4000) and Temperature (MCP4726). VDD = 5V, VREF1:VREF0 = `10', G = `0', VREF = VDD. -0.2 2048 Volatile DAC Register Code 0.05 0.00 -0.05 -0.10 0.05 0.00 -0.05 -0.10 -40C +25C +85C +125C -0.15 -40C +25C +85C +125C -0.15 -0.20 -0.20 0 32 64 96 128 160 192 224 256 Volatile DAC Register Code FIGURE 2-27: DNL vs. Code (code = 6 to 250) and Temperature (MCP4706). VDD = 5V, VREF1:VREF0 = `10', G = `0', VREF = VDD. (c) 2011 Microchip Technology Inc. 0 32 64 96 128 160 192 224 256 Volatile DAC Register Code FIGURE 2-30: DNL vs. Code (code = 6 to 250) and Temperature (MCP4706). VDD = 2.7V, VREF1:VREF0 = `10', G = `0', VREF = VDD. DS22272A-page 19 MCP4706/4716/4726 Note: Unless otherwise indicated, TA = +25C, VDD = 5V, VSS = 0V, VRL = Internal, Gain = x1, RL = 5 k, CL = 100 pF. -18.0 2.7V 5.0V 5.5V -20.0 Full Scale Error (LSb) Zero Scale Error (LSb) 2.0 1.5 1.0 0.5 -22.0 -24.0 -26.0 -28.0 2.7V 5.0V 5.5V -30.0 0.0 -32.0 -40 -20 0 20 40 60 80 100 120 -40 -20 0 20 Temperature (C) FIGURE 2-31: Zero Scale Error (ZSE) vs. Temperature (MCP4726). VDD = 5V, VREF1:VREF0 = `10', G = `0', VREF = VDD. 80 100 120 -4.0 2.7V 5.0V 5.5V 0.4 0.3 0.2 -5.0 -6.0 -7.0 0.1 2.7V 5.0V 5.5V 0.0 -8.0 -40 -20 0 20 40 60 80 100 120 -40 -20 0 20 Temperature (C) 0.20 40 60 80 100 120 Temperature (C) FIGURE 2-32: Zero Scale Error (ZSE) vs. Temperature (MCP4716). VDD = 5V, VREF1:VREF0 = `10', G = `0', VREF = VDD. FIGURE 2-35: Full Scale Error (FSE) vs. Temperature (MCP4716). VDD = 2.7V, VREF1:VREF0 = `10', G = `0', VREF = VDD. 0.0 2.7V 5.0V 5.5V Full Scale Error (LSb) Zero Scale Error (LSb) 60 FIGURE 2-34: Full Scale Error (FSE) vs. Temperature (MCP4726). VDD = 2.7V, VREF1:VREF0 = `10', G = `0', VREF = VDD. Full Scale Error (LSb) Zero Scale Error (LSb) 0.5 40 Temperature (C) 0.15 0.10 0.05 -0.5 -1.0 -1.5 2.7V 5.0V 5.5V 0.00 -2.0 -40 -20 0 20 40 60 80 100 120 Temperature (C) FIGURE 2-33: Zero Scale Error (ZSE) vs. Temperature (MCP4706). VDD = 5V, VREF1:VREF0 = `10', G = `0', VREF = VDD. DS22272A-page 20 -40 -20 0 20 40 60 80 100 120 Temperature (C) FIGURE 2-36: Full Scale Error (FSE) vs. Temperature (MCP4706). VDD = 2.7V, VREF1:VREF0 = `10', G = `0', VREF = VDD. (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 Note: Unless otherwise indicated, TA = +25C, VDD = 5V, VSS = 0V, VRL = Internal, Gain = x1, RL = 5 k, CL = 100 pF. 12 12 -40C +25C +85C +125C 8 4 INL Error (LSb) INL Error (LSb) 8 -40C +25C +85C +125C 0 -4 -8 4 0 -4 -8 -12 -12 0 1024 2048 3072 4096 0 1024 Volatile DAC Register Code FIGURE 2-37: INL vs. Code (code = 100 to 4000) and Temperature (MCP4726). VDD = 5V, VREF1:VREF0 = `11', G = `0', VREF = VDD. 4096 3 -40C +25C +85C +125C 2 -40C +25C +85C +125C 2 1 INL Error (LSb) INL Error (LSb) 3072 FIGURE 2-40: INL vs. Code (code = 100 to 4000) and Temperature (MCP4726). VDD = 2.7V, VREF1:VREF0 = `11', G = `0', VREF = VDD. 3 0 -1 -2 1 0 -1 -2 -3 -3 0 128 256 384 512 640 768 896 1024 0 128 Volatile DAC Register Code 256 384 512 640 768 896 1024 Volatile DAC Register Code FIGURE 2-38: INL vs. Code (code = 25 to 1000) and Temperature (MCP4716). VDD = 5V, VREF1:VREF0 = `11', G = `0', VREF = VDD. FIGURE 2-41: INL vs. Code (code = 25 to 1000) and Temperature (MCP4716). VDD = 2.7V, VREF1:VREF0 = `11', G = `0', VREF = VDD. 1.0 1.0 -40C +25C +85C +125C -40C +25C +85C +125C 0.5 INL Error (LSb) 0.5 INL Error (LSb) 2048 Volatile DAC Register Code 0.0 -0.5 0.0 -0.5 -1.0 -1.0 0 32 64 96 128 160 192 224 256 Volatile DAC Register Code FIGURE 2-39: INL vs. Code (code = 6 to 250) and Temperature (MCP4706). VDD = 5V, VREF1:VREF0 = `11', G = `0', VREF = VDD. (c) 2011 Microchip Technology Inc. 0 32 64 96 128 160 192 224 256 Volatile DAC Register Code FIGURE 2-42: INL vs. Code (code = 6 to 250) and Temperature (MCP4706). VDD = 2.7V, VREF1:VREF0 = `11', G = `0', VREF = VDD. DS22272A-page 21 MCP4706/4716/4726 0.4 0.4 0.3 0.3 0.2 0.2 DNL Error (LSb) DNL Error (LSb) Note: Unless otherwise indicated, TA = +25C, VDD = 5V, VSS = 0V, VRL = Internal, Gain = x1, RL = 5 k, CL = 100 pF. 0.1 0.0 -0.1 -0.2 0.1 0.0 -0.1 -0.2 -40C +25C +85C +125C -0.3 -40C +25C +85C +125C -0.3 -0.4 -0.4 0 1024 2048 3072 4096 0 1024 Volatile DAC Register Code 0.3 0.3 0.2 0.2 0.1 0.1 0.0 -0.1 -40C +25C +85C +125C 4096 0.0 -0.1 -40C +25C +85C +125C -0.2 -0.3 -0.3 0 128 256 384 512 640 768 896 0 1024 128 256 384 512 640 768 896 1024 Volatile DAC Register Code Volatile DAC Register Code FIGURE 2-44: DNL vs. Code (code = 25 to 1000) and Temperature (MCP4716). VDD = 5V, VREF1:VREF0 = `11', G = `0', VREF = VDD. FIGURE 2-47: DNL vs. Code (code = 25 to 1000) and Temperature (MCP4716). VDD = 2.7V, VREF1:VREF0 = `11', G = `0', VREF = VDD. 0.20 0.20 0.15 0.15 0.10 0.10 DNL Error (LSb) DNL Error (LSb) 3072 FIGURE 2-46: DNL vs. Code (code = 100 to 4000) and Temperature (MCP4726). VDD = 2.7V, VREF1:VREF0 = `11', G = `0', VREF = VDD. DNL Error (LSb) DNL Error (LSb) FIGURE 2-43: DNL vs. Code (code = 100 to 4000) and Temperature (MCP4726). VDD = 5V, VREF1:VREF0 = `11', G = `0', VREF = VDD. -0.2 2048 Volatile DAC Register Code 0.05 0.00 -0.05 -0.10 0.05 0.00 -0.05 -0.10 -40C +25C +85C +125C -0.15 -40C +25C +85C +125C -0.15 -0.20 -0.20 0 32 64 96 128 160 192 224 256 Volatile DAC Register Code FIGURE 2-45: DNL vs. Code (code = 6 to 250) and Temperature (MCP4706). VDD = 5V, VREF1:VREF0 = `11', G = `0', VREF = VDD. DS22272A-page 22 0 32 64 96 128 160 192 224 256 Volatile DAC Register Code FIGURE 2-48: DNL vs. Code (code = 6 to 250) and Temperature (MCP4706). VDD = 2.7V, VREF1:VREF0 = `11', G = `0', VREF = VDD. (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 Note: Unless otherwise indicated, TA = +25C, VDD = 5V, VSS = 0V, VRL = Internal, Gain = x1, RL = 5 k, CL = 100 pF. -18.0 2.7V 5.0V 5.5V -20.0 Full Scale Error (LSb) Zero Scale Error (LSb) 2.0 1.5 1.0 0.5 -22.0 -24.0 -26.0 -28.0 2.7V 5.0V 5.5V -30.0 0.0 -32.0 -40 -20 0 20 40 60 80 100 120 -40 -20 0 20 Temperature (C) FIGURE 2-49: Zero Scale Error (ZSE) vs. Temperature (MCP4726). VDD = 5V, VREF1:VREF0 = `11', G = `0', VREF = VDD. 80 100 120 -4.0 2.7V 5.0V 5.5V 0.4 0.3 0.2 -5.0 -6.0 -7.0 0.1 2.7V 5.0V 5.5V 0.0 -8.0 -40 -20 0 20 40 60 80 100 120 -40 -20 0 20 Temperature (C) 0.20 40 60 80 100 120 Temperature (C) FIGURE 2-50: Zero Scale Error (ZSE) vs. Temperature (MCP4716). VDD = 5V, VREF1:VREF0 = `11', G = `0', VREF = VDD. FIGURE 2-53: Full Scale Error (FSE) vs. Temperature (MCP4716). VDD = 2.7V, VREF1:VREF0 = `11', G = `0', VREF = VDD. 0.0 2.7V 5.0V 5.5V Full Scale Error (LSb) Zero Scale Error (LSb) 60 FIGURE 2-52: Full Scale Error (FSE) vs. Temperature (MCP4726). VDD = 2.7V, VREF1:VREF0 = `11', G = `0', VREF = VDD. Full Scale Error (LSb) Zero Scale Error (LSb) 0.5 40 Temperature (C) 0.15 0.10 0.05 -0.5 -1.0 -1.5 2.7V 5.0V 5.5V 0.00 -2.0 -40 -20 0 20 40 60 80 100 120 Temperature (C) FIGURE 2-51: Zero Scale Error (ZSE) vs. Temperature (MCP4706). VDD = 5V, VREF1:VREF0 = `11', G = `0', VREF = VDD. (c) 2011 Microchip Technology Inc. -40 -20 0 20 40 60 80 100 120 Temperature (C) FIGURE 2-54: Full Scale Error (FSE) vs. Temperature (MCP4706). VDD = 2.7V, VREF1:VREF0 = `11', G = `0', VREF = VDD. DS22272A-page 23 MCP4706/4716/4726 Note: Unless otherwise indicated, TA = +25C, VDD = 5V, VSS = 0V, VRL = Internal, Gain = x1, RL = 5 k, CL = 100 pF. 16 0.5 2.7V 5.0V 5.5V 0.4 0.3 0.2 8 DNL Error (LSb) INL Error (LSb) 12 4 0 0.1 0.0 -0.1 -0.2 -0.3 -4 2.7V 5.0V 5.5V -0.4 -8 -0.5 0 1024 2048 3072 0 4096 1024 Volatile DAC Register Code FIGURE 2-55: INL vs. Code (code = 100 to 4000) and VDD (2.7V, 5V, 5.5V) (MCP4726). VREF1:VREF0 = `10', G = `1', VREF = VDD/2, Temp = +25C. 3 2048 3072 4096 Volatile DAC Register Code FIGURE 2-58: DNL vs. Code (code = 100 to 4000) and VDD (2.7V, 5V, 5.5V) (MCP4726). VREF1:VREF0 = `10', G = `1', VREF = VDD/2, Temp = +25C. 0.4 2.7V 5.0V 5.5V 0.3 2 DNL Error (LSb) INL Error (LSb) 0.2 1 0 -1 -2 0.1 0.0 -0.1 2.7V 5.0V 5.5V -0.2 -3 -0.3 0 128 256 384 512 640 768 896 1024 0 128 Volatile DAC Register Code 384 512 640 768 896 1024 Volatile DAC Register Code FIGURE 2-56: INL vs. Code (code = 25 to 1000) and VDD (2.7V, 5V, 5.5V) (MCP4716). VREF1:VREF0 = `10', G = `1', VREF = VDD/2, Temp = +25C. 1.0 256 FIGURE 2-59: DNL vs. Code (code = 25 to 1000) and VDD (2.7V, 5V, 5.5V) (MCP4716). VREF1:VREF0 = `10', G = `1', VREF = VDD/2, Temp = +25C. 0.30 2.7V 5.0V 5.5V 0.25 0.20 0.15 DNL Error (LSb) INL Error (LSb) 0.5 0.0 0.10 0.05 0.00 -0.05 -0.10 -0.15 -0.5 -0.20 2.7V 5.0V 5.5V -0.25 -1.0 -0.30 0 32 64 96 128 160 192 224 256 Volatile DAC Register Code FIGURE 2-57: INL vs. Code (code = 6 to 250) and VDD (2.7V, 5V, 5.5V) (MCP4706). VREF1:VREF0 = `10', G = `1', VREF = VDD/2, Temp = +25C. DS22272A-page 24 0 32 64 96 128 160 192 224 256 Volatile DAC Register Code FIGURE 2-60: DNL vs. Code (code = 6 to 250) and VDD (2.7V, 5V, 5.5V) (MCP4706). VREF1:VREF0 = `10', G = `1', VREF = VDD/2, Temp = +25C. (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 Note: Unless otherwise indicated, TA = +25C, VDD = 5V, VSS = 0V, VRL = Internal, Gain = x1, RL = 5 k, CL = 100 pF. 16 0.5 2.7V 5.0V 5.5V 0.4 0.3 0.2 8 DNL Error (LSb) INL Error (LSb) 12 4 0 0.1 0.0 -0.1 -0.2 -0.3 -4 2.7V 5.0V 5.5V -0.4 -8 -0.5 0 1024 2048 3072 0 4096 1024 Volatile DAC Register Code FIGURE 2-61: INL vs. Code (code = 100 to 4000) and VDD (2.7V, 5V, 5.5V) (MCP4726). VREF1:VREF0 = `11', G = `1', VREF = VDD/2, Temp = +25C. 3 2048 3072 4096 Volatile DAC Register Code FIGURE 2-64: DNL vs. Code (code = 100 to 4000) and VDD (2.7V, 5V, 5.5V) (MCP4726). VREF1:VREF0 = `11', G = `1', VREF = VDD/2, Temp = +25C. 0.4 2.7V 5.0V 5.5V 0.3 2 DNL Error (LSb) INL Error (LSb) 0.2 1 0 -1 -2 0.1 0.0 -0.1 2.7V 5.0V 5.5V -0.2 -3 -0.3 0 128 256 384 512 640 768 896 1024 0 128 256 Volatile DAC Register Code 384 512 640 768 896 1024 Volatile DAC Register Code FIGURE 2-62: INL vs. Code (code = 25 to 1000) and VDD (2.7V, 5V, 5.5V) (MCP4716). VREF1:VREF0 = `11', G = `1', VREF = VDD/2, Temp = +25C. FIGURE 2-65: DNL vs. Code (code = 25 to 1000) and VDD (2.7V, 5V, 5.5V) (MCP4716). VREF1:VREF0 = `11', G = `1', VREF = VDD/2, Temp = +25C. 0.30 1.0 2.7V 5.0V 5.5V 0.25 0.20 0.15 DNL Error (LSb) INL Error (LSb) 0.5 0.0 -0.5 0.10 0.05 0.00 -0.05 -0.10 -0.15 -0.20 2.7V 5.0V 5.5V -0.25 -1.0 -0.30 0 32 64 96 128 160 192 224 256 Volatile DAC Register Code FIGURE 2-63: INL vs. Code (code = 6 to 250) and VDD (2.7V, 5V, 5.5V) (MCP4706). VREF1:VREF0 = `11', G = `1', VREF = VDD/2, Temp = +25C. (c) 2011 Microchip Technology Inc. 0 32 64 96 128 160 192 224 256 Volatile DAC Register Code FIGURE 2-66: DNL vs. Code (code = 6 to 250) and VDD (2.7V, 5V, 5.5V) (MCP4706). VREF1:VREF0 = `11', G = `1', VREF = VDD/2, Temp = +25C. DS22272A-page 25 MCP4706/4716/4726 Note: Unless otherwise indicated, TA = +25C, VDD = 5V, VSS = 0V, VRL = Internal, Gain = x1, RL = 5 k, CL = 100 pF. 1.0 16 1V 2V 3V 4V 5V 2V 5V 3V 0.5 8 DNL Error (LSb) INL Error (LSb) 12 1V 4V 4 0 0.0 -0.5 -4 -8 -1.0 0 1024 2048 3072 0 4096 1024 Volatile DAC Register Code FIGURE 2-67: INL vs. Code (code = 100 to 4000) and VREF (MCP4726). VDD = 5V, VREF1:VREF0 = `10', G = `0', VREF = 1V, 2V, 3V, 4V, and 5V, Temp = +25C. 0.5 1V 2V 3V 4V 5V 1V 4V 0.4 4096 2V 5V 3V 0.3 0.2 2 DNL Error (LSb) INL Error (LSb) 3072 FIGURE 2-70: DNL vs. Code (code = 100 to 4000) and VREF (MCP4726). VDD = 5V, VREF1:VREF0 = `10', G = `0', VREF = 1V, 2V, 3V, 4V, and 5V, Temp = +25C. 4 3 2048 Volatile DAC Register Code 1 0 0.1 0.0 -0.1 -0.2 -0.3 -1 -0.4 -0.5 -2 0 128 256 384 512 640 768 896 0 1024 128 256 384 512 640 768 896 1024 Volatile DAC Register Code Volatile DAC Register Code FIGURE 2-68: INL vs. Code (code = 25 to 1000) and VREF (MCP4716). VDD = 5V, VREF1:VREF0 = `10', G = `0', VREF = 1V, 2V, 3V, 4V, and 5V, Temp = +25C. FIGURE 2-71: DNL vs. Code (code = 25 to 1000) and VREF (MCP4716). VDD = 5V, VREF1:VREF0 = `10', G = `0', VREF = 1V, 2V, 3V, 4V, and 5V, Temp = +25C. 1.0 0.5 1V 4V 0.4 2V 5V 3V 0.3 0.5 DNL Error (LSb) INL Error (LSb) 0.2 0.0 -0.5 1V 2V 3V 4V 5V 0.0 -0.1 -0.2 -0.3 -0.4 -0.5 -1.0 0 0.1 32 64 96 128 160 192 224 256 Volatile DAC Register Code FIGURE 2-69: INL vs. Code (code = 6 to 250) and VREF (MCP4706). VDD = 5V, VREF1:VREF0 = `10', G = `0', VREF = 1V, 2V, 3V, 4V, and 5V, Temp = +25C. DS22272A-page 26 0 32 64 96 128 160 192 224 256 Volatile DAC Register Code FIGURE 2-72: DNL vs. Code (code = 6 to 250) and VREF (MCP4706). VDD = 5V, VREF1:VREF0 = `10', G = `0', VREF = 1V, 2V, 3V, 4V, and 5V, Temp = +25C. (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 Note: Unless otherwise indicated, TA = +25C, VDD = 5V, VSS = 0V, VRL = Internal, Gain = x1, RL = 5 k, CL = 100 pF. 1.0 16 1V 2V 3V 4V 5V 2V 5V 3V 0.5 8 DNL Error (LSb) INL Error (LSb) 12 1V 4V 4 0 0.0 -0.5 -4 -8 -1.0 0 1024 2048 3072 0 4096 1024 Volatile DAC Register Code FIGURE 2-73: INL vs. Code (code = 100 to 4000) and VREF (MCP4726). VDD = 5V, VREF1:VREF0 = `11', G = `0', VREF = 1V, 2V, 3V, 4V, and 5V, Temp = +25C. 0.5 1V 2V 3V 4V 5V 1V 4V 0.4 4096 2V 5V 3V 0.3 0.2 2 DNL Error (LSb) INL Error (LSb) 3072 FIGURE 2-76: DNL vs. Code (code = 100 to 4000) and VREF (MCP4726). VDD = 5V, VREF1:VREF0 = `11', G = `0', VREF = 1V, 2V, 3V, 4V, and 5V, Temp = +25C. 4 3 2048 Volatile DAC Register Code 1 0 0.1 0.0 -0.1 -0.2 -0.3 -1 -0.4 -0.5 -2 0 128 256 384 512 640 768 896 0 1024 128 256 384 512 640 768 896 1024 Volatile DAC Register Code Volatile DAC Register Code FIGURE 2-74: INL vs. Code (code = 25 to 1000) and VREF (MCP4716). VDD = 5V, VREF1:VREF0 = `11', G = `0', VREF = 1V, 2V, 3V, 4V, and 5V, Temp = +25C. FIGURE 2-77: DNL vs. Code (code = 25 to 1000) and VREF (MCP4716). VDD = 5V, VREF1:VREF0 = `11', G = `0', VREF = 1V, 2V, 3V, 4V, and 5V, Temp = +25C. 1.0 0.5 1V 4V 0.4 2V 5V 3V 0.3 0.5 DNL Error (LSb) INL Error (LSb) 0.2 0.0 -0.5 1V 2V 3V 4V 5V 0.0 -0.1 -0.2 -0.3 -0.4 -0.5 -1.0 0 0.1 32 64 96 128 160 192 224 256 Volatile DAC Register Code FIGURE 2-75: INL vs. Code (code = 6 to 250) and VREF (MCP4706). VDD = 5V, VREF1:VREF0 = `11', G = `0', VREF = 1V, 2V, 3V, 4V, and 5V, Temp = +25C. (c) 2011 Microchip Technology Inc. 0 32 64 96 128 160 192 224 256 Volatile DAC Register Code FIGURE 2-78: DNL vs. Code (code = 6 to 250) and VREF (MCP4706). VDD = 5V, VREF1:VREF0 = `11', G = `0', VREF = 1V, 2V, 3V, 4V, and 5V, Temp = +25C. DS22272A-page 27 MCP4706/4716/4726 Note: Unless otherwise indicated, TA = +25C, VDD = 5V, VSS = 0V, VRL = Internal, Gain = x1, RL = 5 k, CL = 100 pF. -20.0 2.7V 5.0V 5.5V -22.0 Output Error (LSb) -22.0 Output Error (LSb) -20.0 2.7V 5.0V 5.5V -24.0 -26.0 -28.0 -30.0 -24.0 -26.0 -28.0 -30.0 -32.0 -32.0 -34.0 -34.0 -36.0 -36.0 -40 -20 0 20 40 60 80 100 120 -40 -20 0 20 FIGURE 2-79: Output Error vs. Temperature (MCP4726). VDD = 2.7V and 5V, VREF1:VREF0 = `00', Code = 4000. Output Error (LSb) Output Error (LSb) 80 100 120 2.7V 5.0V 5.5V 2.7V 5.0V 5.5V -5.0 -6.0 -5.0 -6.0 -7.0 -7.0 -8.0 -8.0 -40 -20 0 20 40 60 80 100 -40 120 -20 0 20 FIGURE 2-80: Output Error vs. Temperature (MCP4716). VDD = 2.7V and 5V, VREF1:VREF0 = `00', Code = 1000. 60 80 100 120 FIGURE 2-83: Output Error vs. Temperature (MCP4716). VDD = 2.7V and 5V, VREF1:VREF0 = `10', G = `0', VREF = VDD, Code = 1000. -0.4 -0.4 40 Temperature (C) Temperature (C) 2.7V 5.0V 5.5V 2.7V 5.0V 5.5V -0.6 Output Error (LSb) Output Error (LSb) 60 FIGURE 2-82: Output Error vs. Temperature (MCP4726). VDD = 2.7V and 5V, VREF1:VREF0 = `10', G = `0', VREF = VDD, Code = 4000. -4.0 -4.0 40 Temperature (C) Temperature (C) -0.8 -1.0 -0.6 -0.8 -1.0 -1.2 -1.2 -1.4 -1.4 -40 -20 0 20 40 60 80 100 120 Temperature (C) FIGURE 2-81: Output Error vs. Temperature (MCP4706). VDD = 2.7V and 5V, VREF1:VREF0 = `00', Code = 250. DS22272A-page 28 -40 -20 0 20 40 60 80 100 120 Temperature (C) FIGURE 2-84: Output Error vs. Temperature (MCP4706). VDD = 2.7V and 5V, VREF1:VREF0 = `10', G = `0', VREF = VDD, Code = 250. (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 Note: Unless otherwise indicated, TA = +25C, VDD = 5V, VSS = 0V, VRL = Internal, Gain = x1, RL = 5 k, CL = 100 pF. -20.0 2.7V 5.0V 5.5V Output Error (LSb) -22.0 -24.0 -26.0 -28.0 -30.0 -32.0 -34.0 -36.0 -40 -20 0 20 40 60 80 100 120 Temperature (C) FIGURE 2-85: Output Error vs. Temperature (MCP4726). VDD = 2.7V and 5V, VREF1:VREF0 = `11', G = `0', VREF = VDD, Code = 4000. Output Error (LSb) -4.0 2.7V 5.0V 5.5V -5.0 -6.0 -7.0 -8.0 -40 -20 0 20 40 60 80 100 120 Temperature (C) FIGURE 2-86: Output Error vs. Temperature (MCP4716). VDD = 2.7V and 5V, VREF1:VREF0 = `11', G = `0', VREF = VDD, Code = 1000. -0.4 2.7V 5.0V 5.5V Output Error (LSb) -0.6 -0.8 -1.0 -1.2 -1.4 -40 -20 0 20 40 60 80 100 120 Temperature (C) FIGURE 2-87: Output Error vs. Temperature (MCP4706). VDD = 2.7V and 5V, VREF1:VREF0 = `11', G = `0', VREF = VDD, Code = 250. (c) 2011 Microchip Technology Inc. DS22272A-page 29 MCP4706/4716/4726 Note: Unless otherwise indicated, TA = +25C, VDD = 5V, VSS = 0V, VRL = Internal, Gain = x1, RL = 5 k, CL = 100 pF. 250 500 2.7V 3.3V 4.5V 5.0V 5.5V 225 2.7V 3.3V 4.5V 5.0V 5.5V 400 IPowerDown (nA) IDD (uA) 200 175 150 300 200 100 125 100 0 -40 -20 0 20 40 60 80 100 120 Temperature (C) -40 -20 0 20 40 60 80 100 120 Temperature (C) FIGURE 2-88: IDD vs. Temperature. VDD = 2.7V and 5V, VREF1:VREF0 = `00'. FIGURE 2-91: Powerdown Current vs. Temperature. VDD = 2.7V, 3.3V, 4.5V, 5.0V and 5.5V, PD1:PD0 = `11'. 250 2.7V 3.3V 4.5V 5.0V 5.5V 225 IDD (uA) 200 175 150 125 100 -40 -20 0 20 40 60 80 100 120 Temperature (C) FIGURE 2-89: IDD vs. Temperature. VDD = 2.7V and 5V, VREF1:VREF0 = `10', G = `0', VREF = VDD. 250 2.7V 3.3V 4.5V 5.0V 5.5V 225 IDD (uA) 200 175 150 125 100 -40 -20 0 20 40 60 80 100 120 Temperature (C) FIGURE 2-90: IDD vs. Temperature. VDD = 2.7V and 5V, VREF1:VREF0 = `11', G = `0', VREF = VDD. DS22272A-page 30 (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 Note: Unless otherwise indicated, TA = +25C, VDD = 5V, VSS = 0V, VRL = Internal, Gain = x1, RL = 5 k, CL = 100 pF. 70 6 Code = FFFh 2.7V 5.0V 5.5V 5 VOUT (V) VIH (% VDD) 65 60 4 3 2 55 1 0 50 -40 -20 0 20 40 60 80 100 0 120 Temperature (C) FIGURE 2-92: VIH Threshold of SDA/SCL Inputs vs. Temperature and VDD. 1000 2000 3000 4000 Load Resistance (RL) (:) FIGURE 2-94: VDD = 5.0V. 50 5000 VOUT vs. Resistive Load. 6 Code = FFFh 2.7V 5.0V 5.5V Code = 000h 5 45 VOUT (V) VIL (% VDD) 4 40 3 2 35 1 0 30 -40 -20 0 20 40 60 80 100 120 Temperature (C) FIGURE 2-93: VIL Threshold of SDA/SCL Inputs vs. Temperature and VDD. (c) 2011 Microchip Technology Inc. 0 3 6 9 ISOURCE/SINK (mA) 12 15 FIGURE 2-95: VOUT vs. Source / Sink Current. VDD = 5.0V. DS22272A-page 31 MCP4706/4716/4726 Note: Unless otherwise indicated, TA = +25C, VDD = 5V, VSS = 0V, VREF = Internal, Gain = x1, RL = 5 k, CL = 100 pF. FIGURE 2-96: Full-Scale Settling Time (000h to FFFh) (MCP4726). FIGURE 2-98: Half-Scale Settling Time (400h to C00h) (MCP4726). FIGURE 2-97: Full-Scale Settling Time (FFFh to 000h) (MCP4726). FIGURE 2-99: Half-Scale Settling Time (C00h to 400h) (MCP4726). FIGURE 2-100: Exiting Power Down Mode (MCP4726, Volatile DAC Register = FFFh). DS22272A-page 32 (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 3.0 PIN DESCRIPTIONS An overview of the pin functions are described in Section 3.1 through Section 3.7. The descriptions of the pins are listed in Table 3-1. TABLE 3-1: MCP47X6 PINOUT DESCRIPTION Pin SOT-23 DFN Symbol I/O Buffer Type Standard Function 6L 6L 1 6 VOUT A Analog 2 5 VSS -- P Ground reference pin for all circuitries on the device 3 4 VDD -- P Supply Voltage Pin 4 3 SDA I/O ST I2C Serial Data Pin 5 2 SCL I ST I2C Serial Clock Pin 6 1 VREF A Analog -- 7 EP -- -- Legend: Note 1: A = Analog pins O = Digital output P = Power Buffered analog voltage output pin Voltage Reference Input Pin Exposed Pad Note 1 I = Digital input (high Z) I/O = Input / Output The DFN package has a contact on the bottom of the package. This contact is conductively connected to the die substrate, and therefore should be unconnected or connected to the same ground as the device's VSS pin. (c) 2011 Microchip Technology Inc. DS22272A-page 33 MCP4706/4716/4726 3.1 Analog Output Voltage Pin (VOUT) VOUT is the DAC analog output pin. The DAC output has an output amplifier. VOUT can swing from approximately 0V to approximately VDD. The full-scale range of the DAC output is from VSS to G * VRL, where G is the gain selection option (1x or 2x). In normal mode, the DC impedance of the output pin is about 1. In Power-Down mode, the output pin is internally connected to a known pull-down resistor of 1 k, 125 k, or 640 k. The Power-Down selection bits settings are shown Table 4-2. 3.2 Positive Power Supply Input (VDD) VDD is the positive supply voltage input pin. The input supply voltage is relative to VSS. The power supply at the VDD pin should be as clean as possible for a good DAC performance. It is recommended to use an appropriate bypass capacitor of about 0.1 F (ceramic) to ground. An additional 10 F capacitor (tantalum) in parallel is also recommended to further attenuate high-frequency noise present in application boards. 3.3 3.4 Serial Data Pin (SDA) SDA is the serial data pin of the I2C interface. The SDA pin is used to write or read the DAC registers and configuration bits. The SDA pin is an open-drain N-channel driver. Therefore, it needs a pull-up resistor from the VDD line to the SDA pin. Except for start and stop conditions, the data on the SDA pin must be stable during the high period of the clock. The high or low state of the SDA pin can only change when the clock signal on the SCL pin is low. Refer to Section 5.0 "I2C Serial Interface" for more details of I2C Serial Interface communication. 3.5 Serial Clock Pin (SCL) SCL is the serial clock pin of the I2C interface. The MCP47X6 devices act only as a slave and the SCL pin accepts only external serial clocks. The input data from the Master device is shifted into the SDA pin on the rising edges of the SCL clock and output from the device occurs at the falling edges of the SCL clock. The SCL pin is an open-drain N-channel driver. Therefore, it needs a pull-up resistor from the VDD line to the SCL pin. Refer to Section 5.0 "I2C Serial Interface" for more details of I2C Serial Interface communication. Ground (VSS) The VSS pin is the device ground reference. The user must connect the VSS pin to a ground plane through a low-impedance connection. If an analog ground path is available in the application PCB (printed circuit board), it is highly recommended that the VSS pin be tied to the analog ground path or isolated within an analog ground plane of the circuit board. 3.6 Voltage Reference Pin (VREF) This pin is used for the external voltage reference input. The user can select VDD voltage or the VREF pin voltage as the reference resistor ladder's voltage reference. When the VREF pin signal is selected, there is an option for this voltage to be buffered or unbuffered. This is offered in cases where the reference voltage does not have the current capability not to drop its voltage when connected to the internal resistor ladder circuit. When the VDD is selected as reference voltage, this pin is disconnected from the internal circuit. See Section 4.2 "DAC's (Resistor Ladder) Reference Voltage" and Table 4-4 for more details on the configuration bits. 3.7 Exposed Pad (EP) This pad is conductively connected to the device's substrate. This pad should be tied to the same potential as the VSS pin (or left unconnected). This pad could be used to assist as a heat sink for the device when connected to a PCB heat sink. DS22272A-page 34 (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 4.0 GENERAL DESCRIPTION 4.1 The MCP4706, MCP4716, and MCP4726 devices are single channel voltage output 8-bit, 10-bit, and 12-bit DAC devices with nonvolatile memory (EEPROM) and an I2C serial interface. This family will be referred to as MCP47X6. The devices use a resistor ladder architecture. The resistor ladder DAC is driven from a software selectable voltage reference source. The source can be either the device's internal VDD or the external VREF pin voltage. The DAC output is buffered with a low power and precision output amplifier (op amp). This output amplifier provides a rail-to-rail output with low offset voltage and low noise. The gain of the output buffer is software configurable. This device also has user programmable nonvolatile memory (EEPROM), which allows the user to save the desired POR/BOR value of the DAC register and device configuration bits. The devices use a two-wire I2C serial communication interface and operate with a single supply voltage from 2.7V to 5.5V. Power-On-Reset / Brown Out Reset (POR/BOR) The internal Power-On-Reset (POR) / Brown-Out Reset (BOR) circuit monitors the power supply voltage (VDD) during operation. This circuit ensures correct device start-up at system power-up and power-down events. VRAM is the RAM retention voltage and is always lower than the POR trip point voltage. POR occurs as the voltage is rising (typically from 0V), while BOR occurs as the voltage is falling (typically from VDD(MIN) or higher). When the rising VDD voltage crosses the VPOR trip point, the following occurs: * Nonvolatile DAC Register value latched into volatile DAC Register * Nonvolatile configuration bit values latched into volatile configuration bits * POR status bit is set ("1") * The reset delay timer starts; when timer times out (tPORD), the I2C interface is operational. The analog output (VOUT) state will be determined by the state of the volatile configuration bits and the DAC Register. This is called a POR reset (event). When the falling VDD voltage crosses the VPOR trip point, the following occurs: * Device is forced into a power down state (PD1:PD0 = `11'). Analog circuitry is turned off. * Volatile DAC Register is forced to 000h * Volatile configuration bits VREF1, VREF0 and G are forced to `0' Figure 4-1 illustrates the conditions for power-up and power-down events under typical conditions. Volatile memory POR starts Reset Delay Timer. retains data value When timer times out, I2C interface can operate (if VDD >= VDD(MIN)) Volatile memory becomes corrupted VDD(MIN) VPOR VBOR TPORD (60 s max.) VRAM Normal Operation Device in unknown state Device in POR state POR reset forced active FIGURE 4-1: EEPROM data latched into volatile configuration bits and DAC register. POR status bit is set ("1") Below minimum operating voltage Device Device in in power unknown down state state BOR reset, volatile DAC Register = 000h volatile VREF1:VREF0 = 00 volatile G = 0 volatile PD1:PD0 = 11 Power-On-Reset Operation. (c) 2011 Microchip Technology Inc. DS22272A-page 35 MCP4706/4716/4726 4.2 DAC's (Resistor Ladder) Reference Voltage The device can be configured to use one of three voltage sources for the resistor ladder's reference voltage (VRL) (see Figure 4-2). These are: 1. 2. 3. VDD pin voltage VREF pin voltage internally buffered VREF pin voltage unbuffered The selection of the voltage is specified with the volatile VREF1:VREF0 configuration bits (see Table 4-4). There are nonvolatile and volatile VREF1:VREF0 configuration bits. On a POR/BOR event, the state of the nonvolatile VREF1:VREF0 configuration bits are latched into the volatile VREF1:VREF0 configuration bits. When the user selects the VDD as reference, the VREF pin voltage is not connected to the resistor ladder. If the VREF pin is selected, then one needs to select between the buffered or unbuffered mode. In unbuffered mode, the VREF pin voltage may be from VSS to VDD. Note: In unbuffered mode, the voltage source should have a low output impedance. If the voltage source has a high output impedance, then the voltage on the VREF's pin would be lower than expected. The resistor ladder has a typical impedance of 210 k and a typical capacitance of 29 pF. 4.3 The resistor ladder is a digital potentiometer with the B Terminal internally grounded and the A terminal connected to the selected reference voltage (see Figure 4-3). The volatile DAC register controls the wiper position. The wiper voltage (VW) is proportional to the DAC register value divided by the number of resistor elements (RS) in the ladder (256, 1024, or 4096) related to the VRL voltage. Note: Any variation or noises on the reference source can directly affect the DAC output. The reference voltage needs to be as clean as possible for accurate DAC performance. The maximum wiper position is 2n - 1, while the number of resistors in the resistor ladder is 2n. This means that when the DAC register is at full scale, there is one resistor element (RS) between the wiper and the VRL voltage. The resistor ladder (RRL) has a typical impedance of approximately 210 k. This resistor ladder resistance (RRL) may vary from device to device up to 20%. Since this is a voltage divider configuration, the actual RRL resistance does not effect the output given a fixed voltage at VRL. If the unbuffered VREF pin is used as the VRL voltage source, this voltage source should have a low output impedance. When the DAC is powered down, the resistor ladder is disconnected from the selected reference voltage. PD1:PD0 In buffered mode, the VREF pin voltage may be from 0.01V to VDD-0.04V. The input buffer (amplifier) provides low offset voltage, low noise, and a very high input impedance, with only minor limitations on the input range and frequency response. VDD DAC Register 2n - 1 RS(2n - 1) 2n - 2 RRL RS(2n - 2) VW 1 RS(1) 0 VRL Buffer FIGURE 4-2: Resistor Ladder Reference Voltage Selection Block Diagram. VW = DAC Register Value * VRL # Resistors in Resistor Ladder Where: # Resistors in Resistor Ladder = 256 (MCP4706) 1024 (MCP4716) 4096 (MCP4726) FIGURE 4-3: DS22272A-page 36 VRL RS(2n) VREF1:VREF0 VREF Reference Selection Note: Resistor Ladder Resistor Ladder. (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 4.4 Output Buffer / VOUT Operation The DAC output is buffered with a low power and precision output amplifier (op amp). Figure 4-4 shows a block diagram. This amplifier provides a rail-to-rail output with low offset voltage and low noise. The user can select the output gain of the output amplifier. Gain options are: a) b) Gain of 1, with either VDD or VREF pin used as reference voltage Gain of 2, only when VREF pin is used as reference voltage. The VREF pin voltage should be limited to VDD/2. The amplifier's output can drive the resistive and high capacitive loads without oscillation. The amplifier provides a maximum load current which is enough for most programmable voltage reference applications. Refer to Section 1.0 "Electrical Characteristics" for the specifications of the output amplifier. Note: The load resistance must keep higher than 5 k for the stable and expected analog output (to meet electrical specifications). In any of the three Power-Down modes, the op amp is powered down and it's output becomes a high impedance to the VOUT pin. Gain (1x or 2x) (G = 0 or 1) 4.4.2 OUTPUT VOLTAGE The volatile DAC Register's value controls the analog VOUT voltage, along with the device's five configuration bits. The volatile DAC Register's value is unsigned binary. The formula for the output voltage is given in Equation 4-1. Table 4-1 shows examples of volatile DAC Register values and the corresponding theoretical VOUT voltage for the MCP47X6 devices. Note: When Gain = 2 (VRL = VREF), if VREF > VDD / 2, the VOUT voltage will be limited to VDD. So if VREF = VDD, then the VOUT voltage will not change for volatile DAC Register values mid-scale and greater, since the op amp at full scale output. EQUATION 4-1: VOUT = CALCULATING OUTPUT VOLTAGE (VOUT) VRL * DAC Register Value * Gain # Resistors in Resistor Ladder # Resistors in Resistor Ladder = 4096 (MCP4726) 1024 (MCP4716) 256 (MCP4706) The DAC register value will be latched on the falling edge of the acknowledge pulse of the write command's last byte. Then the VOUT voltage will start driving to the new value. The following events update the analog voltage output (VOUT): VW FIGURE 4-4: Diagram. 4.4.1 Op Amp VOUT Output Buffer Block PROGRAMMABLE GAIN The amplifier's gain is controlled by the Gain (G) configuration bit (See Table 4-4) and the VRL reference selection. When the VRL reference selection is the device's VDD voltage, the G bit is ignored and a gain of 1 is used. The volatile G bit value can be modified by: * * * * POR event BOR event I2C write commands I2C General Call Reset command * Power-On-Reset or General Call Reset command: Output is updated with EEPROM data. * Falling edge of the acknowledge pulse of the last write command byte. 4.4.2.1 Resolution / Step Voltage The Step voltage is dependent on the device resolution and the output voltage range. One LSb is defined as the ideal voltage difference between two successive codes. The step voltage can easily be calculated by using Equation 4-1 where the DAC Register Value is equal to 1. 4.4.3 DRIVING RESISTIVE AND CAPACITIVE LOADS The VOUT pin can drive up to 100 pF of capacitive load in parallel with a 5 k resistive load (to meet electrical specifications). Figure 2-57 shows the VOUT vs. Resistive Load. VOUT drops slowly as the load resistance decreases after about 3.5 k. It is recommended to use a load with RL greater than 5 k. (c) 2011 Microchip Technology Inc. DS22272A-page 37 MCP4706/4716/4726 TABLE 4-1: Device DAC INPUT CODE VS. ANALOG OUTPUT (VOUT) (VDD = 5.0V) Volatile DAC Register Value LSb VRL 5.0V 1111 1111 1111 0111 1111 1111 MCP4726 (12-bit) 0011 1111 1111 0000 0000 0000 11 1111 1111 01 1111 1111 MCP4716 (10-bit) 00 1111 1111 00 0000 0000 1111 1111 0111 1111 MCP4706 (8-bit) 0011 1111 0000 0000 Note 1: 2: 3: 4: Gain Selection (1) VOUT (4) Equation uV (2) 5.0V/4096 1,220.7 1x VRL * (4095/4096) * 1 4.998779 1x VRL * (4095/4096) * 1 2.499390 2.5V 2.5V/4096 610.4 5.0V 5.0V/4096 1,220.7 2.5V 2.5V/4096 610.4 5.0V 5.0V/4096 1,220.7 2.5V 2.5V/4096 610.4 5.0V 5.0V/4096 1,220.7 2.5V 2.5V/4096 610.4 5.0V 5.0V/1024 4,882.8 2.5V 2.5V/1024 2,441.4 5.0V 5.0V/1024 4,882.8 2.5V 2.5V/1024 2,441.4 5.0V 5.0V/1024 4,882.8 2.5V 2.5V/1024 2,441.4 5.0V 5.0V/1024 4,882.8 2.5V 2.5V/1024 2,441.4 5.0V 5.0V/256 19,531.3 2.5V 2.5V/256 9,765.6 5.0V 5.0V/256 19,531.3 2.5V 2.5V/256 9,765.6 5.0V 5.0V/256 19,531.3 2.5V 2.5V/256 9,765.6 5.0V 5.0V/256 19,531.3 2.5V 2.5V/256 9,765.6 2x (3) Equation V VRL * (4095/4096) * 2) 4.998779 1x VRL * (2047/4096) * 1) 2.498779 1x VRL * (2047/4096) * 1) 1.249390 2x(3) VRL * (2047/4096) * 2) 2.498779 1x VRL * (1023/4096) * 1) 1.248779 1x VRL * (1023/4096) * 1) 0.624390 VRL * (1023/4096) * 2) 1.248779 2x (3) 1x VRL * (0/4096) * 1) 0 1x VRL * (0/4096) * 1) 0 2x(3) VRL * (0/4096) * 2) 0 1x VRL * (1023/1024) * 1 4.995117 1x VRL * (1023/1024) * 1 2.497559 2x(3) VRL * (1023/1024) * 2 4.995117 1x VRL * (511/1024) * 1 2.495117 1x VRL * (511/1024) * 1 1.247559 2x(3) VRL * (511/1024) * 2 2.495117 1x VRL * (255/1024) * 1 1.245117 1x VRL * (255/1024) * 1 0.622559 2x(3) VRL * (255/1024) * 2 1.245117 1x VRL * (0/1024) * 1 0 1x VRL * (0/1024) * 1 0 2x(3) VRL * (0/1024) * 1 0 1x VRL * (255/256) * 1 4.980469 1x VRL * (255/256) * 1 2.490234 2x(3) VRL * (255/256) * 2 4.980469 1x VRL * (127/256) * 1 2.480469 1x VRL * (127/256) * 1 1.240234 2x(3) VRL * (127/256) * 2 2.480469 1x VRL * (63/256) * 1 1.230469 1x VRL * (63/256) * 1 0.615234 2x(3) VRL * (63/256) * 2 1.230469 1x VRL * (0/256) * 1 0 1x VRL * (0/256) * 1 0 2x(3) VRL * (0/256) * 2 0 VRL is the resistor ladder's reference voltage. It is independent of VREF1:VREF0 selection. Gain selection of 2x requires voltage reference source to come from VREF pin and requires VREF pin voltage VDD / 2. Requires G = `1', VREF1:VREF0 = `10' or `11', and VRL VDD / 2. These theoretical calculations do not take into account the offset and gain errors. DS22272A-page 38 (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 Power-Down Operation Gain (1x or 2x) (Gx = 0 or 1) To allow the application to conserve power when the DAC operation is not required, three power down modes are available. The Power-Down configuration bits (PD1:PD0) control the power down operation (Figure 4-5). All power down modes do the following: VW Depending on the selected power down mode, the following will occur: FIGURE 4-5: Diagram. * VOUT pin is switched to one of three resistive pull downs (See Table 4-2) - 640k (typical) - 125k (typical) - 1k (typical) 4.5.1 There is a delay (TPDE) between the PD1:PD0 bits changing from `00' to either `01', `10', or `11' and the op amp no longer driving the VOUT output and the pull down resistors are sinking current. In any of the power down modes, where the VOUT pin is not externally connected (sinking or sourcing current), the power down current will typical be 60 nA (see Section 1.0 "Electrical Characteristics"). Section 6.0 "MCP47X6 I2C Commands" describes the I2C commands for writing the power-down bits. The commands that can update the volatile PD1:PD0 bits are: * * * * * * Write Volatile DAC Register Write Volatile Memory Write All Memory Write Volatile Configuration bits General Call Reset General Call Wake-up Note: The I2C serial interface circuit is not affected by the Power-Down mode. This circuit remains active in order to receive any command that might come from the I2C master device. TABLE 4-2: PD1 PD0 0 0 POWER-DOWN BITS AND OUTPUT RESISTIVE LOAD Function Normal operation 0 1 1 k resistor to ground 1 0 125 k resistor to ground 1 1 640 k resistor to ground (c) 2011 Microchip Technology Inc. 640 k PD1:PD0 1 k * Turning off most of its internal circuits (op amp, resistor ladder, ...) * Op amp output becomes high impedance to the VOUT pin * Disconnects resistor ladder from reference voltage (VRL) * Retains the value of the volatile DAC register and configuration bits, and the nonvolatile (EEPROM) DAC register and configuration bits VOUT Op Amp 125 k 4.5 Op Amp to VOUT Pin Block EXITING POWER-DOWN When the device exits the power down mode the following occurs: * Disabled circuits (op amp, resistor ladder, ...) are turned on * Resistor ladder is connected to selected reference voltage (VRL) * Selected pull down resistor is disconnected * The VOUT output will be driven to the voltage represented by the volatile DAC Register's value and configuration bits The VOUT output signal will require time as these circuits are powered up and the output voltage is driven to the specified value as determined by the volatile DAC register and configuration bits. Note: Since the op amp and resistor ladder were powered off (0V), the op amp's input voltage (VW) can be considered 0V. There is a delay (TPDD) between the PD1:PD0 bits updated to `00' and the op amp driving the VOUT output. The op amp's settling time (from 0V) needs to be taken into account to ensure the VOUT voltage reflects the selected value. The following events will change the PD1:PD0 bits to `00' and therefore exit the Power-Down mode. These are: * Any I2C write command for where the PD1:PD0 bits are `00'. * I2C General Call Wake-up Command. * I2C General Call Reset Command. (if nonvolatile PD1:PD0 bits are `00'). DS22272A-page 39 MCP4706/4716/4726 4.6 Device Resets 4.7 Device Resets can be grouped into two types. Resets due to change in voltage (POR/BOR Reset), and resets caused by the system master (such as a microcontroller). The MCP47X6 devices have both volatile and nonvolatile (EEPROM) memory. Figure 4-6 shows the volatile and nonvolatile memory and their interaction due to a POR event. After a device reset, and when VDD VDD(MIN), the device memory may be written or read. 4.6.1 There are five configuration bits in both the volatile and nonvolatile memory, the DAC registers in both the volatile and nonvolatile memory, and two volatile status bits. The DAC registers (volatile and nonvolatile) will be either 12-bits (MCP4726), 10-bits (MCP4716), or 8-bits (MCP4706) wide. POR/BOR RESET OPERATION The POR and BOR trip points are at the same voltage, and is determined if the VDD voltage is rising or falling (see Figure 4-1). What occurs is different depending if the reset is a POR or BOR reset. When the device is first powered up, it automatically uploads the EEPROM memory values to the volatile memory. The volatile memory determines the analog output (VOUT) pin voltage. After the device is powered up, the user can update the device memory. POR Reset (VDD Rising) On a POR Reset, the nonvolatile memory values (DAC Register and Configuration bits) are latched into the volatile memory. This configures the analog output (VOUT) circuitry. Also a reset delay timer starts. During this delay time, the I2C interface will not accept commands. The I2C interface is how this memory is read and written. Refer to Section 5.0 "I2C Serial Interface" and Section 6.0 "MCP47X6 I2C Commands" for more details on the reading and writing the device's memory. When the nonvolatile memory is written (using the I2C Write All Memory command), the volatile memory is written with the same values. The device starts writing the EEPROM cell at the acknowledge pulse of the EEPROM write command. BOR Reset (VDD Falling) On a BOR Reset, the device is forced into a power down state. The volatile PD1:PD0 bits forced to `11' and all other volatile memory forced to `0'. The I2C interface will not accept commands. 4.6.2 DAC Registers, Configuration Bits, and Status Bits Table 4-3 shows the operation of the device status bits, Table 4-4 shows the operation of the device configuration bits, and Table 4-5 shows the factory default value of a POR/BOR event for the device configuration bits. RESET COMMANDS When the MCP47X6 is in the valid operating voltage, the I2C General Call Reset command will force a reset event. This is similar to the POR reset, except that the reset delay timer is not started. There are two Status bits. These are only in volatile memory and give indication on the status of the device. The POR bit indicates if the device VDD is above or below the POR trip point. During normal operation, this bit should be `1'. The RDY/BSY bit indicates if an EEPROM write cycle is in progress. While the RDY/ BSY bit is low (during the EEPROM writing), all commands are ignored, except for the Read Command command. 2C In the case where the I Interface bus does not seem to be responsive, the technique shown in Section 8.9, Software I2C Interface Reset Sequence can be used to force the I2C interface to be reset. DAC Register Value (1) Config Bits VREF1 VREF0 PD1 PD0 DMAX G D1 D0 POR Event Status Bits (2) VREF1 VREF0 PD1 PD0 G RDY/BSY POR N.V. Memory DMAX D1 D0 Vol. Memory Note 1: The DMAX value depends on the device. For the MCP4706: DMAX = D7, MCP4716: DMAX = D9, and the MCP4726: DMAX = D11. 2: Status bits are read only FIGURE 4-6: DS22272A-page 40 DAC Memory and POR Interaction. (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 TABLE 4-3: STATUS BITS OPERATION Name Function This bit indicates the state of the EEPROM program memory 1 = EEPROM is not in a programming cycle 0 = EEPROM is in a programming cycle RDY/BSY POR Power-On-Reset status indicator (flag) 1 = Device is powered on with VDD > VPOR. Ensure that VDD is above VDD(MIN) to ensure proper operation. 0 = Device is in powered off state. If this value is read, VDD < VDD(MIN) < VPOR. Unreliable device operation should be expected. TABLE 4-4: CONFIGURATION BITS Name Function VREF1:VREF0 Resistor Ladder Voltage Reference (VRL) selection bits 0x = VDD (Unbuffered) 10 = VREF pin (Unbuffered) 11 = VREF pin (Buffered) PD1:PD0 Power-Down selection bits When the DAC is powered down, most of the internal circuits are powered off and the op amp is disconnected from the VOUT pin. 00 = Not Powered Down (Normal operation) 01 = Powered Down - VOUT is loaded with 1 k resistor to ground. 10 = Powered Down - VOUT is loaded with 100 k resistor to ground. 11 = Powered Down - VOUT is loaded with 500 k resistor to ground. Note: G See Table 4-2 and Figure 4-5 for more details. Gain selection bit 0 = 1x (gain of 1) 1 = 2x (gain of 2). Not applicable when VDD is used as VRL Note: TABLE 4-5: Bit Name POR Event BOR Event Note 1: CONFIGURATION BIT VALUES AFTER POR/BOR EVENT R/W R/W R/W R/W R/W VREF1 VREF0 PD1 PD0 G (1) (1) 0 (1) 0 0 0 0 1 1 Comment 0(1) When VDD transitions from VDD < VPOR to VDD > VPOR 0 When VDD transitions from VDD > VBOR to VDD < VBOR Default configuration when the device is shipped to customer. The POR/BOR value may be modified by writing the corresponding nonvolatile configuration bit. Bit Name POR/BOR Event 2: (1) 0 REGISTER 4-1: Note 1: If VREF = VDD, the device uses a gain of 1 only, regardless of the gain selection bit (G) setting. DAC REGISTER BITS R/W R/W R/W R/W --(2) --(2) --(2) --(2) D7 D6 D5 D4 D3 D2 D1 D0 MCP4706 (2) -- --(2) D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 MCP4716 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 MCP4726 (1) 0(1) 0(1) 0(1) 0(1) 0(1) 0(1) 0(1) 0(1) 0(1) 0(1) 0(1) 0 R/W R/W R/W R/W R/W R/W R/W R/W Comment Default configuration when the device is shipped to customer. The POR/BOR value may be modified by writing the corresponding nonvolatile configuration bit. This device does not implement this bit, so there is no corresponding POR/BOR value. (c) 2011 Microchip Technology Inc. DS22272A-page 41 MCP4706/4716/4726 NOTES: DS22272A-page 42 (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 I2C SERIAL INTERFACE 5.0 The MCP47X6 devices support the I2C serial protocol. The MCP47X6 I2C's module operates in Slave mode (does not generate the serial clock). 5.1 5.2 Signal Descriptions The I2C interface uses up to two pins (signals). These are: * SDA (Serial Data) * SCL (Serial Clock) Overview 2 This I C interface is a two-wire interface. Figure 5-1 shows a typical I2C Interface connection. The I2C interface specifies different communication bit rates. These are referred to as standard, fast or high speed modes. The MCP47X6 supports these three modes. The bit rates of these modes are: * Standard Mode: bit rates up to 100 kbit/s * Fast Mode: bit rates up to 400 kbit/s * High Speed Mode (HS mode): bit rates up to 3.4 Mbit/s A device that sends data onto the bus is defined as transmitter, and a device receiving data as receiver. The bus has to be controlled by a master device which generates the serial clock (SCL), controls the bus access and generates the START and STOP conditions. The MCP47X6 device works as slave. Both master and slave can operate as transmitter or receiver, but the master device determines which mode is activated. Communication is initiated by the master (microcontroller) which sends the START bit, followed by the slave address byte. The first byte transmitted is always the slave address byte, which contains the device code, the address bits, and the R/W bit. 5.2.1 SERIAL DATA (SDA) The Serial Data (SDA) signal is the data signal of the device. The value on this pin is latched on the rising edge of the SCL signal when the signal is an input. With the exception of the START and STOP conditions, the high or low state of the SDA pin can only change when the clock signal on the SCL pin is low. During the high period of the clock, the SDA pin's value (high or low) must be stable. Changes in the SDA pin's value while the SCL pin is HIGH will be interpreted as a START or a STOP condition. 5.2.2 SERIAL CLOCK (SCL) The Serial Clock (SCL) signal is the clock signal of the device. The rising edge of the SCL signal latches the value on the SDA pin. The MCP47X6 will not stretch the clock signal (SCL) since memory read access occurs fast enough. Depending on the clock rate mode, the interface will display different characteristics. Typical I2C Interface Connections MCP4XXX Host Controller SCL SCL SDA SDA FIGURE 5-1: Typical I2C Interface. The I2C serial protocol only defines the field types, field lengths, timings, etc. of a frame. The frame content defines the behavior of the device. For details on the frame content (commands/data) refer to Section 6.0. Refer to the NXP I2C document for more details on the I2C specifications. (c) 2011 Microchip Technology Inc. DS22272A-page 43 MCP4706/4716/4726 5.3 I2C Operation 5.3.1.3 The MCP47X6's I2C module is compatible with the NXP I2C specification. The following lists some of the module's features: * 7-bit slave addressing * Supports three clock rate modes: - Standard mode, clock rates up to 100 kHz - Fast mode, clock rates up to 400 kHz - High-speed mode (HS mode), clock rates up to 3.4 MHz * Support Multi-Master Applications * General call addressing (Reset and Wake-Up commands) The I2C 10-bit addressing mode is not supported. The NXP I2C specification only defines the field types, field lengths, timings, etc. of a frame. The frame content defines the behavior of the device. The frame content for the MCP47X6 is defined in Section 6.0. 5.3.1 I2C BIT STATES AND SEQUENCE Figure 5-8 shows the I2C transfer sequence. The serial clock is generated by the master. The following definitions are used for the bit states: * Start bit (S) * Data bit * Acknowledge (A) bit (driven low) / No Acknowledge (A) bit (not driven low) * Repeated Start bit (Sr) * Stop bit (P) 5.3.1.1 SDA SCL FIGURE 5-4: 2nd Bit D0 A 8 9 Acknowledge Waveform. Not A (A) Response The A bit has the SDA signal high. Table 5-1 shows some of the conditions where the Slave Device will issue a Not A (A). If an error condition occurs (such as an A instead of A), then a START bit must be issued to reset the command state machine. Event The Start bit (see Figure 5-2) indicates the beginning of a data transfer sequence. The Start bit is defined as the SDA signal falling when the SCL signal is "High". 1st Bit The A bit (see Figure 5-4) is typically a response from the receiving device to the transmitting device. Depending on the context of the transfer sequence, the A bit may indicate different things. Typically the Slave device will supply an A response after the Start bit and 8 "data" bits have been received. An A bit has the SDA signal low. TABLE 5-1: Start Bit SDA Acknowledge (A) Bit MCP47X6 A / A RESPONSES Acknowledge Bit Response General Call A Slave Address valid A Slave Address not valid A Communication during EEPROM write cycle A SCL S FIGURE 5-2: 5.3.1.2 Start Bit. Bus Collision Data Bit The SDA signal may change state while the SCL signal is Low. While the SCL signal is High, the SDA signal MUST be stable (see Figure 5-5). SDA 1st Bit N.A. Comment After device has received address and command, and valid conditions for EEPROM write I2C Module Resets, or a "Don't Care" if the collision occurs on the Master's "Start bit" 2nd Bit SCL Data Bit FIGURE 5-3: DS22272A-page 44 Data Bit. (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 5.3.1.4 5.3.1.5 Repeated Start Bit The Repeated Start bit (see Figure 5-5) indicates the current Master Device wishes to continue communicating with the current Slave Device without releasing the I2C bus. The Repeated Start condition is the same as the Start condition, except that the Repeated Start bit follows a Start bit (with the Data bits + A bit) and not a Stop bit. Stop Bit The Stop bit (see Figure 5-6) Indicates the end of the I2C Data Transfer Sequence. The Stop bit is defined as the SDA signal rising when the SCL signal is "High". A Stop bit resets the I2C interface of all MCP47X6 devices. SDA A / A The Start bit is the beginning of a data transfer sequence and is defined as the SDA signal falling when the SCL signal is "High". SCL P Note 1: A bus collision during the Repeated Start condition occurs if: FIGURE 5-6: Transmit Mode. * SDA is sampled low when SCL goes from low to high. 5.3.2 * SCL goes low before SDA is asserted low. This may indicate that another master is attempting to transmit a data "1". Stop Condition Receive or CLOCK STRETCHING "Clock Stretching" is something that the receiving Device can do, to allow additional time to "respond" to the "data" that has been received. The MCP47X6 will not stretch the clock signal (SCL) since memory read access occurs fast enough. 5.3.3 1st Bit SDA If any part of the I2C transmission does not meet the command format, it is aborted. This can be intentionally accomplished with a START or STOP condition. This is done so that noisy transmissions (usually an extra START or STOP condition) are aborted before they corrupt the device. SCL Sr = Repeated Start FIGURE 5-5: Waveform. ABORTING A TRANSMISSION Repeat Start Condition SDA SCL S FIGURE 5-7: 1st Bit 2nd Bit 3rd Bit 4th Bit 5th Bit 6th Bit 7th Bit 8th Bit A/A P Typical 8-Bit I2C Waveform Format. SDA SCL START Condition FIGURE 5-8: Data allowed to change Data or A valid STOP Condition I2C Data States and Bit Sequence. (c) 2011 Microchip Technology Inc. DS22272A-page 45 MCP4706/4716/4726 5.3.4 SLOPE CONTROL TABLE 5-2: The MCP47X6 implements slope control on the SDA output. 7-bit I2C Address As the device transitions from HS mode to FS mode, the slope control parameter will change from the HS specification to the FS specification. `1100000' For Fast (FS) and High-Speed (HS) modes, the device has a spike suppression and a Schmidt trigger at SDA and SCL inputs. 5.3.5 `1100001' `1100010' DEVICE ADDRESSING The address byte is the first byte received following the START condition from the master device. The MCP47X6's slave address consists of a 4-bit fixed code (`1100') and a 3-bit code that is user specified when the device is ordered. This allows up to eight MCP47X6 devices on a single I2C bus. `1100011' `1100100' `1100101' 2C slave address byte format, Figure 5-9 shows the I which contains the seven address bits and a read/write (R/W) bit. Table 5-2 shows the eight I2C Slave address options and their respective device order code. Acknowledge bit Start bit `1100110' `1100111' Note 1: Read/Write bit R/W Slave Address ACK Address Byte 2: I2C ADDRESS / ORDER CODE Device Order Code Comment MCP47x6A0-E/xx MCP47x6A0T-E/xx Tape and Reel MCP47x6A1-E/xx MCP47x6A1T-E/xx Tape and Reel MCP47x6A2-E/xx MCP47x6A2T-E/xx Tape and Reel MCP47x6A3-E/xx MCP47x6A3T-E/xx Tape and Reel MCP47x6A4-E/xx MCP47x6A4T-E/xx Tape and Reel MCP47x6A5-E/xx MCP47x6A5T-E/xx Tape and Reel MCP47x6A6-E/xx MCP47x6A6T-E/xx Tape and Reel MCP47x6A7-E/xx MCP47x6A7T-E/xx Tape and Reel The sample center will generally stock I2C address `1100000', other addresses may be available. `xx' in the order code is the device package code (CH for SOT-23 and MA for DFN) Slave Address (7-bits) Fixed 1 1 User Specified 0 0 A2 A1 A0 Note: Address Bits (A2:A0) specified at time of device order, see Table 5-2. FIGURE 5-9: I2C Control Byte. DS22272A-page 46 Slave Address Bits in the (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 5.3.6 HS MODE After switching to the High-Speed mode, the next transferred byte is the I2C control byte, which specifies the device to communicate with, and any number of data bytes plus acknowledgements. The Master Device can then either issue a Repeated Start bit to address a different device (at High-Speed) or a Stop bit to return to Fast/Standard bus speed. After the Stop bit, any other Master Device (in a Multi-Master system) can arbitrate for the I2C bus. 2 The I C specification requires that a high-speed mode device must be `activated' to operate in high-speed (3.4 Mbit/s) mode. This is done by the Master sending a special address byte following the START bit. This byte is referred to as the high-speed Master Mode Code (HSMMC). The MCP47X6 device does not acknowledge this byte. However, upon receiving this command, the device switches to HS mode. The device can now communicate at up to 3.4 Mbit/s on SDA and SCL lines. The device will switch out of the HS mode on the next STOP condition. See Figure 5-10 for illustration of HS mode command sequence. For more information on the HS mode, or other I2C modes, please refer to the NXP I2C specification. The master code is sent as follows: 1. 2. 3. 5.3.6.1 START condition (S) High-Speed Master Mode Code (0000 1XXX), The XXX bits are unique to the high-speed (HS) mode Master. No Acknowledge (A) Slope Control The slope control on the SDA output is different between the Fast/Standard Speed and the High-Speed clock modes of the interface. 5.3.6.2 Pulse Gobbler The pulse gobbler on the SCL pin is automatically adjusted to suppress spikes < 10 ns during HS mode. F/S-mode HS-mode P F/S-mode S `0 0 0 0 1 X X X'b A Sr `Slave Address' R/W A HS Select Byte Control Byte "Data" Command/Data Byte(s) S = Start bit Sr = Repeated Start bit A = Acknowledge bit A = Not Acknowledge bit R/W = Read/Write bit P = Stop bit (Stop condition terminates HS Mode) FIGURE 5-10: A/A HS-mode continues Sr `Slave Address' R/W A Control Byte HS Mode Sequence. (c) 2011 Microchip Technology Inc. DS22272A-page 47 MCP4706/4716/4726 5.3.7 GENERAL CALL The MCP47X6 has two General Call Commands. The function of these commands are: The General Call is a method that the "Master" device can communicate with all other "Slave" devices. In a Multi-Master application, the other Master devices are operating in Slave mode. The General Call address has two documented formats. These are shown in Figure 5-11. * Reset the device(s) (Software Reset) * Wake-Up the device(s) For details on the operation of the MCP47X6's General Call Commands, see Section 6.6. Note: Only one General Call command per issue of the General Call control byte. Any additional General Call commands are ignored and Not Acknowledged. Second Byte S 0 0 0 0 0 0 0 0 General Call Address A X X X X X X X 0 A P "7-bit Command" Reserved 7-bit Commands (By I2C Specification - NXP specification # UM10204, Rev. 03 19 June 2007) `0000 011'b - Reset and write programmable part of slave address by hardware. `0000 010'b - Write programmable part of slave address by hardware. `0000 000'b - NOT Allowed The Following is a "Hardware General Call" Format Second Byte S 0 0 0 0 0 0 0 0 General Call Address FIGURE 5-11: DS22272A-page 48 A X X X X X X X 1 "Master Address" n occurrences of (Data + A) A X X X X X X X X A P This indicates a "Hardware General Call" General Call Formats. (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 MCP47X6 I2C COMMANDS 6.0 TABLE 6-1: The I2C protocol does not specify how commands are formatted, so this section specifies the MCP47X6's I2C command formats and operation. I2C COMMANDS - NUMBER OF CLOCKS # of Bit Clocks ( ) Operation Mode 1 Single 29 Write Volatile DAC Register Command (2) Continuous 18n + 11 Write Volatile Memory Single 38 Command Continuous 27n + 11 Write All Memory Command Single 38 Continuous 27n + 11 Write Volatile Configuration Single 20 bits Command Continuous 9n + 11 Read Command (12 and 10-bit Single 65 DAC register) (2) Continuous 54n + 11 Read Command (8-bit DAC Single 47 register) (2) Continuous 36n + 11 Note 1: "n" indicates the number of times the command operation is to be repeated. 2: This command is useful to determine when an EEPROM programming cycle has completed (RDY/BSY status bit) Command The commands can be grouped into the following categories: * Write memory * Read memory * General Call commands The supported commands are shown in Table 6-2. Many of these commands allow for continuous operation. This means that the I2C Master does not generate a Stop bit but repeats the required data/ clocks. This allows faster updates since the overhead of the I2C control byte is removed. Table 6-1 shows the supported commands and the required number of bit clocks for both single and continuous commands. Write commands, determined by the R/W bit = `0', use up to three command codes bits (C2:C0) to determine the write's operation. The Read command is strictly determined by the R/W bit = `1'. There are two formats of the command. One for 12-bit and 10-bit devices and a second for 8-bit devices. 6.0.1 The General Call commands utilize the I2C specification reserved General Call command address and command codes. A Restart or Stop condition in an expected data bit position will abort the current command sequence and data will not be written to the MCP47X6. TABLE 6-2: MCP47X6 SUPPORTED COMMANDS Command Code (Note 1) Command Name C2 C1 C0 0 0 X Write Volatile DAC Register Command (Note 2) 0 0 1 1 1 0 1 1 1 0 1 1 0 Write Volatile Memory Command 1 Write All Memory Command 0 Write Volatile Configuration bits Command 1 0 Reserved 1 Read Command N.A. Note 1: 2: 3: ABORTING A TRANSMISSION Writes EEPROM Memory? Command during Comment EEPROM Config. DAC Config. DAC Write Cycle? Writes Volatile Memory? PD1:PD Yes 0 only No No No No No No Yes Yes Yes Yes Yes No No Yes No No Yes No N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. Writes volatile Power Down bits so can also be used to exit a power down state. Reserved (Note 3) Reserved (Note 3) Yes Determined by R/W bit in I2C Control byte General Call Reset N.A. N.A. N.A. N.A. No Determined by General Call command byte after General Call Wake-up N.A. N.A. N.A. N.A. No the I2C General Call address. These bits are the MSb of the 2nd byte in the I2C write command. See Figure 6-1 to Figure 6-4. X = Don't Care bit. This command format does not use C0 bit. Device operation is not specified. (c) 2011 Microchip Technology Inc. DS22272A-page 49 MCP4706/4716/4726 6.1 Write Volatile DAC Register (C2:C0 = `00x') This command is used to update the volatile DAC Register value and the two Power-down configuration bits (PD1:PD0). This command is typically used for a quick update of the analog output by modifying the minimum parameters. The EEPROM values are not affected by this command. Figure 6-1 shows an example of the command format, where a stop bit completes the command. After this ACK bit, the I2C Master should generate a Stop bit or the I2C Master can repeat the 2nd (2 command bits + 2 power down bits + 4 data bits (b11:b08)) and the 3rd byte (8 data bits (b07:b00)). Repeating the 2nd and 3rd bytes allows a continuous command where the volatile DAC register can be updated without the communication overhead of the device addressing byte (1st byte). The device updates the VOUT at the falling edge of the Acknowledge pulse of the 3rd byte. The volatile DAC register and Power-down configuration bits are updated with the written date at the completion of the ACK bit (falling edge of SCL). Read/Write bit (Write) ACK bit (3) Start bit S SDA ACK bit (3) R/W A 1 1 0 0 A2 A1 A0 0 0 ACK bit (3) A 0 0 PD1 PD0 b11 b10 b09 b08 0 Stop bit A b07 b06 b05 b04 b03 b02 b01 b00 P 0 SCL Device Addressing Command Power Data bits (4 bits) bits Down bits Data bits (8 bits) Note 1 Note 2 Data bits (12 bits) b11 b10 b09 b08 b07 b06 b05 b04 b03 b02 b01 b00 MCP4726 MCP4716 MCP4706 D11 D10 D09 D08 D07 D06 D05 D04 D03 D02 D01 D00 D09 D08 D07 D06 D05 D04 D03 D02 D01 D00 X X X X X X D07 D06 D05 D04 D03 D02 D01 D00 Note 1: The device updates VOUT at the falling edge of the SCL at the end of this ACK pulse. 2: The 2nd - 3rd bytes can be repeated after the 3rd byte by continued clocking before issuing Stop bit. 3: ACK bit generated by MCP47X6. Legend: X = don't care D11:D00 = 12-bit data for MCP4726 device D09:D00 = 10-bit data for MCP4716 device D07:D00 = 8-bit data for MCP4706 device FIGURE 6-1: DS22272A-page 50 Write Volatile DAC Register Command. (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 6.2 Write Volatile Memory (C2:C0 = `010') This write command is used to update the volatile DAC Register value and configuration bits. The EEPROM is not affected by this command. Figure 6-2 shows an example of this write command. The volatile DAC register and configuration bits are updated with the written date at the completion of the ACK bit (falling edge of SCL). After this ACK bit, the I2C Master should generate a Stop bit or the I2C Master can repeat the 2nd (3 command bits + 5 configuration bits), and the 3rd byte (8 data bits (b15:b08)), and the 4th byte (8 data bits (b07:b00)). Repeating the 2nd through 4th bytes allows a continuous command where the volatile DAC register and configuration bits can be updated without the communication overhead of the device addressing byte (1st byte). Read/Write bit (Write) ACK bit (3) Start bit S SDA R/W A 1 1 0 0 A2 A1 A0 0 0 ACK bit (3) VREF1 0 1 0 A VREF0 PD1 PD0 ACK bit (3) G 0 A b15 b14 b13 b12 b11 b10 b09 b08 0 SCL Device Addressing Command Ref. Power Gain bits Voltage Down bit Select bits bits Data bits (8 bits) (3rd byte) ACK bit (3) Stop bit A b07 b06 b05 b04 b03 b02 b01 b00 P 0 Data bits (8 bits) (4th byte) Data bits (16 bits) (3rd + 4th bytes) b15 b14 b13 b12 b11 b10 b09 b08 b07 b06 b05 b04 b03 b02 b01 b00 MCP4726 MCP4716 MCP4706 D11 D10 D09 D08 D07 D06 D05 D04 D03 D02 D01 D00 D09 D08 D07 D06 D05 D04 D03 D02 D01 D00 X X D07 D06 D05 D04 D03 D02 D01 D00 X X X X X X X X X X X X X Note 1 Note 2 X X X Note 1: The device updates VOUT at the falling edge of the SCL at the end of this ACK pulse. 2: The 2nd - 4th bytes can be repeated after the 4th byte by continued clocking before issuing Stop bit. 3: ACK bit generated by MCP47X6. Legend: X = don't care D11:D00 = 12-bit data for MCP4726 device D09:D00 = 10-bit data for MCP4716 device D07:D00 = 8-bit data for MCP4706 device FIGURE 6-2: Write Volatile Memory Command. (c) 2011 Microchip Technology Inc. DS22272A-page 51 MCP4706/4716/4726 6.3 Write All Memory (C2:C0 = `011') Note: This write command is used to update the volatile and nonvolatile (EEPROM) DAC Register value and configuration bits. Figure 6-3 shows an example of this write command. * VOUT update: At the falling edge of the Acknowledge pulse of the 4th byte. * EEPROM update: At the falling edge of the Acknowledge pulse of the 4th byte. RDY/BSY bit toggles to "low" and back to "high" after the EEPROM write is completed. The state of the RDY/BSY bit can be monitored by a read command. Write commands which only update volatile memory (C2:C0 = `00x' or `010') can be issued. Read commands and the General Call commands may not be issued. The DAC register and Power-down configuration bits (volatile and EEPROM) are updated with the written date at the completion of the ACK bit (falling edge of SCL). The EEPROM memory requires time (TWC) for the values to be written. Another Write All memory command should not be issued until the EEPROM write is complete. Read/Write bit (Write) ACK bit (3) Start bit S SDA R/W A 1 1 0 0 A2 A1 A0 0 0 ACK bit (3) VREF1 0 1 1 A VREF0 PD1 PD0 ACK bit (3) G 0 A b15 b14 b13 b12 b11 b10 b09 b08 0 SCL Device Addressing Command Ref. Power Gain bits Voltage Down bit Select bits bits Data bits (8 bits) (3rd byte) ACK bit (3) Stop bit A b07 b06 b05 b04 b03 b02 b01 b00 P 0 Data bits (8 bits) (4th byte) Data bits (16 bits) (3rd + 4th bytes) b15 b14 b13 b12 b11 b10 b09 b08 b07 b06 b05 b04 b03 b02 b01 b00 MCP4726 MCP4716 MCP4706 D11 D10 D09 D08 D07 D06 D05 D04 D03 D02 D01 D00 D09 D08 D07 D06 D05 D04 D03 D02 D01 D00 X X D07 D06 D05 D04 D03 D02 D01 D00 X X X X X X X X X X X X X Note 1 Note 2 X X X Note 1: The device updates VOUT at the falling edge of the SCL at the end of this ACK pulse. 2: The 2nd - 4th bytes can be repeated after the 4th byte by continued clocking before issuing Stop bit. 3: ACK bit generated by MCP47X6. Legend: X = don't care D11:D00 = 12-bit data for MCP4726 device D09:D00 = 10-bit data for MCP4716 device D07:D00 = 8-bit data for MCP4706 device FIGURE 6-3: DS22272A-page 52 Write All Memory Command. (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 6.4 Write Volatile Configuration bits (C2:C0 = `100') This write command is used to update the volatile configuration register bits only. This command is a quick method to modify the configuration of the DAC, such as the selection of the resistor ladder reference voltage, the op amp gain, and the Power Down state. Figure 6-4 shows an example of this write command. Read/Write bit (Write) ACK bit (3) Start bit S SDA ACK bit (3) R/W A 1 1 0 0 A2 A1 A0 0 0 VREF1 1 0 0 A VREF0 PD1 PD0 G Stop bit P 0 SCL Device Addressing Command bits Configuration bits Note 1 Note 2 Note 1: The device updates VOUT at the falling edge of the SCL at the end of this ACK pulse. 2: The 2nd byte can be repeated after the 2nd by continued clocking before issuing Stop bit. 3: ACK bit generated by MCP47X6. FIGURE 6-4: Write Volatile Configuration Bits Command. (c) 2011 Microchip Technology Inc. DS22272A-page 53 MCP4706/4716/4726 6.5 READ COMMAND This command reads all the device memory. This includes the volatile and nonvolatile (EEPROM) DAC Register values and configuration bits, and the volatile status bits. This command is executed when the I2C control byte's Read/Write bit is a `1' (read). This command has two different formats based on the resolution of the device. The 12-bit and 10-bit devices use the format in Figure 6-5, while the 8-bit device uses the format in Figure 6-6. The 2nd byte (configuration bits) indicates the current condition of the device operation. The RDY/BSY bit indicates EEPROM writing status. Read/Write bit (Read) ACK bit (3) Start bit S R/W A 1 SDA 1 0 0 A2 A1 A0 1 0 SCL Device Addressing ACK bit (4) VREF1 RDY POR 0 Vol. Status bits A VREF0 PD1 PD0 G 0 b15 b14 b13 b12 b11 b10 b09 b08 ACK bit (4) VREF1 Vol. Status bits 1 PD1 PD0 G NV Configuration bits A 0 0 b07 b06 b05 b04 b03 b02 b01 b00 ACK/NACK bit (5) Stop bit A b15 b14 b13 b12 b11 b10 b09 b08 A/N 0 NV Data bits (8 bits) (6th byte) b07 b06 b05 b04 b03 b02 b01 b00 D11 D10 D09 D08 D07 D06 D05 D04 D03 D02 D01 D00 D09 D08 D07 D06 D05 D04 D03 D02 D01 D00 0 0 P 0/1 NV Data bits (8 bits) (7th byte) Data bits (16 bits) (3rd + 4th bytes, and 6th + 7th bytes) b15 b14 b13 b12 b11 b10 b09 b08 b07 b06 b05 b04 b03 b02 b01 b00 MCP4726 MCP4716 0 Vol. Data bits (8 bits) (4th byte) ACK bit (4) A VREF0 ACK bit (4) A Vol. Data bits (8 bits) (3rd byte) Vol. Configuration bits RDY POR ACK bit (4) 0 0 0 0 0 0 Note 1 0 0 Note 1: The 2nd - 7th bytes can be repeated after the 7th byte by continued clocking before issuing Stop bit. 2: ACK bit generated by MCP47X6. 3: ACK bit generated by I2C Master. 4: ACK/NACK bit generated by I2C Master. Legend: D11:D00 = 12-bit data for MCP4726 device D09:D00 = 10-bit data for MCP4716 device FIGURE 6-5: DS22272A-page 54 Read Command Format for 12-bit DAC (MCP4726) and 10-bit DAC (MCP4716). (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 Read/Write bit (Read) ACK bit (3) Start bit S SDA ACK bit (4) R/W A 1 1 0 0 A2 A1 A0 1 0 VREF1 RDY POR 0 ACK bit (4) A VREF0 PD1 PD0 G 0 A b07 b06 b05 b04 b03 b02 b01 b00 0 SCL Device Addressing Vol. Status bits Vol. Configuration bits Vol. Data bits (8 bits) (3rd byte) ACK/NACK bit (5) Stop bit ACK bit (4) VREF1 RDY POR 1 Vol. Status bits A VREF0 PD1 PD0 NV Configuration bits G 0 A/N b07 b06 b05 b04 b03 b02 b01 b00 NV Data bits (8 bits) (5th byte) Data bits (8 bits) (3rd and 5th bytes) b07 b06 b05 b04 b03 b02 b01 b00 MCP4706 P 0/1 Note 1 Note 2 D07 D06 D05 D04 D03 D02 D01 D00 Note 1: a 2: The 2nd - 5th bytes can be repeated after the 5th byte by continued clocking before issuing Stop bit. 3: ACK bit generated by MCP47X6. Legend: D07:D00 = 8-bit data for MCP4706 device FIGURE 6-6: Read Command Format for 8-bit DAC (MCP4706). (c) 2011 Microchip Technology Inc. DS22272A-page 55 MCP4706/4716/4726 6.6 I2C General Call Commands 6.6.1 GENERAL CALL RESET The device performs General Call Reset if the second byte is "00000110" (06h). At the acknowledgement of this byte, the device will abort the current conversion and perform the following tasks: The device acknowledges the general call address command (0x00 in the first byte). The meaning of the general call address is always specified in the second byte. The I2C specification does not allow "00000000" (00h) in the second byte. Please refer to the Phillips I2C document for more details on the General Call specifications. * Internal reset similar to a Power-On-Reset (POR). The contents of the EEPROM are loaded into the DAC registers and analog output is available immediately. * This is a similar event to the POR. The VOUT will be available immediately, but after a short time delay following the Acknowledgement pulse. The VOUT value is determined by the EEPROM contents. The MCP47X6 devices support the following I2C general calls: * General Call Reset * General Call Wake-Up This command allows multiple MCP47X6 devices to be reset synchronously. Read/Write bit (Write) ACK bit (3) Start bit S SDA ACK bit (3) R/W A 0 0 0 0 0 0 0 0 0 A 0 0 0 0 0 1 1 0 Stop bit P 0 SCL General Call Address General Call Reset Command Note 1 Note 2 Note 1: At the falling edge of the SCL at the end of this ACK pulse a reset occurs (startup timer starts and DAC register latched). 2: The 2nd byte can be repeated after the 2nd by continued clocking before issuing Stop bit. 3: ACK bit generated by MCP47X6. FIGURE 6-7: DS22272A-page 56 General Call Reset Command. (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 6.6.2 GENERAL CALL WAKE-UP This command does not adhere to the I2C specification where if the LSb of the 2nd byte is a `1', it is a `Hardware General Call' (see the NXP I2C Specification). Note: If the second byte is "00001001" (09h), the device forces the volatile power-down bits to `00'. The nonvolatile (EEPROM) power-down bit values are not affected by this command. This command allows multiple MCP47X6 devices to wake-up synchronously. Read/Write bit (Write) ACK bit (3) Start bit S SDA ACK bit (3) R/W A 0 0 0 0 0 0 0 0 0 A 0 0 0 0 1 0 0 1 Stop bit P 0 SCL General Call Address General Call Wake-Up Command Note 1 Note 2 Note 1: At the falling edge of the SCL, at the end of this ACK pulse, the volatile PD1:PD0 bits are forced to `00'. 2: The 2nd byte can be repeated after the 2nd by continued clocking before issuing Stop bit. 3: ACK bit generated by MCP47X6. FIGURE 6-8: General Call Wake-Up Command. (c) 2011 Microchip Technology Inc. DS22272A-page 57 MCP4706/4716/4726 NOTES: DS22272A-page 58 (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 7.0 TERMINOLOGY 7.1 Resolution The resolution is the number of DAC output states that divide the full-scale range. For the 12-bit DAC, the resolution is 212, meaning the DAC code ranges from 0 to 4095. 7.2 7.5 Zero-Scale Error (ZSE) The Zero-Scale Error (see Figure 7-4) is the difference between the ideal and measured VOUT voltage with the volatile DAC Register equal to 000h. The Zero-Scale Error is the same as the Offset Error for this case (volatile DAC Register = 000h). EQUATION 7-3: Least Significant bit (LSb) ZSE = Normally this is thought of as the ideal voltage difference between two successive codes. This bit has the smallest value or weight of all bits in the register. For a given output voltage range, which is typically the voltage between the Full-Scale voltage and the ZeroScale voltage (VOUT(FS) - VOUT(ZS)), it is divided by the resolution of the device (Equation 7-1). EQUATION 7-1: LSb VOLTAGE CALCULATION VOUT(FS) - VOUT(ZS) 2N - 1 VLSb = 2N = 4096 (MCP4726) 1024 (MCP4716) 256 (MCP4706) ZERO SCALE ERROR VOUT(@ZS) VLSb Where: FSE is expressed in LSb VOUT(@ZS) is the VOUT voltage when the DAC register code is at Zero-scale. VLSb is the delta voltage of one DAC register code step (such as code 000h to code 001h). 7.6 Offset Error The Offset error (see Figure 7-1) is the deviation from zero voltage output when the volatile DAC Register value = 000h (zero scale voltage). This error affects all codes by the same amount. The offset error can be calibrated by software in application circuits. Actual Transfer Function 7.3 Monotonicity Normally this is thought of as the VOUT voltage never decreasing, as the DAC Register code is continuously incremented by 1 code step (LSb). 7.4 Full-Scale Error (FSE) The Full-scale error (see Figure 7-4) is the sum of offset error plus gain error. It is the difference between the ideal and measured DAC output voltage with all bits set to one (DAC input code = FFFh for 12-bit DAC). EQUATION 7-2: FSE = Analog Output Ideal Transfer Function Offset Error (ZSE) 0 FIGURE 7-1: DAC Input Code Offset Error Example. FULL SCALE ERROR VOUT(@FS) - VIDEAL(@FS) VLSb Where: FSE is expressed in LSb VOUT(@FS) is the VOUT voltage when the DAC register code is at Full-scale. VIDEAL(@FS) is the ideal output voltage when the DAC register code is at Full-scale. VLSb is the delta voltage of one DAC register code step (such as code 000h to code 001h). (c) 2011 Microchip Technology Inc. DS22272A-page 59 MCP4706/4716/4726 7.7 Integral Nonlinearity (INL) The Integral nonlinearity (INL) error is the maximum deviation of an actual transfer function from an ideal transfer function (straight line). In the MCP47X6, INL is calculated using two end points (zero and full scale). INL can be expressed as a percentage of full scale range (FSR) or in a fraction of an LSb. INL is also called relative accuracy. Equation 7-4 shows how to calculate the INL error in LSb and Figure 7-2 shows an example of INL accuracy. EQUATION 7-4: The Differential nonlinearity (DNL) error (see Figure 73) is the measure of step size between codes in actual transfer function. The ideal step size between codes is 1 LSb. A DNL error of zero would imply that every code is exactly 1 LSb wide. If the DNL error is less than 1 LSb, the DAC guarantees monotonic output and no missing codes. The DNL error between any two adjacent codes is calculated as follows: EQUATION 7-5: DNL ERROR V OUT - LSb DNL = ---------------------------------LSb Where: DNL is expressed in LSb. VOUT = The measured DAC output voltage difference between two adjacent input codes. Where: INL is expressed in LSb. = Code*LSb VIdeal = Differential Nonlinearity (DNL) INL ERROR ( VOUT - VIdeal ) INL = --------------------------------------LSb VOUT 7.8 The output voltage measured with a given DAC input code 7 7 INL = < -1 LSb 6 5 INL = - 1 LSb 5 Analog 4 Output (LSb) 3 DNL = 0.5 LSb 6 DNL = 2 LSb Analog 4 Output (LSb) 3 INL = 0.5 LSb 2 2 1 1 0 000 001 010 0 000 001 010 011 100 101 110 111 DAC Input Code Ideal Transfer Function Actual Transfer Function Ideal Transfer Function Actual Transfer Function FIGURE 7-2: DS22272A-page 60 011 100 101 110 111 DAC Input Code FIGURE 7-3: DNL Accuracy Example. INL Accuracy Example. (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 7.9 Gain Error 7.10 The Gain error (see Figure 7-4) is the difference between the actual full-scale output voltage from the ideal output voltage of the DAC transfer curve. The gain error is calculated after nullifying the offset error, or full scale error minus the offset error. The gain error indicates how well the slope of the actual transfer function matches the slope of the ideal transfer function. The gain error is usually expressed as percent of full-scale range (% of FSR) or in LSb. In the MCP4706/4716/4726, the gain error is not calibrated at the factory and most of the gain error is contributed by the output buffer (op amp) saturation near the code range beyond 4000d. For the applications that need the gain error specification less than 1% maximum, the user may consider using the DAC code range between 100d and 4000d instead of using full code range (code 0 to 4095d). The DAC output of the code range between 100d and 4000d is much more linear than full-scale range (0 to 4095d). The gain error can be calibrated out by software in the application. Actual Transfer Function Full-Scale Error Gain Error Analog The Gain error drift is the variation in gain error due to a change in ambient temperature. The gain error drift is typically expressed in ppm/oC. 7.11 Actual Transfer Function after Offset Error is removed Ideal Transfer Function Zero-Scale Error 0 FIGURE 7-4: Error Example. DAC Input Code Offset Error Drift The Offset error drift is the variation in offset error due to a change in ambient temperature. The offset error drift is typically expressed in ppm/oC. 7.12 Settling Time The Settling time is the time delay required for the VOUT voltage to settle into its new output value. This time is measured from the start of code transition, to when the VOUT voltage is within the specified accuracy. In the MCP47X6, the settling time is a measure of the time delay until the VOUT voltage reaches within 0.5 LSb of its final value, when the volatile DAC Register changes from 400h to C00h. 7.13 Major-Code Transition Glitch Major-code transition glitch is the impulse energy injected into the DAC analog output when the code in the DAC register changes state. It is normally specified as the area of the glitch in nV-Sec, and is measured when the digital code is changed by 1 LSb at the major carry transition (Example: 011...111 to 100... 000, or 100... 000 to 011 ... 111). 7.14 Output Gain Error Drift Digital Feedthrough The Digital feedthrough is the glitch that appears at the analog output caused by coupling from the digital input pins of the device. The area of the glitch is expressed in nV-Sec, and is measured with a full scale change (Example: all 0s to all 1s and vice versa) on the digital input pins. The digital feedthrough is measured when the DAC is not being written to the output register. Gain Error and Full-Scale 7.15 Power-Supply Rejection Ratio (PSRR) PSRR indicates how the output of the DAC is affected by changes in the supply voltage. PSRR is the ratio of the change in VOUT to a change in VDD for full-scale output of the DAC. The VOUT is measured while the VDD is varied +/- 10%, and expressed in dB or V/V. (c) 2011 Microchip Technology Inc. DS22272A-page 61 MCP4706/4716/4726 NOTES: DS22272A-page 62 (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 TYPICAL APPLICATIONS The MCP47X6 family of devices are general purpose, single channel voltage output DACs for various applications where a precision operation with low-power and nonvolatile EEPROM memory is needed. Since the devices include a nonvolatile EEPROM memory, the user can utilize these devices for applications that require the output to return to the previous set-up value on subsequent power-ups. 8.1.1 The user can test the presence of the device on the I2C bus line using a simple I2C command. This test can be achieved by checking an acknowledge response from the device after sending a read or write command. Figure 8-1 shows an example with a read command. The steps are: a) b) Applications generally suited for the devices are: * * * * Set Point or Offset Trimming Sensor Calibration Portable Instrumentation (Battery Powered) Motor Control 8.1 Connecting to I2C BUS using Pull-Up Resistors The SCL and SDA pins of the MCP47X6 devices are open-drain configurations. These pins require a pull-up resistor as shown in Figure 8-2. The pull-up resistor values (R1 and R2) for SCL and SDA pins depend on the operating speed (standard, fast, and high speed) and loading capacitance of the I2C bus line. A higher value of the pull-up resistor consumes less power, but increases the signal transition time (higher RC time constant) on the bus line. Therefore, it can limit the bus operating speed. The lower resistor value, on the other hand, consumes higher power, but allows higher operating speed. If the bus line has higher capacitance due to long metal traces or multiple device connections to the bus line, a smaller pull-up resistor is needed to compensate the long RC time constant. The pull-up resistor is typically chosen between 1 k and 10 k ranges for standard and fast modes, and less than 1 k for high speed mode. (c) 2011 Microchip Technology Inc. DEVICE CONNECTION TEST c) Set the R/W bit "High" in the device's address byte. Check the ACK bit of the address byte. If the device acknowledges (ACK = 0) the command, then the device is connected, otherwise it is not connected. Send Stop bit. Address Byte SCL SDA Start Bit 1 2 3 4 5 6 7 8 1 1 0 1 A2 A1 A0 1 9 ACK 8.0 Stop Bit Device Code Address bits R/W Device Response FIGURE 8-1: I2C Bus Connection Test. DS22272A-page 63 MCP4706/4716/4726 Power Supply Considerations VDD The power source should be as clean as possible. The power supply to the device is also used for the DAC voltage reference internally if the internal VDD is selected as the resistor ladders reference voltage (VREF1:VREF0 = 00 or 01). Analog C3 Output VOUT 1 VSS 2 VDD 3 6 VREF MCP47X6 Any noise induced on the VDD line can affect the DAC performance. Typical applications will require a bypass capacitor in order to filter out high frequency noise on the VDD line. The noise can be induced onto the power supply's traces or as a result of changes on the DAC output. The bypass capacitor helps to minimize the effect of these noise sources on signal integrity. Figure 8-2 shows an example of using two bypass capacitors (a 10 F tantalum capacitor and a 0.1 F ceramic capacitor) in parallel on the VDD line. These capacitors should be placed as close to the VDD pin as possible (within 4 mm). If the application circuit has separate digital and analog power supplies, the VDD and VSS pins of the device should reside on the analog plane. Optional 5 4 R1 R2 SDA To MCU SCL C1 C2 (a) Circuit when VDD is selected as reference (Note: VDD is connected to the reference circuit internally.) VDD Optional Optional Analog C3 Output VOUT 1 VSS 2 VDD 3 MCP47X6 8.2 VREF C4 C5 6 VREF 5 4 SDA R1 R2 To MCU SCL C1 C2 (b) Circuit when external reference is used. R1 and R2 are I2C pull-up resistors: R1 and R2: 5 k - 10 k for fSCL = 100 kHz to 400 kHz ~700 for fSCL = 3.4 MHz C1: 0.1 F capacitor Ceramic C2: 10 F capacitor Tantalum C3: ~ 0.1 F Optional to reduce noise in VOUT pin. C4: 0.1 F capacitor Ceramic C5: 10 F capacitor Tantalum Note: Pin assignment is opposite in DFN-6 package. FIGURE 8-2: Example MCP47X6 Circuit with SOT-23 package. DS22272A-page 64 (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 8.3 Application Examples The MCP47X6 devices are rail-to-rail output DACs designed to operate with a VDD range of 2.7V to 5.5V. The internal output op amplifier is robust enough to drive common, small-signal loads directly, thus eliminating the cost and size of external buffers for most applications. The user can use gain of 1 or 2 of the output op amplifier by setting the configuration register bits. Also, the user can use internal VDD as the reference or use external reference. Various user options and easy-to-use features make the devices suitable for various modern DAC applications. Application examples include: * * * * * * * * * * Decreasing Output Step Size Building a "Window" DAC Bipolar Operation Selectable Gain and Offset Bipolar Voltage Output Designing a Double-Precision DAC Building Programmable Current Source Serial Interface Communication Times Software I2C Interface Reset Sequence Power Supply Considerations Layout Considerations 8.3.1 DC SET POINT OR CALIBRATION A common application for the devices is a digitally-controlled set point and/or calibration of variable parameters, such as sensor offset or slope. For example, the MCP4726 provides 4096 output steps. If voltage reference is 4.096V, the LSb size is 1 mV. If a smaller output step size is desired, a lower external voltage reference is needed. 8.3.1.1 Decreasing Output Step Size If the application is calibrating the bias voltage of a diode or transistor, a bias voltage range of 0.8V may be desired with about 200 V resolution per step. Two common methods to achieve small step size are using lower VREF pin voltage or using a voltage divider on the DAC's output. Using an external voltage reference (VREF) is an option, if the external reference is available with the desired output voltage range. However, occasionally, when using a low-voltage reference voltage, the noise floor causes a SNR error that is intolerable. Using a voltage divider method is another option, and provides some advantages when external voltage reference needs to be very low, or when the desired output voltage is not available. In this case, a larger value reference voltage is used, while two resistors scale the output range down to the precise desired level. Figure 8-3 illustrates this concept. A bypass capacitor on the output of the voltage divider plays a critical function in attenuating the output noise of the DAC and the induced noise from the environment. VDD Optional VREF VDD MCP47X6 RSENSE VCC+ R1 VTRIP Comp. VO I2CTM 2-wire R2 C1 VOUT VCC- FIGURE 8-3: Example Circuit Of Set Point or Threshold Calibration. EQUATION 8-1: VOUT = VREF * G * VOUT AND VTRIP CALCULATIONS DAC Register Value 2N R2 V trip = VOUT -------------------- R1 + R2 (c) 2011 Microchip Technology Inc. DS22272A-page 65 MCP4706/4716/4726 8.3.1.2 Building a "Window" DAC 8.4 When calibrating a set point or threshold of a sensor, typically only a small portion of the DAC output range is utilized. If the LSb size is adequate enough to meet the application's accuracy needs, the unused range is sacrificed without consequences. If greater accuracy is needed, then the output range will need to be reduced to increase the resolution around the desired threshold. If the threshold is not near VREF, 2 * VREF, or VSS then creating a "window" around the threshold has several advantages. One simple method to create this "window" is to use a voltage divider network with a pull-up and pull-down resistor. Figure 8-4 and Figure 86 illustrate this concept. Bipolar Operation Bipolar operation is achievable by utilizing an external operational amplifier. This configuration is desirable due to the wide variety and availability of op amps. This allows a general purpose DAC, with its cost and availability advantages, to meet almost any desired output voltage range, power and noise performance. Figure 8-5 illustrates a simple bipolar voltage source configuration. R1 and R2 allow the gain to be selected, while R3 and R4 shift the DAC's output to a selected offset. Note that R4 can be tied to VDD, instead of VSS, if a higher offset is desired. Optional VREF VDD VCC+ Optional VREF VDD MCP47X6 VCC+ RSENSE MCP47X6 VCC+ R1 R3 VTRIP Comp. VOUT I2CTM C1 R2 VO VO C1 R4 I2CTM VCC- 2-wire R2 VCC- VIN R1 FIGURE 8-4: DAC. Single-Supply "Window" EQUATION 8-2: VOUT AND VTRIP CALCULATIONS FIGURE 8-5: Digitally-Controlled Bipolar Voltage Source Example Circuit. EQUATION 8-3: DAC Register Value VOUT, VOA+, AND VO CALCULATIONS DAC Register Value VOUT = VREF * G * 2N V OUT R23 + V 23 R1 V TRIP = --------------------------------------------R 1 + R23 Thevenin Equivalent VOA+ VOUT VCC- 2-wire VOUT = VREF * G * R3 VOA+ = R2R3 R23 = ------------------R2 + R3 2N VOUT * R4 R3 + R4 VO = VOA+ * ( 1 + R2 R1 ) - VDD * ( R2 R1 ) ( VCC+ R2 ) + ( V CC- R 3 ) V23 = -----------------------------------------------------R 2 + R3 R1 VOUT VTRIP R23 V23 DS22272A-page 66 (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 8.5 Selectable Gain and Offset Bipolar Voltage Output In some applications, precision digital control of the output range is desirable. Example 8-6 illustrates how to use the DAC devices to achieve this in a bipolar or single-supply application. Optional VCC+ Optional VCC+ This circuit is typically used for linearizing a sensor whose slope and offset varies. The equation to design a bipolar "window" DAC would be utilized if R3, R4 and R5 are populated. 8.5.1 R5 VREF VDD MCP4726 R3 I CTM 2-wire Step 1: Calculate the range: +2.05V - (-2.05V) = 4.1V. VOUT C1 R4 2 VCC- VCC- BIPOLAR DAC EXAMPLE USING MCP4726 An output step size of 1 mV, with an output range of 2.05V, is desired for a particular application. VOA+ VO R2 VIN R1 FIGURE 8-6: Bipolar Voltage Source with Selectable Gain and Offset. Step 2: Calculate the resolution needed: EQUATION 8-4: 4.1V/1 mV = 4100 Since 2 12 VOUT, VOA+, AND VO CALCULATIONS = 4096, 12-bit resolution is desired. Step 3: The amplifier gain (R2/R1), multiplied by full-scale VOUT (4.096V), must be equal to the desired minimum output to achieve bipolar operation. Since any gain can be realized by choosing resistor values (R1+R2), the VREF value must be selected first. If a VREF of 4.096V is used, solve for the amplifier's gain by setting the DAC to 0, knowing that the output needs to be -2.05V. VOUT = VREF * G * VOA+ = 2N VOUT * R4 + VCC- * R5 R3 + R4 VO = VOA+ * ( 1 + R2 R1 ) - VIN * ( Offset Adjust The equation can be simplified to: - R2 - 2.05 --------- = ----------------4.096V R1 DAC Register Value R2 1 ------ = --2 R1 EQUATION 8-5: R2 R1 ) Gain Adjust BIPOLAR "WINDOW" DAC USING R4 AND R5 If R1 = 20 k and R2 = 10 k, the gain will be 0.5. Step 4: Next, solve for R3 and R4 by setting the DAC to 4096, knowing that the output needs to be +2.05V. R4 2 2.05V + ( 0.5 4.096V ) ------------------------ = ------------------------------------------------------- = --1.5 4.096V 3 ( R3 + R 4 ) If R4 = 20 k, then R3 = 10 k Figure 8-6 (C1 = 0.1uF) Thevenin Equivalent VCC+ R4 + V CC- R 5 V45 = --------------------------------------------R4 + R 5 V OUT R 45 + V45 R 3 V IN+ = --------------------------------------------R 3 + R 45 R4 R 5 R 45 = ------------------R 4 + R5 R2 R2 VO = VIN+ 1 + ------ - VA ------ R1 R 1 Offset Adjust Gain Adjust (c) 2011 Microchip Technology Inc. DS22272A-page 67 MCP4706/4716/4726 8.6 Designing a Double-Precision DAC 8.7 Building Programmable Current Source Figure 8-7 shows an example design of a single-supply voltage output capable of up to 24-bit resolution. This requires two 12-bit DACs. This design is simply a voltage divider with a buffered output. Example 8-8 shows an example of building programmable current source using a voltage follower. The current sensor resistor is used to convert the DAC voltage output into a digitally-selectable current source. As an example, if a similar application to the one developed in Section 8.5.1 "Bipolar DAC Example Using MCP4726" required a resolution of 1 V instead of 1 mV, and a range of 0V to 4.1V, then 12-bit resolution would not be adequate. The smaller RSENSE is, the less power dissipated across it. However, this also reduces the resolution that the current can be controlled. Step 1: Calculate the resolution needed: VDD (or VREF) Optional 4.1V/1 V = 4.1 x 106. Since 222 = 4.2 x 106, 22-bit resolution is desired. Since DNL = 0.75 LSb, this design can be attempted with the 12-bit DAC. Step 2: Since DACB`s VOUTB has a resolution of 1 mV, its output only needs to be "pulled" 1/1000 to meet the 1 V target. Dividing VOUTA by 1000 would allow the application to compensate for DACB`s DNL error. VREF VDD Load VCC+ VOUT IL MCP47X6 Ib VCC- I2CTM 2-wire Step 3: If R2 is 100, then R1 needs to be 100 k. IL I b = ---- Step 4: The resulting transfer function is shown in the equation of Example 8-6. V OUT I L = --------------- x ------------R sense + 1 RSENSE where = Common-Emitter Current Gain. Optional VREF VDD MCP4726 (A) FIGURE 8-8: Source. VOA R1 I2CTM 2-wire Digitally-Controlled Current VCC+ VOUT Optional VREF VDD 0.1 F R2 MCP4726 (B) VCC- VOB 2 I CTM 2-wire FIGURE 8-7: Simple Double Precision DAC using MCP4726. EQUATION 8-6: VOUT = VOUT CALCULATION VOA * R2 + VOB * R1 R1 + R2 Where: VOA = (VREF * G * DAC A Register Value)/4096 VOB = (VREF * G * DAC B Register Value)/4096 G = Selected Op Amp Gain DS22272A-page 68 (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 8.8 Serial Interface Communication Times Table 8-1 shows time/frequency of the supported operations of the I2C serial interface for the different serial interface operational frequencies. This, along with the VOUT output performance (such as slew rate), would be used to determine your applications volatile DAC register update rate. TABLE 8-1: SERIAL INTERFACE TIMES / FREQUENCIES Command C2 C1 C0 Function (1) Config. No No 29 290 72.5 8.5 3.4 13.8 117.2 Yes Yes No No 38 380 95 11.2 2.6 10.5 89.5 1 Write All Memory Yes Yes Yes Yes 38 380 95 11.2 2.6 10.5 89.5 0 Write NV Configuration Bits Yes No No No 20 200 50 5.9 5.0 20.0 170.0 N.A. N.A. N.A. N.A. 77 750 187.5 22.1 1.3 5.3 45.3 0 X Write Volatile DAC 0 1 0 Write Volatile Memory 0 1 1 0 Note 1: 2: Config. DAC Yes 0 N.A. # of Command Frequency Serial Command Time (uS) (kHz) Interface DAC bits (2) 100kHz400kHz3.4MHz100kHz400kHz 3.4MHz Writes Volatile Writes EEPROM Memory? Memory? Code Read Yes Only the volatile PD1:PD0 bits of the Configuration bits are written. Includes the Start or Stop bits. (c) 2011 Microchip Technology Inc. DS22272A-page 69 MCP4706/4716/4726 Software I2C Interface Reset Sequence 8.9 Note: This technique is documented in AN1028. At times, it may become necessary to perform a Software Reset Sequence to ensure the MCP47X6 device is in a correct and known I2C Interface state. This technique only resets the I2C state machine. This is useful if the MCP47X6 device powers up in an incorrect state (due to excessive bus noise, etc), or if the Master Device is reset during communication. Figure 8-9 shows the communication sequence to software reset the device. S `1' `1' `1' `1' `1' `1' `1' `1' Start bit S P Nine bits of `1' Start bit Stop bit FIGURE 8-9: Format. Software Reset Sequence The 1st Start bit will cause the device to reset from a state in which it is expecting to receive data from the Master Device. In this mode, the device is monitoring the data bus in Receive mode and can detect if the Start bit forces an internal Reset. DS22272A-page 70 The nine bits of `1' are used to force a Reset of those devices that could not be reset by the previous Start bit. This occurs only if the MCP47X6 is driving an A bit on the I2C bus, or is in output mode (from a Read command) and is driving a data bit of `0' onto the I2C bus. In both of these cases, the previous Start bit could not be generated due to the MCP47X6 holding the bus low. By sending out nine `1' bits, it is ensured that the device will see an A bit (the Master Device does not drive the I2C bus low to acknowledge the data sent by the MCP47X6), which also forces the MCP47X6 to reset. The 2nd Start bit is sent to address the rare possibility of an erroneous write. This could occur if the Master Device was reset while sending a Write command to the MCP47X6, AND then as the Master Device returns to normal operation and issues a Start condition, while the MCP47X6 is issuing an Acknowledge. In this case, if the 2nd Start bit is not sent (and the Stop bit was sent) the MCP47X6 could initiate a write cycle. Note: The potential for this erroneous write ONLY occurs if the Master Device is reset while sending a Write command to the MCP47X6. The Stop bit terminates the current I2C bus activity. The MCP47X6 waits to detect the next Start condition. This sequence does not effect any other I2C devices which may be on the bus, as they should disregard this as an invalid command. (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 8.10.2 * Power Supply Considerations * Layout Considerations 8.10.1 The typical application will require a bypass capacitor in order to filter high-frequency noise, which can be induced onto the power supply's traces. The bypass capacitor helps to minimize the effect of these noise sources on signal integrity. Figure 8-10 illustrates an appropriate bypass strategy. In this example, the recommended bypass capacitor value is 0.1 F. This capacitor should be placed as close (within 4 mm) to the device power pin (VDD) as possible. The power source supplying these devices should be as clean as possible. If the application circuit has separate digital and analog power supplies, VDD and VSS should reside on the analog plane. VDD 0.1 F 0.1 F MCP47X6 SCL SDA VSS FIGURE 8-10: Connections. PICTM Microcontroller VDD VOUT * Noise * PCB Area Requirements 8.10.2.1 POWER SUPPLY CONSIDERATIONS VREF Several layout considerations may be applicable to your application. These may include: Noise Inductively-coupled AC transients and digital switching noise can degrade the input and output signal integrity, potentially masking the MCP47X6's performance. Careful board layout minimizes these effects and increases the Signal-to-Noise Ratio (SNR). Multi-layer boards utilizing a low-inductance ground plane, isolated inputs, isolated outputs and proper decoupling are critical to achieving the performance that the silicon is capable of providing. Particularly harsh environments may require shielding of critical signals. Separate digital and analog ground planes are recommended. In this case, the VSS pin and the ground pins of the VDD capacitors should be terminated to the analog ground plane. Note: Breadboards and wire-wrapped boards are not recommended. 8.10.2.2 PCB Area Requirements In some applications, PCB area is a criteria for device selection. Table 8-2 shows the typical package dimensions and area for the different package options. The table also shows the relative area factor compared to the smallest area. For space critical applications, the DFN package would be the suggested package. PACKAGE FOOTPRINT (1) TABLE 8-2: Package Package Footprint Dimensions (mm) Type Code Length Width 6 6 Relative Area In the design of a system with the MCP4706/4716/4726 devices, the following considerations should be taken into account: LAYOUT CONSIDERATIONS Area (mm2) Design Considerations Pins 8.10 SOT-23 CH 2.90 2.70 7.83 1.96 DFN MA 2.00 2.00 4.00 1 Note 1: Does not include recommended land pattern dimensions. Dimensions are typical values. VSS Typical Microcontroller (c) 2011 Microchip Technology Inc. DS22272A-page 71 MCP4706/4716/4726 NOTES: DS22272A-page 72 (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 9.0 DEVELOPMENT SUPPORT Development support can be classified into two groups. These are: * Development Tools * Technical Documentation 9.1 Development Tools Several development tools are available to assist in your design and evaluation of the MCP47X6 devices. The currently available tools are shown in Table 9-1. These boards may be purchased directly from the Microchip web site at www.microchip.com. 9.1.1 MCP47X6 PICtail Plus Explore 16 Daughter Board inserted into PICtail Connector Development Board MCP47X6 PICTAIL PLUS DAUGHTER BOARD The MCP47X6 PICtail Plus Daughter Board (Order Number: ADM00317) is available from Microchip Technology Inc. This board works with Microchip's PICkitTM Serial Analyzer and PIC Explorer 16 Development Board. The firmware example is also available for the Explore 16 Development Board with PIC24FJ128. FIGURE 9-1: MCP47X6 PICtail Plus Daughter Board with PIC Explorer 16 Development Board. MCP47X6 PICtail Plus Daughter Board Figure 9-1 shows the MCP47X6 PICtail Plus Daughter Board being used with a PIC Explorer 16 Development Board (order #: ADM00317), while Figure 9-2 shows the MCP47X6 PICtail Plus Daughter Board being used with a PICkitTM Serial Analyzer. The PICkitTM Serial Analyzer allows the user to quickly evaluate the DAC operation. Refer to the MCP47X6 PICtail Plus Daughter Board User's Guide for detailed descriptions on operating the daughter board. Refer to www.microchip.com for further information on this product and related material for the users. FIGURE 9-2: MCP47X6 PICtail Plus Daughter Board with PICkitTM Serial Analyzer. TABLE 9-1: DEVELOPMENT TOOLS Board Name Part # Supported Devices 6-pin SC70 Evaluation Board SC70EV MCP4706, MCP4716, MCP4726 MCP4706/4716/4726 Evaluation Board(1, 2) ADM00317(3) MCP4726 Note 1: Requires a PICDEM Demo board. See the User's Guide for additional information and requirements. 2: Requires a PICkit Serial Analyzer. See the User's Guide for additional information and requirements. 3: This board is currently in the manufacturing cycle, and should be available by end of March 2011. (c) 2011 Microchip Technology Inc. DS22272A-page 73 MCP4706/4716/4726 9.2 Technical Documentation Several additional technical documents are available to assist you in your design and development. These technical documents include Application Notes, Technical Briefs, and Design Guides. Table 9-2 shows some of these documents. TABLE 9-2: Application Note Number TECHNICAL DOCUMENTATION Title Literature # AN1326 Using DAC for LDMOS Amplifier Bias Control Applications DS01326 -- Signal Chain Design Guide DS21825 -- Analog Solutions for Automotive Applications Design Guide DS01005 DS22272A-page 74 (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 10.0 PACKAGING INFORMATION 10.1 Package Marking Information 6-Lead SOT-23 Example XXNN Address Option DC25 Code MCP4706A0T-E/CH MCP4716A0T-E/CH MCP4726A0T-E/CH A0 (00) DBNN DFNN A1 (01) DCNN DGNN DLNN A2 (10) DDNN DHNN DMNN A3 (11) DENN DJNN DPNN 6-Lead DFN (2x2) DKNN Example XXX AAB NNN 425 Address Option Code MCP4706A0T-E/MA MCP4716A0T-E/MA MCP4726A0T-E/MA A0 (00) AAA AAE AAP A1 (01) AAB AAF AAQ A2 (10) AAC AAG AAR A3 (11) AAD AAH AAS Legend: XX...X Y YY WW NNN e3 * Note: Customer-specific information Year code (last digit of calendar year) Year code (last 2 digits of calendar year) Week code (week of January 1 is week `01') Alphanumeric traceability code Pb-free JEDEC designator for Matte Tin (Sn) This package is Pb-free. The Pb-free JEDEC designator ( e3 ) can be found on the outer packaging for this package. In the event the full Microchip part number cannot be marked on one line, it will be carried over to the next line, thus limiting the number of available characters for customer-specific information. (c) 2011 Microchip Technology Inc. DS22272A-page 75 MCP4706/4716/4726 /$ !$% $ 0 $$ ,33... 3 " . !1 0 ! ! $ 2 0 & $ $ " $ b 4 N E E1 PIN 1 ID BY LASER MARK 1 2 3 e e1 D A A2 c L A1 L1 4$! 6% 9 &2! !5 $! 55## 6 *+ 2$ 7%$!" 5 8 )*+ "2$ 7- : $ " "2 0 0 !! $ "&& 7- ="$ " "2 0 7- 5 $ 67 6 ="$ ; < ; ) ; ) # ; # ; < ; /$5 $ 5 ; /$ $ 5 ) ; < /$ > ; > 5 "0 !! < ; 5 "="$ 9 ; ) !! "#"$%" "& ! $%!!"& ! $%!!! $ ' ! "$ #() *+, * ! ! $ ' $- % !..$%$$ ! " !" . + <* DS22272A-page 76 (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 Note: For the most current package drawings, please see the Microchip Packaging Specification located at http://www.microchip.com/packaging (c) 2011 Microchip Technology Inc. DS22272A-page 77 MCP4706/4716/4726 Note: For the most current package drawings, please see the Microchip Packaging Specification located at http://www.microchip.com/packaging DS22272A-page 78 (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 Note: For the most current package drawings, please see the Microchip Packaging Specification located at http://www.microchip.com/packaging (c) 2011 Microchip Technology Inc. DS22272A-page 79 MCP4706/4716/4726 Note: For the most current package drawings, please see the Microchip Packaging Specification located at http://www.microchip.com/packaging DS22272A-page 80 (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 APPENDIX A: REVISION HISTORY Revision A (February 2011) * Original Release of this Document. (c) 2011 Microchip Technology Inc. DS22272A-page 81 MCP4706/4716/4726 NOTES: DS22272A-page 82 (c) 2011 Microchip Technology Inc. MCP4706/4716/4726 PRODUCT IDENTIFICATION SYSTEM To order or obtain information, e.g., on pricing or delivery, refer to the factory or the listed sales office. X PART NO. XX Device Address Options Device: X Tape and Temperature Reel Range /XX Package MCP4706: Single Channel 8-Bit DAC with EEPROM Memory MCP4716: Single Channel 10-Bit DAC with EEPROM Memory MCP4726: Single Channel 12-Bit DAC with EEPROM Memory A0 = "1100000" I2C Address. Devices ordered from the Microchip Sample center will have this address. A1 = "1100001" I2C Address. A2 = "1100010" I2C Address. A3 = "1100011" I2C Address. A4 = "1100100" I2C Address. A5 = "1100101" I2C Address. A6 = "1100110" I2C Address. A7 = "1100111" I2C Address. T = Tape and Reel Temperature Range: E = -40C to +125C Address Options: Tape and Reel: Package: CH = Plastic Small Outline Transistor (SOT-23-6), 6-lead MA = Plastic Dual Flat, No Lead Package (2x2 DFN), 6-lead (c) 2011 Microchip Technology Inc. Examples: a) MCP4706A0T-E/CH: 8-bit VOUT resolution, I2C Address "1100000", Tape and Reel, Extended Temp., 6LD SOT-23 pkg. b) MCP4706A6T-E/CH: 8-bit VOUT resolution, I2C Address "1100110", Tape and Reel, Extended Temp., 6LD SOT-23 pkg. c) MCP4706A0T-E/MA: 8-bit VOUT resolution, I2C Address "1100000", Tape and Reel, Extended Temp., 6LD DFN pkg. d) MCP4706A6T-E/MA: 8-bit VOUT resolution, I2C Address "1100110", Tape and Reel, Extended Temp., 6LD DFN pkg. a) MCP4716A0T-E/CH: 10-bit VOUT resolution, I2C Address "1100000", Tape and Reel, Extended Temp., 6LD SOT-23 pkg. b) MCP4716A6T-E/CH: 10-bit VOUT resolution, I2C Address "1100110", Tape and Reel, Extended Temp., 6LD SOT-23 pkg. c) MCP4716A0T-E/MA: 10-bit VOUT resolution, I2C Address "1100000", Tape and Reel, Extended Temp., 6LD DFN pkg. d) MCP4716A6T-E/MA: 10-bit VOUT resolution, I2C Address "1100110", Tape and Reel, Extended Temp., 6LD DFN pkg. a) MCP4726A0T-E/CH: 12-bit VOUT resolution, I2C Address "1100000", Tape and Reel, Extended Temp., 6LD SOT-23 pkg. b) MCP4726A6T-E/CH: 12-bit VOUT resolution, I2C Address "1100110", Tape and Reel, Extended Temp., 6LD SOT-23 pkg. c) MCP4726A0T-E/MA: 12-bit VOUT resolution, I2C Address "1100000", Tape and Reel, Extended Temp., 6LD DFN pkg. d) MCP4726A6T-E/MA: 12-bit VOUT resolution, I2C Address "1100110", Tape and Reel, Extended Temp., 6LD DFN pkg. DS22272A-page 83 MCP4706/4716/4726 NOTES: DS22272A-page 84 (c) 2011 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, KEELOQ, KEELOQ logo, MPLAB, PIC, PICmicro, PICSTART, PIC32 logo, rfPIC 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, MXDEV, MXLAB, SEEVAL and The Embedded Control Solutions Company are registered trademarks of Microchip Technology Incorporated in the U.S.A. Analog-for-the-Digital Age, Application Maestro, CodeGuard, dsPICDEM, dsPICDEM.net, dsPICworks, dsSPEAK, ECAN, ECONOMONITOR, FanSense, HI-TIDE, In-Circuit Serial Programming, ICSP, Mindi, MiWi, MPASM, MPLAB Certified logo, MPLIB, MPLINK, mTouch, Octopus, Omniscient Code Generation, PICC, PICC-18, PICDEM, PICDEM.net, PICkit, PICtail, REAL ICE, rfLAB, Select Mode, Total Endurance, TSHARC, UniWinDriver, WiperLock and ZENA 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. All other trademarks mentioned herein are property of their respective companies. (c) 2011, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved. Printed on recycled paper. ISBN: 978-1-60932-896-2 Microchip received ISO/TS-16949:2002 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(R) MCUs and dsPIC(R) DSCs, KEELOQ(R) 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. (c) 2011 Microchip Technology Inc. DS22272A-page 85 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://support.microchip.com 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 - Yokohama Tel: 81-45-471- 6166 Fax: 81-45-471-6122 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 Kokomo Kokomo, IN Tel: 765-864-8360 Fax: 765-864-8387 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-8528-2100 Fax: 86-10-8528-2104 China - Chengdu Tel: 86-28-8665-5511 Fax: 86-28-8665-7889 Korea - Daegu Tel: 82-53-744-4301 Fax: 82-53-744-4302 China - Chongqing Tel: 86-23-8980-9588 Fax: 86-23-8980-9500 Korea - Seoul Tel: 82-2-554-7200 Fax: 82-2-558-5932 or 82-2-558-5934 China - Hong Kong SAR Tel: 852-2401-1200 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-6578-300 Fax: 886-3-6578-370 China - Shenzhen Tel: 86-755-8203-2660 Fax: 86-755-8203-1760 Taiwan - Kaohsiung Tel: 886-7-213-7830 Fax: 886-7-330-9305 China - Wuhan Tel: 86-27-5980-5300 Fax: 86-27-5980-5118 Taiwan - Taipei Tel: 886-2-2500-6610 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 08/04/10 DS22272A-page 86 (c) 2011 Microchip Technology Inc.