Данная статья направлена на изучение технических и аппаратных характеристик отладочной платы STM32F7 Discovery для макетирования микропроцессорных устройств. Также будут выделены основные интерфейсы и подключаемая периферия, легкость освоения данной платы для создания собственного проекта на примере разработки носимого микропроцессорного кардиомонитора.
Ключевые слова: микроконтроллер, STM32, Discovery, медицина, кардиомонитор.
Создание собственного проекта, основанного на микроконтроллере, можно разделить на три трудоемких этапа:
1) разработка принципиальной электрической схемы управляемого устройства;
2) выбор контроллера и языка программирования;
3) создание/отладка кода программы микроконтроллера для управления устройством.
При проектировании принципиальной электрической схемы необходимо точно рассчитать номинальные протекающие токи и напряжения, а также подобрать необходимые электрические/электронные компоненты для задания правильной работы переходных процессов того или иного участка цепи. Следует отметить, что этап создания и монтажа схемы занимает большое количество времени, так как данный процесс представляет особую сложность для людей, не обладающих глубокими знаниями в области электроники и электротехники.
Второй этап разработки «умного» проекта — это выбор контроллера и языка программирования. В настоящее время существует огромный выбор микроконтроллеров, которые подходят для реализации различных задач.
Для того, чтобы изначально правильно выбрать контроллер, разработчику следует взвесить, оценить свой проект по некоторым критериям:
- какие интерфейсы и в каком количестве необходимы;
- на сколько «быстрым» должен быть сам контроллер, чтоб он справился с поставленными задачами;
- какой объем памяти необходим для написания и хранения кода программы и многое другое.
После этого необходимо изучить техническую документацию микроконтроллера и понять: где располагаются те или иные интерфейсы и как подключить данный процессор к уже существующей электрической схеме, непосредственно которой и предстоит управление контроллером.
Самым трудоемким и сложным является этап написания программы. Как правило, контроллеры поддерживают несколько языков программирования. Следует отметить, что для каждого языка существуют различные среды программирования, не похожие между собой. Обычные радиолюбители используют контроллеры производства Atmel. Однако, для более сложных задач необходимо обратить внимание на контроллеры производства STMicroelectronics, Texas Instrument, Intel, Microchip и другие. И только после того, как был сделан выбор в пользу одного контроллера, можно приступать к изучению среды разработки для данного процессора и написании кода программы.
Одним из способов упростить процесс создания нового проекта на базе микроконтроллера как по уровню сложности, так и по затраченному времени, является использование отладочных плат. Данные платы существуют у всех компаний, которые производят контроллеры.
Что же такое отладочная плата? Отладочная плата — это набор комплексного решения от определённого производителя контроллера, призванная для упрощения создания проекта и отладки ПО. Как правило, в топологии такой платы располагается сам микроконтроллер с разведенными дорожками входов/выходов. Также на данной плате, в зависимости от уровня самого контроллера, располагаются разведенные различные интерфейсы, ЦАП, АЦП, Ethernet вход, сенсорный дисплей, энергонезависимая память и другое. Таким образом, разработчик получает в свое распоряжение готовое устройство для написания и отладки ПО с необходимым для него набором периферии. Ничего паять, подбирать из электронных компонентов не требуется, что существенно экономит время на первом этапе. После того, как будет написан и полностью отлажен код программы, задуманный проект можно перенести на плату. Для создания конечной платы примером служит уже сама отладочная плата. Достаточно приобрести такие же или аналогичные компоненты и все соединить по уже известной схеме.
Рассмотрим отладочную плату производства STM32F7 Discovery для разработки мобильного микропроцессорного кардиомонитора с функцией передачи данных по сети.
Данные контроллеры представляют собой мощное решение для создания сложного проекта [1]. Главные преимущества STM32 — это богатый набор функционала при достаточно низкой цене. На данный момент из доступных контроллеров является серия F7 с максимальной тактовой частотой 200 МГц. Количество поддерживаемых интерфейсов намного превышает любую Atmega за такую же цену. Именно поэтому данные контроллеры все больше находят свое применение в производстве. Благодаря большому количеству периферии и интересов, любой проект можно легко модифицировать, расширить без каких-либо проблем.
Отладочная плата STM32F7 Discovery создана для демонстрации и разработки проетов на платформе ARM Cortex-M7, которая базируется на микроконтроллере STM32F746NGH6. Данный контроллер поддерживает 4 I2C, 6 SPI с тремя I2S интерфейсами, SDMMC, 4 USART, 4 UART, 2 CAN, три 12-битных АЦП, два 12-битных ЦАП, 2 SAI, 8–14- битные модули цифровых камер, внешнюю 320+16+4 Кб SRAM и 1 Мб Flash-памяти, USB OTG HS и FS, Ethernet MAC, FMC interface, внутрисхемный отладчик. Данная плата Discovery содержит в себе все необходимое для быстрого начала работы и разработки приложений.
Полный спектр аппаратных возможностей на плате помогает пользователям оценить практически все периферийные устройства (USB OTG HS и FS, 10/100-Mbit Ethernet, microSD карта, USART, стерео ЦАП с входным/выходным 3.5 мм разъемом jack SAI Audio, цифровой микрофон ST-MEMS, SDRAM, Quad-SPI Flash память, 4.3-дюймовый цветной LCD-TFT дисплей с емкостной мульти-сенсорной панелью (рисунок 1), SPDIF RCA вход и другое) и на их основе разработать собственное приложение. Также на плате присутствуют Arduino Uno V3 разъемы (рисунок 2), что позволяет легко подключить платы расширения (так называемые шилды) или дочерние платы для конкретных приложений разработчика от платформы Arduino. Интегрированный в плату ST-LINK/V2–1 предоставляет встроенный в схему отладчик и программатор для STM32.
Рис. 1. Верхняя сторона платы
Рис.2. Нижняя сторона платы
Данная плата поставляется с библиотеками HAL и набором пакетов ПО для примера, а также доступом к сообществу разработчиков ARM mbed Enabled с онлайн ресурсами [3].
STM32F7 Discovery поддерживает несколько сред программирования:
‒ Keil MDK-ARM
‒ IAR EWARM
‒ GCC-based IDEs including free SW4STM32 from AC6
‒ ARM mbed Enabled online
Из всех представленных сред разработки ПО бесплатным является лишь System Workbench from AC6. Также имеется возможность создать макет будущего проекта при помощи фирменной утилиты STM32CubeMX. Данное ПО позволяет в несколько шагов настроить необходимые выводы контроллера для последующего использования в проекте. CubeMX предоставляет гибкую настройку различных интерфейсов, частот контроллера, конфигурирование внешней периферии и расчет энергопотребления готового проекта. После выполненных действий создается каркас проекта с начальным кодом программы, в который уже следует добавить пользовательский код в специально отведенное для этого место.
Сотрудничество STMicroelectronics с производителями электронных компонентов, таких как Micron, Rocktech, отразилось и на платах Discovery. Например, от Micron установлены два вида памяти: 128-Mbit SDRAM и 128-Mbit Quad-SPI NOR Flash memory device. От Rocktech на данной плате установлен цветной дисплей 4.3 дюймов, с разрешением 480х272 точки и с емкостной touch-панелью.
Перейдем к рассмотрению топологии отладочной платы и ее конфигурацию. Как было отмечено выше, STM32F746G Discovery оснащен контроллером STM32F746NGH6, который отвечает за весь функционал и контроль периферии. Данный контроллер представлен на плате в виде 216 пинового TFBGA корпуса.
Рассмотрим блок-схему, которая иллюстрирует соединение между STM32F746NGH6 и подключенной к ней периферии (рисунок 3).
Рис. 3. Блок-схема подключения компонентов к микроконтроллеру
Таким образом, можно видеть, какие используются интерфейсы контроллера, и какой функционал с конкретной периферией предоставляется для управления.
Ниже представлены схемы топологий компонентов верхней и нижней части платы, а также реальные физические размеры отладочной платы (рисунок 4).
Рис. 4. Топология компонентов и реальный физический размер отладочной платы
Как видно из представленных схем, данная плата обладает мощным функционалом при своих небольших размерах. Основную часть пространства занимает цветной сенсорный дисплей, который подойдет под вывод большого количества визуальной информации.
Обращаясь к минимальным техническим и медицинским требованиям, которые обозначены в статье [2], можно сделать вывод, что данная плата полностью удовлетворяет необходимым предъявляемым критериям и обладает необходимыми средствами для разработки макета микропроцессорного кардиомонитора с функцией передачи данных по сети.
В ходе исследования отладочной платы STM32F746 Discovery были выявлены основные достоинства, рассмотрены структурные схемы устройства, выявлены все интерфейсы, которыми обладает данная плата и поддерживает сам микроконтроллер. Богатый набор периферии делает данную отладочную плату универсальным инструментом для разработки любого проекта, начиная от самых простых моделей приборов и заканчивая сложными вычислительными устройствами. Простота использования, легкость подключения периферии, мощный высокопроизводительный контроллер STM32F746NGH6, возможность быстро написать и отладить код программы являются ключевыми особенностями и преимуществами по сравнению с конкурентными устройствами данного характера от других производителей.
Литература:
- Данченко Д. Г. Современные технические решения для разработки носимого микропроцессорного кардиомонитора / Д. Г. Данченко // Лучшая студенческая статья: материалы IX Междунар. науч.-практ. конк. (Пенза, 25 июня 2017 г.) / редкол.: Г. Ю. Гуляев [и др.]. — Пенза: МЦНС «Наука и Просвещение», 2017 — ISBN 978–5-906973–53–5.
- Данченко Д. Г. Базовые параметры и структурная схема носимого микропроцессорного кардиомонитора / Д. Г. Данченко // Лучшая научно-исследовательская работа: материалы VII Междунар. науч.-практ. конк. (Пенза, 10 мая 2017 г.) / редкол.: Г. Ю. Гуляев [и др.]. — Пенза: МЦНС «Наука и Просвещение», 2017 — ISBN 978–5-9500236–2-0.
- ARM mbed Enabled [Электронный ресурс]: сообщество программистов по микроконтроллерам STM32. — Режим доступа: http://www.mbed.com