1. TEMA 1:
INTRODUCCIÓN A LOS MICROCONTROLADORES
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, nacidos 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.
17/05/2023 1
2. INTRODUCCIÓN A LOS MICROCONTROLADORES
Los basamentos teóricos 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.
Al finalizar todos los temas de este curso, mediante
una sistemática enseñanza y metodología, estaremos en
capacidad para partir de una idea o enunciado, hasta simularlo y
llevarlo a la práctica; le encontraremos "El queso a la tostada"
¡¡¡ No es nada difícil, la práctica hace la excelencia !!!
17/05/2023 2
3. ARQUITECTURA DE LOS MICROCONTROLADORES
Un microcontrolador es un computador dedicado, con limitaciones y
menos prestaciones. Posee básicamente, las mismas partes que un
computador y un controlador lógico programable. Entre ellas tenemos:
– CPU (Unidad Central de Procesamiento)
– ALU (Unidad Lógico - Aritmética)
– Periféricos
Lógica de
Control
ALU
Memoria
de Datos
Memoria
de Programa
Periféricos
17/05/2023 3
4. ARQUITECTURA DE LOS MICROCONTROLADORES
Hemos comentado en el tema anterior que los microcontroladores son una
evolución más práctica de los microprocesadores, y esto se fundamenta en dos
aspectos importantes: los microcontroladores albergan en su interior varios
circuitos que los microprocesadores no tienen. Esto se conoce como arquitectura
cerrada (para los primeros) y arquitectura abierta (para los segundos) y la
arquitectura tradicional del procesador del microcontrolador (Tipo Harvard) y de
los microprocesadores (Tipo Von Neumann).
Microprocesador y su arquitectura abierta
µP
Memorias Controladores Controladores
Periféricos
Periféricos
Bus de Direcciones
Bus de Datos
Bus de Control
17/05/2023 4
5. Microcontrolador y su arquitectura cerrada
µC
Periféricos
Arquitectura tipo Von Neumann
8
CPU
Memoria
Instrucciones
+
Datos
Bus común de
direcciones
Bus de datos e
instrucciones
17/05/2023 5
6. ARQUITECTURA TIPO HARVARD
• Este tipo es la tendencia en las versiones modernas de microcontroladores. Se
caracterizan por separar en circuitos diferentes, las memorias de instrucción y
de datos, facilitando acceder a ambas simultáneamente. Permite la técnica de
segmentación.
Bus de Instrucciones
Memoria
de
Instrucciones
10
Bus de Dirección
de Instrucciones
CPU
Memoria
de
Datos
Bus de Dirección
de Datos
Bus de Datos
14
9
8
17/05/2023 6
7. ¿CÓMO ACTUARÍA UN MICROCONTROLADOR
EN UN PROCESO A CONTROLAR?
• Como lo haría cualquier sistema o circuito de control, sensando o tomando
información del proceso, realizando operaciones de comparación, o de acceso, o
de promedio, o de alarma, etc, y actuando sobre el mismo para corregir,
modificar, o mantener valores, según sean las exigencias del diseño. A "grosso
modo", lo podemos ilustrar formando parte de un lazo de control cerrado o uno
abierto:
Proceso
que se desea controlar
Microcontrolador
Microcontrolador
Información
Información
17/05/2023 7
8. MICROCONTROLADORES PIC DE MICROCHIP
Existe una amplia gama de casas fabricantes de
microcontroladores, en el mercado: Motorola, Intel, Texas
Instrumens, Hitachi, Parallax, etc, en este curso, se han
adoptado los PIC de la gama o familia media de Microchip (PIC
16F8XX) por las siguientes prestaciones:
• ARQUITECTURA HARVARD
• 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.
17/05/2023 8
9. MICROCONTROLADORES PIC DE MICROCHIP
• 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.
• INFORMACIÓN AMPLIAMENTE DIFUNDIDA Y DE FÁCIL ACCESO
Quizás una de las principales prestaciones. Esta casa fabricante
proporciona libre acceso a las hojas técnicas (Data Sheet) de sus
diferentes componentes, así como software para programación,
proyectos propuestos, tutoriales, etc mediante su página Web:
www.microchip.com
• 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.
17/05/2023 9
10. CARACTERÍSTICAS GENERALES DE LOS
MICROCONTROLADORES
ARQUITECTURA INTERNA DE UN MICROCONTROLADOR PIC
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)
17/05/2023 10
11. CARACTERÍSTICAS GENERALES DE LOS
MICROCONTROLADORES
3) Características Especiales ó Recursos Auxiliares
Contribuyen a reducir el costo del sistema,
incrementan la flexibilidad de diseño y brindan mayor
fiabilidad. Entre ellas tenemos:
– Bits de configuración
– Reset de encendido
– Temporizador WATCHDOG
– Modo reposo ó de bajo consumo
– Oscilador RC interno
– Programación serie en el propio circuito
– Interrupciones
– Temporizadores (Timer's)
– (1) Algunas de estas características aplican para los
PIC16F87X
17/05/2023 11
12. Características Valor
Memoria de Programa 1k x 14 bits
Memoria de Datos RAM 68 Bytes
Memoria de Datos EEPROM 64 Bytes
Pila de programa 8 Niveles
Interrupciones 4 tipos diferentes
RISC 35
Frecuencia Máxima 10 MHz
Temporizadores 2 (TMR0(3) y WDT(4))
Líneas de Entradas/Salidas Digitales 13 (5 Puerto A, 8 Puerto B)
Corriente máxima sumidero 80 mA PA/150 mA PB
Corriente máxima fuente 50 mA PA/100 mA PB
Corriente máxima sumidero por línea (Pin) 25 mA
Corriente máxima fuente por línea (Pin) 20 mA
Voltaje de alimentación 2 a 6 VDC
Voltaje de programación 12 a 14 VDC
Encapsulado DIP plástico 18 pines
17/05/2023 12
15. DESCRIPCIÓN DE LOS PINES DEL PIC16F84
Pin Descripción/Función
VDD Voltaje de alimentación. Se aplican 5 VDC
VSS Tierra
FOSC1/CLKIN
Entrada del circuito oscilador externo, que proporciona la
frecuencia de trabajo
FOSC2/CLKOUT Salida auxiliar del circuito oscilador
MCLR/VPP
Se activa con nivel bajo, proporcionando una
reinicialización del sistema (reset). Cumple con una
función adicional (VPP) que recibe la alimentación del
voltaje de programación, al momento de grabar al PIC.
RA4:RA0
5 líneas de Entradas/Salidas digitales del Puerto A.
RA4 tiene una función adicional: Entrada de un reloj
externo asíncrono ó síncrono, cuando el
microcontrolador trabaja como contador de eventos.
RB7:RB0
8 líneas de Entradas/Salidas digitales del Puerto B
RB0 tiene una función adicional: Provoca una interrupción
externa asíncrona, cuando se configura para ésta.
17/05/2023 15
16. TIPOS DE OSCILADORES
• HS: (High Speed Crystall Resonador): Alta velocidad de 20 MHz a 4 MHz.
• XT: (Crystall//Resonador): Estándar de 4 MHZ máximo.
• LP: (Low Power Crystall): Bajo consumo, 200 KHz a 30 KHz.
• RC: (Resistence/Capacitor): Baja precisión, Tiene una tabla asociada a los
valores de R y C. Muy poco uso. 200 Hz a 32 Hz.
17/05/2023 16
17. FRECUENCIA DE FUNCIONAMIENTO
ALGUNOS CONCEPTOS
• 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
•
17/05/2023 17
19. 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
17/05/2023 19
20. CÁLCULOS DE TIEMPOS
Ejemplo. Sea un cristal XT, cuya frecuencia es F= 4 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 / 4 MHz = 0.25 μs
2. Hallamos el Ciclo de Instrucción:
Tciclo de instrucción= 4*0.25 μs = 1 μs.
3. Duración del total de instrucciones normales (DTIN):
DTIN: 250 * 1 μs = 250 μs
4. Duración del total de instrucciones de salto (DTIS):
DTIS: 50 * 1 μs * 2 = 100 μs
5. Hallamos el total de duración del programa:
Total: DTIN + DTIS = 250 μs + 100 μs
Total: 350 μs
Por lo tanto nuestro programa tarda en ejecutarse, alrededor de 350 μ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: A) Oscilador LP, B) Oscilador XT
17/05/2023 20