Eliminación de la desviación de CC en el desplazamiento de una señal de audio con polarización de CC

Estoy tratando de leer una señal de audio de un teléfono Android como una entrada en serie a un MSP430G2553 , adaptando este diseño para usar el módulo comparador integrado del MSP430 en lugar de un LM324. El código de Android para hacer una onda cuadrada con el conector de audio está disponible aquí . La salida es una onda cuadrada bastante ruidosa que el comparador convierte en una señal digital de nivel lógico. Estoy buscando una señal de 4800 baudios para el UART. La frecuencia de muestreo de audio en el código de Android se establece en 41 kHz.

En mi caso, la entrada positiva del comparador es la referencia de voltaje de precisión interna (0.5*VCC) en lugar de un potenciómetro externo. He aplicado una polarización de CC a la señal de audio para centrarla alrededor de la marca de 0,5*VCC antes de pasar a la entrada negativa del comparador en P1.5 (CA5). La red "AUDIO" es CA5 en el MSP430. C1 es un condensador de tantalio sin más motivo que el que tenía a mano.Circuito de polarización de CC

Tengo algunos problemas de desvío de CC con el comienzo de cada señal que hacen que el comparador no se dispare correctamente al comienzo de la señal:deambulación de CC de onda cuadrada

Haciendo zoom en el comienzo de la señal de entrada del comparador (ahora en el osciloscopio CH2), puede ver el cambio rápido no deseado en la salida del comparador en CH1:

conmutación del comparador

Intenté aumentar el valor de C1 a 0,47 uF, pero tarda un tiempo inaceptablemente largo en descargarse (olvidé guardar un gráfico de esto con C1 = 0,1 uF pero fue más corto) al final de la señal:descarga de condensador largo

Sospecho que la alternancia del comparador se remediaría parcialmente configurando el comparador como un disparador Schmitt, pero no estoy seguro de que funcione para los primeros bits de la señal con el desvío de CC aún en su lugar. ¿Qué debo cambiar para deshacerme de la desviación de CC sin una descarga prolongada del capacitor al final de la señal?

Editar: así es como se ve la entrada sin procesar (lado izquierdo de C1, alcance CH1) en comparación con la señal sesgada en CH2. La salida polarizada sube un poco más en el transcurso de la señal.entrada imparcial y salida sesgada

Respuestas (2)

Parece que el desvío de CC es causado por la salida del teléfono Android, que cambia de 0 V cuando la señal está apagada a una mezcla de 0 V y algo de voltaje negativo cuando la señal está encendida. El valor medio cuando la señal está encendida es, por lo tanto, un voltaje negativo (aproximadamente la mitad del voltaje pico), que constituye una compensación de CC del valor sin señal.

Si puede cambiar la salida del teléfono Android, intente hacer que la señal sea simétrica (bits apagados a -1V, bits encendidos a 1V, por ejemplo), lo que eliminará este desplazamiento.

Parece que tiene un problema adicional, que es que su red de polarización establece el punto de CC de la salida de Android al mismo (Vcc/2) que la otra entrada del comparador; por lo tanto, el ruido está causando transiciones no deseadas. Mirando su primer seguimiento de alcance, tenga en cuenta que si el umbral del comparador se estableciera en el valor de la línea de cuadrícula horizontal más gruesa en el centro de la pantalla (¿0V?), Detectaría cada transición sin necesidad de modificar el código de Android o usar un gatillo Schmitt.

La amplitud total depende del volumen de reproducción multimedia de Android, déjame profundizar en el código y ver qué puedo averiguar en términos de centrarlo de esa manera.
Bingo, hay variables de byte para lógica alta y lógica baja. Efectivamente, estaban configurados en -128 y 16. Mantuve el mismo rango de 144 y lo centré, obteniendo buenos datos ahora.

Esto no es un desvío de CC, es solo un acoplamiento de CA de una señal que tiene contenido de CC. Hay tres soluciones comunes a este problema:

(1) retire el acoplamiento de CA. Esto puede no ser posible; el Android puede incorporar su propio acoplamiento AC. Puede probar esto mirando hacia delante de la tapa de acoplamiento C1. A menos que los rastros de su alcance estén invertidos, si ve DC cuando está inactivo, entonces puede hacer esto.

Luego, debe reemplazar el desplazamiento de CC de alguna manera ... la forma más fácil es conectar la parte inferior de R2 al conector de audio (LHS de C1) en lugar de a tierra, eliminando C1 por completo.

Tu última foto muestra que esta opción no funcionará; su señal de entrada también está acoplada a CA, con una constante de tiempo más larga. Entonces, avanzando:

2) Un "restaurador de CC" (también conocido como abrazadera de diodo en los días de la televisión analógica). Necesita un voltaje de referencia, a 1,65 V menos una caída de diodo, y un diodo de "Audio" para esta referencia. A medida que la señal se vuelve positiva, el diodo conduce y lo sujeta para evitar la deriva. Los picos negativos permanecen cerca de 0V. Detalles dejados como ejercicio...

3) La forma en que se diseñan los enlaces de comunicaciones: eliminar la componente DC de la señal para poder acoplarla AC sin problema. Hay muchas maneras de hacer esto: codificación de wiki Manchester para una, código 8B10B para otra. La idea básica es que tanto el 0 como el 1 están representados por ondas cuadradas (digamos, de diferente período) y la señal nunca descansa en ninguno de los rieles por ningún período de tiempo. Entraré en más detalles de un esquema simple si lo desea.

Una ventaja de una señal sin CC y un acoplamiento de CA es que el comparador está configurado en un punto local de "0 V" (como su suministro/2) y funciona independientemente de la amplitud de la señal (longitud del cable, configuración de volumen de Android)