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

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

Этот пример является вторым из трех примеров, которые используют три кольцевых модели осциллятора этапа, чтобы исследовать область значений опций для симуляции аналоговых применений цифровых схем. Задержки каждого этапа определяют вывод кольцевого осциллятора 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".