Etapa ALC para Audio

ALC son las siglas de Automatic Level Control y consiste en un sistema que mantiene el nivel de la señal de audio de acuerdo a un nivel de referencia. Esto previene la saturacion sobre todo si el circuito está integrado en sistemas de grabación. Esto no solo mejora la señal de entrada que va a atacar a una posterior etapa de amplificación, sino que también optimiza el nivel de ruido de la señal y por ende reduce el nivel de distorsión sobre la salida.

Integrar un ALC en nuestro sistema de audio puede traer varias ventajas como ya se enumero, pero principalmente vayamos a inspeccionar un integrado que existe en el mercado y que es capaz de realizar dicha tarea: se trata del TDA 7284 cuya datasheet puede verse en el siguiente link. No nos explayaremos demasiado en esta entrada, solo intentaremos comentar cuales son los pines del IC y como conectarlo a nuestro sistema.

El IC contiene los pines que pueden verse a continuación:
Pero,¿cómo conectaremos el IC al circuito de audio?
El ALC o control automatico de audio debe acoplarse entre la etapa de entrada y la etapa de salida. Las entradas son los pines 6 y 9 y pueden conectarse a estos la señal de algun mp3, salida de un DVD, radio, etc. con la precaucion de acoplar adecuadamente la señal. Para acoplar la señal pueden utilizar una resistencia en serie y un capacitor de bajo valor en paralelo. Puede verse la sugerencia del fabricante a continuacion en la siguiente figura:
Las fuentes marcadas como VIN 1 y VIN 2 son las entradas de audio de las que hablamos.
En cuanto a las salidas, las tendremos en los pines OUT 1 y OUT 2 numerados en los pines 10 y 5 del IC.

Como este circuito fue diseñado pensando en el control automatico de volumen para la grabacion de cintas analogicas (pueden ya imaginarse sus años!!) tiene un pin que permite escoger un nivel predeterminado de señal a nivelar de acuerdo a las especificaciones de la cinta a grabar. Este pin es el pin 1 y en nuestro caso no tiene demasiado sentido implementarlo, si dejenlo conectado a alguno de los dos niveles de tension HI o LO que simboliza a +Vcc o tension de alimentacion o bien tierra o 0 v, respectivamente.
Tambien deben prestar atencion a la rama del pin 7 la cual tiene dos posibles posiciones R (Record o grabar ) o P (Play o Reproducir), no nos compliquemos. Si estamos en R el sistema ALC está activo, si estamos en P el sistema ALC no está activo lo que siginifica que podemos uitlizar ese punto como llave para conectar el control automatico de ganancia o desconectarlo.

Por ultimo, dos cuestiones mas:

-La tension de alimentacion debe rondar los 6 a 12 v de acuerdo al fabricante. Esta se conecta al pin 11.
-El circuito debe intercalarse en nuestra fuente de audio y la entrada al preamplificador o al amplificador de potencia; entonces nos quedaria un esquema asi:

Entrada audio ---> Circuito ALC ---> Preamp. + Ctrl Volumen ---> Amp. potencia.

El circuito entonces en el caso de un mp3, mantendrá el nivel de la señal a la entrada del pre o el amplificador   y de esta manera nos evitaremos esos desagradables altibajos de volumen al pasar de pista en pista ;).

Espero les haya sido útil y pueden investigar mucho mas en la datasheet del fabricante. Este circuito no he tenido la oportunidad de probarlo, no conozco su funcionamiento en vivo no obstante, al que le interese puede implementarlo y comentar sus experiencias por aqui!!! 

Grandes saludos!



Introducción al protocolo ATAPI

Hola electrónicos! 
Hace algún tiempo estuvimos introduciendo un proyecto que consistía en controlar una compactera (CD-ROM) a través de un puerto integrado IDE que utiliza un protocolo ATAPI... 




Pero que es un ATAPI?
Sin preambulos digamos que ATAPI es Advanced Technology Attachment Packet Interface o para nuestro idioma algo así como una "interfaz de paquetes adjuntos de tecnología avanzada" : ( pero se entendió menos que antes... veamos: muchos de uds. deben conocer algún protocolo serie. Estos trabajan enviando palabras de algún número de bits constante con una velocidad de bits dada por alguna señal de clock. En estos tipos de comunicación utilizan solamente 2 o 3 conductores debido al modo que trabajan. En cambio, un protocolo ATAPI utiliza un puerto paralelo en el que se envian bajo la habilitación de algún puerto un paquete de datos que puede ser más de una palabra en una sola transmisión. La ventaja del protocolo ATAPI es la posibilidad de interconectar todos los dispositivos de un sistema complejo como puede ser una computadora. 


Podremos controlar el CDROM a través del puerto IDE (Integrated Drive Electronics) que significa que las funciones vienen integradas en los dispositivos que estos controlan y esto facilita aún más la comunicación del dispositivo.Generalmente se utiliza para conectar esta con la PC o el dispositivo controlador una correa de este tipo:




Pero dejemonos de algunas definiciones complicadas y pasemos a lo que nos interesa...Es importante centrarnos en la definición del protocolo ATAPI para el manejo de CDROMs. El puerto de la compactera o CDROM se ve como en la siguiente imagen:


 
Fuente de la imagen: http://www.elektroda.pl/rtvforum/files-rtvforum/ide_44pin_9389.jpg 

Observemos que tenemos una serie de pines que van desde DA0 hasta DA15, estos conforman el puerto de 16 bits bidireccional paralelo, es decir, los datos entran y salen "todos al mismo tiempo" o de manera concurrente
Una palabra de datos entonces va a tener un tamaño de 16 bits y la siguiente forma:


MSB [ D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 ] LSB

Los sistemas CDROM mas modernos ya poseen un puerto IDE mas extendido que posee 4 pines adicionales. Nosotros no los usaremos, ni le encontraremos utilidad por ahora, asi que olvidense de ellos.

Si seguimos inspeccionando el puerto, encontramos 6 pines adicionales que utilizaremos convenientemente para comunicarnos con el dispositivo:

/RESET -->  Reseteo general del puerto ATAPI.
/DIOW  -->  DataInOutWrite --> Habilita la escritura en el puerto de 16 bits.
/DIOR  -->  DataInOutRead  --> Habilita la lectura en el puerto de 16 bits.
 DA2  }
 DA1  }-->  DataAdress --> Estos 3 bits direccionan un dato en base al reg. ATA.
 DA0  }

Tanto el pin RESET, DIOW y DIOR, trabajan con valores lògicos '0' para habilitarse, o con logica negada o negativa. Por ahora no nos interesaran los otros pines, excepto GROUND, los cuales todos deben ponerse a tierra.

Resumiendo entonces diremos que con este conjunto de 16+6=22 pines estamos en condiciones de poder comandar nuestro CDROM a traves de una comunicacion ATAPI.

Pero, ¿còmo podemos comandar nuestra compactera?
        ¿còmo es el protocolo?
Obviamente, tenemos muchisimos interrogantes en nuestra cabeza, pero sentemos algunas bases. 

Registros ATA

Quien programo PICs conoce lo que es un registro y lo entendera mejor. Para todos los demas, digamos que el registro es una palabra de n bits que posee una cierta direccion para acceder a su contenido y poder leerla. Esta palabra generalemente tiene un tamaño fijo de bits, y cada uno de los bits que la componen se llaman flags. Las flags o banderas son bits que se ponen en '1' o 'se levantan' al ocurrir cierto evento. En una operacion matematica, una bandera llamada 'CERO', por ej, podrìa ponerse en '1', al obtener un resultado nulo.

Los registros ATA o Task File Registers que vamos a utilizar son basicamente 9, pero tengan en cuenta que existen muchos màs. No vale la pena ponerse a tocar temas tediosos. Evitaremos en lo posible eso. Estos registros son:
DATA           -->  direccion 0x00
ERROR/FEATURES -->      "     0x01     
SECTORCOUNT    -->      "     0x02
SECTORNUMBER   -->      "     0x03
CYLINDERLOW    -->      "     0x04
CYLINDERHIGH   -->      "     0x05
DRIVEHEAD      -->      "     0x06
STATUS/COMMAND -->      "     0x07

Estos registros tienen la particularidad de poder ser "configurables", es decir, no solo se pueden leer sino que tambien pueden escribirse, para acceder a ciertas configuraciones.
Trabajaremos con un termino que nos facilitara todo las explicaciones que seguiran del protocolo: cualquiera de estos registros pueden estar "apropiados" por la compactera, diremos que los registros estan owned.Cuando un registro es owned no puede modificarse, o sea son solo leibles. Cuando el controlador o compactera "lo suelta" ya es modificable por nosotros... Es importante entender esto, porque sobre estos registros escribiremos para ejecutar comandos, como ya veremos, tales como Play Audio, Stop Audio, Scan Audio, Pause Audio, etc.

Si les parece mucho, es solo el comienzo; si les parece poco, ya siguen las demas entradas demasiado pronto...

Thanks !