Adquisición de magnitudes físicas mediante microcontrolador

Anuncio
• Pasado, presente y futuro de los microcontroladores.
• Concepto.
Recibe el nombre de controlador, el dispositivo que se emplea para el gobierno de uno o varios procesos.
Aunque el concepto de controlador ha permanecido invariable a través de los tiempos, su implementación
física ha variado frecuentemente. Hace tres décadas, los controladores se construían exclusivamente con
componentes de lógica discreta; posteriormente se emplearon los microprocesadores, que se rodeaban con
chips de memoria y E/S sobre una tarjeta de circuito impreso.
En la década de los 70, los fabricantes de circuitos integrados iniciaron la difusión de un nuevo circuito para
control, medición e instrumentación al que llamaron microcomputador en un sólo chip o de manera más
exacta microcontrolador.
Un microcontrolador es un circuito integrado programable que contiene todos los componentes de un
computador aunque de limitadas prestaciones. 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 dispositivo 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 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.
• El pasado y el presente de los microcontroladores.
El microcontrolador es uno de los logros más sobresalientes del siglo XX. Hace un cuarto de siglo tal
afirmación habría parecido absurda. Pero cada año, el microcontrolador se acerca más al centro de nuestras
vidas, forjándose un sitio en el núcleo de una máquina tras otra. Su presencia ha comenzado a cambiar la
forma en que percibimos el mundo e incluso a nosotros mismos. Cada vez se hace más difícil pasar por alto el
microcontrolador como otro simple producto en una larga línea de innovaciones tecnológicas.
Ninguna otra invención en la historia se ha diseminado tan aprisa por todo el mundo o ha tocado tan
profundamente tantos aspectos de la existencia humana. Hoy existen casi 15,000 millones de microchips de
alguna clase en uso. De cara a esa realidad, ¿Quién puede dudar que el microcontrolador no sólo está
transformando los productos que usamos, sino también nuestra forma de vivir y, por último, la forma en que
percibimos la realidad?
Desde luego, éste es el milagro. Decenas de miles de microcontroladores se integran todos los días en las
plantas de manufactura más avanzadas jamás conocidas, donde un simple gránulo de polvo puede significar el
desastre, donde los procesadores ocurren en ambientes más limpios que ningún otro sitio en la tierra. Incluso
el agua que utiliza para enjuagar las superficies de los chips terminados es más pura que la que se utiliza en la
cirugía a corazón abierto.
Y no obstante, pese a un proceso de manufactura extraordinariamente refinado, los microchips se producen a
razón de más de 1.000 millones de unidades por año. Para poner esta complejidad en perspectiva, imagine que
dentro de cada microcontrolador diminuto existe una estructura tan compleja como una ciudad de tamaño
mediano, incluidas todas sus líneas de energía eléctrica, líneas telefónicas, líneas de drenaje, edificios, calles y
casas. Ahora imagine que en esa misma ciudad, millones de personas se desplazan a la velocidad de la luz y
1
con la sincronización perfecta en una danza de coreografía muy complicada. Y eso es tan sólo un chip.
En la siguiente fotografía se puede observar el diminuto tamaño de un microcontrolador comparado con una
aguja:
De todas las estadísticas asombrosas que se utilizan para describir el mundo del microcontrolador, ninguna es
más extraordinaria que ésta: el número total de transistores que integran todos los microchips que se
producirán en el mundo este año es equivalente al número de gotas de lluvia que caerán en California durante
ese mismo periodo.
Pero el microcontrolador ya ha eclipsado hasta a la Revolución Industrial. Evolucionando a mayor velocidad
que ningún otro invento en la historia, la capacidad del microcontrolador ha aumentado 10.000 veces en los
últimos 25 años.
El mayor atributo del microcontrolador es que puede integrar inteligencia casi a cualquier artefacto. Se le
puede entrenar para adaptarse a su entorno, responder a condiciones cambiantes y volverse más eficiente y
que responda a las necesidades únicas de sus usuarios.
• El futuro de los microcontroladores.
Lo que es notable, y quizá un poco atemorizante, es que por todos los indicios, estamos tan sólo a la mitad de
la historia del microcontrolador. No es muy aventurado sugerir que la humanidad tardará otro siglo en
comprender todas las implicaciones de esta revolución. Por lo tanto, todos los milagros de que somos testigos
hoy como resultado del microcontrolador, podrían ser una pequeña fracción de todas las maravillas que
obtendremos de este dispositivo en este nuevo siglo.
El número de productos que funcionan en base a uno o varios microcontroladores aumenta de forma
exponencial. No es aventurado pronosticar que en el siglo XXI habrá pocos elementos que carezcan de
microcontrolador.
• Microcontroladores programables.
2
Un microcontrolador contiene toda la estructura (arquitectura) de un sencillo pero completo computador
contenidos en el corazón (chip) de un circuito integrado. Los resultados de tipo práctico, que pueden lograrse
a partir de éstos elementos, son sorprendentes.
Se trata de un circuito integrado de alta escala de integración que incorpora la mayor parte de los elementos
que configuran un controlador. Se dice que es la solución en un chip porque su reducido tamaño minimiza el
número de componentes y el coste.
Los componentes de los que dispone normalmente un microcontrolador son:
• Procesador o UCP (Unidad central de proceso).
• Memoria RAM para contener los datos.
• Memoria para el programa tipo ROM/PROM/EPROM.
• Líneas de E/S para comunicarse con el exterior.
• Diversos módulos para el control de periféricos (Temporizadores, puertas serie y paralelo, CAD, etc.)
• Generador de impulsos de reloj que sincronizan el funcionamiento de todo el sistema.
Fig. 2.1. Estructura típica de un microcontrolador.
Según el modelo de microcontrolador que se trate, el tamaño y el tipo de memoria pueden diferir, así como el
número de líneas de E/S y los módulos de control de periféricos. La diversificación de modelos, permite
seleccionar el más adecuado según la aplicación de que se trate. Una estructura interna fija supone una
limitación, que se convierte en una ventaja en el caso de que en un simple circuito integrado residan todos los
componentes que necesita el controlador.
La única limitación que tienen las aplicaciones de los microcontroladores actuales está en la imaginación del
diseñador. Los campos más destacados en los que se emplean microcontroladores son los siguientes:
• Automatización industrial.
• Medida y control de procesos.
• Enseñanza e investigación.
• Periféricos y dispositivos auxiliares de las computadoras.
• Electrodomésticos.
• Aparatos portátiles y de bolsillo.
• Máquinas expendedoras y juguetería.
• Instrumentación.
• Industria de la automoción.
• Electromedicina.
3
• Robótica.
• Sistemas de navegación.
• Sistemas de seguridad y alarma.
• Domótica.
• Termorregulación.
La industria de la informática acapara gran parte de los microcontroladores que se fabrican. Casi todos los
periféricos de un ordenador, desde el ratón hasta la impresora o el teclado, son regulados por el programa de
un microcontrolador.
Los electrodomésticos de gama 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 para optimizar el rendimiento de
ascensores, calefacción, aire acondicionado, alarmas de incendio y robo, etc.
Las comunicaciones y sus sistemas de transferencia de información utilizan profusamente estos pequeños
computadores, incorporándolos en los grandes automatismos y en los modernos teléfonos.
La instrumentación y la electromedicina son dos campos idóneos para la implantación de estos circuitos
integrados. Una importante industria consumidora de microcontroladores es la de automoción, que los aplica
en el control de aspectos tan populares como la climatización o los frenos ABS.
A continuación se muestra un gráfico de la distribución de la producción mundial de microcontroladores en
las diversas áreas de aplicación:
Fig. 2.2. Distribución por sectores de aplicación.
Los productos que para su regulación incorporan un microcontrolador, disponen de las siguiente ventajas:
• Aumento de prestaciones.
• Aumento de la fiabilidad.
• Reducción del tamaño en el producto acabado.
• Menor consumo de energía.
• Mayor flexibilidad.
• Reducción del precio del producto acabado.
• Clasificación de los microcontroladores.
4
Teniendo en cuenta que existen más de 50 fabricantes de microcontroladores en el mundo, la clasificación de
los microcontroladores parece realmente difícil, ya que puede hacerse de infinidad de formas, atendiendo a
multitud de criterios.
• Tamaño de los datos.
Según el tamaño de los datos que procesa el microcontrolador se puede distinguir entre:
• Microcontroladores de 4 bits.
• Microcontroladores de 8 bits.
• Microcontroladores de 16 bits.
• Microcontroladores de 32 bits.
• Microcontroladores de 64 bits.
El más representativo de esta clasificación es el microcontrolador de 8 bits porque resulta el más flexible y
eficaz para la mayoría de los diseños típicos. Aunque en los últimos años, los microcontroladores de 16 bits
están aumentado significativamente su cuota de mercado.
Fig 2.3. Distribución del mercado mundial en el año 1999.
• Arquitectura básica.
Según la arquitectura interna de la memoria del microcontrolador se puede distinguir entre:
• Microcontroladores con arquitectura Von Neumann.
• Microcontroladores con arquitectura Harvard.
Inicialmente, todos los microcontroladores adoptaron la arquitectura clásica de Von Neumann. Actualmente,
muchos microcontroladores utilizan esta arquitectura, pero poco a poco se impone la arquitectura Harvard.
La arquitectura de Von Neumann se caracteriza por disponer de una sola memoria principal donde se
almacenan datos e instrucciones de forma indistinta. A dicha memoria se accede por un sistema de buses
único (direcciones, datos y control). Esta arquitectura presenta algunos problemas cuando se demanda rapidez.
La arquitectura Harvard dispone de dos memorias independientes; una, que contiene sólo instrucciones y otra,
sólo datos. Ambas, disponen de sus respectivos sistemas de buses de acceso y es posible realizar operaciones
5
de acceso (lectura o escritura) simultáneamente en ambas memorias. Esta estructura no modifica nada desde el
punto de vista del usuario y la velocidad de ejecución de los programas es impresionante.
• Arquitectura del procesador o UCP.
Según la filosofía de la arquitectura del procesador se puede distinguir entre:
• Microcontroladores CISC.
• Microcontroladores RISC.
• Microcontroladores SISC.
Un microcontrolador basado en la filosofía CISC (Computadores de Juego de Instrucciones Complejo)
dispone de más de 80 instrucciones máquina en su repertorio, algunas de las cuales son muy sofisticadas y
potentes, requiriendo muchos ciclos para su ejecución.
Una ventaja de los procesadores CISC es que ofrecen al programador instrucciones complejas que actúa como
macros.
Tanto la industria de los computadores comerciales como los de los microcontroladores están decantándose
hacia la filosofía RISC (Computadores de Juego de Instrucciones Reducido). En estos procesadores el
repertorio de instrucciones máquina es muy reducido y las instrucciones son simples y, generalmente, se
ejecuta en un solo ciclo.
La sencillez y rapidez de las instrucciones permiten optimizar el hardware y el software del procesador.
En los microcontroladores destinados a aplicaciones muy concretas, el juego de instrucciones, además de ser
reducido, es específico, o sea, las instrucciones se adaptan a las necesidades de la aplicación prevista. Esta
filosofía se ha bautizado con el nombre de SISC (Computadores de Juego de Instrucciones Específico).
• Arquitectura cerrada o abierta.
Entre los fabricantes de microcontroladores hay dos tendencias para resolver las demandas de los usuarios.
Los microcontroladores con arquitectura cerrada poseen una determinada UCP, cierta cantidad de memoria de
datos, cierto tipo y capacidad de memoria de instrucciones, un número de E/S y un conjunto de recursos
auxiliares muy concreto. El modelo no admite variaciones ni ampliaciones. La aplicación a la que se destina
debe encontrar en su estructura todo lo que precisa, y en caso contrario, hay que desecharlo.
Los microcontroladores con arquitectura abierta se caracterizan porque, además de poseer una estructura
interna determinada, emplean sus líneas de E/S para sacar al exterior los buses de datos, direcciones y control,
con lo que se posibilita la ampliación de la memoria y las E/S con circuitos integrados externos. Esta solución
se asemeja a la que emplean los clásicos microprocesadores.
La línea que separa unos de otros es muy delgada, pero el concepto de microcontrolador se acerca
posiblemente más a la arquitectura cerrada.
• Tipo de memoria de programa.
En los microcontroladores la memoria de instrucciones y datos está integrada en el propio chip. Una parte
debe ser no volátil, tipo ROM, que se destina a contener el programa de instrucciones que gobierna la
aplicación. Otra parte de memoria debe ser volátil, tipo RAM, y se destina a guardar las variables y los datos.
6
Existen principalmente cinco versiones de memoria no volátil que se pueden encontrar en los
microcontroladores del mercado:
• Memoria ROM con máscara.
• Memoria OTP.
• Memoria EPROM.
• Memoria EEPROM.
• Memoria Flash.
La memoria ROM con máscara es no volátil y de sólo lectura, cuyo contenido se graba durante la fabricación
del chip. El elevado coste del diseño de la máscara sólo hace aconsejable el empleo de los microcontroladores
con este tipo de memoria cuando se precisan cantidades superiores a varios miles de unidades.
La memoria OTP (One Time Programmable) es no volátil, de sólo lectura y programable una sola vez por el
usuario. La grabación se realiza mediante un sencillo grabador controlado por un programa desde un PC.
La versión OTP es recomendable cuando es muy corto el ciclo de diseño del producto, o bien, en la
construcción de prototipos o serie muy pequeñas.
Los microcontroladores que disponen de memoria EPROM (Erasable Programmable Read Only Memory),
pueden borrarse y grabarse muchas veces. La grabación se realiza, como en el caso de la memoria OTP. Si,
posteriormente, se desea borrar el contenido, disponen de una ventana de cristal en su superficie por la que se
somete a le EPROM a rayos ultravioleta durante varios minutos.
La memoria EEPROM (Electrical EPROM) es de sólo lectura, programable y borrable eléctricamente. Tanto
la programación como el borrado, se realizan eléctricamente desde el propio grabador y bajo el control
programado de un PC, y puede hacerse con el microcontrolador instalado en el circuito. Es muy cómoda y
rápida la operación de grabado y la de borrado.
La memoria Flash es no volátil, de bajo consumo y puede grabarse y borrarse eléctricamente. Funciona como
una ROM y una RAM pero consume menos energía y es más pequeña. La memoria Flash también puede
programarse en circuito, además, es más rápida, tiene mayor densidad y tolera más ciclos de escritura/borrado
que la EEPROM.
• Prestaciones y recursos especiales.
Además de las clasificaciones anteriores, se podrían hacer otras dos clasificaciones más. Atendiendo a las
prestaciones y atendiendo a los recursos especiales que pueden tener los microcontroladores.
7
Respecto a las prestaciones cabe destacar:
• Precio.
• Velocidad de ejecución de código.
• Eficiencia en la compactación de código.
• Inmunidad al ruido.
Indudablemente, el precio es uno de los factores decisivos a la hora de emplear uno u otro microcontrolador.
La velocidad de ejecución del código depende principalmente de la frecuencia de funcionamiento del
microcontrolador, pero también influyen otras características como la arquitectura o el tipo de memoria
empleada.
En lo que se refiere al número de palabras en la memoria que emplea cada microcontrolador en contener un
programa, esta depende sobre todo de la arquitectura básica y de la longitud de la palabra de datos.
La inmunidad al ruido, así como otras características especiales como rangos amplios de temperaturas de
funcionamiento, destacan sobre todo en microcontroladores destinados al uso militar.
Los recursos especiales más comunes que pueden poseer los microcontroladores son los siguientes:
• Temporizador y/o contador.
• Perro guardián o Watchdog.
• Protección ante el fallo de la alimentación.
• Estado de reposo o de bajo consumo.
• Conversor analógico−digital (CAD).
• Conversor digital−analógico (CDA).
• Comparador analógico.
• Modulador de anchura de impulsos o PWM.
• Puertas de entrada y salidas digitales.
• Puertas de comunicación (USART, USB, SCI, etc.)
Los temporizadores se emplean para controlar periodos de tiempo, actuando como temporizador, o para llevar
la cuenta de acontecimientos que suceden en el exterior, actuando como contador.
El perro guardián consiste en un temporizador que cuando se desborda provoca un reset automáticamente en
el microcontrolador, para así evitar que el sistema se quede colgado. Se debe diseñar el programa de tan modo
que refresque o inicialice el perro guardián antes de que provoque el reset.
La protección ante el fallo de la alimentación consiste en un circuito que provoca un reset al microcontrolador
cuando el voltaje de alimentación sea inferior a un voltaje mínimo. Mientras el voltaje de alimentación sea
inferior al mínimo, el dispositivo se mantiene reseteado, comenzando a funcionar normalmente cuando
sobrepasa dicho valor.
Son abundantes las situaciones reales en las que el microcontrolador debe esperar, sin hacer nada, a que se
produzca algún acontecimiento externo que le ponga de nuevo en funcionamiento. Para ahorrar energía, factor
clave en los aparatos portátiles, los microcontrolador disponen de una instrucción especial que les pasa al
estado de reposo o de bajo consumo, en el cual los requerimientos de potencia son mínimos.
Los microcontrolador que incorporan un convertidor analógico−digital, pueden procesar señales analógicas,
tan abundantes en las aplicaciones. Suelen disponer de un multiplexor que permite aplicar a la entrada del
CAD diversas señales analógicas desde los terminales del circuito integrado.
8
El conversor digital−analógico transforma los datos digitales obtenidos del procesamiento del
microcontrolador, en su correspondiente señal analógica, que saca al exterior por unos terminales de la
cápsula. Existen muchos efectores que trabajan con señales analógicas.
Algunos modelos de microcontrolador disponen internamente de un amplificador operacional que actúa como
comparador analógico entre una señal de referencia fija y otra variable que se aplica por una de los terminales
de la cápsula. La salida de comparador proporciona un nivel lógico 1 ó 0 según una señal sea mayor o menor
que la otra.
El modulador de anchura de pulsos o PWM, es un circuito que proporciona en su salida impulsos de anchura
variable, que se ofrecen al exterior a través de los terminales del encapsulado.
Todos los microcontrolador destinan algunos de sus terminales a soportar líneas de entrada y salida digitales.
Por lo general, estas líneas se agrupan de ocho en ocho, formando así lo que se conoce como puertas.
Con el objeto de dotar al microcontrolador de la capacidad de comunicarse con otros dispositivos externos,
otros buses de microcontrolador o microprocesadores, buses de sistemas o buses de redes y poder adaptarlos
con otros elementos y con otras normas y protocolos, algunos microcontrolador disponen de puertas de
comunicación. Destacan las conexiones serie UART y USART, las puertas paralelas, o el moderno bus serie
USB desarrollado para los PC.
• Consideraciones de diseño. La elección del microcontrolador.
El primer escollo al que se enfrenta un ingeniero a la hora de materializar una idea usando un
microcontrolador, es la elección de una familia de microcontroladores y dentro de esta, un modelo en concreto
que se ajuste lo mejor posible a las necesidades del diseño.
Todos los microcontroladores que se fabrican hoy en día son buenos, y el mejor no siempre es el mismo.
Cambian el modelo y el fabricante según la aplicación y las circunstancias que lo envuelven.
Es el mercado existen multitud de fabricantes. La elección de un microcontrolador PIC de Microchip frente a
otros más conocidos como el 80XX de Intel, el 68XX de Motorola, el ST−62XX de SGS−Thomson o el
Z86XX de Zilog, se debe a características como su bajo precio, velocidad, reducido consumo, pequeño
tamaño, facilidad de uso, fácil programabilidad o la abundancia de información y de herramientas económicas
de soporte.
• Características de otros microcontroladores.
• Altair.
Altair es el nombre genérico de una familia de microcontroladores de propósito general compatibles
con la familia 51. Todos ellos son programables directamente desde un equipo PC mediante lenguaje
macroensamblador, o bien mediante otros lenguajes disponibles para la familia 51 (Basic, C, etc.).
Los microcontroladores Altair disponen de un microprocesador de 8 bits 100% compatible a nivel de
código, 256 bytes de memoria interna, 128 registros especiales de función, puertos de entrada/salida de
propósito general, 111 instrucciones y posibilidad de direccionar 128 Kbytes.
Existen distintos modelos dependiendo de la velocidad de ejecución, del número de E/S o de los
periféricos de los que dispongan (DAC, ADC, Watchdog, PWM, etc.). La elección de un modelo u otro
dependerá de las necesidades.
Como entrenador o sistema de iniciación existen varios modelos, entre los que destacan el Altair 32
9
Básico o bien el Altair 535A completo. Para proyectos avanzados o desarrollos profesionales, el Altair
537 A.
• Intel.
El 8051 es el primer microcontrolador de la familia introducido por Intel Corporation. La familia 8051 de
microcontroladores son controladores de 8 bits capaces de direccionar hasta 64 Kbytes de memoria de
programa y una separada memoria de datos de 64 Kbytes.
El 8031(la versión sin ROM interna del 8051, siendo esta la única diferencia) tiene 128 bytes de RAM interna
(el 8032 tiene RAM interna de 256 bytes y un temporizador adicional). El 8031 tiene dos
temporizadores/contadores, un puerto serie, cuatro puertos de entrada/salida paralelas de propósito general
(P0, P1, P2 y P3) y una lógica de control de interrupción con cinco fuentes de interrupciones. Al lado de la
RAM interna, el 8031 tiene varios registros de funciones especiales (SFR) que son para el control y registros
de datos. Los SFR también incluyen el registro acumulador, el registro B, y el registro o palabra de estado de
programa (PSW), que contiene los flags de la CPU.
La ROM interna del 8051 y el 8052 no pueden ser programados por el usuario. El usuario debe suministrar el
programa al fabricante, y el fabricante programa los microcontroladores durante la producción. Debido a
costos, la opción de la ROM programado por el fabricante no es económica para producción de pequeñas
cantidades.
El 8751 y el 8752 son las versiones EPROM del 8051 y el 8052. Estos pueden ser programados por los
usuarios.
Durante la década pasada muchos fabricantes introdujeron miembros mejorados del microcontrolador 8051.
Las mejoras incluyen más memoria, más puertos, convertidores analógico−digital, más temporizadores, más
fuentes de interrupción, Watchdog, y subsistemas de comunicación en red. Todos los microcontroladores de la
familia usan el mismo conjunto de instrucciones, el MCS−51. Las características mejoradas son programadas
y controladas por SFR adicionales.
• Siemens.
El Siemens SAB80C515 es un miembro mejorado de la familia 8051 de microcontroladores. El 80C515 es de
tecnología CMOS que típicamente reduce los requerimientos de energía. Las características que tiene frente al
8051 son más puertos, un versátil convertidor analógico−digital, un segundo temporizador optimizado, un
Watchdog, y modos de ahorro de energía sofisticados.
El 80C515 es completamente compatible con el 8051. Esto es, usa el mismo conjunto de instrucciones del
lenguaje ensamblador MCS−51. Las nuevas facilidades del chip son controladas y monitoreadas a través de
SFR adicionales.
• Motorola.
El 68hc11 de Motorola, es un potente microcontrolador de 8 bits en su bus de datos, 16 bits en su bus de
direcciones, con un conjunto de instrucciones que es similar a los más antiguos miembros de la familia 68xx
(6801, 6805, 6809). El 68hc11 dispone internamente de memoria de programa EEPROM u OTP, memoria de
datos RAM, temporizadores, convertidor A/D de 8 bits y 8 canales, generador PWM, y canales de
comunicación síncrona (SPI) y asíncrona (SCI). La corriente típica que maneja es menor que 10 mA.
La CPU tiene dos acumuladores de 8 bits (A y B) que pueden ser concatenado para suministrar un acumulador
doble de 16 bits (D). Dos registros índices de 16 bits están presentes (X, Y) para suministrar indexamiento
10
para cualquier lugar dentro del mapa de memoria. El tener dos registros índices significa que el 68hc11 es
muy bueno para el procesamiento de datos. Aunque es un microcontrolador de 8 bits, el 68hc11 tiene algunas
instrucciones de 16 bits. También dispone de un puntero de pila de 16 bits y de instrucciones para la
manipulación de la pila.
• Análisis comparativo de prestaciones.
La arquitectura Harvard y la técnica de segmentación, son los principales recursos en los que se apoya el
elevado rendimiento de los microcontroladores PIC, mejorando dos características que son esenciales, como
la velocidad de ejecución y la eficiencia en la compactación del código.
A continuación se proporciona una comparación entre los modelos PIC16C5X a 20 Mhz, frente a los de otros
importantes fabricantes.
• National COP800 a 20 Mhz.
• SGS−Thomson ST62 a 8 Mhz.
• Motorola MC68HC05 a 4,2 Mhz.
• Zilog Z86CXX a 12 Mhz.
• Intel 8048/8049 a 11 Mhz.
Resultados de la comparativa respecto al tamaño promedio que ocupa el código de los programas usados en la
prueba para los diversos modelos de microcontroladores usados.
Fig. 3.1. Tamaño relativo del código.
En lo que se refiere al número de palabras en la memoria de instrucciones que emplea cada microcontrolador
en contener cada programa de prueba, hay que precisar que la longitud de las palabras que contienen código
en los PIC16C5X es de 12 bits por tener una memoria de instrucciones independiente, frente a 8 bits del resto
de modelos. La gráfica muestra esta situación representando en color más claro, el código equivalente en el
caso de considerar la memoria de programa de 8 bits en todos los modelos.
Resultados de la comparativa respecto a la velocidad promedio con la que ejecutan los diversos
microcontroladores el conjunto de programas de prueba.
11
Fig. 3.2. Velocidad promedio de ejecución.
Para ser más justos en la comparativa, también se han representado los resultados, en color más claro,
teniendo en cuenta la velocidad de reloj, es decir, representando la velocidad equivalente en el caso de que
todos los modelos funcionen a 20 Mhz.
El estudio se ha realizado tomando como base un conjunto de programas de prueba y midiendo el tiempo
promedio que tardan en ser ejecutados por los diversos microcontroladores comparados, así como el espacio
de código que ocupan en la memoria de instrucciones. Los programas seleccionados para la prueba son muy
sencillos pero muy representativos de las acciones típicas que llevan a cabo las aplicaciones que utilizan
microcontroladores. Son los siguientes:
• Empaquetamiento de dos dígitos BCD.
• Control de un bucle que decrementa un contador hasta cero.
• Transmisión síncrona por desplazamiento serie.
• Temporizador software de 10 ms.
• Exploración de un bit y salto si vale 1.
• La familia de microcontroladores PIC de Microchip.
Los microcontroladores PIC de Microchip Technology Inc. combinan una gran calidad unida a un bajo coste
y un excelente rendimiento. Un gran número de estos microcontroladores se usan en una gran cantidad de
aplicaciones tan comunes como periféricos del ordenador, datos de entrada automoción de datos, sistemas de
seguridad y aplicaciones en el sector de telecomunicaciones.
Existen multitud de sistemas de desarrollo amistosos como programadores, emuladores, ensambladores,
linkadores, etc.
• Características relevantes.
Las características más representativas de los PIC son las siguientes:
• Arquitectura del procesador tipo Harvard.
• Técnica de segmentación o pipe−line en la ejecución de las instrucciones.
• El formato de todas las instrucciones tiene la misma longitud.
• Procesador RISC (Computador de Juego de Instrucciones Reducido).
• Todas las instrucciones son ortogonales.
• Arquitectura basada en banco de registros.
12
• Diversidad de modelos de microcontroladores con prestaciones y recursos diferentes.
• Herramientas de soporte potentes y económicas.
En el modelo de arquitectura Harvard la UCP se conecta de forma independiente y con buses distintos con la
memoria de instrucciones y con la de datos, permitiendo acceder simultáneamente a las dos memorias.
La segmentación permite al procesador realizar al mismo tiempo la ejecución de una instrucción y la
búsqueda del código de la siguiente. De esta forma se puede ejecutar cada instrucción en un ciclo (un ciclo de
instrucción equivale a cuatro ciclos de reloj).
Las instrucciones de salto ocupan dos ciclos de reloj al no conocer la dirección de la siguiente instrucción
hasta que no se haya completado la de bifurcación.
Todas las instrucciones de los microcontroladores PIC tienen una misma longitud, esta sólo depende de la
gama. Esta característica es muy ventajosa en la optimización de la memoria de instrucciones y facilita
enormemente la construcción de ensambladores y compiladores.
Las instrucciones ortogonales pueden manejar cualquier elemento de la arquitectura como fuente o destino.
Además, todos los elementos del sistema (puertas de E/S, temporizadores, posiciones de memoria, etc.) están
implementados físicamente como registros.
La empresa Microchip y otras que utilizan PIC ponen a disposición de los usuarios numerosas herramientas
para desarrollar hardware y software. Son muy abundantes los programadores, simuladores software,
emuladores en tiempo real, ensambladores, compiladores C y Basic, intérpretes, etc.
• Las gamas de PIC.
El fabricante Microchip realiza una clasificación en gamas. Cada gama tiene características en común y que la
distinguen de las demás.
• La gama baja.
La gama baja de los PIC encuadra nueve modelos fundamentales en la actualidad. La memoria de programa
puede contener 512, 1 k o 2 k palabras de 12 bits, y ser de tipo ROM, OTP o EPROM. La memoria de datos
SRAM puede tener una capacidad comprendida entre 25 y 73 bytes. Sólo disponen de un temporizador
(TMR0), un repertorio de 33 instrucciones y un número de terminales para soportar las E/S comprendido entre
12 y 20. Al no disponer de interrupciones, la pila sólo tiene dos niveles de profundidad.
El voltaje de alimentación admite un valor muy flexible comprendido entre 2 y 6,25 voltios, lo cual posibilita
el funcionamiento mediante pilas corrientes teniendo en cuenta su bajo consumo, menos de 2 mA a 5 V y 4
Mhz.
• La gama media.
En esta gama sus componentes añaden nuevas prestaciones a las que poseen los de la gama baja, haciéndoles
más adecuados en las aplicaciones complejas. El repertorio es de 35 instrucciones y la longitud de las
instrucciones es de 14 bits. Admiten interrupciones, poseen comparadores de magnitudes analógicas,
convertidores A/D, puertas serie y diversos temporizadores.
Algunos modelos disponen de una memoria de instrucciones del tipo OTP y otros de memoria EEPROM.
El temporizador TMR1 de que dispone esta gama tiene un circuito oscilador que puede trabajar
13
asíncronamente y que puede incrementarse aunque el microcontrolador se halle en el modo de reposo,
posibilitando la implementación de un reloj en tiempo real.
Las líneas de E/S de la puerta B presentan unas resistencias de carga pull−up activadas por software.
• La gama alta.
En la actualidad, esta gama está formada principalmente por tres modelos cuyas características responden a
microcontroladores de arquitectura abierta, pudiéndose expansionar hacia el exterior al poder sacar los buses
de datos, direcciones y control. Así se pueden configurar sistemas similares a los que utilizan los
microprocesadores convencionales, siendo capaces de ampliar su configuración interna, añadiendo nuevos
dispositivos de memoria y de E/S externas. Esta facultad obliga a estos componentes a tener un elevado
número de terminales comprendido entre 40 y 44.
Admiten interrupciones, poseen puerto serie, varios temporizadores y mayores capacidades de memoria, que
alcanza los 8 k palabras en la memoria de instrucciones y 454 bytes en la memoria de datos. El formato de las
instrucciones es de 16 bits y la pila dispone de 16 niveles de profundidad. El repertorio es de 55 o 58
instrucciones según modelo. La frecuencia máxima de funcionamiento es de 25 Mhz, con un ciclo de
instrucción de 160 ns.
• Microcontroladores nuevos y especiales.
Todos los fabricantes de microcontroladores lanzan continuamente nuevos productos para satisfacer la
demanda creciente. Microchip dispone, además de los microcontroladores encuadrados en las tres gamas
anteriores, de otros microcontroladores con características distintas:
El PIC12C5XX tiene un encapsulado de sólo 8 terminales. Dispone de hasta 1 k palabras de 12 bits de
memoria de programa EPROM y hasta 41 bytes de memoria de datos. Funciona a una frecuencia de 4 Mhz,
con un ciclo de instrucción de 1 s. El repertorio es de 33 instrucciones y el direccionamiento de datos e
instrucciones puede ser directo, indirecto o relativo.
El PIC16C92X está especializado en el control de pantallas LCD. Dispone de 4 k palabras de 14 bits de
memoria de programa EPROM y 176 bytes de memoria de datos SRAM. Trabaja a 8 Mhz con un ciclo de
instrucción de tan solo 500 ns. El repertorio es de 35 instrucciones. Tiene la capacidad de generar
interrupciones y admite direccionamiento directo, indirecto o relativo.
Además de los recursos típicos, el PIC16C92X también dispone de tres temporizadores, módulo de captura,
módulo PWM, puerta serie síncrona (SSP/I2C), convertidor A/D de 8 bits y un módulo programable para el
control de un LCD.
En la tabla siguiente se exponen a grandes rasgos las características más importantes de las gamas baja, media
y alta.
Arquitectura
Procesador tipo
Segmentación
Máxima frecuencia
Repertorio instrucciones
Longitud instrucciones
Tipo memoria ROM
Gama baja
Harvard / Cerrada
8 bit / RISC
Sí
20 Mhz (1)
33
12 bits
Gama media
Harvard / Cerrada
8 bit / RISC
Sí
20 Mhz (1)
35
14 bits
Gama alta
Harvard / Abierta
8 bit / RISC
Sí
25 Mhz (1)
55 o 58
16 bits
14
OTP, QTP, SQTP,
EPROM
Tamaño ROM
Memoria datos SRAM
Memoria datos EEPROM
Niveles de la pila
Encapsulado
Protección fallo Vdd
Modo de reposo
Interrupciones externas
Vectores de interrupción
Fuentes de interrupción
Perro guardián
Temporizadores
Convertidor A/D
Módulo
captura/comparación/PWM
Puerta serie
Puerta paralela esclava
Multiplicador hardware
Rango de tensión de
alimentación
Precio aproximado
OTP, QTP, SQTP,
EPROM
512 − 2 k
24 − 73 bytes
No
2
18, 20 o 28 pines
No
Sí
No
No
0
Sí
1 de 8 bits
No
OTP, QTP, SQTP,
EPROM, EEPROM,
Flash
512 − 4 k
31 − 192 bytes
64 bytes (1)
8
18, 28 o 40 pines
Sí (1)
Sí
Sí
1
Hasta 8
Sí
De 1 a 3 de 8 bits
Sí (1)
No
Sí (1)
Sí (1)
No
No
No
Sí (1)
Sí (1)
No
Sí (1)
Sí (1)
Sí
2 a 6,25 V (1)
2 a 6 V (1)
4,5 a 5,5 V (1)
400 − 2.500 pts
750 − 5.900 pts
1.950 − 5.100 pts
2k−8k
232 − 454 bytes
No
16
40 o 44 pines
Sí (1)
Sí
Sí
4
11
Sí
4 de 8/16 bits
Sí (1)
(1) Según modelo de la gama.
Este anexo forma parte del proyecto fin de carrera realizado por (Ingeniería técnica industrial electrónica en
la Universidad de Jaén) cuyo título es Adquisición de magnitudes físicas mediante microcontrolador.
Granada (España), Julio del 2000.
Anexo 2. Microcontroladores.
15
Descargar