exponenta event banner

Цифровая синхронизация Используя фиксированную выборку шага

В этом примере показано, как смоделировать три кольцевых генератора этапа с помощью комбинации фиксированного шага, и переменная продвигаются дискретные шаги расчета.

Этот пример является вторым из трех примеров, которые используют три кольцевых модели генератора этапа, чтобы исследовать область значений опций для симуляции аналоговых применений цифровых схем. Задержки каждого этапа определяют выход кольцевого генератора frquency, делая точное моделирование этих задержек важным для симуляция схемы.

Первый пример в последовательности содержит фон, который поможет вам получить все возможное от этого примера. Необходимо считать его сначала, если вы уже не сделали так.

Для каждого этапа кольцевого генератора блок Logic Decision преобразует вход во влажный переменный шаг, дискретный сигнал и блок Slew Rate преобразуют выход в аналог зафиксированный шаг дискретный сигнал. Некоторая задержка блока Logic Decision неизбежна; однако большая часть задержки введена блоком Slew Rate.

Блок Logic Decision генерирует переменный шаг, который дискретная выборка при ее выходе в ответ на любой порог, пересекающий его, обнаруживает в ее входе.

Для фиксированного шага дискретный входной шаг расчета пороговое время пересечения определяется линейной интерполяцией между двумя новыми выборками. Выходная выборка задерживается одной выборкой, потому что блок не имеет доступа к фиксированному в сервисах незначительного шага решателя ОДУ. В моделировании схемы эта задержка должна представлять или задержку входных каскадов в многоступенчатой транзисторной цепи или задержку маршрутизации линии электропередачи RC.

Для фиксированного входа шага точность порогового времени пересечения, о котором сообщает блок Logic Decision, зависит от отношения спектрального содержимого сигнала к частоте Найквиста, заданной частотой дискретизации. Для синусоиды в 0.25 времена частота Найквиста (8x сверхдискретизировавший), максимальной погрешностью в пороговое время пересечения, о котором сообщают, является 1% из демонстрационного интервала. Для 0.1 времена частота Найквиста, максимальной погрешностью является 0.15% из демонстрационного интервала. Для приложений, требующих большей точности, таких как оценка шума фазы низкого уровня при выходе PLL, подход, который зависит только от переменной выборки шага, может привести к более точным результатам.

Для переменного входа шага выход блока Logic Decision задерживается минимальным параметром задержки для блока.

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

  • Постоянная задержка та, которая может произойти в многоступенчатой транзисторной цепи или задержке маршрутизации RC

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

  • Экспоненциал затухает те, которые были бы типичны для схемы RC

% Load the mixed analog/digital model and update the model to display
% sample times.
open_system('AnalogWaveform');
set_param(gcs,'SimulationCommand','update');

Блок скорости нарастания в режиме выборки значения по умолчанию

В этом разделе используйте режим выборки Значения по умолчанию блока Slew Rate, чтобы смоделировать ответ схемы, скорость нарастания которой является почти постоянной, такой влажный транзистор, управляющий емкостной загрузкой.

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

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

Поскольку модель не содержит дифференциальных уравнений, решатель является Переменным Дискретным Шагом.

Обратите внимание в ответе, что начало переключающихся ребер немного округлено. В действительной схеме это обычно происходило бы из-за ответа RC маршрутизации.

% Run the mixed analog/digital model with default sample times
sim('AnalogWaveform');

Блок скорости нарастания в усовершенствованном режиме выборки

В этом разделе используйте Усовершенствованный режим выборки блока Slew Rate к схемам модели, ответ которых является, в основном, затухающим экспоненциалом.

Выберите режим Advanced для выборки блока Slew Rate и установите Максимальную частоту интереса для значения, которое достаточно высоко, чтобы сделать задержку блока Slew Rate, в основном, благодаря экспоненциальному затуханию. Этот выбор также минимизирует задержку блока Logic Decision.

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

% Configure the mixed analog/digital model to approximate single pole
% response.
% Slew Rate1
set_param('AnalogWaveform/Slew Rate1','DefaultOrAdvanced','Advanced');
set_param('AnalogWaveform/Slew Rate1','MaxFreqInterest','20e9');
set_param('AnalogWaveform/Slew Rate1','RisePropDelay','92e-12');
set_param('AnalogWaveform/Slew Rate1','RiseTime','15.5e-11');
% Slew Rate2
set_param('AnalogWaveform/Slew Rate2','DefaultOrAdvanced','Advanced');
set_param('AnalogWaveform/Slew Rate2','MaxFreqInterest','20e9');
set_param('AnalogWaveform/Slew Rate2','RisePropDelay','92e-12');
set_param('AnalogWaveform/Slew Rate2','RiseTime','15.5e-11');
% Slew Rate3
set_param('AnalogWaveform/Slew Rate3','DefaultOrAdvanced','Advanced');
set_param('AnalogWaveform/Slew Rate3','MaxFreqInterest','20e9');
set_param('AnalogWaveform/Slew Rate3','RisePropDelay','95e-12');
set_param('AnalogWaveform/Slew Rate3','RiseTime','16e-11');
% Update the diagram to show revised sample times in sample time legend.
set_param(gcs,'SimulationCommand','update');
% Run he mixed analog/digital model with emphasized one pole response
sim('AnalogWaveform');
Warning: Undefined variable "autosar" or class
"autosar.api.Utils.initMessageStreamHandler".