Sidenote: Es posible que hayas visto mi pregunta anterior. Supongo que este es un repost, pero he trabajado mucho más tratando de analizar el problema. Pensé que era necesario hacer una nueva pregunta. Lo siento si no es así: /
Tengo un microcontrolador TI TM4C123GXL. Estoy tratando de producir sonido usando los pines GPIO y un DAC de 10 bits que hice a partir de una escalera de resistencia.
El circuito:
Este es el aspecto del hardware: enlace
Entonces mi microcontrolador está conectado al DAC con los pines GPIO. La placa pone una tensión de 3.3 V en los pines para una lógica alta. La salida DAC está conectada a un pequeño componente de conector de 3,5 mm donde puede conectar auriculares o un altavoz con un cable auxiliar.
El DAC es una escalera de resistencia R-2R, siendo la R una resistencia de 10k y la 2R una resistencia de 20k. Ambos tienen tolerancias de 1% cada uno. También tengo un condensador de 0.1 uF en paralelo con la salida DAC para suavizar un poco las curvas.
Hice una prueba de aceleración y una prueba de onda sinusoidal con un osciliscopio y las curvas salieron bastante bien:
PROBLEMA 1: Desafortunadamente, cuando conecto los auriculares a la toma, la salida de voltaje se atasca y la curva se vuelve súper ruidosa (observe los voltajes marcados por los cursores):
El Código:
Para producir sonido, tomo una matriz que es esencialmente una tabla de búsqueda para un solo período de una onda sinusoidal. Para este proyecto, estoy usando una matriz con 1024 valores, que van de 0 a 1023. Con un temporizador, envío un valor desde la matriz al DAC usando un cursor que se desplaza a través de la forma de onda. Cuanto más rápido se desplace el cursor (es decir, cuanto menor sea el valor de recarga del temporizador), mayor será la frecuencia y mayor será el tono producido.
Utilizando dos temporizadores, me desplazo por la tabla de búsqueda con 2 cursores independientes. Luego agrego los valores usando la fórmula A + B - AB/1024
y envío este valor al DAC. En teoría, debería enviar una señal mixta al DAC que suena como un acorde.
PROBLEMA 2: Desafortunadamente recibo un horrible sonido de distorsión: enlace
Matemáticamente, esto es lo que espero ver: enlace
En realidad, esto es lo que obtengo:
- Sin auriculares: enlace
- Con auriculares (tenga en cuenta que el voltaje está estrangulado y la señal es ruidosa): enlace
¿Podría alguien indicarme la dirección correcta en cuanto a cuál es exactamente mi problema? No estoy realmente seguro de qué podría estar causando este problema ...