Пакет CAN FD

Упакуйте отдельные сигналы в сообщение для шины CAN FD

Библиотека

Vehicle Network Toolbox: коммуникация CAN FD

Описание

Блок CAN FD Pack загружает данные сигнала в сообщение в заданных интервалах во время симуляции.

Примечание

Чтобы использовать этот блок, вам также нужна лицензия на программное обеспечение Simulink®.

Блок CAN FD Pack имеет один входной порт по умолчанию. Количество входных параметров блока является динамическим и зависит от количества сигналов, которые вы задаете для блока. Например, если ваш блок имеет четыре сигнала, он имеет четыре входных параметров блока.

Этот блок имеет один выходной порт, сообщение. Блок CAN FD Pack берет заданные входные параметры и упаковывает сигналы в сообщение шины.

Блок выходные параметры CAN FD обменивается сообщениями как сигнал шины Simulink. Для получения дополнительной информации об объектах шины Simulink смотрите Составные Сигналы (Simulink).

Другие поддерживавшие функции

Поддержки блока CAN FD Pack:

  • Использование режима Simulink Accelerator™. Используя эту функцию, можно ускорить выполнение моделей Simulink. Для получения дополнительной информации смотрите Ускорение (Simulink).

  • Генерация кода, чтобы развернуть модели на целях.

    Примечание

    Генерация кода не поддержана, если ваша информация сигнала состоит из целых чисел со знаком или беззнакового целого, больше, чем 32 бита длиной.

Диалоговое окно

Используйте диалоговое окно Function Block Parameters, чтобы выбрать ваши параметры блоков Пакета CAN FD.

Параметры

Data is input as

Выберите свой сигнал данных:

  • необработанные данные: Входные данные как uint8 векторный массив. Если вы выбираете эту опцию, вы только задаете поля сообщения. Все другие поля параметра сигнала недоступны. Эта опция открывает только один входной порт на вашем блоке.

  • вручную заданные сигналы: Позволяет вам задавать определения сигнала данных. Если вы выбираете эту опцию, используйте таблицу Signals, чтобы создать ваши сигналы. Количество входных параметров блока зависит от количества сигналов, которые вы задаете.

  • CANdb задал сигналы: Позволяет вам задавать файл базы данных CAN, который содержит сообщение и определения сигнала. Если вы выбираете эту опцию, выберите файл CANdb. Количество входных параметров блока зависит от количества сигналов, заданных в файле CANdb для выбранного сообщения.

Примечание

Блок поддерживает следующие типы данных входных сигналов: один, дважды, int8, int16, int32, int64, uint8, uint16, uint32, uint64, и булевская переменная. Блок не поддерживает типы данных с фиксированной точкой.

CANdb file

Эта опция доступна, если вы указываете, что ваши данные вводятся через файл CANdb в списке Data is input as. Нажмите Browse, чтобы найти файл CANdb в вашей системе. Список сообщений, заданный в файле CANdb, заполняет раздел Message диалогового окна. Файл CANdb также заполняет таблицу Signals для выбранного сообщения.

Примечание

Имена файлов, которые содержат неалфавитно-цифровые символы, такие как знаки "равно", амперсанды, и т.д не являются допустимыми именами файлов базы данных CAN. Можно использовать периоды на имя базы данных. Переименуйте файлы базы данных CAN с неалфавитно-цифровыми символами, прежде чем вы будете использовать их.

Message list

Эта опция доступна, если вы указываете, что ваши данные вводятся через файл CANdb в поле Data is input as, и вы выбираете файл CANdb в поле CANdb file. Выберите сообщение, чтобы отобразить детали сигнала в таблице Signals.

Сообщение

Name

Задайте имя для своего сообщения CAN FD. Значением по умолчанию является Msg. Эта опция доступна, если вы принимаете решение ввести необработанные данные или вручную задать сигналы. Эта опция в недоступном, если вы принимаете решение использовать сигналы из файла CANdb.

Protocol mode

Задайте режим протокола сообщения как CAN FD или CAN.

Identifier type

Задайте, является ли вашим идентификатором сообщения Standard или тип Extended. Значением по умолчанию является Standard. Стандартный идентификатор является 11-битным идентификатором, и расширенный идентификатор является 29-битным идентификатором. Эта опция доступна, если вы принимаете решение ввести необработанные данные или вручную задать сигналы. Для CANdb specified signals Identifier type наследовал тип от базы данных.

Identifier

Задайте свой идентификатор сообщения. Этот номер должен быть положительным целым числом от 0 до 2047 для стандартного идентификатора и от 0 до 536870911 для расширенного идентификатора. Можно также задать шестнадцатеричные значения с помощью функции hex2dec. Эта опция доступна, если вы принимаете решение ввести необработанные данные или вручную задать сигналы.

Length (bytes)

Задайте длину своего сообщения. Для сообщений CAN значение может составить 0-8 байтов; для CAN FD значение может быть 0-8, 12, 16, 20, 24, 32, 48, или 64 байта. Если вы используете CANdb specified signals для своего ввода данных, файл CANdb задает длину вашего сообщения. Эта опция доступна, если вы принимаете решение ввести необработанные данные или вручную задать сигналы.

Remote frame

(Отключенный для режима протокола CAN FD.) Задают сообщение CAN как удаленный кадр.

Bit Rate Switch (BRS)

(Отключенный для режима протокола CAN.) Включают переключатель скорости передачи.

Таблица сигналов

Эта таблица появляется, если вы принимаете решение задать сигналы вручную или задать сигналы с помощью файла CANdb.

Если вы используете файл CANdb, данные в файле заполняют эту таблицу автоматически, и вы не можете отредактировать поля. Чтобы отредактировать информацию сигнала, переключитесь на вручную заданные сигналы.

Если вы выбрали, чтобы задать сигналы вручную, создайте свои сигналы вручную в этой таблице. Каждый сигнал, который вы создаете, имеет следующие значения:

Name

Задайте описательное имя для своего сигнала. Блок Simulink в вашей модели отображает это имя. Значением по умолчанию является Signal [row number].

Start bit

Задайте старт-бит данных. Старт-бит является младшим значащим битом, считаемым от запуска данных о сообщении. Для CAN старт-бит должен быть целым числом от 0 до 63, для CAN FD 0 до 511, в количестве битов в сообщении. (Обратите внимание на то, что обменивайтесь сообщениями, длина задана в байтах.)

Length (bits)

Задайте количество битов, которые сигнал занимает в сообщении. Длина должна быть целым числом от 1 до 64. Сумма всех длин сигнала в сообщении ограничивается количеством битов в длине сообщения; то есть, все сигналы должны кумулятивно соответствовать в длине сообщения. (Обратите внимание на то, что обменивайтесь сообщениями, длина задана в байтах и длине сигнала в битах.)

Byte order

Выберите любую из следующих опций:

  • LE: Где порядок байтов находится в формате с прямым порядком байтов (Intel®). В этом формате вы считаете биты от запуска, который является младшим значащим битом, к старшему значащему биту, переходя к следующему более высокому байту, когда вы пересекаете контур байта. Например, если вы упаковываете один байт данных в формате с прямым порядком байтов со старт-битом в 20, таблица бита данных напоминает эту фигуру.

    Прямой порядок байтов, считаемый от младшего значащего бита до самого высокого адреса

  • BE: Где порядок байтов находится в формате с обратным порядком байтов (Motorola®). В этом формате вы считаете биты от запуска, который является младшим значащим битом, к старшему значащему биту, переходя к следующему младшему байту, когда вы пересекаете контур байта. Например, если вы упаковываете один байт данных в формате с обратным порядком байтов со старт-битом в 20, таблица бита данных напоминает эту фигуру.

    Обратный порядок байтов, считаемый от младшего значащего бита до самого низкого адреса

Data type

Задайте, как сигнал интерпретирует данные в выделенных битах. Выберите из:

  • signed (значение по умолчанию)

  • unsigned

  • single

  • double

    Примечание: Если у вас есть сигнал double, который не выравнивается точно к контурам байта сообщения, чтобы сгенерировать код с Embedded Coder®, необходимо проверять Support long long под Device Details в панели Hardware Implementation диалогового окна Параметров конфигурации.

Multiplex type

Задайте, как блок упаковывает сигналы в сообщение в каждый такт:

  • Standard: сигнал упаковывается в каждый такт.

  • Multiplexor: сигнал Multiplexor или сигнал режима упаковывается. Можно задать только один сигнал Multiplexor на сообщение.

  • Multiplexed: сигнал упаковывается, если значение сигнала Multiplexor (сигнал режима) во время выполнения совпадает со сконфигурированным Multiplex value этого сигнала.

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

Имя сигналаМультиплексный типМультиплексное значение
Сигнал-AСтандартНет данных
Сигнал-BМультиплексированный1
Сигнал-CМультиплексированный0
Сигнал-DМультиплексорНет данных

В этом примере:

  • Блок упаковывает Сигнал-A (Стандартный сигнал) и Сигнал-D (Сигнал мультиплексора) в каждый такт.

  • Если значение Сигнала-D 1 в конкретный такт, то Сигнал-B пакетов блока наряду с Сигналом-A и Сигналом-D в тот такт.

  • Если значение Сигнала-D 0 в конкретный такт, то Сигнал-C пакетов блока наряду с Сигналом-A и Сигналом-D в тот такт.

  • Если значение Сигнала-D не 1 или 0, блок не упаковывает ни один из Мультиплексированных сигналов в тот такт.

Multiplex value

Эта опция доступна, только если вы выбрали Multiplex type, чтобы быть Multiplexed. Значение, которое вы обеспечиваете здесь, должно совпадать с the Multiplexor значением сигналов во время выполнения для блока, чтобы упаковать сигнал Multiplexed. Multiplex value должен быть положительным целым числом или нулем.

Factor

Задайте значение Factor, чтобы применяться, чтобы преобразовать физическое значение (значение сигналов) в необработанное значение, упакованное в сообщении. Смотрите Формулу Преобразования, чтобы понять, как физические значения преобразованы в необработанные значения, упакованные в сообщение.

Offset

Задайте значение Offset, чтобы применяться, чтобы преобразовать физическое значение (значение сигналов) в необработанное значение, упакованное в сообщении. Смотрите Формулу Преобразования, чтобы понять, как физические значения преобразованы в необработанные значения, упакованные в сообщение.

Min, Max

Задайте область значений значений сигналов. Настройками по умолчанию является -Inf (отрицательная бесконечность) и Inf, соответственно. Для CANdb specified signals эти настройки читаются из базы данных CAN. Для manually specified signals можно задать минимальное и максимальное физическое значение сигнала. По умолчанию эти настройки не отсекают значения сигналов, которые превышают их.

Формула преобразования

Формула преобразования

raw_value = (physical_value - Offset) / Factor
где physical_value является исходным значением сигнала, и raw_value является упакованным значением сигналов.

Введенный в R2018a

Для просмотра документации необходимо авторизоваться на сайте