Está en la página 1de 4

Sistemas Embebidos-7AN, Séptimo Semestre

Universidad ECCI Bogotá, D.C.

Sistemas Embebidos
Laboratorio 2 Manejo de Tiempos
Daniel Felipe Salamanca Noy ID: 72814, Alexander Cerón ID 87305, Joan Sebastián Fuertes García ID:70574, Edilson Malagon
Ritiva ID:48425.
Abstract – . Cundo se está escribiendo un algoritmo para resolver una
problemática específica, la cual será introducirá en un
En la presente practica se propone la construcción de un código
en el leguaje de programación C++ incorporando la tarjeta microcontrolador, el programador debe comprender y entender
STM32f767 completando así un sistema embebido, donde que el tiempo es muy importante y obligatorio para el
implementamos las funciones de interrupciones y el sistema funcionamiento de un sistema embebido. Gracias a esta
SysTick en el desarrollo de un contador en números hexadecimal función de los microcontroladores de un sistema embebido
de un digito con frecuencia de 1 Hz, controlando la medición de debe atender diferentes tareas ya sea programadas en el
tiempos de acuerdo su funcionalidad que está de acorde a los algoritmo o accionadas por periféricos del sistema embebido.
parámetros solicitados en el procedimiento asignado. Para llevar
a cabo este objetivo, se utilizó un display de 7 segmentos para https://es.slideshare.net/pablogindel/microcontroladores-6-
mostrar el conteo en números hexadecimal, como también interrupciones
parámetros y configuraciones definidos en el manual de
referencia de procesador trabajado en la tarjeta.

Keywords— interrupciones, SysTick, dispaly, contador, medición


de tiempos.

I. INTRODUCCIÓN
III. OBJETIVOS
Para un programador, es indispensable el conocimiento de los
parámetros técnicos en la aplicación de medición de tiempo, B. Objetivo General
como también el funcionamiento de las diferentes
características de un procesador determinado; en nuestro caso, Desarrollar las habilidades para el manejo y configuración
contamos con el procesador Cortex M, este microprocesador del tiempo de un Sistema embebido.
permite realizar interrupciones gracias a sistemas como
Figura 1. Funcionamiento de la interrupción.
SysTick el cual es un temporizador incorporado, dicho
sistemas proporciona funcionalidad eficiente en aplicaciones
Cuando una interrupción es ejecutada, lo que ocurre en el
de sistemas embebidos, donde se considera ejecutar tareas con
procesador es que recibirá una señal de acuerdo a la
precisión. Se propone una problemática, donde se aplica
instrucción dada en el algoritmo programado, inmediatamente
dichas funciones para la realización de un contador en sistema
el procesador para la ejecución de la rutina principal y se
hexadecimal, creando un código acorde a las condiciones
ocupa de la tarea específica de la rutina de interrupción. Una
propuestas y aplicando las funciones y virtudes con que cuenta
vez terminada la ejecución de interrupción, el procesador se
el microprocesador empleado.
vuelve a fijar e la rutina principal de ejecución, retomando la
tarea donde se había quedado antes de la interrupción.

Es importante comprender y aplicar al momento de realizar el


A. Objetivos Específicos
código de programación, que una interrupción se ejecuta ya
● Comprender el manejo y utilidad de un sistema embebido sea por una acción externa (un pulsador por ejemplo accionado
para el desarrollo de aplicaciones específicas y eficientes. por el usuario de forma física) o por una señal interna de
● Desarrollar la programación y configuración necesaria microprocesador de acuerdo a algoritmo que se esté
para el manejo de tiempos, basándose en las funciones y ejecutando. A estos tipos de interrupciones se les llaman
relojes que posee un sistema embebido. Interrupt Service Routine (ISR). Los microcontroladores
cuentan con funciones especificadas para priorizar las rutinas,
● Identificar y utilizar interrupciones, para el cálculo de
es decir tiene la capacidad de identificar el nivel de
tiempos en un sistema microcontrolado.
importancia para la ejecución de un programa secundario ISR,
II. MARCO TEÓRICO como también tiene la virtud de detener la ejecución del
programa en principal, guardar los datos y en el momento en
que se acciono la ISR. Ejecutará dichas instrucciones y
Sistemas Embebidos-7AN, Séptimo Semestre
Universidad ECCI Bogotá, D.C.

retomar la información guardada para seguir la ejecución del pines habilitado en los puertos donde podemos ejecutar la
condigo principal. Estos procesos o más bien estados de función de interrupciones.
ejecución tienen un nombre especifico en programación;
cuando guarda la información del programa principal en
ejecución se llama contexto, una vez realiza la ejecución del
ISR vuelve a retomar la información del programa principal a
lo cual se llama cambio de contexto.

Gracias a la ejecución de las interrupciones nuestro sistema


embebido ahorra memoria RAM, mejorando la velocidad de
procesamiento sin perder información de la programación
principal, se aprovecha también los mecanismos para la
priorización de interrupciones, simplificando el algoritmo de la
aplicación, permitiendo responder más rápido a otras
ejecuciones del programa.
Manual refence

Es importante tener en cuenta que una de las virtudes del


microprocesador que se está trabajando, es que se puede
definir la importancia de ejecución de la interrupción
programada, es decir el procesador de acuerdo a nuestra
programación y configuración, determina que interrupción es
más importante ejecutar dentro de una serie de ISR disparadas
dentro del programa. Para comprender y realizar dicha
configuración en el sistema embebido, se debe tener en cuenta
la información del Manuel de referencia en el apartado Nested
vectored interrupt controller (NVIC) Table 46. STM32F76xxx
and STM32F77xxx vector table.

El procesador con que cuenta nuestra tarjeta STM32f767 tiene


Figura 2. Proceso de ejecución de una interrupción NVIC el cual es una parte integrada al procesador cortex M, la
cual proporciona la capacidad de ejecutar las interrupciones
En el caso de nuestra aplicación de la tarjeta STM32f767 con del procesador, de una forma eficiente de acuerdo a las
procesador córtex M7 es importante comprender que, en la características técnicas y de funcionalidad del procesador,
aplicación de la interrupción, el bus de datos debe habilitarse donde se encuentran también los diferentes niveles de
dentro de la programación, donde se tiene en cuenta también priorización de las interrupciones nombradas anteriormente,
los francos de subida como de bajada, para la habilitación de la brindando las capacidades de guardar y retomar información
interrupción, una vez comprendiendo y definido que flanco se de un código principal.
ejecutara, la línea de código indicada para la ejecución de la
ISR. Manual refence

Para la configuración del registro para la ejecución de la ISR


se debe tener en cuenta las indicaciones dadas en el manual de
referencia en el apartado SYSCFG external interrupt Para la construcción y ejecución del código propuesto para la
configuration register 1, donde encontramos infamación problemática dada en el presente laboratorio, se debe también
técnica acerca de la identificación de puertos y pines, como de tener en cuenta el sistema SysTick de nuestro
funcionalidad. También encontramos infamación acerca de los microcontrolador Cortex M, el cual es un temporizado de 24
Sistemas Embebidos-7AN, Séptimo Semestre
Universidad ECCI Bogotá, D.C.

bits de conteo descendente, al llegar al conteo cero este realiza ● Software uVision Keil.
una interrupción e inicia nuevamente. Se puede inferir que es ● Tarjeta de desarrollo STM32F746ZG.
similar a la fucnion Delay en la placa y código de Arduino. ● Cable mini USB.
Esta función está dentro del NVIC integrado en el procesador. ● Display 7 segmentos.
● Resistencias.
https://riunet.upv.es/bitstream/handle/10251/32259/Art ● Placa de prototipado rápido.
%EDculo%20docente%20temporizaci%F3n%20mediante
%20SysTick%20ARM%20Cortex-M.pdf?sequence=3 Diagramas de flujo

la funcion del SysTick dentro del procesador es la generación


de interrupciones periódicas ejecutando programaciones
especificas a una tarea de una forma eficiente y continua, este
contador regresivo proporciona un intervalo de tiempo fijo
proporcionado fiabilidad dentro de la programación. De
acuerdo al estado del procesador de detenido o trabajando, el
sistema SysTick no para el conteo regresivo, hasta que el
Diagrama General
contador llegue a cero, el procesador dejara realizar las
interrupciones programadas, es decir la interrupción generada
por esta función, da la orden del procesador de que la tarea en
ejecución debe ser parada y ejecutar la interrupción.

https://rei.iteso.mx/bitstream/handle/11117/5542/SCHEDULE
R%20DE%20SUCESI%C3%93N%20BINARIA%20CON
%20CAMBIO%20DE%20CONTEXTO.pdf?
sequence=2&isAllowed=y

En la aplicación del circuito electrónico para la aplicaion del


sitema embebido, es indispensable el empleo de un display de
7 segmentos. El cual es un elemento electrónico, compuesto de
diodos lumínicos donde se puede visulaizar información, en
nuestro caso los numero en el sistema hexadecimal.

El diagrama de flujo en general es bastante básico consta del


ciclo while por default y está constantemente preguntando por
un contador que proviene de una interrupción externa llamada
Systick_Hander la cual se está llamando cada 1ms para
comprobar datos de otra interrupción, la
EXTI15_10_IRQHandler ambas se explicaran a detalle más
adelante, posteriormente se hará la comprobación de dicho
condicional, en caso de ser verdadero mostrar en pantalla el
Estos dispositivos electrónicos, cuentan con 8 pines, siendo número actual en el display 7 segmentos dicho número actual
uno de ellos el anoto común, y los otros el cátodo para cada también tendrá proveniencia de la función Systick en caso de
led, para nuestra aplicación, el sistema embebido, de acurdo al ser falso no muestra ningún número e independiente de
número dado en el código del programa, visualizara en él, los cualquier caso se inicia nuevamente el ciclo.
números hexadecimales de forma ordenada.
Diagrama interrupción EXTI15_10_IRQHandler
https://www.areatecnologia.com/electronica/led-display.html

IV. PROCEDIMIENTO Y MATERIALES

Para la elaboración de la práctica se requirieron los


siguientes materiales:
Sistemas Embebidos-7AN, Séptimo Semestre
Universidad ECCI Bogotá, D.C.

cumpla el tiempo necesario reiniciara la variable conta a 0 y


aumentará la variable “i” está variable es la responsable del
numero mostrado en el momento en el display a través de un
diccionario se codifica este número, posteriormente hay un
último condicional que pregunta cuando i es igual a 16 este
regresa a 0.
De esta forma termina esta interrupcion

V. ANÁLISIS Y RESULTADOS

El funcionamiento de esta interrupción es bastante simple, se VI. CONCLUSIONES


activa siempre que el pulsador C13 se active y una vez esté
activo pregunta en un condicional nuevamente si se está
presionando constantemente para mandar asignar a una
variable estado un true o false para posteriormente enviar VII. REFERENCIAS
constantemente esta variable a la interrupción Systick_Handler [1] Keil. (2021). uVision Software de desarrollo. Bogota: Keil tools by ARM.
la cual se explicará a continuación. Recuperado de: www.keil.com

Interrupción Systick_Handler

Esta función se está ejecutando constantemente y preguntando


por la variable estado previamente mencionada que es la
encargada de a través de un condicional proseguir con un
condicional el cual al ser verdadero aumentará una variable
contra la cual es la encargada de contar hasta que se cumpla un
tiempo de 1ms posterior a que se cumpla este tiempo, es decir
cuando conta sea igual a 1000 (o a un número mayor que
puede ser cambiado a través de una variable F, lo cual a su vez
modificaría el tiempo) posterior este condicional cuando

También podría gustarte