Концепция протокола

В этом разделе представлены основные концепции ISOBUS. Рекомендуется ознакомиться с этим разделом, даже если у вас есть опыт работы с ISO11783.

Основы

Сеть ISOBUS представляет собой шину CAN с пропускной способностью 250 000 бод, соответствующую стандарту связи AEF ISO 11783, который основан на J1939 SAE.

Стандарты ISOBUS разработаны для сельскохозяйственной техники и лесного хозяйства. Кадры CAN содержат не более 8 байт данных и 32-битный идентификатор. Идентификатор включает следующую информацию:

  • Номер группы параметров (PGN)

    • PGN (Parameter Group Number) — номер группы параметров, определяющий содержимое соответствующего сообщения шины CAN согласно SAE J1939. Термин PGN используется для обозначения сообщений шины CAN.

  • Адрес источника

    • Описывает, кто отправляет сообщение, адрес ноды.

  • Адрес назначения

    • Некоторые сообщения позволяют указать пункт назначения

    • Некоторые сообщения предназначены для получения всеми (широковещательное)

    • Номер группы параметров определяет, является ли сообщение трансляцией или предназначено для определенного адреса.

  • Приоритет

    • Определяет, когда сообщения сталкиваются в шине, какое из них «выиграет», а какое должно передаться повторно, позже.

    • Арбитраж обрабатывается аппаратно поэтому не требует никаких дополнительных действий кроме установки приоритета

Для отправки сообщений на шине J1939 или ISOBUS потребуется 1-байтовый адрес, который будет идентифицировать вас на шине. Также необходимо знать адрес получателя сообщения, если это не широковещательное сообщение. Широковещательные сообщения отправляются на адрес 255 (0xFF). Ещё существует нулевой адрес (0xFE), который используется, когда у вас нет адреса или вы его ещё не получили, хотя всё это обрабатывается автоматически стеком.

Функции управления

На самом деле, адреса не очень полезны для большинства задач, за исключением заполнения или декодирования кадра CAN. Они не дают информации об устройстве, его функциях, производителе или даже о том, заботится ли оно о вашем сообщении. Более того, адреса ненадёжны для передачи данных, поскольку устройства J1939 и ISOBUS могут изменять их в любой момент.

J1939 и ISO 11783 определяют основной компонент сети CAN как функцию управления. Функции управления имеют имена, а их адреса могут изменяться через процесс, называемый претензией адреса и арбитражем.

ИМЯ

Концептуально NAME - это 64-битное значение, которое однозначно идентифицирует функцию управления в сети.

ИМЯ имеет следующие компоненты:

  • Идентификационный номер

    • Обычно это серийный номер функции управления.

    • Предполагается, что он уникален среди управляющими функций с идентичными другими значениями NAME

  • Код производителя

    • Определяет, кто создал функцию управления

  • Экземпляр ЭБУ

    • Обычно приращено в порядке NAME с аналогичными функциями управления

    • Если встречаются несколько устройств с похожими именами, устанавливается иерархия в ISO NAME среди них.

  • Функция

    • ISO 11783 Определяет список функций, которые описывают, что делает ваша управляющая функция.

    • Общий список представлен в разделе «Справочник функций»

  • Экземпляр функции

    • Функциональный экземпляр ЭБУ. Похож на номер виртуального терминала.

  • Класс Устройства

    • Также известен как «система транспортных средств» из J1939

    • Описывает общий тип ЭБУ, такой как «Опрысители» или «Экскаватор»

  • Экземпляр класса устройства

    • Номер экземпляра класса устройства, аналогичный экземпляру ЭБУ

    • Используется для установления иерархии между похожими ИМЕНами, если это необходимо.

  • Отраслевая группа

    • Отраслевая группа, связанная с этим ЭБУ, например, «сельскохозяйственная»

    • Подробнее в разделе «Справочник функций»

  • Возможность произвольного адреса

    • Определяет, поддерживает ли этот ЭБУ адресный арбитраж

Адрес, Претендующий

J1939 и ISOBUS определяют процесс, называемый адресом, который очень детерминично присваивает функции управления адрес на основе их ИМЕН.

Таким образом, для обзора функция управления постоянно идентифицируется по ее ИМЕНИ. Это ИМЯ используется во время обращения к адресу, претендующей на назначение функции управления адреса. Этот адрес не является постоянным и может измениться в любое время, если по какой-то причине заявка на адрес повторится.

Транспортный слой

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

  • Транспортный протокол (Широковещательное Объявление Сообщения)

    • BAM (Broadcast Announce Message) — это протокол, предназначенный для отправки данных размером более 8 байт, но не превышающих 1785 байт на адрес широковещательной передачи. Однако отправка сообщений на адрес широковещательной передачи может привести к серьёзным последствиям, так как получатель не может остановить доставку сообщения и часто не запрашивает его.

    • Из-за необходимости задержки между каждыми 8-байтными кадрами, включающими пакет BAM, доставка сообщения становится очень медленной. Кроме того, функция управления может содержать только один BAM в незавершённой передаче одновременно, так как PGN сообщения встраивается в полезную нагрузку повторно собранного пакета, а не в отдельные кадры. Это означает, что если у вас есть BAM, находящийся в режиме ожидания, вы не сможете отправить ещё один, пока не завершится предыдущий. Поэтому использование BAM следует рассматривать только в крайнем случае, если другие протоколы не подходят для вашей задачи.

  • Транспортный протокол (режим подключения)

    • Транспортный протокол, обрабатывающий отправку данных размером более 8 байт, но не превышающих 1785 байт, характеризуется высокой скоростью работы из-за отсутствия задержек между пакетами. Возможность прерывания сеанса и параллельного выполнения нескольких сеансов в разных местах также являются его особенностями. Однако стоит учесть накладные расходы, связанные с использованием протокола, такие как запросы на отправку, очистку для отправки и подтверждение завершения сообщения. Отправка 9 байт информации создаёт дополнительные издержки по сравнению с полезной нагрузкой, поэтому рекомендуется сохранять сообщения размером до 8 байт, если это возможно.

  • Расширенный транспортный протокол (ETP)

    • Предназначен для отправки данных размером более 1785 байт, но не превышающих 117440505 байт. В отличие от других протоколов, ETP не поддерживает трансляции любой длины, и все сообщения должны быть специфичными для конкретного адресата. Благодаря поддержке большого объёма данных, ETP является одним из наиболее эффективных транспортных протоколов в системе ISOBUS.

    • Однако стоит учесть, что скорость передачи данных по ETP может быть очень низкой, особенно при отправке больших объёмов информации. Задержка в основном зависит от общего количества пересылаемых данных, а не от времени между отдельными сообщениями. ETP также имеет схожие накладные расходы с транспортным протоколом и использует дополнительные сообщения для управления потоком данных во время активного сеанса.

  • Протокол быстрого пакета NMEA 2000 (NMEA2K) (FP)

    • Этот протокол используется в основном на лодках и судах для подключения оборудования, такого как GPS, автопилоты, глумоты, навигационные приборы, двигатели и т. д.

    • ISO11783 Принимает этот протокол для подмножества стандартных сообщений GNSS

    • Этот протокол предоставляет средства для потоковой передачи до 223 байт данных, с тем преимуществом, что каждый кадр сохраняет номер и приоритет группы параметров, где TP и ETP этого не делают.