Pull to refresh

Comments 63

DDR3L памятью нас попросили переделать под DDR4

В роботе, блин, ПЫЛЕСОСЕ???

Да... DDR4 становится дешевле DDR3L.

Только развести DDR4 существенно сложнее чем DDR3 и заводится плата не с первого раза, и дебажить её неизвестно как. А в LPDDR4 почему-то убрали фичу TEN - позволяющую хотя бы протетстировать пайку выводов.

Вот тут включается навык переиспользования: есть референс-дизайн, проверенный и рабочий. Дальше из этого дизайна выдирается то, что надо и переносится в финальный проект. Разумеется стекап и все нормы применяются ко всей финальной плате. Но такова воля заказчика -- иметь одноплатное решение.

Только развести DDR4 существенно сложнее чем DDR3

Миф и глубокое заблуждение... DDR3/DDR4 принципиально ни чем не отличаются в трассировке, особенно когда это просто один чип памяти и стоит он близко к процу. Из отличий разве что желательный переход с обычного FR-4 на материал платы типа TU-872 SLK или около того.

заводится плата не с первого раза

Если выполнить все требования из гайда и корректно спроектировать стек, то заводится с первого раза на максимальной частоте. Главное понимать что делаешь.

Если выполнить все требования из гайда и корректно спроектировать стек, то заводится с первого раза на максимальной частоте.

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

Главное понимать что делаешь.

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

С целью получения такого понимания взрослые парни проводят симуляцию на электромагнитном уровне, все это очень затратно по деньгами и времени

Мне кажется, в симуляции нет ничего такого уж запредельно затратного, обычное ПО для ПК, типа Mentor HyperLynx или Ansys SIwave. Я на своей работе уже год пытаюсь продавливать тему с обязательным моделированием ПП после трассировки, но пока не очень удачно, людей никак не хватает.

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

Mentor HyperLynx или Ansys SIwave

Ценник пытались узнавать на это дело ? Все эти затраты ваша фирма должна будет переложить на плечи своих заказчиков, а это, в активной конкурентной среде, сделать крайне не просто.

Ценник пытались узнавать на это дело?

Да, цены знаю, у моего работодателя даже есть валидная лицензия на ряд пакетов Ansys, SIwave в том числе.

Но я в первую очередь хочу сказать, что моделирование не входит в стек большинства конструкторов ПП не из-за цен на ПО (актуальный HyperLynx, например, лежит на торрентах, можно хотя бы попробовать и показать руководству результаты), а из-за отсутствия такой практики и привычки. Что-то из OrCAD, Allegro, Altium, SolidWorks стоит у каждого (кто-то покупает лицензию, кто-то "крутится"), но вот HyperLynx или SIwave я не вижу ни у кого. И это неправильно.

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

но вот HyperLynx или SIwave я не вижу ни у кого

Вы не туда смотрите просто)) Но и справедливости ради... пока вы не пытаетесь прокинуть 16 GT/s по плате на 12+ дюймов, то явной необходимости в SI и нету. Да, это хороший тон, но знаю несколько компаний (в РФ и за пределами), где проектируют сетевое оборудование и сервера, при этом SI не проводят в большинстве случаев.

Вообще выполнение рекомендаций с гайдов и наличие здравого смысла позволяет запустить что угодно с шансом 95%+ с первого раза. Отдельный случай, где без SI (в моем понимание) никак - это носимая электроника уровня айфона, где супер плотная трассировка кучи скоростных интерфейсов и можно долго скакать по граблям из-за crosstalk.

У меня сейчас интерфейсы 10 Гбит (10.3 Гбит с учетом служебной информации) и 25 Гбит (25.8 Гбит), правда crosstalk минимальный, т. к. всё аккуратно трассируется в виде дерева от процессора до PHY и далее к оптике.

Ценник пытались узнавать на это дело ?

С каких пор 50к$ за SiWave стали проблемой для компании то? Это дорого для разработки дома на коленке, но копейки для любой мало мальски адекватной компании.

Золото килограммами меряете ? Для моей компании - $50к это зарплату людям год выплачивать. Вы там на госзаказах совсем с катушек послетали ?

Мы как раз никакого отношения к гос. заказам не имеем)) Вообще если для бизнеса 50к$ на основное средство производства это много, то смысла нет в существовании данного бизнеса. По сути это годовая зп всего лишь 1...1.5 тополога, который решает задачи где SiWave это необходимость.

P.S. переходите в продуктовые компании, хватит сосать лапу в очередном "дизайн хаусе" на 10 сотрудников с учетом вахтера

Следуя Вашей логике малый бизнес весь давно пора закрыть за отсутствием смысла к существованию. Да, знаете ли, $50k это овердохрена, заработать такие средства нам дается не просто, и, если такие свободные деньги появятся, то я скорее всего приобрету еще один установщик или питателей к старому. Траты на софт - это последнее о чем приходится думать. Правильнее сказать - я бы рад потратить, да нет их.

Что означает Ваша фраза "переходите в продуктовые компании" ? У меня своя компания на 10 сотрудников с вахтером и техничкой, куда мне переходить ?

заработать такие средства нам дается не просто

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

 малый бизнес весь давно пора закрыть за отсутствием смысла к существованию

Все так, это суть капитализма. Малый бизнес или кормит большие компании, или прекращает свое существование или в супер редких случаях - начинает расти и укрупняться. Вся суть бизнеса - стать крупнее. Если для вас 50к$ на основное средство производства это много, то с укрупнением все очень плохо идет.

я скорее всего приобрету еще один установщик или питателей к старому

И все равно проиграете в цене масс продакшен сборке и логистике в Азии, что грустно конечно, но неизбежно.

Траты на софт - это последнее о чем приходится думать

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

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

Звучит как эпитафия, спасибо на добром слове.

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

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

технологические ограничения производства ПП

Смешно такое читать, когда в статье ARM SoC обычный разводят в нормах 3 mil, о каких ограничения то речь? В таких же нормах проектируют сервера на x86, например. В данном случае ограничений нет в плане технологий.

расположение выводов СнК порой бывают совершенно не "user friendly"

Может еще и существуют такие SoC, но я лично не встречал. Те же i.MX имеют прекрасный pinout для контроллер DDR, как в принципе и большинство SoC. Из откровенного треша встречал только STM32MP1, которые очень легко разводятся когда 1 чип памяти, но где разработчики не включили мозг на случай когда пользователю хочется 2 чипа... Но это прям реально редкое исключение в наши дни. Недавно разводил ASPEED AST2600, там вообще DDR4 можно развести в "2 сигнальных + 2 плейна".

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

Ну опять же миф... Гайдлайны пишут для того, чтобы любая кухарка могла спроектировать устройство со скоростным интерфейсом. Даже конкретный stackup (или даже несколько) производитель под свой чип дает всегда. По сути гайдлайны и нужны чтобы проектировать, не имея сильно глубоких знаний. Если разработчик моделирует в голове прохождение сигналом и считает на листке бумаге импеданс, то полагаю жалкие 2-3 ГГц для него даже на разминку не тянут.

Из откровенного треша встречал только STM32MP1, которые очень легко разводятся когда 1 чип памяти, но где разработчики не включили мозг на случай когда пользователю хочется 2 чипа... 

Ух сколько я с ним времени провел чтобы два чипа, да еще и компактно:

Зеркальное расположение памяти и трассировка были стянуты с открытого проекта https://www.imx6rex.com/
Зеркальное расположение памяти и трассировка были стянуты с открытого проекта https://www.imx6rex.com/

Ух сколько я с ним времени провел чтобы два чипа, да еще и компактно

Воооот, вы понимаете мою боль :)) Вообще не понятно что они курили, когда делали pinout под расположение 2-х чип в линию один за другим... Хотя возможно LPDDR3 хорошо разводится, но все же...

Смешно такое читать, когда в статье ARM SoC обычный разводят в нормах 3 mil, о каких ограничения то речь? В таких же нормах проектируют сервера на x86, например. В данном случае ограничений нет в плане технологий.

Технологические нормы Резонита видели ? Или Вы тоже "не в России" ?

Технологические нормы Резонита видели ?

А меня кто-то вынуждает заказывать платы в РФ? Достаточно не работать в оборонке и вам открывается дивный азиатский рынок. Даже PCBway умеет 3 mil, а это лоукостер китайский..

Кстати, резонит таки умеет 3 mil, но скорее всего не у себя на заводе, а делают у партнеров в Азии. В принципе никто не мешает у них заказать и HDI платы на каком-нибудь TU883, они готовы сделать - проверял.

Азиатский рынок это чудесно. Расскажите как Вы проводите таможенное оформление таких заказов ПП и в какие траты это выливается ? Или Вы заказываете "для личного использования" ? Так это до первого попадоса.

Резонит не принимает к заказу платы с ПО диаметром менее 0.3мм. Я не спроста поинтересовался у автора статьи в какие попологические нормы он вышел с этой платой. Так вот, его плату Резонит, с большой вероятностью, не примет к производству. Но так, как автор не собирается производить платы в России, то его мало колышит такое расположение дел.

Расскажите как Вы проводите таможенное оформление таких заказов ПП

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

и в какие траты это выливается

В 1.5...3 раза дешевле резонита, платы в основном 6-14 слоев. Прототипы заказываю в Резоните или PCBway, смотря какая задача. В принципе Резонит может сделать практически все, со своими приколами, но все же часто быстрее Китая/Тайваня.

Резонит не принимает к заказу платы с ПО диаметром менее 0.3мм

Вы что-то не то делаете... У них 0.45/0.2 и 0.4/0.2 via это давно уже мейнстрим, который они точно у себя на заводе делают. Могут, кстати, и меньше, но HDI в основном в Китае заказываю, это просто быстрее выходит и дешевле.

не примет к производству

Они не принимают к производству платы в случае не соответствия их возможностям, но 0.4/0.2 via они точно могут, как и 3 mil и попарное прессование и всякие backdrill и blind via, проверено лично так сказать. При чем технолог обычно указывает точное место и причину что и почему они не могут произвести. Если интересно напишите в личку - скину email их инженера с которым постоянно общаюсь, очень адекватный технолог.

Мы уже более 10 лет заказываем платы в Резоните и их техвозможности я себе представляю. В основном у нас всё достаточно крупное, но тут вот появился проект с СнК на 2000 выводов BGA с шагом 0.5, что бы выйти из-под него требуются via 0.3/0.1. Проект уже готов, я начал обзванивать производителей ПП, Резонит брать такую плату не хочет - минимум 0.4/0.2 и то по спец тарифу. Скорее всего придется отправлять в китай от физ.лица. Но как потом производить эту плату серийно - не понятно. Работа с таможней для мелкой фирмы это непостижимый гимор.

1) карго перевозчики

2) таможенные брокеры. Могут сделать правильно, могут сделать быстро/дешево (но не совсем правильно). Кто там в этих ваших печатных платах чего понимает?)

Услуги брокера делают стоимость плат (электронных компонентов) космическими - узнавал у же. Например, Importexpress берет 400 EURO за позицию. Услуги брокера имеют смысл только при растаможке товаров от 1 млн руб.

Вообще без проблем можно заказывать через российского партнера изготовление в Китае , мы постоянно так делаем, цены почти всегда (!) ниже чем в Резоните, на серию тем более, но и на малый тираж тоже (и опытные платы и мелкая серия). Никаких физлиц и прочих приключений с таможней и заключением контрактов с иностранными компаниями (только для ключевых компонентов). Резонит хорош тем что там быстрее можно сделать, ну и ещё несколько компаний которые у себя делают в РФ, часто там цена тоже конкурентная.

Мы даже иногда материал закупаем и завод его у себя держит (поставка некоторых материалов это долгая история)

Подкиньте пожалуйста контактик "российского партнера", можно в личку.

Аааа, вот 0.1 действительно не могут. Сам столкнулся с этим когда нужно было 0.25/0.1 via. Тут или Китай/Тайвань напрямую или через конторы посредники. Всём советую первое, ибо работать с таможней ИПшнику не очень сложно, достаточно один раз пройти по кругу эти приключения.

Не факт. У нас парень первый раз в жизни разводил DDR и сразу 4ый + Zynq MPSOC. Все завелось и прекрасно работает с первого включения питания, даже в таймингах не пришлось руками копаться.

У меня более старая модель этого робота, но он успешно построил карту квартиры своим лидаром (с Нарнией за зеркальной дверью шкафа), и при уборке наносит на нее фотографии разбросанных тапочек (с пометкой "85% вероятности, что это обувь"). Функция игнорирования какулей тоже заявлена (не проверял). Блокчейна вот только нет, так что на электричество себе не зарабатывает.

но в результате мне потребовалась неделя, чтобы заставить камеру работать.

Вы хотите сказать, что за неделю освоили премудрости написания драйверов на Линукс?

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

Скажите пожалуйста, сколько слоев металлизации у Вас получилось и в какие топологические нормы удалось вписаться: размер переходного, мин ширина проводника, зазора, пояска ПО. Где изготавливали прототип печатной платы ? Так же интересует как Вы устанавливали СнК NXP IMX8M - самостоятельно или отдавали на производство ?

Ну и совсем нескромный вопрос - во сколько обошлась лицензия на САПР OrCAD Allegro в комплектации позволяющей разводить DDR4 ? На сколько я помню, пару лет назад, там одно рабочее место стоило от 1 млн руб. Спрашиваю потому, что занимаемся подобными вещами, используем САПР KiCAD по причине отсутствия возможности приобрести полную лиценцию на OrCAD - заказчики совершенно не понимают почему они должны платить "огроменные деньжища" за проектирование таких плат, ведь RPi4 стоит сущие копейки.

PS: За проделанную Вами работу - респек и уважуха. Дело это очень тяжелое, нервное и пожирающее время.

Процессорный модуль: 6 слоев. Дизайн модуля доступен онлайн: https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/evaluation-kit-for-the-i-mx-8m-plus-applications-processor:8MPLUSLPD4-EVK

Несущая плата: 6 слоев, все нормы унаследованы из процессорного модуля (трассы до 3mil, зазоры до 3mil, все идет из правил на диффпары)

Переходки везде 0.2мм, никаких слепых, никаких микровиа, все бюджетно, изготавливали в Китае через фирму с которой сотрудничаем много лет. Насчет производства: сейчас мне точно никто не поверит: у нас свое производство, сами собираем все что на всех фото в статье.. Но это не в РФ.

По лицензии не могу сказать, это вопрос к руководству. Да, это стоит того. На KiCAD я не захочу переходить однозначно.

зачем такие зазоры (3mil) и такие отверстия на несущей?, у вас же там нет BGA 0.5mm?
>> все идет из правил на диффпары
ну как бы эээ, есть требования к диффпарам и их можно реализовать ну куда больших ширинах дорожек и зазоров

На несущей есть пара компонентов с шагом 0.4мм :)

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

Стоимость платы такого размера с трассами 3mil не сильно страшная, а вот возможность спроектировать так компактно нам важна.

Понял, спасибо!
если не секрет , а какие это компоненты? (вроде mini hdmi и ethernet что там внизу шаг 0.5 но может и ошибаюсь)

Хватает ли средств, предоставляемых KiCAD, для проектирования таких плат? Если нет, то какие именно трудности возникают? Ну а если хватает - то почему есть заинтересованность в переходе на OrCAD?

в кикаде очень тяжело разводить диффпары - они банально разбиваются при попытке их подвинуть. но в 6 вроде обещают это исправить, а в последнее время он очень бурно развивается. вроде бы мелочь, но отнимает очень много времени.
Ну и все таки инструменты DRC очень пока примитивные в нем, их иногда не хватает.
Инструменты оркада сравнивать с кикадом вообще некорректно , оркад как раз для процессорных модулей, DDR СВЧ, материнских плат, и другого мощного хардкора, где даже альтиуму тяжело (хоят гвоорят что он тоже очень даже хорошо развился в последних версиях)
Еще у оркада очень мощный инструмент моделирования , без которого даже собственно текущей процессорный модуль развести под imx8 трудновато если менять стекап или расположение проца, памяти.

В целом, поработав p-cad orcad eagle sprint, easyeda по работе и не только(ну кроме оркада ахаха)
могу сказать что пикад это лучшее что на данный момент создало человечество для бесплатных проектов малой и средней сложности

чертов новый интерфес хабра без возможности редактирования(или я кнопку не могй найти нужную)
я хотел сказать "кикад лучшее что..."

Откровенно говоря, в OrCAD интерфейс еще более злой чем в KiCAD. Самый лучший интерфейс и набор фич у Altium-а.

Я столкнуся с тем, что разработчики привыкшие к крякнутому Altium-у совершенно не хотят сползать с него на свободный KiCAD, приходится палками загонять :-).

как любим говорить: интерфейс оркада придуман орками для орков =).
на счет перехода с альтиума на кикад не знал)

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

И вендоры этим пользуются. Вы покупаете лицензию Altium Designer (которая стоит дороже Visual Studio, к слову), рассчитывая на некоторый набор фич, который Altium рекламирует. С лицензией вам дается подписка на бесплатные обновления в течение года. Вы начинаете этим всем пользоваться и сталкиваетесь с рандомными вылетами, детскими багами с размножающимися мерцающими окнами крэшрепортера, тормозами на ровном месте, и даже порчей данных в библиотеках компонентов. Некоторыми фичами из-за этого пользоваться практически невозможно. Вы исправно репортите все эти баги, а потом оказывается, что исправления доступны в обновлении, доступа к которому у вас уже нет, потому что подписка протухла. То есть, вас буквально обманывают, продавая фичу, которая не работает, а потом предлагают заплатить еще раз за шанс получить ее в работоспособном виде.

Мое личное впечатление после 3.5 лет работы с EAGLE и Altium Designer сводится к тому, что EAGLE в некотором смысле представляет из себя более качественный продукт. Набор фич ограничен, но эти фичи работают.

для бесплатных проектов малой и средней сложности

очень подходит diptrace. у него своих косяков конечно хватает, но хотя бы интерфейс не для орков

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

У нас есть лицензия на OrCAD, но она на столько урезана, что KiCAD по сравнению с этим OrCAD кажется вершиной творения.

Тот самый случай, когда волшебство, ничего не понятно, но так круто!!! Спасибо автору!

>> Пособие для продвинутых

А где же руководство? В статье случайный набор не то чтобы советов, но личных впечатлений и хвастовства. Не боитесь, что завтра наступит valley of despair по Крюгеру?

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

Да, должен признать, присутствует эйфория от достигнутого.

Тем не менее, надеюсь что описанный опыт обладает ценностью, описаные навыки могут показать куда двигаться дальше.

А разочарование наступит в любом случае, и это уже тоже проходил. Но это же не повод сидеть и ничего не делать.

Спасибо за статью. Подскажите, где сейчас берете DDR4? Можно ли купить >30шт?

Поздравляю автора, тоже проходил похожий квест, заводя в далеком 2015 году MIPI-CSI на SoC Intel BayTrail, установленный на плате congatec conga-TCA3. Хотя я эту плату сам и не разрабатывал (разработчики железа сидели в том же помещении через два стола), но ощущения от того, что камера наконец-то завелась после двух недель бесконечных плясок вокруг нее — бесценно. У Intel на тот момент с поддержкой и BSP было еще хуже, чем тут описано, и там были драйверы ровно на три очень похожих камеры OmniVision (все три — помойные, конечно), причем исключительно для кастомной 32-битной Fedora с древним ядром, и портировать это все на нормальный Линукс было очень интересным unprotected butt fun опытом, скажем так.
Масса низкоскортных интерфейсов (UART, SPI, I2C, JTAG)
Низкоскоростных или низкосортных? :))

Спасибо. поправил! :) В сравении с PCIe/USB это уже низкосортные :D

Only those users with full accounts are able to leave comments. Log in, please.