Реверсивный инжиниринг плат

Краткий обзор

Обратное проектирование печатной платы по CAM-файлам в Altium Designer не ограничивается импортом данных. В этой статье рассматривается подготовка, необходимая для переноса проекта в редактор печатных плат: назначение слоев, настройка стека платы и наборов сверловки, извлечение списка цепей, а также работа с контуром платы и полигонами. Читайте дальше, чтобы узнать, какие действия помогут подготовить CAM-данные к экспорту в редактор печатных плат.

- Узнайте, как импортировать данные ODB++, Gerber и NC Drill и проверять типы слоев, физический порядок слоев и наборы сверловки.
- Разберитесь, как извлечь информацию об электрических соединениях и использовать список цепей IPC-D-356 для восстановления имен цепей и сравнения списков цепей.
- Ознакомьтесь с требованиями к замкнутым контурам платы и разделенным плоскостям, а также с вариантами экспорта полигонов.
Узнайте больше с ИИ:

После импорта CAM-данных в CAM-документ вы заметите, что опция Export to PCB недоступна независимо от текущего режима CAM-редактора (CAM или NC). Эта команда позволяет восстановить топологию печатной платы непосредственно из CAM-файлов. При этом используется не стандартная процедура экспорта и импорта, а прямая загрузка данных в редактор печатных плат.

В следующих разделах подробно описаны этапы восстановления проекта печатной платы по CAM-данным: от первоначального импорта в CAM-документ и необходимой подготовки перед экспортом до экспорта данных проекта в редактор печатных плат.

Импорт данных

Диалоговое окно Preferences Диалоговое окно Preferences

Первый этап всего процесса — загрузка файлов ODB++ либо файлов Gerber и NC Drill в новый CAM-документ. Если у вас есть список цепей IPC, его также следует импортировать вместе с данными Gerber и NC Drill. При импорте ODB++ импортируйте файл IPC только в том случае, если список цепей отсутствует в каталоге ODB++. Список цепей IPC позволит восстановить исходные имена извлеченных цепей и отличить сквозные переходные отверстия от свободных контактных площадок, не принадлежащих компонентам.

Все команды подменю File » Import выполняют поиск файлов с определенными расширениями в указанной папке. Например, при импорте файлов сверловки в указанном каталоге будут отобраны только файлы с расширениями .DR*, .ROU, .RTE, *.NC* и *.TX* . Если вы получаете файлы сверловки с другими расширениями, этот список можно дополнить на странице CAM Editor - Miscellaneous диалогового окна Preferences. Здесь также можно изменить любые стандартные списки расширений для файлов Gerber, апертур, HPGL и списков цепей.

Диалоговое окно Preferences Диалоговое окно Preferences

Страница CAM Editor - Import/Export диалогового окна Preferences позволяет изменять настройки импорта и экспорта файлов Gerber по умолчанию. Например, если вы регулярно получаете CAM-данные, созданные в P-CAD, имеет смысл изменить формат точности координат с 2:3 (по умолчанию в Altium Designer) на 4:4 (по умолчанию в P-CAD). Даже если вы этого не сделаете, при каждом импорте задания у вас будет возможность изменить эти настройки.

Назначение типов слоев

Диалоговое окно  Layer Table Detection TemplateДиалоговое окно Layer Table Detection Template

Каждый файл Gerber и файл сверловки назначается отдельному слою. Кроме того, при импорте CAM-редактор анализирует их имена и пытается назначить каждому слою тип. Для этого используются сведения из диалогового окна Layer Types Detection Template, которое открывается командой Tables » Layer Type Detection главного меню. Это полностью настраиваемое диалоговое окно содержит фрагменты имен файлов (расширения, ключевые слова или и то и другое), по которым определяется тип слоя для каждого файла: сигнальный слой, негативный слой питания, слой контура, слой сверловки или временный (механический) слой.

Например, редактор печатных плат Altium Designer различает слои Gerber по расширениям файлов: .gtl для верхнего слоя и .gbl для нижнего. Другие средства проектирования могут экспортировать верхний слой в файл .top, а нижний (слой пайки) — в файл .sol. Некоторые из этих средств, например P-CAD, позволяют пользователям самостоятельно задавать имена выходных файлов Gerber.

После импорта любой группы CAM-файлов можно открыть диалоговое окно Layers Table и проверить автоматически назначенные типы. Чтобы изменить назначение, откройте раскрывающийся список типов. Например, вы заметите, что всем файлам сверловки автоматически назначается тип Drill Top. На этом этапе можно разграничить наборы сверловки для верхних, нижних и внутренних отверстий. Однако это не обязательно.

Диалоговое окно  Layer Table Диалоговое окно Layer Table

Если вы регулярно получаете файлы Gerber или сверловки, которым автоматически назначается неверный тип слоя, проверьте их имена на наличие отличительных признаков, по которым CAM Editor сможет их распознавать, и добавьте эти признаки в диалоговое окно Layer Types Detection Template. Для ODB++ диалоговое окно Layer Types Detection Template не требуется, поскольку все сведения, необходимые для определения каждого слоя, хранятся в файле матрицы. Тем не менее после завершения загрузки рекомендуется проверить назначенные типы слоев.

Стек слоев платы и наборы сверловки

Диалоговое окно Create/Update Layers Order Диалоговое окно Create/Update Layers Order

Слои, которым назначен тип сигнального слоя (верхнего, нижнего или внутреннего) либо слоя питания, появятся в диалоговом окне Create/Update Layers Order, которое открывается командой Tables » Layers Order главного меню. В большинстве случаев CAM Editor сможет определить стек слоев по предоставленным CAM-данным, однако иногда доступен только логический порядок — порядок импорта слоев. Рекомендуется убедиться, что данные в столбце Layer Physical Order верны, причем верхнему слою должен соответствовать номер один. Следите за тем, чтобы разным слоям не был назначен одинаковый порядковый номер. После задания корректного стека слоев при повторном открытии этого диалогового окна физический порядок будет иметь приоритет над логическим, а слои будут отображаться в соответствии с заданным стеком.

Этот же физический порядок будет отражен в диалоговом окне Create/Update Layers Sets, которое открывается командой Tables » Layers Sets главного меню. В нем файлы сверловки сопоставляются с наборами слоев. Рассмотрим шестислойную плату (четыре сигнальных слоя и два слоя питания) с глухими и скрытыми переходными отверстиями. Проект может содержать четыре отдельных файла сверловки:

  • один для пары Top-Bottom (сквозные отверстия);
  • один для пары Top-InternalPlane1;
  • один для пары MidLayer1-MidLayer2;
  • один для пары Bottom-InternalPlane2.
Помните, что вы задаете набор сверловки, а не только пару крайних слоев. Для слоев сверловки глухих и скрытых отверстий в набор необходимо включить все просверливаемые слои. Для слоев сверловки сквозных отверстий достаточно указать начальный и конечный слои.

Извлечение списка цепей

Этот этап, запускаемый командой Tools » Netlist » Extract главного меню, зависит от правильности выполнения предыдущих этапов. Он недоступен, пока каждому слою платы не назначен тип (механическим слоям следует назначить тип Temporary). После запуска команды будут извлечены данные о цепях, а их список появится на вкладке Nets  панели CAMtastic . Для каждой цепи указывается ее общая длина. При щелчке по записи цепи на панели эта цепь будет выделена и показана в увеличенном масштабе в рабочей области.

CAM-редактор прослеживает электрические соединения между слоями, используя файлы сверловки NC для определения межслойных соединений. Поэтому стек слоев, заданный в диалоговом окне Create/Update Layers Order, и пары сверловки, выбранные в диалоговом окне Create/Update Layers Sets, критически важны для корректного извлечения списка цепей из CAM-данных.

Если вместе с импортированными файлами Gerber и NC Drill вы добавили файл списка соединений IPC-D-356, можно восстановить исходные (и осмысленные) имена цепей, выбрав Tools » Netlist » Rename Nets в главном меню. После запуска команды цепи будут сопоставлены, а цепям, извлечённым из текущего документа, будут присвоены имена из файла списка соединений IPC. Обновлённые имена появятся на вкладке Nets  панели CAMtastic .

Хотя данные списка соединений IPC-D-356 не обязательны для экспорта, их наличие желательно. Они помогут редактору CAMtastic отличить контактные площадки от переходных отверстий и тем самым правильно создать глухие и скрытые переходные отверстия в проекте, а не контактные площадки вместо них. Но, что гораздо важнее, список соединений IPC служит эталоном, с которым можно сравнить извлечённый список соединений, выбрав Tools » Netlist » Compare в главном меню. После запуска команды будет выполнено сравнение, а отчёт Netlist-Compare.rpt будет сформирован и открыт как активный документ в главном окне проектирования. В отчёте перечисляются все цепи, найденные в импортированном списке соединений, но отсутствующие в извлечённом списке.

Списки соединений в формате Protel не поддерживаются. Импортируемый список соединений должен быть в стандартном формате IPC-D-356.

Если список соединений IPC импортирован правильно, в списке слоёв на панели CAMtastic  появятся два дополнительных слоя: <fabrication_testpoint_report_for_DesignName>.ipc_t и <fabrication_testpoint_report_for_DesignName>.ipc_b, содержащие данные списка соединений для верхнего и нижнего сигнальных слоёв. (Третий слой, <fabrication_testpoint_report_for_DesignName>.ipc_in, появится, если в проекте печатной платы есть внутренние сигнальные слои. Если в проекте нет глухих и/или скрытых переходных отверстий, связанных с этими слоями, третий слой будет пустым — его можно оставить в списке слоёв или удалить).

При работе со списками соединений IPC, созданными в редакторе печатных плат, вы заметите, что функция сравнения редактора CAM обычно обнаруживает ряд безымянных «отсутствующих цепей». Это связано с тем, что редактор печатных плат включает в данные формата IPC цепи с одним выводом. Редактор CAM, напротив, не учитывает в списке соединений контактные площадки без каких-либо соединений по меди. Более того, в его настройках DRC предусмотрена возможность удаления нефункциональных контактных площадок.

Чтобы удалить все цепи из текущего документа, фактически очистив ранее извлечённый список соединений, выберите команду Tools » Netlist » Clean All Nets в главном меню. После запуска команды все данные о цепях будут удалены. Убедиться, что все цепи удалены из CAM-документа, можно с помощью панели CAMtastic . Вкладка Nets  будет пустой.

Границы и сплошные слои

При экспорте файла печатной платы в редактор печатных плат с помощью 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, позволяет изменить шаг сетки, ширину дорожки и минимальную длину примитива для полигонов. Если требуется полное и высокоточное заполнение полигонов, все эти значения должны находиться в узком диапазоне, соответствующем минимальным размерам элементов на плате. В противном случае внутри полигонов могут остаться незаполненные участки, вместо сплошной заливки может получиться штриховка, а некоторые полигоны могут вообще не попасть в экспортируемый файл.

Диалоговое окно Polygon OptionsДиалоговое окно Polygon Options

Однако эти значения применяются ко всем экспортируемым полигонам, поэтому очень малые значения увеличат размер экспортируемого файла и усложнят работу с ним, например замедлят перерисовку. Поэтому лучше использовать максимально возможные значения, которые по-прежнему обеспечивают требуемую точность для всех полигонов на плате.

При включении параметра Create Solid Polygons каждый полигон будет заполнен одной или несколькими сплошными медными областями. Количество используемых медных областей зависит от числа отдельных участков, образованных внутри полигона существующими объектами цепей, такими как дорожки и контактные площадки.

Диалоговое окно Solid Polygon OptionsДиалоговое окно Solid Polygon Options

Диалоговое окно 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, заливка будет обходить все объекты независимо от того, к каким цепям они относятся.

  • При выполнении команды Export to PCB для создания платы полигоны формируются в виде контуров — их потребуется залить повторно. 

  • Каждая отдельная полигональная область, заданная в CAM-файлах, становится отдельным полигоном. Используйте Polygon Manager, чтобы понять, как и где они заданы. Обратите внимание, что границу существующего полигона можно изменить. Такой подход позволяет замкнуть большой существующий полигон и заменить им множество более мелких полигонов ().

Экспорт в PCB

После извлечения списка цепей из CAM-данных становится доступна команда File » Export » Export to PCB. Если выполнить эту команду после всех необходимых действий, будет создан документ PCB с проектом платы, максимально похожим на исходный.

После запуска команды будет создан новый документ PCB (<CAMDocumentName>.PcbDoc), который откроется в рабочей области как активный документ. Передача данных из CAM-документа в документ PCB выполняется в следующем порядке:

  1. Создается документ PCB с контуром платы, соответствующим текущим размерам платы в CAM-документе.

  2. В документе PCB создаются объекты цепей на основе информации о цепях, извлеченной из CAM-документа.

  3. Формируется стек слоев на основе физического порядка слоев, заданного в CAM-документе (диалоговое окно Create/Update Layers Order, доступное через Tables »  Layers Order).

  4. Внутренним слоям питания назначаются цепи.

  5. Существующим разделенным областям слоев питания назначаются цепи. Они могут быть 

  6. Создаются правила проектирования Clearance, Width и Power Plane Connect Style. Для каждой цепи слоя питания создаются термобарьерные соединения.

  7. На основе CAM-данных формируются стеки контактных площадок (с использованием площадок на сигнальных слоях и слоях питания в физическом порядке, затем данных сверловки, маски, пасты и т. д.). Стеки контактных площадок загружаются в PCB, и задается необходимый тип стека (простой или полный).

  8. Создаются дорожки печатной платы.

  9. Выполняется проверка правил проектирования (DRC) для всей платы.

  • Команда Export to PCB передает данные из CAM-документа в документ PCB с помощью PCB API. При этом файлы экспорта (в формате Gerber или другом формате) не создаются, поэтому использовать средство импорта Gerber в редакторе PCB не требуется.

  • Созданный документ PCB будет добавлен в Projects panel как свободный документ (Free Document), в подпапку PCBs. Документ создается, но изначально не сохраняется.

  • Для полноценного восстановления платы потребуются дополнительные действия, например замена примитивов компонентов посадочными местами. Для этого можно скопировать группы примитивов в библиотеку PCB, а затем заменить исходные примитивы новыми посадочными местами. Редактор PCB не создает пары слоев сверления автоматически на основе информации Layer Sets в CAM-документе; их потребуется заново задать вручную в Layer Stack Manager. 

AI-LocalizedЛокализовано с помощью ИИ
Если вы обнаружили проблему, выделите текст/изображение и нажмитеCtrl + Enter, чтобы отправить нам свой отзыв.
Меню
Contents
Доступность функций

Доступные вам функции зависят от того, какое решение Altium вы используете: Altium Develop, Altium Agile Teams, Altium Agile Enterprise или Altium Designer (при активной подписке).

Если вы не видите описанную функцию в используемом вами программном обеспечении, свяжитесь с отделом продаж Altium, чтобы узнать больше.

Устаревшая документация

Документация Altium Designer больше не разделена по версиям ПО. Если вам необходим доступ к документации по старым версиям Altium Designer, посетите раздел Устаревшая документация на странице Прочие установщики.

Contents