Создание электронного представления печатной платы по ее сканированному изображению

№ 2’2005
PDF версия
В статье описан программный модуль Drupht, предназначенный для автоматического построения исполнительных файлов технологического оборудования в формате Gerber для изготовления фотошаблонов печатных плат на основе их сканированных изображений.

Илья Черемисин
Александр Задорин

Введение

Технологическая цепочка проектирования и изготовления печатных плат предполагает разработку принципиальной схемы средствами конструкторской САПР, ее размещение на заданном конструктиве и формирование управляющих программ для фотоплоттеров и сверлильных станков с ЧПУ с применением автоматизированных систем подготовки к производству. В результате вся проектная информация по изделиям накапливается в архивах, что позволяет при необходимости возвращаться к любой стадии разработки для внесения изменений или просто для воспроизведения старых образцов в новых условиях.

Если на предприятии реализовано единое информационное пространство, в котором уживаются управленческие системы класса ERP, конструкторско-техно-логические CAD/CAM-системы, системы управления данными (PDM), то все это становится элементами CALS-технологии, позволяющей осуществлять непрерывную информационную поддержку изделий на всех этапах жизненного цикла. В таких условиях не возникает проблем при поиске информации для перепроектирования или возобновления производства.

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

Как правило, плату оцифровывают вручную — процесс трудоемкий и медленный. На плату средней сложности уходит часа четыре. Автоматизация процесса через построение векторного описания контура топологии в формате DXF не является достаточно эффективной.

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

ного планшетного сканера, причем требования к его разрешению здесь не критичны. Выходом программы является описание топологии в формате Gerber RS-274X, которое может быть загружено в САМ-систему для окончательной корректировки. Название программы созвучно английскому «draft» — черновик, эскиз, что отражает ее суть, а написание имени — игра букв.

Работа с программой

Программа может работать в двух режимах: автономно либо как встроенный модуль системы автоматизированного визуального контроля печатных плат Aplite, основанной на вводе изделий через планшетный сканер [1, 2]. Последнее является более предпочтительным, поскольку Aplite предоставляет большой набор функций по обработке изображений плат. Во-первых, это встроенное сканирование, после которого образец цветной платы можно бинаризовать специализированными средствами Aplite. Бинаризация платы стандартной программой, поставляемой со сканером, редко дает удовлетворительное качество черно-белого изображения, получаемого из цветного, особенно на образцах с небольшой контрастностью подложки и металлизации. Система позволяет также фильтровать шумы бинарного изображения, что способствует более точному восстановлению платы. Восстановленное в Drupht изображение может быть совмещено как бы на просвет с отсканированным образцом, при этом разница двух картинок сразу видна. Эти несовпадения могут быть подправлены инструментами встроенного графического редактора. Возможно добавление, удаление, копирование, перенос примитивов, изменение их координат, размеров и формы.

В составе системы модуль работает «молча», то есть все его окна, кроме настроечного, скрыты. В автономном режиме после считывания входного изображения командой «Файл/Открыть» программа Drupht выводит окно (рис. 1), в котором слева вверху отображается вся картинка в уменьшенном масштабе, а в основной части — изображение для детального просмотра. Далее через меню «Настройки» задаются параметры процедуры восстановления — типы контактных площадок, минимальный и максимальный размеры примитивов, критический угол излома проводников.

Рис. 1. Задание параметров

Контактные площадки могут быть круглой, восьмиугольной, квадратной и прямоугольной формы. Указание нужного подмножества ускоряет работу программы. Контактные площадки в середине проводника могут быть не распознаны, как получилось в примере на рис. 7-8. Остальные участки металлизации алгоритм обрабатывает как обычные проводники.

Следующий параметр — максимальная толщина проводников и радиус контактных площадок (в пикселях). Данный параметр устанавливает границы исследования толщины проводника, а также размер контактной площадки. Быстродействие алгоритма напрямую зависит от этого параметра. Естественно, параметр можно задавать приблизительно. При этом слишком малое значение повлечет за собой неправильное распознавание участков проводников большего размера, а слишком большое значение — к существенному замедлению работы. В Aplite измерения можно произвести специальным инструментом.

Еще один параметр, который задается вручную, — минимальная длина проводника. Алгоритм работает со скелетом изображения, и при разбивке скелета на отрезки в точках излома он определяет, какова минимальная длина получающихся отрезков. Слишком малое значение параметра может дать в результате изломы в тех местах, где они на самом деле не нужны.

Задается также параметр, тесно связанный с предыдущим, — критический угол излома (в градусах). В описании этапов работы программы разъясняется его значение.

Подход к реализации

В основу алгоритмов, реализованных в программе, заложены методы анализа контура и скелета топологического рисунка печатной платы.

На первом этапе алгоритма формируется скелет изображения методом сужения связных областей и последующего удаления мелких отрезков, появляющихся в процессе сужения и являющихся шумом (рис. 2). Сужение производится с помощью последовательного наложения структурных элементов размером 3×3 пикселя на пиксели проводника. Предложены оригинальные структурные элементы, применение которых дает более точное расположение линий скелета в области изгибов проводника. Также в процессе сужения при удалении пикселя близлежащим пикселям присваивается индекс сужения, равный номеру прохода изображения, в котором был удален этот пиксель. В дальнейшем индекс сужения используется для определения приблизительной ширины проводника или контактной площадки в данном месте, а также для определения мест изломов при разбивке скелета на отрезки, так как в этих местах индекс сужения выше.

Далее выполняется поиск контактных площадок на основе так называемых шаблонов. Каждый шаблон представляет собой цветное изображение заданной формы из числа указанных при настройке примитивов. Первоначально шаблон заполняется белыми пикселями. Затем берется некоторое i, равное радиусу искомого примитива, и по формуле, которой описывается примитив, вычисляются координаты точек его границы. По полученным координатам в шаблоне Bj соответствующие пиксели заполняются цветом i. На рис. 3 схематично изображены два шаблона, круг и квадрат (j=2), каждый из которых меняет радиус. Данная операция повторяется несколько раз в пределах минимального и максимального радиусов.

С помощью накладывания шаблона Bj на каждую точку скелета определяется массив, i-й элемент которого задает количество точек цвета i шаблона Bj, совпадающих с точками металлизации образца. В случае если в исследуемой точке находится контактная площадка искомой формы, для некоторого i будет много точек цвета i в шаблоне Bj, лежащих на контактной площадке образца при наложении, и мало точек цвета i+1, лежащих вне контактной площадки. На основании этого порога и определяется тип контактной площадки. Для ускорения данного алгоритма по индексу сужения в каждой исследуемой точке определяется приблизительный радиус контактной площадки, что позволяет более точно задать диапазон радиусов искомых площадок.

На рис. 4 показана дискретная реализация шаблона.

Далее производится сегментация скелетного изображения с помощью его «разрезания» в местах перегиба, а также в местах соединения более двух сегментов. Разрезание происходит лишь в том случае, если длина вновь образуемых сегментов не меньше заданного минимума. Местом перегиба является точка скелета, если прилежащие к ней отрезки скелета с длиной, равной заданному минимуму, образуют угол, меньший заданного параметром «критический угол излома».

По окончании этого этапа каждая точка скелетного изображения нумеруется в соответствии с сегментом, которому она принадлежит.

Рис. 2. Скелетизация изображения
Рис. 3. Схема наложения шаблонов на контактные площадки
Рис. 4. Шаблон радиуса 1 аппроксимирует контактную площадку
Рис. 5. Рабочий экран программы восстановления
Рис. 6. Процесс совмещения восстановленного изображения с исходным
Рис. 7. Изображения совмещены
Рис. 8. Добавление контактной площадки

Следующий этап алгоритма — сегментация всего изображения путем наращивания сегментов скелета. Наращивание состоит в последовательном применении операции расширения каждого сегмента, в ходе которой близлежащие точки сегмента помечаются номером этого сегмента.

Затем идет поиск ширины каждого сегмента. Во всех точках сегментов скелета проводится перпендикуляр к направлению сегмента и измеряется ширина соответствующего наращенного сегмента в направлении этого перпендикуляра, которая заносится в массив Wi, где i — номер сегмента. Ширина каждого сегмента определяется как наиболее часто встречающаяся ширина из соответствующего массива Wi.

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

После этого происходит соединение сегментов друг с другом и с контактными площадками. Если обнаружены два сегмента либо сегмент с контактной площадкой, концы которых расположены на расстоянии менее заданного минимума, предполагается, что они должны быть соединены. Для двух сегментов координаты соединения определяются как точка пересечения их осей. Для сегмента и контактной площадки это пересечение оси сегмента и перпендикуляра к оси сегмента, проведенного через центр контактной площадки.

Последний этап — выгрузка полученных сегментов в Gerber-файл в стандарте RS-274X.

На рис. 5 показано восстановленное изображение; разные сегменты проводников окрашены в разные цвета.

Под управлением Aplite

 

    Рис. 9. Контактная площадка добавлена
    Рис. 10. Импорт восстановленного файла в САМ-систему

    Включение программы восстановления в состав системы контроля предполагает в ней следующую последовательность действий:

    • сканирование изображения и его бинаризация;
    • запуск модуля Drupht с передачей ему бинаризованного файла;
    • задание параметров восстановления;
    • визуализация восстановленного изображения из Gerber-файла, его совмещение с исходным;
    • графическое редактирование.

    Производительность алгоритма восстановления приемлемая — например, на компьютере с процессором Athlon XP 1800+ и объемом памяти 512 Мбайт изображение формата А5 с разрешением 600 dpi со средней плотностью топологии распознается примерно за 2 минуты. Вообще, время работы программы примерно пропорционально квадрату количества пикселей изображения.

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

    том. Видно, что восстановление не смогло построить контактную площадку в середине проводника, а также пропущен проводник короткой длины и две площадки не соединились с проводниками.

    Ошибки легко исправляются инструментами редактирования (рис. 8-9), затем полученный Gerber-файл импортируется в САМ-систему (рис. 10) для окончательной подготовки к производству.

    Испытания работы программы показали, что правильно распознаются 70-90% примитивов. В основном неправильно распознаются контактные площадки, расположенные в середине проводника, примитивы сложной формы (полигоны), буквенно-цифровые обозначения. В настоящее время ведется работа по увеличению эффективности алгоритмов программы.                               

    Литература

    1. Задорин А. Ю., Захарова Г. Б. Система автоматизированного визуального контроля печатных плат Aplite // Chip news. Инженерная микроэлектроника. 2002. № 10 (73).
    2. http://www.imach.uran.ru/aplite

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *