SlideShare una empresa de Scribd logo
1 de 13
1 Conceptos introductorios a los microcontroladores
Es un circuito integrado programable que contiene todos los componentes de un computador.
Se emplea para controlar el funcionamiento de una tarea determinada y, debido a su reducido
tamaño, suele ir incorporado en el propio dispositivo al que gobierna. Esta última
característica es la que le confiere la denominación de «controlador incrustado» (embedded
controller).
El microcontrolador es un computador dedicado. En su memoria sólo reside un programa
destinado a gobernar una aplicación determinada; sus líneas de entrada/salida soportan el
conexionado de los sensores y actuadores del dispositivo a controlar, y todos los recursos
complementarios disponibles tienen como única finalidad atender sus requerimientos. Una
vez programado y configurado el microcontrolador solamente sirve para gobernar la tarea
asignada.
Un microcontrolador es un computador completo, aunque de limitadas prestaciones, que está
contenido en el chip de un circuito integrado y se destina a gobernar una sola tarea. El número
de productos que funcionan en base a uno o varios microcontroladores aumenta de forma
exponencial.
Los electrodomésticos de línea blanca (lavadoras, hornos, lavavajillas, etc.) y de línea marrón
(televisores, vídeos, aparatos musicales, etc.) incorporan numerosos microcontroladores.
Igualmente, los sistemas de supervisión, vigilancia y alarma en los edificios utilizan estos
chips. También se emplean para optimizar el rendimiento de ascensores, calefacción, aire
acondicionado, alarmas de incendio, robo, etc.
El esquema general básico de un
microcomputador. Se compone de tres
bloques fundamentales: la CPU (Central
Processing Unit), la memoria, y la
entrada y salida. Los bloques se conectan
entre sí mediante grupos de líneas
eléctricas denominados buses. Los buses
pueden ser de direcciones (si transportan
direcciones de memoria o de entrada y
salida), de datos (si transportan datos o instrucciones) o de control (si transportan señales de
control diversas).
1.1 Diferencia entre Microprocesador, Microcomputadora y
Microcontrolador.
La CPU es el "cerebro" del microcomputador y actúa bajo el control del programa
almacenado en la memoria. La CPU se ocupa básicamente de traer las instrucciones del
programa desde la memoria, interpretarlas y hacer que se ejecuten. La CPU también incluye
los circuitos para realizar operaciones aritméticas y lógicas elementales con los datos
binarios, en la denominada Unidad Aritmética y Lógica (ALU: Arithmeticand Logic Unit).
En un microcomputador, la CPU no es otra cosa que el microprocesador, el circuito
integrado capaz de realizar las funciones antes mencionadas. Un microcontrolador es un
microcomputador realizado en un circuito integrado (chip). Históricamente, los
microcontroladores aparecieron con posterioridad a los microprocesadores y han tenido
evoluciones independientes.
Los microprocesadores se han desarrollado fundamentalmente orientados al mercado de los
ordenadores personales y las estaciones de trabajo, donde se requiere una elevada potencia
de cálculo, el manejo de gran cantidad de memoria y una gran velocidad de procesamiento.
Un parámetro importante en los microprocesadores es el tamaño de sus registros internos
(8, 16, 32 ó 64 bits), que determina la cantidad de bits que pueden procesar simultáneamente.
Los microcontroladores se han desarrollado para cubrir las más diversas aplicaciones. Se
usan en automoción, en equipos de comunicaciones y de telefonía, en instrumentos
electrónicos, en equipos médicos e industriales de todo tipo, en electrodomésticos, en
juguetes, etc.
El microprocesador es un circuito integrado que contiene la Unidad Central de Proceso
(UCP), también llamada procesador, de un computador. La UCP está formada por la Unidad
de Control, que interpreta las instrucciones, y el Camino de Datos, que las ejecuta.
Las patitas de un microprocesador sacan al exterior las líneas de sus buses de direcciones,
datos y control, para permitir conectarle con la Memoria y los Módulos de E/S y configurar
un computador implementado por varios circuitos integrados. Se dice que un
microprocesador es un sistema abierto porque su configuración es variable de acuerdo con la
aplicación a la que se destine.
Un microprocesador es un sistema abierto con el que puede construirse un computador con
las características que se desee, acoplándole los módulos necesarios.
Un microcontrolador es un sistema cerrado que contiene un computador completo y de
prestaciones limitadas que no se pueden modificar.
1.2 Características y aplicaciones de los microcontroladores.
Hay varias características que son deseables en un microcontrolador:
l. Recursos de entrada y salida. Se requiere hacer énfasis en los recursos de entrada y de
salida del dispositivo, tales como el manejo individual de líneas de entrada y salida, el manejo
de interrupciones, señales analógicas, etc.
2. Espacio optimizado. Se trata de tener en el menor espacio posible, y a un coste
razonable, los elementos esenciales para desarrollar una aplicación. Debido a las
dimensiones de su encapsulado.
3. El microcontrolador idóneo para una aplicación. Se procura que el diseñador
disponga del microcontrolador hecho a la medida de su aplicación. Con el hardware
requerido (más o menos memoria, más o menos dispositivos de entrada y salida, etc.)
4. Seguridad enel funcionamientodel microcontrolador. Uncomponente comúnenlos
microcontroladores yque contribuye a una operaciónseguraes el perro guardián(WDT:
Watchdog Timer), dispositivo que no existe en los ordenadores personales.
5. Bajo consumo. Dado que hay muchas aplicaciones donde se desea utilizar baterías
como fuente de alimentación, es altamente deseable que el microcontrolador consuma
poca energía. También interesaque el microcontrolador consumamuy poco cuando no
está realizando ninguna acción.
6. Protección de los programas frente a copias. Se trata de proteger la información
almacenada en lamemoria,es decir,el programade laaplicación, contralecturasfurtivas
de la memoriadel microcontrolador. Los microcontroladores disponen de mecanismos
que les protegen de estas acciones.
Los microcontroladores se han desarrollado para cubrir las más diversas aplicaciones. Se
usan en automoción, en equipos de comunicaciones y de telefonía, en instrumentos
electrónicos, en equipos médicos e industriales de todo tipo, en electrodomésticos, en
juguetes, etc.
Los microcontroladores están concebidos fundamentalmente para ser utilizados en
aplicaciones puntuales, es decir, aplicaciones donde el microcontrolador debe realizar un
pequeño número de tareas, al menor costo posible.
En estas aplicaciones, el microcontrolador ejecuta un programa almacenado
permanentemente en su memoria, el cual trabaja con algunos datos almacenados
temporalmente e interactúa con el exterior a través de las líneas de entrada y salida de que
dispone. El microcontrolador es parte de la aplicación: es un controlador incrustado o
embebido en la aplicación (embedded controller). En aplicaciones de cierta envergadura
se utilizan varios microcontroladores, cada uno de los cuales se ocupa de un pequeño grupo
de tareas.
1.3 Tipos de arquitecturas computacionales.
1.3.1 Arquitecturas von Neumann y Harvard
En la memoria de un ordenador, un microcomputador o un microcontrolador, se almacenan
instrucciones y datos. Las instrucciones deben pasar secuencialmente a la CPU para su
descodificación y ejecución, en tanto que algunos datos en memoria son leídos por la CPU y
otros son escritos en la memoria desde la CPU. Puede intuirse que la organización de la
memoria y su comunicación con la CPU son dos aspectos que influyen en el nivel de
prestaciones del ordenador.
Las arquitecturas von Neumann y Harvard son modelos generales del hardware de los
ordenadores que representan dos soluciones diferentes al problema de la conexión de la CPU
con la memoria y a la organización de la memoria como almacén de instrucciones y datos.
La arquitectura von Neumann toma el nombre del matemático John von Neumann que
propuso la idea de un ordenador con el programa almacenado (stored-program computer). J.
von Neumann trabajó en el equipo de diseñadores de la computadora ENIAC (Electronic
Numerical Integrator and Calculator) diseñada en la Universidad de Pennsylvania durante
la Segunda Guerra Mundial.
El término arquitectura Harvard se debe al nombre del lugar donde Howard Aiken diseñó
los ordenadores Mark 1, 11, 111 y IV. Estos ordenadores fueron los primeros en utilizar
memorias separadas para instrucciones y datos, una concepción diferente al ordenador de
programa almacenado. La arquitectura von Neumann utiliza una memoria única para
instrucciones y datos. Esto significa que con un mismo bus de direcciones se localizan
(direccionan) instrucciones y datos y que por un único bus de datos transitan tanto
instrucciones como datos. La misma señal de control que emite la CPU para leer un dato,
sirve para leer una instrucción. No hay señales de control diferentes para datos e
instrucciones. Debe quedar claro que aunque se use memoria ROM para almacenar el
programa y RAM para los datos, para la CPU no hay tal distinción, sino que ROM y RAM
forman un conjunto único (una memoria de lectura y escritura) para el cual la CPU emite
señales de control, de dirección y de datos.
La arquitectura Harvard utiliza memorias separadas para instrucciones y datos. En este caso
la memoria de programa (que almacena instrucciones) tiene su bus de direcciones (de
instrucciones), su propio bus de datos (más bien es un bus de instrucciones) y su bus de
control. Por otra parte, la memoria de datos tiene sus propios buses de direcciones, datos y
control, independientes de los buses de la memoria de programa. La memoria de programa
es sólo de lectura, mientras que en la de datos se puede leer y escribir.
La arquitectura von Neumann requiere menos líneas que la Harvard para conectar la CPU
con la memoria, lo cual significa una conexión más simple entre ambas. Pero con esta
arquitectura es imposible manipular simultáneamente datos e instrucciones, debido a la
estructura de buses únicos, algo que sí es posible en la arquitectura Harvard, que tiene buses
separados. Esto confiere a la arquitectura Harvard la ventaja de una mayor velocidad de
ejecución de los programas.
Arquitecturas (a) van Neumann y (b) Harvard.La arquitectura van Neumann utiliza una memoria
única que se conecta a la CPU mediante los buses de direcciones(BDIR), datos (BDAT) y control
(BCON). La arquitectura Harvard utiliza memoriasseparadas para instrucciones y datos,las cuales
se conectan a la CPU mediante los buses de direcciones de instrucciones (BDIR-I) y de direcciones
de datos (BDIR-D), los buses de instrucciones (BINST) y de datos (BDAT) y los buses de control de
instrucciones (BCON-I) y de datos (BCON-D).
En los microcomputadores, la CPU es un circuito integrado: el microprocesador. La
arquitectura von Neumann requiere menos terminales en el microprocesador que la
arquitectura Harvard. Esta fue una razón decisiva para que desde sus inicios los
microcomputadores basados en un microprocesador se hayan diseñado utilizado casi
exclusivamente la arquitectura von Neumann. En los microcontroladores la situación es
diferente. Al estar todos los componentes del sistema dentro del circuito integrado,
desaparece la necesidad de minimizar el número de terminales de la CPU, de modo que en
ellos ha predominado la arquitectura Harvard. Los microcontroladores PIC son un ejemplo
de sistemas con arquitectura Harvard.
1.3.2 Arquitecturas CISC y RISC
CISC (Complex Instruction Set Computer) y RISC (Reduced Instruction Set Computer) son
dos modelos generales de ordenadores, desde el punto de vista de la concepción de su
repertorio de instrucciones, lo cual repercute directamente sobre la arquitectura de la CPU.
Un ordenador CISC tiene un repertorio de instrucciones complejo y un ordenador RISC tiene
un repertorio de instrucciones reducido.
Al aparecer los microprocesadores y los microcontroladores, la tendencia inicial fue
proveerlos de un repertorio de instrucciones lo más potente posible, de modo que el modelo
predominante fue el CISC. La complejidad de las instrucciones fue en aumento; en un mismo
repertorio había instrucciones que hacían operaciones muy simples, como por ejemplo mover
un dato desde la memoria al acumulador, junto a otras que efectuaban operaciones tan
complejas como mover una cadena de datos de un lugar a otro en la memoria.
Las instrucciones tenían diferente longitud y los modos de direccionamiento se hicieron cada
vez más elaborados. Este aumento en la complejidad de las instrucciones se reflejó, por
supuesto, en la complejidad del hardware de la CPU, en el que se hacía necesario dedicar un
gran espacio del circuito integrado a la descodificación y ejecución de las instrucciones.
En la arquitectura RISC, la CPU dispone de un repertorio corto de instrucciones sencillas.
Cada instrucción puede realizar una operación muy simple, como mover un dato entre la
CPU y la memoria, pero a alta velocidad. Se puede lograr que todas las instrucciones tengan
la misma longitud. Hay pocos modos de direccionamiento de los datos y son aplicables a
todas las celdas de la memoria de datos. La complejidad de la CPU disminuye, de modo que
es fácil aumentar la frecuencia del oscilador de la CPU y con ello la velocidad de las
instrucciones. Como tienen menos transistores, son más baratas de diseñar y producir. Desde
mediados del octavo decenio del siglo XX, ésta ha sido la tendencia predominante en el
diseño de microprocesadores y microcontroladores. Los microcontroladores PIC son un
ejemplo de dispositivos con arquitectura RISC.
1.4 Tipos de Microcontroladores y sus fabricantes.
Los microcontroladores de un mismo tipo forman una familia, que se caracteriza, en general,
por tener la misma CPU y ejecutar el mismo repertorio de instrucciones. Es lo que se conoce
como "núcleo" (core) del microcontrolador. Los miembros de una familia de
microcontroladores tienen el mismo núcleo, pero se diferencian en la entrada y salida y en la
memoria. Por ejemplo, todos los microcontroladores de la familia del 8051 (MCS51) tienen
una CPU semejante, con un grupo de registros comunes a todos los miembros de la familia,
y ejecutan el mismo repertorio de instrucciones. En cambio, los distintos miembros de la
familia tienen puertos de entrada y salida y memoria diferentes, en cantidad y tipo.
Los microprocesadores y microcontroladores se fabrican como circuitos integrados
independientes (stand-alone devices), que contienen exclusivamente al microcontrolador o
microprocesador. Pero también el núcleo del procesador puede estar embebido (embedded-
processor core) en un circuito integrado de alta escala de integración, cuya función es, en
general, configurable por el usuario. Tal es el caso de los denominados Dispositivos Lógicos
Programables (PLD: Programmable Logic Devices), entre los que están los FPGA (Field
Programmable Gate Array). Los PLD en general y los FPGA en particular, son circuitos de
alta escala de integración que disponen de un conjunto de elementos, cuya interconexión es
programable por el usuario. Uno de estos elementos puede ser el núcleo de un
microcontrolador o un microprocesador, cuya conexión a cierta cantidad de memoria y a
dispositivos de entrada y salida disponibles en el PLD, es programable por el usuario. Así se
puede configurar un microcontrolador "a la medida" de la necesidad de la aplicación, con la
ventaja de ser compatible con un microprocesador o un microcontrolador "estándar", como
el 8051 o un PIC, pues tiene su mismo núcleo.
Hay un número elevado de compañías que fabrican microcontroladores y microprocesadores
en alguna de las formas mencionadas anteriormente. A continuación se presenta una relación
de fabricantes de microcontroladores y microprocesadores ( o de dispositivos que utilizan la
arquitectura de un determinado microcontrolador o microprocesador), con el correspondiente
comentario acerca de los dispositivos que fabrica.
• Actel. FPGA connúcleos 8051 yARM7.
• Advanced Micro Devices (AMD). Microprocesadores compatibles conxx86.
• Altera. FPGA connúcleos Nios 11.
• Analog Devices. Arquitecturas para procesamientodigital de señales basadas en
núcleos 8052, ARM7 y otros procesadores.
• Applied Micro Circuits Corp. (AMCq. Arquitecturas basadas en el microprocesador
PowerPC.
• ARC Intemational. Arquitecturas basadas en los procesadores ARC 600, ARC 700,
etc.
• ARM. Arquitecturas basadas en los núcleos de los procesadores ARM7, ARM9, ARMlO,
etc.
• Atmel. Arquitecturas basadas en Marc 4, A VR, 8051, ARM7, ARM9, ARMll,
PowerPCySPARC.
• Broadcom. Procesadores para redes de datos y comunicaciones con arquitectura MIPS.
• Cambridge Consultants. Arquitecturas basadas en los núcleos de los procesadores XAPl,
XAP2 y XAP3.
• Cavium Networks. Arquitecturas basadas en MIPS.
• Cirrus Logic. Arquitecturas basadas en ARM.
• Cradle Technologies. Procesadores digitales de señales: CT3400 y CT3600.
• Cyan Technology. Microcontrolador eCOClk.
• Cybernetic Micro Systems. ASICs con microcontrolador P-51.
• Cypress Microsystems. Dispositivos con arquitectura PSoC (Programmable System-on-
Chip).
• Dallas Semiconductor. Microcontroladores compatibles con 8051.
• EM Microelectronics. Microcontroladores EM6812 de muy bajo consumo.
• Freescale Semiconductor (procede de Motorola). Microcontroladores de las familias
68HC05, 68HC08, 68HC11, 68HC12 y 68HC16. Procesadores digitales de señales (DSP:
Digital Signa[ Processor). Procesadores ColdFire y PowerQuicc con núcleo PowerPC.
. • Fujitsu Microelectronics America. Microcontroladores FR80, MB9140x, F2MC-8FX,
etc.
• Goal Semiconductor. Arquitecturas basadas en 8051.
• Hyperstone. Procesadoresdigitales de señales El-32XSR/XSRU, HyNet32S, etc.
• HoltekSemiconductor. Microcontrolador HT8.
• Infineon Technologies (antes Siemens). Microcontroladores C500, C800, C166,
TriCore, etc.
• lnfrant Technologies. Microcontroladores para redes de datos.
• Integrated Device Technology (IDT). Procesadores para comunicaciones de datos basados
en arquitectura MIPS.
• Intel. Microcontroladores de las familias MCS51, MCS151, MCS251, MCS96, MCS296,
etc. Microprocesadores xx86, IXP4xx, etc.
• Microchip Technology. Microcontroladores PIC (PICmicro) y controladores digitales de
señales dsPIC.
• MIPS Technologies. Procesadores MIPS (Microprocessor without Interlocked
Pipeline Stages).
• National Semiconductor. Microcontroladores COP8, CR16 y microprocesadores
NS32000.
• NEC Electronics America. Microcontroladores 78KO, V850 y otros.
• NetSilicon. Procesadores basados en núcleos ARM7 y ARM9.
• NXP (antes Philips Semiconductors). Microcontroladores con núcleo 8051, ARM7 y
ARM9.
• Oki Semiconductor. Microcontroladores con núcleo ARM.
• PMC-Sierra. Procesadores basados en MIPS.
• Rabbit Semiconductor. Procesadores Rabbit 2000 y 3000.
• Renesas Tech. Corp. (antes Hitachi). Microcontroladores R8, H8 y otros.
• Sharp Microelectronics. Microcontroladores BlueStreak con núcleo ARM7 y ARM9.
• Silicon Laboratories. Microcontroladores con núcleo 8051.
• Silicon Storage Technology. Microcontroladores con núcleo 8051.
• STMicroelectronics. Microcontroladores con núcleos 8051 y ARM7.
• Texas Instruments (TI). Procesadores digitales de señales TMS370 y TMS470,
microcontroladores MSP430.
• Toshiba America Electronic Components. Microcontroladores CISC y RISC.
• Ubicom. Microcontroladores SX, IP2000 e IP3000.
• Xemics. Microcontroladores con núcleo CoolRISC.
• Xilinx. FPGA con núcleos PowerPC.
• ZiLOG. Microcontroladores de 8 bits con arquitecturas Z8 y Z80.
2 Arquitectura interna de un microcontrolador
Un microcontrolador posee todos los componentes de un computador, pero con unas
características fijas que no pueden alterarse. Las partes principales de un microcontrolador
son:
1. Procesador
2. Memoria no volátil para contener el programa
3. Memoria de lectura y escritura para guardar los datos
4. Líneas de EIS para los controladores de periféricos:
a) Comunicación paralelo
b) Comunicación serie
c) Diversas puertas de comunicación (bus l2ºC, USB, etc.)
5. Recursos auxiliares:
a) Circuito de reloj
b) Temporizadores
c) Perro Guardíán («watchdog»)
d) Conversores AD y DA
e) Comparadores analógicos
f) Protección ante fallos de la alimentación
g) Estado de reposo o de bajo consumo
2.1 Componentes del Microcontrolador
Un microcontrolador combina los recursos fundamentales disponibles en un
microcomputador, es decir, la unidad central de procesamiento (CPU), la memoria y los
recursos de entrada y salida, en un único circuito integrado.
Los microcontroladores disponen de un oscilador que genera los pulsos que sincronizan todas
las operaciones internas. El oscilador puede ser del tipo RC, aunque generalmente se prefiere
que esté controlado por un cristal de cuarzo (XTAL) debido a su gran estabilidad de
frecuencia. La velocidad de ejecución de las instrucciones del programa está en relación
directa con la frecuencia del oscilador del microcontrolador.
Igual que en un microcomputador, la CPU es el "cerebro" del microcontrolador.
Esta unidad trae las instrucciones del programa, una a una, desde la memoria donde están
almacenadas, las interpreta (descodifica) y hace que se ejecuten. En la CPU se incluyen los
circuitos de la ALU para realizar operaciones aritméticas y lógicas elementales con los datos
binarios. La CPU de un microcontrolador dispone de diferentes registros, algunos de
propósito general y otros para propósitos específicos. Entre estos últimos están el Registro
de Instrucción, el Acumulador, el Registro de Estado, el Contador de Programa, el Registro
de Direcciones de Datos y el Puntero de la Pila. El Registro de Instrucción (RI) almacena la
instrucción que está siendo ejecutada por la CPU. El RI es invisible para el programador.
El Acumulador (ACC: Accumulator) es el registro asociado a las operaciones aritméticas y
lógicas que se pueden realizar en la ALU. En cualquier operación, uno de los datos debe estar
en el ACC y el resultado se obtiene en el ACC. El ACC no existe en los microcontroladores
PIC, que tienen en cambio el registro W (Working Register), con características muy
parecidas a las del ACC.
El Registro de Estado (STATUS) agrupa los bits indicadores de las características del
resultado de las operaciones aritméticas y lógicas realizadas en la ALU. Entre estos
indicadores están el signo el resultado (si es positivo o negativo), si el resultado es cero, si
hay acarreo o préstamo, el tipo de paridad (par o impar) del resultado, etc.
El Contador de Programa (PC: Program Counter) es el registro de la CPU donde se
almacenan direcciones de instrucciones. Cada vez que la CPU busca una instrucción en la
memoria, el PC se incrementa, apuntando así a la siguiente instrucción. En un instante de
tiempo dado, el PC contiene la dirección de la instrucción que será ejecutada a continuación.
Las instrucciones de transferencia de control modifican el valor del PC.
El Registro de Direcciones de Datos (RDD) almacena direcciones de datos situados en la
memoria. Este registro es indispensable para el direccionamiento indirecto de datos en la
memoria. El RDD toma diferentes nombres según el microcontrolador. En los PIC, el RDD
es el registro FSR (File Select Register).
El Puntero de la Pila (SP: Stack Pointer) es el registro que almacena direcciones de datos en
la pila. En el capítulo 4 se estudian con detalle la pila y el registro SP. Los microcontroladores
PIC carecen de registro SP.
La memoria del microcontrolador es el lugar donde son almacenadas las instrucciones del
programa y los datos que manipula. En un microcontrolador siempre hay dos tipos de
memoria: la memoria RAM (Random Access Memory) y la memoria ROM (Read On.ly
Memory). La memoria RAM es una memoria de lectura y escritura, que además es volátil,
es decir, pierde la información almacenada cuando falta la energía que alimenta la memoria.
La memoria ROM es una memoria de solo lectura y no volátil. Las diferentes tecnologías
para realizar las memorias de solo lectura (ROM, EPROM, EEPROM, OTP, FLASH) se
estudian en el capítulo 3. Tanto la memoria RAM como las memorias ROM son de acceso
aleatorio, pero la costumbre ha dejado el nombre de RAM para las memorias de lectura y
escritura. El término "acceso aleatorio" se refiere a que el tiempo necesario para localizar un
dato no depende del lugar de la memoria donde esté almacenado. En las memorias de acceso
secuencial, en cambio, cuando más alejado esté un dato de la posición a la que se ha accedido
por última vez, más se tarda en localizarlo.
La memoria ROM se usa para almacenar permanentemente el programa que debe ejecutar el
microcontrolador. En la memoria RAM se almacenan temporalmente los datos con los que
trabaja el programa. Un número creciente de microcontroladores dispone de alguna memoria
no volátil de tipo EEPROM para almacenar datos fijos o que sólo sean cambiados
esporádicamente.
La cantidad de memoria ROM disponible es normalmente muy superior a la cantidad de
memoria RAM. Esto obedece a dos razones: la primera es que la gran mayoría de las
aplicaciones requieren programas que manejan pocos datos; entonces basta una memoria
RAM en la que se pueda almacenar algunas decenas de datos. La segunda razón es que la
memoria RAM ocupa mucho más espacio en el circuito integrado que la memoria ROM, de
modo que es mucho más costosa que ésta.
La entrada y salida es particularmente importante en los microcontroladores, pues a través
de ella el microcontrolador interacciona con el exterior. Forman parte de la entrada y salida
los puertos paralelo y serie, los temporizadores y la gestión de las interrupciones. El
microcontrolador puede incluir también entradas y salidas analógicas asociadas a
convertidores A/D y D / A. Tienen particular importancia los recursos que garantizan un
funcionamiento seguro del microcontrolador, como el denominado perro guardián.
Los puertos paralelos se organizan en grupos de hasta 8 líneas de entradas y salidas digitales.
Normalmente es posible manipular individualmente las líneas de los puertos paralelos. Los
puertos serie pueden ser de varios tipos, según la norma de comunicación que implementen:
RS-232C, I2C, USB, Ethernet, etc.
Un requisito general para que un microcontrolador se pueda utilizar en un gran número de
aplicaciones es que tenga muchos recursos de entrada y salida. Este requisito está relacionado
con el número de terminales del circuito integrado. A la vez se desea tener esos recursos en
un circuito integrado lo más pequeño posible. Si cada bloque de entrada y salida tuviera
terminales exclusivos en el microcontrolador, posiblemente no alcanzarían los terminales o
habría que fabricar microcontroladores con muy pocos recursos de entrada y salida, en contra
del interés general. La solución para este problema es que un número importante de
terminales del circuito integrado sean compartidos por unidades de entrada y salida
diferentes. Es decir, un mismo terminal puede estar conectado internamente a más de un
bloque de entrada y salida. Por ejemplo, las líneas de entrada y salida de un puerto serie
pueden ser parte de las líneas de un puerto paralelo, etc.
2.1.1 El procesador
La necesidad de conseguir elevados rendimientos en el procesamiento de las instrucciones
ha desembocado en el empleo generalizado de procesadores de arquitectura Harvard frente a
los tradicionales que seguían la arquitectura de von Neumann. Esta última se caracterizaba
porque la CPU (Unidad Central de Proceso) se conectaba con una memoria única, donde
coexistían datos e instrucciones, a través de un sistema de buses.
En la arquitectura Harvard son independientes la memoria de instrucciones y la memoria de
datos y cada una dispone de su propio sistema de buses para el acceso. Esta dualidad, además
de propiciar el paralelismo, permite la adecuación del tamaño de las palabras y los buses a
los requerimientos específicos de las instrucciones y de los datos. También la capacidad de
cada memoria es diferente
El procesador de los modernos microcontroladores responde a la arquitectura RISC
(Computadores de Juego de Instrucciones Reducido), que se identifica por poseer un
repertorio de instrucciones máquina pequeño y simple, de forma que la mayor parte de las
instrucciones se ejecuta en un ciclo de instrucción.
Otra aportación frecuente que aumenta el rendimiento del computador es el fomento del
paralelismo implícito, que consiste en la segmentación del procesador (pipe-line),
descomponiéndolo en etapas para poder procesar una instrucción diferente en cada una de
ellas y trabajar con varias a la vez.
El alto rendimiento y elevada velocidad que alcanzan los modernos procesadores, como el
que poseen los microcontroladores PIC, se debe a la conjunción de tres técnicas:
- Arquitectura Harvard
- Computador tipo RISC
- Segmentación
2.1.2 Memoria de programa
El microcontrolador está diseñado para que en su memoria de programa se almacenen todas
las instrucciones del programa de control. No hay posibilidad de utilizar memorias externas
de ampliación. Como el programa a ejecutar siempre es el mismo, debe estar grabado de
forma permanente. Los tipos de memoria adecuados para soportar esta función admiten cinco
versiones diferentes:
ROM con máscara: En este tipo de memoria el programa se graba en el chip durante el
proceso de su fabricación mediante el uso de «máscaras». Los altos costes de diseño e
instrumental sólo aconsejan usar este tipo de memoria cuando se precisan series muy grandes.
EPROM: La grabación de esta memoria se realiza mediante un dispositivo físico gobernado
desde un computador personal, que recibe el nombre de grabador. En la superficie de la
cápsula del microcontrolador existe una ventana de cristal por la que se puede someter al
chip de la memoria a rayos ultravioletas para producir su borrado y emplearla nuevamente.
Es interesante la memoria EPROM en la fase de diseño y depuración de los programas, pero
su coste unitario es elevado.
OTP (Programable una vez): Este modelo de memoria sólo se puede grabar una vez por
parte del usuario, utilizando el mismo procedimiento que con la memoria EPROM.
Posteriormente no se puede borrar. Su bajo precio y la sencillez de la grabación aconsejan
este tipo de memoria para prototipos finales y series de producción cortas.
EEPROM: La grabación es similar a las memorias OTP y EPROM, pero el borrado es mucho
más sencillo al poderse efectuar de la misma forma que el grabado, o sea, eléctricamente.
Sobre el mismo zócalo del grabador puede ser programada y borrada tantas veces como se
quiera, lo cual la hace ideal en la enseñanza y en la creación de nuevos proyectos. El fabuloso
PIC16C84 dispone de 1 K palabras de memoria EEPROM para contener instrucciones y
también tiene algunos bytes de memoria de datos de este tipo para evitar que cuando se retira
la alimentación se pierda información.
Aunque se garantiza 1.000.000 de ciclos de escritura/borrado en una EEPROM, todavía su
tecnología de fabricación tiene obstáculos para alcanzar capacidades importantes y el tiempo
de escritura de las mismas es relativamente grande y con elevado consumo de energía.
FLASH: Se trata de una memoria no volátil, de bajo consumo, que se puede escribir y borrar
en circuito al igual que las EEPROM, pero suelen disponer de mayor capacidad que estas
últimas. El borrado sólo es posible con bloques completos y no se puede realizar sobre
posiciones concretas. En las FLASH se garantizan 1.000 ciclos de escritura-borrado.
Son muy recomendables en aplicaciones en las que sea necesario modificar el programa a lo
largo de la vida del producto, como consecuencia del desgaste o cambios de piezas, como
sucede con los vehículos. Por sus mejores prestaciones está sustituyendo a la memoria
EEPROM para contener instrucciones. De esta forma Microchip comercializa dos
microcontroladores prácticamente iguales, que sólo se diferencian en que la memoria de
programa de uno de ellos es tipo EEPROM y la del otro tipo Flash. Se trata del PIC 16C84 y el
PIC 16F84, respectivamente. En la actualidad Microchip tiene abierta una línea de PIC con memoria
Flash cada vez más extensa y utilizada.
2.1.3 Memoria de datos
Los datos que manejan los programas varían continuamente, y esto exige que la memoria que
les contiene debe ser de lectura y escritura, por lo que la memoria RAM estática (SRAM) es
la más adecuada, aunque sea volátil.
Hay microcontroladores que también disponen como memoria de datos una de lectura y
escritura no volátil, del tipo EEPROM. De esta forma, un corte en el suministro de la
alimentación no ocasiona la pérdida de la información, que está disponible al reiniciarse el
programa. El PIC16C84, el PIC16F83 y el PIC16F84 disponen de 64 bytes de memoria
EEPROM para contener datos.
La memoria tipo EEPROM y la tipo Flash pueden escribirse y borrarse eléctricamente. Sin
necesidad de sacar el circuito integrado del zócalo del grabador pueden ser escritas y
borradas numerosas veces.
2.1.4. Líneas de E/S para los controladores de periféricos
A excepción de dos patitas destinadas a recibir la alimentación, otras dos para el cristal de
cuarzo, que regula la frecuencia de trabajo, y una más para provocar el Reset, las restantes
patitas de un microcontrolador sirven para soportar su comunicación con los periféricos
externos que controla.
Las líneas de E/S que se adaptan con los periféricos manejan información en paralelo y se
agrupan en conjuntos de ocho, que reciben el nombre de Puertas. Hay modelos con líneas
que soportan la comunicación en serie; otros disponen de conjuntos de líneas que
implementan puertas de comunicación para diversos protocolos, como el I2ºC, el USB, etc.
2.1.5. Recursos auxiliares
Según las aplicaciones a las que orienta el fabricante cada modelo de microcontrolador,
incorpora una diversidad de complementos que refuerzan la potencia y la flexibilidad del
dispositivo.
Entre los recursos más comunes se citan a los siguientes:
a) Circuito de reloj, encargado de generar los impulsos que sincronizan el funcionamiento
de todo el sistema.
b) Temporizadores, orientados a controlar tiempos.
c) Perro Guardián («watchdog»), destinado a provocar una reinicialización cuando el
programa queda bloqueado.
d) Conversores AD y DA, para poder recibir y enviar señales analógicas.
e) Comparadores analógicos, para verificar el valor de una señal analógica.
f) Sistema de protección ante fallos de la alimentación.
g) Estado de Reposo, en el que el sistema queda «congelado» y el consumo de energía se
reduce al mínimo.
2.2 Registros internos.
Un parámetro importante en los microprocesadores es el tamaño de sus registros internos
(8, 16, 32 ó 64 bits), que determina la cantidad de bits que pueden procesar simultáneamente.
2.3 Tipos y distribución de las memorias internas.
2.4 Periféricos internos.
2.5 Las instrucciones del microcontrolador

Más contenido relacionado

La actualidad más candente

Diapositivas de microprocesador
Diapositivas de microprocesadorDiapositivas de microprocesador
Diapositivas de microprocesadorAnGelitto LosaDa
 
Microprocesador
MicroprocesadorMicroprocesador
MicroprocesadorSuarezJhon
 
El contactor
El contactorEl contactor
El contactorHugo Mora
 
La Fuente de Alimentación del PC
La Fuente de Alimentación del PCLa Fuente de Alimentación del PC
La Fuente de Alimentación del PCJomicast
 
Evolucion de los microprocesadores
Evolucion de los microprocesadoresEvolucion de los microprocesadores
Evolucion de los microprocesadoresWilfredy Inciarte
 
Instalaciones electricas
Instalaciones electricasInstalaciones electricas
Instalaciones electricasIvan As
 
2.2 Organismos y entidades nacionales
2.2 Organismos y entidades nacionales2.2 Organismos y entidades nacionales
2.2 Organismos y entidades nacionalesGerman Casas
 
1.1-Diferencias entre microprocesador, microcomputadora y microcontrolador.pptx
1.1-Diferencias entre microprocesador, microcomputadora y microcontrolador.pptx1.1-Diferencias entre microprocesador, microcomputadora y microcontrolador.pptx
1.1-Diferencias entre microprocesador, microcomputadora y microcontrolador.pptxDiegoAvalos32
 
Automatizacion en la ingenieria electrica
Automatizacion en la ingenieria electricaAutomatizacion en la ingenieria electrica
Automatizacion en la ingenieria electricaMarlon Burga Tineo
 
Historia y evolucionj de los monitores
Historia y evolucionj de los monitoresHistoria y evolucionj de los monitores
Historia y evolucionj de los monitoresCenation Diaz
 
Electronica Basica
Electronica BasicaElectronica Basica
Electronica Basicaguestdc092bf
 
Fuente de poder
Fuente de poderFuente de poder
Fuente de poderanybzn
 
Cade simu
Cade simuCade simu
Cade simuRamixf
 
Evolucion de los Procesadores
Evolucion de los ProcesadoresEvolucion de los Procesadores
Evolucion de los Procesadoresmaudy_sanchez96
 
El scanner german y miguel
El scanner german y miguelEl scanner german y miguel
El scanner german y miguellossoprano
 
Fallas y soluciones comunes del computador
Fallas y soluciones comunes del computador Fallas y soluciones comunes del computador
Fallas y soluciones comunes del computador stefamika
 

La actualidad más candente (20)

Diapositivas de microprocesador
Diapositivas de microprocesadorDiapositivas de microprocesador
Diapositivas de microprocesador
 
Microprocesador
MicroprocesadorMicroprocesador
Microprocesador
 
El contactor
El contactorEl contactor
El contactor
 
Monitores lcd
Monitores lcdMonitores lcd
Monitores lcd
 
La Fuente de Alimentación del PC
La Fuente de Alimentación del PCLa Fuente de Alimentación del PC
La Fuente de Alimentación del PC
 
Evolucion de los microprocesadores
Evolucion de los microprocesadoresEvolucion de los microprocesadores
Evolucion de los microprocesadores
 
Instalaciones electricas
Instalaciones electricasInstalaciones electricas
Instalaciones electricas
 
2.2 Organismos y entidades nacionales
2.2 Organismos y entidades nacionales2.2 Organismos y entidades nacionales
2.2 Organismos y entidades nacionales
 
1.1-Diferencias entre microprocesador, microcomputadora y microcontrolador.pptx
1.1-Diferencias entre microprocesador, microcomputadora y microcontrolador.pptx1.1-Diferencias entre microprocesador, microcomputadora y microcontrolador.pptx
1.1-Diferencias entre microprocesador, microcomputadora y microcontrolador.pptx
 
Automatizacion en la ingenieria electrica
Automatizacion en la ingenieria electricaAutomatizacion en la ingenieria electrica
Automatizacion en la ingenieria electrica
 
Historia y evolucionj de los monitores
Historia y evolucionj de los monitoresHistoria y evolucionj de los monitores
Historia y evolucionj de los monitores
 
Electronica Basica
Electronica BasicaElectronica Basica
Electronica Basica
 
Fuentes de Poder - Arquitectura de PC
Fuentes de Poder - Arquitectura de PCFuentes de Poder - Arquitectura de PC
Fuentes de Poder - Arquitectura de PC
 
Fuente de poder
Fuente de poderFuente de poder
Fuente de poder
 
Capitulo 2 It essentials
Capitulo 2 It essentialsCapitulo 2 It essentials
Capitulo 2 It essentials
 
Cade simu
Cade simuCade simu
Cade simu
 
Evolucion de los Procesadores
Evolucion de los ProcesadoresEvolucion de los Procesadores
Evolucion de los Procesadores
 
Maquinas de corriente continua (CC)
Maquinas de corriente continua (CC)Maquinas de corriente continua (CC)
Maquinas de corriente continua (CC)
 
El scanner german y miguel
El scanner german y miguelEl scanner german y miguel
El scanner german y miguel
 
Fallas y soluciones comunes del computador
Fallas y soluciones comunes del computador Fallas y soluciones comunes del computador
Fallas y soluciones comunes del computador
 

Destacado

Microprocesadores: Registros Internos
Microprocesadores: Registros InternosMicroprocesadores: Registros Internos
Microprocesadores: Registros Internosverduguillo
 
Resumen microcontroladores
Resumen microcontroladoresResumen microcontroladores
Resumen microcontroladoresXavier Solis
 
Semáforos Inteligentes
Semáforos InteligentesSemáforos Inteligentes
Semáforos InteligentesVioleta Bances
 
Simulador En Mplab
Simulador En MplabSimulador En Mplab
Simulador En Mplabmariociunne
 
Microcontroladores clase 3
Microcontroladores clase 3Microcontroladores clase 3
Microcontroladores clase 3TALLERMICROS
 
Microcontroladores clase 4
Microcontroladores clase 4Microcontroladores clase 4
Microcontroladores clase 4TALLERMICROS
 
Uso básico de MPLAB
Uso básico de MPLABUso básico de MPLAB
Uso básico de MPLABAmuva
 
Informe N°1-Microcontroladores
Informe N°1-MicrocontroladoresInforme N°1-Microcontroladores
Informe N°1-MicrocontroladoresOmar Ruiz
 
Microcontroladores
MicrocontroladoresMicrocontroladores
MicrocontroladoresJuan Anaya
 
Informe N°2-Microcontroladores
Informe N°2-MicrocontroladoresInforme N°2-Microcontroladores
Informe N°2-MicrocontroladoresOmar Ruiz
 
Microcontroladores clase 1
Microcontroladores clase 1Microcontroladores clase 1
Microcontroladores clase 1TALLERMICROS
 
Microcontroladores clase 8
Microcontroladores clase 8Microcontroladores clase 8
Microcontroladores clase 8TALLERMICROS
 
Informe N°3-Microcontroladores
Informe N°3-MicrocontroladoresInforme N°3-Microcontroladores
Informe N°3-MicrocontroladoresOmar Ruiz
 
Programacion de microcontroladores
Programacion de microcontroladoresProgramacion de microcontroladores
Programacion de microcontroladoresayreonmx
 
Microcontroladores AVR
Microcontroladores AVRMicrocontroladores AVR
Microcontroladores AVRabemen
 

Destacado (20)

Microprocesadores: Registros Internos
Microprocesadores: Registros InternosMicroprocesadores: Registros Internos
Microprocesadores: Registros Internos
 
Resumen microcontroladores
Resumen microcontroladoresResumen microcontroladores
Resumen microcontroladores
 
Semáforos Inteligentes
Semáforos InteligentesSemáforos Inteligentes
Semáforos Inteligentes
 
Simulador En Mplab
Simulador En MplabSimulador En Mplab
Simulador En Mplab
 
Microcontroladores clase 3
Microcontroladores clase 3Microcontroladores clase 3
Microcontroladores clase 3
 
Microcontroladores clase 4
Microcontroladores clase 4Microcontroladores clase 4
Microcontroladores clase 4
 
Uso básico de MPLAB
Uso básico de MPLABUso básico de MPLAB
Uso básico de MPLAB
 
Informe N°1-Microcontroladores
Informe N°1-MicrocontroladoresInforme N°1-Microcontroladores
Informe N°1-Microcontroladores
 
Microcontroladores
MicrocontroladoresMicrocontroladores
Microcontroladores
 
Informe N°2-Microcontroladores
Informe N°2-MicrocontroladoresInforme N°2-Microcontroladores
Informe N°2-Microcontroladores
 
Microcontroladores clase 1
Microcontroladores clase 1Microcontroladores clase 1
Microcontroladores clase 1
 
Mplab
Mplab Mplab
Mplab
 
Microcontroladores clase 8
Microcontroladores clase 8Microcontroladores clase 8
Microcontroladores clase 8
 
1. microcontrolador
1. microcontrolador1. microcontrolador
1. microcontrolador
 
Informe N°3-Microcontroladores
Informe N°3-MicrocontroladoresInforme N°3-Microcontroladores
Informe N°3-Microcontroladores
 
Mplab Inicio Rapido
Mplab Inicio RapidoMplab Inicio Rapido
Mplab Inicio Rapido
 
Programacion de microcontroladores
Programacion de microcontroladoresProgramacion de microcontroladores
Programacion de microcontroladores
 
Microcontroladores AVR
Microcontroladores AVRMicrocontroladores AVR
Microcontroladores AVR
 
Electrónica industrial
Electrónica  industrialElectrónica  industrial
Electrónica industrial
 
Programación del PIC18F2550
Programación del PIC18F2550Programación del PIC18F2550
Programación del PIC18F2550
 

Similar a 1 conceptos introductorios a los microcontroladores

Sistemas microprogramables
Sistemas microprogramablesSistemas microprogramables
Sistemas microprogramablesJLAngel
 
Datasheet
DatasheetDatasheet
Datasheetaxni
 
Trabajo principal liz arleth
Trabajo principal liz  arlethTrabajo principal liz  arleth
Trabajo principal liz arlethLizittha Pinedo
 
Sistemas microprogramables
Sistemas microprogramablesSistemas microprogramables
Sistemas microprogramablesjuanmer
 
Introducción A Microprocesadores
Introducción A MicroprocesadoresIntroducción A Microprocesadores
Introducción A MicroprocesadoresDaniel Remondegui
 
El Microprocesador
El MicroprocesadorEl Microprocesador
El MicroprocesadorJomicast
 
Microcontroladores-Microprocesadores
Microcontroladores-MicroprocesadoresMicrocontroladores-Microprocesadores
Microcontroladores-MicroprocesadoresAlex Via Paz
 
Qué es un microcontrolador
Qué es un microcontroladorQué es un microcontrolador
Qué es un microcontroladorDaysi Morante
 
Arquitectura,simulacion trabajo final
Arquitectura,simulacion trabajo finalArquitectura,simulacion trabajo final
Arquitectura,simulacion trabajo finallilijessica
 
Trabajo de informatica
Trabajo de informaticaTrabajo de informatica
Trabajo de informaticatefadianis
 
Trabajo de informatica
Trabajo de informaticaTrabajo de informatica
Trabajo de informaticatefadianis
 
Arquitectura del microcontrolador
Arquitectura del microcontroladorArquitectura del microcontrolador
Arquitectura del microcontroladorJose Chacho
 

Similar a 1 conceptos introductorios a los microcontroladores (20)

Sistemas microprogramables
Sistemas microprogramablesSistemas microprogramables
Sistemas microprogramables
 
Wiki
WikiWiki
Wiki
 
Wiki2
Wiki2Wiki2
Wiki2
 
Datasheet
DatasheetDatasheet
Datasheet
 
Trabajo principal liz arleth
Trabajo principal liz  arlethTrabajo principal liz  arleth
Trabajo principal liz arleth
 
Sistemas microprogramables
Sistemas microprogramablesSistemas microprogramables
Sistemas microprogramables
 
Monica,erika y camilo
Monica,erika y camiloMonica,erika y camilo
Monica,erika y camilo
 
Introducción A Microprocesadores
Introducción A MicroprocesadoresIntroducción A Microprocesadores
Introducción A Microprocesadores
 
Sistemas microprogramables
Sistemas microprogramablesSistemas microprogramables
Sistemas microprogramables
 
El Microprocesador
El MicroprocesadorEl Microprocesador
El Microprocesador
 
Presentación 3
Presentación 3Presentación 3
Presentación 3
 
Presentación 3
Presentación 3Presentación 3
Presentación 3
 
Microcontroladores-Microprocesadores
Microcontroladores-MicroprocesadoresMicrocontroladores-Microprocesadores
Microcontroladores-Microprocesadores
 
Krasi historia de_los_ordenadores
Krasi historia de_los_ordenadoresKrasi historia de_los_ordenadores
Krasi historia de_los_ordenadores
 
Presentacion de informatica
Presentacion de informaticaPresentacion de informatica
Presentacion de informatica
 
Qué es un microcontrolador
Qué es un microcontroladorQué es un microcontrolador
Qué es un microcontrolador
 
Arquitectura,simulacion trabajo final
Arquitectura,simulacion trabajo finalArquitectura,simulacion trabajo final
Arquitectura,simulacion trabajo final
 
Trabajo de informatica
Trabajo de informaticaTrabajo de informatica
Trabajo de informatica
 
Trabajo de informatica
Trabajo de informaticaTrabajo de informatica
Trabajo de informatica
 
Arquitectura del microcontrolador
Arquitectura del microcontroladorArquitectura del microcontrolador
Arquitectura del microcontrolador
 

Más de Victor Bernal Sandoval

Más de Victor Bernal Sandoval (7)

Variadores de Velocidad
Variadores de Velocidad Variadores de Velocidad
Variadores de Velocidad
 
Vector control drive c2000
Vector control drive c2000Vector control drive c2000
Vector control drive c2000
 
2017 07-04 ms300 cmm-eip01
2017 07-04 ms300 cmm-eip012017 07-04 ms300 cmm-eip01
2017 07-04 ms300 cmm-eip01
 
Configuración drive delta vfd c2000
Configuración drive delta vfd c2000Configuración drive delta vfd c2000
Configuración drive delta vfd c2000
 
Tesis UAV
Tesis UAVTesis UAV
Tesis UAV
 
Equipo2 fresado, cepillado y rectificado 1
Equipo2 fresado, cepillado y rectificado 1Equipo2 fresado, cepillado y rectificado 1
Equipo2 fresado, cepillado y rectificado 1
 
RAÍCES DE ECUACIONES NO LINEALES
RAÍCES DE ECUACIONES NO LINEALESRAÍCES DE ECUACIONES NO LINEALES
RAÍCES DE ECUACIONES NO LINEALES
 

Último

PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Luis Olivera
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 

Último (20)

PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 

1 conceptos introductorios a los microcontroladores

  • 1. 1 Conceptos introductorios a los microcontroladores Es un circuito integrado programable que contiene todos los componentes de un computador. Se emplea para controlar el funcionamiento de una tarea determinada y, debido a su reducido tamaño, suele ir incorporado en el propio dispositivo al que gobierna. Esta última característica es la que le confiere la denominación de «controlador incrustado» (embedded controller). El microcontrolador es un computador dedicado. En su memoria sólo reside un programa destinado a gobernar una aplicación determinada; sus líneas de entrada/salida soportan el conexionado de los sensores y actuadores del dispositivo a controlar, y todos los recursos complementarios disponibles tienen como única finalidad atender sus requerimientos. Una vez programado y configurado el microcontrolador solamente sirve para gobernar la tarea asignada. Un microcontrolador es un computador completo, aunque de limitadas prestaciones, que está contenido en el chip de un circuito integrado y se destina a gobernar una sola tarea. El número de productos que funcionan en base a uno o varios microcontroladores aumenta de forma exponencial. Los electrodomésticos de línea blanca (lavadoras, hornos, lavavajillas, etc.) y de línea marrón (televisores, vídeos, aparatos musicales, etc.) incorporan numerosos microcontroladores. Igualmente, los sistemas de supervisión, vigilancia y alarma en los edificios utilizan estos chips. También se emplean para optimizar el rendimiento de ascensores, calefacción, aire acondicionado, alarmas de incendio, robo, etc. El esquema general básico de un microcomputador. Se compone de tres bloques fundamentales: la CPU (Central Processing Unit), la memoria, y la entrada y salida. Los bloques se conectan entre sí mediante grupos de líneas eléctricas denominados buses. Los buses pueden ser de direcciones (si transportan direcciones de memoria o de entrada y salida), de datos (si transportan datos o instrucciones) o de control (si transportan señales de control diversas). 1.1 Diferencia entre Microprocesador, Microcomputadora y Microcontrolador. La CPU es el "cerebro" del microcomputador y actúa bajo el control del programa almacenado en la memoria. La CPU se ocupa básicamente de traer las instrucciones del programa desde la memoria, interpretarlas y hacer que se ejecuten. La CPU también incluye los circuitos para realizar operaciones aritméticas y lógicas elementales con los datos binarios, en la denominada Unidad Aritmética y Lógica (ALU: Arithmeticand Logic Unit). En un microcomputador, la CPU no es otra cosa que el microprocesador, el circuito integrado capaz de realizar las funciones antes mencionadas. Un microcontrolador es un
  • 2. microcomputador realizado en un circuito integrado (chip). Históricamente, los microcontroladores aparecieron con posterioridad a los microprocesadores y han tenido evoluciones independientes. Los microprocesadores se han desarrollado fundamentalmente orientados al mercado de los ordenadores personales y las estaciones de trabajo, donde se requiere una elevada potencia de cálculo, el manejo de gran cantidad de memoria y una gran velocidad de procesamiento. Un parámetro importante en los microprocesadores es el tamaño de sus registros internos (8, 16, 32 ó 64 bits), que determina la cantidad de bits que pueden procesar simultáneamente. Los microcontroladores se han desarrollado para cubrir las más diversas aplicaciones. Se usan en automoción, en equipos de comunicaciones y de telefonía, en instrumentos electrónicos, en equipos médicos e industriales de todo tipo, en electrodomésticos, en juguetes, etc. El microprocesador es un circuito integrado que contiene la Unidad Central de Proceso (UCP), también llamada procesador, de un computador. La UCP está formada por la Unidad de Control, que interpreta las instrucciones, y el Camino de Datos, que las ejecuta. Las patitas de un microprocesador sacan al exterior las líneas de sus buses de direcciones, datos y control, para permitir conectarle con la Memoria y los Módulos de E/S y configurar un computador implementado por varios circuitos integrados. Se dice que un microprocesador es un sistema abierto porque su configuración es variable de acuerdo con la aplicación a la que se destine. Un microprocesador es un sistema abierto con el que puede construirse un computador con las características que se desee, acoplándole los módulos necesarios. Un microcontrolador es un sistema cerrado que contiene un computador completo y de prestaciones limitadas que no se pueden modificar. 1.2 Características y aplicaciones de los microcontroladores. Hay varias características que son deseables en un microcontrolador: l. Recursos de entrada y salida. Se requiere hacer énfasis en los recursos de entrada y de salida del dispositivo, tales como el manejo individual de líneas de entrada y salida, el manejo de interrupciones, señales analógicas, etc. 2. Espacio optimizado. Se trata de tener en el menor espacio posible, y a un coste razonable, los elementos esenciales para desarrollar una aplicación. Debido a las dimensiones de su encapsulado.
  • 3. 3. El microcontrolador idóneo para una aplicación. Se procura que el diseñador disponga del microcontrolador hecho a la medida de su aplicación. Con el hardware requerido (más o menos memoria, más o menos dispositivos de entrada y salida, etc.) 4. Seguridad enel funcionamientodel microcontrolador. Uncomponente comúnenlos microcontroladores yque contribuye a una operaciónseguraes el perro guardián(WDT: Watchdog Timer), dispositivo que no existe en los ordenadores personales. 5. Bajo consumo. Dado que hay muchas aplicaciones donde se desea utilizar baterías como fuente de alimentación, es altamente deseable que el microcontrolador consuma poca energía. También interesaque el microcontrolador consumamuy poco cuando no está realizando ninguna acción. 6. Protección de los programas frente a copias. Se trata de proteger la información almacenada en lamemoria,es decir,el programade laaplicación, contralecturasfurtivas de la memoriadel microcontrolador. Los microcontroladores disponen de mecanismos que les protegen de estas acciones. Los microcontroladores se han desarrollado para cubrir las más diversas aplicaciones. Se usan en automoción, en equipos de comunicaciones y de telefonía, en instrumentos electrónicos, en equipos médicos e industriales de todo tipo, en electrodomésticos, en juguetes, etc. Los microcontroladores están concebidos fundamentalmente para ser utilizados en aplicaciones puntuales, es decir, aplicaciones donde el microcontrolador debe realizar un pequeño número de tareas, al menor costo posible. En estas aplicaciones, el microcontrolador ejecuta un programa almacenado permanentemente en su memoria, el cual trabaja con algunos datos almacenados temporalmente e interactúa con el exterior a través de las líneas de entrada y salida de que dispone. El microcontrolador es parte de la aplicación: es un controlador incrustado o embebido en la aplicación (embedded controller). En aplicaciones de cierta envergadura se utilizan varios microcontroladores, cada uno de los cuales se ocupa de un pequeño grupo de tareas. 1.3 Tipos de arquitecturas computacionales. 1.3.1 Arquitecturas von Neumann y Harvard En la memoria de un ordenador, un microcomputador o un microcontrolador, se almacenan instrucciones y datos. Las instrucciones deben pasar secuencialmente a la CPU para su descodificación y ejecución, en tanto que algunos datos en memoria son leídos por la CPU y otros son escritos en la memoria desde la CPU. Puede intuirse que la organización de la memoria y su comunicación con la CPU son dos aspectos que influyen en el nivel de prestaciones del ordenador. Las arquitecturas von Neumann y Harvard son modelos generales del hardware de los ordenadores que representan dos soluciones diferentes al problema de la conexión de la CPU con la memoria y a la organización de la memoria como almacén de instrucciones y datos. La arquitectura von Neumann toma el nombre del matemático John von Neumann que propuso la idea de un ordenador con el programa almacenado (stored-program computer). J. von Neumann trabajó en el equipo de diseñadores de la computadora ENIAC (Electronic
  • 4. Numerical Integrator and Calculator) diseñada en la Universidad de Pennsylvania durante la Segunda Guerra Mundial. El término arquitectura Harvard se debe al nombre del lugar donde Howard Aiken diseñó los ordenadores Mark 1, 11, 111 y IV. Estos ordenadores fueron los primeros en utilizar memorias separadas para instrucciones y datos, una concepción diferente al ordenador de programa almacenado. La arquitectura von Neumann utiliza una memoria única para instrucciones y datos. Esto significa que con un mismo bus de direcciones se localizan (direccionan) instrucciones y datos y que por un único bus de datos transitan tanto instrucciones como datos. La misma señal de control que emite la CPU para leer un dato, sirve para leer una instrucción. No hay señales de control diferentes para datos e instrucciones. Debe quedar claro que aunque se use memoria ROM para almacenar el programa y RAM para los datos, para la CPU no hay tal distinción, sino que ROM y RAM forman un conjunto único (una memoria de lectura y escritura) para el cual la CPU emite señales de control, de dirección y de datos. La arquitectura Harvard utiliza memorias separadas para instrucciones y datos. En este caso la memoria de programa (que almacena instrucciones) tiene su bus de direcciones (de instrucciones), su propio bus de datos (más bien es un bus de instrucciones) y su bus de control. Por otra parte, la memoria de datos tiene sus propios buses de direcciones, datos y control, independientes de los buses de la memoria de programa. La memoria de programa es sólo de lectura, mientras que en la de datos se puede leer y escribir. La arquitectura von Neumann requiere menos líneas que la Harvard para conectar la CPU con la memoria, lo cual significa una conexión más simple entre ambas. Pero con esta arquitectura es imposible manipular simultáneamente datos e instrucciones, debido a la estructura de buses únicos, algo que sí es posible en la arquitectura Harvard, que tiene buses separados. Esto confiere a la arquitectura Harvard la ventaja de una mayor velocidad de ejecución de los programas. Arquitecturas (a) van Neumann y (b) Harvard.La arquitectura van Neumann utiliza una memoria única que se conecta a la CPU mediante los buses de direcciones(BDIR), datos (BDAT) y control (BCON). La arquitectura Harvard utiliza memoriasseparadas para instrucciones y datos,las cuales se conectan a la CPU mediante los buses de direcciones de instrucciones (BDIR-I) y de direcciones de datos (BDIR-D), los buses de instrucciones (BINST) y de datos (BDAT) y los buses de control de instrucciones (BCON-I) y de datos (BCON-D). En los microcomputadores, la CPU es un circuito integrado: el microprocesador. La arquitectura von Neumann requiere menos terminales en el microprocesador que la arquitectura Harvard. Esta fue una razón decisiva para que desde sus inicios los microcomputadores basados en un microprocesador se hayan diseñado utilizado casi exclusivamente la arquitectura von Neumann. En los microcontroladores la situación es diferente. Al estar todos los componentes del sistema dentro del circuito integrado, desaparece la necesidad de minimizar el número de terminales de la CPU, de modo que en
  • 5. ellos ha predominado la arquitectura Harvard. Los microcontroladores PIC son un ejemplo de sistemas con arquitectura Harvard. 1.3.2 Arquitecturas CISC y RISC CISC (Complex Instruction Set Computer) y RISC (Reduced Instruction Set Computer) son dos modelos generales de ordenadores, desde el punto de vista de la concepción de su repertorio de instrucciones, lo cual repercute directamente sobre la arquitectura de la CPU. Un ordenador CISC tiene un repertorio de instrucciones complejo y un ordenador RISC tiene un repertorio de instrucciones reducido. Al aparecer los microprocesadores y los microcontroladores, la tendencia inicial fue proveerlos de un repertorio de instrucciones lo más potente posible, de modo que el modelo predominante fue el CISC. La complejidad de las instrucciones fue en aumento; en un mismo repertorio había instrucciones que hacían operaciones muy simples, como por ejemplo mover un dato desde la memoria al acumulador, junto a otras que efectuaban operaciones tan complejas como mover una cadena de datos de un lugar a otro en la memoria. Las instrucciones tenían diferente longitud y los modos de direccionamiento se hicieron cada vez más elaborados. Este aumento en la complejidad de las instrucciones se reflejó, por supuesto, en la complejidad del hardware de la CPU, en el que se hacía necesario dedicar un gran espacio del circuito integrado a la descodificación y ejecución de las instrucciones. En la arquitectura RISC, la CPU dispone de un repertorio corto de instrucciones sencillas. Cada instrucción puede realizar una operación muy simple, como mover un dato entre la CPU y la memoria, pero a alta velocidad. Se puede lograr que todas las instrucciones tengan la misma longitud. Hay pocos modos de direccionamiento de los datos y son aplicables a todas las celdas de la memoria de datos. La complejidad de la CPU disminuye, de modo que es fácil aumentar la frecuencia del oscilador de la CPU y con ello la velocidad de las instrucciones. Como tienen menos transistores, son más baratas de diseñar y producir. Desde mediados del octavo decenio del siglo XX, ésta ha sido la tendencia predominante en el diseño de microprocesadores y microcontroladores. Los microcontroladores PIC son un ejemplo de dispositivos con arquitectura RISC. 1.4 Tipos de Microcontroladores y sus fabricantes. Los microcontroladores de un mismo tipo forman una familia, que se caracteriza, en general, por tener la misma CPU y ejecutar el mismo repertorio de instrucciones. Es lo que se conoce como "núcleo" (core) del microcontrolador. Los miembros de una familia de microcontroladores tienen el mismo núcleo, pero se diferencian en la entrada y salida y en la memoria. Por ejemplo, todos los microcontroladores de la familia del 8051 (MCS51) tienen una CPU semejante, con un grupo de registros comunes a todos los miembros de la familia, y ejecutan el mismo repertorio de instrucciones. En cambio, los distintos miembros de la familia tienen puertos de entrada y salida y memoria diferentes, en cantidad y tipo. Los microprocesadores y microcontroladores se fabrican como circuitos integrados independientes (stand-alone devices), que contienen exclusivamente al microcontrolador o microprocesador. Pero también el núcleo del procesador puede estar embebido (embedded- processor core) en un circuito integrado de alta escala de integración, cuya función es, en general, configurable por el usuario. Tal es el caso de los denominados Dispositivos Lógicos Programables (PLD: Programmable Logic Devices), entre los que están los FPGA (Field
  • 6. Programmable Gate Array). Los PLD en general y los FPGA en particular, son circuitos de alta escala de integración que disponen de un conjunto de elementos, cuya interconexión es programable por el usuario. Uno de estos elementos puede ser el núcleo de un microcontrolador o un microprocesador, cuya conexión a cierta cantidad de memoria y a dispositivos de entrada y salida disponibles en el PLD, es programable por el usuario. Así se puede configurar un microcontrolador "a la medida" de la necesidad de la aplicación, con la ventaja de ser compatible con un microprocesador o un microcontrolador "estándar", como el 8051 o un PIC, pues tiene su mismo núcleo. Hay un número elevado de compañías que fabrican microcontroladores y microprocesadores en alguna de las formas mencionadas anteriormente. A continuación se presenta una relación de fabricantes de microcontroladores y microprocesadores ( o de dispositivos que utilizan la arquitectura de un determinado microcontrolador o microprocesador), con el correspondiente comentario acerca de los dispositivos que fabrica. • Actel. FPGA connúcleos 8051 yARM7. • Advanced Micro Devices (AMD). Microprocesadores compatibles conxx86. • Altera. FPGA connúcleos Nios 11. • Analog Devices. Arquitecturas para procesamientodigital de señales basadas en núcleos 8052, ARM7 y otros procesadores. • Applied Micro Circuits Corp. (AMCq. Arquitecturas basadas en el microprocesador PowerPC. • ARC Intemational. Arquitecturas basadas en los procesadores ARC 600, ARC 700, etc. • ARM. Arquitecturas basadas en los núcleos de los procesadores ARM7, ARM9, ARMlO, etc. • Atmel. Arquitecturas basadas en Marc 4, A VR, 8051, ARM7, ARM9, ARMll, PowerPCySPARC. • Broadcom. Procesadores para redes de datos y comunicaciones con arquitectura MIPS. • Cambridge Consultants. Arquitecturas basadas en los núcleos de los procesadores XAPl, XAP2 y XAP3. • Cavium Networks. Arquitecturas basadas en MIPS. • Cirrus Logic. Arquitecturas basadas en ARM. • Cradle Technologies. Procesadores digitales de señales: CT3400 y CT3600. • Cyan Technology. Microcontrolador eCOClk. • Cybernetic Micro Systems. ASICs con microcontrolador P-51. • Cypress Microsystems. Dispositivos con arquitectura PSoC (Programmable System-on- Chip). • Dallas Semiconductor. Microcontroladores compatibles con 8051. • EM Microelectronics. Microcontroladores EM6812 de muy bajo consumo. • Freescale Semiconductor (procede de Motorola). Microcontroladores de las familias 68HC05, 68HC08, 68HC11, 68HC12 y 68HC16. Procesadores digitales de señales (DSP: Digital Signa[ Processor). Procesadores ColdFire y PowerQuicc con núcleo PowerPC. . • Fujitsu Microelectronics America. Microcontroladores FR80, MB9140x, F2MC-8FX, etc. • Goal Semiconductor. Arquitecturas basadas en 8051. • Hyperstone. Procesadoresdigitales de señales El-32XSR/XSRU, HyNet32S, etc. • HoltekSemiconductor. Microcontrolador HT8.
  • 7. • Infineon Technologies (antes Siemens). Microcontroladores C500, C800, C166, TriCore, etc. • lnfrant Technologies. Microcontroladores para redes de datos. • Integrated Device Technology (IDT). Procesadores para comunicaciones de datos basados en arquitectura MIPS. • Intel. Microcontroladores de las familias MCS51, MCS151, MCS251, MCS96, MCS296, etc. Microprocesadores xx86, IXP4xx, etc. • Microchip Technology. Microcontroladores PIC (PICmicro) y controladores digitales de señales dsPIC. • MIPS Technologies. Procesadores MIPS (Microprocessor without Interlocked Pipeline Stages). • National Semiconductor. Microcontroladores COP8, CR16 y microprocesadores NS32000. • NEC Electronics America. Microcontroladores 78KO, V850 y otros. • NetSilicon. Procesadores basados en núcleos ARM7 y ARM9. • NXP (antes Philips Semiconductors). Microcontroladores con núcleo 8051, ARM7 y ARM9. • Oki Semiconductor. Microcontroladores con núcleo ARM. • PMC-Sierra. Procesadores basados en MIPS. • Rabbit Semiconductor. Procesadores Rabbit 2000 y 3000. • Renesas Tech. Corp. (antes Hitachi). Microcontroladores R8, H8 y otros. • Sharp Microelectronics. Microcontroladores BlueStreak con núcleo ARM7 y ARM9. • Silicon Laboratories. Microcontroladores con núcleo 8051. • Silicon Storage Technology. Microcontroladores con núcleo 8051. • STMicroelectronics. Microcontroladores con núcleos 8051 y ARM7. • Texas Instruments (TI). Procesadores digitales de señales TMS370 y TMS470, microcontroladores MSP430. • Toshiba America Electronic Components. Microcontroladores CISC y RISC. • Ubicom. Microcontroladores SX, IP2000 e IP3000. • Xemics. Microcontroladores con núcleo CoolRISC. • Xilinx. FPGA con núcleos PowerPC. • ZiLOG. Microcontroladores de 8 bits con arquitecturas Z8 y Z80.
  • 8. 2 Arquitectura interna de un microcontrolador Un microcontrolador posee todos los componentes de un computador, pero con unas características fijas que no pueden alterarse. Las partes principales de un microcontrolador son: 1. Procesador 2. Memoria no volátil para contener el programa 3. Memoria de lectura y escritura para guardar los datos 4. Líneas de EIS para los controladores de periféricos: a) Comunicación paralelo b) Comunicación serie c) Diversas puertas de comunicación (bus l2ºC, USB, etc.) 5. Recursos auxiliares: a) Circuito de reloj b) Temporizadores c) Perro Guardíán («watchdog») d) Conversores AD y DA e) Comparadores analógicos f) Protección ante fallos de la alimentación g) Estado de reposo o de bajo consumo 2.1 Componentes del Microcontrolador Un microcontrolador combina los recursos fundamentales disponibles en un microcomputador, es decir, la unidad central de procesamiento (CPU), la memoria y los recursos de entrada y salida, en un único circuito integrado. Los microcontroladores disponen de un oscilador que genera los pulsos que sincronizan todas las operaciones internas. El oscilador puede ser del tipo RC, aunque generalmente se prefiere que esté controlado por un cristal de cuarzo (XTAL) debido a su gran estabilidad de frecuencia. La velocidad de ejecución de las instrucciones del programa está en relación directa con la frecuencia del oscilador del microcontrolador.
  • 9. Igual que en un microcomputador, la CPU es el "cerebro" del microcontrolador. Esta unidad trae las instrucciones del programa, una a una, desde la memoria donde están almacenadas, las interpreta (descodifica) y hace que se ejecuten. En la CPU se incluyen los circuitos de la ALU para realizar operaciones aritméticas y lógicas elementales con los datos binarios. La CPU de un microcontrolador dispone de diferentes registros, algunos de propósito general y otros para propósitos específicos. Entre estos últimos están el Registro de Instrucción, el Acumulador, el Registro de Estado, el Contador de Programa, el Registro de Direcciones de Datos y el Puntero de la Pila. El Registro de Instrucción (RI) almacena la instrucción que está siendo ejecutada por la CPU. El RI es invisible para el programador. El Acumulador (ACC: Accumulator) es el registro asociado a las operaciones aritméticas y lógicas que se pueden realizar en la ALU. En cualquier operación, uno de los datos debe estar en el ACC y el resultado se obtiene en el ACC. El ACC no existe en los microcontroladores PIC, que tienen en cambio el registro W (Working Register), con características muy parecidas a las del ACC. El Registro de Estado (STATUS) agrupa los bits indicadores de las características del resultado de las operaciones aritméticas y lógicas realizadas en la ALU. Entre estos indicadores están el signo el resultado (si es positivo o negativo), si el resultado es cero, si hay acarreo o préstamo, el tipo de paridad (par o impar) del resultado, etc. El Contador de Programa (PC: Program Counter) es el registro de la CPU donde se almacenan direcciones de instrucciones. Cada vez que la CPU busca una instrucción en la memoria, el PC se incrementa, apuntando así a la siguiente instrucción. En un instante de tiempo dado, el PC contiene la dirección de la instrucción que será ejecutada a continuación. Las instrucciones de transferencia de control modifican el valor del PC. El Registro de Direcciones de Datos (RDD) almacena direcciones de datos situados en la memoria. Este registro es indispensable para el direccionamiento indirecto de datos en la memoria. El RDD toma diferentes nombres según el microcontrolador. En los PIC, el RDD es el registro FSR (File Select Register). El Puntero de la Pila (SP: Stack Pointer) es el registro que almacena direcciones de datos en la pila. En el capítulo 4 se estudian con detalle la pila y el registro SP. Los microcontroladores PIC carecen de registro SP. La memoria del microcontrolador es el lugar donde son almacenadas las instrucciones del programa y los datos que manipula. En un microcontrolador siempre hay dos tipos de memoria: la memoria RAM (Random Access Memory) y la memoria ROM (Read On.ly Memory). La memoria RAM es una memoria de lectura y escritura, que además es volátil, es decir, pierde la información almacenada cuando falta la energía que alimenta la memoria. La memoria ROM es una memoria de solo lectura y no volátil. Las diferentes tecnologías para realizar las memorias de solo lectura (ROM, EPROM, EEPROM, OTP, FLASH) se estudian en el capítulo 3. Tanto la memoria RAM como las memorias ROM son de acceso aleatorio, pero la costumbre ha dejado el nombre de RAM para las memorias de lectura y escritura. El término "acceso aleatorio" se refiere a que el tiempo necesario para localizar un dato no depende del lugar de la memoria donde esté almacenado. En las memorias de acceso secuencial, en cambio, cuando más alejado esté un dato de la posición a la que se ha accedido por última vez, más se tarda en localizarlo. La memoria ROM se usa para almacenar permanentemente el programa que debe ejecutar el microcontrolador. En la memoria RAM se almacenan temporalmente los datos con los que trabaja el programa. Un número creciente de microcontroladores dispone de alguna memoria
  • 10. no volátil de tipo EEPROM para almacenar datos fijos o que sólo sean cambiados esporádicamente. La cantidad de memoria ROM disponible es normalmente muy superior a la cantidad de memoria RAM. Esto obedece a dos razones: la primera es que la gran mayoría de las aplicaciones requieren programas que manejan pocos datos; entonces basta una memoria RAM en la que se pueda almacenar algunas decenas de datos. La segunda razón es que la memoria RAM ocupa mucho más espacio en el circuito integrado que la memoria ROM, de modo que es mucho más costosa que ésta. La entrada y salida es particularmente importante en los microcontroladores, pues a través de ella el microcontrolador interacciona con el exterior. Forman parte de la entrada y salida los puertos paralelo y serie, los temporizadores y la gestión de las interrupciones. El microcontrolador puede incluir también entradas y salidas analógicas asociadas a convertidores A/D y D / A. Tienen particular importancia los recursos que garantizan un funcionamiento seguro del microcontrolador, como el denominado perro guardián. Los puertos paralelos se organizan en grupos de hasta 8 líneas de entradas y salidas digitales. Normalmente es posible manipular individualmente las líneas de los puertos paralelos. Los puertos serie pueden ser de varios tipos, según la norma de comunicación que implementen: RS-232C, I2C, USB, Ethernet, etc. Un requisito general para que un microcontrolador se pueda utilizar en un gran número de aplicaciones es que tenga muchos recursos de entrada y salida. Este requisito está relacionado con el número de terminales del circuito integrado. A la vez se desea tener esos recursos en un circuito integrado lo más pequeño posible. Si cada bloque de entrada y salida tuviera terminales exclusivos en el microcontrolador, posiblemente no alcanzarían los terminales o habría que fabricar microcontroladores con muy pocos recursos de entrada y salida, en contra del interés general. La solución para este problema es que un número importante de terminales del circuito integrado sean compartidos por unidades de entrada y salida diferentes. Es decir, un mismo terminal puede estar conectado internamente a más de un bloque de entrada y salida. Por ejemplo, las líneas de entrada y salida de un puerto serie pueden ser parte de las líneas de un puerto paralelo, etc. 2.1.1 El procesador La necesidad de conseguir elevados rendimientos en el procesamiento de las instrucciones ha desembocado en el empleo generalizado de procesadores de arquitectura Harvard frente a los tradicionales que seguían la arquitectura de von Neumann. Esta última se caracterizaba porque la CPU (Unidad Central de Proceso) se conectaba con una memoria única, donde coexistían datos e instrucciones, a través de un sistema de buses. En la arquitectura Harvard son independientes la memoria de instrucciones y la memoria de datos y cada una dispone de su propio sistema de buses para el acceso. Esta dualidad, además
  • 11. de propiciar el paralelismo, permite la adecuación del tamaño de las palabras y los buses a los requerimientos específicos de las instrucciones y de los datos. También la capacidad de cada memoria es diferente El procesador de los modernos microcontroladores responde a la arquitectura RISC (Computadores de Juego de Instrucciones Reducido), que se identifica por poseer un repertorio de instrucciones máquina pequeño y simple, de forma que la mayor parte de las instrucciones se ejecuta en un ciclo de instrucción. Otra aportación frecuente que aumenta el rendimiento del computador es el fomento del paralelismo implícito, que consiste en la segmentación del procesador (pipe-line), descomponiéndolo en etapas para poder procesar una instrucción diferente en cada una de ellas y trabajar con varias a la vez. El alto rendimiento y elevada velocidad que alcanzan los modernos procesadores, como el que poseen los microcontroladores PIC, se debe a la conjunción de tres técnicas: - Arquitectura Harvard - Computador tipo RISC - Segmentación 2.1.2 Memoria de programa El microcontrolador está diseñado para que en su memoria de programa se almacenen todas las instrucciones del programa de control. No hay posibilidad de utilizar memorias externas de ampliación. Como el programa a ejecutar siempre es el mismo, debe estar grabado de forma permanente. Los tipos de memoria adecuados para soportar esta función admiten cinco versiones diferentes: ROM con máscara: En este tipo de memoria el programa se graba en el chip durante el proceso de su fabricación mediante el uso de «máscaras». Los altos costes de diseño e instrumental sólo aconsejan usar este tipo de memoria cuando se precisan series muy grandes. EPROM: La grabación de esta memoria se realiza mediante un dispositivo físico gobernado desde un computador personal, que recibe el nombre de grabador. En la superficie de la cápsula del microcontrolador existe una ventana de cristal por la que se puede someter al chip de la memoria a rayos ultravioletas para producir su borrado y emplearla nuevamente. Es interesante la memoria EPROM en la fase de diseño y depuración de los programas, pero su coste unitario es elevado. OTP (Programable una vez): Este modelo de memoria sólo se puede grabar una vez por parte del usuario, utilizando el mismo procedimiento que con la memoria EPROM. Posteriormente no se puede borrar. Su bajo precio y la sencillez de la grabación aconsejan este tipo de memoria para prototipos finales y series de producción cortas.
  • 12. EEPROM: La grabación es similar a las memorias OTP y EPROM, pero el borrado es mucho más sencillo al poderse efectuar de la misma forma que el grabado, o sea, eléctricamente. Sobre el mismo zócalo del grabador puede ser programada y borrada tantas veces como se quiera, lo cual la hace ideal en la enseñanza y en la creación de nuevos proyectos. El fabuloso PIC16C84 dispone de 1 K palabras de memoria EEPROM para contener instrucciones y también tiene algunos bytes de memoria de datos de este tipo para evitar que cuando se retira la alimentación se pierda información. Aunque se garantiza 1.000.000 de ciclos de escritura/borrado en una EEPROM, todavía su tecnología de fabricación tiene obstáculos para alcanzar capacidades importantes y el tiempo de escritura de las mismas es relativamente grande y con elevado consumo de energía. FLASH: Se trata de una memoria no volátil, de bajo consumo, que se puede escribir y borrar en circuito al igual que las EEPROM, pero suelen disponer de mayor capacidad que estas últimas. El borrado sólo es posible con bloques completos y no se puede realizar sobre posiciones concretas. En las FLASH se garantizan 1.000 ciclos de escritura-borrado. Son muy recomendables en aplicaciones en las que sea necesario modificar el programa a lo largo de la vida del producto, como consecuencia del desgaste o cambios de piezas, como sucede con los vehículos. Por sus mejores prestaciones está sustituyendo a la memoria EEPROM para contener instrucciones. De esta forma Microchip comercializa dos microcontroladores prácticamente iguales, que sólo se diferencian en que la memoria de programa de uno de ellos es tipo EEPROM y la del otro tipo Flash. Se trata del PIC 16C84 y el PIC 16F84, respectivamente. En la actualidad Microchip tiene abierta una línea de PIC con memoria Flash cada vez más extensa y utilizada. 2.1.3 Memoria de datos Los datos que manejan los programas varían continuamente, y esto exige que la memoria que les contiene debe ser de lectura y escritura, por lo que la memoria RAM estática (SRAM) es la más adecuada, aunque sea volátil. Hay microcontroladores que también disponen como memoria de datos una de lectura y escritura no volátil, del tipo EEPROM. De esta forma, un corte en el suministro de la alimentación no ocasiona la pérdida de la información, que está disponible al reiniciarse el programa. El PIC16C84, el PIC16F83 y el PIC16F84 disponen de 64 bytes de memoria EEPROM para contener datos. La memoria tipo EEPROM y la tipo Flash pueden escribirse y borrarse eléctricamente. Sin necesidad de sacar el circuito integrado del zócalo del grabador pueden ser escritas y borradas numerosas veces. 2.1.4. Líneas de E/S para los controladores de periféricos A excepción de dos patitas destinadas a recibir la alimentación, otras dos para el cristal de cuarzo, que regula la frecuencia de trabajo, y una más para provocar el Reset, las restantes patitas de un microcontrolador sirven para soportar su comunicación con los periféricos externos que controla. Las líneas de E/S que se adaptan con los periféricos manejan información en paralelo y se agrupan en conjuntos de ocho, que reciben el nombre de Puertas. Hay modelos con líneas que soportan la comunicación en serie; otros disponen de conjuntos de líneas que implementan puertas de comunicación para diversos protocolos, como el I2ºC, el USB, etc. 2.1.5. Recursos auxiliares
  • 13. Según las aplicaciones a las que orienta el fabricante cada modelo de microcontrolador, incorpora una diversidad de complementos que refuerzan la potencia y la flexibilidad del dispositivo. Entre los recursos más comunes se citan a los siguientes: a) Circuito de reloj, encargado de generar los impulsos que sincronizan el funcionamiento de todo el sistema. b) Temporizadores, orientados a controlar tiempos. c) Perro Guardián («watchdog»), destinado a provocar una reinicialización cuando el programa queda bloqueado. d) Conversores AD y DA, para poder recibir y enviar señales analógicas. e) Comparadores analógicos, para verificar el valor de una señal analógica. f) Sistema de protección ante fallos de la alimentación. g) Estado de Reposo, en el que el sistema queda «congelado» y el consumo de energía se reduce al mínimo. 2.2 Registros internos. Un parámetro importante en los microprocesadores es el tamaño de sus registros internos (8, 16, 32 ó 64 bits), que determina la cantidad de bits que pueden procesar simultáneamente. 2.3 Tipos y distribución de las memorias internas. 2.4 Periféricos internos. 2.5 Las instrucciones del microcontrolador