Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Данные передаются фреймами. Протокол является адресным, с поддержкой широковещательных запросов и проверкой соответствия полученного ответа отправленному запросу.

Формат фрейма

Максимальный размер фрейма составляет 255 байт, общий размер технической полей фрейма - 10 байт. Таким образом, максимально возможный размер полезных данных возможен до 245 байт.

...

  • ADDRESS - адрес конечного устройства. Значение 0x00000000 является широковещательным адресом и указывается только в запросе. Ответ на широковещательный запрос будет содержать конкретный адрес конечного устройства.
  • FN - функция (код запроса). Значение 0x00 зарезервировано под ответ с кодом ошибки.
  • LEN - общая длина фрейма в байтах (включая сам байт длины). Допустимы значения от 10 до 255.
  • PAYLOAD - полезные данные. Содержимое зависит от указанного кода запроса.
  • ID - идентификатор запроса. Псевдослучайное число, генерируемое мастером при формировании запроса. Конечное устройство должно ответить тем же значением.
  • CRC - контрольная сумма фрейма. При формировании фрейма считается от всех данных, исключая само поле контрольной суммы.

Параметры и расчет контрольной суммы

Характеристики:

  • Стандарт: CRC-26-IBM.
  • Полином: 0xA001.
  • Начальное значение: 0xFFFF.
  • Начинать с: LSB.
  • XOR в конце: нет.

...

Info

При валидации входящего фрейма удобно считать контрольную сумму от всех байт, включая само поле контрольной суммы. В случае верного значения контрольной суммы результат вычислений должен быть равен 0x0000.

Алгоритм валидации входящего фрейма для конечного устройства

Ниже представлена блок-схема алгоритма валидации:

Алгоритм валидации входящего фрейма для мастера

Ниже представлена блок-схема алгоритма валидации:

...