Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Средства создания программ, выполняемых на стороне сервера

Содержание:

ВВЕДЕНИЕ

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

Разработка любого устройства начинается с оформления технического задания (ТЗ) на основе одного из таких стандартов и методологий, как ГОСТ 34, ГОСТ 19, IEEE STD 830-1998, ISO/IEC/IEEE 29148-2011 и других, в котором описываются технические и функциональные характеристики, которыми должен обладать готовый продукт, программа, устройство или автоматизированная система. Кроме того, в ТЗ устанавливаются общие требования к продукту, требования к процессу разработки, к программному и аппаратному обеспечению, к документации, описывается содержание работы и основных этапов создания системы, а также определяются сроки выполнения каждой стадии работы по разработке системы.

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

Следующим этапом идет разработка устройства на основе сформированного прототипа и установленной базы используемых электронных компонентов. Разработка начинается с проектирования принципиальной схемы аппарата, ее дальнейшего синтеза, а также функционального и временного моделирования работы схемы. Именно в этот момент разработки к собранной электрической схеме может быть применен разрабатываемый в рамках данной работы программный модуль построения макромоделей электрических схем. Помимо разработки внутренней составляющей устройства, производится разработка корпуса для герметичной защиты внутренних компонентов устройства от повреждений, пыли, влаги и других внешних факторов, оказывающих негативное воздействие на работоспособность устройства. Наиболее часто используемыми материалами для создания корпуса устройства считаются различные виды пластика, такие как ABS, EK, PC, PVC и другие, металлы и сплавы, а также различные породы древесины. Выбор материала зависит от их механических, физических, технологических свойств. В результате выполнения данной стадии разработки имеется набор конструкторской документации, описывающий принятые технико-конструкторские решения и их обоснование. Кроме того, разрабатываются всевозможные программные и аппаратные тесты для проверки корректности работы разрабатываемого устройства.

Завершающий этап включает в себя непосредственное создание аппаратной части устройства, прошедшей множественные тесты, разработанные на предыдущем этапе, а также конструирование корпуса.

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

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

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

Для решения задачи сокращения количества элементов в электрической схеме используются макромодели. Макромоделью называется упрощенное математическое представление функциональных узлов схемы, отражающее значения токов и напряжений в них с достаточной степенью точности. Различают два типа макромоделей: физические и информационные. Физические макромодели строятся на основе законов электротехники путем математического преобразования системы уравнений, составленных по первому и второму закону Кирхгофа. Второй тип макромоделей – информационный, основывается на функциональной зависимости входных и выходных векторов переменных и выражается в качестве зависимости y = f(x). Более подробно данные методы будут рассмотрены в следующей главе.

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

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

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

Таким образом, можно выделить несколько основных этапов для решения поставленной цели:

  • разработка тестовой схемы в среде моделирования LTspice;
  • извлечение метаданных из файла со схемой;
  • преобразование полученных данных в матричный вид;
  • применение методов и алгоритмов к матрицам;
  • разработка графического интерфейса.

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

ГЛАВА 1 ОСНОВЫ ПРОЕКТИРОВАНИЯ ПРОГРАММ

1.1 Постановка задачи и определение компонентной базы

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

Рис. 1. Пассивные компоненты электрической цепи: резистор, катушка индуктивности, конденсатор

Выбор такой элементной базы помимо простоты и удобства, основывается на том факте, что различного рода полупроводниковые приборы, такие как биполярные и полевые транзисторы, фотодиоды, тиристоры и другие, могут быть упрощенно представлены через резисторы, катушки индуктивности, конденсаторы и диоды. Например, биполярный транзистор может быть представлен в схеме посредством упрощенной модели Эберса-Молла [4].

Биполярный транзистор (БТ) [3] представляет собой полупроводниковую структуру, состоящую из трех областей: эмиттера (Э), коллектора (К) и базы (Б). Различают два типа биполярных транзисторов: n-p-n (эмиттер – c n-проводимостью, база – c р-проводимостью и коллектор – c n-проводимостью) и p-n-p. Стоит отметить основные особенности данного вида транзисторов:

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

Работа биполярного транзистора основана на двух p-n переходах (ЭБ – эмиттерном и БК – коллекторном). В активном режиме транзистора эмиттерный p-n переход находится в прямом смещении, что обеспечивает инжекцию основных носителей из эмиттера в базу. При попадании в базу, часть носителей рекомбинируют с носителями, находящимися в области базы, остальная же часть диффундирует в зону коллектора. Это происходит за счет того, что область базы достаточно мала и слабо легирована. А за счет обратно смещенного коллекторного p-n переход, носители из базы экстрагируют в область коллектора. Таким образом, носители из эмиттера практически без потерь переходят в коллектор, другими словами, ток коллектора равен току эмиттера, за исключением потери части носителей, рекомбинирующих в базе.

Рис. 2. Схематичное представление p-n переходов в БТ

Для анализа работы биполярного транзистора применяется модель Эберса-Молла. В рамках этой модели биполярный транзистор рассматривается как система из двух взаимодействующих p-n переходов. Взаимодействие между p-n переходами происходит через общую область базы. С электрической точки зрения каждый p-n переход моделируется диодом. Эквивалентная схема представляет собой два диода через которые протекают токи инжекции I’к и I’э, моделирующие коллекторный переход и эмиттерный, соответственно. Как было описано ранее, при прохождении носителей через слой базы часть зарядов рекомбинирует и образует ток базы. Следовательно, ток через базу передается с потерями, учтем это обстоятельство с помощью специально подключенных генераторов переменного тока. Пусть коэффициент передачи основных носителей через базу от эмиттера к коллектору равен , а от коллектора к эмиттеру – (, ). При нормальном включении транзистора через эмиттерный p-n переход течет ток I’э, а через коллекторный - меньший ток в раз, вследствие рекомбинации носителей в области базы. При инверсном же включении прямому коллекторному току будет соответствовать эмиттерный ток . Математическое представление модели Эберса-Молла имеет следующий вид:

(1)

(2)

Сама же модель является функций, зависящей от значений напряжений база-эмиттер и база-коллектор (3).

(3)

Уравнения, описывающие функциональное поведение диодов (4) и (5).

(4)

(5)

Подставив (4) и (5) в (1) и (2) получится,

(6)

(7)

Полученная система уравнений (6) и (7) описывает искомые величины силы тока.

Рис. 3. Модель Эберса-Молла биполярного транзистора

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

1.2 Обзор методов составления математического представления схем

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

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

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

Первый закон Кирхгофа гласит, алгебраическая сумма токов, вытекающих из функционального узла, равна сумме токов, втекающих в него. Данный закон берет свое начало из закона сохранения электрического заряда. В электротехнике принято указывать втекающие токи со знаком « + », а вытекающие – со знаком « – ».

Согласно второму закону Кирхгофа, алгебраическая сумма ЭДС (электродвижущая сила) источников равна сумме перепадов напряжения на каждом отдельном участке контура (в частности, на резистивных элементах).

Рассмотрим построение системы уравнений, описывающих значения токов и напряжений в углах на примере электрического замкнутого контура, изображенного на рисунке 4.

Изображение выглядит как часы, объект

Описание создано с очень высокой степенью достоверности

Рис. 4. Схема электрического контура

Расчеты начинаются с установки направления тока на каждом резистивном элементе (выбирается в произвольном направление, выбор направления на количественный результат не влияет), выделение замкнутых контуров в схеме и определение направления их обхода. Количество уравнений характеризуется числом неизвестных в данной схеме, которое в свою очередь равно количеству ветвей в контуре. На основе первого закона Кирхгофа составляется N уравнений равное числу функциональных узлов минус один. Узлом называется точка, в которой сходятся не менее трех ветвей контура. Остальные уравнения записываются, основываясь на второй закон Кирхгофа. Контуры выбираются таким образом, чтобы каждый новый контур имел хотя бы одну отличную от других контуров ветвь.

Итак, для рассматриваемой схемы направления токов в каждом резисторе выбираются таким образом, как это отображено на рисунке 4. Для удобства также нумеруются, имеющиеся в схеме узлы, направление обхода контуров ­– по часовой стрелке. Анализируемая схема состоит из трех ветвей, значит, что в итоге система уравнений должна содержать столько же уравнений. Как было установлено ранее, по первому закону Кирхгофа составляется N уравнений. В рамках заданной схемы всего два узла, значит, что для них нужно лишь одно уравнение. Для узла 1 уравнение входящих и исходящих токов будет выглядеть следующим образом:

(8)

Оставшиеся уравнения составляются на основе второго закона Кирхгофа. В качестве первого контура выберем внешний контура, а в роли второго - внутренний левый. Полученные уравнения представлены ниже (для первого контура – (9), для второго – (10)):

(9)

(10)

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

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

В катушке индуктивности при прохождении через нее переменного тока образуется магнитное поле, которое противодействует силам его породившим. Возникающее ЭДС, согласно закону Ленца [2], имеет такое направление, чтобы своим магнитным полем сохранить нынешнее значение силы тока. Уравнение, описывающее связь скорости изменения силы тока в катушке индуктивности и напряжения на ее концах в момент времени t представлено ниже.

(11)

При протекании переменного тока через пластины конденсатора, он проходит повторяющиеся во времени фазы «заряд» – «разряд». В течение этих этапов напряжение и сила тока меняются по синусоидальному закону, различаясь лишь на сдвиг по фазе . Для описания взаимосвязи силы тока и напряжения на пластинах конденсатора легко вывести уравнение, исходя из определения понятия силы тока. Сила тока – это физическая величина, численно равная отношению электрического заряда, прошедшего через поперечное сечение проводника, ко времени, другими словами, это производная заряда по времени. В свою очередь заряд на пластинах конденсатора находится, как произведение электроемкости и напряжения. Ниже представлено итоговое уравнения для нахождения силы тока, проходящий через конденсатор в момент времени t.

(12)

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

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

Сперва происходит синтез рассматриваемой электрической схемы в одной из многочисленных систем автоматизированного проектирования цифровых и аналоговых устройств. Более подробно разновидности таких САПР будут рассмотрены в главе 4. После создания схемы, указания номиналов всех составных элементов, задается режим моделирования для активных элементов схемы. Задание режима происходит в директивах моделирования, так например:

  • .AC - частотный анализ схемы;
  • .DC - моделирование по постоянному току;
  • .TRAN - вычисление переходных процессов;
  • .OPTIONS - задание параметров моделирования и др.

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

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

ГЛАВА 2 АНАЛИЗ ЭТАПОВ ПРОЕКТИРОВАНИЯ ПРОГРАММ

2.1 Обзор существующих подходов проектирования программ

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

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

Метод Эйлера основывается на приближенном вычислении решения дифференциального уравнения путем аппроксимации кусочно-линейной функции (ломаной Эйлера) к дифференциальной кривой [5]. Для наглядности рассмотрим небольшой пример, в котором требуется найти частное решение дифференциального уравнения первого порядка вида: , начальное условие . Найдем решение этой задачи двумя способами, применяя обычные стандартные методы дифференциального исчисления и методом Эйлера. Начнем с нахождения частного решения уравнения путем использования метода разделения переменных.

Сперва необходимо записать заданное уравнение в вид:

(13)

Затем требуется выполнить разделение переменных по разным частям равенства, в результате получится:

(14)

Нетрудно вычислить дифференциалы каждой из частей полученного уравнения:

(15)

Применив к правой части уравнения операцию вычитания натуральных логарифмов , получится:

(16)

Поставив начальное условие y(1) = 4 в уравнение (16), можно найти частное решение заданного дифференциального уравнения:

(17)

Перейдем к нахождению решения заданного уравнения методом Эйлера [6] на отрезке [1, 4] с шагом h = 0.5. Шаг разделяет промежуток на шесть отрезков, ограничивающиеся точками A0, A1, ..., A6. Значение в первой точке А0 задано начальным условием. Остальные значения будет рассчитаны по рекуррентной формуле на основе предыдущего значения. Рекуррентная формула выглядит следующим образом:

(18)

Для начала необходимо представить исходное уравнение в виде y’ = f(x, y). Получится, что . Далее производится расчет координат точек по рекуррентной формуле, так для точки А1 значение координаты х1 будет равно 1.5, так как шаг равен 0.5, а значение координаты у будет равно у1 = 4 + 0.5 * (-4/1) = 2. Аналогично, будут рассчитаны остальные точки. Ниже представлен график, построенный в системе WolframAlpha, отображающий решения исходного уравнения двумя способами (синий график – решение метод Эйлера, фиолетовый – решение стандартными подходами).

Рис. 5. Графики, отражающее решение уравнения двумя методами (синий - метод Эйлера с шагом 0.5, фиолетовый - стандартный метод)

Нетрудно заметить, что точность метода Эйлера довольно низкая. Это вызвано тем, что выбран довольно крупный шаг, на рисунке 6 видно, что, изменив шаг со значения 0.5 до 0.1 точность вычисления резко возрастает. Однако, это не единственный способ повышения уровня точности расчетов. Существует еще усовершенствованный метод Эйлера, отличающийся от стандартного способа лишь рекуррентной формулой для расчета следующей точки графика.

(19)

Рис. 6. Графики, отражающее решение уравнения двумя методами (синий - метод Эйлера с шагом 0.1, фиолетовый - стандартный метод)

Составление системы уравнений для нахождения силы тока в ветвях электрической схемы довольно трудоемкий процесс. К этой задаче можно подойти с другой стороны, и рассматривать компонентный матрицы для описания емкостей, индуктивностей и сопротивлений размера n x n, где n– число узлов в схеме. Тогда система линейных дифференциальных уравнений в матричном виде будет записана таким образом:

(20)

(21)

где С – числовая матрица, содержащая значения емкостей и индуктивностей схемы, R – матрица резистивных сопротивлений, - вектор, содержащий искомые величины напряжения в узлах и токов в ветвях схемы, - вектор, содержащий входные сигналы.

Требуется найти вектор . Для решения поставленной задачи идеально подойдет явный метод Эйлера (20), который получается путем разложения решения уравнения в ряд Тейлора в пределах точки t [7]:

(22)

- подвектор значений напряжений в узлах, подключенных к конденсаторам;

- подвектор значений сил токов через катушки индуктивности;

- подвектор значений напряжений в узлах, не подключенных к конденсаторам.

Составленная макромодель (22) можно переписать в вид:

,

(23)

(24)

(25)

Исключив из макромодели подвектор получим:

(26)

Ввиду того, что матрица является диагональной, а друггеи подматрицы разрежены, то можно получить вторую макромодель [8]:

(27)

Учитывая, что – диагональные матрицы, запишем модель в виде системы дифференциальных уравнений, заданной в явной форме:

(28)

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

На тему построения макромоделей электрических схем опубликовано огромное количество исследований, предоставляющие различные решения для устранения поставленной проблемы. На сегодняшний день исследования в этой области не проводятся, нет новых подходов к решению задачи сокращения количества элементов в схеме, поэтому необходимо детально изучить исследования прошлого века. Наиболее распространенным алгоритмом является PRIMA [1], который получает макромодели уменьшенного порядка для линейных пассивных электрических схем.

Авторы утверждают, что алгоритм блока Арнольди [10], лежащий в основе метода PRIMA, создает векторы, используемые для реализации преобразований в матрицах MNA (модифицированный узловой анализ, позволяющий упростить представление компонентов схемы в узловом анализе, а частности для первого закона Кирхгофа) [11]. Однако, у данного подхода имеется ограничение: преобразования полученных макромоделей для RLC-схем должны быть конгруэнтными. Этот метод гарантирует пассивность схемы RLC, обеспечивая при этом высокую степень точности.

В этом исследовании авторы сравнивают разработанный подход с методом MPVL (MatrixPadé через Lanczos) [12] и пришли к выводу, что алгоритмы скомпенсированы с точки зрения точности. Аналогично, и с методом, использующим в своей основе уравнения Ляпунова. Эти методы не могут гарантировать пассивность электрической схемы, что может отрицательно повлиять на анализ во временной и функциональной областях схемы.

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

2.2 Выбор среды проектирования программ

В данной главе будет описан выбор среды моделирования электрической схемы, необходимой для проведения упрощения электрической схемы. На данный момент существует огромный спектр различных по управлению и функционалу систем автоматизированного проектирования САПР. Наиболее известными считаются такие программы аналогового и цифрового моделирования, как Micro-CAP, NI Multisim и LTspice. Ниже представлены вид графического функционала перечисленных симуляторов моделирования работы цифровых и аналоговых электрических цепей (Рис. 7 – 9).

Рис. 7. Среда Micro-CAP

Рис. 8. Среда NI Multisim

Рис. 9. Среда LTSpice

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

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

Изображение выглядит как снимок экрана

Описание создано с очень высокой степенью достоверности

Рис. 10. Вид файла, хранящего модель трансформатора

Исходя из этого файла нетрудно составить матрицу емкостей, сопротивлений и индуктивностей, требуемую в макромодели. В разрабатываемый программный модуль будет подаваться электрическая схема из среды LTspice в качестве asc-файла, который в последствии будет преобразован к матричному виду. В главе 3 более подробно описаны требуемые для макромоделирования типы матриц, помимо компонентных матриц, необходимо составить вектор со входными значениями.

2.3 Разработка программного модуля

В качестве среды для разработки программного модуля построения макромоделей электрической схемы выбран QtCreator. Это кроссплатформенная IDE (интегрированная среда разработки) со свободным программным обеспечение для разработки приложений с помощью таких языков программирования, как C/C++.

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

Разработанный программный модуль представлен на рисунке 11. Далее будет описаны его функциональные возможности. Для построения макромодели электрической схемы пользователю требуется загрузить в систему asc-файл. Сделать это можно нажав на кнопку «Открыть файл». После этого в поле «Выберите метод макромоделирования» необходимо указать, каким именно методом упрощения пользователь хотел бы воспользоваться.

Рис. 11. Окно программы «Модуль построения макромоделей электрических схем»

В случае если, пользователю захочется получить сведения о том или ином методе, требуется нажать кнопку «О методе», после чего в новом окне появится подробное описание интересующего метода макро моделирования. Указав два этих главных параметра, а именно, файл со схемой и алгоритм построения макромодели, необходимо нажать кнопку «Рассчитать». После нажатия этой кнопки в сравнительной таблице внизу отобразится количество каждого из видов пассивных элементов до и после применения метода упрощения.

ЗАКЛЮЧЕНИЕ

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

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

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

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

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

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

СПИСОК ЛИТЕРАТУРЫ

  1. Odabasioglu A., Celik M., L. T. Pillage, “PRIMA: Passive reduced-order interconnect macromodeling algorithm,” IEEE Trans. Computer-Aided Design, pp. 645–654, Aug. 1998.
  2. Гуревич Г.С., Каневский С.Н. Индукция, взаимоиндукция, самоиндукция - это просто. Теория абсолютности. М.: У Никитских ворот, 2015.
  3. Лаврентьев Б.Ф. Схемотехника электронных средств. М.: Академия, 2010. С. 53—68.
  4. Ebers J. J., Moll J. L. Large-signal behavior of junction transistors // Proceedings of the Institute of Radio Engineers. — 1954. — Vol. 42, № 12. — P. 1761–72.
  5. Демидович Б.П. (ред) Задачи и упражнения по математическому анализу для ВТУЗов. М.: Астрель, 2004.
  6. Эйлер Л. Интегральное исчисление, том 1, раздел 2, гл. 7. М.: Государственное издательство технико-теоретической литературы, 1956.
  7. Востриков А.В. Приближенный метод расчета растекания токов по элементам конструкции космического аппарата при электростатических разрядах. − Технологии ЭМС,2010.−№2(33).−С.75−79.
    Востриков А.В., Борисов Н.И. Новый алгоритм построения макромоделей на основе методов Эйлера. Труды XXI Международного совещания «Радиационная физика твердого тела», 22 августа – 27 августа 2011 г. Севастополь. − С. 283−291.
  8. LTspice: modeling circuits [Электронный ресурс]. – Режим доступа: http://forum.cxem.net/applications/core/interface/file/attachment.php?id=394136 (дата обращения: 03.05.18).
  9. K. J. Kerns, A. T. Yang. “Stable and efficient reduction of large, multiport RC networks by pole analysis via congruence transforms,” IEEE Trans. Computer-Aided Design Integr. Circuits Syst., vol. 16, no. 7, pp. 734–744, Jul. 1997.
    1. Odabasioglu, M. Celik, L. T. Pillage. “Practical considerations for passive reduction of RLC circuits,” in Proc. Int. Conf. Computer Aided-Design, San Jose, CA, Nov. 1999, pp. 214–219.
  10. P. Feldmann and R. W. Freund, “Efficient linear circuit analysis by Padé approximation via the Lanczos process,” IEEE Trans. Computer-Aided Design Integr. Circuits Syst., vol. 14, no. 5, pp. 639–649, May 1995.
  11. J.-R. Li, F. Wang, and J. White, “An efficient lyapunov equation-based approach for generating reduced-order models of interconnect,” in Proc. 36th ACM/IEEE Design Automation Conf., New Orleans, LA, Jun. 1999, pp. 1–6.
  12. Macromodeling Program [Электронный ресурс]. – Режим доступа: https://github.com/Macromodeling (дата обращения: 10.06.2019).