8-900-374-94-44
[email protected]
Slide Image
Меню

Платы stm32 – Отладочные платы на базе микроконтроллеров STM32

Содержание

Используем STM32 безо всяких отладочных плат

Ранее мы познакомились с несколькими отладочными платами на базе микроконтроллеров STM32 — это Blue Pill, платами серии Nucleo, и даже такой экзотикой, как Кракен. Все это здорово, но что, если нам захочется использовать микроконтроллер не в прототипе, а в полноценном готовом устройстве? Не вкорячивать же в него плату Nucleo! Поэтому сегодня мы разберемся, как работать с STM32 напрямую, то есть, прямо на макетной плате, на примере микроконтроллера STM32F103C8T6. Казалось бы, тема эта несложная, однако есть пара подводных граблей, про которые стоит знать.

Fun fact! Аналогичную инструкцию для микроконтроллеров AVR вы найдете в посте Как собрать Arduino прямо на макетной плате.

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

Итак, первая сложность заключается в том, что микроконтроллеры STM32 не бывают в DIP-корпусах, а значит понадобится переходник. STM32F103C8T6 имеет корпус LQFP-48, для которого готового переходника у меня не было. Такой переходник можно вытравить самому, можно поискать на eBay. Я прикинул, что в будущем мне понадобится больше одного переходника. А еще я могу захотеть подарить парочку из них, так как многие мои коллеги занимаются электроникой в качестве хобби. Плюс мне не хотелось долго ждать доставки. Поэтому я спроектировал собственный переходник в KiCad и заказал десяток плат на Резоните. Также для вашего удобства я залил плату на OSH Park. Следует однако учесть, что в пересчете на одну плату цены у OSH Park существенно выше, чем у Резонита, и доставка обычно занимает несколько недель против трех дней.

Допустим, переходник у нас уже есть. Далее открываем даташит [PDF] и смотрим распиновку микроконтроллера (стр 16):

Наиболее интересные нам сейчас пины я выделил цветом. Подключаем их таким образом:

  • Пины VSS* (8, 23, 35 и 47) идут к земле;
  • Пины VDD* (9, 24, 36 и 48) — к 3.3 В;
  • NRST (7) оставляем висеть неподключенным, но готовим перемычку для подключения его к земле в случае необходимости. Если места на макетке хватает, вместо перемычки можно использовать кнопку с конденсатором для защиты от дребезга. При этом подтягивающий резистор к плюсу не требуется, так как такой резистор уже есть в самом микроконтроллере;
  • BOOT0 (44) определяет, откуда микроконтроллер будет загружать прошивку. Нам нужно, чтобы он делал это из flash-памяти, поэтому подключаем к земле. При этом напряжение на пине BOOT1 (20) не имеет значения, и этот пин может использоваться для обычного GPIO;
  • SWIO и SWCLK (34 и 37) — к соответствующим пинам программатора;
  • Наконец, пин PC13 (2) у нас будет мигать светодиодом;

Важно! Между каждой парой соседних пинов VSS и VDD втыкаем по конденсатору на 100 нФ, и желательно — как можно ближе к пинам микроконтроллера. Без этого микроконтроллер в лучшем случае не будет прошиваться (я проверял). Некоторые же источники утверждают, что без конденсаторов его можно даже сжечь в момент подачи питания.

В итоге должно получиться примерно следующее:

Теперь можно приступать и к генерации проекта в STM32CubeMX. Только обязательно проверьте, чтобы SWD был включен:

Если забыть включить SWD и прошить микроконтроллер, прошить его во второй раз будет затруднительно. У меня по умолчанию SWD был выключен. В интернете пишут, что это считается багом в STM32CubeMX, который что-то никак не починят. При этом проявляется баг только для микроконтроллеров определенных серий.

Спрашивается, а что делать, если мы случайно прошили микроконтроллер прошивкой, которая отключает SWD? В этой ситуации выполняем следующие шаги. (1) Пин NRST подключаем к земле, или, если вместо перемычки вы использовали кнопку, нажимаем и держим кнопку. (2) Говорим

st-info --probe. Должны увидеть что-то вроде:

Found 1 stlink programmers
 serial: 543f73066775545512251267
openocd: «\x54\x3f\x73\x06\x67\x75\x54\x55\x12\x25\x12\x67»
  flash: 0 (pagesize: 1024)
   sram: 20480
 chipid: 0x0410
  descr: F1 Medium-density device

Заметьте, что программатор видит 0 байт flash-памяти. На этом шаге это нормально. (3) Выдергиваем перемычку между NRST и землей, или отпускаем кнопку. Несмотря на то, что ранее в микроконтроллер была залита какая-то прошивка, сейчас она не будет запущена. Если же повторить команду st-info --probe, окажется, что программатор видит всю flash-память:

  flash: 65536 (pagesize: 1024)

После этого можно спокойно говорить

make erase или make flash, а значит и включить SWD, как это было описано выше.

Фактически, мы получили собственную минимальную отладочную плату, собранную на макетке. За исключением описанных выше моментов, работа с ней ничем не отличается от работы с той же Blue Pill. Правим код, компилируем, прошиваем, при необходимости повторяем — все работает, как часы. Цель достигнута!

Эта заметка, разумеется, не претендует на то, чтобы полностью заменить собой даташит. В частности, за кадром осталось подключение внешних кварцевых резонаторов (LSE и HSE) и другие вопросы. Но в них, думаю, вы без труда разберетесь и самостоятельно.

Исходники к этому посту я выложил на GitHub. В репозитории вы найдете как простенькую прошивку для микроконтроллера, так и KiCad-проект адаптера для LQFP-48 вместе с готовыми Gerber-файлами.

Как обычно, если у вас есть вопросы, дополнения, возражения, и так далее — не стесняйтесь оставлять комментарии!

Дополнение:

Как и зачем я делал очередную отладочную плату

Метки: STM32, Электроника.

eax.me

Отладочная плата на STM32

Для первых шагов в изучении программирования замечательных контроллеров STM32 начинающему программисту идеально подойдет отладочная плата на базе МК stm32f103c8t6, и программатор st-link v2. Можно воспользоваться возможностью программировать МК через UART, с помощью переходника USB-UART, тогда можно обойтись и без st-link v2, но все же советую программатор, так как им и быстрее, и возможно шить прямо с KEIL-а и есть режим отладчика. На плате есть помимо контроллера, стабилизатор напряжения с 5 на 3.3В, кнопка сброса, разъем micro-USB, 2 кварца (тактовый 8MHz, и часовой 32768Hz), штыревой 4 пинный разъем для SWD программирования при помощи st-link v2, и две 10-ти контактные гребенки для подключения внешних устройств и модулей.

Также имеется 2 светодиода, один индицирует питание, второй — подключен к порту C13, и подходит для первого проекта, помигать светодиодом. Еще на плате имеется 2 перемычки: BOOT0, BOOT1. Они нужны для запуска контроллера в режиме загрузчика (для прошивки по UART). Для прошивки по UART, необходимо перемычку BOOT0 (та что ближе к кнопке RESET), подтянуть к 0, а BOOT1 к 1.

После подключить переходник USB-UART: TX переходника к A10 платы, RX переходника к A9 платы, и соединить обязательно GND. После подачи питания можно запускать программу Flash Loader Demonstrator, и прошивать. После прошивки не забывайте поставить перемычки в исходное положение.

Выбираем номер ком порта на котором ваш переходник USB-UART

При обнаружении платы выводится окно.

Здесь ничего не трогаем, просто идем далее.

Здесь можно стереть, прошить или считать контроллер. Также возможно поставить защиту на чтение.

СКАЧАТЬ FLASH LOADER DEMONSTRATOR

elschemo.ru

Использование отладочной платы STM32F7 Discovery для макетирования микропроцессорных устройств



Данная статья направлена на изучение технических и аппаратных характеристик отладочной платы STM32F7 Discovery для макетирования микропроцессорных устройств. Также будут выделены основные интерфейсы и подключаемая периферия, легкость освоения данной платы для создания собственного проекта на примере разработки носимого микропроцессорного кардиомонитора.

Ключевые слова: микроконтроллер, STM32, Discovery, медицина, кардиомонитор.

Создание собственного проекта, основанного на микроконтроллере, можно разделить на три трудоемких этапа:

1) разработка принципиальной электрической схемы управляемого устройства;

2) выбор контроллера и языка программирования;

3) создание/отладка кода программы микроконтроллера для управления устройством.

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

Второй этап разработки «умного» проекта — это выбор контроллера и языка программирования. В настоящее время существует огромный выбор микроконтроллеров, которые подходят для реализации различных задач.

Для того, чтобы изначально правильно выбрать контроллер, разработчику следует взвесить, оценить свой проект по некоторым критериям:

  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, возможность быстро написать и отладить код программы являются ключевыми особенностями и преимуществами по сравнению с конкурентными устройствами данного характера от других производителей.

Литература:

  1. Данченко Д. Г. Современные технические решения для разработки носимого микропроцессорного кардиомонитора / Д. Г. Данченко // Лучшая студенческая статья: материалы IX Междунар. науч.-практ. конк. (Пенза, 25 июня 2017 г.) / редкол.: Г. Ю. Гуляев [и др.]. — Пенза: МЦНС «Наука и Просвещение», 2017 — ISBN 978–5-906973–53–5.
  2. Данченко Д. Г. Базовые параметры и структурная схема носимого микропроцессорного кардиомонитора / Д. Г. Данченко // Лучшая научно-исследовательская работа: материалы VII Междунар. науч.-практ. конк. (Пенза, 10 мая 2017 г.) / редкол.: Г. Ю. Гуляев [и др.]. — Пенза: МЦНС «Наука и Просвещение», 2017 — ISBN 978–5-9500236–2-0.
  3. ARM mbed Enabled [Электронный ресурс]: сообщество программистов по микроконтроллерам STM32. — Режим доступа: http://www.mbed.com

Основные термины (генерируются автоматически): отладочная плата, ARM, плат, SDRAM, USART, SAI, OTG, USB, интерфейс, контроллер.

moluch.ru

Плата контроллера на базе STM32F7 с видеовыходом / Habr

По роду своей работы часто приходится проектировать различные виды управляющих и измерительных систем. Разумеется на базе микроконтроллеров. Сначала использовали AVR, потом следующее семейство ATxMega, в конце концов остановились на семействе STM32. Несмотря на разные функционал проектируемых устройств, масса функций остается неизменной: интерфейс с пользователем и внешними устройствами, сохранение данных, часы реального времени и т. п. Поэтому появилась идея сделать универсальную плату контроллера содержащую основные узлы, а дополнительные подключаемые платы будут расширять функционал до необходимого. Сначала это был контроллер на STM32F103, потом на 207, потом на 429. И вот на 746 кристалле.

Но главная новинка на этой плате — это видеовыход. До этого, как правило, использовался графический дисплей (монохром, 320 х 240). Но у этого подхода есть свои недостатки:

1. При переходе на цветной дисплей приличного размера > 5″ с встроенным контроллером цена становится достаточной большой.
2. Использовать приходиться только один тип дисплея, так как интерфейсы, как правило несовместимы.

Но тут пришла мысль использовать стандартные автомобильные мониторы, цена которых, достаточно демократична, существует большое количество производителей и есть разные размеры.

Для этого пришлось реализовать видео выход.



После поисков на просторах Интернета был обнаружен графический контроллер S1D13746F01, который имеет встроенную память 321 кБ и композитный видеовыход.Конечно есть и S-Video, но он не планировался использоваться. Так же был обнаружен и даташит на Evaluation Board с подробной схемой подключения, правда на корпус, который имеет 100 выводов.

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

Для организации видеобуфера потребуется 320 * 240 = 76800 байт. Количество цветов при этом будет равным 256. Такой формат кодирования цвета обозначен в документации на видеоконтроллер, как RGB 3:3:2. То есть 3 бита на красный, 3 бита на зеленый и 2 бита на синий цвет. Итого 8 красных цветов различного уровня, 8 зеленых и 4 синих.

Запись в видеочип осуществляется программным способом через порт. Вот программка на Си.

void refresh_display(void)
{
  unsigned long   h, s;
  unsigned short  out_port; 
  
  for (s = 0; s < Height_window; s++) //строки
  {
    for (h= 0; h < Width_window; h++) //столбцы
    {
      out_port = gLCD_port->ODR;
      out_port &= 0xFF00;
      out_port |= video_buffer[h] [s];  //данные 
      gLCD_port->ODR = out_port;

      gLCD_color_WE_low; //запись
      gLCD_color_WE_high;
    }
  }
}


Время записи всего видеобуфера составляет примерно 20мсек. При желании можно выводить видео 50 кадров / сек, но контроллер будет заниматься только выводом. 🙂 В реальных задачах необходимо осуществлять перезапись экрана от 3 до 10 раз в секунду.

И вот картинка на подключенном автомобильном мониторе, купленном в ближайшем магазине. Размер монитора — 7″.

Это управление высоковольтным тестирующим устройством. Кроме видеовыхода на плате контроллера остался разъем для подключения монохромного дисплея Winstar WG320240C0.

Краткая характеристика основных узлов на плате контроллера:

  • 6 разъемов с комплементарными ШИМ выходами для управления полумостами
  • USB Host реализован на микросхеме VNC1L, в основном используется для записи информации на флешки.
  • USB Device — микросхема FT232RL, используется для программирования микроконтроллера с компьютера через USB
  • изолированный RS485 для связи с устройствами по MODBUS
  • Wi-Fi на базе модуля ESP8266
  • RTC — DS1307 с литиевой батарейкой, подключен по I2C
  • 2 микросхемы флеш памяти, одна используется для хранения конфигурации устройства, другая для архивных данных
  • ИОН на базе REF192
  • 2 разъема расширения на 20 пин каждый, один для аналоговых сигналов, другой для цифровых.

Вот такой контроллер получился.

habr.com

STM32. Обзор отладочной платы STM32F3DISCOVERY

Обзор отладочной платы STM32 F3 Discovery.

Основные компоненты платы:

  • Микроконтроллер STM32F303VCT6,256 KB Flash,48KB RAM.
  • Встроенный отладчик ST—LINK/V2.
  • Гироскоп L3GD20, 3-х осевой.
  • 3 -х осевой акселерометр и 3-х осевой датчик магнитного поляLSM303DLHC.
  • 2 USB Выхода (Отладочный и пользовательский).
  • 2 Кнопки (RESET и пользовательская ).
  • 8 светодиодов.
  • Индикаторы питания и подключения к ПК.

Для начала работы с платой STM32 F3 Discovery необходим лишь кабель USB—USB mini. При подключении платы к ПК, питание на неё передается по USB, что позволяет при обучении исключить внешний источник питания.

Данная плата обладает огромным потенциалом. Благодаря наличию встроенного акселерометра и гироскопа, данная плата отлично подходит для обучения основным принципам позиционирования устройства в пространстве.

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

В итоге, хотелось бы отметить, что данная плата станет прекрасным выбором для новичка в мире микроконтроллеров STM32. Однако данная плата направлена по большей части на работу с навигационными системами, хоть это и не исключает других применений платы.


Любое копирование, воспроизведение, цитирование материала, или его частей разрешено только с письменного согласия администрации MKPROG.RU. Незаконное копирование, цитирование, воспроизведение преследуется по закону!

mkprog.ru

Плата Mikromedia for STM32

Плата Mikromedia for STM32

Плата Mikromedia for STM32 выпускается сербской фирмой Mikroelektronika, и представляет собой микроконтроллерную отладочную плату, оснащенную цветным графическим дисплеем и тач-контроллером. Плата ориентирована на создание мобильных приложений и устройств, для которых необходим полноценный интерфейс.

 

 

Конструкция Mikromedia for STM32

В основе Mikromedia for STM32 лежит микроконтрллер STM32F207VGT6, выпускаемый STMicroelectronics. Данный процессор реализован на ядре Cortex-M3, обеспечивает быстродействие 1.25DMIPS/MHz, имеет 1Мб флэш-памяти программ, 128 Кб ОЗУ. Для связи с внешним миром предусмотрены 83 линии ввода/вывода, и множество стандартных интерфейсов.

Изюминку платы составляет цветной графический TFT дисплей, с разрешением 320х240 пикселей, поддерживающий 262144 цвета. Размер экрана при этом равен 60х45мм. Дисплей подключен к контроллеру по 8-ми битному интерфейсу. Поверх дисплея смонтирована резистивная матрица, позволяющая использовать плату Mikromedia в качестве законченного интерфейсного решения. Дисплей же придает плате и главный недостаток – резистивная матрица и соединительные провода ничем не защищены и могут быть повреждены при неаккуратном обращении. Принцип установки дисплея и матрицы не совсем понятен, поэтому замена поврежденных элементов может оказаться под вопросом. Учитывая мобильную ориентированность устройства, данный недостаток может оказаться весьма существенным, и производителю желательно предусмотреть опцию в виде верхней крышки.

Кроме дисплея на плате установлено множество дополнительных устройств. Среди них:

  • держатель карт MicroSD
  • MP3 кодек на основе микросхемы VS1053 и стерео-разъем для наушников.
  • разъем Mini-USB
  • акселерометр ADXL345
  • микросхема Flash-памяти M25P80, емкостью 8Мбит, подключенная к процессору по интерфейсу SPI.
  • элементы системы питания с возможностью зарядки Li-Pol аккумуляторов.
  • кнопка «Сброс». Вторая кнопка «Сброс» может быть установлена со стороны деталей.
  • светодиоды питания и подзаряда аккумулятора.
Конструкция Mikromedia 

Свободные линии микроконтроллера выведены на края платы. Подразумевается установка штыревых разъемов для использования периферийных устройств. В принципе решение стандартное, особенно если учесть, что производитель предлагает несколько внешних шилдов, в том числе и оснащенных более солидными разъемами.

Для отладки устройства предусмотрен разъем JTAG. Mikroelektronika предлагает использовать собственный отладчик. Также заявлена поддержка ST-Link, для которого в комплект поставки входит специальный переходник. В процессоре изначально прошит bootloader, что позволяет использовать для загрузки программы USB-интерфейс.

Питание Mikromedia for STM32 возможно как от USB-кабеля, таки от внешней батареи. Производитель предлагает использовать Li-Pol аккумуляторы, либо два элемента ААА, устанавливаемые на отдельной плате. Реализована подзарядка аккумуляторов, в случае работы от шины USB.

Для программирования процессора Mikroelektronika предлагает компиляторы собственной разработки. Доступны языки программирования C, Pascal, Basic. Достоинством этих компиляторов является простота использования и наличие большого числа готовых библиотек, поддерживающих устройства на плате. При необходимости возможно использование любых других компиляторов, поддерживающих процессоры STM32. Графическую часть можно создавать в отдельной программе под названием Visual TFT. Последнее представляет собой графическую среду разработки, содержащую готовые элементы интерфейса. Все программное обеспечение имеет демонстрационные версии с ограничением по объему кода.

Плата Mikromedia for STM32 и ее варианты для других процессоров, представляет собой новое направление отладочных устройств. Обладая функциональной законченностью, она не останавливает разработчика в реализации своих проектов. При этом все самые сложные компоненты уже смонтированы на плате. Учитывая низкую стоимость устройства, равную 99$, следует ожидать роста ее популярности и появления интересных проектов.

You have no rights to post comments

mcucpu.ru

Плата расширения STM32F103-EXB для Olimex STM32H-103 » Схемотехника

Отладочная плата STM32F103-EXB предназначена для расширения возможностей платы STM32H-103. Изначально она разрабатывалась для установки на нее головной платы STM32F103-HB , но поскольку STM32F103-HB является аналогом Olimex STM32H-103, то я посчитал более правильным указать в названии статьи оригинальную плату от Olimex. Обе эти платки (STM32H-103 или STM32F103-HB) могут быть установлены на плату расширения STM32F103-EXB.

Печатную плату STM32F103-EXB можно изготовить при помощи лазерно-утюжной технологии самостоятельно или заказать готовую у пользователя Volldemar , который является разработчиком данной платы.
Обсуждение платы расширения находится в этой ветке форума Отладочная плата на основе STM32F103-HB.

Внешний вид отладочной платы показан на следующих рисунках.

Плата состоит из следующих основных элементов :

  • 1 — слоты для установки головной платы STM32H-103 (STM32F103-HB)
  • 2 — разъем для подключения к COM – порту компьютера. Подсоединен к модулю USART1.
    Может использоваться для программирования микроконтроллера платы STM32H-103.
  • 3 — разъем для подключения к сети CAN. Подсоединен к модулю микроконтроллера CAN1
  • 4 — микросхема импульсного преобразователя питания DC/DC (NCP3163)
  • 5 — микросхема драйвера RS-232 (MAX3232C)
  • 6 — микросхема драйвера CAN
  • 7 — разъем для подключения внешнего адаптера питания
  • 8 — микросхема операционного усилителя селектора питания
  • 9 — микросхема линейного преобразователя питания DC/DC с выходным напряжением +3,3В
  • 10 — держатель батарейки +3В для питания RTC модуля микроконтроллера
  • 11 — разъемы расширения портов микроконтроллера модуля STM32H-103
  • 12 — разъем для подключения к COM – порту компьютера (на картинке он не установлен). Подсоединен к модулю USART2.
  • 13 — разъем для подключения интерфейса RS-485 (на картинке он не установлен).
  • 14 — микросхема датчика температуры с интерфейсом I2C (STLM75M ).

Как видно из предыдущих рисунков на плате установлено два интерфейса RS-232 , по одному интерфейсу CAN и RS-485, держатель для часовой батарейки, импульсный преобразователь со входным напряжением 9…36В и выходным 5,2 В, селектор питания для автоматического переключения питания платы между внешним адаптером и питанием от интерфейса USB, цифровой датчик температуры , разъемы расширения портов микроконтроллера и разъемы для установки головной платы STM32H-103.

Рассмотрим состав и возможности каждой состовной части платы расширения STM32F103-EXB по-отдельности.

Слоты для установки головной платы

На плату расширения STM32F103-EXB может быть установлена одна из головных плат STM32H-103 или STM32F103-HB. Слоты для установки головной платы не имеют направляющих ключей, поэтому нужно быть внимательным при установке. Головная плата устанавливается таким образом, чтобы ее USB- разъем был направлен наружу, как расположенный рядом разъем CAN.

Головные платы STM32H-103 и STM32F103-HB идентичны по своим функциональным возможностям. На каждой из них установлен микроконтроллер STM32F103RB с 128 кБ Flash- памяти программ и 20кБ SRAM памяти данных, разъем USB-B для подключения к USB – порту компьютера, один программируемый светодиод и кнопка, индикатор питания и кнопка аппаратного сброса микроконтроллера. Также присутствуют посадочные места для установки перемычек BOOT0, BOOT1 для активации встроенного в микроконтроллер загрузчика. Установлен линейный преобразователь питания из 5В в 3,3 В , кварцевый резонатор на 8МГц и стандартный 20 — выводной разъем JTAG.

Разъем расширения линий портов ввода/вывода микроконтроллера

Для расширения возможностей платы STM32F103-EXB выводы портов микроконтроллера выведены на четыре внешних разъема PLD-20 X25 – X28 . На этих разъемах доступны только линии микроконтроллера, выведенные с головной платы. Их можно использовать для подключения дополнительных макетных плат или анализа с помощью измерительных приборов.

В ближайших планах реализовать подключение цветного графического индикатора TFT LCD 2,4” с разрешением 320×240.

Поскольку у микроконтроллера STM32F103RB нет интерфейса внешней памяти FSMC , то для подключения TFT дисплея будет использоваться 8 или 16 -битный параллельный интерфейс.

Схема импульсного преобразователя внешнего питания платы

Для питания платы от внешнего источника постоянного тока напряжением 9…36В используется импульсный DC/DC преобразователь на основе микросхемы NCP3163. Схема подключения понижающего преобразователя изображена на следующем рисунке.

На принципиальной схеме преобразователя диодный мост VD1 защищает схему от подключения внешнего источника питания с противоположной полярностью. Также вполне возможно подключить внешний адаптер переменного тока.

Схема подключения микросхемы D1 стандартная из документации.
В двух словах рассмотрим принцип работы. Цепь обратной связи по напряжению на резисторах R13R16 обеспечивает стабильность выходного напряжения преобразователя. На выводе VF2 микросхемы должно присутствовать опорное напряжение 1,25 В. Конденсатор C3 , подключенный к выводу TC микросхемы, задает частоту работы преобразователя. Максимальная величина тока нагрузки преобразователя ограничена благодаря резистору R11, на котором производится измерение силы тока.

Выходной ключ преобразователя выведен на контакты микросхемы SWE1 и SWE2. К этим выводам подключена катушка индуктивности L1 и диод Шотки VD2. Вместе с накопительным конденсатором C11 они превращают импульсный сигнал на выходе ключа в постоянное напряжение на выходе преобразователя.

Цепь C7R17 увеличивает эффективность преобразования при высоких значениях входного напряжения.

Микросхема NCP3163 позволяет обеспечить максимальный ток нагрузки до 1,5 А. Однако благодаря встроенной в преобразователь схеме защиты от перегрузок, максимальный ток нагрузки будет определятся значением сопротивления резистора R11.

Для увеличения нагрузочной способности платы STM32F103-EXB можно подкорректировать значение сопротивления R11 :

R = 0,25 / 2xI ,

где I – номинальный ток нагрузки преобразователя

Мощность резистора R11 рассчитывается так :

P = 0,5 x I ,

Для максимальной нагрузочной способности преобразователя (1,5А) сопротивление и мощность резистора R11 равны :

R = 0,25 / 3 = 0,08 (Ом)
P = 0,5×1,5 = 0,75 (Вт)

Кроме того сечение провода катушки индуктивности L1 и максимальный прямой ток диода VD2 должны соответствовать двойному значению тока нагрузки .

COM порты

На плате STM32F103-EXB расположено два разъема для подключения к последовательным портам компьютера. Также их можно использовать для подключения внешних устройств с интерфейсом RS-232 к отладочной плате.
Схема подключения является стандартной.

Преобразователь уровней сигнала для различных типов логики TTL/CMOS выполнен на специализированной микросхеме max3232c. Микросхема драйвера имеет два входных и два выходных канала для преобразования. Оба разъема X22 и X23 подключены к одной микросхеме драйвера, поэтому используются только две основные линии TxD и RxD для подключения к модулям USART1 и USART2 микроконтроллера.

CAN интерфейс

Плата расширения STM32F103-EXB содержит в своем составе микросхему драйвера CAN интерфейса. Линии интерфейса CAN выведены на разъем X24 типа DB-9F.

Интерфейс RS-485

Интерфейс RS-485 реализован на специализированной микросхеме драйвера ADM485EAR.
Схема подключения стандартная. Линии A и B шины RS-485 с помощью перемычек X15, X16 могут быть подтянуты соответственно к питанию и земле.

Перемычка X17 подключает между A и B терминальный резистор, необходимый на длинных линиях связи. Перемычка X13 подсоединяет питание к микросхеме драйвера.
Перемычки X9 и X10 выполняет подключение линий приемника и передатчика модуля USART2 либо к драйверу RS-485 , либо ко второму порту RS-232.

Сигналы микросхемы драйвера DE и ~RE соединены вместе, поскольку порт RS-485 у нас работает в полудуплексном режиме, то есть прием и передача не могут выполняться одновременно.

Держатель часовой батареи

В состав микроконтроллеров stm32f10x входит модуль часов реального времени RTC.
Для питания модуля RTC используется 3В батарейка. На рисунке видно , что держатель батареи несколько больше своего посадочного места. Я запаял на плату тот держатель, который был у меня в наличии.

Батарейка обеспечивает непрерывную работу часов, при выключении питания микроконтроллера дата и время остаются актуальными, поскольку модуль RTC продолжает работать.

I2C датчик температуры

Цифровой термометр STLM75M с последовательным интерфейсов I2C позволяет измерять температуру окружающей среды с точностью до 0.5 градуса Цельсия.

Перемычки X6 – X8 предназначены для установки трех младших разрядов адреса устройства на шине I2C. X12 подсоединяет питание к микросхеме цифрового термометра. X14 можно подключить на вход внешнего прерывания и отслеживать наступление определенного события , например превышения температуры окружающей среды заданного значения.

Селектор питания

Селектор питания предназначен для автоматического переключения источника питания платы с внешнего адаптера питания на питание от USB порта компьютера. Выполнен селектор на двух операционных усилителях на базе микросхемы MC33202D .

Для самостоятельного изготовления данной платы в конце статьи находятся все необходимые исходные материалы.

Обсуждение отладочной платы на форуме
Принципиальная электрическая схема
Перечень элементов
PCB Top
PCB Bottom
Сборочный чертеж верхнего слоя
Сборочный чертеж нижнего слоя

Viewed 27220 times by 3057 viewers

cxemotexnika.org

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

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