Псевдодифференциальный вход
В даташите АЦП написано «четыре псевдодифференциальные пары», и кажется, что можно мерить любую разность напряжений. Это не так: второй вход пары лишь немного смещает ноль отсчёта, а коды получаются только положительные. Разберём на примере MCP3208 и сравним с истинно дифференциальным ADS1115.
Обновлено Редакция GAW
Псевдодифференциальный вход (pseudo-differential input) — вход АЦП из пары IN+ и IN−, в котором результат зависит от разности IN+ − IN−, но вход IN− может отклоняться от земли лишь на небольшую величину. По сути это несимметричный вход с подстраиваемым нулём. У MCP3208 вход IN− ограничен ±100 мВ относительно VSS, а IN+ работает в диапазоне от IN− до VREF + IN− (DS21298E, разд. 4.1).
Три вида входов
| Вид | Что меряет | Знак результата | Пример |
|---|---|---|---|
| Несимметричный | вход относительно земли | только положительный | MCP3208, 8 каналов |
| Псевдодифференциальный | IN+ относительно IN−, IN− около земли | только положительный | MCP3208, 4 пары |
| Истинно дифференциальный | AINP − AINN в пределах питания | любой, дополнительный код | ADS1115, 2 пары |
Как ведёт себя MCP3208
Режим выбирают битом в команде перед каждым преобразованием, пары фиксированы: CH0–CH1, CH2–CH3 и так далее, причём любой из двух каналов можно сделать IN+. Коды на краях диапазона:
- IN+ ≤ IN− — код 000h;
- IN+ ≥ VREF + IN− − 1 LSB — код FFFh.
Microchip отдельно предупреждает: если IN− уходит ниже VSS больше чем на 1 LSB, код 000h будет получен только при IN+ ниже VSS; если IN− выше VSS больше чем на 1 LSB, код FFFh — только при IN+ выше VREF. Назначение IN− — подавить небольшую синфазную помеху, общую для обоих входов, то есть разницу земель датчика и АЦП.
Когда нужен истинно дифференциальный
Если сигнал меняет знак — ток через шунт в обе стороны, мостовой датчик, термопара — или обе линии сигнала далеко от земли, псевдодифференциальный вход не подходит. ADS1115 меряет разность любого знака и выдаёт 16-битный дополнительный код, но абсолютное напряжение каждого входа всё равно должно лежать между GND и VDD (SBAS444E, разд. 7.3 и 7.5.4). Об этом пределе подробнее — в статье о синфазном напряжении.
Сравнение MCP3008 и ADS1115, подключение и примеры кода — на странице ADS1115 и MCP3008, устройство АЦП последовательного приближения — в статье SAR АЦП, а виды входов АЦП в целом — в статье об АЦП.
Частые вопросы
Можно ли MCP3208 в псевдодифференциальном режиме мерить отрицательную разность?
Нет. Если IN+ меньше или равен IN−, АЦП выдаёт код 000h (DS21298E, разд. 4.1). Псевдодифференциальный вход меряет только положительную разность от 0 до VREF, а IN− при этом должен оставаться в пределах ±100 мВ от земли. Для знаковых измерений нужен истинно дифференциальный АЦП вроде ADS1115.
Тогда зачем нужен вход IN−?
Чтобы убрать небольшую синфазную помеху и сдвиг земли между датчиком и АЦП. Если земля датчика отличается от земли АЦП на десятки милливольт, подключение её к IN− вычитает это смещение из результата. Microchip так и описывает назначение IN−: подавление малой синфазной помехи на обоих входах.
Чем отличается истинно дифференциальный вход ADS1115?
Он меряет разность V(AINP) − V(AINN) любого знака и выдаёт дополнительный код от 8000h до 7FFFh (SBAS444E, разд. 7.5.4). Ограничение одно: каждый вход по абсолютной величине должен оставаться в пределах от GND до VDD. Поэтому ADS1115 меряет, например, падение на шунте в обе стороны, если оба вывода шунта находятся между землёй и питанием.
Источники
- Microchip. MCP3204/3208 2.7V 4-Channel/8-Channel 12-Bit A/D Converters with SPI Serial Interface, DS21298E (2008) — Features: MCP3208 — восемь несимметричных входов или четыре псевдодифференциальные пары; Electrical Characteristics: диапазон IN+ в псевдодифференциальном режиме — от IN− до VREF + IN−; разд. 4.1: режим выбирается командой перед каждым преобразованием, пары CH0–CH1, CH2–CH3 и т. д.; IN+ — от IN− до VREF + IN−, IN− ограничен ±100 мВ от VSS; IN− позволяет убрать небольшую синфазную помеху; при IN+ ≤ IN− код 000h, при IN+ ≥ VREF + IN− − 1 LSB код FFFh; если IN− больше чем на 1 LSB ниже VSS, для кода 000h IN+ должен уйти ниже VSS
- Texas Instruments. ADS111x Ultra-Small, Low-Power, I2C-Compatible, 860-SPS, 16-Bit ADCs, SBAS444E (revised December 2024) — разд. 7.3: ядро АЦП измеряет разность V(AINP) − V(AINN); ADS1115 — четыре несимметричных или два дифференциальных входа, AIN0 и AIN1 можно мерить относительно AIN3; при несимметричном измерении отрицательный вход внутри соединяется с GND; разд. 7.5.4: данные в дополнительном коде, +FS — 7FFFh, −FS — 8000h; Absolute Maximum и Recommended: абсолютное напряжение на входах — от GND до VDD; FSR до ±6,144 В
Нашли ошибку?
Смотрите также
- ADS1115 и MCP300816 бит I²C с усилителем против 10 бит SPI на 8 каналов: выводы, диапазоны, точность
- Синфазное напряжениеСреднее напряжение двух входов и почему оно важно
- Дифференциальная передачаСигнал как разность двух проводов, помеха вычитается
- АЦП последовательного приближенияВыборка и подбор кода бит за битом: такты, скорость, источник сигнала
- АЦПКвантование, формула кода, SAR, время выборки, погрешности, передискретизация