Как стать автором
Поиск
Написать публикацию
Обновить

Разработка сложных процессорных систем на примере модуля SMARC. Заключение

Уровень сложностиСложный
Время на прочтение8 мин
Количество просмотров8.4K
Всего голосов 47: ↑47 и ↓0+67
Комментарии18

Комментарии 18

Полагаю, инфа может показаться полезной для новичков.
При скрайбировании зазор между платами заготовки должен быть нулевым.
Каждая линия скрайбирования должна быть прямой и непрерывной через по всей мультипликации.
Технологические поля для "захвата" - большинство монтажников просят 5 мм.
Ещё один вопрос, иногда оказывающийся актуальным.
Для дальнейшей мультипликации очень полезно размер контура печатной платы делать кратной целому числу миллиметров. В крайнем случае, полмиллиметра, или даже одной десятой, когда совсем туго.
Когда начинается разводка платы сложной формы, контур которой получен не рисованием в сетке, а из какого-либо конструкционного акада, важно точно выравнивать принятую "начальную точку" на кратность нулю координат. Если я правильно понимаю, это не всегда выполняется автоматически. Если я правильно понимаю, компенсация этой "какой-попалости" по завершению разводки и мультипликации заготовки может вызвать проблемы.
Кто в курсе, подскажите, пожалуйста. Возможно, последнее замечание - одна из причин, почему производители печатных плат меняют относительные положения разных печатных плат в мультиплицированных заготовках. У меня было полу-шоковое состояние, когда мы столкнулись с этим в первый раз. Но монтажники печатных плат говорят, что это больная тема, в последние годы такое встречается очень часто, счёт якобы на многие десятки случаев у разных заказчиков. Может быть, тут кто-нибудь озвучит истинные причины такого явления?

Спасибо, отличное дополнение!

Я, например, не встречал такого (меняют относительные положения разных печатных плат). Это очень странно. А можно пример как было и как стало, для наглядности?

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

Но суть вносимых производителями в мультипликации изменений в том, что "чуть-чуть" смещается положение одной платы относительно другой, или, для всего массива плат по какой-либо оси, X, или Y. Т.е., например, все платы после первого ряда снизу "чуточку" синхронно сдвинуты. Это приводит к тому, что изначальная маска паяльной пасты в такой мультиплицированной заготовке оказывается непригодной к использованию. В то же время, маска – один из файлов единого пакета разработки. Проблема решается присылкой производителем актуальных файлов, по которым производилось выполнение заказа.

Сам сдвиг – порядка десятых долей миллиметра, может быть, более полу-миллиметра. "На глаз" это почти незаметно, необходимо прикладывание маски паяльной пасты к мультиплицированной заготовке. Впервые мы с таким столкнулись года 4 (или 5) назад, всего сталкивались раз пять (из широкой номенклатуры, под сотню позиций). Многие другие производители по отзывам местных монтажников – тоже регулярно.

Я неоднократно просил производителей назвать причины, почему они такое делают. Хотя-бы, чтобы самим учитывать и сразу делать правильно. Ни разу ответа не было. Может кто знает ответ?

Очень интересный факт. Я такого точно не встречал.

Не может это быть какая-то проблема в сетке или габаритах платы? Например, у Вас плата шириной 30,25мм, а производитель округляет до десятых.

Раза три заказывал серии, лет 15 назад. Первую установочную - в Новосибирске, на PS-elеctro. Предсерийную и серийную - в Зеленограде, на Резоните. Мультипликацию они оба делали сами. Когда первая партия с Резонита приехала с неотсверлованными перемычками - прифигел. Ну ладно, пару сотен как-то оприходовали. На серийную тысячу - обратил их внимание. И - ни фига. Научились ли они за это время?

С фрезеровкой проблем не было ни разу. Были платы (ни раз) где недоделано скрайбирование, вот это засада)

Посматриваю канал https://www.youtube.com/@AltiumAcademy
Там толковые советы попадаются.
Вот один из них всегда соблюдаю. Если плата часто бывает в руках персонала, габаритная, извлекается, переносится в течении эксплуатациия, ставится в непонятные места, то по контуру делаю обводную дорожку или полигон. Это уводит статику от пальцев и разъемов мимо микросхем на плате.
Еще припомнил момент. Когда ставим микросхемы с микропотреблением или есть линии на плате с высоким импедансом (линии кварцев, и прочие тактирующие линии) надо думать о фотоэлектическом эффекте. На ярком свете процессоры, кодеки и т.д. просто могут не запуститься. Подозреваю свойства текстолита или маски тут имеют значение, и сама прозрачность корпусов микросхем.
Кстати, еще есть байка про гелий, выделяемый медицинскими аппаратами, и его влияние на MEMS-ы, т.е. всякие микросхемы акселерометроы и гироскопов.

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

Обязательно посмотрю, спасибо!

На самом деле нюансов по разработке очень много. Особенно когда дело касается сертификации с испытаниями. А еще лучше с военной приемкой). Тут можно целую книгу написать.

Хорошее сравнение с программированием, но цена ошибки при разработке плат - это новая итерация платы со всеми вытекающими.

Попадалось уведомление в DS на COG дисплеи, что внешнее видимое излучение (фото со вспышкой) может вызывать нарушение работы контроллера.

Ну и диоды в стеклянных корпусах DO-35/SOD-80 и т.п.

Интересно. Почитаю на эту тему.

Для трассировщиков очень полезное обучающее видео. Тренинг Рика Хартли. Кто не видел - очень рекомендую.
https://www.youtube.com/watch?v=c-VAPqNBDRU
Земля в печатных платах Слои, компоненты, секции, питание и переходы

Спасибо за видео! Посмотрю.

Прокладывание "земли" между дорожками изменит волновое сопротивление проводников, так как часть возвратного тока потечет по нему. Лучше всего делать только зазор от "агрессоров", причем считать его не как 2W проводника, а как 2-3H диэлектрика между дорожкой и опорным полигоном.

Не изменит, если учитывать зазор. Согласен с Вами по поводу 3Н (писал об этом в прошлой статье), но это не всегда достижимо, особенно на 2-х слойных платах с плотной разводкой.

Добрый день, Евгений! Спасибо за данную серию статей! Есть несколько вопросов:

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

Вопрос 2:
Производитель RK3568 предоставляет документ Package PinLength с указанием длин для выводов процессора внутри корпуса. Учитывали ли вы эту длину при выравнивании длины дорожек?

Вопрос 3:
Вы упоминали в первой статье о возможности размещения переходных отверстий под контактными площадками элементов, но данное решение вами не использовано для площадок под процессором и под eMMC. К примеру в вашем случае некоторые интерфейсы можно было перевести на другой слой сразу с пятака под процессором (USB3.0, SATA, PCIe). И вывести сигнальные линии eMMC с другого слоя под соответствующими пятаками eMMC, а не возле самой микросхемы. Для этого была какая-то причина?

Вопрос 4:
Действительно ли в реальности получится импеданс близкий к 40Ω?

Я вбил ваши параметры стэка (см. ниже) в калькуляторы и получил импеданс одиночного микрополоска 56,31Ω в SaturnPCB, 57,81Ω в SimPCB, 59,53Ω в KiCad.
Ширина дорожки: 0,102 мм;
Толщина дорожки: 0,018 мм (указал не 0,012 мм, потому что в saturnPCB выбрать можно только 0,018 или 0,009 мм, и при уменьшении толщины импеданс только увеличивается (еще дальше уходит));
Толщина диэлектрика: 0,0737 мм;
Диэлектрическая проницаемость: 4,1;

В даташитах на eMMC имеданс по умолчанию 40Ω. Для DDR4 рекомендация SE/Diff = 40/80Ω. Хотя встречал и 45/82Ω и 50/100Ω. Вы в таблице указали импеданс 40Ω на первом и последнем слое. Все логично. Но результаты калькуляторов не дают мне покоя.

Вопрос 5:
На вашей плате этого не видно, но многие производители данного модуля выводят eDP от RK3568 в DP SMARC разъема. Возможно и вы так сделали. Если да, то чем подкреплено данное решение? Сам я с данным интерфейсом не имел дел и мою неуверенность подкрепляет факт того что выводы процессора не подписаны "eDP/DP" или "DP", а подписаны именно "eDP", хотя DP и eDP совпадают пин в пин. И в SMARC спецификации есть отдельно eDP и отдельно DP.

Еще раз СПАСИБО!

Добрый день!
Ваши вопросы просто отличные!
Вы очень внимательный читатель!

  1. Отверстия необходимы. Дальше все зависит от ряда критериев.
    Есть несколько причин, ухудшающих сигнал и все зависит от того, на сколько сигнал будет ухудшен.
    Если линии длинные, опорный слой плохой, уехало волновое и т.д., то отсутствие переходных может еще больше усугубить ситуацию.
    У меня есть платы, разработанные 15 лет назад, в которых много чего не учтено, которые прекрасно работают, но нужно делать правильно.
    К сожалению все учесть чаще всего не получается, как минимум из-за нехватки места.
    Если по результатам тестов будут проблемы на интерфейсах, то придется ставить глухие переходные чисто для земли рядом с переходом в другой слой диффпары, так как другого варианты просто нет - все очень плотно.

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

  3. Стараюсь не ставить переходные на пады. И тут до последнего не ставил. Исключение сделал только для питания около PMIC. Когда места действительно мало, то другого варианты нет и приходится ставить.

  4. Тут ошибка в таблице, на что мне указало производство). У них получилось 49,17 Ом, что соответствует действительности. В Hardware_Design_Guide, кстати, тоже 50 Ом для одиночных проводников DDR. Так как трассировку DDR я перенес из референса, то ошибки не получилось в разводке, а вот если бы производство не обратило на это внимание (сделав 40 Ом) могли бы быть проблемы. Для остальных одиночных у меня указано 50 Ом.

  5. Да, тут eDP на разъеме. Все просто. Выводы SMARC, куда можно вывести eDP у меня заняты LVDS, DSI и HDMI. Так как стандарт (и процессор) позволяет вывести все эти интерфейсы, то для eDP остается место только в DP.

Мой Вам респект за вопросы!

Добрый день!

В Hardware Design Guide есть рекомендация по экранированию тактирующих одиночных линий - на всей длине окружить землей и VIA в интервале 300 mill. У Вас я не увидел подобного набора VIA кроме как в разводке DDR. На модулях другого производителя тоже не могу разглядеть что-то напоминающее такие линии. Из этого появился вопрос: Проводили ли Вы дорожки на внутренних слоях под DDR, например для тактирования GMAC (за опорными слоями), на третьем или шестом слое между уже существующими землеными VIA? На сколько это вообще работоспособное решение проводить тактирующие линии друг под другом на разных слоях разделенных общим опорным слоем?
Вижу у вас отдельное питание для DDR, так что верятно у вас только один свободный слой останется под ней, и то, наверно если один из опорных слоев будет полигон питания DDR.

А еще в стандарте SMARC прописано какие линии подтянуты к питанию, а какие к земле. Получилось ли у Вас выдержать это требование? Лично у меня не везде совпало. Например в VCCIO5 домене, одна из альтернативных функций на пине AC4 - UART5_RX_M1 и указана подтяжка "_d" на функции GPIO3_C3_d. А вот SMARCv2.1 говорит, что RXы uartа притянуты к питанию через 100k. Тут со SMARC не поспоришь и высока верятность, что в этом режиме и сам RK3568 переведет пин в третье состояние (кто будет тянуть свой вход uart`a к земле?). Но с некоторыми GPIO такая же проблема - после распределения всех сигнальных интерфесов остаются выводы (например в VCCIO6 с АС5 по АА5 [PD]), которые не совпадают по подтяжке SMARС (их бы отдать на GPIO7-GPIO11 [PU]). Либо их вообще не выводить и оставить SMARC вывод пустым, либо вывести и надеятся, что "никто не заметит"?

Добрый день.

Да, экранировать необходимо. К сожалению я мог это сделать только глухими отверстиями, если делать по уму, на обычные места не было. Под DDR вел только пару проводников и то глубоко в слоях (4 слой) - остальное в обход. И так, чтобы не зацепить переходные от DDR (в GND).

У меня тоже не везде получилось соблюсти. Подумал на второй итерации сделать подтяжки просто для необходимых пинов (тут нужно еще подумать насколько это корректно будет). У меня тут косяк вышел, я один I2S вывел с уровнями 3,3В, вместо 1,8В, так что нужно все равно переделывать.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий