mbed — Все, что вам нужно знать

Ассортимент процессоров ARM Cortex-A питает ошеломляющее количество устройств от одноплатных компьютеров, как Raspberry Pi 2, до массивных серверов, таких как серверы HP Moonshot. Вы также найдете их в телефонах, планшетах, медиаплеерах и Chromebook — они повсюду. Но ARM также производит ряд микроконтроллеров, которые столь же популярны, а может быть, даже более популярны. Только в 2014 году партнеры ARM поставили около 4,4 миллиарда микроконтроллеров Cortex-M.

Микроконтроллер похож на микропроцессор (т. Е. Линейку Cortex-A) в том смысле, что это ЦП, но с некоторыми бит отсутствует. Вы не найдете микроконтроллер, использующий графический процессор, или сложный блок управления памятью (MMU) для виртуальной адресации. Обычно они работают со скоростью около 100 МГц (или меньше), и у них всего несколько килобайт памяти.

[related_videos align = ”center” type = ”custom” videos = ”595056,588495,601421 ″]

Так для чего они нужны? В основном для всех работ, связанных с полноценным микропроцессором. Например, дисплей духовки или схемы управления вашей стиральной машины будут использовать микроконтроллер, а не микропроцессор. Некоторые носимые устройства, такие как FitBit, используют микроконтроллеры, как и различные медицинские устройства с сенсорным экраном. Вы найдете их в машинах, игрушках, потолочных вентиляторах, умных замках, музыкальных инструментах и ​​развлекательных системах. Фактически, этот список можно продолжать и продолжать.

Для любителей и разработчиков, вероятно, наиболее интересной областью микроконтроллеров на данный момент является Интернет вещей (IoT). Возможность подключать повседневные устройства к Интернету и использовать данные, которые они отправляют, для принятия разумных решений.

Любой человек с программированием на уровне средней школы опыт может начать программировать плату mbed.

Теперь вы можете подумать, что микроконтроллеры звучат довольно сложно и недоступно. Но на самом деле это не так. Благодаря платформе ARM mbed вы можете приобрести небольшую плату с микроконтроллером примерно за 10–12 долларов. Существуют даже целые стартовые комплекты IoT, которые включают платы микроконтроллеров с возможностью подключения к сети и программное обеспечение, необходимое для отправки данных датчиков в облако.

Cortex-M

Прежде чем продолжить, стоит упомянуть различные микроконтроллеры в линейке ARM Cortex-M. В настоящее время существует 6 микроконтроллеров Cortex-M: Cortex-M0, M0 +, M1, M3, M4 и M7. M0 — самый маленький, а кремний для чипа может уместиться на поперечном сечении волоса!

По мере того, как вы поднимаетесь по диапазону, микроконтроллеры становятся все сложнее и быстрее. Микроархитектура M3 включает в себя предположение о ветвлении и 32-битное аппаратное разделение, в то время как M4 добавляет расширения DSP и возможность добавления блока с плавающей запятой (FPU). M7 — это новейший микроконтроллер ARM, обеспечивающий более высокую производительность и больший набор функций. Например, он предлагает в 2 раза более высокую производительность DSP, чем M4.

Среда разработки

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

Язык платформы mbed — C и C ++. Это означает, что любой, у кого есть опыт программирования на уровне средней школы, может начать программировать доску mbed. А вы не нужно беспокоиться об изобретении колеса, платформа mbed предоставляет целый ряд библиотек, чтобы ваша плата могла взаимодействовать с другими периферийными устройствами и с внешним миром. Например, есть li устройства для сетей, USB, ЖК-дисплеи и дисплеи, аудио, двигатели, исполнительные механизмы, датчики, NFC, штрих-коды, DSP и т. д.

Если вам не нравятся звуки разработки долгосрочного проекта через Интернет, тогда нет проблем. Весь код и библиотеки также можно экспортировать для использования другими цепочками инструментов, включая компилятор GCC.

Позже в этом году ARM выпустит следующую итерацию своей платформы mbed, которая будет включать ОС mbed и клиент mbed. mbed OS — это новая операционная система, разработанная для устройств Интернета вещей, которая позволяет им безопасно подключаться к остальному миру. Он будет с открытым исходным кодом и разработан специально для микроконтроллеров ARM Cortex-M. Клиент mbed — это набор основных библиотек, которые позволяют переносить программы ОС mbed на компьютеры и платы на базе Cortex-A под управлением Linux. Другими словами, вы можете разработать IoT или другую программу, поддерживающую сеть, используя mbed OS на микроконтроллере Cortex-M, а затем просто (с помощью простой перекомпиляции) перенести ее на такие платы, как Raspberry Pi или ODROID C1.

Платы

На момент написания доступно более 50 различных плат mbed. Все, от простых плат на базе Cortex-M0 без встроенной периферии до плат со встроенными дисплеями, акселерометрами, сетью и Wi-Fi. Есть платы с сотовой связью, платы с Bluetooth и даже робот.

Чтобы помочь вам понять, что возможно с платформой mbed, я собираюсь взглянуть на четыре платы и посмотреть, на что способна каждая из них. . Первая плата — FRDM-KL25Z от Freescale.

FRDM-KL25Z

KL25Z использует ядро ​​Cortex-M0 + с тактовой частотой 48 МГц и включает 16 КБ ОЗУ и 128 КБ флэш-памяти.. Он оснащен встроенным 3-цветным светодиодом, 3-осевым акселерометром и емкостным сенсорным датчиком. Это делает его отличной стартовой платой. Вы можете купить его всего за 13 долларов.

В мире микроконтроллеров самая простая программа, которую вы можете написать, — это программа, которая будет мигать светодиодом. Он эквивалентен программе «Hello, World», которая так часто используется в учебных курсах по языку программирования.

Чтобы написать программу «blinky» для KL25Z Фактически, чтобы написать это практически для любой платы mbed, вы заходите на developer.mbed.org и авторизуетесь. Нажмите кнопку «Компилятор» в правом верхнем углу страницы и подождите, пока откроется окно компилятора.

В правом верхнем углу среды IDE, над «Сведения о рабочей области», вы увидите ваше текущее выбранное устройство mbed. Если вы впервые используете mbed, он просто скажет «Устройство не выбрано». Щелкните по нему, а затем щелкните «Добавить платформу». После этого откроется страница платформ на веб-сайте mbed.org. Щелкните FRDM-KL25Z, а затем «Добавить в компилятор mbed». Вернувшись к компилятору, снова щелкните текущее выбранное устройство (или «Устройство не выбрано») и щелкните FRDM-KL25Z. На последнем шаге нажмите «Выбрать платформу».

Чтобы Чтобы получить исходный код мигающего примера, щелкните значок «Импорт» на панели инструментов. Найдите и выберите mbed_blinky, а затем нажмите «Импорт!» После завершения импорта вы увидите следующую программу на C:

 #include "mbed.h" DigitalOut myled (LED1); int main () {while (1) {myled = 1;  ждать (0,2);  myled = 0;  ждать (0.2);  }} 

Строка DigitalOut myled (LED1) ; определяет переменную с именем myled , которая напрямую связана с булавкой на доске. Выводом в данном случае является LED1, который, как вы уже догадались, является светодиодом. Поскольку mbed знает о плате, на данный момент этого достаточно, вам не нужно точно знать, какой это вывод. Когда вы купите доску, вы получите маленькую карточку со всеми перечисленными контактами.

Остальная часть кода проста. Программа входит в бесконечный цикл и многократно устанавливает для myled значение 1, затем делает паузу, затем устанавливает значение 0, затем делает паузу и так далее. Это, конечно, заставляет светодиод мигать.

Чтобы скомпилировать программу, щелкните «Compile» на панели инструментов, а затем перетащите полученный .bin-файл на доску. Нажмите кнопку сброса, и программа запустится.

Nordic nRF51822

nRF51822 использует микроконтроллер Cortex-M0 с тактовой частотой всего 16 МГц и включает 16 КБ ОЗУ и 128 КБ флэш-памяти. С точки зрения производительности это может показаться шагом назад по сравнению с KL25Z, но nRF51822 отличается тем, что имеет встроенный Bluetooth 4.1 и слот для батареи, так что плата может независимо питаться от одной монеты 2032. -элементный аккумулятор. Cortex-M0 разработан для минимально возможного энергопотребления и поэтому идеально подходит для автономных приложений Bluetooth.

И именно здесь важен Android, как FitBit или другие носимые устройства, эта плата является идеальным строительный блок для устройства, которое обменивается данными с телефоном Android через Bluetooth с низким энергопотреблением (BLE).

Одним из примеров программ, представленных на сайте mbed, является пульсометр с низким энергопотреблением Bluetooth. Программа настраивает плату для отправки (фальшивой) информации о сердцебиении с использованием стандартного профиля Bluetooth. На самом деле довольно просто добавить настоящий монитор сердечного ритма. Чтобы проверить это, вы можете использовать такую ​​программу, как BLE Scanner от Pixels Perception. Сканер будет искать устройства BLE в пределах досягаемости вашего телефона, а затем позволит вам получить доступ к информации, которую передает плата, в данном случае (фальшивое) сердцебиение.

Приступить к работе и приступить к работе. с примером BLE очень похож на то, как вы быстро бегаете. Вам необходимо убедиться, что в качестве платформы выбран nRF51822, и вам необходимо импортировать программу BLE_HeartRate. После того, как программа будет скомпилирована и загружена на вашу доску, запустите приложение сканера BLE на вашем телефоне Android и найдите устройство. Он будет называться «HRM1».

mbed LPC1768 + плата приложений

LPC1768 не так сильно выглядит снаружи, но внутри он совсем другой. Помимо процессора Cortex-M3, он имеет 32 КБ памяти и 512 КБ флэш-памяти, но, что более важно, он имеет встроенную поддержку Ethernet и USB (в качестве хоста или устройства). Мощность LPC1768 можно увидеть, подключив его к плате приложений. Плата поставляется с впечатляющим набором периферийных устройств и датчиков, включая графический ЖК-дисплей 128 × 32, разъем RJ45 Ethernet, 5-позиционный джойстик, 2 потенциометра, динамик, 3-осевой акселерометр, 2 разъема для серводвигателя, датчик температуры. и сокет для Zigbee.

Хотя вы бы не построили Готовый продукт вокруг платы приложений в этой форме прототипа, безусловно, является хорошим трамплином для создания чего-то вроде устройства IoT. Например, вы можете использовать датчик температуры на плате вместе с Ethernet-соединением для периодической загрузки текущей температуры в помещении в облачный сервис, такой как ThingSpeak.

Также можно было бы интегрировать плату с ваше устройство Android, снова используя такую ​​службу, как ThingSpeak. Вы можете написать приложение для отправки команд на ваш LPC1768 для выполнения задач домашней автоматизации, запросить у него определенные данные датчика или даже заставить его выполнять задачу за вас, например, написать что-то в Твиттере или отправить электронное письмо. Фактически, единственным ограничением является ваше воображение.

mBot

Если вам нужно что-то более интересное, чем устройства IoT, я рекомендую mBot от Outrageous Circuits.. Это робот с поддержкой mbed с отражающими датчиками, светодиодами и зуммером. При первом включении в mBot загружается программное обеспечение, которое заставляет его танцевать на столе, не падая. Он делает это путем считывания показаний двух отражающих датчиков на передней панели. Если он не обнаруживает отражения, он знает, что он находится за краем стола, и он будет выполнять резервное копирование и поворот.

Это стоит всего 30 долларов и обеспечивает отличное введение в программирование микроконтроллеров. Outrageous Circuits предоставляет весь исходный код для программы по умолчанию, а также полную документацию, включая схемы, распиновку и руководства для хакеров.

Заключение

Как я уже упоминал ранее было доступно более 50 плат, поддерживающих mbed. Эти четыре действительно являются лишь кратким обзором того, что вы можете делать с микроконтроллером Cortex-M и платформой mbed. После того, как вы добавите связь со своим смартфоном Android или подключение к облаку, возможности безграничны.

Вы пробовали mbed? У вас есть отличная идея для Интернета вещей? Пожалуйста, дайте нам знать в комментариях ниже.

Оцените статью
binarate.ru
Добавить комментарий