Технологии «компьютеров-на-модуле» (Computer-on-Module, COM) известны уже более 10 лет и сегодня стали особенно актуальны в связи с потребностями рынка в компактных системах со сверхмалым энергопотреблением, предназначенных для мобильных приложений. Принятый недавно стандарт SMARC (Smart Mobility ARChitecture) на базе ARM-процессоров ознаменовал собой новый этап развития платформы COM. Благодаря технологии «компьютеров-на-модуле» разработчики встраиваемых систем имеют возможность ускорить вывод конечного изделия на рынок, используя при этом модули разных производителей. Концепция COM позволила снизить затраты на проектирование и производство, устранив факторы риска при разработке системы. Поскольку в стандартизированных модулях COM уже интегрированы чипсет, процессор, память и другие необходимые компоненты, то разработчики могут сконцентрировать усилия на создании собственно встраиваемого приложения. Кроме того, стандартизированные модули COM обеспечивают высокую масштабируемость изделий, включая поддержку процессоров разных типов, что очень полезно OEM-производителям, поскольку позволяет легче переносить приложения между архитектурами RISC и CISC.
Встраиваемые решения: эволюция продолжается
Выпуск каждого нового поколения микропроцессоров от Intel не остается без внимания индустрии. Не стало исключением и появление процессоров Intel Core третьего поколения, ранее известных как Ivy Bridge. Анатолий Сысоев |
Сегодня фокус внимания смещается на такие характеристики, как энергопотребление и производительность на один ватт, и стандартные форм-факторы платформы CОM также должны быть усовершенствованы в соответствии с требованиями применяемых процессорных архитектур.
COM Express
Появление в 2005 году стандарта COM Express, ратифицированного консорциумом PICMG (PCI Industrial Computer Manufacturers Group), стало ключевым моментом в развитии технологии COM. Успех и конкурентоспособность модулей COM Express в первую очередь определила поддержка новейших поколений микропроцессоров. В 2012 году было представлено третье поколение процессоров Intel Core на базе микроархитектуры Ivy Bridge, а вскоре компании, работающие на рынке «компьютеров-на-модуле», предложили новые серии модулей COM Express на основе этих процессоров. Например, компания Kontron выпустила модули COMe bIP2 и COMe bIP6, использующие двух- или четырехъядерные процессоры Intel Core i3-3000, Intel Core i5-3000 или Core Intel i7-3000 с тактовой частотой от 1,6 до 2,7 ГГц. Основными приложениями для этих модулей стали медицинские системы, цифровые системы оповещения и рекламы, а также средства автоматизации розничной торговли. Несмотря на то что до официального анонса процессоров Intel Core четвертого поколения с архитектурой Haswell, которые придут на смену процессору с архитектурой Ivy Bridge, остается еще достаточно времени, уже появляются первые прототипы модулей на базе процессоров нового поколения. Так, на выставке Embedded World 2013 были показаны прототипы модуля COM Express, построенные на основе процессора Haswell.
Сегодня стандарт COM Express наиболее популярен на рынке «компьютеров-на-модуле» и, по сути, стал самостоятельным стандартом в стандарте, что объясняется многими факторами, в том числе тем, что конечные продукты быстрее появляются на рынке и разработчики имеют возможность адаптировать свои системы под разные требования с минимальными затратами. И хотя модули стандарта COM Express изначально были оптимизированы для процессоров x86, в этом стандарте предусмотрена возможность работы и с процессорами других типов, в частности Power, а также коммуникационными процессорами Freescale QorIQ.
SMARC для проектов на ARM и SoC
Сегодня на рынке встраиваемых решений наблюдается рост популярности микросхем типа System-on-Chip (SoC) и процессоров ARM, которые благодаря высокой производительности и малому энергопотреблению широко применяются в мобильных устройствах, в частности смартфонах и планшетных компьютерах, став привлекательной альтернативой для процессоров других типов, традиционно используемых во встраиваемых платах малогабаритных форматов.
Решения на базе SoC и ARM-процессоров, отвечающие требованиям открытого стандарта COM, позволяют строить компактные безвентиляторные системы с низким энергопотреблением, однако для производителей прежде всего важна возможность интегрирования нового класса процессоров в свои приложения с минимальными затратами. Независимый от производителя открытый стандарт COM оказался здесь как нельзя кстати, однако до недавнего времени отсутствовал стандарт, учитывающий особенности процессоров ARM и микросхем SoC.
Фундаментальное отличие архитектуры ARM от x86 состоит в том, что интерфейсы первой более специализированы и не так широко распространены, как, например, интерфейсы SATA или PCI Express. Многие однокристальные системы на основе ARM имеют по нескольку интерфейсов UART, а также интерфейсы I 2 C и SPI. Теоретически инвестиции в разработку и компоненты могли бы сделать набор интерфейсов ARM типовым и стандартизованным, однако на практике это, скорее всего, привело бы к утрате технологией ARM основного преимущества, которому она обязана своей привлекательностью, — энергоэффективности. Малое выделение тепла способствует разработке безвентиляторных решений, а это означает повышенную надежность и большое время наработки на отказ.
Нельзя создать гибридную архитектуру смешав технологии ARM и x86 — их отличия друг от друга определяют их преимущества, которые активно используют разработчики. Например, чипсет для процессора x86 поддерживает множество интерфейсов, присущих ПК: PCI Express, USB и SATA, а у однокристальных систем с ядрами ARM преобладают классические встраиваемые порты вроде UART, I 2 C, I 2 S и SDIO, тогда как важнейшие для ПК интерфейсы наподобие PCI изначально отсутствуют. Кроме того, чипы ARM имеют специальные видеовыходы и могут поддерживать интерфейсы для подключения камер, такие как интерфейсы ассоциации MIPI (например, Camera Serial Interface, CSI). Требования к питанию процессоров ARM также сильно отличаются от систем на базе x86. Следует отметить, что часто в SoC на базе процессоров ARM интегрированы специализированные контроллеры и интерфейсы, в результате чего создание COM-модулей на базе таких SoC означает разработку полностью заказной конфигурации, а это неизбежно сказывается на стоимости изделия.
Таким образом, ни одна из существующих сегодня COM-концепций, которые были изначально разработаны для x86, не подходит для решений ARM/SoC, поэтому на ARM-версиях COM-модулей можно реализовать лишь минимальный набор интерфейсов. Это существенно ограничивает возможности применения таких модулей, поскольку каждый производитель может использовать те или иные контакты разъемов для своих целей. В результате нарушается один из основных принципов COM-технологии — использование модулей разных производителей, изготовленных на базе одной спецификации.
Необходимым условием дальнейшего развития концепции COM на рынке встраиваемых систем должно стать создание открытого стандарта для решений на базе ARM/SoC, и в международную группу по стандартизации встраиваемых технологий SGET (Standardization Group for Embedded Technologies) был представлен проект соответствующей спецификации с рабочим названием ULP-COM (Ultra Low Power — COM), который был поддержан ведущими производителями встраиваемых модулей и ратифицирован под названием SMARC.
Сегодня разработчики получили стандарт, отвечающий требованиям ARM и SoC, который позиционируется как альтернатива существующим частнофирменным платам, нередко способным работать лишь с одной моделью процессора. В спецификации SMARC определены COM-модули с плоским профилем и ультранизким энергопотреблением, рассчитанные в первую очередь на мобильные приложения с автономным питанием. По сравнению с COM Express, модули SMARC обладают более скромными возможностями по реализации интерфейсов USB и PCI Express, в них отсутствует поддержка технологии PEG (PCI Express Graphics) и шины LPC (Low Pin Count). В то же время в стандарте SMARC предусмотрена возможность работы с последовательной шиной SPI (Serial Peripheral Interface), широко распространенной во встраиваемых приложениях и используемой для подключения различных устройств, а также с интерфейсами цифровых камер и флэш-картами SDIO (Secure Digital I/O); кроме того, имеется набор дисплейных интерфейсов.
Спецификация SMARC определяет два форм-фактора модулей: полноразмерный (82 мм x 80 мм) для размещения высокопроизводительных и высокоинтегрированных SoC, а также укороченный (82 мм x 50 мм) для компактных систем с низким потреблением. В качестве разъема для подключения к платам-носителям выбран 314-контактный разъем стандарта MXM 3.0, имеющий высоту всего 4,3 мм. Такая низкопрофильная конструкция разъема позволяет применять модули SMARC в таких приложениях, как планшетные и носимые компьютеры. Разъем MXM 3.0 следует признать очень удачным выбором еще и потому, что он доступен в исполнении с повышенной устойчивостью к ударам и вибрации, благодаря чему может применяться в автомобильных приложениях.
В спецификации SMARC обеспечена возможность реализации до 281 линии ввода-вывода, что на 50 больше, чем, например, в разъеме версии MXM 2.0, поэтому в новых модулях может быть реализовано больше специализированных интерфейсов и они могут поддерживать широкий набор процессоров ARM и SoC. Для подключения дисплеев могут использоваться следующие интерфейсы:
- LVDS (Low-Voltage Differential Signaling) с глубиной цвета 18 или 24 бит — интерфейс низковольтной дифференциальной передачи сигналов, предназначенный для передачи данных на высоких частотах;
- HDMI (High-Definition Multimedia Interface) — интерфейс для передачи мультимедиа, позволяющий передавать цифровые видеоданные высокого разрешения и многоканальные цифровые аудиосигналы с защитой от копирования;
- DisplayPort (в том числе embeded Display Port) — сигнальный интерфейс для цифровых дисплеев с защитой от копирования, который применяется главным образом для соединения компьютеров с дисплеем или компьютеров с системами домашнего кинотеатра.
Кроме того, поддерживаются LCD-мониторы с параллельным RGB-интерфейсом (24 бит) и стандарт DSI (Display Serial Interface). Благодаря всему этому разработчикам больше не придется искать компромиссы между богатой функциональностью x86-совместимых решений и сравнительно скудными возможностями ввода-вывода устройств с архитектурой ARM.
Инициатором разработки спецификации SMARC была компания Kontron, поэтому ее первые продуктовые линии COM-модулей с форм-фактором SMARC стали доступны на рынке практически одновременно с ратификацией нового стандарта. Сегодня можно использовать на выбор модули из трех семейств SMARC-модулей на базе процессоров ARM (с ядрами Cortex-A8 и Cortex-A9) и оценочную плату-носитель для SMARC-модулей. Эти модули включают в себя продукты на базе процессора Tegra 3 компании Nvidia для выполнения задач обработки графики с интенсивными вычислениями, а также на базе процессоров из масштабируемого семейства i.MX6 от Freescale с одно-, двух- и четырехъядерными процессорами и процессора Texas Instruments Sitara AM3874 (см. рисунок).
SMARC-модуль компании Kontron |
Модули на базе процессора Tegra с тактовой частотой 1,2 ГГц и архитектурой ARM Cortex-A9 ориентированы на приложения для обработки изображений в системах POS/POI (автоматизированные точки продаж/информационные системы), информационно-развлекательных комплексах, цифровых табло, системах безопасности и мониторинга, а также в медицинских приборах и системах военного назначения. Интегрированный графический процессор Nvidia GeForce в сочетании с ARM-ядрами обеспечивает высокую производительность при обработке графики с возможностью работы на два дисплея. Следует отметить поддержку HD-видео, в том числе возможность его декодирования, а также кодирование MPEG2 и HD-видео. Обеспечена и поддержка видеокамер на базе двух портов CSI-2.
Модули на базе процессора i.MX6 компании Freescale за счет масштабируемости позволяют создавать универсальные решения. Использование ARM Cortex-A9/800 МГц с числом ядер от одного до четырех позволяет создавать целые продуктовые линейки, включающие модели разных классов в зависимости от типа применяемого модуля. Обычно речь идет об интеллектуальных устройствах, требующих сбалансированных характеристик процессора и подсистемы обработки графики. С учетом применяемой СнК, изделия интегрируют одну или две независимые графические подсистемы, в которых используется до четырех 3D-шейдеров, обеспечивающих высокое качество визуализации. Кроме того, имеются встроенные декодер и кодер для обработки видео вплоть до стандарта full HD. Модули, оборудованные этими процессорами, способны работать в расширенном температурном диапазоне от -40 до +85 ºС.
Модули на базе процессора Sitara AM3874 (на базе ядра ARM Cortex-A8) компании Texas Instruments ориентированы на недорогие приложения. Такие модули отличаются сверхнизким потреблением энергии и способны работать в расширенном диапазоне температур, поддерживают 3D-графику и обработку HD-видео. Два независимых дисплея могут быть подключены через 18/24-битный параллельный ЖК-порт или 18/24-битные одноканальные порты LVDS и HDMI. Кроме того, интегрирован параллельный интерфейс видеокамеры. Среди других поддерживаемых интерфейсов следует отметить: 2 × SPI, 4 × I 2 S, многофункциональный порт 4 x I 2 C и сдвоенную шину CAN. В качестве одного из типовых вариантов промышленного применения модулей на основе Sitara AM3874 называют автоматизированные системы контроля производственных линий.
Для всех новых SMARC-модулей доступны также оценочные платы-носители, на которых разработчики могут отрабатывать и тестировать свои приложения. В соответствии с требованиями различных систем на базе ARM к специализированным интерфейсам, они поддерживают широкий набор шин и различные типы памяти. Однако стандартные оценочные платы не всегда могут соответствовать конкретным требованиям приложений, поэтому OEM-производители могут сами разработать необходимые платы. В качестве альтернативы большинство поставщиков модулей также предлагают разработку специализированных плат-носителей; в частности, такой сервис имеется у компании «РТСофт».
Программная поддержка
Для спецификации SMARC планируется обеспечить поддержку всех ОС, используемых для запуска систем на базе процессоров ARM: Windows Embedded Compact 7, ОС Linux, Android и VxWorks. Последнее очень важно для систем, решающих задачи в режиме реального времени, а поддержка платформы Android, распространенной в сегментах смартфонов и планшетов, открывает разработчикам мобильных решений путь в мир мультимедийных систем, работающих на базе архитектуры ARM и обладающих развитыми коммуникационными возможностями. Важность такой поддержки заключается также в том, что под ОС Android уже создано множество приложений и имеется много специалистов, способных разрабатывать системы на базе Android.
Необходимо подчеркнуть, что есть ряд особенностей работы ОС на платформе ARM по сравнению с x86. Например, подход, который успешно применяется для x86-систем, когда при первом запуске ОС определяются отсутствующие драйверы, а затем при повторном запуске они интегрируются в систему, не работает в случае ARM и SoC. Для таких систем непременным условием запуска ОС являются предварительное интегрирование и настройка драйверов, нужных для поддержки конкретной процессорной платформы и требуемой периферии. Поэтому значительное внимание необходимо уделять подготовке пакета поддержки платформы (Board Support Package, BSP) для систем на базе ARM. Если OEM-производитель интегрирует с помощью платы-носителя дополнительные компоненты, не являющиеся частью стандартного оборудования для этих процессоров, то их драйверы также должны быть встроены в загрузчик ОС. Таким образом, для эффективной работы с модулями на базе ARM-решений необходим всеобъемлющий BSP. У многих OEM-производителей могут возникать трудности при интегрировании драйверов и работе с загрузчиком, и идеальным вариантом является предоставление со стороны компаний, занимающихся изготовлением модулей, сервиса по портированию драйверов индивидуальных компонентов, используемых на плате-носителе, и настройке загрузчика ОС.
Важную роль в поддержке OEM-производителей и ускорению вывода конечных изделий на рынок играют партнеры производителей COM-модулей, в портфеле сервисов которых должны быть:
- разработка малогабаритных плат-носителей для COM-модулей, в том числе построенных на базе ARM/SoC;
- разработка механической конструкции под платы-носители по требованиям заказчика для малогабаритных SMARC-систем;
- выполнение всех этапов разработки с передачей конструкторской документации для производства;
- поддержка производства и серийного выпуска для уже созданных изделий;
- создание BSP для аппаратных платформ COMExpress и SMARC;
- создание системных решений с последующей сертификацией продукции под конкретный рынок.
***
Сегодня наблюдается сближение функциональных возможностей и характеристик решений на базе x86-совместимых процессоров (в частности, процессора Atom) и на базе процессоров ARM, в результате чего обостряется конкуренция между ними в сегменте компактных систем со сверхмалым энергопотреблением. Расширенная программная поддержка размывает границы между разными процессорными архитектурами, позволяя разработчикам интегрировать новые процессорные платформы в единую экосистему, а развитие открытых международных стандартов модульных систем дает им возможность выбора стратегии создания решения на базе развитой экосистемы. Стандарт SMARC открывает широкие перспективы внедрения технологии ARM и SoC во многих и, как ожидается, совершенно новых приложениях. На смену существующему подходу, предполагающему создание специализированных решений, приходит стандартизированный подход, который позволяет разработчикам и OEM-производителям использовать готовые стандартные решения на основе спецификации SMARC, тем самым уменьшая затраты на разработку и сокращая сроки вывода изделий на рынок.
Среди возможных приложений для систем на основе SMARC следует отметить мобильные устройства со сверхнизким потреблением, человеко-машинные интерфейсы (HMI), портативные медицинские приборы и устройства для работы вне помещений с питанием от солнечных батарей (например, автоматы по продаже билетов на парковке, электрические насосы на электромобилях или цифровые табло на остановках транспорта). Кроме того, эти решения с успехом найдут применение в информационно-развлекательных системах на транспорте, портативных измерительных приборах и торговых кассовых аппаратах. Уже в настоящее время на компьютерных модулях SMARC планируется производство HMI-устройств с низким энергопотреблением и автономным питанием с размером экрана 7, 10 и 15 дюймов.
Александр Ковалев (pr@rtsoft.ru) — директор направления, компания «РТСофт» (Москва).