к.т.н. Калимулин И.Ф.
Томский государственный университет систем управления и радиоэлектроники (ТУСУР), Россия
Архитектура веб-приложения для синтеза многорезонансных моделей пассивных электронных компонентов
Классические инструменты для проектирования электронных устройств, известные под общим названием “системы автоматизированного проектирования (САПР)”, появились около 30 лет назад. В настоящее время распространённость Интернета, а главное быстрое развитие инструментария для разработки веб-приложений, позволяет реализовать основные функции САПР в виде решения «программное обеспечение как сервис» (Software as a Service (SaaS)), в которых основные вычисления проходят на стороне «облака» (Cloud), а на стороне пользователя работа с приложением происходит в веб-браузере.
При этом SaaS решения имеют большие преимущества перед традиционным программным обеспечением (ПО): все пользователи используют только одну версию ПО, данные хранятся в облаке и соответственно можно централизованно управлять резервным копированием и правами доступа, учёт потребностей пользователя через анализ их поведения в веб-приложении. Кроме того, централизованное управление аппаратным обеспечением позволяет создавать специальные условия для работы техники, такие как охлаждение и регулярное техническое обслуживание. Однако публичные облачные решения вызывают беспокойство по вопросам передачи конструкторской документации сторонней компании, что решается использованием частных облаков (Private Cloud). Также, предоставление облачных решений может упростить продвижение нового продукта, т.к. для его использования достаточно открыть в браузере нужный сайт. Примером облачной САПР является [1], предоставляющий собой редактор схем и её симулятор.
Важной составляющей САПР являются модели электронных компонентов и методики для их синтеза [2]. Большинство производителей предоставляет модели для RLC-компонентов, однако, они описывают их поведение в области первого резонанса. В случае выполнения анализа электромагнитной совместимости необходимы многорезонансные модели, описывающие поведение в области до 40 ГГц [3]. Цель работы – представить архитектуру веб-приложения для синтеза многорезонансных моделей пассивных электронных компонентов.
Веб-приложение имеет модульную структуру и для реализации базовых алгоритмов и структур данных опирается на сторонние библиотеки программного кода. Архитектура веб-приложения:
1. Графический интерфейс пользователя в виде набора файлов в формате HTML, CSS, JS. Представление информации и средства взаимодействия с пользователем (формы), передача информации на сторону сервера. Библиотека Bootstrap.
2. Веб-сайт. Обработка HTTP-запросов, передача информации между модулями
приложения, реализация механизма сессий, обработка информации из форм.
Библиотека для каркаса веб-приложения Flask.
3. Вычислительное ядро. Чтение и обработка Touchstone-файлов с входными данными. Синтез структуры и параметров модели. Генерация текстового представления модели компонента. Сохранение в файл. Библиотеки: Vectfit (аппроксимация), Jinja2 (шаблонизатор), Numpy (математические операции с матрицами).
4. Вычисление отклика и генерация изображений с графиками. Библиотеки: Ngspice (SPICE-симулятор), Matplotlib (построение изображения и сохранение его в заданном формате).
Для непосредственной обработки TCP-соединений, передачи файлов и данных между браузером и сервером используется веб-сервер Nginx. Для организации взаимодействия веб-приложения с веб-сервером необходима реализация стандартного интерфейса Web Server Gateway Interface (WSGI) в веб-приложении, что реализуется за счёт применения сервера-приложений Gunicorn. Для запуска Gunicorn используется программа Supervisor, которая обеспечивает запуск приложения в виде Unix-демона, стандартные средства для взаимодействия с демоном, а также перезапуск приложения в случае его останова из-за непредвиденных ошибок. Запущенный демон и веб-сервер взаимодействуют через классический интерфейс веб-сокетов. Кроме того, в качестве инструмента развёртывания веб-приложения на сервере используется система распределённого контроля версий Git.
Разработанное веб-приложение позволяет выполнять синтез многорезонансных моделей и сохранять их в виде двух форматов: SPICE и TALGAT Script. Применение описанной архитектуры позволило закончить разработку в сжатые сроки силами одного человека.
Литература
1. Mentor
Graphics. SystemVision Cloud. Design and simulate complete analog, digital,
mixed signal and electro-mechanical systems [Electronic resource]. –
2016. – URL: https://systemvision.com/.
2. Gazizov T.,
Melkozerov A., Zabolotsky A., Kuksenko S., Orlov P.,
Salov V., Akhunov R., Kalimulin I., Surovtsev R.,
Komnatnov M., Gazizov A. Ensurance and simulation of electromagnetic
compatibility: recent results in TUSUR University // International Conference
on Applied Physics, Simulation and Computers (APSAC). – Vienna (Austria),
2015. – P. 151–162.
3. Калимулин И.Ф.,
Заболоцкий А.М., Газизов Т.Р. Синтез многорезонансных моделей
пассивных компонентов для моделирования испытаний на электромагнитную совместимость
в диапазоне частот до 40 ГГц // Приборы и техника
эксперимента. – 2016. – Т. 59, № 1. – С. 88–96.