Когда дело доходит до платы разработки, есть масса вариантов на выбор, например, платы Arduino, платы разработки ESP32, платы STM32, Nucleo и Discovery, платы Teensy, платы разработки STM8 и многие другие. Однако проблема большинства этих плат в том, что трудно найти баланс цены и производительности. Они либо дешевые и лишены функций и производительности, либо они напичканы функциями и производительностью по высокой цене. Даже если вы сможете найти плату с низкой ценой и лучшей производительностью, скорее всего, она не будет поддерживать какие-либо устройства. Имея это в виду, я хотел бы обратить ваше внимание на плату разработки MAX78000FTHR от Analog Devices.
Плата разработки MAX78000 Feather оснащена множеством функций, включая процессор ARM Cortex M4 с сопроцессором Risc-V, ускоритель сверточных нейронных сетей, датчик изображения CMOS VGA, стереоаудиокодек, цифровой микрофон, встроенный отладчик DAPLink и многое другое по цене всего 32 доллара США. Она разработана для сверхнизкопотребляющих приложений искусственного интеллекта (ИИ). Плата разработки MAX78000 Feather не только оснащена множеством функций, но и получает отличную поддержку от производителя Analog Devices. Вы можете получить практически все возможные примеры кодов с подробными объяснениями для легкого обучения и разработки.
Итак, в этой статье мы рассмотрим плату разработки MAX78000 Feather и рассмотрим ее особенности, применение и примеры кодов.
Пришло время распаковки!
Теперь давайте распакуем плату MAX78000 feather. Плата MAX78000 feather поставляется в прочной картонной коробке. В коробке находится сама плата, а также кабель USB, изображение распиновки и штыревые контакты для пайки к плате. Плата защищена в многоразовом ESD-пакете для защиты от статического электричества во время транспортировки или обработки.
Характеристики платы разработки Feather MAX78000
Как мы уже говорили ранее, плата разработки MAX78000 оснащена множеством функций. Вот некоторые из ее основных функций.
Микроконтроллер MAX78000
- Двухъядерный: процессор Arm Cortex-M4 с FPU, 100 МГц, сопроцессор RISC-V, 60 МГц
- Флэш-память 512 КБ
- 128 КБ статической ОЗУ
- Кэш 16КБ
- Ускоритель сверточных нейронных сетей
- 12-битный параллельный интерфейс камеры
- MAX20303 - носимая микросхема управления питанием с указателем уровня топлива
- Зарядка от USB
- Встроенный интерфейс отладки и программирования DAPLink для процессора Arm Cortex-M4 с FPU
- Разъемы, совместимые с макетной платой
- Разъем Micro USB
- Разъем для карты Micro SD
Интегрированные периферийные устройства
- Светодиодный индикатор RGB
- Кнопка пользователя
- Датчик изображения CMOS VGA
- Маломощный стерео аудиокодек
- Цифровой микрофон
- Отладчик SWD
- Виртуальная консоль UART
- 10-контактный отладочный разъем Cortex для сопроцессора RISC-V
Обзор аппаратной части платы разработки Feather MAX78000
Теперь давайте рассмотрим обзор оборудования для MAX78000. Вот маркировка деталей для верхней стороны платы MAX78000.
Как вы можете видеть, плата поставляется с большим количеством периферийных устройств. Порт Micro USB используется для питания платы, а также для зарядки, отладки и программирования платы feather. Контакты данных USB напрямую подключены к MAX32625, который используется для интерфейса DAP-Link. Для отладки ядра RISC-V доступен дополнительный разъем JTAG. Плата оснащена разъемом батареи JST для батарей LiPo. Это упрощает создание портативных устройств и проектов с этой платой. Управление питанием для всей платы осуществляется контроллером управления питанием MAX20303. Он также содержит функцию индикатора уровня топлива, которая будет полезна для определения состояния заряда подключенной батареи. Если говорить о периферийных устройствах, плата feather MAX78000 оснащена 2 светодиодами RGB, 5 тактильными кнопками и цифровым микрофоном. Камерой VGA и разъемами линейного входа и выхода Audion. Из четырех тактильных переключателей один используется как кнопка питания, один используется для связи DAP, один для сброса и два других для общего использования. Цифровой микрофон SPH0645LM4H-B напрямую подключен к процессору MAX78000 через интерфейс I2C. Датчик изображения VGA OVM7692 также напрямую подключен к MAX78000 через интерфейсы I2C и PCIF. Аудиовход и выход обрабатываются встроенным чипом стереокодека MAX9867. Это упрощает разработку проектов, связанных с аудио, с минимальной программной обработкой звука.
На нижней стороне у нас есть слот для карты SD, который соединен с платой MAX78000 через интерфейс SPI. Кроме этого, у нас есть соединения SWD для MAX32625 вместе с 1 МБ QSPI SRAM и некоторыми другими дополнительными схемами.
На изображении выше представлена схема прикладной платформы платы MAX78000. На ней вы можете увидеть все периферийные устройства и соответствующие им интерфейсные шины.
Распиновка платы разработки Feather MAX78000
Эта плата поставляется с 17 GPIO, которые напрямую подключены к MAX78000, причем два из них являются аналоговыми входными контактами. Она также имеет еще 3 дополнительных GPIO через интерфейс I2C PMIC. Среди доступных GPIO плата MAX78000 имеет два порта UART, один порт I2C и один порт QSPI. Интерфейс QSPI используется совместно с MicroSD и QSPI SRAM. Так что имейте это в виду при разработке проектов.
На следующем рисунке показано соединение процессора MAX78000 и встроенной периферии. Это очень полезно для понимания структуры и работы стандартных библиотек периферии, предоставляемых Analog Devices.
Аналогично, на следующем рисунке показаны подключения SRAM и карты Micro SD к MAX78000. Обратите внимание, что контакт включения VDD для карты micro SD подключен к одному из GPIO PMIC. Вы можете управлять им через интерфейс I2C, чтобы включать или выключать карту micro SD.
Тестирование работы платы
Как и большинство плат разработки, плата MAX78000 feather также поставляется с предварительно запрограммированной демонстрационной программой. В отличие от большинства простых плат, которые поставляются с базовыми примерами мигания, платы feather поставляются с довольно сложной, но простой в использовании демонстрационной программой. Демонстрационная программа на самом деле является демонстрацией обнаружения ключевых слов, которая может обнаруживать определенные голосовые команды или ключевые слова с помощью встроенного микрофона. Демонстрационный код может распознавать числа от одного до десяти, а две другие команды идут и останавливаются. На основе числа, которое мы подскажем, плата затем мигнет встроенным RGB-светодиодом столько раз. Например, если мы скажем четыре, он мигнет четыре раза, если мы скажем два, он мигнет дважды.
Итак, чтобы начать с демонстрационного кода, подключите плату к ПК с помощью кабеля micro-USB, и она будет отображаться как диск, а также как последовательный порт. Итак, чтобы немного лучше понять демонстрационную программу, мы можем использовать любой последовательный монитор, проверив отладочные сообщения. Для этого откройте любую программу последовательного терминала, например putty, или вы можете использовать последовательный монитор, доступный в Arduino IDE. После подключения выберите соответствующий COM-порт в последовательном терминале и установите скорость передачи данных на 115200. Теперь вы сможете увидеть отладочное сообщение, напечатанное через UART.
Как вы можете видеть, всякий раз, когда обнаруживается звук, демонстрационная программа анализирует его, и если обнаруживается ключевое слово, она выводит результат на последовательный монитор и мигает светодиодом столько раз. Если обнаруженное слово неизвестно, она также это покажет.
Установка и использование Maxim Micros SDK и самостоятельное написание кода
Как и Arduino IDE, Analog Devices предоставляет собственную платформу разработки для MAX78000 feather и аналогичных плат, называемую Maxim Micros SDK. Для начала перейдите на страницу продукта MAXT78000FTHR и в нижней части страницы вы найдете ссылки для загрузки Maxim Micro SDK в разделе инструментов и моделирования. Загрузите пакет, соответствующий используемой вами операционной системе. После загрузки установите SDK, следуя инструкциям на экране. После установки вы найдете папку с именем MaximSDK на диске C, если вы используете Windows. Вы также можете обнаружить, что Eclipse IDE также установлен как часть этого SDK.
Чтобы начать программирование, запустите Eclipse IDE. Если вы хотите создать новый проект, перейдите в меню «Файл», выберите «Новый», а затем выберите «Микроконтроллеры Analog Devices». Но мы рекомендуем вам попробовать некоторые примеры программ, предоставляемые Analog Devices. Чтобы открыть простой код, выберите «Импорт» в меню «Файл», затем выберите существующий проект в рабочей области и нажмите «Далее».
В окне импорта нажмите «Обзор» (browse) и выберите корневую папку любого примера кода. Вы можете найти все примеры кодов в папке MaximSDK, расположенной на диске C. Для этого руководства мы выбрали проект по поиску ключевых слов, который поставляется с платой и находится в MaximSDK /Examples/MAX78000/CNN/kws20_demo. Выберите эту конкретную папку и импортируйте проект. После импорта проекта вы увидите множество файлов и папок в дереве файлов проекта. В них давайте рассмотрим самые важные из них. Файл readme будет содержать всю необходимую нам информацию о проекте. Вы можете просмотреть его, чтобы немного лучше понять проект и его работу.
Далее файл main.c будет содержать код для проекта, как обычно. Далее, перед компиляцией проекта, нам нужно выполнить некоторые настройки сборки для конкретной платы. Это связано с тем, что Maxim Micros SDK поддерживает различные платы, а примеры кодов написаны таким образом, что их можно использовать с любой из поддерживаемых плат. Итак, для начала откройте файл project.mk и порекомендуйте определения платы feather, то есть BOARD=FTHR_RevA. Сохраните этот файл, а затем откройте файл make. В файле make нам нужно установить цель сборки, для этого измените строку BOARD ?= EvKit_V1 на BOARD ?= FTHR_RevA . Сохраните файл, и теперь мы можем скомпилировать проект, нажав кнопку сборки. После успешной компиляции кода мы можем нажать кнопку запуска, чтобы загрузить код на плату. Во время загрузки кода светодиод индикатора DAPLink будет быстро мигать.
После этого откройте любую программу последовательного монитора и выберите соответствующий порт и скорость передачи данных. Как вы можете видеть на изображении выше, пример программы похож на тот, что был в комплекте с платой, и обнаруживает определенные ключевые слова и реагирует соответствующим образом.
Аналогично вы можете просмотреть другие примеры и получить представление о том, как они работают и как их модифицировать в соответствии с нашими потребностями. Посмотрите видео, приведенное в начале статьи, для получения дополнительной информации о том, как использовать плату разработки MAX78000 Feather.
В целом, плата разработки MAX78000 feather — очень хороший вариант как для новичков, так и для продвинутых пользователей. Это не только мощный и простой в использовании инструмент разработки, но и производитель Analog Devices предоставляет массу примеров кодов и документации. Среда разработки проста в настройке и не требует длительной процедуры, как некоторые другие среды разработки.
11 просмотров