Rate Transition

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

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

    Атрибуты HDL-кодера/сигнала

  • Rate Transition block

Описание

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

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

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

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

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

Выберите:

  • Ensure data integrity during data transfer

  • Ensure deterministic data transfer

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

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

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

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

Выберите:

  • Ensure data integrity during data transfer

Ясно:

  • Ensure deterministic data transfer

  • Потенциальная потеря целостности данных

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

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

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

Ясно:

  • 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

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

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

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

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

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

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

Для получения дополнительной информации смотрите Handle Rate Transitions (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

Нет (ошибка)

КЛЮЧ

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

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

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

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

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

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

Настройки блоков

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

inTs = outTs

Copy

Copy

Copy

inTsoutTs

Нет (ошибка)

Db_buf

КЛЮЧ

  • 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