SlideShare una empresa de Scribd logo
DC Motor Speed Control with IR Sensor and
FPGA based Embedded SoC with RTOS
GRUPO 1
Camacho Luis
Cano Cristhian
Chicaiza Carmen
Morales David
Docente: Ing. Byron Navas Ph.D.
Objetivo
El objetivo de este laboratorio L4 es diseñar el hardware y software embebido
de un SoC basado en FPGA que correrá una aplicación en un soft-processor
Microblaze, usando Vivado, Vitis, una FPGA Artyx-7 (Basys 3), y el sistema
operativo de tiempo real (RTOS), i.e., FreeRTOS. De esta manera, el estudiante
aplicará los conceptos y metodologías aprendidos durante el curso de Sistemas
Embebidos. El propósito principal de la aplicación es medir la velocidad RPM de
un motor DC usando un sensor IR conectado al XADC del FPGA Artyx-7, y
controlar el movimiento del motor para mantenerlo en un valor fijo. La
aplicación de FreeRTOS es multi-tasking, ejecuta las tareas de acuerdo a una
agenda (schedule), usa colas para comunicación, y semáforos mutex para acceso
a recursos compartidos.
Resumen
En el presente laboratorio se realizó el diseño de un Soc HW-SW Sistema con un procesador MicroBlaze,
además se realizó el diseño del Hardware utilizando Vivado, en el cual se escogió los IPs correspondientes
a switches, leds, display, 4 push buttons, AXI XADC, AXI Timer with interruptions, AXI Uart Lite.
Se utilizó Vitis para el diseño del software, el propósito del software es medir y controlar la velocidad de
un motor DC, para lo cual se utilizó un sensor infrarrojo (sensor IR) el cual emite la señal dependiendo de
la velocidad del motor, la velocidad se calcula a partir de estos pulsos mediante una fórmula matemática,
como último paso se presenta la velocidad a través del terminal UART y en los display de la FPGA Basys
3.
Diseño de HARDWARE
CREACIÓN HW
Se creó el Hardware con microblaze en Vivado, a este se lo coloco todos los IPs necesarios para implementar
posteriormente el software, el diseño se lo puede observar en la siguiente figura.
MicroBlaze soft-processor with AXI Interconnect 128
KB Data LMB BRAM , 128 KB Instructions LMB
BRAM.
La CPU MicroBlaze es una familia de configuraciones
de microprocesador RISC predefinidas modificables de
32 bits / 64 bits. Se realiza la implementación del
módulo Microblaze como se observa en la figura 1. con
la especificación de 64 bits.
En la anterior figura se observa la memoria local BRAM con
sus respectivos módulos: bus local de memoria, Controlador
BRAM, y el bloque generador de memoria.
La IP de interconexión AXI conecta uno o más dispositivos
maestros asignados en memoria AXI a uno o más dispositivos
esclavos asignados en memoria. Las interfaces AXI cumplen
con las especificaciones AMBA AXI. En la siguiente figura a
continuación se puede observar el módulo AXI Interconnect
que en la que se observa la conexión de los dispositivos
maestros a sus respectivos dispositivos esclavos.
En la anterior figura se observa la conexión al abrir el bloque
de AXI Interconnect en el bloque Crossbar se puede
observar M_AXI se conecta al AXI
GPIOs para conectar 16-bit switches, 16-LEDs, Display's 7-
segments, Display's Anodes, y 4-push buttons. El AXI GPIO
proporciona una interfaz de entrada / salida de propósito
general a la interfaz AXI (Interfaz extensible avanzada). Se
realizo la configuración para los switches 16 bits, displays de
7 segmentos, displays de ánodo común y 4 push button,
requeridos para el diseño como se observa en la figura se
verifica la conexión de los bloques GPIO con su respectiva
etiqueta.
El XADC Wizard automatiza la tarea de configurar el
bloque de conversión de analógico a digital XADC en
FPGA de la Serie 7 al modo de operación deseado con
una GUI de personalización intuitiva.
AXI Timer with interruptions
El temporizador / contador AXI es un módulo
temporizador de 32 bits que se conecta a la interfaz
AXI4-Lite. En modo cascada, se puede utilizar
como módulo temporizador de 64 bits como se
muestra en la figura de a continuación.
AXI UART Lite. Otros IPs de soporte.
La interfaz LogiCORE IP AXI Universal Asynchronous
Receiver Transmitter (UART) Lite se conecta a la
especificación Advanced eXtensible Interface (AXI) de la
arquitectura de bus de microcontrolador avanzado (AMBA)
y proporciona la interfaz del controlador para la
transferencia de datos en serie asíncrona. Este núcleo Soft
LogiCORE IP está diseñado para interactuar con el
protocolo AXI4-Lite
Módulo Pmod Utilizado
Ingreso de la Librería
El uso de la librería es muy importante ya que nos permitirá enlazar con los demás
módulos presentes en hardware, utilizaremos la librería más actual disponible.
Especificaciones en el MicroBlaze
Seleccionamos el tamaño de la memoria local en este caso los 128 Kb y habilitamos el
control de interrupciones.
Creación del Software - Proyecto en C
Reconoce el procesador
MicroBlaze con arquitectura
de 32 bits
Creamos el proyecto
en lenguaje C
Diseño de SOFTWARE
Creación del SW
Se elige la opción de Create New Application, y se
selecciona como hardware el creado en vivado.
En la imagen se puede notar el encabezado del código,
en este consta la inclusión de algunas librerías
necesarias y se define con otros nombres a los GPIO y
canales de cada uno de estos para una mejor
comprensión
En la imagen se presenta el “main”, dentro del cual se crearon las Task1 y Task2.
A continuación, se muestra el código tanto para la Task1 y Task2, en primer lugar se declaran las variables,
parámetros y luego se muestran las diferentes funciones.
Funcionamiento del sensor IR
El sensor es utilizado junto a un encoder incremental para poder medir la
velocidad del motor, al encoder se lo inserta en el eje del motor y entre el IR
receiver y el IR emitter mientras en encoder gira el sensor cuando existe un
“hueco” existe paso de luz entre emisor y receptor lo que provoca que el sensor
un valor de voltaje distinto de cero, y por otro lado cuando estos están
“tapados” emitirá el sensor un voltaje de cero. La señal de la salida del sensor
es como la siguiente que se presenta idealmente.
Fuente: Andromina robot V2.0
Funcionamiento del sensor IR
El sensor IR cuando existe paso de luz entre emisor y receptor el voltaje máximo es el de la fuente en
este caso se usó la fuente de 3.3V que proporciona el mismo puerto XADC.
La señal real que se obtendría sin poner el capacitor tendría mucho ruido “rebotes” lo que llevaría a
que se lean más pulsos de lo que en realidad son lo que desencadena una serie de errores.
Fuente: Andromina robot V2.0
Escritura de la velocidad en los Display
Como se puede observar a continuación, se tiene la declaración de las variables:
Escritura de la velocidad en los Display
No se puede enviar directamente el valor de la velocidad a los Display, sino que se debe realizar ciertas
acciones para poder separar los dígitos de la velocidad que se ha leído.
Simulación
Para realizar la simulación, primero se Programa la FPGA, luego se compila el
software y por último de lo ejecuta con la opción Run As / Launch on Hardware.
Para abrir la terminal hay que dirigirse a Windows/Show view /Terminal, y se
realiza la conexión Serial con el puerto al que está conecta la FPGA.
IMPLEMENTACIÓN DEL CIRCUITO -
PRUEBAS
LINK DE VIDEO:
https://drive.google.com/drive/folders/1p8nrx
LuHGh61FYLi-
C4pYgSYbeXVt5l9?usp=sharing
VELOCIDAD 1 - 450 RPM
VELOCIDAD 2-1850RPM
VELOCIDAD 3 - 3240 RPM
Conclusiones
● Se diseño, simulo e implementó un SoC HW-SW de procesador MicroBlaze el cual
cumple con la mayoría de las especificaciones pedidas, la más importante la
utilización del módulo XADC para leer los datos que proporciona el sensor IR.
● Se cumple con el objetivo principal que es medir la velocidad del motor e imprimir
esta velocidad tanto en el terminal UART como los displays de la FPGA.
● Se puede mejorar el software presentado en el laboratorio, utilizando interrupciones
para tener una mayor precisión en la medida de la velocidad del motor, pues
actualmente cuando se detiene el motor pero el encoder de este se detiene impidiendo
que pase luz entre emisor y receptor del sensor IR el programa exhibe la velocidad
del motor como la máxima en lugar de la mínima.
Bibliografía
1. Navas. B., “Sistemas Embebidos A403: Material del Curso”, Universidad de las Fuerzas Armadas
- ESPE, DEEL ASDI, Quito, Ecuador.
2. Digilent Reference, “Pmod PIR”, Recuperado de:
https://digilent.com/reference/pmod/pmodpir/start
3. Xilinx Reference, AXI Timer/Counter, Recuperado de:
https://www.xilinx.com/products/intellectual-property/axi_timer.html
4. Xilinx Reference, AXI UARTLite, Recuperado de: https://www.xilinx.com/products/intellectual-
property/axi_uartlite.html
5. Xilinx, «7 Series FPGAs and Zynq-7000 SoC XADC Dual 12-Bit 1 MSPS Analog-to-Digital
Converte,» 2018.

Más contenido relacionado

La actualidad más candente

Microprocesadores y estructura
Microprocesadores y estructuraMicroprocesadores y estructura
Microprocesadores y estructurajaimeinformatica
 
Tic
TicTic
Características del procesador y la memoria ram
Características del procesador y la memoria ramCaracterísticas del procesador y la memoria ram
Características del procesador y la memoria ramtropicos
 
Instituto superior tecnologic1 92
Instituto      superior   tecnologic1 92Instituto      superior   tecnologic1 92
Instituto superior tecnologic1 92
dennys ocaña lema
 
Mauro fernando churata
Mauro fernando churataMauro fernando churata
Mauro fernando churata
Mauro Churata
 
Microprocesador
MicroprocesadorMicroprocesador
Microprocesador
SuarezJhon
 
La Historia Del Procesador
La Historia Del ProcesadorLa Historia Del Procesador
La Historia Del Procesador
SeFeDeK .
 
Introducción A Microprocesadores
Introducción A MicroprocesadoresIntroducción A Microprocesadores
Introducción A MicroprocesadoresDaniel Remondegui
 
Procesador
ProcesadorProcesador
Procesadoroscar859
 
el procesador
el procesadorel procesador
el procesador
jesuslandinez
 
Tema 1 Hadware y Sofware
Tema 1 Hadware y SofwareTema 1 Hadware y Sofware
Tema 1 Hadware y Sofware
Joel del rio
 
Arquitectura de computadores: IBM Cell processor
Arquitectura de computadores: IBM Cell processorArquitectura de computadores: IBM Cell processor
Arquitectura de computadores: IBM Cell processorivydb
 

La actualidad más candente (18)

Microprocesadores y estructura
Microprocesadores y estructuraMicroprocesadores y estructura
Microprocesadores y estructura
 
Tic
TicTic
Tic
 
Proyecto u2 rout-ev2
Proyecto u2 rout-ev2Proyecto u2 rout-ev2
Proyecto u2 rout-ev2
 
Características del procesador y la memoria ram
Características del procesador y la memoria ramCaracterísticas del procesador y la memoria ram
Características del procesador y la memoria ram
 
Tic
TicTic
Tic
 
Unidad competencia 2
Unidad competencia 2Unidad competencia 2
Unidad competencia 2
 
Instituto superior tecnologic1 92
Instituto      superior   tecnologic1 92Instituto      superior   tecnologic1 92
Instituto superior tecnologic1 92
 
Mauro fernando churata
Mauro fernando churataMauro fernando churata
Mauro fernando churata
 
Microprocesador
MicroprocesadorMicroprocesador
Microprocesador
 
80286 80386-80486
80286 80386-8048680286 80386-80486
80286 80386-80486
 
Cuestionario de informatica
Cuestionario de informaticaCuestionario de informatica
Cuestionario de informatica
 
La Historia Del Procesador
La Historia Del ProcesadorLa Historia Del Procesador
La Historia Del Procesador
 
Introducción A Microprocesadores
Introducción A MicroprocesadoresIntroducción A Microprocesadores
Introducción A Microprocesadores
 
Procesador
ProcesadorProcesador
Procesador
 
Microprocesador ppt
Microprocesador pptMicroprocesador ppt
Microprocesador ppt
 
el procesador
el procesadorel procesador
el procesador
 
Tema 1 Hadware y Sofware
Tema 1 Hadware y SofwareTema 1 Hadware y Sofware
Tema 1 Hadware y Sofware
 
Arquitectura de computadores: IBM Cell processor
Arquitectura de computadores: IBM Cell processorArquitectura de computadores: IBM Cell processor
Arquitectura de computadores: IBM Cell processor
 

Similar a Trabajo plus (1)

Informe1 alvaro morales
Informe1 alvaro moralesInforme1 alvaro morales
Informe1 alvaro morales
Eduardo Morales
 
Microprocesador ::: http://leymebamba.com
Microprocesador  ::: http://leymebamba.comMicroprocesador  ::: http://leymebamba.com
Microprocesador ::: http://leymebamba.com
{|::::::. ELDAVAN .:::::::|}
 
Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03
Hamiltonn Casallas
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
Victor Asanza
 
Lego mindstorms
Lego mindstormsLego mindstorms
Lego mindstorms
jcardenasperdomo
 
Lego mindstorms
Lego mindstormsLego mindstorms
Lego mindstorms
jcardenasperdomo
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN B RESUELTA 1er PARCIAL (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN B RESUELTA 1er PARCIAL (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN B RESUELTA 1er PARCIAL (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN B RESUELTA 1er PARCIAL (2019 2do ...
Victor Asanza
 
Introducción
IntroducciónIntroducción
Introducción
SistemadeEstudiosMed
 
Introducción
IntroducciónIntroducción
Introducción
SistemadeEstudiosMed
 
Manual de Uso Detallado de Proteus
Manual de Uso Detallado de ProteusManual de Uso Detallado de Proteus
Manual de Uso Detallado de Proteus
PaolaPerez263
 
Anexo 6 paper swe
Anexo 6 paper sweAnexo 6 paper swe
Anexo 6 paper swe
Christian Lojan
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
Victor Asanza
 
Sesion 1
Sesion 1Sesion 1
Sesion 1
1130490
 
Pic16 f877
Pic16 f877Pic16 f877
Pic16 f877
lambda4444
 
Sistemas Microcontrolados-Unidad1-Tema1.pdf
Sistemas Microcontrolados-Unidad1-Tema1.pdfSistemas Microcontrolados-Unidad1-Tema1.pdf
Sistemas Microcontrolados-Unidad1-Tema1.pdf
MarianaAucancela
 
Microcontroladores: mikroBasic para microcontroladores PIC 2da parte
Microcontroladores: mikroBasic para microcontroladores PIC 2da parte Microcontroladores: mikroBasic para microcontroladores PIC 2da parte
Microcontroladores: mikroBasic para microcontroladores PIC 2da parte
SANTIAGO PABLO ALBERTO
 

Similar a Trabajo plus (1) (20)

Informe1 alvaro morales
Informe1 alvaro moralesInforme1 alvaro morales
Informe1 alvaro morales
 
Microprocesador ::: http://leymebamba.com
Microprocesador  ::: http://leymebamba.comMicroprocesador  ::: http://leymebamba.com
Microprocesador ::: http://leymebamba.com
 
Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
 
Lego mindstorms
Lego mindstormsLego mindstorms
Lego mindstorms
 
Lego mindstorms
Lego mindstormsLego mindstorms
Lego mindstorms
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN B RESUELTA 1er PARCIAL (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN B RESUELTA 1er PARCIAL (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN B RESUELTA 1er PARCIAL (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN B RESUELTA 1er PARCIAL (2019 2do ...
 
Introducción
IntroducciónIntroducción
Introducción
 
Introducción
IntroducciónIntroducción
Introducción
 
Manual de Uso Detallado de Proteus
Manual de Uso Detallado de ProteusManual de Uso Detallado de Proteus
Manual de Uso Detallado de Proteus
 
Anexo 6 paper swe
Anexo 6 paper sweAnexo 6 paper swe
Anexo 6 paper swe
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
 
Sesion 1
Sesion 1Sesion 1
Sesion 1
 
Pic16 f877
Pic16 f877Pic16 f877
Pic16 f877
 
Glosario
GlosarioGlosario
Glosario
 
Libro basico pic
Libro basico picLibro basico pic
Libro basico pic
 
Practica 8
Practica 8Practica 8
Practica 8
 
Sistemas Microcontrolados-Unidad1-Tema1.pdf
Sistemas Microcontrolados-Unidad1-Tema1.pdfSistemas Microcontrolados-Unidad1-Tema1.pdf
Sistemas Microcontrolados-Unidad1-Tema1.pdf
 
Microcontroladores: mikroBasic para microcontroladores PIC 2da parte
Microcontroladores: mikroBasic para microcontroladores PIC 2da parte Microcontroladores: mikroBasic para microcontroladores PIC 2da parte
Microcontroladores: mikroBasic para microcontroladores PIC 2da parte
 
Micros
MicrosMicros
Micros
 

Último

PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
CarlitosWay20
 
FISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdfFISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdf
JavierAlejosM
 
Diagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdfDiagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdf
joseabachesoto
 
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
FRANCISCOJUSTOSIERRA
 
choro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiologíachoro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiología
elvis2000x
 
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
JuanChaparro49
 
PRESENTACION REUNION DEL COMITE DE SEGURIDAD
PRESENTACION REUNION DEL COMITE DE SEGURIDADPRESENTACION REUNION DEL COMITE DE SEGURIDAD
PRESENTACION REUNION DEL COMITE DE SEGURIDAD
mirellamilagrosvf
 
164822219-Clase-4-Estructuras-3.pdf losas
164822219-Clase-4-Estructuras-3.pdf losas164822219-Clase-4-Estructuras-3.pdf losas
164822219-Clase-4-Estructuras-3.pdf losas
jcbarriopedro69
 
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaaEspecificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
ssuserebb7f71
 
Curso Basico de DIgSILENT power factorys
Curso Basico de DIgSILENT power factorysCurso Basico de DIgSILENT power factorys
Curso Basico de DIgSILENT power factorys
LuisPerezIgnacio1
 
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuariaBOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
mesiassalazarpresent
 
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
JhonatanOQuionesChoq
 
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptxSistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
RobertRamos84
 
Sesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdfSesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdf
DeyvisPalomino2
 
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOSAnálisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
ppame8010
 
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALESLA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LuisLobatoingaruca
 
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica químicaCiclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
ycalful01
 
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de IloPlan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
AlbertoRiveraPrado
 
Becas de UOC _ Caja Ingenieros 2024-25.pdf
Becas de UOC _ Caja Ingenieros 2024-25.pdfBecas de UOC _ Caja Ingenieros 2024-25.pdf
Becas de UOC _ Caja Ingenieros 2024-25.pdf
UOC Estudios de Informática, Multimedia y Telecomunicación
 
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOLNORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
Pol Peña Quispe
 

Último (20)

PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
 
FISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdfFISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdf
 
Diagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdfDiagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdf
 
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
 
choro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiologíachoro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiología
 
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
 
PRESENTACION REUNION DEL COMITE DE SEGURIDAD
PRESENTACION REUNION DEL COMITE DE SEGURIDADPRESENTACION REUNION DEL COMITE DE SEGURIDAD
PRESENTACION REUNION DEL COMITE DE SEGURIDAD
 
164822219-Clase-4-Estructuras-3.pdf losas
164822219-Clase-4-Estructuras-3.pdf losas164822219-Clase-4-Estructuras-3.pdf losas
164822219-Clase-4-Estructuras-3.pdf losas
 
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaaEspecificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Curso Basico de DIgSILENT power factorys
Curso Basico de DIgSILENT power factorysCurso Basico de DIgSILENT power factorys
Curso Basico de DIgSILENT power factorys
 
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuariaBOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
 
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
 
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptxSistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
 
Sesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdfSesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdf
 
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOSAnálisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
 
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALESLA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
 
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica químicaCiclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
 
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de IloPlan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
 
Becas de UOC _ Caja Ingenieros 2024-25.pdf
Becas de UOC _ Caja Ingenieros 2024-25.pdfBecas de UOC _ Caja Ingenieros 2024-25.pdf
Becas de UOC _ Caja Ingenieros 2024-25.pdf
 
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOLNORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
 

Trabajo plus (1)

  • 1. DC Motor Speed Control with IR Sensor and FPGA based Embedded SoC with RTOS GRUPO 1 Camacho Luis Cano Cristhian Chicaiza Carmen Morales David Docente: Ing. Byron Navas Ph.D.
  • 2. Objetivo El objetivo de este laboratorio L4 es diseñar el hardware y software embebido de un SoC basado en FPGA que correrá una aplicación en un soft-processor Microblaze, usando Vivado, Vitis, una FPGA Artyx-7 (Basys 3), y el sistema operativo de tiempo real (RTOS), i.e., FreeRTOS. De esta manera, el estudiante aplicará los conceptos y metodologías aprendidos durante el curso de Sistemas Embebidos. El propósito principal de la aplicación es medir la velocidad RPM de un motor DC usando un sensor IR conectado al XADC del FPGA Artyx-7, y controlar el movimiento del motor para mantenerlo en un valor fijo. La aplicación de FreeRTOS es multi-tasking, ejecuta las tareas de acuerdo a una agenda (schedule), usa colas para comunicación, y semáforos mutex para acceso a recursos compartidos.
  • 3. Resumen En el presente laboratorio se realizó el diseño de un Soc HW-SW Sistema con un procesador MicroBlaze, además se realizó el diseño del Hardware utilizando Vivado, en el cual se escogió los IPs correspondientes a switches, leds, display, 4 push buttons, AXI XADC, AXI Timer with interruptions, AXI Uart Lite. Se utilizó Vitis para el diseño del software, el propósito del software es medir y controlar la velocidad de un motor DC, para lo cual se utilizó un sensor infrarrojo (sensor IR) el cual emite la señal dependiendo de la velocidad del motor, la velocidad se calcula a partir de estos pulsos mediante una fórmula matemática, como último paso se presenta la velocidad a través del terminal UART y en los display de la FPGA Basys 3.
  • 5. CREACIÓN HW Se creó el Hardware con microblaze en Vivado, a este se lo coloco todos los IPs necesarios para implementar posteriormente el software, el diseño se lo puede observar en la siguiente figura. MicroBlaze soft-processor with AXI Interconnect 128 KB Data LMB BRAM , 128 KB Instructions LMB BRAM. La CPU MicroBlaze es una familia de configuraciones de microprocesador RISC predefinidas modificables de 32 bits / 64 bits. Se realiza la implementación del módulo Microblaze como se observa en la figura 1. con la especificación de 64 bits. En la anterior figura se observa la memoria local BRAM con sus respectivos módulos: bus local de memoria, Controlador BRAM, y el bloque generador de memoria.
  • 6. La IP de interconexión AXI conecta uno o más dispositivos maestros asignados en memoria AXI a uno o más dispositivos esclavos asignados en memoria. Las interfaces AXI cumplen con las especificaciones AMBA AXI. En la siguiente figura a continuación se puede observar el módulo AXI Interconnect que en la que se observa la conexión de los dispositivos maestros a sus respectivos dispositivos esclavos. En la anterior figura se observa la conexión al abrir el bloque de AXI Interconnect en el bloque Crossbar se puede observar M_AXI se conecta al AXI
  • 7. GPIOs para conectar 16-bit switches, 16-LEDs, Display's 7- segments, Display's Anodes, y 4-push buttons. El AXI GPIO proporciona una interfaz de entrada / salida de propósito general a la interfaz AXI (Interfaz extensible avanzada). Se realizo la configuración para los switches 16 bits, displays de 7 segmentos, displays de ánodo común y 4 push button, requeridos para el diseño como se observa en la figura se verifica la conexión de los bloques GPIO con su respectiva etiqueta. El XADC Wizard automatiza la tarea de configurar el bloque de conversión de analógico a digital XADC en FPGA de la Serie 7 al modo de operación deseado con una GUI de personalización intuitiva.
  • 8. AXI Timer with interruptions El temporizador / contador AXI es un módulo temporizador de 32 bits que se conecta a la interfaz AXI4-Lite. En modo cascada, se puede utilizar como módulo temporizador de 64 bits como se muestra en la figura de a continuación. AXI UART Lite. Otros IPs de soporte. La interfaz LogiCORE IP AXI Universal Asynchronous Receiver Transmitter (UART) Lite se conecta a la especificación Advanced eXtensible Interface (AXI) de la arquitectura de bus de microcontrolador avanzado (AMBA) y proporciona la interfaz del controlador para la transferencia de datos en serie asíncrona. Este núcleo Soft LogiCORE IP está diseñado para interactuar con el protocolo AXI4-Lite Módulo Pmod Utilizado
  • 9. Ingreso de la Librería El uso de la librería es muy importante ya que nos permitirá enlazar con los demás módulos presentes en hardware, utilizaremos la librería más actual disponible.
  • 10. Especificaciones en el MicroBlaze Seleccionamos el tamaño de la memoria local en este caso los 128 Kb y habilitamos el control de interrupciones.
  • 11. Creación del Software - Proyecto en C Reconoce el procesador MicroBlaze con arquitectura de 32 bits Creamos el proyecto en lenguaje C
  • 13. Creación del SW Se elige la opción de Create New Application, y se selecciona como hardware el creado en vivado. En la imagen se puede notar el encabezado del código, en este consta la inclusión de algunas librerías necesarias y se define con otros nombres a los GPIO y canales de cada uno de estos para una mejor comprensión
  • 14. En la imagen se presenta el “main”, dentro del cual se crearon las Task1 y Task2.
  • 15. A continuación, se muestra el código tanto para la Task1 y Task2, en primer lugar se declaran las variables, parámetros y luego se muestran las diferentes funciones.
  • 16. Funcionamiento del sensor IR El sensor es utilizado junto a un encoder incremental para poder medir la velocidad del motor, al encoder se lo inserta en el eje del motor y entre el IR receiver y el IR emitter mientras en encoder gira el sensor cuando existe un “hueco” existe paso de luz entre emisor y receptor lo que provoca que el sensor un valor de voltaje distinto de cero, y por otro lado cuando estos están “tapados” emitirá el sensor un voltaje de cero. La señal de la salida del sensor es como la siguiente que se presenta idealmente. Fuente: Andromina robot V2.0
  • 17. Funcionamiento del sensor IR El sensor IR cuando existe paso de luz entre emisor y receptor el voltaje máximo es el de la fuente en este caso se usó la fuente de 3.3V que proporciona el mismo puerto XADC. La señal real que se obtendría sin poner el capacitor tendría mucho ruido “rebotes” lo que llevaría a que se lean más pulsos de lo que en realidad son lo que desencadena una serie de errores. Fuente: Andromina robot V2.0
  • 18. Escritura de la velocidad en los Display Como se puede observar a continuación, se tiene la declaración de las variables:
  • 19. Escritura de la velocidad en los Display No se puede enviar directamente el valor de la velocidad a los Display, sino que se debe realizar ciertas acciones para poder separar los dígitos de la velocidad que se ha leído.
  • 20. Simulación Para realizar la simulación, primero se Programa la FPGA, luego se compila el software y por último de lo ejecuta con la opción Run As / Launch on Hardware. Para abrir la terminal hay que dirigirse a Windows/Show view /Terminal, y se realiza la conexión Serial con el puerto al que está conecta la FPGA.
  • 21. IMPLEMENTACIÓN DEL CIRCUITO - PRUEBAS LINK DE VIDEO: https://drive.google.com/drive/folders/1p8nrx LuHGh61FYLi- C4pYgSYbeXVt5l9?usp=sharing
  • 22. VELOCIDAD 1 - 450 RPM
  • 24. VELOCIDAD 3 - 3240 RPM
  • 25. Conclusiones ● Se diseño, simulo e implementó un SoC HW-SW de procesador MicroBlaze el cual cumple con la mayoría de las especificaciones pedidas, la más importante la utilización del módulo XADC para leer los datos que proporciona el sensor IR. ● Se cumple con el objetivo principal que es medir la velocidad del motor e imprimir esta velocidad tanto en el terminal UART como los displays de la FPGA. ● Se puede mejorar el software presentado en el laboratorio, utilizando interrupciones para tener una mayor precisión en la medida de la velocidad del motor, pues actualmente cuando se detiene el motor pero el encoder de este se detiene impidiendo que pase luz entre emisor y receptor del sensor IR el programa exhibe la velocidad del motor como la máxima en lugar de la mínima.
  • 26. Bibliografía 1. Navas. B., “Sistemas Embebidos A403: Material del Curso”, Universidad de las Fuerzas Armadas - ESPE, DEEL ASDI, Quito, Ecuador. 2. Digilent Reference, “Pmod PIR”, Recuperado de: https://digilent.com/reference/pmod/pmodpir/start 3. Xilinx Reference, AXI Timer/Counter, Recuperado de: https://www.xilinx.com/products/intellectual-property/axi_timer.html 4. Xilinx Reference, AXI UARTLite, Recuperado de: https://www.xilinx.com/products/intellectual- property/axi_uartlite.html 5. Xilinx, «7 Series FPGAs and Zynq-7000 SoC XADC Dual 12-Bit 1 MSPS Analog-to-Digital Converte,» 2018.