martes, 6 de junio de 2017

Unidad 4 Programación de Microcontroladores

Microcontrolador, Es un circuito integrado programable, capaz de ejecutar las órdenes grabadas en su memoria.
Un micro controlador incluye en su interior las tres principales unidades funcionales de una computadora: unidad central de procesamiento, memoria y periféricos de entrada/salida.

Máquina de estados finita (FSM)
Está compuesta por:

n Estados:
Son las diferentes situaciones en las que puede encontrarse el sistema.

o Entradas (señales de transición de estados):
Constituyen los acontecimientos que producen los cambios de estado.

 Programación de Microcontroladores
Modelo de programación
 estructura de los registros del CPU



Suelen utilizarse en aplicaciones sencillas o en la planificación de rutinas en las que se divide una aplicación más compleja.

Organigramas
p Salidas:
Respuesta del sistema ante los cambios en las entradas.

q Funciones de transición de estado:
Descripción detallada, para cada estado, de cuál es el siguiente estado y la salida del sistema, cuando se producen las distintas entradas.

Máquina de estados finita (FSM)
Tabla de transiciones

Problema: ¿Cuándo y cómo deben consultarse las entradas?
Generación de eventos (atención a las entradas):
Consulta de la llegada de eventos en cierto espacio de memoria reservado.

Cuando ocurre un evento, “alguien” deja una señal en el espacio de memoria reservado (modifica un flag, una variable, etc.). Una vez atendido el evento, se desactiva la señal correspondiente.

Alternativas en la detección de eventos:

n Rutina de atención a una interrupción:
Se trata de una rutina asociada a la entrada en cuestión, la que coloca la señal en el espacio de memoria reservado, cada vez que se active dicha entrada.

Alternativas en la detección de eventos:

o Rutina de interrupción de un reloj:
Se trata de una interrupción periódica que se ejecuta cada cierto tiempo (ej. 20ms) y se encarga de consultar si alguna entrada está activa. En caso de que así sea, coloca dicho evento en la memoria reservada, para que el programa principal proceda según convenga.

Registro
Son un espacio de memoria muy reducido pero necesario para cualquier microprocesador, de aquí se toman los datos para varias operaciones que debe realizar el resto de los circuitos del procesador. 

FUNCIÓN DEL REGISTRO
Los registros sirven para almacenar los resultados de la ejecución de instrucciones, cargar datos desde la memoria externa o almacenarlos en ella.

Registros SFR
Cada microcontrolador dispone de un número de registros de funciones especiales (SFR), con funciones predeterminadas por el fabricante. Están conectados a los circuitos internos del microcontrolador como temporizadores, convertidores, osciladores etc. lo que significa que directamente manejan el funcionamiento de estos circuitos, o sea del microcontrolador. 

En otras palabras, el estado de los bits de registros se fija dentro de programa, los registros SFR dirigen los pequeños circuitos dentro del microcontrolador, estos circuitos se conectan por los pines del micro a los dispositivo periféricos

Registros básicos
1-Contador de programa (PC)
2-Registro de direcciones de la memoria (MAR)
3-Registros de Datos (RD)
4-Registros de Instrucciones (RI)
5-Palabras de estado de Programa (PSW)

Contador de programa (PC)
La función del PC consiste en seguir la pista de la instrucción por buscar en el siguiente ciclo de maquina, por lo tanto contiene la dirección de la siguiente instrucción por ejecutar. El numero que se agrega al PC es la longitud de una instrucción en palabras. 

Registro de direcciones de la memoria (MAR)
Funciona como registro de enlace entre la CPU y el canal de direcciones. Cuando se logra el acceso a la memoria la dirección es colocada en el MAR por la unidad de control y ahí permanece hasta que se completa la transacción. 

Registros de Datos (RD)
La función del RD consiste en proporcionar un área de almacenamiento temporal de datos que se intercambian entre la PCU y la memoria. Los datos pueden ser instrucciones o datos del operando. Contiene el mismo numero de bit que dicho canal.

Registros de Instrucciones (IR)
Es un registro que conserva el código de operación de la instrucción en todo el ciclo de la maquina. El código es empleado por la unidad de control de la CPU para generar las señales apropiadas que controla le ejecución de la instrucción. La longitud del IR es la longitud en bit del código de operación.

Palabras de estado de Programa (PSW)
La palabra de estado o condición de programa almacena información pertinente sobre el programa que este ejecutándose. Por ejemplo al completarse una función de la unidad aritmética lógica se modifica un conjunto de bit llamados códigos (o señales de condición).

Conclusión
Los microcontroladores en la actualidad son cada vez mas utilizados, y su venta y fabricación es un mercado en convergencia debido a los amplios usos de estos dispositivos, Algunos fabricantes de microcontroladores superan el millón de unidades de un modelo determinado producidas en una semana. Este dato puede dar una idea de la masiva utilización de estos componentes.
Bibliografía
http://www.slideshare.net/romo91/el-procesador-y-sus-registros-internos
http://www.mikroe.com/chapters/view/79/capitulo-1-el-mundo-de-los-microcontroladores/
http://es.wikipedia.org/wiki/Microcontrolador#Unidad_de_control
http://www.dte.uvigo.es/documentacion/00002785.pdf

Gracias por su atención.
Introducción
Cada vez existen más productos que incorporan un microcontrolador con el fin de aumentar sustancialmente sus prestaciones, reducir su tamaño y coste, mejorar su fiabilidad y disminuir el consumo de energía.

Lenguajes de programación
El micro controlador ejecuta el programa cargado en la memoria Flash. Esto se denomina el código ejecutable y está compuesto por una serie de ceros y unos, aparentemente sin significado. Dependiendo de la arquitectura del micro controlador, el código binario está compuesto por palabras de 12, 14 o 16 bits de anchura.

Ensamblador
Implementa una representación simbólica de los códigos de máquina binarios y otras constantes necesarias para programar una arquitectura dada de CPU y constituye la representación más directa del código máquina específico para cada arquitectura legible por un programador. 
Para programar en un determinado micro controlador necesitamos conocer las instrucciones para generar el código fuente para posteriormente compilarlo, emular el programa y poder grabarlo para implementarlo en el circuito correspondiente. 


Ventajas
Permite desarrollar programas muy eficientes
Hace uso eficiente de los recursos
Se tiene control sobre el tiempo de ejecución sobre las instrucciones
La programación es costosa y muy difícil de modificar.

Alto nivel
En lenguajes de programación de alto nivel varias instrucciones en ensamblador se sustituyen por una sentencia. El programador ya no tiene que conocer el conjunto de instrucciones o características del hardware del micro controlador utilizado. Ya no es posible conocer exactamente cómo se ejecuta cada sentencia, de todas formas ya no importa. Aunque siempre se puede insertar en el programa una secuencia escrita en ensamblador.

Ventajas
Desarrollo de aplicaciones mas rápido
Mantenimiento de la aplicación menos costoso
Menor tiempo de desarrollo

Desventajas
Código menos eficiente
Mayor ocupación del espacio de memoria

No hay comentarios.:

Publicar un comentario