Режим работы: пн-пт 9.00 - 18.00
При подключении датчика 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) дискретностью.
К статьямПодпишитесь на нашу рассылку, и мы сообщим вам о новейших проектах и новостях.
Россия, г.Москва, ул.Новопоселковая д.6, корпус 217, офис 416. ООО "КСИТАЛ"
тел. +7 (495) 229-04-86
E-mail: info@ksytal.ru