EAGLE, TopoR и gerbv

Довольно давно я обещал рассказать о замечательной российской разработке для проектирования печатных плат — автоматическом трассировщике TopoR. На форуме разработчиков обещали появление в июне новой версии, с очень «вкусными» нововведениями — но пока ее нет, и я расскажу о работе с версией 4.3 — последней на сегодняшний день.

TopoR — это не полноценная система проектирования печатных плат, как PCAD или EAGLE, и не «простая» рисовалка, вроде SprintLayout. Его можно использовать только вместе с каким-нибудь пакетом для проектирования. Но — обо всем по порядку.

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

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

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

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

Для примера возьмем одну из простых демонстрационных плат EAGLE. В директории примеров EAGLE можно найти проект singlesided, предназначенный для демонстрации возможностей встроенного трассировщика. Эта плата представляет собой несложную макетную плату для PIC16F84, но компоненты на ней расположены довольно плотно, а все компоненты окружены областями запрета трассировки на одном из слоев. Это довольно реалистичный сценарий для любительского творчества — мало кто любит и умеет делать двусторонние платы с металлизированными отверстиями.

Плата в EAGLE как она есть
Плата в EAGLE как она есть

TopoR не умеет открывать файлы EAGLE, поэтому сейчас мы воспользуемся замечательной возможностью последнего запускать пользовательские программы (ULP, user-language program), написанные на напоминающем Си скриптовом языке. Среди различных ULP имеется программа экспорта в файлы dsn, являющиеся «родными» для трассировщика SPECCTRA и входящие в список понимаемых TopoRом (после некоторой небольшой доработки). Запустив нажатием соответствующей кнопки файл PCB_To_DSN_modified.ulp, мы должны задать имя файла для сохранения, выбрать набор правил dru из EAGLE (к сожалению, из-за ограниченности импорта в TopoR, это действие лишено всякого смысла — правила трассировки придется задавать заново) и определить трассировочные слои.

Указываем слои для трассировки
Указываем слои для трассировки

Полученный dsn-файл можно импортировать в TopoR, создав этим новый проект.

Меню импорта в TopoR
Меню импорта в TopoR

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

Правила трассировки в TopoR
Правила трассировки в TopoR

Оставлю подробное описание всех параметров для справки TopoRа, сейчас же остановлюсь на одном моменте — как принудительно заставить TopoR выполнить однослойную трассировку. Для этого достаточно изменить в свойствах контактных площадок (кроме переходных отверстий — Via) слой на Top или Bottom. Конечно, при наличии запретов трассировки в слое Top это действие излишне, но все же крайне полезно знать об этом приеме.

Свойства контактной площадки
Свойства контактной площадки

Другие опции — это определение минимальной ширины проводников, зазоров между ними и тому подобных «мелочей». Рекомендую поэкспериментировать с этим. Желательно добиться понимания, например, сколько дорожек указанной ширины получится пропустить между выводами DIP-микросхемы.

Так или иначе, мы получим в TopoR свежесозданный файл проекта с «пустой» платой, на которой ни одна цепь не разведена и попадем в режим редактирования топологии.

<Открытый в TopoR документ
Открытый в TopoR документ

TopoR может работать в нескольких режимах. Им соответствуют кнопки на панели управления.

Кнопки в TopoR
Кнопки в TopoR

Слева направо — определение правил трассировки (чем мы только что занимались), автотрассировка, редактирование топологии и FreeStyle-редактирование. Сейчас я расскажу обо всем по порядку.

Конечно, такую несложную плату можно развести и вручную — и это делать в TopoR очень и очень удобно, но гораздо проще нажать на кнопку автотррассировки. TopoR начнет рассматривать разнообразные варианты топологии платы, «отсекать» содержащие нарушения (например, никто, кроме правил трассировки не запрещает проводить сразу 16 дорожек между двух ног микросхемы) и сохранять «оптимальные». Результаты работы отображаются в таблице.

Идет автоматическая трассировка
Идет автоматическая трассировка

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

В отличие от других трассировщиков и редакторов плат, TopoR позволяет очень просто и быстро редактировать топологию платы. Поясню, о чем идет речь. «Обычный» редактор считает, что пути проводников задаются так — из точки A в точку B, из точки B в точку C и так далее. В TopoR применен другой принцип — хранится информация о топологии платы, то есть данные вроде «проводник проходит между ножками 12 и 13 микрохемы, огибает ножку 14 и исходящий из нее проводник и соединяется с переходным отверстием». Чем это хорошо? Можно как угодно изображать проводники, например, так:

Алкоголизм сильнее гравитации
Алкоголизм сильнее гравитации

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

Дорожки выправились, все отлично
Дорожки выправились, все отлично

Хочу заметить, что нарушения правил трассировки все же остались.

Режим FreeStyle-редактирования — замечательная «фича» TopoRа. В нем, например, можно перемещать элементы, при этом сохраняя топологию платы. Например, вот так:

Заметьте, что топология платы осталась той же - просто компоненты стоят в других местах
Заметьте, что топология платы осталась той же - просто компоненты стоят в других местах

Лучше познакомиться с возможностями TopoRа по редактированию плат можно в его обучалке. А сейчас речь пойдет об экспорте файлов.

К сожалению, TopoR пока не умеет выводить платы на печать, а это необходимо для их изготовления в домашних условиях (лазерным утюгом или фоторезистом — неважно). EAGLE, в свою очередь, не понимает ни eco-файлов для PCAD, ни SES-файлов от SPECCTRA. К счастью, TopoR может сделать файлы формата Gerber и DRILL, необходимые, например, при промышленном производстве плат.

Меню экспорта в TopoR
Меню экспорта в TopoR

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

Для просмотра Gerber-файлов существует довольно много софта, для нас наиболее удобный — бесплатный и GNUтый gerbv.

Свежезапущенный gerbv
Свежезапущенный gerbv

Открываем в нем наши Gerber и DRILL файлы, а затем — экспортируем результат в PDF.

Экспорт из gerbv
Экспорт из gerbv

К сожалению, в последней на момент написания этого поста версии gerbv (2.2.0) присутствует ошибка с масштабированием. Для того, чтобы сделать шаблон для «лазерного утюга», надо открыть получившийся PDF любым графическим редактором (например, Photoshop) и отмасштабировать плату до нужного размера (иначе она получится примерно вдвое больше нужного). Результат можно уже печатать. В версии 2.3.0 можно будет обойтись без этого и печатать напрямую из gerbv.

EAGLE, TopoR и gerbv: 16 комментариев

  1. А можно в ЖЖ все эти прелести всё-ж таки под кат убирать?
    В принципе тема эта, про трассировку достаточно знакомая, хоть и в прошлом уже, но блин, нельзя же так, такая страница грузится долго и трафик жрёть.

  2. Скачал сегодня последнюю версию Eagle — а там нет в списке файла PCB_to_DSN_modified.ulp — убрали эту возможность(((

  3. Шур, а как заставить топор ставить виа? Загрузил двухслойку импортированную из игла. Настроил правила, указал дефаулт виа размеры. Запустил автотрейс — он мне красиво все развел, но вот виа нет ни одной. Просто дорожка идет, обрывается и с этого же места, но по другому слою. ПЛюс в 5м топоре лайт нет экспорта в гербер, я не нашел по крайней мере. У тебя остался инсталятор 4.3?

    1. > а как заставить топор ставить виа?

      Via у меня ставятся нормально. В меню «Настройки» (кнопка с отвертками на панели) включено отображение межслойных переходов?

      > в 5м топоре лайт нет экспорта в гербер

      Меню «Вывод».

      1. Включено, и переходов нет даже на герберах. Дорожки тупо обрываются. ПРосто глюк может? Еще он у меня вылетает когда я пытаюсь зайти в меню Параметры дизайна — межслойные переходы. Походу они там включаются. :/

                1. Уже нашел. А вот тресит 4.3 намного хуже 5й версии :((( У меня пятерка развела все так. что переходки далеко друг от друга, а 4я стащила все в кучу и для free style не проканало их растащить — не таскаются, разве что на чуть чуть.

Добавить комментарий для DI HALT Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *