Контрактная разработка встраиваемых систем: преимущества и основные риски

Роман Пахолков, руководитель Инновационной компании Promwad, Минск

1. Встраиваемые системы

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

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

В последние годы термин “встраиваемые системы” значительно расширил границы своего применения, и теперь его употребляют относительно большинства электронных OEM-модулей (процессорных, беспроводных, интерфейсных и т.д.), относительно всех компактных операционных систем (микроОС, ОС реального времени, планировщиков и т.п.), относительно других аппаратных или программных модулей для электронной аппаратуры, и даже относительно IP-ядер применяемых в ПЛИС.

Как видим, спектр применения этого термина значительно расширился. Во многих случаях мы можем даже слышать спекуляции относительно термина “встраиваемые системы”, которые возникают относительно различных электронных продуктов (к примеру, PLC-контроллеров), на практике не являющихся встраиваемой системой, т.к. они не требуют усилий инженера-разработчика по его интеграции в прибор или систему. Такие спекуляции вызваны невероятной популярностью словосочетания “встраиваемые системы” или “embedded systems”, особенно в англоязычном варианте.

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

2. Бизнес-модель контрактного разработчика

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

2.1. Определение

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

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

2.2. Отличия от других бизнес-моделей

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

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

Для производителя продукта явными выгодами от этой модели являются:

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

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

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

Таким образом, при выборе контрактного разработчика важно учитывать эти факторы и выбирать оптимального подрядчика.

3. Роль контрактной разработки на рынке встраиваемых систем

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

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

4. Контрактная разработка в России

К сожалению, в России контрактная разработка электроники, как сектор рынка, развита крайне слабо. Основной причиной этого является отсутствие спроса на услуги разработки электроники у отечественных производителей и, как следствие, малое стимулирование развития сильных компаний-разработчиков электроники. Причины этого явления были проанализированы в статье “Эффективная контрактная разработка”, опубликованной в отраслевом деловом ежегоднике «Живая электроника России'2007».

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

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

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

5. Разработка встраиваемых систем: этапы и риски

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

5.1. Этапы разработки встраиваемых систем

Рассмотрим этапы разработки заказных встраиваемых систем, являющихся аппаратно-программными модулями, создаваемыми для работы в составе электронного устройства.

Концепция

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

Техническая проработка

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

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

Разработка

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

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

Сборка и верификация

На этом этапе осуществляются следующие действия:

  • производство опытных образцов изделий;
  • первое включение устройства;
  • тестирование модулей встраиваемой системы по отдельности и в собранном виде (интеграционное тестирование);
  • исправления в опытных образцах;
  • исправления в конструкторской документацию и ПО;
  • натурные и сертификационные испытания опытных образцов.

По результатам этого этапа принимается решение о переходе работ к фазе подготовки установочной партии, либо о повторении этапов “Разработки” и “Сборки и верификации”.

Установочная партия

На этом этапе конструкторская документация дорабатывается с учетом технологических возможностей производства, где устройство будет выпускаться серийно. В том числе проводятся работы по оптимизации себестоимости устройства, в которые входят не только выбор поставщиков, но и замена части компонентной базы и оптимизация печатной платы для снижения стоимости производства. Также в КД могут быть внесены изменения, связанные с технологичностью устройства: разъемные соединения, контрольные точки, крепежные отверстия и т.п.

Готовятся дополнительное программное обеспечение для тестирования устройства, стенды для прошивки и испытания устройства. Разрабатываются инструкции по сборке, прошивке и тестированию устройства на производстве. Непосредственно выполняются работы по производству установочной партии устройств в количестве от 10 до 50 экземпляров.

Серийное производство

Переход к этапу серийного производства может быть осуществлен лишь после успешного проведения этапа “Установочная партия”. На этом этапе могут частично выполняться работы предыдущего этапа по совершенствованию: инструкций, ПО для посттестирования устройства (PMAT - post-manufacture acceptance test) и тестовых стендов. Кроме этого, должен осуществляться непрерывный аудит качества производимой продукции, проверки на соответствие технологическим нормам и анализ тестов проводимых производителем. Должны отслеживаться тенденции на рынке электронных компонентов и другой компонентной базы для реагирование на новости об изменениях, вносимых производителями в свою продукцию (в частности, микросхемы) или о сроках и причинах снятия компонентов с производства.

5.2. Риски разработки встраиваемых систем

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

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

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

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

Риск неадекватной технической поддержки и ошибки чипа. Выбор микросхемы без обоснования доступности и без проверки ненадежных вендоров может привести даже к тому, что на этапе подготовки к серийному производству микросхему снимут с производства, либо произведут неравнозначную замену. Другими менее неприятными обстоятельствами могут стать: большое число ошибок, неотраженных в документах “Datasheet” и многочисленных “Errata”, неадекватность технической поддержки или поддержка только на китайком языке, “сырость” нового кристалла, ошибки в котором впервые выявляются в процессе разработки.

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

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

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

6. Расчет и сравнение бюджетов разработки

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

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

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