¿Puedo obtener entrada de audio a través del GPIO?

24

El Pi tiene un conector de audio estándar de 3.5 mm, pero no se puede usar para entrada de audio

Sin embargo, tenemos una carga de pines GPIO en varias interfaces. ¿Sería posible recibir audio analógico en el Pi a través del GPIO?

Elinux me dice:

También es posible reconfigurar los pines del conector GPIO P1-12 y 13 (chipset GPIO 18 y 21) para proporcionar un I2S (puede ser necesaria una modificación de hardware [12] ) o una interfaz PCM. Sin embargo, PCM_FS y PCM_DIN (pines del chipset 19 y 20) son necesarios para I2S o PCM.

Parece que hay referencias a esta conexión I2S en todo el lugar, pero en ninguna parte da un claro sí o no.

ACarter
fuente
No, el conector de audio se emite solo de acuerdo con esta pregunta .
Frepa
@Frepa, sí, no vi eso, he votado cerca.
ACarter
Editado la pregunta, ¿puedo hacerlo a través de GPIO?
ACarter
Por supuesto, puede obtener entrada de audio usando GPIO y ADC. Voy a hacer ese proyecto pronto, así que publicaré mis resultados si lo desea.
Dicoder
¡Por favor publíquelos! ;)
ACarter

Respuestas:

13

La hoja de datos de Peripherals para el BCM2835, utilizada en la Raspberry Pi, le da la respuesta en el Capítulo 8. Cito:

"La interfaz de audio PCM es un periférico APB que proporciona entrada y salida de telefonía o transmisiones de audio en serie de alta calidad. Admite muchos formatos PCM clásicos, incluido I2S".

20 páginas de información sobre este tema solo.

Como dijiste: ¡no todos los pines están disponibles desde el conector GPIO! PCM_FS y PCM_DIN (el que probablemente necesite) no están en el conector GPIO, deberá verificar el esquema para ver si puede alcanzarlos de alguna manera.

ACTUALIZAR:

Según los esquemas no tienes suerte:

ingrese la descripción de la imagen aquí

Tristemente conectado a la nada! ¡No hay posibilidad de conectar nada con eso!

Pero algo extraño está sucediendo, si estos pines son los pines I2S que faltan, entonces la placa V2.0 tampoco debería tener estos pines conectados. Pero la documentación indica que sí tiene estos pines disponibles en el conector P5 recién agregado. Estos están conectados a diferentes pines, entonces el wiki dice ... Esto necesita un poco más de investigación ... pronto más ...

ikku
fuente
Todo parecía tan esperanzador ... ¡Puedo obtener la salida, pero no la entrada! Gracias por encontrar eso :)
ACarter
Hmmm, parece que no puedo encontrar ninguna referencia de los pines PCM en el esquema ...
ACarter
Estoy cerca, pero aún no he terminado de mirar, pero las posibilidades no se ven muy bien.
ikku
"Eben grita desde el baño que en realidad no está seguro de que lo hayamos perdido, puede que esté oculto detrás de algunos mux de GPIO". ( no se ve muy bien )
ACarter
1
Supongo que ya lo comprobé hace algún tiempo, esa podría ser la razón por la que pedí un conector de audio USB en eBay como este
ikku
13

Como se muestra aquí, puede obtener I2S a través de P5:

http://elinux.org/RPi_Low-level_peripherals#P5_header

Y aquí hay un controlador de kernel para usarlo:

http://blog.koalo.de/2013/05/i2s-support-for-raspberry-pi.html

koalo
fuente
1
bienvenido a Raspberry Pi Stack Exchange! Por lo general, es mejor si no publica una respuesta de solo enlace (¿qué sucede si el recurso vinculado no está disponible?), ¿consideraría editar su respuesta para resumir los puntos más destacados de las páginas web que ha vinculado?
nc4pk
44
El trabajo de @Koalo en el controlador I2S es admirable, se le debe dar un representante de 2K solo por bendecirnos con su presencia.
Orejas de perro
Debo admitir mi ignorancia y rogarle que explique un poco más: ¿dónde está ese conector p5? tengo Hardware: BCM2835 Revisión: a02082 es un pi3 modelo B
L.Trabacchin
El PI 3 tiene los pines relevantes integrados en el conector principal.
koalo
5

¿Qué revisión del tablero es esta? El Rev B 512M tiene los cuatro pines PCM asignados al conector P5. Tendrá que agregar sus propios pines a la placa, pero use la parte inferior para seguir utilizando el conector GPIO en la parte frontal.

En el esquema, Página 2, abajo a la izquierda, busque el chip BCM2835-IO2 para los pines GPIO28-31 etiquetados como GEN7-10 correspondientes a PCM Clk, Fs, DIn, DOut mapping a los agujeros P5 3-6 respectivamente. Este pin out proporcionaría PCM cuando se asigna como la funcionalidad Alt2.

gb

Gary
fuente