Вот о чём мне никто не сказал, пока я не проработал четыре года фрилансером в качестве hardware-инженера: библиотека компонентов и грамотное управление ею — это настоящее узкое место в проектировании печатных плат.
Дело не столько в разработке схемы или даже в трассировке PCB. Всё упирается в компоненты, их доступность и пригодность.
Я, как и другие инженеры, тратил часы, а то и дни на поиск нужных разъёмов и штыревых колодок в библиотеке, потому что мы не знали, какая версия правильная.
У меня бывало, что платы задерживались на недели из-за того, что у резисторов, конденсаторов и других пассивных компонентов был неверный номер детали производителя, отсутствовали складские остатки или они были EOL. Я также сталкивался с ситуациями, когда уже в процессе расчёта стоимости микросхема в инструменте управления BOM внезапно оказывалась в статусе NRND или EOL.
Эти проблемы отнимают огромный объём времени даже после завершения трассировки PCB. К сожалению, с учётом количества компонентов в любом BOM такие ситуации возникают с высокой вероятностью; это не редкие исключения.
В этой статье мы рассмотрим лучшие практики по созданию и поддержке централизованных библиотек компонентов, чтобы ваша hardware-команда могла работать быстрее и избегать неприятных сюрпризов на этапе производства.
Допустим, у вас пять инженеров. У каждого свой подход к управлению компонентами. Один инженер делает все выводы “passive”, потому что так быстрее. Другой тратит слишком много времени, доводя каждый компонент до идеала. Третий просто использует загруженные библиотеки компонентов как есть, ограничившись беглой визуальной проверкой.
Перенесёмся на два года вперёд и посмотрим на несколько проектов. В итоге вы получаете:
Часто вы не узнаёте, чего не хватает, пока не пытаетесь получить расчёт стоимости. Упустили одну мелочь — и легко можете потерять целый рабочий день.
Вот что действительно работает на практике. Есть шесть основных шагов, которые помогают выстроить надёжный централизованный процесс работы с компонентами и ловить ошибки до того, как они превратятся в задержки, переработку проекта или потерянные заказы.
Компоненты в вашей управляемой библиотеке PCB должны включать не только условное графическое обозначение для схемы. Они должны содержать:
Это ваша базовая основа. Любой hardware-проект требует этого для каждого компонента.
Для условных обозначений на схеме:
Напоминание: Ошибки сопоставления выводов в библиотеках компонентов PCB возникают, когда выводы, заданные в условном обозначении схемы, некорректно соответствуют физическим контактным площадкам посадочного места. Обычно это происходит из-за ошибок при ручном создании компонентов, неправильного чтения datasheet или копирования и модификации существующих компонентов без полной проверки.
Лучшая профилактика — это контролируемый, интегрированный процесс создания компонентов, который явно связывает выводы символа с контактными площадками посадочного места и требует проверки по datasheet до того, как компонент вообще попадёт в библиотеку.
С посадочными местами всё проще, чем с символами. Следуйте этим шагам:
На одной из моих прошлых работ старший инженер-электронщик не использовал контроль версий последовательно и дисциплинированно. Через несколько месяцев после начала проекта директор по инженерии заметил, что резистор изменился с 3 кОм на 10 кОм. У него была распечатанная схема за предыдущую неделю, где было указано правильное значение.
Вероятная причина: альтернативное схемное решение было скопировано в новый проект, а значение резистора так и не вернули обратно.
Я и сам допускал похожие ошибки в деталях проектирования жгутов. Сама схема была правильной, но две маркировки проводов оказались неверными. В таком случае схема, сохранённая в SVN, позволяет за считаные минуты откатить всё к правильным версиям.
Используете ли вы Git, SVN, PLM или облачное решение — вам нужен цифровой контроль версий и отслеживаемый процесс утверждения, связанный с вашим ПО для проектирования. Одних визуальных пометок недостаточно.
Нельзя использовать компонент в производстве или даже в прототипе, пока он не выпущен. Поэтому вот простой процесс утверждения:
Если нужно изменить уже выпущенный компонент, верните его в черновик (например, A1), снова проведите проверку, а затем выпустите как Revision B.
Пример нумерации версий:
Правило: всегда оставляйте понятный комментарий с объяснением ключевого изменения. Не просто “updated part”, а, например, “Changed pin 7 type from unspecified to power because DRC was failing on Sheet 4.” Через полгода кто-то обязательно задастся вопросом, зачем вы это изменили, и может попытаться откатить правку. Комментарии помогают этого избежать.
Наличие стандартного процесса утверждения делает всё быстрее и надёжнее.
Назначьте чёткие зоны ответственности:
Указывайте имя ответственного в информации о компоненте. Если у кого-то возникнет вопрос по STM32, будет сразу понятно, к кому обращаться.
В компаниях с десятками тысяч компонентов значительную часть управления библиотекой обычно поручают одному инженеру, а при необходимости подключают дополнительных людей. Тогда PCB-дизайнеры могут сосредоточиться на трассировке, инженеры-электронщики — на схемотехнике, а hardware-инженеры — на системной интеграции.
По мере роста компании у вас может появиться даже отдельный сотрудник на полную ставку — “человек по библиотеке”. Всё проходит через него, и благодаря этому библиотека становится более единообразной и предсказуемой.
Вам нужно одно место для хранения всех моделей компонентов (посадочных мест PCB, условных обозначений схем, 3D-моделей и т. д.). Не на локальных ноутбуках и не по случайным папкам.
|
Вариант |
Описание |
Плюсы |
Минусы |
|
Сервер компании |
Общий сетевой диск с Git/SVN для контроля версий |
- Полный контроль над данными и инфраструктурой - Нет ежемесячных расходов на облако - Быстрый доступ на месте |
- Удаленный доступ может быть затруднен - Проблемы с VPN и неудобства с подключением сетевых дисков - Вы отвечаете за резервное копирование и обслуживание |
|
Облачное хранилище |
Централизованная облачная среда для библиотек |
- Доступ откуда угодно - Нет проблем с VPN- Автоматическое резервное копирование - Синхронизация в реальном времени |
- Постоянные расходы на подписку - Требуется подключение к интернету - Меньше прямого контроля над безопасностью, если не оплачивать более высокие тарифы |
Распространенная стратегия: инженеры работают с локальной копией библиотеки компонентов, вносят изменения, проверяют компоненты в реальных проектах, а затем отправляют обновленные компоненты обратно в центральный репозиторий с контролем версий. Работа напрямую с сетевого диска возможна, но может вызывать проблемы с производительностью ECAD.
Совет профессионала: Использование централизованной библиотеки снижает количество ошибок, поскольку вся команда разработчиков аппаратной части получает данные из одного и того же утвержденного источника. Это гарантирует, что каждый инженер в вашей команде использует одни и те же утвержденные условные обозначения компонентов и посадочные места.
Ориентируйтесь на следующие функции:
Если ваш централизованный процесс не поддерживает это, вы будете тратить больше времени на «нянченье» с компонентами, чем на проектирование плат.
Перенос локальной библиотеки в централизованную облачную систему — это в меньшей степени ИТ-задача и в большей степени аудит качества компонентов. Прежде чем что-либо переносить, классифицируйте существующие компоненты так, чтобы было проще определить приоритет переноса. Например, по частоте использования, полноте данных или статусу жизненного цикла.
Прежде чем что-либо переносить, нужно сделать две вещи.
После этого можно начинать перенос компонентов. Часто разумнее делать это пакетами, начиная с наиболее часто используемых компонентов, а не переносить всё сразу.
Вот подходящий процесс добавления любого нового компонента в вашу централизованную библиотеку:
Если делать это последовательно, вы избежите многих неприятных сюрпризов в будущем.
Для альтернативных компонентов:
Если вы действительно не можете найти альтернативу, потому что компонент уникально подходит:
По возможности также рассматривайте альтернативные схемотехнические решения, которые выполняют ту же функцию с другими компонентами. Это становится частью вашей библиотеки повторного использования проектных решений.
Практичный график обновлений:
Во время обновлений задавайте вопросы:
Если вы используете компонент, снятый с производства два года назад, и узнаете об этом только на этапе заказа, вам, возможно, придется переделывать проект или рисковать, покупая у сомнительных поставщиков.
Подключение централизованной библиотеки к данным дистрибьюторов или базам доступности позволяет видеть, когда запасы компонентов начинают сокращаться, еще до того как вы окончательно решите их использовать. Реалии цепочки поставок напрямую влияют на сроки разработки аппаратуры.
Когда у вас уже есть надежная система библиотек компонентов, определите права доступа:
Типовая модель разрешений:
Если команда небольшая, всё это может лечь на одного-двух инженеров, но как можно раньше стремитесь к проверке несколькими людьми.
Корпоративные инструменты централизуют библиотеку компонентов, чтобы все использовали один и тот же проверенный источник, со встроенным контролем версий, благодаря чему все изменения отслеживаются и могут быть отменены. Права доступа затем определяют, кто может просматривать, редактировать и выпускать компоненты.
Да. Если они работают над одним и тем же продуктом, им нужна одна и та же информация, особенно при более интегрированных процессах ECAD–MCAD.
Используйте корректные права доступа, контроль версий и процессы утверждения. Многие централизованные системы могут блокировать выпущенные файлы. Если ваша система этого не умеет, настройте права доступа к файлам на сервере.
Добавляйте новые компоненты еженедельно, выполняйте массовые обновления ежемесячно, проводите обновления после проектов каждые шесть месяцев и делайте полное обновление ежегодно. Либо вы платите эту цену сейчас, либо позже заплатите больше.
Поймите причины, но в идеале работайте с подрядчиками, готовыми использовать вашу библиотеку, или интегрируйте их библиотеку в вашу экосистему.
Задокументируйте это как риск. Если возможно, создайте резервное схемотехническое решение и внимательно отслеживайте складские остатки.
Том Хаушерр однажды сказал мне на встрече: «Трассировка PCB хороша ровно настолько, насколько хороша ее библиотека компонентов». Когда у вас появится централизованная библиотека, вы будете удивляться, как вообще раньше работали без нее.
Имея надежную систему, вы сможете управлять компонентами PCB, получать актуальные данные по цепочке поставок и иметь доступ к миллионам готовых к использованию компонентов — и всё это в одной защищенной библиотеке компонентов PCB. Если вы хотите применить эти лучшие практики на деле, посмотрите, как это выглядит на практике, с Altium Develop.