INFORME_3
-
Upload
edison-segovia -
Category
Documents
-
view
16 -
download
1
Transcript of INFORME_3
Tabla de Contenido1. PLANTEAMIENTO DEL PROBLEMA.......................................................................................4
2. OBJETIVOS...................................................................................................................................4
2.1. Objetivo general.....................................................................................................................4
2.2. Objetivos específicos..............................................................................................................4
3. MARCO TEORICO.......................................................................................................................5
3.1. PICOBLAZE..........................................................................................................................5
3.1.1. Módulos HDL para PicoBlaze........................................................................................5
3.2. El Núcleo KCPSM3................................................................................................................5
3.2.1. Beneficios.......................................................................................................................6
3.2.2. Características básicas....................................................................................................6
3.2.3. Puertos I/O......................................................................................................................6
3.2.4. Instrucciones...................................................................................................................8
3.4. Proceso para la creación de un proyecto en vhdl con picoblaze............................................10
3.4.1. Descargar PicoBlaze:....................................................................................................10
3.4.2. Copiar archivos.............................................................................................................10
3.4.3. Montaje de códigos de idiomas.....................................................................................10
3.4.4. Ejecutar el ensamblador................................................................................................11
3.4.5. Navegador de proyectos................................................................................................15
3.5. Arduino DUE.......................................................................................................................18
3.5.1. ADC en Arduino DUE (analogReadResolution)..........................................................19
3.5.2. DigitalWrite..................................................................................................................19
4. DIAGRAMAS..............................................................................................................................20
4.1. Diagrama de Bloques................................................................................................................20
4.2. Diagrama digital...................................................................................................................20
4.3. Diagrama de bloques............................................................................................................20
5. LISTA DE COMPONENTES......................................................................................................20
6. MAPA DE VARIABLES.............................................................................................................21
6.1. ADC.vhd..............................................................................................................................21
6.2. KCPSM3..............................................................................................................................21
6.3. ArduinoDUE........................................................................................................................22
7. DESCRIPCION DE PRERREQUISITOS Y CONFIGURACION..............................................23
8. CONCLUSIONES........................................................................................................................24
9. RECOMENDACIONES..............................................................................................................24
1
10. APLICACIONES.....................................................................................................................24
11. CRONOGRAMA.....................................................................................................................25
12. BIBLIOGRAFÍA......................................................................................................................25
13. ANEXOS..................................................................................................................................26
13.1. Manual de usuario............................................................................................................26
13.2. Resultados del Programa Antiplagio.................................................................................26
13.3. Hojas técnicas...................................................................................................................26
Tabla de ilustraciones
Ilustración 1Conexión del núcleo KCPSM3 con su memoria de código.................................................5Ilustración 2Esquema de movimiento de datos en los puertos I/O..........................................................7Ilustración 3Montaje de códigos de idiomas.........................................................................................11Ilustración 4Ejecutar el ensamblador....................................................................................................12Ilustración 5Procedimiento para 32 bits:cd..........................................................................................12Ilustración 6Procedimiento para 32 bits: ADC.psm KCPSM3..............................................................12Ilustración 7Procedimiento para 32 bits:KCPSM3 completo...............................................................13Ilustración 8Directorio de trabajo.........................................................................................................13Ilustración 9Procedimiento para 64 bits...............................................................................................13Ilustración 10Software DOSbox.............................................................................................................14Ilustración 11Comando c, se utiliza para cambiar el directorio...........................................................14Ilustración 12Introducir el comando KCPSM3 ADC.psm.....................................................................15Ilustración 13Navegador de proyectos en este caso Xilinx ISE Design................................................15Ilustración 14Crear un proyecto en Xilinx ISE Design.........................................................................16Ilustración 15Configurara las características de la FPGA...................................................................16Ilustración 16Añadir los archivos de código fuente..............................................................................17Ilustración 17Añadir ADC.VHD y kcpsm3.vhd.....................................................................................17Ilustración 18Muestra los dos archivos seleccionados se añadan al proyecto.....................................18Ilustración 19Añadir los archivos al proyecto.......................................................................................18Ilustración 20Arduino DUE...................................................................................................................18Ilustración 21Diagrama de Bloques......................................................................................................20Ilustración 22Logo de Windows 7..........................................................................................................23Ilustración 23DOSBox...........................................................................................................................23Ilustración 24FPGA SPARTAN 3E-500.................................................................................................23Ilustración 25ArduinoDue......................................................................................................................24Ilustración 26Cronograma de Actividades............................................................................................25Ilustración 27Due-pinout.......................................................................................................................26
2
Tablas
Tabla 1 Repertorio de instrucciones......................................................................................................................8Tabla 2 Directivas de ensambladores para PicoBlaze............................................................................................8Tabla 3 Diferencias entre nemónicos del ensamblador para PicoBlaze..................................................................9Tabla 4.Lista de Componentes.............................................................................................................................20Tabla 5Entradas:ADC.vhd....................................................................................................................................20Tabla 65Salidas:ADC.vhd.....................................................................................................................................20Tabla 7Entradas: KCPSM3....................................................................................................................................20Tabla 8Salidas de kcpsm3....................................................................................................................................21Tabla 9Entradas de top_level...............................................................................................................................21Tabla 10Salidas de top_level................................................................................................................................21Tabla 11Signals de top_level................................................................................................................................21Tabla 12ArduinoDUE............................................................................................................................................21
1. PLANTEAMIENTO DEL PROBLEMA
3
En la actualidad debido al avance tecnológico se han creado las FPGA Arreglo de compuertas lógicas programables que contiene bloques de lógica cuya interconexión y funcionalidad puede ser configurada mediante un lenguaje de descripción especializado. Si bien es cierto el diseño y desarrollo de nuevas tecnologías aplicadas a la investigación avanza lentamente debido a las pocas aplicaciones que se realizan con base a estas tecnologías; son desarrollos que hasta el momento están comenzando a ser explorados con mayor profundidad, por este motivo se planteó la elaboración de la una aplicación con el micro PicoBlaze que obtenga datos de un ADC y que su valor se despliegue en una serie de leds segun el valor digitalizado, desde la manipulación de la tarjeta de desarrollo Spartan 3E con sus módulos incorporados y todo el tratamiento digital que esto implica. Con base a lo anterior, este proyecto se estructura en cuatro fases de desarrollo. Una primera fase de investigación sobre el desarrollo de FPGA como nueva tecnología aplicada al procesamiento de señales ; una segunda etapa ya enfocada en la implementación que implica el procesamiento previo y conversión a símbolos analógicos ; una tercera etapa del bloque de programación con la FPGA para el procesamiento, y por último la conversión de estos símbolos.
2. OBJETIVOS
2.1.Objetivo generalDesarrollar e implementar una aplicación con el micro PicoBlaze que obtenga datos de un ADC, en una tarjeta FPGA Xilinx Spartan 3E.
2.2.Objetivos específicos Detallar el procedimiento necesario para implementar una aplicación con el micro PicoBlaze.
Investigar el marco teórico del módulo PicoBlaze, el cual incluye funcionalidad, lenguaje e instrucciones y conexión del módulo con la FPGA.
Incluir el módulo de PicoBlaze en el programa principal y sintetizar el sistema entero en la FPGA en el software específico de Xilinx.
Representar los datos obtenidos del ADC en una serie de leds segùn el valor digitalizado.
3. MARCO TEORICO3.1.PICOBLAZE
4
3.1.1.Módulos HDL para PicoBlazeEstá organizado en dos módulos: KCPSM3 es el procesador (constant (K) coded programmable state machine). El otro módulo es para la memoria de instrucciones. Allí se almacena el código ensamblado.
Ilustración 1Conexión del núcleo KCPSM3 con su memoria de código.
3.2. El Núcleo KCPSM3
El núcleo requiere de un bloque de RAM, en el que es posible almacenar un programa de hasta 1024 instrucciones, que se cargan automáticamente durante la configuración del FPGA. El microprocesador es flexible, no requiere recursos externos. Su funcionalidad básica puede ser extendida conectándole puertos de entrada y salida u otros recursos, realizados con lógica del FPGA.
3.2.1. Beneficios
5
PICOBLAZE
Es un microcontrolador
de 8 bits, compacto y de
distribución libre
Está diseñado para ser
empotrado en dispositivos
FPGA
Se provee como soft core, y puede sintetizarse con el resto de la lógica.
Está optimizado y ocupa solo 200
celdas lógicas. (5% de los recursos)
3.2.2.Características básicas
3.2.3. Puertos I/O Los puertos de entrada/salida permiten conectar al microprocesador a otros módulos o a los periféricos del FPGA. El microprocesador admite manejar 256 puertos de entrada y 256 puertos de salida, utilizando las siguientes señales:
Proceso de entrada de datos
6
Es u n re cu rso q u e se p re se n ta co m o có d igo V H D L y q u e p u e d e se r s in te ti zad o en a lgú n FP G A
El n ú cle o p u e d e e m igrarse a fu tu ras arq u ite ctu ras d e FP G A s
Se e lim in a e l r iesgo d e q u e la ap licació n q u ed e o b so leta , d eb id o a n u e vas ge n e racio n es d e FP G A s.
C o m o e l K C P SM 3 q u e d a in tegrad o e n e l FP G A d e u n a tarje ta d e d e sarro llo , red u ce la n ecesid ad d e e sp acio fí sico e xtern o .
Es p o sib le s in teti zar m ás d e u n n ú cleo d e n tro d e u n FP G A .
Datos CPU de 8-bits
16 registros de datos
64 posiciones de memoria de
datos (dirección de 6-bit)
ALU de 8-bits con flags C
(carry) y Z (zero)
256 puertos de entrada y 256
puertos de salida
PORT_ID
provee la dirección del
puerto.
IN_PORT
Bus de entrada.
OUT_PORT
Bus de salida.
READ_STROBE
Activación de una
operación de lectura.
WRITE_STROBE
Activación de una
operación de escritura.
Proceso de salida de datos
Las señales PORT_ID, READ_STROBE y WRITE_STROBE son utilizadas para la decodificación de hardware externo, haciendo posible que diferentes recursos de hardware sean mapeados en diferentes direcciones. PORT_ID es válido por dos ciclos del reloj proporcionando tiempo adicional para decodificación lógica externa. READ_ STROBE y WRITE_ STROBE se proveen en el segundo ciclo de reloj.
Movimiento de datos
Ilustración 2Esquema de movimiento de datos en los puertos I/O
3.2.4. Instrucciones
7
Se realiza con la instrucción INPUT
El PicoBlaze coloca en PORT_ID la dirección a
leer
Genera un pulso en READ_STROBE por un
ciclo de reloj
Lee el dato del bus IN_PORT y lo
transfiere a un registro especificado.
Se tiene a la instrucción
OUTPUT
El PicoBlaze coloca en
PORT_ID la dirección a
escribir
Coloca un dato en el bus
OUT_PORT proveniente de
un registro especificado
Genera un pulso en
WRITE_STROBE por un ciclo de
reloj.
El repertorio de instrucciones del núcleo KCPSM3 se muestra en la tabla 1 y se compone de 57 instrucciones, que de acuerdo con su función, se organizan en 7 grupos.
8
1024 posiciones de memoria de instrucciones
(dirección de 10-bits)
Tabla 1 Repertorio de instrucciones
La notación empleada para los operandos es: sX Uno de los 16 registros entre el rango de s0 a sF. sY Uno de los 16 registros entre el rango de s0 a sF. „kk‟ representa un valor constante en el rango de 00 a FF. „aaa‟ representa una dirección en el rango de 000 a 3FF. „pp‟ representa la dirección de un puerto en el rango de 00 a FF „ss‟ Representa una dirección de almacenamiento interno en el rango de 00 a 3F
3.2.5. Directivas del ensambladorLas directivas son órdenes para el ensamblador y no tienen traducción a código máquina. Para los dos ensambladores principales tenemos:
Tabla 2 Directivas de ensambladores para PicoBlaze
3.2.6. Nemónicos del Ensamblador•El lenguaje ensamblador trabaja con nemónicos, que son grupos de caracteres alfanuméricos que simbolizan las órdenes o tareas a realizar.•La traducción de los nemónicos a código máquina la lleva a cabo un programa ensamblador.
9
Tabla 3 Diferencias entre nemónicos del ensamblador para PicoBlaze
3.3. DOSBox
3.4. Proceso para la creación de un proyecto en vhdl con picoblaze
3.4.1. Descargar PicoBlaze:Descargar el archivo desde KCPSM3.zip http://www.xilinx.com/. La versión del software para la familia Spartan-3 debe ser elegida.
3.4.2. Copiar archivos Cree un directorio llamado ADC, en este se almacenará todos los archivos del proyecto.Copiar los siguientes archivos del directorio de ensamblador en ADC. • KCPSM3.EXE
10
DOSBox es un emulador que recrea un entorno
similar al sistema DOS
Su objetivo es poder ejecutar programas originalmente escritos
para el sistema operativo MS-DOS deMicrosoft en ordenadores
más modernos o en diferentes arquitecturas
DOSBox es software libre
Está disponible para muchos sistemas
operativos, como Linux, FreeBSD,
Windows, Mac OS X, OS/2 y BeOS.
• ROM_form.coe
• ROM_form.v
• ROM_form.vhd Copiar el archivo siguiente del directorio VHDL en ADC. • kcpsm3.vhd
3.4.3. Montaje de códigos de idiomas Abrir un editor de texto (Bloc de notas o Wordpad) y escriba el texto que se muestra en la figura. El texto consta de un programa escrito en el lenguaje ensamblador KCPSM3.
Ilustración 3Montaje de códigos de idiomas
El programa se ejecuta en un bucle infinito: • Lee el contenido de un puerto de entrada a la dirección 00h (conectada a los interruptores) en
un registro,• Escribe el contenido de este registro a un puerto de salida en la dirección de 80h (conectado a
los LED). • Después guardar el archivo en ADC.psm, en el directorio ADC.
Nota: Si se utiliza el Bloc de notas, tener cuidado de no guardar el archivo como tutorial.psm.txt. El nombre del archivo debe ser restringido a 8 caracteres. Los caracteres que aparecen después de un ";" en cada línea son comentarios.
3.4.4. Ejecutar el ensamblador El ensamblador toma el archivo .psm como entrada, así como tres plantillas de inicialización del bloque de memoria RAM. Se producen quince archivos de salida diferentes. El archivo de salida es .vhd.
11
Ilustración 4Ejecutar el ensamblador
El ensamblador es un archivo ejecutable de DOS, KCPSM3.exe, que se puede ejecutar en una ventana del símbolo del sistema DOS.Para sistemas operativos de 32 bits se puede realizar el siguiente procedimiento en cmd, para 64 bits se especificará más adelante.
Procedimiento para 32 bits:
Abrir una ventana del símbolo del sistema DOS seleccionando: Inicio → Todos los programas → Prompt Accesorios → Símbolo
Utilice el comando cd para cambiar al directorio del trabajo ADC, como se muestra en la figura:
Ilustración 5Procedimiento para 32 bits:cd
Escribir el comando ADC.psm KCPSM3, como se muestra en la figura:
Ilustración 6Procedimiento para 32 bits: ADC.psm KCPSM3
12
Después de introducir el comando KCPSM3 ADC.psm, aparecerá en la pantalla varios mensajes que termina con "KCPSM3 éxitoso. KCPSM3 completo.”
Ilustración 7Procedimiento para 32 bits:KCPSM3 completo
Después de que el ensamblador se ha ejecutado correctamente, el directorio de trabajo debe contener muchos más archivos.
Ilustración 8Directorio de trabajo
Procedimiento para 64 bits.
En un sistema de 64 bits al realizar el procedimiento aparecerá el mensaje de error como se muestra en la figura:
Ilustración 9Procedimiento para 64 bits.
13
Para poder implementarlo se debe utilizar el software DOSbox, que se puede descargar desde http://www.dosbox.com/.
Descarguar y ejecutar DOSBox. Montar el directorio de trabajo y el cambio en este directorio.Al ejecutar el DOSbox aparece una ventana de comandos que se asemeja a la ventana del símbolo del sistema DOS pero primero es necesario montar el directorio de trabajo a una letra de unidad antes de poder entrar en este directorio y ejecutar programas.Esto se realiza con el comando mount: mount <letra_unidad> <directorio>
Ilustración 10Software DOSbox
El comando c: se utiliza para cambiar en este directorio.
Ilustración 11Comando c, se utiliza para cambiar el directorio.
Después de introducir el comando KCPSM3 ADC.psm, se podrá configurar como que fuera un sistema de 32 bits como se muestra en la figura.
14
Ilustración 12Introducir el comando KCPSM3 ADC.psm
3.4.5. Navegador de proyectos Inicie el software Navegador de proyectos en este caso Xilinx ISE Design y creamos un nuevo proyecto:
Ilustración 13Navegador de proyectos en este caso Xilinx ISE Design
15
Ilustración 14Crear un proyecto en Xilinx ISE Design
Ilustración 15Configurara las características de la FPGA
Luego añadimos los archivos de código fuente como se muestra en la figura:
16
Ilustración 16Añadir los archivos de código fuente
Seleccionar ADC.VHD y kcpsm3.vhd.
Ilustración 17Añadir ADC.VHD y kcpsm3.vhd.
Nos aparecerá la ventana que aparece en la siguiente figura que muestra los dos archivos seleccionados se añadan al proyecto y hacemos clic en Aceptar.
17
Ilustración 18Muestra los dos archivos seleccionados se añadan al proyecto
Podemos observar que se añadieron los archivos a nuestro proyecto.
Ilustración 19Añadir los archivos al proyecto
Y luego configuramos en un programa principal los puertos por los cuales va a funcionar el programa implementado el PicoBlaze.
3.5. Arduino DUE
18
Figura 21Arduino DUE
Arduino Due
Es una placa electrónica
basada en la CPU
Atmel SAM3X8E ARM Cortex-M3
Es la primera placa Arduino basado en un microcontrola
dor núcleo ARM de 32
bits
Lleva 54 entradas /
salidas digitales
I/O 12 se pueden utilizar
como salidas PWM)
4 UARTs
Un reloj de 84 MHz
Cuenta con una conexión capaz USB OTG, 2
DAC (de digital a analógico)
Ilustración 20Arduino DUE
3.5.1. ADC en Arduino DUE (analogReadResolution) Descripción
analogReadResolution () es una extensión de la API analógica para el Arduino Due.Define el tamaño (en bits) del valor devuelto por analogRead (). Por defecto es 10 bits (devuelve valores entre 0-1023) para la compatibilidad con placas basadas AVR.El Due tiene capacidades de ADC de 12 bits que se puede acceder al cambiar la resolución a 12. Esto devolverá los valores de analogRead () entre 0 y 4095.
Sintaxis
analogReadResolution (bits)
3.5.2. DigitalWrite Descripción
Escribe un valor HIGH o LOW hacia un pin digital.Si el pin ha sido configurado como OUTPUT con pinMode(), su voltaje será establecido al correspondiente valor: 5V ( o 3.3V en tarjetas de 3.3V) para HIGH, 0V (tierra) para LOW.Si el pin es configurado como INPUT, escribir un valor de HIGH con digitalWrite() habilitará una resistencia interna de 20K conectada en pullup (ver el tutorial de pines digitales). Escribir LOW invalidará la resistencia. La resistencia es sufuciente para hacer brillar un LED de forma opaca, si los LEDs aparentan funcionar, pero no muy iluminados, esta puede ser la causa. La solución es establecer el pin como salida con la función pinMode().
Sintaxis
digitalWrite(pin, valor)
4. DIAGRAMAS
19
4.1. Diagrama de Bloques
4.2. Diagrama digital
4.3. Diagrama de bloques
5. LISTA DE COMPONENTES
COMPONENTES UTILIDAD
Camtasia Studio 8.0
Prezi
Viper
ISE Desing Suite 14.1
Xilins PlanAhead 14.1
PBlazeIDE
DOSBox
FPGA SPARTAN 3E-500
Capturar videos directamente mientras se trabaja en pantalla.
Permite realizar presentaciones de trabajo para la exposición del mismo.
Software antiplagio.
Software para programar en VHDL
Software para grabar el programa en VHDL en la FPGA.
Programar el procesador PicoBlaze en ensamblador.
Es un emulador que recrea un entorno similar al sistema DOS con el objetivo de poder ejecutar programas
Field Programmable Gate Array Dispositivo es un dispositivosemiconductor que contiene bloques de lógica cuya interconexión y funcionalidad puede ser configurada
20
8 bits de salida (digital)
8 bits de entrada
Salida digital 8 bitsADC
Entrada analógica
Figura 22Diagrama de BloquesIlustración 21Diagrama de Bloques
Arduino DUE Es una placa electrónica que permite la conversión análoga digital
Tabla 4.Lista de Componentes
6. MAPA DE VARIABLES6.1. ADC.vhd
Entradas de ADC.vhdTipo Nombre Descripción Dimensión Asignación
STD_LOGIC_VECTOR address Dirección de la Instrucción 10 addressSTD_LOGIC clk reloj 1 clk
Tabla 5Entradas:ADC.vhd
Salidas de ADC.vhdTipo Nombre Descripción Dimensión Asignación
STD_LOGIC_VECTOR instruction instrucción 18 instructionTabla 65Salidas:ADC.vhd
6.2. KCPSM3
Entradas de kcpsm3Tipo Nombre Descripción Dimensión Asignación
STD_LOGIC_VECTOR
instruction
instrucción 18 instruction
STD_LOGIC_VECTOR
in_port puerto de entrada 8 in_port
STD_LOGIC interrupt generar un evento de alarma al afirmar 1 interruptesta entrada de alta durante al menos dos
CLK STD_LOGIC clk reloj 1 clkSTD_LOGIC reset reset 1 reset
Tabla 7Entradas: KCPSM3
Salidas de kcpsm3Tipo Nombre Descripción Dimensió
nAsignación
STD_LOGIC_VECTOR
address 10 address
STD_LOGIC_VECTOR
port_id Contiene la dirección del puerto durante 2 ciclos
8 port_id
STD_LOGIC write_strobe Valida los datos de salida del puerto 1 write_strobeSTD_LOGIC read_storbe Indica que los datos de entrada fueron
capturados1 read_storbe
STD_LOGIC_VECTOR
out_port Datos de salida aparece durante dos ciclos
8 out_port
STD_LOGIC interrupt_ack
reconoce que se ha producido un evento de interrupción
1 interrupt_ack
Tabla 8Salidas de kcpsm3
21
Entradas de top_level Tipo Nombre Descripción Dimensión
STD_LOGIC_VECTOR switches entrada de la señal del arduino 8STD_LOGIC clk reloj 1
Tabla 9Entradas de top_level
Salidas de top_levelTipo Nombre Descripción Dimensión
STD_LOGIC_VECTOR LEDs muestra la conversión A/D 8Tabla 10Salidas de top_level
Signals de top_levelTipo Nombre Dimensión
STD_LOGIC_VECTOR address 10STD_LOGIC_VECTOR instruction 18STD_LOGIC_VECTOR port_id 8STD_LOGIC_VECTOR out_port 8STD_LOGIC_VECTOR in_port 8
STD_LOGIC write_storbe 1STD_LOGIC read_storbe 1STD_LOGIC interrupt_ack 1STD_LOGIC reset 1STD_LOGIC interrupt 1
Tabla 11Signals de top_level
6.3. ArduinoDUE
Variables del Arduino Tipo Nombre Descripciónint sensor Almacena el valor de la
conversión A/Dbyte num Almacena el valor de la
conversión A/D en 1byteTabla 12ArduinoDUE
7. DESCRIPCION DE PRERREQUISITOS Y CONFIGURACION
Computadora con Windows 7 para instalar el programa ISE Desing Suite 14.1
22
Ilustración 22Logo de Windows 7
Programa ISE Desing Suite 14.1 para programar en VHDL Programa Xilins PlanAhead 14.1 para grabar el programa en la FPGA. Programa DOSBox
Ilustración 23DOSBox
FPGA SPARTAN 3E-500
Tener conocimiento básico de programación en VHDL. Instalar el PBlazeIDE, el cual se puede descargar de la página de mediatronix.
Programa Arduino 1.5.5, para programar el ArduinoDue
23
Figura 1FPGA SPARTAN 3E-500Ilustración 24FPGA SPARTAN 3E-500
ArduinoDue
8. CONCLUSIONES
PicoBlaze tiene dos módulos principales, el primero es el núcleo kcpsm3 que tiene las características y arquitectura generales de cualquier microprocesador, posee registros e instrucciones en lenguaje ensamblador y señales de entrada y salida. El segundo es la memoria de instrucciones donde se almacena el código ensamblador del programa, esto permite configurarlo como una ROM en HDL.
Los FPGAs son eficaces para la implementación de algoritmos o el prototipado de circuitos y sistemas digitales, sumado a la ventaja de emplear lenguajes de alto nivel en la especificación de los diseños. Al contar con un microprocesador empotrado, se amplía la gama de aplicaciones que con estos dispositivos pueden desarrollarse.
El microprocesador PicoBlaze permite realizar programas en lenguaje de bajo nivel, mediante ensambladores propios de este microprocesador se los puede incluir como módulos vhdl en un sistema embebido con una aplicación específica.
9. RECOMENDACIONES Encender primero la tarjeta de desarrollo, y posteriormente conectar el puerto USB de
programación desde la PC a la tarjeta, para evitar posibles daños. Verificar que las especificaciones de la tarjeta de desarrollo ingresadas al momento de
crear el proyecto corresponden con las especificaciones de la tarjeta que se va a utilizar. Se recomienda agregar el archivo de origen vho al proyecto para ser compilado
correctamente en el diseño durante la síntesis y aplicación. Para realizar el montaje de códigos de idiomas si se utiliza el Bloc de notas, tener cuidado de no
guardar el archivo como tutorial.psm.txt. El nombre del archivo debe ser restringido a 8 caracteres. Los caracteres que aparecen después de un ";" en cada línea son comentarios.
10.APLICACIONES
Al momento de hablar de aplicaciones el módulo PicoBlaze compite con una máquina de estados FSMD. A diferencia de FSMD que podría completar en un único estado (ciclo de reloj) una operación compleja, el PicoBlaze puede realizar una operación prediseñada en un ciclo. Puede requerir muchas instrucciones para realizar la misma tarea que el FSMD.Debido a que el desarrollo de software es generalmente más fácil que crear hardware personalizado, la opción microprocesador es generalmente preferible para aplicaciones de tiempo no crítico.
24
Ilustración 24ArduinoDue
Existen varios proyectos y aplicaciones realizadas con este módulo: Contador ascendente-descendente utilizando el procesador empotrado Picoblaze. A partir de
su repertorio de instrucciones se crea un código ensamblador que programa un contador. Cronómetro digital con precisión de centésimas de segundos, utilizando el PicoBlaze, se
decodifican los números hexadecimales para poder ser mostrados en un display de 7 segmentos.
Diseño de un reloj que mide el tiempo en horas, minutos y segundos junto la posibilidad de programar una alarma. El diseño contiene un módulo UART para establecer comunicación serial y se utiliza para observar y/o programar el tiempo y la alarma a través de comandos simples y mensajes; para ello se utiliza el HyperTerminal de Windows. La señal de alarma puede ser usada para disparar una interrupción en el procesador principal.
11.CRONOGRAMA
Ilustración 25Cronograma de Actividades
12.BIBLIOGRAFÍA
13. ANEXOS 13.1. Manual de usuario
25
13.2. Resultados del Programa Antiplagio
13.3. Hojas técnicas
13.3.1. Due-pinout
Ilustración 26Due-pinout
26