автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.16, диссертация на тему:Система автоматизированного контроля топопланов

кандидата технических наук
Фазилов, Зариф Назимжанович
город
Москва
год
1995
специальность ВАК РФ
05.13.16
Автореферат по информатике, вычислительной технике и управлению на тему «Система автоматизированного контроля топопланов»

Автореферат диссертации по теме "Система автоматизированного контроля топопланов"

рг Б ОД 2 3 ОКТ 1395

РОССИЙСКАЯ АКАДЕМИЯ НАУК ИНСТИТУТ ВЫСОКОПРОИЗВОДИТЕЛЬНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ

на правах рукописи

ФАЗИЛОВ За риф Назимжанович

СИСТЕМА АВТОМАТИЗИРОВАННОГО КОНТРОЛЯ ТОПОПЛАНОВ (НА ПРИМЕРЕ СПП)

Специальность 05.13Л6 - Применение пычислительной техники, математического моделирования и математических методов в научных исследованиях

АВТОРЕФЕРАТ

диссертации на соискание ученой степени мт^о^^ кандидата технических наук

МОСКВА 1995

Работа выполнена в Институте высокопроизводительных вычислительных систем Российской Академии наук

Научный руководитель:

доктор физ.-мат. наук, профессор РЕШЕТНИКОВ В.Н.

Официальные оппоненты:

доктор тех. наук, с.н.с. СЕМЕНОВНА,

доктор тех. наук, профессор ПЕРЕКАТОВ В.И.

Ведущая организация - Московское конструкторское бюро "Электрон".

Зашита состоится "С( - Л7 1995 г. в /Г часов на заседании Диссертационного Совета Д.200.45.01 в Институте высокопроизводительных вычислительных систем по адресу: 117334, Москва, Ленинский пр., Д.32А

С диссертацией можно ознакомиться в библиотеке института.

Автореферат разослан".........."............................ 1995 г.

Ученый секретарь к. Ц

диссертационного совета /¡//£»0. Михайлюк М. В.

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

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

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

Контроль топологии слоев ПП в настоящее время осуществляется человеком-оператором с помощью различных типов микроскопов и проекторов. Однако, быстрая утомляемость операторов ведет к тому, что вероятность пропустить при контроле бракованное изделие возрастает. Кроме того, постоянно возрастающая плотность печатного монтажа и высокие требования к их качеству обусловливают необходимость разработки систем автоматизированного контроля топологии слоя ПП и, соответственно, рисунка на ФШ.

Таким образом, является актуальным создание системы автоматизированного визуального контроля топологии слоев печатных плат (СПП), ориентированная на применение ЭВМ.

Следует отметить, что системы автоматизированного визуального контроля предъявляют очень высокие требования к аппаратным средствам. Такие задачи, связанные с очень большими объемом вычислений, пока еще остаются прерогативой суперЭВМ. Однако ПЭВМ могут оказаться достаточно мощным и недорогим средством на определенных этапах решения подобных задач.

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

сканирующего устройства на базе лазерной и оптоволоконной технологии и дальнейшей его обработки на ПЭВМ.

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

1. разработка математических моделей элементов топологии, а также дефектов рисунка металлизации;

2. разработка алгоритма и метода обнаружения (распознавания) дефектов с использованием их математических моделей;

3. создание программного обеспечения на базе разработанных математических моделей и алгоритмов контроля.

Научная новизна и практическая ценность работы. В процессе решения поставленных задач получены следующие новые научные результаты, которые выносятся автором на защиту.

1. Предложена обобщенная (концептуальная) математическая модель элементов и типичных дефектов СПП.

2. Разработаны иерархические математические модели элементов и основных дефектов СПП и алгоритмы их распознавания.

3. Создана программная система автоматизированнаго контроля СПП, реализованная на языке Турбо Си.

Одним из преимуществ использования вышеописанных математических моделей является существенное сокращение объема обрабатываемой информации. Разработанная автоматизированная система позволяет выявлять дефекты топоплана СПП (сужения, выступы, разрывы дорожек, и пр.) с указанием их характеристик (площади, периметра, длины контура) и координат. Использование данной системы позволяет сократить время производства и повысить эффективность выпуска полузаказных и заказных ПП.

Апробация работы. Основные результаты диссертационной работы докладывались и обсуждались на семинаре отдела "Информационных структур" ИВВС РАН, па семинаре в Математическом институте с ВЦ АН Таджикистана, на научной конференции "Логические интелектуалыше системы обработки данных" Международного Форума по информатизации, Москва 1994 г., на семинаре Международной лаборатории проблем информационных технологий, 1995 г.

Публикации. По теме диссертации опубликовано 2 научные работы.

-2-

Структура работы. Диссертационная работа состоит из введения, двух глав, заключения и списка литературы.

СОДЕРЖАНИЕ РАБОТЫ

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

Первая глава посвящена вопросам построения математических моделей в системах автоматизированного контроля тоиопланов СП П.

В § 1 рассматривается обобщенная математическая модель элементов и типичных дефектов топологии СПП, которая может бьггь использована для построения конкретных математических методов решения исследуемых задач.

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

Рассмотрим типичный вид участка слоя ПП.

Пусть задана система прямоугольных евклидовых координат ХоУ, где ё,=(1,0), <»2 = (0,1) координатные орты. Проводник параллельный оси V определим следующим образом:

{а, + ас +ßbi},a,ße[Q,\],i=hN (1.1) где - вектор сдвига от начала координат для данного проводника; с - вектор, параллельный длина которого равна ширине проводника; 4 -вектор параллельный ёг, длина которого равна расстоянию между двумя контактными площадками, которые соединяет данный проводник; N-максимальное количество проводников параллельных оси Y.

Аналогично, можно описать проводник параллельный оси X:

{Üj + dc+ßbJ},a,ß e[0,l]j = (1.2)

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

[St + а (с + щ) + ß(c + <*2)},jS е[0Д \к =\J (1.3) Таким образом, топологию слоя ПП можно рассматривать как множество Х:{Ру,Рх,Р„} (1.4)

где

Ру: {а, + ас +ßbi), a,ß е [0,1], / = ÜV

- множество проводников параллельных оси Г; Рх: {а} + ас + ßj},a,ß e[0,l]j = IM

- множество проводников параллельных оси X; р^, {ак + а(с + щ) + ß(c + aJ2)} ,ß е[0Д]аk = \J

- множество контактных площадок.

На основе вышеописанной модели построены модели типичных дефектов слоя печатной платы.

Пусть А -операция травления, тогда через А обозначим линейный оператор, который элементы гопоплана Р переводит в соответствующие элементы топоплана, полученнего после операции травления. Если Хе -образ слоя Хе в Е', тогда АХе- образ результата операции травления в в'. Математической моделью процесса минимизации дефектов в процессе изготовления слоев ПП является задача минимизации функционала ¡¡АХг-Хе||-> min (1.5)

Легко видеть, что так как т=(МтЕ совпадает с числом элементов слоя X, то матрица оператора А имеет диагональный вид, а задача (1. 5) может быть переформулирована как задача определения максимального количества допустимых дефектов, не нарушающих нормальное функционирование слоя в составе печатной платы:

IAX.-X.II = 5 О-«

где 5 - числовой порог допустимых дефектов.

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

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

Результатом ввода гопоплана СПП в ЭВМ является растровое изображение, а не векторное, что накладывает требование уточнения линейной модели и ее отображение на растровые множества.

Комплекс проблем по анализу растровых, изображений СПП будем решать путем построения иерархии взаимосвязанных математических моделей списания, представления структур данных и принятия решений, нижний уровень которой обрабатывает информацию со сканирующего устройства, а . верхний уровень соответствует описанию в терминах пользователя. Непроизводным элементом будем считаеть элемент изображения , который в модели будет рассматриваться как единое целое. Определение 1. Математической моделью изображения Му ранга V называется тройка Л/у = {£,.,Л„,СУ}, где {е1,е2,...,е5} - множество непроизводных объектов модели; Д, = {г,",^,...,г'} - множество допустимых

отношений между непроизводными элементами; С,, ~ {с/,^,...,^} -множество характеристик непроизводных элементов.

Определение 2. Изображением Р в модели Мч будем считать множество объектов изображения — где о] являются подмножествами

Ег, имеют набор характеристик Су и связаны отношениями из с другими объектами из О„.

Ранг модели определяет уровень рассмотрения и анализа изображения. Модель более высокого ранга строится из модели более низкого ранга путем построения новых непроизводиых элементов из непроизводных элементов модели низкого ранга с одновременным изменением множеств ^ нСу. Рассмотрим некоторые существующие модели изображений:

а) Растровая модель.

Пусть на плоскости задано двоичное изображение Р. Введем равномерную дискретную сетку:

х0 < х1 <...<хм Уо< К <■■<}'№' где VI = 1 ,Л/, V/ = - хм = а,у] - у^ = Ь.

Построим массив А = (агде йу =1, если клетка с номером (¡, -черная и = О, если клетка с номером ]) -белая.

Массив А называется растром изображения. Рассмотрим как выглядит математическая модель, построенная на основе растра:

ЕХ=А, т. е. а^ -непроизводный элемент, клетка;

= {"быть соседней"}-отношсние между клетками; С, = {"=1(черная)", "=0(белая)"}-характеристики клеток. Заметим, что растр-простейшая математическая модель изображения. Поэтому её ранг равен 1.

б) Штриховая модель.

Определение 3. Штрих - это пара координат (хн,хк) перехода линии сканирования растра с 0 на 1 и с 1 на 0. Множество штрихов одной строки должно быть отделено от штрихов другой строки.

На множестве штрихов можно задать отношение :"быть связанным" со штрихами соседних строк. Отношение связанности может быть определено следующим предикатом:

г = (х' < > xi2)v(x^ < х1)&(х[ > х])

Таким образом, для этого случая модель будет иметь вид:

л/.ч^адь

Ех = {(х,, у2)}, А', ^{"быть связанным"}, С, = 0. Ранг этой модели также равен 1.

в) Контурная модель.

Определение 4. Контуром называется последовательность векторов границы изображения (внешней и внутренней). Т. е. , объект изображения-это внешний контур и множество внутренних контуров. Контурная модель имеет вид: М2 = {Е2,Я2,С2},где

={(-ХоЛМ*2.>2)} ~ вектоРы контура, Л2 = {/[2}, где г^ - отношение примыкания:вектор контура всегда примыкает к единственному предыдущему и к единственному последующему векторам контура, при этом изображение остается справа,

С2 = {с^,с2}, где - "контур внутренний", с\ - "ко1тгур внешний". Ранг этой модели выше, чем двух предыдущих. Это объясняется тем, что, во-первых, она сложнее, а, во-вторых, она строится при помощи растра, то есть модели с более низким порядком.

г). Линейно-контурная модель.

Линейно-контурная модель является развитием контурной модели. На изображении выделяются не только контуры, по и линии, и отдельные точки ( как черного так и белого цветов ). Эта модель имеет вид:

М2 = {Е2,Я2>С2} Ег = Iе?' е2> е\'е1)'гдс

е|2- вектор контура, е2 - вектор линии, ¿1 - черная точка на белом фоне, е1- белая точка на черном фоне.

/¡2- вектор контура всегда примыкает к предыдущему и последующему

векторам контура, а также может примыкать квектору линии,

г22- вектор линии может примыкать к предыдущему и последующему

векторам линии и векторам контура или может иметь один или два

свободных конца,

т^- точки изолированы.

й2- вектор линии имеет толщину,

с2- вектор контура может быть внешним или внутренним, С2- точка имеет диаметр.

Объекты изображения: линия-последовательность векторов линии, контур-последовательность векторов контура, черная и белая точки. Линии и контуры не пересекаются, контуры замкнуты. Ранг этой математической модели равен 2.

В §3 Рассматриваются математическая модель изображения печатной штаты и классификация основных дефектов на базе иерархических математических моделей. Она строится на основе растра изображения и контурной модели. Поэтому ранг этой модели можно считать равным 3. Далее для удобства рассмотрения индекс ранга модели будет опускаться. Существует четыре типа характерных объектов печатной платы:

• переходное отверстие,

• место посадки микросхемы,

« уплотнение на месте разветвления,

• проводник.

Эти объекты имеют определенные характеристики и связаны друг с другом определенными отношениями, которые будут учтены в модели.

Математическая модель, которую можно построить для изображений печатных плат выглядит следующим образом:

М = {Е,И,С}

е( - переходное отверстие, е2- место посадки микросхемы, е3- уплотнение на месте разветвления,

еА- проводник,

е4 = е\ и е\ Ц.. I) , где е\ - прямолинейные части проводника. Л ={/¡,/2,^}, где

^ - "е4 примыкает концами к е1, е2 или е3",

гг- "е1, е2, е3 соединяются только посредством е4",

гъ- "еъ находится на месте соединения трех проводников, три

проводника без % не соединяются ".

с-{с1,с2,сз,с4,е5,с6,с7}, где

с, - "е, равна радиусам (обычно Щ =400 мкм-5мкм, Д =150 мкм+5мкм),

с2- равна радиусу (обычно Я2 =^650 мкм-50 мкм), с3- "е. равна радиусу Ау (обычно /?3 =150 мкм-5 мкм), с4- "е41меетпчастей",

с5-"\/г'=1,л е^ имеет направление с1, длину среднюю ширину к, координаты начала и конца (х,^)" (на печатной плате проводники могут идти горизонтально, вертикально и (или) под углом в 45 градусов, поэтому направление й б{0;1;2;3;4;5;6;7} и определяется по схеме

3 2 1 4*0 567

с6 - "ширина <?4 не должна отклоняться ог средней ширины больше чем на к%" ( обычно к выбирается равным 20),

"е2, £>3, е4 не могут содержать внутренних котуров". Дефектом в данной модели считается любое отклонение в токопроводящем рисунке от описаш1ЫХ характеристик элементов и отношений между ними.

На основании такого определения можно построить классификацию возможных дефектов СПП:

• дыра (нарушение с7),

« обрыв проводника (нарушение гх),

• короткое замыкание иди перемычка между проводниками (нарушение г}),

• "пятно" (появление элементов токопроводящего рисунка которых нельзя свести к е,, ег, еъ, е4),

• утолщение или угонение проводника (нарушение с6).

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

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

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

#define STR1 struct element STR1 {

int x; /* координаты центра */ int у;

int type; /* тип элемента */ STRl *next; }*ell, * el2;

Данная структура содержит два поля, определяющие координаты элемента печатной платы, одно поле с типом элемента и одно поле со ссылкой на следующий элемент. Динамическая структура str! используется в очереди описания элементов ПП, где ell - ссылка на первый элемент, а е12 - ссылка на последний элемент очереди описания элементов.

#define STR2 struct conduct STR2 {

int x; /* координаты начала проводника */ int у ;

int direction; /* направление проводника */ int length; /* длина проводника */ int g; /* признак проводника:

g=0, если проводник идет непосредственно после элемента

' =1, если проводник идет после поворота =2, если проводник идет после дыры =3, если проводник идет после впадины */ struct width*wd; /* ссылка на очередь описания ширины*/ STR2 *next; }*conl,*соп2;

Эта структура описывает проводники. Каждая запись содержит поля с координатами начала проводника, поля с напра&лением и длиной проводника, его признаком, поле ссылки на очередь описания ширины (будет рассмотрено тисе ) и поле со ссылкой на следующую запись. Данная структура использована в очереди описания проводшисов, где conl-ссылка на первый элемент, соп2 -ссылка на последний элемент очереди описания проводников.

rfdefine STR3 struct width STR3 {

int а; /^абсолютные или относительные отклонения ширины проводника от срединной оси */

int instruct width *next; }*wl,*w2;

Эта структура применяется в очереди описания ширины. Следует заметить, что для каждой записи описания проводников STR2 существует своя очередь ширины. Каждая запись содержит два поля с абсолютными или относительными отклонениями ширины проводника от срединной оси и одно поле со ссылкой на следующую запись. Здесь wl - ссылка на первый элемент STR3, a w2 - на последний.

#define 5TR4 struct error STR4 (

int x; /* координаты ошибки */ int у;

int type_error; /* тип ошибки */

/* type_error=l-Aupa в проводнике =2-утолщение проводника - 11 -

=3-утонение проводника =4-обрыв проводника =5-впадина в проводнике =6-короткое замыкание =7-неопознанная ошибка */ Эта. 4 *пех1; /* ссылка на следующий элемент *■/ } *егг1,*егг2 ;

Данная структура используется в очереди описания ошибок. Каждая запись ятн4 содержит два поля с координатами ошибки, одно поле с типом ошибки и одно поле со ссылкой на следующую запись. сгг1 - ссылка на первый элемент очереди ошибок, а егг2 - ссылка на последний элемент очереди ошибок.

При анализе изображения печатной платы, вводимого в виде растра, будем организовывать и заполнять структуры БТН1 - зтн.4. После обработки, используя очередь описания ошибок, можно просто вывести информацию о дефектах печатной платы и при необходимости провести их визуализацию. В §2 приведен алгоритм отслеживания контура. Пусть дан растр изображения А(а9.), где 1=1, М, ¿=17ы а5е {0,-1}.

Так как. значения элементов растра принадлежат множеству {0,-1} можно говорить, что задано двухуровневое изображение. Определение 5. , а=1, м, з=1, и называются пикселами изображения . Определение 6. Пиксел р называется "//"-соседом пиксела а , если он

располагается в растре по отношению к а на позициях , помеченных *:

*

*а* *

Пиксел р называется 'У-соседом пиксела а, если он располагается в растре

по отношению к а на позициях, помеченных *:

* *

а * *

Пиксел р называется соседом пиксела а, если он является либо "«"-соседом либо "«"-соседом.

Определение 7. Контуром связного множества R называется множество всех пикселов из Л, имеющих но крайней мере одного "//"-соседа из R. Определение 8. Контур называется внутренним, если существует хотя бы один контур, охватывающий его.

Контур называется внешним, если он не яатастся внутренним, то есть не существует контура, охватывающего его.

Приведем полный алгоритм отслеживания контура. Все контуры, определенные с его помощью записываются в очередь описания контура STR5. Обозначения:

• функция extp (i, j), функция выдает 1, если пиксел с координатами i , j является внешним пикселом изображения;

• функция intp (i, j), функция выдает 1, если пиксел с координатами i, j является внутренним пикселом изображения;

• функция boardp ( i , j), функция выдает 1 , если пиксел с координатами i, j является граничным пикселом изображения;

• процедура tr (i, j , к) -процедура отслеживания цепного кода;

. процедура t r_in (i , j , k, с 1) -процедура занесения данных о контуре в очередь описания контуров STR5. Алгоритм отагеживания контура. for j=0 to N

for i=0 to И

if (rastr[i][j]=0 and extp(i,j)

rastriil[j]=2 /* окраска растра */ else~i£ (rastr[iHj]=0 and intp(i,j) and board(i,j) tr(i,j,0)

rastr[i,j]=4 /* окраска растра */ tr_in(i, j,0,cl) eise-if (rastr [i] [j]=l and boardp (i,j) tr(i,j,1)

rastr[i,j]=3 /* окраска растра */ tr_in(i,j,0,cl)

next i next j finish

Полный алгоритм отслеживания контура позволяет разбивать изображение на специальное множество частей: если проводить

- 13 -

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

При выполнении алгоритмов производится окраска растра: выделяются пикселы внешнего контура (в них значение растра равно 3), пикселы втгутреннего контура (в них значение растра равно 4), пикселы, окружающие внешний контур (в них значение растра равно 2) и пикселы, окружающие внутренний контур (в них значение растра равно 5).

Теперь Vi-l, И, N rastr [дШ'] е { 0 ; 1; 2 ; 3 ; 4; 5}.

Заметим, что к исходному растру легко вернуться снова, проведя преобразование for j =0 to N for i=0 to M

rastrti][j]=rastr[i][jj%2. next i next j

Предложен способ хранения описания контура в памяти ЭВМ.

В §3 рассматриваются алгоритмы обработки внутреннего и внешнего контуров.

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

После работы процедуры отслеживания контура получена очередь описания контуров STR5. С её помощью легко осуществить прямой доступ к начальной точке любого контура, в том числе и внутреннего (используя поле признака контура).

Для работы алгоритма необходимо иметь в памяти ЭВМ эталон растра ддя переходного отверстия. Его легко построить, принимая во внимание, что переходное отверстие представляет из себя кольцо определенных радиусов.

- 14-

Алгоритм обработки внутреннего контура:

1. Нахождение в очереди описания конгуров зти5 начальной точки внутреннего контура,

2. Привязка начальной точки внутреннего контура к растру эталона для сравнения (окаймление внутреннего контура таким образом, чтобы получился квадратный фрагмент изображения, имеющий размер эталона).

3. Нахождение разности (число различных пикселов) эталона и построенного квадратного фрагмента.

4. Сравнение полученной разности с площадью (в пикселах) эталона.

5. если разность больше, чем к% площади (обычно к=20), то это дыра (занесение информации о найденном дефекте в очередь описания ошибок БТЯ4). Иначе, это переходное отверстие.

6. конец.

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

Рассмотрим теперь какой части токопроводящего рисунка может принадлежать начальная точка внешнего контура. Начальная точка-самая верхняя и левая точка контура (по построению). Это и ограничивает число ее местонахождений. Она может принадлежать:

• переходному отверстию, месту посадки микросхемы, уплотнению на месте разветвления проводников;

• месту поворота проводника;

• "пятну";

• проводнику на месте его обрыва;

• проводнику на месте его утолщения.

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

Чтобы обнаружить первую ситуацию можно использовать алгоритм, схожий с алгоритмом обработки внутреннего контура. Надо завести в памяти ЭВМ эталоны растров для переходного отверстия, места посадки микросхемы, уплотнения на месте разветвления проводников, привязать начальную точку контура с эталоном, найти разность по площади (с учётом к% возможных отклонений), а затем сделать вывод.

- 15-

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

Ограниченность числа вариантов позволяет легко отлавливать эти ситуации. Более детально это будет описано в основном алгоритме обработки внешнего контура.

Обозначения: . д-признак места осмотра, д=0, если осмотр первичный, =1, если осмотр после поворота, =2, если осмотр после дыры, -3, если осмотр после впадины; и [2 ] -координаты начальной точки проводника; . массив ¿11 [2], ¿11 [0] -напра&тсние проводника, <31 [ 1 ] -длина проводника;

• ху [ 2 ] -координаты последней точки проводника;

• ь_ауег [ 2 ] -средние отклонения от срединной оси проводника;

• 1: эламит-указатель нахождения поворота, С1пс1_ьигп=1> если поворот найден, = о, иначе;

• 1: :тс1_е1 -указатель нахождения элемента, Пп<3_е1=1, если на конце проводника найдено переходное отверстие или место посадки микросхемы, =0, иначе;

. £ :тс1_Ко1е-указатель нахождения дыры, £ з.пй_Ьо1е=1, если в проводнике найдена дыра, =0, иначе;

• £ 1пй_Ьгеак-указатсль нахождения обрыва, £ 1пй_Ьгеак=1, если найден обрыв проводника, =0, если найдена впадина ;

• массив агг_Ьед [ 3 ] [ 10 ] - массив с информацией о начале проводника(заполняется в случае начального поворота или на месте разветвлений проводников),

. процедура £^ргос_епЗ_сопа (а.1, ху, I :1псЗ_е1) -Процедура первичной обработки окончания прямолинейной части проводника; £:_ргос_епс1_сопс1 () устанавливает :£1псЗ_е1=1, если на конце найдено переходное отверстие, место посадки микросхемы или уплотнение на месте разветвления проводников, заносит информацию о найденных элементах в очередь описания элементов 5ТЕ1;

• процедура proc_end_cond (u, dl, xy , h_aver, find_turn, find_ ol) - процедура обработки окончания проводника;устанавливает f ind_turn=l, если найден поворот;определяет месторасположение утонений и утолщений проводника, заносит данные о дефекте в очередь описания ошибок STR4;ec;in поворот найден, процедура определяет направление, длину и координаты последней точки следующей части проводника;

• процедура proc_arr_end (u, dl, xy, find_hole, f ind_break) -процедура обработки массива arr_end [ ] [ ]; устанавливает

f ind_hole=l, если найдена дыра, f ind_break=0, если найдена впадина, и оставляет f ind_break=l, если найден обрыв; кроме этого происходит занесение данных о дефектах в очередь описания ошибок STR4.

Алгоритм обработки внешнего контура:

1 if (начальная точка контура пр1шаддежит переходному отверстию, месту посадки микросхемы или уплотнению на месте разветвления проводников)

Занести данные об элементе в очередь описания элементов, go to 3

2 if (начальная точка принадлежит месту поворота проводника и определите направления его обеих частей)

Записать в массив arr_bcg[ ][ ] одно из найденных направлений и координаты начальной точки этой части, определить координаты последней точки прямолинейной части с большим номером напрашгения. g= 1 до to 5. else

занести информацию о дефекте в очередь описания ошибок sTR4 до to finish

3 Найти направление, дайну прямолинейной части прозодника и координаты последней точки;

4 д=0;

5 find_el=0; f_proc_cnd_cond(dl, xy, find_el)

if (f ind_el != 1) занести информацию в arr_end[ ][ ] определить средние отклонения от срединной оси проводника h_aver[]

до to 5 find_turn=0

proc_end_cond(u, dl, xy, h_aver, find_turn, find__el)

- 17 -

{£ 1па_1:игп==1) д=1, освободить последнюю строку агт_еп<1[ ][ ] до to 5

Ц: ( агг_еп<5[ ] [ ] не пуст ) £з.псМ1о1е=0, £ 1пс1_Ьгеак=2,

ргос_агг_ег1с1(и, <51, ху, £1псЫпо1е, £1пс1_Ьгеак) 11 (£1пс1_Ьо1е==1) д —2

до to 5 1£(:Е1пс1_Ьгеак==0) д=3 до Ъо 5

е^е-И (агг_Ьед [ ] [ ] не пуст) достать информацию о новой начальной точке и новом направлении из агт_Ье§[ ] [ ] определить координаты последней точки, до ио 5 £1ш.зЬ

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

В §4 приведена основная программа обработки и анализа топошганов СПП - ргос_БРР(лИСТИНГЫ).

В заключении сформулированы основные результаты диссертационной работы.

Основные положения диссертации опубликованы в работах:

1) Фазилов З.Н. Программно-аппаратные системы контроля топопланов слоев печатных плат//Программные продукты и системы. - 1994. -№4., стр. 24-26.

2) Фазилов З.Н., Пшенко С.Ю. Математические модели в системах автоматизированного контроля топологии токопроводящего рисунка слоя печатных плат//Доклады АН Республики Таджикистан. - г. Душанбе, 1994. -№1, стр. 18-23.