MCP4725 и DAC7571 — 12-битные ЦАП с интерфейсом I²C
MCP4725 и DAC7571 — одноканальные 12-битные ЦАП в шестивыводном корпусе SOT-23 с интерфейсом I²C и выходным буфером, который доходит до шин питания. Цоколёвка и формат быстрой записи у них совпадают, а главное различие — EEPROM у MCP4725, из которой он восстанавливает выход после включения. Разбираем по даташитам Microchip и TI.
Обновлено Редакция GAW
MCP4725 (Microchip) и DAC7571 (Texas Instruments) — цифро-аналоговые преобразователи: микроконтроллер передаёт по шине I²C 12-битный код, и микросхема выдаёт пропорциональное напряжение. Внутри — резистивная цепочка, буферный усилитель с выходом до шин питания и логика интерфейса. Опорное напряжение у обеих — питание VDD, отдельного вывода опорного нет. Обратная задача — измерение напряжения — решается внешними АЦП, например ADS1115 и MCP3008.
Выводы
Цоколёвка у обеих микросхем в корпусе SOT-23-6 одинаковая:
| Вывод | MCP4725 | DAC7571 |
|---|---|---|
| 1 | VOUT — выход | VOUT — выход |
| 2 | VSS — общий | GND — общий |
| 3 | VDD — питание и опорное | VDD — питание и опорное |
| 4 | SDA | SDA |
| 5 | SCL | SCL |
| 6 | A0 — младший бит адреса | A0 — младший бит адреса |
Линии SDA и SCL, как всегда у I²C, подтягивают к питанию резисторами, а вывод A0 подключают к питанию или общему проводу либо управляют им логикой.
Сравнение
| Параметр | MCP4725 | DAC7571 |
|---|---|---|
| Питание | 2,7–5,5 В, предельно 6,5 В | 2,7–5,5 В, предельно 6 В |
| Ток потребления | 210 мкА типично, до 400 мкА | 135 мкА типично, до 200 мкА при 3,6–5,5 В |
| Ток в отключении | 0,06 мкА типично, до 2 мкА | 0,2 мкА типично при 3,6–5,5 В, до 1 мкА |
| Интегральная нелинейность | ±2 LSB типично, до ±14,5 LSB | ±0,195 % от полной шкалы |
| Дифференциальная нелинейность | ±0,2 LSB типично, до ±0,75 LSB | ±1 LSB, монотонность по построению |
| Ошибка нуля | 0,02 % от шкалы типично, до 0,75 % | 5 мВ типично, до 20 мВ |
| Ошибка усиления | −0,1 % типично, до ±2 % | ±1,25 % |
| Установление (¼ → ¾ шкалы) | 6 мкс типично | 8 мкс типично, до 10 мкс |
| Ток короткого замыкания выхода | 15 мА типично при 5 В | 50 мА при 5 В |
| Скорость I²C | 100 кГц, 400 кГц и 3,4 МГц | до 3,4 Мбит/с |
| Адрес (7 бит) | 1100 A2 A1 A0: 0x60–0x67 | 100110 A0: 0x4C и 0x4D |
| Режимы отключения | выход на общий через 1 кОм, 100 кОм или 500 кОм | через 1 кОм, 100 кОм или высокое сопротивление |
| Выход после включения | значение из EEPROM | ноль |
| Температура | −40…125 °C | −40…105 °C |
Ошибки нуля и усиления по даташитам — проценты от полной шкалы, то есть от VDD. При 5 В 2 % — это до 100 мВ, поэтому точные уставки калибруют по измерению.
Выходное напряжение
VOUT = VDD · D / 4096, где D — код от 0 до 4095. Шаг кода при 5 В — 1,22 мВ, при 3 В — 0,73 мВ. Например, чтобы получить 1 В при питании 5 В, нужен код 1 · 4096 / 5 ≈ 819 (0x333): выход — 0,9998 В.
Поскольку опорное — питание, выход пропорционален VDD. Это удобно, когда ЦАП задаёт уровень для схемы с тем же питанием, — такое логометрическое включение не боится колебаний питания. Но если нужно точное абсолютное напряжение, MCP4725 или DAC7571 питают от стабильного источника опорного напряжения или стабилизатора с малой погрешностью.
Запись по I²C
После байта адреса с битом записи быстрый формат у обеих микросхем — два байта:
| Байт | Биты |
|---|---|
| второй | 0 0 PD1 PD0 D11 D10 D9 D8 |
| третий | D7 D6 D5 D4 D3 D2 D1 D0 |
Биты PD1 и PD0 в нуле — обычный режим, другие сочетания — отключение. Например, MCP4725 с адресом 0x60 и код 0x333: байт адреса 0xC0, затем 0x03 и 0x33. MCP4725 обновляет выход по спаду подтверждения третьего байта, и пары байтов данных можно повторять без нового адреса.
У MCP4725 есть ещё команды с тремя битами C2 C1 C0 во втором байте: 010 — запись регистра ЦАП, 011 — запись регистра и EEPROM. Код тогда передаётся в третьем и четвёртом байтах, старшими битами вперёд. Пока EEPROM пишется, бит RDY/BSY при чтении равен нулю, и новые команды записи игнорируются.
EEPROM и включение
При включении срабатывает сброс при включении питания. EEPROM MCP4725 хранит 14 бит — код ЦАП и биты отключения. При включении микросхема загружает их в регистр, и на выходе сразу появляется сохранённое напряжение. Ограничения по даташиту Microchip:
- запись — 25 мс типично, до 50 мс;
- ресурс — не меньше миллиона циклов, хранение — 200 лет при 25 °C;
- питание должно нарастать не медленнее 1 В/мс, иначе значение может не загрузиться; Microchip советует после включения отправлять общий вызов сброса I²C (General Call Reset).
DAC7571 при включении всегда выставляет ноль и держит его до первой записи — это безопаснее, если нулевое напряжение на выходе — заведомо безопасное состояние нагрузки. Другие преобразователи — в разделе «Микросхемы АЦП».
Частые вопросы
Какой адрес I²C у MCP4725?
Семибитный адрес — 1100 A2 A1 A0. Биты A2 и A1 задаются при производстве по коду заказа (A0–A3, по умолчанию 00), бит A0 — уровнем на выводе A0. Для обычного исполнения с A2 A1 = 00 адрес — 0x60 при A0 на общем проводе и 0x61 при A0 на питании. На одной шине можно поставить две одинаковые микросхемы, а с разными кодами заказа — до восьми.
Какое напряжение даёт MCP4725 на выходе?
VOUT = VDD · D / 4096, где D — код от 0 до 4095. Опорным служит само питание, поэтому при 5 В шаг — 1,22 мВ, при 3 В — 0,73 мВ, а наибольшее напряжение — на один шаг меньше питания. Ошибка питания целиком переходит в ошибку выхода: если питание 4,9 В вместо 5 В, выход тоже будет на 2 % ниже.
Зачем MCP4725 нужна EEPROM?
Чтобы после включения питания сразу выдать сохранённое напряжение, не дожидаясь команды микроконтроллера. Это полезно для уставок и подстройки. Писать EEPROM при каждом изменении нельзя: запись длится 25–50 мс, а ресурс — миллион циклов. Обычные обновления делают быстрой командой, которая EEPROM не трогает.
Чем DAC7571 отличается от MCP4725?
У DAC7571 нет EEPROM: при включении выход всегда ноль, и TI подчёркивает это как свойство. Адрес другой — 0x4C или 0x4D по выводу A0, — интерфейс работает только на приём. Цоколёвка SOT-23-6 и формат двухбайтной записи совпадают с MCP4725, но ЦАП нельзя заменить без смены адреса в программе, а режимы отключения различаются: у DAC7571 третий режим — высокое сопротивление вместо 500 кОм.
Источники
- Microchip. MCP4725: 12-Bit Digital-to-Analog Converter with EEPROM Memory in SOT-23-6 (DS22039D, 2009) — разд. 1 — питание 2,7–5,5 В (предельно 6,5 В), ток 210 мкА типично, в отключении 0,06 мкА, INL ±2 LSB типично и ±14,5 LSB наибольшая, DNL ±0,2 и ±0,75 LSB, смещение 0,02–0,75 % FSR, ошибка усиления до ±2 % FSR, установление 6 мкс, скорость 0,55 В/мкс, ток КЗ 15–24 мА, ёмкостная нагрузка до 1000 пФ, запись EEPROM 25–50 мс, 1 млн циклов, хранение 200 лет; табл. 3-1 — выводы; разд. 5.4 — VOUT = VDD · Dn / 4096, скорость нарастания питания от 1 В/мс; табл. 5-2 — режимы отключения; разд. 6 и 7.2 — команды записи и адрес 1100 A2 A1 A0; варианты адреса A0–A3 в информации для заказа
- Texas Instruments. DAC7571: +2.7 V to +5.5 V, I2C Interface (Receive Only), Voltage Output, 12-Bit Digital-to-Analog Converter (SLAS374D, revised January 2014) — с. 1 — сброс выхода в ноль при включении, адрес для двух микросхем на шине, интерфейс только на приём; выводы SOT-23-6; электрические характеристики — относительная точность ±0,195 % FSR, DNL ±1 LSB, ошибка нуля 5–20 мВ, ошибка усиления ±1,25 % FSR, установление 8–10 мкс, скорость 1 В/мкс, ток КЗ 50 мА при 5 В, ток 135 мкА типично; адрес 100110 A0; формат 0 0 PD1 PD0 D11–D8; табл. 2 — режимы 1 кОм, 100 кОм и высокое сопротивление; температура −40…105 °C
Нашли ошибку?
Смотрите также
- Микросхемы АЦПВнешние АЦП: разрядность, скорость, опорное, интерфейс, карточки
- ADS1115 и MCP300816 бит I²C с усилителем против 10 бит SPI на 8 каналов: выводы, диапазоны, точность
- I²CSDA и SCL, START/STOP, ACK, адреса, скорости, расчёт подтяжек
- Младший разряд (LSB)Шаг квантования АЦП VREF / 2^N и ошибка ±½ LSB
- INL и DNLНелинейность АЦП: неравные ступени и изгиб характеристики, пропущенные коды
- Логометрическое измерениеДатчик и опорное АЦП от одного питания: колебания питания сокращаются