- PVSM.RU - https://www.pvsm.ru -

Драйвер шины 1-Wire для контроллеров питанием меньше 5V

Предлагаемый Вашему вниманию драйвер шины 1-Wire не является чем-то революционным, все использованные схемотехнические решения давно известны. Причиной публикации стало желание не загромождать статью о программной реализации примитивов 1-Wire-master на основе PWM и ICP [1].

Принципиальная схема

Драйвер шины 1-Wire

Драйвер шины используется в одном из моих проектов, поэтому нумерация элементов начинается не с «1».

Назначение сигналов:

ICP — входной сигнал для микроконтроллера, предназначенный для приема данных с шины 1-Wire;
OCRA — выходной сигнал для микроконтроллера, предназначенный для модуляции передаваемых на шину 1-Wire данных;
PULLUP — выходной сигнал для микроконтроллера, предназначенный для реализации на шине 1-Wire режима «ACTIVE PULLUP»;
3V3 — напряжение питания, к которому толерантны пины микроконтроллера ICP, OCRA и PULLUP. Это напряжение не обязательно должно быть именно 3.3V, оно может быть больше или меньше.

Двумя обязательными критериями являются:

— напряжение 3V3 должно быть строго меньше напряжения 5V0 (как минимум на величину падения напряжения на паразитном диоде MOSFET Q3 в случае его прямого включения);
— напряжение 3V3 должно быть больше напряжения между затвором и истоком используемых MOSFET, гарантирующих их стабильное открытие.

ONEWIRE — сигнал шины 1-Wire;
5V0 — питание для шины 1-Wire.

Компоненты Q2 и R19 обеспечивают модуляцию сигнала на шине 1-Wire со стороны низковольтной части драйвера. R18 предназначен для гарантированного закрытия Q2 при отсутствии модулирующего сигнала и, в некоторой степени, для защиты от ESD (electrostatic discharge) в случае исполнения драйвера в виде отдельного модуля.

Диодная сборка D8 предназначена исключительно для защиты от ESD в том невероятном случае, если кому-то захочется подключить 1-Wire устройства с низковольтным питанием. Например DS18B20 допускает диапазон питающих напряжений от 3.0V до 5.5V. Однако следует заметить, что режим «ACTIVE PULLUP» возможен только со стороны шины 1-Wire с питанием +5V (т.е. низковольтные 1-Wire устройства не стоит использовать в режиме parasite power). Кроме того, для улучшения параметров помехоустойчивости низковольтной шины 1-Wire возможно понадобится уменьшить номинал R19 до значения 1K включительно. «Вишенка на торте» — оба варианта шины 1-Wire могут использоваться одновременно.

На компонентах R19, Q3 и R20 собран тривиальный двунаправленный преобразователь уровней (разъяснение принципов его работы см. в списке литературы [2]).

На компонентах R21, Q4, R22 собран однонаправленный инвертирующий преобразователь уровней для управления Q5, реализующим режим «ACTIVE PULLUP».

Резисторы R23 и R24 предназначены для ограничения протекающего тока (например, в случае подключения нового устройства на шину 1-Wire в тот момент, когда она находится в режиме «ACTIVE PULLUP»).

Диодная сборка D9 обеспечивает защиту от ESD со стороны шины 1-Wire.

Внешний вид устройства (на макетной плате)

Драйвер шины 1-Wire на макетной плате

Список литературы:

  1. Guidelines for Reliable Long Line 1-Wire Networks [3]
  2. APPLICATION NOTE 4255 [4]
  3. DS18B20 datasheet [5]
  4. Согласование логических уровней 5В и 3.3В устройств [6]

Автор: Vedga

Источник [7]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/raspberry-pi/246755

Ссылки в тексте:

[1] реализации примитивов 1-Wire-master на основе PWM и ICP: https://habrahabr.ru/post/322710/

[2] в списке литературы: #level_converter

[3] Guidelines for Reliable Long Line 1-Wire Networks: https://www.maximintegrated.com/en/app-notes/index.mvp/id/148

[4] APPLICATION NOTE 4255: http://pdfserv.maximintegrated.com/en/an/AN4255.pdf

[5] DS18B20 datasheet: http://datasheets.maximintegrated.com/en/ds/DS18B20.pdf

[6] Согласование логических уровней 5В и 3.3В устройств: http://we.easyelectronics.ru/Shematech/soglasovanie-logicheskih-urovney-5v-i-33v-ustroystv.html

[7] Источник: https://geektimes.ru/post/286374/