12-Bit Digital-to-Analog Converter with EEPROM Memory
in SOT-23-6
Features
• 12-Bit Resolution
• On-Board Non-Volatile Memory (EEPROM)
• ±0.2 LSB DNL (typical)
• External A0 Address Pin
• Normal or Power-Down Mode
• Fast Settling Time of 6 µs (typical)
• External Voltage Reference (V
• Rail-to-Rail Output
• Low Power Consumption
• Single-Supply Operation: 2.7V to 5.5V
2CTM
•I
• Small 6-lead SOT-23 Package
• Extended Temperature Range: -40°C to +125°C
Interface:
- Eight Available Addresses
- Standard (100 kbps), Fast (400 kbps), and
High-Speed (3.4 Mbps) Modes
DD
)
Applications
• Set Point or Offset Trimming
• Sensor Calibration
• Closed-Loop Servo Control
• Low Power Portable Instrumentation
• PC Peripherals
• Data Acquisition Systems
Block Diagram
DESCRIPTION
The MCP4725 is a low-power, high accuracy, single
channel, 12-bit buffered voltage output Digital-to-Analog Convertor (DAC) with non-volatile memory
(EEPROM). Its on-board precision output amplifier
allows it to achieve rail-to-rail analog output swing.
The DAC input and configuration data can be
programmed to the non-volatile memory (EEPROM) by
the user using I
memory feature enables the DAC device to hold the
DAC input code during power-off time, and the DAC
output is available immediately after power-up. This
feature is very useful when the DAC device is used as
a supporting device for other devices in the network.
The device includes a Power-On-Reset (POR) circuit to
ensure reliable power-up and an on-board charge
pump for the EEPROM programming voltage. The
DAC reference is driven from V
power-down mode, the output amplifier can be configured to present a low, medium, or high resistance output load.
The MCP4725 has an external A0 address pin. This A0
pin can be tied to V
board.
The MCP4725 has a two-wire I
interface for standard (100 kHz), fast (400 kHz), or high
speed (3.4 MHz) mode.
The MCP4725 is an ideal DAC device where design
simplicity and small footprint is desired, and for applications requiring the DAC device settings to be saved
during power-off time.
The device is available in a small 6-pin SOT-23
package.
† Notice: Stresses above those listed under “Maximum ratings” may cause permanent damage to the device.
This is a stress rating only and functi onal operation of
the device at these or any other conditions above those
Current at Input Pins ....................................................±2 mA
Current at Supply Pins ...............................................±50 mA
Current at Output Pins ...............................................±25 mA
Storage Temperature ....................................-65°C to +150°C
Ambient Temp. with Power Applied ..............-55°C to +125°C
ESD protection on all pins ................ ≥ 6kV HBM, ≥ 400V MM
Maximum Junction Temperature (T
.................–0.3V to VDD+0.3V
SS
) ......................... +150°C
J
indicated in the operation listings of this specification is
not implied. Exposure to maximum rating conditions for
extended periods may affect device reliability
ELECTRICAL CHARACTERISTICS
Electrical Specifications: Unless otherwise indicated, all parameters apply at VDD = + 2.7V to 5.5V, VSS = 0V,
RL = 5 kΩ from V
Parameter Sym Min Typ Max Units Conditions
Power Requirements
Operating Voltage V
Supply Current I
Power-Down CurrentI
Power-On-Reset
Threshold
DC Accuracy
Resolution n12——Bits Code Range = 000h to FFFh
INL Error INL —±2 ±14.5 LSB Note 1
DNL DNL -0.75±0.2±0.75 LSB Note 1
Offset Error V
Offset Error Drift ΔV
Gain Error G
Gain Error Drift ΔGE/°C —-3 —ppm/°C
Output Amplifier
Phase Margin
Capacitive Load Stability CL ——1000 pF RL = 5 kΩ, Note 2
Slew Rate SR —0.55 —V/µs
Short Circuit Current I
Output Voltage Settling
Time
Note 1:Test Code Range: 100 to 4000.
2: This parameter is ensure by design and not 100% tested.
3: Within 1/2 LSB of the final value when code changes from 1/4 to 3/4 (400h to C00h) of full-scale.
4: Logic state of external address pin (A0 pin).
to VSS, CL = 100 pF, TA = -40°C to +125°C. Typical values are at +25°C.
Electrical Specifications: Unless otherwise indicated, all parameters apply at VDD = + 2.7V to 5.5V, VSS = 0V,
RL = 5 kΩ from V
Parameter Sym Min Typ Max Units Conditions
Power Up Time T
DC Output Impedance R
Dynamic Performance
Major Code Transition
Glitch
Digital Feedthrough —<10—nV-sNote 2
Digital Interface
Output Low Voltage V
Input High Voltage
(SDA and SCL Pins)
Input Low Voltage
(SDA and SCL Pins)
Input High Voltage
(A0 Pin)
Input Low Voltage
(A0 Pin)
Input Leakage I
Pin Capacitance C
EEPROM
EEPROM Write Time T
Data Retention—200—YearsAt +25°C, (Note 2)
Endurance1——Million
Note 1:Test Code Range: 100 to 4000.
2: This parameter is ensure by design and not 100% tested.
3: Within 1/2 LSB of the final value when code changes from 1/4 to 3/4 (400h to C00h) of full-scale.
4: Logic state of external address pin (A0 pin).
to VSS, CL = 100 pF, TA = -40°C to +125°C. Typical values are at +25°C.
OUT
PU
—2.5 — µsV
—5 — µsV
—1 — ΩNormal mode (V
OUT
—1 — kΩPower-Down Mode 1
—100 — kΩPower-Down Mode 2
—500 — kΩPower-Down Mode 3
—45 —nV-s 1 LSB change around major
——0.4 V IOL = 3 mA
OL
VIH 0.7V
V
— —0.3VDDV
IL
V
A0-Hi
V
——0.2V
A0-IL
——±1 µA SCL = SDA = A0 = V
LI
—— 3 pF Note 2
PIN
WRITE—2550msEEPROM Write time for 14
0.8V
DD
DD
—— V
——Note 4
DD
Cycles
= 5V
DD
= 3V
DD
Coming out of Power-down
mode, started from falling
edge of ACK pulse in I
command.
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.
The descriptions of the pins are listed in Table 3-1.
TABLE 3-1:PIN FUNCTION TABLE
Pin No.
SOT-23
1V
2V
3V
4SDAI
5SCLI
6A0Device Address Selection pin. This pin can be tied to V
NameFunction
OUT
SS
DD
Analog Output Voltage
Ground Reference
Supply Voltage
2
C Serial Data
2
C Serial Clock Input
driven by the digital logic levels. The logic state of this pin determines what the A0
bit of the I
2
C address bits should be.
or VDD, or can be actively
SS
3.1Analog Output Voltage (V
V
is an analog output voltage from the DAC device.
OUT
OUT
)
DAC output amplifier drives this pin with a range of V
to VDD.
3.2Supply Voltage (VDD, VSS)
VDD is the power supply pin for the device. The voltage
at the V
DAC reference input. The power supply at the VDD pin
should be clean as possible for a good DAC
performance.
This pin requires an appropriate bypass capacitor of
about 0.1 µF (ceramic) to ground. An addi tional 10 µF
capacitor (tantalum) in parallel is also recommended to
further attenuate high frequency noise present in
application boards. The supply voltage (V
maintained in the 2.7V to 5.5V range for specified
operation.
V
SS
device. The user must connect the V
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 V
within an analog ground plane of the circuit board.
pin is used as the supply input as well as the
DD
) must be
DD
is the ground pin and the current return path of the
pin to a ground
SS
pin be tied to the analog ground path or isolated
SS
SS
3.4Serial Clock Pin (SCL)
SCL is the serial clock pin of the I2C interface. The
MCP4725 acts 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 MCP4725
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 V
pin. Refer to Section 7.0 “I
2
C Serial Interface Com-
munication” for more details of I
line to the SCL
DD
2
C Serial Interface
communication.
3.5Device Address Selection Pin (A0)
This pin is used to select the A0 address bit by the user.
The user can tie this pin to VSS (logic ‘0’), or VDD (logic
‘1’), or can be actively driven by the digital logic levels,
such as the I
“Device Addressing” for more details of the address
bits.
2
C Master Output. See Section 7.2
3.3 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 register and
EEPROM data. The SDA pin is an open-drain N-chan
nel driver. Therefore, it needs a pull-up resistor from the
line to the SDA pin. Except for start and stop
V
DD
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 7.0 “ISerial Interface Communication” for more details of
I2C Serial Interface communication.
voltage difference between two
adjacent input codes.
4.0TERMINOLOGY
4.1Resolution
The resolution is the number of DAC output states that
divide the full-scale range. For the 12-bit DAC, the
resolution is 212 or the DAC code ranges from 0 to
4095.
4.2LSB
The least significant bit or the ideal voltage difference
between two successive codes.
EQUATION 4-1:
4.3Integral Nonlinearity (INL) or
Relative Accuracy
INL error is the maximum deviation between an actual
code transition point and its corresponding ideal
transition point (straight line). Figure 2-5 shows the INL
curve of the MCP4725. The end-point method is used
for the calculation. The INL error at a given input DAC
code is calculated as:
FIGURE 4-1:INL Accuracy.
4.4Differential Nonlinearity (DNL)
Differential nonlinearity error (Figure 4-2) 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:
In the MCP4725, the gain error is not calibrated at the
factory and most of the gain error is contributed by the
output op amp saturation near the code range beyond
4000. For the applications which need the gain error
specification less than 1% maximum, the user may
consider using the DAC code range between 100 and
4000 instead of using full code range (code 0 to 4095).
The DAC output of the code range between 100 and
4000 is much linear than full-scale range (0 to 4095).
The gain error can be calibrated by software in applications.
4.7Full-Scale Error (FSE)
Full-scale error (Figure 4-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).
EQUATION 4-4:
4.5Offset Error
Offset error (Figure 4-3) is the deviation from zero voltage output when the digital input code is zero. This
error affects all codes by the same amount. In the
MCP4725, the offset error is not trimmed at the factory.
However, it can be calibrated by software in application
circuits.
FIGURE 4-3:Offset Error.
4.6Gain Error
Gain error (see Figure 4-4) is the difference between
the actual full-scale output voltage from the ideal output
voltage on the 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 matche s the slope of th e ideal transfe r
function. The gain error is usually expressed as percent
of full-scale range (% of FSR) or in LSB.
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.
4.9Offset Error Drift
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/
o
C.
4.10Settling Time
The Settling time is the time delay required for the DAC
output to settle to its new output value from the start of
code transition, within specified accuracy. In the
MCP4725, the settling time is a measure of the time
delay until the DAC output reaches its final value
(within 0.5 LSB) when the DAC code changes from
400h to C00h.
4.11Major-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).
MCP4725
4.12Digital Feedthrough
Digital feedthrough is the glitch that appears at the
analog output caused by coupling from the digital input
pins of the device. It is specified in nV-Sec. and is
measured with a full scale change on the digital input
pins (Example: 000... 000 to 111... 111, or 111... 111 to
000... 000). The digital feedthrough is measured when
The MCP4725 is a single channel buffered voltage
output 12-bit DAC with non-volatile memory
(EEPROM). The user can store configuration register
bits (2 bits) and DAC input data (12 bits) in non-volatile
EEPROM (14 bits) memory.
When the device is powered on first, it loads the DAC
code from the EEPROM and outputs the analog output
accordingly with the programmed settings. The user
can reprogram the EEPROM or DAC register any time.
The device uses a resistor string architecture. DAC’s
output is buffered with a low power precision amplifier.
This output amplifier provides low offset voltage and
low noise, as well as rail-to-rail output. The amplifier
can also provide high source currents (V
VSS).
The DAC can be configured to normal or power saving
power-down mode by setting the configuration register
bits.
2
The device uses a two-wire I
C compatible serial
interface and operates from a single power supply
ranging from 2.7V to 5.5V.
5.1Output Voltage
The input coding to the MCP4725 device i s unsigned
binary. The output volt age range is from 0V to VDD. The
output voltage is given in Equation 5-1:
OUT
pin to
5.1.2DRIVING RESISTIVE AND
CAPACITIVE LOADS
The MCP4725 output stage is capable of driving loads
up to 1000 pF in parallel with 5 kΩ load resistance.
Figure 2-15 shows the V
vs. Resistive Load. V
OUT
OUT
drops slowly as the load resistance decreases after
about 3.5 kΩ.
5.2LSB SIZE
One LSB is defined as the ideal voltage difference
between two successive codes. (see Equation 4-1).
Table 5-1 shows an example of the LSB size over
full-scale range (V
DD
).
TABLE 5-1:LSB SIZES FOR MCP4725
(EXAMPLE)
Full-Scale
Range
)
(V
DD
3.0V0.73 mV3 / 4096
5.0V1.22 mV5 / 4096
LSB
Size
Condition
5.3Voltage Reference
The MCP4725 device uses the VDD as its voltage
reference. Any variation or noises on the VDD line can
affect directly on the DAC output. The V
as clean as possible for accurate DAC performance.
needs to be
DD
EQUATION 5-1:
5.1.1OUTPUT AMPLIFIER
The DAC output is buffered with a low-power, precision
CMOS amplifier. This amplifier provides low offset
voltage and low noise. The output stage enables the
device to operate with output voltages close to the
power supply rails. Refer to Section 1.0 “ElectricalCharacteristics” for range and load conditions.
The output amplifier can drive the resistive and high
capacitive loads without oscillation. The amplifier can
provide maximum load current as high as 25 mA which
is enough for most of a programmable voltage
reference applications.
5.4Reset Conditions
In the Reset conditions, the device uploads the
EEPROM data into the DAC register. The devi ce can
be reset by two independent events: (a) by POR or (b)
2
C General Call Reset Command.
by I
The factory default settings for the EEPROM prior to
shipment are shown in Table 4-3 (set for a middle scale
output). The user can rewrite or read the DAC register
or EEPROM anytime after the Power-On-Reset event.
5.4.1POWER-ON-RESET
The device’s internal Power-On-Reset (POR) circuit
ensures that the device powers up in a defined state.
If the power supply voltage is less than the POR threshold (V
there will be no DAC output. When the V
above the V
the reset period, the device uploads all configurati on
and DAC input codes from EEPROM. The DAC output
will be the same as for the value last stored in the
EEPROM. This enables the device returns to the same
state that it was at the last write to the EEPROM before
it was powered off.
The device has two modes of operation: Normal mod e
and power-down mode. The mode is selected by
programming the power-down bits (PD1 and PD0) in
the Configuration register. The user can also program
the two power-down bits in non-volatile EEPROM
memory.
When the normal mode is selected, the device
operates a normal digital-to-analog conversion. If the
power-down mode is selected, the device enters a
power saving condition by shutting down most of the
internal circuits. During the power-down mode, all
internal circuits except the I
and there is no data conversion event, and no V
available. The device also switches the output stage
from the output of the amplifier to a known resistive
load. The value of the resistive load is determined by
the state of the power-down bits (PD1 and PD0).
Table 5-2 shows the outcome of the power-down bit
and the resistive load.
During the power-down mode, the device draws about
60 nA (typical). Although most of i nternal circuits are
shutdown, the serial interface remains active in o rder
to receive the I
2
C command.
The device exits the power-down mode immediately
when (a) it receives a new write command for normal
mode or (b) it receives an I
Command.
When the DAC operation mode is changed from
power-down to normal mode, the output settling time
takes less than 10 µs, but greater than the standard
Active mode settling time (6 µs, typ ical).
2
C interface are disabled
OUT
2
C General Call Wake-Up
is
MCP4725
FIGURE 5-1:Output Stage for
Power-Down Mode.
TABLE 5-2:POWER-DOWN BITS
PD1PD0Function
00Normal Mode
011kΩ resistor to ground
10100 kΩ resistor to ground
11500 kΩ resistor to ground
The MCP4725 device has a 14-bit wide EEPROM
memory to store configuration bit (2 bits) and DAC
input data (12 bits). These bits are readable and re-writable with I
on-chip charge pump circuit to write the EEPROM
memory bits without using an external program voltage.
The EEPROM writing operation is initiated when the
device receives an EEPROM write command (C2 = 0,
C1 = 1, C0 = 1). The configuration and writing data bits
2
C interface commands. The device has an
are transferred to the EEPROM memory block. A
status bit, RDY/BSY
writing and goes high as the write operation is
completed. While the RDY/BSY
EEPROM writing), any new write command is ignored
(for EEPROM or DAC register). Table 5-3 shows the
EEPROM bits and factory default settings. Table 5-4
shows the DAC input register bits of the MCP4725.
TABLE 5-3:EEPROM MEMORY AND FACTORY DEFAULT SETTINGS
(TOTAL NUMBER OF BITS: 14 BITS)
Bit
Name
Bit
Function
Factory
Default
Value
Note 1:See Table 5-2 for details.
PD1PD0D11D10D9D8D7D6D5D4D3D2D1D0
Power-Down
Select
(2 bits)
00
2: Bit D11 = ‘1’ (while all other bits are “0”) enables the device to output 0.5 * V
(1)
(2)
1
00000000000
DAC Input Data (12 bits)
, stays low during the EEPROM
bit is low (during the
(= middle scale output).
DD
TABLE 5-4:DAC REGISTER
Bit
Name
Bit
Function
Note 1:Write EEPROM status indication bit (0:EEPROM write is not completed. 1:EEPROM write is complete.)
When the device is connected to the I2C bus line, the
device is working as a slave device. The Master (MCU)
can write/read the DAC input register or EEPROM
using the I
device address contains four fixed bits ( 1100 = device
code) and three address bits (A2, A1, A0). The A2 and
A1 bits are hard-wired during manufacturing, and A0 bit
is determined by the logic state of A0 pin. The A0 pi n
can be connected to V
digital logic levels.
The following sections describe the communication
protocol to send or read the data code and write/read
the EEPROM using the I
2
“I
C Serial Interface Communication”.
6.1Write Commands
The write commands are used to load the configuration
bits and DAC input code to the DAC register, or to write
to the EEPROM of the device. The write command
types are defined by using three write command type
bits (C2, C1, C0). Table 6-2 shows the write comman d
types and their functions. There are three command
types for the MCP4725. The four “reserved” commands
in Table 6-2 are for future use. The MCP4725 ignores
the “reserved” commands. Write command protocol
examples are shown in Figure 6-1 and Figure 6-2.
The input data code is coded as shown in Table 6-1.
The MSB of the data is always transmitted first and the
format is unipolar binary.
TABLE 6-1:INPUT DATA CODING
111111111111 (FFFh) V
111111111110 (FFEh) V
000000000010 (002h)2 LSB
000000000001 (001h)1 LSB
000000000000 (000h)0
2
C interface command. The MCP4725
or VSS, or actively driven by
DD
2
C interface. See Section 7.0
Input Code
Nominal Output Voltage
(V)
- 1 LSB
DD
- 2 LSB
DD
6.1.1WRITE COMMAND FOR FAST
MODE (C2 = 0, C1 = 0, C0 = X,
X = DON’T CARE)
The fast write command is used to update the DAC
register. The data in the EEPROM of the device is not
affected by this command. This command updates
Power-Down mode selection bits (PD1 and PD0) and
12 bits of the DAC input code in the DAC register.
In MCP4725, this command performs the same
function as the Fast Mode command in Section 6.1.1
“Write Command for Fast mode (C2 = 0, C1 = 0,
C0 = X, X = Don’t Care)”. Figure 6-2 shows the write
command protocol for the MCP4725.
As shown in Figure 6-2, the D11 - D0 bits in the third
and fourth bytes are DAC input data. The last 4 bits (X,
X, X, X) in the fourth byte are don’t care bits.
The device executes the Master’s write command after
receiving the last byte (4th byte). The Master can send
a STOP bit to terminate the current sequence, or send
a Repeated START bit followed by an address byte. If
the device receives three data bytes continuously after
the 4th byte, it updates from the 2nd to the 4th data
bytes with the last three input data bytes.
The contents of the register are updated at the end of
the 4th byte. The device ignores any partially received
data bytes if the I
ends before completing the 4th byte.
2
C communication with the Master
6.1.3WRITE COMMAND FOR DAC INPUT
REGISTER AND EEPROM
(C2 = 0, C1 = 1, C0 = 1)
When the device receives this command, it (a) loads
the configuration and data bits to the DAC register, and
(b) also writes the EEPROM. When the device is
writing the EEPROM, the RDY/BSY
stays low until the EEPROM write operation is
completed. The state of the RDY/BSY
monitored by a read command. Figure 6-2 shows the
details of the this write command protocol and
00XFast ModeThis command is used to change the DAC register. EEPROM is not affected
00X““
010Write DAC RegisterLoad configuration bits and data code to the DAC Register
011Write DAC Register
and
EEPROM
100ReservedReserved for future use
101ReservedReserved for future use
110ReservedReserved for future use
111ReservedReserved for future use
Note 1:X = Dont’ Care. Fast Mode does not use C0 bit.
2: The MCP4725 ignores the “Reserved” commands.
Function
(a) Load configuration bits and data code to the DAC Register
Note 1: Bytes 2 - 6 are repeated in repeat bytes after byte 6.
2: X is don’t care bit.
Read Command
DAC register Data (12 bits)
in DAC Register
Current Settings
See Note 2
EEPROM Write Status Indicate Bit
(1: Completed, 0: Incomplete)
BSY
EEPROM Data
POR
ACK (Master)
ACK (Master)
6.2READ COMMAND
If the R/W bit is set to a logic “high”, then the device
outputs on SDA pin, the DAC register and EEPROM
data. Figure 6-3 shows an example of reading the
register and EEPROM data. The 2nd byte in Figure 6-3
indicates the current condition of the device operation.
The RDY/BSY
The RDY/BSY bit stays low during EEPROM writng
and high when the writing is completed..
Note: A2 and A1: Programmed (hard-wired) at the factory.
Please Contact Microchip T echnology Inc. for A2 and
A1 programming options.
A0: Use the logic level state of A0 pin.
Device CodeAddress Bits
7.0I2C SERIAL INTERFACE
COMMUNICATION
7.1OVERVIEW
The MCP4725 device uses a two-wire I2C serial
interface that can operate on a standard, fast or high
speed mode. 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 MCP4725 device works as slave. Both
master and slave can operate as transmitter or
receiver , but the master device determine s which mode
is activated. An example of hardware connection
diagram is shown in Figure 8-1. Communication is
initiated by the master (microcontroller) which sends
the STAR T 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
is 1100.
When the device receives a read command (R/W = 1),
it transmits the contents of the DAC input register and
EEPROM. A non-acknowledge (NAK) or repeated start
bit can be transmitted at any time. See Figure 6-3 for
the read operation example. If writing to the device (R/
W = 0), the device will expect write command type bits
in the following byte. See Figure 6-1 and Figure 6-2 for
the write operation examples.
The MCP4725 supports all three I
• 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
Refer to the Phillips I
the I2C specifications.
bit. The device code for the MCP4725 device
2
C operating modes:
3.4 Mbit/s
2
C document for more details of
7.2Device Addressing
The address byte is the first byte received following the
ST ART condition from the master device. The first part
of the address byte consists of a 4-bit device code
which is set to 1100 for the MCP4725. The device code
is followed by three address bits (A2, A1, A0) which are
programmed as follows:
• The choice of A2 and A1 bits are provided by the
customer as part of the ordering process. These
bits are then programmed (hard-wired) during
manufacturing
• The A2 and A1 are programmed to ‘00’ (default),
if not requested by customer
• A0 bit is determined by the logic state of A0 pin.
The A0 pin can be tied to V
actively driven by digital logic levels. The advantage of using the A0 pin is that the users can control the A0 bit on their application PCB circuit and
also two identical MCP4725 devices can be used
on the same bus line.
When the device receives an address byte, it compares
the logic state of the A0 pin with the A0 address bit
received before responding with the acknowledge bit.
The logic state of the A0 pin needs to be set prior to the
interface communication.
The MCP4725 device acknowledges the general call
address (0x00 in the first byte). The meaning of the
general call address is always specified in the second
byte (see Figure 7-2). The I
allow to use “00000000” (00h) in the second byte.
Please refer to the Phillips I
details of the General Call specifications. The
MCP4725 supports the following general calls:
7.3.1GENERAL CALL RESET
The general reset occurs if the second byte is
“00000110” (06h). At the acknowledgement of this
byte, the device will abort current conversion and
perform an internal reset similar to a power-on-reset
(POR). Immediately after this reset event, the device
uploads the contents of the EEPROM into the DAC
register.
7.3.2GENERAL CALL WAKE-UP
If the second byte is “00001001” (09h), the device will
reset the power-down bits. After receiving this command, the power-down bits of the DAC register are set
to a normal operation (PD1, PD2 = 0,0). The
power-down bit settings in EEPROM are not affected.
2
C specification does not
2
C document for more
7.5I2C BUS CHARACTERISTICS
The I2C specification defines the following bus
protocol:
• Data transfer may be initiated only when the bus
is not busy.
• During data transfer, the data line must remain
stable whenever the clock line is HIGH. Changes
in the data line while the clock line is HIGH will be
interpreted as a START or STOP condition.
Accordingly, the following bus conditions have been
defined using Figure 7-3.
7.5.1BUS NOT BUSY (A)
Both data and clock lines remain HIGH.
7.5.2START DATA TRANSFER (B)
A HIGH to LOW transition of the SDA line while the
clock (SCL) is HIGH determines a START condition.
All commands must be preceded by a START
condition.
7.5.3STOP DATA TRANSFER (C)
A LOW to HIGH transition of the SDA line while the
clock (SCL) is HIGH determines a STOP condition. All
operations must be ended with a STOP condition.
FIGURE 7-2:General Call Address
Format.
7.4High-Speed (HS) Mode
The I2C 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 sending a special
address byte of 00001XXX following the START bit.
The XXX bits are unique to the h igh-speed (HS) mode
Master. This byte is referred to as the high-speed (HS)
Master Mode Code (HSMMC). The MCP4725 device
does not acknowledge this byte. However, upon
receiving this command, the device switches to HS
mode and can 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.
For more information on the HS mode, or other I
modes, please refer to the Phillips I
2
C specification.
2
7.5.4DATA VALID (D)
The state of the data line represents valid data when,
after a START condition, the data line is stable for the
duration of the HIGH period of the clock signal.
The data on the line must be changed during the LOW
period of the clock signal. There is one clock pulse per
bit of data.
Each data transfer is initiated with a START condition
and terminated with a STOP condition.
Each receiving device, when addressed, is obliged to
generate an acknowledge after the reception of each
byte. The master device must generate an extra clock
pulse which is associated with this acknowledge bit.
The device that acknowledges, has to pull down the
SDA line during the acknowledge clock pulse in such a
way that the SDA line is stable LOW during the HIGH
period of the acknowledge related clock pulse. Of
course, setup and hold times must be taken into
account. During reads, a master must send an end of
data to the slave by not generating an acknowledge bit
on the last byte that has been clocked out of the slave.
In this case, the slave (MCP4725) will leave the data
line HIGH to enable the master to generate the STOP
condition.
FIGURE 7-3:Data Transfer Sequence On The Serial Bus.
The MCP4725 device is one of Microchip’s latest DAC
device family with non-volatile EEPROM memory. The
device is a general purpose resistive string DAC
intended to be used in applications where a preci sion,
and low power DAC with moderate bandwidth is
required.
Since the device includes non-volatile EEPROM
memory, the user can use this device for applications
that require the output to return to the previous set-up
value on subsequent power-ups.
Applications generally suited for the MCP4725 device
family include:
• Set Point or Offset Trimming
• Sensor Calibration
• Portable Instrumentation (Battery Powered)
• Motor Speed Control
8.1Connecting to I2C BUS using
Pull-Up Resistors
The SCL and SDA pins of the MCP4725 are open-drain
configurations. These pins require a pull-up resistor as
shown in Figure 8-1. The value of these pull-up
resistors depends on the operating speed (standard,
fast, and high speed) and loading capacitance of the
2
C bus line. Higher value of pull-up resistor consumes
I
less power, but increases the signal transition time
(higher RC time constant) on the bus. 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 bus line or high number of
devices connected to the bus, 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.
Two devices with the same A2 and A1 address bits can
be connected to the same I2C bus by utilizing the A0
address pin (Example: A0 pin of device A is tied to VDD,
and the other device’s pin is tie d to V
SS.)
8.1.1DEVICE CONNECTION TEST
The user can test the presence of the MCP4725 on the
2
I
C bus line without performing the data conversion.
This test can be achieved by checking an acknowledge
response from the MCP4725 after sending a read or
write command. Here is an example using Figure 8-2:
(a) Set the R/W
(b) If the MCP4725 is connected to the I
bit “HIGH” in the address byte.
2
C bus line, it
will then acknowledge by pulling SDA bus LOW
during the ACK clock and then release the bus
back to the I
(c) A STOP or repeated START bit can then be issued
The user can store the DAC input code (12 bits) and
power-down configuration bits (2 bits) in the internal
non-volatile EEPROM memory using the I
command. The user can also read the EEPROM data
using the I
powered after power is shut down, the device uploads
the EEPROM contents to the DAC register automatically and provides the DAC output immediately. This
feature is very useful in applications where the DAC
device is used to provide set point or calibration data for
other devices in the application system. The DAC will
not lose the important system operational parameters
due to the system power failure incidents. See
Section 5.6 “Non-Volatile EEPROM Memory” for
more details of the non-volatile EEPROM memory.
2
C read command. When the device is first
2
C write
8.3Power Supply Considerations
The power supply to the device is used for both V
and DAC reference voltage. Any noise induced on the
line can affect on the DAC performance. Typical
V
DD
application 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-1 shows an
example of using two bypass capacitors (a 10 µF
tantalum capacitor and a 0.1 µF ceramic capacitor) in
parallel on the V
placed as close to the VDD pin as possible (within
4mm).
The power source should be as clean as possible. If the
application circuit has separate digital and analog
power supplies, the V
should reside on the analog plane.
line. These capacitors should be
DD
and VSS pins of the MCP4725
DD
DD
8.4Layout Considerations
Inductively-coupled AC transients and digital switching
noise from other devices can affect on DAC
performance and DAC output signal integrity. Careful
board layout will minimize these effects. Bench testing
has shown that a multi-layer board utilizing a low-inductance ground plane, isolated inputs, isolated outputs
and proper decoupling are critical to achieving the
performance that the MCP4725 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 V
the ground pins of the VDD capacitors of the MCP4725
should be terminated to the analog ground plane.
pin and
SS
8.5Application Examples
The MCP4725 is a rail-to-rail output DAC designed to
operate with a VDD range of 2.7V to 5.5V. Its output
amplifier is robust enough to drive common, small-signal loads directly, thus eliminating the cost and size of
an external buffer for most applications.
8.5.1DC SET POINT OR CALIBRATION
A common application for the MCP4725 is a
digitally-controlled set point or a calibration of variable
parameters such as sensor offset or bias point.
Example 8-1 shows an example of the set point setting.
Since the MCP4725 is a 12-bit DAC and uses the V
supply as a reference source, it provides a VDD/4096 of
resolution per step.
Calibrating the threshold of a diode, transistor or
resistor may require a very small step size in the DAC
output voltage. These applications may require about
200 µV of step resolution within 0.8V of range.
One method of achieving this small step resolution is
using a voltage divider at the DAC output. An example
is shown in Example 8-1. The step size of the DAC out-
put is scaled down by the factor of the ratio of the voltage divider. Note that the 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.
Some sensor applications require very high resolution
around the set point or threshold voltage.
Example 8-2 shows an example of creating a “window”
around the threshold using a voltage divider network
with a pull-up and pull-down resistor. In the circuit, the
output voltage range is scaled down, but its step resolution is increased greatly.
Bipolar operation is achievable using the MCP4725 by
using an external operational amplifier (op amp). This
allows a general purpose DAC, with its cost and
availability advantages, to meet almost any desired
output voltage range, power and noise performance.
Example 8-3 illustrates a simple bipolar voltage source
configuration. R
and R2 allow the gain to be selected,
1
while R3 and R4 shift the DAC's output to a selected
offset. Note that R4 can be tied to V
DD
(= V
REF
) instead
of VSS, if a higher offset is desired. Note that a pull-up
to VDD could be used, instead of R4, if a higher offset is
desired.
EXAMPLE 8-3:Digitally-Controlled Bipolar Voltage Source.
The MCP4725 SOT-23-6 Evaluation Board is available
from Microchip Technology Inc. This board works with
Microchip’s PICkit™ Serial Analyzer. The user can
program the DAC input codes and EEPROM data, or
read the programmed data using the easy to use PICkit
Serial Analyzer with the Graphic User Interface software. Refer to www.microchip.com for further information on this product’s capabilities and availability.
FIGURE 9-2: Setup for the MCP4725
SOT-23-6 Evaluation Board with PICkit™ Serial
Analyzer.
FIGURE 9-1: MCP4725 SOT-23-6
Evaluation Board.
FIGURE 9-3:Example of PICkit™ Serial User Interface.
YYear code (last digit of calendar year)
YYYear code (last 2 digits of calendar year)
WWWeek code (week of January 1 is week ‘01’)
NNNAlphanumeric traceability code
Pb-free JEDEC designator for Matte Tin (Sn)
*This package is Pb-free. The Pb-free JEDEC designator ()
can be found on the outer packaging for this package.
Note: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.
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, Accuron,
dsPIC, K
EELOQ, KEELOQ logo, microID, MPLAB, PIC,
PICmicro, PICSTART, PRO MATE, rfPIC and SmartShunt are
registered trademarks of Microchip Technology Incorporated
in the U.S.A. and other countries.
AmpLab, FilterLab, Linear Active Thermistor, Migratable
Memory, MXDEV, MXLAB, SEEVAL, SmartSensor 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, FlexROM, fuzzyLAB,
In-Circuit Serial Programming, ICSP, ICEPIC, Mindi, MiWi,
MPASM, MPLAB Certified logo, MPLIB, MPLINK, PICkit,
PICDEM, PICDEM.net, PICLAB, PICtail, PowerCal,
PowerInfo, PowerMate, PowerTool, REAL ICE, rfLAB, Select
Mode, Smart Serial, SmartTel, Total Endurance, UNI/O,
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.
Microchip received ISO/TS-16949:2002 certification for its worldwide
headquarters, design and wafer fabrication facilities in Chandler and
T empe, Arizona; Gresham, Oregon and design centers in California
and India. The Company’s quality system processes and procedures
are for its PIC
devices, Serial EEPROMs, microperipherals, nonvolatile memory and
analog products. In addition, Microchip’s quality system for the desig n
and manufacture of development systems is ISO 9001:2000 certified.