Anda di halaman 1dari 226

PROYECTO TERMINAL DE LICENCIATURA TTULO DEL PROYECTO:

Diseo, desarrollo y construccin de hardware digital y de comunicaciones usando lenguaje VHDL, tcnicas de WIRE WRAP, FPGA y tecnologa PIC para el desarrollo de un DEMO completo de Multimedia para el apoyo en el proceso de enseanza-aprendizaje en UEAs de diseo digital y comunicaciones.
Alumnos: Gutirrez Medina Joel 202211031. Ramrez Avelino Jos Demetrio 202211895. Asesor: Ing. Miguel ngel Gutirrez Galindo. Profesor Asociado de Tiempo Completo Nivel D. No. Empleado: 25604 Cubculo: T-328A. Telfono: 5804-4630, Ext: 273

____________________ Firma del Asesor. Octubre de 2007

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

CONTENIDO.
4 5 5 6 8 9 9 12 16 17 18 19 19 20 21 22 23 23 25 26 27 28 31 33 33 33 33 43 43 54 60 60 61 61 62 62 64 69 73

CAPITULO 1 OBJETIVOS, RESUMEN E INTRODUCCIN....................................................... OBJETIVOS............................................................................................................................. RESUMEN DEL REPORTE.......................................................................................................... INTRODUCCIN..................................................................................................................... CAPITULO 2 ANTECEDENTES SOBRE LOS TEMAS DEL PROYECTO.................................... VHDL....................................................................................................................................... Elementos bsicos VHDL............................................................................. Estructura bsica de un archivo fuente en VHDL...................................................... FPGA....................................................................................................................................... Arquitectura................................................................................................. Programacin...................................................................................................... Simulacin....................................................................................................................... Flujo de diseo........................................................................................................ MICROCONTROLADORES PIC.............................................................................................. Estructura........................................................................................................................ Diagrama de Conexiones............................................................................................ Memoria de Programa.................................................................................................. Memoria de Datos RAM................................................................................................ Juego de Instrucciones................................................................................................. Usos................................................................................................................ CAPTULO 3 DESARROLLO DE PROYECTO.......................................................................... LOGICA DE CONMUTACIN I Y II........................................................................................ Metodologa utilizada para la enseanza................................................................. SISTEMAS DIGITALES I............................................................................................................ Presentacin............................................................................................................ Teclado........................................................................................................................... Introduccin, instalacin y manejo de teclado........................................................ Pantalla LCD............................................................................................................ Introduccin: instalacin y manejo del LCD.............................................................. Teclado y pantalla LCD................................................................................................ COMUNICACIONES I Y LABORATORIO DE COMUNICACIONES I..................................... Presentacin................................................................................................................... Multiplexado y Demultiplexado................................................................................... Principios de Multiplexado............................................................................................ Multiplexado por Divisin de Frecuencia................................................................... Transmisores-Multiplexores............................................................................................ Receptores-Demoduladores.................................................................................... Multiplexado por Divisin de Tiempo........................................................................ Teorema de Muestreo...................................................................................................

Universidad Autnoma Metropolitana Unidad Iztapalapa

-2-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

CAPTULO 4 PROYECTOS Y PROBLEMAS RESUELTOS..................................... PRESENTACIN................................................................................................. PRIMERA PARTE: PROYECTOS UTILIZANDO VERIBEST, ORCAD DEMO................................ PROYECTOS UTILIZANDO VERIBEST....................................................................................... Compuertas Lgicas en VHDL..................................................................................... Introduccin a las configuraciones de nivel dos no degeneradas........................ Formas no degeneradas de orden dos...................................................................... PROYECTOS UTILIZANDO VERIBEST Y FPGA......................................................................... Convertidor de cdigo 2 4 2 1 a cdigo 8 4 -2 1..................................................... Convertidor decimal a hexadecimal....................................................................... PROYECTOS UTILIZANDO ORCAD DEMO Y FPGA............................................................... Contador ascendente / descendente modulo 8..................................................... Contador 0 a 99............................................................................................................. Contador de rizo de 0 a 7............................................................................................ SEGUNDA PARTE: PROYECTOS UTILIZANDO PIC16F84........................................................ Sumador de 3 bits y mostrar en leds........................................................................... Contador ascendente de 4 bits con mensaje de trmino en pantalla LCD........ Manejo de interrupciones............................................................................................ Display............................................................................................................................. Manejo combinacional de E/S digitales.................................................................... Contador ascendente/descendente........................................................................ Control de Acceso........................................................................................................ Semforo Programable................................................................................................ Dado electrnico.......................................................................................................... Temporizador Programable.......................................................................................... Alarma.............................................................................................................................

76 77 78 78 78 81 84 88 88 93 101 101 104 107 110 110 112 114 116 118 120 122 125 127 129 132

CONCLUSIONES.................................................................................................................... 134 APNDICE A Veribest, OrCAD y Quartus II........................................................................ APNDICE B FPGA EXPRESS Y PROJECT NAVIGATOR .......................... APNDICE C SOFTWARE PARA DISPOSITIVOS PAL Y GAL.................................................. APNDICE D MPLAB IDE e IC-PROG................................................................................... APNDICE E COMUNICACIONES I...................................................................................... BIBLIOGRAFA. 137 159 169 182 188 225

Universidad Autnoma Metropolitana Unidad Iztapalapa

-3-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

CAPITULO 1 OBJETIVOS, RESUMEN E INTRODUCCION

Universidad Autnoma Metropolitana Unidad Iztapalapa

-4-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Objetivos.

Aplicar los diversos conocimientos adquiridos a lo largo de la carrera para enfrentar un problema de Ingeniera de Comunicaciones y Electrnica tal como el de disear y desarrollar un DEMO completo interactivo de multimedia usando lenguaje VHDL, tcnica de WIRE WRAP, tecnologa de PICs y de FPGA; empleando para ello adems software de anlisis, de diseo y simulacin adicionales. Proporcionar a los cursos de Lgica de Conmutacin I y II, Sistemas Digitales I y Comunicaciones I de un conjunto de herramientas de hardware digital y de comunicaciones que permitan consolidar los conocimientos adquiridos; pero as mismo sirvan de complemento a las actividades de laboratorio de dichos cursos. Tanto el hardware construido como el DEMO de Multimedia se instalarn en el Laboratorio T-328B del edificio T de la UAM Unidad Iztapalapa.

Resumen del Reporte.

Este reporte contiene los procedimientos y descripcin de las actividades principales desarrolladas para la elaboracin, el aprendizaje y uso de algunas tecnologas modernas, adems de las clsicas, de construccin de circuitos y diversos sistemas electrnicos necesarios para el proyecto. Incluye la metodologa utilizada, los programas empleados, diseo, contenido, estructura, as como una breve descripcin de cada uno de ellos. Se incluye fuentes de informacin para que el usuario y/o alumno pueda acudir a ellas, as como resultados obtenidos, sugerencias e instrucciones bsicas del software empleado. Para acudir a la informacin de este documento y a los trabajos hechos en este proyecto, se deber de contactar al asesor del mismo.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-5-

PROYECTO DE INGENIERIA ELECTRNICA

Introduccin.

Casa abierta al tiempo

La educacin en la ingeniera, atendiendo las exigencias de las realidades del desarrollo moderno se ve obligada a renovarse continuamente, incorporando para ello los recursos que la tecnologa ofrece; la carrera Ingeniera en Electrnica en lo general y el rea de Sistemas Digitales en lo particular, de la Universidad Autnoma Metropolitana, se da a la tarea de incorporar a sus planes y programas de estudio recursos representativos del desarrollo tecnolgico, entre ellos los dispositivos reconfigurables y los lenguajes descriptores de hardware que aseguren en el egresado una preparacin congruente con su futuro ejercicio profesional. En la actualidad otro de las nuevas implementacin en la tecnologa tiene que ver con el uso de la red de computadoras, que se le esta dando un enfoque ms productivo pero tambin junto con la gran labor de la educacin, ya se ha iniciado un apoyo acadmico a estudiantes y gente en general a travs de la educacin en lnea. La educacin en lnea (online education) es un caso particular de la educacin a distancia (distance education), donde la forma de ensear / aprender se desarrolla a travs de una red de computadoras. Esta red puede implementarse de diversas maneras, desde una LAN (Local Area Network) hasta una red de alcance global como es Internet. El presente trabajo puede tambin enfocarse al uso de esta tecnologa disponible en Internet, por tener ciertas ventajas en cuestin de soporte de clientes de plataforma cruzada con interfaces sencillas y muy difundidas y bajo costo de implementacin. Como valor adicional, la misma tecnologa puede utilizarse sin cambio alguno en una intranet de un centro educativo, en nuestro caso la UAM y particularmente en las asignaturas que se centra este reporte, con la ventaja de un mayor de conocimiento. Esto ltimo permite el uso de materiales didcticos sofisticados, como videoconferencias y otros medios interactivos que por su complejidad resultan lentos de ser transferidos a travs de una red global, como sonido o grficos de alta resolucin. Es importante resaltar que el xito de una implementacin de herramientas para la educacin a distancia, no solamente se basa en las funcionalidades de los contenidos utilizados, sino de una correcta planificacin del uso del mismo, la seleccin de los materiales adecuados y las caractersticas del grupo de estudiantes y docentes involucrados, no solamente en el uso de esta tecnologa, el problema tambin es dentro de las aulas de nuestra universidad, otro motivo ms para la elaboracin de este proyecto. Los dispositivos lgicos programables (PLD) son dispositivos digitales que se pueden configurar por el usuario para implementar una amplia variedad de funciones lgicas en sistemas. Estos dispositivos tienen pines de entrada, un arreglo lgico programable y pines de entrada y salida. Muchos PLD's tienen salidas programables que incrementan su flexibilidad hacindolos tiles para una gran variedad de aplicaciones, adems estos sistemas realizados con el lenguaje descriptor de hardware, se enfocan a circuitos combinacionales y secuenciales, decodificadores, contadores, multiplexores y de-multiplexores que ofrecen respaldo a diversas aplicaciones, entre ellas los sistemas basados en microprocesadores. Con la creciente complejidad de los diseos digitales ha aparecido una necesidad de describir un circuito de la forma ms eficiente y prctica posible. Un lenguaje de programacin ofrece la posibilidad de un alto nivel de abstraccin y es la solucin adecuada para dicha tarea.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-6-

PROYECTO DE INGENIERIA ELECTRNICA

Entre los lenguajes para la descripcin de circuitos digitales, el VHDL es el que est alcanzando mayor popularidad, por ser un estndar y por su amplio campo de aplicacin, desde el modelado para la simulacin de circuitos, hasta la sntesis automtica de circuitos. El significado de las siglas VHDL es Very High Speed Integrated Circuit (VHSIC) Hardware Description Language. VHDL es una forma en que los humanos y las mquinas puedan leer y entender la funcionalidad y la organizacin de sistemas de hardware digitales. Ms adelante se explicar los fundamentos del VHDL pensando en su utilizacin para programar dispositivos de tipo FPGA. No conviene olvidar que el VHDL en s mismo no est asociado a dispositivos programables, sino que es una descripcin de un circuito en alto nivel. De cualquier modo, una descripcin que sea sintetizable es casi siempre vlida tambin para simulacin, mientras que una descripcin para simulacin puede tener ms problemas a la hora de compilarla sobre un dispositivo hardware. Otra tecnologa que actualmente esta teniendo un gran auge entre estudiantes y que es motivo de muy diversas aplicaciones son los denominados microcontroladores o tambin muy comnmente conocidos como PICs. Los microcontroladores estn conquistando el mundo. Estn presentes en nuestro trabajo, en nuestra casa y en nuestra vida, en general. Se pueden encontrar controlando el funcionamiento de los ratones y teclados de los computadores, en los telfonos, en los hornos microondas y los televisores de nuestro hogar. Pero la invasin acaba de comenzar y el nacimiento del siglo XXI ser testigo de la conquista masiva de estos diminutos computadores, que gobernarn la mayor parte de los aparatos que fabricaremos y usamos los humanos. Un microcontrolador es un circuito integrado de alta escala de integracin que incorpora la mayor parte de los elementos que configuran un controlador. Aunque el concepto de controlador ha permanecido invariable a travs del tiempo, su implementacin fsica ha variado frecuentemente. Hace tres dcadas, los controladores se construan exclusivamente con componentes de lgica discreta, posteriormente se emplearon los microprocesadores, que se rodeaban con chips de memoria y E/S sobre una tarjeta de circuito impreso. En este reporte se introducen mediante ejemplos, la sintaxis del lenguaje, de forma que se cubran los bloques de las UEA de lgica de conmutacin I y II haciendo referencia en el diseo digital de algunas prcticas de laboratorio y temas de la asignatura, con la intencin de que rpidamente sea posible escribir programas tiles. La tcnica de WIRE WRAP no se abordara de manera extensa ya que fue la forma con la que se realizo las conexiones entre los componentes en las implementaciones en hardware de los proyectos propuestos. En la parte de Comunicaciones, se trato de compaginar el programa de temas vistos en esta asignatura con los temas y aplicaciones implementados en el laboratorio ya que como sabemos hay un desfase de un trimestre entre las clases de teora con la practica, por lo que mediante la construccin del material de apoyo se podrn anticipar de forma visual e implementada a los temas vistos. Por ultimo se incluyen un conjunto de apndices que sern de utilidad como manuales para el apoyo en el diseo y simulacin de las implementaciones. No pretende ser una gua extensa de las herramientas de diseo. Para ello, y para resolver problemas concretos, es necesario acudir a la bibliografa o a los manuales que cada fabricante ofrece.

Casa abierta al tiempo

Universidad Autnoma Metropolitana Unidad Iztapalapa

-7-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

CAPITULO 2 ANTECEDENTES SOBRE LOS TEMAS DE PROYECTO

Universidad Autnoma Metropolitana Unidad Iztapalapa

-8-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

VHDL

VHDL es un lenguaje de descripcin de circuitos electrnicos digitales que utiliza distintos niveles de abstraccin. El significado por sus siglas VHDL es VHSIC (Very High Speed Integrated Circuits) Hardware Description Language. Esto significa que VHDL permite acelerar el proceso de diseo. VHDL no es un lenguaje de programacin, por ello conocer su sintaxis no implica necesariamente saber disear con l. VHDL es un lenguaje de descripcin de hardware genrico, que permite describir circuitos sncronos y asncronos. Para realizar esto debemos: - Pensar en puertas y biestables, no en variables ni funciones. - Evitar bucles combinacionales y relojes condicionados. - Saber qu parte del circuito es combinacional y cul secuencial. Los circuitos descritos en VHDL pueden ser simulados utilizando herramientas de simulacin para reproducir el funcionamiento del circuito. Adems utilizando herramientas de sntesis se puede implementar dicho circuito en un dispositivo lgico programable o en un circuito integrado.

Elementos bsicos VHDL


VHDL es un lenguaje y como tal, posee sus tipos de datos y operadores. Los datos se almacenan en objetos que contienen valores de un tipo dado. Identificadores. - Constant. Los objetos de esta clase tienen un valor inicial que es asignado de forma previa a la simulacin y que no puede ser modificado durante sta. O constant identificador: tipo:= valor; - Variable. Los objetos de esta clase contienen un nico valor que puede ser cambiado durante la simulacin con una sentencia de asignacin. Las variables generalmente se utilizan como ndices, principalmente en instrucciones de bucle, o para tomar valores que permitan modelar componentes. Las variables NO representan conexiones o estados de memoria. O variable identificador: tipo [:= valor]; - Signal. Los objetos de esta clase contienen una lista de valores que incluye el valor actual y un conjunto de valores futuros. Las seales representan elementos de memoria o conexiones y si pueden ser sintetizadas.
-9-

Universidad Autnoma Metropolitana Unidad Iztapalapa

PROYECTO DE INGENIERIA ELECTRNICA

Los puertos de una entidad son implcitamente declarados como seales en el momento de la declaracin, ya que estos representan conexiones. Tambin pueden ser declaradas en la arquitectura antes del BEGIN, lo cual nos permite realizar conexiones entre diferentes mdulos. O signal identificador: tipo; VHDL permite utilizar tipos predefinidos, as como otros definidos por el usuario. BIT 0, 1 BIT_VECTOR (range*) BOOLEAN TRUE, FALSE CHARACTER {ascii} STRING {ascii} SEVERITY_LEVEL {WARNING, ERROR, FALURE} INTEGER range* NATURAL range* POSITIVE range* REAL range* TIME *(range: n_min TO n_max; n_max DOWNTO n_min)

Casa abierta al tiempo

STD_LOGIC. Tipo predefinido en el estndar IEEE 1164. Este tipo representa una lgica multivaluada de 9 valores. Adems del 0 lgico y el 1 lgico, posee alta impedancia Z, desconocido X sin inicializar U entre otros. Igual que se permite crear un vector de bits se puede crear un vector de std_logic, STD_LOGIC_VECTOR. Para poder utilizar el tipo std_logic hay que aadir la librera que lo soporta. Para poder utilizar el tipo: use ieee.std_logic_1164.all. Para poder utilizar las funciones aritmeticolgicas definidas (suma, resta multiplicacin) use ieee.std_logic_arith.all. Si los vectores estn en representacin binaria pura use ieee.std_logic_unsigned.all. Los vectores estn en C2 use ieee.std_logic_unsigned.all.
-10-

Universidad Autnoma Metropolitana Unidad Iztapalapa

PROYECTO DE INGENIERIA ELECTRNICA

Tipo Enumerado es un tipo de dato con un grupo de posibles valores asignados por el usuario. Los tipos enumerados se utilizan principalmente en el diseo de mquinas de estados type nombre is (valor1, valor2, ); Los tipos enumerados se ordenan de acuerdo a sus valores. Los programas de sntesis automticamente codifican binariamente los valores del tipo enumerado para que estos puedan ser sintetizados. Algunos programas lo hacen mediante una secuencia binaria ascendente, otros buscan cual es la codificacin que mejor conviene para tratar de minimizar el circuito o para incrementar la velocidad del mismo una vez que la descripcin ha sido sintetizada. Tambin es posible asignar el tipo de codificacin mediante directivas propias de la herramienta de sntesis. Tipos Compuestos un tipo compuesto es un tipo de dato formado con elementos de otros tipos, existen dos formas de tipos compuestos, arrays y records. Un ARRAY es un objeto de datos que consiste en una coleccin de elementos del mismo tipo. type nombre is array (rango) of tipo; Un RECORD es un objeto de datos que consiste en una coleccin de elementos de distintos tipos. type nombre is record elemento1: tipo_de_dato1; elemento2: tipo_de_dato2; end record;

Casa abierta al tiempo

Operadores. Un operador nos permite construir diferentes tipos de expresiones mediante los cuales podemos calcular datos utilizando diferentes objetos de datos con el tipo de dato que maneja dicho objeto. En VHDL existen distintos operadores de asignacin con lo que se transfieren valores de un objeto de datos a otro, y operadores de asociacin que relacionan un objeto de datos con otro, lo cual no existe en ningn lenguaje de programacin de alto nivel.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-11-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

abs *, /, mod, rem + (sig.), - (sig) +, -, & and, or, nand, nor, xor := asignacin de valores a constantes y variables. <= asignacin de valores a seales.

Estructura Bsica de un Archivo fuente en VHDL.


El archivo VHDL contiene la descripcin del circuito que se quiere implementar. Entidades (Entity) Una entidad es la abstraccin de un circuito, ya sea desde un complejo sistema electrnico hasta una simple compuerta lgica. La entidad nicamente describe la forma externa del circuito, aqu se enumeran las entradas y las salidas del diseo. Una entidad es anloga a un smbolo esquemtico de los diagramas electrnicos, el cual describe las conexiones del dispositivo hacia el resto del diseo. Lo siguiente muestra un ejemplo de su contenido: 1. Define externamente al circuito o subcircuito. 2. Nombre y nmero de puertos, tipos de datos de entrada y salida. 3. Tienes toda la informacin necesaria para conectar tu circuito a otros circuitos.

Figura 1.1 Ejemplo de Entity

entity F is port (A, B: in bit; Y out bit); end F; Los puertos pueden ser para seales de entrada in, salida out, entradasalida o un buffer; que utilizar el modo in/out. Adems, la entidad puede definir un valor genrico (GENERIC) que se utilizar para declarar las propiedades y constantes del circuito, independientemente de cual sea la arquitectura.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-12-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

entity nombre is generic (cte1: tipo := valor1; cte2: tipo:= valor 2; ); port (entrada1, entrada2, : in tipo; salida1, salida2, : out tipo; puertoi : modo tipo); end nombre;

Arquitectura (Architecture). Los pares de entidades y arquitecturas se utilizan para representar la descripcin completa de un diseo. Una arquitectura describe el funcionamiento de la entidad a la que hace referencia. Si una entidad la asociamos con una caja en la que se enumeran las interfaces de conexin hacia el exterior, entonces la arquitectura representa la estructura interna de esa caja. Sus principales funciones son: 1. Define internamente el circuito. 2. Seales internas, funciones, procedimientos, constantes 3. La descripcin de la arquitectura puede ser estructural comportamiento. Lo siguiente muestra un ejemplo de su contenido: architecture arch_name of entity_name is -- declaraciones de la arquitectura -- tipos -- seales -- componentes begin -- cdigo de descripcin -- instrucciones concurrentes -- ecuaciones booleanes process begin -- cdigo de descripcin end process; end arch_name;

por

Una arquitectura se describe por comportamiento o por estructura. Una entidad puede tener ms de una arquitectura, pero cuando se compile se debe indicar cual es la arquitectura que queremos utilizar.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-13-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

PROCESS: Cuando en VHDL se escribe un process, dentro de l aparece la parte secuencial del circuito. La simulacin no entra en el process hasta que no haya variado alguna de las seales o variables de su lista de sensibilidad independientemente de lo que este contenido dentro del process. Por otro lado nicamente dentro de un process pueden aparecer las sentencias de tipo if y else y nunca puede aparecer una sentencia del tipo wait.

Sentencias de descripcin
WAIT esta instruccin es utilizada en procesos que no tienen lista de sensibilidad: wait on signal_list; wait for time_expression; wait until condition; Eventos sobre las seales (EVENT) nos indican cuando ocurre un cambio en la seal signal'event signal'last_event signal'last_value IF THEN ELSE solo son aplicables dentro de un process if condicin then ... instrucciones secuenciales elsif otra_condicin then ... instrucciones secuenciales else ... instrucciones secuenciales end if; CASE WHEN solo son aplicables dentro de un process case expresin is when alternativa_l => ... instrucciones secuenciales when alternativa_n => ... -- instrucciones secuenciales when others => ... -- instrucciones secuenciales end case;

Universidad Autnoma Metropolitana Unidad Iztapalapa

-14-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

FOR LOOP solo son aplicables dentro de un process for loop_var in range loop ... -- instrucciones secuenciales end loop; WHILE LOOP solo son aplicables dentro de un process while condicin loop ... -- instrucciones secuenciales end loop; WHEN ELSE Signal_name <= valor_1 when condicin1 else valor_2 when condicin2 else ... valor_i when condicini else otro_valor; WITH SELECT WHEN with identificador select Signal_name <= valor_1 when valor_identificador1, valor_2 when valor_identificador2, ... valor_i when valor_identificadori, otro_valor when others;

FPGA.
Un FPGA (Field Programmable Gate Array) es un dispositivo semiconductor que contiene componentes lgicos programables e interconexiones programables entre ellos. Los componentes lgicos programables pueden ser programados para duplicar la funcionalidad de puertas lgicas bsicas tales como AND, OR, XOR, NOT o funciones combinacionales ms complejas tales

Universidad Autnoma Metropolitana Unidad Iztapalapa

-15-

PROYECTO DE INGENIERIA ELECTRNICA

como decodificadores o simples funciones matemticas. En muchos FPGA, estos componentes lgicos programables (o bloques lgicos, segn el lenguaje comnmente usado) tambin incluyen elementos de memoria, los cuales pueden ser simples flip-flops o bloques de memoria ms complejos. Una jerarqua de interconexiones programables permite a los bloques lgicos de un FPGA, ser interconectados segn la necesidad del diseador del sistema, algo parecido a un breadboard programable. Estos bloques lgicos e interconexiones pueden ser programados despus del proceso de manufactura por el usuario/diseador, as que el FPGA puede desempear cualquier funcin lgica necesaria. Las FPGA son generalmente ms lentas que sus contrapartes, los circuitos integrados de aplicaciones especficas (ASIC por sus siglas en ingls), no pueden soportar diseos muy complejos, y consumen ms energa. Sin embargo, ellas tienen muchas ventajas tales como la reduccin del tiempo para la salida al mercado de productos, la habilidad para ser reprogramadas despus de haber salido al mercado a fin de corregir posibles errores, y reduce los costos de ingeniera tales como investigacin, diseo y prueba de un nuevo producto. Los vendedores pueden proporcionar versiones de FPGA, ms baratas y menos flexibles, las cuales no pueden ser modificadas despus de que el diseo haya sido hecho. El desarrollo de estos diseos es hecho en FPGAs regulares y entonces se migra hacia una versin mejorada que es ms parecida a un ASIC. Dispositivos de lgica programable compleja, como los CPLD, son otra alternativa. Dispositivos de propsito general capaz de implementar la lgica digital de decenas o cientos de paquetes de SSI. Configurado por el usuario final para realizar diferentes diseos. En algunos casos la configuracin involucra la utilizacin de una unidad de programacin.

Casa abierta al tiempo

Un breadboard es un dispositivo reutilizable, libre de soldaduras, usado para construir (generalmente de forma temporal) prototipos de circuitos electrnicos y para la experimentacin en el diseo de circuitos.

Arquitectura
La arquitectura bsica consiste en un arreglo de bloques lgicos programables (CLB) y canales de comunicacin. Mltiples conectores de entrada/salida pueden caber en el tamao largo de una fila o el ancho de una columna. Generalmente, todos los canales de comunicacin tienen el mismo

Universidad Autnoma Metropolitana Unidad Iztapalapa

-16-

PROYECTO DE INGENIERIA ELECTRNICA

ancho (nmero de cables). Cualquier circuito de aplicacin puede ser hecho dentro de la FPGA, siempre y cuando esta disponga de los recursos necesarios. Cada CLB contiene: - Un bloque LUT. - Una Lgica Asociada. - Un Dispositivo de Almacenamiento.

Casa abierta al tiempo

Figura 2.1 Bloque Lgico Programable.

Un bloque lgico tpico de FPGA consiste en 4 entradas a una tabla de funciones lgicas (LookUp Table), y un flip-flop como se muestra en la siguiente grafica.

Figura 2.2 Bloque Lgico

Hay solamente una salida, la cual puede ser ambas, la salida registrada o no registrada por el flip-flop, proveniente de la salida de la tabla de funciones lgicas. El bloque lgico tiene entonces 4 entradas para la tabla y una entrada de reloj para el flip-flop.

Las seales de reloj y otras ms, son manejadas por separado en FPGAs comerciales. Para esta arquitectura, la localizacin de los pines de los bloques lgicos de la FPGA son mostrados a continuacin:

Universidad Autnoma Metropolitana Unidad Iztapalapa

-17-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Figura 2.3 Localizacin de los pines en el Bloque Lgico

Cada entrada es accesible desde un lado del bloque lgico, mientras que el pin de salida puede conectarse a cables de comunicacin en ambos canales, el de la derecha y el canal debajo del bloque lgico. Cada pin de salida del bloque lgico puede conectarse a cualquier segmento de cable en el canal de comunicacin adyacente a l. Similarmente, un conector de Entrada/Salida puede conectarse a cualquier segmento de cable en el canal de comunicacin adyacente a l. Generalmente, cada segmento de conexin atraviesa solamente por un bloque lgico, antes de que este termine en una de las cajas de interruptores. Mediante la seleccin de conexiones a travs de los interruptores programables que estn dentro de las cajas de conexiones, se pueden hacer lneas de conexin ms largas. Para interconexiones ms rpidas, algunas arquitecturas de FPGA usan lneas de conexiones ms largas que atraviesan mltiples bloques lgicos. En cada punto donde se intersecan, un canal de conexin vertical y un canal horizontal, hay una caja de interruptores que permite conectar una lnea, a otras tres posibles lneas adyacentes dentro del segmento del canal. Una lnea solo puede conectarse con otra de las tres posibles anteriormente mencionadas, no puede conectarse directamente con lneas de otras intersecciones.

Programacin
La tarea del programador es definir la funcin lgica que realizar cada uno de los CLB, seleccionar el modo de trabajo de cada IOB (Bloques de Entrada/Salida). E interconectarlos todos. El diseador cuenta con la ayuda de herramientas de programacin. Cada fabricante suele tener las suyas, aunque usan unos lenguajes de programacin comunes. Estos lenguajes son los HDL o Hardware Description Language (lenguajes de descripcin de hardware): VHDL Verilog ABEL

Simulacin
En esta seccin se mostrar paso a paso cmo especificar y simular un diseo lgico con VHDL utilizando las herramientas comerciales, VeriBest, FPGAExpress y Project Navigator (ISE) de Xilinx para finalmente utilizar los dispositivos programables y constatar su funcionamiento. Como ejemplo se va a implementar en VHDL una funcin lgica sencilla de dos entradas y una salida que responde a la siguiente tabla de verdad:

Universidad Autnoma Metropolitana Unidad Iztapalapa

-18-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

A B S 0 0 0 0 1 0 1 0 0 1 1 1 Tabla 2.4 Funcin lgica problema

Flujo de diseo
Es necesario adoptar una metodologa de diseo por eso la Figura 2.5 muestra el mas apto para poder iniciar la implementacin de nuestros diseos. El uso de este flujo de diseo es independiente del tipo de paquetera de software utilizada.

Figura 2.5 Flujo de diseo

MICROCONTROLADORES PICs.
Qu es un microcontrolador? El microcontrolador es microprocesador dedicado. En su memoria solo reside un programa destinado a gobernar una aplicacin determinada; sus lneas de E/S soportan las conexiones de los sensores y actuadores del dispositivo a controlar y todos los recursos complementarios disponibles tienen como nica finalidad atender sus requerimientos. Una vez programado y configurado el microcontrolador solo sirve para asignar la tarea signada. Los microcontroladores estn conquistando el mundo. Estn presentes en nuestro trabajo, en nuestra casa y en nuestra vida, en general. Se pueden encontrar controlando el funcionamiento de los ratones y teclados de los

Universidad Autnoma Metropolitana Unidad Iztapalapa

-19-

PROYECTO DE INGENIERIA ELECTRNICA

computadores, en los telfonos, en los hornos microondas y los televisores de nuestro hogar. Pero la invasin acaba de comenzar y el nacimiento del siglo XXI ser testigo de la conquista masiva de estos diminutos computadores, que gobernarn la mayor parte de los aparatos que fabricaremos y usamos los humanos. Para transferir el cdigo de una PC al PIC normalmente se usa un dispositivo llamado programador. La mayora de PICs que se distribuyen hoy en da incorporan ICSP (In Circuit Serial Programming, programacin serie incorporada) o LVP (Low Voltage Programming, programacin a bajo voltaje), lo que permite programar el PIC directamente en el circuito destino. Existen muchos programadores de PICs, desde los ms simples que dejan al software los detalles de comunicaciones, a los ms complejos, que pueden verificar el dispositivo a diversas tensiones de alimentacin e implementan en hardware casi todas las funcionalidades. Muchos de estos programadores complejos incluyen ellos mismos PICs preprogramados como interfaz para enviar las rdenes al PIC que se desea programar.. El software de programacin actualmente es amplio, puede ser desde Icprog hasta software libre, muy comunes entre la gente que utiliza este tipo de microcontroladores. Se pueden obtener directamente de Internet muchos programadores y/o depuradores adems de una amplia informacin El PIC16F84 es un microcontrolador de la familia PIC, fabricada por la empresa Microchip. En este trabajo se eligi una familia de microcontroladores: los PIC de Microchip Technology Inc. Las razones que nos motivaron a estudiar este tipo de microcontroladores son sencillos, modernos, rpidos, baratos, se pueden escribir y borrarlos muchas veces, disponen de una excelente documentacin. Microchip dispone de cuatro familias de microcontroladores de 8 bits para adaptarse a las necesidades. *Gama enana: PIC12C(F)XXX de 8 pins. Su principal caracterstica es su tamao, al disponer todos sus componentes de 8 pines, el formato de sus instrucciones puede ser de 12 o de 14 bits y su repertorio es de 33 o 35 instrucciones. *Gama bsica: PIC16C5X con instrucciones de 12 bits. Se trata de una serie de PIC de recursos limitados, pero con una de las mejores relaciones costo/prestaciones. Sus versiones estn encapsuladas con 18 y 28 pines. Tienen un repertorio de 33 instrucciones cuyo formato consta de 12 bits. *Gama media: PIC16CXXX con instrucciones de 14 bits. Es la gama mas variada y completa de los PIC. Abarca modelos con encapsulado desde 18 pines hasta 68, el repertorio de instrucciones es de 35 de 14 bits, Tambin disponen de interrupciones y una pila de 8 niveles que permite el anidamiento de subrutinas.

Casa abierta al tiempo

Universidad Autnoma Metropolitana Unidad Iztapalapa

-20-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

*Gama alta: PIC17CXXX con instrucciones de 16 bits. Se alcanzan las 58 instrucciones de 16 bits en el repertorio y sus modelos disponen de un sistema de gestin de interrupciones vectorizadas muy potente. Tambin incluyen variados controladores de perifricos, puertas de comunicacin serie y paralelo con elementos externos y un multiplicador hardware de gran velocidad. Dentro de estas familias seleccionamos un modelo concreto: El PIC16F84A, este PIC pertenece a la familia de la gama media y dentro de ella es uno de lo ms pequeos; solo tiene 18 pines. Adems es el que dispone de menos recursos, el resto de sus parientes tiene convertidores AD y DA, comparadores analgicos tensin interna de referencia, mas lneas de E/S, mas capacidad de memorias, varios temporizadores y un largo etctera de dispositivos de los PIC. Todos los modelos de microcontroladores responden a la arquitectura RISC, que significa Computador de Juego de Instrucciones Reducido. No slo implica que el numero de instrucciones mquina que es capaz de interpretar y ejecutar el procesador es pequeo, como sucede en los PIC16X8X, que constan de 35, sino tambin que posee caractersticas como: Instrucciones simples y rpidas, instrucciones que pueden usar cualquier operando y finalmente la longitud de las instrucciones y los datos es constante.

Estructura
Se trata de un microcontrolador de 8 bits y 18 pines, que a dems consta internamente de: Memoria Flash de programa (1K x 14). Memoria EEPROM de datos (64 x 8). Memoria RAM (67 registros x 8). Un temporizador/contador (timer de 8 bits). Un divisor de frecuencia. Varios puertos de entrada-salida (13 pines en dos puertos, 5 pines el puerto A y 8 pines el puerto B). Otras caractersticas son: Manejo de interrupciones (de 4 fuentes). Perro guardin (watchdog). Bajo consumo. Frecuencia de reloj externa mxima 10MHz. (Hasta 20MHz en nuevas versiones). La frecuencia de reloj interna es un cuarto de la externa, lo que significa que con un reloj de 20Mhz, el reloj interno sera de 5Mhz y as pues se ejecutan 5 Millones de Instrucciones por Segundo (5 MIPS) No posee convertidores analgico-digitales ni digital-analgicos. Pipe-line de 2 etapas, 1 para bsqueda de instruccin y otra para la ejecucin de la instruccin (los saltos ocupan un ciclo ms).

Universidad Autnoma Metropolitana Unidad Iztapalapa

-21-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Repertorio de instrucciones reducido (RISC), con tan solo 30 instrucciones distintas. 4 tipos distintos de instrucciones, orientadas a byte, orientadas a bit, operacin entre registros, de salto.

Diagrama de Conexiones.
Se describe brevemente la funcin de cada pin. VDD: Pin por la que se aplica la tensin positiva de la alimentacin VSS: Pin conectada a tierra o negativo de alimentacin OSC1/CLKIN: Pin por la que se aplica la entrada del circuito oscilador externo que proporciona la frecuencia de trabajo del microcontrolador. OSC2/CLKOUT: Pin auxiliar del circuito oscilador. MCLR: Este pin se activa con nivel lgico bajo, su activacin origina la reinicializacin o Reset del PIC. RA0-RA4: Son las 5 lneas de E/S digitales correspondientes a la puerta A, La lnea RA4 multiplexa otra funcin expresada por TOCK1.En este segundo caso sirve para recibir una frecuencia externa para alimentar al temporizador TMRO. RB0-RB7: Estos 8 pins corresponden a 8 lneas E/S digitales de la puerta B. La lnea RB0 multiplexa otra funcin, que es la de servir como entrada a una peticin externa de una interrupcin, por eso se le denomina RBO/INT.

Figura 2.6 Diagrama del circuito integrado

Los PIC16F84A tiene, un encapsulado de 18 pins, dos de ellas soportan la tensin de alimentacin, otras dos reciben la seal del oscilador externo y otra se utiliza para generar un Reset. Los 13 pines restantes funcionan como lneas de E/S para controlar las aplicaciones. Dentro de la estructura del microcontrolador debido a la necesidad de conseguir elevados rendimientos en el procesamiento de las instrucciones ha desembocado en el empleo generalizado de procesadores de arquitectura Harvard frente a las tradicionales que seguan la arquitectura Von Neuman. En la arquitectura Harvard son independientes la memoria de instrucciones y la

Universidad Autnoma Metropolitana Unidad Iztapalapa

-22-

PROYECTO DE INGENIERIA ELECTRNICA

memoria de datos y cada una dispone de su propio sistema de buses para su acceso.

Casa abierta al tiempo

Memoria de Programa.
Tienen implementada 1 K palabras de 14 bits cada una, ocupando las direcciones comprendidas entre 0x0000 y la 0x03FF, El vector Reset est en el 0x0000 y el vector de la interrupcin es 0x0004. (Figura 2.7)

Figura 2.7 Memoria de Programa

Memoria de Datos RAM.


Consta de 2 bancos de 128 cada uno. El PIC16F84A, en las primeras 12 direcciones de cada banco se encuentran los registros de propsito especfico (SFR) y las 68 siguientes son registro de propsito general (GPR). (Figura 2.8)

Universidad Autnoma Metropolitana Unidad Iztapalapa

-23-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Figura 2.8 Memoria RAM Los registros de propsito especfico (SFR) son:

Figura 2.9 Registros (SFR)

Universidad Autnoma Metropolitana Unidad Iztapalapa

-24-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Especificaciones de los registros SFR de los bancos de la memoria de datos RAM. La abreviatura x significa desconocido; u: no cambia; -: no implementado, se lee como 0, y q: valor depende de la condicin.

Juego de Instrucciones.

Figura 2.10 Instrucciones del PIC16F84A

El juego de instrucciones ofrece un conjunto de 35 ellas que tiene el PIC16F84A de la gama media de Microchip Tecnology Inc. Un registro muy importante en la familia de los PIC es el registro W que es el encargado de realizar las operaciones lgicas o aritmticas que requiere la ejecucin del programa con dos operndoos, uno que proviene del registro W y el otro que se encuentra en cualquier otro registro o en el propio cdigos de instrucciones.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-25-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Usos
En los ltimos aos se ha popularizado el uso de este microcontrolador debido a su bajo coste y tamao. Se ha usado en numerosas aplicaciones, que van desde los automviles a decodificadores de televisin. Puede ser programado tanto en lenguaje ensamblador como en Basic y principalmente en C, para el que existen numerosos compiladores Programa de ejemplo A continuacin hay un pequeo programa en ensamblador (MPASM) que pone a 0 las posiciones de memoria 20 y 21 (en hexadecimal) usando un direccionamiento indirecto: MOVLW 20h MOVWF FSR CLRF INDF INCF FSR CLRF INDF

MOVLW k: (Move Literal to W) Es una instruccin que carga en el registro de trabajo W, un literal (constante) k, que en este caso es 20h. MOVWF f: (Move W to File), Copia el contenido del registro W a la posicin de memoria f. En este caso, FSR representa una direccin de memoria. FSR es el registro usado para direccionamiento indirecto. En FSR se carga la direccin de memoria que se va a direccionar con INDF (otro registro). CLRF f: (Clear File), Pone en 0 el registro en la posicin de memoria f. INCF f: (Increment File), Incrementa en uno el valor almacenado en la posicin de memoria f. Entrando a lo que es la programacin de nuestro PIC, utilizamos un lenguaje ensamblador que se encarga de la programacin de los microcontroladores en este caso es ASM. Un programa para compilar el archivo, es el MPLAB IDE de microchip y por ultimo para grabar el PIC tenemos el ICPROG.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-26-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

CAPITULO 3 DESARROLLO DEL PROYECTO

Universidad Autnoma Metropolitana Unidad Iztapalapa

-27-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

LOGICA DE CONMUTACIN I y II.

En esta seccin se encuadra dentro de las asignaturas o Unidad de Enseanza-Aprendizaje (UEA) como son Lgica de Conmutacin I y II del segundo nivel, en el Tronco Bsico Profesional de la licenciatura, que tiene como objetivo: proporcionar al alumno los conocimientos y la formacin tericaexperimental propios de la Ingeniera Electrnica en particular. Lgica de Conmutacin I Tiene carcter trimestral y se imparte durante el sptimo trimestre. De un total de 12 crditos disponibles, 4.5 horas son de teora y la docencia de laboratorio se ha distribuido de tal forma que los alumnos realizan una prctica de tres horas cada semana. Esta asignatura debe sentar las bases de los siguientes cursos de Sistemas Digitales I y II. Los objetivos que se plantean al finalizar esta UEA son los siguientes: El alumno: -Manejar los fundamentos del diseo electrnico digital, desde un enfoque evolutivo, estructurado y algortmico. -Conocer las diferentes lgebras para la descripcin de problemas lgicos, as como las tcnicas asociadas con su aplicacin prctica. -Podr describir formalmente y sintetizar soluciones para problemas combinatorios y problemas secuenciales simples. -Ser capaz de describir y aplicar el proceso de diseo descendente para los sistemas digitales y conocer los mtodos para la depuracin de los mismos. -Conocer las caractersticas y el uso de los diferentes tipos de dispositivos digitales disponibles, desde los elementos clsicos hasta la lgica programable moderna. Con estos objetivos la UAM ha definido el contenido sinttico del curso para la UEA en ocho unidades con su respectiva duracin en el trimestre: -Unidad I Teora de conmutacin, lgica y sistemas binarios . 1 Semana. -Unidad II lgebra de Boole. 1 semana. -Unidad III Algebra de Red-Mller . 1 semana. -Unidad IV Tcnicas de simplificacin de funciones conmutadas. 2 semanas. -Unidad V Elementos de Lgica Combinatoria. 1 semana. -Unidad VI Elementos de Lgica Secuencial. 2 semanas. -Unidad VII Implantacin de operaciones aritmticas fundamentales. 1 semana. -Unidad VIII Sistemas Secuenciales Simple (SSS)". 2 semanas.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-28-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Como sabemos la modalidad trimestral conlleva a la escasez en el tiempo para profundizar en cada uno de los temas, debido a la atencin que el alumno pone a otras UEAs, exmenes de evaluacin, practicas de laboratorio, entre otras causas. Con este reporte terminal el alumno podr utilizar las herramientas CAD(diseo asistido por computadora, por sus siglas en ingls), usar dispositivos programables, es decir, una mejor comprensin de las tecnologas y herramientas de diseo digital, dando como resultado mejorar en su propia modalidad de conduccin en el laboratorio con una mejor discusin y solucin de problemas prcticos en los grupos de trabajo. En por eso que se han construido varias prcticas que van aumentando su complejidad de manera progresiva, las puede encontrar en el CD adjunto a este reporte. En todas ellas, y para incentivar que los alumnos conozcan el tema antes de asistir al laboratorio, se recomienda que realicen un estudio terico antes de entrar en el laboratorio, o solamente asegurarse de haber comprendido correctamente la informacin terica adquirida en clase. Adems del estudio terico, cada prctica consta de un estudio previo y un estudio prctico. El estudio previo es una documentacin que se le proporciona al alumno para poder realizar la prctica. Pueden ser conceptos no tratados en clase o bien otros que a pesar de haberse tratado en la teora se ha visto conveniente recordarlos o bien conocerlos por primera vez. En el desarrollo terico se les pide que diseen un circuito o que calculen tericamente parte de la solucin de la prctica en cuestin. Como se ha dicho antes, el objetivo es incentivar el trabajo previo del alumno y que, de esa forma, aproveche el tiempo en el laboratorio. Por tanto, no es tan importante la correccin de los resultados de este desarrollo, como su comprobacin es durante la sesin prctica; en caso de error los pueden corregir y entregar como parte del estudio prctico. El estudio prctico consiste en montar los circuitos diseados en el apartado anterior y comprobarlos experimentalmente. Con esto se muestra un panorama general de lo que actualmente utilizan la mayora de los profesores que imparten en estos tipos de asignaturas. Lgica de Conmutacin II Tambin es de carcter trimestral y se imparte durante el octavo trimestre. Tambin de un total de 12 crditos disponibles, 4.5 horas son de teora y la docencia de laboratorio se ha distribuido de tal forma que los alumnos realizan una prctica de tres horas cada semana. Esta asignatura, al igual que Lgica de Conmutacin I, debe sentar las bases de los siguientes cursos de Sistemas Digitales I y II. Los objetivos que se plantean al finalizar esta UEA son los siguientes:

Universidad Autnoma Metropolitana Unidad Iztapalapa

-29-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

El alumno: -Conocer los fundamentos del diseo de sistemas digitales secuenciales complejos, mediante un enfoque algortmico -Podr elegir, para la solucin de problemas secuenciales, entre las alternativas de diseo cableado o micro-programado de secuenciadores, resaltando sus ventajas y deficiencias. -Contar con las bases para una mejor comprensin de tpicos de arquitectura de computadoras -Consolidar sus conocimientos de diseo digital tanto a circuitos combinacionales como secuenciales

Con estos objetivos la UAM ha definido el contenido sinttico del curso para la UEA en cuatro unidades con su respectiva duracin en el trimestre adems de tpicos suplementarios:

-Unidad I. MQUINAS DE ESTADO ALGORITMICAS (ASM). 1 semana. -Unidad II. SINTESIS DE DISEOS BASADOS EN ASM. 2 semanas. -Unidad III. SECUENCIADOR CABLEADO (SC). 3 semanas. -Unidad IV. SECUENCIADOR MICROPROGRAMADO (SMP). 3 semanas. Es necesario saber que Lgica de Conmutacin II es impartida en algunos casos por el mismo profesor con el cual los alumnos cursaron Lgica de Conmutacin I, esto debido a que es necesario conservar la continuidad en la metodologa de enseanza y uso de las herramientas de diseo vistas anteriormente. Esta medida es tomada por la coordinacin de la carrera de Ingeniera Electrnica dentro de la Unidad Iztapalapa. Otro aspecto de importancia en este punto es precisamente evitar la segmentacin de conocimientos problemtica en el uso del Hardware y Software, por lo que este reporte puede colaborar en esta situacin que se presenta, ya que en el siguiente captulo, como tambin en el CD, el alumno y/o el profesor podr encontrar ejercicios relacionados con el contenido de cada una de esta UEAs y algunos problemas propuestos relacionados con practicas de laboratorio. Si su intencin es el de ponerlos en practica, este reporte les facilita la tarea a travs de sus apndices.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-30-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Metodologa utilizada para la enseanza.


La metodologa propuesta en este reporte se puede resumir en los siguientes pasos:

1.- Tipo de problema. Dependiendo de que tipo de aplicacin podemos o queremos implementar, se puede dirigir a los ejemplos propuesto para algunas de las unidades de las UEAs o tambin a las prcticas de laboratorio propuestas.

2.- Tipo de Software a usar. Una vez decido la implementacin, se podr tener acceso a los archivos fuentes que se encuentran en el DEMO o CD, y decidir el software acorde a su aplicacin. Esto lo encontrara en los apndices anexos a este reporte de proyecto terminal.

3.- Auto-aprendizaje. Aunque a veces de lo que carecemos los alumnos y profesores es de tiempo, es necesario disponer del necesario para ejecutar cierta implementacin una vez seleccionada y ver los resultados. Como se les otorga los archivos fuentes y adems de una manera rpida de simularlos con el software, se procuro que el alumno y/o el profesor pueda ejecutar al mismo tiempo todo estos pasos y no, como tradicionalmente se realiza, con un estudio terico, aplicacin a implementar, tipo de tecnologa a utilizar, aprendizaje de las herramientas, y una vez teniendo comprendido lo anterior, la simulacin, correccin de errores y entrega de resultados.

Es importante mostrar que el propsito en el anlisis del contenido sintctico de las UEAs de Lgica de Conmutacin I y II, no es de criticar o restarle importancia al mismo, sino todo lo contrario; es el de ampliar aun ms uno de los tipos de sesiones dentro de la modalidad de conduccin de la asignatura, el cual de acuerdo a la UAM, se le ha denominado: Laboratorio de simulacin y sntesis de sistemas digitales basado en herramientas CAD y dispositivos programables.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-31-

PROYECTO DE INGENIERIA ELECTRNICA

Conjunto de ejemplos ya disponibles para lo siguiente:


UNIDAD I. TEORIA DE CONMUTACION, LOGICA Y SISTEMAS BINARIOS. Para mayor informacin a los temas contenidos en esta unidad, se puede consultar la pgina web de la licenciatura. Se recomienda que el lector consulte el libro de Electrnica Digital de Santiago Acha de la editorial Alfaomega de la bibliografa, para que conozca ms informacin sobre los temas. UNIDAD II. ALGEBRA DE BOOLE. Para ver los ejemplos relacionados con esta unidad, abrir la carpeta de esta unidad dentro de la carpeta de Lgica de Conmutacin I y II del disco adjunto. UNIDAD III. ALGEBRA DE REED-MLLER. La informacin para esta unidad es muy limitada. Para ms informacin dirigirse con el Asesor de este proyecto terminal. UNIDAD IV. TECNICAS DE SIMPLIFICACION DE FUNCIONES CONMUTADAS. Para ver los ejemplos relacionados con esta unidad, abrir la carpeta de esta unidad dentro de la carpeta de Lgica de Conmutacin I y II del disco adjunto. UNIDAD V. ELEMENTOS DE LOGICA COMBINATORIA. Para ver los ejemplos relacionados con esta unidad, abrir la carpeta de esta unidad dentro de la carpeta de Lgica de Conmutacin I y II del disco adjunto. UNIDAD VI. ELEMENTOS DE LOGICA SECUENCIAL. Para ver los ejemplos relacionados con esta unidad, abrir la carpeta de esta unidad dentro de la carpeta de Lgica de Conmutacin I y II del disco adjunto. UNIDAD VII. IMPLANTACION DE OPERACIONES ARITMETICAS FUNDAMENTALES. Para ver los ejemplos relacionados con esta unidad, abrir la carpeta de esta unidad dentro de la carpeta de Lgica de Conmutacin I y II del disco adjunto. UNIDAD VIII. SISTEMAS SECUENCIALES SIMPLES (SSS) Para ver los ejemplos relacionados con esta unidad, abrir la carpeta de esta unidad dentro de la carpeta de Lgica de Conmutacin I y II del disco adjunto. LGICA DE CONMUTACIN 2. Esta carpeta tambin la encontrara en el disco. En ella podr encontrar ejemplos relacionados ya con el diseo de sistemas digitales, se adjunta una carpeta de ejemplos previos al estudio de los sistemas, se recomienda que el alumno y/o el profesor revisen previamente los temas que estn destinados al estudio de esta UEA y as poder relacionar correctamente las aplicaciones.

Casa abierta al tiempo

Universidad Autnoma Metropolitana Unidad Iztapalapa

-32-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

SISTEMAS DIGITALES

Presentacin
Vivimos en la era digital donde todo el mundo digital esta compuestos por 1s y 0s, donde la informtica y la electrnica, que constituye una de las bases de la tecnologas de Informacin; y el diseo de sistemas digitales cumplen el papel importante para comprender la lgica digital de los sistema, as como el almacenamiento de la informacin a travs de diferentes dispositivos almacenamiento y adems es el puente entre la electrnica y la arquitectura de computadoras. El estudio de los sistemas digitales nos ayuda a comprender la forma en como trabajan, as como el uso de dispositivos programables para su aplicacin en procesos prcticos. En la actualidad los Sistemas Digitales son de gran importancia en las reas de ingeniera y ciencias, dentro de sus aplicaciones se encuentran varios campos como la medicina, la aeronutica, las telecomunicaciones, la geofsica, la astronoma y otras. Dentro de los Sistemas Digitales, existe una parte importante para el mejor funcionamiento estos sistemas, que son los dispositivos o perifricos de entrada y/o salida, dentro de este tema abordaremos dos de los mas importantes dispositivos que son los teclados, para introducir informacin al sistema digital y pantallas para mostrar informacin de l, estos dispositivos son fundamentales para la UEA de Sistemas Digitales ya que son tiles para los tres cursos de la misma que marca el plan de estudios de la Lic. en Ingeniera Electrnica.

Teclado
Introduccin, instalacin y manejo de teclado Un perifrico muy habitual para introducir informacin al sistema por parte del usuario es el teclado. Nos referimos al un teclado matricial de 16 teclas, que estn distribuidas en cuatro filas y cuatro columnas (Figura 3.1). Las ocho terminales del teclado, cuatro filas y cuatro columnas, se conectaran a las ocho lneas de E/S de la puertaB del PIC. Cuando se pulsa una tecla, queda en contacto una fila con una columna. Si ninguna tecla esta presionada, las filas estn desconectadas de las columnas. Para explorar el teclado y averiguar en cada momento cual es la tecla que se halla pulsada, se sigue el siguiente mtodo. Se va a trabajar con el nivel lgico alto actuando como nivel inactivo, siendo el nivel bajo al que consideramos activo. Por los terminales de las filas del teclado se introducen cuatro niveles lgicos, uno activo (bajo) y los otros tres inactivos (altos). Si existe alguna tecla pulsada en la fila por la que se ha

Universidad Autnoma Metropolitana Unidad Iztapalapa

-33-

PROYECTO DE INGENIERIA ELECTRNICA

introducido el nivel bajo, dicho nivel saldr por la columna correspondiente con la que haga contacto. En consecuencia, leyendo los estados lgicos de los terminales de las columnas (RB0-RB3) averiguamos si hay alguna tecla pulsada en la fila por la que se ha introducido el nivel bajo, puesto que si no hay ninguna en todas las columnas se leer nivel alto inactivo. Procedimiento secuencial a introducir el nivel bajo por cada una de las cuatro filas y a leer los niveles de salida en las columnas, se podr determinar la tecla pulsada en cada momento.

Casa abierta al tiempo

Figura 3.1 Teclado

Figura 3.1 Al introducir a las filas el cdigo 1110 por las lneas de salida de la puertaB (RB7-RB4), se obtiene en las filas conectadas a las lneas de entrada de PB (RB3-RB0) el cdigo 0111 si la tecla F esta presionada. Por ejemplo, si por las lneas RB7-RB4 se aplica a las filas los niveles lgicos 1110, el nivel bajo quedara soportado por la primera fila, la unida a la lnea RB4. Si en esta situacin se halla pulsada la tecla F, al leer los estados de las columnas presentes sobre las lneas RB3-RB0, por la lnea RB3 saldr el nivel bajo, mientras que por las restantes habr nivel alto. Se habr obtenido en las columnas el cdigo 0111(RB3-RB0). En resumen se ha introducido el cdigo 1110 a las filas por las lneas RB7-RB4 y en las lneas RB3-RB4 y en las lneas RB3-RB0 se lee el cdigo 0111 que se corresponde con tecla F. El programa de exploracin del teclado ira introduciendo por las cuatro lneas de ms peso de PB los cuatro cdigos correspondientes a la introduccin del nivel bajo en cada caso por una de ellas, o sea, los cdigos 0111, 1011, 1101, 1110. Al introducir cada uno de estos cdigos se explora el nivel en las columnas conectadas a las lneas de menos peso PB. Cuando sale un nivel bajo, se averigua la tecla presionada por la interseccin de dicha fila con dicha concreto que representa esa posibilidad. En la Figura 3.2 se muestra la tabla correspondiente a la pulsacin de cada una de las 16 teclas y cdigo hexadecimal que existe con los niveles lgicos que se introducen por las filas y los que se obtienen en las columnas.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-34-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Figura 3.2 Tabla de conversin

La Tabla de la Figura 3.2 muestra los cdigos binarios y hexadecimales que se obtienen con el pulsado de cada una de las 16 teclas del teclado matricial. Cuando no hay ninguna tecla pulsada en la fila aparecen cuatro niveles altos en las cuatro columnas, por estar desconectadas al aire y corresponderlas estado de alta impedancia, que en lgica TTL es equivalente al nivel alto. Para asegurar dicho nivel alto, las lneas de las PUERTAB pueden conectarse al positivo de la alimentacin mediante unas resistencias de pull-up internas.

Figura 3.3 Conexin del teclado con las lneas de la PUERTAB del PIC16F84.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-35-

PROYECTO DE INGENIERIA ELECTRNICA

Para el manejo del teclado se utilizan las libreras P16F84A.INC y TECLADO.ASM. Se recomienda usar la primera en la cabecera de cualquier programa con un PIC de la gama media. En ella se definen todos los registros internos fundamentales que se manejan en el cdigo que resuelve las aplicaciones. TECLADO.ASM ; Conjunto de rutinas para el manejo del teclado. No es un programa en s mismo. Para utilizarlo hay que colocar en el programa principal: KEY_VAR; EQUdir_inicio_del_bloque ;BLOQUE DE ETIQUETAS CBLOCK KEY_VAR ; Inicio de las variables TECLA ; Retorno del cdigo de tecla KEY_1 ; N de filas a explorar KEY_2 ; Temporal de cdigo KEY_DELAY_1 ; Variable de temporizador KEY_DELAY_2 ; Variable de temporizador ENDC ;RUTINA KEY_SCAN: Rutina de exploracin del teclado. La variable Tecla" retorna; con el cdigo de la tecla pulsada o el cdigo 0x80 si no se pulsa ninguna. KEY_SCAN bsf STATUS,RP0 ;Selecciona pagina 1 movlw b'00001111' movwf PORTB ;RB7-RB4 salidas, RB3-RB0 entradas bsf OPTION_REG,NOT_RBPU ;Activa cargas pull-up bcf STATUS,RP0 ;Selecciona pagina 0 movlw 4 movwf KEY_1 ;N de columnas a explorar movlw b'01111111' movwf TECLA ;Columna a activar KEY_SCAN_1 movf TECLA,W movwf PORTB ;Activa fila nop movf PORTB,W movwf KEY_2 subwf TECLA,W ;Lee las columnas btfss STATUS,Z ;Hay alguna pulsada ? goto KEY_SCAN_2 ;Si hay alguna pulsada bsf STATUS,C ;No hay ninguna en esa fila rrf TECLA,F ;Selecciona siguiente fila decfsz KEY_1,F ;Salta si se han terminado las filas

Casa abierta al tiempo

Universidad Autnoma Metropolitana Unidad Iztapalapa

-36-

PROYECTO DE INGENIERIA ELECTRNICA

goto KEY_SCAN_1 movlw 0x80 goto VOLVER ;Retorna cdigo 0x80 (no hay pulsacin) KEY_SCAN_2 movlw .100 ;Bucle de temporizador de unos 20 ms movwfKEY_DELAY_1 ;para evitar el rebote de los pulsadores KEY_SCAN_3 clrf KEY_DELAY_2 clrwdt KEY_SCAN_4 decfsz KEY_DELAY_2,F goto KEY_SCAN_4 decfsz KEY_DELAY_1,F goto KEY_SCAN_3 movf TECLA,W ;Tras la temporizador se lee nuevamente movwf PORTB ;si la tecla es la misma. As se nop ;evitan los rebotes. movf PORTB,W subwf KEY_2,W btfss STATUS,Z ;Es la misma ?? goto KEY_SCAN_1 ;No, seguir con la exploracin movf KEY_2,W ;Si, guardar en variable de salida TECLA el valor VOLVER movwf TECLA return ;Fin de exploracin ;RUTINA KEY_HEX: Convierte el cdigo de tecla que haya en la variable "Tecla" a ;Hex. (0-F). El resultado se devuelve en la variable "Tecla". Usa como rutina auxiliar; Key_tabla KEY_TABLA movf KEY_1,W addwf PCL,F ;Calcula desplazamiento retlw 0x7D ;0 retlw 0xEE ;1 retlw 0xED ;2 retlw 0xEB ;3 retlw 0xDE ;4 retlw 0xDD ;5 retlw 0xDB ;6 retlw 0xBE ;7 retlw 0xBD ;8 retlw 0xBB ;9

Casa abierta al tiempo

Universidad Autnoma Metropolitana Unidad Iztapalapa

-37-

PROYECTO DE INGENIERIA ELECTRNICA

retlw 0x7E ;A retlw 0x7B ;B retlw 0x77 ;C etlw 0xB7 ;D retlw 0xD7 ;E retlw 0xE7 ;F KEY_HEX movf TECLA,W movwf KEY_2 ;Almacena el cdigo temporalmente clrf KEY_1 ;Contador HEX. a 0 KEY_HEX_2 call KEY_TABLA ;Busca cdigo en la tabla subwf KEY_2,W ;Compara con el de la tecla btfsc STATUS,Z ;Coincide ? goto KEY_HEX_1 ;Si incf KEY_1,F ;No, incrementa contador HEX. goto KEY_HEX_2 KEY_HEX_1 movf KEY_1,W movwf TECLA ;Carga contador HEX. en la variable de salida return ;RUTINA HEX_7SEG: Rutina de conversin de HEX. (0-F) a 7 segmentos. El acumulador W contiene, durante la llamada, el cdigo HEX. Y, al retornar, el correspondiente a 7 segmentos HEX_7SEG andlw b'00001111' addwf PCL,F ;Desplazamiento sobre la tabla retlw b'00111111' ;0 retlw b'00000110' ;1 retlw b'01011011' ;2 retlw b'01001111' ;3 retlw b'01100110' ;4 retlw b'01101101' ;5 retlw b'01111101' ;6 retlw b'00000111' ;7 retlw b'01111111' ;8 retlw b'01100111' ;9 retlw b'01110111' ;A retlw b'01111100' ;B retlw b'00111001' ;C retlw b'01011110' ;D

Casa abierta al tiempo

Universidad Autnoma Metropolitana Unidad Iztapalapa

-38-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

retlw retlw

b'01111001' ;E b'01110001' ;F

Una vez vista las rutinas que se usan con el teclado y su funcionamiento bsico, un problema ilustrativo es el siguiente. Es un programa que genera un pitido por medio de un zumbador, auxiliado por un oscilador conectado a RA3, cuya duracin depender del valor de la tecla pulsada. La tecla 0 produce un pitido de una duracin determinada, dicha duracin se incrementa con el valor de cada tecla hasta llagar a F, cuyo pitido es el de duracin mayor, dentro del programa se utilizan las libreras TECLADO.ASM Y P16F84A.INC

Esquema Elctrico:

Figura 3.4 Diagrama elctrico del teclado.

Dentro de esta aplicacin, la Figura 3.3 muestra el esquema elctrico de conexiones utilizado para el solo uso del teclado que junto con nuevos dispositivos como el buzzer, como el mostrado en la Figura 3.4, podr observarse finalmente la aplicacin de un teclado musical. La Figura 3.5 muestra el diagrama de flujo utilizado, es decir, el orden y cada uno de los aspectos cubiertos en el diseo del cdigo en ensamblador.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-39-

PROYECTO DE INGENIERIA ELECTRNICA

Diagrama de Flujo:

Casa abierta al tiempo

Figura 3.5 Funcionamiento del teclado

El programa de comentado ;"TECLADO MUSICAL";Se desea realizar un programa que genere un pitido por el zumbador conectado a RA3; cuya duracin dependa del valor de la tecla pulsada, siendo la "0" la tecla de pitido m s ;corto, y la F" la de pitido m s largo. ;DIRECTIVAS DEL PROGRAMA LIST P=16F84a ; Se emplea el PIC 16F84a RADIX HEX ; Sistema de numeracin hexadecimal __config _XT_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF ; Configuracin de fusibles ;ETIQUETAS DEL PROGRAMA #INCLUDE <P16F84A.INC> ; Etiquetas genricas para los PIC 16f84a TEMP_1 EQU 0x0C TEMP_2 EQU 0x0D DELAY_1 EQU 0x0E DELAY_2 EQU 0x0F DELAY_3 EQU 0x10 KEY_VAR EQU 0x11 ;PROGRAMA PRINCIPAL ORG 0 ; El programa comienza en la direccin 0 y goto INICIO ; salta a la direccin 5 para sobrepasar el ORG 5 ; vector de interrupcin INCLUDE "TECLADO.ASM" ; Coloca las rutinas tras el vector de interrupcin
-40-

Universidad Autnoma Metropolitana Unidad Iztapalapa

PROYECTO DE INGENIERIA ELECTRNICA

INICIO

Casa abierta al tiempo

bsf STATUS,RP0 ; Seleccin del banco 1 clrf PORTA ; Se configura la puerta A como salida bcf STATUS,RP0 bcf PORTA,3 ; Se desactiva el zumbador NO_HAY call KEY_SCAN ; Se hace un chequeo del teclado movlw 0x80 subwf TECLA,W ; Sobre TECLA quedar la tecla pulsada o 0x80 btfsc STATUS,Z goto NO_HAY ; No se ha pulsado ninguna tecla call KEY_OFF ; Si se ha pulsado. Se espera a que se suelte call KEY_HEX ; Se pasa el valor a hexadecimal movf TECLA,W ; Ese valor servir para determinar la duracin b addlw 0x01 ; Se suma 1 para que el "0" no sea el de mayor temporizacin bsf PORTA,3 ; Se activa el zumbador (por nivel alto) call DELAY_V bcf PORTA,3 ; Se desactiva el zumbador goto NO_HAY ; Se vuelve a empezar ;RUTINA KEY_OFF: Esta rutina espera que la tecla recin pulsada sea soltada. Debe usarse justo despus de llamar a la rutina KEY_SCAN KEY_OFF movf TECLA,W movwf TEMP_1 ; Guarda temporalmente la tecla KEY_OFF_NO call KEY_SCAN ; Mira si se ha soltado movlw 0x80 subwf TECLA,W btfss STATUS,Z goto KEY_OFF_NO ; Bucle mientras no se suelte movf TEMP_1,W ; Ya se ha soltado movwf TECLA ; Se repone la tecla return ;RUTINA DE DELAY VARIABLE: Esta rutina realiza una temporizacin que ; depende del valor del acumulador en el momento en que se le llama DELAY_V movwf DELAY_1 clrf DELAY_3 clrf DELAY_2 DELAY_LOOP decfsz DELAY_3,F goto DELAY_LOOP decfsz DELAY_2,F goto DELAY_LOOP decfsz DELAY_1,F goto DELAY_LOOP return END
-41-

Universidad Autnoma Metropolitana Unidad Iztapalapa

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Figura 3.6 Montaje del PIC16F84, oscilador y zumbador, al frente y reverso Figura 3.7 Montaje del teclado al frente y reverso

Figura 3.8 Montaje final

De Figura 3.6 a Figura 3.8 muestran el circuito construido con tcnica de Wire Wrap, para observar los resultados de esta aplicacin en el uso del teclado.

Para entender de manera mas optima el funcionamiento del programa anterior, se muestra un video clip del teclado en funcionamiento localizado. D:\proyectOctubre2007\VIDEO\PIC_PROYECTOS

Pantalla LCD

Introduccin, instalacin y manejo del LCD

La pantalla de cristal lquido, LCD es un perifrico de salida visual muy importante, flexible, eficaz y relativamente econmico, siendo los interruptores los dispositivos ms adecuados para optimizar sus prestaciones y control. En realidad, el modulo LCD tiene incrustado un interruptor especifico para regular su funcionamiento. Las pantallas LCD mas comunes presentan un numero variable de caracteres formados por matriz de 5x7 pxeles en una o varias lneas. Nos referimos al modulo LCD con microcontrolador incrustado, modelo 44780 de Hitachi que tiene la probabilidad de visualizar dos lneas de 16 caracteres de cada una. Dispone de 14 terminales de conexin, cuya funcin es la siguiente: 1.- Ocho terminales (D0-D7) reciben los caracteres ASCII a representar, as como ciertos cdigos de control que regulan los efectos de visualizacin. Tambin por ellos, el modulo LCD enva informacin sobre su estado interno. 2.- Por las terminales Vdd y Vss se aplica la alimentacin de +5V y tierra respectivamente.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-42-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

3.- El Terminal Vo regula el contraste de la pantalla de cristal liquido al aplicarle, mediante un potencimetro, una tensin variable comprendida entre 0 y +5V. 4.- Las tres terminales restantes controlan las funciones principales del modulo: E: Seal de activacin. Si E=0, el modulo esta desactivado y no funcionan las restantes seales.

- R/W: Lectura/Escritura. Si R/W=0, se escribe el modulo y si R/W=1, es ledo. - RS: Seleccin de registro de control (0) o de datos (1). Por D0-D7 se transfiere informacin de control-comandos o datos de caracteres a escribir.

Para controlar un modulo LCD con una PIC16F84 se recomienda conectar las lneas de la PUERTAB (RB7-RB0) a las lneas D7-D0. Las lneas de la PUERTAB Deben ser bidireccionales y debern configuran configurarse como entrada y salida segn el sentido de la informacin. Las tres lneas de menos peso de la PUERTAA (RA0, RA1 y RB2) se configuran como salida y se conectan a las lneas RS, R/W y E, respectivamente Figura 3.9

Universidad Autnoma Metropolitana Unidad Iztapalapa

-43-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Figura 3.9 conexin del modulo LCD a las lneas E/S del PIC16F84

El modulo LCD responde a una serie de comandos con los que se pueden gobernar sus distintas opciones de trabajo y que puede enviarle el PIC por las lneas D7-D0 cuando RS=0 y R/W=0, para trabajar en modo escritura. En la Figura 3.10 se muestra una tabla con los comandos y los cdigos correspondientes.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-44-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Figura 3.10 Tabla de todos los cdigos de comandos

Universidad Autnoma Metropolitana Unidad Iztapalapa

-45-

PROYECTO DE INGENIERIA ELECTRNICA

En la Figura 3.11 se ofrece el juego de caracteres que admite el modulo LCD. Las posiciones marcadas con CGRAM, estn destinadas a contener los nuevos caracteres grficos definibles por el usuario.

Casa abierta al tiempo

Figura 3.11 Tabla de caracteres estndar del modulo LCD

Cuando se aplica adecuadamente la tensin de alimentacin al modulo LCD, se ejecuta automticamente la siguiente secuencia de inicializacin: 1.- Se ejecuta el comando CLEAR DISPLAY borrando la pantalla. El flan BUSY se mantiene activado 15 ms hasta que se complete la secuencia. 2.- Reejecuta el comando FUNCIN SET, que establece el interfaz con el bus de datos a 8 bits normalmente (DL=1), y el numero de lneas (bit N). 3.- Se ejecuta el comando DISPLAY ON/O9FF CONTROL, que hace que el display que puede en OFF (D=0), tambin el cursor (C=0) y sin parpadeo (B=0). 4.- Se ejecuta el comando ENTRY MODE SET, que establece la direccin de movimiento del cursor con autoincremento (I/D=1) y el modo de visualizacin normal, sin desplazamiento.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-46-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Si la conexin de la alimentacin no rene todas las condiciones que exige el modulo LCD, habr que realizar la secuencia de inicializacin por software. En cualquier caso, es importante enviar al LCD la primera instruccin de trabajo despus de que hayan transcurrido 15 ms, para completa dicha secuencia de inicializacin. LCD_CXX_T2.ASM ;El conjunto de rutinas que se presentan a continuacin permiten realizar las tareas; bsicas de control del mdulo de visualizacin LCD. Se emplean con los PIC 16cxx. ;En el programa principal se deber reservar memoria para el bloque de variables que; utiliza el LCD del modo: ;LCD_VAR EQU dir_inicio_del_bloque ;BLOQUE DE ETIQUETAS #define ENABLE bsf PORTA,2 ;Activa E #define DISABLE bcf PORTA,2 ;Desactiva #define LEER bsf PORTA,1 ;Pone LCD en Modo RD #define ESCRIBIR bcf PORTA,1 ;Pone LCD en Modo WR #define OFF_COMANDO bcf PORTA,0 ;Desactiva RS (modo comando) #define ON_COMANDO bsf PORTA,0 ;Activa RS (modo datos) CBLOCK LCD_VAR LCD_TEMP_2 ;Inicio de las variables. Ser la primera direccin, libre disponible LCD_TEMP_1 ENDC ;RUTINA UP_LCD: Con esta rutina se configura el PIC para que trabaje con el LCD. UP_LCD bsf STATUS,RP0 Banco 1 clrf PORTB ;RB <0-7> salidas digitales movlw b'11111000' movwf PORTA bcf STATUS,RP0 Banco 0 OFF_COMANDO ;RS=0 DISABLE ;E=0 Return ;RUTINA LCD_BUSY: Con esta rutina se chequea el estado del flag BUSY el mdulo LCD, que indica, cuando esta activado, que el mdulo aun no ha terminado l; comando anterior. La rutina espera a que se complete cualquier comando

Universidad Autnoma Metropolitana Unidad Iztapalapa

-47-

PROYECTO DE INGENIERIA ELECTRNICA

anterior antes; de retornar a programa principal, para poder enviar un nuevo comando. LCD_BUSY LEER ;Pone el LCD en Modo RD bsf STATUS,RP0 movlw H'FF' movwf PORTB ;Puerta B como entrada bcf STATUS,RP0 Selecciona el banco 0 ENABLE ;Activa el LCD nop L_BUSY btfsc PORTB,7 ;Chequea bit de Busy goto L_BUSY DISABLE ;Desactiva LCD bsf STATUS,RP0 clrf PORTB ;Puerta B salida bcf STATUS,RP0 ESCRIBIR ;Pone LCD en modo WR return ;RUTINA LCD_E: Se trata de una pequea rutina que se encarga de generar un impulso; de las (para una frecuencia de funcionamiento de 4 MHz) por la patita de salida de la Puerta A RA2, que se halla conectada la seal E (Enable) del mdulo LCD. Con esta; rutina se pretende activar al mdulo LCD. LCD_E ENABLE ;Activa E nop DISABLE ;Desactiva E return ;RUTINA LCD_DATO: Es una rutina que pasa el contenido cargado en el registro W; el cual contiene un car cter ASCII, a la PUERTA B, para visualizarlo por el LCD o; escribirlo en la CGRAM. LCD_DATO OFF_COMANDO ;Desactiva RS (modo comando) movwf PORTB ;Valor ASCII a sacar por PORTB call LCD_BUSY ;Espera a que se libere el LCD ON_COMANDO ;Activa RS (modo dato) call LCD_E ;Genera pulso de E return

Casa abierta al tiempo

Universidad Autnoma Metropolitana Unidad Iztapalapa

-48-

PROYECTO DE INGENIERIA ELECTRNICA

;RUTINA LCD_REG: Rutina parecida a la anterior, pero el contenido de W ahora es el cdigo de un comando para el LCD, que es necesario pasar tambin a la PUERTA B para su ejecucin. LCD_REG OFF_COMANDO ;Desactiva RS (modo comando) movwf PORTB ;Cdigo de comando call LCD_BUSY ;LCD libre?. call LCD_E ;Si. Genera pulso de E. return ;RUTINA LCD_INI: Esta rutina se encarga de realizar la secuencia de inicializacin el; mdulo LCD de acuerdo con los tiempos dados por el fabricante (15 ms). Se especifican los valores de DL, N y F, as como la configuracin de un interfaz de 8; lneas con el bus de datos del PIC, y 2 lneas de 16 caracteres de 5 x 7 pxeles. LCD_INI Mol b'00110000' Cal LCD_REG ; Cdigo de instruccin call LCD_DELAY ;Temporiza movlw b'00110000' call LCD_REG ;Cdigo de instruccin call LCD_DELAY ;Temporiza movlw b'00110000' call LCD_REG ;Cdigo de instruccin call LCD_DELAY ;Temporiza movlw b'00110000' call LCD_REG ;Cdigo de instruccin call LCD_DELAY ;Temporiza return ;RUTINA BORRA_Y_HOME: Borra el display y retorna el cursor a la posicin 0. BORRA_Y_HOME movlw b'00000001' Borra LCD y Home. call LCD_REG return ;RUTINA DISPLAY_ON_CUR_OFF: Control del display y cursor. Activa el display y; desactiva es cursor DISPLAY_ON_CUR_OFF movlw b'00001100' LCD on, cursor off. call LCD_REG return

Casa abierta al tiempo

Universidad Autnoma Metropolitana Unidad Iztapalapa

-49-

PROYECTO DE INGENIERIA ELECTRNICA

;RUTINA LCD_DELAY: Se trata de un rutina que implementa un retardo o; temporizacin de 5 ms. Utiliza dos variables llamadas LCD_TEMP_1 y; LCD_TEMP_2, que se van decrementando hasta alcanzar dicho tiempo. LCD_DELAY clrwdt movlw 10 movwf LCD_TEMP_1 clrf LCD_TEMP_2 LCD_DELAY_1 decfsz LCD_TEMP_2,F goto LCD_DELAY_1 decfsz LCD_TEMP_1,F goto LCD_DELAY_1 return Con ayuda de las libreras LCD_CXX_T2 y P16F84A.INC mostramos un programa en el cual aparece un mensaje de bienvenida sobre el LCD.

Casa abierta al tiempo

Esquema Elctrico:

Figura 3.12 Diagrama elctrico del modulo LCD

Diagrama de Flujo:

Figura 3.13 Funcionamiento del modulo

Universidad Autnoma Metropolitana Unidad Iztapalapa

-50-

PROYECTO DE INGENIERIA ELECTRNICA

El programa comentado:
;"MENSAJE DE BIENVENIDA SOBRE LCD" ; Programa que muestra la palabra "BIENVENIDOS" en la lnea 1 del LCD ;DIRECTIVAS DEL PROGRAMA LIST p=16F84a ; Se emplea el PIC 16F84A RADIX HEX Sistema de numeracin hexadecimal __config _XT_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF ;ETIQUETAS DEL PROGRAMA #INCLUDE <P16f84.INC> ; Etiquetas genricas para los PIC 16CXX RESUL EQU 0x0C TEMPO1 EQU 0x0D OFFSET EQU 0x0E OPCION EQU 0x81^80H LCD_VAR EQU 0x0F ;PROGRAMA PRINCIPAL ORG 0 ; El programa comienza en la direccin 0 y salta a la goto INICIO ; direccin 5 para sobrepasar el vector de interrupcin ORG 5 INCLUDE "LCD_CXX_T2.ASM" INICIO call UP_LCD ; Configura el PIC para el uso del LCD bsf STATUS,RP0 Seleccin del banco 1 movlw b'10000111' movwf OPCION ;Asigna preescalar al TMR0 bcf STATUS,RP0 call LCD_INI ;Inicializa el LCD INICIO_1 call BORRA_Y_HOME call DISPLAY_ON_CUR_OFF movlw 0x80 ; Primera posicin de primera fila call LCD_REG movlw b'00000110' ; Entry Mode Set. Inc de cursor call LCD_REG clrf OFFSET ; Direccin del mensaje call MENS BUCLE goto BUCLE ; El programa acaba en un bucle infinito

Casa abierta al tiempo

Universidad Autnoma Metropolitana Unidad Iztapalapa

-51-

PROYECTO DE INGENIERIA ELECTRNICA

;RUTINA MENS: Esta rutina saca mensajes por la pantalla LCD, siendo el primer; carcter aquel que esta en la posicin apuntada por OFFSET, y debiendo ser el ltimo; 0x00 MENS clrf RESUL ;Inicializa contador de caracteres MENS_1 movf OFFSET,W ;Toma el desplazamiento addwf RESUL,W ;Calcula el carcter a coger call DATOS ;Toma el carcter iorlw 0 ;Actualiza flags btfsc STATUS,2 ;Comprueba si es el ltimo return ;Si es el ltimo vuelve call LCD_DATO ;Visualiza el carcter incf RESUL,F ;Incrementa contador de caracteres movlw d'10' movwf TEMPO1 goto MENS_1

Casa abierta al tiempo

;TABLA CON LOS DATOS A SACAR POR EL LCD: DATOS addwf PCL,1 retlw '"' OFFSET = 0x00 retlw 'B' retlw 'i' retlw 'E' retlw 'n' retlw 'V' retlw 'e' retlw 'N' retlw 'i' retlw 'D' retlw 'o' retlw 'S' retlw '"' retlw 0x00 END

Universidad Autnoma Metropolitana Unidad Iztapalapa

-52-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Figura 3.14 Montaje del modulo al frente

La Figura 3.12 muestra el esquema elctrico de las conexiones entre el PIC y la pantalla LCD, junto con el flujo de diseo hecho para la aplicacin.(Figura 3.13). De la Figura 3.14 a la Figura 3.16 se pueden observar finalmente el circuito construido fsicamente.

Figura 3.15 Montaje del modulo al reverso Figura 3.16 Montaje final

Para entender de manera mas optima el funcionamiento del programa anterior, se muestra un video clip del modulo LCD en funcionamiento localizado en: D:\proyectOctubre2007\VIDEO\PIC_PROYECTOS

Teclado y pantalla LCD


Ahora observemos este programa, en el cual es la combinacin de los dos programas anteriores solo, con pequeas diferencias. Este programa visualiza sobre la pantalla LCD las teclas que se pulsan en el teclado, cada pulsacin es acompaado de un beep de 0.25 segundos, el cual lo provoca un zumbador conectado en RA3.Mediante las libreras TECLADO.ASM, LCD_CXX_T3.ASM, en cual es casi idntico al LCD_CXX_T2.ASM solo cambia la rutina de UP_LCD, que es la siguiente:

;RUTINA UP_LCD: Con esta rutina se configura el PIC para que trabaje con el LCD. UP_LCD bsf STATUS,RP0 ;Banco 1 clrf PORTB ;RB <0-7> salidas digitales clrf PORTA ;RA <0-4> salidas digitales bcf STATUS,RP0 ;Banco 0 OFF_COMANDO ;RS=0 DISABLE ;E=0 Return Haciendo este cambio y con ayuda de la librera P16f84.INC el programa es el siguiente:

Universidad Autnoma Metropolitana Unidad Iztapalapa

-53-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Esquema Elctrico:

Figura 3.17 Diagrama elctrico

Diagrama de Flujo:

Universidad Autnoma Metropolitana Unidad Iztapalapa

-54-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Figura 3.18 Funcionamiento del programa

El programa comentado:
;"ESCRITURA DE MENSAJES DE TECLADO SOBRE LCD" ;Se desea realizar un programa que visualice sobre el LCD las teclas que se vayan; pulsando. Cada pulsacin ir acompaada de un "beep" de 0,25 segundos sobre el; zumbador conectado a RA3 ;DIRECTIVAS DEL PROGRAMA LIST P=16F84 ; Se emplea el PIC 16F84 RADIX HEX Sistema de numeracin hexadecimal ;ETIQUETAS DEL PROGRAMA #INCLUDE <P16f84.INC> __config _XT_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF TEMP_1 EQU 0x0C DELAY_1 EQU 0x0D DELAY_2 EQU 0x0E
-55-

Universidad Autnoma Metropolitana Unidad Iztapalapa

PROYECTO DE INGENIERIA ELECTRNICA

DELAY_3 EQU 0x0F LCD_VAR EQU 0x10 KEY_VAR EQU 0x12 ;POSICIONAMIENTO DE LA RUTINA DE INICIO ORG 0 ; El programa comienza en la direccin 0 y goto INICIO ;salta a la direccin 5 para sobrepasar el ORG 5 ; vector de interrupcin ;RUTINA HEX_ASCII: Rutina que pasa el valor HEXADECIMAL que contiene ;W a valor ASCII, para ser mostrado por el LCD HEX_ASCII addwf PCL,1 retlw '0' retlw '1' retlw '2' retlw '3' retlw '4' retlw '5' retlw '6' retlw '7' retlw '8' retlw '9' retlw 'A' retlw 'B' retlw 'C' retlw 'D' retlw 'E' retlw 'F' ;PROGRAMA PRINCIPAL INCLUDE "LCD_CXX_T3.ASM" INCLUDE "TECLADO.ASM" INICIO call UP_LCD call LCD_INI call DISPLAY_ON_CUR_OFF bsf STATUS,RP0 Seleccin del banco 1 clrf PORTA ; Puerta A como salida movlw b'10000111' movwf OPTION_REG bcf STATUS,RP0 bcf PORTA,3 ; Desactivacin del zumbador NO_HAY call KEY_SCAN ; Se hace un chequeo del teclado movlw 0x80

Casa abierta al tiempo

Universidad Autnoma Metropolitana Unidad Iztapalapa

-56-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

subwf TECLA,W btfsc STATUS,Z goto NO_HAY call KEY_OFF

; Sobre TECLA quedar la tecla pulsada o

0x80 ; No se ha pulsado ninguna tecla ; Si se ha pulsado. Se espera a que se ; Se genera un "beep"

suelte bsf PORTA,3 movlw d'25' movwf TEMP_1 call DELAY10 bcf PORTA,3 call KEY_HEX call HEX_ASCII ASCII movwf TECLA ; Se guarda temporalmente en TECLA call UP_LCD call BORRA_Y_HOME call DISPLAY_ON_CUR_OFF movlw 0x81 ; Primer carcter de primera lnea call LCD_REG movf TECLA,W call LCD_DATO ; Se saca por el LCD goto NO_HAY ; Se vuelve a empezar ;RUTINA DE DELAY DE 10 MS: Esta rutina utiliza el TMR0. Es una temporizacin; de 10 ms que se repite tantas veces como indique la variable TEMPO1 DELAY10 bcf INTCON,2 ;Borra flag del TMR0 movlw 0xD8 movwf TMR0 Carga el TMR0 con valor 39 DELAY10_1 btfss INTCON,2 ; Espera rebosamiento del TMR0 goto DELAY10_1 decfsz TEMP_1,F goto DELAY10 return ;RUTINA DE DELAY DE 1 SEGUNDO: Se basa en la rutina de 10ms, repitindola 100 DELAY1S movlw 0x64 movwf TEMP_1 call DELAY10 return ;RUTINA KEY_OFF: Esta rutina espera que la tecla recin pulsada sea soltada. Debe usarse justo despus de llamar a la rutina KEY_SCAN

; Se crea una temporizacin de 25 ms ; Se desactiva zumbador ; Se pasa a valor hexadecimal ; Se pasa el valor hexadecimal a cdigo

Universidad Autnoma Metropolitana Unidad Iztapalapa

-57-

PROYECTO DE INGENIERIA ELECTRNICA

KEY_OFF

Casa abierta al tiempo

movf TECLA,W movwf TEMP_1

; Guarda temporalmente la tecla

KEY_OFF_NO call KEY_SCAN Mira si se ha soltado movlw 0x80 subwf TECLA,W btfss STATUS,Z goto KEY_OFF_NO ; Bucle mientras no se suelte movf TEMP_1,W ; Ya se ha soltado movwf TECLA ; Se repone la tecla return ;RUTINA DE DELAY VARIABLE: Esta rutina realiza una temporizacin que depende del valor del acumulador en el momento en que se le llama DELAY_V movwf DELAY_1 clrf DELAY_3 clrf DELAY_2 DELAY_LOOP decfsz DELAY_3,F goto DELAY_LOOP decfsz DELAY_2,F goto DELAY_LOOP decfsz DELAY_1,F goto DELAY_LOOP return END
Figura 3.19 Montaje final

Dentro de esta aplicacin, la Figura 3.17 muestra el esquema elctrico de conexiones utilizado para el uso del teclado, junto con nuevos dispositivos como el buzzer y la pantalla LCD. La Figura 3.18 muestra el diagrama de flujo utilizado, es decir, el orden y cada uno de los aspectos cubiertos en el diseo del cdigo en ensamblador de este ejemplo. En la Figura 3.19 se pueden observar finalmente el circuito construido fsicamente en la tablilla. Para entender de manera mas optima el funcionamiento del programa anterior, se muestra un video clip del teclado y el modulo LCD en funcionamiento localizado en: D:\proyectOctubre2007\VIDEO\PIC_PROYECTOS

Universidad Autnoma Metropolitana Unidad Iztapalapa

-58-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

COMUNICACIONES I
Presentacin Los sistemas de comunicacin, en el sentido ms amplio, comprenden cualquier mtodo utilizado por el hombre para transmitir informacin. As pues, aunque podramos remontar el comienzo de las comunicaciones a los albores de la humanidad (comunicacin oral, escrita, etc.), en este curso, nos restringiremos a los denominados sistemas de comunicacin electromagnticos, caracterizados por el uso de seales electromagnticas como soporte de la informacin. En los ltimos aos la sociedad ha incluido, dentro de su vida diaria, el uso de la tecnologa en general y, especialmente, la tecnologa asociada a la comunicacin. La telefona fija y mvil, la radio, la televisin, los computadores personales hacen posible la transferencia de informacin entre distintas partes del mundo de forma eficiente, esto es lo ms rpidamente posible y con un mnimo nmero de errores. El avance en las comunicaciones ha sido posible gracias al avance en el procesado de la seal. Inicialmente (hasta la dcada de los sesenta) el procesado de la seal haba sido bsicamente analgico, sin embargo, en la actualidad los computadores permiten el diseo y la simulacin de sistemas digitales generando un entorno experimental verdaderamente flexible. Las facilidades de transmisin son caras y, a menudo, dos equipos terminales de datos que se comunican por cables coaxiales, enlaces por microondas, o satlite, no utilizan la capacidad total del canal, desperdiciando parte de la anchura de banda disponible. Este problema se soluciona mediante unos equipos denominados multiplexores, que reparten el uso del medio de
-59-

Universidad Autnoma Metropolitana Unidad Iztapalapa

PROYECTO DE INGENIERIA ELECTRNICA

transmisin en varios canales independientes que permiten accesos simultneos a los usuarios, siendo totalmente transparente a los datos transmitidos. En un extremo, los multiplexores son equipos que reciben varias secuencias de datos de baja velocidad y las transforman en una nica secuencia de datos de alta velocidad, que se transmiten hacia un lugar remoto. En dicho lugar, otro multiplexor realiza la operacin inversa obteniendo de nuevo los flujos de datos de baja velocidad originales. A esta funcin se la denomina demultiplexar. Existen dos tcnicas fundamentales para llevar a cabo la multiplexacin: 1. Divisin de Frecuencia (FDM). 2. Divisin en el Tiempo (TDM).

Casa abierta al tiempo

Estos dos temas son parte de la UEA de Comunicaciones I de la Lic. en Ingeniera Electrnica, como alumno de esta UEA puedo mencionar que estos temas se afrontaron de manera muy terica y poco ilustrativa, dentro de este capitulo abordaremos estos dos temas y adems el teorema de muestreo, tambin vista en esta UEA, la manera de abordarlos ser mediante circuitos construidos en un software de simulacin llamado Circuit Maker, los archivos estos tres circuitos se encuentran dentro del CD anexo a este reporte, para que el lector pueda simularlos.

Multiplexado y Demultiplexado. Principios de Multiplexado.


Multiplexado es el proceso de transmitir al mismo tiempo dos o ms seales individuales a travs de un solo canal de comunicaciones (Figura 3.20) En efecto, aumenta el nmero de canales de comunicacin de manera que pueda transmitirse ms informacin. Hay muchos ejemplos en comunicaciones donde es necesario o deseable transmitir ms de una seal de voz o de datos en forma simultnea. Una aplicacin puede requerir muchas seales o se puedan lograr ahorros en el costo si solo se usa un canal de comunicaciones para enviar mltiples seales de informacin. Tres aplicaciones en las que seria caro en grado prohibitivo o imposible sin multiplexado son telemetra, sistemas telefnicos, la radiodifusin moderna en radio y televisin.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-60-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Figura 3.20 Concepto de multiplexado

Los dos tipos de multiplexado bsicos son el multiplexado por divisin de frecuencia (FDM) y el multiplexado por divisin de tiempo (TDM). Dos variaciones de estos mtodos bsicos son acceso mltiple por divisin de frecuencia y acceso mltiple de tiempo. En general, los sistemas FDM se usan para informacin analgica y los sistemas TDM, para informacin digital, Por supuesto, las tcnicas TDM tambin se encuentran en muchas aplicaciones analgicas porque el proceso de conversin de A/D y D/A es muy comn. Las principales diferencias entre estas dos tcnicas son que en FDM las seales individuales que se transmitirn se asignan a frecuencias diferentes dentro de un ancho de banda comn. En TDM, las mltiples seales se transmiten en ranuras de tiempo diferentes.

Multiplexado por Divisin de Frecuencia.


En el multiplexado por divisin de frecuencia (FDM), (frequency division multiplexing) mltiples seales comparten al ancho de banda de un canal comn de comunicaciones. Recuerde que todos los canales tienen anchos de banda especficos y algunos son ms o menos amplios. Un cable coaxial, por ejemplo, tiene un ancho de banda de 200 a 500MHz. Los anchos de banda de los canales de radio varan, sin considerar el tipo de canal, ancho de banda amplio se puede compartir con el propsito de transmitir muchas seales al mismo tiempo.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-61-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Transmisores-Multiplexores.
La Figura 3.21 muestra un diagrama general en bloques de un sistema FDM. Cada seal que ser transmitida alimenta un circuito modulador. LA portada para cada modulador (fp) esta una frecuencia diferente. Las frecuencias portadoras se encuentran espaciadas por igual una de otra dentro de un intervalo especifico de frecuencia. Estas portadoras se llaman subportadoras. A cada seal de entrada se le da una porcin de ancho de banda. El espectro resultante se ilustra en la Figura 3.22. Se puede usar cualquiera de los estndares de modulacin, incluyendo AM, BLU, FM o PM. El proceso FDM divide en ancho de banda del canal nico en pequeos canales espaciados por igual, cada uno con capacidad de transportar informacin en bandas laterales.

Las salidas del modulador que tiene la informacin de banda lateral se suman de modo algebraico en un mezclador lineal; no hay modulacin o generacin de bandas laterales. La seal de salida resultante es una composicin de todas las subportadoras moduladas. Esta seal puede usarse para modular un transmisor de radio. A veces la seal compuesta puede convertirse en una entrada a otro sistema multiplexado.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-62-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Figura 3.21 Extremo transmisiones de un sistema FDM

Figura 3.22 Espectro de una seal FDM. El ancho de banda se divide en canales ms pequeos.

Receptores-Demoduladores
La porcin para la recepcin de un sistema FDM se puede ver en la Figura 3.23. Un receptor recibe la seal y la remodula, recuperando la seal compuesta. Esta se enva a un grupo de filtros pasabanda, cada uno centrado en una de las frecuencias subportadoras. Cada filtro pasa solo su canal y rechaza los otros. Un demodulador de canal recupera cada seal de entrada digital.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-63-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Figura 3.23 Extremo receptor de un sistema FDM

Del conjunto de material realizado se dise y simul un sistema FDM, para tres seales senoidales de 5 KHz cada una, utilizando tres diferentes portadoras situadas en 50KHz, 100KHz y 150 KHz. La Figura 3.24 Muestra un circuito FDM para tres seales, esta compuesta de tres moduladores AM, cada uno tiene una seal portadora de 5KHz y una seal moduladora de 50KHz, 100KHz, 150KHz respectivamente. Todos estos componentes se encuentran del lado transmisor o modulador.

Para mezclar las tres seales utilizamos un circuito lineal como un sumador no inversor, el cual esta compuesta de un amplificador operacional y un conjunto de resistencias. Las salidas del sumador se encuentran conectados a tres filtros pasabanda cada uno sintonizado a las frecuencias utilizadas en las seales moduladoras, las cuales separan las seales originales o portadoras en tres anchos de banda diferentes.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-64-

PROYECTO DE INGENIERIA ELECTRNICA

Tambin en nuestro circuito FDM estn presentes tres demoduladores AM, los cuales estn sincronizados con las seales moduladoras del extremo transmisor a estos demoduladores se encuentran conectados las salidas de los los filtros, a las salidas de los demoduladores se encuentran las salidas originales introducidas en el extremo transmisor.

Casa abierta al tiempo

Universidad Autnoma Metropolitana Unidad Iztapalapa

-65-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Figura 3.24 Diagrama de un sistema FDM

Universidad Autnoma Metropolitana Unidad Iztapalapa

-66-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

A: v16_1

250.0mV

150.0mV

50.00mV

-50.00mV

-150.0mV

-250.0mV 0.000us

100.0us

200.0us

300.0us

400.0us

Figura 3.25a Seal senoidal con frecuencia de 5KHz

A: u9_6

10.00 V

9.500 V

9.000 V

8.500 V

8.000 V 0.000ms

1.000ms

2.000ms

3.000ms

4.000ms

Figura 3.25b Seal modulada

A: c30_2

1.500 V

0.500 V

-0.500 V

-1.500 V 0.000us

100.0us

200.0us

300.0us

400.0us

Figura 3.25c Seal original recuperada a la salida del demodulador

La Figura 3.25a representa la seal portador de las tres seales que entran al modulador, la Figura 3.25b representa la seal modulada del circuito modulador de portadora a 5KHZ y moduladora de 150 KHz. Y por ultimo en la Figura 3.25c se muestra una de las seales originales recuperadas a la salida del demodulador, en este caso el que utiliza una moduladora de 150 KHz.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-67-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

A: u1_6

1.500 V

1.000 V

0.500 V

0.000 V 20.00kHz

40.00kHz

60.00kHz

80.00kHz

Figura 3.26a Anlisis de Fourier de la seal modulada

A: u8_6

1.500 V

1.000 V

0.500 V

0.000 V 60.00kHz

80.00kHz

100.0kHz

120.0kHz

140.0kHz

Figura 3.26b Anlisis de Fourier de la seal modulada

A: u9_6

1.000 V
0.800 V
0.600 V
0.400 V
0.200 V
0.000 V 120.0kHz

140.0kHz

160.0kHz

180.0kHz

Figura 3.26c Anlisis de Fourier de la seal modulada

La Figura 3.26a muestra el anlisis de Fourier para la seal modulada con portadora de 5KHz y una moduladora de 50KHz, en la Figura 3.26b, muestra la misma seal con una moduladora de 100KHz, y por ltimo en la Figura 3.26c muestra la seal con una moduladora de 150KHz. Las figuras muestran la seal portadora se encuentran a la derecha e izquierda de la seal moduladora.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-68-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

A: u6_8

1.500 V

1.000 V

0.500 V

0.000 V 0.000kHz

50.00kHz

100.0kHz

150.0kHz

200.0kHz

Figura 3.27 Seal a la salida del sumador

La Figura 3.27 muestra el anlisis de Fourier del canal de comunicaciones del circuito FDM, se observa como se encuentran los anchos de banda de cada seal en particular, cada ancho de banda se encuentra centrado en las frecuencias moduladoras de cada circuito independiente, que en conjunto crean un sistema FDM.

Multiplexado por Divisin de Tiempo.


La multiplexacin por divisin de tiempo es una tcnica para compartir un canal de transmisin entre varios usuarios. Consiste en asignar a cada usuario, durante unas determinadas "ranuras de tiempo", la totalidad del ancho de banda disponible. Esto se logra organizando el mensaje de salida en unidades de informacin llamadas tramas, y asignando intervalos de tiempo fijos dentro de la trama a cada canal de entrada. De esta forma, el primer canal de la trama corresponde a la primera comunicacin, el segundo a la segunda, y as sucesivamente, hasta que el n-esimo ms uno vuelva a corresponder a la primera. El uso de esta tcnica es posible cuando la tasa de los datos del medio de transmisin excede de la tasa de las seales digitales a transmitir. El multiplexor por divisin en el tiempo muestrea, o explora, cclicamente las seales de entrada (datos de entrada) de los diferentes usuarios, y transmite las tramas a travs de una nica lnea de comunicacin de alta velocidad. La operacin de muestreo debe ser lo suficientemente rpida, de forma que cada buffer sea vaciado antes de que lleguen nuevos datos.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-69-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Entre el conjunto de material diseado y construido se efectu un diseo y simulacin de un circuito TDM para dos seales analgicas, una seal senoidal de frecuencia de 500 Hz y un voltaje pico de 1 Volt y otra seal senoidal de la misma frecuencia pero con un valor pico de 3 Volt.

U1 ADG406
S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 S15 S16
VDD GND VSS

V1 5V +V

U2 ADG406
V2 +V -5V
S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 S15 S16
VDD GND VSS

V10 5V +V

V3 -1/1V

V9 +V -5V
D

500 Hz

EN

A0 A1 A2 A3

EN

V4 +V 5V

A0 A1 A2 A3

V7 +V 5V

V6 -1/1V
V5 0/5V

500 Hz
10kHz
R6 16k
R4 16k

R1 16k

C2 20nF

C3 20nF
V15 -12V U5 +V TL081 R2 6k

C1 20nF

R5 4k

V8 -12V +V

R3 16k

V12 -12V +V

U4 TL081

U3 TL081

+ V14 +V12V

+ V11 +V12V

V13 +V12V

Figura 3.28 Circuito TDM

En la Figura 3.28 se muestra un circuito TDM para dos seales senoidales de misma frecuencia pero de diferente magnitud, el circuito es implementado por un multiplexor y un demultiplexor, en el bit menos significativo de las seales de direccionamiento se encuentra un pulso de reloj el cual es muestra seal de muestro que debe ser dos veces mayor que cualquiera de las dos seales a multiplexar, este pulso de reloj se encuentra conectado tanto para el multiplexor como el demultiplexor. Tambin se encuentran dos filtros los cuales son utilizados para recuperar las seales. Desde la Figura 3.29 a la Figura 3.35 se muestran los resultados de la simulacin en cada una de las partes del circuito, indicando cada uno de los procesos de mezclado(o multiplexacin) de seales, as como el filtrado de seales antes y despus de cada circuito de filtrado

Universidad Autnoma Metropolitana Unidad Iztapalapa

-70-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

A: u2_28

3.000 V

1.000 V

-1.000 V

-3.000 V 0.000ms

2.000ms

4.000ms

6.000ms

8.000ms

10.00ms

Figura 3.29 Seal observada en el canal de comunicacin


1.000 V
0.500 V
0.000 V
-0.500 V
-1.000 V 0.000ms

A: v3_1

2.000ms

4.000ms

6.000ms

8.000ms

10.00ms

Figura 3.30 Seal senoidal de 1 Volt pico


1.250 V
0.750 V
0.250 V
-0.250 V
-0.750 V
-1.250 V 0.000ms

A: r3_1

2.000ms

4.000ms

6.000ms

8.000ms

10.00ms

Figura 3.31 Seal observada antes de entrar al filtro


A: r4_2

750.0mV

250.0mV

-250.0mV

-750.0mV 0.000ms

2.000ms

4.000ms

6.000ms

8.000ms

10.00ms

Figura 3.32 Seal observada despus del filtro

Universidad Autnoma Metropolitana Unidad Iztapalapa

-71-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

A: v3_1

1.000 V
0.500 V
0.000 V
-0.500 V
-1.000 V 0.000ms

2.000ms

4.000ms

6.000ms

8.000ms

10.00ms

Figura 3.33 Seal senoidal de 3 Volt pico


3.000 V

A: u2_19

1.000 V

-1.000 V

-3.000 V 0.000ms

2.000ms

4.000ms

6.000ms

8.000ms

10.00ms

Figura 3.34 Seal observada antes de entrar al filtro


5.000 V
3.000 V
1.000 V
-1.000 V
-3.000 V
-5.000 V 0.000ms

A: r1_2

2.000ms

4.000ms

6.000ms

8.000ms

10.00ms

Figura 3.35 Seal observada despus del filtro

Cabe mencionar que se utiliza un filtro pasabajas de primero y segundo orden, para poder comparar las diferencias que existen entre ellas.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-72-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Teorema de Muestreo.
El teorema de muestreo de Nyquist-Shannon, tambin conocido como teorema de muestreo de Whittaker-Nyquist-Kotelnikov-Shannon o simplemente criterio de Nyquist, es un teorema fundamental de la teora de la informacin, de especial inters en las telecomunicaciones. El teorema trata con el muestreo, que no debe ser confundido o asociado con la cuantificacin, proceso que sigue al de muestreo en la digitalizacin de una seal y que no es reversible (se produce una prdida de informacin en el proceso de cuantificacin, incluso en el caso ideal terico, que se traduce en una distorsin conocida como error o ruido de cuantificacin y que establece un lmite terico superior a la relacin seal-ruido). Dicho de otro modo, desde el punto de vista del teorema, las muestras discretas de una seal son valores exactos que no han sufrido redondeo o truncamiento alguno sobre una precisin determinada. El teorema demuestra que la reconstruccin exacta de una seal peridica continua en banda base a partir de sus muestras es matemticamente posible si la seal est limitada en banda y la tasa de muestreo es superior al doble de su ancho de banda. Dicho de otro modo, la informacin completa de la seal analgica original que cumple el criterio anterior est descrita por la serie total de muestras que resultaron del proceso de muestreo. No hay nada, por tanto, de la evolucin de la seal entre muestras que no est perfectamente definido por la serie total de muestras.

Si la frecuencia ms alta contenida en una seal analgica xa(t) es Fmax = B y la seal se muestrea a una tasa F8 > 2Fmax = 2B , entonces xa(t) se puede recuperar totalmente a partir de sus muestras mediante la siguiente funcin de interpolacin:

g(t) =

sen( 2Bt ) 2Bt

En la Figura 3.36 se encuentra el circuito utilizado para realizar el muestreo de una seal, el cual esta compuesto de un pulso de reloj para realizar el muestreo y una seal senoidal de 500Hz y 1 Volt en magnitud, el cual se encuentra en una de las entradas del circuito.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-73-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

U1 ADG406
S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 S15 S16

V1 5V +V

V3 -1/1V

VDD GND VSS

V2 +V -5V
D

500 Hz

EN
A0 A1 A2 A3

V4 +V 5V

V5 0/5V

2kHz

Figura 3.36 Circuito utilizado para realizar el muestreo de una seal

A: v3_1

1.000 V
0.500 V
0.000 V
-0.500 V
-1.000 V 0.000ms

2.000ms

4.000ms

6.000ms

8.000ms

10.00ms

Figura 3.37 Seal senoidal


1.250 V

B: u1_28

0.750 V

0.250 V

-0.250 V

-0.750 V

-1.250 V 0.000ms

2.000ms

4.000ms

6.000ms

8.000ms

10.00ms

Figura 3.38a Seal muestreada

Universidad Autnoma Metropolitana Unidad Iztapalapa

-74-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

B: u1_28

1.250 V
0.750 V
0.250 V
-0.250 V
-0.750 V
-1.250 V 0.000ms

2.000ms

4.000ms

6.000ms

8.000ms

10.00ms

Figura 3.38b Seal muestreada

B: u1_28

1.250 V
0.750 V
0.250 V
-0.250 V
-0.750 V
-1.250 V 0.000ms

2.000ms

4.000ms

6.000ms

8.000ms

10.00ms

Figura 3.38c Seal muestreada

La Figura 3.28a muestra una seal muestreada, pero con una frecuencia menor a 500Hz de la seal original, el cual no cumple con el teorema. En la Figura 3.28b, se observa una seal muestreada con una frecuencia igual a dos veces la seal original y por ultimo la Figura 3.28c muestra una seal muestreada con una frecuencia mayor el cual permite que se reconstruya la seal original de manera mas ptima.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-75-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

CAPITULO 4 PROYECTOS Y PROBLEMAS RESUELTOS

Universidad Autnoma Metropolitana Unidad Iztapalapa

-76-

PROYECTO DE INGENIERIA ELECTRNICA

Presentacin

Casa abierta al tiempo

Ante las numerosas peticiones de los alumnos, tener ejemplos, practicas, ejercicios sobre los temas afrontados en cada una de las Unidades de EnseanzaAprendizaje (UEA) de Lgica de Conmutacin I, Lgica de Conmutacin II, Sistemas Digitales I, hemos incluido este apartado en el cual describe, de la manera ms sencilla, una coleccin de proyectos que pueden realizarse con material fcil de encontrar, sencillo de manejar y muy econmico. Para desarrollar las implementaciones fsicas de estos proyectos hemos usado como soporte principal el PIC16F84 de MICROCHIP, el dispositivo de FPGA, XC4005XL PC84CMN009 de XILINX , el software de simulacin VERIBEST VB99.0 y ORCAD DEMO V9. En la primera parte de este Apndice esta destinada a describen proyectos utilizando el dispositivo de FPGA, VERIBEST y ORCAD, en la segunda parte esta destinada a utilizar el PIC16F84, organizados de esta manera: PRIMERA PARTE: PROYECTOS UTILIZANDO VERIBEST, ORCAD DEMO Y FPGA. Utilizando VERIBEST 1. - Compuertas Lgicas en VHDL 2. - Introduccin a las configuraciones de nivel dos no degeneradas 3. - Formas no degeneradas de orden dos. Utilizando VERIBEST Y FPGA 4. - Convertidor de cdigo 2 4 2 1 a cdigo 8 4 -2 1 5. - Convertidor decimal a hexadecimal Utilizando ORCAD DEMO Y FPGA 6.- Contador ascendente / descendente modulo 8 7. - Contador 0 a 99 8. - Contador de rizo de 0 a 7 SEGUNDA PARTE: PROYECTOS UTILIZANDO PIC16F84 1. - Sumador de 3 bits y mostrar en leds. 2. - Contador ascendente de 4 bits con mensaje de trmino en pantalla LCD. 3. - Manejo de interrupciones. 4. - Display 5. - Manejo combinacional de E/S digitales. 6. - Contador ascendente/descendente. 7. - Control de Acceso. 8. - Semforo Programable. 9.- Dado electrnico. 10. - Temporizador Programable. 11. - Alarma.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-77-

PROYECTO DE INGENIERIA ELECTRNICA

PRIMERA PARTE: PROYECTOS UTILIZANDO VERIBEST ORCAD DEMO Y FPGA.


PROYECTOS UTILIZANDO VERIBEST. 1. - COMPUERTAS LGICAS EN VHDL
La implementacin prctica de funciones lgicas se realiza mediante dispositivos electrnicos denominados Compuertas Lgicas, siendo estas los componentes bsicos de la electrnica digital. Las Compuerta Lgicas proporcionan, generalmente en su salida, unos niveles de tensin en funcin de las tensiones de entradas. 1.1. -- Compuerta AND

Casa abierta al tiempo

Figura 4.1 Compuerta lgica AND y tabla de verdad

1.2. - Compuerta OR

Figura 4.2 Compuerta lgica OR y tabla de verdad

Universidad Autnoma Metropolitana Unidad Iztapalapa

-78-

PROYECTO DE INGENIERIA ELECTRNICA

1.3. - Compuerta BUFFER

Casa abierta al tiempo

Mediante una compuerta AND implementar un BUFFER, y mediante una compuerta OR implementar BUFFER.

Figura 4.3 Circuitos implementados

1.4. - Compuertas NOT, AND y OR.

Figura 4.4 Diseo lgica y tabla de verdad

1.5. - Compuertas NOT, AND, OR, XOR y NAND a) Utilizando compuertas NOT, AND y OR implementar XOR.

Figura 4.5 Diseo lgica XOR

b) Utilizando compuertas NOT y AND implementar NAND.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-79-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Figura 4.6 Diseo lgica NAND

c) Utilizando el circuito NAND, implementar dos maneras diferentes de NOT.

Figura 4.7 Diseo lgica XOR

1.6. - Diseo con compuertas NAND

Figura 4.8 Diseo lgica.

Los archivos y todo lo relacionado para la simulacin de este proyecto se encuentran localizado en: D:\proyectOctubre2007\PROGRAMAS\LOGICA_PROYECTOS\COMPUERTAS LGICAS

Universidad Autnoma Metropolitana Unidad Iztapalapa

-80-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

2.INTRODUCCINACONFIGURACIONESDENIVEL2NO DEGENERADAS
Desde un punto de vista terico, resulta interesante averiguar cuantas combinaciones de compuertas de dos niveles puede haber. Considerando cuatro tipos de compuertas: AND, OR, NAND y NOR. Si asignamos un tipo de compuerta al primer nivel y un tipo al segundo nivel, encontramos que hay 16 combinaciones posibles de forma de dos niveles. Ocho combinaciones se consideran de forma degeneradas por que degeneran a una sola operacin. Las otras ocho formas son no degeneradas producen una implementacin de suma de productos o productos de sumas. Las ocho formas no degeneradas son: AND-OR NAND-NAND NOR-OR OR-NAND OR-AND NOR-NOR NAND-AND AND-NOR

2.1.- Diseo con compuertas NAND, implementar una compuerta AND

Figura 4.9 Diseo lgica y tabla de verdad

Universidad Autnoma Metropolitana Unidad Iztapalapa

-81-

PROYECTO DE INGENIERIA ELECTRNICA

2.2.- Diseo con compuertas NAND, implementar una compuerta OR

Casa abierta al tiempo

Figura 4.10 Diseo lgica y tabla de verdad

2.3. - Diseo con compuertas NOR, implementar una compuerta OR

Figura 4.11 Diseo lgica y tabla de verdad

2.4. - Diseo con compuertas NOR, implementar una compuerta AND

Figura 4.12 Diseo lgica y tabla de verdad

Universidad Autnoma Metropolitana Unidad Iztapalapa

-82-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

2.5. - Diseo con compuertas NAND

Figura 4.13 Diseo lgica y tabla de verdad

2.6. - Disear la siguiente funcin booleana f(x, y, z)=(2,4,6), con implementacin de nivel dos con compuertas NOR, de las siguientes formas: a) En su mapa de Karnaugh trabaje con los 0s y obtenga F en sus productos de sumas.

YZ X 0 1 00 0 01 0 0 11 0 0 10

F=Z+XY F=(F)=(Z+XY) F=Z(X+Y)

Figura 4.14 Diseo lgica y tabla de verdad

Universidad Autnoma Metropolitana Unidad Iztapalapa

-83-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

b) Obtener a F con los 1s en el mapa, luego obtener F y luego agregue otra compuerta, un tercer nivel para obtener F.

YZ X 0 1 00 1
F=YZ + XZ F=(YZ+XZ) F=(YZ)(XZ) F=(Y+Z)(X+Z) (F)=((Y+Z)(X+Z)) F=(YZ)+(XZ)

01

11

10 1 1

Figura 4.15 Diseo lgica y tabla de verdad

Los archivos y todo lo relacionado para la simulacin de este proyecto se encuentran localizado en: D:\proyectOctubre2007\PROGRAMAS\LOGICA_PROYECTOS

3.- FORMAS NO DEGENERADAS DE ORDEN 2


El siguiente Mapa de Karnaugh de la funcin booleana F(A,B,C), se usara para los experimentos del 1 al 4

BC A 0 1

00 1 1

01 0 0

11 1 1

10 1 0

A B C F F
-84-

Universidad Autnoma Metropolitana Unidad Iztapalapa

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

0 1 0 0 0 1 1 0

1 0 1 1 1 0 0 1

3.1. a) Efecte el diseo, de la implementacin de la funcin simplificada F(A,B,C) mediante una configuracin NAND-NAND.

Figura 4.16 Circuito lgico

F = ((AB)(BC)(BC)) F = AB + BC + BC b) Efecte el diseo y construya la implementacin de la funcin simplificada F(A,B,C) mediante una configuracin NAND-NAND. As mismo use un inversor en la salida para obtener a F(A,B,C).

Figura 4.17 Circuito lgico

F = BC + ABC (F ) = (BC + ABC) F = AB + BC + AC + BC

Universidad Autnoma Metropolitana Unidad Iztapalapa

-85-

PROYECTO DE INGENIERIA ELECTRNICA

3.2. -

Casa abierta al tiempo

a) Efecte el diseo de la implementacin de la funcin simplificada F(A,B,C) mediante una configuracin NOR-NOR y auxilindose en los teoremas de Morgan.

Figura 4.18 Circuito Lgico

F = BC + ABC (F ) =( BC + ABC) F = (BC) ( ABC) F = (B+C) ( ABC) b) Efecte el diseo de la funcin simplificada F(A,B,C) mediante una configuracin NOR-NOR y auxilindose de los teoremas de Morgan. As mismo use un inversor de salida para obtener a F(A,B,C).

Figura 4.19 Diseo del circuito lgico

F = B C + BC + AB (F ) = (B C + BC + AB) F = (B C) ( BC) ( AB) F = (B+ C) ( B + C) ( A + B) 3.3.a) Efecte el diseo de la implementacin de la funcin simplificada F(A,B,C) mediante una configuracin NOR-OR.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-86-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Figura 4.20 Diseo del circuito lgico

F = B C + BC + AB (F) = (B C + BC + AB) (F ) = ((B+ C) ( B + C) ( A + B)) b) Efecte el diseo de la implementacin de la funcin simplificada F(A,B,C) mediante una configuracin OR-NAND.

Figura 4.21 Diseo del circuito lgico

F = ((B+C) ( A+B+C))

3.4. a) Efecte el diseo de la implementacin de la funcin simplificada F(A,B,C) mediante una configuracin NAND-AND..

Figura 4.22 Diseo del circuito lgico

F = (BC + BC AB)

Universidad Autnoma Metropolitana Unidad Iztapalapa

-87-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

b) Efecte el diseo de la implementacin de la funcin simplificada F(A,B,C) mediante una configuracin AND-AND..

Figura 4.23 Diseo del circuito lgico

F = (ABC + BC) Los archivos y todo lo relacionado para la simulacin de este proyecto se encuentran localizado en: D:\proyectOctubre2007\PROGRAMAS\LOGICA_PROYECTOS

UTILIZANDOVERIBESTYFPGA
4. - CONVERTIDOR DE CDIGO 2 4 2 1 A CDIGO 8 4 -2 1
Los cdigos binarios para dgitos decimales requieren por lo menos cuatro bits. Es posible formular muchos cdigos distintos acomodando cuatro bits en 10 combinaciones distintas. Los cdigos BDC (84-2-1) y 2421 son ejemplos de cdigos ponderados, un cdigo ponderado se asigna a cada posicin de bit un factor de ponderacin de modo que cada digito puede evaluarse sumando los pesos de todos los unos de la combinacin codificada. Cabe sealar que es posible codificar algunos dgitos de dos formas en el cdigo 2421. El 4 decimal se puede asignar a las combinaciones de bits 0100 o 1010 pues ambas dan su peso total de cuatro.

Disear un circuito combinacional que convierta las cifras decimales (0,1,2..) de un cdigo 2 4 2 1 a un cdigo 8 4 -2 -1.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-88-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Figura 4.24 Tabla de verdad

Las salidas de Sa,Sb,Sc y Sd son circuitos combinacionales independientes entre s, pero en conjunto son las salidas para obtener el convertidor 8 4 -2 -1. El circuito combinacional de cada uno de las salidas es: Circuito combinacional Sa:

Figura 4.25 Diseo lgica y tabla de verdad

Universidad Autnoma Metropolitana Unidad Iztapalapa

-89-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Circuito combinacional Sb:

Figura 4.26 Diseo lgica y tabla de verdad

Circuito combinacional Sc:

Figura 4.27 Diseo lgica y tabla de verdad

Circuito combinacional Sd:

Figura 4.28 Diseo lgica y tabla de verdad

Universidad Autnoma Metropolitana Unidad Iztapalapa

-90-

PROYECTO DE INGENIERIA ELECTRNICA

Observemos la simulacin del circuito combinacional utilizando el simulador VeriBest V99.0, el programa en VHDL para este diseo esta estructurado en forma estructural. La Descripcin Estructural que es la que ms se acerca a la realizacin fsica de un circuito y puede considerarse como una lista de componentes e interconexiones (Nestlist), los componentes son entidades definidas y para las conexiones se utilizan seales internas definidas al principio.

Casa abierta al tiempo

Los archivos y todo lo relacionado para la simulacin de este proyecto se encuentran localizado en: D:\proyectOctubre2007\PROGRAMAS\LOGICA_PROYECTOS\CONVERTIDOR\CO NVERTIDOR1 En la Figura 4.29 se muestra la simulacin del convertidor de cdigo 2 4 2 1 a cdigo 8 4 -2 -1, esta simulacin se realizo en VeriBest V99.0

Figura 4.29 Simulador VeriBest V99.0

Para la implementacin en FPGA: Los puertos de entrada y salida son: los puertos de salida estas compuestos del pin 23 al pin 26 y los puertos de entrada del pin 47 al pin 50 del FPGA XC4005XL09PC84

Universidad Autnoma Metropolitana Unidad Iztapalapa

-91-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Figura 4.30 Plano del FPGA XC4005XL-09PC84

Figura 4.31 Declaracin de puertos en Project Navigator

Para la implementacin de este proyecto se encuentran conectados cuatro interruptores, lo que se encargan de introducir la cifra en cdigo 2 4 2 1 los cuales se encuentran en los pins del 47 al 50, y cuatro diodos LEDS colocados en los pins del 23 al 26, en los cuales se observa la cifra convertida en cdigo 8 4 -2 1.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-92-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Los archivos necesarios para realizar la simulacin y poder grabar el FPGA se encuentran localizado en el CD, de 2 formas posibles, cada una de ellas se encuentran en una carpeta del CD, para que se puedan apreciar mejor: D:\proyectOctubre2007\PROGRAMAS\LOGICA_PROYECTOS\CONVERTIDOR\CO NVERTIDOR2

Figura 4.32 Fotografa del montaje del proyecto

Para entender de manera mas optima el funcionamiento del proyecto anterior, se muestra un video clip del proyecto CONVERTIDOR en funcionamiento el cual se encuentra en la siguiente ruta: D:\proyectOctubre2007\VIDEO\FPGA_PROYECTOS

5. - CONVERTIDOR DECIMAL A HEXADECIMAL.

Disear un circuito combinacional que permita visualizar en un display de siete segmentos los valores decimales 0 al 15 expresado en cdigo hexadecimal. Empecemos analizando el problema, los valores decimales se pueden representar con cuatro bits, de igual manera los nmeros hexadecimales tambin se pueden representar con cuatro bits. Los nmeros decimales, son las entradas de nuestro circuito las cuales son cuatro, y las salidas son siete, por que lo queremos visualizar en un display. Las entradas sern representadas por A, B, C y D, las salidas del circuito sern Fa, Fb, Fc, Fd, Fe, Ff, Fg. Para la visualizacin de los nmeros en hexadecimal requerimos el display de siete segmentos, el cual se ilumina con un voltaje, por que es un display de ctodo comn, conociendo las entadas y conociendo el funcionamiento del display se deduce la tabla de verdad.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-93-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Figura 4.33 Tabla de verdad

Necesitamos obtener las funciones booleanas de cada una de las salidas, Las salidas de Fa, Fb, Fc, Fd, Fe, Ff y Fg son circuitos combinacionales independientes entre si, pero en conjunto son las salidas para obtener el numero hexadecimal visualizado en el display. El circuito combinacional de cada uno de las salidas es:

Circuito combinacional Fa:

Figura 4.34 Diseo lgica, Funcin booleana y Tabla de verdad

F(A,B,C,D)=ABD+AC+ABC+BD+BC

Universidad Autnoma Metropolitana Unidad Iztapalapa

-94-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Circuito combinacional Fb:

Figura 4.35 Diseo lgica, Funcin booleana y Tabla de verdad

F(A,B,C,D)=AB+ACD+ACD+BD+ACD

Circuito combinacional Fc:

Figura 4.36 Diseo lgica, Funcin booleana y Tabla de verdad

F(A,B,C,D)=AC+AD+AB+AB+CD

Universidad Autnoma Metropolitana Unidad Iztapalapa

-95-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Circuito combinacional Fd:

Figura 4.37 Diseo lgica, Funcin booleana y Tabla de verdad

F(A,B,C,D)=ABD+BCD+AC+BCD+BCD

Circuito combinacional Fe:

Figura 4.38 Diseo lgica, Funcin booleana y Tabla de verdad

F(A,B,C,D)=BD+AB+CD+AC

Universidad Autnoma Metropolitana Unidad Iztapalapa

-96-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Circuito combinacional Ff:

Figura 4.39 Diseo lgica, Funcin booleana y Tabla de verdad

F(A,B,C,D)=ACD+ABC+ABD+AB+AC Circuito combinacional Fg:

Figura 4.40 Diseo lgica, Funcin booleana y Tabla de verdad

F(A,B,C,D)=BC+BC+CD+A

Universidad Autnoma Metropolitana Unidad Iztapalapa

-97-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Observemos la simulacin del circuito combinacional utilizando el simulador VeriBest V99.0, el programa en VHDL para este diseo esta estructurado en forma estructural. La Descripcin Estructural que es la que ms se acerca a la realizacin fsica de un circuito y puede considerarse como una lista de componentes e interconexiones (Nestlist), los componentes son entidades definidas y para las conexiones se utilizan seales internas definidas al principio. Los archivos y todo lo relacionado para la simulacin de este proyecto se encuentran localizado en: D:\proyectOctubre2007\PROGRAMAS\LOGICA_PROYECTOS\CONVERTIDOR

Figura 4.41 Simulador VeriBest V99.0

La Figura 4.41 se muestra la simulacin del diseo del circuito generador de nmeros hexadecimales mostrados en un display de siete segmentos. Despus de simular en VeriBest V99.0, hay que construir en el dispositivo de FPGA, hay que tomar en cuenta que necesitamos cuatro puertos de entradas y siete puertos de salidas, las cuales deben de ser consecutivos para poder realizar un cableado mejor estructurado.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-98-

PROYECTO DE INGENIERIA ELECTRNICA

Los cuatro puertos de entrada estn dados por los pines 47 al 50 del modulo de FPGA y los puertos de salida son los pins 3 al 9, la declaracin de los puertos se definen en Project Navigator.

Casa abierta al tiempo

Figura 4.42 Declaracin de puertos en Project Navigator

Figura 4.43 Plano del FPGA XC4005XL-09PC84

Universidad Autnoma Metropolitana Unidad Iztapalapa

-99-

PROYECTO DE INGENIERIA ELECTRNICA

Para la implementacin de este diseo se encuentran conectados cuatro interruptores, los cuales se encargan de introducir la cifra decimal de forma binaria los cuales se encuentran en los pins del 47 al 50, y siete resistencias de 100 ohms colocados entre el display y el modulo de FPGA. Si existe alguna duda de cmo manejar el software de Veribest V99.0, Project Navigator y dems software utilizados, al final de este documento se encuentran apndices tiles para su comprensin. Los archivos necesarios para el ptimo desempeo de la simulacin y los archivos necesarios para poder grabar el FPGA se encuentran en:

Casa abierta al tiempo

Figura 4.44 Fotografa del montaje del proyecto

Para entender el desempeo del proyecto anterior, se muestra un video clip del proyecto HEXADECIMAL en funcionamiento el cual se encuentra en la siguiente ruta: D:\proyectOctubre2007\VIDEO\FPGA_PROYECTOS

Universidad Autnoma Metropolitana Unidad Iztapalapa

-100-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

UTILIZANDOORCADDEMOYFPGA 6.CONTADORASCENDENTE/DESCENDENTEMODULO8
Disee, simule y construya un contador modulo 8 ascendente y descendente, sea x la variable externa que controlara el sentido de la cuenta; y y zlas variables externas de salida. El diseo del contador deber de cumplir con lo siguiente:

Si x=1 el contador ser ascendente con reinicio de cuenta. Si x=0 ser descendente tambin con reinicio de cuenta La cuenta se visualizara mediante un display de siete segmentos La salida y que ser uno nicamente cuando la cantidad de ceros de la cuenta, sea minora y el valor de la variable x sea 1. La salida z que ser uno solo cuando x=0 y la cantidad de unos de la cuenta sea minora.

Figura 4.45 Tabla de salida del circuito

Observemos la simulacin del circuito secuencial en el simulador OrCAD Demo v9.0, el programa en VHDL para este diseo esta estructurado en forma algortmica. La Descripcin algortmica, es la ms cercana a un lenguaje convencional. Esta formada por el bloque de PROCESS, similar a una subrutina, cuyas instrucciones se ejecutan secuencialmente. En esta descripcin no se indican componentes, ni interconexiones, solo su comportamiento o funcionamiento.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-101-

PROYECTO DE INGENIERIA ELECTRNICA

Los archivos y todo lo relacionado para la simulacin de este proyecto se encuentran localizado en: D:\proyectOctubre2007\PROGRAMAS\LOGICA_PROYECTOS\contadorM_8

Casa abierta al tiempo

Figura 4.46 Simulador OrCAD Demo V9

La Figura 4.46 se muestra la simulacin del diseo del circuito contador modulo 8 ascendente/descendente mostrados en un display de siete segmentos y salidas externas mostradas en LEDS. Despus de simular en OrCAD Demo V9, hay que construir en el dispositivo de FPGA, hay que tomar en cuenta que necesitamos dos puertos de entradas y nueve puertos de salidas, las cuales deben de ser consecutivos para poder realizar un cableado mejor estructurado. Los dos puertos de entrada estn dados por los pines 57 y 50 del modulo de FPGA y los puertos de salida son los pins 3 al 9,23 y 24, la declaracin de los puertos se definen en Project Navigator.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-102-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Figura 4.47 Declaracin de puertos en Project Navigator

Figura 4.48 Plano del FPGA XC4005XL-09PC84

Para la implementacin de este diseo se encuentran conectados un interruptor, el cual se encarga de introducir si es ascendente o descendente, en los pins del 47 al 50, se encuentran conectados siete resistencias de 100 ohms colocados entre el display y el modulo de FPGA, en el pin 23 se encuentra conectado un diodo LED, el cual es la salida externa Y y por ultimo se encuentra un diodo LED en el pin 24, el cual es la salida X, del circuito.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-103-

PROYECTO DE INGENIERIA ELECTRNICA

Si existe alguna duda de cmo manejar el software de Veribest V99.0, Project Navigator y dems software utilizados, al final de este documento se encuentran apndices tiles para su comprensin. Los archivos necesarios para el ptimo desempeo de la simulacin y los archivos necesarios para poder grabar el FPGA se encuentran en:

Casa abierta al tiempo

Figura 4.49 Fotografa del montaje del proyecto

Para entender el desempeo del proyecto anterior, se muestra un video clip del proyecto MODULO_8 en funcionamiento el cual se encuentra en la siguiente ruta: D:\proyectOctubre2007\VIDEO\FPGA_PROYECTOS

7.CONTADORDE0A99CONREINICIODECUENTA
Un contador es bsicamente un registro que pasa por una sucesin predeterminada de estados. Las compuertas del contador estn conectadas de tal manera que producen la sucesin preescrita de estados binarios. Disear, simular y construir un contador de 0 a 99 con reinicio de cuenta. Efectu el diseo de manera que solo reciba como seal de entrada un pulso de CLK y se visualic en dos display de siete segmentos de ctodo comn.. Los archivos y todo lo relacionado para la simulacin de este proyecto se encuentran localizado en: D:\proyectOctubre2007\PROGRAMAS\LOGICA_PROYECTOS\contador00_99 En la Figura 4.50 Se muestra la simulacin del contador 0 a 99 con reinicio de cuenta, esta simulacin se realizo en OrCAD Demo.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-104-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Figura 4.50 Simulador OrCAD Demo

Para la implementacin en FPGA: Los puertos de entrada y salida son: los puertos de salida estas compuestos del pin 3 al pin 9 y del pin 44 al pin 50 del FPGA XC4005XL-09PC84 el puerto de entrada, el pin 57, en donde se introduce el CLK.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-105-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Figura 4.51 Plano del FPGA XC4005XL-09PC84

Figura 4.52 Declaracin de puertos en Project Navigator

Para la implementacin de este proyecto se encuentran conectadas siete resistencias de 100 ohms los cuales estn colocados en los pins del 44 al 50 del FPGA y en el display1 de siete segmentos, de igual manera otras siete resistencias de 100 ohms en los pins del 3 al 9, para el display 2. El pulso de reloj (CLK), es generado por un oscilador, el cambio entre un nivel alto de voltaje y uno bajo, es de aproximadamente 1 segundo, este pulso se conecta en el pin 57 del FPGA. Los archivos necesarios para realizar la simulacin y poder grabar el FPGA se encuentran localizado en: D:\proyectOctubre2007\PROGRAMAS\LOGICA_PROYECTOS\contador00_99

Universidad Autnoma Metropolitana Unidad Iztapalapa

-106-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Figura 4.53 Fotografa del montaje del proyecto

Para entender de manera mas optima el funcionamiento del proyecto anterior, se muestra un video clip del proyecto CONTADOR_99 en funcionamiento el cual se encuentra en la siguiente ruta:

8.CONTADORDERIZODE0A7 Contadorderizo
En un contador de rizo, la transicin de salida del flip-flop sirve para disparar otros flip-flop. Dicho de otro modo, la entrada C de algunos flip-flop, o de todos, se dispara. No con los pulsos de reloj comn, sino con la transicin que se da en otras salidas de flip-flop. Disear un contador de una dcada (esto es, 0 a 7) de ondulacin (rizo). Al construir este contador deber de observarse la cuenta en un display de siete segmentos de ctodo comn, el contador deber comenzar desde cero. Los archivos y todo lo relacionado para la simulacin de este proyecto se encuentran localizado en: D:\proyectOctubre2007\PROGRAMAS\LOGICA_PROYECTOS\CONTADOR RIZO En la Figura 4.54 Se muestra la simulacin del contador 0 a 7, esta simulacin se realizo en OrCAD Demo.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-107-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Figura 4.54 Simulador OrCAD Demo

Para la implementacin en FPGA: Los puertos de entrada y salida son: los puertos de salida estas compuestos del pin 3 al pin 9 del FPGA XC4005XL-09PC84 el puerto de entrada, el pin 57, es donde se introduce el CLK.

Figura 4.55 Plano del FPGA XC4005XL-09PC84

Universidad Autnoma Metropolitana Unidad Iztapalapa

-108-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Figura 4.56 Declaracin de puertos en Project Navigator

Para la implementacin de este proyecto se encuentran conectados siete resistencias de 100 ohms los cuales estn colocados en los pins del 3 al 9 del FPGA y en el display de siete segmentos. El pulso de reloj (CLK), es generado por un oscilador, el cambio entre un nivel alto de voltaje y uno bajo, es de aproximadamente 1 segundo, este pulso se conecta en el pin 57 del FPGA. Los archivos necesarios para realizar la simulacin y poder grabar el FPGA se encuentran localizado en: D:\proyectOctubre2007\PROGRAMAS\LOGICA_PROYECTOS\CONTADOR RIZO

Figura 4.57 Fotografa del montaje del proyecto

Para entender de manera mas optima el funcionamiento del proyecto anterior, se muestra un video clip del proyecto RIZO en funcionamiento el cual se encuentra en la siguiente ruta: D:\proyectOctubre2007\VIDEO\FPGA_PROYECTOS

Universidad Autnoma Metropolitana Unidad Iztapalapa

-109-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Universidad Autnoma Metropolitana Unidad Iztapalapa

-110-

PROYECTO DE INGENIERIA ELECTRNICA

SEGUNDA PARTE: PROYECTOS UTILIZANDO PIC16F84 1. -SUMADOR DE 3 BITS


Se trata de simular un sumador de dos nmeros binarios de tres bits cada uno y el resultado de la operacin aritmtica se muestra en un banco de 4 LEDS.

Casa abierta al tiempo

DiagramaElctrico

Figura 4.58 Diagrama elctrico del sumador.

Como se puede apreciar en la Figura 4.58 se colocan tres interruptores en las lneas RA0, RA1 y RA2 de la puerta A, los cuales ingresan el primer operando, de igual manera se colocan otros tres interruptores en las lneas RB4, RB5 y RB6 de la puerta B del PIC16F84 y cuatro LEDS en las lneas RB0, RB1, RB2 y RB3 de PB. Mediante los tres interruptores de cada puerta, se introduce un nmero binario de tres bits y la suma se visualizara en los cuatro LEDS colocados.

Figura 4.59 Fotografa del montaje del proyecto

Universidad Autnoma Metropolitana Unidad Iztapalapa

-110-

PROYECTO DE INGENIERIA ELECTRNICA

Para entender de manera mas optima el funcionamiento del proyecto anterior, se muestra un video clip del proyecto SUMA en funcionamiento.

Casa abierta al tiempo

Diagrama de Flujo

Figura 4.60 Funcionamiento del sumador.

Los archivos y todo lo relacionado para la simulacin de este proyecto se encuentran localizado en: D:\proyectOctubre2007\PROGRAMAS\PICS_PROYECTO\Suma Un video del funcionamiento de este proyecto SUMA se encuentra en: D:\proyectOctubre2007\VIDEO\PIC_PROYECTOS

2. -CONTADOR ASCENDENTE
Se desea confeccionar un programa para el PIC16F84, que comience poniendo en ceros un contador de cuatro bits, el cual se visualizara en cuatro LEDS, y se incremente de uno en uno en su cuenta hasta llegar a 15 de forma

Universidad Autnoma Metropolitana Unidad Iztapalapa

-111-

PROYECTO DE INGENIERIA ELECTRNICA

binaria, al final de la cuenta muestre un mensaje de termino mostrado en una pantalla LCD.

Casa abierta al tiempo

Diagrama Elctrico

Figura 4.61 Diagrama elctrico del contador.

Como se puede apreciar en la Figura 4.61 se colocan cuatro LEDS en las lneas RB0, RB1 RB2 y RB3, el modulo de LCD se implementa con las lneas RB0, RB1, RB2, RB3, RB4, RB5, RB6 y RB7 del PB RA0, RA1 y RA2 del PA, adems un potencimetro colocado en el pin 3 de modulo LCD.

Figura 4.62 Fotografa del montaje del proyecto

Para entender de manera mas optima el funcionamiento del programa anterior, se muestra un video clip del CONTADOR en funcionamiento.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-112-

PROYECTO DE INGENIERIA ELECTRNICA

Diagrama de Flujo

Casa abierta al tiempo

Figura 4.63 Funcionamiento del contador.

Los archivos y todo lo relacionado para la simulacin de este proyecto se encuentran localizado en: D:\proyectOctubre2007\PROGRAMAS\PICS_PROYECTO\Contador_lcd Un video del funcionamiento de este proyecto CONTADOR_LCD se encuentra en: D:\proyectOctubre2007\VIDEO\PIC_PROYECTOS

3. - MANEJO DE INTERRUPCIONES
Conectados a las lneas RA0 y RA1 de la puerta A existen dos interruptores, A y B, los cuales tienen que ser explorados continuamente y reflejar su estado (abiertos o cerrados) sobre los diodos LED, A y B, conectados a las lneas RB0 y RB1 de la puerta B.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-113-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Adems existe otro diodo LED en la lnea RB7 que esta parpadeando continuamente, pasando cada segundo por los estados de encendido y apagado.

Para controlar el retardo de 1 segundo para el parpadeo del led conectado en la lnea RB7, se genere una interrupcin cada dicho tiempo por desbordamiento del TMRO Inicialmente se cargara el TMRO con el valor 1210 con lo que el desbordamiento se producir al cabo de 244(256-12) impulsos aplicados a dicho temporizador. Dichos impulsos sern los del oscilador interno Tosc, pero divididos por 256 en el divisor de frecuencia, con lo cual la temporizacin total ser: Temporizador = 4*Tosc*Valor TMRO* Rango Divisor de Frecuencia Temporizador = 4*250ns*244*256= 62.4ms Como no se alcanza el retardo de 1 segundo se emplea un contador auxiliar CONTA que al cargarse con un valor de 1610 y se decrementar una unidad cada 62.4 ms, cuando llegue a 0 conseguir, aproximadamente, el tiempo buscado (62.4 ms x 16). Diagrama Elctrico

Figura 4.64 Diagrama elctrico.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-114-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Figura 4.65 Fotografa del montaje del proyecto

Los archivos y todo lo relacionado para la simulacin de este proyecto se encuentran localizado en: D:\proyectOctubre2007\PROGRAMAS\PICS_PROYECTO\Interrupciones Un video del funcionamiento de este proyecto INTERRUPCIONES se encuentra en: D:\proyectOctubre2007\VIDEO\PIC_PROYECTOS

Diagrama de Flujo.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-115-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Figura 4.66 Diagrama del funcionamiento.

4. - DISPLAY
Se propone disear un convertidor, que debe mostrar el nmero binario de tres bits en un display de siete segmentos de ctodo comn.

Diagrama Elctrico

Universidad Autnoma Metropolitana Unidad Iztapalapa

-116-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Figura 4.67 Diagrama del funcionamiento del display.

Como se puede apreciar en la Figura 4.67 en las tres lneas de menos peso de la puerta A del PIC16F84 se conectan tres interruptores por los cuales se introduce un numero binario (000-111). Al utilizar un display de siete segmentos de ctodo comn se supone que los segmentos se iluminaran, cuando las lneas de la puerta B tengan salidas de nivel alto y se introduzcan al display

Figura 4.68 Fotografa del montaje del proyecto

Los archivos y todo lo relacionado para la simulacin de este proyecto se encuentran localizado en: D:\proyectOctubre2007\PROGRAMAS\PICS_PROYECTO\Display Un video del funcionamiento de este proyecto DISPLAY se encuentra en: D:\proyectOctubre2007\VIDEO\PIC_PROYECTOS

Universidad Autnoma Metropolitana Unidad Iztapalapa

-117-

PROYECTO DE INGENIERIA ELECTRNICA

Diagrama de Flujo

Casa abierta al tiempo

Figura 4.69 Diagrama del funcionamiento del display.

5. - MANEJO DE COMBINACIONAL
Se propone disear un programa en cual mediante dos interruptores conectados en RA0 y RA1 del PA, I0 e I1, controlan el estado lgico de ocho diodos LED, los cuales se encuentran conectados en las lneas de PB, los cambios de los ocho diodos LEDS, se encuentran gobernados por la siguiente tabla de verdad.

I1 0 0 1 1

I0 0 1 0 1

L7 1 0 0 1

L6 0 1 0 1

L5 1 0 0 1

L4 0 1 0 1

L3 1 0 1 0

L2 0 1 1 0

L1 1 0 1 0

L0 0 1 1 0

Figura 4.70 Tabla de verdad de I0 e I1

Universidad Autnoma Metropolitana Unidad Iztapalapa

-118-

PROYECTO DE INGENIERIA ELECTRNICA

Diagrama Elctrico

Casa abierta al tiempo

Figura 4.71 Diagrama elctrico del problema combinacional.

Figura 4.72 Fotografa del montaje del proyecto

Universidad Autnoma Metropolitana Unidad Iztapalapa

-119-

PROYECTO DE INGENIERIA ELECTRNICA

Los archivos y todo lo relacionado para la simulacin de este proyecto se encuentran localizado en: D:\proyectOctubre2007\PROGRAMAS\PICS_PROYECTO\Manejo_Comb Un video del funcionamiento de este proyecto se encuentra en: D:\proyectOctubre2007\VIDEO\PIC_PROYECTOS

Casa abierta al tiempo

Diagrama de Flujo

Figura 4.73 Diagrama del funcionamiento combinacional.

6. - CONTADOR ASCENDENTE/DESCENDENTE

Un display de siete segmentos visualiza una cuenta de 0 al 9, que se introducen por medio del interruptor I0.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-120-

PROYECTO DE INGENIERIA ELECTRNICA

El contador puede ser ascendente o descendente, segn el estado que introduce el interruptor I1. Si I0=0, el contador es ascendente, en caso contrario es descendente. Diagrama Elctrico

Casa abierta al tiempo

Figura 4.74 Diagrama elctrico del contador.

Como se puede apreciar en la Figura 4.74 se conectan dos interruptores en las lneas RA0 y RA1, adems, un display de siete segmentos de catado comn, conectados en las lneas de salida de la puerta B. cada una con su respectiva resistencia de 1k.

Figura 4.75 Fotografa del montaje del proyecto

Los archivos y todo lo relacionado para la simulacin de este proyecto se encuentran localizado en: D:\proyectOctubre2007\PROGRAMAS\PICS_PROYECTO\Count_up_down

Universidad Autnoma Metropolitana Unidad Iztapalapa

-121-

PROYECTO DE INGENIERIA ELECTRNICA

Un video del funcionamiento de este proyecto CONTADOR_A-D se encuentra en: D:\proyectOctubre2007\VIDEO\PIC_PROYECTOS

Casa abierta al tiempo

Diagrama de Flujo

Figura 4.76 Diagrama de funcionamiento del contador.

7. - CONTROL DE ACCESO.
Se desea controlar la capacidad mxima de un local, que no debe superar las doce personas. Para conocer la entrada y la salida de las personas existen dos sensores, I0 e I1, colocados estratgicamente.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-122-

PROYECTO DE INGENIERIA ELECTRNICA

Cuando hay personas en un local, la lmpara L, esta encendida y se apaga automticamente cuando no hay nadie. Si dentro del local hay menos de 12 personas, se ilumina en el exterior un cartel PL, que indican plazas libres, Si hay 12 personas, se enciende el cartel C de completo. Si estando completo el local alguien intenta entrar, se activa una alarma acstica A.

Casa abierta al tiempo

Diagrama Elctrico

Figura 4.77 Diagrama elctrico del control de acceso.

Como se puede apreciar en la Figura 4.77 se conectan dos push-botton I0 el cual es entrada y I1 el cual es salida en las lneas RA0 y RA1, en las lneas de RB0, RB1 y Rb2 se conectan tres LEDS, indicadores de las banderas L, C, PL en la lnea RB3 se encuentra conectado un oscilador que hace funcionar el zumbador.

Figura 4.78 Fotografa del montaje del proyecto

Universidad Autnoma Metropolitana Unidad Iztapalapa

-123-

PROYECTO DE INGENIERIA ELECTRNICA

Los archivos y todo lo relacionado para la simulacin de este proyecto se encuentran localizado en: D:\proyectOctubre2007\PROGRAMAS\PICS_PROYECTO\Acceso Un video del funcionamiento de este proyecto CONTROL_ACCESO se encuentra en: D:\proyectOctubre2007\VIDEO\PIC_PROYECTOS

Casa abierta al tiempo

Diagrama de Flujo

Figura 4.79 Diagrama del funcionamiento

Universidad Autnoma Metropolitana Unidad Iztapalapa

-124-

PROYECTO DE INGENIERIA ELECTRNICA

8. - SEMFORO PROGRAMABLE
Se trata de simular el funcionamiento de las tres luces del semforo (verde, amarillo y rojo) mediante tres diodos LED (LI, L2Y L3.) El control del encendido y apagado de los LED se realiza mediante los interruptores I1 e I2 de los cuatro que dispone un conjunto DIP-SWITCH.

Casa abierta al tiempo

I2 0 0 1 1

I1 0 1 0 1

L1(V) RB1 5 5 8 10

L2(A) RB3 2 2 2 2

L3(R) RB5 5 10 8 5

La Tabla de verdad en la que se indican los segundos de encendido de los LED. Segn el estado de los interruptores, se desarrolla una secuencia concreta de tiempo de encendido de los tres LED que simula las luces del semforo, de acuerdo con la tabla, la finalidad primordial de este ejercicio esta la de manejar el temporizador TMR0 para que produzca retardos de diversa duracin. Como se puede apreciar en la Figura 4.80 los interruptores I1 e I2 se conectan en las lneas de entrada RA0 y RA1 de la PUERTAA a travs de sendas resistencias de 10k. En este caso son activos por nivel bajo. Los diodos LED L1, L2 y L3 se conectan a las lneas de salida RB1, RB3 y RB5 de la PUERTAB a travs de resistencias de 330.

Diagrama Elctrico

Figura 4.80 Diagrama elctrico del semforo.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-125-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Diagrama de Flujo

Figura 4.81 Diagrama del funcionamiento del semforo.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-126-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Figura 4.82 Fotografa del montaje del proyecto

Los archivos y todo lo relacionado para la simulacin de este proyecto se encuentran localizado en: D:\ proyectOctubre2007\ PROGRAMAS\ PICS_PROYECTO\Semaforo. Un video del funcionamiento de este proyecto SEMAFORO se encuentra en: D:\proyectOctubre2007\VIDEO\PIC_PROYECTOS

9. - DADO ELECTRNICO
Este proyecto de simula un juego de azar. Un dado tpico tiene seis caras, en cada una de las cuales viene marcado un nmero de puntos de 1 a 6. El dado es sustituido por un display de 7 segmentos, que ser el encargado de visualizar un nmero aleatorio comprendido entre el 1 y el 6 cada vez que se presione el push-botton.

Diagrama Elctrico

Figura 4.83 Diagrama elctrico de dado electrnico.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-127-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

En el esquema de la Figura 4.83 se muestra la conexin de las siete lneas de menos pesos de la PUERTAB(RB0-RB6) a los segmentos del display a travs de siete de las ocho resistencias de 1k. La lnea de entrada RA0 soporta el nivel lgico que introduce un push-botton. El push-botton introducir un 1 lgico al activarse aunque podra conectarse para introducir un 0. Por su parte, el display de siete segmentos tambin se activa por nivel alto, ya que es de ctodo comn.

Diagrama de Flujo

Figura 4.84 Diagrama del funcionamiento del dado electrnico.

Figura 4.85 Fotografa del montaje del proyecto

Universidad Autnoma Metropolitana Unidad Iztapalapa

-128-

PROYECTO DE INGENIERIA ELECTRNICA

Los archivos y todo lo relacionado para la simulacin de este proyecto se encuentran localizado en: D:\proyectOctubre2007\PROGRAMAS\PICS_PROYECTO\Dado Un video del funcionamiento de este proyecto DADO se encuentra en: D:\proyectOctubre2007\VIDEO\PIC_PROYECTOS

Casa abierta al tiempo

10. - TEMPORIZADOR PROGRAMABLE


Se propone disear un temporizador que controle un tiempo medido en segundos, hasta un mximo de siete. Para programar el temporizador se dispone de tres de los cuatro interruptores. Segn su posicin determinan un valor binario, que puede alcanzar el valor siete cuando los tres introducen un nivel alto. El tiempo lo visualiza un display de siete segmentos, que se va decrementando hasta llegar a cero. Tambin existe un push-botton para poner en marcha la cuenta del tiempo. Como perifricos de salida, existe, adems del display, un zumbador acstico genera un pitido, mientras dura el periodo de tiempo regular.

Diagrama Elctrico

Figura 4.86 Diagrama elctrico del temporizador.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-129-

PROYECTO DE INGENIERIA ELECTRNICA

La PUERTAB esta configurada como salida y sus siete lneas de menos peso se asignan al control del display de siete segmentos a travs de siete resistencias de 1k. La PUERTAA acta como entrada y recibe el estado de los interruptores que programa el tiempo. En nuestro caso los tres interruptores validos sern los conectados a lneas de menos peso de la PUERTAA (RA0, RA1, RA2). El interruptor de RA3 no tiene significado y su valor de pone a cero por software cuando se lee la PUERTAA. Finalmente la lnea de salida RB3 soporta simultneamente al zumbador.

Casa abierta al tiempo

Figura 4.87 Fotografa del montaje del proyecto

Los archivos y todo lo relacionado para la simulacin de este proyecto se encuentran localizado en: D:\proyectOctubre2007\PROGRAMAS\PICS_PROYECTO\Temporizador Un video del funcionamiento de este proyecto TEMPORIZADOR se encuentra en: D:\proyectOctubre2007\VIDEO\PIC_PROYECTOS

Universidad Autnoma Metropolitana Unidad Iztapalapa

-130-

PROYECTO DE INGENIERIA ELECTRNICA

Diagrama de Flujo

Casa abierta al tiempo

Figura 4.88 Diagrama del funcionamiento del temporizador.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-131-

PROYECTO DE INGENIERIA ELECTRNICA

11. - ALARMA Se trata de simular una alarma domestica, para lo cual se colocan tres detectores en posibles puntos de entrada a una vivienda y avisadores acsticos y visuales. Cada sensor provoca el encendido de un diodo LED diferente cuando se activa y un pitido por un zumbador, significando que la alarma a asaltado. Los detectores estn implementados por dos interruptores y un optoacoplador H21A1. Un optoacoplador es un sensor que manda una determinad seal (0 o 1 lgico) cuando existe haz luminoso entre el emisor y el detector, y la seal contraria cuando dicho haz se corta.

Casa abierta al tiempo

Diagrama Elctrico

Figura 4.89 Diagrama elctrico de la alarma.

Figura 4.90 Fotografa del montaje del proyecto

Universidad Autnoma Metropolitana Unidad Iztapalapa

-132-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Los archivos y todo lo relacionado para la simulacin de este proyecto se encuentran localizado en: D:\proyectOctubre2007\PROGRAMAS\PICS_PROYECTO\Alarma Un video del funcionamiento de este proyecto ALARMA se encuentra en: D:\proyectOctubre2007\VIDEO\PIC_PROYECTOS

Diagrama de Flujo

Figura 4.91 Diagrama del funcionamiento de la alarma.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-133-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

CONCLUSIONES

Universidad Autnoma Metropolitana Unidad Iztapalapa

-134-

PROYECTO DE INGENIERIA ELECTRNICA

La descripcin en VHDL de un circuito digital permite que como estudiantes recurramos a los circuitos integrados comerciales, ya que este lenguaje se relaciona con el funcionamiento del dispositivo que se est modelando, y de esta forma no se pierde vigencia en el diseo realizado. El ahorro en tiempo en la elaboracin de aplicaciones sencillas, o ms bien bsicas, es bastante notorio, siempre y cuando se tenga un conocimiento previo del lenguaje de descripcin de hardware que se utiliza y fundamentos tericos de la electrnica digital. Las modificaciones en el diseo no necesitan un esfuerzo adicional como lo son los desarrollos por hardware convencionales. Las herramientas de diseo, permiten no solamente programar dispositivos PLDs y FPGAs, sino que adems permiten realizar la simulacin del diseo, como son el caso de los programas Veribest, Orcad o Quartus II, de esta forma se puede verificar su correcto funcionamiento. Debido a los recursos totales disponibles en las FPGAs, se pueden realizar diseos bastante complejos, que contengan integrados como procesadores, DPSs, entre otros, con la ventaja de desarrollarlo de acuerdo a las condiciones especficas de la aplicacin. Esto se pude llevar a cabo con un profundo anlisis en cada una de las tecnologas, sin embargo este reporte solo brinda un panorama y uso general de las mismas. Como resultado en nuestro proyecto terminal pudimos definir algunas de las ventajas del VHDL como las siguientes: Permite disear y modelar un sistema en varios niveles de abstraccin: flujo de datos, estructural, algortmico. Una descripcin en VHDL es no depende de la implementacin hardware final en cada aplicacin. VHDL ofrece sus propias maneras de definir "subprogramas o subrutinas". El estudio de los dispositivos programables nos permiti ir formando un conocimiento slido para la construccin de soluciones basadas en ejemplos sencillos pero an ms con un aprendizaje en asignaturas como Sistemas Digitales. Nos pudo dar a conocer el funcionamiento y a prepararnos en los casos en donde debamos de cambiar de dispositivos, adecuando las tcnicas y los sistemas. De esta manera, es como podemos trasmitir los resultados, reconociendo como alumnos que aspectos y caractersticas debamos de cubrir es necesario saber previamente para poder ofrecer soluciones, y as el lector pueda utilizarlas como otras alternativas.

Casa abierta al tiempo

Universidad Autnoma Metropolitana Unidad Iztapalapa

-135-

PROYECTO DE INGENIERIA ELECTRNICA

Casa abierta al tiempo

Otros de los puntos que pudimos notar en el uso del FPGA y microcontroladores, que son de gran utilidad en los laboratorios de Electrnica Digital, son: reemplazan a varios componentes discretos, reduccin del n de CIs, reduccin de espacio, conexiones, consumo, reduccin del coste, aumento de fiabilidad, tienen la posibilidad de ser reprogramados, eliminacin de errores de grabacin, gran flexibilidad, su diseo es sencillo, adems de que es una programacin a alto nivel (ecuaciones booleanas, tablas de verdad, diagramas de estados...) y ofrece una posibilidad de simulacin En conclusin, en este proyecto terminal de Ingeniera Electrnica se logro concretar satisfactoriamente los propsitos del mismo, y aportar mas a nuestra formacin como ingenieros.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-136-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Apndice A VERIBEST V99.0, ORCAD DEMO V9 Y Quartus II.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-137-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

VeriBest V99.0

1. Se abre la aplicacin Inicio/Programas/VeriBesV99.0/VeriBest VHDL simulador/ VeriBest VHDL y se crea un nuevo espacio de trabajo mediante el comando File/New, seleccionando VHDL Workspace y haciendo clic en la opcin OK. Tras especificar el nombre del espacio de trabajo en la casilla Workspace Name se pulsa la opcin Create. 2. De la misma forma se crea un fichero fuente VHDL, mediante el comando File/New seleccionando VHDL Source File y haciendo clic en la opcin OK se crea una ventana de nombre VHDL1 en la que se puede escribir el cdigo fuente VHDL.

3. Una vez capturado el cdigo, en este ejemplo de una compuesta AND, se


ha creado un nuevo fichero fuente VHDL para definir los estmulos y poder simular el comportamiento de la compuerta lgica con sus diagramas de tiempos, funcin que tambin es posible con este programa. Como cualquier lenguaje de programacin, en la simulacin mediante VHDL, se deben realizar los pasos descritos en la Figura A.1; compilar el fichero fuente creado, ejecutar el simulador y visualizar los resultados obtenidos.

Figura A.1 Lenguaje VHDL una compuerta AND

Universidad Autnoma Metropolitana Unidad Iztapalapa

-138-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

4. La compilacin se realiza mediante el comando Workspace/Compile All, o haciendo clic sobre el botn cuyo icono es el siguiente:

5. Una vez compilado sin errores se puede simular, pero antes se debe elegir la entidad y arquitectura raz para la simulacin mediante haciendo clic en el botn cuyo icono es el siguiente:

6. Aparecer un men como el de la Figura A.2, seleccionar la etiqueta de Simulate y abrir la carpeta WORK. Selecciona la arquitectura que se quiere simular, se hace clic sobre el botn Set y sobre el botn aceptar.

Figura A.2 Ventana Men del paso 6

7. Para simular hay que hacer clic sobre el botn de la barra de herramientas cuyo icono se muestra a continuacin.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-139-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

8. Para definir las seales a visualizar se hace clic sobre el botn cuyo icono es el siguiente:

9. En la ventana que aparece se deben especificar las seales a visualizar, es por eso que se presiona el siguiente botn:

10. Se observara una lista de seales, se pueden seleccionar algunas o todas con la opcin Add All finalizando con ala opcin Close, como se ve en la Figura A.3.

Figura A.3 Ventana de Seales disponibles de la compuerta AND.

11. El ltimo paso consiste en ejecutar el simulador para ver las seales que se producen durante un lapso de tiempo, para esto se puede poner en el siguiente icono:

Universidad Autnoma Metropolitana Unidad Iztapalapa

-140-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

12. Se hace clic en el botn cuyo icono es el de la figura de abajo, para finalmente obtener los diagramas de tiempo como los de la Figura A.4.

13. Para salir de la simulacin una ves que verificamos que nuestro diseo realizo el trabajo esperado, se hace clic en el botn cuyo icono es:

Figura A.4 Diagramas de tiempo de la compuerta AND.

Todo lo anterior descrito es necesario para poder llevar acabo nuestro flujo de diseo de manera correcta y para la deteccin de errores, esto con el fin de obtener el archivo.vhd necesario, adems podemos ver que el resultado obtenido es el que caba esperar. Ahora estamos en disposicin de comenzar desde el principio, aadiendo nuevos circuitos a nuestro espacio de trabajo. Ahora finalmente poder pasar a la etapa de prueba fsica mediante el uso de la tarjeta de FPGA.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-141-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

OrCAD Demo V9

CREACIN DE UN PROYECTO
Pasos a realizar para crear un proyecto: 1. - Abrir la aplicacin Inici/Programas/OrCAD Demo/Simulate Demo, visualizndose la ventana de la Figura A.5

Figura A.5 Pantalla inicial del simulador

2. -Crear un nuevo proyecto mediante el comando File/New, o el icono

Mostrndose la ventana de la Figura A.6, en la que se solicita el tipo de fichero a crear, seleccionando OrCAD Project.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-142-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Figura A.6 Creacin de un proyecto

3. - En la ventana de la Figura A.7, el programa solicita: el nombre del nuevo proyecto y la localizacin de su directorio.

Figura A.7 Asignacin del nombre y directorio del proyecto

AADIR DOCUMENTOS A UN PROYECTO 1. - Incluir en el proyecto ficheros VHDL (*.vho,*vhd) si estos ya han sido previamente creados, y el tipo de fichero VHDL(Netlist, SimModel o Testbench) indicados en la Figura A.8. En caso de no querer aadir documentos al proyecto seleccionar el botn Cancelar, pudindose crear posteriormente, mediante el editor del simulador, estos ficheros VHDL y aadirles al proyecto.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-143-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Figura A.8 Aadir documentos a un proyecto

Figura A.9 Seleccin del tipo de fichero VHDL

2. - Si en los pasos anteriores se incluyeron en el proyecto ficheros previamente creados, el siguiente aviso de la Figura A.10 indica si se quiere compilar dichos ficheros en el proyecto.

Figura A.10 Aviso solicitando si se quiere compilar los documentos aadidos al proyecto

Universidad Autnoma Metropolitana Unidad Iztapalapa

-144-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

3. - La Figura A.11 se muestra el entorno del programa de simulacin OrCAD Simulate Demo despus de crear un nuevo proyecto.

Figura A.11 Pantalla del programa del simulador

4. - Para crear en el proyecto nuevos ficheros fuente de tipo: VHDL, Edif. O Delay se utiliza el comando File/New, o el icono.

Mostrando la pantalla de la Figura fichero a crear en el proyecto.

A.12, que permite elegir el tipo de

Figura A.12 Seleccin del tipo del fichero

Universidad Autnoma Metropolitana Unidad Iztapalapa

-145-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Se abre el editor de texto del simulador, como muestra la Figura A.13.

Figura A.13 Ventana del editor para crear un fichero VHDL

5. - Para abrir e incluir ficheros en el proyecto, es mediante un men contextual (pulsando el botn derecho del ratn) sobre un apartado del proyecto en el que se quiere aadir el fichero, apareciendo la opcin add files, Como se muestra en la Figura A.14.

Figura A.14 Men contextual sobre el proyecto

Universidad Autnoma Metropolitana Unidad Iztapalapa

-146-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

GENERACIN DE ESTIMULOS
Para definir los estmulos del circuito, el programa de simulacin OrCAD Demo V9, permitir dos procedimientos:

Mediante la descripcin de los estimulas en un fichero VHDL que se aade al proyecto o Mediante una herramienta interactiva de generacin de estmulos propia del simulador.

3.1 Generacin de estmulos mediante fichero VHDL Mediante un editor de texto se puede generar la definicin de los estmulos de un circuito en lenguaje VHDL, este fichero se debe aadir al proyecto pulsando el botton derecho del ratn sobre el apartado del proyecto en el que se quiere aadir el fichero, apareciendo de manera contextual con la opcin add files como se mostr anterior mente. 3.2 Generacin de estmulos mediante la herramienta interactiva del simulador El comando Stimulos/New Interactive, abre la herramienta interactiva del simulador que se genera los estmulos de un circuito, permitiendo definirles de tres formas distintas: Basic: para generar impulsos, Figura A.15.

Figura A.15 Herramienta de generacin de estmulos tipo Basic


Universidad Autnoma Metropolitana Unidad Iztapalapa
-147-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Advanced: para generar una serie de impulsos que se pueden repetir un numero finito de veces, Figura A.16.

Figura A.16 Herramienta de generacin de estmulos tipo Advanced

Clock: para generar relojes, Figura A.17

Figura A.17 Herramienta de generacin de estmulos tipo Clock

En la Figura A.18 se muestran las seales de estmulos que han sido definidas mediante la herramienta interactiva del simulador y de que tipo son. Se pueden habilitar o inhabilitar cada uno de los estmulos o partes de ellos con los botones Enable y Disable respectivamente, en la ventana Interactive Stimulos.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-148-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Figura A.18 Seales de estmulos

Por ultimo poner en marcha la simulacin Simulate/Run o mediante el icono.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-149-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Uso del software CAD Quartus II


A continuacin se presenta las instrucciones paso a paso para realizar la captura del diseo con el mtodo de la escritura del cdigo de VHDL. Tambin se ilustra el proceso de simulacin en esta paquetera. Inicie el software Quartus II. Debe ver una pantalla parecida a la que se exhibe en la Figura A.19. Esa pantalla se compone de varias ventanas que dan acceso a todas las funciones del programa, las cuales el usuario selecciona con el mouse. Para empezar a trabajar en un diseo nuevo primero hay que definir un proyecto de diseo.

Figura A.19 Ventana de inicio

Quartus II facilita la tarea al diseador apoyndolo con un asistente. Selecciona File|New Project Wizard para llegar a una ventana que indica las funciones de este asistente. Haga clic en Next para abrir la ventana que se muestra en la Figura A.20.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-150-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Figura A.20 Nombre del nuevo proyecto

Figura A.21 Creacin de directorio

Establezca un directorio de trabajo y un el nombre asignado al proyecto. Haga clic en Next, como aun no hemos creado el directorio, Quartus II despliega el cuadro de mensaje, que pregunta si quiere crear el directorio, por lo tanto haga clic en Yes, lo cul lo conduce a la ventana de la Figura A.22 en esta ventana el diseador especifica los archivos existentes para el proyecto pero ahora no tenemos, as que haga clic en Next.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-151-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Figura A.22 Ventana de archivos existentes

Ahora aparece otra ventana, la cual permite al diseador especificar las herramientas CAD de otras compaas que pueden utilizarse. Haga clic en Next para ir a la ventana mostrada en la Figura A.23, donde podr especificar el tipo de dispositivo, por ahora en nuestro caso no tiene importancia, puede escoger cualquiera y hacer clic en la opcin No, I want to allow the Compiler to choose a device. Haga clic en Finish para dejar la pantalla principal, ahora ya con el nuevo proyecto creado.

Figura A.23 Tipo de dispositivos.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-152-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Quartus II ofrece un editor de texto que puede utilizarse para escribir cdigo VHDL. Seleccione File|New para abrir la ventana de la Figura A.24, elija la opcin VHDL File y haga clic en OK. Esto abre la ventana del editor de texto (Text Editor). Mediante File|Save As usted podr definir el nombre y el tipo de archivo a guardar en nuestro caso VHDL File. Es importante dejar activada la casilla Add file to current poject en la parte inferior del cuadro de dilogo (y guarde el archivo), ahora puede introducir al cdigo en la ventana del editor de texto.

Figura A.24 Ventana para editor de cdigo

Universidad Autnoma Metropolitana Unidad Iztapalapa

-153-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Figura A.25 Guardar archivo

Una vez terminado de ser capturado, seleccione Processing|Start|Start Analysis and Synthesis para que compilador sintetice un circuito que implemente el cdigo dado en VHDL. Si el cdigo est bien escrito, el compilador muestra un mensaje que indica que no se generaron errores ni advertencias. El resumen del informe de compilacin muestra un mensaje que indica que no se generaron errores ni advertencias. El resumen del informe de compilacin ser, en esencia, como el mostrado en la Figura A.27.

Figura A.26 Editor de texto


-154-

Universidad Autnoma Metropolitana Unidad Iztapalapa

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Figura A.27 Mensajes del compilador

Quartus II incluye una herramienta de simulacin que sirve para simular el comportamiento del circuito diseado. Antes que el circuito pueda simularse es preciso crear las formas de onda deseadas, llamadas vectores de prueba, a fin de representar las seales de entrada. Seleccione File|New, con lo que se abre la ventana de la Figura A.24. Haga clic en la ficha Other Files para llegar a la ventana exhibida en la Figura A.28. Seleccione Vector Waveform File y haga clic en OK.

Figura A.28 Ventana para el simulador con vectores lgicos


-155-

Universidad Autnoma Metropolitana Unidad Iztapalapa

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

La ventana del editor de formas de onda se presenta en la Figura A.29. Guarde el archivo con el nombre que desee y observe que el nombre cambia. Indique el tiempo de ejecucin de la simulacin eligiendo Edit|End Time e introdzcalo. Seleccione View|Fit in Window para mostrar el limite de la simulacin en la ventana.

Figura A.29 Editor de formas

Para incluir los nodos de entrada y salida del circuito haga clic en Edit|Insert Node or Bus para abrir lo que aparece en la Figura A.30, despus hacer clic en el botn etiquetado Node Finder para abrir la ventana de la Figura A.31. Busque todo los pines mediante LIST y pselos a espacio que dice Selected Nodes en el lado derecho de la ventana con el signo >, repita este procedimiento, haga clic en OK en todas las ventanas.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-156-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Figura A.30 Nodos de entrada y salida

Figura A.31 Buscador de nodos

Esto deja una ventana del editor de formas de onda completamente desplegada. Para simular el comportamiento de un circuito grande es preciso aplicar un nmero suficiente de combinaciones de entrada y observar los valores esperados de las salidas. Las formas de onda pueden trazarse con la herramienta Selection, que se activa seleccionando el cono que parece una punta de flecha grande en la barra de herramientas vertical con Waveform Editing, cuyo cono tambin se encuentra en la barra vertical y parece dos flechas que apuntan a la izquierda y a la derecha, solo haga clic en las barras de tiempo.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-157-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Ejecucin de la simulacin Seleccione Assignments|Settings para abrir la ventana settings. En la parte izquierda de esta ventana haga clic en Simulator; seleccione Functional como el modo de simulacin. Para completar la configuracin del simulador elija el comando Processing|Generate Functional Simulation Netlist. La ejecucin de una simulacin empieza seleccionado Processing|Start Simulation. Al final, Quartus II indica la terminacin satisfactoria y muestra un informe de simulacin.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-158-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Apndice B FPGA EXPRESS Y PROJECT NAVIGATOR

Universidad Autnoma Metropolitana Unidad Iztapalapa

-159-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

FPGA Express

Una vez obtenido el archivo *.vhd se puede continuar con nuestra simulacin, aunque ahora se darn las instrucciones de cmo ir creando otros archivos necesarios para que se puedan implementar en la tarjeta FPGA, por lo tanto hasta este momento gran parte del diseo a sido exitoso ya que hemos efectuado el diagrama de flujo correctamente.

1. Se abre la aplicacin Inicio/Programas/Xilinx Foundation Series ISE 3.1i/Accessories/ FPGA Express tambin presionando el icono que en el escritorio como el que se muestra a continuacin. Se crea un nuevo espacio de trabajo mediante el comando File/New Project, seleccionando el nombre de la carpeta que se creara y haciendo clic en la opcin OK. Tras especificar el nombre del archivo vhd deseado para su implementacin se pulsa la opcin OK.

2. Enseguida aparecer una pantalla como la que se muestra en la Figura B.1. En ella se encuentran dos espacios de trabajo, a la izquierda (Design Sources) y derecha (Chips), en el espacio de la izquierda se observa la carpeta que se creo y la carpeta de trabajo(WORK) creada por el programa, adems de nuestro archivo vhd adjuntado. Se deber abrir este archivo vhd y con clic derecho se seleccionara Create Implementation para especificar el tipo de tarjeta FPGA que se utilizara especificando sus parmetros en el nuevo recuadro como muestra la Figura B.2.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-160-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Figura B.1 New Project en FPGA Express

Figura B.2 Declaracin de parmetros del FPGA

3. Verificar que los parmetros sean los correctos de acuerdo a la tarjeta FPGA que s este utilizando, en nuestro caso entre los ms importantes sern Vendor: Xilinx, Family: XC400XL, Device: 4005XLPC84 y Speed grade: xl-09. Una vez efectuado lo anterior FPGA Express nos indicara si el proceso de revisin del archivo vhd se efectu correctamente indicando con una palomita y el espacio de trabajo de la derecha (Chips) cambiara mostrando los nuevos archivos creados.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-161-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

En el segundo de ellos se dar un clic derecho seleccionando la opcin de Export Netlist, esto con la finalidad de exportar los archivos a la carpeta que se creo inicialmente, de manera que debemos asegurarnos que en la ventana que se abri, como la que se muestra en la Figura B.3 se escojan correctamente la ruta adecuada y elegida por el usuario, elija la opcin OK cuando termine.

En esta ltima parte se debe obtener un nuevo archivo *.EDF que funcionara para continuar con nuestra aplicacin, es por eso que es realizar correctamente todo el proceso anterior.

Figura B.3 Ventana de Export Netlist

Universidad Autnoma Metropolitana Unidad Iztapalapa

-162-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Project Navigator(ISE) de Xilinx.

El Project Navigator es una herramienta distribuida por Xilinx que se encarga de gestionar todas las etapas del flujo de diseo. Esta herramienta es una interfaz que se monta sobre todo el conjunto de programas que participan en el diseo. Cada uno de estos programas acta sobre una etapa concreta del diseo. El Project Navigator tiene las siguientes caractersticas: Ayuda a conectar los diversos programas entre s de manera coherente siguiendo el flujo de diseo. Homogeneiza las llamadas a los programas utilizando una misma interfaz independiente de s el proveedor del programa es Xilinx o una empresa externa. El Project Navigator se divide en cuatro ventanas. En la esquina superior izquierda se muestran las distintas fuentes de diseo que pertenecen al proyecto organizadas jerrquicamente. Debajo de las fuentes se encuentran la ventana de Procesos. En esta ventana se mostrar la lista de procesos disponibles para la fuente seleccionada en la ventana superior. Para cada proceso se muestra el estado del mismo, si ha sido ejecutado, y en caso afirmativo si el resultado ha sido correcto. Dependiendo de la fuente de diseo los procesos disponibles son distintos. La tercera ventana est situada en la parte inferior de la pantalla. Esta es la consola de mensajes que se actualiza con mensajes informativos y de advertencia a medida que se activan los distintos procesos. La ltima ventana se sita a la derecha y es un editor de texto y esquemticos. El proceso de diseo del Project Navigator parte de la creacin de un proyecto: 1. Arrancar la aplicacin Project Navigator. Para ello se puede pulsar a travs del icono que se encuentra en el escritorio o acceder mediante el men de Inicio Programas Xilinx ISE Project Navigator.

2. (New Project) Crear un nuevo proyecto: File New Project. Se despliega una nueva ventana (New Project) donde hay que configurar los parmetros del proyecto.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-163-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Figura B.4 Pantallas de creacin de un nuevo proyecto

3. Introduciremos un nombre de proyecto y tambin elegiremos un directorio que haga referencia al grupo (en el disco C: ). El resto de las opciones del proyecto las elegiremos tal como muestra la Figura B.4. Device Family: permite elegir la familia de FPGA que se va a utilizar (XC4000, Spartan, Spartan2, Virtex). Utilice una XC4000XL. Device: dentro de la familia seleccionada indica la FPGA en concreto donde se va implementar el diseo. Utilice xc4005xl-09pc84. Design Flow: EDIF. Siempre dar la opcin de utilizar como entrada un fichero de este tipo.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-164-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

4. Si todo est correcto, aparecern dos nuevas entradas dentro de la ventana de Fuentes de Diseo del proyecto. Una con el nombre del proyecto, y la otra con el nombre del dispositivo FPGA (xc4005xl-09pc84). Ahora estamos listos para realizar y aadir nuestros diseos al proyecto.

Figura B.5 Ventana principal del nuevo proyecto en ISE

5. En la entrada que indica el nombre del FPGA se dar clic derecho para seleccionar Add Source y poder buscar el archivo *. EDF creado con el programa FPGA Express, presionando OK, se podr visualizar en la otra ventana de trabajo los procesos actuales de la fuente abierta. En estos procesos se encuentra ahora uno que se encuentra de la siguiente manera: Design Entry Utilities/User Constraints/ Edit Implementation Contraints.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-165-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Figura B.6 Configuracin de pines de la tarjeta FPGA

6. Con doble clic en Edit Implementation Contraints se abrir una nueva ventana como la de la Figura B.7 donde es necesario definir la configuracin de los pines de este modulo, los puertos de entrada, salida y todo lo relacionado con el modulo de FPGA (XC4005XLPC84CMN0009) esto se muestra en la Figura B.6. Es necesario saber con anterioridad la disponibilidad de pines por lo que se necesita consultar las hojas del fabricante. 7. Finalmente se ha ejecutado todo lo necesario para poder ver la implementacin en nuestra tarjeta FPGA, restara ejecutar la etapa de carga que consiste en abrir una ventana MS-DOS. Previamente a esta etapa se debi extraer el archivo *.bit que fue creado por el Project Navigator en la carpeta que fue declarada al inicio y pegar este archivo en la siguiente carpeta: C:\XSTOOLS\BIN. XSTOOLs es un programa que permite la comunicacin con el kit de desarrollo de la familia XSA, gracias a este programa se realiza la carga del fichero de programacin, las ordenes a travs del puerto paralelo y la lectura o escritura de la memoria. La comunicacin con esta aplicacin se realiza tambin mediante lnea de comandos. Esto se puede apreciar mejor en la Figura B.9.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-166-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Figura B.7 Ventana trabajo con los procesos actuales.

Figura B.8 Configuracin de pines.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-167-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Figura B.9 Etapa de carga a nuestra tarjeta FPGA

Universidad Autnoma Metropolitana Unidad Iztapalapa

-168-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Apndice C. SOFTWARE PARA DISPOSITIVOS PAL Y GAL

Universidad Autnoma Metropolitana Unidad Iztapalapa

-169-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

WINCUPL DE ATMEL

En este documento encontrar una ayuda para el manejo del software para el diseo, simulacin e implementacin en una GAL22V10 de circuitos digitales.

1 1. ABRIR EL PROGRAMA
Se da un clic en inicio-programas-CUPL starter kit, luego clic en el icono CUPL.

Figura C.1

1 2. Inicialmente aparece una ventana de bienvenida por unos segundos, luego aparece la ventana principal, y aparece una ventana Message que puede ser minimizada. Se procede de la siguiente manera file-new.

2 Figura C.2

Aparece en pantalla una plantilla que ser til para la elaboracin del diseo que queremos realizar. Como se muestra en Figura C.3

Universidad Autnoma Metropolitana Unidad Iztapalapa

-170-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Figura C.3

Este archivo tambin podr ser abierto en C:\wincupl\tmpl.pld. 1 3. Es conveniente guardar el archivo cada cierto tiempo para evitar perdidas de informacin si ocurre algn problema ya sea del programa, PC o condiciones externas. Cuando se va a guardar por primera vez se ingresa al men File-Save as.

Figura C.4

En el espacio Filename, debe escribir el nombre del archivo, se sugiere utilizar nombres que tengan que ver con el diseo que se esta realizando por ejemplo si se esta haciendo una secuencia de luces utiliza

Universidad Autnoma Metropolitana Unidad Iztapalapa

-171-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

sec_luces, el archivo debe ser guardado con la extensin *.pld. Adems aparece una direccin (Directory) que es donde se guardar, si desea cambiarlo deber ingresar tambin el directorio donde lo quiere hacer. Por ejemplo: Filename: D:\mis documentos\laboratorio\prac_1.pld Luego de esto presione OK. Para guardar cambios despus ingrese al men File-Save presione <F2>. 4. El archivo que se va a crear esta divido en tres partes:

Ttulo o encabezado:

Todo este encabezado es requerido y se deber tener a la hora de generar el archivo, pero solamente el campo del Name deber tener el valor real ya que este nombre que se utilice aqu ser el utilizado por el programa para generar el archivo *.Jed que es el utilizado para programar el dispositivo con el cual se har la implementacin del circuito. Aunque se recomienda documentar estos archivos con el fin de tener informacin clara sobre el archivo que se genero. Se deben utilizar mximo 8 caracteres.

Declaraciones: Declaracin de pines de entradas y salidas:


Especifica los pines que van a ser usados y las variables que son asignadas a cada uno de estos. Por ejemplo:

Declaracin de variables intermedias:

Universidad Autnoma Metropolitana Unidad Iztapalapa

-172-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Son variables que no tienen asignado un pin y pueden ser tiles para reducir las expresiones correspondientes a cada salida. Por ejemplo:

Cuerpo: Este contiene toda la lgica necesaria que se quiere programar. En el se pueden hacer maquinas de estado Mayle o Moore y ecuaciones de lgica combinacional y secuencial, entre otros. Por ejemplo:

5. Despus de guardar todos los cambios realizados, se compila para verificar si quedo bien desarrollado el archivo, de la siguiente manera: ingrese al men Option-compile options

Figura C.5

Universidad Autnoma Metropolitana Unidad Iztapalapa

-173-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Figura C.6

Ingrese a Output file, seleccione: JEDEC, fuse plot, equations, absolute, list.

Figura C.7

Presione OK y nuevamente OK.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-174-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

1 6. Elija el dispositivo en el cual se va ha implantar, en este caso se elegir la pal22v10 es el dispositivo que servir para implementar el diseo en la Gal22v10. Ingrese al men Option-select device

Figura C.8

Presione OK. Ingrese al men Run-Device Specific compile, si se genera un mensaje de error puede observar cual es el error, maximizando la ventana que sali inicialmente Message, sino hay errores se procede hacer la simulacin. 1 7. Se debe realizar un archivo para generar la simulacin, para esto abra la plantilla existente para realizar este que se encuentra en C:\wincupl\tmpl.si y gurdelo con otro nombre pero con la misma extensin en el directorio donde se encuentra el archivo con extensin (.pld).

Universidad Autnoma Metropolitana Unidad Iztapalapa

-175-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Figura C.9

Al igual que en el archivo de diseo este archivo tambin consta de 3 partes:

Titulo o encabezado

Este es el mismo que se pone en el archivo anterior.

Orden

En este se da el orden de todas las variables tanto de entrada como de salida para el dispositivo. (Teniendo en cuenta los bits ms significativos). Estas van separadas por comas , y se finaliza con punto y coma ;. 1 Contiene la lista de vectores para la prueba que se desea aplicar a las variables definidas anteriormente.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-176-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

El asterisco es cambiado por el simulador por el valor correspondiente. Con base en los ejemplos que se han hecho a lo largo de este tutorial se tiene en cuenta que en orden de izquierda a derecha cada columna corresponde a: a, b, c, d, L1, L2.

1 8. Despus de crear el archivo de simulacin y guardarlo ingrese al men Option-simulator options y seleccione Listenig File. Presione OK.

Figura C.10

Luego ingrese al men Run- Device Specific Simulate, si se presentan errores abra el archivo con extensin.so y all se puede observar el error, sino hay ningn error
Universidad Autnoma Metropolitana Unidad Iztapalapa
-177-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

en el mismo archivo con extensin .so encuentra los resultados de la simulacin en la parte inferior.

Como se ve en la grafica anterior se generan los estados de las salidas con base en lo generado anteriormente en el archivo de simulacin. 1 9. Despus de verificar que la simulacin si arroja los resultados esperados, utilice el archivo con extensin .jed para programar al GAL22V10 con el chip master utilizado para este proceso.

IMPORTANTE
A continuacin se enumeran algunas cosas que se deben tener en cuenta a la hora de utilizar este programa. 1 Extensiones de archivos generados:

PLD: Creado por el usuario, contiene todas las instrucciones lgicas necesarias para programar los dispositivos. DOC: Creado por CUPL, contiene todo de las ecuaciones de la lgica que CUPL gener de su programa, muestra los errores que encontr al compilar el programa (localizacin del error) y provee informacin acerca de cmo se selecciono la lgica en el dispositivo usado adems del diagrama del chip. ABS: Creado por CUPL, usado por este para ejecutar la simulacin. LST: Creado por CUPL, enumera las lneas correspondientes al cdigo generado y al final los errores con el numero correspondiente de la lnea.
Universidad Autnoma Metropolitana Unidad Iztapalapa
-178-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

JED: Creado por CUPL, archivo usado por el programador para programar el chip usado para implementar el diseo. SI: Archivo de entrada para simulacin creado por el usuario, contiene los vectores de prueba. SO: Archivo de salida para simulacin creado por CUPL, contiene los resultados de la simulacin, incluyendo los errores presentes. 1 Variables y smbolos reservados por el programa, estas no pueden ser usadas para asignacin de las variables que deseamos implementar, estas tampoco deben tener espacios.

Se pueden representar nmeros en binario, octal, decimal, o hexadecimal. La asignacin de pines e ndices de variables se da en decimal, para el resto de nmeros esta por defecto en hexadecimal, y para especificar una base debe estar precedido por su prefijo.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-179-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Declaraciones: Comandos:
El comando mas usado es $DEFINE, asigna a una variable un valor o estado. Por ejemplo:

$MACRO and $REPEAT, estos dos comandos forman un ciclo que se repite cuantas veces se desee. Por ejemplo:

Que equivale a

Operaciones aritmticas:
Universidad Autnoma Metropolitana Unidad Iztapalapa
-180-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Operaciones lgicas:

1 NOTA IMPORTANTE!!! El Pin nmero 1 en la gal22v10 es utilizado para asignar el reloj y es la nica

entrada de reloj de la GAL.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-181-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Apndice D MPLAB IDE e IC-PROG.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-182-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

A continuacin se muestran de forma sencilla los pasos en la compilacin de un programa, al generar un proyecto. 1. Iniciando el software dando clic en el icono que se muestra a continuacin se visualiza la pantalla de la Figura D.1. Para abrir un archivo a compilar en modo de proyecto, se siguen los pasos que a continuacin se describen.

Mplab IDE

Figura D.1 Ventana de Inicio de MPLAB

2. En la barra de herramientas abrir Project/ New, enseguida se desplegara una nueva ventana en donde le daremos el nombre del proyecto y la ruta en donde se crearan las nuevas carpetas de nuestro proyecto con la seleccin del botn browse, oprimir OK para continua. Como lo muestran las Figuras D.2 y D.3 posicionando el clic derecho del mouse en la etiqueta de SourceFile abrir el archivo a compilar.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-183-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Figura D.2 Seleccin de Add File.

Figura D.3 Se adjunta el archivo ensamblador.

3. Se observa que aparece el archivo ensamblador debajo de SourceFile, nuevamente con clic derecho en el archivo *.asm se selecciona (Edit) editar el archivo para realizar la compilacin.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-184-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Cuando el archivo fuente este abierto se procede a configurar el ambiente del MPLAB para realizar la compilacin del archivo cargado haciendo clic Configure/Select Device de la barra de herramientas y seleccionar el PIC utilizado como muestra la Figura D.4.

Figura D.4 Configuracin de parmetros del PIC.

4. Finalmente solo se har clic en Built All de la barra de herramientas para construir nuestra aplicacin y generar el archivo *.HEX, que es el que se usa en la programacin de los PICs. El icono para compilar se muestra a continuacin.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-185-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Ic-Prog

Para la prueba de nuestro integrado se utiliz el software IC-PROG para programar. 1. Al abrir el programa se procede a configurar el ambiente para realizar la programacin del PIC seleccionando el tipo de dispositivo y abriendo nuestro archivo HEX que fue creado por el MPLAB. Esta paso se muestra en la Figura D.5.

Figura D.5 Bsqueda del archivo HEX

2.

Cuando el archivo este cargado se configura el tipo de oscilador, en este caso se esta utilizando uno de tipo XT. Adems, se deshabilita el watchdog WDT y el de proteccin de cdigo CP; mientras que se habilita la terminal del reset (Power Reset) PWR.

3.

Por ltimo se realiza la programacin del PIC al pulsar el botn hasta que IC-PROG nos indique que se ejecuto correctamente.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-186-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Figura D.6 Se carga el archivo HEX en el IC-PROG

Universidad Autnoma Metropolitana Unidad Iztapalapa

-187-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Apndice E. COMUNICACIONES I

Presentacin
Universidad Autnoma Metropolitana Unidad Iztapalapa
-188-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Este presente apndice esta destinado como apoyo a las UEAs de Comunicaciones I y Laboratorio de Comunicaciones I de la Lic. En Ingeniera Electrnica, en este documento estas presentes temas importantes y relevantes de las dos UEAs como son Anlisis de Fourier, Heterodinizacin de seales, Modulacin AM, Demodulacin AM, Modulacin AM-SSB, Modulacin por pulsos codificados y Transmisores FM.

Introduccin
Todos los dispositivos de comunicaciones electrnicas consisten en tres componentes bsicos: un transmisor, un canal de comunicaciones (medio)y un receptor. Los mensajes se convierten en seales elctricas y se envan por medio de cable elctrico o fibra ptica o a travs del espacio libre a un receptor. La atenuacin (disminucin del nivel) y el ruido puede interferir la transmisin. Las comunicaciones electrnicas se clasifican como transmisores (1)simplex (en una sola direccin) o duplex en dos direcciones (full duplex o half duplex) y (2) seales analgicas o digitales. Las seales analgicas son seales continuas con variaciones suaves. Las seales digitales son discretas, con cdigos de dos estados (on-off). Las seales electrnicas con frecuencia se convierten de analgica a digital y viceversa. Antes de su transmisin, las seales electrnicas se conocen como seales de banda base. La modulacin de amplitud y de frecuencia hacen a una seal de informacin compatible con el canal por donde deber enviarse, modificando su amplitud, frecuencia o ngulo de fase y envindola a una antena para su transmisin. A este proceso se le conoce como comunicaciones de banda ancha. El multicanalizado por divisin de frecuencia y por divisin de tiempo permite que ms de una seal pueda transmitirse al mismo tiempo a travs del mismo medio. Todas las seales electrnicas que se radian al espacio son parte del espectro electromagntico, su lugar dentro del espectro se determina por la frecuencia. La mayora de las seales de informacin para transmitirse ocurren en bajas frecuencias y modulan a una onda portadora de frecuencia ms alta.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-189-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

La cantidad de informacin que puede transmitir una seal dada depende en parte de su ancho de banda. El espacio disponible para la transmisin de las seales es limitado y las seales en la misma frecuencia o en frecuencias que se sobrepongan, interfieren entre ellas. Se estn realizando esfuerzos para desarrollar el uso de seales de frecuencias mas altas y minimizar as el ancho de banda requerido. Hay muchas oportunidades de trabajo en el campo de las comunicaciones electrnicas. Las cuatro especialidades principales son, computadoras, comunicaciones, control industrial e instrumentacin.

ANLISIS DE FOURIER

El anlisis matemtico de los mtodos de modulacin y de multiplexazacin de las seales utilizado en los sistemas de comunicaciones supones portadoras de forma de onda senoidal y seales de informacin. Esto simplifica el anlisis y hace predicable la operacin; sin embargo, en el mundo real no todas las seales de vos y de video ms complejas y en esencia estn compuestas de ondas senoidales de muchas frecuencias y amplitudes. Las seales de informacin pueden tomar un numero infinito de formas, incluyendo ondas rectangulares (por ejemplo, pulsos digitales), ondas triangulares, ondas de diente de sierra y otras formas no senoidales. Estas seales requieren un enfoque no senoidal para determinar las caractersticas y el desempeo de cualquier circuito o sistema de comunicaciones. Uno de los mtodos utilizados para hacer esto es el anlisis de Fourier, que proporciona una forma de analizar con todo detalle el contenido de la mayora de las seales no senoidales ms complejas. No obstante que el anlisis de Fourier requiere el uso del calculo y tcnica de matemticas avanzadas fuera del contexto de este apndice, sus aplicaciones practicas a la electrnica de las comunicaciones relativamente accesibles.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-190-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Propuesta de prctica: Titulo: Anlisis de Fourier.

Objetivo: Que el alumno compruebe experimentalmente los aspectos tericos del Anlisis de Fourier. Que el alumno conozca el manejo del Analizador de Espectros. Material: Un osciloscopio. Un generador de funciones. Un analizador de espectros.

Desarrollo Experimental: Generar las siguientes seales peridicas: a) Seal senoidal de 100 KHz de 1 Vpico b) Seal TTL de 20 KHz con los siguientes ciclos de trabajo 25 % 50 % 75 %

c) Seal triangular de 20 KHz de 2 Vpico. Cada una de las seales del punto anterior debern ser observadas en el osciloscopio y en analizador. Comparar los resultados experimentales con los tericos.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-191-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

HETERODINIZACIN DE SEALES

En telecomunicaciones y la astronoma de radio, la heterodinizacin es la generacin de nuevas frecuencias al lado dos de que se mezclan o ms seales en un dispositivo no lineal tal como un tubo de vaco, un transistor, un mezclador del diodo. El mezclar resultados de dos frecuencias en la creacin de dos nuevas frecuencias, una en la suma de las dos frecuencias mezcladas, y la otra en su diferencia. Una de baja frecuencia producida de este modo se refiere a veces como frecuencia del golpe. Una frecuencia del golpe, el puede ser oda cuando los motores mltiples de un avin estn funcionando en el cierre pero las velocidades no idnticas, o dos instrumentos musicales estn jugando levemente fuera de consonancia. Por ejemplo, una frecuencia de 3.000 hertzios y otra de 3.100 hertzios golpearan juntas, produciendo una frecuencia audible del golpe de 100 hertzios. Una radio del heterodino o un receptor infrarrojo es uno que utiliza un proceso tan que cambia de puesto de la frecuencia. Propuesta de prctica: Titulo: Heterodinizacin de baja frecuencia. Objetivo: Que el alumno termine de comprobar experimentalmente los aspectos tericos del Anlisis de Fourier mediante el anlisis espectral de una seal compuesta o combinada. Que el alumno comprenda que es la heterodinizacin de una seal. Que el alumno continu mejorando su habilidad en el manejo del Analizador de Espectros. Material: Un osciloscopio. Un generador de funciones. Un analizador de espectros. Protoboards. Alambre de colores, pinzas de corte y pinzas normales
-192-

Universidad Autnoma Metropolitana Unidad Iztapalapa

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Desarrollo Experimental

1. - Arme el circuito de la Figura E.1 con los valores de componentes indicados, pero sin conectar el diodo a la salida del LM3900.

Figura E.1 Circuito heterodino

2.- Alimente V1 y V2 a 50mV p-p con f1= 20Khz y f2= 19.5 KHz, observe la seal de salida tanto en el osciloscopio como en el analizador de espectros, haga las mediciones pertinentes. 3. - Ajuste ahora la amplitud de V2 a 100mV p-p y observe la seal de salida, Qu efecto provoca esto?. 4. - Reajuste a 50mV p-p la seal V2 y ahora vari f1 lentamente por encima y por debajo de 20Khz, que efecto tiene esto sobre el voltaje de salida Vout? Capture las imgenes obtenidas en el osciloscopio para frecuencias f1 de 10Khz y 90Khz haciendo las observaciones correspondientes.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-193-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

5. - Desconecte la seal V2 y encuentre las frecuencias en que la amplitud de Vout caiga a 0.700 del valor que tiene con f1 a 20Khz.

6. - Conecte el circuito formado por el diodo y el arreglo RC conectando y ajustando nuevamente ambas seales de entrada a 50 mV, con frecuencias de 20Khz y 19.5 KHz respectivamente para V1 y V2.

7. - Observe la nueva seal de salida Vout para este circuito con el osciloscopio y el analizador de espectros, haciendo las anotaciones necesarias.

8. - Compare los resultados experimentales con los tericos.

Figura E.2 Construccin del circuito heterodino

Universidad Autnoma Metropolitana Unidad Iztapalapa

-194-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

MODULACIN EN AMPLITUD
Como su nombre lo indica, consiste en variar la amplitud de una sinusoide de acuerdo al mensaje que se desea transmitir. A la sinusoide se le llama portadora debido a que llevar la informacin sobre s. Este tipo de modulacin se usa en radiodifusin comercial y en algunas bandas de transmisin de banda ciudadana. Una portadora puede modularse de diferentes modos dependiendo del parmetro de la misma sobre el que se acte. Se modula en amplitud una portadora, cuando sea la distancia existente entre el punto de la misma en el que la portadora vale cero y los puntos en que toma el valor mximo mnimo, la que se altere, esto es, su amplitud.

Figura E.3 Representacin de una onda portadora

Es la amplitud (intensidad) de la informacin a transmitirla que vara la amplitud de la onda portadora. Y resulta que, al aadir esta informacin se obtiene tres frecuencias: a) La frecuencia de la portadora f b) La frecuencia suma de la portadora y la informacin. c) La frecuencia diferencia de la portadora y la informacin. Por ejemplo En una onda portadora de 1000 KHz y que se module con una informacin (con un sonido) cuya frecuencia sea de 1000 Hz. (1 KHz) presentar estas tres frecuencias: fp=1000 KHz
Universidad Autnoma Metropolitana Unidad Iztapalapa
-195-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

fp+fi; 1000 KHz+1KHz=1001 KHz y fp-fi; 1000 KHz-1Khz=999 KHz

Figura E.4 Onda moduladora en amplitud

Figura E.5 Representacin de la onda moduladora

Este anlisis nos lleva a pensar que, como normalmente la informacin no la compone una nica onda, sino varias dentro de una banda, sera necesario hacer uso de un gran ancho de banda para transmitir una informacin cuyas frecuencias estuvieran comprendidas entre los 20 Hz y 20.000 Hz (limites de la banda de frecuencias audibles por el iodo humano) con buena calidad. Por otro lado, como el ancho de banda permitido para una emisin est limitado, esta clase de emisin se dedica a usos que no requieren gran calidad de sonido o en los que la informacin sea de frecuencias prximas entre s (por esto, nunca usara AM una radio frmula). Otra caracterstica de la modulacin de amplitud es que, en su recepcin, los desvanecimientos de seal no provocan demasiado ruido, por lo que es usado en algunos casos de comunicaciones mviles, como ocurre en buena parte de las comunicaciones entre un avin y la torre de control, debido que la posible lejana y el movimiento del avin puede dar lugar a desvanecimientos. Sin embargo, la modulacin en amplitud tiene un inconveniente, y es la vulnerabilidad a las interferencias.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-196-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Propuesta de prctica: Titulo: Modulacin en Amplitud AM. Objetivo: Que el alumno compruebe experimentalmente los aspectos tericos de la modulacin en amplitud (AM). Material: Un osciloscopio. Un generador de funciones. Un analizador de espectros. Un Integrado MC1496 y sus hojas de especificaciones. Protoboards. Alambre de colores, pinzas de corte y pinzas normales.

Desarrollo Experimental 1. - Armar el circuito mostrado en las hojas de especificaciones del MC1496 (Circuito de la Figura 24, pagina 8 de las hojas de especificaciones). 2. - modular una seal senoidal de 30Khz utilizando una portadora de 100KHz. Obtener la modulacin para los siguientes ndices de modulacin: 0.25,0.5,1.0 y >1. 3. - Observar en el analizador de espectros y analizar la relacin de potencias entre las bandas laterales y la portadora para cada uno de estos ndices. 4. - Determinar que tipo de modulacin AM se trata en esta practica. 5. - Comparar los resultados experimentales con los tericos.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-197-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Figura E.6 Construccin del modulador de AM

DEMODULACIN EN AMPLITUD
La demodulacin es el proceso inverso a la modulacin. Detector de envolvente La principal ventaja de modular en AM consiste en que es posible recuperar el mensaje (demodular) con un simple detector de envolvente con tiempo de carga corto y de tiempo de descarga largo. Su versin ms sencilla es la siguiente:

Cuando se aplica una seal a la entrada, el capacitor se carga a travs de R; por lo tanto el producto RC debe ser mucho menor que el inverso del ancho de banda del mensaje. Cuando la tensin baja, el diodo se abre y el capacitor comienza a descargarse; por lo tanto el producto RC debe ser mucho mayor que el inverso de c. La salida de este circuito es el mensaje sobre una DC que puede bloquearse con un condensador, aunque esto empobrece la respuesta a bajas frecuencias. La sencillez de este demodulador permite aplicaciones masivas, tal como radiodifusin comercial.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-198-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Detector sncrono Otra forma de demodular la seal AM es la siguiente: Al multiplicar la seal modulada por la portadora se tendr:

Al multiplicar la seal modulada por la portadora se tendr: xAM(t) Cosct = AcCos2ct + Acmx(t)Cos2ct=0.5Ac( 1 + mx(t))(1+Cos2ct) Al filtrar y quitar la DC solo quedar 0.5Acmx(t).Observe que se asume que el receptor tiene una muestra de la portadora de la misma frecuencia y fase que la usada en el modulador. El efecto que tendra un error de fase o frecuencia en el oscilador del demodulador ser analizado posteriormente. Propuesta de prctica: Titulo: Demodulacin en Amplitud AM. Objetivo: Que el alumno compruebe experimentalmente los aspectos tericos de la demodulacin en amplitud (AM). Material: Un osciloscopio. Un generador de funciones. Un analizador de espectros. Un Integrado MC1496 y sus hojas de especificaciones. Protoboards. Alambre de colores, pinzas de corte y pinzas normales

Universidad Autnoma Metropolitana Unidad Iztapalapa

-199-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Desarrollo Experimental

1. - Armar un demodulador AM para el circuito anterior. Use al MC1496

2. - Demodular una seal conoidal de 3 KHz utilizando una portadora de 100Khz. Obtener la demodulacin para las siguientes ndices de modulacin: 0.25, 0.5, 1.0 y >1. Para mejores resultados use los valores de amplitud y frecuencia de la seal portadora y moduladora que haya usado en la prctica anterior.

3. - Observar tanto en el analizador de espectros como en el osciloscopio a la seal demodulada y comprela con la seal moduladora.

4. - Determine el o los tipos de modulacin AM que se emplearon en esta practica.

5. - Comparar los resultados experimentales con los tericos.

Figura E.7 Construccin del demodulador de AM

Universidad Autnoma Metropolitana Unidad Iztapalapa

-200-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

MODULACIN Y DEMODULACIN AM-SSB


BLU - Banda Lateral nica (SSB-Single Side Band) En una seal de AM existen 3 elementos: la seal portadora y 2 "bandas laterales" que contienen la informacin (audio) por eso tambin es conocida como "BLD Banda Lateral Doble". La modulacin en BLU consiste en la supresin de la portadora y una de las bandas laterales con lo cual se transmite solo una banda lateral conteniendo toda la informacin (ver figura). Una vez captada la seal BLU en el receptor, ste reinserta la portadora para poder demodular la seal y transformarla en audio de nuevo. La ventaja de este sistema sobre la AM es su menor ancho de banda requerido; ya que una seal de AM transporta 2 bandas laterales y el BLU solo una, por ejemplo una seal que en AM requiere 10kHz de ancho en BLU necesitara de ms o menos 5kHz. Adems, al no requerir portadora, toda la potencia de transmisin se puede aplicar a una sola banda lateral, lo cual a hecho de este sistema el ms popular entre los radioaficionados (los cuales tienen licencias que limitan la potencia de transmisin de sus equipos) y servicios utilitarios de onda corta. Hay que aclarar que existen variantes de este modo de transmisin segn las bandas que se supriman: USB-Banda Lateral Superior: Cuando es suprimidas la portadora y la banda lateral inferior. LSB-Banda Lateral Inferior: cuando es suprimidas la portadora y la banda lateral superior. Banda Lateral con portadora suprimida: cuando solo se suprime la portadora.

Ventajas de la transmisin de la banda lateral nica. Hay cuatro ventajas predominantes de la transmisin de la banda lateral nica con portadora suprimida o reducida sobre la transmisin de doble banda lateral con portadora completa.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-201-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

1) Conservacin del ancho de banda. La transmisin de la banda lateral nica requiere de la mitad del ancho de la banda, que la transmisin de doble banda lateral de la AM convencional. Esta ventaja es especialmente importante, hoy en da, con un espectro de frecuencias de radio que ya est saturado.

2) Conservacin de potencia. Con una transmisin de banda lateral nica, slo se transmite una banda lateral y normalmente una portadora suprimida o reducida. Como resultado, se necesita mucho menos potencia total transmitida para producir esencialmente la misma cantidad de seal que se logra con la transmisin de doble banda lateral con portadora completa. En consecuencia, se pueden utilizar transmisores ms pequeos y ms confiables con la banda lateral nica.

3) Desvanecimiento selectivo. Con la transmisin de la doble banda lateral, las dos bandas laterales y la portadora pueden propagarse a travs del medio de transmisin por diferentes trayectorias y, por lo tanto, pueden experimentar diferentes deterioros en la transmisin. Esta condicin se llama desvanecimiento selectivo. Un tipo de desvanecimiento selectivo se llama desvanecimiento de la banda lateral. Con el desvanecimiento de la banda lateral, una banda lateral se atena significativamente. Esta prdida resulta en una amplitud de la seal reducida a la salida del demodulador de receptor y consecuentemente una relacin de seal o ruido reducido a -3dB. Esta prdida causa algo de distorsin, pero no es totalmente perjudicial para la seal, porque las dos bandas laterales contienen la misma informacin.

4) Reduccin de ruido. Debido a que el sistema de banda lateral nica utiliza slo la mitad del ancho de banda que la AM convencional, la potencia de ruido trmico se reduce a la mitad del sistema de doble banda lateral. Tomando en cuenta la reduccin del ancho de banda y la inmunidad al desvanecimiento selectivo, los sistemas SSB gozan de una ventaja en la relacin de S/N aproximada a 12 dB sobre la AM convencional (o sea, un sistema convencional de AM tiene que transmitir una seal 12 dB ms potente, para alcanzar el mismo rendimiento que un sistema comparable de banda lateral nica).

Universidad Autnoma Metropolitana Unidad Iztapalapa

-202-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Desventajas de la transmisin de banda lateral nica. Existen dos desventajas principales de la transmisin de banda lateral nica con portadora reducida o suprimida en comparacin con transmisin convencional de doble banda lateral con portadora completa.

1. Receptores complejos. Los sistemas de banda lateral nica requieren de receptores ms complejos y costosos que la transmisin de AM convencional. Esto se debe a que la mayora de las transmisiones de banda lateral nica incluyen una portadora reducida o suprimida; por lo tanto, no puede utilizarse la deteccin de envolvente a no ser que la portadora se regenere a un nivel elevado. Los receptores de la banda lateral nica requieren de un circuito de sincronizacin y de la recuperacin de la portadora, como un sintetizador de frecuencias PLL, que eleva su costo, complejidad y tamao.

2. Dificultades de sintonizacin. Los receptores de banda lateral nica requieren una sintonizacin ms compleja y precisa que los receptores de AM convencionales. Esto es indeseable para el usuario normal. Esta desventaja puede superarse utilizando unos circuitos de sintonizacin ms precisa, compleja y costosa. Propuesta de prctica: Titulo: Modulacin y Demodulacin AM-SSB. Objetivo: Que el alumno compruebe experimentalmente los aspectos tericos de modulacin. En amplitud de banda lateral nica (AM-SSB). Material: Un osciloscopio. Un generador de funciones. Un analizador de espectros. Un Integrado MC1496 y sus hojas de especificaciones. Protoboards.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-203-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Alambre de colores, pinzas de corte y pinzas normales. Desarrollo Experimental

1. - Se usaran los circuitos integrados MC1496 necesarios (y los dems elementos correspondientes) para generar y remodular una seal AM SSB con un ndice de modulacin de 0.5. 2. - Usen una frecuencia de la portadora de 100 KHz y de la moduladora de 3 Khz. Para mejores resultados usen los valores de amplitudes de tas senoides que determinaron en las prcticas de modulacin AM y Demodulacin AM. Usen el adecuado mtodo de demodulacin para el valor del ndice de la modulacin m. Vean tanto en el tiempo como en la frecuencia a las seales de entrada, la seal de salida y la seal demoduladora.
3. - Si juzgan conveniente pueden hacer otro tipo de mediciones para mejorar la comprensin de AM-SSB. Preparen material para poder hacer filtros analgicos de al menos un orden % ya que los requisitos de corte son ms restrictivos. El profesor indicara a cada equipo cual banda lateral se eliminara; adems de indicar si la portadora se elimina o no.

Figura E.8 Construccin del modulador de AM-SSB

Universidad Autnoma Metropolitana Unidad Iztapalapa

-204-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

MODULACIN POR PULSOS CODIFICADOS


Un sistema de modulacin que ha alcanzado un gran auge es PCM, tambin llamado MIC atendiendo a las siglas castellanas. Este sistema convierte una seal analgica en digital siguiendo los pasos: Muestreo con PAM, PPM o PDM. Cuantificacin. Codificacin.

Muestreo

Para convertir una seal analgica en seal PCM el primer paso es muestrearla, obteniendo de esta forma una seal discreta en un dominio pero continua en su rango, es decir, est definida nicamente en unos instantes de tiempo pero la amplitud que puede alcanzar en dichos instantes es cualquiera, es decir, una seal PAM instantneo (anchura del impulso cero). Para ello debemos tener en cuenta el teorema de Nyquist. Cuantificacin El hecho de que la amplitud de la seal en los instantes de muestreo pueda ser cualquiera supone que para codificarla necesitaramos un nmero infinito de bits. En otras palabras: tenemos un nmero infinito de niveles. Por tanto, es necesario cuantificar la seal, es decir, asignar a una serie de valores de x(t) un nico valor, de forma que despus del proceso de cuantificacin, el nmero de valores que puede tener la seal x(t) sea finito. El proceso se ilustra en la siguiente figura:

Universidad Autnoma Metropolitana Unidad Iztapalapa

-205-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Otra forma de cuantificar la seal sera la siguiente. Para muestras comprendidas en un intervalo de cuantificacin se tomar el valor ms cercano al intervalo de cuantificacin. Consiste en asignar a varias muestras el valor del entero ms cercano. Al hacer aproximaciones se produce un error, denominado ERROR DE CUANTIFICACIN y su valor mximo es la mitad del intervalo de cuantificacin. El error de cuantificacin se puede reducir estableciendo ms intervalos de cuantificacin. Teniendo en cuenta que si el nmero de niveles es muy elevado, tendremos que enviar gran cantidad de bits por cada muestra que queramos enviar. Si la seal moduladora es dbil los errores de cuantificacin cometidos son relativamente ms importantes que cuando la seal es ms fuerte, como se desprende de la siguiente figura:

En el caso de seales telefnicas, esto representara que cuando un abonado hable bajo, adems de orse menos debido a que la amplitud de la seal es pequea, tambin la calidad de la seal es menor ya que hay ms error en la cuantificacin. Esto es inaceptable en la mayora de las aplicaciones y se intenta corregir este defecto para mantener la relacin seal-ruido de cuantificacin constante frente a las variaciones dinmicas de la seal.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-206-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Para ello se puede hacer una cuantificacin no uniforme: comprimir ms los niveles cuando la amplitud de la seal es pequea con lo cual disminuiran los errores de cuantificacin en este rango de amplitudes. En los procesos de recepcin, esto se debe tener en cuenta, expandiendo los niveles, mediante un expansor, para conservar la seal, amplificando ms las seales de amplitud menor, respecto a las de amplitud mayor, con lo cual se consigue el mismo fin que con la cuantificacin no uniforme.

Codificacin La fase de codificacin consiste en asignar un nmero de bits a cada una de las muestras que se van a enviar. Este nmero de bits depende del nmero de niveles de cuantificacin que se hayan usado en la fase previa. La relacin existente entre nmero de niveles usados (N) y nmero de bits asignados (n) es logartmica: n2Log2 N Propuesta de prctica: Titulo: Modulacin por pulsos codificados (PCM) Objetivos: Trabajar en forma directa con el proceso fsico de obtencin de una seal PCM. Ver una aplicacin de telecomunicaciones del Teorema del Muestreo. Se conozca los efectos de los errores de cuantizacin en PCM y se vea prcticamente que PCM es una aproximacin de la seal original. Aprender los principios del acondicionamiento de una seal analgica para su procesamiento digital.

Aprender como la cantidad de bits por muestra es un parmetro crtico en PCM que est muy influenciada por criterios subjetivos de percepcin de calidad. El alumno contine trabajando con dispositivos comunicaciones que se dispongan en el mercado. electrnicos para

Universidad Autnoma Metropolitana Unidad Iztapalapa

-207-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Material:

Al menos 2 osciloscopios. Fuentes fijas y reguladas de DC. Dos generadores de funciones. Un analizador de espectros. Un receptor porttil de FM comercial, un disckman un walkman. Protoboards y los dems componentes discretos que se necesiten segn los requerimientos de los circuitos elctricos que construyan. Desarrollo Experimental. Disear y armar los distintos circuitos de acuerdo al diagrama de bloques que se muestra a continuacin.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-208-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Para el diseo de este experimento tome en cuenta las siguientes observaciones y recomendaciones: 1. - La fuente de audio puede ser la de un WALKMAN, DISKMAN u otro dispositivo o fuente de audio. Esta ser la seal f(t). Solo tome uno de los dos canales de audio (estreo) ya que la seal a procesar ser monoaural; escoja el canal que desee, este ser f(t).

2. -Use una frecuencia de corte del filtro pasabaja de 8 KHz. Este filtro nos servir para obtener a la seal fPB(t).

3. -El circuito acondicionador de seal har que la parte negativa de la seal fPB(t) sea positiva, esto se logra montando a fPB(t) en un nivel de DC de Offset de 2.5 V por medio de un circuito amplificador de tipo sumador no inversor usando amplificadores operacionales. Porque no es recomendable usar una configuracin de sumador inversor?. Vare la amplitud o el volumen de la seal f(t) y fjela de tal manera que la seal compuesta formada por la suma fPB(t)+Offset posea una amplitud tal que sus picos mximos y mnimos estn en el rango de 0V a +5V (rango de trabajo del voltaje analgico de entrada en el convertidor analgico-digital (ADC)). Lo anterior con el fin de simplificar la configuracin y modo de funcionamiento del ADC.

4. -Tanto el convertidor ADC como el convertidor digital-analgico (DAC) sern de 8 bits c/u. Hay que tener en cuenta la velocidad de conversin de los dispositivos ADC y DAC para evitar retardos, ya que el DAC debe ser al menos igual (o ms rpido mejor) que el ADC. No olvidar tampoco la seal CS para habilitar los convertidores (leer los manuales respectivos de cada IC para configurarlos (cuando estn). 5. -Por medio de un generador de funciones alimente la seal de reloj CLK del ADC; este debe ser un tren de pulsos cuadrados de amplitudes de 0V y +5V (una seal TTL). Esta seal CLK representar la frecuencia de muestreo para la seal compuesta fPB(t)+Offset Ajuste el generador de funciones que controla al ADC de tal manera que satisfaga el Teorema del Muestreo la velocidad de Nyquist.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-209-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

6. - El mdulo denominado Circuito Lgico para acondicionar la seal CLK para el ADC es un circuito lgico que acondiciona a la seal de control CLK para limitar la corriente de entrada y rectificarla. Puede manejarse un seguidor de voltaje con amplificadores operacionales una compuerta lgica BUFFER (la que mejor d resultados). 7. - El mdulo denominado Amplificador sirve para entregar la seal al osciloscopio para su visualizacin posterior. Su ganancia de salida puede ser variable para que obtenga la mejor calidad de audio posible sin que sature a la seal. 8.- Ponga en funcionamiento todo el sistema y proceda a escuchar la seal en la bocina. Qu escucha?. De acuerdo a lo que se escuche comience a efectuar los ajustes necesarios. Una vez realizados los ajustes necesarios contine con lo siguiente: 9. - Proceda ahora nicamente a cambiar el nivel de CD de offset de 2.5 V a 0.5 V en el circuito acondicionador de seal y escuche la seal en la bocina. Explique las causas de porque escuch esta seal de audio de esa manera. 10.- Vuelva a cambiar el nivel de CD de offset a 2.5 V. Proceda ahora a usar un filtro pasabaja analgico con una frecuencia de corte en 15 KHz; y sin cambiar la velocidad de muestreo escuche la salida en la bocina, explique las causas de esta salida. Es recomendable ver la forma de onda de salida con el osciloscopio durante estos ltimos puntos. 11. - Se usar como ADC al ADC0820, y como DAC al DAC0800 el DAC0830. Para ver como configurarlos ver las hojas tcnicas del ADC0820, DAC0800 DAC0830 en los manuales de National Semiconductors, Motorola, etc. El ADC0820 tiene aplicaciones en telefona hacindolo adecuado para muestrear seales ms rpidas. Si se usa otro tipo por favor checar cul puede ser la mxima velocidad de muestreo. Ahora, para ahorrar tiempo de consulta y de pruebas sobre el manejo del ADC en la siguiente hoja se muestra una figura con la configuracin de funcionamiento para el AC0820 a usar.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-210-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Figura E.9 Construccin de un Modulador PCM

Universidad Autnoma Metropolitana Unidad Iztapalapa

-211-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

MODULACINFM
Este es un caso de modulacin donde tanto las seales de transmisin como las seales de datos son analgicas y es un tipo de modulacin exponencial. En este caso la seal modulada mantendr fija su amplitud y el parmetro de la seal portadora que variar es la frecuencia, y lo hace de acuerdo a como vare la amplitud de la seal moduladora.

Figura E.10 Seal Modulada en FM

La expresin matemtica de la seal portadora, est dada por: (1) vp(t) = Vp sen(2 fp t) Donde Vp es el valor pico de la seal portadora y fp es la frecuencia de la seal portadora. Mientras que la expresin matemtica de la seal moduladora est dada por: (2) vm(t) = Vm sen(2 fm t) Siendo Vm el valor pico de la seal portadora y fm su frecuencia. De acuerdo a lo dicho anteriormente, la frecuencia f de la seal modulada variar alrededor de la frecuencia de la seal portadora de acuerdo a la siguiente expresin f = fp + f sen(2 fm t)

Universidad Autnoma Metropolitana Unidad Iztapalapa

-212-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

por lo tanto la expresin matemtica de la seal modulada resulta vp(t) = Vp sen[2 (fp + f sen(2 fm t) ) t] f se denomina desviacin de frecuencia y es el mximo cambio de frecuencia que puede experimentar la frecuencia de la seal portadora. A la variacin total de frecuencia desde la ms baja hasta la ms alta, se la conoce como oscilacin de portadora. De esta forma, una seal moduladora que tiene picos positivos y negativos, tal como una seal senoidal pura, provocara una oscilacin de portadora igual a 2 veces la desviacin de frecuencia. Una seal modulada en frecuencia puede expresarse mediante la siguiente expresin:

Se denomina ndice de modulacin a Se denomina porcentaje de modulacin a la razn entre la desviacin de frecuencia efectiva respecto de la desviacin de frecuencia mxima permisible.

Al analizar el espectro de frecuencias de una seal modulada en frecuencia, observamos que se tienen infinitas frecuencias laterales, espaciadas en fm, alrededor de la frecuencia de la seal portadora fp; sin embargo la mayor parte de las frecuencias laterales tienen poca amplitud, lo que indica que no contienen cantidades significativas de potencia. El anlisis de Fourier indica que el nmero de frecuencias laterales que contienen cantidades significativas de potencia, depende del ndice de modulacin de la seal modulada, y por lo tanto el ancho de banda efectivo tambin depender de dicho ndice. Schwartz desarrollo la siguiente grfica para determinar el ancho de banda necesario para transmitir una seal de frecuencia modulada cuando se conoce el ndice de modulacin.
Universidad Autnoma Metropolitana Unidad Iztapalapa
-213-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

En la construccin de la grfica se ha empleado el criterio prctico que establece que una seal de cualquier frecuencia componente, con una magnitud (tensin) menor de 1% del valor de la magnitud de la portadora sin modular, se considera demasiado pequea como para ser significativa. FMdebandaangostayFMdebandaancha Al examinar la curva obtenida por Schwartz, se aprecia que para altos valores de mf, la curva tiende a la asntota horizontal, mientras que para valores bajos de mf tiende a la asntota vertical. Un estudio matemtico detallado indica que el ancho de banda necesario para transmitir una seal FM para la cual , depende principalmente de la frecuencia de la seal moduladora y es totalmente independiente de la desviacin de frecuencia. Un anlisis ms completo demostrara que el ancho de banda necesario para transmitir una seal de FM, en la cual moduladora. , es igual a dos veces la frecuencia de la seal

BW = 2 fm para De igual manera que en AM ya a diferencia de lo que ocurre para FM con , por cada frecuencia moduladora aparecen dos frecuencias laterales, una inferior y otra superior, a cada lado de la frecuencia de la seal portadora y separadas en fm de la frecuencia de la portadora. Dado lo limitado del ancho de banda cuando seales de FM donde , se la denomina FM de banda angosta, mientras que las , se las denomina FM de banda ancha.
-214-

Universidad Autnoma Metropolitana Unidad Iztapalapa

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Los espectros de frecuencia de AM y de FM de banda angosta, aunque pudieran parecer iguales, por medio del anlisis de Fourier se demuestra que las relaciones de magnitud y fase en AM y FM son totalmente diferentes. En FM de banda ancha se tiene la ventaja de tener menor ruido. En FM el contenido de potencia de la seal portadora disminuye conforme aumenta mf, con lo que se logra poner la mxima potencia en donde est la informacin, es decir en las bandas laterales. Propuesta de prctica: Propuesta de prctica: Titulo: Modulacin FM. Objetivo: Que el alumno compruebe experimentalmente los aspectos tericos ms relevantes de la Modulacin en Frecuencia (FM). Que el alumno conozca el manejo del Analizador de Espectros. Material: Dos osciloscopio. Un generador de funciones. Un analizador de espectros. Un receptor porttil de FM comercial con bocinas Protoboards y los dems componentes discretos que se necesiten segn los planos de los circuitos especificados.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-215-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Un generador de funciones. Un analizador de espectros. Un Integrado MC1496 y sus hojas de especificaciones. Protoboards. Alambre de colores, pinzas de corte y pinzas normales Desarrollo Experimental: Principio bsico de la modulacin FM 1. - Ver el anexo1 de este formato para leer la informacin complementaria de este experimento 2. - Lea la informacin de los puntos 6-9.2 a 6-10.2 del material del anexo. Arme el circuito de la Fig.16-15.Haga los clculos necesarios para encontrar los valores de los componentes para que la salida Vo tenga un rango de frecuencias de 100 KHz a 300Khz. Recuerde que una vez puesto en operacin este circuito las variables Ri, C y Vp no pueden cambiar los valores, dependiendo as la frecuencia de salida de Vo nicamente del valor de Ei, es decir, que Ei ser la seal moduladora. 3. - como se trata de un circuito VCO tenga cuidado en que no se inestabilice su funcionamiento. 4. - Recuerde que en AM la portadora cambiara de amplitud, pero no de frecuencia; en cambio en FM la portadora no cambia en amplitud, lo hace en su frecuencia. 5. -Para simular a la seal moduladora conecte un generador de funciones para alimentar una onda senoidal de voltaje pico a pico de 2 volts con un nivel de offset de 3 volts, la frecuencia de Ei determnela de tal manera que la cadencia del cambio espectral de Vo pueda ser vista adecuadamente en el analizador de espectros. 6. - Ponga en operacin el circuito y muestre simultneamente a Ei y Vo en el tiempo. Al mismo tiempo muestre en el analizador de espectro a Vo. 7. - IMPORTANTE el material del anexo fue escaneado con una resolucin de 300 dpi, se recomienda que usen una impresora de al menos 600 dpi para evitar distorsiones.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-216-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Modulacin FM comercial. 1. - Ver el anexo 2 de este formato para leer la informacin complementaria de este experimento. 2. - Armar el modulador FM como lo indican las hojas del anexo correspondiente 3. - Lo probaran y calibraran acorde a las instrucciones escritas en estas mismas hojas auxiliares. 4. - Observar tanto en el analizador de espectros como en el osciloscopio a la seal modulada y a la seal moduladora de entrada. 5. - Determine el tipo de modulacin FM empleada. 6. - Para el trimmer o condensador variable se recomienda que para mejores resultados tengan tambin a la mano un trimmer de un receptor de FM comercial, como de una radio viejita.

Universidad Autnoma Metropolitana Unidad Iztapalapa

-217-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

A N E X O

Universidad Autnoma Metropolitana Unidad Iztapalapa

-218-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Universidad Autnoma Metropolitana Unidad Iztapalapa

-219-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

A N E X O

Universidad Autnoma Metropolitana Unidad Iztapalapa

-220-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Universidad Autnoma Metropolitana Unidad Iztapalapa

-221-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Universidad Autnoma Metropolitana Unidad Iztapalapa

-222-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Universidad Autnoma Metropolitana Unidad Iztapalapa

-223-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

Figura E.11 Construccin de un Modulador FM

Universidad Autnoma Metropolitana Unidad Iztapalapa

-224-

PROYECTO DE INGENIERIA ELECTRNICA


Casa abierta al tiempo

BIBLIOGRAFIA E INTERNET

Microcontroladores PIC diseo practico de aplicaciones Angulo Usategui, Jos; Angulo Martnez, Ignacio. Editorial Mc Graw Hill, Segunda Edicin, 1999

Electrnica Digital Introduccin a la Lgica Digital, Teora, problemas y simulacin Acha, Santiago; Castro, Manuel A.; Prez, Julio; Rioseras, Miguel A. Editorial Alfaomega-Rama, 2003

VHDL Lenguaje para Sntesis y Modelado de Circuitos Pardo, Fernando; Boluda, Jos. Editorial Alfaomega-Rama, 2003

Sistemas electrnicos de comunicaciones Louis E. Frenzel Editorial Alfaomega, 2003

www.uam.mx www.microchip.com www.ic-prog.com www.xilinx.com www.datasheet4u.com www.altera.com www.e-vhdl.com

Universidad Autnoma Metropolitana Unidad Iztapalapa

-225-