Фирма ST Microelectronics продолжает радовать разработчиков недорогими платами серии Discovery со своими микроконтроллерами. Одной из последних таких плат стала модель с процессором STM32F4.
Плата STM32F4 Discovery |
Если сравнивать с ранними вариантами плат Discovery, то версия STM32F4 предоставляет разработчику гораздо больше возможностей. И дело здесь даже не в применении одного из самых мощных микроконтроллеров, а наличие широкого спектра периферийных устройств. По замыслу производителя, данная плата нацелена на использование технологий обработки звука, что позволяет в полной мере рассмотреть возможности DSP-составлюящей микроконтроллера.
Общая идея платы практически не претерпела изменений. Пользователю предлагается устройство, содержащее целевой микроконтроллер с периферией, и фирменный отладчик ST-Link/V2. В связи с применением мощного процессора и увеличения количества устройств на плате, существенно повысились габаритные размеры. Гребенки подключения внешних элементов стали двухрядными. Изменилась разводка отладчика.
Основой платы, производитель выбрал микроконтроллер STM32F407VGT6, содержащий 1Мб памяти программ и 128Кб ОЗУ. Огромное количество и возможности периферийных устройств данного процессора здесь описывать смысла нет. В обвязку процессора включен только кварцевый генератор на 8МГц. В отличие от других плат, не установлен кварцевый генератор для часов, хотя место под него предусмотрено.
Пользовательская кнопка и кнопка “Reset” остались без изменений, а количество пользовательских светодиодов увеличилось до 4. При этом общее количество светодиодов стало равно восьми — добавились элементы, отображающие режим работы USB-порта.
Для изучения всех возможностей STM32F4, разработчики установили на плату следующие новые элементы:
— трехосевой акселерометр, с цифровым выходом
— цифровой микрофон
— ЦАП для аудиоприложений, оснащенный разъемом для наушников
— разъем USB-OTG
— перемычку для подключения амперметра, измеряющего ток, потребляемый устройством.
Отладочные платы Discovery STM32 и STM32F4 |
Как следует из состава устройств, STM32F4 Discovery нацелен на изучение возможностей по обработке сигналов. В частности с его помощью можно разрабатывать различные аудио приложения. Также представляет интерес разъем USB, позволяющий создавать интеллектуальные гаджеты. Учитывая высокую вычислительную мощность процессора, плата может стать центром весьма серъезной системы сбора и обработки данных или управления.
По сравнению с некоторыми другими платами STM32F4 Discovery имеет массу недостатков, хотя конечно данное мнение весьма субъективно. Первое что не хватает этой плате – дисплея. Обладая мощным процессором плата практически «слепая». Пользователь не может полноценно оценить работу устройства без дополнительных вложений. Учитывая наличие в процессоре специализированных интерфейсов дисплея и камеры, отсутствие хотя бы разведенных разъемов под них не понятно. В этом отношении отладочная плата Mikromedia с таким же точно процессором, но со встроенным дисплеем выглядит гораздо привлекательней, хоть и дороже.
Двухрядные разъемы линий ввода/вывода также вызывают нарекания. О применении плат беспаечного макетирования работая с Discovery лучше не задумываться. Самостоятельная разводка платы-носителя с учетом типа разъемов, тоже задача весьма нетривиальная и может потребовать дополнительных вложений на изготовление. Что бы опробовать что-то большее, чем предложено в базовом варианте, многим пользователям придется покупать дополнительные элемнты. В итоге главное достоинство – малая цена набора на самом деле практически не существенно.
Еще один недостаток свойственен всем платам серии. Заключается он в невозможности отсоединить встроенный отладчик, для отдельного использования. Решение, применяемое в LPCXpresso выглядит более симпатично. Хотя следует отметить, что в новой плате доступ к ST-Link организован удобней чем в предыдущих вариантах.
На рынке сейчас представлено большое количество устройств, позволяющих работать с процессорами STM32. Многие из них обладают гораздо большими возможностями, чем представленная STM32F4Discovery. Для рядового любителя, эта плата – не самый лучший выбор, так как потребует дополнительных устройств и вложений, что бы создать что-нибудь стоящее.
You have no rights to post comments
mcucpu.ru
Сэмпл был заказан 7 октября, получен в Москве 14 ноября. С учетом пересылки через Shipito очень даже неплохо.
Внутри привычного нам пузырчатого полиэтилена не оказалось 🙁 Плата упакована в блистер, а он в свою очередь в антистатический пакет, какого-то вида пергаментную бумагу и… гофронаполнитель.
Антистатический пакет заклеен антистатическим скотчем 🙂 Не шучу.
Зато на STM32F4DISCOVERY есть кнопки. Иногда нужны.
Но есть и обратная сторона медали. На LPCXpresso разъемы под I/O не только не впаяны, но еще и разведены в один ряд, что невероятно удобно, ибо можно посадить плату в макетную плату. У STM32F4DISCOVERY такой фокус не пройдет — колодки двухрядные. Да и не люблю я, когда разъемы уже стоят, мало ли, как я соединять плату захочу.
А вот JTAG/SWD у STM32F4DISCOVERY человеческий. На LPCXpresso имеется подлянка в виде 10-пинового разъема с шагом ножек 1.27 мм. Попробуй его найди. Ушлые парни из EA передают кабель-переходник за 14 евро.
На I/O есть «неотмытый» флюс. Я думаю, что он не неотмытый, а специально нанесенный, ибо больше его нигде нет.
В итоге: за такие деньги SMT32F4DISCOVERY очень достойная штука.
we.easyelectronics.ru
Специально к «Дням ST» на сайт КОМПЭЛ выложен Лабораторный практикум, который будет полезен всем разработчикам, кто делает первые шаги в освоении архитектуры микроконтроллеров ARM Cortex‑M4.
Практикум для отладочной платы STM32F4 Discovery позволяет познакомиться со средой разработки Keil MDK ARM и CooCox CoIDE 1.7, изучить систему тактирования и работу портов ввода-вывода, USART, SPI, ШИМ, АЦП, DMA, таймеры и др. Набор из восьми лабораторных работ последовательно познакомит с аппаратными ресурсами микроконтроллера — от создания проекта мигания светодиодом до использования прямого доступа к памяти (DMA) при обслуживании периферии.
Материалы лабораторного практикума оформлены в виде 52-страничного PDF-документа с иллюстрациями и листингами программ. Информация будет полезна разработчикам, студентам и всем энтузиастам-любителям, осваивающим современные производительные 32-битные микроконтроллеры. Дополнительным бонусом выступает приложение, где приведена схема подключения и дана простая программа для работы со стандартным символьным дисплеем 2×16.
Подробнее…
•••
Компания STMicroelectronics является №1 производителем электроники в Европе. Компоненты ST широко представлены в окружающих нас потребительских товарах – от iPhone до автомобилей разных марок. Лидеры индустриального рынка выбирают компоненты ST за их надежность и выдающиеся технические параметры. В компании ST работает 48 000 сотрудников в 35 странах. Производственные мощности расположены в 12 странах мира. Более 11 тысяч сотрудников заняты исследованиями и разработками – инновационное лидерство …читать далее
www.compel.ru
В примерах к Discovery работа в режиме «USB Device» показана в примере Demonstration (он прошивается в Discovery при изготовлении). Пример достаточно навороченный, USB в нем используется для эмуляции мыши в системе.
Разбираться с USB я начал именно с него. Для того, чтобы было проще разобраться в его работе, я выкинул из него часть кода, и оставил только код для работы в режиме «HID Mouse».
При включении производится инициализация периферии платы и USB, после чего весь код выполняется только в прерываниях. В данном случае все просто — в обработчике прерывания SysTick_Handler() опрашивается кнопка на плате, и если она нажата, то вызывается функция USBD_HID_SendReport, которая передает данные о перемещении курсора. Данные всегда одинаковы(константы), так что при нажатии кнопки на Discovery, курсор начинает ползти вверх.
Других примеров для работы в режиме «USB Device» к Discovery не прилагалось, не смотря на то, что в библиотеке USB были файлы для работы и в режиме CDC, и Audio Out.
Поискал в интернете примеры работы с USB, нашел только эти:
mcu.cz/comment-n2848.html
mcu.cz/comment-n2800.html
Правда, описание там на чешском и используется там TrueSTUDIO, так что решил на базе найденного написать свои примеры, правда, код остался практически тот же.
Сначала «USB Custom HID». В примерах такой класс отсутствовал, и я взял его из чешского примера.
Принцип работы такой же, как и в примере от ST для «STM32F10x and STM32L1xx».
Посылая на контроллер репорт из одного байта, можно управлять светодиодом, соответствующему номеру репорта.
Дальше захотелось реализовать режим CDC — эмуляция COM-порта. Разработчики из ST выложили класс для CDC, но примера для работы с ним не было. Все нужные исходники опять же есть у чехов, правда в их коде я нашел ошибки, делающие проект неработоспособным.
Так же у них при нажатии кнопки в виртуальный COM-порт просто передается символ «A», я пошел немного дальше, и прикрутил printf. При работе программы в виртуальный порт каждую секунду передается строка «Hello, World!».
При передаче символов S и A в порт с компьютера, на плате зажигается и гаснет один из светодиодов.
Поскольку в примерах к Discovery был класс для работы в режиме «Audio Device», я решил сделать из Discovery внешнюю звуковую карту — работающую на воспроизведение. В интернете нечего похожего не нашел, однако уже готовый такой пример есть у ST в библиотеке USB для STM32F105/7 and STM32F2xx. Все исходники там мало отличались, вся разница в основном только в используемом драйвере внешнего звукового чипа CS43L22. Драйвер там достаточно навороченный, позволяет передавать звук на чип через I2S и DAC контроллера, данные могут передаваться по прерываниям от I2S и при помощи DMA.
После того как проект был скомпилирован и прошит, возникла проблема — звук воспроизводился, но качество было просто отвратительным. После того, как я подключил осциллограф и запустил на компьютере генератор синусоидальных сигналов, я обнаружил что форма сигнала на выходе аудио-чипа явно искажена — четверть всего времени воспроизведения сигнал отсутствовал. Позже, после отладки и написания другого проекта, предназначенного только для воспроизведения звука, я обнаружил, что подобные искажения появляются, если функцию воспроизведения звука вызывать через равные промежутки времени — например из прерывания таймера, причем период работы таймера может быть значительно больше времени воспроизведения звука. Аудиоданные при этом передавались через DMA в модуль I2S(этот режим используется в примере от ST). Судя по всему, проблема явно связана с какими-то особенностями аудио чипа.
Для того, чтобы получить более приличный звук, я использовал DAC контроллера(аудио чип работает усилителем), звук при этом стал более-менее сносным, но одноканальным(воспроизводится только левый канал). Получить стерео звук можно только в режиме I2S. Я попробовал передавать звук по прерываниям от I2S — и искажения пропали. Правда, при воспроизведении данные от USB могут приходить в момент, когда звук еще воспроизводится, и иногда, насколько я понял, часть звуковых данных попадает в другой канал. Проявляется это как тихие щелчки, слышно их только в том случае, если звук в каналах различается.
Из-за вышеуказанных проблем, мой драйвер отличается от того, что выложен в примерах от ST. В данный момент можно переключать метод воспроизведения — через I2S и через DAC. Это можно сделать, изменив строчку
«__IO uint32_t CurrAudioInterface = AUDIO_INTERFACE_I2S;» в файле аудиодрайвера «stm32f4_discovery_audio_codec.c»
на «__IO uint32_t CurrAudioInterface = AUDIO_INTERFACE_DAC;»
Исходные файлы:
www.dropbox.com/s/pr201jqkweubb2e/my_proj.zip?dl=0
we.easyelectronics.ru
The STM32F4DISCOVERY helps you to discover the STM32F4 high-performance features and to develop your applications easily. It includes everything required for beginners and experienced users to get started quickly.
Based on the STM32F407VGT6, it includes an ST-LINK/V2 embedded debug tool, two ST MEMS, digital accelerometer and digital microphone, one audio DAC with integrated class D speaker driver, LEDs and push buttons and an USB OTG micro-AB connector.
A large number of free ready-to-run application firmware examples are available on www.st.com/stm32f4-discovery to support quick evaluation and development.
STM32F407VGT6 microcontroller featuring 32-bit ARM Cortex-M4F core, 1 MB Flash, 192 KB RAM in an LQFP100 package
On-board ST-LINK/V2 with selection mode switch to use the kit as a standalone ST-LINK/V2 (with SWD connector for programming and debugging)
— Board power supply: through USB bus or from an external 5 V supply voltage
— External application power supply: 3 V and 5 V
— LIS302DL, ST MEMS motion sensor, 3-axis digital output accelerometer
— MP45DT02, ST MEMS audio sensor, omni-directional digital microphone
— CS43L22, audio DAC with integrated class D speaker driver
— Eight LEDs:
LD1 (red/green) for USB communication
LD2 (red) for 3.3 V power on
Four user LEDs, LD3 (orange), LD4 (green), LD5 (red) and LD6 (blue)
2 USB OTG LEDs LD7 (green) VBus and LD8 (red) over-current
— Two push buttons (user and reset)
— USB OTG FS with micro-AB connector
— Extension header for all LQFP100 I/Os for quick connection to prototyping board and easy probing
Вот ссылка www.st.com/internet/evalboard/product/252419.jsp Открываем ссылку и кликаем по иконке “Order free kit”.
P.S. Только кит будут отправлять после 4 ноября.
we.easyelectronics.ru
1. Необходимо заменить прошивку микросхемы STM32F103C8 на которой собран программатор. Для этого можно воспользоваться Flash loader demonstrator которая позволяет с помощью штатного загрузчика изменить прошивку в самом программаторе. Для этого нам необходимо подключиться к выводам USART1_TX она же PA9 (30 вывод) и USART1_RX она же PA10 (31 вывод) — по ним будет осуществляться программирование процессора. А также к выводам BOOT0 (44 вывод) для перехода в режим встроенного загрузчика в системной памяти процессора и RST (7 вывод). Выводы 31 и 30 лучше всего подсоединить к пустым выводам (NC) на плате соответственно слева и справа (2-е выводы сверху). Процедура программирования описывалась тут и тут. Вывод BOOT1(PB2) подключаем к земле (после прошивки не забываем убрать это соединение) — для того, чтобы заставить процессор после старта перейти на запуск встроенного в системную память загрузчика. Прошивку для заливки в процессор программатора можно скачать тут. А саму программу Flash loader demonstrator тут.
2. После этого необходимо на процессоре программатора соединить PB12 (вывод 25) и PB14 (вывод 27).
3. Соединить вывод PB3 он же JTDO (вывод 55 отлаживаемого процессора STM32F103RB) и PA10 он же TSWO (вывод 31 процессора программатора).
В результате данной модернизации в среде Keil данный программатор определяется как STlink/V2.
we.easyelectronics.ru
Компания ST раздаёт дешёвые отладочные платы для знакомства с их микроконтроллерами. Наверняка и вы начнёте с них — поэтому я рассмотрю основные платы Discovery, чтобы вы могли выбрать себе по вкусу.
Самая первая плата семейства, раньше называлась просто STM32Discovery. Именно с неё началась экспансия ST на рынок дешёвых и мощных микроконтроллеров общего назначения, этим объясняется её неприлично низкая цена — демпинг цен на эту плату принёс ST прибыль в виде множества новых адептов.
Как видим, довольно мощная плата. Вкупе с низкой ценой (а многие, как и я, получили её бесплатно на семинарах) она произвела настоящий фурор.
К плате прилагается множество примеров использования разной периферии, и неплохой «Master project», прошитый по умолчанию.
Скачать примеры для STM32VLDiscovery.
Очень сильная плата, как по мощности процессора так и по количеству периферийного оборудования. Процессор класса STM32F4 имеет высокую скорость работы, множество периферии вроде контроллеров памяти/дисплеев/камеры и всевозможными USB, CAN и прочими интерфейсами, а также полноценные модули FPU и DSP. Замечательный процессор, на нём сделано довольно много из моих приборов.
Конечно, стоит дороже — но и возможностей имеет куда больше. Прекрасная плата, удобная и мощная. В основном на ней я проводил эксперименты со звуком, с шинами CAN и USB, и акселерометром. Наличие DSP-ядра даёт возможность производить цифровую обработку аудиосигналов и навигации. Помимо перечисленной периферии, на кристалле присутствуют также модули вычисления CRC (контрольные суммы), HASH (хеш данных), CRYPT (криптография) и RNG (генератор случайных чисел).
Список прилагающихся примеров так же обширен. Из минусов — разве что не очень удобный micro-USB.
Скачать примеры для STM32F4Discovery.
Столь же хорошая плата, но с ещё более новым процессором серии STM32F3, и явной направленностью на навигационные применения и Sensor Fusion. Похоже, её сделали на росте популярности квадрокоптеров, которым нужен как раз такой набор датчиков положения. Также, видимо, инженеры услышали просьбы разработчиков и сделали USB в виде обычного mini-USB.
По умолчанию прошит довольно интересный пример — магнитный компас, отображающий направление на север на светодиодном круге.
К возможностям процессора стоит добавить умножение за 1 такт и железное деление, модули вычисления CRC (контрольные суммы), HASH (хеш данных), CRYPT (криптография) и RNG (генератор случайных чисел), а также расширенные аналоговые возможности — 4 ОУ с изменяемым коэффициентом усиления, увеличенное количество (4 штуки) 12-бит АЦП и 7 компараторов. Это делает STM32F3 настоящим DSP, с отличным аналоговым интерфейсом.
На этой плате я также сделал довольно много приборов.
Скачать примеры для STM32F3Discovery.
Самая свежая отладочная плата — на младшем процессоре серии STM32F0.
Эта плата интересна в первую очередь своей дешевизной и применением процессора из младшего семейства. Ведь даже самый слабый процессор ST/ARM всё равно во много раз мощнее привычных AVR и PIC, а стоит даже дешевле. Более того, здесь есть модули CRC, аналоговые компараторы и контроллер сенсорных кнопок.
Скачать примеры для STM32F0Discovery.
catethysis.ru