12 minute read
ПРОЕКТИРОВАНИЕ УСТРОЙСТВ
from voprradio062020
by bortnikova
Для цитирования: Соболев Е. А., Коновалова В. С. Модернизация систем автоматизированного проектирования печатных плат с помощью внедрения дополнительного функционала // Вопросы радиоэлектроники. 2020. № 6. С. 34–39. DOI 10.21778/2218-5453-2020-6-34-39 УДК 004.416.6
Е.А. Соболев 1, 2 , В.С. Коновалова 1, 2
Advertisement
1 АО «Научно-производственное предприятие «Радар ммс», 2 Национальный исследовательский университет ИТМО
Рассмотрена возможность внедрения дополнительного функционала в системы автоматизированного проектирования (САПР) печатных плат (ПП). Для этого были рассмотрены две принципиально отличающиеся САПР: Xpedition Enterprise и Altium Designer. Каждая из рассмотренных САПР обладает своими преимуществами и недостатками. Первая имеет сложный интерфейс и разветвленную структуру программы, но при этом предоставляет пользователю практически неограниченные возможности в проектировании ПП. Вторая обладает понятным интерфейсом и простой структурой программы, однако имеет ограничения при разработке сложных проектов. При этом в обеих САПР существует возможность внедрения дополнительного функционала путем написания новых сценариев на языке программирования. В статье описано использование внутренней среды разработки в САПР Xpedition Enterprise. На языке VBScript написан скрипт, выполняющий подсчет переходных отверстий в проекте ПП. Создание новых сценариев в САПР позволяет во многом упростить работу инженеров-топологов и ускорить разработку проектов ПП.
Ключевые слова: САПР, программирование, скрипты
Введение
В настоящее время существует множе‑ ство САПР, имеющих различное применение: 3D-моделирование, конструирование, проектиро‑ вание ПП [1]. Во многих подобных системах реали‑ зована возможность добавления дополнительного функционала, так или иначе облегчающего работу в ней. Подобный функционал может быть реали‑ зован пользователями самостоятельно на одном из современных языков программирования. Ра‑ бота по внедрению дополнительного функционала в САПР проводится в рамках создания проектов ПП.
На рынке представлен широкий выбор САПР, позволяющих спроектировать ПП любой слож‑ ности. Все они имеют как различия в интерфейсе и возможностях, так и общие черты. В «продвину‑ тых» САПР реализована возможность введения дополнительного функционала, используя сред‑ ства программирования и создания скриптов. Наи‑ более востребованными из них являются Xpedition Enterprise и Altium Designer, основные особенности которых рассмотрены далее.
САПР Xpedition Enterprise
Пакет программ Xpedition Enterprise – это инно‑ вационная САПР, использующаяся в крупном про‑ изводстве [2]. Данная САПР реализована в виде нескольких программ, каждая из которых имеет различное назначение и отвечает за конкретную область проектирования ПП, однако, все они свя‑ заны между собой общим проектом. В программе Cell Editor создаются символы элементов для прин‑ ципиальной электрической схемы (ПЭС), посадоч‑ ных мест на ПП и связей между ними. В Xpedition Designer создаются ПЭС. Также в состав САПР входит программа Xpedition Layout, реализующая трассировку проекта ПП, интерфейс которой пред‑ ставлен на рис. 1.
Справа располагается меню Display control, ко‑ торое позволяет настраивать отображение слоев ПП и элементов на плате. Сверху – панель инстру‑ ментов для проектирования ПП, среди которых есть панель перехода в разные режимы работы. Всего в программе предусмотрено четыре режима работы:
Рисунок 1. Интерфейс Xpedition Layout
Рисунок 2. Меню режимов работы в Xpedition Layout
Select Mode, позволяющий выделять объекты разных типов и вносить изменения в ряд их свойств; Place Mode для изменения положения компонен‑ тов на плате; Route Mode для прокладки проводников; Draw Mode для изменения контура платы, по‑ зиционных обозначений компонентов и вставки текста на плату.
Каждый из режимов выбирается при нажатии соответствующих команд на панели инструментов (рис. 2).
В центре экрана располагается основная рабо‑ чая область, в которой изображен начальный кон‑ тур платы (внешний контур) и контур границы трас‑ сировки (внутренний контур). Работа над проектом ПП всегда начинается с изменения этих границ. Габариты ПП определяются в соответствии с техни‑ ческим заданием. Компоненты размещаются на ПП при помощи меню Component Explorer, в котором представлены структура проекта и входящие в нее компоненты.
Связь с ПЭС осуществляется при создании про‑ екта ПП в Xpedition Layout – в специальном окне ука‑ зывается путь к файлу ПЭС, после чего автомати‑ чески происходит аннотация проекта, т. е. перенос информации о любых изменениях ПЭС в проект ПП (например, изменение связей, компонентов и т. д.). Если в схеме произошли какие-либо изменения, это будет сразу видно по значку «светофора», распо‑ ложенного в правом нижнем углу экрана. Если все индикаторы горят зеленым цветом, значит, плата синхронизирована со схемой, если присутствуют желтые или красные цвета – в схеме произошли изменения, которые требуется перенести в плату (сделать аннотацию).
Xpedition Enterprise имеет сложный интерфейс и огромное количество разнообразных команд, что, естественно, усложняет задачу освоения дан‑ ной САПР начинающими пользователями. Однако Xpedition Enterprise позволяет гибко настраивать проект ПП и реализовывать сложные и интересные проекты.
САПР Altium Designer
Altium Designer является комплексной системой проектирования и в отличие от Xpedition Enterprise имеет общую структуру проекта, т. е. один проект включает в себя ПЭС, ПП и библиотеку символов и посадочных мест [3]. Данная САПР имеет инту‑ итивно понятный интерфейс (рис. 3), что является немаловажным для начинающих топологов.
В центре экрана расположена рабочая область программы, в которой создаются принципиальные электрические схемы и посадочные места (ПМ), ри‑ суются символы и трассируются ПП. В левой части экрана отображается структура проекта. Проект состоит из нескольких папок: Source documents – листы принципиальной электрической схемы про‑ екта и проект с трассировкой ПП; Libraries содер‑ жит в себе файлы библиотеки посадочных мест и символов (PCB Library Documents и Schematic Library Documents соответственно). Над панелью с открытыми документами располагается панель
Рисунок 3. Интерфейс Altium Designer: 1
– структура проекта; 2 – панель с открытыми документами
инструментов, используемых для редактирования документов. В Altium Designer нет режимов работы, все изменения вносятся в реальном времени. Если курсор направлен на компонент, то при нажатии левой кнопки мыши его можно перемещать, если курсор указывает на проводник, то при нажатии клавиши он будет изменен. Для удобства работы в данной САПР есть система «горячих клавиш», благодаря которой можно быстро получить доступ к требуемым операциям.
Кроме того, в Altium Designer реализована воз‑ можность проектирования ПЭС, в которых есть несколько повторяющихся узлов или составных частей. Такие схемы принято называть мультика‑ нальными (Multi-Channel). В Altium Designer есть специальные инструменты, позволяющие быстро создавать подобные схемы, что дает возможность преобразовать структуру проекта в иерархическую.
В иерархических проектах есть два типа листов: главный лист определяет функциональные связи между компонентами, в побочном листе прово‑ дятся реальные связи между компонентами. Для простоты представления главный лист можно пред‑ ставить в виде так называемого «черного ящика», а в побочный вынести его содержимое. При этом побочный лист может быть размножен с помощью специальных ключевых слов. В САПР Xpedition Enterprise не реализована подобная возможность, в связи с чем проектирование подобных ПЭС зани‑ мает много времени и требует создания большого количества листов для схемы вручную.
Несмотря на ряд преимуществ Altium Designer, система обратной аннотации проекта ПП (пере‑ нос изменений в ПЭС из проекта ПП) в данной САПР работает с ошибками. Обратная аннотация применяется при проектировании сложных ПП с использованием программируемых логических интегральных схем (ПЛИС). В Xpedition Enterprise данная система работает более стабильно.
Общей для обеих САПР является возможность создания дополнительного функционала, исполь‑ зуя современные языки программирования.
Внедрение дополнительного функционала в САПР
Дополнительный функционал может быть вне‑ дрен в САПР двумя способами. Первый предпола‑ гает использование внутренних сред разработки, интегрированных в САПР. В этом случае пользо‑ ватель обычно ограничен в выборе языков про‑ граммирования. Второй способ предоставляет пользователю больше возможностей реализации на различных языках программирования, но тре‑ бует наличия дополнительных сред разработки. Очевидно, что для внедрения дополнительного функционала практичнее использовать первый способ, поскольку он не требует затрат на поиск и установку дополнительного программного обе‑ спечения. Немаловажно, что языки программиро‑ вания, используемые в подобных средах разра‑ ботки, просты для освоения.
Внутренняя среда разработки САПР Xpedition Enterprise поддерживает два языка программиро‑ вания: Jscript и VBScript. Начинающим программи‑ стам рекомендуется выполнять создание сценариев на языке VBScript, поскольку он прост в освоении и обладает простым синтаксисом [4]. На рис. 4 представлен интерфейс среды разработки САПР.
В верхней части располагается основная па‑ нель инструментов, ниже – команды Run Form, Stop Form и View Script соответственно. Команда Run Form запускает скрипт, Stop Form – останавливает
Рисунок 4. Интерфейс среды разработки
Application
Document
Components
Pins Etc. Vias
Nets
Etc.
Рисунок 5. Иерархическая структура САПР Xpedition Enterprise
выполнение программы, а View Script осуществляет переключение между режимами графического ото‑ бражения скрипта и текстовым редактором кода. Справа расположена панель инструментов для редактирования графического отображения ин‑ терфейса скрипта. Внутренняя среда разработки позволяет создавать сложные скрипты, имеющие свой собственный интерфейс с набором кнопок, ко‑ торым можно присваивать назначение.
В качестве примера работы во внутренней среде разработки рассмотрим задачу создания сценария по подсчету количества переходных отверстий, ис‑ пользуемых в проекте ПП [5].
При создании любого сценария сперва необхо‑ димо представить структуру будущей программы и последовательность выполняемых ею действий. Наиболее удобным является вариант представления алгоритма работы программы в виде блок-схемы.
Сначала программа должна получить доступ к проекту ПП. САПР Xpedition Enterprise имеет ие‑ рархическую структуру, представленную на рис. 5. Ее возглавляет приложение (Application), в котором
Начало
Получение доступа к классу отверстий (VIA) через приложение (Xpedition) и открытый проект ПП
Информация о переходных отверстиях в проекте ПП
Да
Выполнить операцию подсчета переходных отверстий (Count vias) Выполнить подсчет всех отверстий?
Вывод результата подсчета на экран
Конец Нет
Выделение с помощью мыши области, в которой нужно выполнить операцию подсчета переходных отверстий
Выполнить операцию подсчета переходных отверстий (Count vias)
Рисунок 6. Блок-схема алгоритма работы программы по подсчету переходных отверстий в проекте печатной платы
и происходят манипуляции с объектами. Ниже пред‑ ставлен проект ПП (Document), непосредственно связанный с объектами управления: Components (электронные компоненты ПП) и Nets (цепи), каж‑ дый из которых разделяется на меньшие объекты.
Для реализации подсчета переходных отверстий производится обращение к объектам Vias. Если число переходных отверстий необходимо опреде‑ лить лишь на конкретном участке ПП, то при помощи мыши выделяется нужный участок, после чего про‑ изводится подсчет. Результат подсчета выводится на экран, и программа завершает свою работу. Блоксхема данного алгоритма представлена на рис. 6.
Алгоритм реализован на языке VBScript. Для удобства использования разработан интерфейс программы, в котором имеется три кнопки (рис. 7). Нажатие Count All запускает подсчет всех пере‑ ходных отверстий, использованных в проекте ПП, Count Selected выполняет подсчет переходных от‑ верстий в выделенной области, Cancel прекращает выполнение скрипта. Результат подсчета отверстий в выделенной области представлен на рис. 7.
Данный скрипт является полезным при разра‑ ботке конструкторской документации (КД) на фи‑ нальных этапах проектирования ПП, когда в до‑ кументацию вносится информация о количестве отверстий в ПП или для контроля количества пере‑ ходных отверстий, если на него имеются ограни‑ чения. Скрипт может быть модернизирован для
Рисунок 7. Результат выполнения программы по подсчету выделенных переходных отверстий
вычисления количества и других объектов – доста‑ точно изменить несколько строк в коде.
Заключение
САПР Xpedition Enterprise имеет более сложный интерфейс, чем Altium Designer, однако, в Xpedition Enterprise реализована стабильная работа при про‑ ведении обратной аннотации проектов ПП, что критично при разработке сложных проектов с ис‑ пользованием ПЛИС. Обе САПР имеют внутрен‑ ние среды разработки, позволяющие создавать скрипты без наличия специализированного ПО. В статье рассмотрен дополнительный сценарий, написанный на языке VBScript, который выполняет подсчет использованных переходных отверстий в проекте ПП. Данный скрипт может быть полезен на финальных этапах проектирования ПП при со‑ ставлении КД.
Аналогичным образом можно разработать сцена‑ рии для внедрения функционала, которого нет в ис‑ пользуемой САПР, но который реализован в другой. Внедрение дополнительного функционала позво‑ ляет не только гибко настроить САПР, но и ускорить работу инженеров-топологов над проектами ПП.
СПИСОК ЛИТЕРАТУРЫ
Абрамов А. Автоматизированное проектирование радиоэлектронной аппаратуры [Электронный ресурс]. URL: https:// habr.com/ru/post/439572 (дата обращения: 28.04.2020). Документация Xpedition Enterprise [Электронный ресурс]. URL: https://www.mentor.com/pcb/xpedition (дата обраще‑ ния: 28.04.2020). Документация Altium Designer [Электронный ресурс]. URL: https://www.altium.com/ru/documentation/altium-designer (дата обращения: 28.04.2020). Дунаев В. Основы VBScript [Электронный ресурс]. URL: https://docplayer.ru/25861870-Osnovy-vbscript-vvod-vyvoddannyh-funkciya-msgbox-vadim-dunaev.html (дата обращения: 28.04.2020). Соболев Е. А., Милорадов П. В., Коновалова В. С. Применение инструментов программирования для модернизации систем автоматизированного проектирования // Метрологическое обеспечение инновационных технологий: сб. ста‑ тей. СПб.: ГУАП, 2020. 308 с.
ИНФОРМАЦИЯ ОБ АВТОРАХ
Соболев Егор Анатольевич, инженер-конструктор, АО «Научно-производственное предприятие «Радар ммс», Россий‑ ская Федерация, 197375, Санкт-Петербург, ул. Новосельковская, д. 37, лит. А; магистрант, ФГАОУ ВО «Национальный исследовательский университет ИТМО», Российская Федерация, 197101, Санкт-Петербург, Кронверкский пр., д. 49, тел.: 8 (921) 436‑93‑72, e-mail: sobolev_ea@radar-mms.com. Коновалова Вера Сергеевна, ведущий специалист, АО «Научно-производственное предприятие «Радар ммс», Рос‑ сийская Федерация, 197375, Санкт-Петербург, ул. Новосельковская, д. 37, лит. А; доцент, ФГАОУ ВО «Национальный исследовательский университет ИТМО», Российская Федерация, 197101, Санкт-Петербург, Кронверкский пр., д. 49, тел.: 8 (921) 596‑52‑52, e-mail: konovalova_vs@radar-mms.com.
For citation: Sobolev E. A., Konovalova V. S. Modernization of computer-aided design of printed circuit boards with introduction of additional functionality. Issues of radio electronics, 2020, no. 6, pp. 34–39. DOI 10.21778/2218-5453-2020-6-34-39
E. A. Sobolev, V. S. Konovalova MODERNIZATION OF COMPUTER-AIDED DESIGN OF PRINTED CIRCUIT BOARDS WITH INTRODUCTION OF ADDITIONAL FUNCTIONALITY
The paper considers the possibility of introducing additional functionality in Computer-aided design systems (CAD) which can be used for the design of printed circuit boards (PCB). Two fundamentally different CAD systems were considered for this
purpose: Xpedition Enterprise and Altium Designer. Each of the reviewed CAD systems has its advantages and disadvantages. The first has a complex interface and branched program structure, but at the same time provides the user with almost unlimited possibilities in the design of printed circuit boards. The second has a clear interface and simple program structure, but it has limitations in the design of complex printed circuit boards. Despite its shortcomings in both CAD systems, it is possible to implement additional functionality by writing new scripts in a programming language. This article describes the use of the internal development environment in Xpedition Enterprise. A script was written on VBScript language which perform count vias in a PCB project. The development of new scenarios in CAD can greatly simplify the work of topological engineers and accelerate the development of PCB designs.
Keywords: CAD, programming, scripts
REFERENCES
1.
2. 3.
4.
5. Abramov A. Computer-aided design of electronic equipment. Available at: https://habr.com/en/post/439572 (accessed 28.04.2020). Documentation for Xpedition Enterprise. Available at: https://www.mentor.com/pcb/xpedition (accessed 28.04.2020). Documentation for Altium Designer. Available at: https://www.altium.com/en/documentation/altium-designer (accessed 28.04.2020). Dunaev V. Fundamentals of VBScript. Available at: https://docplayer.ru/25861870-Osnovy-vbscript-vvod-vyvod-dannyhfunkciya-msgbox-vadim-dunaev.html (accessed 28.04.2020). Sobolev E. A., Miloradov P. V., Konovalova V. S. Application of programming tools for the modernization of computer-aided design systems. In: Metrologicheskoye obespecheniye innovatsionnykh tekhnologiy [Metrological support of innovative technologies]. Saint-Petersburg, GUAP Publ., 2020, 308 p. (In Russian).
AUTHORS
Sobolev Egor, design engineer, «NPP «Radar mms» JSC, 37A, Novoselkovskaya St., Saint-Petersburg, 197375, Russian Federation; undergraduate, ITMO University, 49, Kronverksky Ave., Saint-Petersburg, 197101, Russian Federation, tel.: +7 (921) 436‑93‑72, e-mail: sobolev_ea@radar-mms.com. Konovalova Vera, leading specialist, «NPP «Radar mms» JSC, 37A, Novoselkovskaya St., Saint-Petersburg, 197375, Russian Federation; associate professor, ITMO University, 49, Kronverksky Ave., Saint-Petersburg, 197101, Russian Federation, tel.: +7 (921) 596‑52‑52, e-mail: konovalova_vs@radar-mms.com.