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

Паразитное питание

Устройства 1-Wire могут работать без отдельного провода питания: пока линия в единице, они заряжают внутренний конденсатор и живут за его счёт, пока линия в нуле. Это паразитное питание — удобное, но требовательное к подтяжке.

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

Паразитное питание (parasite power) — режим устройств 1-Wire, при котором они получают энергию по той же линии, по которой обмениваются данными. Пока линия в единице, устройство заряжает внутренний конденсатор через подтягивающий резистор, а пока линия в нуле — живёт за счёт накопленного заряда. Отдельный провод питания не нужен: хватает данных и общего провода.

Для обмена данными такой энергии хватает, а для операций, требующих тока, — нет. Датчик температуры DS18B20 во время измерения потребляет до 1,5 мА, и обычная подтяжка 4,7 кОм не удержит линию. Поэтому по даташиту ведущий должен включить сильную подтяжку — транзистор к питанию — не позже чем через 10 мкс после команды измерения и держать её всё время преобразования, до 750 мс при 12 битах.

Параметр DS18B20Внешнее питаниеПаразитное питание
Питание3,0–5,5 В на выводе VDD3,0–5,5 В по линии, VDD на общем проводе
Порог единицы на DQ2,2 В3,0 В
Измерениеможно опрашивать готовностьнужна сильная подтяжка на всё время

Ограничения следуют из этой схемы. При 3,3 В запас по порогу единицы — всего 0,3 В. Каждое устройство и метр кабеля нагружают линию, а при одновременном измерении нескольких датчиков ток складывается. Слишком длинный импульс сброса — больше 960 мкс — может перезапустить датчик по питанию. Если провод питания проложить можно, внешнее питание надёжнее.

Тайм-слоты, команды и длинные линии разобраны в статье «Протокол 1-Wire», подтяжку и время обмена можно посчитать в калькуляторе 1-Wire. Сам выход линии 1-Wire — открытый сток, как у I²C.

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

Можно ли подключить DS18B20 двумя проводами?

Да, в режиме паразитного питания: вывод VDD соединяют с общим проводом, а датчик питается от линии данных DQ. Но во время измерения температуры ему нужен ток до 1,5 мА, и обычной подтяжки 4,7 кОм не хватает — нужна сильная подтяжка транзистором на всё время измерения.

Почему DS18B20 с паразитным питанием показывает 85 °C?

85 °C — значение регистра после включения питания. Его читают, если датчик перезапустился из-за нехватки энергии во время измерения: без сильной подтяжки напряжение на конденсаторе проседает. Решение — сильная подтяжка или внешнее питание.

Работает ли паразитное питание от 3,3 В?

По даташиту — да, от 3,0 до 5,5 В. Но порог единицы на входе DQ при паразитном питании — 3,0 В, и при 3,3 В запас всего 0,3 В: длинный провод и много датчиков не получатся. При 3,3 В надёжнее внешнее питание.

Источники

  1. Analog Devices (Maxim Integrated). DS18B20 Programmable Resolution 1-Wire Digital Thermometer, 19-7487, Rev 6 — питание 3,0–5,5 В от вывода VDD или паразитное от линии; порог единицы на DQ — 2,2 В при внешнем питании и 3,0 В при паразитном; при паразитном питании во время измерения нужна сильная подтяжка не позже чем через 10 мкс; ток при измерении до 1,5 мА; сброс длиннее 960 мкс может перезапустить датчик
  2. Maxim Integrated. Tutorial 148: Guidelines for Reliable Long Line 1-Wire Networks, 2014 — нагрузка на длинную линию: ведущий с резистивной подтяжкой, сильная подтяжка для устройств с паразитным питанием

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