exponenta event banner

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

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

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

Первый пример последовательности, Logic Timing Simulation, содержит фоновую информацию об этом примере. Сначала прочитайте этот пример, если вы еще не сделали этого. После завершения этого примера можно перейти к примеру «Цифровая синхронизация с использованием решений для обычных дифференциальных уравнений» (Digital Timing Using Solutions to Ordinary Differential Equations).

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

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

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

Для ввода с фиксированным шагом точность порогового времени пересечения, сообщаемая блоком логического решения, зависит от отношения спектрального содержания сигнала к частоте Найквиста, определяемой частотой дискретизации. Для синусоидальной волны с частотой Найквиста, в 0,25 раза превышающей частоту Найквиста (8x избыточная выборка), максимальная ошибка в сообщаемом пороговом времени пересечения составляет 1% интервала выборки. Для частоты Найквиста, 0,1 раз максимальной погрешностью является 0,15% интервала выборки. Для приложений, требующих большей точности, таких как оценка низкоуровневого фазового шума на выходе ФАПЧ, подход, который зависит только от переменной ступенчатой выборки, может дать более точные результаты.

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

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

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

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

  • Экспоненциальный распад, типичный для RC-цепи

Загрузите смешанную аналоговую/цифровую модель и обновите модель для отображения времени выборки.

open_system('AnalogWaveform');
set_param(gcs,'SimulationCommand','update');

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

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

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

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

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

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

Запустите смешанную аналоговую/цифровую модель со временем выборки по умолчанию.

sim('AnalogWaveform');

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

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

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

В ответе следует отметить, что начало краев переключения является относительно резким.

Сконфигурируйте смешанную аналоговую/цифровую модель для аппроксимации однополюсного отклика.

% 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');

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

set_param(gcs,'SimulationCommand','update');

Запустить он смешал аналоговую/цифровую модель с подчеркнутым откликом одного полюса.

sim('AnalogWaveform');

См. также

|

Связанные темы