#62, M1T: два порта 1-Wire/Single-Wire

Назначение
два порта 1-Wire/Single-Wire
Форм-фактор
Категория
модуль ввода-вывода
Особые требования
---
Питание
5V/20mA (в среднем; максимальный ток зависит от числа и типа подключённых датчиков и может достигать 70mA)

Диапазон рабочих температур: -40°C to +85°C

Сочетается с: #20, #21

См. также: #22, #29, #30

Подробности

Tibbit #62 предлагает два порта 1-Wire/Single-Wire для температурных датчиков 1-Wire на основе DS18B20, а также датчиков температуры и влажности DHT11 и DHT22 с одним проводом. Каждый канал можно настроить на работу в режиме 1-Wire или Single-Wire. К каждому каналу этого Tibbit можно подключить до шестнадцати датчиков 1-Wire. Устройства Single-Wire по своей природе допускают только один датчик на канал. Драйверы каналов Tibbit тщательно проработаны, чтобы максимально увеличить допустимую длину кабеля, поэтому данные можно собирать с датчиков, установленных в сотнях метров от хоста TPS.

Линии управления и цвета светодиодов

У Tibbit #62 четыре линии управления, каждая со светодиодом:

  • SCL (жёлтый светодиод) - линия тактового сигнала интерфейса I2C. В режиме ожидания на линии HIGH. Этот Tibbit поддерживает растяжку тактового сигнала (clock stretching), поэтому линия показана как двунаправленная (и светодиод у неё жёлтый).
  • SDA (жёлтый светодиод) - линия данных интерфейса I2C. В режиме ожидания на линии HIGH.
  • -RST (красный светодиод) - линия сброса модуля, активный уровень LOW. Внутри эта линия соединена с выводом сброса микроконтроллера PIC. Для нормальной работы Tibbit на линии должен быть HIGH. Чтобы сбросить микроконтроллер, переведите линию в LOW, затем снова в HIGH. Эта линия также используется для перепрограммирования прошивки PIC (обновления в составе системы).
  • -BUSY (зелёный светодиод): LOW на линии означает, что Tibbit не готов принимать команды I2C. Опрашивайте эту линию, прежде чем обмениваться с Tibbit данными по I2C.

Линии ввода-вывода

У Tibbit #62 четыре линии ввода-вывода:

  • IO1 - выход 5V. Он может отдавать до 50mA тока на устройства 1-Wire и Single-Wire. Выходом управляет программа; он имеет защиту от сверхтока и короткого замыкания.
  • IO2 - линия данных первого канала. Канал программно настраивается на режим 1-Wire или Single-Wire. В режиме 1-Wire можно подключить до шестнадцати датчиков 1-Wire. Спецификация Single-Wire допускает только один датчик на канал.
  • IO3 - линия данных второго канала; его характеристики такие же, как у первого канала.
  • IO4 - выделенная линия GND, к которой подключаются провода земли датчиков.

Типовые схемы подключения датчиков 1-Wire

Температурные датчики 1-Wire построены на микросхеме цифрового термометра DS18B20. Устройства 1-Wire могут работать всего по двум проводам - DQ (данные) и GND (земля). При таком подключении датчики получают питание по линии DQ, отдельная линия питания не нужна. Этот способ получения питания от шины 1-Wire называется «паразитным питанием». Устройства 1-Wire можно также запитать по выделенной линии питания VDD. На схемах ниже показаны оба способа подключения датчиков на основе DS18B20 к Tibbit #62.

Слева: двухпроводная схема (паразитное питание). Справа: трёхпроводная схема (отдельное питание)

При двухпроводном подключении (паразитное питание) соедините линию питания (VDD) каждого датчика с линией земли (GND). Трёхпроводное подключение (отдельное питание) советуем использовать, когда:

  • провода длинные;
  • к одному каналу подключено несколько датчиков 1-Wire (особенно при топологии «звезда»);
  • система работает при температуре выше 100oC.

Возможность подключать несколько датчиков к одному порту и надёжно работать по длинным кабелям - существенные преимущества устройств 1-Wire. Чтобы увеличить допустимую длину кабеля и повысить надёжность, в обоих каналах Tibbit #62 применены драйверы подтяжки на MOSFET. Для наилучшего результата всё равно придётся продумать правильную топологию сети из нескольких датчиков.

Для максимальной дальности используйте линейную топологию, в которой датчики 1-Wire соединяются цепочкой на «шине». Во многих установках применяют и топологию «звезда», когда кабели нескольких датчиков сходятся в одной точке у Tibbit. Она работает при небольшой длине кабелей, 10-15 метров, но и в этом случае всегда рекомендуется трёхпроводное подключение (отдельное питание).

Гораздо больше информации по теме содержится в рекомендации по применению (Application Note): https://pdfserv.maximintegrated.com/en/an/AN148.pdf.

Слева: линейная топология. Справа: топология «звезда».

Схема подключения датчиков Single-Wire

Датчики Single-Wire, например DHT22, отличаются от датчиков 1-Wire тем, что:

  • к каналу Tibbit можно подключить только один датчик Single-Wire - устройства Single-Wire не адресуются;
  • паразитное питание невозможно - есть отдельная линия питания, и её необходимо подключить.

Поддержка библиотекой и AppBlocks

Для Tibbit #62 есть библиотека Tibbo BASIC. В ней есть вызовы API для настройки каналов, обнаружения (перечисления) подключённых датчиков 1-Wire и чтения данных датчиков. Библиотека выдаёт показания температуры в градусах Цельсия или Фаренгейта. Репозиторий библиотеки находится здесь: https://github.com/tibbotech/libraries/tree/main/tibbits/tbt62.

Использование библиотеки показано на примере тестовой программы Tibbo BASIC: https://github.com/tibbotech/CA-Test-Tibbit-62.

Этот Tibbit поддерживается и в AppBlocks - браузерной платформе Tibbo для разработки приложений без написания кода, на основе блок-схем. Платформа доступна здесь: https://appblocks.io/.

Совет

В видеоруководстве показано, как работать с датчиками 1-Wire и Single-Wire в AppBlocks: https://www.youtube.com/watch?v=1rzGAGgJPlM&t=8s.

Обновление прошивки в составе системы

Микроконтроллер PIC в Tibbit #62 можно обновлять в составе системы, без дополнительного оборудования. Для обновления прошивки используется режим низковольтного программирования (LVP) микроконтроллера: линия SCL работает как ICSPCLK, линия SDA - как ICSPDAT, а линией -RST микроконтроллер переводится в режим LVP.

Tibbo предоставляет библиотеку для обновления в составе системы; она находится здесь: https://github.com/tibbotech/libraries/tree/main/pic.

Технические характеристики

Таблица #1 - предельно допустимые значения
Напряжение питания-10V to +5.5V
CH1 или CH2 относительно GND-0.5V to +5.5V
Линии SCL, SDA, -RST, -BUSY-0.3V to +3.6V
Рабочая температура-40°C to +85°C
Таблица #1 - электрические характеристики
Входное напряжение питания4.5VDC to 5.5VDC
Общий потребляемый ток20mA to 70mA
Допустимый выходной ток (IO1)50mA
Номинальный диапазон срабатывания защиты от сверхтока (IO1)50mA ~ 75mA
Номинальное время реакции защиты от сверхтока (IO1)100ms
Время обнаружения короткого замыкания IO1 на GND20ns
Совместимость линий SCL, SDA, -RST, -BUSY3.3V
Рабочая температура-40°C to +85°C
Защита от ESDIO1 ~ IO4 снабжены TVS-диодами, соответствующими стандарту IEC 61000-4-2
Таблица #1 - характеристики последовательного интерфейса
Тип интерфейсаI2C
Адрес устройства0x40
Частота20kHz ~ 100kHz (рекомендуется 100kHz)
ОсобенностиРастяжка тактового сигнала включена
Исходный материал Tibbo обновлён 26 марта 2024Оригинал на docs.tibbo.com · Сообщить об ошибке