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.
Выводы
| Вывод | Назначение |
|---|---|
| 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-го такта, запись отбрасывается.
| Бит | Имя | Значение |
|---|---|---|
| 15 | A/B | 0 — канал A, 1 — канал B (у MCP4921 всегда 0) |
| 14 | BUF | 1 — VREF через входной буфер, 0 — без буфера (по умолчанию) |
| 13 | GA | 1 — усиление 1× (VOUT = VREF · D / 4096), 0 — усиление 2× |
| 12 | SHDN | 1 — выход работает, 0 — выход отключён, высокое сопротивление |
| 11–0 | D11…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 LSB | VREF = 2,048 В |
| DNL | ±0,2 LSB (5 В), ±0,3 LSB (3 В) | ±0,75 LSB | монотонность гарантирована |
| Смещение | ±0,02 % FSR | 1 % 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 / MCP4922 | MCP4725 | ШИМ с RC-фильтром | |
|---|---|---|---|
| Интерфейс | SPI до 20 МГц | I²C до 400 кбит/с, 3,4 Мбит/с в режиме High-Speed | таймер микроконтроллера |
| Опорное | внешнее, вход VREF | питание VDD | питание микроконтроллера |
| Каналы | 1 или 2 | 1 | по числу выходов таймера |
| Нелинейность 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 тактов. Оставлять вывод в воздухе нельзя: выход не обновится.
Источники
- 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
- 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 мс макс.; для таблицы сравнения
Нашли ошибку? ·
Смотрите также
- Микросхемы АЦПВнешние АЦП: разрядность, скорость, опорное, интерфейс, карточки
- MCP4725 и DAC757112-битные ЦАП I²C в SOT-23-6: адреса, запись, EEPROM, точность, отключение
- ЦАПКод в напряжение: формула, опорное, разрядность, INL и DNL, примеры
- INL и DNLНелинейность АЦП: неравные ступени и изгиб характеристики, пропущенные коды
- SPISCLK, MOSI, MISO, CS, режимы 0–3, daisy chain, частота, SPI в AVR
- Режимы SPI (CPOL, CPHA)Режимы 0–3: полярность и фаза такта SPI
- ЦАП на ШИМПульсации после RC, установление, разрешение
- ЦАП R-2RВыход по коду, нагрузка, DNL и INL, допуск для монотонности