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

Симуляция электрических цепей? Это очень просто!
Развитие вычислительной техники позволило предоставить вычислительным машинам сложные расчёты, свойственные многим видам моделирования. Сегодня буквально все виды моделирования, за исключение некоторых, присущих некоторым гуманитарно-общественным дисциплинам, возможно провести на компьютере, используя соответствующее программное обеспечение. Программисты создали немало программ и сервисов, позволяющих смоделировать всё что угодно: от такого простейшего процесса, как очередь в магазине, до сложного как расшифровка кода ДНК человека.
Возможность компьютерного моделирования работы электрических и электронных схем чрезвычайно обогатила электротехнику и электронику. Компьютерное моделирование, максимально приближённое к реальности — симуляция, — является базой для увеличения скорости разработки электронного оборудования и снижения его стоимости (смотри статью «Проектируем печатную плату. Часть 1», «Часть 2», «Часть 3»).
Именно появление компьютеров с большой вычислительной мощностью и специализированного ПО помогло быстро анализировать работу сложных электрических цепей, таких как многозвенные фильтры (смотри статью «Фильтры в электронике. Часть 1», «Часть 2»), поведение схем, работающих на высокой частоте (смотри статью «Основы радиочастотной схемотехники. Часть 1», «Часть 2», «Часть 3») и множество других нюансов.
Сегодня разработаны десятки разных по функционалу, сложности и стоимости программных продуктов, предназначенных для симуляции работы электроцепей. Каждый имеет достоинства, недостатки, возможности и ограничения.
Что такое симуляция электрических цепей
Это процесс, в котором модель цепи создаётся и анализируется разными программными средами с функционалом для разработки, проверки и анализа её поведения. «Строительными блоками» симуляции служат математические модели (уравнения или их системы) всех компонентов, входящих в состав электроцепи.
Симуляция подразумевает определение основных электрических характеристик цепи, таких как напряжение, сила, фаза и частота тока, а также более сложных и комплексных, таких как амплитудно-частотная характеристика (АЧХ), скорость нарастания и время задержки прохождения сигнала, коэффициент стоячей волны в волноводах и множество других в любой момент времени с высокой степенью приближения к характеристикам реальной цепи.
Идея симуляции
Электрическая цепь состоит из устройств — источников электроэнергии (тока). Например, гальванического элемента или батареи и устройства, которое активно потребляют энергию, к примеру, резистора (смотри статью «Как проверить резистор мультиметром?»).
Примечание: под «потреблением» подразумевается не исчезновение энергии, а переход её в другую форму. Применительно к резисторам этой «другой» формой будет тепло. Также это бывает световое или иное электромагнитное излучение, механическая энергия и т. д. В общем, закон сохранения энергии не отменяли!
Существует два базовых закона, которые математически описывают работу электроцепей. Это закон Ома и законы Кирхгофа.
Закон Ома
Как это ни странно, его открыл немецкий физик Георгом Омом (1789–1854) в 1826 году. Этот закон гласит: ток, протекающий через проводник, прямо пропорциональный разности напряжению (потенциалов) и обратно — сопротивлению. В виде формулы он выглядит так:

Закон Ома стал фундаментом электротехники и электроники, появившейся впоследствии. Опираясь на закон Ома, другой немецкий физик Густав Кирхгоф в 1845 году изложил ряд законов (правил) взаимодействия напряжений и токов в разных замкнутых электрических системах.
Законы Кирхгофа
Густав Кирхгоф ввёл несколько понятий в теорию электроцепей: узел, ветвь и контур.

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

Второе правило Кирхгофа гласит: в любом замкнутом контуре сумма всех падений напряжения Uk на резистивных элементах Rk во всех ветвях контура равна алгебраической сумме всех электродвижущих сил (ЭДС) Ek во всех ветвях контура.

Закон Ома и правила Кирхгофа стали основой математического аппарата расчёта, а впоследствии симуляции работы электросхем. Немаловажную роль в полноценный расчёт и моделирование работы цепей внёс такой раздел математики как теория графов, который как никакой иной идеально «вписался» в идею.
Теория графов
Это раздел дискретной математики, топологии, изучающий графы. Графы — математические представления (в каком-то смысле модели) структуры какой-то реальной системы, элементы которой имеют парные связи. Состоят они из вершин и рёбер. С их помощью можно математически описать структуру множества разных систем: элементов строительных конструкций, структуры молекул веществ, карты дорожной сети. А ещё цепей, в которых вершинами графа являются узлы графического представления правил Кирхгофа, а рёбрами — ветви.

Теория графов позволяет смоделировать электрическую цепь посредством графа, где узлы соответствуют вершинам, а ветви — его рёбрам. Таким образом, такая информация, как напряжение, сила тока и сопротивление в каждой ветви вычисляются как некоторый параметр ребра графа.
Далее вступают «в дело» правила Кирхгофа. Первый закон даёт нам узловые, а второй — контурные линейные уравнения. Далее все получившиеся уравнения объединяются в систему. Решение системы линейных уравнений даёт интенсивность в каждой ветви электроцепи. На основании найденных интенсивностей вычисляются значения напряжения, силы тока и сопротивления в любой точке электросхемы.
Типы симуляции электрических цепей
Сегодня есть несколько подходов. Базовые — симуляция аналоговых, цифровых и смешанных схем. Каждый из них имеет особенности и применим в своей сфере. Помимо них, имеются ультрасовременные подходы, использующие искусственный интеллект и распределённые вычисления, увеличивающие эффективность и степень автоматизации проектирования электронных устройств.
Симуляция аналоговых схем
Она традиционно основана на линейных, нелинейных и табличных моделях электронных компонентов. Наиболее популярен инструмент SPICE.
SPICE (Simulation Program with Integrated Circuit Emphasis, «Программа для симуляции с акцентом на интегральные схемы») — старейший инструмент. Историю SPICE ведёт с ещё с 1970-х годов и разрабатывался специально для симуляции работы интегральных микросхем.
Так как их работу перед изготовлением невозможно выполнить с помощью макета, а стоимость изготовления нового комплекта фотошаблонов и оснастки чрезвычайно высока, то симуляция попросту незаменима. SPICE сегодня — базовое вычислительное ядро для большинства современных программных пакетов по симуляции работы электросхем.
SPICE анализирует поведение электрической цепи с непрерывно меняющимися значениями сигналов при постоянном, переменном токе и в переходных режимах. Известный своей точностью и скоростью работы, SPICE использует сложные методы Эйлера, Ньютона-Рафсона, а также разложения матриц для вычисления отклика всей цепи в каждой точке моделирования.
SPICE важен для проектирования электронных схем: от операционных усилителей (смотри статью «Что такое операционный усилитель?») и фильтров до генераторов и регуляторов напряжения (смотри статью «Источники питания. Виды и сферы применения»). В частности, популярные программные продукты, основанные на SPICE, такие как LTspice, NGspice предлагают дополнительные функции и специальные варианты оптимизации для удовлетворения разнообразных требований симуляции аналоговых схем.

Инструменты аналогового моделирования обычно работают на уровне отдельных дискретных компонентов, представляя схемы как системы дифференциальных уравнений и решая их. Хотя этот метод высокоточный и даёт близость результатов вычисления к параметрам реальной схемы, он требует от инженера углублённых знаний в проектировании аналоговых схем, чтобы эффективнее разрабатывать, отлаживать и симулировать.
Более того, производительность метода ограничена общей вычислительной сложностью, прямо пропорциональной сложности схемы. Тем не менее методология симуляции SPICE и ей подобная незаменима в симуляции аналоговых цепей. А SPICE-симуляция на уровне отдельных дискретных компонентов даёт высокоэффективную и высокоточную комплексную проверку, оценку целостности сигнала и анализ теплового поведения схемы.
Симуляция цифровых схем
Большинство инструментов базируются на языках описания аппаратуры, таких как VHDL и Verilog. Такой подход к симуляции дискретными уровнями сигнала даёт точность синхронизации, логическую увязку всех подсхем и общую целостность сигнала.
В отличие от прохождения непрерывного сигнала в аналоговых схемах, цифровая симуляция использует упрощённые модели с конечными уровнями напряжения (в первую очередь, уровни логического нуля и единицы). Этот метод лучше оптимизирует моделирование работы более крупных схем, чем метод аналоговой симуляции при гораздо меньших необходимых ресурсах.
Существует два основных направления:
- Моделирование, управляемое событиями, рассматривает схему как серию дискретных событий, являющихся реакцией на изменение входных сигналов.
- Моделирование, основанное на циклах, вычисляет стационарное значение схемы для каждого тактового цикла.
Цифровые симуляторы обычно работают с четырьмя логическими значениями: ноль, единица, неопределённое состояние (между нулём и единицей) и высокоимпедансное, фокусируясь на дискретной природе цифровой логики. Они отлично подходят для функциональной проверки проектирования цифровых схем, особенно микросхем, быстро предоставляя точные результаты для автоматизированной генерации входных тестовых сигналов, оценки результатов эффективности и выполнения регрессионного тестирования.
Симуляция смешанных схем
Моделирование в смешанном режиме автоматически разделяет мух от котлет: аналоговые компоненты и узлы от цифровых. Оно ускоряет и делает эффективнее моделирование работы крупнейших схем. Объединяя аналоговые и цифровые методы, моделирование в смешанном режиме упрощает создание аналого-цифровых преобразователей (АЦП, смотри статью «ТОП-10 типовых узлов в схемотехнике цифровых устройств»), цифро-аналоговых преобразователей (ЦАП) и интегральных схем, работающих со смешанными сигналами (сигнальные процессоры, микроконтроллеры и т. д.).
Такие симуляторы играют важную роль в проверке взаимодействия между аналоговыми и цифровыми компонентами, подтверждая их бесшовную интеграцию и функциональность в схемотехнически сложных устройствах, таких как смартфоны, автомобильные блоки управления и многое другое. Более того, оно облегчает точное моделирование переходных процессов и временно́й анализ, что имеет решающее значение для оптимизации производительности и надёжности систем, которые имеют в своей базе как аналоговые, так и цифровые узлы.
Уровни симуляции схем
Независимо от того, аналоговая, цифровая или смешанная у нас схема, каждая стадия её проектирования требует разного уровня или типа моделирования:
- Уровень функциональных блоков фокусируется на отдельных узлах или блоках, проверяя функциональность перед внедрением в более крупные узлы, блоки или в общую схему.
- Уровень микросхемы анализирует производительность целых готовых микросхем, включая взаимодействие между её частями.
- Уровень запоминающих устройств оценивает их базовые параметры, такие как время доступа, целостность хранения данных, энергопотребление и количество циклов чтения/записи.
- Уровень смешанного сигнала ставит целью анализ работы схемы при наличии в ней как аналоговых, так и цифровых сигналов и выявление их взаимовлияния.
- Уровень радиочастотного сигнала тестирует радиочастотные компоненты, базово необходимые для систем беспроводной связи (электромагнитная совместимость (смотри статью «Электромагнитные помехи. Выявляем и устраняем»), моделирование и анализ работы приёмо-передающих антенн и т. д.).
- Уровень управления питанием измеряет потребление и распределение энергии в схеме, что важно для устройств с батарейным питанием и в энергосберегающих системах.
- Уровень интеграции датчиков моделирует как их поведение, так и схемы управления систем автоматизированного управления.
Всё более быстродействующие центральные, графические и сигнальные процессоры серьёзно увеличивают требования к скорости моделирования их поведения и работы. Одновременно с этим передовые инструменты искусственного интеллекта становятся основой более интеллектуальных и эффективных процессов по проектированию и симуляции электрических схем с помощью сложных алгоритмов машинного обучения, автоматизирующих рутинные задачи и оптимизирующих инструменты моделирования.
Более того, облачные технологии теперь предлагают инженерам-электроникам общую среду для совместной работы с лёгким доступом к гибким, безграничным аппаратным ресурсам для моделирования схем с применением распределённых вычислений.