exponenta event banner

Переход ставки

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

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

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

  • Rate Transition block

Описание

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

Параметры обработки перехода

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

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

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

Выберите:

  • Обеспечение целостности данных во время передачи данных

  • Обеспечение детерминированной передачи данных

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

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

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

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

Выберите:

  • Обеспечение целостности данных во время передачи данных

Ясно:

  • Обеспечение детерминированной передачи данных

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

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

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

  • Снижение требований к памяти

Ясно:

  • Обеспечение целостности данных во время передачи данных

  • Обеспечение детерминированной передачи данных

Зависимости

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

Метки блоков

При обновлении диаграммы в блоке «Скорость перехода» появляется метка, указывающая поведение моделирования.

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

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

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

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

Цвета времени образца и метка поведения блока показывают:

  • Блок 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

Нет (ошибка)

КЛЮЧ

  • inTs, outTsВремя выборки входного и выходного портов, соответственно

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

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

При выборе параметра сокращения блока в диалоговом окне «Параметры конфигурации» 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

Параметры

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

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

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

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

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

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

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

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

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

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

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

Задает режим для задания времени выборки выходного порта. Возможны следующие варианты:

  • Specify - позволяет использовать параметр времени выборки выходного порта для указания выходной скорости, с которой блок 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 наследует выходную скорость от блока, к которому подключен выходной порт. Сведения о том, как задать выходную скорость, см. в разделе Указание времени выборки.

Зависимости

Чтобы включить этот параметр, установите для параметров времени выборки выходного порта значение Specify.

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

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

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

Зависимости

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

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

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

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

Типы данных

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

Прямой проход

yes

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

yes

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

no

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

no

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

.

Преобразование с фиксированной точкой
Проектирование и моделирование систем с фиксированной точкой с помощью Designer™ с фиксированной точкой.

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