Основы метода Монте-Карло в SPICE: теория и демонстрация

Закарайа Петерсон
|  Создано: 14 Апреля, 2022  |  Обновлено: 2 Сентября, 2024
Монте-Карло в SPICE

Каждый раз, когда вы размещаете компонент на своей печатной плате, это почти как азартная игра. У всех компонентов есть допуски, и некоторые из них очень точные (например, резисторы), но у других компонентов могут быть очень широкие допуски на их номинальные значения (например, проволочные индуктивности или ферриты). В случае, если допуски этих компонентов становятся слишком большими, как можно предсказать, как эти допуски повлияют на ваши схемы?

Хотя вы могли бы рассчитать вариации вокруг номинальных электрических значений (напряжение, ток или мощность) вручную, выполнение этих расчетов вручную занимает много времени, особенно в больших схемах. Однако симуляторы SPICE заимствовали очень полезный тип симуляции из теории вероятностей, чтобы помочь вам ответить на эти вопросы. Этот тип симуляции известен как Монте-Карло, и теперь вы можете выполнить эту симуляцию с пакетом SPICE в Altium Designer.

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

Монте-Карло в симуляциях SPICE

Симуляции методом Монте-Карло работают по простому принципу: случайным образом генерируют набор чисел, а затем используют эти случайные числа в математической модели для расчета чего-то полезного. Когда симуляция Монте-Карло используется в SPICE, симуляция случайным образом генерирует значения компонентов в вашей схеме, используя допуски, которые вы определяете. Затем она использует эти случайно сгенерированные значения компонентов для выполнения стандартной симуляции SPICE. Этот процесс повторяется многократно (иногда сотни раз), чтобы предоставить вам набор данных, описывающих, как изменяется поведение вашей схемы из-за допусков компонентов.

Пакеты SPICE реализуют симуляции Монте-Карло через простой процесс. Это включает в себя генерацию случайных чисел и расчет напряжения и тока в стандартном алгоритме SPICE, за которым следует отображение результатов в таблице или графике:

  1. Выберите компоненты, для которых вы хотите испытать случайные вариации, и определите допуск на компоненте.
  2. Выберите распределение для допусков компонентов (наиболее часто используется гауссово) и количество запусков симуляции.
  3. Симулятор SPICE генерирует случайные значения компонентов, используя номинал, определенный на схеме, и допуск/распределение, определенные на шаге 2.
  4. Симулятор SPICE рассчитывает целевое напряжение/ток/мощность в каждой точке схемы, используя случайные значения компонентов на шаге 3.
  5. Шаги 3 и 4 повторяются до достижения желаемого количества запусков симуляции.
  6. Результаты с шага 5 собираются в график или таблицу для дальнейшего изучения или анализа.

Пример: Монте-Карло симуляция регулятора напряжения

В предстоящем примере я использовал схему понижающего преобразователя, показанную ниже. Эта схема использует относительно большой индуктор в основной части (L1), за которым следует L-фильтр на выходе для дальнейшего уменьшения помех от переключения. Выходной конденсатор имеет снабберный резистор, чтобы помочь уменьшить силу переходного процесса и сгладить выходное напряжение.

Monte Carlo SPICE buck converter
Схема понижающего преобразователя, которую я буду использовать в этом примере моделирования.

Эта схема предназначена для понижения входного напряжения с 25 В до примерно 6,75 В. В моем моделировании я позволю значениям индуктивности изменяться на 30%, и я проведу 15 прогонов. Такое большое изменение может быть обнаружено в некоторых проволочных индукторах и ферритах, и использование такого большого разброса может помочь вам увидеть, какими могут быть крайние значения пульсаций и перенапряжений.

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

Результаты

Некоторые первоначальные результаты, показывающие переходную характеристику при изменении значений компонентов на 30%, представлены ниже. Из этого окна видно, что преобразователь уже демонстрирует некоторое превышение, варьирующееся от 8,37 В до 8,56 В, в зависимости от значений индукторов. Значения для нижнего контура (зеленым, L1 = 91,9 мкГн, L2 = 6,16 мкГн) и верхнего контура (фиолетовым, L1 = 122 мкГн, L2 = 7,64 мкГн) отмечены на графике ниже.

Monte Carlo SPICE simulation
Результаты транзисторного анализа нашего понижающего преобразователя, полученные с использованием метода Монте-Карло в SPICE.

Каждая кривая соответствует паре случайно сгенерированных значений индукторов. Из результатов мы можем ясно видеть эффекты изменений в индукторе:

  1. Наблюдается некоторое изменение во времени нарастания, превышении и переходной характеристике при включении регулятора.
  2. Каждое возможное значение индуктивности вызывает очень малые изменения в пульсациях на форме сигнала выходного напряжения.

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

Почему изменение пульсаций такое низкое?

Не глядя на уравнение для пульсаций на выходе как функции от индуктивности на выходе, естественно предположить, что изменение индуктивности на +/- 30% приведет к аналогично большим изменениям в индуктивности на выходе. Однако, если мы посмотрим на уравнение для пульсаций формы напряжения на выходном токе для понижающего преобразователя, работающего в режиме непрерывной проводимости, мы можем понять, почему это не так:

Monte Carlo SPICE
Пульсации выходного тока для понижающего преобразователя.

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

Monte Carlo SPICE
Вариация пульсаций выходного тока при допуске 30% на индуктивности. Мы видим, что влияние этих вариаций уменьшается, когда индуктивность больше.

Влияние этих изменений уменьшается за счет значения индуктора. Другими словами, допуск в 30% для большого индуктора создаст гораздо меньшее изменение в пульсациях на выходе, чем такой же допуск на меньшем индукторе. Это поведение типично, когда отношение между некоторым электрическим значением (в данном случае током) нелинейно связано с рассматриваемым значением компонента.

Кроме того, частота среза на 3 дБ в выходном фильтре (L2 + C2) уже ниже частоты ШИМ, модулирующей Q1. Частота среза на 3 дБ в этом секции фильтра номинально составляет 41,1 кГц, в то время как частота пульсаций соответствует частоте ШИМ 100 кГц. Пульсации будут уже значительно фильтроваться, так что результирующие вариации в частоте среза не оказывают такого большого влияния на пульсации на выходе.

Статистический анализ

Если вы собираетесь проводить анализ методом Монте-Карло, вам, возможно, потребуется провести некоторый статистический анализ, чтобы действительно понять пределы поведения вашей схемы из-за случайных вариаций в значениях компонентов. На графике ниже я взял результаты моего вышеупомянутого переходного анализа и извлек максимальное напряжение, возникающее во время фазы включения из-за перенапряжения. Я рассчитал среднее значение и стандартное отклонение, чтобы количественно оценить эффекты вариаций в значениях индуктивности.

Чтобы экспортировать результаты вашего переходного анализа в формате CSV или другом формате данных, используйте команду Файл → Экспорт → График в главном меню Altium Designer. Затем вы можете импортировать ваши данные в Excel, MATLAB, Mathematica или другую программу для анализа данных.

Monte Carlo SPICE statistics
Среднее значение и стандартное отклонение напряжения превышения, определённые на основе переходных характеристик.

Если мы построим доверительный интервал, используя наши собранные данные и приведенные выше статистические значения, 95% этих схем будут демонстрировать перерегулирование в диапазоне от 8,375 В до 8,605 В. Если бы мы хотели провести дальнейший анализ, например, анализ худшего случая, мы могли бы использовать любое из этих крайних значений для понимания поведения схемы.

Оценка надежности с использованием больших наборов данных

Чтобы статистически оценить надежность, вы могли бы провести гораздо большее количество симуляций, так что у вас было бы много точек данных для анализа. Имея больше данных, вы могли бы построить гистограмму из ваших извлеченных измерений и использовать ее для получения распределения вероятностей, которое определяет поведение схемы; затем вы могли бы использовать эти значения для определения вероятности того, что схема работает в абсолютно неприемлемом режиме (за пределами крайних значений в нашем доверительном интервале).

Просто ради интереса я увеличил количество симуляций в этом анализе до 100 прогонов. Ниже показаны результаты переходных процессов при 100 итерациях. Из этих кривых мы снова можем извлечь максимальное значение перерегулирования напряжения во время фазы включения.

Monte Carlo SPICE statistics
Переходная характеристика в течение первых 100 мкс фазы включения. Из этого набора из 100 кривых можно извлечь значение перенапряжения для каждой кривой и определить вероятностное распределение, описывающее максимальное напряжение.

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

Monte Carlo SPICE statistics
Статистика перенапряжения, определённая на основе 100 симуляций.

Суть здесь в том, что у нас есть быстрый и простой способ проверить, как будет варьироваться производительность схемы с учетом допусков компонентов. Если результаты не соответствуют нашим спецификациям или запасам безопасности, то схему потребуется изменить перед созданием макета печатной платы и сборкой прототипа.

Если вас интересует проведение симуляций методом Монте-Карло для ваших схем внутри Altium Designer®, вам не нужен внешний пакет симуляции или специализированное программное обеспечение для анализа. Все, что вам нужно для оценки ваших схем и проведения симуляций надежности, можно найти в редакторе схем в Altium Designer. Как только вы завершите вашу печатную плату и будете готовы поделиться своими проектами с коллегами или производителем, вы можете поделиться своими завершенными проектами через платформу Altium 365™. Все, что вам нужно для проектирования и производства передовой электроники, можно найти в одном программном пакете.

Мы только начали раскрывать возможности использования Altium Designer на Altium 365. Начните ваш бесплатный пробный период Altium Designer + Altium 365 уже сегодня.

Об авторе

Об авторе

Закарайа Петерсон (Zachariah Peterson) имеет обширный технический опыт в научных кругах и промышленности. До работы в индустрии печатных плат преподавал в Портлендском государственном университете. Проводил магистерское исследование на хемосорбционных газовых датчиках, кандидатское исследование – по теории случайной лазерной генерации. Имеет опыт научных исследований в области лазеров наночастиц, электронных и оптоэлектронных полупроводниковых приборов, систем защиты окружающей среды и финансовой аналитики. Его работа была опубликована в нескольких рецензируемых журналах и материалах конференций, и он написал сотни технических статей блогов по проектированию печатных плат для множества компаний.

Связанные ресурсы

Связанная техническая документация

Вернуться на главную
Thank you, you are now subscribed to updates.