Документация Engee

Работа с библиотекой блоков RITM CAN FD

Блоки библиотеки RITM CAN FD предназначены для настройки интерфейсов CAN FD, передачи и приема кадров CAN и CAN FD, перезапуска интерфейса и чтения состояния контроллера.

Для работы с блоками установите или обновите пакет поддержки блоков РИТМ, выполнив следующую команду в редакторе скриптов interactive script icon или командной строке img 41 1 2:

engee.package.install("RITM-Engee-Blocks")

Путь к библиотеке: /RITM/RITM CAN FD.

В библиотеку входят следующие блоки:

Шина CAN FD-сообщения

Блоки RITM-CANFD TX и RITM-CANFD RX используют шину CAN_FD_MESSAGE_BUS следующего типа:

BusSignal{(:ProtocolMode, :Extended, :Length, :Remote, :Error, :BRS, :ESI, :DLC, :ID, :Reserved, :Timestamp, :Data), Tuple{UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt32, UInt32, Float64, UInt8}, ((), (), (), (), (), (), (), (), (), (), (), (64,)), :CAN_FD_MESSAGE_BUS}

Тип описывает одно CAN FD-сообщение. Порты Messages блоков RITM-CANFD TX и RITM-CANFD RX передают массив шин CAN_FD_MESSAGE_BUS; его длина задается параметром Максимальное число сообщений:. Поля каждого элемента массива имеют приведенные ниже скалярные типы, а Data представляет собой массив из 64 байтов.

Поля шины:

Поле Тип Описание

ProtocolMode

UInt8

Формат кадра: 0 — классический CAN, 1 — CAN FD.

Extended

UInt8

Формат идентификатора: 0 — стандартный 11-битный, 1 — расширенный 29-битный.

Length

UInt8

Число значащих байтов в поле Data: до 8 для классического CAN и до 64 для CAN FD.

Remote

UInt8

Флаг RTR. Допустим только для классического CAN-кадра.

Error

UInt8

Признак кадра ошибки.

BRS

UInt8

Переключение на скорость фазы данных: 0 — без переключения, 1 — с переключением. Допустимо только для CAN FD.

ESI

UInt8

Error State Indicator кадра CAN FD. Допустим только для CAN FD.

DLC

UInt8

Код длины принятого кадра. При передаче CAN FD фактический DLC определяется по полю Length.

ID

UInt32

Идентификатор кадра. Максимальное значение — 0x7FF для стандартного и 0x1FFFFFFF для расширенного формата.

Reserved

UInt32

Зарезервировано. При формировании кадра задавайте 0.

Timestamp

Float64

Временная метка принятого сообщения (при передаче не используется).

Data

UInt8[64]

Полезная нагрузка. Значащими являются первые Length байтов.

Режимы обмена

  • CAN FD без переключения скорости: ProtocolMode = 1, BRS = 0. Весь кадр передается с номинальной скоростью.

  • CAN FD с переключением скорости: ProtocolMode = 1, BRS = 1. Арбитражная фаза передается с номинальной скоростью, фаза данных — со скоростью, заданной параметром Скорость фазы данных:.

  • Совмещенный CAN и CAN FD: формат каждого передаваемого кадра выбирается через ProtocolMode. Блок RITM-CANFD RX принимает оба формата и заполняет ProtocolMode по фактически принятому кадру.

Обычные блоки RITM-CAN TX и RITM-CAN RX можно подключать к выходу блока RITM-CANFD Setup и использовать для классических кадров на интерфейсе, настроенном в режиме CAN FD. Эти блоки работают с шиной CAN_MESSAGE_BUS и не предназначены для представления кадров CAN FD; для смешанного входящего трафика используйте RITM-CANFD RX.