CAN FD Pack

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

  • Библиотека:
  • Vehicle Network Toolbox / Коммуникация CAN FD

    Пакет поддержки Embedded Coder для процессоров Texas Instruments C2000 / целевая коммуникация

    Simulink Real-Time / CAN / CAN FD ПЕРЕДАЕТ блоки

  • CAN FD Pack block

Описание

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

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

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

Совет

  • Чтобы работать с сообщениями J1939, используйте блоки в Коммуникационной библиотеке блоков J1939 вместо этого блока. См. J1939.

Порты

Входной параметр

развернуть все

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

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

Вывод

развернуть все

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

Параметры

развернуть все

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

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

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

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

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

Программируемое использование

Параметры блоков: DataFormat
Ввод: string | character vector
Значения: 'raw data' | 'manually specified signals' | 'CANdb specified signals'
Значение по умолчанию: 'raw data'

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

Программируемое использование

Параметры блоков: CANdbFile
Ввод: string | character vector

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

Программируемое использование

Параметры блоков: MsgList
Ввод: string | character vector

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

Программируемое использование

Параметры блоков: MsgName
Ввод: string | character vector

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

Программируемое использование

Параметры блоков: ProtocolMode
Ввод: string | character vector
Значения: 'CAN FD' | 'CAN'
Значение по умолчанию: 'CAN FD'

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

Программируемое использование

Параметры блоков: MsgIDType
Ввод: string | character vector
Значения: 'Standard (11-bit identifier)' | 'Extended (29-bit identifier)'
Значение по умолчанию: 'Standard (11-bit identifier)'

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

Программируемое использование

Параметры блоков: MsgIdentifier
Ввод: string | character vector
Значения: '0' к '536870911'

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

Программируемое использование

Параметры блоков: MsgLength
Ввод: string | character vector
Значения: '0' к '8', '12', '16', '20', '24', '32', '48', '64'
Значение по умолчанию: '8'

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

Программируемое использование

Параметры блоков: Remote
Ввод: string | character vector
Значения: 'off' | 'on'
Значение по умолчанию: 'off'

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

Программируемое использование

Параметры блоков: BRSSwitch
Ввод: string | character vector
Значения: 'off' | 'on'
Значение по умолчанию: 'off'

Добавьте сигнал в таблицу сигнала.

Программируемое использование

'none'

Удалите выбранный сигнал из таблицы сигнала.

Программируемое использование

'none'

Эта таблица появляется, если вы принимаете решение задать сигналы вручную или задать сигналы при помощи файла 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, таблица бита данных напоминает этот рисунок.

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

    Image of little-endian byte order from least-significant bit to highest address

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

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

    Image of big-endian byte order from least-significant bit to lowest address

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, чтобы применяться, чтобы преобразовать физическое значение (значение сигналов) в необработанное значение, упакованное в сообщении. Смотрите формулу преобразования параметра Data input as, чтобы изучить, как физические значения преобразованы в необработанные значения, упакованные в сообщение.

Offset

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

Min, Max

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

Программируемое использование

Параметры блоков: SignalInfo
Ввод: string | character vector

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Введенный в R2018a