sábado, 21 de noviembre de 2015

DAC PSoC 5LP

1ra Parte Sobre Dac - Melodía creada con el PSoC 5LP

Un conversor de señal digital a analógica (DAC por sus siglas en inglés) es un dispositivo para convertir señales digitales con datos binarios en señales de corriente o de tensión analógica.
Figura 1: DAC


En esta entrada veremos como usar un WaveForm DAC del PSoC 5 para crear una melodía. Hay muchas formas de hacer lo mismo, en esta ocasión usaremos, a parte del DAC, un multiplexor y un controlador para el mismo.

¿Qué es un Multiplexor?
Los Multiplexores son circuitos combinacionales con varias entradas y una única salida de datos, están dotados de entradas de control capaces de seleccionar una y sólo una, de las entradas de datos para permitir su transmisión desde la entrada seleccionada hacia dicha salida.

Figura 2: Multiplexor

¿ Y un Control Register?

Un Control Register es un registro del procesador que cambia o controla el comportamiento general de un CPU u otro aparato digital. Sus tarea comunes incluyen switching, direccionamiento, control de paginación y control de coprocesador.
Figura 3: Control Register

Para hacer nuestra melodía entonces, debemos manipular el registro para activar diferentes entradas del multiplexor, estas entradas están conectadas a unos clocks que tienen frecuencias diferentes. Estos clocks modifican los Rates del DAC al cual le dejamos fijo los samples, si revisamos el datasheet del wave DAC sabremos que la frecuencia a la salida dle DAC será:



Sabiendo esto, no queda mas que hacer las conecciones pertinentes. Las notas que escuches en la melodía estan dadas por la frecuencia, como debes saber, es decir, a un DO le corresponde una frecuencia de 130.81 Hz. Una vez dicho esto, podemos divertirnos.


Este el esquemático, podemos observar el DAC el cual conserva un sample constante de 100, se le conecta un cero lógico de referencia y a la salida un pin analógico, pues a la salida tendremos una señal, en este caso, senoidal.

El multiplexor, con sus los 8 clocks que nos darán diferentes notas y para finalizar el control register del cual hablamos anteriormente.

Puede parecer lógico pero vale la pena mencionarlo, a la hora de mapear, solo usaremos un pin, el de salida ya que la información que genera las ondas vendrá de nuestro código.

Para el código nada mas basta iniciar el waveDAC y utilizar el codigo que se muestra arriba, se puede observar como se asignan un valor al control que es el switch que movera el multiplexor, la nota se mantiene por 300 milisegundos, se detiene el DAC 10 milisegundos y pasa a la siguiente nota.

No se pone todo el codigo porque es una combinación de las primeras 5 líneas. solo es jugar con los tiempos de delay y las frecuencias para crear una obra maestra.



Para Finalizar pueden ver un video con el sonido de nuestra melodía. Queremos agradecer a nuestro compañero Alberto José Ramírez Fuente por ayudarnos con la practica, en las proximas entradas veremos como hacer un "piano" con el PSoC.





viernes, 6 de noviembre de 2015

MAX2121B

El MAX2121B es un sintonizador de Banda-L con un Filtro bandbase programable.

¿Qué es una Banda L y Baseband?

La Banda L es un rango de radiofrecuencia de las Microondas IEEE US que usa las frecuencias de 1,5 a 2,9 GHz. Una parte de esta banda, entre 1,2 y 9,4 GHz se utiliza en muchos países para la difusión en MMDS (cable con cable). La banda L, es utilizada por el Ejército Mexicano, a través de los satelites.

En Telecomunicaciones, el término banda base (baseband) se refiere a la banda de frecuencias producida por un transductor, tal como un micrófono, un manipulador telegráfico u otro dispositivo generador de señales que no es necesario adaptarlo al medio por el que se va a trasmitir. A grandes rasgos el MAX2121B  es un dispositivo que convierte directamente las señales de satélites de LNB (las cuales son señales en las que es muy difícil atenuar el ruido) a baseband donde es más fácil atenuar el ruido para que los dispositivos puedan usar una señal menos sensible al ruido.

Cuenta con rango de frecuencia de 925MHz a 2250MHz.
 Otra gran ventaja que brinda el MAX2121B es que ya contiene un amplificador RF de ganancia variable, convertidores I y Q convertidores mixtos y filtros de banda de 40MHz a 120 MHz y amplificadores de ganancia variable, entre muchos otros componentes que se pueden apreciar en el datasheet.
 Juntos, el RF y los amplificadores de ganancia variable baseband proporcionan más de 80dB de rango de ganancia. El dispositivo es el sintetizador broadband/VSAT DBS más avanzado disponible. La figura de bajo ruido elimina la necesidad de un LNA externo. Un numero pequeño de componentes pasivos es requerido para formar un sintonizador completo de band ancha satelital DVB-S2 RF front-end solution. El sintonizador esta disponible en un empaquetado TQFN muy pequeño de 5mm x 5mm con 28 pines. Algunas de sus aplicaciones son: Los VSATs (Very small apertura terminal). Designa un tipo de antena para comunicación de datos vía satélite y por extensión a las redes que se sirven de ellas, normalmente para intercambio de información punto a punto, punto a multipunto (broadcasting) o interactiva.


Sistemas de navegación, si, esos que usamos para movernos dentro la ciudad y no perdernos.


Satellite Set-Top Box, que son los decodificadores o receptores de televisión que, valga la redundancia, le ponemos a nuestro televisor para recibir las señales (analógicas o digitales) para luego ser mostrada o visualizada en el televisor.


DBS Tuner. DBS o Direct Broadcast Satellite es el servicio que distribuye una señal de audio, vídeo o datos sobre una extensa zona predeterminada, haciendo uso de sistemas especialmente concebidos para ello, permitiendo la recepción con terminales de pequeño diámetro.


Beneficios y características del MAX2121B







viernes, 30 de octubre de 2015

Filtro Pasa Altas

Objetivo:
Implementar un Filtro Pasa altas usando los OpAmps en el PSoC 5LP

Introducción
Cada ves hay mas personas que se atreven a diseñar, implementar circuitos electricos y trabajar con microcontroladores, para crear cosas maravillosas. Nosotros nos encontramos en formación y debemos aprender como sacarle el mayor provecho a los materiales con los que contamos.

En la siguiente entrada de este blog, mostraremos el resultado final de nuestra implementación de un filtro pasa altas utilizando los OpAmps del PSoC 5LP

Desarrollo:
En la entrada pasada comentábamos que nuestra frecuencia corte estaba idealizada y las simulaciones que se hicieron fue con valores no comerciales de capacitancias. En esta entrada presentaremos los esquematicos con los valores reales que usamos. En esta ocacion nuestra frecuencia corte esde 723Hz

Figura 1: Esquemático con Valores reales

En la figura uno podemos ver el esquemático de nuestra implementación con los valores comerciales que trabajamos.

Ahora, ¿Qué hicimos con el PSoC?
Figura 2: PSoC Creator

Solo configuramos el bloque de OpAmp como seguidor de voltaje para no tener ganancia. En el PSoC creator, cuando pases a definir los pines que vas a utilizar, estos ya estarán seleccionados para algunas de las salidas/Entradas de los 3 OpAmps, selecciona los que quieras.

No esta de mas recordar que debes inicializar el OpAmp en al main de esta manera Opamp_1_Start();

El diagrama de Flujo sería algo así

Figura 3: Diagrama de flujo

A continuación presentamos la implementación haciendo una comparación de los resultados con la simulación.


Figura 4: Implementación

Figura 5: Señal de entrada a baja Frecuencia

Figura 6: Señal de baja frecuencia filtrada

Figura 7: Simulación a Baja frecuencia

Usando los valores reales que usamos en la implementación, corrimos la simulación para poder hacer una comparación sobre lo que debíamos obtener, y como podemos observar en las imagenes anteriores los resultados son cercanos a los esperados en bajas frecuencias.

Figura 8: Señal de entrada de Alta Frecuencia

Figura 9: Señal de alta frecuencia después del filtro

Figura 10. Simulación a alta frecuencia

Como podemos ver los resultados finales fueron muy cercanos a los ideales, podemos considerar que la práctica se hizo de forma correcta.

Para finalizar nos gustaría adjuntar de nuevo los datos del Opamp del PSoC 5LP y un video donde podamos apreciar que la implementación funcionó 










viernes, 23 de octubre de 2015

Avances Filtro Pasa Altas

El objetivo de esta entrada es mostrar los avances que tenemos como equipo.
El objetivo general de nuestro trabajo es realizar un Filtro Pasa Altas con ayuda del PSoC.

El contenido de esta entrada se resume en los esquemáticos y simulaciones que hemos trabajado, así como los datos del opamp que tiene el PSoC. No esta de mas comentar que los valores que se usan en las simulaciones y en el esquemático, son tentativas, en la implementación se usaran valores de resistencias y capacitancias comerciales, por lo tanto la frecuencia de corte no será la misma.

En esta ocasión se idealizo para una frecuencia corte de 1kHz, la capacitancia que se uso fue de 159.15nF y Resistencias de 1kOhm

Figura 1: Filtro Activo Pasa Altas 1er Orden

Figura 2: Filtro Activo Pasa Altas 2do Orden
Figura 3: Simulación 280Hz
En azul filtro 1er orden,
Verde Filtro 2do Orden 
Amarillo Señal

Figura 4: Simulación +1kHz 
En azul filtro 1er orden,
Verde Filtro 2do Orden 
Amarillo Señal

Como podemos ver, el filtro funciona, atenúa las frecuencias bajas a la frecuencia de corte, sin embargo al no tener una alimentación simétrica la parte negativa de la señal se pierde.

Figura 5: Esquemático en PSoC Creator

Figura 6: Algunos Datos Importantes del OpAmp de PSoC





domingo, 11 de octubre de 2015

Placa Experimental PSoC

Placa experimental para el PSoC
¿Qué incluiremos en esta placa?
3 Entradas
3 Salidas
Alimentaciones de 5V
2 Potenciómetros
y un LCD

A continuación pondremos unas imágenes del esquemático, posteriormente el diseño final del PCB y para finalizar dejaremos adjuntos los archivos para que puedas descargar nuestro diseño, el cual puede mejorar.

Imagen 1.1 PSoC

Le agregamos filas paralelas para poder usar todos los pines

Imagen 1.2 Filas Paralelas

se agregaron a la placa experimental:
1 LCD
2 Potenciometros, los cuales se activan por jumpers
3 Entradas y 3 Salidas
Alimentaciones

Imagen 1.3 Alimentaciones, Entradas y Salidas

Estos pines se usaran exclusivamente para estos aspectos, en caso de necesitar mas, usaremos las lineas paralelas.

Imagen 1.4 LCD


Imagen 1.5 Potenciometro

A continuación subiremos el PCB, el cual estará disponible para su descarga.

Imagen 1,6 PCB
Imagen 1.7 Implementación



Imagen 1.8 Implementación


Imagen 1.9 Implementación



Descarga Nuestro Trabajo
https://drive.google.com/file/d/0B9PN6ywyXIrDblZmMEZWNjh1U0E/view?usp=sharing






viernes, 11 de septiembre de 2015

LCD PSoC 5LP (Ej anterior)



Retomando el proyecto de la entrada anterior, añadiremos un LCD para mostrar el voltaje que está entrando al ADC.

Antes que nada abrimos el PSoC creator, como vamos a imprimir el voltaje que le entra al adc, podemos usar el proyecto anterior.

Como antes, usaremos un ADC, un PWM y un LCD. el Software dentro de sus librerías ya trae opciones para usar el LCD, pero nosotros usaremos una biblioteca diferente, la cual puedes encontrar en el siguiente link:

http://www.mediafire.com/download/yrrmxwh5uyhzf6h/CharLCDmp_Demo3.zip

Para añadir la librería nos vamos al menú Project/Dependencies/User dependencies. Mas adelante se dejara el enlace a un vídeo del cual nos basamos que muestra estos pasos y una solución a los errores que aparecerán mas adelante.

Si usamos el proyecto anterior (ADC+PWM) solo necesitamos agregar el Block correspondiente al ADC y asignarle unos pines digitales de tipo output como se muestra en la siguiente imagen.

Cabe recalcar que el componente no se encuentra en la carpeta de cypress, sino en la de community.


Como sabemos el siguiente paso será asignar los pines, se selecciono ésta librería para el LCD pues te deja seleccionar el orden que quieras en la asignación, como veremos en la siguiente imagen. Sin embargo, si se usa el componente que trae el PSoC Creator, el programa te asignara una fila de 7 pines seguidos.

En la imagen anterior vemos como queda finalmente la asignación de los pines, procedemos entonces a hacer el código, no esta de mas comentar que antes de pasar el código compilemos lo que ya tenemos.

Primero, se debe incluir lo siguiente para que el código funcione.
Paso siguiente



En teoría el código debería funcionar hasta este punto, pero hay que hacerles unos ajustes al PSoC Creator, los cuales se explican muy bien en el siguiente vídeo:




Para finalizar, hacemos click en Build!
A continuación los resultados de la implementación.