Доброго времени суток!
Внимание, много текста и фоток. На рынке можно встретить множество вариаций одноплатных ПК с шилдами или решения «все в одном». Одни заточены под конкретные задачи, например, сбор и отображение данных, другие универсальные и включают в себя всевозможные интерфейсы на все случаи жизни. Существенные отличия наблюдаются также и в конфигурации, типах крепления, соединительных разъемам, форм-факторе и т.д. Для чего разрабатывать свое устройство, спросите Вы, если можно выбрать уже имеющееся в продаже? Несколько лет назад, вертя в руках плату на IMX6Q – «BD-SL-i.MX6» от Freescale (читаем NXP) появилась идея сделать модуль, который бы …

1. Покрывал наши потребности по макетированию плат на IMX6. На тот момент уже было несколько проектов реализованных на этом чипе. Тут стоит пояснить что имея свой модуль и разработав для него материнскую плату под конкретный проект можно достаточно быстро протестировать всю периферию, «поднять» софт, внести изменения и перенести все на те самые 8 слоев, которые необходимы для IMX6Q (линейка этих чипов не ограничивается четырехъядерным вариантом, помимо QUAD, есть еще DUAL и SOLO – все «пин-ту-пин», что дает широкие возможности для реализации разных по функционалу устройств на основе одной «борды»). Напомню, что материнская плата может быть 4-слойной и даже 2-слойной, что значительно ускоряет сроки ее производства и снижает затраты.

2. Использовать модуль в качестве компонента и предоставить заказчику выбор: переносить все на одну плату или использовать как есть. Справедливости ради скажу, что не рассматривается использование покупных модулей под коммерческие проекты. Во-первых, не найти модуль, который всем бы устраивал (либо разъемов много, либо мало, либо крепежных отверстий нет, либо плата большая и т.д., в общем, кто искал под свои нужды, тот поймет), а, во-вторых, своя разработка всегда надежнее. Можно закидать меня помидорами, но я доверяю только себе.

3. Дать заказчику возможность разработать свое устройство на базе нашего модуля. Да – это тоже оказалось востребовано, но большую роль играет не то, что было описано выше (про сложности подбора модуля), а то, что это Российская разработка и производство. Видимо, слово «импортозамещение», очень сильно повлияло на нашу промышленность и разработку, в том числе.

IMX6 начало

Коротко о главном, но это не будет сутью статьи. Наш первый модуль на IMX6Q используется и сейчас в разработках, имеет размеры 50x75мм. OS Linux и Android.


Рис. 1. Модуль на IMX6Q

Не буду перечислять его интерфейсы, достоинства и недостатки. На нем выведено почти все, что имеет чип и этого вполне хватает для реализации многих проектов. На борту стоит eMMC, интерфейсные разъемы, физика Ethernet гигабит и питание. Краткий экскурс закончен, теперь суть.

К чему мы пришли

Линейка IMX6 не заканчивается и на вышеперечисленных чипах. Уже появился IMX7, IMX8 в различных вариантах, но нас заинтересовала более слабая версия в меньших габаритах, урезанная по функционалу – это IMX6UL/IMX6ULL (они тоже «пин-ту-пин» между собой). Обратили внимание мы на него не просто так, а потому что появилось сразу несколько задач, связанных с передачей голоса по Ethernet по протоколу SIP, а также необходимость в разработке устройств в малых габаритах и без возможности отвода тепла. IMX6UL имеет на борту довольно неплохой набор для подключения периферии:


Рис. 2. IMX6UL Block Diagram

Кому мало картинки, может залезть на сайт NXP и посмотреть подробности линейки данных чипов. Одним из удобств применения этого процессора является его корпус. Шаг его контактов 0.8мм, а контактная площадка 0.356мм (BGA), а это означает ровно то, что плату можно выполнить на 4-х слоях (что, в принципе, и сделано в референсной плате NXP на этот чип). Мы используем версию 14х14мм (также существует и 9х9мм с шагом 0.5мм).

Почему именно NXP, а не Broadcom, ST, Ali или еще какой-нибудь гигант по производству процессоров? На самом деле, все дело в доступности чипов, техподдержке и кроссплатформенности. Сделав модуль на IMX6Q мы относительно просто портировали софт на IMX6UL/IMX6ULL. Линейки чипов «пин-ту-пин», поэтому отладив ПО на UL можно перейти на более дешевый ULL. Второе – это низкое энергопотребление и как следствие малый нагрев. Я намеренно не привожу тех-параметры процессоров, итак много «воды» в статье, а эта информация общедоступная.

Один из интересных проектов, реализованных на IMX6ULэто устройство передачи голоса по Ethernet – SIP телефон, а по сути переговорное устройство.


Рис. 3. SIP телефон.

О главном

Сердцем проекта является IMX6, на котором «крутится» OS с установленным SIP клиентом. Перед тем как загрузиться Linux, с отдельной SPI Flash грузится u-boot (загрузчик). Разделение загрузчика и основной прошивки сделаны не случайно (в отличие от референса), а для того, чтобы сделать устройство выносливым с неожиданным выключением питания. Если Вы начнете говорить об ubifs и read-only разделе на NAND, то я сильно расстроюсь. Практика показала, что даже самые лучшие микросхемы NAND имеют право умирать и делают это весьма неожиданно. Для связи с внешним Миром имеется интерфейс RMII, а на плате установлена Ethernet switch LAN9303 – 10/100 (данный IMX не поддерживает гигабит) и было необходимо два порта. IMX6UL имеет два порта RMII с роутингом, но была необходимость в именно в двух независимых интерфейсах в виде хаба.

Для хранения прошивки и файлов используется NAND (Остановились на Самсунг K9F1G08U0D в корпусе TSOP48. Не начинаем плеваться и не закрываем статью, так как память в таком форм-факторе при маленьких партиях очень дешевая, по сравнению с BGA63). Одна микросхема памяти DDR3 – K4B4G1646D, кодек ADAU1761. На кодеке стоит остановиться подробнее. До этого, в нескольких проектах использовался SGTL5000, но с ADAU жизнь стала намного веселее. Про него можно написать отдельную статью, но я постараюсь кратко изложить его суть в моем проекте. Мало того, что микросхема имеет 6 аналоговых входов, 7 выходов и, конечно, интерфейс I2S, так еще компания Analog Devices вместе с кодеком выпустила для него специализированное ПО для написания прошивок под встроенный DSP. Кому интересно, и кто не в курсе можете почитать инфу что такое DSP и с чем его едят.


Рис. 4. ADAU1761 Block Diagram

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


Рис. 5. SigmaStudio от Analog Devices

В проекте задействованы по 4 канала (вход/выход), так как имеются встроенные стереодинамики и микрофоны, а также разъемы для подключения внешних.

К плате (на рис. 3) стыкуется сверху периферийная плата, как раз с кодеком, сканером матричной клавиатуры и пр., про нее писать не стал.

Один из разъемов RJ45 используется для питания по PoE, в качестве Powered Device (PD) используется микросхема Si3402 от Silicon Laboratories. Схема включения использовалась практически стандартная без гальванической развязки с выходом 12В (напряжение настраивается резисторами). Немного отвлекусь, кому интересна тема PoE+ с гальваноразвязкой, существует очень хорошая микросхема от TI – LM5072MH-80. Отлично зарекомендовала себя в нескольких проектах.

Вторичные питания реализованы на DC/DC ST1S10PHR – не самые дешевые, не самые высокочастотные, но отлично работают и доступны вагонами. Вообще, у нас целый зоопарк DC/DC и LDO под разные нужды, но, когда важно качество, выбираем известных производителей.

На плате также имеются USBHOST, USBOTG и SD карта. Через USB и SD можно накатывать/обновлять прошивку. Обновление по сети также есть, но это уже относится к ПО и к web интерфейсу.

Немного о трассировке

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

— TOP – сигнальный с полигоном земли
— GND – полигоны земли
— POWER – полигоны питания
— BOTTOM – сигнальный с полигоном земли

1. DDR3. С самостоятельной разводкой памяти нужно быть осторожными, поэтому я этого делать не стал, а взял за пример референс. Для трассировки используется только два слоя (top и bot), остальные два слоя не задействованы. Переходные отверстия 0.203/0.406мм, толщина линии 0.114мм. Изменил здесь только линии земли под процессором и сделал их немного толще – до 0.3мм. На слое GND получилась хорошая земля, в которой пришлось провести RGB интерфейс, что не совсем правильно, но другого варианта я просто не увидел со своим количеством интерфейсов на плате.


Рис. 6. Трассировка памяти


Рис. 7. Полигоны питания и земли

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

2. PoE, как я писал ранее, реализовано на микросхеме Si3402. Она разводится строго на четырех слоях платы с большими зазорами от основных полигонов. Думаю, на двух слоях она тоже заведется, но качество при этом никто не гарантирует. При проектировании узлов питания я обычно руководствуюсь evaluation board к микросхемам, а при тестировании сверяюсь с осциллограммами сигналов, приведенными в документации. Если как в референсе сделать не получается, из-за размеров или конфигурации платы, то приходится руководствоваться только опытом и здравым смыслом.

В слое питания для PoE выделен полигон 12В. Остальные слои используются для сигналов и полигонов земли PoE – GND_EXT. Все полигоны находятся строго друг под другом без «нахлестов» на соседние полигоны в других слоях. Отступ между полигонами PoE и основными порядка 1мм. При разработке PoE с гальванической развязкой я обычно дополнительно делаю вырез фрезой (при производстве плат) под трансформатором и оптронами обратной связи.


Рис. 9. PoE. TOP.

3. Периферия. Доводилось мне делать разводку платы на чипе M3616 компании ALi Corporation, он имеет всего 292 шарика, но посмотрите, как качественно продуман процессор в плане облегчения трассировки платы. Как четко в нужном порядке выходят все интерфейсы. Внимание, плата разводится на двух слоях, а оперативка полностью в одном.


Рис. 10. Полигоны питания и земли

На IMX6UL/IMX6ULL с интерфейсами пришлось повозиться. На рис. 6. можно увидеть на сколько плотно идут проводники и места для переходных отверстий не хватает, а выводить нужно из 5-ого ряда шариков. Тут главное соблюсти импеданс в дифференциальных парах (например, USB) и не переборщить с переходными отверстиями, так как от этого испортится полигоны земли и питания.

И все-таки модуль

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


Рис. 11. Модуль mx6ull-m02c на IMX6UL/IMX6ULL

Почему элегантно?

  1. Модуль выполнен в форм-факторе «на плату» и не имеет интерфейсных разъемов, дает возможность его использования как «микросхему».
  2. На бору он имеет только все необходимое: чип, DDR3, NAND, SPI, физику Ethernet, один питатель на 1,35В (что позволяет подавать на модуль только одно напряжение 3,3В), кварцы и пассив.
  3. Односторонний монтаж. Не каждое модульное решеное может похвастаться отсутствием компонентов на боттом. Это дает сразу несколько преимуществ: отвод тепла на материнскую плату, возможность трассировки под модулем (так как отсутствует вырез на плате для выступающих компонентов) и удешевление производства самих модулей (минус трафарет, переворот платы при монтаже и др.).
  4. Пады по периметру платы. Нет никаких сигнальных точек пайки под модулем.
  5. Размеры модуля всего 45x36мм.
  6. Как-нибудь расскажу про одно из устройств, разработанных на данном модуле, а пока фото материнской платы для отладки и написания софта.


Рис. 12. Модуль IMX6UL/IMX6ULL на плате

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

Заключение

Что же конкретно дает модульная система, при разработке устройств?

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

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

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

PS: ссылка на исходники github.com/trotill/adk_yocto

Спасибо за внимание!

Комментарии (37)


  1. Zubaru
    30.03.2018 12:48

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


    1. the_bat Автор
      30.03.2018 12:54
      +1

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


      1. madf
        30.03.2018 15:31

        Ну вообще то, бга в рентгене ещё рассматривают, наличие контакта — не гарантирует пропайку.


        1. the_bat Автор
          30.03.2018 16:30

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


          1. lelik363
            30.03.2018 21:05

            Проверяют. Всё зависит от необходимости.
            Рентген для этого встраивают в линию. Тут пример такого аппарата.


  1. NickViz
    30.03.2018 14:52

    а вот что по ценам? как-то смущает, что модуль с тиражем условно 100-200 единиц будет не дороже чего-то, что те же кетайцы клепают от 100k. про то, что «под нас», «только то, что нам надо» это понятно.


    1. the_bat Автор
      30.03.2018 14:58

      На данный момент цена отгрузки модуля без учета доставки, составляет от $23 (в зависимости от модификации: наличие/размер nand, индастриал и т.д.)


  1. anger32
    30.03.2018 14:53

    На блок-схеме не видно ядер Vivante GPU, поясните что с 2D/3D акселерацией в Ваших устройствах.


    1. the_bat Автор
      30.03.2018 15:05

      Vivante есть только в верхнем модуле IMX6Q,D,S


  1. neochapay
    30.03.2018 15:27

    Где покупать то? :)


    1. the_bat Автор
      30.03.2018 15:49

      По вопросам приобретения напишу в личку.


    1. Prometheus
      30.03.2018 16:45

      На фотке с платой отчетливо виден url.
      Сайт, конечно, у них ужасный.


      1. a3x
        30.03.2018 18:05

        Спасибо, адрес сайта и правда на фотке виден. Уж какой есть.


  1. A-10
    30.03.2018 17:59
    +3

    SOM-модуль — полезная штука.
    Недавно перерыл немало вариантов для IMX6 — готовые SBC решения, как правило, дороги и избыточны, имеют большие габариты. А SOM позволяет легко встроиться в несущую плату с необходимыми расширениями и интерфейсами. Самое главное — вся сложная часть разводки, в основном, уже реализована на модуле.
    Хотя, по факту часто оказывается, что разработчики все равно не вывели все нужные тебе интерфейсы и нужно либо искать «идеальный» модуль, либо разрабатывать его самому.

    Спасибо за наводку на микросхемы PoE -)

    Сам подумываю разработать модуль для своих нужд, пока останавливает отстутствие опыта (есть опыт трассировки только до 4х слоев и до 100МГц). Информации и мануалов много в сети, но по отзывам даже у опытных инженеров с ДДР3-ДДР4 случаются проколы.

    Есть несколько вопросов:
    — Я так понимаю, разводите в Альтиум? Насколько это удобно для высокоскоростных интерфейсов (вроде бы для такого рода проектов рулят Mentor и Orcad).
    — Проводите ли Вы какую-то симуляцию до передачи герберов?
    — По разводке ДДР3 — как Вы использовали референс, брали готовый шаблон проекта и переделывали или смотрели и копировали по образу и подобию?
    — Вы отдаете платы на пайку отдельной конторе или есть свои мощности для этого? (интересно, сколько это может стоить для небольшой серии 1-30 плат).


    1. the_bat Автор
      30.03.2018 18:17
      +1

      1. Да, разработка ведется в альтиуме. Все импедансы приходится считать, а потом задавать правила по трассировке. Совсем немного работал в менторе, но альтиум нравится больше, может дело привычки и наличие лицензии)
      2. Симуляцию не проводим, если совсем нет уверенности в работе интерфейса делаем два-три варианта и сравниваем по результатам тестирования.
      3. Для каждого проекта это происходит по-разному, для одного можно найти гербера и перенести разводку оперативки, для другого чипа есть проекты в менторе (или в других САПРах), которые можно сконвертить.
      4. Все платы для внутренних нужд паяю я сам.
      Смотря какие платы паять, и принципиальна ли конвейерная сборка? Для одного из проектов нужно было спаять две платы обязательно на производстве с документами по сборке (не такие, а сложные), обошлись они по 25т каждая. Есть конторы, которые могут паять маленькие партии недорого, с ними мы тоже работаем. Все индивидуально и цены на сборку в разных местах могут плясать в зависимости от сроков и загруженности.


      1. lelik363
        30.03.2018 21:11

        Вы коммерческая организация или частное лицо?


        1. the_bat Автор
          30.03.2018 23:31

          Я сотрудник компании


          1. lelik363
            31.03.2018 08:28
            +1

            1. the_bat Автор
              02.04.2018 10:54

              Это разработка для другой компании. Смотря что значит «посмотреть»?


              1. lelik363
                02.04.2018 12:45

                У Вас на сайте написано:

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

                Хотелось бы посмотреть как это реализовано.


                1. the_bat Автор
                  02.04.2018 15:11

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


      1. A-10
        01.04.2018 16:46
        +1

        Согласен, Альтиум более удобен и визуально приятен, хотя у меня помимо него есть только небольшой опыт работы в OrCad. Я так понимаю, в Mentor/Orcad визуальная убогость компенсируется, например, более широкими возможностями по трассировке высокоскоростных цепей (автоматизация расчета импеданса, выравнивание). Странно, что в Альтиуме такого нет до сих пор, вроде бы не сильно сложно сделать автоматический расчет ширины дорожки от заданного стека слоев и заданного импеданса.

        Насчет пайки — понимаю, что цены сильно разняться. А BGA тоже самостоятельно запаиваете?


        1. the_bat Автор
          02.04.2018 10:55

          Да, все паяю самостоятельно.


  1. Alex_Sa
    30.03.2018 23:48

    А что вы думаете о подобных модулях от дргугих компаний?
    Например Variscite (www.variscite.com) или Toradex (www.toradex.com)?


    1. the_bat Автор
      02.04.2018 11:19

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


  1. ARD8S
    31.03.2018 12:22

    Интереса ради, какой припой используете? Свинцовый/бесвинцовый?


    1. the_bat Автор
      02.04.2018 11:20

      Когда ручная пайка, то свинцовый, если на заводе — бессвинец.


  1. evgeny_boger
    31.03.2018 13:13

    А почему выбрали NAND, а не eMMC?


    1. the_bat Автор
      02.04.2018 14:04

      Несколько лет назад мы плотно подсели на eMMC, очень удобно, когда есть встроенный контроллер с ECC. Но есть одно «но» — eMMC разных производителей отличаются алгоритмами работы и было замечено что некоторые могут откровенно выходить из строя или терять скорость чтения/записи со временем в разы.
      Кроме этого нет ФС заточенных под eMMC — ext4 и btrfs не выход, поскольку при выкл. питания все равно теряются данные и повреждаются ФС.
      Похожая ситуация и при использовании SD карт, поскольку это то же самое eMMC но в корпусе.
      NAND более топорная, ее логика работы прозрачна, поэтому решения на ее базе гораздо надежнее, при чем с меньшей стоимостью. Для NAND разработаны 3 ФС, UBIFS, JFFS2, YAFFS,
      которые лучше переносят внезапное откл. питания в момент записи и выполняют функциии распределения памяти для снижения износа в отличии от десктопных ФС.


  1. SmartDimmer
    02.04.2018 10:50

    Мы тоже такой же подход практикуем с модулями на nrf52832. За счет унификации и повторяемости наших решений для LED контроллеров, решаем сразу несколько проблем:


  1. sondern
    02.04.2018 10:51
    +1

    Модуль красивый, Но мне кажется выводов маловато вы сделали.
    И вопрос. Обычно BOT слой используют для блокировочных конденсаторов. Чтобы линии были как можно короче. По переферии микросхемы на слое TOP судя по фотот их как то тоже маловато. Каким образом вы решили этот вопрос и как вы проверяли правильность вашей разводки?


    1. the_bat Автор
      02.04.2018 11:30

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


  1. Tangaroa
    02.04.2018 10:51
    +1

    А как получился односторонний монтаж, если рекомендации NXP недвусмысленно намекают на необходимость определённого окличества блокировочных конденсаторов как можно ближе к соответствующим выводам? Вы пожертвовали бОльшей частью этих кондёров или как-то иначе выкрутились?


    1. the_bat Автор
      02.04.2018 11:42

      Было убрано всего несколько конденсаторов, остальные перенесены на верхний слой, частично изменены номиналы. Используем конденсаторы с более высоким напряжением, так как в этом случае значительно улучшаются их характеристики.
      Не рекламы ради, можно посмотреть, характеристики керамики, как они меняются от приложенного напряжения и зависят от размеров корпуса компонента, при прочих равных: www.we-online.de/redexpert/#/module/13/productdata/=885012207044


      1. Tangaroa
        02.04.2018 12:05

        По картинке судя, похоже что «осталось всего несколько». Ведь только на сам SoC нужно штук 8 (если ставить всего по одному на цепь), плюс на каждый пин питания периферии рекомендуется свой. А я на картинке вижу кучку конденсаторов только у чипа памяти. Я ещё понимаю, когда выносится вбок конденсатор, который и так близко к краю стоял, но те, которые вокруг пинов питания — они же вокруг центра чипа, и вот прям их все убрали-отодвинули?
        То есть: как модуль проходит стресс-тесты? Вот всё врубить на полной скорости и хорошенько потрясти.

        а питание — всего один канал 1.2 вольта, но ведь DDR3L нужно 1.35 (1.5 для «просто DDR3»)? В режимах низкого потребления напряжение на ядре можно/нужно снижать до менее чем 1В, а память либо запитана номинальным напряжением, либо, если ничего не путаю, отключена совсем. От низкой напруги чипы памяти могут работать нестабильно или вообще не работать (есть такие, которые работают от 1.5В, но от 1.35В не включаются).
        То есть: есть ли у вас функция управления питанием, например?

        Судя по количеству падов модуля, многоногие интерфейсы типа LCD и CSI были если и выведены, то с сильным усекновением по количеству этих самых ног? ведь на полную ширину LCD (24 бита + синхро) нужно 29 пинов, на CSI выходит 12 (для 8-битного) и более… или я чего-то недопонял? ;)


        1. the_bat Автор
          02.04.2018 12:34

          Для питания 3,3В используется хитрый полигон, на его входе и в нужных местах висит керамика.
          На всяких NVCC, VREF, SNVS кондеры остались.
          На VDD_SOC и др., 1.35В тоже качественный полигон и керамика в наличии.
          Не одного питания не осталось без пары и более конденсаторов (буквально на паре выводах висят по одному).
          Да, опечатка, 1,35В для DDR3L. Спящие режимы с засыпанием периферии есть, если Вы про это.
          RGB убран полностью в этом варианте. Будет другой модуль под другие нужны. Пока думаем чем пожертвовать: увеличить размеры, уменьшить шаг контактов или, например установить FPC для RGB.


  1. SmartDimmer
    02.04.2018 11:42
    +1

    Мы тоже такой же подход практикуем с модулями на nrf52832, задача проще чем у автора. За счет унификации и повторяемости наших решений для LED контроллеров, решаем сразу несколько проблем:
    1. Согласование антенного тракта, антенна печатная
    2. Стоимость в разы меньше при бОльшем объеме, т.к. один модуль на много устройств.
    3. Повторяемость, один раз отладил и забыл.
    4. Сертификация всего ОДНОГО BLE модуля. Это для экспорта в EC. Экономия ~10000 Евро на каждом новом решении.
    Список может быть и больше.