Реверсивный инжиниринг плат
После импорта данных CAM в документ CAM вы обнаружите, что команда Export to PCB неактивна, независимо от текущего режима редактора (CAM или NC). Эта команда позволяет провести реверсивный инжиниринг компоновки платы непосредственно из файлов CAM. Эта опция не следует обычному процессу экспорта/импорта, а загружает данные непосредственно в редактор плат.
В следующих разделах рассмотрены шаги, которые следует предпринять для реверсивного инжиниринга конструкции платы из данных CAM, от начального импорта в документ CAM и необходимых настроек перед экспортом до финального экспорта конструктивных данных в редактор плат.
Импорт данных
Начальной точкой всего процесса является загрузка файлов ODB++ или Gerber и автоматизированной сверловки в новый документ. Если у вас есть список цепей IPC, его также следует импортировать при импорте данных Gerber и автоматизированной сверловки. При импорте ODB++ файл IPC следует импортировать только в том случае, если список цепей отсутствует в директории ODB++. Список цепей IPC позволит обновить извлеченные цепей с их изначальными названиями и отличить сквозные переходные отверстия от свободных контактных площадок, не относящихся к компонентам.
Все команды подменю File » Import проводят поиск файлов с определенными расширениями в указанной папке. Например, при импорте файлов сверловки указанная директория отфильтрует все файлы, кроме файлов с расширениями .DR*
, .ROU
, .RTE
, *.NC*
и *.TX*
. Если вы получаете файлы сверловки с расширениями, отличными от этих, вы можете расширить этот список на странице CAM Editor - Miscellaneous диалогового окна Preferences. Здесь вы также можете изменить любые списки расширений по умолчанию для файлов Gerber, апертур, HPGL и списков цепей.
Страница CAM Editor - Import/Export диалогового окна Preferences позволяет изменить настройки импорта и экспорта по умолчанию для файлов Gerber. Например, если вы обычно получаете данные CAM, сформированные с помощью P-CAD, вы можете изменить формат точности координат с 2:3 (настройка по умолчанию для Altium NEXUS) на 4:4 (настройка по умолчанию для P-CAD). В противном случае, вы всё ещё сможете изменить значения по умолчанию этих настроек при каждом импорте.
Назначения типов слоев
Все отдельные файлы Gerber и сверловки назначаются отдельным слоям. Кроме того, редактор CAM смотрит на их названия при импорте и пытается назначить каждому из них тип слоя в соответствии с информацией в диалоговом окне Layer Types Detection Template, которое открывается выбором Tables » Layer Type Detection из главного меню. Это полностью настраиваемое диалоговое окно, которое содержит фрагменты имен файлов (расширения и/или ключевые слова), определяющие отдельные файлы как типы слоев, такие как сигнальные, негативные экранные, временные (механические) слои, слои границы и слои сверловки.
Редактор плат Altium NEXUS различает слои Gerber по их расширению, например .gtl для верхнего слоя и .gbl для нижнего слоя. Другие системы проектирования могут экспортировать файл .top для верхнего слоя и файл .sol для нижнего слоя (слоя пайки). Некоторые другие системы, такие как P-CAD, позволяют пользователям самостоятельно указать названия выходных файлов Gerber.
После импорта какой-либо группы файлов CAM вы можете открыть диалоговое окно Layers Table и просмотреть назначения типов, которые были заданы автоматически. Вы можете открыть выпадающий список для типа и изменить какое-либо назначение. Например, вы заметите, что всем файлам сверловки автоматически задан тип Drill Top. Возможно, на этом этапе вы захотите задать различие между верхним, нижним и внутренним наборами сверловки, но это не обязательно.
Если вы обычно получаете файлы Gerber или сверловки, которым автоматически не назначается корректный тип слоя, следует просмотреть имена файлов для поиска отличительных характеристик, по которым CAM Editor смог бы определить их, и добавить их в диалоговое окно Layer Types Detection Template. Для ODB++ нет необходимости использовать диалоговое окно Layer Types Detection Template, поскольку вся информация, необходимая для определения каждого слоя, хранится в файле матрицы. Тем не менее, рекомендуется проверять назначения типов слоев по завершении процесса загрузки.
Стекап платы и наборы сверловки
Слои, которым был назначен сигнальный тип слоя (верхний, нижний или внутренний) или экранный, будут отображены в диалоговом окне Create/Update Layers Order, вызов которого осуществляется с помощью команды Tables » Layers Order главного меню. В большинстве случаев, CAM Editor может определить стекап из предоставленных данных CAM, но иногда может быть представлен только логический порядок (порядок, в котором слои были импортированы). Лучше всего убедиться, что информация в столбце Layer Physical Order корректна, и первый номер назначен верхнему слою. Не назначайте один порядковый номер различным слоям. После определения корректного стекапа столбец физического порядка будет иметь приоритет над логическим списком при повторном открытии этого диалогового окна, и вы увидите слои, приведенные в списке предложенного стекапа.
Этот же физический порядок будет отображен в диалоговом окне Create/Update Layers Sets, которое вызывается с помощью команды Tables » Layers Sets главного меню и где вы можете сопоставить файлы сверловки с наборами слоев. Рассмотрим пример 6-слойной платы (четыре сигнальных слоя, два экранных) как с глухими, так и со скрытыми переходами. Конструкция может содержать четыре отдельных файла сверловки:
- один для пары Top-Bottom (сквозные отверстия);
- один для пары Top-InternalPlane1;
- один для пары MidLayer1-MidLayer2;
- один для пары Bottom-InternalPlane2.
Извлечение списка цепей
Этот этап, доступный по команде Tools » Netlist » Extract главного меню, зависит от точности предыдущих этапов. Вы не сможете выполнить его, пока всем слоям в плате не будут назначены типы слоев (механическим слоям следует задать тип Temporary).
CAM Editor отследит связность от одного слоя до другого, сверяясь с файлами автоматизированной сверловки для создания соединений между слоями. Поэтому критически важными условиями для извлечения точного списка цепей из данных CAM является стекап слоев, определенный в диалоговом окне Create/Update Layers Order и пары сверловки, выбранные в диалоговом окне Create/Update Layers Sets.
Если вместе с файлами Gerber и автоматизированной сверловки был включен файл списка цепей IPC, вы можете восстановить изначальные имена цепей, выбрав Tools » Netlist » Rename Nets из главного меню, чтобы различать сквозные переходные отверстия и свободные контактные площадки в новом файле платы. Но что намного важнее, список цепей IPC предоставляет эталон, с которым извлеченный список цепей можно сравнить, выбрав команду Tools » Netlist » Compare из главного меню.
Для списков цепей IPC, сформированных из редактора плат, вы заметите, что функция сравнения в CAM Editor обычно находит набор "отсутствующих цепей" без названий. Это происходит, поскольку формат IPC редактора плат включает в себя цепи с одним выводом, в то время как CAM Editor игнорирует контактные площадки без проводящих соединений в списке цепей. Более того, в DRC редактора есть опция для удаления нефункциональных контактных площадок.
Границы и экраны
При экспорте файла платы из CAM Editor в редактор плат контур платы будет сформирован автоматически. Чтобы сделать это грамотно, необходимо, чтобы на слое типа Border присутствовала замкнутая полилиния. Если на этом слое нет замкнутых полилиний или если в качестве границ в диалоговом окне Layers Table было назначено несколько слоев, вы, вероятно, не получите нужную форму платы.
Все разделения на внутренних экранах также должны быть определены замкнутыми полилиниями. Чтобы определить, является ли полилиния замкнутой, опросите ее (клавиша Q). Вы можете увидеть, подсвечивается ли вся полилиния и отображается ли она как замкнутая полилиния на вкладке Info панели CAM. В противном случае, вы можете преобразовать ее в замкнутую полилинию с помощью команды Join подменю Edit » Objects.
Участки разделений экранов могут потребовать дополнительной проработки, поскольку для каждого разделения необходим собственный замкнутый участок. Хотя островки экранов могут быть присоединены, как описано выше, разделения экранов, имеющие общие контуры с другими разделениями или с полилинией границы, должны быть перерисованы. Чтобы начертить собственную замкнутую полилинию, щелкните ПКМ после выбора ее последней вершины и выберите Close.
Вложенные экраны (островки внутри разделений экранов) на текущий момент не поддерживаются.
Экспортирование полигонов
На странице CAM Editor - Import/Export диалогового окна Preferences доступны дополнительные опции для управления тем, как полигоны в документе CAM будут экспортированы в документ платы. Полигоны прямоугольной формы могут быть созданы как заполнения. Для полигонов другой формы вы можете создать сетчатые или сплошные заливки полигоном в редакторе плат. В диалоговом окне доступны опции для этих двух типов заливок полигоном, что обеспечивает более широкий контроль над тем, как экспортированные полигоны будут обрабатываться на стороне платы.
При включении опции Create Hatched Polygons редактор CAM Editor будет использовать единый размер сетки и единую ширину трасс для заполнения всех полигонов в файле. Если данные CAM включают в себя очень малые полигоны, необходимо убедиться, что опции экспорта заданы для их уровня.
Диалоговое окно Polygon Options, которое вызывается нажатием соответствующей кнопки Hatched Polygon Options, позволяет изменить размер сетки, ширину трассы и минимальную длину примитива в полигонах. Если вы хотите, чтобы полигоны были полностью заполнены с высокой точностью, то все эти значения должны находиться в узком диапазоне около наименьших требований вашей платы. В противном случае вы есть риск получения пустых мест внутри полигонов, сетки вместо полной заливки или даже целых полигонов, пропущенных при экспорте.
С другой стороны, эти значения будут применены ко всем экспортированным полигонам, поэтому очень малые значения увеличат объем и связанные с этим проблемы управления (например, скорость перерисовки), относящиеся к экспортированному файлу. В связи с этим лучше всего использовать максимально возможные значения, которые обеспечат требуемую точность для всех полигонов на плате.
При включении опции Create Solid Polygons каждый полигон будет заполнен одним или несколькими сплошными проводящими регионами. Количество используемых проводящих регионов будет зависеть от количества отдельных областей, созданных внутри полигона существующими объектами цепей, такими как трассы и контактные площадки.
Диалоговое окно Solid Polygon Options, которое вызывается нажатием соответствующей кнопки Solid Polygon Options, позволяет определить, как будут обрабатываться островки и узкие участки меди, а также работа заливки при заливке над объектами, принадлежащими той же цепи, что и заливка полигоном:
- Pour Over All Same Net Objects – выберите эту опцию, если вы хотите, чтобы заливка полигоном автоматически подключалась ко всем объектам той же цепи, что и сама заливка.
- Pour Over Same Net Polygons Only – выберите эту опцию (включена по умолчанию), если вы хотите, чтобы заливка полигоном автоматически подключалась внутри своей границы только к заливкам полигонов той же цепи.
- Don't Pour Over Same Net Objects – выберите эту опцию, если вы намеренно хотите, чтобы заливка полигоном не подключалась к каким-либо объектам цепей. Если выбрана какая-либо из первых двух опций и заливке полигоном не назначено цепи (No Net), она будет залита вокруг всех объектов, независимо от их назначений цепям.
Экспорт в плату
После извлечения списка цепей из данных CAM команда File » Export » Export to PCB станет доступной. Выполнение этой команды после выполнения всех необходимых шагов создаст документ платы, содержащий в себе конструкцию, которая будет выглядеть очень похожей на изначальную.
Для полного воссоздания платы необходимо выполнить дополнительные действия, такие как замена примитивов компонентов посадочными местами (вы можете сделать это копированием и вставкой групп примитивов в библиотеку посадочных мест и заменой изначальных групп новыми посадочными местами). В редакторе плат не будут автоматически созданы пары сверловки из информации Layer Sets документа CAM; будет необходимо повторно определить их вручную в Layer Stack Manager.