2 - 2020

Цифро-аналоговое и смешанное моделирование в PADS Professional


Богдан Филипов,
менеджер по продукту АО «Нанософт»

Введение

Одной из очень полезных функций, включенных в состав PADS Professional, является встроенный инструмент моделирования аналоговых смешанных сигналов (AMS), благодаря которому вы можете моделировать ваши схематические проекты с использованием моделей SPICE и VHDL­AMS. Возможность применения обоих вариантов моделей позволяет выполнять более гибкую и точную проверку сложных мехатронных систем. Выполняя моделирование до начала этапа компоновки, трассировки или производства, вы сможете гарантировать, что ваши схемотехнические решения будут работать так, как вы задумывали, и при этом исключите проблемы, связанные с их эксплуатационными характеристиками. В предлагаемом примере мы спроектируем и смоделируем схему генератора с использованием моделей SPICE и VHDL­AMS. А затем рассмотрим, как применять  интегрированные функции AMS для моделирования уже существующих схем.

Создание схемы

В PADS Designer мы спроектировали частично законченный контур осциллятора. Первое, что мне нужно сделать, это добавить недостающие элементы схемы и связанные с ними имитационные модели. Специальный инструмент для поиска и размещения символов можно запустить непосредственно из панели инструментов моделирования AMS в PADS Designer. Первый компонент, который я размещу на схеме, — это операционный усилитель LM741, представленный стандартным 7­выводным символом, расположенным в подразделе SpiceMacromodel (рис. 1).

Рис. 1. Добавление символа операционного усилителя 
в частично законченную схему осциллятора

Рис. 1. Добавление символа операционного усилителя в частично законченную схему осциллятора

Аналогичным способом разместим из библиотеки символ недостающего резистора с привязанной моделью VHDL­AMS. После того как мы разместили символ резистора, кликаем правой кнопкой мыши на символе и выбираем Edit Model Properties. В появившемся окне Model Properties я могу отредактировать все необходимые свойства модели, в том числе выбрать конкретный part number и задать нужные числовые параметры. В нашем случае я присваиваю компоненту заранее рассчитанное значение резистора в 3,2 кОм, которое необходимо для достижения правильного усиления осциллятора (рис. 2).

Рис. 2. Присвоение номинала резистору через окно Model Properties

Рис. 2. Присвоение номинала резистору через окно Model Properties

Далее аналогичным образом через окно Model Properties выбираем для символа операционного усилителя нужную модель микросхемы. В выпадающем списке Spice File Name показаны все доступные разделы библиотек моделей. В списке Model/Sub­circuit отображаются все компоненты, входящие в выбранную библиотеку моделей. Здесь я выбираю модель операционника: LM741 (рис. 3). После выбора модели открывается окно, где вы можете сопоставить выводы модели с выводами символа (это происходит автоматически, но при необходимости вы всегда можете их переназначить).

Рис. 3. Назначение имитационной SPICE-модели LM741 
символу операционного усилителя

Рис. 3. Назначение имитационной SPICE-модели LM741 символу операционного усилителя

Чтобы закончить эту схему генератора с мостом Вина, мне понадобится пара диодов. SPICE­примитив диода может быть размещен непосредственно из панели инструментов моделирования в PADS Designer. После размещения символа я следую той же процедуре, что и при использовании операционного усилителя LM741, чтобы выбрать нужную модель компонента. В нашем случае мне нужна модель 1N914. Данная схема требует, чтобы эти диоды были размещены параллельно и во встречном направлении для поддержания правильного коэффициента усиления и обеспечения стабильного состояния колебаний. После того как я назначил модель первому диоду, я могу просто скопировать этот символ со всеми назначенными ему свойствами и поместить его в необходимое место как второй диод (рис. 4).

Рис. 4. Добавление двух параллельных диодов в схему осциллятора

Рис. 4. Добавление двух параллельных диодов в схему осциллятора

Формирование источников питания и сигналов

В PADS Pro Designer, благодаря полностью интегрированной платформе моделирования AMS, модели земли и питания могут быть добавлены без необходимости создания и размещения отдельного схематического символа. Перед тем как добавить положительные и отрицательные модели источника напряжения для моего операционного усилителя, я сначала нарисую цепи, подключу их к положительному и отрицательному выводу символа и назову их соответствующим образом. Далее выбираю Setup Schematic на панели Simulation и в появившемся окне перехожу на вкладку Add Sources (Добавить источники). Так как на предыдущем шаге я уже указал имена цепей питания, подключенных к контактам операционного усилителя, выбор этих цепей для назначения им положительных и отрицательных 5­вольтовых источников будет очень простым процессом (рис. 5).

Рис. 5. Добавление положительного и отрицательного источников напряжения для операционника

Рис. 5. Добавление положительного и отрицательного источников напряжения для операционника

На этих моделях источника есть возможность включить опцию моделирования по переменному току (AC). Она может применяться, когда вы хотите промоделировать частотный отклик данного домена в другой цепи постоянного тока. Я не буду использовать опцию моделирования переменного тока для источников напряжения операционника, но добавлю кусочно­линейный источник тока с опцией анализа по переменному току в RC­цепь (P1) своей схемы генератора. Цель — имитировать переходные процессы включения, которые запускают колебания в реальных условиях. Для кусочно­линейного источника тока я хочу, чтобы 0,1 мА включались на 30 мкс, а затем выключались при значении переменного тока, равном 1 А. Этого будет достаточно, чтобы запустить осцилляции (рис. 6).

Рис. 6. Создание кусочно-линейного источника тока 
для скачкообразных осцилляций

Рис. 6. Создание кусочно-линейного источника тока для скачкообразных осцилляций

Моделирование

После того как мы добавили все источники, можно приступать к самому моделированию схемы. Я выбираю только ту часть схемы, которую хочу смоделировать в PADS Designer, затем щелкаю правой кнопкой мыши и выбираю Simulate Selected Components (Моделировать только выбранные компоненты). Начну с анализа во временной области (5 мс). Я надеюсь увидеть выходную синусоиду с частотой около 14 кГц. Быстро просмотрев и оценив смоделированный выходной сигнал, делаю вывод, что эта схема работает так, как и ожидалось (рис. 7).

Рис. 7. Моделирование формы выходного сигнала 
во временной области для схемы генератора

Рис. 7. Моделирование формы выходного сигнала во временной области для схемы генератора

Теперь, когда я знаю, что этот осциллятор правильно работает на частоте 14 кГц, скопирую эту схему и изменю значения конденсаторов в RC­цепочке, чтобы смоделировать второй осциллятор на частоте 8 кГц. Далее включу в схему третий операционный усилитель, который будет действовать как простой сумматор, чтобы сложить две синусоиды вместе (рис. 8). Наконец, мне, как и ранее, нужно добавить кусочно­линейный источник тока в цепь (P2). Я буду использовать для этого источника тока те же параметры, что и для первого генератора; таким образом, оба генератора будут запускаться одновременно. На практике я могу воспользоваться этой схемой для устройств обработки сигналов, где выход на суммирующий усилитель является входом в АЦП.

Рис. 8. Готовая схема с двумя генераторами и суммирующим усилителем

Рис. 8. Готовая схема с двумя генераторами и суммирующим усилителем

PADS Professional позволяет осуществлять подобные симуляции на любых этапах проектирования. Таким образом, выполняя моделирование на разных этапах проекта, вы можете значительно уменьшить или полностью исключить нежелательные функциональные сюрпризы в готовом изделии. Теперь я готов смоделировать весь лист со схемой, чтобы убедиться, что вся система работает, как и ожидалось. На этот раз выполню моделирование в частотной области от 1 Гц до 100 кГц, чтобы получить четкое визуальное представление о работе всей системы. Посмотрев на выходной сигнал схемы суммирования (рис. 9), можно ясно видеть два синусоидальных сигнала, каждый из которых функционирует на своих заданных частотах.

Рис. 9. Моделирование всей схемы в частотной области. Отчетливо видны оба синусоидальных сигнала

Рис. 9. Моделирование всей схемы в частотной области. Отчетливо видны оба синусоидальных сигнала

Различные виды анализа

Вернемся к нашей схеме. Я также создал простой понижающий преобразователь (5 В – 3,3 В) с частотой переключения 250 кГц (рис. 10). Для создания необходимой моделирующей формы сигнала и подтверждения правильной функциональности схемы я хочу просмотреть БПФ выходного сигнала во временной области. Я могу сделать это, установив флажок Enable FFT в разделе Time­Domain Analysis (Анализ во временной области) всплывающего окна Simulation Control (Управление моделированием). На вкладке Results в окне Simulation Control могу настроить выборочный запуск БПФ только для выходного сигнала. Выбрав конкретный интересующий меня сигнал для выполнения БПФ вместо того чтобы делать преобразование для всех сигналов в схеме, я значительно сокращаю общее время моделирования. Далее запускаю сам процесс моделирования.

Рис. 10. Схема понижающего преобразователя (5 В – 3,3 В)

Рис. 10. Схема понижающего преобразователя (5 В – 3,3 В)

В первую очередь я хочу измерить выходную пульсацию напряжения, чтобы убедиться, что оно попадает в пределы допустимых эксплуатационных ограничений. Выбираю сигнал v_out из левой панели окна Waveform Analyzer. В целом видно, что выходное напряжение, как и ожидалось, устанавливается примерно на уровне 3,3 В (рис. 11a). Для измерения пульсации напряжения я увеличу небольшой участок исследуемого сигнала и воспользуюсь встроенным калькулятором формы сигналов, чтобы получить пиковое значение пульсации напряжения (рис. 11б). Калькулятор формы сигналов может широко использоваться для подобных и многих других типов вычислений.

Рис. 11. Форма сигнала v_out, показывающая напряжение 3,3 В (а); 
анализатор формы сигнала, используемый для расчета пикового значения пульсации выходного напряжения (б)

Рис. 11. Форма сигнала v_out, показывающая напряжение 3,3 В (а); 
анализатор формы сигнала, используемый для расчета пикового значения пульсации выходного напряжения (б)

Рис. 11. Форма сигнала v_out, показывающая напряжение 3,3 В (а);
анализатор формы сигнала, используемый для расчета пикового значения пульсации выходного напряжения (б)

Для более глубокого понимания работы импульсного преобразователя я могу посмотреть форму сигнала БПФ, которую включил для v_out. Ее можно найти в разделе Fourier Analysis, слева в окне Waveform Analyzer. Для лучшей интерпретации результатов представлю ось X в логарифмическом масштабе. Теперь по амплитуде и фазе выходного сигнала отчетливо виден эффект низкочастотного фильтра выходного конденсатора, индуктивности и резистивной нагрузки, а кроме того, ясно видно ослабление гармоники на частоте переключения 250 кГц (рис. 12).

Рис. 12. БПФ и ФЧХ выходного сигнала понижающего преобразователя

Рис. 12. БПФ и ФЧХ выходного сигнала понижающего преобразователя

Помимо стандартных сценариев моделирования во временной и частотной областях, я также могу запустить другие виды анализа — например, sweep­анализ, анализ Монте­Карло, анализ чувствительности и анализ наихудшего случая. Я выполню sweep­анализ (развертку), чтобы посмотреть на поведение моего импульсного преобразователя в различном диапазоне входных напряжений. Sweep­параметром будет источник входного напряжения, и я установлю диапазон от 6 до 16 В с шагом в 2 В. Sweep­анализ может быть невероятно полезным, помогая вам понять, как ваша схема будет вести себя при различных сценариях. На рис. 13 вы можете видеть результаты sweep­моделирования со всеми выходными сигналами понижающего преобразователя в заданном мной диапазоне входного напряжения. Другие доступные расширенные возможности моделирования могут дать вам дополнительное представление о производительности. Например, анализ Монте­Карло может показать вам важную статистическую информацию о реальных рабочих характеристиках проектируемого изделия. Это поможет вам предсказать потенциальные отказы в функционировании изделия, а также наихудшие сценарии развития событий.

Рис. 13. Форма выходного напряжения понижающего преобразователя в диапазоне входных напряжений

Рис. 13. Форма выходного напряжения понижающего преобразователя в диапазоне входных напряжений

Функциональное моделирование BeagleBone Black

Далее для моделирования я буду использовать схему одноплатного компьютера BeagleBone Black, которая свободно распространяется и является opensource­проектом. На листе Power Management схемы, приведенной на рис. 14, PMIC обеспечивает большинство требований по питанию для платы. Хотя эта микросхема обеспечивает выход в 3,3 В, ее недостаточно для питания всех потребителей на плате. Для компенсации этого используется отдельный линейный регулятор, на вход которого подаются 3,3 В, формируемые в PMIC. Давайте теперь промоделируем секцию линейного регулятора на нашей схеме.

Рис. 14. Схема управления электропитанием BeagleBone Black (PMIC (в центре) и линейный регулятор (внизу слева))

Рис. 14. Схема управления электропитанием BeagleBone Black (PMIC (в центре) и линейный регулятор (внизу слева))

При моделировании схемы линейного регулятора мне нужно будет назначить модели компонентов для символов, размещенных на схеме. Я скачал SPICE­модель для этого конкретного LDO с сайта производителя, а для резисторов и конденсаторов могу использовать стандартные SPICE­примитивы, входящие в библиотеку. Для назначения моделей резисторов и конденсаторов буду следовать тем же шагам, что и ранее, поэтому просто щелкаю правой кнопкой мыши на компоненте и выбираю Edit Model Properties (рис. 15). Единственное отличие данного сценария заключается в том, что символы для этих компонентов не были выбраны из библиотеки AMS, — вместо этого они размещены из центральной библиотеки компонентов. При назначении моделей для этих элементов мне придется выполнять pinmappings, но не понадобится указывать номиналы компонентов. Связано это с тем, что информация о номиналах автоматически извлекается из центральной библиотеки проекта.

Рис. 15. Присвоение моделей ранее размещенным символам компонентов

Рис. 15. Присвоение моделей ранее размещенным символам компонентов

При назначении модели LDO я могу выбрать ранее скачанную мной модель, хранящуюся на локальном диске, нажав на три точки рядом со Spice File Name (рис. 16a). Поскольку символ компонента и файл модели не являются стандартными для библиотеки AMS, то для правильного моделирования следует сопоставить выводы, указанные в модели, с выводами на символе (рис. 16б). После того как мы назначили все необходимые модели, нужно задать источники питания. Я хочу посмотреть, как LDO работает при запуске, поэтому настрою источник напряжения на выводе (EN) так, чтобы через 1 мс он достиг значения 3,3 В. Это будет имитировать выход 3,3 В с микросхемы PMIC. Для этого я следую тому же самому процессу, который показывал ранее, чтобы добавить кусочно­линейный источник питания на пин включения (EN). В завершение назначу источник 5 В на входной пин (IN) и землю на соответствующие земляные контакты. Добавив модели источников непосредственно к нужным цепям, вместо того чтобы добавлять отдельные символы для моделирования, я могу сохранить схему в ее первоначальном состоянии.

Рис. 16. Можно выбрать локальную SPICE для модели LDO (а); 
сопоставление выводов в SPICE-модели с выводами на УГО (б)

Рис. 16. Можно выбрать локальную SPICE для модели LDO (а); 
сопоставление выводов в SPICE-модели с выводами на УГО (б)

Рис. 16. Можно выбрать локальную SPICE для модели LDO (а); сопоставление выводов в SPICE-модели с выводами на УГО (б)

Запустив моделирование во временной области (до 5 мс) и проанализировав выходной сигнал, можно четко увидеть включение устройства при достижении напряжения на пине (EN) 3,3 В. Применив инструменты для измерения и расчета уровня напряжения, я вижу, что уровень выходного напряжения не является достаточным. Для питания потребителей мне нужно получить 3,3 В, однако эта итерация моделирования показывает, что максимальное полученное напряжение составляет примерно 3 В (рис. 17). Значит, скорее всего, существует проблема с номиналами резисторов в цепи обратной связи.

Рис. 17. LDO включается, когда напряжение на пине EN достигает необходимого значения, но в данном случае на выходе LDO мы получили недостаточное значение питающего напряжения

Рис. 17. LDO включается, когда напряжение на пине EN достигает необходимого значения, но в данном случае на выходе LDO мы получили недостаточное значение питающего напряжения

Чтобы решить эту проблему, необходимо будет открыть datasheet на LDO. После некоторых простых расчетов я обнаружил, что выбранный мной номинал резистора R2 слишком велик, а это, в свою очередь, делает регулируемое выходное напряжение слишком низким. Далее я просто изменяю номинал резистора до соответствующего значения, а затем повторно запускаю моделирование. Анализируя формы полученных сигналов, вижу, что выходное напряжение теперь имеет необходимый уровень в 3,3 В (рис. 18). Данный случай показывает одну из многих сложностей, с которыми постоянно сталкиваются инженеры. Простая ошибка (например, неправильно подобранное значение резистора) может привести к сбою в работе схемы и, как следствие, к дорогостоящему перепроектированию устройства. Благодаря возможностям функционального AMS­моделирования я смог отловить эту проблему на ранней стадии проекта, внести необходимые изменения, а затем убедиться в правильности функционирования устройства.

Рис. 18. Проверка уровня выходного напряжения 3,3 В для LDO

Рис. 18. Проверка уровня выходного напряжения 3,3 В для LDO

Таким образом, c помощью полностью интегрированного в PADS Professional инструмента AMS (цифроаналоговое и смешанное моделирование) можно смоделировать поведение реальных схем, чтобы в дальнейшем не возникло никаких сюрпризов.