Научная статья на тему 'Разработка модуля размещения учебно-исследовательской САПР на базе САПР KiCad'

Разработка модуля размещения учебно-исследовательской САПР на базе САПР KiCad Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
711
173
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АВТОМАТИЗАЦИЯ ПРОЕКТИРОВАНИЯ / ПЕЧАТНАЯ ПЛАТА / РАЗМЕЩЕНИЕ / ОТКРЫТОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ / УЧЕБНО-ИССЛЕДОВАТЕЛЬСКАЯ САПР / ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ / КОНВЕРТИРОВАНИЕ ДАННЫХ / ЕDUCATIONAL RESEARCH CAD / AUTOMATION OF DESIGNING / THE PRINTED-CIRCUIT-BOARD / THE ACCOMMODATION / THE OPEN SOFTWARE / OBJECT-ORIENTED PROGRAMMING / CONVERTING OF THE DATA

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Литвиненко В. А., Ховансков С. А., Рябов О. В., Платонов В. А.

Рассматриваются результаты разработки модуля размещения учебноисследовательской САПР на базе открытой промышленной САПР KiCad, распространяемой по лицензии GPL. Приводится формат файла описания данных САПР KiCad. Рассмотрены структура учебно-исследовательской САПР на базе САПР KiCad и состав разработанного класса PCB, предназначенного для конвертации данных

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Development of the module of accommodation

The results of development of the module of accommodation еducational research CAD are considered on the basis of open industrial CAD KiCad. It is distributed under license of GPL. The structure a format of a file of the description of data CAD KiCad are resulted. Are considered structure еducational research CAD on base CAD KiCad and structure of the developed class PCB intended for converting of the data.

Текст научной работы на тему «Разработка модуля размещения учебно-исследовательской САПР на базе САПР KiCad»

♦ реализация и отладка высокопроизводительных систем цифровой обработки сигналов в Simulink с использованием оптимизированных Xilirn блоков, реализующих, например, такие функции, как БПФ, КИХ-фильтр, декодер Виттерби, кодер/декодер Рида-Соломона, FITO, ОЗУ, ПЗУ и т.д.;

♦ создание сопроцессорного блока цифровой обработки сигнала для микропроцессора MicroBlaze 32-bit RISC.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Норенкав ИЛ. Основы автоматизированного проектирования. - М.: Изд-во МГТУ им.

Н.Э.Баумана, 2002.

2. Латышев ПЛ. Катало г САПР. - М.: САЛОН-ПРЕСС, 2006.

3. http://www.megratec.ru; http://www. mentor.com

4. http://www. xilinx.com; http://www.plis.ru

5. http://www.eltm.ru; http://www.aldec.com

6. http://www.eltm.ru; http://www. altium.com

УДК 621.03

В.А. Литвиненко, С.А. Ховансков, О.В. Рябов, В.А. Платонов РАЗРАБОТКА МОДУЛЯ РАЗМЕЩЕНИЯ УЧЕБНО-ИССЛЕДОВАТЕЛЬСКОЙ САПР НА БАЗЕ САПР KICAD*

Введение. Эффективная подготовка специалистов в области автоматизированного конструирования ЭВА требует использования в учебном процессе учебноисследовательских САПР на базе промышленных САПР с открытыми программным, математическим и другими видами обеспечений, так называемых, открытых САПР. Открытость программного обеспечения - это, прежде всего, открытость , . Работа с открытой САПР позволяет познакомиться со структурой программного обеспечения, исходным кодом программных модулей, организацией взаимодействия программных модулей различных проектных процедур, структурой и организацией файлов и т.д. Кроме того, использование форматов входных и выходных данных отдельных проектных процедур открытых промышленных САПР позволяет исследовать в учебных и научных целях различные методы и алгоритмы проектных процедур и операций и при этом использовать все возможности открытой промышленной САПР - от использования редактора схем, до объемного моделирования печатной платы. Таким требованиям отвечает промышленная САПР KiCad [1, 2].

САПР KiCad. Knowledge Infrastructure for Collaborative Product Development (KiCad) - это кросс-платформенный, распространяемый по лицензии GPL программный комплекс класса EDA с открытыми исходными текстами, предназначенный для разработки электрических схем, печатных плат, гибридных интегральных , .

KiCad GPL ,

использовать. При этом KiCad поддерживаются операционные системы Linux,

* Работа выполнена при поддержке: РФФИ (гранты № 06-01-00272), РНП 2.1.2.3193, РНП 2.1.2.2238, г/б № Т.12.8.08.

Windows, FreeBSD и Solaris. Для многих библиотечных компонентов разработаны 3D модели, созданные в Wings3D.

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

По своей структуре KiCad напоминает САПР P-CAD [3] - известную программную систему аналогичного назначения: это набор из четырех автономных , -вания. Общая структура САПР KiCad показана на рис. 1.

Модуль Eeschema предназанчен для создания электронной схемы; pcbnew -для создания чертежа печатной платы; gerbview - для просмотра документов, выводимых на фотоплоттер; Cvpcb - для выбора из библиотеки стандартных компо-, .

К модулям можно обращаться как независимо друг от друга, так и из цен-Ki ad, .

Модуль Eeschema создает простые и многоуровневые схемы, проверяет их корректность с помощью функции Electrical Rules Check (ERC) и составляет список соединений (netlist), который можно использовать как в модуле KiCad pcbnew, так и в известной программе расчета электронных схем P-Spice. Модуль Eeschema обеспечивает быстрый прямой доступ к документации электронных компонентов, хранящихся в библиотеке. Редактор этих компонентов тоже вызывается из этого модуля. Библиотека, поставляемая в комплекте с KiCad, насчитывает около 30 готовых компонентов с описаниями. Кроме того, к этой программной системе прилагается 7 демонстрационных электронных схем и чертежей печатных плат.

Рис. 1. Структура САПР KiCad

Редактор печатных плат pcbnew позволяет создавать чертежи многослойных (до 16 проводящих и 12 технических слоев) плат. Под техническими слоями подразумеваются такие, как слой маркировки, слой защиты и др. Затем pcbnew создает файлы, необходимые для построения печатной платы (GERBER-файлы для фото).

можно использовать лазерные принтеры PostScript. Модуль pcbnew позволяет также просматривать объемную модель готовой платы вместе с установленными на нее электронными компонентами. Для создания трехмерной модели используется язык OpenGL.

К модулям Eeschema и pcbnew прилагается менеджер библиотек, редакторы компонентов и проекций. Элементы библиотеки снабжаются сопроводительной документацией (поставляемые в комплекте с KiCad в формате PDF), а также ключевыми словами для облегчения их поиска в базе данных.

Файлы описания данных САПР KiCad. KiCad использует в своей работе три типа файлов:

1) файлы описания схем с расширением *.sch (Eeschema);

2) файлы библиотек с расширением *.lib (Eeschema);

3) файлы описания печатных плат *.brd (pcbnew).

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

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

Первая строка этого файла содержит информацию о создавшей файл программе и дату создания, например:

PCBNEW-BOARD Version 0 date 5/1/2005-14:45:23.

Далее следуют описания следующих бло-

:

GENERAL - содержит основную информации«) о плате: число слоев, число цепей, размеры платы, число элементов и т.д.;

SHEETDESCR - содержит информацию ( ), , создания схемы и т.д.;

SETUP - содержит различную конфигу-: -, , : , -, , размер шрифта и п.р.;

EQUIPOT - содержит список цепей (netlist);

MODULE - содержит информацию об , : , , , содержит секции PAD и SHAPE3D;

PAD - содержит информацию о ножке , :

( EQUIPOT),

,

модуля и т.д.;

SHAPE3D - -

Рис. 2. Формат данных обходимую для трехмерного изображения мо-

файла *.brd дуля'

DRAWSEGMENT - ;

TEXTPCB - содержит текстовую информации, расположенную на схеме; TRACK - ;

Формат данных ПП САПР KiCad

GENERAL

SHEETDESCR

SETUP

EQUIPOT

MODULE

SHAPE3D

DRAWSEGMENT

TEXTPCB

TRACK

ZONE - содержит зоны сплошной металлизации платы с указанием слоя и толщины.

Таким образом, файлы описания печатных плат с расширением *.brd - обычные текстовые файлы формата ASCII с определенной структурой данных, что позволяет использовать их для разработки программного обеспечения учебно.

Структура УИ САПР. Структура УИ САПР на базе САПР KiCad с модулем размещения показана на рис. 3.

Пользователь УИ САПР самостоятельно создает принципиальную электриче-

KiCad -

ное размещение с указанием границ печатной платы. После этого пользователь должен сохранить полученные результаты в виде проекта печатной платы. Следующий шаг в работе модуля размещения УИ САПР - это загрузка данных из файла с расширением *.brd, полученного в ходе предыдущей работы и сохраненного в проекте создаваемой платы. Эти данные необходимо не только загрузить в , , -пользоваться в программном обеспечении учебно-исследовательской САПР. Эту функцию выполняет входной конвертор данных.

Рис. 3. Структура УИ САПР на базе САПР KiCad

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

Программное обеспечение. Разработано программное обеспечение (ПО) для модуля размещения УИ САПР с учетом формата данных, получаемых от системы KiCAD, с использованием объектно-ориентированного программирования в среде C++ Builder 6.

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

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

Рис. 4. Структура базового класса РСВ

Таблица

Класс Объявляет

Module Переменные, содержащие информацию о названии элементов, находящихся на схеме, координаты их положения, графическое представление и.т.д.

_PAD , (модуля): название вывода, форму, диаметр, номер цепи, к которой он подсоединен, положение относительно центра элемента

_AT Переменные, содержащие атрибуты выводов модуля

_DR , вывода

_NE Номер электрической цепи к которой подключен конкретный вывод

_PO Координаты положения вывода относительно центра модуля

_SH Внутреннее имя вывода и его геометрическая форма

_DI Переменные, содержащие координаты границ печатной платы.

_SHEET , , на которых отображена принципиальная схема платы

Size Переменные, содержащие информацию о координатной сетке, используемой при создании и размещении схемы.

_UserGridSize Переменные, содержащие информацию о пользовательских настройках координатной сетки.

_PO Переменные, содержащие информацию о координатах центра расположения модуля.

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

_DS Переменные, описывающие кривые, которыми отрисовываются элементы на печатной плате.

_OP Переменные, указывающие угол поворота модуля, используемый при авто-рюмещении.

PCB

, .

KiCAD

внутреннее представление данных УИ САПР служат функция чтения данных «READ» и функция записи в файл «OUT».

Особое внимание следует уделить классу POS_PLACE, описывающего поня-. KiCAD -

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

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

Библиотека алгоритмов размещения включает в себя последовательный эвристический алгоритм; вероятностный алгоритм; генетический алгоритм; итерационный алгоритм парных перстановок. Алгоритмы размещения элементов реализова-

(DLL).

использования библиотеки программных модулей алгоритмов размещения частично рассмотрены в [4, 5].

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

1. http://ru.wikipedia.org/wiki/Kicad.

2. http://www.lis.inpg.fr/realise au lis/kicad.

3. http://www.pcad.ru/.

4. Литвиненко В.A., Рябов О.В. Программная среда визуальной разработки программного

// . «

САПР». - Таганрог: Изд-во ТРТУ, 2006, № 8(63). - С. 127-131. "

5. . ., . . -

KiCAD // - -

ций «Интеллектуальные системы» (AIS’06) и «Интеллектуальные САПР» (CAD-2006). Научное издание в 3-х томах. - M.: Физматлит, 2006, Т.2. - С. 103-110.

УДК 681.3.06

В.В. Лисяк, М.В. Лисяк МЕТОД ПОИСКА РЕЗУЛЬТИРУЮЩЕЙ МАТРИЦЫ КОМПОЗИЦИИ ИНТЕРАКТИВНЫХ ГЕОМЕТРИЧЕСКИХ ПРЕОБРАЗОВАНИЙ В САПР*

, , следующей формулировке. Даны два объекта, причём известно, что один из объектов получен путём применения к другому объекту композиции аффинных преобразований. Требуется вычислить матрицу преобразования, которая трансформировала один объект в другой [1-4]. Ниже иллюстрируется постановка такой задачи:

Работа выполнена при поддержке: РФФИ (грант № 08-01-00473), РНП 2.1.2.3193, РНП 2.1.2.2238, г/б № Т.12.8.08.

i Надоели баннеры? Вы всегда можете отключить рекламу.