http://habrahabr.ru/post/243373/
Всем привет!
На написание статьи меня подтолкнула программа, на которую я наткнулся в поисках способов автоматизации разработки печатных плат (а упоминаний, тем более статей про неё я на хабре не нашёл). Но, обо всём по порядку.
Итак, конструкция разработана, собрана на макетной плате, проверена в действии. Дальше — печатная плата. Если верить форумам, то многие (в том числе и мои знакомые) используют Sprint-Layout. Но ведь это ручная работа, тот же карандаш и бумажка, только в электронном виде. Зачем все эти ядра процессора и гигабайты памяти, если приходится всё равно работать ручками? Признаюсь, меня это всегда коробило.
Сейчас я расскажу, как добился удовлетворительного для меня результата в автоматическом режиме.
Красивая картинка для привлечения внимания
А использовал я связку Proteus плюс TopoR Lite.
Сразу скажу, что к данным продуктам имею отношение лишь как пользователь и ни в коем случае не рекламирую их. Тем более, что Proteus можно
спионерить найти на просторах интернета (конечно же в ознакомительных целях), а TopoR Lite бесплатен (с некоторыми ограничениями).
Почему именно эти программы?
Изначально пользовался Proteus. Не помню, с чего началось, но меня вполне устроило: можно рисовать схемы, моделировать работу, разводить платы. Первые два получались хорошо, последнее не нравилось, искал идеал.
Я пытался рисовать схему в Eagle. Но то ли я рукожопый, то ли нужны особые привычка и сноровка, в общем, мне не понравилось. Сначала я долго не мог понять, как добавить элемент. Потом оказалось, что нужно подключать библиотеки с необходимыми элементами. А откуда я знаю, как называется библиотека, если я и названия элемента-то не знаю (например, разъёмы я ищу исключительно по картинкам). В Eagle по умолчанию не оказалось нужных мне Attiny2313 и Atmega328. Пришлось гуглить/скачивать/копировать нужную библиотеку. Ну и шины питания в Proteus подключены сразу (и даже эти пины у микросхем скрыты, чего внимание отвлекать), а тут пришлось раскидывать их явно. Итогом через полчаса тыканий оказалась одна микросхема, подключенная к питанию.
Я пытался рисовать в DipTrace. В принципе, рисовать удобно. Однако нет (или не нашёл) симуляции работы, мне это нужно и для отладки схемы, и для отладки программ МК. Взгруснул и вернулся в ISIS.
Зачем внешний трассировщик TopoR, если в ARES есть встроенный? Он уныл. Те цепи, которые не может развести, он просто бросает. Если с двусторонней разводкой этого почти не происходит, при односторонней и минимальных габаритах платы получается ужас. А поскольку текстолит у меня односторонний, да и делать двусторонние платы сложнее, я решил — хочу с одной стороны плюс перемычки.
Авторазмещение в ARES тоже ужас, но альтернатив я не нашёл, а вручную делать ничего не хочется. Как говорится, на безрыбье и щуку раком.
Итак, предлагаю рассмотреть средства автоматизации на стандартном примере из Proteus 8 — Thermo.
Переходим в ARES, удаляем всю ту красоту, что наделали хитрые создатели Proteus и нажимаем на Auto-placer. Тут открывается ещё один недостаток этого инструмента: он умеет помещать компоненты только на одну сторону платы (я полчаса потратил в поисках решения, пока в справке не прочёл, что это невозможно). Т.е. если вы используете и SMD корпуса, и обычные и хотите, чтобы они были с разных сторон платы — придётся ручками перемещать компоненты с одной стороны на другую, причём каждый по-отдельности.
Итогом авторазмещения становится такая картина:
Дабы посмотреть, как в ARES работает автороутер, идём в Design Rule Manager, выставляем дороги POWER и SIGNAL только с одной стороны (у меня Top Copper), ширину T25 (чтоб с ЛУТ проблем не было) и запускаем Auto-router.
Вот что получается:
То есть 43 дорожки он не развёл и придётся делать перемычки.
Что ж, давайте опробуем TopoR.
Опять же нажимаем Auto-router, там Export Design File и сохраняем. В TopoR Импорт -> Specctra и открываем файл. Теперь надо немного настроить. В Параметрах дизайна (F4) удаляем лишние 14 слоёв, в Ширине проводников ставим от 0,3 до 0,6 мм. Нажимаем кнопку Автотрассировка, в настройках галки Переназначить функционально эквивалентные контакты компонентов (на всякий случай: мне показалось, что данная опция не совсем работает или даже совсем не работает), Однослойная трассировка и жмём кнопку Запустить. Трассировщик автоматически сохраняет лучшие варианты, которые потом можно добавить в проект. Трассировка закончится только после нажатия кнопки Остановить. Обращу внимание, что перемычки расставляются автоматически, и даже размещаются контактные площадки под них. Я дождался, пока количество переходов не достигло 30 (т.е. 15 перемычек):
15 перемычек против 43 в ARES — гораздо лучше!
Потратив 5 минут и чуть переместив компоненты/раздвинув границы платы можно получить 10 переходов (5 перемычек), что уже допустимо:
А как по мне — 5 минут перемещать уже накиданное гораздо веселей, чем с нуля всё раскладывать по плате.
Белые кружочки — нарушения DRC (дорожки/компоненты расположились слишком близко). Не беда — вручную чуть передвинем эти самые компоненты и дорожки и нажмём F7 — они аккуратно перепроложатся, ошибки устранены (впрочем, я видел, как эта самая F7 глючит: после очередного нажатия ложит одну из дорог поверх нескольких других, а потом ругается об ошибке).
Специфичная для TopoR кривизна дорожек веет тёплой ламповостью и напоминает про времена, когда платы разводили карандашом на листочке в клеточку, а на текстолите рисовали нитрокраской/нитролаком и иголкой/шприцем/пастиком гелевой ручки. Лично меня это прёт.
Когда результат получится удовлетворительный, можно либо экспортировать плату, либо распечатать прямо из программы (есть даже галочка Зеркальное отображение, видимо специально для ЛУТ).
Пример реальной платы:
Полигоны в TopoR рисовать можно, причём сплошные/штрих/сетка, но я про них забыл. На этой плате нарисовал их маркером для дисков. Штрихованные пятачки — как раз перемычки.
Буду рад, если статья помогла кому автоматизировать нудные процессы. Буду благодарен, если расскажете про более удобные инструменты для авторазмещения и автотрассировки (особенно авторазмещения).