Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad I.
1
Arquitectura interna
y externa del microcontrolador.
1.1. Conceptos básicos de los Microcontroladores.
2
Los microcontroladores se encuentran presentes en muchas tareas,
artefactos y procesos que realizamos y/o utilizamos a diario. Un ejemplo
de ello son: las antiguas tarjetas telefónicas, un reloj despertador, una
alarma de autos y casas, el Mouse de una computadora, las lavadoras
modernas, televisores, microondas, teléfonos celulares, sistemas de
control de acceso, controladores de temperatura, juguetes, etc.
Resumiendo están presentes en las siguientes áreas: industriales,
telecomunicaciones, automóviles, entretenimiento, seguridad, entre
otras.
Los microcontroladores son una evolución de los
microprocesadores, n acidos en la década de los 70's, presentando en la
actualidad completas utilidades y aplicaciones, integrándose en un chip,
funciones electrónicas que antes eran posibles por circuitos externos
separados.
Imaginémonos un circuito integrado que controla externamente los
siguientes circuitos: memoria RAM, EPROM, convertidor
Analógico/Digital, comunicación serial, módulos temporizadores, entre
otros. Esto en la actualidad se encuentra contenido en un solo circuito
integrado de 18, 28 y 40 pines, lo que potencia las posibilidades de
aplicaciones.
1.1. Conceptos básicos de los Microcontroladores.
3
La base teórica y de operatividad son muy similares a los
controladores lógicos programables (PLC's) presentes en
innumerables procesos industriales, a las computadoras.
Algunos autores definen al microcontrolador como una
microcomputadora. Con un microcontrolador se puede diseñar un
PLC, más no el caso contrario.
Realizar un diseño con un microcontrolador es una tarea
gratificante, ya que nos permitirá poner en la práctica nuestras
destrezas y habilidades como diseñadores, y ver como realiza las
funciones que nosotros les habremos de imponerles.
1.1.1. Diferencia entre microcontrolador y
4 microprocesador.
I/O I/O
I/O
CPU RAM
CPU
ROM
RAM ROM
I/O
1.1.2. Tipos de arquitecturas computacionales.
5
ARQUITECTURA HARVARD
Es una arquitectura de computadora con pistas de almacenamiento
y de señal físicamente separadas para las instrucciones y para los
datos.
Aumenta el rendimiento de
la CPU a una velocidad de
reloj determinada, aunque
puede aumentar la
latencia debido a la
sobrecarga adicional del
proceso de pipeline en sí.
1.1.2. Tipos de arquitecturas computacionales.
9
ARQUITECTURA INTEL Y AMD DE 32 Y 64 BITS
IA-32: Es la arquitectura del conjunto de instrucciones de los
procesadores de Intel 80×86 y de los primeros microprocesadores de
AMD. IA-32 fue una extensión de 32 bits, implementada por primera
vez en 1986 en el procesador Intel 80386, sucesor de los antiguos
procesadores Intel 8086, 8088, 80186 y 80286 de 16-bit y el
denominador común de todos los diseños 80×86 subsiguientes (80486,
80586, 80686).
ARQUITECTURA RISC
La arquitectura RISC (Reduced Instructions Set Computer)
o Juego de Instrucciones Reducidas para Computadoras, posee
un total de 35 instrucciones en lenguaje de máquina o
ensamblador (assembler), con las que se pueden realizar
infinidades de programas para el microcontrolador, lo que
simplifica su uso. Los microprocesadores utilizan arquitectura
CISC (Complex Instructios Set Computers) y están por el orden
de 80 instrucciones.
1.2. Arquitectura interna del Microcontrolador.
11
SEGMENTACIÓN (PIPELINE)
Esta característica se conoce como paralelismo implícito, segmenta
ó separa las funciones del CPU, producto de la arquitectura Harvard,
permitiéndole realizar en etapas, instrucciones diferentes en cada una
de ellas y operar varias a la vez. Aumenta el rendimiento del CPU, lo que
hace que sus operaciones y procesamiento sean más rápidas que la gran
mayoría de los otros microcontroladores.
COMPATIBILIDAD
Existen productos de software y hardware, que no pertenecen a
Microchip, pero que son totalmente compatibles con sus productos.
Podemos "bajar" programas adicionales gratis de Internet y realizar
circuitos para programarlos a un bajo coste, exitosamente.
1.2. Arquitectura interna del Microcontrolador.
12
CARACTERÍSTICAS GENERALES DE LOS MICROCONTROLADORES
Se dividen en tres grandes áreas:
1) Núcleo
Estas son las características básicas para la operatividad del microcontrolador. Están
constituidas por:
* Oscilador * Reset * CPU * ALU
* Memoria no volátil para programa (ROM)
* Memoria de lecto-escritura para datos (RAM)
* Memoria programable para datos (EEPROM/FLASH)
* Instrucciones
2) Periféricos
Es la parte que los diferencia con los microprocesadores. Permite la conexión con el
"mundo exterior". Destacan:
Entradas/Salidas de utilidad general
Módulo de captura, comparación y PWM (1)
Comunicación serial (1)
Comunicación paralela (1)
Comparadores (1)
Convertidores Analógico/Digital (1)
1.2. Arquitectura interna del Microcontrolador.
13
FRECUENCIA DE FUNCIONAMIENTO
Un ciclo de instrucción tarda en ejecutarse cuatro períodos de
reloj.
Todas las instrucciones del PIC se realizan en un ciclo de
instrucción, exceptuando las de "salto" que tardan dos ciclos.
Los impulsos de reloj entran por FOSC1/CLKIN y se dividen en
cuatro señales internamente, dando lugar a Q1, Q2, Q3 y Q4.
El ciclo de instrucción se logra al realizarse las siguientes
operaciones:
Q1 incrementa el contador de programa (PC)
Q4 busca el código de la instrucción en la memoria del
programa y se carga en el registro de instrucciones
Q2 - Q3 decodifican y ejecutan la instrucción respectiva
1.2.1. Componentes del Microcontrolador.
17 FRECUENCIA DE FUNCIONAMIENTO
1.2.1. Componentes del Microcontrolador.
18
CÁLCULOS DE TIEMPOS
Los cálculos se realizan bajo las siguientes recomendaciones:
1. Se elige el oscilador con el cual se va a trabajar.
2. Dada la frecuencia de funcionamiento (Frecuencia de Oscilación FOSC), por el oscilador
elegido, hallamos el período.
3. Un ciclo de instrucción se ejecuta en 4 períodos.
Tciclo de instrucción: 4 * TOSC
4. Multiplicamos la cantidad de instrucciones por lo que tarda en ejecutarse una de ellas,
cuya información nos la brinda el paso anterior. Las instrucciones de salto se ejecutan
en dos ciclos, por lo tanto, si tenemos instrucciones de salto, éstas hacen que se
multiplique el ciclo de instrucción por dos.
· Duración del total de instrucciones normales (DTIN): Nro. de
instrucciones * Tciclo de instrucción
· Duración del total de instrucciones de salto (DTIS): Nro. de instrucciones * Tciclo
de instrucción * 2
5. Para determinar cuánto dura un programa en ejecutarse, sumamos la duración de las
instrucciones normales más la duración de las instrucciones de salto.
Total de duración del programa: DTIN + DTIS
1.2.1. Componentes del Microcontrolador.
19
CÁLCULOS DE TIEMPOS
Ejemplo. Sea un cristal HS, cuya frecuencia es F= 20 MHz, Halle el total de duración de un
programa que contiene 250 instrucciones normales y 50 instrucciones de salto.
1. Hallamos el período:
T= 1/F, éste valor es conocido como el período de oscilación.
T= 1 / 20 MHz = 0.05 μs
2. Hallamos el Ciclo de Instrucción:
Tciclo de instrucción= 4*0.05 μs = 0.20 μs.
3. Duración del total de instrucciones normales (DTIN):
DTIN: 250 * 0.20 μs = 50 μs
4. Duración del total de instrucciones de salto (DTIS):
DTIS: 50 * 0.20 μs * 2 = 20 μs
5. Hallamos el total de duración del programa:
Total: DTIN + DTIS = 50 μs + 20 μs
Total: 70 μs
Por lo tanto nuestro programa tarda en ejecutarse, alrededor de 70 μs.
Ejercicio. Dado un programa que contiene 850 instrucciones, de las cuales el 20 %, corresponden
a instrucciones de salto. Halle: ¿Cuánto tarda en ejecutarse el programa? Considere un
Oscilador HS.
1.2.1. Componentes del Microcontrolador.
20 ARQUITECTURA ORTOGONAL
En los microcontroladores tradicionales todas las operaciones se realizan sobre
el acumulador. La salida del mismo está conectada a una de las entradas de la
Unidad Aritmética y Lógica (ALU) y, por lo tanto, este es uno de los operandos
de cualquier instrucción. Y el resultado de cualquier operación siempre quedara
en este registro.
Al igual que los registros, se puede asignar un nombre a cada Bit para
facilitar su identificación.
1.2.2. Registros internos.
27
Los 8 bits de menor peso del PC los proporciona el registro PCL (02h)
y es también un registro accesible al programador como registro de
memoria interna de datos.
Estos bits se llaman flags (banderas). Para hacernos una idea práctica
una bandera se levanta (se pone a 1) cuando ha pasado algo.
Palabra de configuración
Hay ciertos aspectos del PIC que han de ser activados o desactivados
cuando se programa y no se pueden volver a cambiar hasta que el PIC
no se reprograme de nuevo.
Este código debe situarse al principio del programa, después del tipo
de PIC a usar y de la definición de las etiquetas. La línea de
configuración siempre comienza con la directriz __CONFIG y cada
opción debe estar separada de otra con el carácter & . Veamos un
ejemplo:
LIST P=PIC16F84A ; Pic
#INCLUDE <P16F84A.INC> ; Lista de etiquetas de microchip
; Bits de configuración.
; Configuran opciones externas de hardware para la programación
__CONFIG _CP_OFF & _WDT_OFF & _XT_OSC & _PWRTE_ON
Memoria de programa
La memoria de programa está organizada con palabras de 14 bits con
un total de 1 K, del tipo Flash, que durante el funcionamiento es de
solo lectura.
Sólo se ejecutará el código contenido en esta memoria, pudiendo
almacenar en ella una cantidad limitada de datos como parte de la
instrucción RETLW. En una sola palabra se agrupa el código de la
instrucción y el operando o su dirección.
La memoria tipo Flash tiene la característica de poderse borrar en
bloques completos y no podrán borrarse posiciones concretas o
específicas. Este tipo de memoria no es volátil.
La memoria para almacenar el programa ejecuta la programación "on-
board" o "in-circuit", esto es, permite la programación del dispositivo o
actualización del programa sin necesidad de retirarlo del circuito donde
va montado.
La memoria del programa comienza en la posición 0000h y termina en
la posición 03FFh. Esto es 1Kbyte, es decir, 1024 bytes (210).
1.2.3. Tipos y distribución de las memorias internas.
40
Memoria de
programa
1.2.3. Tipos y distribución de las memorias internas.
41
Memoria de datos
Está organizada en dos páginas o bancos
de registro, banco 0 y banco 1. Para
cambiar de página se utilizan dos bits del
registro STATUS (RP1 y RP0).
Cada banco se divide a su vez
en dos áreas
1. Registros de Funciones
Especiales (RFS).
2. Registros de Propósito General
(EGP).
1.2.3. Tipos y distribución de las memorias internas.
42
CIRCUITOS DE RESET
1.3. Arquitectura externa del microcontrolador.
49
PULSADORES E INTERRUPTORES
1.3. Arquitectura externa del microcontrolador.
50
Visualización
Con Display
1.3. Arquitectura externa del microcontrolador.
51
Con Relé
Con optoacoplador
1.3.1. Distribución de terminales.
52
1.3.1. Distribución de terminales.
53
1.3.1. Distribución de terminales.
54