Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Кармин Новиелло - Освоение STM32.pdf
Скачиваний:
3555
Добавлен:
23.09.2021
Размер:
47.68 Mб
Скачать

Введение в ассортимент микроконтроллеров STM32

45

1.4. Отладочная плата Nucleo

Каждый практический текст об электронном устройстве требует отладочной платы (development board, также известной как kit) для начала работы с ним. В мире STM32 самой распространенной отладочной платой является STM32 Discovery. Компания ST разработала более 20 различных плат Discovery, полезных для тестирования микроконтроллеров STM32 и их возможностей.

Рисунок 19. Отладочная плата STM32L0538 Discovery (Discovery kit), представленная ST в 2015 году

Например, новая плата STM32L0538DISCOVERY (рисунок 19) позволяет тестировать как микроконтроллер STM32L053, так и e-ink дисплей. Вы можете найти множество руководств в Интернете, посвященных платам линейки Discovery.

Рисунок 20: Отладочная плата Nucleo

Недавно ST представила совершенно новую линейку отладочных плат: Nucleo. Линейка Nucleo разделена на три основные группы: Nucleo-32, Nucleo-64 и Nucleo-144 (см. рисунок 20). Название каждой группы происходит от используемого типа корпуса микроконтроллера: Nucleo-32 использует STM32 в корпусе LQFP-32; Nucleo-64 использует LQFP64; Nucleo-144 использует LQFP-144. Nucleo-64 была первой линейкой, представленной на рынке, и в ней 16 различных плат28, каждая с определенным микроконтроллером STM32. Nucleo-144 была представлена в январе 2016 года, и это первая недорогая отладочная плата, оснащенная мощным STM32F746. Она также предоставляет Ethernet

28 В конце 2017 года ST представила две дополнительные платы Nucleo-64, названные Nucleo-L452RE-P и Nucleo-L433RC-P. Эти две дополнительные платы отличны по сравнению с существующими шестнадцатью платами Nucleo-64: они добавляют интегрированный SMPS, чтобы дополнительно продемонстрировать возможности пониженного энергопотребления этих двух микроконтроллеров. Данная книга была закончена до коммерциализации этих двух плат, и она не охватывает их вообще.

Введение в ассортимент микроконтроллеров STM32

46

pyther29 и порт LAN. Поскольку Nucleo-64 является наиболее полной группой, данная книга будет охватывать только этот тип плат. В остальных частях этой книги мы будем ссылаться на Nucleo-64 просто под термином «Nucleo».

Nucleo состоит из двух частей, как показано на рисунке 21. Часть с разъемом mini-USB представляет собой встроенный отладчик ST-LINK 2.1, который используется для загрузки микропрограммы в целевой микроконтроллер и выполнения пошаговой отладки. Интерфейс ST-LINK также предоставляет виртуальный COM-порт (Virtual COM Port, VCP), который можно использовать для обмена данными и сообщениями с хостПК. Одна из главных особенностей плат Nucleo заключается в том, что интерфейс STLINK можно легко отделить от остальной части платы (двое красных ножниц на рисунке 21 показывают, где можно ломать плату). Таким образом, ее можно использовать в качестве автономного программатора ST-LINK (автономный программатор ST-LINK стоит около 25 долларов США). Однако ST-LINK предоставляет дополнительный интерфейс SWD, который можно использовать для программирования другой платы без отсоединения интерфейса ST-LINK от Nucleo (как это уже происходит с платами Discovery) путем удаления двух перемычек, помеченных как ST-LINK. Остальная часть платы содержит целевой микроконтроллер, англ. target MCU (микроконтроллер, который мы будем использовать для разработки наших приложений), кнопку сброса RESET, программируемую пользователем тактильную кнопку и светодиод. Плата также содержит одну площадку для крепления внешнего высокочастотного генератора (external high speed, HSE). Все последние платы Nucleo уже предоставляют низкочастотный генератор. Наконец, на плате есть несколько гнездовых и штыревых разъемов (pin headers), которые мы рассмотрим через некоторое время.

Рисунок 21: Соответствующие части платы Nucleo

Неясно по какой причине ST представила эту новую отладочную плату, учитывая, что платы Discovery – это больше, чем просто инструменты разработки. Я думаю, что главной причиной является привлечение людей из мира Arduino. На самом деле, платы Nucleo предоставляют разъемы для подключения «шилдов» Arduino (Arduino shields) – готовых плат расширения, специально созданных для расширения Arduino UNO и всех

29 Ethernet phyther (также называемый Ethernet PHY) – это устройство, которое транслирует сообщения, передаваемые по сети LAN, в электрические сигналы.

Введение в ассортимент микроконтроллеров STM32

47

других плат Arduino. На рисунке 2230 показаны периферийные устройства STM32 и GPIO, связанные с разъемом, совместимым с Arduino.

Рисунок 22: Периферийные устройства и GPIO, связанные с гнездовыми разъемами Arduino

Честно говоря, у плат Nucleo есть и другие интересные преимущества по сравнению с платами Discovery. Прежде всего, ST продает их по очень агрессивной цене (вероятно, по вышеупомянутым причинам). Nucleo стоит от 10 до 15 долларов, в зависимости от того, где вы ее покупаете, и если вы думаете о том, что вы можете сделать с данной архитектурой, вы должны согласиться, что она действительно недооценена по сравнению с платой Arduino DUE (которая также оснащена 32-разрядным процессором от Atmel). Еще одна интересная особенность заключается в том, что платы Nucleo спроектированы так, чтобы быть совместимыми между собой. Это означает, что вы можете разработать микропрограмму для платы STM32Nucleo-F103RB (оснащенной популярным микроконтроллером STM32F103), а затем адаптировать ее к более мощной Nucleo (например, STM32Nu- cleo-F401RE), если вам требуется больше вычислительной мощности.

В дополнение к Arduino-совместимым гнездовым разъемам (типа «female»), Nucleo предоставляет свои собственные разъемы расширения. Это два штыревых разъема (типа «male») 2x19, 2,54 мм. Они называются Morpho-разъемами и являются удобным способом доступа к большинству выводов микроконтроллера. На рисунке 23 показаны периферийные устройства STM32 и GPIO, связанные с Morpho-разъемом.

30 Рисунки 22 и 23 взяты с сайта mbed.org и относятся к плате Nucleo-F401RE. Пожалуйста, обратитесь к Приложению C для того, чтобы узнать правильную схему выводов вашей платы Nucleo.

Введение в ассортимент микроконтроллеров STM32

48

Рисунок 23: Периферийные устройства и GPIO, связанные со штыревыми Morpho-разъемами

Насколько я знаю, еще не существует плат расширения, в которых используется Morphoразъем. Даже ST выпускает несколько «шилдов» расширения для Nucleo, которые совместимы только с Arduino UNO. Например, на рисунке 24 показана плата Nucleo с платой расширения X-NUCLEO-IDB04A1 – «шилд» BlueNRG с монолитным сетевым про-

цессором Bluetooth Low Energy 4.0.

Рисунок 24: Готовая плата расширения BlueNRG

На момент написания данной главы (сентябрь 2015 г.) было доступно 16 плат Nucleo. В таблице 16 приведены их основные характеристики, а также общие характеристики для всех плат Nucleo.

Введение в ассортимент микроконтроллеров STM32

49

Таблица 16: Список доступных плат Nucleo и их характеристики

Почему Nucleo используется в качестве платы для примеров этой книги?

Ответы на данный вопрос почти все содержатся в предыдущих параграфах. Прежде всего, платы Nucleo дешевы и позволяют начать обучение платформе STM32 практически бесплатно. Во-вторых, они значительно упрощают инструкции и примеры, содержащиеся в данной книге. Вы можете свободно использовать Nucleo, которая вам нравится. В книге будут показаны все шаги, необходимые для простой адаптации примеров к вашей конкретной Nucleo. Третья причина связана с предыдущим утверждением: автор купил все платы Nucleo-64 для запуска тестов, и он не вложил целое состояние :-)

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