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.

Construcción de un panel frontal para el ordenador RC2014

Construcción de un panel frontal para el ordenador RC2014

El RC2014 es un ingenioso kit de ordenador Z80 que ha adornado estas páginas varias veces en el pasado. Permite ...
Leer Más
Esta CPU sólo tiene una instrucción

Esta CPU sólo tiene una instrucción

La mayoría de nosotros estaremos familiarizados en algún nivel con el funcionamiento de un CPU básico, normalmente a través de ...
Leer Más
Escher: Etch-a-Sketch como servicio

Escher: Etch-a-Sketch como servicio

Para bien o para mal, el mundo de la tecnología se ha comprometido plenamente a empujar tantos de sus productos ...
Leer Más
La cortadora de césped DIY no corta el césped

La cortadora de césped DIY no corta el césped

[nodemcu12ecanada] se toma en serio el ahorro de agua, por lo que construyeron esta extraña cortadora de césped que puede ...
Leer Más
Tableros alargados eléctricos de construcción rápida utilizando componentes estándar.

Tableros alargados eléctricos de construcción rápida utilizando componentes estándar.

Construir cosas geniales completamente desde cero es indudablemente satisfactorio y constituye un excelente poste Digital Lithium, pero generalmente implica unos ...
Leer Más
¿Puede usted piezoeléctrico un Peugeot?

¿Puede usted piezoeléctrico un Peugeot?

Los fabricantes de automóviles tienen un problema cuando se trata del cambio climático. Entre la variedad de fuentes de CO2 ...
Leer Más
Superconferencia Hackaday: Un ingeniero analógico se sumerge en la radiofrecuencia

Superconferencia Hackaday: Un ingeniero analógico se sumerge en la radiofrecuencia

Aquellos de nosotros que trabajamos con la electrónica normalmente llegamos al arte a través de una vía particular que dominamos ...
Leer Más
Cuerdas LED direccionables en su USB

Cuerdas LED direccionables en su USB

Los WS2812B, o NeoPixels, o como sea que los llames, trajeron LEDs a todo color para hacer proyectos de un ...
Leer Más
El tren vertical sube por la pared

El tren vertical sube por la pared

Los trenes son excelentes para transportar cantidades masivas de carga desde el punto A al punto B, y ocasionalmente, al ...
Leer Más
Actualice sus tonos para encontrar los artículos perdidos

Actualice sus tonos para encontrar los artículos perdidos

¿Alguna vez has deseado aumentar tu sentido de la vista? El último hack de [Nick Bild] te ayuda a encontrar ...
Leer Más
Entrenando murciélagos en el bosque al azar con la matriz de confusión

Entrenando murciélagos en el bosque al azar con la matriz de confusión

Cuando se explora el ámbito del Aprendizaje Automático, siempre es bueno tener algunos datos reales e interesantes con los que ...
Leer Más
Charla de Supercon: Sophy Wong está diseñando el futuro de la tecnología portátil

Charla de Supercon: Sophy Wong está diseñando el futuro de la tecnología portátil

Para muchos de nosotros, el término "tecnología vestible" evoca imágenes mentales de los Borg de Star Trek : formas mecánicas ...
Leer Más
Hacking de estilo cinematográfico con una pared de Hexágono Luminoso

Hacking de estilo cinematográfico con una pared de Hexágono Luminoso

A lo largo de los años, los medios de comunicación han logrado reunir algunas representaciones visuales bastante ridículas de la ...
Leer Más
Las gafas impresas en 3D permiten a R.O.B. ver dentro del mundo Bluetooth

Las gafas impresas en 3D permiten a R.O.B. ver dentro del mundo Bluetooth

Admitimos que un hack que permite que un periférico de videojuego de 34 años sea controlado por una aplicación móvil ...
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
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
Agora, un reloj de papel electrónico que se puede piratear

Agora, un reloj de papel electrónico que se puede piratear

[Daniel Zilinec] aprecia la estética del e-paper y pensó que sería un gran reloj. La apariencia natural del e-paper ciertamente ...
Leer Más
Nuevo concurso: Decir la hora

Nuevo concurso: Decir la hora

Relojes. A ti te encantan, a nosotros nos encantan. Así que no necesitas una razón para construir un nuevo reloj, ...
Leer Más
Hacer trampa en los bolos, a la manera de los hackers

Hacer trampa en los bolos, a la manera de los hackers

Cualquier persona que haya ido alguna vez a una bolera sabrá la técnica preferida (pero ineficaz) para controlar telepáticamente una ...
Leer Más
Desglose de los órganos de la botella

Desglose de los órganos de la botella

Un comentarista de mirada aguda nos señaló un órgano de botella casero que toca como un piano. La complejidad aparece ...
Leer Más
Programación de Arduinos con comandos de voz

Programación de Arduinos con comandos de voz

La programación es una habilidad valiosa, aunque puede ser difícil de aprender. Añade hardware a la mezcla, y las cosas ...
Leer Más
Pequeñas burbujas en el reloj

Pequeñas burbujas en el reloj

Cuando [DonHo] cantaba sobre las pequeñas burbujas, probablemente no pensaba en ellas incrustadas en la glicerina. Pero ahí es donde ...
Leer Más
Los satélites Starlink plantean problemas a los astrónomos

Los satélites Starlink plantean problemas a los astrónomos

La observación de satélites desde la tierra es un pasatiempo popular entre los astrónomos aficionados. Típicamente, los satélites ISS e ...
Leer Más
AI sabe si el lanzamiento está en el blanco antes que tú.

AI sabe si el lanzamiento está en el blanco antes que tú.

Lanzar una pelota de béisbol se trata de precisión y velocidad. Una bola rápida en el blanco es el objetivo, ...
Leer Más
La lámpara del globo sigue la ISS por ti

La lámpara del globo sigue la ISS por ti

Suponiendo que no trabaje en una agencia espacial importante, es probable que no necesite saber en todo momento la ubicación ...
Leer Más
Te veo en el lado oscuro de la luna: Observatorio de la Radio Lunar de China

Te veo en el lado oscuro de la luna: Observatorio de la Radio Lunar de China

Durante casi todo el tiempo que ha habido radio, ha habido antenas entrenadas en el cielo, mirando el universo de ...
Leer Más
La Mujer Maravilla y el verdadero lazo de la verdad

La Mujer Maravilla y el verdadero lazo de la verdad

Puede que te parezca extraño que una historia sobre tecnología empiece hablando de la Mujer Maravilla. Cuando te das cuenta ...
Leer Más
RC Strandbeest está a la cabeza del resto

RC Strandbeest está a la cabeza del resto

El prolífico fabricante [Jeremy Cook] ha dado recientemente los últimos retoques (al menos, por ahora) a su impresionante Strandbeest con ...
Leer Más
Un cubo de LED diseñado para un fácil montaje

Un cubo de LED diseñado para un fácil montaje

Los cubos de LED son hipnotizantes y divertidos, pero generalmente son un dolor de cabeza para construir. No es así ...
Leer Más
Frentes Yosys para Xilinx ISE

Frentes Yosys para Xilinx ISE

Siempre nos maravillamos de cómo las herramientas de código abierto pueden superar a menudo a sus homólogos comerciales. Yosys, la ...
Leer Más

Deja un comentario