Rate Transition

Обработайте передачу данных между блоками, действующими на различных уровнях

  • Библиотека:
  • Simulink / Атрибуты Сигнала

    HDL Coder / Атрибуты Сигнала

  • Rate Transition block

Описание

Данные о поблочных передачах Rate Transition из выхода блока, действующего на одном уровне к входу блока, действующего на различном уровне. Используйте параметры блоков, чтобы торговать целостностью данных и детерминированной передачей для более быстрого ответа или более низких требований к памяти. Чтобы узнать о целостности данных и детерминированной передаче данных, смотрите проблемы Передачи данных (Simulink Coder).

Опции обработки перехода

Опции обработки переходаНастройки параметров блоков
  • Целостность данных

  • Детерминированная передача данных

  • Максимальная задержка

Выбор:

  • Ensure data integrity during data transfer

  • Ensure deterministic data transfer

  • Целостность данных

  • Недетерминированная передача данных

  • Минимальная задержка

  • Более высокие требования к памяти

Выбор:

  • Ensure data integrity during data transfer

Clear:

  • Ensure deterministic data transfer

  • Возможные потери целостности данных

  • Недетерминированная передача данных

  • Минимальная задержка

  • Более низкие требования к памяти

Clear:

  • Ensure data integrity during data transfer

  • Ensure deterministic data transfer

Зависимости

Поведение блока Rate Transition зависит от:

Блокируйте метки

Когда вы обновляете свою схему, метка, кажется, на блоке Rate Transition указывает на поведение симуляции.

МеткаБлокируйте поведение
ZOH Законы как нулевой порядок содержат
1/z Законы как единичная задержка
Buf Вход копий, чтобы вывести под семафорным управлением
Db_buf Вход копий, чтобы вывести двойные буферы использования
3bufВход копий, чтобы вывести использование утраивает буферы
Copy Незащищенная копия входа, чтобы вывести
NoOp Ничего не делает
Mixed Расширяется до нескольких блоков с различными поведениями
RT

Указывает на передачу данных между разделами при использовании Редактора Расписания.

Для получения дополнительной информации об использовании Редактора Расписания смотрите Используя Редактор Расписания.

Метка поведения блока показывает метод, который гарантирует безопасную передачу данных между задачами, действующими на различных уровнях. Можно использовать функцию цветов шага расчета (информация о Шаге расчета вида на море), чтобы отобразить относительные уровни, которые соединяет блок. Рассмотрите, например, следующую модель:

Шаг расчета окрашивает и метка show поведения блока:

  • Блок Rate Transition наверху действий схемы как нулевой порядок содержит в быстром-к-медленному переходе.

  • Блок Rate Transition в нижней части схемы действует как единичная задержка в переходе быстрого не спешения.

Для получения дополнительной информации смотрите Переходы Уровня Указателя (Simulink Coder).

Эффекты синхронных шагов расчета

Следующая таблица подводит итог, как каждая метка появляется когда шаги расчета портов ввода и вывода (inTs и outTs) являются периодическими, или синхронными.

Блокируйте настройки

Блокируйте метку

Переход уровня

Условия для блока перехода уровня

С целостностью данных и детерминизмом

Только с целостностью данных

Без целостности данных или детерминизма

inTs = outTs

(Равный)

inTsOffset <outTsOffset

Ни один (ошибка)

Buf

Copy или NoOp (см. примечание, которое следует таблице),

inTsOffset = outTsOffset

Copy или NoOp (см. примечание, которое следует таблице),

Copy или NoOp (см. примечание, которое следует таблице),

inTsOffset > outTsOffset

Ни один (ошибка)

Db_buf

inTs <outTs

(Быстро, чтобы замедлиться)

inTs = outTs / N

inTsOffset, outTsOffset = 0

ZOH

Buf

inTs = outTs / N

inTsOffsetoutTsOffset

Ни один (ошибка)

inTs = outTs / N

inTsOffset > outTsOffset

Ни один (ошибка)

Db_buf

inTsoutTs / N

Ни один (ошибка)

inTs > outTs

(Медленный к быстрому)

inTs = outTs * N

inTsOffset, outTsOffset = 0

1/z

Db_buf

inTs = outTs * N

inTsOffsetoutTsOffset

Ни один (ошибка)

inTs = outTs * N

inTsOffset > outTsOffset

Ни один (ошибка)

inTsoutTs * N

Ни один (ошибка)

TRANSLATION

  • inTs, outTs: Шаги расчета портов ввода и вывода, соответственно

  • inTsOffset, outTsOffset: Смещения шага расчета портов ввода и вывода, соответственно

  • N: Целочисленное значение> 1

Когда вы выбираете параметр Block reduction на диалоговом окне Configuration Parameters, Copy уменьшает до NoOp. Никакая генерация кода не происходит для блока Rate Transition с NoOp метка. Чтобы препятствовать тому, чтобы блок уменьшался, когда сокращение блока включено, добавьте тестовую точку в блок выход (см., Конфигурируют Сигналы как Тестовые точки в документации Simulink).

Эффекты асинхронных шагов расчета

Следующая таблица подводит итог, как каждая метка появляется когда шаг расчета порта ввода или вывода (inTs или outTs) не является периодическим, или асинхронным.

Блокируйте настройки

Блокируйте метку
С целостностью данных и детерминизмомТолько с целостностью данныхБез целостности данных или детерминизма

inTs = outTs

Copy

Copy

Copy

inTsoutTs

Ни один (ошибка)

Db_buf

TRANSLATION

  • inTs, outTs: Шаги расчета портов ввода и вывода, соответственно

Эффекты конфигурации устройства

Если настройки параметров конфигурации модели, Device vendor и Device type задают оборудование, которое поддерживает атомарную загрузку данных и операции хранилища, генератор кода, оптимизируют сгенерированный код перехода уровня, когда целевой компьютер поддерживает атомарную загрузку и операции хранилища для типа данных передаваемого сигнала. Генератор кода использует в своих интересах аппаратную загрузку данных и возможность хранилища, заменяя код двойной буферизации между асинхронными задачами с кодом, который выполняет одну копию памяти.

Порты

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

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

Входной сигнал к переходу к новой частоте дискретизации в виде скаляра, вектора, матрицы или массива N-D. Чтобы узнать о параметрах блоков, которые позволяют вам торговать целостностью данных и детерминированной передачей для более быстрого ответа или более низких требований к памяти, смотрите, что Переход Обрабатывает Опции.

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

Вывод

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

Выходной сигнал является входным сигналом, преобразованным в частоту дискретизации, которую вы задаете. Настройка по умолчанию гарантирует безопасную и детерминированную передачу данных. Чтобы узнать о параметрах блоков, которые позволяют вам торговать целостностью данных и детерминированной передачей для более быстрого ответа или более низких требований к памяти, смотрите, что Переход Обрабатывает Опции.

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

Параметры

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

Выбор этого флажка приводит к сгенерированному коду, который гарантирует целостность данных когда данные о поблочных передачах. Если вы устанавливаете этот флажок, и передача недетерминирована (см. Ensure deterministic data transfer), в зависимости от приоритета входного уровня и нормы выработки, сгенерированный код использует соответствующий алгоритм, использующий один или несколько буферов, чтобы защитить целостность данных во время передачи данных.

В противном случае блок Rate Transition или уменьшается или генерирует код с помощью операции копии, чтобы влиять на передачу данных. Этот незащищенный режим использует меньше памяти. Но операция копии также прерываема, который может привести к потере целостности данных во время передач данных. Установите этот флажок, если вы хотите, чтобы сгенерированный код действовал с максимальной скоростью отклика (то есть, недетерминировано) и целостность данных. Для получения дополнительной информации см. Опции Блока Перехода Уровня (Simulink Coder).

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

Параметры блоков: Integrity
Ввод: символьный вектор
Значения: 'off' | 'on'
Значение по умолчанию: 'on'

Выбор этого флажка приводит к сгенерированному коду, который передает данные на уровне частоты дискретизации более медленного блока, то есть, детерминировано. Если вы не устанавливаете этот флажок, передачи данных происходят, когда новые данные доступны от исходного блока, и блок получения готов получить данные. Вы избегаете задержек передачи, таким образом гарантируя, что система действует с максимальной скоростью отклика. Однако передачи могут произойти непредсказуемо, который является нежелательным в некоторых приложениях. Для получения дополнительной информации см. Опции Блока Перехода Уровня (Simulink Coder).

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

Параметры блоков: Deterministic
Ввод: символьный вектор
Значения: 'off' | 'on'
Значение по умолчанию: 'on'

Этот параметр применяется только к переходам быстрого не спешения. Это задает начальный выход блока Rate Transition в начале перехода, когда нет никакого выходного сигнала из-за отсутствия входного сигнала, прибывающего из медленного блока, соединенного с входом блока Rate Transition. Simulink не позволяет начальному выходу этого блока быть Inf или NaN. Значение, которое вы задаете, должно быть скаляром или иметь те же размерности как входной сигнал.

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

Параметры блоков: InitialCondition
Ввод: символьный вектор
Значения: конечный скаляр
Значение по умолчанию: '0'

Задает режим для установки шага расчета выходного порта. Опции:

  • Specify — Позволяет вам использовать параметр Output port sample time, чтобы задать норму выработки, в которую блок Rate Transition преобразует свой входной уровень.

  • Inherit — Указывает, что блок Rate Transition наследовал норму выработки от блока, до которого соединяется выходной порт.

  • Multiple of input port sample time — Позволяет вам использовать параметр Sample time multiple (>0), чтобы задать норму выработки блока Rate Transition как кратное ее входному уровню.

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

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

Параметры блоков: OutPortSampleTimeOpt
Ввод: символьный вектор
Значения: 'Specify' | 'Inherit' | 'Multiple of input port sample time'
Значение по умолчанию: 'Specify'

Введите значение, которое задает норму выработки, в которую блок преобразует свой входной уровень. Значение по умолчанию (-1) указывает, что блок Rate Transition наследовал норму выработки от блока, до которого соединяется выходной порт. См. Настройку времени выборки для получения информации о том, как задать норму выработки.

Зависимости

Чтобы включить этот параметр, установите Output port sample time options на Specify.

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

Параметры блоков: OutPortSampleTime
Ввод: символьный вектор
Значения: скаляр | вектор
Значение по умолчанию: '-1'

Введите положительное значение, которое задает норму выработки как кратное шагу расчета входного порта. Значение по умолчанию (1) указывает, что норма выработки совпадает с входным уровнем. Значение 0.5 указывает, что норма выработки является половиной входного уровня. Значение 2 указывает, что норма выработки является дважды входным уровнем.

Зависимости

Чтобы включить этот параметр, установите Output port sample time options на Multiple of input port sample time.

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

Параметры блоков: OutPortSampleTimeMultiple
Ввод: символьный вектор
Значения: скаляр
Значение по умолчанию: '1'

Характеристики блока

Типы данных

Boolean | bus | double | enumerated | fixed point | half | integer | single

Прямое сквозное соединение

yes

Многомерные сигналы

yes

Сигналы переменного размера

no

Обнаружение пересечения нулем

no

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

Преобразование фиксированной точки
Спроектируйте и симулируйте системы фиксированной точки с помощью Fixed-Point Designer™.

Представлено до R2006a