You are on page 1of 7

En estos días la mayoría de los sistemas de audio vienen con controles remotos.

Sin
embargo, esta facilidad no se proporciona para los amplificadores de audio normales.
Tales controladores de audio no están disponibles incluso en forma de kit. Este
artículo presenta un procesador de audio digital a control remoto por infrarrojos (IR).
Se basa en un microcontrolador y se puede usar con cualquier control remoto por
infrarrojos NEC compatible en con todas sus funciones.
Este procesador de audio tiene características mejoradas y se puede personalizar
fácilmente para cumplir con los requisitos individuales, ya que es programable. Sus
principales características son:
1 Completo Control a distancia con cualquier dispositivo a control remoto IR NEC
compatible.
2 Provisto con cuatro canales de entrada estéreo y una salida estéreo.
3 Control de ganancia individual para cada canal de entrada para tratar diferentes
fuentes de señal.
4 Control de graves, medios, agudos, silencio y atenuación.
5 Control de 80 pasos para el volumen y control de 15 pasos para bajos, medios y
agudos.
6 La configuración se muestra en dos pantallas de diodos emisores de luz (LED) de 7
segmentos y ocho LED individuales.
7 Indicación de nivel estéreo VU con una pantalla de barras de 10 LEDs.
8 Botoneras completas en placa de todas las funciones para el control del
amplificador de audio.
9 Todos los ajustes son almacenados en la EEPROM.
10 Modo de espera para el control del amplificador de potencia.
Descripción del circuito
La figura 1 muestra el diagrama en bloques del procesador de audio digital
controlado a distancia. El sistema comprende el microcontrolador AT89C51 (IC1) de
Atmel, el procesador de audio TDA7439 de SGS Thomson (IC4) y el bus I2C compatible
MC24C02 EEPROM (IC5). El chip microcontrolador está programado para controlar
todos los procesos digitales del sistema. El procesador de audio controla todas las
funciones del amplificador de audio y es compatible con el bus I2C. Todos los
comandos del control remoto se reciben a través del sensor IR. El amplificador de
audio también se puede controlar mediante las botoneras integradas en la placa.
Microcontrolador La función del microcontrolador es recibir los comandos (a través
del puerto P3.2) desde el auricular remoto, programar controles de audio según los
comandos y actualizar la EEPROM. Se proporciona deliberadamente un retraso en la
actualización de la EEPROM porque normalmente el oyente cambiará el valor de un
parámetro continuamente hasta que esté satisfecho.
El microcontrolador AT89C51 de 40 pines tiene cuatro puertos de entrada/salida (E/
S) de 8 bits. El puerto 0 se utiliza para indicar a través de los LED las diversas
funciones seleccionadas a través de la botonera del control remoto.
El puerto 1 controla el display de 7 segmentos mediante el IC CD4543.
El puerto 2 es abierto a través de la resistencia red RNW1 y se usa con los botones del
control manual.
Los pines P3.0 y P3.1 del microcontrolador se utilizan como línea serial de datos (SDA)
y línea serial de reloj (SCL) para que el bus I2C se comunique con el procesador de
audio (TDA7439) y EEPROM (MC24C02). Estas dos líneas están conectadas a las
resistencias de actuación, que son necesarias para los dispositivos del bus I2C. P3.2
recibe los comandos remotos a través del módulo receptor IR. El pin P3.4 se usa para
destellar el LED9 cada vez que se recibe un comando remoto o cuando se presione
cualquier botón.
El microcontrolador también verifica el funcionamiento de la memoria (MC24C02) y
del procesador de audio (TDA7439). Si no se está comunicando con estos dos
circuitos integrados en el bus I2C, entonces parpadea el display de 7 segmentos del
nivel de volumen.
Memoria. El IC MC24C02 es una EEPROM de 2k bits compatible con bus I2C
organizada como 256 × 8 bits que puede retener datos durante más de diez años.
Varios parámetros se pueden almacenar en ella.
Para evitar pérdidas de configuración recientes en el caso de un fallo de alimentación,
el microcontrolador almacena todas las configuraciones de audio del usuario en la
EEPROM. La memoria garantiza que el microcontrolador leerá la última configuración
guardada de la EEPROM cuando se reanude la alimentación. Usando las líneas SCL y
SDA, el microcontrolador puede leer y escribir datos para todos los parámetros.
Para obtener más detalles sobre el bus I2C y la interfaz de memoria, consulte la hoja
de datos del MC24C02. Los parámetros de audio se pueden configurar utilizando el
mando a distancia o los botones de la placa según los detalles que figuran en la
sección "control remoto".
Procesador de audio. El IC TDA7439 es un controlador en un solo chip de audio
compatible con el bus I2C que se utiliza para controlar todas las funciones del
amplificador de audio. La salida de cualquier preamplificador estéreo (hasta cuatro)
se envía al procesador de audio (TDA7439). El microcontrolador puede controlar el
volumen, los agudos, los graves, la atenuación, la ganancia y otras funciones de cada
canal por separado. Todos estos parámetros son programados por el
microcontrolador utilizando las líneas SCL y SDA, que comparte con la memoria IC y el
procesador de audio.
La transmisión de datos desde el microcontrolador al procesador de audio (IC
TDA7439) y la memoria (MC24C02) y viceversa se realiza a través de la interfaz de bus
I2C de dos hilos que consta de SDA y SCL, que están conectados a P3.0 (RXD) y P3.1
(TXD) del microcontrolador, respectivamente. Aquí, la unidad del microcontrolador
actúa como máster y el procesador de audio y la memoria actúa como dispositivos
esclavos. Cualquiera de estos tres dispositivos puede actuar como transmisor o
receptor bajo el control del máster.
Algunas de las condiciones para comunicarse a través del bus I2C son:
1 Validez de los datos: los datos en la línea SDA deben ser estables durante el período
alto del reloj. Los estados alto y bajo de la línea de datos pueden cambiar solo cuando
la señal de reloj en la línea SCL es baja.
2. Inicio y apagado: la condición de inicio es una transición de alto a bajo de la línea
SDA mientras SCL es alta. La condición de apagado es una transición de bajo a alto de
la línea SDA, mientras que SCL es alta.
3. Formato de bytes: cada byte transferido en la línea SDA debe contener ocho bits. El
bit más significativo (MSB) se transfiere primero.
4. Confirmación: cada byte debe ir seguido de un bit de confirmación. El pulso de
reloj de confirmación es generado por el máster. El transmisor libera la línea SDA
(alta) durante el pulso de reloj de confirmación.
El receptor debe bajar la línea SDA durante el pulso de confirmación de reloj por lo
que permanece bajo durante el período alto de este pulso de reloj.
Para programar cualquiera de los parámetros, se utiliza el siguiente protocolo de
interfaz para enviar la data desde el microcontrolador al TDA7439. El protocolo de
interfaz comprende:
1. Una condición de inicio (S)
2. 2. Un chip de byte de dirección conteniendo la dirección (88H) en el TDA7439
seguido de un bit de confirmación (ACK).
3. 3. Un byte de subdirección seguido de un ACK (bit de confirmación). Los
primeros cuatro bits (LSB) de este byte indican la función seleccionada (por
ejemplo, selección de entrada, bajos, agudos y volumen). El quinto bit indica
bus (1/0) progresivo / no progresivo y los bits sexto, séptimo y octavo son bits
"no importa".
4. 4. Una secuencia de data seguida de un ACK. La data corresponde al valor de la
función seleccionada.
5. 5. Condición de parada (P).
En el caso de bus no incremental (no progresivo), los bytes de datos corresponden
solo a la función seleccionada. Si el quinto bit es alto, la subdirección se incrementa
automáticamente con cada byte de datos. Este modo es útil para inicializar el
dispositivo. Para conocer los valores reales de los bytes de datos para cada función,
consulte la hoja de datos de TDA7439.
Protocolos similares se siguen para enviar datos a / desde el microcontrolador
MC24C02 al EEPROM utilizando su chip de dirección como "A0H".
Fuente de alimentación. La Fig. 3 muestra el circuito de alimentación para el
procesador de audio digital controlado a distancia. El transformador X1 reduce la
tensión de red eléctrica de CA para proporcionar una salida secundaria de 9V CA a 1A.
La salida del transformador es rectificada por el puente rectificador de onda completa
BR1 y filtrada por el condensador C42. Los reguladores IC8 e IC9 proporcionan
voltajes de alimentación regulados de 5V y 9V, respectivamente. IC10 actúa como el
regulador de alimentación variable. Este se configura para proporcionar un
alimentacion regulada de 3 V ajustando el preajuste VR1. Los condensadores C39,
C40 y C41 evitan cualquier rizado en las salidas reguladas. Esta alimentación no se
utiliza en el circuito. Sin embargo, los lectores pueden usar la misma para alimentar
dispositivos como un Walkman.
Como los condensadores de más de 10 μF están conectados a las salidas de los
integrados reguladores, los diodos D3 a D5 le brindan protección a estos reguladores,
respectivamente, en caso de que sus entradas sean puestas en corto a tierra.
El relé RL1 normalmente se activa para proporcionar alimentación al amplificador de
potencia. En el modo de espera, se desactiva. El interruptor S2 es el interruptor de
"encendido" / "apagado".
Software
El software fue ensamblado usando el ensamblador ASM51 de Metalink, que está
disponible gratuitamente para su descarga. El código fuente ha sido ampliamente
comentado para hacer más fácil su comprensión. Este puede ser dividido en los
siguientes segmentos por este orden de listado:
1. Definiciones variables y constantes.
2. Rutinas de retardo.
3. Rutinas de decodificación IR
4. Rutinas de las botoneras.
5. Comunicación TDA7439
6. Comunicación MC24C02.
7. Rutinas del bus I2C.
8. Rutinas de pantalla.
9. Procesamiento de comandos IR y de botoneras.
10. controlador de interrupciones del Temporizador 1
11. Programa principal
Al resetear, el microcontrolador ejecuta el programa principal de la siguiente manera:
1. Inicialice los registros del microcontrolador y las ubicaciones de la memoria de
acceso aleatorio (RAM).
2. Leer el modo de espera y silenciador de la EEPROM e inicie TDA7439 como
corresponde.
3. Leer los diferentes parámetros de audio de la EEPROM e inicie el procesador de
audio.
4. Inicialice la pantalla y el puerto LED.
5. Cierre el circuito completamente como sigue, esperando por estos eventos:
• Habilitar las interrupciones.
• Compruebe la entrada del monitor para el apagado de CA. Si se apaga la
alimentación, salte a la rutina de secuencia de apagado.
• En caso contrario, si un nuevo botón es presionado, llame a la rutina DO_KEY
para procesar esta orden. Para esto, verifique si el bit NEW_KEY está establecido.
Este bit se borra después de que el comando es procesado.
• En caso contrario, si se recibe un nuevo comando IR, llame a la rutina DO_COM
para procesar el comando remoto. Para esto, verifique si el bit NEW_COM (nuevo
comando IR disponible) está establecido. Este bit se borra después de procesar el
comando.
• Saltar al inicio del sistema.
6. Secuencia de apagado. Guarde todos los ajustes en la EEPROM y apague la
pantalla y el relé de modo de espera.
Dado que la salida del sensor IR está conectada al pin 12 (INT0) del
microcontrolador, se produce una interrupción externa cada vez que se recibe un
código. El algoritmo para decodificar el flujo de IR se implementa completamente
en la "interrupción externa 0" de la rutina del ensamblador. Esta rutina establece
un NEW_COM (02H en memoria de bits) si hay un nuevo comando disponible. El
byte de comando decodificado se almacena en 'Comando' (ubicación 021H en la
RAM interna). La rutina principal verifica el bit NEW_COM continuamente en el
sistema. El temporizador 0 es utilizado exclusivamente por esta rutina para
determinar los tiempos del pulso.
La decodificación del flujo de IR implica los siguientes pasos:
1. Dado que cada código se transmite dos veces, rechace al primero
introduciendo un retraso de 85 milisegundos (ms) y comience con el
temporizador 0. La segunda transmisión se detecta al verificar el temporizador
de no desbordamiento 0. En todos los demás casos, el temporizador 0 se
desbordará.
2. Para la segunda transmisión, verifique el conteo del temporizador 0 para
determinar la duración del impulso guía (9 ms). Si la longitud del pulso es de
entre 8,1 ms y 9,7 ms, se reconocerá como válida. Salte los siguientes 4.5ms de
silencio.
3. Para detectar los bits entrantes, el temporizador 0 está configurado para usar
la señal estroboscópica de manera que el contador se ejecute entre los
períodos de intervalo de bits. El valor del contador se utiliza para determinar si
el bit entrante es "0", "1" o "Alto". Esto se implementa en la rutina
RECEIVE_BIT.
4. Si el primer bit recibido es "Alto", repita el último comando para configurar el
bit NEW_COM.
5. Si no, recibe el resto de los siete bits. Compare el byte recibido con el código
personalizado (C_Code). Si estos no coinciden, regrese error.
6. Reciba el siguiente byte y compáralo con el código personalizado. Si estos no
coinciden, regrese error.
7. Reciba el siguiente byte y guárdalo en "Comando".
8. Reciba el siguiente byte y verifique si es el valor complementario de
"Comando". En caso contrario, regrese error.
9. Reciba el bit “Alto”.
10.Establecer NEW_COM y volver de la pausa.
Otras partes del código fuente son relativamente sencillas y se explican por sí
mismas.
Control remoto. El microcontrolador puede aceptar comandos de cualquier
control remoto IR que use el formato de transmisión NEC. Estos controles remotos
están disponibles en el mercado y usan μPD6121, PT2221 o un IC compatible.
Aquí, hemos utilizado el control remoto de Creative.
Todas las funciones del sistema se pueden controlar completamente con el control
remoto o los botones de la placa. De forma predeterminada, la pantalla muestra la
configuración de volumen y los LED indican el canal seleccionado. El LED9 se
ilumina momentáneamente cada vez que se recibe un comando del control
remoto o se presiona uno de los botones.
Las funciones de ajustes se detallan a continuación:
1. Volumen: Use la tecla Vol + / Vol- para aumentar / disminuir el volumen. Los
ajustes de volumen se muestran en la pantalla de dos dígitos y 7 segmentos.
Los pasos se pueden variar entre "1" y "80".

2. Silencio y Modo de espera: con los botones ‘Silencio’ y ‘Espera’, usted puede
alternar el estado de silencio y espera, respectivamente. Si se presiona
"Silencio", la pantalla mostrará "00". En el modo "De espera", el relé se
desactiva para apagar el amplificador principal. Todos los LEDs y las pantallas,
excepto LED9, se apagan para indicar el estado modo de espera.
3. Selección de entrada: para seleccionar la fuente de entrada de audio, presione
la tecla ‘Canal’ hasta que se seleccione el canal deseado. El LED
correspondiente al canal seleccionado se enciende y la configuración de dicha
entrada para ese canal se muestra durante cinco segundos. Luego, el nivel de
volumen se muestra en la pantalla de 7 segmentos.
4. Configuración de ganancia de entrada: pulse el botón ‘Ganancia’. El LED
correspondiente al canal comenzará a parpadear y se mostrará el valor de
ganancia. Use la tecla Vol + / Vol- para aumentar / disminuir la ganancia para
ese canal. Tenga en cuenta que la ganancia puede variarse de "1" a "15". Si
presiona la tecla "Ganancia" una vez más, y no se presiona ninguna tecla
durante cinco segundos, saldrá del modo de configuración de ganancia y se
mostrará el nivel de volumen.
5. Audio: Presione la tecla ‘Audio Set’ (Menú) para ajustar los graves, medios,
agudos y atenuación uno por uno. Cada vez que se presiona la tecla 'Audio Set',
se enciende el LED correspondiente a la función seleccionada y se muestra el
valor de la función. Una vez que se selecciona la función requerida, use Vol+ y
Vol- para ajustar la configuración. Los graves, medios y agudos pueden variarse
desde '07' a '7. Los valores de '0 'a' 7 'indican 'Boost ' y '00' a '07' indican
'Cortar'. La atenuación se puede variar desde ' 0 ' a ‘40’.
Construcción
El circuito se puede montar fácilmente en cualquier PCB con una base IC. Antes de
instalar el microcontrolador, la memoria y el procesador de audio en sus zócalos y
soldar el módulo del receptor IR, asegúrese de que la tensión de alimentación sea
la correcta. Todas las partes, excepto el procesador de audio (TDA7439), requieren
una alimentación de 5V DC. El procesador de audio es alimentado por 9V DC.
Descargue el código fuente de:
http://www.efymag.com/admin/issuepdf/Audio%20Processor.zip

You might also like