Обзор платы разработки LPC1768 на базе архитектуры ARM Cortex M3


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

Плата разработки LPC1768 на базе архитектуры ARM Cortex M3

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

Время распаковывать!

Распаковка платы разработки LPC1768

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

Плата разработки MBED NXP LPC 1768 

Внешний вид платы разработки 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 контактов для ШИМ. Аналоговый выход нашей отладочной платы подключен к ЦАП.

Компоненты платы разработки MBED NXP LPC 1768 

Вычислительные возможности платы

В основном она имеет 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 NXP LPC 1768 

На рисунке выше показано, как интерфейсная микросхема MBED соединяет LPC1768 с различными периферийными устройствами.

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

Выход на микропроцессор ARM Cortex M3

Он принадлежит к семейству процессоров серии M, где M обозначает микроконтроллер. У ARM также есть серия A, которая обозначает профиль приложения (Application Profile) и используется для расширенных приложений и открытых платформ приложений, а также третья серия, называемая серией R, которая обозначает профиль реального времени (Real Time Profile) и используется для приложений в реальном времени.

Процессор M3 разработан специально для микроконтроллеров, предназначенных для использования во встраиваемых системах, системах автоматизации, приложениях Интернета вещей и приложениях управления двигателями, поскольку он имеет специальный выход ШИМ для управления двигателем, поддерживающий управление 3-фазным двигателем.

Компоненты микроконтроллера ARM Cortex M3

Структурная схема микроконтроллера ARM Cortex M3

Как видно на изображении, используются три шины 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

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

Подключение платы к ПК 

Подключите плату разработки к компьютеру с помощью USB-кабеля из комплекта поставки. После подключения светодиодный индикатор состояния начнет мигать, а после установления соединения загорится ровным светом, как показано на рисунке ниже.

Индикация подключения платы MBED NXP LPC 1768 к персональному компьютеру

Как начать работу с онлайн-IDE MBED 

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

Файл MBED.htm на вашем компьютере

Нажмите на силуэт человека в правом верхнем углу экрана, и вам будет предложено войти в систему.

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

Страница входа в онлайн-IDE MBED 

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

Кнопка «Компилировать» в онлайн-IDE MBED

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

Страница добавления новой платы в онлайн-IDE MBED

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

Нажмите кнопку импорта в левом верхнем углу экрана, и вы перейдете на страницу, где сможете импортировать программы или библиотеки.

Страница управления рабочим полем в онлайн-IDE MBED

Страница импортирования программ в онлайн-IDE MBED

Вы также можете выбрать библиотеки из меню (самая распространённая — mbed.h). Или выбрать код из репозитория.

Введите название программы в строку поиска> Дважды щелкните по файлу> Нажмите «Импорт».

Импорт программы в онлайн-IDE MBED

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

Импортированная программа в онлайн-IDE MBED

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

Откройте папку загрузки > скопируйте загруженный файл > вставьте его на флэш-накопитель mbed.

Файл, который нужно скопировать на накопитель

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

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

Тестирование работы программы мигания светодиодом

Заключение

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

(Проголосуй первым!)
Загрузка...
17 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *