12K подписчиков

DFM, DFMA, DFA. Часть 2. Приложение от NextPCB для ПК

132 прочитали

В предыдущей статье мы познакомились, пусть и очень кратко, с тем, что такое DFM. И посмотрели, как работает и что может предлагаемый NextPCB Online Gerber Viewer. Сегодня мы познакомимся с более функциональным приложением DFM Analysis Tool, которое устанавливается на ПК. Посмотрим, чем оно отличается от NextPCB Online Gerber Viewer. Для этого будем использовать те же самые наборы gerber файлов, что и в предыдущей статье

При этом мы коснемся только части всех возможностей приложения.

Установка и первый запуск

Скачать программу установки можно со страниц:

Причем сразу видно, что программа только для Windows. Для большинства читателей это не будет являться проблемой, но для тех, кто использует Linux, это не самая радостная новость. Но не будем забегать вперед. Никаких других системных и аппаратных требований не указано. Программа установки скачивается в виде архива HQDFM_en.zip, внутри лежит единственный exe-файл, собственно установщик. Установка проста и стандартна, так что не имеет смысла рассматривать ее подробнее. Причем установка проходит без ошибок и в Windows на реальном ПК, и в Linux под wine, и в Windows запущенной на виртуальной машине VirtualBox под Linux.

А вот дальше все не так легко и просто... Для пользователей Linux у меня плохие новости. Под wine программа сразу после запуска вылетает с ошибкой. Причем это не зависит от разрядности (32 или 64) и версии wine. Но под wine работают не все Windows программы, так что результат нельзя назвать совсем неожиданным. Под VirtualBox, если поддержка 3D отключена, программа при запуске сообщает о проблеме с OpenGL, но сообщение об ошибке можно закрыть. HQDFM даже пытается работать, но после любого действия окно с изображением печатной платы замирает на пару минут. Если включить поддержку 3D, то программа запускается без ошибок, но вот окно с изображением печатной платы всегда остается пустым.

Программа HQDFM не может работать под Linuх. Ни под wine, ни под VirtualBox, ни под QEMU/KVM. Возможно я проявил недостаточную настойчивость, но приходится констатировать, что для запуска программы нужен реальный ПК с Windows.

Впрочем, и на реальном ПК все может оказаться не таким простым. Я нашел два полноценных ПК. Один уже довольно старый, без отдельной видеокарты, с 64-битной Windows 7. Второй довольно новый, с видеокартой NVIDIA, с Windows 10. Под Windows 7 программа работать отказалась, выдавая сообщение об ошибке как и под wine. А вот под Windows 10 все работало, как и положено.

Для работы с программой HQDFM нужен полноценный ПК или ноутбук, причем относительно новый, желательно с экраном FullHD или лучше, работающий под Windows 10. Работа под Windows 8 не проверялась, просто не нашлось ПК с этой версией. Поэтому все примеры в сегодняшней статье подготовлены с использованием Windows 10. Уверен, что для многих (большинства) это не будет являться проблемой.

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

Для работы с программой HQDFM необходимо зарегистрироваться
Для работы с программой HQDFM необходимо зарегистрироваться

Это окно можно закрыть, но при попытке загрузить gerber файлы оно снова появится. Поэтому для работы с программой необходима учетная запись NextPCB. Регистрация простая, мы не будем ее рассматривать.

Спам не шлют

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

Окно программы, gerber файлы пока не загружены
Окно программы, gerber файлы пока не загружены

Окно программы состоит из трех основных частей. В центре расположилась самая большая область. Здесь будет отображаться наша печатная плата. Слева будет отображаться список слоев и компонентов (если мы загрузим BOM файл). Справа расположился список выполняемых проверок и результатов проверки. Мы уже видим отличие от NextPCB Online Gerber Viewer - здесь список проверок выглядит куда более информативным. А как мы скоро увидим, он и более функциональный.

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

Gerber файлы загружены, но анализ пока не выполнен
Gerber файлы загружены, но анализ пока не выполнен

Кроме платы мы теперь видим и заполненный список слоев, каждый слой соответствует своему файлу. В правой части экрана видно количество медных слоев и размеры платы. А внизу справа даже даже стоимость заказа 5 плат (и можно сразу разместить заказ, для этого и требуют регистрацию), но нас сегодня это не интересует. Зато в левом верхнем углу платы теперь видно заданную нами в KiCad точку начала координат, чего не было в NextPCB Online Gerber Viewer.

Работа со слоями

Работа со слоями не стандартная, поэтому рассмотрим это подробнее. Одиночный клик по названию слоя в списке переключает его видимость в области отображения печатной платы. Давайте отключим видимость слоя B.Cu, который в HQDFM называется "Bot Layer", щелкнув по нему один раз. Эффект будет таким

Изображение платы с выключенным отображением нижнего слоя меди. Здесь же видно список слоев (слева)
Изображение платы с выключенным отображением нижнего слоя меди. Здесь же видно список слоев (слева)

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

Включено отображение только нижнего медного слоя
Включено отображение только нижнего медного слоя

Мы можем рассмотреть плату достаточно подробно выбирая нужные нам слои. Но внимательные читатели заметили, что здесь нет возможности включить/выключить все слои. И они ошиблись! Здесь гораздо больше возможностей, просто для этого нужен клик правой кнопкой мыши

Контекстное меню в управлении слоями вызывается стандартно, правой кнопкой мыши
Контекстное меню в управлении слоями вызывается стандартно, правой кнопкой мыши

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

Можно рассмотреть элементы, из которых формируется "рисунок медного слоя"
Можно рассмотреть элементы, из которых формируется "рисунок медного слоя"

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

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

Если мы забыли добавить какой то gerber файл (слой) мы можем легко добавить его в любой момент. Но более интересна возможность настройки слоев

Окно настройки параметров слоев
Окно настройки параметров слоев

Здесь нет возможности сменить цвет слоя, мы уже видели, где это делается. Но тут можно сменить имя слоя и его тип. Я выбрал слой "Top Silk", который программа определила как слой шелкографии, в полном соответствии с gerber файлом. Мы можем сменить тип слоя, например, на "Signal", что соответствует слою меди, или на "Solder Mask", что соответствует слою маски. "Attribute" позволяет указать, размещается ли слой на плате физически (board) или является вспомогательным/служебным (misc). Все это касается только просмотра печатной платы и ее анализа, сами gerber файлы не изменяются.

Работа с изображением печатной платы

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

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

Элементы управления масштабом и расположением изображения в области отображения печатной платы
Элементы управления масштабом и расположением изображения в области отображения печатной платы

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

Элементы управления выделением элементов в активном слое
Элементы управления выделением элементов в активном слое

Различие между способами выделения не совсем очевидно, поэтому давайте посмотрим внимательнее

Различие в работе способов выделения
Различие в работе способов выделения

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

Различие в работе более сложных способов выделения
Различие в работе более сложных способов выделения

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

Но это еще не все возможности. Даже возможности включения выключения слоев, изменения их цвета, выделения элементов, не всегда позволяют хорошо рассмотреть плату. И тут нам на помощь приходит возможность изменения режимов отображения. Это делается клавишей "F". Можно и через меню, но горячей клавишей быстрее. Я просто приведу различные варианты отображения

Различные режимы отображения платы
Различные режимы отображения платы

Если же хочется посмотреть более реалистичный вид платы, то можно нажать кнопку "Real View"

Режим "реального отображения" печатной платы. Плату можно посмотреть, но работать с ней в этом режиме нельзя
Режим "реального отображения" печатной платы. Плату можно посмотреть, но работать с ней в этом режиме нельзя

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

Кроме того, если плату разрабатывали не мы, то у нас будут только gerber файлы, а не полный проект, например, KiCad. Поэтому повторюсь, возможность взглянуть на плату глазами производителя полезна.

Анализ печатной платы

Но просто посмотреть, как выглядит плата глазами производителя, недостаточно. Гораздо важнее найти возможные ошибки. Напомню, мы пока используем набор gerber файлов с ошибками. Давайте вернемся в режим "CAM View" и нажмем большую зеленую кнопку "DFM Analysis" (она находится над списком слоев). Через короткое время нас уведомят, что анализ успешно завершен

В предыдущей статье мы познакомились, пусть и очень кратко, с тем, что такое DFM. И посмотрели, как работает и что может предлагаемый NextPCB Online Gerber Viewer.-16

Это окно автоматически закроется через 10 секунд. И это хорошо, так как без "ложки дегтя" и тут не обошлось. При каждом последующем анализе, без перезапуска программы, это радостное окно будет все большего размера, и даже будет превышать размер экрана! Если бы оно не закрывалось автоматически, мы просто ничего не смогли бы сделать, так как кнопка закрытия будет просто недоступна (будет за границами экрана).

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

Результаты проверки (анализа) печатной платы
Результаты проверки (анализа) печатной платы

Мы видим, что у нас и ошибки, которые показаны красным цветом, и предупреждения, показанные оранжевым. Но теперь, в отличии от NextPCB Online Gerber Viewer, мы можем увидеть и места с ошибками. Давайте кликнем по красному прямоугольнику с надписью "Check" в строке "Copper-to-Board Edge". Мы увидим окно со списком проблемных мест, связанных с данной проверкой

Окно со списком проблемных мест, связанных с выбранной ошибкой/предупреждением
Окно со списком проблемных мест, связанных с выбранной ошибкой/предупреждением

Причем здесь не только перечислены проблемные места, но и есть описание с иллюстрацией. Поэтому можно не заглядывать на страницу "PCB Capabilities". При клике по любой строке в окне "Occuremce (Click to View)" точка ошибки отображается в середине области просмотра платы. Что бы при этом масштаб отображения платы не менялся, я выбрал режим "Pan only". Само окно со списком проблемных точек можно перемещать мышкой за заголовок, что я и сделал. Это то, чего так не хватало в NextPCB Online Gerber Viewer.

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

Увеличение области с проблемным местом
Увеличение области с проблемным местом

Вот эта маленькая белая черточка от земляного полигона до правой границы и есть то самое проблемное место. Что это за ошибки мы уже достаточно подробно разбирали в предыдущей статье, поэтому сегодня повторяться не буду. Но согласитесь, что не выискивать точку по координатам в KiCad Gerber Viewer, а сразу, по клику мышкой, найти ее, гораздо легче и удобнее. Мы можем и легко найти места, которые вызвали предупреждения, а не ошибки. Давайте кликнем по по оранжевому прямоугольнику с надписью "Check" в строке "Drill to Copper"

Увеличенное изображение еще одного проблемного места
Увеличенное изображение еще одного проблемного места

К сожалению, и тут не обошлось без "ложки дегтя". Давайте попробуем разобраться с предупреждениями "Signal Integrity". Нам откроется список из 6 ошибок, но ни одно проблемное место выделено на изображении платы, по клику, не будет. Изображение платы будет перемещаться в окне, но проблемные точки выделяться не будут. Будут только выделяться границы платы. И описание с иллюстрацией не помогает, поскольку в центре области отображения нет острых углов. На самом деле, это предупреждение тоже возникает из-за вывода слоя Edge.Cuts на всех слоях, мы это уже разбирали в предыдущей статье. Только вот наглядно показать программе это не удалось.

Но давайте загрузим gerber файлы, в которых исправлена ошибка с выводом слоя Edge.Cuts на всех слоях. Так же, как мы делали в предыдущей статье. Как и в прошлый раз, ошибок не будет обнаружено, но предупреждения останутся, мы их не исправляли

Мы исправили ошибки, но предупреждения исправлять не стали
Мы исправили ошибки, но предупреждения исправлять не стали

Пропало и предупреждение "Signal Integrity", так как ошибка с Edge.Cuts исправлена. Остались предупреждения с расстоянием между медью и сверлением (крепежные отверстия), которое мы уже разбирали в прошлый раз, и расстоянием между земляным полигоном на нижнем слое меди и краем платы, что мы тоже уже разбирали.

Файл анализа DFM

При работе с программой файл отчета о проверке DFM не является таким уж необходимым, как при использовании NextPCB Online Gerber Viewer, но сформировать его можно через меню "File -> Export Analyze Report". При этом он полностью идентичен тому, что мы уже видели в предыдущей статье. А раз так, не стоит его еще раз рассматривать.

Документация и учебные материалы

Изучение возможностей программы было бы значительно проще при наличии документации. Через меню "Help -> Video Tutorial" можно найти 13 учебных видеороликов, что хорошо. Но в этих роликах нет ни текстовых пояснений, ни голосовых (пусть и на английском языке). Есть только запись работы с программой. А это уже плохо. Но гораздо хуже другое, в меню есть пункт "Tutorials -> Help Documentation", который открывает файл документации, только вот документация эта на китайском языке. При том, что путь к файлу содержит "HQDFM_en", что подразумевает английский язык. Так что документация, а она не плохая, оказывается совершенно бесполезной.

Заключение

Программа HQDFM Analysis Tool для ПК действительно гораздо более функциональна, чем NextPCB Online Gerber Viewer. При том, что ее возможности мы рассмотрели далеко не полностью. Она позволяет не только рассмотреть плату в деталях, причем с точки зрения производителя, но и найти проблемные места, причем не прибегая к другим инструментам и без использования неудачного и противоречивого файла отчета. Естественно, для исправления проблем все равно придется возвращаться к KiCad (в нашем случае). Но пользоваться программой удобно.

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

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

До новых встреч!