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

На Хабре много статей по настройке и сопровождению IP телефонии и сопутствующего оборудования. Встречаются статьи и по разработке печатных плат. Есть статьи и о том, как самому сделать печатную плату при помощи ЛУТ технологии. Например, «ЛУТ на виниле или домашняя Arduino Mini». Есть описание разных систем проектирования печатных плат: Cadence, Eagle , DipTrace или описание отдельных процессов при разработке печатных плат, таких как передача информаци из Altium в AutoCAD.

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

За основу была взята плата ЦПУ с кодовым названием «G20».

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

Когда-то давно, еще до меня, в моей фирме разработали замечательную плату, благодаря продуманной конструкции, послужившую коркой для многих устройств фирмы. Выбор остановили на процессоре Atmel ARM9 G20, в качестве ПЛИС (программируемая логическая интегральная схема, FPGA в англ. литертуре) для связи с другими платами используется Cyclone III от Altera. Cвязь между ПЛИС и ЦПУ — по параллельной шине, которая совместима с шиной памяти процессора.

Процессор работает на частоте 400 МГц, на плате установлена память две микросхемы SRAM 512Mбит через 32 разрядную шину. Также на плате установлен fast ethernet 10/100 и 2 host USB, которые могут использоваться как для загрузки программы, так и для подключения к Wi-Fi, сетевого адаптера и прочих устройств. Так же в схему заложена микросхема PRI, обеспечивающая поток Е1/Т1 на случай подключения к телефонной сети.

На плате установлены разъёмы для подсоединения вспомогательных плат. Одна плата может быть подсоединена сверху (в виде мезонина), и две по бокам. Разъёмы двухрядные с шагом 2,54 мм, с пайкой в отверстие. Их плюсом является доступность, как по цене, так и по наличию в магазине, на базаре, в закромах. Тоже касается и ответных частей. Минус — они большие, за счет большого шага между контактами у них меньше соединительных линий, компоненты с монтажом в отверстия занимают место для трассировки во всех слоях платы, а разъёмы для верхней платы разграничивают плату на три части. Монтаж в отверстия позволяет ставить разъём как вверх так и вниз. Хотя на практике все платы ставятся поверх основной.



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



Одним из таких модулей является плата GSM на четыре или восемь каналов. Съёмный мезонин позволил разработать платы на различных GSM модулях от разных фирм и выпустить платы на несколько диапазонов (GSM, UMTS, WCDMA). А так же устанавливать платы для традиционной телефонии и создания мини АТС с расширенными функциями. Есть версия с SIM банком на 100 SIM карточек.

Разнесение функций на несколько плат позволило отлаживать платы отдельно друг от друга и впоследствии выпустить усовершенствованные модели мезонинов.

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

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

Плата должна иметь больше оперативной памяти, раздельную шину между памятью и ПЛИС, возможность использования быстрых последовательных каналов для связи с платами, по возможности наличие PCIe. На этапе выбора компонентов добавились дополнительные требования: встроенный программатор для ПЛИС, два разъёма Ethernet, USB-hub, HDMI, совместимость со старыми платами. Часть интерфейсов была заложена ввиде отдельных разъёмов для подключения устройств при помощи шлейфа.



После анализа доступных процессоров выбор пал на iMX6 от Freescale. По сравнению с конкурентами на него была открыта вся документация, у него была вменяемая документация и рекомендации доступные без длительного подписания NDA, пригодный к «простой» пайке BGA корпус, «нормальная» шина памяти, поддержка плавающей запятой и ряд других преимуществ. За ядро ARM Cortex-A9, поддержку плавающей запятой и другие плюшки, голосовал не я. Таким образом, получили компромисс современных мобильных технологий и возможностей нашего производства.

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



Выбор соединительных разъёмов для боковых плат тоже являются компромиссом между желанием получить много сигналов параллельных и последовательных и ценой на разъёмы. Цена за пару которых может переваливать за 60 у.е. Решено было остановится на торцевом разъёме PCIe. В будущем это позволит сэкономить на одном разъёме в паре плат. При этом разъём удовлетворит как передаче быстрых сигналов до 3.125 ГГц, которые присутствуют в Cyclone GX.



Так как у нас нет необходимости использовать E-Ink дисплей, то на параллельную шину процессора повесили ПЛИС, дополнительно соединили PCIe шину процессора и гигабитную шину ПЛИС через высокоскоростной ключ. Теперь у нас процессор может отдавать PCIe либо в ПЛИС, либо на один из боковых разъёмов. Помимо PCIe x1 с процессора на разъёмы выведены 4 гигабитных канала на каждую сторону. В дальнейшем планируется использовать их для “быстрых” соединений.



3D моделирование внутри пакета проектирования позволяет «не закрыть» важные разъёмы другими платами.

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

Приходится искать другие пути по минимизации занимаемой площади.

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


Можно оценть различия SOIC и QFN корпусов DC-DC преобразователей. По сравнению с ними корпуса DDPAK и TO220 просто гиганты.

У Texas Instruments есть различные типы step-down DC-DC. Но современные преобразователи способны работать на более высоких частотах и требуют меньшей величины индуктивности. Если величина тока 1-2 А, то можно найти индуктивности и 12 … 18 мкГн в приемлемых по размерам корпусам. А если нужно обеспечить ток 5 А и более, то размеры индуктивности становятся слишком большими. Выбор другого преобразователя позволит перейти к индуктивностям 1 … 2 мкГн и вписаться в габаритные показатели. Причем не только по площади и высоте, но и по весу компонентов.

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


Здесь показана область земляного слоя вблизи ВЧ разъёмов внутри слоя питания на плате PCI GSM шлюза.


Вырез на внутреннем слое земли для уменьшения взаимного влияния цифровых и ВЧ шумов на плате PCI GSM шлюза.

Стоит заметить, что трассировка печатной платы для производства ЛУТом и для производства на заводе отличается.
Так же будем иметь различия в требованиях монтажа компонентов.
При малых партиях или единичном производстве прототипов требования монтажников могут быть вроде: «мне нужна плата и компоненты, если есть трафарет для монтажа SMD компонентов — давайте». Часто достаточно карты монтажа компонентов, где иногда разным цветом указано, какие компоненты куда ставить, а иногда просто указаны позиционные обозначения. Без указания точных координат. Ниже представлен кусок такого сборочного чертежа.



Если мы собираемся делать сложные платы или простые, но большого объёма, то стоит обратить внимание на серьезных контрактных сборщиков. У них есть оборудование как для монтажа, так и для проверки собранных плат. У них и требований больше. К качеству печатных плат, трафарету, компонентам и даже трассировке.

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

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

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



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


На рисунке красным показана граница открытия паяльной маски, сиреневым — контактная площадка, черным — открытие в трафарете под паяльную пасту.

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





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

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

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

У меня на выходе получается подобный файл c табуляциями.

Заголовок:

$HEADER$
BOARD_TYPE PCB_DESIGN
UNITS MM
$END HEADER

Часть с компонентами:

$PART_SECTION_BEGIN$
R303 RC0402FR-0768KL 270.00 120.30 39.10 BOTTOM YES
C580 CC0402-KR-X5R-5BB-104 180.00 38.40 88.50 BOTTOM YES
VT3 NDS331N 90.00 56.80 26.40 TOP NO

C282 CC0402-KR-X5R-7BB-104 180.00 128.10 26.20 BOTTOM YES
VS2 BZT52C-3V3 90.00 71.40 27.10 BOTTOM YES
U23 MCIMX6Q4AVT08AC 0.00 106.00 45.90 TOP NO
$PART_SECTION_END$

Координаты с репеерными знаками:

$FIDUCIAL_SECTION_BEGIN$
BOARD 42.50 8.00 BOTTOM
BOARD 177.00 8.00 BOTTOM
BOARD 183.40 113.50 BOTTOM
BOARD 183.40 113.50 TOP
BOARD 177.00 8.00 TOP
BOARD 42.50 8.00 TOP
U23 94.50 57.40 TOP
U23 117.50 34.40 TOP
U10 22.70 87.00 TOP
U10 38.70 109.00 TOP
U18 52.50 69.50 TOP
U18 81.50 98.50 TOP
$FIDUCIAL_SECTION_END$

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

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


Панель для изготовления плат газового счётчика.

После монтажа панели платы могут быть разъединены на монтажном производстве, либо легко отделены у нас. Далее идёт проверка, прошивка, настройка, корпусирование и предпродажная подготовка.

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

P.S. Для новой платы фото еще нет, так как она еще не приехала. На основе схемы новой платы сейчас делается плата в габаритах старой и без лишних наворотов в виде дисплея дорогой ПЛИС и прочего.

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

Подробнее
Реклама
Комментарии 12
  • +1
    К тому же на большой площадке может быть слишком много паяльной пасты и при расплавлении выкипающий флюс поднимет компонент боком.

    Дело не в «выкипающем» флюсе, а силах поверхностного натяжения. Когда паста на разных площадках плавится не одновременно.
    • 0
      Возможно, но мне так когда-то рбъяснили поведение микросхем, с моим первым заказом платы для QFN корпуса. Они все ышли из печи боком.
      Благо микросхем на плате было всего 10, а плат всего 5. их потом вручную феном напаяли.
      • +4
        «Надгробный камень» или «разводной мост» образуется обычно у двух выводных элементов. Как у вас поднялись QFN не представляю.
      • 0
        Вы правы, поверхностное натяжение при пайке в любом случае надо учитывать при трассировке платы, и как ведет QFN это лишь один из примеров…
      • +1
        Если не секрет, чем у Вас в приборе занимается Cyclone (IV, V?) GX. Тоже просто «коммутацией» или какая-то обработка повешена? ЦОС, может быть?
        • 0
          В существуещем приборе стоит Cyclone III. В основном он занимается просто коммутацией + небольшие конечные автоматы для работы с устройствами. Но и этой работы ПЛИС хватает. В одной версии нужно данные забирать из GSM модуля и отправлять в VoIP, в другом варианте нужно отправить на аналоговые окончания FXO/FXS. Переброска сигналов из одного GSM/обычного канала в другой минуя процессор.
          Обработкой голоса занимается ЦСП на дополнительных платах. Так оказалось проще и быстрее. Желание поднять обработку голоса внутри ПЛИС есть, но руки не доходят.
          Cyclone IV GX заложили в новую весрию платы так как иногда ставятся задачи, кторые на существуещем железе сделать невозможно. В нем изначально будет только коммутация, но уже с быстрыми каналами.
          • 0
            Быстрые каналы это PCIe? Либо какие-то специфичные для GSM?
            • 0
              То что не для GSM это точно, так как это клиентское оборудование, а не операторское. На стороне абонента такого потока данных нет.
              Скорее всего это не бует PCIe, так как под него есть ядро у Altera и у нас могут возникнуть ограничения на создание восьми параллельных PCIe в циклоне. Тут больше из серии «заложились на будущее».
        • +1
          Спасибо, отличная статья! Можете подсказать, какие есть варианты соединений между embedded процессорами. Ethernet и PCIe это ясно, но если надо собрать например с десяток CPU на одной плате и объеденить их между собой коммутируемой сетью с высокой пропускной способностью и дополнительно объеденить чем-то подобным EtherCAT для задач реального времени
          • 0
            Для систем реального времени не скажу, так как таким не занимались.
            На счет десятка CPU на одной плате: у нас стоит именно задача собирать данные с ПЛИС (в которых удобно параллелить мелкие задачи). И отдавать в один процессор. Самый недавний пример SimBank на 200 SIM карт, которые передаются в один центральный процессор. Но там данных с гулькин нос, и хватает PCI шины.
            На новой плате у нас соит многоядеерный процессор (до четырёх) с поддержкой протокла RGMII. Если задача позволяет можно использовать меньше многоядерных микросхем.
            Есть процессоры с поддержкой нескольких портов GMII/RGMII/SGMII. Через них можно соединятся напрямую без дополнительной упаковки в Ethernet. Причём можно использовать как соединение между процессорами по цепочке (кольцу), так и через внешний коммутатор типа многопортового GigabitSwitch но без PHY, так как на плате они не нужны.
          • +1
            Скажите, в какой области ваши платы используются? Телекомы? Сигнализации? Системы сбора данных?

            Мне казалось что в этих областях самоделок нет и рядом, всё захватили крупные производители, которые поставляют оборудование через интеграторов. Неужели у нас в GSM сетях востребовано мелкосерийное оборудование, со своим настроечным интерфейсом, уникальной архитектурой?
            • 0
              Телекомы?

              У нас есть оборудование для клиентов это, к примеру, GSM-шлюзы или SMS-шлюз. И нужно понимать, что в составе наших используются сертифицированные модули для работы в GSM сетях. Но есть задачи которые мы предлагаем операторам. Например проверка нагрузочной способности сети в какой-то её части. Есть желание (и движение в данном направлении) изготавливать и поставлять и другое оборудование операторам.
              Если говорить о системных заказах, о это оптимизация затрат на связь в крупных фирмах, call-центрах, диспетчерских служб. Там в связке работает шлюз(ы) + симбанк + программное обеспечение. Шлюз обеспечивает связь между сотовыми сетями, городской телефонной сетью и операторами. Оператор делает обзвон клиентов (или перезванивает клиенту в случае услуги «обратный звонок») со своего рабочего места не задумываясь какую трубку взять (того или иного оператора), а программное обеспечение в зависимости от набранного номера коммутирует не только между сотовой и городской сетью, но и выбирает свободную SIM-карту с достаточным количеством минут на ней. Сейчас очень много тарифов с пакетными предложениями, где за относительно небольшую сумму вы получите XX SMS и YY минут разговоров в день, но всё что выше извольте платить по бизнес-тарифу. Настроив лимит можно здорово сэкономить.
              Сигнализации? Системы сбора данных?
              Есть у нас решения и для сигнализаций (как на проникновение так и по параметрам напряжения, температуры и прочего) с оповещением по GSM/телефонной линии и извещением координат из GPS. Этим направлением занимается другой отдел, но основные компоненты (ПЛИС, GSM-модули, DSP и тп) используются одни и те же. Кто-то лучше (раньше) освоил одну часть — иди помоги освоить другому. Делаешь плату под свою задачу, а сможем ли мы с ней использовать устройство ZZZ в качестве модуля? Требование к универсальности усложняет задачу, но когда клиент хочет скрестить «ежа с удавом» — то мы это делаем.
              … всё захватили крупные производители, которые поставляют оборудование через интеграторов…

              с крупными производителями не всегда можно договорится на какую-то уникальную функцию в устройстве, не всегда можно пробить какой-нибудь функционал в программном обеспечении. Иногда им просто не понятно зачем это нужно. (Пример: у нас в ГОСТ схемы электрические принципиальные требуется нумерация слева-направо, сверху-вниз (с оговоркой). У них нумерация производится в основном относительно платы или устройства. И объяснить производителю ПО для трассировки печатных плат, что нужно — очень сложно. Там не понимают зачем это нужно, и не будут это делать по прихоти «всего 1/6 части суши»).
              У нас же есть директор, которого убедить проще и он поставит перед нами задачу. Мы её выполним, заедим пряником и все довольны.
              мелкосерийное оборудование, со своим настроечным интерфейсом, уникальной архитектурой?

              Настроечный интерфейс настраивается не так часто как кажется и он связывается в распространённые системы типа Asterisk или чего пожелает заказчик, оператор не видит железного ящика с нашими платами и Linux-консоли у него веб-интерфейс с которого он может позвонить/отправить SMS. Ему даже не нужно следить за балансом на картах, за него это сделает администратор или скрипт, который пришлёт отчет об использовании средств и прочего.
              Уникальность архитектуры позволяет отдать заказчику то, чего он хочет. При этом к оборудованию подключаются обычные телефонные аппараты в случае PBX-решений или VoIP аппаратура, или и то и другое в особых случаях.

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