Применение процессорных модулей в приборостроении

    Прошлый мой пост о выходе на рынок самого мощного процессорного модуля на OMAP4460 не вызвал каких бы то ни было невероятных дискуссий, хотя интерес к теме появился. По опыту отраслевого общения с людьми «в теме» (тут имею в виду разработчиков железа разного ранга, от непосредственно инженеров и до тех.директоров и владельцев подобных компаний) могу сделать вывод, что хоть о существовании процессорных модулей в курсе практически все, но достаточно много людей просто не знают зачем они нужны — в чём соль и «где собака порылась».

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

    Одно из самых главных преимуществ — это время от начала разработки и до вывода продукта на рынок. Оно сокращается на порядки.

    Для примера давайте рассмотрим классический метод разработки (некоторые его называют способом применения «дискретных» элементов) и современный, с применением процессорных модулей. В первом, классическом случае, мы берём процессор и компоненты «рассыпухой» и начинаем с нуля разводить будущий прибор. При этом самостоятельно решаем непростые инженерные вопросы разводки сложных элементов, таких, например, как RAM. Во втором случае берём готовый процессорный модуль и строим прибор вокруг него. Самые ответственные компоненты уже разведены на модуле и плата-носитель уже получается относительно простой с точки зрения проектирования.

    Рассмотрим на двух реальных сопоставимых проектах из практики r&d-подразделения моей компании:

    1. Разработка промышленного контроллера smartCS
    2. Разработка промышленного медиаплеера greenGo


    Первый является универсальным промышленным контроллером, сферы применения: промавтоматизация и ЖКХ (управление инженерными системами).

    Второй прибор применяется в рекламе — ротация рекламных роликов на видеомониторах в бизнес-центрах, представитель решений класса Digital Signage.

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

    Первый разрабатывался по классической дискретной схеме: поставили задачу с детальным описанием функционала, определились с процессором, подобрали комплектуху, развели, получили прототип, который начали отлаживать, портировали linux. В конце-концов через несколько итераций и всевозможных тестов получили готовое изделие. Т.е. от и до — это целиком разработка одной команды инженеров, схемотехников и программистов.

    Второй строился с учетом полученного опыта, но уже на основе процессорного модуля: тут тоже, исходя из задачи определили функционал и требования по производительности, выбрали процессорный модуль. Далее, развели простую плату, на которой разместились интегральный усилитель, 3g-модем и разъемы — устройство готово! Все этапы с портированием ОС, написанием и отладкой драйверов, вывода «железной» части на боевые характеристики в значительной степени уже решены бородатыми парнями производителя процессорного модуля и образ загружаемой ОС идёт в комплекте с процессорным модулем в готовом виде.

    Итак, опуская разработку прикладного софта (т.к. он может занимать совершенно разное время, и в данном случае к разработке железа не относится) у нас получается примерно вот такой набор этапов:



    Теперь проза жизни: в первом случае разработка заняла от запуска и до появления боевой версии прибора 14 месяцев. Во втором — три месяца! И я тут не шучу!

    Драма появляется когда начинаешь переводить эти цифры в деньги и перспективы: сейчас, когда всё так стремительно прогрессирует, задержка в год-полтора может убить ваш проект — он может успеть устареть, даже ещё не успев родиться.

    Вот более понятный инвестиционный график вывода устройства на рынок:



    Применение классического дискретного метода разработки во втором случае дало бы задержку в появлении первой серии оборудования в 11 месяцев. Для заказчика, который запускал на этом свой бизнес, это означало бы 11 месяцев недополученной выручки!

    А теперь представим, что есть две разных компании, которые выводят конкурирующие устройства на рынок, разрабатываемые по этим двум подходам… Кто побеждает? Ответ очевиден.
    Поделиться публикацией
    Никаких подозрительных скриптов, только релевантные баннеры. Не релевантные? Пиши на: adv@tmtm.ru с темой «Полундра»

    Зачем оно вам?
    Реклама
    Комментарии 30
    • +1
      Кажись перепутали легенду на графике
      • 0
        Да, спасибо, исправил.
      • +1
        Графики неверно подписал, сейчас исправлю…
        • 0
          А как разъём процессорного модуля относится к вибрациям? Есть ли шансы у совсем любителя развести плату-носитель так, чтобы оно завелось более-менее сразу? Я так понимаю, что там уже можно без многослойных текстолитов обойтись, достаточно двухстороннего, если не разводить видео.
          • 0
            Мы работаем с Варисайтом, их процессорные модули имеют SODIMM-разъём. SODIMM довольно виброустойчив — дружен с вибрациями. Дело в другом, что вибрация измеряются в g — какого уровня виброустойчивость требуется?

            «Совсем любитель» — это насколько совсем любитель? И что требуется смастерить? Правильный вопрос — половина ответа :)

            И какие проблемы-то могут быть с видео?
            • 0
              Касательно вибраций — чтобы в машине работало, даже при езде по гравийной дороге.

              Совсем любитель — это нету практически никакого опыта разводки. Видео, по крайней мере HDMI — это совершенно точно высокие частоты, дифференциальные линии и т.д., шансов развести правильно крайне мало :) Какие частоты при разводке на матрицу, подключаемую напрямую, не знаю, честно говоря.

              А вообще, на плате должно быть питание, GPS-приёмник на UART, датчики ускорения скорее всего на SPI, sd-карточка и usb-device, ну и в идеале экран с тачем. Вроде совсем немножко. Главное, чтобы габариты не особо большие получились.
              • 0
                Разъемы эти, обычные вибрации, не космические, переносят без каких либо проблем.
                Там частоты на килогерцы нужны, чтоб резонанс о проблемы возникли. И то при больших энергиях. Так что смело применяйте.
            • 0
              Практически(в домашних условиях) нет, но если применять фототекстолит(текстолит с уже нанесенным фоторезистом) то теоретически можно но смысла особого нету.
            • +8
              Только следует добавить что происходит проигрыш в себестоимости прибора.
              R&D — fix price, можно её не закладывать. А вот на каждом использовании модуля будем терять X денег, ибо:
              1. Маржа производителя/ретейлера этих модулей само собой больше чем суммы переплаты за компоненты.
              2. Оверхед комплектации. То есть грубо говоря, нам хватает 32 метра памяти, а модули с нужным процессором начинаются с 128. Или нам нафиг не нужен стек каких-нибудь протоколов — i2c/ethernet/usb/wi-fi. А все эти контроллеры стоят денег. Своя плата выигрывает в возможности конфигурирования железа.
              3. Отлаживать свой код малость приятнее, чем драйвера/модификации ядра от разработчика. А баги есть практически всегда.

              ИМХО, для не шибко крупных тиражей более-менее эксклюзивного товара можно не парится и использовать готовые kit'ы, а вот выход на массовый рынок без собственной распайки/разводки не пройдет.
              • 0
                Вот совсем не факт. В каждом случае нужно считать. Да и всегда есть вопрос правильного выбора подходящего модуля.
                • +1
                  Зависит от серии, сложности задачи и маржи на выходе. Если несколько десятков, то да, можно так делать.
                  Если серия больше, то есть смысл делать свое.
                • +2
                  Почему вы не учитывали вариант использоваться Start Board от производителя, к примеру приведу Quick Start Board от Freesccale, в месте с платой вы покупаете, её схемотехнику, её разводку, её ПО, и чуть ли не по шаговую инструкцию как собрать ядро Linux для платы.
                  С таким комплектом данных время разработки уменьшается в разы, особенно если есть разводка памяти и видео. И при этом стоймость устройства получается минимально а для массового производства это очень важный критерий.

                  P.s единственный плюс процессорных модулей я вижу в том что можно не меня плату менять модуль процессора тем самым проводя быстрый апгрейд… но и тут есть подвох, к примеру у того Freesccale внутри линейки очень часто Pin-tо-Pin совместимость.
                  • 0
                    P.S.: У Варисайта совместимы VAR-SOM-AM35 и VAR-SOM-OM37. Совместимы и их новые поколения, для обратной поддержки. Сходу не отвечу про pin-to-pin-совместимость их с VAR-SOM-OM44, надо кстати изучить этот вопрос. Но простор широкий.

                    В любом случае, они все pin-to-pin-совместимы в рамках модуля одной модели, а уже тут широта для апгрейда/даунгрейда весьма широка. Например, вот тут можно посмотреть на варианты поставки процессорного модуля — шагать можно в разные стороны очень хорошо просто изменяя характеристики и стоимость.
                    • 0
                      Варианты есть, а цены почему-то секрет. Я понимаю, что это как обычно зависит от кучи факторов, но все равно интересно понять уровень цен за пару штук для прототипирования и на партии 100 и 1000 штук. Комплектация любая, просто интересует уровень цен.
                      • 0
                        Да нет тут никаких секретов. Факторов — действительно многообразие, конфигурации, размер партии и т.п.
                        Порядки на e-Find можно оценить www.efind.ru/icsearch/?search=variscite
                  • +1
                    R&D — конечно же относительный fix-price. Но…
                    Для разных подходов требуются разные команды с разными уровнями компетенций, а соответственно с разной стоимостью.
                    В первом случае команда дороже и работает дольше. В итоге разница в цене получается довольно существенной.

                    Всё зависит от кучи факторов: есть ли команда способная решить задачу? есть ли время на решение? есть ли достаточно средств? тираж изделия? etc.

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

                    По пунктам:
                    1. Не всегда, не для всех тиражей, да ещё и в российских условиях. Грубо говоря, может получиться так, что производитель закупая компоненты по два цента за вагон даже со своей маржой даст цену ниже, чем просто купить здесь у поставщиков.
                    2. Большинство параметров вполне себе конфигурируются (начиная от памяти и заканчивая протоколами и другими фичами). Другое дело, что с локального склада индивидуальную конфигурацию конечно же получить вряд ли повезёт, но вполне реально заказать и получить после того как её произведут по индивидуальному заказу.
                    3. Это только в первый раз :) В нашем случае баги правят «бородачи» у производителя. А для них это «свой код».
                  • 0
                    На диаграмме и в тексте отсутствует стадия сертификации. Разьве можно стартовать продажи не пройдя сертификацию железа и софта? И как вообще с этим обстоят дела?
                    • 0
                      В подавляющем числе случаев, речь идет лишь о добровольной сертификации.
                      А там где нужна обязательная, там зачастую нужна и лицензия на разработку и производство.
                      И это целая история уже тогда!
                      • 0
                        > В подавляющем числе случаев, речь идет лишь о добровольной сертификации.
                        Как раз об этом случае и спрашивал. Т.е. получается устройство можно продавать и без сертификации? Вопрос доверия и раскрученности?
                        • +1
                          Сертификация — действительно отдельный вопрос. Касается узкого круга случаев. Считаю, что к разработке не имеет никакого отношения, т.к. в большинстве случаев это пустая формальность, в виде лишних административных и бюрократических барьеров.

                          В гражданских проектах, это как правило при выходе на специализированные рынки: к примеру, ТЭК, ЖКХ, в вопросах касающихся биллинга/учёта.
                          В специальных проектах немного другая тема: лицензирование процессов, плюс т.н. воен.приёмка…

                          Если сузить разговор непосредственно до разработок и говорить о сервисном сегменте, т.е. о заказных разработках как о бизнесе, то тут ещё проще. Разработчик занимается именно разработкой и техническими вопросами, маркетинг и продажи (и остальной гемор) на заказчике — каждый занят своим делом.

                          Есть ещё тема с импортом, ВЭДом и ФТС — она безгранична. Вот малая толика…
                    • 0
                      Интересная и нужная статья!

                      1) Кто является ведущими производителями в этой сфере? У кого самый удобный и заточенный софт? Оптимальное соотношение цена/качество? Доступность к покупке?

                      2) Можете посоветовать процессорный модуль на базе ARM'a с RAM и flash на плате?

                      3) Что выведено на SO-DIMM'овские ноги? Какая скорость обмена осуществима? Какие частоты? и т.п.
                      • 0
                        И даже больше: существует ли распространенный процессорный модуль с поддержкой QNX «из коробки», сильным сообществом, нормальным wiki, howto и т.д., ценой в пределах 10-15 т.р., частотой хотя бы от 200 МГц?
                        • 0
                          QNX денег стоит. «Из коробки» никто не предложит.

                          Но при наличии купленной девелоперской лицензии, QNX (со средой разработки) запустить на процессорном модуле труда не составляет. Есть положительный опыт — запускали в одном из заказных проектов.
                          • 0
                            • 0
                              Спасибо, просто замечательно! Осталось понять, как теперь совокупить процессорный модуль и ПЛИС (а точнее кучу ПЛИС) на baseboard.

                              Вопрос может быть прост и глуп, но я не схемотехник)
                          • 0
                            1. Варисайт на своём израильском сайте громко заявляет, что он и есть «Leading System on Module manufacturer». Если судить по 44-му, то так оно и есть — на текущий момент самый мощный модуль у них. Что подтверждается и другими их проектами — опережают конкурентов на полгода-год.

                            Про софт: операционные системы есть, на модули они портированы производителем, драйвера написаны, есть Qt, кросс-компилятор прилагается, исходники доступны, саппорт работает — чего ещё требуется?

                            В России есть официальное представительство, русскоязычная поддержка и склад. Экспресс рассылка по всей стране.

                            2. Задачу надо понимать более точно. Вот полезная табличка: http://wiki.variscite.ru/doku.php?id=public:som-comparison
                            Можно еще посмотреть Digi ConnectCore

                            3. Скорость обмена, в качестве примера, у VAR-SOM-OM44 — gigabit ethernet!

                            Полная распиновка SO-DIMM в даташитах подробно описана. Вот по VAR-SOM-AM35: www.variscite.com/images/stories/DataSheets/VAR-SOM-AM35_1_23.pdf
                            • 0
                              Спасибо за ответ! Статья настолько зацепила, что весь день сижу гуглю/читаю.

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

                              Процессорный модуль мог бы стать выходом из положения: разрабатываем только baseboard с радиочастотной частью, ПЛИС и т.п., а процессор с обвязкой, систему и драйвера берем готовые.

                              Я понял, что я хочу процессорный модуль:
                              1) Включающий CPU, RAM, RTC, flash
                              2) Удобный коннектор к baseboard, возможность нормально заводить прерывания и внешние данные (шина данных/адреса на коннекторе?)
                              3) Поддержку QNX Non Commercial из коробки, нормальное сообщество пользователей и разработчиков
                              4) Приемлемую цену за модуль и отладочную baseboard
                              5) Долговременной поддержкой, возможностью купить

                              Есть контора swd.ru, которая занимается продвижением qnx. У них есть «стартовые комплекты на базе ОС QNX для популярных процессорных плат»:
                              service.swd.ru/sup_hardware/boards.php?cat_id=1

                              В том числе есть платы BeagleBoard. Есть наша контору, которая делает совместимую плату в форм-факторе SO-DIMM за вменяемые деньги, называется BlueShark:
                              www.mentorel.ru/index.php/about/36

                              Что скажете о ней?

                              И как быть с обменом с ПЛИС на baseboard? В прошлых макетах просто делали общую шину адреса и данных для процессора и ПЛИС.

                              PS QNX Non Commercial вроде как полноценный и бесплатный. Для наших задач отработки и проверки алгоритмов подходит.
                              • 0
                                BlueShark — тоже вариант. Дороговато по-моему и процессор малёк устарел (на пару лет).
                                Это аналог устаревшего VAR-SOM-OM35.

                                По ПЛИС нет проблем оставить ваше решение, адресная шина и шина данных доступны на SO-DIMM.
                                Можно еще подумать завязать по SPI или I2C, SDIO, UART на худой конец. Вариантов масса.
                                • 0
                                  Приехала сегодня AM3517 с базовой платой. Сваял UART'овский проводок, пообщался с u-boot'ом. И тут выяснилась странная вещь — ни кросс-компилятор, ни bsp на их сайте-то не лежат. Где их искать? Диск, на который ссылаются они в мануалах, мне не привозили.
                                  • 0
                                    Диск прилагается к DVK. К остальным железякам он не входит в комплектацию поставки.
                                    Но всё запрошенное доступно на ftp.

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