Download - DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Transcript
Page 1: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

DOCUMENTO Nº 1 MEMORIA

Page 2: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

ÍNDICE DE LA MEMORIA

II

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Índice de la memoria

Parte I Memoria .......................................................................................... 9

Capítulo 1 Introducción ................................................................................. 10

1.1 Estudio de los trabajos existentes / tecnologías existentes ......................... 10

1.1.1 M_1: Ordenador, multiplexación y potencia ................................................................ 10

1.1.2 M_2: Microcontrolador, multiplexación y potencia ..................................................... 11

1.2 Motivación del proyecto ................................................................................ 11

1.2.1 Señalización vial .......................................................................................................... 12

1.2.2 Publicidad .................................................................................................................... 12

1.2.3 Entretenimiento ............................................................................................................ 13

1.3 Objetivos......................................................................................................... 13

1.4 Metodología / Solución desarrollada ........................................................... 14

1.5 Recursos / herramientas empleadas ............................................................. 15

Capítulo 2 Fundamentos teóricos .................................................................. 16

2.1 Lenguaje VHDL ............................................................................................ 16

2.2 Multiplexación ............................................................................................... 16

2.3 Variación del brillo de un LED mediante PWM ........................................ 19

Capítulo 3 Componentes del proyecto ............................................................ 21

3.1 Introducción ................................................................................................... 21

3.2 Matriz tridimensional ................................................................................... 21

3.3 Etapa de potencia .......................................................................................... 21

3.3.1 Prueba del circuito ....................................................................................................... 23

3.4 Sistema de control ......................................................................................... 28

3.4.1 Circuito de multiplexación ........................................................................................... 29

Page 3: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

ÍNDICE DE LA MEMORIA

III

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

3.4.1.1 HW_Multiplexation.............................................................................................. 29

3.4.1.1.1 biest_triple .................................................................................................... 31

3.4.1.1.2 decod_triple .................................................................................................. 32

3.4.1.1.3 timer_RGB ................................................................................................... 33

3.4.1.1.4 maquina ........................................................................................................ 34

3.4.1.1.5 dirección ....................................................................................................... 35

3.4.1.1.6 demux_fil ...................................................................................................... 35

3.4.2 Memoria RAM doble puerto ........................................................................................ 36

3.4.3 CPU Nios II .................................................................................................................. 37

Capítulo 4 Resultados/Experimentos ............................................................. 39

4.1 Memoria Ram y circuito de multiplexación ................................................ 39

4.2 Microcontrolador, memoria Ram y circuito de multiplexación ................ 46

Capítulo 5 Conclusiones ................................................................................. 48

Capítulo 6 Futuros desarrollos ...................................................................... 49

Bibliografía 50

Parte II Estudio económico ........................................................................ 51

Capítulo 1 Estudio económico ........................................................................ 52

Parte III Manual de usuario ....................................................................... 53

Capítulo 1 Manual de conexionado de las tarjetas ....................................... 54

Capítulo 2 Manual de programación del micro Nios II ................................ 56

Parte IV Código fuente e instrucciones de creación .................................. 59

Capítulo 1 Código fuente e instrucciones de creación .................................. 60

1.1 HW_Multiplexation ....................................................................................... 60

1.1.1 Biest_triple ................................................................................................................... 60

1.1.1.1 biestable ................................................................................................................ 61

1.1.2 decod_triple .................................................................................................................. 62

1.1.2.1 decod .................................................................................................................... 62

1.1.3 timer_RGB ................................................................................................................... 64

1.1.3.1 counter .................................................................................................................. 64

1.1.3.2 comp_RGB ........................................................................................................... 66

Page 4: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

ÍNDICE DE LA MEMORIA

IV

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

1.1.3.2.1 comp ............................................................................................................. 67

1.1.4 maquina ........................................................................................................................ 68

1.1.5 dirección ....................................................................................................................... 70

1.1.6 demux_fil ..................................................................................................................... 71

1.2 RamDoblePuerto ........................................................................................... 74

1.2.1 RamMem ...................................................................................................................... 74

1.2.1.1 Configuración de la memoria Ram ....................................................................... 75

1.2.2 Inicialización de la memoria Ram ................................................................................ 79

1.3 MiNios............................................................................................................. 81

1.3.1 Configuración del micro Nios II .................................................................................. 81

1.3.2 Software del micro Nios II ........................................................................................... 91

1.4 Testbench de memoria Ram más multiplexación ...................................... 93

Parte V Anejos ............................................................................................ 99

Capítulo 1 Mapa de memoria RAM ............................................................. 100

Capítulo 2 Fabricación de la matriz tridimensional de LEDs .................... 103

Capítulo 3 Fabricación de las PCB .............................................................. 109

Parte VI Datasheets ................................................................................... 115

Capítulo 1 Datasheets ................................................................................... 116

1.1 Mini USB-B .................................................................................................. 116

1.2 Header 40 pines ........................................................................................... 117

1.3 LED RGB ..................................................................................................... 118

1.4 Diodo de pequeña señal (D21) .................................................................... 123

1.5 MOSFET canal N (Q1 y Q3) ...................................................................... 125

1.6 MOSFET canal P (Q2) ................................................................................ 133

1.7 Resistencia de 50 Ω...................................................................................... 141

1.8 Resistencia de 100 Ω .................................................................................... 142

1.9 Resistencia de 953 Ω .................................................................................... 147

Page 5: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

ÍNDICE DE TABLAS

V

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Índice de figuras

Figura 1: Simulación de memoria Ram más circuito de multiplexación .............. 18

Figura 2: Resumen del esquema eléctrico. ............................................................ 20

Figura 3: Resumen del esquema eléctrico ............................................................. 22

Figura 4: Señal COLUMNA ................................................................................. 24

Figura 5: Tensiones VA y VB estando conectada la columna del color rojo. ...... 25

Figura 6: Tensiones VA y VB estando conectada la columna del color verde. .... 25

Figura 7: Tensiones VA y VB estando conectada la columna del color azul. ...... 26

Figura 8: Tensiones VB y VC estando conectada la columna del color rojo. ....... 27

Figura 9: Tensiones VB y VV estando conectada la columna del color verde. .... 27

Figura 10: Tensiones VB y VC estando conectada la columna del color azul. .... 28

Figura 11: Circuito de Multiplexación .................................................................. 30

Figura 12: Biestable triple ..................................................................................... 31

Figura 13: Decodificador triple ............................................................................. 32

Figura 14: Generador de la amplitud de la señal de las columnas ........................ 33

Figura 15: Máquina de estados .............................................................................. 34

Figura 16: Generador de la dirección de memoria y de la fila .............................. 35

Figura 17: Demultiplexor de filas ......................................................................... 36

Figura 18: Memoria RAM de doble puerto ........................................................... 37

Figura 19: Microcontrolador Nios II ..................................................................... 38

Figura 20: Datos de la memoria Ram más el circuito de multiplexación ............. 40

Figura 21: Simulación de dos ciclos completos .................................................... 41

Figura 22: Simulación de un ciclo ......................................................................... 42

Page 6: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

ÍNDICE DE TABLAS

VI

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Figura 23: Detalle de la adquisición de datos de la memoria ................................ 43

Figura 24: Detalle de la amplitud deseada de las columnas de la matriz .............. 45

Figura 25: Datos del micro, la memoria Ram y el cto. de multiplexación ............ 46

Figura 26: Nios II Application and BSP from Template ....................................... 57

Figura 27: Properties for proyecto_bsp ................................................................. 58

Figura 28: biest_triple ........................................................................................... 60

Figura 29: decod_triple ......................................................................................... 62

Figura 30: timer_RGB ........................................................................................... 64

Figura 31: comp_RGB .......................................................................................... 66

Figura 32: RamDoblePuerto .................................................................................. 74

Figura 33: Configuración Ram paso 1 .................................................................. 75

Figura 34: Configuración Ram paso 2 .................................................................. 76

Figura 35: Configuración Ram paso 3 .................................................................. 76

Figura 36: Configuración Ram paso 4 .................................................................. 77

Figura 37: Configuración Ram paso 5 .................................................................. 77

Figura 38: Configuración Ram paso 6 .................................................................. 78

Figura 39: Configuración Ram paso 7 .................................................................. 78

Figura 40: Configuración Ram paso 8 .................................................................. 79

Figura 41: Nios II, paso 1 ...................................................................................... 82

Figura 42: Nios II, paso 2 ...................................................................................... 82

Figura 43: Configuración Micro Nios II ............................................................... 83

Figura 44: Configuración micro Nios II ................................................................ 83

Figura 45: Nios II, paso 3 ...................................................................................... 84

Figura 46: Nios II, paso 4 ...................................................................................... 85

Figura 47: Nios II, paso 5 ...................................................................................... 85

Figura 48: Nios II, paso 6 ...................................................................................... 86

Figura 49: Nios II, paso 7 ...................................................................................... 87

Page 7: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

ÍNDICE DE TABLAS

VII

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Figura 50: Nios II, paso 8 ...................................................................................... 87

Figura 51: Nios II, paso 9 ...................................................................................... 88

Figura 52: Nios II, paso 10 .................................................................................... 88

Figura 53: Nios II, paso 11 .................................................................................... 89

Figura 54: Microcontrolador Nios II ..................................................................... 89

Figura 55: Nios II, paso 12 .................................................................................... 90

Figura 56: Nios II, resultado de la compilación .................................................... 90

Figura 57: Fila de LEDs ...................................................................................... 103

Figura 58: Columnas para color rojo ................................................................... 104

Figura 59: Dos filas conectada por color rojo ..................................................... 104

Figura 60: Conexión de la tercera fila por color rojo .......................................... 105

Figura 61: Matriz 3x3 columnas color rojo conectadas ...................................... 105

Figura 62: Matriz 3x3 columnas rojo y verde conectadas ................................... 106

Figura 63: Matriz 3x3 columnas rojo, verde y azul conectadas .......................... 106

Figura 64: Ensamblaje de dos matrices 3x3 ........................................................ 107

Figura 65: Ensamblaje de dos matrices 3x3y una tercera 3x3 preparada............ 107

Figura 66: Matriz 3x3x3 ...................................................................................... 108

Figura 67: Patillas de filas y columnas de la matriz 3x3x3 ................................. 108

Figura 68: Insoladora del taller de ICAI ............................................................. 110

Figura 69: PCB etapa de potencia ....................................................................... 111

Figura 70: PCB matriz de LEDs .......................................................................... 112

Figura 71: Parte Bottom de la etapa de potencia ................................................. 112

Figura 72: Parte Top de la etapa de potencia ...................................................... 113

Figura 73: Cubo de LEDs soldado a PCB ........................................................... 113

Figura 74: PCB etapa de potencia y PCB cubo de LEDs .................................... 114

Page 8: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

ÍNDICE DE TABLAS

VIII

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Índice de tablas

Tabla 1: Mapa de memoria RAM doble puerto .................................................. 101

Page 9: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

9

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Parte I MEMORIA

Page 10: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

10

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Capítulo 1 INTRODUCCIÓN

En este capítulo se hace una introducción del proyecto, en las siguientes

partes y capítulos se irán describiendo todos los detalles que lo componen.

1.1 ESTUDIO DE LOS TRABAJOS EXISTENTES /

TECNOLOGÍAS EXISTENTES

Hoy en día existen diferentes proyectos de control de matrices de LEDs

tanto bidimensionales como tridimensionales. Todos los proyectos tienen dos

cosas en común, por un lado existe una matriz cuyos LEDs se pretenden iluminar,

y por el otro existe un sistema de control de dichos LEDs, el cual está compuesto

por un circuito de potencia, una etapa de multiplexación y un elemento que

ejecuta instrucciones del usuario previamente programadas. La matriz puede ser

tridimensional o bidimensional, pero la mayor diferencia entre los diversos

trabajos con este tipo de matrices reside en el sistema de control, que se puede

desarrollar de dos modos diferentes que a continuación se detallan.

1.1.1 M_1: ORDENADOR, MULTIPLEXACIÓN Y POTENCIA

Se trata de que un programa que se ejecuta en un ordenador envíe órdenes

al circuito impreso donde está la multiplexación y la etapa de potencia. El usuario

desde el ordenador envía al circuito impreso las instrucciones donde indica los

LEDs que quiere que se iluminen durante la ejecución del programa. Dicho

circuito está compuesto por una etapa de multiplexación y por una etapa de

Page 11: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

11

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

potencia. El sistema de control está dividido entre el ordenador y el circuito

impreso. La información se ha extraído de la referencia [MARK11].

1.1.2 M_2: MICROCONTROLADOR, MULTIPLEXACIÓN Y POTENCIA

En este modelo se añade un microcontrolador al circuito impreso para que

se ejecute el programa. El usuario programa instrucciones en un microcontrolador

localizado en el circuito impreso, donde están integradas también la etapa de

multiplexación y la etapa de potencia. El circuito de control se encuentra en un

único circuito impreso. Se puede comprobar la existencia de esta clase de

circuitos en la referencia [SACC11].

1.2 MOTIVACIÓN DEL PROYECTO

Una vez analizados los dos modos existentes de implantación del sistema

de control se pretende realizar una innovación en la parte dedicada al control. La

idea consiste en mejorar el diseño y la eficiencia del sistema de control integrando

el microcontrolador y la multiplexación en un solo chip. Para lograr ambas ideas

se va a modelar el circuito de control en VHDL dentro de una FPGA.

En este tercer método se trata de modelar un microcontrolador y la etapa

de multiplexación en VHDL dentro de la FPGA, y exteriormente se conecta a un

circuito impreso donde se ubica la etapa de potencia. De este modo se consigue

mejorar el diseño al tener localizadas dos etapas del control dentro de la FPGA

con su consiguiente reducción de espacio en circuito impreso y por lo tanto ahorro

en coste de fabricación del circuito impreso. También se consigue mayor rapidez

Page 12: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

12

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

en el control ya que la multiplexación hardware dentro de la FPGA es más rápida

que la multiplexación software dentro de un microcontrolador. Con el empleo de

la FPGA se gana en espacio, coste y velocidad.

Este proyecto tiene varias aplicaciones muy interesantes en campos muy

diferentes, tales como la señalización vial, la publicidad y el entretenimiento.

1.2.1 SEÑALIZACIÓN VIAL

En la actualidad, en muchos municipios se emplean semáforos de

iluminación por LEDs para regular la circulación vial por el bajo consumo de los

LEDs y porque el brillo de la señalización es muy visible en condiciones

meteorológicas adversas. Estos semáforos están compuestos por matrices

bidimensionales de LEDs y sólo son visibles para vehículos y peatones situados

delante de sus respectivas matrices de señalización.

La matriz tridimensional aporta a la señalización vial la ventaja de que un

peatón ó un vehículo puedan conocer el estado del paso para peatones desde

cualquier ángulo en que se aproxime al semáforo.

1.2.2 PUBLICIDAD

Todas las empresas necesitan darse a conocer al mercado para conseguir

vender sus productos y esto se consigue en parte con la publicidad. Las matrices

bidimensionales se emplean para anunciar toda clase de productos ó logos de

empresas, pero al igual que con los semáforos LEDs bidimensionales la

información sólo se transmite a los usuarios situados delante de la matriz.

Page 13: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

13

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

El cubo de LEDs aporta a la publicidad una vía de emisión de información

hacia usuarios localizados en cualquier posición alrededor del cubo, dando

originalidad al mensaje a transmitir ó movimiento tridimensional a la imagen a la

que hacer publicidad.

1.2.3 ENTRETENIMIENTO

El cubo de LEDs tridimensional ofrece al usuario un amplio abanico de

posibilidades de entretenimiento debido a que los LEDs pueden ser iluminados de

manera selectiva, esto significa que el usuario puede crear infinidad de imágenes

y formas en el cubo iluminando los LEDs correspondientes.

1.3 OBJETIVOS

Durante el desarrollo del proyecto se van a seguir una serie de directrices

para alcanzar el siguiente objetivo:

“Encendido de un grupo de LEDs RGB de la matriz tridimensional,

previamente introducidas sus posiciones y colores en la memoria del circuito de

control y modelado en VHDL dentro de la FPGA”.

Page 14: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

14

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

1.4 METODOLOGÍA / SOLUCIÓN DESARROLLADA

Los objetivos han sido alcanzados cumpliendo previamente los siguientes

pasos intermedios:

Diseño y prueba del circuito de la etapa de potencia en una placa

protoboard para la iluminación de un único LED.

Fabricación de la etapa de potencia en una PCB, soldando únicamente los

componentes necesarios para iluminar un LED.

Creación de la matriz 3D de 3x3x3 y comprobación del correcto

conexionado de los LEDs.

Una vez que se compruebe que tanto el circuito para iluminar un LED

como la matriz de 9 LEDs funcionan correctamente se suelda el resto de

componentes de la placa PCB.

Diseño del código en VHDL de la etapa de multiplexación para extraer

los datos de luminosidad y color de cada uno de los LEDs de una memoria

RAM.

Implantación de la memoria RAM prediseñada por Altera en el diseño en

VHDL.

Visualización de una imagen estática, programada previamente en la

memoria RAM, en la matriz de LEDs.

Creación de una CPU Nios II para ejecutar instrucciones del usuario y su

adhesión al diseño en VHDL.

Programación del código final en VHDL en la FPGA Altera DE1 que

controle el encendido de los LEDs de tal modo que se visualicen imágenes

tanto estática como dinámicamente por la estructura de la matriz 3D.

Page 15: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

15

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

1.5 RECURSOS / HERRAMIENTAS EMPLEADAS

A continuación se detalla la lista de programas utilizados para desarrollar

las diferentes etapas del proyecto:

OrCAD Capture 7.10.340: se utiliza para el diseño del esquema del

conexionado de los diferentes componentes del circuito que compondrá la

etapa de potencia.

OrCAD Layout Plus 7.0: programa para diseñar el PCB de la etapa de

potencia. Se obtienen los fotolitos del PCB, será fabricada manualmente

en el taller de ICAI.

Quartus II 10.1sp1 Web Edition: es la herramienta empleada para

modelar un sistema hardware para realizar la multiplexación de los LEDs

de la matriz tridimensional y una CPU Nios II para ejecutar el software de

control de la matriz de LEDs e implantarlos en la FPGA Cyclone II. El

simulador de esta versión no se puede utilizar con lo que es necesario

utilizar ModelSim.

ModelSim-Altera 6.6d Starter Edition: es una herramienta de

simulación de Altera más veloz y avanzada que el simulador de Quartus II

de versiones anteriores.

Nios II 10.1 Software Build Tools for Eclipse: es un recurso que permite

implantar el software de control de la matriz de LEDs en el

microcontrolador Nios II.

Tarjeta de desarrollo Altera DE1: es una tarjeta de desarrollo creada por

Altera, contiene la FPGA Cyclone II EP2C20F484C7 empleada en el

proyecto.

Page 16: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

16

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Capítulo 2 FUNDAMENTOS TEÓRICOS

2.1 LENGUAJE VHDL

Como se describe en el temario de la asignatura de la referencia

[FERN07], los lenguajes de descripción Hardware son similares a los lenguajes de

descripción software. Los HDL´s son lenguajes de alto nivel que definen

hardware por dos motivos claros:

Modelan componentes para su simulación: aseguran el comportamiento de

un circuito antes de realizarlo, acepta todas las características del lenguaje

y emplea descripciones independientes de la tecnología final.

Describe el diseño de un circuito para su implementación física: genera un

circuito (hardware) mediante un proceso de síntesis, soporta solo un

subconjunto del lenguaje, la calidad del resultado depende del estilo de

descripción y necesita de parámetros físicos dependientes de la tecnología.

2.2 MULTIPLEXACIÓN

La multiplexación es una técnica de iluminación muy empleada en las

matrices de LEDs. Para entender en qué consiste esta técnica se describe a

continuación un ejemplo sencillo de una matriz bidimensional de tres filas y cinco

columnas, éste ejemplo es similar al ejemplo explicado en el texto referenciado

[OSCA11].

Page 17: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

17

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Si se desease controlar una fila de esa matriz serían necesarios seis pines,

para controlar la matriz entera se requerirían tres puertos de seis pines. A mayor

número de puertos PIO de un microcontrolador mayor es su precio, salvando

características internas del micro que también elevan su precio. Es por ello que se

emplea la multiplexación de las filas de la matriz que consiste en encender

únicamente una fila de la matriz a la vez mientras se cargan los datos de las

columnas para los LEDs de esa fila en paralelo. Si el encendido de cada fila se

realiza suficientemente rápido parecerá que están todas las filas encendidas a la

vez. Con este método la matriz necesitaría únicamente un puerto de ocho pines,

habiéndose ahorrado diez pines.

La apariencia de que todas las filas están encendidas con la multiplexación

se debe a que el ojo humano retiene un destello de luz durante 20 ms después de

que éste haya desaparecido. Es recomendable de que el tiempo mínimo desde que

se enciende una fila hasta que se vuelve a encender, después de haber recorrido el

resto de filas, sea menor que 20 ms para poder observar un foco de luz continuo y

sin parpadeos. Por ello, en este proyecto la multiplexación de las filas se realiza a

una frecuencia de 100 Hz, es doblemente superior a 50 Hz para evitar el parpadeo

de los LEDs en el caso de que se requiera una apariencia de luz continua.

En este proyecto la multiplexación se realiza por filas, cargando los datos

de todas y cada una de las columnas en paralelo. También hay que destacar que se

ha escogido la multiplexación hardware dentro de una FPGA porque es más

rápida que la multiplexación software dentro de un microcontrolador, esto permite

que se pueda trabajar a frecuencias más altas, se gana en velocidad. Además que

la FPGA aporta un ahorro en coste de placa al obtenerse un circuito más pequeño.

Como se observa en la figura 1, donde se representan dos ciclos de

encendidos de los LEDS, el tiempo transcurrido entre que se enciende una fila

Page 18: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

18

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

hasta que se vuelve a encender la misma fila es de 10 ms, inferior a 20 ms para

evitar el parpadeo de los LEDS.

Figura 1: Simulación de memoria Ram más circuito de multiplexación

Page 19: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

19

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

2.3 VARIACIÓN DEL BRILLO DE UN LED MEDIANTE PWM

En el circuito de control se diseña el componente timer_RGB que va a ser

capaz de generar una señal tipo PWM (Pulse Width Modulation). Una señal de

este tipo es aquella cuya anchura del pulso es variable. Esta variación de la

anchura del pulso va a determinar una variación de la potencia de brillo de los

LEDs. El parámetro característico de este tipo de señales es el factor de servicio o

ciclo de trabajo que refleja la relación entre el tiempo en el que la señal vale un

nivel alto y el periodo. Toda la información referida al PWM de este apartado 2.3

se ha extraído de la referencia [ARIA04].

Para la obtención de esta señal existen diversos métodos, aunque todos

ellos se suelen basar en la técnica de comparación de dos señales. En este

proyecto se comparan dos números para determinar el ancho del pulso en su valor

alto. De la memoria Ram se extrae el valor del ancho del pulso y el timer_RGB

mostrará a su salida una señal en valor alto hasta que mediante una comparación

el valor obtenido de la memoria Ram coincida con el valor de la cuenta del

contador del timer_RGB, en ese momento el valor de la señal valdrá su nivel bajo

y se habrá creado así la modulación de la señal por ancho de pulso. A medida que

el ancho del pulso de la señal de una columna de un LED sea mayor, el brillo del

color de esa columna del LED será mayor y viceversa.

El PWM sólo puede aplicarse en la señal que activa al transistor Q3 de la

figura 2 ya que si se aplica al transistor Q1 se estaría cambiando el factor de

servicio de 1/9 necesario para encender todas las filas y además el brillo del los

LEDs no se vería afectado en modo alguno. El circuito de la figura 2 se explica

más adelante en el apartado 3.3.

Page 20: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

20

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Figura 2: Resumen del esquema eléctrico.

Para concluir, para variar la frecuencia de iluminación de un LED ha de

realizarse modificando la frecuencia de la señal del MOSFET canal N de las filas

y con un factor de servicio de 1/9 por tener 9 filas. Para variar la potencia del

brillo de un LED ha de modificarse el factor de servicio de la señal del MOSFET

canal N de las columnas del LED, si permaneciera constante y se modifica su

frecuencia no variaría la potencia de brillo.

Page 21: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

21

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Capítulo 3 COMPONENTES DEL PROYECTO

3.1 INTRODUCCIÓN

En este capítulo se describen individualmente y con detalle todos los

módulos que componen el proyecto.

3.2 MATRIZ TRIDIMENSIONAL

La matriz tridimensional está compuesta por nueve LEDs RGB, cada uno

de éstos LEDs tiene en su interior tres diodos conectados en ánodo común que

emiten por separado luz de la longitud de onda del color rojo, del color verde y

del color azul.

El encapsulado SMD de éstos LEDs tiene cuatro pines que corresponden a

los tres colores RGB más un pin perteneciente al ánodo común. Combinando

estos cuatro pines se ha construido la matriz tridimensional, los pasos se detallan

en el capítulo 2 de la parte V Anejos.

3.3 ETAPA DE POTENCIA

Se busca crear un dispositivo intermedio entre la señal de 3,3 V de

amplitud de salida de la tarjeta de desarrollo Altera DE1 y los LEDs de la matriz

Page 22: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

22

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

tridimensional 3x3x3 para aportar mayor cantidad de corriente que la que puede

aportar la FPGA a la matriz. La tensión que debe llegar a la entrada de la matriz es

de 5 V. Para ello se ha diseñado el circuito que aparece en los planos Nº 1, 2, 3 y 4

del esquema eléctrico del documento de planos.

A modo explicativo se resume en la figura 3 la conexión de una fila de la

matriz tridimensional con un único LED y para uno de los tres colores de ese Led.

Se han marcado las tensiones VA, VB y VC para futuras explicaciones.

Figura 3: Resumen del esquema eléctrico

Se observan transistores MOSFET canal N y canal P. El motivo por el que

se utilizan este tipo de transistores es porque cuando están en saturación la

corriente por la puerta es casi cero, al contrario que ocurre en los transistores

bipolares, y esto es beneficioso porque así no se requiere corriente de la FPGA

durante la saturación de los MOSFET.

Page 23: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

23

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Otra cualidad a destacar del circuito es el diodo de protección de la FPGA

(D21) que se ha introducido en el diseño. La función de éste diodo es de

protección de la FPGA cuando el transistor Q1 se estropee y circule corriente

entre el drenador y la puerta. En ese caso la corriente se derivaría hacia la FPGA

pero el diodo hace que la corriente circule por él salvando a la FPGA de

estropearse, que si bien tiene una resistencia de entrada, no sería suficiente

protección si no se incluye el diodo en el diseño.

Se observan diferentes resistencias en el circuito, el motivo de la

resistencia de 953 Ω es para limitar la corriente que circula por los el transistor Q1

y para reducir las oscilaciones que provoca el transistor en la señal, para el cálculo

de su valor se realizan pruebas con un potenciómetro de 5K.

La resistencia de 100 Ω ha de tener un valor tan pequeño para que el

condensador de la puerta Q2 se descargue rápidamente cuando el transistor Q1

conduce.

El transistor Q3 sirve para controlar el encendido y apagado de las

columnas de la matriz además de controlar el brillo de los LEDs en función del

PWM de la señal COLUMNA.

3.3.1 PRUEBA DEL CIRCUITO

Las señal que se ha empleado para alimentar el indicador COLUMNA del

circuito durante el ensayo es la señal de 100 Hz y factor de servicio 1/9 que

aparece en la figura 4, siendo una señal continua de amplitud 3,3 V la señal de

alimentación aplicada en el indicador FILA.

Page 24: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

24

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Figura 4: Señal COLUMNA

Tanto en la figura 5, la figura 6 y la figura 7 se observa que la señal VA

(superior) no es perfectamente cuadrada sino que tiene una pequeña pendiente en

el cambio de nivel bajo a nivel alto y lo mismo le ocurre a la señal VB (inferior)

en el cambio de nivel alto a nivel bajo.

Éstas pendientes son frutos de las oscilaciones que aparecen cuando el

transistor Q1 conmuta. Sólo se pueden atenuar con la resistencia R1 del circuito,

si su valor crece la pendiente de VB se vuelve menor volviendo a la señal más

lenta y las oscilaciones de VA aumentan. Por el contrario, si R1 disminuye mucho

más de los 953 Ω las señales VB y VA se distorsionan volviéndose inestables. El

valor de R1 a 953 Ω es el punto intermedio entre la inestabilidad y el aumento de

las oscilaciones.

Page 25: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

25

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Figura 5: Tensiones VA y VB estando conectada la columna del color rojo.

Figura 6: Tensiones VA y VB estando conectada la columna del color verde.

Page 26: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

26

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Figura 7: Tensiones VA y VB estando conectada la columna del color azul.

Una vez se ha obtenido el valor de R1 y de R2 se debe de calibrar la

resistencia R3 para las columnas de tal modo que su valor no permita que por los

LEDs circule una corriente mayor a su corriente máxima permitida. Después, con

el PWM de la señal COLUMNA, se hará un ajuste fino del brillo.

La figura 8, la figura 9 y la figura 10 representan la señal VB (superior) y

la señal VC (inferior) para las columnas de color rojo, verde y azul y con una

resistencia R3 de valor 50 Ω.

Page 27: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

27

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Figura 8: Tensiones VB y VC estando conectada la columna del color rojo.

Figura 9: Tensiones VB y VV estando conectada la columna del color verde.

Page 28: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

28

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Figura 10: Tensiones VB y VC estando conectada la columna del color azul.

Comparando las señales VA, VB y VC de las figuras 5 y 8 se observa la

conversión de la señal FILA de amplitud 3,3 V en una señal del 5 V en el punto

VB y la correspondiente caída de tensión en los diodos en las señales VC.

3.4 SISTEMA DE CONTROL

El sistema de control se puede considerar como el cerebro del proyecto

donde se van a realizar todo tipo de operaciones para iluminar la matriz con los

colores deseados en las posiciones requeridas. Es un sistema en lazo abierto ya

que no se dispone de sensores para realimentar los colores de cada LED.

Page 29: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

29

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

El sistema completo de control se puede observar en el plano nº 9 del

apartado de planos, en él se observan tres componentes claramente diferenciables

que son el circuito de multiplexación, la memoria Ram de doble puerto y el

microcontrolador Nios II.

3.4.1 CIRCUITO DE MULTIPLEXACIÓN

Todo el código de cada uno de los componentes descritos a continuación

se encuentra detallado en el capítulo 1 de la parte IV Código fuente e

instrucciones de creación. Todos los componentes tienen salidas y entradas extras

que son útiles en simulación pero que no aportan nada cuando se está ejecutando

en la FPGA.

3.4.1.1 HW_Multiplexation

El componente de la figura 11 engloba toda la multiplexación del sistema

de control. Su función es la de extraer de la memoria Ram los datos de los colores

de cada columna y fila para crear señales adecuadas para la etapa de potencia que

iluminará la matriz de LEDs. En su interior, como se aprecia en el plano Nº10 del

documento Nº2 Planos, se encuentra una estructura formada por una máquina de

estados, biestables y demás componentes que se desarrollarán más adelante. En la

figura 11, se observa el pinout del componente.

Page 30: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

30

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Figura 11: Circuito de Multiplexación

Las entradas y salidas del componente son las siguientes:

clk50MHz: señal cuadrada a 50Hz generada por el oscilador de la FPGA.

rst: señal reset, activa con valor 0 y dada por un interruptor de la FPGA.

ce: señal que inhabilita todos los componentes cuando su valor es 0.

data[31..0]: bus de datos de 32 bits de una celda de la memoria Ram.

fila[3..0]: señal para simulación, indica el número de la fila activada en

cada momento.

FX: señal cuadrada conectada a su fila correspondiente para su activación,

de factor de servicio 1/9.

edir[5..0]: señal conectada a la memoria Ram para indicarle la dirección

de memoria a leer.

flag: indicador para la simulación, incrementa la dirección edir[5..0].

ceo: indicador para la simulación de fin de cuenta del contador.

cuenta[7..0]: indicador para la simulación de la cuenta del contador.

Page 31: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

31

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

carga: indicador para la simulación del momento para cargar los tres datos

de la Ram en la salida del biest_triple.

CXR, CXG, CXB: señal cuadrada de factor de servicio variable

conectada a su columna correspondiente.

enX: indicador para la simulación del bit que habilita el biestable

correspondiente del biest_triple.

3.4.1.1.1 biest_triple

A la hora de emplear la multiplexación en la matriz tridimensional de

LEDs hay que tener en cuenta que las filas se multiplexan pero los datos de los

colores de cada columna se han de cargar en paralelo aunque de la matriz solo se

extraigan celdas de memoria de una en una. Para solventar éste problema se crea

el componente de la figura 12 que es capaz de almacenar las tres palabras de la

memoria Ram que contienen los datos de una columna.

Figura 12: Biestable triple

Las entradas y salidas del componente son las siguientes:

clk50MHz: señal cuadrada a 50Hz generada por el oscilador de la FPGA.

rst: señal reset, activa con valor 0 y dada por un interruptor de la FPGA.

ce: señal que inhabilita todos los componentes cuando su valor es 0.

carga: bit que indica a los tres biestables el momento de cargar los datos

en las salidas. Es un proceso que se realiza en paralelo.

Page 32: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

32

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

data[31..0]: dato de entrada de 32 bits extraído d la memoria Ram.

enX: bit que permite cargar el dato de entrada de 32 bits en el biestable

correspondiente.

3.4.1.1.2 decod_triple

La finalidad de este componente es la de desglosar en bloques de 8 bits los

datos de 32 bits que llegan a la entrada. El proceso se realiza tres veces ya que el

componente de la figura 13 consta de tres entradas de 32 bits, necesitando 9

salidas de 8 bits que representan al número de cuenta de cada color de cada

columna.

Figura 13: Decodificador triple

Las entradas y salidas del componente son las siguientes:

clk50MHz: señal cuadrada a 50Hz generada por el oscilador de la FPGA.

rst: señal reset, activa con valor 0 y dada por un interruptor de la FPGA.

ce: señal que inhabilita todos los componentes cuando su valor es 0.

qX[31..0]: dato de 32 bits, se cargan los tres en paralelo.

RX[7..0], GX[7..0, BX[7..0]: dato de 8 bits para cada color y columna.

Page 33: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

33

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

3.4.1.1.3 timer_RGB

El componente de la figura 13 proporciona a su salida una señal cuadrada

de factor de servicio variable según el número de cuenta que le llega a las entradas

de 8 bits.

Figura 14: Generador de la amplitud de la señal de las columnas

Las entradas y salidas del componente son las siguientes:

clk50MHz: señal cuadrada a 50Hz generada por el oscilador de la FPGA.

rst: señal reset, activa con valor 0 y dada por un interruptor de la FPGA.

ce: señal que inhabilita todos los componentes cuando su valor es 0.

RX[7..0], GX[7..0], BX[7..0]: dato de 8 bits para cada color y columna.

ceo: indicador de fin de cuenta del contador.

cuenta[7..0]: indica la cuenta del contador.

CXR, CXG, CXB: señal cuadrada de factor de servicio variable

conectada a su columna correspondiente.

Page 34: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

34

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

3.4.1.1.4 maquina

El componente de la figura 15 representa la máquina de estados del

sistema de multiplexación, dicha máquina se encarga de dar la señal que

incrementa la dirección de la cual extraer de la memoria Ram la celda de 32 bits y

además se encarga de generar la señal de carga del biest_triple. En su interior se

gestiona un diagrama de estados mostrado en el plano Nº11 del documento Nº2

Planos.

Figura 15: Máquina de estados

Las entradas y salidas del componente son las siguientes:

clk50MHz: señal cuadrada a 50Hz generada por el oscilador de la FPGA.

rst: señal reset, activa con valor 0 y dada por un interruptor de la FPGA.

ce: señal que inhabilita todos los componentes cuando su valor es 0.

ceo: sirve para resetear la máquina cuando alcanza el valor „1‟.

carga: bit que se pone a „1‟ para cargar los datos a la salida de biest_triple.

flag: bit que sirve para incrementar la dirección de la celda a extraer de la

memoria Ram.

enX: bit que habilita la carga de los datos en los biestables

correspondientes de biest_triple.

Page 35: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

35

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

3.4.1.1.5 dirección

La finalidad del componente de la figura 16 es la de generar la dirección

de extracción de la memoria Ram la celda de 32 bits incrementando dicha

dirección cada vez que varía el bit de la entrada flag. Además genera un bus de

datos a su salida con el número de fila a seleccionar por el bloque demux_fil.

Figura 16: Generador de la dirección de memoria y de la fila

Las entradas y salidas del componente son las siguientes:

clk50MHz: señal cuadrada a 50Hz generada por el oscilador de la FPGA.

rst: señal reset, activa con valor 0 y dada por un interruptor de la FPGA.

ce: señal que inhabilita todos los componentes cuando su valor es 0.

flag: indicador para la simulación, incrementa la dirección edir[5..0].

FILA[3..0]: indica el número de fila a seleccionar por el demux_fil.

dir[5..0]: dirección generada para extraer de la memoria Ram la celda

deseada.

3.4.1.1.6 demux_fil

Representado en la figura 17 se encuentra el bloque demux_fil, el cual es

un demultiplexor, se encarga de activar el bit de salida de la correspondiente fila

indicada por el dato de 4 bits recibido a la entrada como sel[3..0] procedente del

componente dirección.

Page 36: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

36

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Figura 17: Demultiplexor de filas

Las entradas y salidas del componente son las siguientes:

sel[3..0]: dato que indica la fila a seleccionar.

FX: señal cuadrada conectada a su fila correspondiente para su activación,

de factor de servicio 1/9.

3.4.2 MEMORIA RAM DOBLE PUERTO

Uno de los componentes más importante del sistema de control es la

memoria Ram de la figura 18, en dicha memoria el microcontrolador escribe la

amplitud del PWM aplicado a cada color de los LED para que el componente

HW_Multiplexation extraiga de una en una cada celda de 32 bits con la

información escrita por el microcontrolador. El formato de las celdas de memoria

se describe en el capítulo 1 de la parte V Anejos. Cabe destacar que la memoria

Ram es un intermediario entre el microcontrolador y la multiplexación ya que

cada uno trabaja de manera autónoma.

Page 37: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

37

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Figura 18: Memoria RAM de doble puerto

Las entradas y salidas del componente son las siguientes:

data[31..0]: dato de entrada de 32 bits a escribir en la memoria Ram,

proporcionado por el microcontrolador.

wraddress[5..0]: dirección donde escribir el dato del microcontrolador.

wren: permite habilitar (valor „1‟) ó deshabilitar (valor „0‟) la escritura de

datos en la Ram.

rdaddress[5..0]: indica la dirección de la memoria Ram donde está el dato

de 32 bits que se quiere leer.

clk50MHz: señal cuadrada de 50Hz generada por el oscilador de la

FPGA.

q[31..0]: dato leído de la memoria Ram.

3.4.3 CPU NIOS II

El microcontrolador juega un papel muy importante dentro del sistema de

control, es el encargado de rellenar la memoria Ram con datos nuevos para que la

imagen final visualizada en el cubo de LEDs sea dinámica en lugar de una imagen

estática cuando no se varían los datos de la memoria Ram. Es un microcontrolador

del tipo soft-core cpu el componente de la figura 19.

Page 38: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

38

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Figura 19: Microcontrolador Nios II

Las entradas y salidas del componente son las siguientes:

clk50MHz: señal cuadrada de 50Hz generada por el oscilador de la

FPGA.

rst: señal reset, activa con valor 0 y dada por un interruptor de la FPGA.

data[31..0]: dato de salida de 32 bits a escribir en la memoria Ram.

wraddress[5..0]: dirección donde escribir el dato en la memoria Ram.

wren: permite habilitar (valor „1‟) ó deshabilitar (valor „0‟) la escritura de

datos en la Ram.

Page 39: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

39

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Capítulo 4 RESULTADOS/EXPERIMENTOS

4.1 MEMORIA RAM Y CIRCUITO DE MULTIPLEXACIÓN

Para tener mayor probabilidad de que un circuito funcione correctamente

cuando esté implementado, se debe comprobar primero el funcionamiento de los

componentes por separado mediante simulación. En esta ocasión se va a llevar a

cabo una simulación con la memoria Ram doble puerto y el circuito de

multiplexación.

La simulación se lleva a cabo con el programa ModelSim. Para poder

simular un circuito con este programa se requiere de un Testbench ó banco de

pruebas como el que aparece en el apartado 1.4 de la parte IV Código fuente e

instrucciones de creación.

Los valores con los que se inicializa la memoria Ram de doble puerto son

los del archivo memram.mif del apartado 1.2.2 de la parte IV Código fuente e

instrucciones de creación.

Los datos del circuito compilado y de la memoria Ram aparecen en la

figura 20.

Page 40: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

40

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Figura 20: Datos de la memoria Ram más el circuito de multiplexación

Se ha de comprobar en las simulaciones una serie de puntos que deben de

cumplirse para poder asegurar que funciona correctamente esta parte del circuito

de control.

En primer lugar, se debe de cumplir que el tiempo que tarda la

multiplexación en volver a encender una misma fila sea menor de 20 ms y, como

se ha diseñado, que sea en 10 ms.

En la figura 21 se comprueba que realmente la simulación cumple lo

anteriormente descrito.

Page 41: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

41

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Figura 21: Simulación de dos ciclos completos

Page 42: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

42

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

El segundo punto a comprobar es que el factor de servicio de 1/9 se

cumpla para la multiplexación de las filas, esto es que el tiempo de encendido de

una fila ha de ser de 1,1 ms para un periodo de 10 ms. En la figura 22 se indica el

tiempo de 1,1 ms de amplitud de la fila 1.

Figura 22: Simulación de un ciclo

Page 43: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

43

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

El tercer punto a cumplirse es que se extraigan correctamente los datos de

la Ram que están en las direcciones solicitadas por el circuito de multiplexación y

además que los datos extraídos sean recogidos y cargados correctamente mediante

las señales en1, en2, en3 y carga del circuito de multiplexación, figura 23.

Figura 23: Detalle de la adquisición de datos de la memoria

Page 44: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

44

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Para terminar, el último punto para comprobar que la simulación y por

tanto los componentes funcionan correctamente se debe de comprobar que la

amplitud de las columnas coinciden con el dato extraído de la memoria Ram.

En la figura 23 se observa que los tres datos extraídos están en

hexadecimal 0x0000007F para la columna 1, el 0x00007F00 para la columna 2 y

el 0x007F0000 para la columna 3. Estos números representan que el color azul de

la columna 1 ha de tener una amplitud de cuenta del contador de hasta 127, el

color verde de la columna 2 hasta 127 también y el color rojo de la columna 3

hasta 127 de nuevo, que en hexadecimal es el 7F.

Por lo tanto, en la figura 24 se observa que realmente la amplitud de la

señal del color de la columna del LED deseado coincide con el valor de 8 bits

extraído de las celdas de la memoria Ram que en esta simulación era 127.

Page 45: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

45

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Figura 24: Detalle de la amplitud deseada de las columnas de la matriz

Page 46: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

46

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Se cumplen todos y cada uno de los puntos diseñados para la memoria

Ram y el circuito de multiplexación, con lo cual se puede afirmar que ambos

funcionan correctamente cumpliendo con sus especificaciones de diseño.

4.2 MICROCONTROLADOR, MEMORIA RAM Y CIRCUITO DE

MULTIPLEXACIÓN

Un microcontrolador generado con el módulo SOPC Builder de Quartus

no puede ser simulado en ModelSim, es por ello por lo que no se puede hacer

simulaciones para demostrar el correcto funcionamiento del sistema general de

control de la matriz tridimensional. Es un microcontrolador OpenCore pero

limitado. El circuito aparece en el plano Nº9 del documento Nº2 Planos.

A continuación, en la figura 25 se muestran los datos de la compilación.

Figura 25: Datos del micro, la memoria Ram y el cto. de multiplexación

Page 47: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

47

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Este circuito de control consta de un microcontrolador que mete datos de

32 bits en una memoria Ram de doble puerto y de un circuito de multiplexación

que extrae esos datos y genera las señales adecuadas de acorde a esos datos para

la etapa de potencia.

Al microcontrolador se le descarga con el programa Nios II SBT for

Eclipse el software del apartado 1.3.2 de la parte IV del proyecto, el diagrama de

flujo del software se puede observar en el plano Nº12 del documento Nº2 Planos.

Dicho software declara e inicializa tres vectores de tamaño 36 (zona útil de

la memoria Ram, se explica en el capítulo 1 de la parte V Anejos) desde donde el

propio software de manera cíclica e infinita va a ir extrayendo por un puerto de

salida los datos de esos vectores para rellenar la memoria Ram de doble puerto. A

la vez que extrae por otro puerto la dirección donde deben guardarse dichos datos

en la memoria Ram para que los datos representados en la matriz se vayan

modificando y den a la imagen un aspecto dinámico.

Page 48: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

48

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Capítulo 5 CONCLUSIONES

En este proyecto se ha conseguido describir un circuito de control

hardware dentro de un chip. También se ha logrado diseñar un software para el

Nios II que permite al microcontrolador rellenar infinitas veces la memoria Ram

de doble puerto con tres vectores de datos declarados e inicializados previamente

en el software.

Se ha diseñado y construido una etapa de potencia para transformar la

pequeña señal aportada por la FPGA en corriente y tensión suficiente para

alimentar los LEDs de la matriz tridimensional y también se ha diseñado y

construido con mucha paciencia un cubo de LEDs.

Todos estos objetivos se han alcanzado satisfactoriamente. Además se han

generado nuevas ideas innovadoras para futuras implementaciones.

Por último, este proyecto sirve para descubrir una nueva vía de control de

matrices de LEDs que no se había desarrollado antes.

Page 49: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

49

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Capítulo 6 FUTUROS DESARROLLOS

El proyecto actual deja abierta una puerta a la innovación tanto en

el diseño de la matriz tridimensional de LEDs como en la innovación en el

sistema de control y en la etapa de potencia.

Una buena innovación en el proyecto sería sustituir la etapa de

potencia por drivers de alimentación de LEDs ahorrando en tamaño de

PCB. Respecto a la matriz se podrían emplear LEDs de diferentes

potencias y formatos para conseguir acabados diferentes y también se

podría investigar para mejorar la tecnología de fabricación y soldadura de

la matriz.

Otra posible mejora sería implantarle a la FPGA el control de un

acelerómetro para poder controlar el giro de las imágenes representadas en

la matriz. Se trata de convertir las señales obtenidas del acelerómetro en

información con la que rellenar la memoria Ram.

Por último, añadiendo sensores de luz, sensores de ultrasonido ó

sensores de infrarrojos se podría detectar la presencia de un objeto cercano

a la matriz de LEDs para así variar su brillo en función de la distancia al

objeto a modo de señal lumínica. De nuevo, se trata de convertir las

señales obtenidas de los sensores en información a asignar a la memoria

Ram para rellenar el cubo de LEDs

Page 50: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Memoria

50

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

BIBLIOGRAFÍA

[ARIA04] Arias Mª J., I. Bravo, E. Bueno, M. Escudero, J. C. García, M. A. García,

A. López, E. Martín, J. L. Martín, A. Martínez, S. E. Palazuelos,

“Aplicaciones con Circuitos Electrónicos Analógicos”, Servicio de

Publicaciones de la U. A. H., 2004.

[ROJO09] Rojo J., “Mando de Radiofrecuencia Basado en Sensores Inerciales”,

Proyecto Fin de Carrera, Universidad Pontificia de Madrid (ICAI). 2009.

[FERN07] Fernández I., Apuntes de la asignatura “Tecnología Electrónica”,

Universidad de Alcalá. 2007.

[ALTE08] Altera Company, “Tutorial de desarrollo hardware de Nios II”, 2008.

[MARK11] Markson T., www.lumisense.com. Página web. 2011.

[OSCA11] Oscar, www.circuitoselectrónicos.org/2011/04/como-multiplexar-una-

matriz-de-leds.html. Página web. 2011.

[SACC11] Sacco M., www.neoteo.com/matriz-de-led-8x8.html. Página web. 2011.

Page 51: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Estudio económico

51

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Parte II ESTUDIO

ECONÓMICO

Page 52: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Estudio económico

52

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Capítulo 1 ESTUDIO ECONÓMICO

En la actualidad, el empleo de elementos luminosos como método de

comunicación de información está muy extendido. A lo largo de su historia, el ser

humano ha empleado la luz tanto para iluminar en la oscuridad como para

transmitir información. Uno de esos métodos de transmisión de información

empleando la luz que se utiliza hoy en día son las matrices de LEDs que

sustituyen a las pantallas de tubos catódicos que durante años se han utilizado.

Este proyecto representa un paso más en el empleo de matrices de LEDs,

aportándole un tercer grado de libertad a la imagen que se pretende transmitir al

espectador.

Las matrices actuales son pantallas compuestas por un número de LEDs

distribuido en filas y columnas sobre el mismo plano, permitiendo únicamente el

movimiento en dos direcciones a la imagen que se representa.

Se está desarrollando un incremento del empleo de matrices de LEDs de

dos dimensiones en publicidad y en señalización vial al ofrecer una alta

luminosidad y un bajo consumo de energía eléctrica durante las horas de trabajo

de las matrices, este incremento y el hecho de que se abra una vía al empleo de

matrices tridimensionales de LEDs en la enseñanza universitaria avala la

viabilidad económica del proyecto.

El proyecto tiene una gran flexibilidad a la hora de adaptarse a cambios de

formato y modelo deseado por los usuarios, permitiendo que el proyecto se

renueve a medida que aparezcan nuevas necesidades.

Page 53: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Manual de usuario

53

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Parte III MANUAL DE

USUARIO

Page 54: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Manual de usuario

54

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Capítulo 1 MANUAL DE CONEXIONADO DE

LAS TARJETAS

A continuación, se describen los pasos para conectar la tarjeta de

desarrollo altera DE1, la etapa de potencia y la matriz de LEDs de manera que

ningún componente sufra ningún riesgo eléctrico.

1. En primer lugar se conecta la tarjeta de la matriz de LEDs a la tarjeta de la

etapa de potencia mediante los 9 pines macho-hembra.

2. El usuario debe conectar en primer lugar la tarjeta de desarrollo altera DE1

con el cable USB-Blaster a una entrada USB del ordenador.

3. Pulsar el botón rojo de la placa de desarrollo para el encendido.

4. Descargar el hardware descrito en VHDL en la FPGA a través del cable

USB-Blaster y el programa Quartus II.

5. Descargar el software para el microcontrolador Nios II ubicado en el

circuito de control descrito en C.

6. Conectar un extremo del cable plano de 40 pines al conector GPIO 1 de la

tarjeta de desarrollo DE1 y el otro extremo al socket de 40 pines de la

etapa de potencia.

7. Conectar el extremo mini-USB en el socket hembra mini-USB de la etapa

de potencia y el otro extremo del cable a una entrada USB del ordenador.

Page 55: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Manual de usuario

55

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

8. Llevar el interruptor SW9 (“reset” del circuito de control) de la tarjeta de

desarrollo DE1 hacia adelante y también el interruptor SW0 (“ce” enable

del circuito de control).

9. Para desconectar las tarjetas se debe de realizar el proceso contrario,

primero se desconecta el mini-USB de la etapa de potencia, después el

cable plano de 40 pines y por último se desconecta el botón de POWER de

la tarjeta de desarrollo altera DE1.

Page 56: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Manual de usuario

56

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Capítulo 2 MANUAL DE PROGRAMACIÓN DEL

MICRO NIOS II

En este capítulo se explica al usuario el modo de instalar un programa en

lenguaje C en el microcontrolador Nios II haciendo uso del programa Nios II

Software Build Tools for Eclipse.

Los pasos a seguir son los siguientes:

1. Una vez abierto el programa Nios II SBT for Eclipse hacer click en File,

expandir New y click en Nios II Application and BSP from Template.

Aparecerá una ventana como la de la figura 26 En SOPC information file

name seleccionar el archivo con extensión .sopcinfo que contiene la

información del microcontrolador que va a ser utilizado. En Project name

llamarlo proyecto, seleccionar el Project template llamado Count binary

que se utilizará como programa base para diseñar el programa del proyecto

y ahorrará tiempo. Por último hacer click en Finish. Aparecerán en el

Project Explorer las siguientes carpetas:

proyecto: proyecto de la aplicación C/C++.

proyecto_bsp: es un paquete de soporte de la placa que encapsula

los detalles del hardware del sistema Nios II.

Page 57: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Manual de usuario

57

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Figura 26: Nios II Application and BSP from Template

2. El siguiente paso consiste en compilar el proyecto para producir una

imagen de software ejecutable, primero se debe de ajustar la configuración

del proyecto para minimizar el tamaño ocupado en memoria por el

software. Para ello en el Project Explorer hacer click derecho en

proyecto_bsp y hacer click en Properties. Aparecerá la ventana de

propiedades de proyecto_bsp. Ahora hacer clic en Nios II BSP Properties ,

marcar las casillas de la figura 27 y hacer click en OK.

Page 58: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Manual de usuario

58

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Figura 27: Properties for proyecto_bsp

3. En la vista del Project Explorer hacer click derecho en “proyecto” y hacer

click en Build. Aparecerá la ventana de Build Project que desaparecerá

cuando el proyecto esté compilado y aparecerá un mensaje de “proyecto

build complete” en la Console view.

4. Este paso consiste en descargar el software en la tarjeta harware y hacerlo

correr. Para descargar el ejecutable de software para la placa de destino

hay que hacer click en “proyecto”, seleccione Run As y, a continuación,

haga clic Nios II Hardware. Nios II SBT for Eclipse descarga el programa

a la FPGA en la placa de destino y el programa empieza a correr. Si

aparece la ventana Run Configurations hay que verificar el nombre del

proyecto y hay que asegurarse de que el archivo ELF contiene datos

relevantes y después hacer click en Run.

Page 59: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

59

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Parte IV CÓDIGO FUENTE

E INSTRUCCIONES DE

CREACIÓN

Page 60: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

60

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Capítulo 1 CÓDIGO FUENTE E

INSTRUCCIONES DE CREACIÓN

1.1 HW_MULTIPLEXATION

Es un bloque que engloba a otros bloques menores, su estructura se puede

apreciar en el plano Nº10 del documento Nº2 Planos.

1.1.1 BIEST_TRIPLE

Figura 28: biest_triple

Page 61: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

61

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

1.1.1.1 biestable

library ieee;

use ieee.std_logic_1164.all;

entity biestable is

port (rst,clk50MHz,en,carga: in std_logic;

data: in std_logic_vector(31 downto 0);

q: out std_logic_vector(31 downto 0)

);

end biestable;

architecture rtl of biestable is

signal dato : std_logic_vector(31 downto 0);

begin

process(clk50MHz,rst)

begin

if(rst='0') then

dato<=(others=>'0');

elsif(clk50MHz'event and clk50MHz='1') then

if(en='1') then

dato<=data;

elsif(carga='1') then

q<=dato;

end if;

end if;

end process;

end rtl;

Page 62: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

62

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

1.1.2 DECOD_TRIPLE

Figura 29: decod_triple

1.1.2.1 decod

library ieee;

use ieee.std_logic_1164.all;

entity decod is

port (rst,clk50MHz,ce: in std_logic;

data: in std_logic_vector(31 downto 0);

R: out std_logic_vector(7 downto 0);

G: out std_logic_vector(7 downto 0);

B: out std_logic_vector(7 downto 0)

);

end decod;

Page 63: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

63

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

architecture rtl of decod is

begin

process(clk50MHz,rst)

begin

if(rst='0') then

R<=(others=>'0');

G<=(others=>'0');

B<=(others=>'0');

elsif(clk50MHz'event and clk50MHz='1') then

if(ce='1') then

B<=data(7 downto 0);

G<=data(15 downto 8);

R<=data(23 downto 16);

end if;

end if;

end process;

end rtl;

Page 64: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

64

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

1.1.3 TIMER_RGB

Figura 30: timer_RGB

1.1.3.1 counter

El contador realiza una cuenta ascendente de 0 a 255, cada incremento en

la cuenta se realiza cada 214 incrementos de la variable “cnt_div” que se

producen cada ciclo de reloj (0.02 µs por los 50 MHz del reloj). Esto significa que

un incremento de la variable “cuenta” ocurre cada 4.28 µs y cada activación del

fin de cuenta “ceo” se produce cada 1.09 ms que es aproximadamente 1,1 ms (es

el tiempo de activación de cada fila). Después de haberse activado las 9 filas se

obtiene un tiempo final de ciclo de encendido de la matriz de aproximadamente

10 ms.

Page 65: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

65

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

library ieee;

use ieee.std_logic_1164.all;

use ieee.numeric_std.all;

entity counter is

port (rst,clk50MHz,ce: in std_logic;

ceo:out std_logic;

q: out std_logic_vector(7 downto 0)

);

end counter;

architecture rtl of counter is

signal cuenta: unsigned(7 downto 0);

signal cnt_div: unsigned(9 downto 0);

begin

q<=std_logic_vector(cuenta);

process(clk50MHz,rst)

begin

if(rst='0') then

cnt_div<=(others=>'0');

cuenta<=(others=>'0');

elsif(clk50MHz'event and clk50MHz='1') then

if(ce='1') then

if(cnt_div=214) then

cnt_div<=(others=>'0');

if(cuenta=255) then

cuenta<="00000000";//No es necesario

ceo<='0';

else

cuenta<=cuenta+1;

ceo<='0';

end if;

if(cuenta=254)then

ceo<='1';

Page 66: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

66

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

end if;

else

cnt_div<=cnt_div+1;

end if;

end if;

end if;

end process;

end rtl;

1.1.3.2 comp_RGB

Figura 31: comp_RGB

Page 67: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

67

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

1.1.3.2.1 comp

library ieee;

use ieee.std_logic_1164.all;

entity comp is

port (rst,ce,clk50MHz: in std_logic;

data: in std_logic_vector(7 downto 0);

cuenta: in std_logic_vector(7 downto 0);

data_clk:out std_logic);

end comp;

architecture rtl of comp is

signal color: std_logic_vector(7 downto 0);

signal tim: std_logic_vector(7 downto 0);

begin

tim<=cuenta;

color<=data;

process(clk50MHz,rst)

begin

if(rst='0') then

data_clk<='0';

elsif(clk50MHz'event and clk50MHz='1') then

if(ce='1') then

if(tim<color) then

data_clk<='1';

else

data_clk<='0';

end if;

end if;

end if;

end process;

end rtl;

Page 68: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

68

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

1.1.4 MAQUINA

library ieee;

use ieee.std_logic_1164.all;

entity maquina is

port(

rst,clk50MHz,ceo,ce: in std_logic;

--dir: in std_logic_vector(3 downto 0);

--address: out std_logic_vector(3 downto 0);

carga,flag,en1,en2,en3: out std_logic

);

end maquina;

architecture rtl of maquina is

type state is

(AUX1,AUX2,AUX3,AUX4,AUX5,AUX6,AUX7,AUX8,AUX9,AUX10);

signal estado: state;

begin

process(clk50mHz,rst,ceo)

begin

if (rst='0' or ceo='1') then

estado<=AUX1;

flag<='0';

carga<='0';

en1<='0';

en2<='0';

en3<='0';

elsif (clk50MHz'event and clk50MHz='1') then

if (ce='1') then

case estado is

when AUX1=>

estado<=AUX2;

flag<='1';

when AUX2=>

estado<=AUX3;

flag<='0';

Page 69: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

69

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

when AUX3=>

estado<=AUX4;

flag<='1';

when AUX4=>

estado<=AUX5;

flag<='0';

en1<='1';

en2<='0';

en3<='0';

when AUX5=>

estado<=AUX6;

flag<='1';

en1<='0';

en2<='0';

en3<='0';

when AUX6=>

estado<=AUX7;

flag<='0';

en1<='0';

en2<='1';

en3<='0';

when AUX7=>

estado<=AUX8;

en1<='0';

en2<='0';

en3<='0';

when AUX8=>

estado<=AUX9;

en1<='0';

en2<='0';

en3<='1';

when AUX9=>

estado<=AUX10;

en1<='0';

en2<='0';

en3<='0';

carga<='1';

when AUX10=>

Page 70: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

70

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

carga<='0';

end case;

end if;

end if;

end process;

end rtl;

1.1.5 DIRECCIÓN

library ieee;

use ieee.std_logic_1164.all;

use ieee.numeric_std.all;

entity direccion is

port (rst,ce,clk50MHz,flag: in std_logic;

FILA: out std_logic_vector(3 downto 0);

dir: out std_logic_vector(5 downto 0)

);

end direccion;

architecture rtl of direccion is

signal col_cuenta: unsigned(1 downto 0);

signal fil_cuenta: unsigned(3 downto 0);

begin

FILA<=std_logic_vector(fil_cuenta);

dir<=std_logic_vector(fil_cuenta)&std_logic_vector(col_cuenta);

process(clk50MHz,rst)

begin

if(rst='0') then

col_cuenta<="11";--(others=>'0');

fil_cuenta<=(others=>'0');

elsif(clk50MHz'event and clk50MHz='1') then

if(ce='1') then

if(flag='1') then

if(col_cuenta=2) then

col_cuenta<="00";

Page 71: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

71

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

if(fil_cuenta=8) then

fil_cuenta<="0000";

else

fil_cuenta<=fil_cuenta+1;

end if;

else

col_cuenta<=col_cuenta+1;

end if;

end if;

end if;

end if;

end process;

end rtl;

1.1.6 DEMUX_FIL

library ieee;

use ieee.std_logic_1164.all;

entity demux_fil is

port (sel: in std_logic_vector(3 downto 0);

F1,F2,F3,F4,F5,F6,F7,F8,F9: out std_logic

);

end demux_fil;

architecture rtl of demux_fil is

begin

process(sel)

begin

if (sel="0000")then --FILA 1

F1<='1';

F2<='0';

F3<='0';

F4<='0';

F5<='0';

F6<='0';

Page 72: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

72

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

F7<='0';

F8<='0';

F9<='0';

elsif (sel="0001")then --FILA 2

F1<='0';

F2<='1';

F3<='0';

F4<='0';

F5<='0';

F6<='0';

F7<='0';

F8<='0';

F9<='0';

elsif (sel="0010") then --FILA 3

F1<='0';

F2<='0';

F3<='1';

F4<='0';

F5<='0';

F6<='0';

F7<='0';

F8<='0';

F9<='0';

elsif (sel="0011") then --FILA 4

F1<='0';

F2<='0';

F3<='0';

F4<='1';

F5<='0';

F6<='0';

F7<='0';

F8<='0';

F9<='0';

elsif (sel="0100") then --FILA 5

F1<='0';

F2<='0';

F3<='0';

F4<='0';

Page 73: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

73

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

F5<='1';

F6<='0';

F7<='0';

F8<='0';

F9<='0';

elsif (sel="0101") then --FILA 6

F1<='0';

F2<='0';

F3<='0';

F4<='0';

F5<='0';

F6<='1';

F7<='0';

F8<='0';

F9<='0';

elsif (sel="0110") then --FILA 7

F1<='0';

F2<='0';

F3<='0';

F4<='0';

F5<='0';

F6<='0';

F7<='1';

F8<='0';

F9<='0';

elsif (sel="0111") then --FILA 8

F1<='0';

F2<='0';

F3<='0';

F4<='0';

F5<='0';

F6<='0';

F7<='0';

F8<='1';

F9<='0';

elsif (sel="1000") then --FILA 9

F1<='0';

F2<='0';

Page 74: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

74

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

F3<='0';

F4<='0';

F5<='0';

F6<='0';

F7<='0';

F8<='0';

F9<='1';

end if;

end process;

end rtl;

1.2 RAMDOBLEPUERTO

Figura 32: RamDoblePuerto

1.2.1 RAMMEM

En este apartado se explica el método de configuración de una memoria

Ram doble puerto en Quartus empleando los módulos prediseñados de

MegaWizard Plug-In Manager y además se expone el contenido del documento

memram.mif que inicializa la memoria Ram.

Page 75: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

75

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

1.2.1.1 Configuración de la memoria Ram

En primer lugar se ha de seleccionar de los módulos de MegaWizard la

memoria Ram doble puerto. Acto seguido, aparecerá la pantalla de la figura 33, en

la cual no se ha de modificar nada.

Figura 33: Configuración Ram paso 1

En la pantalla de la figura 34 se selecciona el número de palabras que ha

de contener la memoria Ram y el número de bits de cada palabra. En este caso se

seleccionan 64 palabras porque se necesitan al menos 36 palabras (zona útil de la

Ram, se explica en el capítulo 1 de la parte V Anejos) y el tamaño de cada palabra

ha de ser de 32 bits porque necesitamos 8 bit por cada uno de los tres colores de

un LED.

Page 76: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

76

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Figura 34: Configuración Ram paso 2

Como solamente se necesita un reloj se deja como está la pantalla de la

figura 35 y se pulsa Next.

Figura 35: Configuración Ram paso 3

Page 77: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

77

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Se ha de seleccionar lo que aparece en la figura 36 para añadir un puerto

síncrono en la salida de datos de la memoria Ram para que los datos sean

extraídos de manera síncrona con el reloj de la FPGA.

Figura 36: Configuración Ram paso 4

En la pantalla de la figura 37 se debe de dejar todo como está por defecto.

Figura 37: Configuración Ram paso 5

Page 78: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

78

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

En la pantalla de la figura 38 se observan dos opciones, la primera es para

no inicializar la memoria Ram con ningún valor y la segunda que además está

seleccionada sirve para indicarle a Quartus un archivo con extensión .mif donde

se encuentran los valores de inicialización de la memoria Ram.

Figura 38: Configuración Ram paso 6

La pantalla de la figura 39 se ha de dejar por defecto y continuar con la

siguiente pantalla.

Figura 39: Configuración Ram paso 7

Page 79: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

79

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

En la última pantalla, figura 40, nos indica MegaWizard los archivos de la

memoria Ram que puede generar para que el usuario los seleccione a su elección.

En este proyecto se seleccionan todos los archivos.

Figura 40: Configuración Ram paso 8

1.2.2 INICIALIZACIÓN DE LA MEMORIA RAM

A continuación se expone el archivo memram.mif de inicialización de la

memoria Ram de doble puerto para las pruebas del sistema sin incluir el

microcontrolador. Con este archivo se configura la memoria para que la dirección

0xXX : se inicialice con el valor 0x00XXXXXX.

Page 80: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

80

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

% PROYECTO 2º I.A.E.I. %

% VÍCTOR GARCÍA BARDERA %

--CÓDIGO DE INICIALIZACIÓN DE LA RAM

DEPTH = 64; -- The size of memory in words

WIDTH = 32; -- The size of data in bits

ADDRESS_RADIX = HEX; -- The radix for address values

DATA_RADIX = HEX; -- The radix for data values

CONTENT -- start of (address : data pairs)

BEGIN

00 : 0000007F; -- memory address : data

01 : 0000007F;

02 : 0000007F;

03 : 00000000;

04 : 00007F00;

05 : 00007F00;

06 : 00007F00;

07 : 00000000;

08 : 007F0000;

09 : 007F0000;

0A : 007F0000;

0B : 00000000;

0C : 0000007F;

0D : 0000007F;

0E : 0000007F;

0F : 00000000;

10 : 00007F00;

11 : 00007F00;

12 : 00007F00;

13 : 00000000;

14 : 007F0000;

15 : 007F0000;

16 : 007F0000;

17 : 00000000;

18 : 0000007F;

19 : 0000007F;

1A : 0000007F;

1B : 00000000;

1C : 00007F00;

1D : 00007F00;

1E : 00007F00;

1F : 00000000;

20 : 007F0000;

21 : 007F0000;

22 : 007F0000;

23 : 00000000;

24 : 00000000;

25 : 00000000;

26 : 00000000;

27 : 00000000;

28 : 00000000;

29 : 00000000;

2A : 00000000;

Page 81: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

81

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

2B : 00000000;

2C : 00000000;

2D : 00000000;

2E : 00000000;

2F : 00000000;

30 : 00000000;

31 : 00000000;

32 : 00000000;

33 : 00000000;

34 : 00000000;

35 : 00000000;

36 : 00000000;

37 : 00000000;

38 : 00000000;

39 : 00000000;

3A : 00000000;

3B : 00000000;

3C : 00000000;

3D : 00000000;

3E : 00000000;

3F : 00000000;

END;

1.3 MINIOS

1.3.1 CONFIGURACIÓN DEL MICRO NIOS II

Este apartado se centra en la configuración de un microcontrolador

OpenCore Nios II empleando el SOPC Builder de Quartus, detallando los pasos

hasta la compilación del mismo. Toda la información que se ha necesitado para

este apartado se ha extraído de la referencia [ALTE08].

En primer lugar se abre el programa Quartus, se genera un nuevo proyecto

configurado adecuadamente para la FPGA que se va a utilizar y se selecciona el

SOPC Builder. Aparecerá inmediatamente la pantalla de la figura 41 donde se

debe de añadir el reloj del sistema pinchando en el botón Add.

Page 82: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

82

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Figura 41: Nios II, paso 1

A continuación se añade una memoria Ram on-chip de 17.000 bytes de

tamaño como la de la figura 42, éste es el tamaño máximo permitido para esta

clase de micros con memorias on-chip de M4K. Si se requiriese mayor espacio de

memoria se añadiría otra memoria Ram on-chip, pero con una es suficiente para

albergar el software con el que se programará el micro más adelante. Otras

versiones de tarjetas de desarrollo Altera permiten el uso de memorias M9K.

En Component Library (dentro de System Contents), expandir Memories

and Memory Controllers, expandir On-Chip, y hacer click en On-Chip Memory

(RAM or ROM).

Figura 42: Nios II, paso 2

Page 83: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

83

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

A continuación se selecciona la cpu Nios II, para ello se hace click en

Component Library, expandir Processors y hacer click en Nios II Processor.

Aparecerán las pantallas de las figuras 43 y 44. En el proyecto se ha seleccionado

el micro Nios II/s porque es un intermedio entre el básico y el completo y es

suficiente para el programa a desarrollar. Se selecciona una caché de 4 Kbytes.

Figura 43: Configuración Micro Nios II

Figura 44: Configuración micro Nios II

Page 84: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

84

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Se añade a continuación el JTAG UART que es una forma cómoda de

comunicar datos con el procesador Nios II a través del cable de descarga USB-

Blaster. Realizar los siguientes pasos para agregar la UART JTAG: En

Component Library expandir Interface Protocols, expandir Serial y hacer click en

JTAG UART, aparecerá la figura 45 en la pantalla y sólo hay que darle a Finish.

Figura 45: Nios II, paso 3

Para futuras aplicaciones se le ha añadido al microcontrolador un módulo

de interrupción, aunque para este proyecto no es necesario. Para añadirlo al micro

hay que ir a Component Library, expandir Peripherals, expandir Microcontroller

Peripherals y hacer click en Interval Timer. Aparecerá la pantalla de la figura 46.

Page 85: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

85

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Figura 46: Nios II, paso 4

Además de los módulos anteriores, se le añade el System ID peripheral,

éste módulo protege contra descargas accidentales de software compilado en un

sistema de Nios II diferente. Si el sistema incluye el system ID peripherals, el

Nios II SBT for Eclipse puede prevenir al usuario de que se está intentando

descargar programas compilados para otro sistema diferente. Para añadir éste

módulo se ha de ir a Component Library, expandir Peripherals, expandir Debug

and Performance y hacer click en System ID Peripheral. Aparecerá la pantalla de

la figura 47.

Figura 47: Nios II, paso 5

Page 86: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

86

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

El siguiente paso es añadir las interfaces de salida del microcontrolador

para las señales data, wraddress y wren. Para ello se añaden tres módulos PIO

como los de la figura 48, la figura 49 y la figura 50.

Los módulos PIO proporcionan un método sencillo para los sistemas del

procesador Nios II para recibir estímulos de entrada y sacar señales de salida del

microcontrolador. Aplicaciones complejas de control pueden utilizar cientos de

señales PIO del Nios II. En este proyecto se utilizan 39 señales de salida

PIO para conducir las señales en la placa.

Figura 48: Nios II, paso 6

Page 87: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

87

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Figura 49: Nios II, paso 7

Figura 50: Nios II, paso 8

Page 88: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

88

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Finalmente, después de añadir todos los módulos descritos al diseño del

microcontrolador, deben de aparecer reflejados en la pantalla principal de SOPC

Builder como en la figura 51.

Figura 51: Nios II, paso 9

Acto seguido hay que aginar las direcciones base de todos los módulos,

para ello hay que hacer click en System menu, hacer clic en Assign Base

Addresses. Al pulsar en Address Map aparecerá el mapa de las direcciones de

cada componente, las direcciones de los componentes del microcontrolador

diseñado se detallan en la figura 52.

Figura 52: Nios II, paso 10

Page 89: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

89

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Una vez asignadas las direcciones base, hay que generar el

microcontrolador y todos los archivos para que funcione correctamente, para ello

SOPC Builder pone a disposición del usuario en System Generation el botón

Generate. Si no hay ningún problema aparecerá el mensaje System generation was

susccessful como en la figura 53.

Figura 53: Nios II, paso 11

Una vez generado el componente se coloca en el proyecto de Quartus

como en la figura 54. Para poderlo compilar es necesario que no haya ningún

programa asignado para simulación y que no se especifique nada en el apartado

Timming, como se indica en la pantalla Settings de la figura 55.

Figura 54: Microcontrolador Nios II

Page 90: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

90

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Figura 55: Nios II, paso 12

Los datos resultantes de la compilación se observan en la figura 56.

Figura 56: Nios II, resultado de la compilación

Page 91: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

91

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

1.3.2 SOFTWARE DEL MICRO NIOS II

#include "alt_types.h"

#include "altera_avalon_pio_regs.h"

#include "sys/alt_irq.h"

#include "system.h"

#include <stdio.h>

#include <unistd.h>

#define N 36

static alt_u32 celda;

static int direcc;

static int habilit;

static void data_asignation()

#ifdef DATA_PIO_BASE

IOWR_ALTERA_AVALON_PIO_DATA(DATA_PIO_BASE,celda);

#endif

static void wraddress_asignation()

#ifdef WRADDRESS_PIO_BASE

IOWR_ALTERA_AVALON_PIO_DATA(WRADDRESS_PIO_BASE,direcc);

#endif

static void wren_asignation()

#ifdef WREN_PIO_BASE

IOWR_ALTERA_AVALON_PIO_DATA(WREN_PIO_BASE,habilit);

#endif

int main(void)

int

matrix1[N]=0x007F0000,0x007F0000,0x007F0000,0x00777777,0x007F0000

Page 92: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

92

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

,0x007F0000,0x007F0000,0x00777777,0x007F0000,0x007F0000,0x007F0000

,0x00777777,0x00007F00,0x00007F00,0x00007F00,0x00777777,0x00007F00

,0x00007F00,0x00007F00,0x00777777,0x00007F00,0x00007F00,0x00007F00

,0x00777777,0x0000007F,0x0000007F,0x0000007F,0x00777777,0x0000007F

,0x0000007F,0x0000007F,0x00777777,0x0000007F,0x0000007F,0x0000007F

,0x00777777;

int

matrix2[N]=0x00007F00,0x00007F00,0x00007F00,0x00777777,0x00007F00

,0x00007F00,0x00007F00,0x00777777,0x00007F00,0x00007F00,0x00007F00

,0x00777777,0x0000007F,0x0000007F,0x0000007F,0x00777777,0x0000007F

,0x0000007F,0x0000007F,0x00777777,0x0000007F,0x0000007F,0x0000007F

,0x00777777,0x007F0000,0x007F0000,0x007F0000,0x00777777,0x007F0000

,0x007F0000,0x007F0000,0x00777777,0x007F0000,0x007F0000,0x007F0000

,0x00777777;

int

matrix3[N]=0x0000007F,0x0000007F,0x0000007F,0x00777777,0x0000007F

,0x0000007F,0x0000007F,0x00777777,0x0000007F,0x0000007F,0x0000007F

,0x00777777,0x007F0000,0x007F0000,0x007F0000,0x00777777,0x007F0000

,0x007F0000,0x007F0000,0x00777777,0x007F0000,0x007F0000,0x007F0000

,0x00777777,0x00007F00,0x00007F00,0x00007F00,0x00777777,0x00007F00

,0x00007F00,0x00007F00,0x00777777,0x00007F00,0x00007F00,0x00007F00

,0x00777777;

int i;

int cuenta;

cuenta=0;

habilit=1;

i=0;

data_asignation();

wraddress_asignation();

wren_asignation();

while( 1 )

usleep(1100); // wait 1.1 ms

direcc=cuenta;

Page 93: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

93

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

if (i==0)

celda=matrix1[cuenta];

else if (i==1)

celda=matrix2[cuenta];

else if(i==2)

celda=matrix3[cuenta];

if(cuenta==(N-1))

cuenta=0;

if(i==2)

i=0;

else

i++;

else

cuenta++;

return 0;

1.4 TESTBENCH DE MEMORIA RAM MÁS MULTIPLEXACIÓN

El testbench o banco de pruebas es un módulo VHDL en el que se

instancia el componente a verificar y contiene código para asignar los estímulos

sobre el modelo a verificar y también contiene código para observar los resultados

obtenidos e informar al usuario. Hay que resaltar que los testbench no se

sintetizan, se utilizan descripciones algorítmicas para aprovechar toda la potencia

VHDL.

El testbench empleado para la simulación del módulo memoria Ram más

el circuito de multiplexación es el siguiente:

Page 94: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

94

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

-- Copyright (C) 1991-2011 Altera Corporation

-- Your use of Altera Corporation's design tools, logic functions

-- and other software and tools, and its AMPP partner logic

-- functions, and any output files from any of the foregoing

-- (including device programming or simulation files), and any

-- associated documentation or information are expressly subject

-- to the terms and conditions of the Altera Program License

-- Subscription Agreement, Altera MegaCore Function License

-- Agreement, or other applicable license agreement, including,

-- without limitation, that your use is for the sole purpose of

-- programming logic devices manufactured by Altera and sold by

-- Altera or its authorized distributors. Please refer to the

-- applicable agreement for further details.

--

******************************************************************

*********

-- This file contains a Vhdl test bench template that is freely

editable to

-- suit user's needs .Comments are provided in each section to

help the user

-- fill out necessary details.

--

******************************************************************

*********

-- Generated on "07/22/2011 02:33:43"

-- Vhdl Test Bench template for design : pract

--

-- Simulation tool : ModelSim-Altera (VHDL)

--

LIBRARY ieee;

USE ieee.std_logic_1164.all;

ENTITY pract_vhd_tst IS

END pract_vhd_tst;

Page 95: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

95

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

ARCHITECTURE pract_arch OF pract_vhd_tst IS

-- constants

-- signals

SIGNAL clk50MHz : STD_LOGIC:='0';

SIGNAL rst : STD_LOGIC;

SIGNAL ce : STD_LOGIC;

SIGNAL cuenta : STD_LOGIC_VECTOR(7 DOWNTO 0);

SIGNAL flag : STD_LOGIC;

SIGNAL edir1 : STD_LOGIC_VECTOR(5 DOWNTO 0);

SIGNAL dataout : STD_LOGIC_VECTOR(31 DOWNTO 0);

SIGNAL ceo : STD_LOGIC;

SIGNAL C1R : STD_LOGIC;

SIGNAL C1G : STD_LOGIC;

SIGNAL C1B : STD_LOGIC;

SIGNAL C2R : STD_LOGIC;

SIGNAL C2G : STD_LOGIC;

SIGNAL C2B : STD_LOGIC;

SIGNAL C3R : STD_LOGIC;

SIGNAL C3G : STD_LOGIC;

SIGNAL C3B : STD_LOGIC;

SIGNAL carga : STD_LOGIC;

SIGNAL en1 : STD_LOGIC;

SIGNAL en2 : STD_LOGIC;

SIGNAL en3 : STD_LOGIC;

SIGNAL fila : STD_LOGIC_VECTOR(3 DOWNTO 0);

SIGNAL F1 : STD_LOGIC;

SIGNAL F2 : STD_LOGIC;

SIGNAL F3 : STD_LOGIC;

SIGNAL F4 : STD_LOGIC;

SIGNAL F5 : STD_LOGIC;

SIGNAL F6 : STD_LOGIC;

SIGNAL F7 : STD_LOGIC;

SIGNAL F8 : STD_LOGIC;

SIGNAL F9 : STD_LOGIC;

SIGNAL wraddress : STD_LOGIC_VECTOR(5 DOWNTO 0);

SIGNAL data : STD_LOGIC_VECTOR(31 DOWNTO 0);

COMPONENT pract

Page 96: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

96

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

PORT (

C1B : OUT STD_LOGIC;

C1G : OUT STD_LOGIC;

C1R : OUT STD_LOGIC;

C2B : OUT STD_LOGIC;

C2G : OUT STD_LOGIC;

C2R : OUT STD_LOGIC;

C3B : OUT STD_LOGIC;

C3G : OUT STD_LOGIC;

C3R : OUT STD_LOGIC;

carga : OUT STD_LOGIC;

ce : IN STD_LOGIC;

ceo : OUT STD_LOGIC;

clk50MHz : IN STD_LOGIC;

cuenta : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);

data : IN STD_LOGIC_VECTOR(31 DOWNTO 0);

dataout : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);

edir1 : OUT STD_LOGIC_VECTOR(5 DOWNTO 0);

en1 : OUT STD_LOGIC;

en2 : OUT STD_LOGIC;

en3 : OUT STD_LOGIC;

F1 : OUT STD_LOGIC;

F2 : OUT STD_LOGIC;

F3 : OUT STD_LOGIC;

F4 : OUT STD_LOGIC;

F5 : OUT STD_LOGIC;

F6 : OUT STD_LOGIC;

F7 : OUT STD_LOGIC;

F8 : OUT STD_LOGIC;

F9 : OUT STD_LOGIC;

fila : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

flag : OUT STD_LOGIC;

rst : IN STD_LOGIC;

wraddress : IN STD_LOGIC_VECTOR(5 DOWNTO 0)

);

END COMPONENT;

BEGIN

i1 : pract

Page 97: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

97

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

PORT MAP (

-- list connections between master ports and signals

C1B => C1B,

C1G => C1G,

C1R => C1R,

C2B => C2B,

C2G => C2G,

C2R => C2R,

C3B => C3B,

C3G => C3G,

C3R => C3R,

carga => carga,

ce => ce,

ceo => ceo,

clk50MHz => clk50MHz,

cuenta => cuenta,

data => data,

dataout => dataout,

edir1 => edir1,

en1 => en1,

en2 => en2,

en3 => en3,

F1 => F1,

F2 => F2,

F3 => F3,

F4 => F4,

F5 => F5,

F6 => F6,

F7 => F7,

F8 => F8,

F9 => F9,

fila => fila,

flag => flag,

rst => rst,

wraddress => wraddress

);

clk50MHz<= not clk50MHz after 10 ns;

Page 98: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Código fuente e instrucciones de creación

98

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

init : PROCESS

BEGIN

data<=x"00000000";

wraddress<="000000";

rst<='0';

ce<='0';

wait for 1000 ns;

rst<='1';

ce<='1';

WAIT;

END PROCESS init;

END pract_arch;

En este testbench se le asignan señales de valor nulo tanto al dato como a

la dirección de escritura para inicializar esas señales y a continuación se habilitan

los módulos y se desactiva el reset.

Page 99: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Anejos

99

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Parte V ANEJOS

Page 100: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Anejos

100

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Capítulo 1 MAPA DE MEMORIA RAM

En este capítulo se muestra el mapa de memoria RAM de la matriz de

doble puerto, se explican los detalles de su estructura en la tabla 1.

MAPA DE MEMORIA RAM

DIRECCIÓN

[31..24] [23..16] [15..8] [7..0] FILA|COL DIR FILA 3x3x3 COL

ZONA DE MEMORIA MUERTA

1111|11 63 15 3

1111|10 62 15 2

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

ZONA DE MEMORIA MUERTA

1001|10 37 9 1

1001|00 36 9 0

1000|11 35 8 3

FILA 9

LED 27

RED GREEN BLUE 1000|10 34 8 2

LED 26

RED GREEN BLUE 1000|01 33 8 1

LED 25

RED GREEN BLUE 1000|00 32 8 0

0111|11 31 7 3

FILA 8

LED 24

RED GREEN BLUE 0111|10 30 7 2

LED 23

RED GREEN BLUE 0111|01 29 7 1

LED 22

RED GREEN BLUE 0111|00 28 7 0

0110|11 27 6 3

FILA 7

LED 21

RED GREEN BLUE 0110|10 26 6 2

LED 20

RED GREEN BLUE 0110|01 25 6 1

LED 19

RED GREEN BLUE 0110|00 24 6 0

0101|11 23 5 3

FILA 6

LED 18

RED GREEN BLUE 0101|10 22 5 2

LED 17

RED GREEN BLUE 0101|01 21 5 1

LED 16

RED GREEN BLUE 0101|00 20 5 0

0100|11 19 4 3

Page 101: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Anejos

101

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

FILA 5

LED 15

RED GREEN BLUE 0100|10 18 4 2

LED 14

RED GREEN BLUE 0100|01 17 4 1

LED 13

RED GREEN BLUE 0100|00 16 4 0

0011|11 15 3 3

FILA 4

LED 12

RED GREEN BLUE 0011|10 14 3 2

LED 11

RED GREEN BLUE 0011|01 13 3 1

LED 10

RED GREEN BLUE 0011|00 12 3 0

0010|11 11 2 3

FILA 3

LED 9

RED GREEN BLUE 0010|10 10 2 2

LED 8

RED GREEN BLUE 0010|01 9 2 1

LED 7

RED GREEN BLUE 0010|00 8 2 0

0001|11 7 1 3

FILA 2

LED 6

RED GREEN BLUE 0001|10 6 1 2

LED 5

RED GREEN BLUE 0001|01 5 1 1

LED 4

RED GREEN BLUE 0001|00 4 1 0

0000|11 3 0 3

FILA1

LED 3

RED GREEN BLUE 0000|10 2 0 2

LED 2

RED GREEN BLUE 0000|01 1 0 1

LED 1

RED GREEN BLUE 0000|00 0 0 0

Tabla 1: Mapa de memoria RAM doble puerto

En la tabla 1 se observa que es una memoria de 64 palabras de 32 bits cada

una, a su vez, cada celda de memoria de 32 bits está compuesta por cuatro bloques

de 8 bits cada uno. Los tres primeros bloques de 8 bits corresponde con el número

de cuenta (cuenta de 0 a 255) que han de comparar los comparadores del bloque

timer_RGB para que se pueda mostrar un ancho de pulso a la salida proporcional

al valor de cada uno de esos bloques de 8 bits. El cuarto boque de 8 bits no se

utiliza pero se ha declarado porque el bloque predeterminado de Quartus II de la

memoria RAM ofrece celdas de 16 ó de 32 bits, con lo cual se optó por escoger 32

bits aunque sobrasen bits.

Page 102: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Anejos

102

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

El número de celdas de memoria asciende a 64, pero en realidad sólo

serían necesarias 36, pero de nuevo, Quartus ofrece la posibilidad entre otros de

escoger 32 ó 64 palabras y se optó por 64 palabras aunque no se utilizara esa zona

de memoria.

Se ha llamado zona útil al espacio de memoria que ocupan las 36 primeras

celdas porque el resto de celdas no se utiliza.

Las celdas rayadas de la zona útil en la tabla 1 no se utilizan porque en el

circuito de multiplexación se han empleado los dos bits más bajos de la dirección

de las celdas como indicador del número de columna y los 5 bits restantes como

indicador del número de fila. Por eso la celda de la dirección 0000|011 se

representa rayada porque sus datos no son relevantes ya que no existe la columna

4 de la fila 1 (filas y columnas se contabilizan empezando por 0) en la matriz

tridimensional.

Por el mismo motivo se han rayado las celdas que comienzan a partir de la

dirección 1001|00 porque no existe la fila 10 en la matriz tridimensional.

Page 103: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Anejos

103

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Capítulo 2 FABRICACIÓN DE LA MATRIZ

TRIDIMENSIONAL DE LEDS

En este capítulo se describe la fabricación de la matriz de LEDs

tridimensional. Cabe destacar que se ha fabricado de manera artesanal con las

herramientas disponibles en el taller de ICAI.

Para ello se han empleado 27 LEDs RGB de encapsulado SMD a los

cuales se les ha soldado unas patillas de metal cuyo origen es un simple cable de

cobre de 0,5 mm2, para después soldar dichos cables con las patillas de los otros

LEDs para formar una estructura de una matriz de 3x3x3. Todo este proceso se ha

realizado en diferentes pasos.

En primer lugar se han tomado tres LEDs para unirlos por el ánodo para

formar la primera fila de la matriz como se observa en la figura 57.

Figura 57: Fila de LEDs

Después se le sueldan las patillas de la columna del color rojo como se

observa en la figura 58.

Page 104: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Anejos

104

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Figura 58: Columnas para color rojo

Acto seguido se sueldan dichas patillas al pin rojo de cada uno de los tres

LEDs que forman la segunda fila, como en la figura 59.

Figura 59: Dos filas conectada por color rojo

Después de este paso sólo que soldar el color rojo de la tercera fila como

se aprecia en la figura 60. Acto seguido se sueldan los pines verdes y azul de

Page 105: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Anejos

105

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

todos y cada uno de los LEDs para tener formadas las columnas rojo, verde y azul

de la matriz 3x3, se observa el resultado en la figura 63.

Figura 60: Conexión de la tercera fila por color rojo

Figura 61: Matriz 3x3 columnas color rojo conectadas

Page 106: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Anejos

106

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Figura 62: Matriz 3x3 columnas rojo y verde conectadas

Figura 63: Matriz 3x3 columnas rojo, verde y azul conectadas

Una vez completada la estructura 3x3, se debe crear otra matriz 3x3

exactamente igual y soldarla encima de la anterior matriz 3x3 como en la figura

64. Las patillas que conectan la matriz superior con la inferior están uniendo los

colores respectivos de manera individual de cada matriz, esto es que la columna

del color rojo de la matriz superior se une con la columna del color rojo de la

matriz inferior y lo mismo para el color verde y para el color azul.

Page 107: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Anejos

107

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Figura 64: Ensamblaje de dos matrices 3x3

Figura 65: Ensamblaje de dos matrices 3x3y una tercera 3x3 preparada

Para terminar, se suelda una tercera matriz 3x3 como en la figura 66 y se

completa el cubo de LEDs, obteniendo una estructura 3x3x3 donde se conexionan

el color rojo de la matriz superior con el color rojo de la matriz media y con el

color rojo de la matriz 3x3 inferior. Lo mismo ocurre para el color azul y el verde.

Page 108: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Anejos

108

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Figura 66: Matriz 3x3x3

Por último, para poder ensamblar el cubo de LEDs se sueldan a las filas y

a las columnas unas patillas, en total forman 9 conexiones para las filas y 9

conexiones para cada uno de los tres colores de las tres columnas, como se refleja

en la imagen de la figura 67.

Figura 67: Patillas de filas y columnas de la matriz 3x3x3

Page 109: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Anejos

109

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Capítulo 3 FABRICACIÓN DE LAS PCB

En esta sección se describe el proceso de fabricación de los circuitos

impresos (PCB) del proyecto. Éste es un proceso en el cual se ha de poner

especial cuidado porque sirve para pasar un circuito desde el papel donde se ha

diseñado a un componente físico importante del proyecto. La información sobre la

fabricación de las PCB en el taller está extraída de la referencia [ROJO09].

Para la fabricación de cualquier PCB se debe disponer primero del

esquema en positivo del circuito. Hay múltiples programas para obtenerlo, pero en

el caso de este proyecto se ha utilizado el OrCAD Layout con el que se genera el

Layout del esquema eléctrico, en él aparecen las pistas y los footprints de los

componentes que se han de soldar en un paso posterior.

Cuando se ha obtenido el Layout del circuito se procede a imprimirlo, para

ello existen dos métodos mayoritariamente empleados en fabricación de PCBs:

Este método consiste en imprimir con tóner el Layout en papel

satinado para posteriormente planchar ese papel en la placa virgen

creando una película protectora del circuito positivo con el tóner

acumulado. Tras realizar dicha protección se procedería a atacar la

placa según se detalla más adelante.

El segundo método se emplea en circuito de una complejidad

media-elevada, consiste en insolar la placa. Para ello se debe

imprimir un positivo del circuito en papel de acetato, éste papel es

transparente y permite el paso de la luz a en partes que se desean

Page 110: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Anejos

110

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

eliminar de la placa positiva, como los mostrados en los planos Nº

5 y Nº 7 del documento planos.

En el taller de la escuela se dispone de la insoladora que se muestra en la

figura 68.

Figura 68: Insoladora del taller de ICAI

Esta herramienta se fundamenta en que mediante un foco de luz actínica y

en un entorno con ausencia de luz exterior, se puede proceder al grabado de las

pistas en una placa fotosensible cuyo circuito positivo queda protegido por medio

de la tinta impresa que filtra la luz de la insoladora.

Tras aproximadamente 4 minutos en la insoladora el circuito estará

preparado para el proceso de revelado durante el cual se introduce la placa en

líquido revelador que pasiva las zonas no insoladas de nuestro circuito

protegiéndolas del proceso de oxidación posterior. Antes de realizar el ataque de

la placa se debe eliminar completamente el resto de líquido revelador

sumergiendo la placa en agua.

Page 111: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Anejos

111

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

La oxidación, y por tanto eliminación del positivo sobrante de la placa, se

realiza mediante un proceso químico de ataque en el que se sumerge nuestra

placa, ya revelada, en una solución de partes iguales de agua oxigenada y ácido

clorhídrico. Se debe prestar especial atención a realizar este proceso en un entrono

con una temperatura cercana a 35º y bien ventilado pues se emanan gases nocivos

durante el cual, como son cloro (Cl) e hidrógeno naciente que se forma durante el

proceso de oxidación (H0).

Tras dar varias vueltas a la placa y comprobar que se ha eliminado las

zonas deseadas se debe sacar la placa de la solución y eliminar el barniz que

protegía las pistas para permitir que el estaño se adhiera a ellas durante el proceso

de soldadura para ello basta con frotar la tarjeta con un algodón empapado de

acetona. El resultado final se muestra en la figura 69 y en la figura 70.

Figura 69: PCB etapa de potencia

Page 112: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Anejos

112

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Figura 70: PCB matriz de LEDs

A continuación, se sueldan todos los componentes de ambas PCB, para

ellos se utilizar el soldador, el flux, estaño y mucha paciencia al igual que en la

fabricación de la matriz 3x3x3. El resultado después del proceso de soldadura y

del proceso de ensamblaje aparece en la figura 71 y en la figura 72.

Figura 71: Parte Bottom de la etapa de potencia

Page 113: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Anejos

113

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Figura 72: Parte Top de la etapa de potencia

Para terminar, se suelda la matriz tridimensional de LEDs a la PCB de la

matriz como en la figura 73.

Figura 73: Cubo de LEDs soldado a PCB

Page 114: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Anejos

114

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Como resultado final, se obtiene la tarjeta PCB de la figura 74 donde se

aprecia la PCB de la etapa de potencia y la PCB de la matriz tridimensional.

Figura 74: PCB etapa de potencia y PCB cubo de LEDs

Page 115: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

115

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Parte VI DATASHEETS

Page 116: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

116

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Capítulo 1 DATASHEETS

1.1 MINI USB-B

Page 117: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

117

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

1.2 HEADER 40 PINES

Page 118: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

118

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

1.3 LED RGB

Page 119: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

119

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Page 120: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

120

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Page 121: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

121

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Page 122: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

122

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Page 123: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

123

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

1.4 DIODO DE PEQUEÑA SEÑAL (D21)

Page 124: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

124

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Page 125: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

125

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

1.5 MOSFET CANAL N (Q1 Y Q3)

Page 126: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

126

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Page 127: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

127

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Page 128: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

128

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Page 129: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

129

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Page 130: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

130

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Page 131: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

131

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Page 132: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

132

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Page 133: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

133

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

1.6 MOSFET CANAL P (Q2)

Page 134: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

134

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Page 135: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

135

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Page 136: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

136

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Page 137: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

137

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Page 138: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

138

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Page 139: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

139

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Page 140: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

140

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Page 141: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

141

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

1.7 RESISTENCIA DE 50 Ω

Page 142: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

142

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

1.8 RESISTENCIA DE 100 Ω

Page 143: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

143

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Page 144: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

144

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Page 145: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

145

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Page 146: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

146

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Page 147: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

147

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

1.9 RESISTENCIA DE 953 Ω

Page 148: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

148

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Page 149: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

149

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Page 150: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

150

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

Page 151: DOCUMENTO Nº 1 MEMORIA - IIT Comillas · documento nº 1 memoria . Índice de la memoria ii

Datasheets

151

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL