Sobre mi.

Mi foto
Santander, CANTABRIA, Spain
Bienvenido a mi Blog, soy César Zazo Serrano y os mostraré las actividades realizadas durante el curso 2012/2013 en la asignatura de desarrollo y construcción de prototipos electrónicos que imparte nuestro profesor Don José Luis Del Val en el Centro Integrado De Formación Profesional Nº1 situado en Peñacastillo.

viernes, 7 de diciembre de 2012

CONTADOR BCD 7 SEGMENTOS



En la siguiente entrada vamos a realizar el siguiente ejercicio de CPLD´S:

Implementar en el CPLD XC9572 un Contador BCD con permiso de reloj y borrado asíncrono. Su salida será decodificada a 7 segmentos sobre una DISPLAY de cátodo común de 7 segmentos.


El esquema general de cómo ha de funcionar sería el siguiente:



Antes de comenzar con el diseño, será necesario realizar un análisis de la decodificación que será necesario realizar, mediante el lenguaje descriptivo del hardware VDHL:

DECODIFICADOR BCD  7 sg

entity bcd7seg is

Port ( HEX : in std_logic_vector(3 downto 0);
LED : out std_logic_vector(6 downto 0));
end bcd7seg;

architecture Behavioral of bcd7seg is

begin
with HEX select
         LED<= "0000110" when "0001", --1
"1011011" when "0010", --2
"1001111" when "0011", --3
"1100110" when "0100", --4
"1101101" when "0101", --5
"1111101" when "0110", --6
"0000111" when "0111", --7
"1111111" when "1000", --8
"1101111" when "1001", --9
"1110111" when "1010", --A
"1111100" when "1011", --b
"0111001" when "1100", --C
"1011110" when "1101", --d
"1111001" when "1110", --E
"1110001" when "1111", --F
"0111111" when others; --0
end Behavioral;

Una vez realizado el análisis de la decodificación vamos a proceder a realizar la especificación utilizando la herramienta gráfica de esquemas integrada en el ya utilizado anteriormente entorno ISE llamada ECS.

Comenzaremos al igual que en otros ejercicios creando el nuevo proyecto y añadiendo una nueva fuente esquemática.



Los componentes que vamos a incorporar al diseño son, un contador BCD llaado “CD4CE”, un buffer global de reloj llamado BUFG y otro buffer global pero de set/reset llamado BUFG y con el valor SR.

Este valor se utilizará en los casos que necesitemos utilizar un set, un reset, un preset o un clear en varios dispositivos. Con este valor estaremos utilizando la net interna “global set/reset”.

Necesitamos crear el decodificador BCD-7seg en código VHDL, que llamaremos bcd7.

Para ello generaremos una nueva fuente del tipo VHDL module, que una vez seleccionado nos mostrará un ayudante del sistema para configurarlo y poder generar así el código VHDL siendo la arquitectura utilizada del tipo Behavorial.

Para finalizar habrá que indicar los puertos de la entidad, el bus que llamaremos HEX de 4 entradas y otro bus de 7 salidas que llamaremos LED.



El archivo que hemos generado es una plantilla en la que se ha definido la entidad, faltando por lo tanto la arquitectura que describa el funcionamiento de la entidad.
Para ello, ISE posee plantillas que definen diversos tipos de elementos, existiendo uno que corresponde con el que vamos a utilizar llamado “7-Segment Display”.




Para acceder a él deberemos buscar en Edit Language Templates.




Una vez localizado procederemos a copiar y pegar en nuestra arquitectura.

Como podeis observar en el código introducido, este ha sido realizado para utilizar un display de ánodo común, utilizando nosotros uno de katodo común por lo que será necesario variar los datos binarios de la columna izquierda.

Una vez realizado el cambio guardaremos todos los archivos y crearemos el esquemático

Ya creado lo llamaremos para incluirlo en nuestro esquema principal.



No hay comentarios:

Publicar un comentario