Микроконтроллер STM32 через UART схема

Микроконтроллер STM32 подключение через UART

Быстро набравший популярность среди электронщиков микроконтроллер STM32, как правило, рассчитан на программирование через адаптер «ST-Link». Во всяком случае, именно такое решение зачастую предлагается авторами материалов на эту тему. Нужно отметить: даже сам производитель чипов рекомендует именно такой вариант, а вовсе не STM32 через UART. Это понятно – всё-таки внутрисхемный подход даёт больше плюсов. Однако помимо режима «ST-Link» имеется ещё ряд вариантов подключения программатора с целью программирования устройства. Один из таких вариантов — режим последовательного порта компьютера. Тут для микроконтроллеров STM32 становится актуален адаптер на базе FT232.

Особенности «ST-Link» и «FT232R – USB UART IC»

Как уже отмечалось, адаптер «ST-Link» следует рассматривать как внутрисхемный отладчик и программатор. По сути, устройство предназначается для микроконтроллеров серий «STM8» и «STM32». Здесь используются:

  • модуль однопроводного интерфейса (SWIM),
  • интерфейс JTAG,
  • интерфейс последовательной отладки (SWD).

Устройство обеспечивает связь с любым микроконтроллером серии «STM8» или «STM32», внедрёнными в схему функциональной электронной платы. На данный момент разработаны и распространяются два типа программаторов:

  1. «ST-Link V2».
  2. «ST-Link V2-ISOL».

Наряду с функционалом первого типа программатора, разработка «ST-Link V2-ISOL» обеспечивает цифровую изоляцию между компьютерной системой и электронной платой целевого назначения. Конструкция, как заявлено разработчиками, выдерживает импульсы напряжения до 1000 вольт.

Что касается адаптера на основе «FT232R», здесь подключение STM32 через UART посредством USB сопровождается выходом тактового генератора. Плюс предусмотрена новая функция защитного ключа «FTDIChip-ID». Кроме того, тут доступны синхронный и асинхронный режимы интерфейса побитового обмена.

Конфигурация USB-последовательного интерфейса с применением схемы «FT232R» существенно упрощена благодаря полноценной интеграции внешней EEPROM, системы синхронизации, резисторов USB.

Микроконтроллер STM32 подключение через UART + конструкция
Такой выглядит конструкция платы адаптера на базе «FT232R», позволяющая подключить STM32 через UART

Конструкция «FT232R» дополнена двумя новыми функциями по сравнению с предыдущими схемами. То есть фактически это микросхема «3 в 1» применительно к определённым вариантам использования.

Внутренними тактовыми сигналами микросхемы (МГц): 6, 12, 24, 48, при необходимости допустимо управлять микроконтроллером либо внешними логическими схемами.

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

Как подключать STM32 через последовательный порт?

Процедура подключения микроконтроллеров здесь относительно простая. В деле используется плата адаптера на основе «FT232R». Подключение платы адаптера к целевой плате с микроконтроллером осуществляется через сигнальные линии «TX» и «RX», соответственно. Выглядит это подключение, примерно, так:

Подключение микроконтроллера STM32 через UART + конфигурация
Конфигурация на подключение адаптера «FT232R» к целевой плате «STM32F103C6» (контакты A9, A10)

Фактически здесь имеет место интерфейс связи на четыре провода, где два проводника используются для подачи питания и ещё два проводника применяются в качестве транспорта сигналов «TX», «RX».

Соответственно, для питания задействованы линии – питание «5 вольт» и «Земля», а для передачи/приёма данных — линии транспорта сигналов (на плате «STM32F103C6» это A9 и A10). Причём последняя пара линий включается по перекрёстной схеме (TX -> RX, RX –> TX).

По факту выполнения всех подключений можно приступать к процессу сопряжения чипа с программным обеспечением. Здесь в качестве программного обеспечения удачно используется софт «STM32CubeProgrammer», в частности, версия под «Windows 10» (32 бит). На этом программном обеспечении требуется задействовать конфигурацию «UART» (соединение через «com» порт).

Микроконтроллер STM32 подключение через UART + программатор
Справа на боковой панели рабочего окна программы «STM32CubeProgrammer» необходимо выбрать конфигурацию «UART» и соответствующий номер «com» порта

Следует обратить внимание на номер «com» порта вкладки «Port», где выбрать номер, определённый для адаптера «UART», подключенного, однако, по каналу «USB». Как видно на картинке, для данного примера этот номер седьмой (7).

Теперь, если подключить всю собранную схему к «USB» и активировать вкладку «Connect», в нижней части программного окна появится сообщение об успешном открытии последовательного порта. Правда, связи с целевой платой при этом не будет, на что указывает красная контрольная линия и ошибка активации устройства.

Микроконтроллер STM32 подключение через UART + логи
Рабочее окно логов: сообщение об успешном открытии «сом» порта и ошибка активации устройства

Всё верно. Подключенная к компьютеру схема адаптера с целевой платой сконфигурирована под загрузку пользовательского кода (обе перемычки на целевой плате установлены в «0»).

Как соединить микроконтроллер STM32 через UART?

Для того чтобы получить успешное соединение с целевой платой, нужно правильно настроить схему под связь с программным обеспечением «STM32CubeProgrammer». То есть достаточно переставить одну перемычку на плате в положение «1», как показано на картинке ниже.

Микроконтроллер STM32 подключение через UART + режимы
Изменение конфигурации платы перемычками: 1 – загрузка кода пользователя; 2 – загрузка под программирование через программный софт

После такой несложной манипуляции схему вновь подключают к «USB» и активируют вкладку «Connect». Теперь соединение с целевой платой будет выполнено без каких-либо ошибок. То есть открывается перспектива, чтобы приступить непосредственно к процессу программирования микроконтроллера STM32. Если же соединения с целевой платой нет, в таком случае вполне возможной видится физическая неисправность электроники или соединений.

Видео-инструкция подключения STM32 через UART

Тут видеоролик демонстрирует как подключить целевую плату с микроконтроллером STM32 через UART интерфейс для последующей работы с пользовательским (или системным) кодом: