Принцип работы сигма-дельта АЦП (модулятор AD7401A)

Содержание

  1. Входной каскад на переключаемых конденсаторах
  2. Физика такта: двухфазный цикл и динамика заряда
  3. Импульсно-кодовая плотность (PDM) и демодуляция
  4. Пошаговый расчёт и таблица переходов

Микросхема AD7401A представляет собой изолированный сигма-дельта ($\Sigma$-$\Delta$) модулятор 2-го порядка, преобразующий аналоговое дифференциальное напряжение с токоизмерительного шунта в высокочастотный однобитный цифровой поток данных (PDM) с тактовой частотой 10 МГц.

1. Входной каскад на переключаемых конденсаторах (Switched Capacitor)

Входной каскад AD7401A не использует резистивный делитель. Оцифровка дифференциального напряжения $V_{IN} = V_{IN+} - V_{IN-}$ построена на дискретном переносе порций заряда ключами и конденсаторами.

Емкостные элементы тракта

  • $C_S$ (конденсатор выборки входа): малая ёмкость (2–4 пФ), периодически подключаемая ключами то к измерительному шунту, то ко входу интегратора.
  • $C_{REF}$ (конденсатор выборки опорного напряжения ЦАП): калиброванная ёмкость (2–4 пФ), формирующая эталонный квант заряда $\pm Q_{REF}$.
  • $C_{INT}$ (интегрирующий конденсатор): ёмкость в цепи отрицательной обратной связи интегратора, существенно превосходящая по объёму ёмкости выборки ($C_{INT} \gg C_S,; C_{REF}$).
  • $R_{ON}$: активное сопротивление открытых КМОП-ключей коммутатора (~50 Ом).

2. Физика такта: двухфазный цикл и динамика заряда

Тактовая частота MCLK = 10 МГц (период $T = 100~\text{нс}$) делится внутренним генератором на два равных неперекрывающихся полупериода длительностью по 50 нс:

Полупериод Φ1 (0…50 нс) — заряд C_S на 100%

  • Ключи подключают $C_S$ напрямую к выводам шунта. Интегратор изолирован.
  • Постоянная времени цепи заряда:

$$\tau = R_{ON} \cdot C_S \approx 50~\text{Ом} \times 3~\text{пФ} = 150~\text{пс}$$

  • За полупериод 50 нс проходит более 300 τ ($50~\text{нс} / 150~\text{пс} \approx 333$). Конденсатор $C_S$ гарантированно успевает зарядиться до мгновенного напряжения шунта на 100% (с точностью до долей микровольта):

$$Q_{IN}[n] = C_S \cdot V_{IN}[n]$$

  • Это исключает влияние нелинейности сопротивления ключей, температуры и высокочастотных флуктуаций при коммутации.

Полупериод Φ2 (50…100 нс) — интегрирование и инжекция опоры

  • Ключи отключают $C_S$ от шунта и сбрасывают заряд $Q_{IN}$ в узел суммирования интегратора.
  • Одновременно и безусловно 1-битный ЦАП заряжает свой конденсатор $C_{REF}$ на 100% до эталонного напряжения $\pm V_{REF}$ и впрыскивает калиброванный опорный заряд:

$$Q_{REF} = C_{REF} \cdot (\pm V_{REF})$$

Знак определяется решением компаратора на предыдущем такте (отрицательный $-Q_{REF}$, если потенциал интегратора был $\ge 0$; положительный $+Q_{REF}$, если потенциал был $< 0$).

Важнейший физический факт: интегрирующий конденсатор $C_{INT}$ никогда не заряжается до уровня $V_{REF}$! Так как $C_{INT} \gg C_{REF}$ (обычно в 5–10 раз), суммарный заряд изменяет потенциал интегратора лишь на малое дискретное приращение ($\Delta V$):

$$\Delta V_{INT}[n] = \frac{C_S}{C_{INT}} \cdot V_{IN}[n] \pm \frac{C_{REF}}{C_{INT}} \cdot V_{REF}$$

Шаг напряжения составляет всего десятки милливольт ($\pm 30\ldots50$ мВ). Интегратор непрерывно удерживается контуром в узком диапазоне около нулевого порога.

  • В конце фазы Φ2 компаратор стробирует итоговый знак $V(C_{INT})$ и защёлкивает его в выходной D-триггер:
    • $V(C_{INT}) \ge 0$ → бит MDAT = 1 (на след. такте компенсация $-Q_{REF}$).
    • $V(C_{INT}) < 0$ → бит MDAT = 0 (на след. такте компенсация $+Q_{REF}$).

3. Импульсно-кодовая плотность (PDM) и демодуляция

На линии MDAT передаётся не параллельный двоичный код, а плотность единиц (Pulse-Density Modulation):

$$D = \frac{N_{ones}}{N_{total}} = \frac{V_{IN}}{2 \cdot V_{REF}} + 0.5$$

Напряжение на шунте ($V_{IN}$) Поведение схемы балансировки заряда Плотность единиц (D) Выходной поток MDAT
0 В (ток нулевой) Входной заряд нулевой. Знак компенсации $\pm Q_{REF}$ инвертируется на каждом такте. 50.0 % 1 0 1 0 1 0 1 0...
+200 мВ (макс. ток +) Большой приток заряда. Контур почти на каждом такте инжектирует $-Q_{REF}$. ≈ 81.25 % 1 1 1 0 1 1 1 1...
-200 мВ (макс. ток -) Убыль заряда. Контур почти непрерывно подкачивает заряд $+Q_{REF}$. ≈ 18.75 % 0 0 0 1 0 0 0 0...

Параметры цифрового фильтра Sinc³ в ПЛИС

  • Децимация (R = 128): фильтр вычисляет 16-битный параллельный код тока каждые $128 \times 100~\text{нс} = 12.8~\text{мкс}$ (частота $78.125~\text{кГц}$).
  • Групповая задержка конвейера:

$$\tau_{grp} = \frac{3 \cdot R}{2 \cdot f_{MCLK}} = \frac{3 \cdot 128}{2 \cdot 10~\text{МГц}} = 19.2~\text{мкс}$$

4. Пошаговый расчёт и таблица переходов

Математическая модель одного такта

Пусть на каждом такте $n$: $V_{IN}$ — постоянное входное напряжение (для примера возьмём $V_{IN} > 0$).

  • На шаге $\Phi_1$ конденсатор $C_S$ отбирает заряд:

$$Q_{IN} = C_S \cdot V_{IN}$$

  • На шаге $\Phi_2$ в интегратор вводится опорный заряд $Q_{REF}$, полярность которого зависит от предыдущего бита $b[n-1]$:

    • Если $b[n-1] = 1$ (накопитель был в плюсе) → вводим минус $(-Q_{REF})$.
    • Если $b[n-1] = 0$ (накопитель был в минусе) → вводим плюс $(+Q_{REF})$.
  • Изменение напряжения на интеграторе $C_{INT}$ за такт $n$:

$$\Delta V_{INT}[n] = \frac{Q_{IN} - (2 \cdot b[n-1] - 1) \cdot Q_{REF}}{C_{INT}}$$

  • Новое напряжение на интеграторе:

$$V_{INT}[n] = V_{INT}[n-1] + \Delta V_{INT}[n]$$

  • В конце фазы $\Phi_2$ компаратор стробирует $V_{INT}[n]$ и формирует новый бит $b[n]$:
    • Если $V_{INT}[n] \ge 0$ → $b[n] = 1$.
    • Если $V_{INT}[n] < 0$ → $b[n] = 0$.

Пошаговая таблица (численный пример)

Примем для наглядности нормированные величины:

  • Шаг от входа: $\Delta V_{IN} = +0.4\text{ В}$ (положительный ток).
  • Шаг от опоры: $\Delta V_{REF} = 1.0\text{ В}$.
  • Начальное состояние перед тактом 1: $V_{INT}[0] = +0.1\text{ В}$ (предыдущий бит $b[0] = 1$).
Такт $n$ Бит $b[n-1]$ Действие опоры в фазе $\Phi_2$ Входной заряд $\Delta V_{IN}$ Приращение $\Delta V_{INT}[n]$ Напряжение $V_{INT}[n]$ к концу $\Phi_2$ Решение компаратора ($V \ge 0$?) Бит $b[n]$
0 — — — — $+0.10\text{ В}$ $0.10 \ge 0$ 1
1 1 Впрыск $-1.0\text{ В}$ $+0.4\text{ В}$ $+0.4 - 1.0 = -0.6\text{ В}$ $+0.1 - 0.6 = -0.50\text{ В}$ $-0.50 < 0$ 0
2 0 Впрыск $+1.0\text{ В}$ $+0.4\text{ В}$ $+0.4 + 1.0 = +1.4\text{ В}$ $-0.5 + 1.4 = +0.90\text{ В}$ $+0.90 \ge 0$ 1
3 1 Впрыск $-1.0\text{ В}$ $+0.4\text{ В}$ $+0.4 - 1.0 = -0.6\text{ В}$ $+0.9 - 0.6 = +0.30\text{ В}$ $+0.30 \ge 0$ 1
4 1 Впрыск $-1.0\text{ В}$ $+0.4\text{ В}$ $+0.4 - 1.0 = -0.6\text{ В}$ $+0.3 - 0.6 = -0.30\text{ В}$ $-0.30 < 0$ 0
5 0 Впрыск $+1.0\text{ В}$ $+0.4\text{ В}$ $+0.4 + 1.0 = +1.4\text{ В}$ $-0.3 + 1.4 = +1.10\text{ В}$ $+1.10 \ge 0$ 1
6 1 Впрыск $-1.0\text{ В}$ $+0.4\text{ В}$ $+0.4 - 1.0 = -0.6\text{ В}$ $+1.1 - 0.6 = +0.50\text{ В}$ $+0.50 \ge 0$ 1
7 1 Впрыск $-1.0\text{ В}$ $+0.4\text{ В}$ $+0.4 - 1.0 = -0.6\text{ В}$ $+0.5 - 0.6 = -0.10\text{ В}$ $-0.10 < 0$ 0

Что показывает таблица

Прямая причинно-следственная связь:

  • Переход от такта 2 к такту 3: в конце такта 2 получилось $V_{INT} = +0.90\text{ В}$, поэтому выставился бит $b[2] = 1$. Из-за этого на такте 3 опора обязана вычесть $1.0\text{ В}$.
  • Переход от такта 3 к такту 4: в конце такта 3 напряжение осталось положительным ($+0.30\text{ В}$), поэтому снова выставился бит $b[3] = 1$, и опора на такте 4 снова вычитает $1.0\text{ В}$.
  • И только когда напряжение уходит в минус ($-0.30\text{ В}$ в конце такта 4), появляется бит $b[4] = 0$, заставляя опору на такте 5 сработать «в плюс» ($+1.0\text{ В}$).

Как кодируется входной сигнал:

Последовательность бит на выходе: 1 0 1 1 0 1 1 0 …

На каждые 10 тактов приходится 7 единиц (70%), что строго соответствует среднему заряду:

$$D = 0.5 + \frac{0.4}{2 \cdot 1.0} = 0.5 + 0.2 = 0.70 \text{ (или 70%)}$$


Документация аппаратного тракта сбора данных • Zynq-7000 PL / AD7401A