Паразитное питание
Устройства 1-Wire могут работать без отдельного провода питания: пока линия в единице, они заряжают внутренний конденсатор и живут за его счёт, пока линия в нуле. Это паразитное питание — удобное, но требовательное к подтяжке.
Обновлено Редакция GAW
Паразитное питание (parasite power) — режим устройств 1-Wire, при котором они получают энергию по той же линии, по которой обмениваются данными. Пока линия в единице, устройство заряжает внутренний конденсатор через подтягивающий резистор, а пока линия в нуле — живёт за счёт накопленного заряда. Отдельный провод питания не нужен: хватает данных и общего провода.
Для обмена данными такой энергии хватает, а для операций, требующих тока, — нет. Датчик температуры DS18B20 во время измерения потребляет до 1,5 мА, и обычная подтяжка 4,7 кОм не удержит линию. Поэтому по даташиту ведущий должен включить сильную подтяжку — транзистор к питанию — не позже чем через 10 мкс после команды измерения и держать её всё время преобразования, до 750 мс при 12 битах.
| Параметр DS18B20 | Внешнее питание | Паразитное питание |
|---|---|---|
| Питание | 3,0–5,5 В на выводе VDD | 3,0–5,5 В по линии, VDD на общем проводе |
| Порог единицы на DQ | 2,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 В надёжнее внешнее питание.
Источники
- 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 мкс может перезапустить датчик
- Maxim Integrated. Tutorial 148: Guidelines for Reliable Long Line 1-Wire Networks, 2014 — нагрузка на длинную линию: ведущий с резистивной подтяжкой, сильная подтяжка для устройств с паразитным питанием
Нашли ошибку?
Смотрите также
- 1-WireТайм-слоты, ROM-команды, поиск, CRC8, DS18B20, паразитное питание
- Калькулятор 1-WireCRC ROM-кода, резистор подтяжки и длина линии, время обмена
- Подтягивающий резисторPull-up и pull-down: определённый уровень на свободной линии
- Открытый стокВыход только с транзистором к земле, единицу даёт подтяжка