21
год производим GSM-устройства
+7 (495) 229-04-86

Режим работы: пн-пт 9.00 - 18.00

Обратный звонок
Разработка и производство средств связи, сигнализации и телеметрии
21
год производим GSM-устройства

Продажи и консультации

+7 (495) 229-04-86

Режим работы: пн-пт 9.00 - 18.00

Обратный звонок

 К статьям

Команды протокола 1-wire, поддерживаемые датчиком влажности и температуры Кситал KS18B20

При подключении датчика KS18B20 к контроллеру "Кситал" следует обратиться к инструкции на датчик и к "Руководству по эксплуатации" контроллера. Этого вполне достаточно для регистрации и дальнейшей эксплуатации датчика.

И это описание команд может быть интересно только в том случае, если стоит задача подключить KS18B20 к контроллеру другой марки. Т.к. обмен данными KS18B20 с контроллером происходит по протоколу 1-wire, то предварительно надо ознакомиться с описанием этого протокола. Например, канальный уровень протокола и тайминги можно изучить в инструкции на популярный датчик температуры DS18B20.

Что касается сетевого уровня протокола, то для совместимости с программным обеспечением, работающим с DS18B20, в KS18B20 реализована эмуляция команд DS18B20. А для передачи как показаний температуры, так и влажности, дополнительно задействованы 5-й и 6-й байты SCRATCHPAD (в DS18B20 они не используются и зарезервированы для дальнейшего использования).
Также всегда установлен в "0" 0-й бит Configuration Register (в DS18B20 он всегда установлен в "1").

Протокол обязывает, чтобы при старте обмена контроллер (мастер) передал датчику одну из ROM-команд.
KS18B20 поддерживает такие ROM-команды:
 - 0x33(READ ROM) - по этой команде KS18B20 выдаёт свой серийный номер;
 - 0x55(MATCH ROM) - по этой команде после последующей передачи мастером серийного номера в активное состояние ожидания следующей команды переходит только датчик с переданным серийным номером;
 - 0xCC(SKIP ROM) - по этой команде в активное состояние ожидания следующей команды переходят все находящиеся на шине датчики;
 - 0xF0(SEARCH ROM) - эта команда используется для определения серийного номера датчика в ситуации, когда на шине присутствует несколько датчиков.

После того, как нужный датчик переведён ROM-командой в активный режим, контроллер для старта процедуры замера параметров передаёт этому датчику одну из функциональных команд:
 - 0x44(CONVERT_44) - замер влажности и температуры с обычной дискретностью 1/16C;
 - 0x45(CONVERT_45) - замер влажности и температуры с повышенной дискретностью 1/64C;
Дискретность замера относительной влажности одинакова для обеих команд и составляет 1/512 процента относительной влажности.
После выполнения замера его результаты загружаются в SCRATCHPAD: замер температуры в 0-й(LSB)и 1-й(MSB) байты, а замер влажности в 5-й(LSB) и 6-й(MSB) байты.
Структура SCRATCHPAD такова:

байт 0

Младший байт температуры

байт 1

Старший байт температуры

байт 2

Резерв

байт 3

Резерв

байт 4

Регистр конфигурации

байт 5

Младший байт влажности

байт 6

Старший байт влажности

байт 7

Резерв

байт 8

CRC


После выполнения замера параметров контроллер запрашивает содержимое SCRATCHPAD командой:
- 0xBE(READ SCRATCHPAD)

При интерпретации полученного по такой команде замера температуры надо учитывать, по какой именно команде производился этот замер: с обычной (0x44) или повышенной (0x45) дискретностью.

Эта информация была полезной?


Автор: Кситал    Дата: 20.06.2025    Просмотров: 949    Теги: # Датчики температуры 


 К статьям
  • Вы можете оставить свой комментарий к статье