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

MCP4921 и MCP4922 — 12-битные ЦАП с интерфейсом SPI и внешним опорным

MCP4921 и MCP4922 — 12-битные ЦАП Microchip с SPI до 20 МГц, внешним опорным напряжением и выходным буфером до шин питания. Одноканальный MCP4921 стоит в DIP-8, двухканальный MCP4922 — в DIP-14 с выводом LDAC для одновременного обновления обоих выходов. Разбираем по даташиту DS21897B: выводы, формат слова, точность и чем они отличаются от MCP4725 и ШИМ-ЦАП.

Обновлено Редакция GAW

MCP4921 и MCP4922 — цифро-аналоговые преобразователи Microchip на резистивной цепочке с 12-битным разрешением, интерфейсом SPI и внешним входом опорного напряжения. От MCP4725 с I²C они отличаются именно отдельным VREF: точность выхода определяет опорный источник, а не питание. Скорость тоже другая: установление 4,5 мкс и SPI до 20 МГц позволяют обновлять выход чаще 100 тысяч раз в секунду (наш расчёт: 16 тактов по 50 нс плюс установление). MCP4921 — один канал в DIP-8, SOIC-8 или MSOP-8, MCP4922 — два канала в DIP-14, SOIC-14 или TSSOP-14.

Коротко

  • Разрешение — 12 бит, 4096 кодов; VOUT = VREF · G · D / 4096, усиление G = 1 или 2.
  • Точность — INL ±12 LSB макс. (±2 тип.), DNL ±0,75 LSB макс. (±0,2 тип.), монотонность гарантирована; смещение и усиление до 1 % шкалы.
  • Скорость — установление 4,5 мкс до ½ LSB, 0,55 В/мкс, SPI до 20 МГц.
  • Питание — 2,7–5,5 В; 175 мкА (MCP4921) или 350 мкА (MCP4922) типично, в отключении 0,3 мкА.
  • Выход — до шин питания с запасом 10 мВ снизу и 40 мВ сверху; нагрузка 5 кОм и 100 пФ в условиях измерения, ток КЗ 15–24 мА.
  • Диапазон — −40…+125 °C.

Выводы

MCP4921, вид сверху: 1 VDD, 2 CS, 3 SCK, 4 SDI, 5 LDAC, 6 VREFA, 7 AVSS, 8 VOUTAMCP49211VDD2/CS3SCK4SDI5/LDAC6VREFA7AVSS8VOUTAвид сверху
MCP4922, вид сверху: 1 VDD, 2 NC, 3 CS, 4 SCK, 5 SDI, 6 NC, 7 NC, 8 LDAC, 9 SHDN, 10 VOUTB, 11 VREFB, 12 AVSS, 13 VREFA, 14 VOUTAMCP49221VDD2NC3/CS4SCK5SDI6NC7NC8/LDAC9/SHDN10VOUTB11VREFB12AVSS13VREFA14VOUTAвид сверху
MCP4921 в корпусе DIP-8 и MCP4922 в DIP-14, вид сверху; та же нумерация у SOIC, MSOP и TSSOP
ВыводНазначение
VDD, AVSSпитание 2,7–5,5 В и аналоговая земля; 0,1 мкФ не дальше 4 мм от VDD
CS (инверсный)выбор микросхемы: низкий уровень на всё время 16-битной посылки; подъём защёлкивает данные
SCK, SDIтактовый и данные SPI, приём по фронту SCK, режимы 0,0 и 1,1; выхода данных нет — микросхема только принимает
LDAC (инверсный)низкий уровень переносит входные регистры в регистры ЦАП; можно соединить с землёй
SHDN (инверсный, только MCP4922)низкий уровень — аппаратное отключение, выход через 500 кОм на AVSS
VREFA, VREFBопорное: 0…VDD без буфера, 0,04…VDD − 0,04 В с буфером
VOUTA, VOUTBвыходы с буфером до шин питания

Входы — триггеры Шмитта с порогами 0,7 VDD и 0,2 VDD: при питании ЦАП 5 В единица должна быть выше 3,5 В, и микроконтроллер на 3,3 В без преобразователя уровней работать не будет. Проще запитать ЦАП от тех же 3,3 В — все характеристики нормированы и при 3 В.

Слово SPI

Каждая запись — ровно 16 бит, старшим вперёд, при низком CS. Лишние такты игнорируются, а если CS поднять раньше 16-го такта, запись отбрасывается.

БитИмяЗначение
15A/B0 — канал A, 1 — канал B (у MCP4921 всегда 0)
14BUF1 — VREF через входной буфер, 0 — без буфера (по умолчанию)
13GA1 — усиление 1× (VOUT = VREF · D / 4096), 0 — усиление 2×
12SHDN1 — выход работает, 0 — выход отключён, высокое сопротивление
11–0D11…D0код 0…4095

Например, слово 0x3000 | D включает канал A с усилением 1× и активным выходом; 0x1000 | D — то же с усилением 2×. Какой режим SPI выставить и как читать диаграммы — на странице о режимах SPI. После включения питания выход в высоком сопротивлении, пока не придёт первая корректная запись и LDAC не окажется в нуле; сброс по питанию срабатывает при VDD ниже 2,0 В.

Точность и опорное

Шаг кода — VREF · G / 4096. Ошибки по даташиту:

ПараметрТипичноМаксимумУсловия
INL±2 LSB (5 В), ±3 LSB (3 В)±12 LSBVREF = 2,048 В
DNL±0,2 LSB (5 В), ±0,3 LSB (3 В)±0,75 LSBмонотонность гарантирована
Смещение±0,02 % FSR1 % FSRкод 0x000
Ошибка усиления−0,10 % FSR (5 В), −0,15 % (3 В)1 % FSRкод 0xFFF, без смещения
Дрейф усиления−3 ppm/°C—
Установление4,5 мкс—до ½ LSB, переход от ¼ до ¾ шкалы

При шаге 1 мВ наибольшая нелинейность ±12 LSB — это ±12 мВ, а смещение и усиление по 1 % шкалы — до ±41 мВ каждое на шкале 4,096 В. Типичные экземпляры в разы точнее, но гарантированы именно максимумы: для калибровки оба процента можно вычесть программно, нелинейность — нет. Опорный источник добавляет свою погрешность: с LM4040 на 2,048 В класса 0,5 % ошибка шкалы — ещё 0,5 %. Небуферный вход VREF имеет сопротивление 165 кОм и ёмкость 7 пФ, так что делитель на резисторах в десятки килоом как опорное уже заметно просядет — его ставят в буферный режим. Опорное может быть и переменным сигналом: в небуферном режиме полоса 450 кГц, и ЦАП работает как цифровой аттенюатор.

Сравнение с MCP4725 и ШИМ

MCP4921 / MCP4922MCP4725ШИМ с RC-фильтром
ИнтерфейсSPI до 20 МГцI²C до 400 кбит/с, 3,4 Мбит/с в режиме High-Speedтаймер микроконтроллера
Опорноевнешнее, вход VREFпитание VDDпитание микроконтроллера
Каналы1 или 21по числу выходов таймера
Нелинейность INL±12 LSB макс.±14,5 LSB макс.—
Установление4,5 мкс6 мксзадаётся RC-фильтром, обычно миллисекунды
Память уставкинет, после включения выход отключёнEEPROM, запись 25–50 мснет
Пульсациинетнетостаток частоты ШИМ после фильтра

Числа MCP4725 — по его даташиту DS22039D (Features и Electrical Characteristics); установление у обоих нормировано одинаково — до ½ LSB при переходе от ¼ до ¾ шкалы, так что 4,5 и 6 мкс сравнимы напрямую. ШИМ-ЦАП бесплатен, но медленный и с пульсациями; его фильтр и остаточные пульсации считает калькулятор ШИМ, а лестница R-2R на обычных выводах — калькулятор R-2R. MCP4921 берут, когда нужны скорость, внешнее опорное и выход без пульсаций: уставки источников питания, калибровка датчиков, генераторы сигналов до единиц килогерц, управление усилением.

Частые ошибки

  • LDAC оставлен в воздухе. Выход не обновляется; вывод соединяют с землёй или управляют им.
  • Порог единицы. При питании ЦАП 5 В логика 3,3 В не дотягивает до 0,7 · VDD = 3,5 В.
  • Усиление 2× при низком питании. При VREF = 2,5 В и питании 3,3 В выход упирается в VDD − 0,04 В на кодах выше ≈ 2670 (наш расчёт).
  • Опорное выше запаса буфера. В буферном режиме VREF должно быть не выше VDD − 0,04 В; VREF = VDD подают только без буфера.
  • Нет развязки. Без 0,1 мкФ у вывода VDD провалы питания короче микросекунд ниже 2 В сбрасывают микросхему — на рис. 4-3 даташита приведён порог длительности.
  • Нагрузка. Ток выхода в условиях измерения — 1 мА (5 кОм); ток короткого замыкания 15–24 мА, но при нём точность не нормируется.

Другие преобразователи — в разделе «АЦП и ЦАП».

Частые вопросы

Какое напряжение даёт MCP4921 на выходе?

VOUT = VREF · G · D / 4096, где D — код 0…4095, G — 1 или 2 (бит GA в слове). При VREF = 2,048 В и усилении 2× шаг — ровно 1 мВ, полная шкала 4,095 В; при VREF = 4,096 В и усилении 1× то же самое. Выход доходит до шин питания с запасом 10 мВ снизу и 40 мВ сверху, поэтому 2× с VREF = 2,5 В при питании 3,3 В даст не 5 В, а упрётся примерно в 3,26 В.

Можно ли подать на VREF само питание?

Да, в небуферном режиме (BUF = 0) допускается 0…VDD, и опорным становится питание — как у MCP4725. Но тогда весь шум и просадки питания переходят в выход, а входное сопротивление VREF в этом режиме всего 165 кОм. Для точных уставок берут внешний опорный источник вроде LM4040 на 2,048 или 4,096 В — его выход ставят в буферный режим (BUF = 1), где допустимо 0,04…VDD − 0,04 В.

Чем MCP4922 отличается от MCP4921?

Двумя каналами A и B с раздельными входами опорного VREFA и VREFB и выводом аппаратного отключения SHDN, которого у MCP4921 нет. Ток потребления вдвое больше: 350 мкА типично против 175 мкА при 5 В. Корпус 14 выводов вместо 8, формат слова тот же — канал выбирает старший бит A/B. Оба выхода обновляются одновременно по низкому уровню LDAC.

Зачем нужен LDAC и можно ли его не подключать?

LDAC переносит данные из входного регистра в регистр ЦАП: пока он в единице, записанное слово не меняет выход. Это позволяет у MCP4922 загрузить оба канала и переключить их одним импульсом. Если синхронность не нужна, LDAC соединяют с общим проводом — тогда выход обновляется по подъёму CS после 16 тактов. Оставлять вывод в воздухе нельзя: выход не обновится.

Источники

  1. Microchip. MCP4921/4922: 12-Bit DAC with SPI Interface (DS21897B, 2007) — с. 1 — Package Types: выводы 8-Pin PDIP/SOIC/MSOP и 14-Pin PDIP/SOIC/TSSOP; разд. 1.0 — предельные VDD 6,5 В, входы и выходы от AVSS − 0,3 до VDD + 0,3 В, ток выхода ±25 мА; 5V и 3V AC/DC Characteristics — VDD 2,7–5,5 В, IDD 175/350 мкА тип. и 350/700 мкА макс. при 5 В, отключение 0,3–2 мкА, INL ±12 LSB макс. (±2 тип.), DNL ±0,75 LSB макс. (±0,2 тип.), смещение до 1 % FSR, усиление до 1 % FSR, VREF в буферном режиме 0,040…VDD − 0,040 В, небуферный 0…VDD, входное сопротивление 165 кОм, полоса 450 кГц, размах выхода 0,010…VDD − 0,040 В, скорость 0,55 В/мкс, ток КЗ 15–24 мА, установление 4,5 мкс; AC Characteristics — SCK до 20 МГц, VIH 0,7 VDD, VIL 0,2 VDD, LDAC не короче 100 нс; Temperature Characteristics — −40…+125 °C, θJA 85 (PDIP-8), 163 (SOIC-8), 70 (PDIP-14), 120 (SOIC-14), 100 (TSSOP-14) °C/Вт; табл. 3-1 — функции выводов; ур. 4-1 — VOUT = VREF · G · D / 2^n; разд. 4.1.1–4.1.4 — усиление, буфер, POR 2,0 В, отключение (выход через 500 кОм на AVSS, выход из него < 10 мкс); разд. 5 — SPI в режимах 0,0 и 1,1, только запись, 16 тактов, лишние игнорируются; Register 5-1 — A/B, BUF, GA, SHDN, D11–D0; разд. 6.2 — 0,1 мкФ не дальше 4 мм от VDD
  2. Microchip. MCP4725: 12-Bit Digital-to-Analog Converter with EEPROM Memory in SOT-23-6 (DS22039D, 2009) — с. 1 — Features: EEPROM, установление 6 мкс, опорное — питание VDD, I²C в режимах Standard 100 кбит/с, Fast 400 кбит/с и High-Speed 3,4 Мбит/с, SOT-23-6; разд. 1.0 Electrical Characteristics — VDD 2,7–5,5 В, IDD 210 мкА тип., INL ±14,5 LSB макс. (±2 тип.), DNL ±0,75 LSB макс., установление 6 мкс до ½ LSB при переходе от ¼ до ¾ шкалы (прим. 3), запись EEPROM 25 мс тип. и 50 мс макс.; для таблицы сравнения
Страница помогла?

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