Pull to refresh

Не очередная evalboard для STM32 – делаем правильно в XFR-L3 «KYRNN»

DIY
Sandbox
Привет, Хабр! Хотел бы рассказать о создании отладочной платы XFR-L3 «KYRNN» для МК серии STM32F4:

image

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

Сейчас очень много ARM-based отладочных плат, тем более для STM32 — сказывается доступность этих камней и сопутствующей документации, изобилие примеров программ, наличие множеств IDE и достаточно адекватная цена. Кто только не делал плат под них — существуют в том числе разновидности всем известной Arduino, в основе которых лежат упомянутые микроконтроллеры. Массово доступны варианты девайсов, основанные на МК из разных семейств STM32 (как коммерческих, так и любительских), с достаточно разным набором функций (от голой платы с посадочными местами под хидеры, до образцов с экранами, камерами, разного рода датчиками и пр.) и в различных форм-факторах. И логично спросить: KYRNN, это что — yet another board? Прежде чем ответить на этот вопрос, немного слов о том, как делаются коммерческие evalboard-ы, что они из себя представляют, их радиолюбительских аналогах и некоторых сопутствующих моментах.

Вероятно, многие из тех, кто однажды ощутили потребность в отладочной плате для той или иной платформы, замечали необычайное сходство такого рода продукции от совершенно разных производителей. Если не замечали, то вот небольшой хинт — они в самом деле во многом похожи: подобрав несколько плат с более-менее совпадающим набором функций (например, Ethernet+ RS232+ USB+ SD+ пара датчиков типа акселерометра) сходство будет такое, словно это разные минорные ревизии одного устройства. При этом будут с большой вероятностью совпадать partnumbers компонентов (или являться прямыми заменами/аналогами), схемы включения и, конечно же, эксплуатационные характеристики, о которых будет сказано чуть позже.

Из этого феномена удивительного сходства и вытекает совершенно резонный вопрос о yet another board, благо его актуальность увеличивается ненамного медленнее, нежели неадекватный рост числа азиатских (особенно китайских) отладок и их клонов. Казалось бы, ну и пусть они почти одинаковые, что в этом плохого? Загвоздка в том, что подавляющее число evalboard-ов на абсолютно любую платформу (кроме MilSpec/RadHard/Space и некоторых RF приборов) сделаны во многом из самых низкосортных компонентов (не считая самого камня), хотя и позволяющих худо-бедно запустить эту самую платформу (как любят говорить на этот счет товарищи определенной категории: «Ну заработало же как-то, значит все хорошо»). Капитализм в чистом виде — нужно же «делать дешево», поэтому в ход идут, опять же, азиатские noname компоненты, происхождение и качество которых часто не ведают сами азиаты. Часто используются удивительно нештатные схемы включения разно рода микросхем (например, питание еpaper дисплеев) — некоторые образцы сильно поражают тем, что вообще работают. По сути такие девайсы позволяют ограниченно поиграться с целевой платформой в довольно узком диапазоне эксплуатационных условий (без EFT/ESD, при комнатной температуре, т.е по сути только в лабораторной обстановке), при этом реализация самой платы часто не дает возможность испытать некоторые из ключевых возможностей камня (например, отсутствие некоторых интерфейсов вроде CAN — но с обилием RS232, или реализация Ethernet через преобразователь интерфейсов вместо нормального PHY).

Разумеется, особо стоит отметить разводку таких плат: когда мне попадается очередное поделие, в котором земля раскинута петлями по всей плате узкими трассами, силовые цепи разведены «дорожками» — а компоненты и переходные отверстия из этих цепей подключены через термобарьеры, USB раскинут на двухслойке не диффпарами и многие подобные явления из указанного смыслового ряда, то понимаю, что мог бы написать небольшую книгу (страниц на 100-200) о всех приемах кривой, убогой и откровенно дерьмовой разводки, которые являются классикой, стандартом де-факто в evalboard-ах (да и в довольно многих commercial и даже industrial grade девайсах). Исключением, пожалуй, являются платы для топовых FPGA — тоже неидеальные, но с указанной точки зрения на голову выше других подобных девайсов. Довершает же картину тот факт, что некоторые такие evalboard-ы сделаны в Cadence Allegro — мощнейшем САПР, в котором можно проектировать самые сложные платы. Забавное зрелище: убогая расстановка, страшные компоненты и футпринты, мерзкий layout, зато удивительно хорошо разведены high-speed сигналы и сделано выравнивание (последние два пункта — одни из основ «силы» пакетов типа Allegro).

Еще очень многое можно написать об этих чудо-явлениях, но это уже будет совершенно другая статься и поэтому вернемся к теме отладок для STM32 и собственно XFR-L3 «KYRNN». Реализованный функциональный набор (в том числе для сопоставления) взят следующий: USB+Ethernet+CAN+RS485+uSD. Несколько слов о реализации каждого из них:

USB — взят с самого камня (в данном случае это STM32F439VGT6, при этом сигнальные линии защищены двумя ESD5V3U1U-02LRH. Также поставлен свич питания MAX14575 с фильтрами и супрессором, разъем стоит 65100516121.

Ethernet — реализован на TLK106, включенного через MII. Помимо собственно PHY, позволяет производить диагностику кабеля с помощью TDR. Защищен сборками LC03-3.3, разъем 7498111001.

RS485 — за него отвечает MAX13451E, который позволяет терминировать линию разными сопротивлениями, инвертировать каналы и много чего другого. Защищен супрессорами SMA6J и сборками TBU-CA, разъем 09551666817741.

CAN — сделан на MAX13041, достаточно удачном и надежном трансивере. Защищен супрессорами SMA6J и сборками TBU-CA, разъем 09551666817741.

SD — выведен с самого камня. Стоит сборка IP4252CZ16-8 с фильтрами и супрессорами, сокет 0475790001.

Кроме того, присутствует внешняя MRAM MR25H256 — исключительно надежная разновидность памяти которую можно использовать и как RAM, и как ROM. Питание, рассчитанное на стабилизированные +12В, организованно на двух LD1086. Для МК установлен внешний watchdog STWD100.

По сути, это проект industrial-grade прибора на компонентах премиум класса, работающего в индустриальном диапазоне температур и имеющего достаточно надежные наборы защит. Хотя hardware set с определенной точки зрения достаточно стартовый, тем не менее, его реализация на голову выше всего того, что предлагается в подавляющем большинстве отладок(а позиционируется «KYRNN» именно как evalboard).

Хочется подчеркнуть несколько важных моментов:

— компоненты подобраны исключительно топовые и дорогие, их нельзя заменить;
— футпринты на многие из них также исключают установку чего-либо, не вписывающегося в идеологию этой платы;
— performance first, даже если это потребует ужесточения норм изготовления (как это вышло например с IP4252CZ16-8).

На этот моменте логично перейти собственно к разводке платы. Создавалась она с использованием Altium Designer 15 и PCB Library Expert PRO 2015, на которые у меня к счастью имеются лицензии. Ниже послойные скриншоты:

image

image

image

image

image

image

Плата сделана на стандартном 4х слойном стеке, что особенно логично ввиду наличия USB и Ethernet, которые, разумеется, разведены диффпарами — при этом супрессоры со всех интерфейсов имеют собственную землю, не соединенную с сигнальной (и земля эта должна быть подключена всегда). Все цепи питания разведены полигонально, для основных напряжений питания отведены соответствующие полигоны в слоях платы, термобарьеры полностью отсутствуют. Компоненты с диффпарами расположены на одной стороне, большинство сигнальных трасс находятся на противоположной. Технормы взяты с типовых отладок, правда ситуацию несколько подпортил IP4252CZ16-8, у которого корпус рассчитан на «другую» плату. Все разъемы предназначены для поверхностного монтажа, включая DB9 для CAN и RS-485. Итоговый размер платы- 105х74мм.

Немного 3D:

image

image

image

«KYRNN» как легко понять — не ардуино и не очередная отладка. Разумеется, это ни разу не идеал PCB design-а, но проект с особой идеологией (performance first) и достаточно специфическими решениями взятыми со специализированных индустриальных применений. Проект не позиционируется как «ответ» и тем более как замена «обычным» evalboard-ам, но является, без ложной скромности, их гораздо более продвинутым, защищенным, надежным и качественным вариантом — при этом он, конечно, ориентирован на достаточно узкую аудиторию, заинтересованной в решении/отработке задач с уровнем отличных от «просто поиграться с камнем».

Нужно сказать, что это не последняя плата сделанная с таком ключе. «KYRNN» является базовой версией серии устройств, в которых будут много других интересных фич (изолированные интерфейсы, хайендовые измерительные микросхемы на 2 и 3 фазное питание, eInk дисплеи, Qi и многое другое) — некоторые из них будут в открытом доступе как и «KYRNN».

Предугадывая ряд вопросов:

1. Название сделано исходя из собственной системы naming conventions.

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

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

4. Футпринты названы «по-простому», без IPC naming conventions, чтобы в них могли разобраться радиолюбители и просто новички.

Для скачивания доступны файл платы, схема в PDF, BOM и STEP модель. Если кому-то удастся найти ошибки, убедительная просьба сообщить них.

Всех с наступающим Новым Годом!
Tags:pcbpcb designarmstm32f4canrs485ethernetsd cardusbesdeft
Hubs: DIY
Total votes 37: ↑25 and ↓12 +13
Views12.4K

Popular right now

Game Design
July 15, 202160,500 ₽XYZ School
Domain Driven Design
August 2, 202137,000 ₽Luxoft Training
WEB-разработчик
June 19, 202196,000 ₽GeekBrains
Программист Android
June 19, 202184,000 ₽GeekBrains
Программист iOS
June 19, 202172,000 ₽GeekBrains