Sie sind auf Seite 1von 18

Hecho por el Prof Pedro Landaeta.

UPT de Aragua y Aspirante a MSc en la UCV


de Venezuela. Material Introductorio de FPGA, Julio 2018

Convertidor de Código
BCD  7 Segmentos usando FPGA
El circuito que se conoce de conversor de BCD a 7 segmentos (seg) es el que se muestra a
continuación. En él se puede ver el circuito integrado (IC en Inglés ….Integrated Circuit) 4511 y el
7447. Los dos hacen la misma función pero con tecnologías de fabricación diferente. Estos se encargan
de la conversión del código BCD de la entrada de datos a 7 seg.

La tabla a la izquierda muestra la codificación en BCD de los números


del 0 al 9 en decimal. No hace falta usar un conversor de decimal a
BCD porque con la ayuda de los suiches y la fuente de +5V se logran
todas combinaciones que se requieran

Con este circuito de fuente


+5V, resistencia de 10 KΩ y
suiche se logran los 0s y 1s
para construir la tabla de datos de
entrada para el convertidor BCD
a 7 seg
Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV
de Venezuela. Material Introductorio de FPGA, Julio 2018

Por último se presenta al display 7 seg, tal como se ve en la figura hay 7


segmentos pero falta aquí señalar los 7 pines de entrada, el punto decimal (dp
de decimal point en Inglés) y lo más clave indicar si el display es cátodo
común a ánodo común

Este display muestra más detalles. Queda elegir el


tipo de display ánodo o cátodo común dependiendo
del diseño y del programador.
Falta nada más por conocer cuales de los
segmentos corresponden con cada una de las letras
de los pines mostrados en el dibujo

El display ubicado a la derecha muestra donde va cada una de las letras en


los segmentos.

Si se elige el display como ánodo común se tendrá entonces la siguiente tabla


de valores para poder ver en el display los valores seleccionados del 0 al 9

Tabla de valores para el decodificador 7447

Decimal BCD a b c d e f g La tabla muestra los valores de cada segmento


0 0000 0 0 0 0 0 0 1 dependiendo del número seleccionado aplicado
1 0001 0 0 1 1 1 1 1
para un display ánodo común
2 0010 0 0 1 0 0 1 0
3 0011 0 0 0 0 1 1 0
4 0100 1 0 0 1 1 0 0
5 0101 0 1 0 0 1 0 0
6 0110 1 1 0 0 0 0 0
7 0111 0 0 0 1 1 1 1
8 1000 0 0 0 0 0 0 0
9 1001 0 0 0 1 1 0 0
Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV
de Venezuela. Material Introductorio de FPGA, Julio 2018

¿Por qué trabajar con display 7 segmentos (seg)?

Son la unidad básica para mostrar información. Con ellos se comienzan a estudiar los sistemas de
numeración existentes y se comienzan a dar los primeros pasos en la lógica de programación y
electrónica digital. Por lo tanto, son el medio ideal para iniciar un curso de visualización de
información y de entender la importancia de los sistemas de numeración y sus diferencias.

Construcción de un display 7 seg

Se hace el arreglo de LEDs tal como se muestra en la figura 1

Todos estos LEDs se cubren con un material


especial para que solamente se vea el encendido de
cada uno y así poder ver los números que se desean
mostrar

Figura 1.- Arreglo de LEDs para construir un


display

Figura 2.- Colocación de material especial sobre los


LEDs

Al final se muestra el display tal cual como se conoce


pero ya con la claridad de que cada segmento posee un
LED para la iluminación del segmento respectivo

Figura 3.- Vista final del display


Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV
de Venezuela. Material Introductorio de FPGA, Julio 2018

Las variantes que se pueden hacer al display de la figura 3 van en función de lo que se desea. Lo que
se debe hacer es agregar los LEDs necesarios para lograr los ajustes de interés, por ejemplo:

a) Agregar un punto decimal o


b) Agregar más dígitos

Figura 4.- Displays con las variantes señaladas de Punto Decimal y Display de 14 seg.

Queda para otras investigaciones el uso de arreglo de displays 7 seg y pantallas LCD

Mostrar información con display 7 seg y otros dispositivos

En estos tiempos, siglo XXI año 2018, parece innecesario trabajar con estos displays 7 seg. Pero la
importancia que estos poseen es que introducen al estudiante en las distintas formas de enviar mensajes
usando electrónica, sistemas embebidos e informática. Si se ve más allá de los displays 7 seg se podría
pensar en displays de 14 y 16 seg, matriz de LEDs y en pantallas LCD 16x2, LCD 20x4, GLCD
128x64 y otras. Por último, también hay que mencionar la Interfaz HMI (Human Machine Interface),
Interfaz Humano Máquina que se usa para mostrar información a nivel industrial. Y, se cierra este
párrafo con las Touch Screen de uso también industrial.
En fin, los displays 7 seg sirven de arranque para entender que cada forma disponible de mostrar
datos posee una circuitería electrónica, un sistema de numeración y un programa que lleva embebido el
microcontrolador (µc). Existen casos especiales donde el display o pantalla LCD tienen su integrado
especialmente diseñado para su manejo. En lo que respecta a las pantallas HMI se sugiere construirla
con un programa libre como PYTHON o en su defecto uno gratis como JAVA.
Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV
de Venezuela. Material Introductorio de FPGA, Julio 2018

Construcción de módulo para la enseñanza de Electrónica Digital con tecnología FPGA

Al tener la tarjeta FPGA básica solamente es útil ir pensando en agregarle utilidades y


potencialidades al sistema digital comenzando con un display 7 seg.

Figura 5.- Esto es a lo que se le llama tarjeta básica. Una caricatura y la tarjeta real

Lo que se propone en la investigación es montar el FPGA sobre un


acrílico y colocar a su lado un tablero de montajes conocido
comúnmente como proto board . Y usando cables DUPONT se
puede interconectar la FPGA con los componentes que se agreguen al
sistema por medio del tablero de montajes.

Los cables DUPONT


necesarios para estas conexiones
son del estilo Macho-Hembra, ver dibujo a su derecha.
Al final se contará con un sistema o modulo para la enseñanza
de Electrónica Digital usando la tecnología FPGA con su paquete
de prácticas y algo
importante que sea portátil
así podrá trabajar el
instructor en el salón de
clases, el laboratorio o cualquier lugar acordado con los
estudiantes.
Al agregarle el display 7 segmentos (seg) el módulo queda
como se muestra a la izquierda
Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV
de Venezuela. Material Introductorio de FPGA, Julio 2018

Para seguir empoderando el módulo propuesto se debe


agregar una suichera de minimo 4 suiches para que formen
parte del sistema de enseñanza de manera fija. El uso de estos
suiches sería inicialmente para construir el código BCD para
hacer la conversión BCD  7 seg.
Otras cosas que se podrían agregar para empoderar aún
más el sistema de enseñanza sería: a) Construir un arreglo de
display 7 seg de por lo menos 4 displays fijos en el
sistema.
b) Agregar una pantalla LCD 16x2 , 20x4 u otras
y
c) Agregar un arreglo de 8 pulsadores y 8 LEDs

Con respecto a la programación del FPGA, a medida que avanza esta investigación se comienza a ver
que hay varias maneras de hacer los programas en
VHDL……..o hablando con mayor exactitud las
descripciones en VHDL. Por ejemplo en el caso del
BCD a 7 seg existen por lo menos 2 formas que se
muestran aquí usando with select y usando
process con if . Para efectos de la simulación con
Quartus II es indiferente la forma en que se haga.
Pero, si se va a usar el software TINA se debe
elegir process con if ya que de esta forma se
definen pin a pin entradas BCD y salidas al 7 seg. Mientras que con with select se definen las
entradas y salidas como vectores y esto hace que TINA vea una sola entrada y una sola salida. TINA
es un software de simulación de circuitos eléctricos y electrónicos que adicionalmente permite, usando
MACROS, simular los códigos hechos
en VHDL con extensiones .vhd. Este
software es fabricado por la empresa
DesignSoft
(http://www.designsoftware.com/home/d
emos/demo_tina
) y es el que usa la empresa Texas
Instruments (www.ti.com ) para probar
sus componentes. Para efectos de
Quartus II no hay inconveniente porque
usando Pin Planner se ve claramente que
Figura 6.- Software TINA V11 Demo se pueden asignar los

4 pines del BCD y los 7 pines para el display.


Para terminar esta parte se recomienda este video donde se observa paso a paso como se trabaja con el
software TINA…..en este caso el TINA 8  https://www.youtube.com/watch?v=joY7vOD9Gww
Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV
de Venezuela. Material Introductorio de FPGA, Julio 2018

Código del convertidor BCD a 7 seg usando VHDL


Ya con el estudio hecho al convertidor BCD a 7 seg nos queda solamente hablar del lenguaje VHDL
(Very High Speed Integrated Circuit Hardware Description Lenguage). Éste es un Lenguaje de
Descripción de Hardware (HDL en Inglés) que permite modelar circuitos electrónicos, desde su
comportamiento hasta su estructura. Siempre ha existido la confusión de que un lenguaje de
descripción de Hardware es lo mismo que un lenguaje de programación como C, pero no, si bien
comparten algunas similitudes con palabras reservadas como if, switch, case, etc. No quiere decir que
sean lo mismo, ¿Por qué? Bueno, se va a poner de ejemplo a un microcontrolador, en un lenguaje de
programación como C, lo que se hace es acceder a los recursos que ya están dentro del
microcontrolador, que puede ser por ejemplo el ADC, USB, UART; en cambio en un lenguaje de
descripción de hardware lo que se hace es modelar un sistema digital para después ser implementado en
un PLD o FPGA ya que éstos no cuentan con una arquitectura definida como en un microcontrolador.

Tomado de http://www.intesc.mx/2017/04/introduccion-a-los-dispositivos-logicos-programables/

 Programa para describir el circuito convertidor de BCD a 7 seg con display cátodo común
Usando la instrucción process e if
Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV
de Venezuela. Material Introductorio de FPGA, Julio 2018

Este es un extracto del programa. Ya que se programa número a número cada uno se extiende porque
son 10 números y todas las letras desde la A hasta la F……eso da un total de 16 números y aquí se
muestran nada más 4
Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV
de Venezuela. Material Introductorio de FPGA, Julio 2018

 Programa para describir el circuito convertidor de BCD a 7 seg con display cátodo común
Usando la instrucción with - select

Entre los software HDL además del VHDL de INTEL FPGA  antigua ALTERA llamado Quartus
II existen también: VERILOG, SYSTEMC, ABEL y otros que a medida que siga ahondando en la
investigación se irán mencionando.
Como la idea de la investigación siempre fue desde sus inicios mostrar un producto concreto que
viene a ser el módulo para enseñar Electrónica Digital usando FPGA no se pensó nunca en hacer un
aporte al software/Hardware libre en FPGA
(http://www.jornadassarteco.org/js2017/documents/Keynote3.pdf ) ya que de por sí la tecnología
FPGA es complicada. Entonces el objetivo inicial era entender lo básico de la tecnología y proponer un
módulo donde pudiera estudiarse Electrónica Digital y también conocer el software con el que se
programa o describe, como se habla en FPGA-VHDL, los circuitos a simular, hacer unos programas
Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV
de Venezuela. Material Introductorio de FPGA, Julio 2018

básicos y fijar un paquete de prácticas que tuviera como contenido Lógica Combinatoria y Lógica
Secuencial acompañado de todo lo relacionado a FPGA: Arquitectura, VHDL y montaje práctico de
cada propuesta.
Otro factor importante fue el económico, la tarjeta que terminó comprándose fue la Cyclone II de
ALTERA  Ahora INTEL FPGA con un precio mucho menor que las del proyecto FPGA wars
(http://fpgawars.github.io/ ) de tecnología libre que tienen un precio un poco más de 60 €
(https://juegosrobotica.es/icezum-alhambra-educacion/ ) .
Resumiendo entonces, se decidió por la tarjeta Cyclone II por las razones ya explicadas, esto implica
que hay que usar el software Quartus II. En nuestro caso la versión 13.0 web edition sp1 y trabajar
con VHDL.
¿Qué si hay otros fabricantes de FPGA?  Por supuesto que sí: XILINX, LATTICE, MICROSEMI,
ATMEL y otros que a medida que se avance se irán mencionando.

¿hay otros software’s que no sea el Quartus II?  Sí. Pero al elegir la empresa hay que trabajar con el
software que ella ofrece para su FPGA. Por ejemplo XILINX ofrece ISE y VIVADO design Suite,
hay un caso particular con Active HDL que genera el .vhd que se puede usar en cualquier chip FPGA,
en las versiones libres se tiene VERILOG y myhdl del ecosistema Python http://www.myhdl.org/ .

Esta investigación tiene como objetivo entregar un prototipo de módulo para enseñar Electrónica
Digital usando la tecnología FPGA tal como se muestra en la figura 7 y la 8.

Figura 7.- Módulo propuesto Figura 8.- Acercamiento al Módulo

¿Qué temas de Electrónica Digital serán tratados en la investigación?


a) Comenzando con las compuertas básicas

b) Pasando por lógica combinatoria

c) Sistemas de numeración: Decimal, binario, BCD, hexadecimal y otros


Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV
de Venezuela. Material Introductorio de FPGA, Julio 2018

d) Convertidores de código BCD a 7 segmentos

e) Flip-Flops
Temas que serán tratados en las próximas
investigaciones. Depende de la dinámica serán
f) Contadores
estudiados individualmente o en grupos

g) Registros Dirección web para ahondar el estudio de Lógica Digital

https://es.slideshare.net/xdorzx/circuito-logicos-
h) Aritmética Binaria Circuitos aritméticos
combinacionales-ver-2-41337509

Libro de referencia de donde fueron sacados los temas. Se trata


del libro de la serie Schaum Principios Digitales de Roger
Tokheim. Es un libro de 1988 y que sea de ese año no le quita
mérito a la investigación ya que la electrónica digital en esencia es
la misma desde esos años hasta la fecha, ¿qué es lo nuevo?, que
usando la tecnología FPGA uno puede describir un circuito con
compuertas y trabajar con cientos de ellas en un único IC
(Integrated Circuit  Circuito Integrado en Inglés) haciendo su
respectiva descripción en VHDL. Y se aclara, no es que las
FPGAs sean nuevas (vea el apéndice D) sino que ahora están más a
nuestro alcance. También hay a la mano herramientas software y otros IC para estudiar Electrónica
Digital

En Conclusión
1) hay múltiples pantallas para mostrar información

2) A todas las pantallas les hace falta una codificación en un lenguaje elegido por el
usuario. En estas investigaciones se usará VHDL, JAVA ó C.

3) Algunas llevan un IC fabricado especialmente para trabajar con esa pantalla


Y
4) Las Tablets y SmartPhone pueden convertirse, usando aplicaciones (apps), en pantallas
para mostrar información

Comentarios

a) Con respecto a TINA v11 DEMO se trata de un software para simular circuitos eléctricos y
electrónicos. Con la posibilidad de usar MACROS para ejecutar nuestra descripción en VHDL.
Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV
de Venezuela. Material Introductorio de FPGA, Julio 2018

b) Para el montaje en Hardware me falta por resolver unos detalles de logística. Tendré el montaje
hecho por mí para la próxima investigación. De momento puedo citar esta investigación de
Researchgate donde tratan el tema con su prueba en hardware y todo

https://www.researchgate.net/publication/301810196_Implementar_un_codificador_BCD_a_7_
segmentos_con_un_FPGA

Nota: haciendo este proyecto me di cuenta que


me faltan cables DUPONT macho – hembra para
hacer el circuito tal como se muestra en la figura
9, los demás componentes si están a la mano.

b.1.- En la siguiente referencia se tiene un video


donde el autor trata el tema del convertidor BCD
a 7 seg usando el QUARTUS Lite 16.1 y usa
una tarjeta cyclone IV
https://www.youtube.com/watch?v=IcOek81uWH8

Figura 9.- Circuito tomado de la referencia indicada


de Research Gate

En las dos referencias señaladas se indica el uso de Quartus II y Lite 16.1 respectivamente.
Por no contar de momento con los cables dupont dejo constancia con estas investigaciones que
el código hecho en esta investigación funciona a cabalidad.

c) En el software Quartus II se puede ver la asignación de pines usando Pin Planner


Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV
de Venezuela. Material Introductorio de FPGA, Julio 2018

En estas dos últimas ventanas se observan las asignaciones de pines para cada una de las descripciones
hechas para el mismo fin de convertir de BCD a 7 seg. Después de la asignación se procede a grabar
el FPGA usando el USB Blaster

Se muestran todas las partes


del conjunto USB Blaster: Cable
USB que une al grabador con el
computador, Cable que une al
grabador con la tarjeta FPGA y
lo que lleva el nombre como tal
USB Blaster. Estas tres partes
son las básicas para grabar lo que
se hace en el Quartus II luego
que la descripción es compilada
satisfactoriamente
Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV
de Venezuela. Material Introductorio de FPGA, Julio 2018

Quedan pendientes los montajes prácticos para la próxima entrega

Espero con esto haber aclarado unas cuantas dudas sobre la tecnología FPGA y lo que toca a la
investigación como es Electrónica Digital y así apoyar a los que quieren iniciarse en ésta línea de
trabajo tal como yo lo estoy haciendo.

Seguimos en contacto landaetabiz@gmail.com Ing Pedro Landaeta


LinkedIn https://www.linkedin.com/feed/ Universidad Politécnica Territorial del Estado Aragua “FBF”
Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV
de Venezuela. Material Introductorio de FPGA, Julio 2018
Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV
de Venezuela. Material Introductorio de FPGA, Julio 2018

Apéndice A: ¿de dónde salen las ideas?


Se comienza haciendo una lluvia de ideas donde se escriben todos los
tópicos que podrían interesar, los que he visto en Internet, los que he leído
en libros y los que logro asociar en base a mi conocimiento previo de
electrónica y de microcontroladores
Se lanzan estimaciones de fecha para tener un aproximado de fechas
para cada publicación

Nota: la parte correspondiente a Temas de Lógica se refiere a los proyectos que se han hecho hasta
ahora y también se colocan los proyectos que se piensan hacer según el libro de la serie Schaum
Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV
de Venezuela. Material Introductorio de FPGA, Julio 2018

Apéndice B: ¿Tema elegido?


Se eligió el de convertidores de códigos BCD  7 seg y otros

El tema principal es el de la conversión BCD  7 seg pero trae consigo otros temas que
deben ser tocados. Por ejemplo, el del tipo de display a usar, el software simulación
electrónica para el código VHDL, El nuevo nombre de la empresa ALTERA luego de
ser comprada por INTEL y hay que hacer alguna mención a los tipos de numeración
existentes. Cada subtema tiene un color particular en el diagrama de ideas.

Apéndice C: Tabla de valores BCD a 7 seg para display cátodo Común

Decimal BCD a b c d e f g
0 0000 1 1 1 1 1 1 0
1 0001 1 1 0 0 0 0 0
2 0010 1 1 0 1 1 0 1
3 0011 1 1 1 1 0 0 1
4 0100 0 1 1 0 0 1 1
5 0101 1 0 1 1 0 1 1
6 0110 0 0 1 1 1 1 1
7 0111 1 1 1 0 0 0 0
8 1000 1 1 1 1 1 1 1
9 1001 1 1 1 0 0 1 1
Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV
de Venezuela. Material Introductorio de FPGA, Julio 2018

Apéndice D: ¿Qué significa FPGA?, Field Programmable Gate Array………es algo


así como que Arreglo o Matriz de Compuertas Programables en el Campo. Ese
“Campo” es el IC FPGA. Donde su programación es lograda gracias al software
ofrecido por la empresa fabricante ya sea ALTERA <<Ahora INTEL FPGA>>,
XILINX, Lattice, Atmel o cualquier otra. En mi caso estoy trabajando con INTEL
FPGA. No fue nada especial su elección, pero ahora puedo decirles que valió la pena,
ya que las FPGAs de ALTERA traen consigo la garantía INTEL. Empresa reconocida
mundialmente por la fabricación de µp para computadoras, y que en el año 2016
adquirió ALTERA por más de 16 700 millones de US$ (ver
https://www.xataka.com/componentes/intel-concluye-su-mayor-adquisicion-hasta-la-
fecha-la-compra-de-altera-por-16-700-mdd ).

Apéndice E: Propuesta de Maestría, se está proponiendo como tema para presentarlo de


trabajo de maestría la construcción de un módulo para la enseñanza de electrónica
digital usando la tecnología FPGA. Lo que implica tener a la mano un equipo para
enseñar VHDL ( Very High Speed Integradted Circuit Hardware Description Language)
y lenguaje C para µp. Y conocer el software QUARTUS que es la base para poder
emprender cualquier proyecto con los FPGA de ALTERA, ahora INTEL FPGA. Todo
acompañado con su manual y una guía de prácticas dirigidas para dar los primeros pasos
de la mano de un material hecho en nuestro idioma.

Apéndice F: Una macro (del griego μακρο, makro, que significa ‘grande’)
―abreviatura de macroinstrucción― es una serie de instrucciones que se almacenan
para que se puedan ejecutar de manera secuencial mediante una sola llamada u orden de
ejecución. Dicho de otra manera, una macroinstrucción es una instrucción compleja,
formada por otras instrucciones más sencillas. Esto permite la automatización de tareas
repetitivas.
Las macros tienden a almacenarse en el ámbito del propio programa que las utiliza y se
ejecutan pulsando una combinación especial de teclas o un botón especialmente creado y
asignado para tal efecto.
La diferencia entre una macroinstrucción y un programa es que en las
macroinstrucciones la ejecución es secuencial y no existe otro concepto del flujo de
programa.
Tomado de https://es.wikipedia.org/wiki/Macro

Das könnte Ihnen auch gefallen