LOS PIC DE LA GAMA MEDIA.ARQUITECTURA Y TÉCNICAS DE     PROGRAMACIÓN.                   Santiago Salamanca Miño           ...
Este libro es el resultado del Proyecto Fin de Carrera realizado por el alumno DavidArroyo Muñoz y dirigido por Santiago S...
Microcontroladores PIC de la Gama Media.                                                                   ÍNDICE GENERAL....
Microcontroladores PIC de la Gama Media.                                                               ÍNDICE GENERAL.    ...
Microcontroladores PIC de la Gama Media.                                                                 ÍNDICE GENERAL.  ...
Microcontroladores PIC de la Gama Media.                                                               ÍNDICE GENERAL.    ...
Microcontroladores PIC de la Gama Media.                    1. Introducción a los Microcontroladores       Capítulo 1. Int...
Microcontroladores PIC de la Gama Media.                         1. Introducción a los MicrocontroladoresUn microcontrolad...
Microcontroladores PIC de la Gama Media.                  1. Introducción a los Microcontroladores1.2 AplicacionesEl merca...
Microcontroladores PIC de la Gama Media.                   1. Introducción a los MicrocontroladoresLos microcontroladores ...
Microcontroladores PIC de la Gama Media.                           1. Introducción a los Microcontroladores1.4 Las gamas d...
Microcontroladores PIC de la Gama Media.                   1. Introducción a los Microcontroladores          c) Gama Media...
Microcontroladores PIC de la Gama Media.                                                                                  ...
Microcontroladores PIC de la Gama Media.                   1. Introducción a los Microcontroladores                       ...
Microcontroladores PIC de la Gama Media.                 1. Introducción a los Microcontroladores        RC1/T1OSI/CCP2: E...
Microcontroladores PIC de la Gama Media.             2. La Arquitectura de los PIC de la Gama MediaCapítulo 2. La Arquitec...
Microcontroladores PIC de la Gama Media.                     2. La Arquitectura de los PIC de la Gama Media              F...
Microcontroladores PIC de la Gama Media.            2. La Arquitectura de los PIC de la Gama Media        d) Oscilador enc...
Microcontroladores PIC de la Gama Media.            2. La Arquitectura de los PIC de la Gama MediaEsta memoria de programa...
Microcontroladores PIC de la Gama Media.             2. La Arquitectura de los PIC de la Gama Media            está la dir...
Microcontroladores PIC de la Gama Media.              2. La Arquitectura de los PIC de la Gama Media        3. Instrucción...
Microcontroladores PIC de la Gama Media.                  2. La Arquitectura de los PIC de la Gama Media                  ...
Microcontroladores PIC de la Gama Media.                2. La Arquitectura de los PIC de la Gama MediaEl modo de acceso a ...
Microcontroladores PIC de la Gama Media.            2. La Arquitectura de los PIC de la Gama Media2.2.3 Registros y recurs...
Microcontroladores PIC de la Gama Media.              2. La Arquitectura de los PIC de la Gama Media2.2.3.2 Registro de Op...
Microcontroladores PIC de la Gama Media.              2. La Arquitectura de los PIC de la Gama Media2.2.3.3 Palabra de con...
Microcontroladores PIC de la Gama Media.                  2. La Arquitectura de los PIC de la Gama Media2.3 Oscilador.El c...
Microcontroladores PIC de la Gama Media.                 2. La Arquitectura de los PIC de la Gama MediaTABLA 2.2 Selección...
Microcontroladores PIC de la Gama Media.                  2. La Arquitectura de los PIC de la Gama Media                  ...
Microcontroladores PIC de la Gama Media.             2. La Arquitectura de los PIC de la Gama MediaComo un dispositivo inc...
Microcontroladores PIC de la Gama Media.            2. La Arquitectura de los PIC de la Gama Media2.4 ResetLa función del ...
Microcontroladores PIC de la Gama Media.                   2. La Arquitectura de los PIC de la Gama Media                 ...
Microcontroladores PIC de la Gama Media.                   2. La Arquitectura de los PIC de la Gama MediaEl Power-on Reset...
Microcontroladores PIC de la Gama Media.        2. La Arquitectura de los PIC de la Gama Media Figura 2.10 Secuencia de Ti...
Microcontroladores PIC de la Gama Media.           2. La Arquitectura de los PIC de la Gama MediaEl Brown-out Reset consis...
Microcontroladores PIC de la Gama Media.                    2. La Arquitectura de los PIC de la Gama Media                ...
Microcontroladores PIC de la Gama Media.                2. La Arquitectura de los PIC de la Gama Media Debido a que existe...
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Pic problemas resueltos
Upcoming SlideShare
Loading in...5
×

Pic problemas resueltos

1,665

Published on

CIRCUITOS DIGITALES II

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,665
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
214
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Pic problemas resueltos

  1. 1. LOS PIC DE LA GAMA MEDIA.ARQUITECTURA Y TÉCNICAS DE PROGRAMACIÓN. Santiago Salamanca Miño David Arroyo Muñoz Octubre de 2003
  2. 2. Este libro es el resultado del Proyecto Fin de Carrera realizado por el alumno DavidArroyo Muñoz y dirigido por Santiago Salamanca Miño. Está basado en los apuntes declase de la asignatura Informática Industrial de la Titulación de Ingeniero TécnicoIndustrial, especialidad Electrónica Industrial, que se imparte en la Escuela deIngenierías Industriales de la Universidad de Extremadura. Agradecemos la información suministrada por Jorge Jesús Pérez García para lacorrección de este documento. Si encuentras alguna errata o quieres hacer algún comentario, puedes escribir alsiguiente correo electrónico: ssalaman@unex.es
  3. 3. Microcontroladores PIC de la Gama Media. ÍNDICE GENERAL. ÍNDICE GENERAL1 Introducción a los Microcontroladores. ..................................................................... 1 1.1 ¿Qué es un microcontrolador? ................................................................. 1 1.2 Aplicaciones............................................................................................. 3 1.3 Los microcontroladores PIC. ................................................................... 3 1.4 Las Gamas de los PIC.............................................................................. 5 1.5 Los PIC de la Gama Media...................................................................... 62 La Arquitectura de los PIC de la Gama Media......................................................... 11 2.1 Introducción. ........................................................................................... 11 2.2 Organización de la memoria. .................................................................. 13 2.2.1 Organización de la memoria de programa. ..................... 13 2.2.2 Organización de la memoria de datos............................. 16 2.2.3 Registros y recursos comunes......................................... 19 2.2.3.1 Registro de Estado. ....................................... 19 2.2.3.2 Registro de Opciones. ................................... 20 2.2.3.3 Palabra de configuración. ............................. 21 2.3 Oscilador................................................................................................. 22 2.4 Reset........................................................................................................ 26 2.5 Temporizador y Perro Guardián. ............................................................ 34 2.6 Puertas E/S.............................................................................................. 36 2.7 Modo de reposo o SLEEP....................................................................... 373 Juego de Instrucciones de los PIC de la Gama Media.............................................. 39 3.1 Introducción. ........................................................................................... 39 3.2 Flujo de instrucciones. Segmentación. ................................................... 40 3.3 El formato de las instrucciones............................................................... 41 3.4 Juego de instrucciones. ........................................................................... 43 3.4.1 Descripción detallada de las instrucciones por orden alfabético. ....................................................... 454 Los Periféricos de los PIC de la Gama Media. ......................................................... 63 4.1 Introducción. ........................................................................................... 63Santiago Salamanca Miño I Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  4. 4. Microcontroladores PIC de la Gama Media. ÍNDICE GENERAL. 4.2 Interrupciones. ........................................................................................ 63 4.2.1 Registros de control. ....................................................... 65 4.2.1.1 Registro INTCON......................................... 65 4.2.1.2 Registros PIE. ............................................... 66 4.2.1.3 Registros PIR. ............................................... 67 4.2.2 Fases de una interrupción. .............................................. 70 4.3 Puertas de E/S. ........................................................................................ 72 4.3.1 Puerta A. ......................................................................... 73 4.3.2 Puerta B. ......................................................................... 75 4.3.3 Puerta C. ......................................................................... 77 4.3.4 Puerta D. ......................................................................... 78 4.3.5 Puerta E........................................................................... 78 4.3.6 Puertas F y G. ................................................................. 79 4.3.7 Puerta GPIO.................................................................... 80 4.3.8 Operaciones sucesivas en un Puerto E/S. ....................... 81 4.4 Puerto Paralelo Esclavo. ......................................................................... 83 4.5 Temporizadores ...................................................................................... 86 4.5.1 TMR0.............................................................................. 86 4.5.2 TMR1.............................................................................. 90 4.5.3 TMR2.............................................................................. 92 4.6 Módulos CCP.......................................................................................... 93 4.6.1 Modo de captura. ............................................................ 94 4.6.2 Modo de comparación. ................................................... 96 4.6.3 Modo PWM. ................................................................... 97 4.7 Módulo de Tensión de Referencia......................................................... 100 4.8 Módulo Comparador Analógico. ........................................................... 102 4.9 Convertidor A/D. ................................................................................... 106 4.10 Módulos de comunicación serie. ......................................................... 112 4.10.1 Puerto Serie Síncrono (SSP)........................................... 112 4.10.1.1 Modo SPI. .................................................................... 115 4.10.1.2 Modo I2C. .................................................................... 117Santiago Salamanca Miño II Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  5. 5. Microcontroladores PIC de la Gama Media. ÍNDICE GENERAL. 4.10.2 USART. .......................................................................... 125 4.10.2.1 Modo asíncrono. ................................... 128 4.10.2.2 Modo síncrono ...................................... 1335 Programación con PIC. ............................................................................................ 137 5.1 Introducción. .......................................................................................... 137 5.2 Directivas del ensamblador MPASM. ................................................... 137 5.3 Creación de programas. ......................................................................... 156 5.3.1 Un solo código fuente (ensamblador)............................ 156 5.3.2 Varios códigos fuente (linkador). .................................. 157 5.3.3 Utilización de librerías................................................... 158 5.4 Estructuras básicas de programación..................................................... 160 5.4.1 Estructuras iterativas...................................................... 160 5.4.1.1 While............................................................ 160 5.4.1.2 Do while....................................................... 161 5.4.1.3 For................................................................ 161 5.4.2 Estructuras condicionales. ............................................. 162 5.4.2.1 If................................................................... 162 5.4.2.2 If ... else........................................................ 163 5.4.3 Códigos de condición..................................................... 164 5.4.3.1 Igual. ............................................................ 164 5.4.3.2 Distinto......................................................... 164 5.4.3.3 Mayor........................................................... 164 5.4.3.4 Mayor o igual............................................... 165 5.4.3.5 Menor........................................................... 165 5.4.3.6 Menor o igual............................................... 165 5.4.3.7 Condiciones más complejas......................... 165 5.5 Ejemplo de librerías: librería matemática.............................................. 166 5.5.1 Rutinas de coma flotante................................................ 166 5.5.1.1 Manejo de excepciones................................ 168 5.5.1.2 Redondeo. .................................................... 168 5.5.1.3 Conversión de entero a flotante. .................. 168Santiago Salamanca Miño III Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  6. 6. Microcontroladores PIC de la Gama Media. ÍNDICE GENERAL. 5.5.1.4 Normalización.............................................. 168 5.5.1.5 Conversión de flotante a entero. .................. 169 5.5.1.6 Suma/Resta. ................................................. 169 5.5.1.7 Multiplicación.............................................. 169 5.5.1.8 División........................................................ 170 5.5.2 Rutinas en coma fija. ..................................................... 171 5.5.2.1 Multiplicación.............................................. 171 5.5.2.2 División........................................................ 172 5.5.3 Funciones matemáticas en coma flotante. ..................... 173 5.5.3.1 Función raíz cuadrada.................................. 174 5.5.3.2 Funciones exponenciales. ........................... 175 5.5.3.3 Funciones logarítmicas. ............................... 176 5.5.3.4 Funcione trigonométricas. ........................... 178 5.5.3.5 Función potencia.......................................... 179 5.5.3.6 Función parte entera por defecto. ................ 182 5.5.3.7 Comparación lógica en coma flotante. ........ 182 5.5.3.8 Generador aleatorio de números enteros. .... 183 5.5.4 Conversión de coma flotante a ASCII. .......................... 183 5.5.4.1 Conversión de coma flotante a ASCII en base 10. ..................................... 184 5.5.4.2 Personalización de la rutina. ........................ 184 5.5.4.3 Resumen. ..................................................... 185APÉNDICE A: Protocolo I2C........................................................................................ 187 A.1 Introducción ......................................................................................... 187 A.2 Inicialización y fin de transferencia de datos....................................... 187 A.3 Direccionamiento de dispositivos en I2C............................................. 188 A.4 Reconocimiento de transferencia......................................................... 189Santiago Salamanca Miño IV Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  7. 7. Microcontroladores PIC de la Gama Media. 1. Introducción a los Microcontroladores Capítulo 1. Introducción a los microcontroladores.1.1 ¿Qué es un microcontrolador?Hace unos años, los sistemas de control se implementaban usando exclusivamente lógica decomponentes, lo que hacía que fuesen dispositivos de gran tamaño y muy pesados. Parafacilitar una velocidad más alta y mejorar la eficiencia de estos dispositivos de control, setrató de reducir su tamaño, apareciendo así los microprocesadores. Siguiendo con el procesode miniaturización, el siguiente paso consistió en la fabricación de un controlador queintegrase todos sus componentes en un sólo chip. A esto es a lo que se le conoce con elnombre de microcontrolador, un computador dentro de un sólo chip.Las principales características que diferencian a un microcontrolador de un microprocesadorson: 1. Son sistemas cerrados, ya que contiene todos los elementos de un computador en un solo chip, frente a los microprocesadores que son sistemas abiertos, ya que sacan las líneas de los buses de datos, direcciones y control al exterior, para la conexión de memorias, interfaces de E/S, etc. 2. Son de propósito específico, es decir, son programados para realizar una única tarea, mientras que los microprocesadores son de propósito general.La historia de los microcontroladores surge desde dos vías de desarrollo paralelas; una desdeIntel y otra desde Texas Instruments. Los primeros microcontroladores son el 4004 y 4040 deIntel que dieron lugar al 8048, a su vez predecesor del 8051. Aún así el primermicrocontrolador fue el TMS1000 de Texas Instruments. Éste integraba un reloj, procesador,ROM, RAM, y soportes de E/S en un solo chip.Santiago Salamanca Miño 1 Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  8. 8. Microcontroladores PIC de la Gama Media. 1. Introducción a los MicrocontroladoresUn microcontrolador, típicamente consta de: -CPU o procesador.- Es el cerebro del sistema que procesa todos los datos que viajan a lo largo del bus. -Memorias.- Está formada por una no volátil (ROM, EEPROM, FLASH) donde se almacenan los programas y una volátil (RAM) donde se almacenan los datos. -Reloj principal.- Normalmente todos los microcontroladores tienen incorporados circuitos osciladores para el funcionamiento de éstos. -Puertos E/S (Entrada/Salida).- Soportan las líneas que comunican al microcontrolador con los periféricos externos. -Perro guardián o Watchdog.- Contador que resetea al microcontrolador cada vez que rebosa. Sirve para evitar fallos de funcionamiento, por lo que hay que inicializarlo periódicamente antes de que rebose. -Protección ante fallo de alimentación o Browout.- Circuito que resetea al microcontrolador cuando la tensión de alimentación baja de un cierto límite. -Temporizadores.- Para controlar periodos de tiempo. -Convertidores A/D y D/A. (Analógico/Digital y Digital/Analógico) -Comparadores analógicos -Moduladores de anchura de impulsos. -Puertos de comunicación.- Tanto serie como paralelo. -Control de interrupcionesDebido a que los microcontroladores sólo incluyen las características específicas para unatarea, su coste es relativamente bajo. Un microcontrolador típico realiza funciones demanipulación de instrucciones, posee E/S de accesos fáciles y directos, y un proceso deinterrupciones rápido y eficiente. Además también reducen de manera notable los costes dediseño. Hay gran variedad de microcontroladores. Dependiendo de la potencia ycaracterísticas que se necesiten, se pueden elegir microcontroladores de 4, 8, 16 ó 32 bits.Además existen versiones especializadas que incluyen módulos especiales paracomunicaciones, teclados, procesamiento de señales, procesamiento de video, y otras tareas.Santiago Salamanca Miño 2 Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  9. 9. Microcontroladores PIC de la Gama Media. 1. Introducción a los Microcontroladores1.2 AplicacionesEl mercado de los microcontroladores está creciendo cada año y parece no tener barreras. Losmicrocontroladores a menudo se encuentran en aplicaciones domésticas ( microondas,refrigeradores, televisión, equipos de música), ordenadores con sus componentes (impresoras,módems, lectores de discos), coches (ingeniería de control, diagnostico, control declimatización), control medioambiental (invernaderos, fabricas, casas), instrumentación,aeronáutica, y miles de usos más. En muchos podemos encontrar más de un microcontrolador.Los microcontroladores son muy usados en robótica, donde la comunicación entrecontroladores es una gran ventaja. Esto hace posible muchas tareas específicas al distribuir ungran número de microcontroladores por todo el sistema. La comunicación entre cadamicrocontrolador y uno central permitiría procesar la información por un ordenador central, otransmitirlo a otros microcontroladores del sistema.Otro ejemplo de aplicación de los microcontroladores, es la de utilizarlos para monitorizar ygravar parámetros medioambientales (temperatura, humedad, precipitaciones, etc.). Pequeñotamaño, bajo consumo de potencia, y flexibilidad hacen de este dispositivo ideal para este tipode aplicaciones.1.3 Los microcontroladores PIC (Microchip)Los microcontroladores PIC fueron los primeros microcontroladores RISC, es decir,microcontroladores con un juego de instrucciones reducido. El hecho de ser procesadores detipo RISC generalmente implica simplicidad en los diseños, permitiendo más características abajo coste.Los principales beneficios de esta simplicidad en el diseño son que los microcontroladores seimplementan en chip muy pequeños, con pocos pines, y tienen un consumo de potencia muybajo.Santiago Salamanca Miño 3 Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  10. 10. Microcontroladores PIC de la Gama Media. 1. Introducción a los MicrocontroladoresLos microcontroladores PIC ganaron popularidad rápidamente. Aparecían con frecuencia enrevistas de ocio, y su uso era cada vez mayor en gran número de diseños. Debido a su bajocosto, pequeño tamaño, y bajo consumo, estos microcontroladores pueden ahora ser usados enáreas en las que previamente no habrían sido apropiados (tal como circuitos lógicos).Las principales características de los PIC son: -Arquitectura Harvard.- Consiste en la existencia de dos memorias independientes, una de datos y otra de instrucciones, con sus respectivos buses. Esto permite el acceso simultaneo al programa y los datos, y solapar algunas operaciones para mejorar el proceso. -Segmentación de instrucciones.- Consiste en dividir la ejecución de las instrucciones en varias fases, en el caso concreto de los PIC dos fases, de manera que se realizan simultáneamente distintas fases de distintas instrucciones. Así cada instrucción se ejecuta en un ciclo de instrucción (4 ciclos de reloj), excepto las de salto que ocupan tantos ciclos de instrucción como necesite para calcular la dirección de salto. -Formato de instrucciones de longitud constante.- Permite optimizar la memoria de instrucciones y el diseño de ensambladores y compiladores. -RISC (computador de reducido juego de instrucciones) -Instrucciones ortogonales.- Todas las instrucciones pueden manejar cualquier elemento de la arquitectura como fuente o destino. -Arquitectura basada en un banco de registros.- Todos los objetos del sistema se encuentran implementados físicamente como registros. -Gran variedad de microcontroladores y muchas herramientas de soporte.Santiago Salamanca Miño 4 Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  11. 11. Microcontroladores PIC de la Gama Media. 1. Introducción a los Microcontroladores1.4 Las gamas de los PICLa forma de designación de los PIC en general obedece a la siguiente estructura: PIC nn LLL xxxSiendo :nn – un número propio de la gama del PIC. LLL – código de letras donde la primera indica la tensión de alimentación y las otras dos el tipo de memoria que utiliza. En la tabla 1.1 se puede ver las distintas opciones que se pueden dar. TABLA 1.1 Nomenclatura de los PIC. LETRAS ALIMENTACIÓN MEMORIA C Standard (4.5-6.0 V) EPROM CR Standard (4.5-6.0 V) ROM F Standard (4.5-6.0 V) FLASH LC Extendida (2.5-6.0 V) EPROM LCR Extendida (2.5-6.0 V) ROM LF Extendida (2.0-6.0 V) FLASH xxx – número que indica el modelo.Los PIC se clasifican en distintas gamas atendiendo a los recursos disponibles en cada uno deellos. Las gamas son: a) Gama Enana (PIC12Cxxx): La principal característica es que son muy pequeños, con encapsulados de 8 pines, y un juego de 33 instrucciones de 12 bits. b) Gama Baja (PIC16C5xx): Los encapsulados son de 18, 20 ó 28 pines. Al igual que en los anteriores el número de instrucciones es de 33 con un ancho de 12 bits. La memoria de programa es de 512 palabras, 1K ó 2K, y la de datos está comprendida entre 25 y 73 bytes. No permite interrupciones.Santiago Salamanca Miño 5 Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  12. 12. Microcontroladores PIC de la Gama Media. 1. Introducción a los Microcontroladores c) Gama Media (PIC16Cxxx): Es la gama más variada y completa de los PIC, con encapsulados desde 18 a 68 pines. Tiene un conjunto de 35 instrucciones de 14 bits de ancho. Permite además características importantes que no soportaban los anteriores como son: - Interrupciones - Pila de 8 niveles que permite anidamiento de subrutinas. Esta familia a su vez se puede dividir en subfamilias en función de los recursos de que se dispongan. d) Gama Alta (PIC17Cxxx): Tienen unas características muy diferentes a las anteriores, ya que son microcontroladores de arquitectura abierta, es decir, que sacan sus buses al exterior. El número de instrucciones es de 58 con una anchura de 16 bits. Tienen instrucciones vectorizadas. e) Gama Mejorada (PIC18Cxxx): Es la última gama que ha salido. Tiene memoria de programa de hasta 1M palabras. La mayoría de las instrucciones son de 16 bits, aunque las hay también de 32 bits. El número total de instrucciones es de 76. Esta gama está diseñada para aplicaciones de control. Todos ellos tienen convertidores A/D y, por ejemplo, están en fase de desarrollo algunos modelos que tienen interface para el bus CAN.1.5 Los PIC de la gama media.A lo largo de este proyecto sólo se hablará de los PIC de la Gama Media, siendo esta la másvariada y completa. En la tabla 1.2 se muestran las características que definen a cada modelode los PIC de la Gama Media. Aparecen sólo los más significantes, ya que la variedad es muyamplia.Santiago Salamanca Miño 6 Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  13. 13. Microcontroladores PIC de la Gama Media. 1. Introducción a los Microcontroladores TABLA 1.2 Principales características de los PIC de la Gama Media. Reloj Memoria Periféricos Características Memoria de programa Cápsulas Detector de fallo en VDD “Brown-out” Máxima frecuencia de trabajo Tensión interna de referencia Módulos de temporización EEPROM de datos (bytes) Convertidor A/D de 8 bits Rango de voltaje (voltios) Memoria de datos (bytes) Fuentes de interrupción Puerto Paralelo Comparadores Patillas de E/S Módulos CCP Puertos serie Pines PLCC Pines QFP Pines DIP EEROM EPROM 3,0-PIC16C61 20 1K --- 36 --- TMR0 -- --- -- -- -- -- 3 13 --- 18 18 -- 6,0 TMR0,TMR1 2,5-PIC16C62 20 2K --- 128 --- 2 SPI/I2C/SCI -- -- -- -- 10 22 --- 28 28 -- ,TMR2 6,0 TMR0,TMR1 3,0-PIC16C63 20 4K --- 192 --- 2 SPI/I2C/SCI --- -- -- -- 10 22 --- 28 28 -- ,TMR2 6,0 TMR0,TMR1 3,0-PIC16C64 20 2K --- 128 --- 1 SPI/I2C Si -- -- -- 8 33 --- 40 44 44 ,TMR2 6,0 TMR0,TMR1 3,0-PIC16C65 20 4K --- 192 --- 2 SPI/I2C/SCI Si -- -- -- 11 33 --- 40 44 44 ,TMR2 6,0 3,0-PIC16C620 20 512 --- 80 --- TMR0 -- ---- -- -- 2 Si 4 13 Si 18 18 20 6,0 3,0-PIC16C621 20 1K --- 80 --- TMR0 -- ---- -- -- 2 Si 4 13 Si 18 18 20 6,0 3,0-PIC16C622 20 2K --- 128 --- TMR0 -- ---- -- -- 2 Si 4 13 Si 18 18 20 6,0 3,0-PIC16C71 20 1K --- 36 --- TMR0 -- ---- -- 4ch -- -- 4 13 --- 18 18 -- 6,0 TMR0,TMR1 3,0-PIC16C73 20 4K --- 192 --- 2 SPI/I2C/SCI -- 5ch -- -- 11 22 --- 28 28 -- ,TMR2 6,0 TMR0,TMR1 3,0-PIC16C74 20 4K --- 192 --- 2 SPI/I2C/SCI Si 8ch -- -- 12 33 --- 40 44 44 ,TMR2 6,0 TMR0,TMR1 2,5-PIC16C76 20 8K --- 368 --- 2 SPI/I2C/SCI -- 5ch -- -- 11 22 Si 28 28 -- ,TMR2 6,0 3,0-PIC16C84 20 -- 1K 36 64 TMR0 -- ---- -- -- -- -- 4 13 --- 18 18 -- 6,0 A continuación en la figura 1.1 se muestran algunos de los encapsulados utilizados en los PIC de la Gama Media. Como ya se ha dicho anteriormente, éstos van desde los 18 a 68 pines. Santiago Salamanca Miño 7 Escuela de Ingenierías Industriales David Arroyo Muñoz Universidad de Extremadura
  14. 14. Microcontroladores PIC de la Gama Media. 1. Introducción a los Microcontroladores Figura 1.1 Principales diagramas de patillas.La descripción de las funciones de las distintas patillas del microcontrolador son: RA0/AN0-RA2/AN2: Líneas de E/S digitales del Puerto A, o entradas analógicas. RA3/AN3/VREF: E/S digital, analógica o entrada externa de VREF. RA4/T0CKI: E/S digital o entrada de reloj externo para TMR0. RA5/AN4/ SS : E/S digital, analógica o selección del puerto síncrono. RB0/INT-RB7: E/S digitales del Puerto B. RB0/INT puede actuar como entrada de interrupción externa. RB4-Rb7 pueden provocar una interrupción cuando cambian de estado. RC0/T1OSO/T1CKI: E/S digital del Puerto C. Conexión del oscilador externo para el temporizador TMR1 o entrada de reloj para el TMR1.Santiago Salamanca Miño 8 Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  15. 15. Microcontroladores PIC de la Gama Media. 1. Introducción a los Microcontroladores RC1/T1OSI/CCP2: E/S digital. Conexión del oscilador externo para el TMR1 o salida del módulo 2 de captura/comparación. RC2/CCP1: E/S digital. Salida del módulo 1 de captura/comparación. RC3/SCK/SCL: E/S digital. E/S de reloj para el Puerto Serie Síncrono (SSP) en los módulos SPI o I2C. RC4/SDI/SDA: E/S digital. Entrada de datos serie en el modo SPI. E/S de datos serie en el modo I2C. RC5/SDO: E/S digital. Salida de datos serie en el modo SPI. RC6/TX/CK: E/S digital. Transmisión serie asíncrona. Entrada de reloj para comunicación serie síncrona. RC7/RX/DT: E/S digital. Recepción serie asíncrona. Línea de datos en la comunicación serie síncrona. RD0/PSP0-RD7/PSP7: E/S digitales del Puerto D. Este puerto puede trabajar como puerto paralelo esclavo para interconexión con un bus de datos de 8 bits de otro microprocesador. RE0/ RD /AN5: E/S digital del Puerto E. Señal de lectura del puerto paralelo esclavo. Entrada analógica. RE1/ WR /AN6: E/S digital. Señal de escritura del puerto paralelo esclavo. Entrada analógica. RE2/ CS /AN7: E/S digital. Señal de activación del puerto paralelo esclavo. Entrada analógica.Santiago Salamanca Miño 9 Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  16. 16. Microcontroladores PIC de la Gama Media. 2. La Arquitectura de los PIC de la Gama MediaCapítulo 2. La Arquitectura de los PIC de la Gama Media.2.1 IntroducciónDesde el punto de vista de la arquitectura, la característica más importante de los PIC es queutilizan la Harvard, frente a la Von Neumann que es la habitual.La arquitectura Harvard tiene la memoria de programa y la memoria de datos separadas y seaccede a ellas mediante buses distintos. Esto mejora el ancho de banda sobre la tradicionalarquitectura secuencial, en la cual los programas y datos son buscados en la misma memoria,utilizando el mismo bus. En la arquitectura Harvard mientras se accede a la memoria deprograma, sobre la memoria de datos se puede estar leyendo o escribiendo, lo que permiteejecutar una instrucción a la vez que se busca la siguiente.En la figura 2.1 se muestra el esquema de la arquitectura general de los PIC de la GamaMedia.Además de las características antes mencionadas, otras características que poseen los PIC dela Gama Media son: a) Memoria no volátil de programa de hasta 8K x 14 de tamaño, direccionada por el contador de programa (PC) de 13 bits. b) Memoria RAM de datos de hasta 368 x 8 de tamaño, direccionada por el código de operación o por el registro FSR y parte del registro STATUS. c) Unidad aritmético-lógica de 8 bits con un registro acumulador de trabajo asociado también de 8 bits. Realiza operaciones aritméticas y lógicas utilizando siempre como operando el registro acumulador y otro dato perteneciente a cualquier registro. Realiza operaciones de suma, resta y desplazamiento. Opera en complemento a 2 (C’2). Dependiendo del resultado, afecta a algunos bits del registro de estado.Santiago Salamanca Miño 11 Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  17. 17. Microcontroladores PIC de la Gama Media. 2. La Arquitectura de los PIC de la Gama Media Figura 2.1 Diagrama de bloques general de los PIC de la gama media.Nota 1: Los bits de mayor orden en el direccionamiento directo de la RAM se obtienen del Registro de Estado. 2: No todos los dispositivos tienen estas características, habrá que consultar las hojas de características. 3: Muchos de los pines de las puertas E/S de propósito general están multiplexadas con una o más funciones de los módulos periféricos. La combinación de las funciones multiplexadas dependen del dispositivo.Santiago Salamanca Miño 12 Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  18. 18. Microcontroladores PIC de la Gama Media. 2. La Arquitectura de los PIC de la Gama Media d) Oscilador encargado de las generaciones de tiempo del sistema. e) Circuitos controladores del RESET. f) Puertos E/S. Existen hasta 7 puertos de E/S, aunque no existe ningún dispositivo que los implemente todos. Además se multiplexan con distintos elementos del sistema. g) Módulos periféricos. Son la característica que diferencia a los distintos microcontroladores. Éstos facilitan la comunicación con el mundo exterior, tal como las E/S de propósito general, y tareas internas tal como puede ser la generación de las distintas bases de tiempo. Los periféricos sobre los que se está hablando son; E/S de propósito general, hasta tres temporizadores, módulo de captura, comparación, y PWM (CCP), puerto serie síncrono (SSP), USART (SCI), módulo para generación de voltajes de referencia, módulos comparadores analógicos, conversores analógico digital (A/D), módulo para control de Display de cristal líquido (LCD) y puerto paralelo esclavo (PSP). h) Registros generales del sistema.2.2 Organización de la memoria.La memoria de los PIC está dividida en dos bloques; la memoria de programa y la memoriade datos. Cada uno de los bloques tiene su propio bus, pudiendo tener acceso a ambos bloquesde memoria en el mismo ciclo de reloj.2.2.1 Organización de la memoria de programa.En los PIC de la gama media el contador de programa es de 13 bits, con lo que se puededireccionar una capacidad de memoria de 8K x 14 bits. El ancho de la memoria de programava a ser la longitud de una instrucción que es de 14 bits, por lo se podrán almacenar hasta 8Kinstrucciones. De esta forma es fácil determinar si el dispositivo tiene suficiente memoria deprograma para una aplicación deseada.Santiago Salamanca Miño 13 Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  19. 19. Microcontroladores PIC de la Gama Media. 2. La Arquitectura de los PIC de la Gama MediaEsta memoria de programa a su vez está dividida en cuatro páginas de 2K palabras cada una(0h – 7FFh, 800h – FFFh, 1000h – 17FFh, y 1800h – 1FFFh). En la figura 2.2 se muestra elmapa de memoria con la pila de 8 niveles. No todos los dispositivos tienen implementadosestos cuatro bancos. Figura 2.2 Organización de la memoria de programa y la pila.Para realizar los saltos entre las páginas de la memoria de programa se utilizan los dos bitsmás altos del contador de programa (PC <11:12>), los cuales son implementados físicamenteen la memoria de datos en el registro PCLATCH <4:3>. Si el programa se ejecutasecuencialmente no es necesario modificarlo.Dentro de la memoria de programa existen dos direcciones reservadas: 1. Vector de Reset .- En un dispositivo, un reset pone el contador de programa (PC) a cero. A esta dirección se la denomina “Dirección del Vector de Reset”, dondeSantiago Salamanca Miño 14 Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  20. 20. Microcontroladores PIC de la Gama Media. 2. La Arquitectura de los PIC de la Gama Media está la dirección de inicio para la ejecución del programa. Cualquier reset borrará también el contenido del registro PCLATH, de modo que cuando se produzca un reset la dirección inicial a de estar localizada en la página 0 de la memoria de programa. 2. Vector de Interrupción .- Cuando una interrupción es reconocida el PC es forzado a la dirección 0004h. A esto es a lo que se le llama “Dirección del Vector de Interrupción”. Cuando el PC es forzado con la dirección del vector de interrupción, el PCLATH no es modificado. Por eso mismo en la dirección del vector de interrupción, el registro PCLATH debería ser escrito con el valor que especificará la localización deseada en la memoria de programa. Antes de realizar esta operación, el PCLATH debería ser salvado para volverlo a restaurar al terminar el tratamiento de la rutina de interrupción.El contador de programa (PC) es un registro que especifica la dirección de la instrucción queha de ser ejecutada. El PC tiene un ancho de 13 bits, correspondiendo el byte más bajo con elregistro de lectura-escritura PCL, implementado en la memoria de datos, y el byte más altocon el registro PCH. Este último contiene sólo los bits <12:8> del PC y no se puede leer niescribir directamente, sino que son cargados a través del PCLATH.Existen varias instrucciones que modifican el flujo normal del sistema, y por tanto afectan alPC. Estas instrucciones son: 1. Instrucciones de salto relativo: Son aquellas instrucciones que usan como operando destino al PC. En estas instrucciones se cargan los 8 bits menos significativos desde la UAL. El resto de los bits que coinciden con los del PCLATH, habría que modificarlos manualmente. 2. Instrucción GOTO de salto incondicional: Carga desde el código de operación los 11 bits menos significativos. Los dos que quedan se cargan desde el PCLATH <4:3>. Si se hace un GOTO a una dirección que está en una página distinta, primero hay que modificar estos bits del PCLATH.Santiago Salamanca Miño 15 Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  21. 21. Microcontroladores PIC de la Gama Media. 2. La Arquitectura de los PIC de la Gama Media 3. Instrucción CALL de salto a subrutina: Es igual que la anterior con la diferencia de que antes de modificar el PC, el valor que tuviese se lleva a la pila. 4. Instrucciones RETURN, RETLW y RETFIE de retornos de subrutinas y rutinas de tratamiento de interrupción: Cargan directamente en el PC el valor que se halla guardado anteriormente en la pila. No es necesario modificar el PCLATH.Los PIC de la Gama Media poseen una pila de 8 niveles con un ancho de 13 bits, la cual nospermite guardar las direcciones de retorno a un programa, cuando en éste se produce un saltoa una subrutina. Esto nos da capacidad para anidar hasta 8 subrutinas producidas porprograma o mediante interrupciones. Si en la pila ya se han almacenado 8 valores, el nuevovalor se cargará sobre el primer nivel de la pila, de modo que puede dar problemas en elfuncionamiento de un programa.2.2.2 Organización de la memoria de datos.La memoria de datos (figura 2.3) está dividida en dos partes: a) Memoria de registros especiales (FSR Memory): Está formada por aquellos registros que son usados por la CPU y los periféricos para controlar una operación. b) Memoria de propósito general: Está formada por la memoria que puede usar el programador.En ambos casos, está dividida hasta en 4 bancos de memoria de hasta 128 bytes, aunquemuchos de los modelos no traen implementados estos dos últimos bancos. En algunosmodelos de PIC la memoria de propósito general, está sólo implementado físicamente en elbanco0, estando el resto de los bancos mapeados en éste.Santiago Salamanca Miño 16 Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  22. 22. Microcontroladores PIC de la Gama Media. 2. La Arquitectura de los PIC de la Gama Media Figura 2.3 Organización de la memoria de datos.Nota 1: Los registros en negrita están presentes en todos los dispositivos. 2: Puede que no todas las posiciones estén implementadas. Las localizaciones no implementadas se leen como ‘0’.Santiago Salamanca Miño 17 Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  23. 23. Microcontroladores PIC de la Gama Media. 2. La Arquitectura de los PIC de la Gama MediaEl modo de acceso a cada uno de los bancos dependerá del tipo de direccionamiento que seuse.Estos tipos de direccionamiento son: 1. Direccionamiento directo: La dirección final se obtiene con: a. Los bits RP1-RP0 del registro de estado (STATUS), los cuales seleccionan el banco de memoria. b. Los 7 bits del código de operación, los cuales indican la posición del dato dentro del banco. 2. Direccionamiento indirecto: Con este tipo de direccionamiento lo que se da es la dirección donde se encuentra la dirección del dato. Para ello se usa el registro INDF. Al usar este registro (que no está implementado físicamente), lo que se hace es acceder al registro de datos FSR de 8 bits. Los 7 bits con menos peso del FSR seleccionan la posición dentro del banco, y el bit de mayor peso junto con el bit IRP del registro de estado, seleccionan el banco. Un programa que borra una zona de memoria puede ser un ejemplo de aplicación de direccionamiento indirecto. El programa sería como el siguiente: BCF STATUS,IRP ; Selección del banco 0 de memoria. MOVLW 0X20 ; Mueve el valor 20h al registro W MOVWF FSR ; Carga valor de W en FSR SIGUIENTE CLRF INDF ; Borra la posición de memoria que marca FSR INCF FSR,1 ; Incrementa valor del FSR BTFSS FSR,4 ; Test del bit 4 del FSR, si es 1, no ejecuta la ; siguiente instrucción y salta. GOTO SIGUIENTE ; Vuelve a SIGUIENTE. … … Este programa ejemplo borraría la memoria de datos desde la posición h’20’ hasta h’2F’.Santiago Salamanca Miño 18 Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  24. 24. Microcontroladores PIC de la Gama Media. 2. La Arquitectura de los PIC de la Gama Media2.2.3 Registros y recursos comunes.2.2.3.1 Registro de Estado.Es un registro formado por 8 bits, que contiene el estado de la UAL, del RESET y seleccionael banco de la memoria de datos sobre la que queremos trabajar.. Por esta última causa, elregistro de estado se encuentra en todos los bancos, y en la misma posición. R/W-0 R/W-0 R/W-0 R-1 R-1 R/W-x R/W-x R/W-x IRP RP1 RP0 TO PD Z DC C bit7 bit0 A continuación se muestra la función de cada bit del registro de estado. bit 7 IRP: Selección de bancos para el direccionamiento indirecto. 1 = Banco 2,3 (100h – 1FFh) 0 = Banco 0,1 (00h – FFh) bit 6:5 RP1:RP0: Selección del banco de la memoria de datos para el direccionamiento directo. 11 = Banco 3 (180h – 1FFh) 10 = Banco 2 (100h – 17Fh) 01 = Banco 1 (80h – FFh) 00 = Banco 0 (00h – 7Fh) bit 4 TO : Timer Out. 1 = Tras conectar Vdd o ejecutar “CLRWDT” o “SLEEP”. 0 = Al rebasar el WDT bit 3 PD : Power Down 1 = Tras conectar Vdd o ejecutar “CLRWDT”. 0 = Al ejecutar la instrucción “SLEEP". bit 2 Z: Bit de cero. 1 = El resultado de una operación es 0. 0 = El resultado es distinto de 0. bit 1 DC: Acarreo en el 4º bit de menos peso. 1 = Acarreo en la suma y no en la resta. 0 = Acarreo en la suma y no en la resta. bit 0 C: Acarreo en el 8º bit. 1 = Acarreo en la suma y no en la resta. 0 = Acarreo en la suma y no en la resta.Estos dos últimos bits, en la suma representan lo que se conoce comúnmente con acarreo, sinembargo en la resta realizan la función de bit de signo (bit de Borrow ), indicando que elresultado es negativo si Borrow es 0, y mayor o igual a 0 si es 1.Santiago Salamanca Miño 19 Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  25. 25. Microcontroladores PIC de la Gama Media. 2. La Arquitectura de los PIC de la Gama Media2.2.3.2 Registro de Opciones.El registro de opciones es un registro de lectura-escritura, que contiene los bits deconfiguración del divisor de frecuencia del TMR0/WDT, de las interrupciones externas, delTMR0, y la configuración de las Puerta B con cargas Pull-Up. R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0 bit7 bit0 bit 7 RBPU : Conexión de cargas Pull-Up para la Puerta B. 1 = Todas las cargas Pull-Up desconectadas. 0 = Todas las cargas Pull-Up conectadas. bit 6 INTEDG: Tipo de flanco para la interrupción. 1 = RB0/INT sensible a flanco ascendente. 0 = RB0/INT sensible a flanco descendente. bit 5 T0CS: Fuente de reloj para el TMR0. 1 = Pulsos introducidos por T0CKI (contador). 0 = Pulsos de reloj interno Fosc/4 (temporizador). bit 4 T0SE: Tipo de flanco activo del T0CKI. 1 = Incremento del TMR0 cada flanco descendente. 0 = Incremento del TMR0 cada flanco ascendente. bit 3 PSA: Asignación del divisor de frecuencia. 1 = Se le asigna al WDT. 0 = Se le asigna al TMR0. bit 2-0 PS2:PS0: Valor del divisor de frecuencia. Valor División del TMR0 División del WDT 000 1:2 1:1 001 1:4 1:2 010 1:8 1:4 011 1:16 1:8 100 1:32 1:16 101 1:64 1:32 110 1:128 1:64 111 1:256 1:128 Para conseguir asignar 1:1 al divisor de frecuencia en el TMR0, se le asigna el divisor al WDT.Santiago Salamanca Miño 20 Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  26. 26. Microcontroladores PIC de la Gama Media. 2. La Arquitectura de los PIC de la Gama Media2.2.3.3 Palabra de configuración.La Palabra de Configuración está formada por 14 bits. Se utiliza para la selección de distintosaspectos de la configuración del dispositivo según las necesidades de la aplicación. Sulocalización en la memoria de programa es la 2007h. Esta posición no es accesible durante elmodo de funcionamiento normal, por lo que estos registros deberán ser configurados en lafase de programación.CP1 CP0 CP1 CP0 CP1 CP0 - BODEN CP1 CP0 PWRTE WDTE FOSC1 FOSC0bit13 bit0 bit 13-8 CP<1:0>: Bits de protección de código. 5-4: 512 1k 2k 11 Off Off Off 10 Off Off ½ alta On 01 Off ½ alta On ¾ alta On 00 On On On bit 7 No implementado: Su lectura es 1. bit 6 BODEN: Detección del “Brown-Out” (Fallo de alimentación) 1 = detección activada. 0 = Detección desactivada. bit 3 PWRTE : Activación del temporizador “Power-Up” 1 = Desactivado. 0 = Activado. bit 2 WDTE: Activación del “Watchdog” (perro guardián) 1 = Activado 0 = Desactivado. bit 1-0 FOSC1-FOSC0: Selección del tipo de oscilador. 11 = Oscilador RC. 10 = Oscilador HS 01 = Oscilador XT 00 = Oscilador LPSantiago Salamanca Miño 21 Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  27. 27. Microcontroladores PIC de la Gama Media. 2. La Arquitectura de los PIC de la Gama Media2.3 Oscilador.El circuito de oscilación se utiliza para generar las señales de reloj en el sistema necesariaspara la ejecución de instrucciones y para el funcionamiento de los periféricos.Existen hasta ocho tipos de osciladores. Los distintos tipos permiten mayor flexibilidad deldispositivo según las necesidades, así los hay de muy bajo coste, como las redes RC, y otrosde bajo consumo como son los cristales de cuarzo del modo LP.La configuración de un oscilador u otro se realiza mediante los bits FOSC2, FOSC1 YFOSC0 de la palabra de configuración. No todos los modelos poseen la posibilidad deconfigurar cualquier tipo de oscilador, en estos casos sólo tienen los bit FOSC1 Y FOSC0 enla palabra de configuración. Los valores de estos bits para la configuración de los distintososciladores son los que se pueden ver en las tablas 2.1 y 2.2.TABLA 2.1 Selección del modo de oscilación con FOSC1:FOSC0. Bits de Modo Ganancia de los configuración Comentarios OSC inversores internos FOSC1:FOSC0 Solución más barata (sólo requiere una resistencia y un condensador). Máxima variación del tiempo 11 RC − base. Modo del dispositivo por defecto Cristal de cuarzo para aplicaciones de alta 10 HS Ganancia alta frecuencia. Es el modo que más potencia consume de los tres cristales. Cristal de cuarzo para un rango de frecuencias 01 XT Ganancia media estándar. Cristal de cuarzo para aplicaciones de baja 00 LP Ganancia baja frecuencia. Es el modo que menos potencia consume de los tres cristales.Santiago Salamanca Miño 22 Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  28. 28. Microcontroladores PIC de la Gama Media. 2. La Arquitectura de los PIC de la Gama MediaTABLA 2.2 Selección del modo de oscilación con FOSC2:FOSC0. Ganancia de Bits de Modo los configuración Comentarios OSC inversores FOSC2:FOSC0 internos Red RC externa sacando la señal de oscilación por la EXTRC con 111 − patilla CLKOUT. Solución barata. Máxima variación CLKOUT en el tiempo base. Modo del dispositivo por defecto Red RC externa. Barata solución. Máxima variación 110 EXTRC − en el tiempo base. La señal de oscilación no sale al exterior. Red RC interna sacando la señal de oscilación por la INTRC con 101 − patilla CLKOUT. Es la solución más barata. CLKOUT Oscilador de 4MHz. Red RC interna. La señal de oscilación no sale al 100 INTRC − exterior. Solución más barata. Oscilador de 4MHz. 011 − − Reservado Cristal de cuarzo para aplicaciones de alta frecuencia. 10 HS Ganancia alta Es el modo que más potencia consume de los tres cristales. Ganancia Cristal de cuarzo para un rango de frecuencias 01 XT media estándar. Cristal de cuarzo para aplicaciones de baja frecuencia. Ganancia 00 LP Es el modo que menos potencia consume de los tres baja cristales.La diferencia entre los tres últimos viene dada por la ganancia de los inversores internos, queson los que modifican la frecuencia. En general siempre se opta por la opción con menorganancia posible que cumpla las especificaciones. Esto implicará menores corrientes y conello menor consumo de potencia.En la figura 2.4 se ve el modo de conexión para resonadores de cristal o de cuarzo. En estecaso se conectan a las patillas OSC1 y OSC2, usando esta última como realimentación.Santiago Salamanca Miño 23 Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  29. 29. Microcontroladores PIC de la Gama Media. 2. La Arquitectura de los PIC de la Gama Media Figura 2.4 Operación de osciladores en los modos HS, XT o LP. Nota 1: La resistencia en serie, RS, es necesaria para cristales de alta tecnología. 2: La resistencia de realimentación, RF, varía entre 2 y 10 MΩ. 3: Dependiendo del dispositivo, el buffer de la lógica interna puede estar tanto antes como después del inversor.Para una red RC el modo de conexión utilizará únicamente la patilla OSC1. La frecuencia deoscilación dependerá de VDD, REXT y de CEXT (figura 2.5). El fabricante recomienda que REXTtenga un valor de entre 3KΩ y 100KΩ y que CEXT sea mayor de 20pF. Además la frecuenciadel oscilador/4 se obtiene a través de la patilla OSC2, en caso de que esté configurada en losmodos EXTRC o INTRC con CLKOUT, se puede usar para sincronización de otras lógicas. Figura 2.5 Operación en modo RC. Nota 1: Esta patilla también puede ser configurada como una E/S de propósito general.Santiago Salamanca Miño 24 Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  30. 30. Microcontroladores PIC de la Gama Media. 2. La Arquitectura de los PIC de la Gama MediaComo un dispositivo incrementa su voltaje de alimentación desde 0 hasta VDD, el osciladortardará un tiempo en funcionar correctamente. Este tiempo de comienzo o Start-Up dependede muchos factores: a) Para los osciladores RC depende del valor de la resistencia y condensador usado, tiempo de subida de VDD, y temperatura del sistema. b) Para los osciladores de cristales los factores que intervienen son la frecuencia del cristal, los valores de la resistencia en serie, RS y de los condensadores C1 y C2, el tiempo de subida de VDD, la temperatura del sistema, la selección del modo de oscilador, la composición del circuito oscilador, y el ruido del sistema.En la figura 2.6 se muestra un ejemplo de Start–Up. Se puede ver que la señal de oscilaciónestá centrada en VDD/2, siendo el valor pico a pico durante el arranque del oscilador bastantebajo (menos del 50% de VDD). Figura 2.6 Característica Start-Up de un oscilador.Siempre que se quiera grabar un PIC es necesario consultar las hojas de características para laconfiguración del oscilador.Santiago Salamanca Miño 25 Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  31. 31. Microcontroladores PIC de la Gama Media. 2. La Arquitectura de los PIC de la Gama Media2.4 ResetLa función del reset es la de dejar al sistema en un estado conocido. Existen varias fuentes deRESET: a) Power On Reset (POR). b) Activación de MCLR durante funcionamiento normal. c) Activación de MCLR en el modo de reposo d) Desbordamiento del WDT durante funcionamiento normal. e) Reset de Brown-Out (BOR). f) Reset por error de paridad (PER).La figura 2.7 se muestra un bloque simplificado de la lógica que gobierna el reset del sistema,para un caso general.En esta figura se puede ver una zona denominada OST/PWRT, que consiste en: a) Power-up Timer (PWRT): Es un temporizador que proporciona un retardo de 72ms a partir de un reset de tipo POR o BOR, de tal forma que el PIC se mantiene reseteado durante este tiempo, así al finalizar la temporización la tensión de alimentación tendrá un valor aceptable. Este temporizador se habilita mediante el bit PWRT de la palabra de configuración. Para generar este retardo existe un circuito interno RC dedicado. b) Oscillator Start-Up Timer (OST): Este oscilador proporciona un retardo de 1024 veces el periodo de oscilación (desde OSC1) después del retardo PWRT. De esta forma se asegura que el oscilador cristal o cerámico es estable cuando el PIC empieza a funcionar. Este retardo sólo funciona cuando el PIC se ha configurado para usar un oscilador XT, HS o LP y el reset es tipo POR, BOR o de wake-up desde el modo de reposo (sleep).Santiago Salamanca Miño 26 Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  32. 32. Microcontroladores PIC de la Gama Media. 2. La Arquitectura de los PIC de la Gama Media Figura 2.7 Lógica que gobierna el Reset de un sistema. Nota 1: Este es un oscilador distinto al oscilador del pin CLKIN o al oscilador interno INTRC. 2: Las características que están encerrados en cuadros no están disponibles en todos los modelos, ver hoja de características del dispositivo. 3: En algunos modelos, este pin puede estar configurado como entrada de propósito general. 4: En los primeros microcontroladores PIC tenían la configuración de modo que para PWRTE =1 estuviera habilitado, mientras que el resto de los modelos, la configuración estaba definida para PWRTE =0.A continuación (tabla 2.3) se muestran los distintos retardos para las posibles situaciones enlas que se puede ver el sistema.TABLA 2.3 Retardos típicos según las situaciones.CONFIGURACIÓN TIEMPO DE POWER-UP BROWN-OUT WAKE-UPDEL OSCILADOR RESET DESDE SLEEP Habilitado Deshabilitado XT, HS, LP 72 ms + 1024TOSC 1024TOSC 72 ms + 1024TOSC 1024TOSC RC 72 ms ⎯ (1) 72 ms ⎯(1) Nota 1: Dispositivos con oscilador Interno/Externo RC tienen un retardo de 250µs.Santiago Salamanca Miño 27 Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  33. 33. Microcontroladores PIC de la Gama Media. 2. La Arquitectura de los PIC de la Gama MediaEl Power-on Reset consiste en la activación del reset cuando se detecta la conexión de laalimentación al dispositivo. Dos topologías para el circuito de POR se pueden ver en la figura2.8, siendo la primera para el caso general y la segunda para el caso en que VDD crezca deforma lenta. Nota 1: La resistencia es opcional. Figura 2.8 Topologías para el circuito de POR.En el segundo caso el diodo ayuda a la descarga del condensador cuando VDD disminuye suvalor.Las siguientes figuras (2.9 – 2.12) muestran el comportamiento temporal de las señales segúnel caso. Figura 2.9 Secuencia de Time-out en subida de alimentación. MCLR conectado a VDD.Santiago Salamanca Miño 28 Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  34. 34. Microcontroladores PIC de la Gama Media. 2. La Arquitectura de los PIC de la Gama Media Figura 2.10 Secuencia de Time-out en subida de alimentación. MCLR no conectado a VDD. (Caso1). Figura 2.11 Secuencia de Time-out en subida de alimentación. MCLR no conectado a VDD. (Caso2). Figura 2.12 Secuencia de Time-out en subida de alimentación. MCLR conectado a VDD (tiempo de subida lento).Santiago Salamanca Miño 29 Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  35. 35. Microcontroladores PIC de la Gama Media. 2. La Arquitectura de los PIC de la Gama MediaEl Brown-out Reset consiste en producir un reset en el sistema cuando la tensión dealimentación VDD cae por debajo de un determinado valor, específico para cada PIC. Los quetengan implementados el BOR, tienen un parámetro (35), que es el tiempo mínimo que debeestar VDD por debajo de la tensión de reset, para que éste se produzca. Esto asegura que elelemento no continua la ejecución del programa fuera de los rangos válidos de operación.Este tipo de reset se puede habilitar con el bit BODEN de la Palabra de Configuración. Unavez que el nivel de la alimentación se restablezca, hay un retardo de 72ms en desactivarse elreset interno.Algunas de las situaciones de Brown-Out Reset se muestran en la figura 2.13. Figura 2.13 Situaciones de Brown-out Reset.Posibles circuitos usados para un BOR, cuando el circuito no tiene internamente el detectorimplementado, o cuando la tensión que venga configurada no nos interesa, se muestran en lasfiguras 2.14 y 2.15.Santiago Salamanca Miño 30 Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  36. 36. Microcontroladores PIC de la Gama Media. 2. La Arquitectura de los PIC de la Gama Media Figura 2.14 Circuito externo 1 de Brown-out. Este circuito activará el reset cuando VDD esté por debajo de (Vz + 0.7V), donde Vz es el voltaje Zener del diodo. Nota 1: El circuito de Brown-out Reset interno debe de estar deshabilitado cuando se use esta configuración. 2: Los valores de las resistencias dependen de las características del transistor. Figura 2.15 Circuito externo 2 de Brown-out. Nota 1: Este circuito de BOR es más barato, pero menos exacto. El transistor Q1 se corta cuando VDD baja de cierto nivel tal como: R1 VDD • = 0.7V R1 + R2 2: El circuito de Brown-out Reset interno debe de estar deshabilitado cuando se use esta configuración. 3: Los valores de las resistencias dependen de las características del transistor.Santiago Salamanca Miño 31 Escuela de Ingenierías IndustrialesDavid Arroyo Muñoz Universidad de Extremadura
  37. 37. Microcontroladores PIC de la Gama Media. 2. La Arquitectura de los PIC de la Gama Media Debido a que existen distintas fuentes de reset, es necesario en determinadas ocasiones, saber que tipo de reset se ha producido. Esto se hace consultando los bits POR y BOR del registro PCON, y PD del Registro de Estado (tabla 2.4). La tabla 2.5 muestra la forma en que afecta el Reset a los distintos registros. TABLA 2.4 Bits de estado y su significado. POR BOR TO PD Tipo de Reset 0 x 1 1 Power-On Reset. 0 x 0 x Incorrecto, TO está a 1 en POR . 0 x x 0 Incorrecto, PD está a 1 en POR . 1 0 1 1 Brown-Out Reset. 1 1 0 1 WDT Reset. 1 1 0 0 WDT Wake-Up. 1 1 u u MCLR reset en funcionamiento normal. 1 1 1 0 MCLR reset durante SLEEP. Legenda: u: valor anterior. x: desconocido. TABLA 2.5 Condiciones de inicialización de los registros especiales. MCLR durante: Wake-up desde SLEEP Power-On Reset -funcionamiento normal mediante:Registro Brown-Out Reset -SLEEP -Interrupciones WDT Reset -Temporizador del WDTADCAPL 0000 0000 0000 0000 uuuu uuuuADCAPH 0000 0000 0000 0000 uuuu uuuuADCON0 0000 00-0 0000 00-0 uuuu uu-uADCON ---- -000 ---- -000 ---- -uuuADRES xxxx xxxx uuuu uuuu uuuu uuuuADTMRL 0000 0000 0000 0000 uuuu uuuuADMRH 0000 0000 0000 0000 uuuu uuuuCCP1CON --00 0000 --00 0000 --uu uuuuCCP2CON 0000 0000 0000 0000 uuuu uuuuCCPR1L xxxx xxxx uuuu uuuu uuuu uuuuCCPR1H xxxx xxxx uuuu uuuu uuuu uuuuCCPR2L xxxx xxxx uuuu uuuu uuuu uuuuCCPR2H xxxx xxxx uuuu uuuu uuuu uuuuCMCON 00-- 0000 00—0000 uu-- uuuuEEADR xxxx xxxx uuuu uuuu uuuu uuuuEECON1 ---0 x000 ---0 q000 ---0 uuuuEECON2 - - -EEDATA xxxx xxxx uuuu uuuu uuuu uuuuFSR xxxx xxxx uuuu uuuu uuuu uuuuGPIO --xx xxxx --uu uuuu --uu uuuuI2CADD 0000 0000 0000 0000 uuuu uuuuI2CBUF xxxx xxxx uuuu uuuu uuuu uuuuI2CCON 0000 0000 0000 0000 uuuu uuuuI2CSTAT --00 0000 --00 0000 --uu uuuuINDF - - -INTCON 0000 000x 0000 000u uuuu uuuuLCDCON 00-0 0000 00-0 0000 uu-u uuuu Santiago Salamanca Miño 32 Escuela de Ingenierías Industriales David Arroyo Muñoz Universidad de Extremadura

×