Введение
Одной из очень полезных функций, включенных в состав PADS Professional, является встроенный инструмент моделирования аналоговых смешанных сигналов (AMS), благодаря которому вы можете моделировать ваши схематические проекты с использованием моделей SPICE и VHDLAMS. Возможность применения обоих вариантов моделей позволяет выполнять более гибкую и точную проверку сложных мехатронных систем. Выполняя моделирование до начала этапа компоновки, трассировки или производства, вы сможете гарантировать, что ваши схемотехнические решения будут работать так, как вы задумывали, и при этом исключите проблемы, связанные с их эксплуатационными характеристиками. В предлагаемом примере мы спроектируем и смоделируем схему генератора с использованием моделей SPICE и VHDLAMS. А затем рассмотрим, как применять интегрированные функции AMS для моделирования уже существующих схем.
Создание схемы
В PADS Designer мы спроектировали частично законченный контур осциллятора. Первое, что мне нужно сделать, это добавить недостающие элементы схемы и связанные с ними имитационные модели. Специальный инструмент для поиска и размещения символов можно запустить непосредственно из панели инструментов моделирования AMS в PADS Designer. Первый компонент, который я размещу на схеме, — это операционный усилитель LM741, представленный стандартным 7выводным символом, расположенным в подразделе SpiceMacromodel (рис. 1).
Рис. 1. Добавление символа операционного усилителя в частично законченную схему осциллятора
Аналогичным способом разместим из библиотеки символ недостающего резистора с привязанной моделью VHDLAMS. После того как мы разместили символ резистора, кликаем правой кнопкой мыши на символе и выбираем Edit Model Properties. В появившемся окне Model Properties я могу отредактировать все необходимые свойства модели, в том числе выбрать конкретный part number и задать нужные числовые параметры. В нашем случае я присваиваю компоненту заранее рассчитанное значение резистора в 3,2 кОм, которое необходимо для достижения правильного усиления осциллятора (рис. 2).
Рис. 2. Присвоение номинала резистору через окно Model Properties
Далее аналогичным образом через окно Model Properties выбираем для символа операционного усилителя нужную модель микросхемы. В выпадающем списке Spice File Name показаны все доступные разделы библиотек моделей. В списке Model/Subcircuit отображаются все компоненты, входящие в выбранную библиотеку моделей. Здесь я выбираю модель операционника: LM741 (рис. 3). После выбора модели открывается окно, где вы можете сопоставить выводы модели с выводами символа (это происходит автоматически, но при необходимости вы всегда можете их переназначить).
Рис. 3. Назначение имитационной SPICE-модели LM741 символу операционного усилителя
Чтобы закончить эту схему генератора с мостом Вина, мне понадобится пара диодов. SPICEпримитив диода может быть размещен непосредственно из панели инструментов моделирования в PADS Designer. После размещения символа я следую той же процедуре, что и при использовании операционного усилителя LM741, чтобы выбрать нужную модель компонента. В нашем случае мне нужна модель 1N914. Данная схема требует, чтобы эти диоды были размещены параллельно и во встречном направлении для поддержания правильного коэффициента усиления и обеспечения стабильного состояния колебаний. После того как я назначил модель первому диоду, я могу просто скопировать этот символ со всеми назначенными ему свойствами и поместить его в необходимое место как второй диод (рис. 4).
Рис. 4. Добавление двух параллельных диодов в схему осциллятора
Формирование источников питания и сигналов
В PADS Pro Designer, благодаря полностью интегрированной платформе моделирования AMS, модели земли и питания могут быть добавлены без необходимости создания и размещения отдельного схематического символа. Перед тем как добавить положительные и отрицательные модели источника напряжения для моего операционного усилителя, я сначала нарисую цепи, подключу их к положительному и отрицательному выводу символа и назову их соответствующим образом. Далее выбираю Setup Schematic на панели Simulation и в появившемся окне перехожу на вкладку Add Sources (Добавить источники). Так как на предыдущем шаге я уже указал имена цепей питания, подключенных к контактам операционного усилителя, выбор этих цепей для назначения им положительных и отрицательных 5вольтовых источников будет очень простым процессом (рис. 5).
Рис. 5. Добавление положительного и отрицательного источников напряжения для операционника
На этих моделях источника есть возможность включить опцию моделирования по переменному току (AC). Она может применяться, когда вы хотите промоделировать частотный отклик данного домена в другой цепи постоянного тока. Я не буду использовать опцию моделирования переменного тока для источников напряжения операционника, но добавлю кусочнолинейный источник тока с опцией анализа по переменному току в RCцепь (P1) своей схемы генератора. Цель — имитировать переходные процессы включения, которые запускают колебания в реальных условиях. Для кусочнолинейного источника тока я хочу, чтобы 0,1 мА включались на 30 мкс, а затем выключались при значении переменного тока, равном 1 А. Этого будет достаточно, чтобы запустить осцилляции (рис. 6).
Рис. 6. Создание кусочно-линейного источника тока для скачкообразных осцилляций
Моделирование
После того как мы добавили все источники, можно приступать к самому моделированию схемы. Я выбираю только ту часть схемы, которую хочу смоделировать в PADS Designer, затем щелкаю правой кнопкой мыши и выбираю Simulate Selected Components (Моделировать только выбранные компоненты). Начну с анализа во временной области (5 мс). Я надеюсь увидеть выходную синусоиду с частотой около 14 кГц. Быстро просмотрев и оценив смоделированный выходной сигнал, делаю вывод, что эта схема работает так, как и ожидалось (рис. 7).
Рис. 7. Моделирование формы выходного сигнала во временной области для схемы генератора
Теперь, когда я знаю, что этот осциллятор правильно работает на частоте 14 кГц, скопирую эту схему и изменю значения конденсаторов в RCцепочке, чтобы смоделировать второй осциллятор на частоте 8 кГц. Далее включу в схему третий операционный усилитель, который будет действовать как простой сумматор, чтобы сложить две синусоиды вместе (рис. 8). Наконец, мне, как и ранее, нужно добавить кусочнолинейный источник тока в цепь (P2). Я буду использовать для этого источника тока те же параметры, что и для первого генератора; таким образом, оба генератора будут запускаться одновременно. На практике я могу воспользоваться этой схемой для устройств обработки сигналов, где выход на суммирующий усилитель является входом в АЦП.
Рис. 8. Готовая схема с двумя генераторами и суммирующим усилителем
PADS Professional позволяет осуществлять подобные симуляции на любых этапах проектирования. Таким образом, выполняя моделирование на разных этапах проекта, вы можете значительно уменьшить или полностью исключить нежелательные функциональные сюрпризы в готовом изделии. Теперь я готов смоделировать весь лист со схемой, чтобы убедиться, что вся система работает, как и ожидалось. На этот раз выполню моделирование в частотной области от 1 Гц до 100 кГц, чтобы получить четкое визуальное представление о работе всей системы. Посмотрев на выходной сигнал схемы суммирования (рис. 9), можно ясно видеть два синусоидальных сигнала, каждый из которых функционирует на своих заданных частотах.
Рис. 9. Моделирование всей схемы в частотной области. Отчетливо видны оба синусоидальных сигнала
Различные виды анализа
Вернемся к нашей схеме. Я также создал простой понижающий преобразователь (5 В – 3,3 В) с частотой переключения 250 кГц (рис. 10). Для создания необходимой моделирующей формы сигнала и подтверждения правильной функциональности схемы я хочу просмотреть БПФ выходного сигнала во временной области. Я могу сделать это, установив флажок Enable FFT в разделе TimeDomain Analysis (Анализ во временной области) всплывающего окна Simulation Control (Управление моделированием). На вкладке Results в окне Simulation Control могу настроить выборочный запуск БПФ только для выходного сигнала. Выбрав конкретный интересующий меня сигнал для выполнения БПФ вместо того чтобы делать преобразование для всех сигналов в схеме, я значительно сокращаю общее время моделирования. Далее запускаю сам процесс моделирования.
Рис. 10. Схема понижающего преобразователя (5 В – 3,3 В)
В первую очередь я хочу измерить выходную пульсацию напряжения, чтобы убедиться, что оно попадает в пределы допустимых эксплуатационных ограничений. Выбираю сигнал v_out из левой панели окна Waveform Analyzer. В целом видно, что выходное напряжение, как и ожидалось, устанавливается примерно на уровне 3,3 В (рис. 11a). Для измерения пульсации напряжения я увеличу небольшой участок исследуемого сигнала и воспользуюсь встроенным калькулятором формы сигналов, чтобы получить пиковое значение пульсации напряжения (рис. 11б). Калькулятор формы сигналов может широко использоваться для подобных и многих других типов вычислений.
Рис. 11. Форма сигнала v_out, показывающая напряжение 3,3 В (а);
анализатор формы сигнала, используемый для расчета пикового значения пульсации выходного напряжения (б)
Для более глубокого понимания работы импульсного преобразователя я могу посмотреть форму сигнала БПФ, которую включил для v_out. Ее можно найти в разделе Fourier Analysis, слева в окне Waveform Analyzer. Для лучшей интерпретации результатов представлю ось X в логарифмическом масштабе. Теперь по амплитуде и фазе выходного сигнала отчетливо виден эффект низкочастотного фильтра выходного конденсатора, индуктивности и резистивной нагрузки, а кроме того, ясно видно ослабление гармоники на частоте переключения 250 кГц (рис. 12).
Рис. 12. БПФ и ФЧХ выходного сигнала понижающего преобразователя
Помимо стандартных сценариев моделирования во временной и частотной областях, я также могу запустить другие виды анализа — например, sweepанализ, анализ МонтеКарло, анализ чувствительности и анализ наихудшего случая. Я выполню sweepанализ (развертку), чтобы посмотреть на поведение моего импульсного преобразователя в различном диапазоне входных напряжений. Sweepпараметром будет источник входного напряжения, и я установлю диапазон от 6 до 16 В с шагом в 2 В. Sweepанализ может быть невероятно полезным, помогая вам понять, как ваша схема будет вести себя при различных сценариях. На рис. 13 вы можете видеть результаты sweepмоделирования со всеми выходными сигналами понижающего преобразователя в заданном мной диапазоне входного напряжения. Другие доступные расширенные возможности моделирования могут дать вам дополнительное представление о производительности. Например, анализ МонтеКарло может показать вам важную статистическую информацию о реальных рабочих характеристиках проектируемого изделия. Это поможет вам предсказать потенциальные отказы в функционировании изделия, а также наихудшие сценарии развития событий.
Рис. 13. Форма выходного напряжения понижающего преобразователя в диапазоне входных напряжений
Функциональное моделирование BeagleBone Black
Далее для моделирования я буду использовать схему одноплатного компьютера BeagleBone Black, которая свободно распространяется и является opensourceпроектом. На листе Power Management схемы, приведенной на рис. 14, PMIC обеспечивает большинство требований по питанию для платы. Хотя эта микросхема обеспечивает выход в 3,3 В, ее недостаточно для питания всех потребителей на плате. Для компенсации этого используется отдельный линейный регулятор, на вход которого подаются 3,3 В, формируемые в PMIC. Давайте теперь промоделируем секцию линейного регулятора на нашей схеме.
Рис. 14. Схема управления электропитанием BeagleBone Black (PMIC (в центре) и линейный регулятор (внизу слева))
При моделировании схемы линейного регулятора мне нужно будет назначить модели компонентов для символов, размещенных на схеме. Я скачал SPICEмодель для этого конкретного LDO с сайта производителя, а для резисторов и конденсаторов могу использовать стандартные SPICEпримитивы, входящие в библиотеку. Для назначения моделей резисторов и конденсаторов буду следовать тем же шагам, что и ранее, поэтому просто щелкаю правой кнопкой мыши на компоненте и выбираю Edit Model Properties (рис. 15). Единственное отличие данного сценария заключается в том, что символы для этих компонентов не были выбраны из библиотеки AMS, — вместо этого они размещены из центральной библиотеки компонентов. При назначении моделей для этих элементов мне придется выполнять pinmappings, но не понадобится указывать номиналы компонентов. Связано это с тем, что информация о номиналах автоматически извлекается из центральной библиотеки проекта.
Рис. 15. Присвоение моделей ранее размещенным символам компонентов
При назначении модели LDO я могу выбрать ранее скачанную мной модель, хранящуюся на локальном диске, нажав на три точки рядом со Spice File Name (рис. 16a). Поскольку символ компонента и файл модели не являются стандартными для библиотеки AMS, то для правильного моделирования следует сопоставить выводы, указанные в модели, с выводами на символе (рис. 16б). После того как мы назначили все необходимые модели, нужно задать источники питания. Я хочу посмотреть, как LDO работает при запуске, поэтому настрою источник напряжения на выводе (EN) так, чтобы через 1 мс он достиг значения 3,3 В. Это будет имитировать выход 3,3 В с микросхемы PMIC. Для этого я следую тому же самому процессу, который показывал ранее, чтобы добавить кусочнолинейный источник питания на пин включения (EN). В завершение назначу источник 5 В на входной пин (IN) и землю на соответствующие земляные контакты. Добавив модели источников непосредственно к нужным цепям, вместо того чтобы добавлять отдельные символы для моделирования, я могу сохранить схему в ее первоначальном состоянии.
Рис. 16. Можно выбрать локальную SPICE для модели LDO (а); сопоставление выводов в SPICE-модели с выводами на УГО (б)
Запустив моделирование во временной области (до 5 мс) и проанализировав выходной сигнал, можно четко увидеть включение устройства при достижении напряжения на пине (EN) 3,3 В. Применив инструменты для измерения и расчета уровня напряжения, я вижу, что уровень выходного напряжения не является достаточным. Для питания потребителей мне нужно получить 3,3 В, однако эта итерация моделирования показывает, что максимальное полученное напряжение составляет примерно 3 В (рис. 17). Значит, скорее всего, существует проблема с номиналами резисторов в цепи обратной связи.
Рис. 17. LDO включается, когда напряжение на пине EN достигает необходимого значения, но в данном случае на выходе LDO мы получили недостаточное значение питающего напряжения
Чтобы решить эту проблему, необходимо будет открыть datasheet на LDO. После некоторых простых расчетов я обнаружил, что выбранный мной номинал резистора R2 слишком велик, а это, в свою очередь, делает регулируемое выходное напряжение слишком низким. Далее я просто изменяю номинал резистора до соответствующего значения, а затем повторно запускаю моделирование. Анализируя формы полученных сигналов, вижу, что выходное напряжение теперь имеет необходимый уровень в 3,3 В (рис. 18). Данный случай показывает одну из многих сложностей, с которыми постоянно сталкиваются инженеры. Простая ошибка (например, неправильно подобранное значение резистора) может привести к сбою в работе схемы и, как следствие, к дорогостоящему перепроектированию устройства. Благодаря возможностям функционального AMSмоделирования я смог отловить эту проблему на ранней стадии проекта, внести необходимые изменения, а затем убедиться в правильности функционирования устройства.
Рис. 18. Проверка уровня выходного напряжения 3,3 В для LDO
Таким образом, c помощью полностью интегрированного в PADS Professional инструмента AMS (цифроаналоговое и смешанное моделирование) можно смоделировать поведение реальных схем, чтобы в дальнейшем не возникло никаких сюрпризов.