Placa de audio mínima STM-32

Esperando horas, diseñó el dispositivo en el STM32. En términos de funcionalidad, se pensó implementar un simple grabador o reproductor de voz y ver cuánto procesamiento de sonido es posible en la familia STM32F103, al menos utilizando el punto fijo.



Para implementar la tarjeta de audio mínima, tomé un controlador que tiene un DAC, un ADC y puede trabajar con una tarjeta SD no solo por SPI sino también preferiblemente a través de SDIO. STM32F103RCT6 es adecuado. Pedí 5 piezas a Ali por $ 7 con un centavo, en caso de que algo salga mal. La pantalla y un puñado de micrófonos electret están en stock. Creo que llevaré resonadores de cuarzo a ChipDip.

Desarrollar en el entorno de desarrollo STM32CubeIDE32 es muy conveniente. Puede configurar HAL en CubeIDE y luego hacer los circuitos de las conexiones.



Especificaciones del controlador


STM32F103RCT6 3xADC 1xDAC, SDIO, USB. También tiene I2S. En el futuro, puede conectar un chip de audio.

Para depurar y rellenar, use los pines SWDIO SDCLK. Puede flashear a través de UART o USB, pero no he probado el cargador de arranque STM32F103 (cargador de arranque) . STM32: ingrese el gestor de arranque por botón .

STM32F103RCT6




Diagrama de cableado del controlador. La pantalla está conectada a través de I2C1. El puente SJ3 puede establecer la dirección en la que puede acceder a la pantalla 0x7A o 0x78.

128x64 OLED




La tarjeta está conectada a través de SDIO. También puede conectarse a través de SPI, pero el tipo de cambio será más lento. SDIO en mi caso funciona en 4 líneas y, además, la interfaz SPI para la tarjeta de memoria no es "nativa". Extraje algunas de las salidas, el resto se extraerá mediante programación. Sin una llave de software, se activará una línea.

TARJETA SD




El amplificador de micrófono y auriculares es el amplificador operacional dual TS922. Como ya escribí en el artículo, consume hasta 80 mA, que es suficiente para los auriculares. La segunda parte del chip es un amplificador de micrófono. Los condensadores en el circuito de retroalimentación son un filtro de paso alto. La ganancia es K = 1 + Roc / R o 1 + 5100/510 = 11 usando el ejemplo de un amplificador de auriculares. Cómo calcular otros elementos está en el mismo artículo. Hice un divisor de voltaje común para establecer el sesgo en la entrada del opamp. ahorrando así un par de componentes. ¿Es este enfoque bueno? Fue corregido por consejo de Khabrovchan

Amplificadores




La alimentación se realiza a través de USB LM1117-3.3V.



Se agregan 6 botones y se sacan algunas conclusiones.



PD: Mientras diseñaba la placa en stm32f103, me encontré con la serie STM32F411. Por el precio de 2-3 dólares, ¡un CortexM4 completo!
Arm Cortex-M4 32b MCU + FPU, 125 DMIPS, 512KB Flash, 128KB RAM, USB OTG FS, 11 TIMs, 1 ADC, 13 comunicaciones. interfaces

Ya es posible jugar con DSP. Implemente filtro IIR y reverberación y mucho más.

DSP de audio en tiempo real en STM32F4



Pero esa será otra historia.

Autodesk Eagle:



STM32AudioLCDMinimal

Comentarios y sugerencias son bienvenidos.

All Articles