Архив 8 июля 2009

Всех, конечно, достало, но…

…не могу не выложить песню немецких десантников (точнее, фальширмъягеров) на очень известный мотив.

Примерный немецкий текст:

Abgeschmiert aus hundert Metern,
Aus der alten Tante Ju,
Mit geschlossenem Schirm zur Erde,
Find’ ein Fallschirmjäger seine Ruh’

Kameraden steh’n im Kreise,
Schauen sich das Unglück an.
Jeder denkt auf seine Weise:
Morgen bist Du vielleicht selber dran.

Seine Knochen sind gebrochen
Und der Schirm liegt obendrauf.
Kommt der Sani angekrochen
Sammelt seine Überreste auf

In dem Himmel angekommen
Steht der Petrus vor der Tür
Bist Du auch so ein grüner Teufel
Kehrt! marsch marsch, wir haben Angst vor Dir!

In der Hölle angkommen
Steht der Teufel vor der Tür:
Kehrt kehrt marsch marsch,
von euch ist keiner hier.

In Walhalla angekommen
Steht Big Odin vor der Tür:
Bist du auch ein Fallschirmjäger,
Komm herein, wir haben Frauen und Bier.

И русский перевод (к сожалению, петь на тот же мотив нельзя, из комментов у [info]gunter_spb):

Он свалился с сотни метров
Из старушки “Ю”
С парашютом в сумке в землю,
Свой закончив путь.

Вот друзья собрались кругом,
Скорбны и немы,
Каждый думает: “Ведь завтра
Это будем мы”

Санитар собрал остатки
Славного бойца,
Ни единой целый кости
Нету у мальца.

Вот его уже встречает
Петр у райских врат:
“Что забыл здесь, черт зеленый?
Марш кругом, назад!”

Он приплелся прямо в пекло,
У дверей черт ждет:
“Шагом марш! Вали отсюда!
Ваших в аду нет!”

Он приходит во Валгаллу,
Главным Один тут:
“Где ты шлялся брат десантник?!
Пиво, девки ждут!

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.