Está en la página 1de 3

1

Universidad de San Buenaventura. Espinosa. Laboratorio 3- Diseño de sistemas embebidos.

Laboratorio 3
Cristian Andrés Angola 1130990 -Juan David Espinosa 1130866
Andres14-27@hotmail.com
juan94e@gmail.com
Universidad de San Buenaventura - Cali

Resumen—En el siguiente informe veremos las interrupciones que se


pueden implementar en el curso de diseño de sistemas embebidos.

I. INTRODUCCIÓN

A continuación, veremos una configuración de Qsys que para


definir el Qsys es la ventana donde diseñas tu hardware,
ejemplo: cuantos leds, switches, pulsadores deseas tener en tu
hardware, y finalmente programaremos el software en el
compilador Eclipse.

II. MARCO TEORICO


En el informe se utilizo una FPGA, un computador y finalmente Ilustración 1
el software Quartus con el cual hicimos el diseño del hardware
en su herramienta Qsys.

III. PROCEDIMIENTO
Parte 1.
Se inicio con la configuración del Qsys, donde agregamos 4
visualizadores de 7 segmentos, 4 pulsadores, y 26 leds y un
reloj,. después se utilizo otro software el cual ya tiene incluido
el Quartus que es el software Eclipse con el cual realizamos la
programación del software.

En la ilustración 1 e ilustración 2 podremos observar el código


generado para la asignación del hardware:

Ilustración 2

Luego se paso a la herramienta Eclipse donde finalmente se


trabajo la parte del software de la FPGA.

Se pedía codificar 3 efectos diferentes con la primera forma de


interrupciones, la cual no es tan eficiente como la segunda, mas
adelante se dirá el porque.

Antes de empezar con las funciones, se trabajaran con punteros


esto significa que podemos ponerle un nombre cualquiera a
cada dirección base de los periféricos programados en el
hardware (Qsys).
2
Universidad de San Buenaventura. Espinosa. Laboratorio 3- Diseño de sistemas embebidos.

En la ilustración 3 veremos la declaración de nuestros


periféricos:

Ilustración 3

Cabe decir que los números resaltados son las direcciones base
del Qsys.

La codificación de la primera forma se trata de correr un


programa que contenga un efecto principal y al presionar uno
de los pulsadores entrara inmediatamente a la condición del (if),
la cual interrumpe la tarea principal.

Se continuo con el (main) donde haremos todas nuestras


funciones, se empezó con el contador de los leds rojos.
Ilustración 4. Ilustración 5

Finalmente, para la primera parte se procede a programar la


FPGA, satisfactoriamente realiza toras las funciones indicadas,
pero como error tuvimos que no se podía presionar el pulsador
2 o 3 los cuales están encargados de los (if) que a su vez
interrumpen la tarea principal. Ya que al presionarlos tocaba
reiniciar el programa para que este pudiera funcionar
correctamente.

Parte 2.
Para la segunda parte tenemos la misma configuración de
hardware, con la cual haremos otras interrupciones, pero esta
vez se utilizará otro proceso el cual no le implica al compilador
estar revisando esas tareas, así que dicho procesador ahorrara
tiempo y será mas eficiente, se explicara con mas claridad con
las siguientes ilustraciones:

Ilustración 4

Ahora en la ilustración 5 tenemos el resto de funciones

Ilustración 6
3
Universidad de San Buenaventura. Espinosa. Laboratorio 3- Diseño de sistemas embebidos.

En la imagen anterior (ilustración 6) podremos observar la IV. CONCLUSIONES


función ISR en la cual se codificará los efectos pedidos en el
laboratorio.
 Como primero se logro entender porque es mejor la
En la ilustración 7 podremos ver la codificación de el conteo segunda forma de interrupciones, ya que de esta
regresivo en los displays de 7 segmentos: manera es mucho mas eficiente, debido a que el
programa no esta constantemente revisando todas las
tareas previamente puestas en el main. A diferencia de
usar las interrupciones externas, así revisara si se ha
presionado alguna interrupción e inmediatamente la
ejecuta.
 Se debe tener suma precaución al abrir o crear un
nuevo proyecto, ya que, si el programador no esta
pendiente de las carpetas donde guardo su proyecto,
puede que este no funcione.

Ilustración 7

Ahora en la ilustración 8 se apreciara las dos ultimas funciones,


las cuales (init_pio) se utilizara para activar las interrupciones
externas que nos ofrece el Qsys.

Y en la parte inferior veremos el main en el cual tenemos


nuestra tarea principal y es la que estará revisando si se presiono
algún pulsador.

Ilustración 8

También podría gustarte