Byte Packing

Создайте системы координат данных

  • Библиотека:
  • Simulink в утилитах

  • Byte Packing block

Описание

Блок Byte Packing преобразует один или несколько сигналов выбираемых пользователем типов данных в один вектор меняющихся типов данных. Обычно выход этого блока соединяется с входом портом блока Send.

Блок Byte Packing и блок Byte Unpacking поддерживают slrealtime.tlc генерация кода target и сгенерировать код, который запускается на целевых компьютерах Speedgoat. Из-за таких факторов, как бесконечность и адресуемый размер слова, эти блоки могут генерировать неправильные результаты для других целей генерации кода или целевых компьютеров.

Например, предположим, что вы упаковываете три сигнала в вектор uint8. Сигналы имеют следующие атрибуты:

РазмерностьРазмерНапечатать
Скаляр1single
Вектор3uint8
Вектор3uint8
  1. Установите тип данных упакованного выходного порта равным uint8.

  2. Установите тип данных входного порта в массив ячеек, кодирующий типы данных:

    {'single', ['uint8'], ['uint8']}

    Используйте квадратные скобки, чтобы представлять векторы.

  3. Установите значение выравнивания байтов равным 1.

  4. Соедините сигналы с блоком Byte Packing.

Порты

Вход

расширить все

Блок имеет от 1 для N входных портов. Укажите количество входных портов и их типы путем ввода их в качестве массива ячеек в Input port (unpacked) data types (cell array) параметров.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean

Выход

расширить все

Блок отображает один выходной порт, который передает вектор упакованных данных. Тип данных упакованных данных определяется путем установки Output port (packed) data type.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean

Параметры

расширить все

Из списка выберите тип данных для порта выходов.

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

Параметры блоков: MaskPackedDataType

Задайте в качестве массива ячеек типы данных входных портов (распакованных) для различных входных сигналов. Количество элементов в массиве ячеек определяет количество портов входов, показанных этим блочным образцам. Чтобы представлять векторные элементы, используйте квадратные скобки в массиве ячеек.

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

Параметры блоков: MaskUnpackedDataTypes

Каждый элемент в списке входных сигналов начинается с кратного значения выравнивания, заданного с начала вектора. Если значение выравнивания больше, чем размер типа данных в байтах, блок заполняет пространство полезными байтами 0.

Для примера, если выравнивание значение 4:

  • uint32 не получает заполнения

  • uint16 получает 2 байты заполнения

  • uint8 получает 3 байты заполнения

Если модель часто обращается к элементам данных, рассмотрите выбор значения выравнивания, равного самому большему типу данных, к которым вы хотите получить доступ. Если модель часто переносит элементы данных как группу, учитывайте значение выравнивания 1, который упаковывает данные в максимально небольшое пространство.

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

Параметры блоков: MaskAlignment

Примеры моделей

См. также

Введенный в R2006a