Вы любитель DIY, интернета вещей или энтузиаст, планирующий начать своё путешествие в таинственные земли встраиваемых систем, или тот, кто планирует перейти от «8-битного микропроцессора» к чему-то более мощному? Или, может быть, вы опытный инженер, находящийся на этапе проверки концепции , выбирающий модуль для прототипирования своего следующего продукта потребительского уровня и пытающийся сузить круг возможностей до платы разработки для быстрого и лёгкого начального тестирования вашего революционного продукта. Плата разработки MBED NXP LPC1768 может стать для вас идеальным вариантом. Но в мире электроники редко встречаются универсальные решения!

В этой статье мы рассмотрим плату разработки LPC1768 на базе архитектуры ARM Cortex M3. Рассмотрим её функции, применение и то, как загрузить код на простом примере в веб-среде разработки MBED, чтобы вы могли решить, подходит ли вам этот модуль. Если вас интересует серия LPC, вы также можете ознакомиться с платой разработки LPC2148, где вы найдёте больше обучающих материалов и проектов.
Время распаковывать!

В коробке первым делом мы находим краткое руководство пользователя, которое содержит краткую информацию о начале работы с Mbed. Далее в коробке мы видим плату разработки LPC1768 и пару карточек, одну пластиковую, другую бумажную, с описанием контактов ввода-вывода и различных периферийных устройств. Кроме того, у нас есть USB-кабель, который пригодится при подключении MBED к ПК. И наконец, наклейка MBED.
Плата разработки MBED NXP LPC 1768

Он принадлежит к семейству архитектуры ARM Cortex M3. ARM здесь расшифровывается как Advance RISC Machine (усовершенствованная RISC-машина), где слово RISC означает компьютер с сокращенным набором команд. Из самого названия понятно, что это небольшой мини-компьютер, требующий меньшего количества команд по сравнению с большинством других обычных микроконтроллеров.
Несмотря на внешнее сходство с Arduino Nano, эта плата разработки обладает массой возможностей для большинства радиолюбителей.
Взглянув на компоненты этой платы разработки, мы видим процессор LPC 1768, затем у нас есть 4 программируемых пользователем светодиода внизу, позже в видео я продемонстрирую это с помощью простого кода, затем у нас есть кнопка сброса, которая используется для сброса целевого устройства, и разъем USB, также у нас есть несколько регуляторов напряжения LD33 с низким и фиксированным падением и 40 GPIO.
На обратной стороне у нас есть еще один микропроцессор, называемый магическим чипом, называемый интерфейсным чипом MBED, а это флеш-накопитель от Adesto.
Эта плата оснащена множеством периферийных устройств. Взглянув на неё, мы видим встроенные Ethernet, USB-хост и USB-устройство, то есть USB-контроллер может работать как клиент, хост и OTG. Плата также имеет 3 последовательных порта, 2 порта I2C, 1 шину CAN, 6 контактов для аналогового входа, 1 контакт для аналогового выхода и 6 контактов для ШИМ. Аналоговый выход нашей отладочной платы подключен к ЦАП.

Вычислительные возможности платы
В основном она имеет 2 процессора, 1-й ARM Cortex M3 и дополнительный процессор на задней стороне платы, называемый интерфейсом MBED, который необходим для обеспечения USB-подключения к хост-компьютеру. Между целевым устройством и интерфейсом существует физическое соединение UART, которое передается через интерфейс USB Serial port. Он также помогает в программировании процессора ARM через JTEG, а также помогает в преобразовании USB в UART, поэтому при подключении кабеля USB к компьютеру вы оба видите плату MBED как USB-последовательное устройство, а также как USB-флеш-накопитель. Вот где MBED становится удобным, так как когда вы хотите запрограммировать MBED, вы просто копируете файл образа во флэш-память. Флеш-память считывается интерфейсом MBED, и он заботится о программировании двоичного файла образа в микропроцессор LPC1768.
Таким образом, по сути, микросхема контроллера интерфейса MBED подобна другу-экстраверту, помогающему своему могущественному, но замкнутому другу (LPC 1768) лучше общаться.

На рисунке выше показано, как интерфейсная микросхема MBED соединяет LPC1768 с различными периферийными устройствами.
Кроме того, на изображении выше вы можете видеть, что кнопка сброса на микроконтроллере подключена через интерфейсную микросхему, что означает, что она не сбрасывает целевое устройство напрямую, а запрашивает у интерфейсной микросхемы информацию о наличии нового двоичного файла на USB-флеш-диске, который необходимо запрограммировать.
Выход на микропроцессор ARM Cortex M3
Он принадлежит к семейству процессоров серии M, где M обозначает микроконтроллер. У ARM также есть серия A, которая обозначает профиль приложения (Application Profile) и используется для расширенных приложений и открытых платформ приложений, а также третья серия, называемая серией R, которая обозначает профиль реального времени (Real Time Profile) и используется для приложений в реальном времени.
Процессор M3 разработан специально для микроконтроллеров, предназначенных для использования во встраиваемых системах, системах автоматизации, приложениях Интернета вещей и приложениях управления двигателями, поскольку он имеет специальный выход ШИМ для управления двигателем, поддерживающий управление 3-фазным двигателем.


Как видно на изображении, используются три шины AHB-Lite: системная шина, шина D-кода и шина I-кода. I-код и D-код используются для выборки команд и доступа к данным соответственно и работают быстрее системной шины.
Он имеет трехступенчатый конвейер инструкций и Гарвардскую архитектуру, что помогает более эффективно использовать внутренние блоки или функциональные блоки.
По сути, есть много функций, таких как:
- Работа на частоте 100 МГц.
- 512 КБ флэш-памяти.
- 64 КБ SRAM.
- Вложенный векторный контроллер прерываний для быстрых детерминированных прерываний.
- Контроллер прерываний пробуждения позволяет автоматически пробуждаться из любого приоритетного прерывания.
- Блок защиты памяти.
- Четыре режима пониженного энергопотребления: сон, глубокий сон, отключение питания и глубокое отключение питания.
Последовательные периферийные устройства
- 10/100 Ethernet MAC.
- USB 2.0 полноскоростное устройство / хост / OTG-контроллер со встроенным физическим уровнем.
- Четыре UART с генерацией дробной скорости передачи данных, RS-48, управлением модемом и IrDA.
- Два контроллера CAN 2.0B.
- Три контроллера SSP/SPI.
- Три интерфейса шины I2C, один из которых поддерживает быстрый режим (скорость передачи данных 1 Мбит/с).
- Интерфейс I2S для цифрового звука.
Аналоговые периферийные устройства
- 12-битный АЦП с восемью каналами.
- 10-битный ЦАП.
Другие периферийные устройства
- Сверхмаломощные (< 1 мкА) RTC.
- Универсальный контроллер DMA с восемью каналами.
- До 70 GPIO.
- Управление двигателем с помощью ШИМ и квадратурного энкодера. Интерфейс для поддержки трехфазных двигателей.
- Четыре 32-битных таймера/счетчика общего назначения.
Этот микропроцессор имеет блок АЦП, который делает процессор избыточным во время аналого-цифрового преобразования. АЦП требует доступа к данным из памяти, поэтому контроллер дает полномочия контроллеру DMA и передает управление управлению DMA во время этих операций.
Возможные области применения данной платы разработки
Эта плата разработки специально разработана для использования в системах автоматизации, Интернета вещей и управления двигателями, поскольку имеет специальный выход ШИМ для управления двигателем, поддерживающий трёхфазное управление. Вы также можете подключить её к таким сервисам, как Thingspeak, для выполнения задач домашней автоматизации, запроса данных с определённых датчиков или для выполнения таких задач, как отправка твитов или электронных писем. Таким образом, эта плата разработки идеально подходит для систем Интернета вещей и автоматизации, и единственным ограничением является ваша фантазия.
Как можно загрузить код в этот микроконтроллер
Вы можете использовать Keil MicroVision, MBED Studios и Eclipse, либо веб-среду разработки MBED. Платформа MBED написана на языках C и C++. Я покажу вам, как загружать программы в микроконтроллер с помощью онлайн-среды разработки MBED.
Платформа MBED
Это онлайн-платформа разработки, способная программировать все микроконтроллеры серии M. LPC1768 был первым микроконтроллером, выпущенным для платформы MBED.

Преимущество платформы mbed заключается в том, что для начала программирования вам понадобится только веб-браузер и USB-подключение. Хотя сообщество mbed не такое обширное, как сообщество Arduino, у Mbed также есть множество проектов, реализуемых через интернет. Программирование происходит через интернет. Вы пишете код в веб-браузере и компилируете его в двоичный файл. Языки программирования платформы MBED — C и C++. Таким образом, любой, кто имеет базовые знания программирования, может начать программировать на MBED. Существуют библиотеки для множества периферийных устройств, что значительно упрощает работу новичков. Есть библиотеки для работы с сетями, дисплеями, датчиками и т. д.
Подключение платы к ПК
Подключите плату разработки к компьютеру с помощью USB-кабеля из комплекта поставки. После подключения светодиодный индикатор состояния начнет мигать, а после установления соединения загорится ровным светом, как показано на рисунке ниже.

Как начать работу с онлайн-IDE MBED
Сначала откройте http://os.mbed.com/. Вы можете ввести этот адрес в строку поиска или… Откройте новое хранилище с именем MBED (_:) в разделе «Этот компьютер». Там вы найдёте файл MBED.htm. Двойной щелчок откроет веб-страницу, связанную с вашей платой разработки.

Нажмите на силуэт человека в правом верхнем углу экрана, и вам будет предложено войти в систему.
Если у вас нет учётной записи MBED, зарегистрируйтесь. Нажмите Create an account («Создать учётную запись»), введите учётные данные и зарегистрируйтесь, чтобы начать программирование. Если у вас уже есть учётная запись, войдите в неё, используя свои учётные данные.

После входа в систему нажмите кнопку «Компилировать», расположенную в правом верхнем углу страницы.

Откроется новая страница компилятора. На ней нажмите в правой части, чтобы выбрать плату разработки. Сначала выберите плату разработки. Необходимо выбрать её перед компиляцией программы, чтобы она была совместима с платой. Если ваша плата не отображается в новом всплывающем окне, нажмите ‘Add Board’ («Добавить плату»). Вы перейдёте на страницу со всеми совместимыми платформами. Выберите нужную плату.

Откроется новая страница со всеми совместимыми с MBED платами разработки. Выберите свою платформу, дважды щёлкнув по ней. Откроется новая страница платформы. Прокрутите страницу вниз и увидите кнопку ‘Add to your Mbed Compiler’ («Добавить в компилятор Mbed»). Нажатие на кнопку добавит плату в компилятор. Теперь выберите свою платформу.
Нажмите кнопку импорта в левом верхнем углу экрана, и вы перейдете на страницу, где сможете импортировать программы или библиотеки.


Вы также можете выбрать библиотеки из меню (самая распространённая — mbed.h). Или выбрать код из репозитория.
Введите название программы в строку поиска> Дважды щелкните по файлу> Нажмите «Импорт».

Программа импортируется в ваше рабочее пространство. Откройте файл .cpp и внесите необходимые изменения в программу, чтобы изменить любой параметр.

Затем нажмите кнопку «Компилировать», и двоичный файл загрузится на ваш компьютер.
Откройте папку загрузки > скопируйте загруженный файл > вставьте его на флэш-накопитель mbed.

Файл загружается в микроконтроллер. Светодиод мигает, пока файл загружается, а после загрузки начинает светиться непрерывно.
Нажмите кнопку сброса, чтобы загрузить двоичный файл в LPC1768. Ваш файл загружен. Указанный светодиод начнёт мигать в соответствии с вашим кодом.

Заключение
Это очень интересная и универсальная плата с поддержкой множества датчиков и периферийных устройств. Это легко программируемая отладочная плата. Активное онлайн-сообщество и множество готовых примеров делают её весьма привлекательным вариантом.
17 просмотров



