ESP32 Muestreo de audio con interrupciones e IRAM

Interrumpir mientras alguien habla es grosero para los humanos, pero inteligente para las computadoras. Ivan Voras] muestra cómo usar las interrupciones para dar servicio a los convertidores analógicos a digitales del ESP32 cuando se muestrea el sonido. Curiosamente, utiliza el IDE de Arduino mezclado con las APIs nativas de ESP-IDF para obtener el mejor rendimiento.

Al igual que la mayoría de los software complejos impulsados por la interrupción, el código [de Ivan] utiliza una estrategia de interrupción en dos etapas. Cuando un temporizador expira, se produce una interrupción. El manejador necesita completar rápidamente para que no haga nada más que poner una bandera. Otra rutina se bloquea en el indicador y luego hace el trabajo real requerido.

Debido a que la rutina de servicio de interrupción tiene que ser rápida, tiene que estar en la RAM. [Ivan] utiliza el atributo IRAM_ATTR para hacer que esto funcione y explica lo que sucede cuando lo utiliza.

…los núcleos de la CPU sólo pueden ejecutar instrucciones (y datos de acceso) desde la RAM incrustada, no desde la memoria flash donde normalmente se almacenan el código de programa y los datos. Para evitar esto, una parte del total de 520 KiB de RAM está dedicada como IRAM, un caché de 128 KiB utilizado para cargar de forma transparente el código del almacenamiento flash. El ESP32 utiliza buses separados para el código y los datos (“arquitectura Harvard”) por lo que se manejan de forma muy separada, y eso se extiende a las propiedades de la memoria: IRAM es especial, y sólo puede ser accedido en los límites de la dirección de 32 bits.

Esto es muy importante porque algunas llamadas ESP-IDF – incluyendo adc1_get_raw – no usan este atributo y, por lo tanto, fallarán si son expulsadas a la memoria flash. Al final, él se debate entre el beneficio de usar un sistema operativo con el ESP32 o el de quedarse sin nada.

Si quieres saber más sobre el Arduino en ESP32, lo hemos cubierto. También profundizamos en el chip unas cuantas veces.

Control de los temblores en el momento en que ocurren

Control de los temblores en el momento en que ocurren

Algunos trastornos neurológicos, como el mal de Parkinson, pueden causar temblores musculares que pueden empeorar con el paso del tiempo ...
Leer Más
Una mini máquina expendedora para aumentar sus ventas

Una mini máquina expendedora para aumentar sus ventas

Una visión común en el mundo de los espacios para hackers es una vieja máquina expendedora que se ha reconvertido ...
Leer Más
La tarjeta de interfaz universal viene al rescate de proyectos más grandes

La tarjeta de interfaz universal viene al rescate de proyectos más grandes

Tan pronto como un proyecto involucra otros ensamblajes, partes o módulos, las cosas se complican. Dispositivos como ventiladores, unidades de ...
Leer Más
Kerry Scharfglass asegura sus cosas de IO

Kerry Scharfglass asegura sus cosas de IO

Todos hemos visto los naufragios de la seguridad de los dispositivos IO: esos aparatos que fallan tan espectacularmente que la ...
Leer Más
El Icosaedro brilla con lo mejor de ellos

El Icosaedro brilla con lo mejor de ellos

Los resplandores vienen en todas las formas y tamaños, y siempre estamos interesados en ver la multitud de formas diferentes ...
Leer Más
El reloj de matriz LED es el reloj inteligente que no sabíamos que queríamos

El reloj de matriz LED es el reloj inteligente que no sabíamos que queríamos

Mile] armó este impresionante reloj de matriz LED, en el que las estrellas de este espectáculo son los 256 LED ...
Leer Más
La paleta de ping pong iluminada por el borde ilumina la lucha

La paleta de ping pong iluminada por el borde ilumina la lucha

y a sus compañeros les gusta soplar un poco de vapor de la hora del almuerzo en la mesa de ...
Leer Más
Con el PowerCore y FluxLamp, el reflujo es posible

Con el PowerCore y FluxLamp, el reflujo es posible

Envía este combo de proyectos que se combinan para hacer un horno de reflujo muy interesante. El primero es el ...
Leer Más
La fresadora CNC DIY utiliza las cadenas de la manera correcta

La fresadora CNC DIY utiliza las cadenas de la manera correcta

Hay un millón de formas de construir su propia ruteadora CNC, dependiendo de sus gustos, presupuesto y aplicación, sus opciones ...
Leer Más
Diversión con un láser de fibra de 200-kW

Diversión con un láser de fibra de 200-kW

Todos hemos escuchado el chiste de "No mires fijamente al láser con el ojo restante". Es gracioso porque es verdad, ...
Leer Más
Este tanque de FPV explora el césped

Este tanque de FPV explora el césped

El control por radio es bueno y todo eso, y siempre es divertido ver un pequeño vehículo corretear por el ...
Leer Más
Hackaday Links: 24 de noviembre de 2019

Hackaday Links: 24 de noviembre de 2019

Apenas lo parece, pero ya ha pasado una semana desde la Superconferencia de Digital Lithium de 2019 que se celebró ...
Leer Más
Mike Harrison sabe todo sobre los LED

Mike Harrison sabe todo sobre los LED

Conducir un LED y hacerlo parpadear es probablemente el primer proyecto que la mayoría de la gente habrá intentado cuando ...
Leer Más
Creación de un escritorio de RV sin límites

Creación de un escritorio de RV sin límites

[Gabor Horvath] cree que incluso dos monitores son poco espacio para colocar sus ventanas correctamente. Por eso está construyendo un ...
Leer Más
El viejo árbol de Navidad da un nuevo giro

El viejo árbol de Navidad da un nuevo giro

Hace un par de navidades, [Nick] se cansó de intentar decorar uniformemente su árbol falso gigante y construyó una Susan ...
Leer Más
Luces piloto moduladas Ancla AR al mundo real

Luces piloto moduladas Ancla AR al mundo real

Vamos a arriesgarnos y decir que donde quiera que estés ahora, un rápido vistazo alrededor probablemente revelará al menos un ...
Leer Más
Landbeest, un robot caminante de un solo servo

Landbeest, un robot caminante de un solo servo

Los robots caminantes tienen una rica historia dentro y fuera de las páginas de Digital Lithium, pero si perdonamos la ...
Leer Más
No olvides al bebé!

No olvides al bebé!

Debe ser una preocupación común entre los padres, que pueden olvidar a sus hijos y dejarlos en el coche donde ...
Leer Más
El desafío SMD de Supercon obtiene sondas impresas en 3D: construya las suyas propias

El desafío SMD de Supercon obtiene sondas impresas en 3D: construya las suyas propias

Este año fue el segundo desafío de SMD en Supercon, así que es lógico que hayamos aprendido algunas cosas del ...
Leer Más
Circuito DIYEl cerebro de una pitón serpentea en espacios pequeños

Circuito DIYEl cerebro de una pitón serpentea en espacios pequeños

Tanto si eres nuevo en la electrónica y la programación, como si te has dedicado al metal desnudo mucho antes ...
Leer Más
radio ww2

La radio de los aviones de la Segunda Guerra Mundial

Toda mi vida me han hablado de las antiguas tiendas de excedentes del Ejército y la Marina donde se podían ...
Leer Más
Convirtiendo un mal suministro de banco en un mejor suministro de banco

Convirtiendo un mal suministro de banco en un mejor suministro de banco

Es la temporada de dejar caer pistas sobre qué nuevos doodads harían feliz a un hacker, y tenemos que admitir ...
Leer Más
Prueba del filamento reforzado con fibra de carbono mediante la construcción de una patineta de sobreingeniería

Prueba del filamento reforzado con fibra de carbono mediante la construcción de una patineta de sobreingeniería

Los avances en los filamentos para las impresoras 3D FDM han dado pasos agigantados en los últimos años, y el ...
Leer Más
La dobladora de rodillos eléctrica DIY puede manejar el material grueso (er)

La dobladora de rodillos eléctrica DIY puede manejar el material grueso (er)

Todo trabajador metalúrgico serio terminará por conseguirse un rodillo de doblar en algún momento, pero si eres tan dedicado como ...
Leer Más
Una terminal serial Python para sacarte de un apuro

Una terminal serial Python para sacarte de un apuro

Cuando se juega con computadoras viejas, a veces se puede encontrar en una situación difícil. Lo que puede ser una ...
Leer Más
El alimentador automático para gatos deja pocas posibilidades

El alimentador automático para gatos deja pocas posibilidades

A menudo nos gusta decir que si algo vale la pena hacer, entonces vale la pena exagerar. Este alimentador automático ...
Leer Más
Prusa se atreve a romper su última impresora

Prusa se atreve a romper su última impresora

Dos meses después de su sorpresa revelada en el Festival RepRap de la Costa Este de 2019, el Prusa Mini ...
Leer Más
El Reloj Escultura CircuitPython añade un personaje a cualquier escritorio

El Reloj Escultura CircuitPython añade un personaje a cualquier escritorio

Probablemente todos podemos relacionarnos con la historia del origen de este. [Alex] estaba trabajando en un proyecto de reloj más ...
Leer Más
Alimentación de filamentos y electrones a través de un conector D-Sub personalizado

Alimentación de filamentos y electrones a través de un conector D-Sub personalizado

A veces olvidamos que las impresoras 3D son sólo plataformas CNC con un hotend acoplado, y que hay toda una ...
Leer Más
Ocho motores aceleran este barco

Ocho motores aceleran este barco

El juego en los barcos siempre ha tenido un atractivo curioso para el hacker de hardware. Quizás sea porque sigue ...
Leer Más

Deja un comentario