- PVSM.RU - https://www.pvsm.ru -

STM-32 Минимальная аудио плата

В ожидании часов [1] спроектировал девайс на STM32. По функциональности задумывалось реализовать простой диктофон или плеер и посмотреть на сколько возможна обработка звука на STM32F103 семействе, хотя бы с использованием Fixed-Point

STM-32 Минимальная аудио плата - 1

Для реализации минимальной аудио платы я взял контроллер который имеет ЦАП, АЦП и может работать с СД картой не только по SPI но и желательно через SDIO. STM32F103RCT6 подходит.
Заказал 5 штук на Али [2] за 7$ с копейками, на случай если что-то пойдет не так. Дисплей и горсть электретных микрофонов лежит в запасах. Кварцевые резонаторы думаю взять в ЧипДип

Разрабатывать в среде разработки STM32CubeIDE32 очень удобно. Можно сконфигурировать HAL в CubeIDE, а потом делать схемотехнику соединений

STM-32 Минимальная аудио плата - 2

Характеристики контроллера

STM32F103RCT6 3xADC 1xDAC, SDIO, USB
На нем есть еще I2S. В дальнейшем можно подключить аудио чип

Для дебага и заливки используем выводы SWDIO SDCLK. Можно прошивать через UART или USB, но я не пробовал STM32F103 Bootloader (загрузчик) [3]
STM32 — входим в bootloader по кнопке [4]

STM32F103RCT6

STM-32 Минимальная аудио плата - 3

Схема подключения контроллера. Дисплей подключается по I2C1. Перемычкой SJ3 можно выставить адрес по которому можно обращаться к дисплею 0x7A или 0x78

128x64 OLED

STM-32 Минимальная аудио плата - 4

Карточка подключается по SDIO. Можно также подключить по SPI, но скорость обмена будет медленнее. SDIO в моем случае работает по 4-ем линиям и коме того SPI интерфейс для карты памяти не «родной» Я подтянул кверху часть выводов, остальные подтянутся программно. Без программной подтяжки будет задействована одна линия

SD CARD

STM-32 Минимальная аудио плата - 5

Усилитель для микрофона и наушников это TS922 двойной операционный усилитель. Как я уже писал в статье [5] он тянет до 80 мА, что вполне достаточно для наушников. Вторая часть микросхемы это усилитель микрофона. Конденсаторы в цепи обратной связи это фильтр высоких частот. Коэффициент усиления K = 1 + Rос/R или 1 + 5100 / 510 = 11 на примере усилителя для наушников. Как рассчитать другие элементы есть в той же статье. Я сделал общий делитель напряжения для задания смещения на входе операционника. тем самым сэкономив пару-тройку компонентов. Хорош ли такой подход?

Amplifiers

STM-32 Минимальная аудио плата - 6

Питание сделано через USB LM1117-3.3V

STM-32 Минимальная аудио плата - 7

Добавлено 6 кнопок и некоторые выводы выведены наружу

STM-32 Минимальная аудио плата - 8

P.S.

Пока проектировал плату на stm32f103 наткнулся на серию STM32F411. По цене в 2-3 доллара полноценное ядро CortexM4!

Arm Cortex-M4 32b MCU+FPU, 125 DMIPS, 512KB Flash, 128KB RAM, USB OTG FS, 11 TIMs, 1 ADC, 13 comm. interfaces

На нем уже можно и с DSP поиграться
Реализовать IIR фильтр и ревербератор и много еще чего

Realtime Audio DSP on STM32F4

Но это уже будет другая история

Autodesk Eagle:
STM-32 Минимальная аудио плата - 9
STM32AudioLCDMinimal [6]
Замечания и предложения приветствуются

Автор: Andreev Dmitry

Источник [7]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/stm32/351531

Ссылки в тексте:

[1] часов: https://habr.com/ru/post/494748/

[2] Али: https://www.aliexpress.com/item/33047192967.html

[3] STM32F103 Bootloader (загрузчик): https://arm-stm.blogspot.com/2013/11/stm32f103-bootloader.html

[4] STM32 — входим в bootloader по кнопке: http://we.easyelectronics.ru/Shematech/stm32---vhodim-v-bootloader-po-knopke.html

[5] статье: https://habr.com/ru/post/485402/

[6] STM32AudioLCDMinimal: http://github.com/app-z/STM32AudioLCDMinimal

[7] Источник: https://habr.com/ru/post/495194/?utm_source=habrahabr&utm_medium=rss&utm_campaign=495194