Технологичное проектирование
DFM — это принципы разработки и ведения проекта, которые нацелены на успешное производство готового изделия. Следование этим принципам призвано снизить срок постановки на производство и сроки тестирования готовой продукции, с одновременным повышением качества. DFM начинается задолго до проектирования, на этапе обсуждения технического задания, зависит от величины серии и влияет на стоимость проектирования, изготовления и тестирования. О DFM писали на Хабре, например здесь. Сегодня мы поговорим про функциональное тестирование печатной платы и опишем её подготовку для этой цели. (трафик)
При промышленном проектировании печатных плат DFM обеспечивается в том числе такими функциями как: DRC (Design Rule Checking) — для проверки технологических ограничений, CAM (Computer Aided Manufacturing) для подготовки производства плат и DFA (Design For Assembly) для оптимизации сборки. Эти функции могут быть встроены в САПР ПП (системы автоматизации проектирования печатных плат) или поставляться в виде отдельного ПО. Здесь можно отметить Vayo, в котором имеются программные модули для тестирования ПП: DFM Expert (используется в т.ч для анализа тестовых площадок) и Test Expert (предназначен для автоматической оценки тестопригодности изделий и подготовки данных для оборудования электрического тестирования).
Мы используем программные средства САПР Altium Designer (AD). Он позволяет создавать контрольные точки (КТ) как библиотечные компоненты, задавать правила размещения КТ на схеме и при разработке топологии размещать КТ перед трассировкой. Аналогичный подход можно применить и в других современных САПР ПП.
Методы электрического контактирования при тестировании плат
Можно выделить четыре:
1) Ручной
Классический метод, при котором специалист при помощи ручных щупов последовательно проводит тест всех цепей. Эффективность зависит от квалификации и личных качеств исполнителя
2) «Ложе гвоздей»
(От англ. «bed of nails», также «поле контактов», «игольчатый адаптер», «матричный тестер»(МТ)). Метод предполагает наличие соединительного устройства с подпружиненными контактами (пого-пинами) напротив контрольных точек на плате. Тестер может входить в состав производственной линии:
Или представлять собой настольное устройство,
Обеспечив касание пого-пинами всех узлов тестируемой ПП можно достичь уровня тестового покрытия близкого к 98%.
3) «Летающие щупы»
(От англ. «flying probes»). Оборудование для метода летающих щупов имеет несколько (иногда — несколько десятков) подвижных головок, на каждой их которых установлен щуп с приводом по оси. Щупы по заранее созданной оператором программе контактируют с платой, в результате чего происходит подача питаний, сигналов и производятся измерения.
Встраивается в линию или используется отдельно, в зависимости от особенностей изделия и выбранной методики тестирования. Выглядит как-то вот так, по звуку напоминает гигантскую швейную машинку.
4) «Летающие матрицы»
(От англ. «flying grid», также «flying bed of nails»). Гибрид двух предыдущих методов, когда на подвижной каретке размещается матрица щупов, при этом каждый щуп может также иметь независимый привод по оси. Общее представление о том, как это работает, можно получить из видео
Подробнее про разные методы электрического контактирования можно почитать тут.
Ряд преимуществ и недостатков четырёх методов представлен в таблице:
Причины выбора матричного тестирования и его особенности
В реальных условиях российской действительности заказчику приходится выбирать между первыми двумя строчками таблицы, потому что оборудование для последних двух методов недешёвое (от 15 млн. рублей за б/у) и на отечественных производствах пока встречается редко. Из-за низкой стоимости предпочтение обычно отдаётся ручному методу, при котором полноценно протестировать изделие может только сам разработчик или специалист сравнимого с ним уровня. В результате изделия могут покидать производство вообще без какого-либо электронного тестирования, или проверяются только лишь включением «на дым», причём часто уже на стороне заказчика. В более лучших случаях на производстве встречается ручная проверка с применением оснасток, реже — автоматизированное тестирование на матричных стендах.
Необходимость в стенде возникла у нас в ходе проекта «Черника». Это изделие имеет четыре прецезионных аналоговых выхода с индивидуальной калибровкой, поэтому его тестирование — трудоёмкая задача даже для опытного инженера. Нам же хотелось настолько упростить процесс, чтобы исключить возможность человеческой ошибки, сведя процедуру к чисто механическим операциям, при этом обеспечить функциональное тестирование каждого изделия из опытной партии (1020 шт.) Матричное тестирование выходило дороже ручного, однако только так можно было гарантировать правильную работу каждого устройства.
Важным фактором при выборе способа тестирования может оказаться возможность предварительной оптимизации размещения контактных площадок (в координатой сетке) на тестируемой ПП и минимизации их количества. Такой анализ должен выполняться до начала этапа разводки ПП, и его цель — получить максимально возможный уровень тестового покрытия.
В нашем случае это не сработало — ревизия платы моменту принятия решения была уже 4-й, пришлось добавлять небольшие контактные площадки практически в готовую топологию.
При снижении количества контактных площадок и пого-пинов, трудоемкость разработки ПО для функционального тестирования возрастает. При этом уменьшение числа пого-пинов в целом снижает стоимость оснастки и время, необходимое на её изготовление.
В нашем случае (для 42 пого-пинов и 32 тестов) разработка потребовала 560 нормо-часов, из них 200,5 часов заняли 2 ревизии аппаратной части, 31 — снабжение и 328,5 — программирование.
В отсутствие достаточного места для площадок с нижней стороны ПП, например, при плотном двустороннем монтаже компонентов, контактные площадки для тестирования могут размещаться также на верхней стороне платы. Но надо учитывать, что стоимость проектирования двухстороннего тестера будет 1,5-2 раза выше одностороннего.
Матричный тестер Ingun MA 260/F
Изображения покупной оснастки Ingun MA 260/F и печатной платы «Черника» представлены на рисунках. Описание тестера можно посмотреть здесь.
Изображение готового устройства с платой в разрезе:
На чертеже мы видим: 1 — прижимную плату, 2 — прижимной стержень (через него верхняя часть оснастки прижимает плату), 3 — тестируемую печатную плату «Черника», 4 — подвижную панель, 5 — плату пробников, 6 — тестирующую плату, 7 — панель пробников и 8 — пого-пины. Для тестирования платы «Черника» мы дорабатывали детали оснастки, поставляемые Ingun в виде заготовок, — прижимную плату, подвижную панель и панель пробников, а также разработали в Altium Designer плату пробников и тестирующую плату.
Ниже представлено изображение тестируемой платы «Черника» (поз.4) относительно стержней предварительного позиционирования (поз.1). Поз.3 на этом рисунке — это подвижная панель, а поз.2 — центрирующие стержни (ловители печатной платы). Монтажник устанавливает ПП без прицеливания до упора стержней предварительного позиционирования (поз.1), затем отпускает плату, и она попадает на более точные центрирующие стержни. Без предварительного позиционирования быстро установить плату на центрирующие стержни трудно.
Для надежного размещения ПП на МТ плата должна иметь не менее трех отверстий для позиционирующих контактов (их еще называют штырьками точной установки), два из которых следует располагать диагонально. Диаметр таких отверстий обычно не менее 3,25 мм. Расстояние от края позиционирующего контакта до края ПП — не менее 3,18 мм, а до ближайшей контактной площадки — не менее 5 мм.
Пого-пины необходимо выбирать в соответствии с типами контрольных точек на ПП и заказывать отдельно (они в комплект тестера не входят). Можно варьировать глубину посадки пого-пинов для компонентов нестандартной высоты, но желательно это избегать (добавляя дополнительные контрольные точки на ПП). Точность попадания пого-пинов в контрольные точки (КТ) определяется исходя из точности тестера и допусками размеров и форм доработанных плат тестера. Разработчики пого-пинов дают некоторые рекомендации по размерам КТ. Также про выбор размеров КТ хорошо написано тут.
Используемые пого-пины (pogopins, подпружиненные контакты)
Существует множество типов пого-пинов для тестеров, отличающихся по размерам, форме и рельефу контактной поверхности (плоские, коронкообразные, игольчатые, конические и другие), материалу пого-пинов и покрытию, обеспечивающим их износоустойчивость. Правильный подбор иголок с головками, соответствующими конкретному месту контакта, обеспечивает высокую надежность контакта при тестировании и долговечность самих пого-пинов. Для простоты замены контактные щупы обычно устанавливаются в держатели.
В МТ для ПП «Черника» используются пого-пины Ingun «GKS-100 314 130 A 1500» и держатели пого-пина «KS-100 47 05».
Пого-пин GKS-100:
Наконечник 14 пого-пина GKS-100:
Держатель KS-100 для пого-пина GKS-100:
Наконечник 05 держателя KS-100
Одругих пого-пинах можно почитать по ссылкам: Ingun и FEINMETALL.
Для разных контрольных точек на ПП используются разные типы пого-пинов. Контрольными точками могут быть: контактные площадки (КП) на поверхности ПП со вскрытием защитной маски (типа КП под smd-компонент), сквозные металлизированные отверстия и штыревые выводы компонентов, впаянные в отверстия. Стоит отметить, что в качестве КТ может быть использовано переходное отверстие, в т.ч. и закрытое маской.
Пример создания контрольной точки в виде сквозного отверстия в плате
Создание КТ в виде сквозного отверстия в AD включает:
1. Создание схемного элемента (УГО) в библиотеке .schlib. Часто КТ на схеме изображают как гнездо и в стандартной библиотеке MiscellaneousConnectors.schlib есть такой схемный элемент, который называется Socket. Достаточно скопировать его в свою библиотеку, присвоить ему новое имя, изменить параметр Default Designator, например на KT, и, чтобы КТ не включались в перечень элементов, нужно указать тип Standard (No BOM).
2. Посадочное место (в библиотеке .pcblib) удобно создавать посредством команды Pad. Для пого-пина KS-100 в стеклотекстолите FR-4 Ingun рекомендует использовать отверстие диаметром 1,7мм. Рассмотрим пример КП для многослойной ПП. Размер КП со стороны тестирования (для контакта с пого-пином) будет 1,7+0,5=2,2 (где 0,5 – это удвоенная минимальная ширина проводника по 3 классу точности). Большую КП сделаем снизу, с учетом того, что чаще штыревые компоненты располагают на верхней стороне платы, и, соответственно штырьки, которые используются при тестировании, будут находиться внизу. В остальных слоях диаметр КП сделаем 1,9мм. Отверстие должно быть металлизировано. Слева внизу напротив Assembly Bottom ставим галочку.
3. Затем надо подключить посадочное место к схемному элементу.
Добавление контрольных точек на схеме
В AD по умолчанию предполагается расположение КТ на всех электрических цепях. Но для минимизации количества пого-пинов КТ устанавливают только на цепи питания и на цепи, подключаемые к аналоговым и цифровым внешним интерфейсам (кроме тех, которые возможно тестировать посредством JTAG). Как уже было сказано, пого-пины могут контактировать с КП на поверхности ПП, сквозными металлизированными отверстиями и штыревыми выводами компонентов, впаянными в отверстия. На этапе разработки схемы можно предусмотреть использование штыревых выводов компонентов (впаянных в отверстия), если шаг выводов корпусов электронных компонентов (ЭК) соответствует шагу размещения пого-пинов, и при этом все ЭК со штыревыми выводами будут размещены с одной стороны (стороны тестирования). Но это не всегда удобно, в т.ч. из-за того, что тип корпуса иногда выбирается (или меняется) в ходе разработки топологии. На этапе разработки схемы рекомендуется закладывать максимально необходимое количество КТ, а потом, в ходе разработки топологии, удалять лишние КТ.
Для добавления КТ на схему используют стандартные способы размещения УГО. Для сквозного проектирования мы можем в схеме задавать правила проектирования (для последующей проверки посредством DRC). Правила размещения КТ удобно задавать для класса электрических цепей (в который включают тестируемые цепи). В схеме класс цепей можно создать с помощью директивы Place/Directive/Net Classes. Директиву можно разместить на каждой цепи (которую надо включить в класс), на шину (но для этого надо предварительно объединить в шину все тестируемые цепи) и на Blanket. Blanket — это многоугольная область (полигон), созданная с помощью команды Place/Directive/Blanket (выделяем многоугольником все цепи для класса). На шину устанавливать директиву не обязательно, — достаточно просто установить опцию Generate Net Classes for Buses во вкладке Class Generation в опциях проекта. Классы удобнее создавать в топологии ПП, но в AD есть проблемы с автоматическим внесением изменений (при обновлении схемы из топологии) при работе с классами, созданными в топологии, поэтому мы создаем классы в схеме. Для создания правила размещения КТ в свойствах класса (в директиве Net Classes) надо нажать кнопку Add as Rule и затем кнопку Edit Rule Values. В категории Testpoint выбрать Assembly Testpoint Style и нажать OK. Затем задать правила размещения КТ. В схеме набор правил для КТ немного меньше, чем в топологии, — здесь можно указать размеры точек, шаг сетки размещения тестовых точек (с допуском), зазоры и сторону размещения. Поскольку мы рассматриваем подготовку тестирования на этапе проектирования, то лучше размещать КТ в сетке. Для держателей KS-100 в документации указан шаг 2.54мм. Component Body Clearance (зазор между контрольной точкой и корпусом компонента) установим равным 0.8мм, а Board Edge Clearance – 1мм. Остальные зазоры указывать не надо, если мы размещаем КТ в сетке.
Для того чтобы классы цепей, созданные на схеме, передавались в топологию ПП, должна быть включена опция Generate Net Classes во вкладке Class Generation в опциях проекта (по умолчанию она обычно включена).
Размещение контрольных точек на плате
КТ размещаем перед трассировкой, но после размещения всех остальных компонентов на плате. Перед размещением нужно установить шаг сетки КТ (в нашем случае 2.54мм).
Перед размещением КТ зайдем в Design Rules, и там мы увидим, что в наборе правил Assembly Testpoint Style имеются 2 правила: Schematic Assembly Testpoint Style, которое мы задавали в схеме для класса, и умолчательное правило AssemblyTestpoint, которое распространятся на все цепи. Умолчательное правило мы удаляем. В настройках правила Assembly Testpoint Style в топологии имеется отличие (от настроек в схеме), — здесь появляется опция Rule Scope Helper. В нашем случае надо добавить галочку Thru-hole Pads.
Проверку размещения КТ в режиме онлайн в Tools/Design Rule Check лучше включить, чтобы сразу контролировать зазоры между КТ и корпусом ЭК, и между КТ и краем ПП. Включать режим онлайн надо именно для правила Assembly Testpoint Style.
Для управления КТ в топологии удобно использовать менеджер тестовых точек Testpoint Manager (в меню Tools). Описание интерфейса можно почитать тут.
Аналитические данные о выполненном матричном тестировании
Для тестирования мы используем: тестовый стенд (в составе одного корпуса), программатор ST-Link/v2, внешний имитатор системы управления (коммутатор выходов), вольтметр с внешним управлением, лабораторный источник питания, ПК с Windows 10 и принтер клейких этикеток.
Алгоритм тестирования включает:
— диагностику системы,
— получение версии ПО имитатора,
— подачу питания и проверку напряжения и тока потребления,
— прошивку серийного номера,
— блокировку серийного номера,
— прошивку загрузчика,
— получение версии ПО загрузчика,
— прошивку основной программы,
— получение версии ПО основной программы,
— прошивку базовых калибровочных таблиц,
— проверку питаний,
— проверку линий управления,
— проверку включения и выключения питания нагрузки,
— калибровку напряжений смещения фазовращателя,
— повторную прошивку калибровочных таблиц,
— проверку калибровки модуля,
— печать этикетки.
Заключение
В результате тестирования 1020 плат «Черника» мы отбраковали 77 плат. 44 из них не могли выполнять свои функции из-за ненадлежащего питания. Как выяснилось, проблемы были связаны с источниками питания, которые поставлялись двумя отдельными партиями. На всех отбракованных платах были установлены источники, принадлежащие исключительно к одной из партий. Проведенный нами анализ показал, что все эти источники во время как минимум одного теста демонстрировали недопустимые отклонения от параметров, заявленных производителем.
Также было выявлено еще 33 дефекта, в том числе короткие замыкания, плохая пайка и др. Общий процент брака составил 7,55%, что является хорошим показателем для опытной партии. Результаты тестирования каждого изделия сохраняются в базе, что позволяет довольно точно выявлять причины сбоев.
Подготовка проекта ПП «Черника» к матричному тестированию была выполнена на заключительном этапе разработки топологии, что создало трудности при добавлении контактных площадок. Размер КП был выбран недостаточный (1х1мм), в результате наблюдались проблемы с контактированием, когда пого-пины попадали мимо КП. Доля таких сбоев незначительна.
В следующем нашем проекте с использованием матричного тестирования мы заложили КТ заранее. К базе данных стенда теперь можно подключаться удалённо. Прошивка стенда имеет защиту и поддерживает профили с разным уровнем доступа к настройкам, поэтому стенд может быть размещён на удалённом контрактном производстве, что мы успешно проделали в Калининграде. Но об этом в отдельной статье.
Комментарии (16)
sergey_zorin
24.10.2018 14:05"Для надежного размещения ПП на МТ плата должна иметь не менее трех отверстий для позиционирующих контактов"
Ну это вы роскошно живете. Часто и для одного отверстия нет места и позиционировать приходится по внешним габаритам или даже по компонентам.
И да, в следующий раз не тратьтесь на Ingun — заказывайте механику у нас. И дешевле и лучше получится. Мы можем всякие мудреные делать.
unalacuna
24.10.2018 14:40-1Обязательно закажем, для следующего подходящего устройства.
А мы в свою очередь можем в тестовый софт, имитацию внешнего управления, автоматизацию измерений и в поддержку всего этого удалённо. Обращайтесь )krdmitry
24.10.2018 14:50Мы также можем предложить:
* оснастку аналогично предложению Сергея, но в СПб и с документами;
* при необходимости — электронику и управляющий софт для MCU и PC (Qt/PyQt).microtrigger
24.10.2018 14:54Все все могут, но те кому нужно молчат)))
Нет что бы показать не как и что вы можете, а как сделать эффективно и дешево, так сказать в экономическом тренде.
Eva2018 Автор
25.10.2018 00:01Статья нацелена на подготовку проекта платы к тестированию. Стоит постараться разместить на плате 3 отверстия для позиционирующих контактов перед трассировкой. При высокой плотности монтажа и трассировки платы возможно позиционирование по внешним габаритам или компонентам, но, согласитесь, это нелучший вариант? С какими сложностями Вы сталкивались при позиционировании по внешним габаритам и компонентам?
lelik363
24.10.2018 20:48+1Исходя из чего выбирались точки тестирования и их количество?
Использовался ли Boundary Scan?
Что будите делать, когда источники из первой партии закончатся?asmolenskiy
25.10.2018 00:42Комплект для BS в то время когда лично я им интересовался (году эдак в 2010) стоил дай Б*г памяти — 60к евро.
Это единорог. Я не знаю ни одного производителя, который бы его внедрил. Хотя несомненно кто-то наверняка внедрил с другой стороны.
Хотя штука прикольная, я видел как оно работает. К нам приезжал торговец из Питера (Алексей И. вроде, ЕМНИП) и мы ему подсовывали плату с короткими замыканиями и поднятыми ножками на памяти. Работает. Он за день до этого получил нетлист и в принципе я так понимаю в поезде собрал тестовые вектора под нашу плату.lelik363
25.10.2018 07:55В некоторых компаниях используется (по словам сотрудников) и показывает высокую эффективность, особенно, в сочетании с flying probes. Почти 100% покрытие платы тестами и, соответственно, выявление брака, если он имеется.
aleks_proj
26.10.2018 12:51В живую видел, как происходить BS c летающими пробниками в не большой конторе в 2006. И действительно количество бракованных изделий у фирмы упало после закупки такого оборудования.
Ioanlarionov
25.10.2018 11:14Дело не только в цене. У нас большая часть разрабатываемых устройств на STm Cortex, по словам Keysight — протестировать их оборудованием не выйдет. Плюс к тому, BS полного покрытия не даёт, а летающих щупов почти нигде у контрактников нет.
givcha
26.10.2018 12:48+1Конечно, ни один из тестовых методов не может дать 100% покрытия. Полнота покрытия достигается только грамотной комбинацией нескольких методов и разумным компромиссом. Boundary Scan как таковой не может протестировать питающие цепи, это надо делать при помощи внешнего тестера. Однако, если вывести все питающие шины на контрольные точки или разъемы, то современные JTAG-контроллеры могут выполнить измерения напряжений (а также частот)(делаться это будет не технологией BScan, конечно, а АЦП и ЦАП встроенными в контроллер, управляющимися из единой программы).
STm или что иное — не важно, тестирование идет не в функциональном режиме, по стандарту 1149. У вас, наверное, слишком простые изделия? А вот представьте плату с сотней-другой NAND-флэш-микросхем, где все шины находятся в слоях и нет возможности вывести их наружу. Поиск неисправности (например, всего одной из NAND) на таком изделии может длиться месяц в ручном режиме. BScan локализует неисправность за минуту. Оговорюсь, если речь идет о коротком замыкании под корпусом микросхемы BGA, то достаточно долей секунды. А вот, для обнаружения непропайки может понадобиться и несколько минут, если речь идет действительно о сотне микросхем NAND. Ни один из других методов здесь просто не подойдет. Если, конечно, у вас нет своодного месяца на отладку.
Ioanlarionov
25.10.2018 11:21- Количество точек тестирования выбирается исходя из Методик тестирования и калибровки. Плюс питания на всех этапах преобразования.
- Нет, он нам не подходит.
- Брак отгружен поставщику, взамен получены исправные источники. В будущем планируем действовать так же.
Misaka10032
Такой вопрос — а во сколько примерно обошёлся указанный в статье тестер? Я про то, за сколько его купили, без учёта трудозатрат на доработку под конкретную железку.
unalacuna
Около $2000 за комплект, не считая приборов.