Перейти к содержанию

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 одинаковая:

ВыводMCP4725DAC7571
1VOUT — выходVOUT — выход
2VSS — общийGND — общий
3VDD — питание и опорноеVDD — питание и опорное
4SDASDA
5SCLSCL
6A0 — младший бит адресаA0 — младший бит адреса

Линии SDA и SCL, как всегда у I²C, подтягивают к питанию резисторами, а вывод A0 подключают к питанию или общему проводу либо управляют им логикой.

Сравнение

ПараметрMCP4725DAC7571
Питание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²C100 кГц, 400 кГц и 3,4 МГцдо 3,4 Мбит/с
Адрес (7 бит)1100 A2 A1 A0: 0x60–0x67100110 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 кОм.

Источники

  1. 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 в информации для заказа
  2. 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

Нашли ошибку?