ПРЕСС-ЦЕНТР

«Компьютеры-на-модуле» SMARC для перспективных приложений на ARM и СнК

МКА:ВКС, 2/2013

Герхард Щука (Gerhard Szczuka), Kontron Europe

До настоящего времени дизайн приложений на базе процессоров ARM в основном носил полностью заказной характер, то есть разрабатывался «с нуля», что накладывало свои ограничения на время и стоимость разработки. Значительно снизить стоимость разработки высокопроизводительных встраиваемых ARM и СнК-приложений и сократить время выхода их на рынок (даже при производственных сериях более 200) может использование стандартизованных масштабируемых блоков. К таким блокам относятся «компьютеры-на-модуле» открытого международного стандарта SMARC, в котором учтены все ключевые аспекты надлежащего проектирования прикладных систем с использованием технологии ARM и СнК.

На протяжении многих лет технология ARM лежала в основе дизайна огромного количества специализированных устройств, среди которых настольные ТВ-приставки, приёмники, коммутаторы и многие другие примеры бытовой и промышленной техники. Со стремительным ростом популярности смартфонов и планшетных компьютеров стало очевидно, что технология ARM может успешно применяться в приложениях, ранее ориентированных прежде всего на архитектуру x86. Впечатляющий коммерческий успех высокопроизводительных ARM-процессоров на рынке широкого потребления, бесспорно, оказывает влияние на рынок встраиваемых компьютерных технологий (ВКТ), где определяющую роль играют такие факторы, как длительный жизненный цикл, короткие циклы разработки и низкая стоимость владения.

Разрабатывать «с нуля» или использовать готовые блоки?

Разработчики и OEМ-производители всегда стараются ответить на этот вопрос и найти баланс между сроками проектирования и затратами, с одной стороны, и временем выхода на рынок, с другой. В тех случаях, когда разработка «с нуля» экономически нецелесообразна, идеальным решением является использование готовых «строительных» блоков, которые OEM-производители могут эффективно интегрировать в свои приложения, при этом сохранить максимальную гибкость своего решения и обеспечить защиту инвестированных в разработку средств. Такие «строительные» блоки, построенные на процессорах ARM, значительно экономят ресурсы, определяющие совокупную стоимость владения (Total Cost of Ownership) всего приложения.

«Компьютеры-на-модулях» на процессорах ARM

Примером «строительных» блоков являются «компьютеры-на-модуле». По данным аналитической компании IMS Research в 2011 году 39% «компьютеров-на-модуле» были построены на базе процессоров ARM в большинстве своем в частнофирменном дизайне. Ожидается, что к 2016 году на их долю придётся уже более 59% всего рынка «компьютеров-на-модуле». Таким образом, спрос на «компьютеры-на-модуле» с процессорами ARM огромный, и мы будем наблюдать резкую кривую роста этого спроса в будущем. Тем не менее «компьютеры-на-модуле» на базе ARM-процессоров полностью не заменят архитектуру x86, но будут завоевывать те рыночные сегменты, где сегодня x86 – из-за стоимости, ограничений по энергопотреблению и тепловыделению (TDP) не отвечает требованиям рынка. Например, HMI-устройства с сенсорным экраном, мощной графикой и минимальным энергопотреблением, медицинские приборы, портативные устройства для работы в жёстких условиях эксплуатации, уличные приборы, работающие от солнечных батарей: платёжные терминалы на парковках, электронасосы для электромобилей или цифровая реклама на автобусных остановках. А также ряд других примеров: автомобильные приложения для управления парком автотранспорта или цифровые рекламные/развлекательные панели в автобусах и на поездах, мобильное испытательное оборудование, киоски, банкоматы.

Высокая производительность и низкое энергопотребление

Чем же, однако, привлекательны процессоры ARM для «компьютеров-на-модуле»? Современные двух- и четырёхъядерные процессоры ARM по своей производительности находятся на уровне процессоров Intel Atom (рис. 1), при этом потребляют менее 2 ватт и некоторые из них поддерживают режим работы в индустриальном диапазоне температур. Это значительно упрощает систему охлаждения, позволяя создавать компактные и недорогие устройства. Требования по питающему напряжению, предъявляемые к процессорам ARM гораздо ниже, чем к x86, а следовательно меньше требуется времени на разработку и ниже суммарные затраты. Более того, процессоры ARM имеют 15-летний жизненный цикл.

Рис. 1. Современные процессоры ARM по производительности сопоставимы с процессорвами Intel Atom, обладая при этом значительно более низким энергопотреблением

Рис. 1. Современные процессоры ARM по производительности сопоставимы с процессорвами Intel Atom, обладая при этом значительно более низким энергопотреблением

Оригинал

Перевод

Greekbench score

Показатель теста производительности Greekbench (Score)

TDP (Processor & Chipset)

Тепловой пакет (Процессор и чипсет) (TDP)

Performance per Watt Ratio

Производительность на ватт (Score/TDP)

Systems based on Intel Atom Z530 (1.6 GHz/1 Core, Linux 32 bit)

Системы на базе Intel Atom Z530 (1,6 ГГц/1 ядро, 32-бит Linux)

Systems based on Intel Atom N270 (1.6 GHz/1 Core, Linux 32 bit)

Системы на базе Intel Atom N270 (1,6 ГГц/1 ядро, 32-бит Linux)

Systems based on Intel Atom N2600 (1.6 GHz/2 Core, Linux 32 bit)

Системы на базе Intel Atom N2600 (1,6 ГГц/2 ядра, 32-бит Linux)

Systems based on NVIDIA Tegra 2 (1.0 GHz/2 Core)*

Системы на базе NVIDIA Tegra 2 (1,0 ГГц/2 ядра)*

Systems based on NVIDIA Tegra 3 (1.3 GHz/4 Core)*

Системы на базе NVIDIA Tegra 3 (1,3 ГГц/4 ядра)*

Greenbench Scores taken from http://browser.primatelabs.com/

Показатель Greenbench взят с сайта http://browser.primatelabs.com/

* TDP anticipated

* Ожидаемый тепловой пакет

Почему стандарты «компьютеров-на-модуле» для x86 не подходят для ARM?

Следует отметить, что высокая энергоэффектность процессоров ARM достигается благодаря их архитектуре, которая проектируется индивидуально под конкретное приложение. В отличие от технологии x86, где периферийные устройства подключаются через универсальные шины типа PCI, PCI Express или USB, процессоры ARM интегрируют в себе контроллеры и интерфейсы для подключения периферийных устройств. Такая организация схем ввода-вывода архитектуры ARM приводила до настоящего времени к частнофирменному дизайну «компьютеров-на-модуле». Кроме того для решения одних и тех же задач ARM и x86 используют разные интерфейсы. Например, MIPI-интерфейс для подключения недорогих миниатюрных дисплеев и видеокамер в ARM архитектуре и DisplayPort или USB в x86. Для подключения периферийных устройств в ARM гораздо чаще используется интерфейс SPI (Serial Peripheral Interface) вместо PCI или PCI Express, а хранение данных чаще организуется через SDIO, нежели чем через SATA. Таким образом, спецификации «компьютеров-на-модуле», которые изначально разрабатывались в расчёте на применение процессоров x86, такие как, например, Qseven или Core Express, не очень подходят для проектов с использованием ARM. Дело в том, что эти стандарты, в том виде, в котором они сейчас существуют, определяют лишь минимальный набор интерфейсов, необходимый для реализации ARM-приложений. Но это сильно ограничивает спектр возможных применений подобных модулей, а свободные контактные выводы соединительных разъёмов дают производителям «компьютеров-на-модуле» возможность резервировать их под частнофирменные задачи. Это в свою очередь сводит на нет основную идею, заложенные в идеологию «компьютеров-на-модуле», − свободный выбор производителя и надёжность открытого международного стандарта.

Требуется ли новый стандарт?

Для создания полнофункционального и жизнеспособного стандарта «компьютеров-на-модуле» для ARM, не менее успешного, чем COM Express для x86, необходима новая спецификация. Такая спецификация должна предлагать максимально возможный набор интерфейсов для ARM на коннекторах сменных модулей, при этом объединять «системы-на-кристалле» разных уровней производительности. По этой причине инженеры Kontron, совместно со специалистами других международных компаний, работающих на рынке embedded, разработали стандарт «компьютеров-на-модуле» SMARC, специально ориентированный на применение процессоров ARM и «систем-на-кристалле», где утверждена оптимальная для данного сегмента контактная схема разъёма и обеспечен высочайший уровень защиты проектных инвестиций разработчиков. Спецификация SMARC позволяет OEM-производителям сократить время разработки своих приложений на базе процессоров ARM примерно на 7−9 месяцев.

Спецификация SMARC

Открытый стандарт сверхмалопотребляющих «компьютеров-на-модуле» SMARC предназначен для новейших мобильных приложений, в том числе с автономным питанием. Мобильные устройства, такие как встраиваемые планшетные компьютеры, должны иметь тонкий дизайн и одновременно предусматривать возможность для установки дополнительных микросхем или замены SOC-процессоров в будущем на более производительные. Таким образом, в стандарте SMARC определены два типоразмера модулей: компактный (82 мм × 50 мм) и полноразмерный (82 мм × 80 мм) (рис. 2). Ширина модуля, равная 82 мм, совпадает с длиной разъёма и поэтому неизменна. Компактный модуль подходит для создания миниатюрных портативных устройств, включая наладонники. Полноразмерные модули позволяют зарезервировать достаточно места для установки высокопроизводительных «систем-на-кристалле» с более громоздкими системами охлаждения. Уже сейчас в стандарт заложена большая гибкость в выборе возможностей для проектирования и достаточно высокий потенциал для текущих и перспективных разработок.

Рис. 2. Стандарт SMARC определяет два формфактора: "компактный" и "полноразмерный"

Рис. 2. Стандарт SMARC определяет два формфактора: «компактный» и «полноразмерный»

Миниатюрный тонкий дизайн

Одна из самых главных особенностей при создании новых приложений - максимально тонкий дизайн модулей (рис. 3). При этом важнейшее значение имеет разъём, соединяющий модуль с платой-носителем, именно он определяет минимальное расстояние между ними. В модулях SMARC используется ламельный коннектор спецификации MXM 3.0. Его толщина всего 4,3 мм, что позволяет создавать сверхтонкие конструкции с расстоянием между модулем и платой-носителем всего1,5 мм. А общая возможная толщина проектируемых приложений может быть менее 9 мм, в зависимости от того, какие по высоте физические разъёмы будут применены. Коннектор MXM 3.0 надёжно зарекомендовал себя при массовом использовании в графических картах ноутбуков и выпускается несколькими производителями. Это широко известное и недорогое решение с длительным жизненным циклом.

Рис. 3. Сверхтонкий разъём MXM 3.0 (4,3 мм) позволяет создавать компактные портативные устройства. В нём предусмотрено 314 контактных выводов для организации ввода-вывода современных и перспективных "систем-на-кристалле" и процессоров ARM.

Рис. 3. Сверхтонкий разъём MXM 3.0 (4,3 мм) позволяет создавать компактные портативные устройства. В нём предусмотрено 314 контактных выводов для организации ввода-вывода современных и перспективных «систем-на-кристалле» и процессоров ARM.

Изобилие сигнальных линий

В разъёме MXM 3.0 предусмотрено 314 контактных выводов. 33 из них зарезервировано для сигнальных линий источника питания и заземления, таким образом, для практического использования в SMARC остаётся ещё 281 контактный сигнал. Это на 50 контактов больше, чем, например, в коннекторе MXM 2.0, который среди прочих используется в COM-модулях Qseven. Высокая плотность сигнальных выводов разъёма особенно важна, поскольку количество доступных сигналов - это основа для создания исчерпывающего и в то же время многоцелевого набора контактов COM-модулей.

Одна из особенностей SMARC - так называемый блок альтернативных функций, AFB (Alternate Function Block). Это набор из 20 сигнальных линий, которые в настоящей спецификации зарезервированы для реализации дополнительных прикладных интерфейсов, таких как I2C, GbE, Fieldbus, MOST150, USB 3.0 и др. В следующих версиях спецификации SMARC на этих 20 контактах могут быть реализованы новейшие интерфейсы, отражающие будущие технические достижения, сохраняя полную совместимость с существующими разработками.

Первые серийные образцы «компьютеров-на-модуле» SMARC

Компания Kontron уже разработала три «компьютера-на-модуле», соответствующие новой спецификации. Первый из них - Kontron SMARC-sAT30. В соответствии со спецификацией SMARC его размеры 82 мм х 50 мм, на нём установлена «система на кристалле» NVIDIA Tegra 3 Quadcore, 800 МГц на базе четырёхъядерного процессора ARM Cortex 9 (рис. 4). Модуль предназначен для графически-ориентированных приложений, таких как digital signage или медиаплееры. Для этого в нём реализованы сверхмощные графические функции со специализированными интерфейсами для вывода изображений на два независимых дисплея, включая аппаратно-ускоренный видеодекодер и кодер высокой чёткости (HD), а также средства ускорения 2-мерной и 3-мерной графики (2D and и 3D acceleration). Подключение дисплея осуществляется через параллельный интерфейс (Parallel LCD), 18-разрядный одноканальный LVDS или HDMI. В дополнение к этому SMARC-sAT30 поддерживает подключение видеокамеры через два порта двухканального интерфейса CSI.

Рис. 4. В соответствии со спецификацией SMARC, размер модуля SMARC-sAT30 составляет всего 82 мм х 50 мм, на нём установлена система-на-кристалле NVIDIA Tegra 3 Quadcore, 800 Мгц

Рис. 4. В соответствии со спецификацией SMARC, размер модуля SMARC-sAT30 составляет всего 82 мм х 50 мм, на нём установлена система-на-кристалле NVIDIA Tegra 3 Quadcore, 800 Мгц

Второй новый продукт стандарта SMARC - высокомасштабируемый модуль Kontron SMARC-sAMX6i на базе одно-, двух- или четырёхъядерной платформы iMX6 Series компании Freescale, с процессорной архитектурой ARM Cortex A9. Эти модули обладают широчайшим спектром характеристик по производительности, сбалансированной между вычислительной и графической частью. Модуль SMARC-sAMX6i расширяет традиционное рамки доступности «компьютеров-на-модуле» на рынке, имея жизненный цикл минимум 10 лет, кроме того он по умолчанию рассчитан на работу в расширенном температурном диапазоне от - 40 до + 85° С. Таким образом, это новое семейство модулей идеально подходит для применения в тех рыночных сферах, где требуется высочайший уровень защищённости и долговременной доступности, таких как, например, транспортные, медицинские и оборонные приложения на базе открытого программного обеспечения.

Третий модуль в стандарте SMARC построен на базе процессора Sitara AM3874 компании Texas Instruments с микропроцессорным ядром ARM Cortex-A8 и предлагает широкий выбор возможностей для интеграции в приложения промышленного назначения. В этих модулях предусмотрено высокоскоростное подключение периферийных устройств посредством SATA, Dual CAN, PCI Express (PCIe) и коммутатора Gigabit Ethernet.

Независимый стандарт

Принимая во внимание все технические преимущества спецификации SMARC, встаёт вопрос о том, чтобы предложения этих модулей на свободном рынке и сопутствующие услуги были доступны от разных производителей, а контроль за этой сферой осуществлялся независимой от производителей группой экспертов. Это главная гарантия того, чтобы стандарт действительно стал стандартом. Поэтому компании Kontron и Adlink опираются на недавно созданный, независимый от компаний-производителей, консорциум SGET - Standardization Group for Embedded Technologies e.V (Группа по стандартизации технологий для встраиваемых приложений). Консорциум SGET уже утвердил спецификацию SMARC и одобрил в качестве стандарта. В настоящее время другие компании, работающие в области встраиваемых систем и приложений, такие как Fortec и Greenbase, ведут проекты в рамках этой спецификации по созданию новых модулей и плат-носителей.

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

Программные услуги

Кроме усилий для разработки аппаратной части, технология ARM требует немало ресурсов по программной поддержке. Для того чтобы максимально возможным образом сократить путь освоения технологий создания решений на базе технологии ARM, компания Kontron предлагает широкий спектр программных услуг. В технологии ARM нет такого понятия, как привычный всем BIOS, а за старт ОС отвечает начальный загрузчик. Если приложение должно работать, например, на операционной системе Android, то для поддержания единообразного облика пользовательского интерфейса на всех платформах, для каждого процессора ARM придётся выполнить определённые начальные требования. Оптимизированное под ARM ядро Linux должно иметь драйверы периферийных устройств и быть готово для работы через несколько специальных патчей. Это основа, на которую портируются приложения ОС Android для создания единообразного облика на разных устройствах. В ОС Android это достигается драйвером HAL, который представляет основу приложения с интерфейсами аппаратной части в форме абстрактных модулей. В свою очередь, от производителей ARM решений требуется гарантия того, что все компоненты соответственно доступны для приложений как HAL-модули на уровне программного обеспечения. Как не трудно заметить, все эти усилия, связанные с интеграцией ОС, весьма значительные. Чтобы избавить заказчиков от этой трудоёмкой работы, Kontron наряду с аппаратными платформами на базе ARM-процессоров предлагает услуги по программной поддержке - вплоть до лицензий на ОС.