Датчики и регистраторы данных, работающие по протоколу SDI-12, обмениваются символами ASCII по линии данных. Для начала обмена данными с датчиком регистратор отправляет прерывание. Прерывание — это непрерывный сигнал на линии данных в течение не менее 12 мс. После прерывания регистратор отправляет команду. Датчик, в свою очередь, отправляет соответствующий ответ. Каждая команда предназначается для конкретного датчика. Первый символ каждой команды — это уникальный адрес датчика, который определяет, с каким датчиком регистратор хочет связаться. Другие датчики на шине SDI-12 игнорируют команду и переходят в режим ожидания с низким энергопотреблением. После отправки датчику команды на выполнение измерений регистратор не будет обмениваться данными с другими устройствами до тех пор, пока не будут получены данные измерений от датчика.
Порядок операций типового запроса измеренных значений для регистратора и датчика.
- Регистратор активирует все датчики на шине SDI-12 с помощью прерывания.
- Регистратор отправляет команду на выполнение измерений конкретному датчику с определенным адресом.
- Датчик в течение 15 мс отправляет ответное сообщение с указанием максимального времени подготовки данных и количества измеряемых параметров.
- Если результаты измерений доступны сразу, регистратор дает датчику команду на отправку измеренных значений. Если результаты измерений не готовы, регистратор ждет, когда датчик пошлет запрос регистратору с сообщением о готовности данных. После этого регистратор отправляет команду запроса данных.
- Датчик отправляет ответное сообщение с данными одного или нескольких измерений.