Настройка базовые блоки Datapath

В этом примере показано, как настроить блок PassThrough в Simulink®, чтобы использовать функциональный блок MATLAB® или другую библиотеку блоков Simulink. Вы будете видеть, как реализацией усиления приемника или этапа затухания управляет параметр IBIS-AMI, и этот пример предоставляет руководство, чтобы изменить блоки PassThrough, чтобы реализовать пользовательские функции для системы SerDes.

Функция блока PassThrough и использование

По умолчанию блок PassThrough, когда имя подразумевает, блок, который передает входной импульс или форму волны к выходу без модификаций. Этот блок может использоваться в качестве инструмента планирования пола в Приложении SerDes Designer и затем настраиваться после экспорта в Simulink. Под маской PassThrough блок является блоком MATLAB System, ссылающимся на serdes.PassThrough Систему object™, который, когда названо Simulink направляет входные данные к выходу. Блок MATLAB System может быть обновлен, чтобы сослаться на другие Системные объекты SerDes или может быть заменен другими блоками Simulink как этот пример основы. Для примера настройки с Системными объектами смотрите Реализацию Пользовательский CTLE в SerDes Toolbox Блок PassThrough.

Создайте систему SerDes в приложении SerDes Designer

Запустите приложение SerDes Designer. Поместите блок PassThrough после аналоговой модели приемника. Поменяйте имя блока PassThrough из PT к CustomExample.

Экспортируйте систему SerDes в Simulink.

Добавьте параметр AMI, чтобы управлять усилением

Дважды щелкните по блоку Rx, чтобы посмотреть в подсистеме Rx и открыть диалоговое окно SerDes IBIS-AMI Manager.

Во вкладке AMI-Rx выберите узел CustomExample. Нажмите на кнопку Add Parameter и установите переменные:

  • Название параметра к ExampleGain

  • Описание к Gain setting for Receiver

  • Формат к Range

  • Typ к 0.8

  • Min к 0

  • Max к 1.

Текущее значение, Использование и Тип сохранены в их значениях по умолчанию 0\in, и Float, соответственно.

Подтвердите настройки и нажмите ОК.

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

Измените PassThrough в блок MATLAB function

Можно создать MATLAB функциональный блок и добавляет код, чтобы использовать параметр ExampleGain в качестве модификатора к В сигнале. Чтобы проиллюстрировать рабочий процесс, этот пример покажет, как реализовать усиление (использующий умножение), но любой MATLAB функция может быть реализована для вашей системы.

function out = fcn(in,ExampleGain)

gainSignal = ExampleGain*in;

out=gainSignal;

Затем можно удалить блок PassThrough и обеспечить электричеством MATLAB блокируйтесь с входными сигналами В, ExampleGain и выходной сигнал как показано:

Не забудьте возвращаться к подсистеме Rx, дважды кликать на Init и кликать по кнопке Refresh Init. Вы видите влияние значения параметра ExampleGain путем открытия менеджера AMI IBIS и изменения Текущего значения ExampleGain к 0.8.

Запустите симуляцию и наблюдайте результаты.

Измените Текущее значение ExampleGain к 1.0 и повторно выполненный симуляция, чтобы подтвердить параметр ExampleGain изменяет сигнал Приемника.

Эти шаги показали вам, как реализовать параметр AMI под названием ExampleGain с помощью MATLAB функциональный блок в вашей системе. Можно также использовать встроенные блоки, чтобы настроить блок PassThrough, как объяснено в разделе "Change PassThrough to Gain Block or Other Built-in Block".

Измените PassThrough, чтобы получить блок или другой встроенный блок

Другой способ сконфигурировать пользовательский блок PassThrough для вашей модели состоит в том, чтобы использовать встроенный блок. Например, блок Gain может быть добавлен в блоке PassThrough. Вместо того, чтобы создать MATLAB функциональный блок, посмотрите под маской блока "CustomExample" после параметра, ExampleGain создается из шагов в разделе "Add AMI Parameter to Control Gain" выше:

Удалите параметр ExampleGain. Необходимо видеть, что холст теперь похож на serdes.PassThrough по умолчанию Системный объект:

Затем удалите блок MATLAB System, который указывает на serdes.PassThrough Системный объект:

Добавьте блок Gain из библиотеки Simulink> MathOperators и соедините блок Gain между портами ввода и вывода:

Примечание: В то время как этот пример использует блок Gain для проиллюстрированного рабочего процесса, можно использовать любой встроенный блок (а также MATLAB функция.

Соедините параметры блоков блока усиления к добавленному параметру AMI

Константы представлены как параметры Simulink. Дважды щелкните по блоку Gain, чтобы открыть диалоговое окно Block Parameters. Установите значение Усиления к CustomExampleParameter.ExampleGain.

Обновите Код который Запуски Во время Статистического анализа

Чтобы позволить усилению быть примененным к импульсной характеристике во время статистического анализа, дважды щелкают по блоку Init в подсистеме Rx. Нажмите кнопку Refresh Init, чтобы добавить новый параметр AMI в код Init. Нажмите кнопку Show Init, чтобы открыть окно редактора MATLAB и искать Пользовательскую пользовательскую область кода, окруженную %%BEGIN и %END комментарии. Ваш код, сопоставленный с индивидуально настраиваемым блоком PassThrough, инкапсулируется в этом разделе.

Реализуйте усиление

В Пользовательской пользовательской области кода отредактируйте свой индивидуально настраиваемый код, чтобы выполнить операцию Gain на локальной переменной, содержащей Импульсную характеристику. Для этого замените код:

CustomExampleParameter.ExampleGain;

с:

LocalImpulse = LocalImpulse*CustomExampleParameter.ExampleGain;

Пользовательская пользовательская область кода должна появиться как указано ниже:

Сохраните изменения.

Примечание: Если код Init не изменяется, следует из Статистической симуляции, не отражает операцию усиления и только показан в результатах Временного интервала (GetWave) симуляция.

Запустите симуляцию с установкой усиления

Откройте диалоговое окно SerDes IBIS-AMI Manager и нажмите на вкладку AMI-Rx. Выберите ExampleGain* узел и установите Текущее значение к 0.8.

Запустите симуляцию и наблюдайте амплитуду формы волны от Временного интервала (GetWave) и формы волны от Статистического (Init) результаты.

Измените настройки усиления и наблюдайте изменение

Откройте диалоговое окно SerDes IBIS-AMI Manager и нажмите на вкладку AMI-Rx. Выберите ExampleGain* узел и установите Текущее значение к 0.4.

Запустите симуляцию снова и наблюдайте, как амплитуда изменяется и для формы волны от Временного интервала (GetWave) и для формы волны от Статистического (Init).

Эти шаги показали вам, как реализовать параметр AMI под названием ExampleGain с помощью встроенного блока, чтобы настроить блок PassThrough. Можно также реализовать параметр AMI с помощью MATLAB функциональный блок в вашей системе, как объяснено в разделе "Change PassThrough to a MATLAB Function Block".

Смотрите также

| |

Похожие темы