Одной из полезных функций, включенных в PADS Professional, является встроенный инструмент моделирования аналоговых смешанных сигналов (AMS), который позволяет моделировать ваши схемотехнические проекты с использованием моделей SPICE и VHDL-AMS. Возможность использования обоих вариантов моделей позволяет выполнять более гибкую и точную проверку сложных мехатронных систем. Выполняя моделирование до начала этапа компоновки, трассировки или производства, вы сможете гарантировать, что ваши схемотехнические решения будут работать так как вы задумывали, исключив при этом проблемы, связанные с их эксплуатационными характеристиками. В рамках этой статьи мы спроектируем и смоделируем схему генератора с использованием моделей SPICE и VHDL-AMS. Затем мы рассмотрим, как использовать интегрированные функции AMS для моделирования уже существующих схем.
Все самое интересное под катом.
Создание схемы
в PADS Designer я спроектировал частично законченный контур осциллятора. Первое, что мне нужно сделать, это добавить недостающие элементы схемы и связанные с ними имитационные модели. Для поиска и размещения символов я использую инструмент "Search/Place Symbols", расположенный на панели инструментов моделирования AMS в PADS Designer. Первый компонент, который я размещу на схему — операционный усилитель LM741, который представлен стандартным 7-выводным символом, расположенным в подразделе Spice Macromodel (рис. 1).
Рисунок 1: Добавление символа операционного усилителя в частично законченную схему осциллятора (кликабельно)
Аналогичным способом разместим из библиотеки символ недостающего резистора с привязанной VHDL-AMS моделью. После того, как мы разместили символ резистора, кликаем правой кнопкой мыши на символе и выбираем "Edit Model Properties". В появившемся окне "Model Properties" я могу отредактировать все необходимые свойства модели, в том числе указать конкретный part number и задать нужные числовые параметры. В нашем случае я присваиваю компоненту заранее рассчитанное значение резистора в 3.2 кОм, которое необходимо для достижения правильного усиления осциллятора (рис. 2).
Рисунок 2: Присвоение номинала резистору через окно «Model Properties» (кликабельно)
Далее аналогичным образом через окно "Model Properties" для символа операционного усилителя выбираем нужную модель микросхемы. В выпадающем списке "SPICE File Name" показаны все доступные разделы библиотек моделей. В списке "Model/Sub circuit" отображаются все компоненты, входящие в выбранную библиотеку моделей. Здесь я выбираю модель операционника LM741 (рис. 3). После выбора модели открывается окно, где вы можете сопоставить выводы модели с выводами символа (это происходит автоматически, но при необходимости вы всегда можете их переназначить).
Рисунок 3: Назначение имитационной SPICE модели LM741 символу операционного усилителя (кликабельно)
Чтобы закончить эту схему генератора с мостом Вина, мне понадобится пара диодов. SPICE примитив диода может быть размещен непосредственно из панели инструментов моделирования в PADS Designer. После размещения символа я следую той же процедуре, что и при использовании операционного усилителя LM741, чтобы выбрать нужную мне модель компонента. В этом случае мне нужна модель 1N914. Эта схема требует, чтобы эти диоды были размещены параллельно и во встречном направлении для поддержания правильного коэффициента усиления и обеспечения стабильного состояния колебаний. После того, как я назначил модель первому диоду, я могу просто скопировать этот символ со всеми назначенными ему свойствами и вставить его в необходимое место, в качестве второго диода (рис. 4).
Рисунок 4: Добавление двух параллельных диодов в схему осциллятора (кликабельно)
Формирование источников питания и сигналов
в PADS Pro Designer, благодаря полностью интегрированной платформе моделирования AMS модели земли и питания могут быть добавлены без необходимости создания и размещения отдельного схематического символа. Перед тем как добавить положительные и отрицательные модели источника напряжения для моего операционного усилителя, я сначала нарисую цепи, подключу их к положительному и отрицательному выводу символа и назову их соответствующим образом. Далее переходим в меню "Simulation", выбираем "Set Up Schematic" и в появившемся окне кликаем "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 в разделе "Time-Domain Analysis" (Анализ во временной области) во всплывающем окне "Simulation Control" (Управление моделированием). На вкладке "Results" в окне "Simulation Control" я могу настроить выборочный запуск БПФ (FFT) только для выходного сигнала. Выбрав конкретный интересующий меня сигнал для выполнения БПФ (FFT) вместо того, чтобы делать преобразование для всех сигналов в схеме, я могу значительно сократить общее время моделирования. Далее запускаем сам процесс моделирования.
Рисунок 10: Схема понижающего преобразователя (5В — 3.3В) (кликабельно)
В первую очередь я хочу измерить выходную пульсацию напряжения, чтобы убедиться, что оно попадает в пределы допустимых эксплуатационных ограничений. Я выбираю сигнал v_out из левой панели окна "Waveform Analyzer". В целом, я вижу, что выходное напряжение, как и ожидалось, устанавливается примерно на уровне 3.3 В (рис. 11a). Чтобы измерить пульсацию напряжения, я увеличу небольшой участок исследуемого сигнала и воспользуюсь встроенным калькулятором формы сигналов, чтобы получить пиковое значение пульсации напряжения (рис. 11b). Калькулятор формы сигналов может широко использоваться для подобных и многих других типов вычислений.
Рисунок 11a (вверху): Форма сигнала v_out, показывающая напряжение 3.3 В (кликабельно)
Рисунок 11b (внизу): Анализатор формы сигнала, используемый для расчета пикового значения пульсации выходного напряжения(кликабельно)
Для более глубокого понимания работы импульсного преобразователя, я могу посмотреть форму сигнала БПФ, которую я включил для v_out. Ее можно найти в разделе "Fourier Analysis" слева в окне "Waveform Analyzer". Для лучшей интерпретации результатов, я представлю ось x в логарифмическом масштабе. Теперь я вижу, что по амплитуде и фазе выходного сигнала отчетливо виден эффект низкочастотного фильтра выходного конденсатора, индуктивности и резистивной нагрузки, также отчетливо видно ослабление гармоники на частоте переключения 250 кГц (рис. 12).
Рисунок: 12 БПФ и ФЧХ выходного сигнала понижающего преобразователя (кликабельно)
Помимо стандартных сценариев моделирования во временной и частотной областях, я также могу запустить другие виды анализа, например sweep-анализ, анализ Монте-Карло, анализ чувствительности и анализ наихудшего случая. Я выполню sweep-анализ (развертку), чтобы посмотреть на поведение моего импульсного преобразователя в различном диапазоне входных напряжений. Sweep-параметром будет источник входного напряжения, и я установлю диапазон от 6В до 16В с шагом в 2В. Sweep-анализ может быть невероятно полезным, помогая вам понять, как ваша схема будет вести себя при различных сценариях. На рисунке 13 вы можете увидеть результаты sweep-моделирования со всеми выходными сигналами понижающего преобразователя в заданном мной диапазоне входного напряжения. Другие доступные расширенные возможности моделирования могут дать вам дополнительное представление о производительности. Например, анализ Монте-Карло может показать вам важную
статистическую информацию о реальных рабочих характеристиках проектируемого изделия. Это может помочь вам предсказать потенциальные отказы в функционирование изделия а также наихудшие сценарии развития событий.
Рисунок 13: Форма выходного напряжения понижающего преобразователя в диапазоне входных напряжений (кликабельно)
Функциональное моделирование BEAGLEBONE BLACK
Далее для моделирования я буду использовать схему одноплатного компьютера BeagleBone
Black, которая свободно распространяется и является open source проектом. На листе "Power Management" схемы (рис. 14), PMIC обеспечивает большинство требований по питанию для платы. Хотя эта микросхема обеспечивает выход в 3.3В, ее недостаточно для питания всех потребителей на плате. Для компенсации этого используется отдельный линейный регулятор, на вход которого подается 3.3В, формируемые в PMIC. Давайте теперь промоделируем секцию линейного регулятора на нашей схеме.
Рисунок 14: Схема управления электропитанием BeagleBone Black (PMIC (в центре) и линейный регулятор (внизу слева)) (кликабельно)
Для проведения моделирования схемы линейного регулятора мне нужно будет назначить модели компонентов для размещенных на схеме символов. Я скачал SPICE-модель для этого конкретного LDO с сайта производителя, а для резисторов и конденсаторов я могу использовать стандартные SPICE-примитивы, входящие в библиотеку. Для назначения моделей резисторов и конденсаторов я буду следовать тем же шагам, что и ранее, поэтому просто кликаем правой кнопкой мыши на компоненте и выбираем "Edit Model Properties" (рис. 15). Единственное отличие в этом сценарии заключается в том, что символы для этих компонентов не были выбраны из библиотеки AMS, вместо этого они были размещены из центральной библиотеки компонентов. При назначении моделей для этих элементов мне придется выполнять pin mappings, но мне не придется указывать номиналы компонентов. Это связано с тем, что информация о номиналах компонентов автоматически извлекается из центральной библиотеки проекта.
Рисунок 15: Присвоение моделей ранее размещенным символам компонентов (кликабельно)
При назначении модели LDO я могу выбрать ранее скачанную мной модель, хранящуюся на локальном диске, нажав на три точки рядом со "Spice File Name" (рис. 16a). Поскольку символ компонента и файл модели не являются стандартными для библиотеки AMS, то для правильного моделирования необходимо сопоставить выводы, указанные в модели с выводами на символе (рис. 16b). После того как мы назначили все необходимые модели, необходимо задать источники питания. Я хочу посмотреть как LDO работает при запуске, поэтому я настрою источник напряжения на выводе (EN) так, чтобы через 1 мс он достиг значения в 3.3В. Это будет имитировать выход 3.3В с микросхемы PMIC. Для этого я следую тому же самому процессу, который я показывал ранее, чтобы добавить кусочно-линейный источник питания на пин включения (EN). В завершении, я назначу 5В источник на входной пин (IN) и землю на соответствующие земляные контакты. Добавляя модели источников непосредственно к нужным цепям вместо того, чтобы добавлять отдельные символы для моделирования, я могу сохранить схему в ее первоначальном состоянии.
Рисунок 16а (вверху): Можно выбрать локальную SPICE для модели LDO.
Рисунок 16b (снизу): Сопоставление выводов в SPICE-модели с выводами на УГО.
(кликабельно)
Запустив моделирование во временной области (до 5 мс) и проанализировав выходной сигнал, можно четко увидеть включение устройства при достижении напряжения на пине (EN) значения в 3.3В. Применив инструменты для измерения и расчета уровня напряжения, я вижу, что уровень выходного напряжения не является достаточным. Я знаю, что мне нужно получить 3.3В для питания потребителей; однако, эта итерация моделирования показывает, что максимальное полученное напряжение составляет примерно 3В (рис. 17). Это говорит о том, что, скорее всего, существует проблема с номиналами резисторов в цепи обратной связи.
Рисунок 17: LDO включается, когда напряжение пине EN достигает необходимого значения, но в данном случае на выходе LDO мы получили недостаточное значение питающего напряжения (кликабельно)
Чтобы решить эту проблему необходимо будет открыть datasheet на LDO. После некоторых простых расчетов, я обнаружил, что выбранный мной номинал резистором R2 слишком велик, что в свою очередь делает регулируемое выходное напряжение слишком низким. Далее я просто изменяю номинал резистора до соответствующего значения, а затем повторно запускаю моделирование. Анализируя формы полученных сигналов, я вижу, что выходное напряжение теперь имеет необходимый уровень в 3.3В (рис. 18). Данный случай показывает одну из многих сложностей, с которыми инженеры постоянно сталкиваются. Простая ошибка, например, неправильно подобранное значение резистора, может привести к сбою в работе схемы и как следствие к дорогостоящему перепроектированию устройства. Благодаря возможностям функционального AMS моделирования, я смог отловить эту проблему на ранней стадии проекта, внести необходимые изменения, а затем убедиться в правильности функционирования устройства.
Рисунок 18: Проверка уровня выходного напряжения 3.3В для LDO (кликабельно)
Таким образом, с помощью полностью интегрированного в PADS Professional инструмента AMS (цифро-аналоговое и смешанное моделирование) можно смоделировать поведение реальных схем, чтобы в дальнейшем не возникало никаких сюрпризов.
Более подробно ознакомиться с продуктами Mentor, A Siemens Business для проектирования, анализа и верификации печатных плат можно на нашем сайте mentorpcb.ru
Чтобы не пропустить интересные события и обновления по продуктам подписывайтесь на наши информационные ресурсы:
YouTube-канал Mentor PCB Expert
YouTube-канал CAD EXPERT
Telegram-канал
С вами был Филипов Богдан, Product Manager по решениям PADS в компании НАНОСОФТ.
Всех с наступающим новым годом и рождеством!