Embedded World 2016: куда катится embedded-мир?
Всем привет!
Давненько мы ничего не писали. А тем временем…
В тридевятом царстве, в тридесятом государстве, в баварской вотчине, в средневековом городе Нюрнберге проходит выставка под названием Embedded World. Цель выставки — собрать в одном месте производителей, разработчиков, студентов и других заинтересованных граждан. Проходит она три дня — с 23 по 25 февраля.
Сайт выставки: http://www.embedded-world.de
Около 900 участников, примерно 25 тысяч посетителей. Двух дней еле-еле хватает, чтобы понять, что к чему. Поэтому выставка длится три дня :)
Судьба забрасывает меня на это мероприятие уже не в первый раз: мы с коллегами по НТЦ Метротек посещали выставку в 2013, 2014 и 2015 годах. Именно здесь мы впервые увидели Cyclone V SoC (System On Chip c ARM и FPGA на борту), который впоследствии лёг в основу новых девайсов производства НТЦ Метротек (это — Беркут-ЕТ, EthOnd, BlueSoM, ETL-N). Именно здесь мы нашли производителей корпусов EMKO и наладили с ними сотрудничество, теперь все стоечные приборы (свитч Metrotek X10–24, Беркут-МХ) выглядят единообразно. Здесь мы узнаём о новинках и трендах.
Под катом больше информации об участниках, новых продуктах и просто вещах, которые нам понравились и запомнились.
С фотографиями и ссылками.
К сожалению, выступить со своим стендом в этом году у нас не получилось, поэтому мы были в роли наблюдателей: изучали, куда катится этот Embedded мир. Интересовались всем, что попадалось под руку, поэтому не удивляйтесь, если встретите хорошо знакомую вам технологию или продукт. Однако, мы старались делать упор на новинки.
Ну что, поехали!
Заряжаем без проводов
Начну с популярного.
На стенде компании RRC я узнал про стандарт беспроводного питания под названием Qi (это как раз тот случай, когда технологии уже много лет, а ты узнаёшь о её названии только сейчас). Он позволяет передавать до 5 ватт (5 вольт, 1 ампер) энергии без проводов, с помощью электро-магнитной индукции. Трансмиттер и ресивер выглядят так:
На стенде можно было поднести девайс к передатчику и увидеть, как загорается лампочка. Понятно, что уже давно не rocket science, но для «разогрева» — самое то.
Olimex
Заглянул на стенд Olimex (парни из Болгарии, которые делают небезызвестный JTAG-отладчик openocd). Ребята переключились на IoT, и вот, что они предлагают.
Wi-Fi розетки (~ 30 евро): каждой розеткой можно управлять со смартфона и с помощью кнопки (см. ниже).
Wi-Fi выключатель, который может включить и выключить всё, что угодно, поскольку кнопка по wi-fi передаёт сигнал, например, на ту же розетку. К сожалению, фото не сделал, но внешне это обычный выключатель, внутри которого вот такой модуль:
микро-компьютер A20-OLinuXino-LIME на базе двух-ядерного ARM-а (dual-core Cortex-A7) со всей необходимой периферией, линуксом и разъёмами для подключения своих модулей. Цена — от 35 евро. И полностью открытое железо. Ищите на сайте ссылки на схемы и сорцы.
На подходе у olimex SODIMM-модуль на базе этого же процессора.
Simulink/Matlab
На стенде Matlab/Simulink снова показали возможность генерировать FPGA-код из Simulink. Это давно известная фича.
На фото показано, как схема, созданная в Simulink, управляет мотором, подключенным к SoC Altera Cyclone V.
Что меня больше всего заинтересовало, так это наличие API для добавления своей платы в Simulink, чтобы можно было использовать её для создания и моделирования схем. То есть теперь при желании можно любую плату, сделанную на базе Cyclone V SoC, интегрировать в свои модели Simulink.
denx
denx показал работающий u-boot на Intel’овом процессоре, то бишь на архитектуре x86! u-boot — это популярный бутлоадер для ARM-устройств. Мы используем его почти во всех наших устройствах. Но теперь он будет работать и на таких процессорах как Atom и других. Считаю, что это большой шаг вперёд.
Вывод версии u-boot — на фото.
Ну и, конечно, они не могли не похвастался загрузкой за 1.5 секунды, от подачи питания до появления окна приложения на экране. Достигли они таких результатов без модификаций кода — хватило возможностей конфигурирования u-boot’а и linux kernel, то есть всё «из коробки».
Java ME on ST microcontrollers
Я двинулся к стенду ST microelectronics, где разработчики из Oracle (в т.ч. наш соотечественник) предлагают использовать Java ME для программирования микроконтроллеров STM. Утверждают, что есть все Java API для доступа к периферии (i2c, SPI, etc…).
Меня это заинтересовало, потому что мир явно не стоит на месте. Привычно думать, что контроллеры программируются на C… А тут — на тебе — Java.
Первый релиз должен появиться в апреле и в базе он поддерживает процессор, который на фото. Java ME можно будет пробовать на конкретной плате, но будет возможность конфигурировать бинарник, чтобы поддерживать и другие платы тоже.
AdaCore — больше Ada
Зато на соседнем стенде разработчики из AdaCore программируют ARM-контроллеры на Ada. Вот пример: паровозы ездят по двум путям и по задаче никогда не должны сталкиваться. Бесперебойная работа гарантируется анализом кода за счёт того, что перед разработкой программы составляется спецификация программы (написанная на Ada же) и prover проверяет программу на соответствие спецификации.
Все (или почти все) инструменты для разработки на Ada — открытые.
Что ж, надо пробовать. Не Си единым, как говорится… Но сначала Java ME.
Надо сказать, что это очень характерно для Embedded World: здесь из года в год много стендов, посвящённых достижению абсолютного (или почти абсолютного) качества ПО и контроля над ним. Статический анализ за баснословные деньги, декларативное описание проекта с автоматической генерацией тестов и кода и т.п. Не удивительно, ведь Embedded-девайсы теперь везде и чтобы доверять им свою жизнь, нужно быть уверенным, что софт не глючит.
Cypress
Проходим дальше, к ещё одной интересной компании — Cypress. Моё близкое знакомство с чипами этой компании состоялось 10 лет назад, когда мы делали сканер отпечатков пальцев. Мы тогда использовали FX2 для передачи картинки со сканера на комп по USB 2.0. Помню, что был восхищён тем, как просто и понятно Cypress описали работу USB-шины, и с тех пор внимательно слежу за их продукцией.
Однако, сейчас время USB 3.0 и появились новые чипы. Встречайте FX3. Со стороны хоста — USB 3.0, со стороны платы — 32-разрядная шина, работающая на частоте до 100 МГц (что даёт порядка 400 МБайт/с). Ну и ARM9 в этом же флаконе. Всё как было у FX2: 8 разрядная шина (частоту не помню уже), USB 2.0, 51-й контроллер. Только круче.
Но на этом Cypress не остановился. В линейке есть ещё CX3, позволяющий подключить до 4 MIPI-камер по USB 3.0, и GX3, позволяющий «пробросить» Gigabit Ethernet over USB3.0.
А ещё Cypress же показали HyperFLASH, которая имеет скорость чтения до 333(!) мегабайт в секунду. Для подключения к этой флеш-памяти используется шина HyperBUS — 12 пинов, 8 из которых для данных. Используется Dual Data Rate на частоте 166 МГц. Некоторые производители контроллеров уже анонсировали поддержку HyperBus, см. пресс-релиз. Объём такой памяти — от 128 мегабит до 512 мегабит. Обратите внимание, что HyperFlash оптимизирована под чтение. Запись на неё значительно медленнее. Подразумевается такой кейс, когда на производстве эта флешка чем-то прошивается, а потом процессор грузится с неё мгновенно.
Ну и, конечно, полный комплект решений для TypeC
ST Microelectronics
Узнал, что для контроллеров STM32 теперь есть фреймворк под названием STM32Cube Software
Он включает в себя все необходимые библиотеки, HAL, коллекцию middleware с поддержкой RTOS, USB, файловых систем и т.п.
Пожалуй, это очень хорошая новость, поскольку я помню, чего стоило нам освоение Cortex-M3, с портированием NutOS, кучей времени, потраченным на поддержку USB и исправлением багов в libopencm3 (раньше библиотека, правда, по-другому называлась).
Intuitive filter design
На стенде компании Huber, занимающейся обработкой сигналов, натолкнулись на интересную программу — ASN Filter Designer. Это приложение, которое позволяет проектировать фильтр через задание его характеристик в форме графиков. По такому виду фильтра (его частотной и фазовой характеристикам) программа рассчитывает порядок, коэффициенты и т.п. В итоге выдаёт матлаб-код (в следующих релизах будет выдавать и VHDL/Verilog), который можно дальше использовать в привычной манере. Воистину DSP для чайников.
SIGFOX + LoRa = LPWAN
На стенде sigfox мы познакомились с одноимённым протоколом для объединения IoT-девайсов. Точнее, sigfox — это сеть для IoT-устройств. Пример использования — датчики парковки. Важно то, что теперь многие производители (Atmel, OnSemi, etc…) заявляют поддержку sigfox. См. подробнее: http://makers.sigfox.com/#hardware-solutions. Также важно, что идёт работа над созданием LPWAN-стандарта на базе двух стандратов — sigfox и LoRa. Т.е. в скором времени должен выйти стандарт, который позволит объединять IoT-датчики с крайне низким потреблением энергии в одну wide-area сеть. Интересно, а как эти сети будут защищаться от вторжения?
LoRa на стенде ST Microelectronix
TES
Идём дальше. На сайте Altera компания TES анонсировала ядро для FPGA, которое реализует графический контроллер с поддержкой opengl es 2.0/3.1. По словам разработчиков, они обнаружили спрос на подобное решение. В итоге можно будет заюзать FPGA в Cyclone V SoC под графический контроллер. Сам контроллер идёт в зашифрованном виде как модуль для QSYS, а весь программный стек планируется сделать открытым.
Altera
Разработчики из Altera признались нам в том, что трансиверы в Arria 10 GT (те, которые должны поддерживать аж 28.3 ГГц по спецификации) ещё плохо изучены ими самими и такую частоту они не гарантируют, сейчас речь идёт только о примерно 26 ГГц. Будьте внимательны, если вдруг задумаете делать что-то действительно высокоскоростное на Arria 10. Они сказали, что нужно подождать, в ближайшее время будут известны точные характеристики.
Если кого-то интересует, что будет за десятым семейством, то вот roadmap от Altera. Обратите внимание, что все чипы являются SoC
Tektronix и Keithley
На стенде Tektronix наткнулись на очень интересный приборчик производства их дочерней компании Keithley, симулятор батареи. В него загружается модель батареи, которая описывает все параметры и характеристики разряда/заряда, химию и т.п. и девайс симулирует такие процессы, как разряд, глубокий разряд, заряд. Это очень интересная тема, потому что можно протестировать работу разрабатываемого устройства в любых условиях питания.
Synopsis
Что ещё впечатлило — это станция для симуляции ASIC от Synopsis. Можно собрать монстра из шести таких станций, объединяемых в стек. В итоге можно получить 24 чипа, и все они будут использоваться для симулируемого дизайна ASIC. Interconnect Synopsis берёт на себя. Мы даже спрашивать не стали, сколько это стоит ;)
Наши соотечественники — fabless компания по производству микроэлектроники — тоже «засветились» на выставке с MIPS-процессором собственной разработки Baikal T1.
Материнская плата с Байкалом на борту
Также на стенде был представлен моноблок, работающий на этом процессоре, но у меня не сохранились фотографии.
Небольшое резюме
Развитие IoT даёт огромный толчок всей embedded-индустрии. Появляются и обкатываются новые протоколы, новые режимы энергосбережения, методики разработки устойчивого кода. Выходят новые стандарты и выпускаются чипы.
За всем этим очень интересно наблюдать, а ещё более интересно — участвовать, осваивать новые технологии. Надеюсь, нам удастся применить полученные знания в наших новых продуктах. Но я пока не знаю, с чего начать — с перехода на Java ME или с поддержки беспроводной зарядки ;)
Надеюсь, было интересно.
Спасибо за внимание!
См. мой предыдущий отчёт о выставке в 2015 году: https://geektimes.ru/post/246702/