`

СПЕЦІАЛЬНІ
ПАРТНЕРИ
ПРОЕКТУ

Чи використовує ваша компанія ChatGPT в роботі?

BEST CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Intel Quark D2000 - в борьбе за массовые встраиваемые вычислители

+11
голос

Реструктуризация Intel со значительным сокращением численности персонала – само по себе знаковое явление для индустрии, фактически стоящей на двух китах, собирательно названных «wintel». Но более значащей, чем знаковой, является трансформация стратегии Intel и изменение областей концентрации усилий. Мощь корпорации никто не отменял, как и финансовые и производственные ресурсы, и, конечно, опыт разработчиков.

За успехом архитектуры x86 все как-то забыли, что Intel долго была королевой мира микроконтроллеров (собственные архитектурные семейства MCS-48, MCS-51, MCS-96), создала одно из самых распространённых, популярных и «долгоиграющих» (23 года, c 1984 по 2007 год) семейство встраиваемых RISC-контроллеров и процессоров i960, экспериментировала с гибридами RISC-VLIW (машины с очень большой разрядностью команд) i860, производила собственную вариацию архитектуры ARM (Xscale), которая фактически «подтолкнула» развитие носимых персональных вычислителей («карманных компьютеров», предшественников смартфонов), причём даже после продажи подразделений, занимавшихся Xscale, Intel продолжает владеть лицензиями на разработанные в то время архитектуры. Так что в Intel исторически умеют порождать новые архитектуры и добиваться их успеха, и этот факт сбрасывать со счетов нельзя. Особенно если пытаться анализировать новые области концентрации усилий корпорации, новые линейки её продуктов и даже несколько неожиданные для масштабов системообразующей в отрасли компании маркетинговые ходы. Мы видим тактику, причём довольно последовательную, но стратегия остаётся увлекательной (с учётом возможностей и исторического опыта) тайной.

Итак, «смещение фокусировки» Intel никого удивить не может – естественно, корпорация нацеливается на интенсивно растущие полярные сектора рынка: Internet-соединённые устройства и датацентры. ICD (Internet-Connected Devices) – весьма смутное название (в конце концов, фактически любой ПК давно является ICD), но в контексте оно подразумевает и то, что называется оконечными узлами IoT или «smart things», и носимые вычислители «некомпьютерного назначения» (фитнесс-трекеры, умные часы etc), и пограничные роутеры. Так как это совсем новая область для компаний масштаба Intel, начнём именно с неё.

О каких бы ICD мы не говорили, высокоуровневая архитектура надсистем, в которые эти ICD входят, будет примерно одинакова:

Intel Quark D2000 - в борьбе за массовые встраиваемые вычислители

Самый нижний уровень иерархии, оконечные устройства (сенсоры, актуаторы, функциональные smart things и т.д., оранжевые прямоугольники, об остальном будет в следующих статьях) – самый многочисленный. И потому самый чувствительный к массе критериев, конкретные наборы которых невозможно предсказать «в общем случае». Но очевидно, что общими критериями для него являются цена, энергопотребление, степень интеграции и соответствие интеграции специфике решаемых задач. Intel уже вошла в этот сегмент рынка, и недавние маркетинговые шаги, неожиданные для производителя такого масштаба, убеждают, что речь идёт не о потешном PR-начинании. Более того, агрессивный маркетинг подкреплен мгновенной (по меркам рынка) доступностью новых компонентов через дистрибьюторские сети мирового масштаба.

Упомянутый маркетинговый шаг – появление Intel Quark Microcontroller Developer Kit D2000 ценой всего $15:

 

Intel Quark D2000 - в борьбе за массовые встраиваемые вычислители

Это малозаметное явление на деле весьма значимо, потому что микроконтроллер Quark D2000 явно нацелен на самую многочисленную область «пространства ICD». Об этом чуть позже, пока же посмотрим что Intel предлагает разработчикам за такую скромную цену.

В состав набора разработчика входит одноплатный «макетный компьютер» на Quark D2000, дающий доступ ко всем выводам микроконтроллера, шестиосевой MEMS акселерометр-магнетометр Bosch с сенсором температуры, микросхема энергонезависимой памяти с последовательным доступом производства Microchip, USB-интерфейс производства FTDI и импульсный источник питания на основе микросхемы Texas Instruments.

Вполне пригодный для прототипирования набор компонентов, подкреплённый очень пристойным инструментальным набором. Интегрированная среда разработки Intel Studio for Microcontrollers даёт доступ к инструментам семейства GCC и усовершенствованному в Intel отладчику GDB, наборам библиотек и готовых программных компонентов (один из «аппетитных» для целевой области компонентов, анализатор энергопотребления, ожидается в скором времени). Поддерживаются операционные системы реального времени Rocket (от Wind River) и RTOS Zephyr, разработку которой ведет Linux Foundation.

Появление такого доступного набора в сочетании с синхронным возникновением микроконтроллеров Quark D2000 у дистрибьюторов класса Mouser, Avnet, Arrow, и, наконец, конкурентоспособная цена D2000 – порядка $2,50 в партиях 250 штук, - очень серьёзное заявление. Здесь не лишним кажется упомянуть редко встречаемое – микроконтроллеры Quark производятся на основе 32 нм технологии, а в арсенале Intel есть сравнительно не старый (открытый в 2002 году) Fab 11X, ресурсы которого после модернизации в 2007 до технологических уровней 45/32 нм явно позволяют производить Quark’и в конкурентоспособных количествах.

Итак, для любых начинаний с Quark D2000 есть почти всё, кроме, собственно, знакомства с этим микроконтроллером. Он одновременно и интересный, и весьма «традиционный». И безусловно заслуживает внимания.

Знакомство с Quark D2000 начнём немного неправильно, с процессорного ядра (при ознакомлении с микроконтроллерами так не принято, но у нас особый случай). Ядро с кодовым названием Lakemont – «почти Pentium», но без FPU, для систем на основе D2000 доступны только программные вычисления с плавающей точкой. Полноценное 32-битовое процессорное ядро с набором инструкций IA 32 и совместимостью с Pentium x86, пятиступенчатый конвейер, однотактовый умножитель двух 32-битовых операндов с 32-битовым результатом – этого достаточно для поверхностного знакомства.

Из выходящих за пределы «почти Pentium» особенностей следует отметить поддержку «длинной команды NOP» (появившейся после Pentium, в семействе 686 начиная с Pentium Pro). Как ни странно, но именно в микроконтроллерной версии x86 этот тонкий нюанс важен, он позволяет программисту или генератору кода оптимизировать программу так, чтобы CISC-процессор не терял производительности из-за специфических требований к выравниванию последовательности инструкций по адресам.

Собственно, на этом сходства с Pentium заканчиваются. И начинается другой мир. Во-первых, шины. У ядра Quark D2000 их три, причём все они – из мира… ARM. Две раздельные 64-битовые TCM (Tightly Coupled Memory, «тесно связанная память», синоним доступа без циклов ожидания) для памяти программ и данных и одна 32-битовая – AHB-Lite, «внутрикристалльная» единая шина, соединяющая все периферийный узлы (AHB, Advanced High-performance Bus, одна из спецификаций открытого протокола AMBA разработки ARM, уточнение «-Lite» означает, что речь идёт о стандарте AMBA 3, а сама шина допускает только одно устройство в режиме «мастер»). Причём все эти шины взаимосвязаны – обращения к TCM-памяти по адресам, выходящим за пределы граничных адресов физических устройств памяти, вызывают автоматическую прозрачную трансляцию запросов и адресов в обращения по AHB-Lite. Оригинальное решение, позволяющее выстроить единое адресное пространство с использованием трёх совершенно разных шин. Безусловно, раз были использованы термины «автоматически» и «прозрачно», и речь шла об аппаратном уровне, программисту все эти нюансы не видны, и до них надо «добираться», изучая 475-страничный datasheet микроконтроллера, причём в далеко не самой полезной и интересной его части. Но привожу эти сведения со вполне отчётливой целью – чтобы показать, что Quark D2000 не «наскоро переделанный Pentium, потому что так теперь модно». Это очень обстоятельно спроектированный микроконтроллер, что выдаёт серьёзность намерений Intel. «Ардуиноподобный» маркетинг не должен вводить в заблуждение – в Intel работали над проектом серьёзно, это совершенно новая разработка, и тем более она значима (если учесть копеечную по меркам громадной корпорации конечную цену). Не откладывая в долгий ящик, приведу ещё одну подтверждающую деталь – Quark D2000 производится только в исполнении, соответствующем требованиям промышленного температурного диапазона (-40…+85 C). И в пятнадцатидолларовых «наборах разработчика» стоят именно такие микросхемы. Это тонкий нюанс, но он говорит о нацеленности D2000 именно на промышленный рынок.

Второй раз поступим неправильно, после чего восстановим принятый порядок вещей. Раз была упомянута шина AHB-Lite, не допускающая одновременную работу нескольких узлов в режиме «мастер», кратко рассмотрим первое (и единственное) периферийное устройство D2000, которое может быть «мастером» кроме процессорного ядра. Контроллер прямого доступа к памяти (DMA, Direct Memory Access). Он не похож в деталях на классический аналог из мира ПК, и явно является специальной разработкой для шины AHB – два однонаправленных канала с возможностью «сборки» блоков данных от разных источников в один поток (Scatter-Gather), в том числе и на основе структур данных (связных списков), и с полным набором всего необходимого, включая генерацию прерываний для пяти возможных событий в каждом канале. Инициализация «срабатываний» DMA может быть как программной, так и аппаратной. Традиционные и невидимые в ПК возможности DMA здесь позволяют пересылать блоки данных между разными областями памятей и периферийными устройствами почти в любых комбинациях. Но, естественно, из-за особенностей AHB-Lite, одновременный доступ к этой шине возможен или только процессорному ядру, или только DMA-контроллеру.

Память. Её немного (это же микроконтроллер, всё-таки). 32 KB флэш-памяти программ, 12 KB однократно программируемой памяти, 8 KB статического ОЗУ. Естественно, D2000 может «перепрограммировать» сам себя, в подсистеме памяти данных предусмотрены разные способы разбиения её на сегменты (Memory Region Protection, минимальный размер сегмента 1KB, это очень полезно, например, для защиты разных фрагментов программы друг от друга). Подобный механизм реализован и для памяти программ.

Собственно, на этом часть «схожести с x86 ПК» заканчивается, и начинается сугубо микроконтроллерная специфика. Начнём с генерации тактовой частоты, потому что от неё зависит многое, в том числе и энергоэффективность (D2000 проектировался для работы с батарейным питанием). D2000 предусматривает два генератора тактовых частот – системный и необязательный часов реального времени (RTC, традиционная частота 32768 Hz). Первый традиционно позволяет обходиться без внешних элементов при невысоких требованиях к стабильности тактовой частоты, но необходимости быстрого выхода из состояния «сна» (порядка 2 микросекунд), а вот со вторым есть один тонкий нюанс, весьма необычный в микроконтроллерном мире – если конструктор по каким-то причинам решил не использовать RTC, вывести D2000 из состояния «сна» можно только изменением аналоговых сигналов на входах, но не цифровых с подавлением дребезга, потому что последнее обеспечивается тактированием от RTC. Диапазон тактовых частот ядра не отличается разнообразием – их всего четыре (4/8/16/32 MHz), для тактирования периферийных устройств можно выбирать кратные частоты (в 2/4/8 раз меньше), и, наконец, можно тактировать всю систему c частотой RTC, для самого низкого энергопотребления (естественно, производительность при этом будет тоже очень низкой, но достаточной для простых операций, например, для наблюдения состояний медленно изменяющихся внешних дискретных напряжений).

Управление питанием и состояниями микроконтроллера. На ознакомительном уровне достаточно знать – из активного состояния (Active State, «всё работает») в состояние HALT D2000 может переходить за 6 тактов тактовой частоты, а «просыпаться» (от внешних сигналов или периодически от RTC) – за 3 такта. Это очень неплохие показатели. В режиме малого потребления (тактовая частота 4 MHz) потребление энергии всем микроконтроллером заявлено на уровне 1 mA при напряжении питания порядка 1,8V, максимальное же потребление может доходить до 26,5 милливатт (тактовая частота 32 MHz, задействованы все периферийные узлы). В состоянии «глубокого сна» D2000 потребляет менее трёх микроампер. В целом, вполне пристойные показатели для 32-битовой встраиваемого вычислителя.

Порты дискретного ввода-вывода (GPIO) традиционны, всего у микроконтроллера 25 независимо конфигурируемых внешних выводов GPIO, которые могут быть источниками аппаратных прерываний пяти типов. Из приятного для конструкторов следует отметить аппаратное подавление дребезга (требующее тактирования RTC) – обнаружение устойчивого изменения дискретного сигнала на входе при наличии характерных для физического мира помех (пакетов коротких импульсов в моменты изменения состояния).

Таймеры и генераторы широтно-модулированных сигналов (PWM). Полностью 32-битовая подсистема, состоящая из двух каналов, каждый из которых можно использовать или в режиме таймера, или в режиме PWM.

Аналоговая подсистема. Аналогово-цифровой преобразователь (ADC) с управляемым разрешением – от 12-битового с частотой выборки до 2.28 мегасемплов до 6-битового с частотой выборки 4 мегасемпла. В качестве входов ADC могут использоваться до 19 программно коммутируемых физических выводов микроконтроллера, но при этом они не все равнозначны (6 – высокоскоростных, 13 – «медленных»). К этому же разделу периферии следует отнести и аналоговые компараторы (устройства сравнения напряжений), их в D2000 целых 19, но используются они фактически только для выведения из микроконтроллера из состояния «сна» внешними сигналами.

Набор встроенной коммуникационной периферии фактически стандартен – I2C, UART, SPI. Встроенного контроллера USB нет, потому в «макетной плате» Developer Kit используется внешняя USB-микросхема.

Обязательный для любого микроконтроллера watchdog таймер (максимально независимый ни от чего источник сигналов прерываний для избегания последствий от, например, возможных «зависаний» программы) дополнен двумя генерирующими прерывания «всегда включёнными периодическими таймерами» (AON), тактируемыми сигналом RTC.

Пожалуй, для обзорного уровня приведенных данных достаточно. Кроме, конечно, главной детали – D2000 производится в маленьком (6 x 6 мм) 40-выводном QFN корпусе и, как всякий современный микроконтроллер, допускает программное переназначение физических выводов для упрощения трассировки печатных плат.

Итак, собирая всё рассказанное выше в одно целое – Intel с выпуском Quark D2000 включилась в борьбу за сегмент самых массовых встраиваемых вычислителей, где до сих пор конкурируют производители микроконтроллеров широкого диапазона разрядностей (от 8 до 32 битов), и у каждого из них есть большие модельные ряды и свои собственные конкурентные преимущества. У Intel эти преимущества – x86 совместимость, означающая доступность инструментальных средств (чего-чего, а отработанных за долгие десятилетия ассемблеров, компиляторов, отладчиков и прочего для x86-машин – тьма). И, похоже, на это сделана ставка. Потому что разработчики Intel без всяких сомнений в бюджетных рамках проектирования D2000 могли реализовать какую-то RISC архитектуру, хотя бы, продолжив модельный ряд успешных i960 (в корпорации масштаба Intel подобных внутренних проектов в разной степени готовности просто должно быть множество). Де-факто «стандартный микроконтроллерный» набор периферии D2000, не содержащей каких-то очень специфических «под задачу» узлов, явно является более следствием осторожности, чем проектных возможностей. И, конечно, следует учитывать ресурсы Intel и её возможности в стимуляции разработчиков. Это немаловажный факт, особенно для компаний среднего масштаба, которые, судя по минимальному объёму партий поставок D2000 (250 штук), теперь явно Intel интересуют. Невероятное сочетание, конечно, но это тоже реальность сегодняшнего дня. И этот нюанс, пожалуй, самый интригующий. Похоже, мы в нём видим нечто новое – промышленный гигант, системообразующая корпорация всей IT индустрии, начинает тихо и малозаметно «играть в длинном хвосте», причём играть в самом, мягко говоря, скромном, ценовом диапазоне, где наибольшая конкуренция. За $2,50 в партиях (обычно начинающихся от тысячи штук, а не от 250) мало- и среднесерийный производитель может выбирать в микроконтроллерах многое –и полностью автономную периферию (на чём специализируется Microchip, например), и почти идеальное соответствие периферии конкретной задаче (что позволяет очень ощутимо экономить деньги на этапе разработки), и массовую популярность (Atmel), и логистические нюансы (море поставщиков всех вариаций ARM Cortex). С появлением x86 микроконтроллеров, на старте отлично поддержанных бесплатными средствами разработки, свободными от роялти операционными системами и ресурсами Intel, ситуация становится очень интересной. Тем более интересной, что Intel не спешит расширять модельный ряд Quark, ограничиваясь тремя моделями. И явно не претендует на заказчиков из секторов промышленности с большим потреблением компонентов (например, на автомобильный сектор, потребности которого выдают специфические коммуникационные возможности микроконтроллеров, вроде CAN и LIN). Ничего подобного никто ещё не видел, как и никто масштаба Intel в такие игры ещё не играл.

Субъективно же, изучение datasheet Quark D2000 позволяет сказать – микроконтроллер интересный. В чём-то сложный (всё-таки, 32-битовая серьёзная машина со скрытыми возможностями совсем не из микроконтроллерного мира), в чём-то традиционный. И, что особенно приятно – вполне доступный. Что с ним будет дальше, придётся ли он по душе разработчикам, как быстро адаптируются опытные небольшие производственные компании к необычному и новому, и сколько компаний решится на такой шаг (в embedded мире критерий «привычности железа» очень значим и совершенно оправдан, это не ретроградство, а «база знаний и подтверждённого опыта») – гадать не буду. В любом случае присмотреться и попробовать интересную машину стоит.

 

Ready, set, buy! Посібник для початківців - як придбати Copilot для Microsoft 365

+11
голос

Напечатать Отправить другу

Читайте также

 

Ukraine

 

  •  Home  •  Ринок  •  IТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Мережі  •  Безпека  •  Наука  •  IoT