Новый «Гербер» или ODB++?
Как было раньше?
Со времени своего появления в 1982 году «Гербер»-формат CAD-CAM обмена (за исключением версии X2) пережил лишь одну эволюцию — Gerber RS‑274X. Именно эта версия сегодня стала самой распространенной. По сравнению с первоначальной версией, RS‑274D, в ней (Gerber RS‑274X) была значительно улучшена передача проводящего рисунка печатной платы. Однако данные на производство по-прежнему отправлялись в виде нескольких (иногда десятков) отдельных файлов:
- Gerber RS‑274X — изображения слоев. Каждый слой платы сохраняется в отдельном файле. Для правильной идентификации слоя рекомендуют в названии или расширении файла раскрывать его функцию. Например, Gerber_TOP. GBR — верхний сигнальный слой. Структура платы («стекап») согласовывалась с заводом-изготовителем или пояснялась в отдельном текстовом документе;
- Excellon, N/C Drill — сверловка платы. Обычно несколько файлов, в зависимости от количества типов отверстий;
- IPC-D‑356 (только если нужен электрический тест) — координатный «нетлист» для проверки целостности соединений;
- дополнительно в нескольких текстовых файлах и чертежах разработчик платы сообщал CAM-оператору стек слоев печатной платы, свойства материалов (цвета, толщину покрытий, обработку контура) и другие технические требования.
Правильно изготовить печатную плату можно было только на основе дополнительной информации.
Что нового в Gerber X2?
Новая версия формата Gerber описывает:
- «стек» слоев платы — порядок расположения и функцию каждого слоя. Теперь не нужно это указывать в дополнительных документах;
- функции контактных площадок — вывод компонента, межслойный переход или реперная метка. Такая информация позволяет минимизировать вероятность ошибок в слое паяльной маски при производстве;
- атрибуты платы — отдельная плата или панелизация нескольких, облегчает заказ плат в заготовках или с особыми требованиями к покрытиям или обработке;
- импеданс дорожек — «треки», для которых необходимо сохранить определенный импеданс. Это позволяет производителю проконтролировать соответствие дорожек заданному значению комплексного сопротивления.
Таким образом, Gerber X2 хоть и не избавляет от необходимости работать с несколькими файлами, однако значительно снижает объем информации, которую нужно описывать в дополнительных документах.
«Однофайловый»
Конкурирующий формат ODB++ появился лишь в средине 1990‑х, его принято считать форматом одного файла, в котором содержится вся информация, необходимая производителю. И в этом смысле ODB++ вроде бы имеет преимущество перед Gerber X2. Но на самом деле ODB++ представляет собой такое же множество файлов и папок, которые просто сжаты в архиве. Отметим также, что ODB++ в отличие от «Гербера» не только передает графическое изображение слоев, структуру платы, функции слоев и атрибуты контактных площадок, но и включает координатный «нетлист» для тестирования связей, список деталей, спецификацию, материалы и другое. В этом качестве он существенно превосходит Gerber X2.
Совместимость «Гербера»
По сути, Gerber X2 — это привычный «Гербер» RS‑274X, в который добавили несколько новых команд:
- TF — определяет атрибуты слоя/файла;
- TA — определяет атрибуты апертуры;
- TD — удаляет атрибуты апертуры.
Благодаря дополняющему характеру нововведений и тому, что основная структура «гербер»-файла осталась нетронутой, Gerber X2 поддерживает как обратную, так и прямую совместимость с Gerber RS‑274X: новые CAM-программы могут без проблем работать с предыдущими версиями «Гербера», а старые программы — с новым форматом.
X2 DipTrace
Давайте посмотрим, каким образом инженер-разработчик электроники может применить новый функционал Gerber X2. Для демонстрации воспользуемся DipTrace, эта электронная САПР очень популярна среди небольших компаний и частных пользователей. Интерфейс диалогового окна сохранения платы в Gerber X2 практически не отличить от привычного RS‑274X: те же слои для выбора, те же опции настройки включенных в слой объектов, те же параметры паяльной маски, смещения и специальные команды (рис. 1).
Но при детальном рассмотрении оказывается, что Gerber X2 уже не поддерживает экспорт символов сверловки (Drill Symbols) в «гербер»-файл. Впрочем, этой функцией на производстве пользовались достаточно редко (ведь общепринят формат Excellon N/C Drill), и поддерживалась она скорее по привычке. Хотя возможность передавать сверловку через «Гербер» у некоторых вызывает искреннее удивление. Но вернемся к сути — вместо Drill Symbols формат Gerber X2 предлагает новый экспорт сверловки платы: он значительно удобнее, ведь полностью графически описывает расположение и параметры всех отверстий без таблицы соответствия и «магических» крестиков, как Drill Symbols (рис. 2, 3).
Каждый тип отверстий, как и раньше, сохраняется отдельно, металлизированные и неметаллизированные отверстия каждого типа также записываются в отдельные файлы, как и в формате Excellon (рис. 4).
Ucamco (разработчик «Гербера») утверждает, что отверстия платы можно успешно передавать на производство, не используя другие форматы, но в реальности большинство изготовителей будут требовать традиционные файлы Excellon N/C Drill.
Теперь посмотрим, что получилось в результате экспорта слоев платы в Gerber X2. Для этого воспользуемся программой GC Prevue, последний релиз которой поддерживает данный формат. Запускаем, создаем новый файл и импортируем все «гербер»-файлы слоев и отверстий из папки экспорта. Программа распознает функцию каждого слоя и его место в «стеке» платы. Порядок слоев определяется атрибутом L (L1 — верхний слой, L2–L7 — внутренние, L8 — нижний слой), кроме того, видно, из какого «гербер»-файла взят определенный слой. Отверстия и слои четко сгруппированы. В самом верху списка находится группа отверстий по типам (неметаллизированные, сквозные, глухие), потом сигнальные слои в правильном порядке и прямо под ними — несигнальные слои трафарета, шелкографии, припоя, дополнительных чертежей и т. д. Сторона платы (top, bottom) для каждого несигнального слоя указана правильно, но почему-то сортированы они по типам, а не по порядку в «стеке» (рис. 5).
ODB++ DipTrace
При работе в ODB++ опций экспорта меньше, а потому работать с данным форматом проще. Продемонстрируем это на примере все той же DipTrace. В диалоговом окне ODB++ экспорта настроек совсем немного: можно изменить название слоев, параметры паяльной маски и смещения, а также режимы экспорта (рис. 6).
Потом нажимаем кнопку Export, и файл готов. DipTrace предлагает на выбор два режима: Mentor Graphics ODB++Viewer и CAM350 v10. Экспортируемые файлы можно не сжимать в архив, и таким образом получить доступ к внутренней структуре формата, если нужно. Но работать так крайне неудобно (рис. 7).
Все атрибуты слоев, «стекап» платы и множество другой информации успешно передается на производство. А за счет небольшого количества настроек ODB++ выглядит более приятным и дружелюбным, по крайней мере на стороне разработчика платы.
«Гербер»-практика
Передача производителю печатной платы в виде множества файлов вызывает определенные трудности, с которыми, впрочем, успешно справляется формат ODB++. Как было сказано в начале, ODB++ на самом деле также состоит из множества файлов, которые просто сжали в архив. Воспользуемся этим подходом и архивируем все «гербер»-файлы платы, Excellon-файлы сверловки, IPC-D‑356 координатный «нетлист», спецификацию и файл Pick and Place. Созданный файл-архив будет нести производителю практически ту же информацию, что и ODB++, но уже в формате Gerber. Отметим также, что сжатый файл значительно сокращает объем пересылки.
Выводы
В заключение приведем таблицу сравнения базовых характеристик форматов CAD-CAM обмена данными Gerber X2 и ODB++.
Характеристика |
Gerber X2 |
ODB++ |
---|---|---|
Изображение слоев |
да |
да |
Сверловка |
да |
да |
Координатный список соединений («нетлист») |
нет* |
да |
«Стекап» платы |
да |
да |
Спецификация |
нет* |
да |
Информация по автоматической расстановке компонентов (Pick and Place) |
нет* |
да |
Распространение |
90%** |
10%** |
Насыщенность интерфейса |
высокая |
низкая |
Вся информация в одном файле |
нет* |
да |
Примечание.
*САПР, экспортирующие Gerber, зачастую способны выдавать все необходимые производителю файлы других форматов (IPC-D‑356, Excellon Drill, BOM, Pick and Place) для передачи данных, которые «Гербер» не описывает.
**По данным, которые предоставляет Ucamco — разработчик и собственник Gerber-формата.
Несмотря на кажущееся превосходство ODB++, однозначно ответить на вопрос, какой формат лучше, трудно или практически невозможно. ODB++ опережает «Гербер» по полноте описания данных и простоте использования. Однако на практике Gerber имеет гораздо большую популярность. Адепты ODB++ обвиняют «Гербер» в неудобстве и неполноценности, а противники утверждают, что ODB++ более склонен к ошибкам, этим они объясняют его меньшую распространенность.
В свою очередь, производство печатных плат — достаточно консервативная отрасль, и новое внедряется нехотя, зачастую только после списания старого оборудования. В этой связи нельзя четко определить лидера — время покажет.
Полная автоматизация
Хотя этот материал и посвящен Gerber и ODB++, затрагивая тему обмена данными CAD-CAM, нельзя хотя бы вскользь не упомянуть о формате IPC‑2581, которому сегодня пророчат большое будущее. Он создается как глобальный, открытый и независимый формат CAD-CAM-обмена и позиционируется как следующий этап на пути к полной автоматизации взаимодействия между разработчиком платы и ее производителем. IPC‑2581 является, по сути, попыткой соединить форматы GenCAM и ODB++. Несмотря на то что Altium Designer и Allegro уже могут сохранять файлы IPC‑2581, многие функции формата все еще находятся на стадии разработки, а сам формат поддерживают лишь несколько производителей.