Ir al contenido
  1. Presentaciones/

Introducción al procesado de sonido con microcontroladores STM32 y dispositivos I2S. Parte II.

4 mins·
José M. Mariño
Stm32 I2s Pcb Cordic Fmac
José M. Mariño²
Autor
José M. Mariño²
Yo antes era muy indeciso. Ahora ya no estoy tan seguro.
Tabla de contenido
Hacer efectos de sonido es más fácil de lo que parece.

No me está gustando nada el camino que está tomando esto de los STM32 y el tratamiento de sonido, la verdad. Creo que se me está yendo un pelín de las manos 😁 .

Vengo de dar una pequeña (ja-ja) charla en A Industriosa. Se ve que alguien se fue de la lengua (y no miro a nadie) después del taller impartido en Bricolabs, y tomaron nota. Además, después de hacer la primera versión de la PCB de entrenamiento, estaba reescribiendo a ratos la presentación inicial, revisando errores y cambiando un poco el enfoque de los ejercicios, por lo que impartir una segunda charla sirve para poner a prueba la nueva versión de la presentación.

La versión primera del documento ya se me hacía un pelín larga: si alguien es capaz de soportar un ladrillo de 228 páginas ya es de agradecer. La cuestión es que ya estamos cerca de las quinientas…

Lo de explicar todos los ejercicios en un día es misión imposible. Aún contando con el tiempo que se gana al utilizar la PCB frente a la breadboard, resulta inviable explicar todo con detalle, aclarar todas las dudas y lidiar con los pequeños contratiempos que pueden ir surgiendo, todo ello multiplicado por el número de asistentes. Así que los de A Industriosa han sido más pragmáticos y la jornada ha consistido en una exposición práctica, dando una idea general de lo que se puede hacer con el microcontrolador, y describiendo los puntos principales de cada apartado sin pararse mucho en las cosas pequeñas. Y sobre todo, con la demostración en vivo de lo que se está contando, que lo de ver (en este caso, escuchar) sin tener que creer siempre da buenos resultados.

Pero claro, si antes el documento tenía 17 ejercicios, ahora tiene diez más, con un total de 27. A poco más de 6 minutos y medio por ejercicio: igualmente inabarcable. Por lo que es de agradecer la infinita paciencia que tuvieron los asistentes, después de tres horas escuchando a un tipo hablar del buffer de entrada, del de salida, del puntero de lectura, del de escritura, y de la madre que trajo a la interrupción del DMA.

El ADC PCM1808
#

Cuando estaba a punto de finalizar el diseño de la PCB de entrenamiento, tuve la feliz idea de añadir un conector para meterle un módulo con el ADC PCM1808. Así un poco de aquella manera, no muy ortodoxa (el módulo queda tapando los botones y casi sin sujección mecánica), pero no me quedaba sitio para más.

Pues pienso que le saqué partido al cacharrejo. Lo de poder meterle música o el sonido de un instrumento y experimentar con los diferentes efectos hace ahora la cosa mucho más interesante. Tanto, que ya estoy pensando en que la siguiente versión de la PCB va a tener que contemplar una o dos versiones de este ADC (las que se puedan comprar en esa web donde compramos todos la cacharrada electrónica), y puede que algún otro más.

¿Nuevas tarjetas?
#

Me encontré no hace mucho con dos nuevas tarjetas de la gente de WeActStudio: una con un STM32H523 y otra con un STM32U585. La primera funciona a una frecuencia de reloj de más del doble de la BlackPill STM32F411, y tiene más RAM; la segunda no es tan rápida (aunque sigue siendo más rápidad que la BlackPill), pero trae mucha más RAM y dos caramelitos bien apetecibles: un coprocesador CORDIC (para operaciones trigonométricas) y un FMAC (un dispositivo para ayudar con los cálculos en los filtros digitales). No me preguntéis cómo, pero fue verlas en esa tienda del demonio, y a los pocos días me apareció en casa un paquetito con esas mismas dos tarjetas y alguna que otra cosa más. Totalmente inexplicable.

Las dos tienen el mismo tamaño de la BlackPill y prácticamente la misma correspondencia de pines (solamente cambia un pin en una de ellas). No es así en lo que respecta a las funciones de los periféricos: los pines donde las tarjetas tienen las cosas como los buses I2S, entradas de los ADC, etc. son distintos. Me gustaría que si me meto en el charco de hacer una nueva versión de la PCB de entrenamiento fuese compatible con estas dos nuevas tarjetas sin perder la compatibilidad con la BlackPill (que al fin y al cabo fue con la que empezó todo, y se merece un respeto). Ya veremos lo que podemos hacer.

Para finalizar
#

Y potenciómetros, por $DEITY. Muchos potenciómetros. Pensaba que tres serían suficientes, pero se quedan cortos en muchos casos.

Enlace a la presentación
#

El pdf lo tenéis aquí, y en el repositorio de GitLab está también el código de los ejercicios.

Relacionados

PCB de entrenamiento para STM32 y dispositivos I2S
3 mins
José M. Mariño
Stm32 I2s
Introducción al procesado de sonido con microcontroladores STM32 y dispositivos I2S
3 mins
José M. Mariño
Stm32 I2s
Introducción a la simulación de circuitos electrónicos con ngspice y KiCAD
2 mins
José M. Mariño
Spice Ngspice Kicad
Circuitos de protección contra polaridad inversa
26 mins
José M. Mariño
La lavadora recalcitrante
22 mins
José M. Mariño
Reparación Fagor Lavadora F-2812 V3FA-UNIV
Linux en el Toshiba Satellite 2450-101
14 mins
José M. Mariño