martes, 31 de julio de 2012

USO DEL MODULO AMUX4


En algunas ocasiones es necesario tomar y convertir muestras de diferentes tipos de señales análogas, para esto es conveniente utilizar uno de los multiplexores análogos con los que cuenta PSoC, el que se va a presentar en este caso es el “AMUX4” este es un modulo de usuario que permite utilizar un multiplexor análogo de cuatro entradas y una salida. Para el caso del microcontrolador CY8C29466 se puede contar con cuatro multiplexores de este tipo (uno por cada columna), a continuación se muestra la manera de configurar este modulo.

Los parámetros esenciales para la configuración son:

•   Analog Column Mux.
•   AMUX4_InputSelect.

Analog Column Mux: este parámetro permite escoger cual de los cuatro multiplexores va a ser el escogido para realizar el trabajo, esta opción puede ser configurada de manera grafica y los cuatro valores que puede tomar son AlnMux_0, AlnMux_1, AlnMux_2, AlnMux_3, tal como se puede apreciar en la figura 1.


(Figura 1. Configuración Analog Column Mux)

AMUX4_InputSelect: este parámetro y más específicamente este código permite seleccionar el pin análogo que se va a tomar como entrada en ese instante de multiplexación, la sintaxis de dicho código es la siguiente: 

AMUX4_InputSelect(nombre del puerto a usar);

Por ejemplo para seleccionar el pin 1 del puerto 0 la sintaxis quedaría de la siguiente manera:

AMUX4_InputSelect(AMUX4_PORT0_1);

También hay que tener en cuenta que para cada multiplexor a utilizar existen unos puertos análogos predeterminados, lo cual hay que recordarlo en el momento de configuración del enrutamiento con el código AMUX4_InputSelect(), la disposición de los multiplexores con los respectivos puertos análogos se puede observar en la figura 2.


(Figura 2. Disposición de los multiplexores)

A manera de ejemplo se propone realizar una práctica en la cual en cada una de las cuatro entradas al multiplexor se conecte un potenciómetro configurado como divisor de voltaje con el fin de ir variando el valor de las entradas análogas, la selección de la entrada a multiplexar se va a realizar por medio de un dip-switch, por último la salida del multiplexor se va a conectar a un modulo PGA con ganancia unitaria y la salida de este amplificador nos retorna el valor de la señal por un pin configurado como salida análoga.

A continuación se presenta el código escrito en C de la práctica propuesta.  

//----------------------------------------------------------------------------
// C main line
//----------------------------------------------------------------------------

#include <m8c.h>       
#include "PSoCAPI.h"   
  
void main(void)
{
       AMUX4_1_Start();//Inicializacion del modulo multiplexor
       PGA_Start(3); //Iniciación del modulo PGA
      
while(1)
{
if(PRT1DR==0x00) //selección con el dip-switch
{
AMUX4_1_InputSelect(AMUX4_1_PORT0_0);//Selección del puerto 0_0 para multiplexar
}
if(PRT1DR==0x01)//selección con el dip-switch
{
AMUX4_1_InputSelect(AMUX4_1_PORT0_2);//Selección del puerto 0_2 para multiplexar
}
if(PRT1DR==0x02)//selección con el dip-switch
{
AMUX4_1_InputSelect(AMUX4_1_PORT0_4);//Selección del puerto 0_4 para multiplexar
}
if(PRT1DR==0x03)//selección con el dip-switch
{
AMUX4_1_InputSelect(AMUX4_1_PORT0_6);//Selección del puerto 0_6 para multiplexar
}
}
}

En este ejemplo se utilizo el multiplexor AlnMux_1 el cual corresponde a la segunda columna del sistema análogo del PSoC CY8C29466.

NOTA: El ejemplo anterior, es un ejercicio muy básico solo con el fin de mostrar el funcionamiento de estos multiplexores, pero existen diversas aplicaciones en las que se puede obtener un mayor provecho de este dispositivo.