ESTUDIO COMPARATIVO DE MICROCONTROLADORES DE 8-BITS 1- JUSTIFICACIÓN Y OBJETIVOS Actualmente, el desarrollo de la industria microelectrónica ha permitido crear circuitos integrados de tamaño muy reducido y de bajo consumo como son los microcontroladores. Estos chips están específicamente ideados para el control de aplicaciones de todo tipo sustituyendo a los circuitos de lógica combinacional ampliando sus prestaciones, y a procesadores reduciendo su coste. Dado el gran número de fabricantes que existen en el mercado de estos chips y el número de opciones que ofrece cada uno de ellos, se requiere un estudio comparativo objetivo de sus características más relevantes. De esta forma, el objetivo de este proyecto es realizar un estudio comparativo de los microcontroladores de 8 bits existentes en el mercado. Debido a que considerar todos los fabricantes que existen en el mercado sería demasiado amplio, el estudio se centrará en los siguientes: Microchip, Intel, Motorola, Nec, SGS-Thompson y Texas Instruments, que representan el mayor porcentaje de ventas del mercado. Dentro de los dispositivos que nos ofrece cada fabricante, se han seleccionado los más representativos de cada familia o los que poseen alguna característica especial. El proyecto se ha dividido en dos partes diferenciadas. La primera, el estudio teórico comparativo y la segunda, la implementación de un programa que permitirá al usuario obtener el dispositivo que mejor se adecúe a las características que desee. En la primera parte se ha tenido en cuenta tanto los aspectos físicos y lógicos de los microcontroladores como las herramientas de desarrollo que disponen, ya que, si la elección de un microcontrolador que se adecúe a las necesidades del consumidor es importante, no lo son menos las prestaciones adicionales del fabricante. Basándose en lo anterior, los criterios de comparación elegidos finalmente, son los siguientes: • CPU: Arquitectura, juego de instrucciones, etc. • ALU. • Organización y tipos de memoria. • Periféricos integrados, modos de ahorro de energía y otras características. • Herramientas de desarrollo. Teniendo en cuenta lo anterior, la primera parte del proyecto se estructura en seis capítulos. En el primero se repasan las características más importantes de los microcontroladores y en los cinco restantes se comparan los distintos chips elegidos considerando los criterios de comparación antes mencionados. En la segunda parte del proyecto se presenta un paquete software para elegir microcontroladores tendiendo a 70 características distintas. El paquete compara chips según el Método Electra, método que se explica en el primer capítulo de este apartado. También cuenta con una aplicación para el intercambio de ficheros con los datos de los chips a través de Internet o de cualquier red de ordenadores con el protocolo TCP/IP, que se presentan en el segundo capítulo de este apartado. Esta segunda parte no fue un objetivo inicial del proyecto sino que a medida que se comenzó el trabajo se vió la utilidad del paquete software por los siguiente motivos: • Rapidez para seleccionar microcontroladores. • Crear una herramienta que no se desfase tan rápido como el propio estudio. Bien es sabido que la industria microelectrónica avanza muy rápido y componentes muy avanzados transcurridos dos meses quedan superados por otros nuevos. El proyecto se basa en la información disponible del año 2004 pero dentro de un año, el proyecto estará obsoleto y se quería dejar una herramienta que no se anticuase en tan poco tiempo. En cuanto a la justificación de la aplicación de intercambio de ficheros, en la fase de diseño se planteó de la siguiente manera: Si la aplicación para comparar chips tiene éxito, la pueden llegar a utilizar empresas y universidades. Si la utilizan, con esta aplicación se da respuesta a dos problemas: 1. Seguridad en red: Muchas empresas y facultades restrigen el uso de Internet a sus empleados y alumnos por motivos de seguridad. Gómez González, Luis Alberto González Sánchez, María Ángela -1- ESTUDIO COMPARATIVO DE MICROCONTROLADORES DE 8-BITS 2. Creación de servidores de ficheros de garantía: Los ficheros sólo los crean organizaciones no lucrativas como AENOR, IEEE, etc. con el fin de evitar fraude. 2- ESTUDIO COMPARATIVO 2.1- CPU En este punto se trata la CPU sin entrar en detalles de la ALU debido a que es tan importante como para ser tratada en otro bloque por separado. Se ha analizado y comparado la CPU de las distintas familias o series de cada uno de los principales fabricantes, atendiendo a: • La arquitectura: Harvard, Harvard modificado, etc. • Tipo de máquina: RISC o CISC. • Juego de instrucciones. • Los MIPS. • Número de ciclos de reloj por instrucción. • El reloj principal. • Pipeline. • Los modos de funcionamiento: Sleep, Hibernate, etc. • Pila. • Palabra de instrucción. • Características generales de la ALU. • Interrupciones. • Computación adicional: Computación Fuzzy, etc. • Diagramas de bloques. La mejor CPU es la de los Microchip, todas con estructura pipeline capaces de ejecutar una instrucción por ciclo de reloj. Son máquinas RISC salvo excepciones en la gama alta. Todas cuentan con arquitectura Harvard o superior con lo que el rendimiento del chip es muy alto para aplicaciones de control genérico. Cabe destacar a los chips de SGS-Thomson, si bien son bastante más lentos, cuentan con coprocesador hardware para lógica Fuzzy. Además de otros circuitos hardware para el cálculo. Los chips de Texas Instruments e Intel de 8-bits están catalogados como obsoletos por el propio fabricante y se recomienda desde sus páginas webs realizar las aplicaciones en chips de 16 ó 32–bits. Motorola y NEC tienen una aquitectura peor que los Microchip pero parecen estar diseñados para el propio consumo de la empresa: Integrarlos junto con DSP para la producción de telefonía celular. 2.2- ALU En este capitulo se ha estudiado y comparado la ALU de las distintas familias o series de cada uno de los fabricantes principales, atendiendo a: • Número de bits. • Operaciones que pueden realizar. • Propósito: General (las ALUs calculan las direcciones) o específicas. • Formato de representación de los números. • Multiplicadores hardware. • Divisores hardware. • Co-procesador Fuzzy para lógica Fuzzy. • Entorno de la ALU: Detalles de la arquitectura de la ALU y su entorno (registros, buses, multiplexores, etc.). Gómez González, Luis Alberto González Sánchez, María Ángela -2- ESTUDIO COMPARATIVO DE MICROCONTROLADORES DE 8-BITS Las mejores ALUs son las de los chips de Microchip familias Pic17 y Pic18 junto con las ALUs de los SGS-Thomson. Cuentan con multiplicadores hardware y los chips de SGS-Thomson con un potente coprocesador para lógica Fuzzy. El entorno de sus ALUs está bien comunicado con el resto de arquitectura como se pudo ver en los apartados correspondientes a entorno de la ALU. Subrayar que no se ha contado con la información necesaria para muchos chips porque los fabricantes no ofrecían información acerca de sus ALUs y de la CPU en general. 2.3- MEMORIA En este capítulo, se analiza y compara la memoria de cada familia o serie de cada uno de los principales fabricantes, atendiendo a: • Organización de la memoria. • Tipos y tamaños de memoria. Cada uno de los fabricantes distingue, de una forma u otra, entre memoria de datos y memoria de programa. Además tienen agrupados los registros en registros especiales y registros de propósito general. Y ofrecen una amplia variedad de tipos y tamaños de memoria para sus microcontroladores Todos los fabricantes, excepto INTEL, proporcionan dispositivos con memoria paginada. La elección de un tipo de memoria concreta estará determinada por la aplicación a la que se vaya a dedicar. 2.4- PERIFÉRICOS En este capítulo, se analiza y compara los tipos de periféricos que ofrecen los microcontroladores así como otras características (sistemas de protección ante fallos, modos de ahorro de energía, etc. ). Las principales diferencias entre microcontroladores se observan en este apartado, debido a que el número y tipo de periféricos y demás características varía mucho de unos fabricantes a otros. Todos los fabricantes proporcionan varias fuentes de reset, modos de ahorro de energía y sistemas de protección ante fallos (POR, BOR, LVD, etc.). Dependiendo del tipo de aplicación a la que se vaya a dedicar el microcontrolador será más interesante fijarse en unos u otros: Tratamiento de señales poco potentes (conversiones A/D, generación PWM, comparaciones, etc.), comunicaciones (USB, SCI, etc.), control… . Atendiendo a los criterios anteriores, se puede concluir que la familia Pic18 de Microchip es la más versátil debido a su número de periféricos y variedad de los mismos. Destacar los ST7SCR de SGS-Thomson, que cuentan con puerto USB con un búfer de memoria considerable y con un interface SmartCard, junto con los Pic16 clase Q de Microchip que también poseen un sofisticado USB aunque con un búfer de menor capacidad. 2.5- HERRAMIENTAS DE DESARROLLO El siguiente punto que se trata es ver qué herramientas ofrece cada fabricante para los microcontroladores de 8-bits que hemos visto con anterioridad. Las herramientas de desarrollo para los microcontroladores suponen un criterio muy importante a la hora de elegir un chip para realizar una aplicación. Las herramientas más completas y más numerosas las ofrece Microchip seguido de SGS-Thomson y Motorola. En segundo lugar estaría NEC y finalmente Intel y TI que no ofrece herramientas para microcontroladores de 8-bits. Microchip, compañía cuyo principal producto de mercado son los microcontroladores, dispone herramientas sencillas de usar, baratas (o incluso gratuitas) y potentes al usuario. Por tanto, es el mejor de los Gómez González, Luis Alberto González Sánchez, María Ángela -3- ESTUDIO COMPARATIVO DE MICROCONTROLADORES DE 8-BITS fabricantes en este sentido. Además, las herramientas las fabrica Microchip por lo que sólo se tiene que tratar/negociar con un único proveedor. SGS-Thomson cuenta también con muchas herramientas, si bien no todas las que ofrece son suyas (es decir, las fabrica otra compañía) es SGS-Thomson quien las distribuye. Esto supone una ventaja para quien trabaje con dichas herramientas. Motorola está bastante más alejada que SGS-Thomson respecto de Microchip. Se situaría en una tercera posición en la calificación de las herramientas de desarrollo pero a gran distancia de Microchip y SGSThomson. Esto es debido a que ofrece menor número de herramientas y trabaja con terceras compañías. NEC se situaría la 4ª, su nivel de herramientas es muy bajo para microcontroladores de 8 –bits. Intel ofrece herramientas a través de terceras compañías pero son muy antigüas y no merece la pena trabajar con ellas. Texas Instruments ya no trabaja con microcontroladores de 8-bits y directamente insta al consumidor a que piense en desarrollar la aplicación con sus microcontroladores de 16/32-bits. 3- PAQUETE SOFWARE Las premisas que se impusieron para la construcción del programa fueron dos: 1. Aplicación potente. 2. Portable. El método Electra, que es un método para elegir productos multicriterio y multidecisión, informáticamente se basa en realizar un gran número de operaciones: Aritméticas (sumas y multiplicaciones) y lógicas (de tipo comparativo). Es por ello que necesitamos un lenguaje que tenga gran potencia para el cálculo numérico. Portable, dada la época actual en la que hay muchas plataformas para los PCs (Windows, Linux, UNIX, etc.) con todas sus distribuciones correspondientes, es de un interés especial el que el programa sea portable. Es decir, que hacerlo funcionar en un sistema u otro sea inmediato o a lo sumo, fácil sus implementación en otras plataformas. El lenguaje seleccionado fue C, ya que es bastante potente y (al menos) las funciones ANSI son totalmente portables a cualquier plataforma con las siguientes características: • Se utiliza programación modular con todas las ventajas que ello conlleva (fácil comprensión, fácilmente depurable, utilización en otros programas, etc). • Utilización de ANSI – C, para que sea portable. • Manejo de memoria dinámica para aprovechar los recursos al máximo. • Versión especial para Linux / UNIX en pseudoparalelo con memoria compartida más veloz. • Informes en HTML: Informes en HTML con hipervínculos para su lectura rápida y sencilla. También se ha construido una aplicación para el intercambio de ficheros a través de cualquier red con TCP/IP de forma segura a través de una entidad superior que controla la comunicación. La aplicación trabaja con TCP es decir, orientado a conexión y trabaja con servidores concurrentes, esto es que se reproducen los procesos para atender a los clientes. El envío de los ficheros trabaja con máscaras de permisos para mayor seguridad. Gómez González, Luis Alberto González Sánchez, María Ángela -4- ESTUDIO COMPARATIVO DE MICROCONTROLADORES DE 8-BITS 4- CONCLUSIONES Y FUTURO DE LOS MICROCONTROLADORES En la primera parte del proyecto se ha realizado un estudio comparativo exhaustivo de los microcontroladores de 8-Bits existentes en el mercado actualmente (2004). A la vista de lo analizado anteriormente, se ha considerado que la mejor gama de microcontroladores de 8-bits es la familia Pic18 de Microchip (nótese que no se ha tenido en cuenta el precio sino las prestaciones únicamente). Se ha llegado a la anterior conclusión debido a que: • La arquitectura de la CPU es Harvard modificado con dos niveles de pipeline lo que permite a los chips de esta gama ejecutar una instrucción por ciclo de reloj. • La ALU cuenta con un multiplicador hardware totalmente independiente del núcleo que le permite hacer operaciones MAC (Multiplicación-ACumulación) con facilidad. • La arquitectura de la memoria es de tipo paginada preferible a la arquitectura lineal y pila hardware, mucho más rápida que una pila implementada por software. • Los periféricos integrados destacan por su gran número así como por la variedad de los mismos permitiendo el uso de estos dispositivos en cualquier aplicación de microcontrol. • Las herramientas de desarrollo distribuidas por Microchip son notablemente más completas que las de otros fabricantes creando un entorno de trabajo completo para el desarrollo de cualquier aplicación sin tener que trabajar con otros ditribuidores. Además dichas herramientas son las más utilizadas por todos los diseñadores de aplicaciones de control. También destacar la familia ST7 de SGS-Thomson, pese a su inferioridad en la CPU frente a Microchip, por los siguientes motivos: • La ALU cuenta con un coprocesador hardware de lógica Fuzzy que permite un alto rendimiento cuando se ha de implementar algoritmos de este tipo. • Los periféricos integrados destacan por su variedad (en menor número que los de Microchip) y por que están pensados para aplicaciones muy específicas. • Las herramientas de desarrollo, al igual que las de Microchip, son muy completas y fáciles de manejar. También cuentan con un buen número de las mismas permitiendo al diseñador no tener que trabajar con otros distribuidores. El resto de microcontrolares no está al mismo nivel que los anteriores. Intel, NEC y Texas Instruments sugieren al consumidor a realizar sus aplicaciones con microcontroladores de 16 y 32 bits. En cuanto a Motorola parece ser que construyen sus microcontroladores para su propio consumo, esto es integrados con sus DSP en telefonía celular. El futuro de los microcontroladores pasa por reducir su tamaño, precio y consumo a la vez que aumente su velocidad como todo circuito de la industria microelectrónica. Pero el verdadero futuro de estos chips pasa por ser diseñados y construidos para aplicaciones concretas, por ejemplo: Microchip ha presentado recientemente al mercado unos microcontroladores para aplicaciones de electrónica de potencia, en concreto para el control de los polos de potencia. De esta manera se sustituye a los DSP empleados anteriormente reduciendo costes y facilitando al diseñador controlar los polos. O la novísima familia pic10 de microcontroladores extra baratos y extra pequeños. Gómez González, Luis Alberto González Sánchez, María Ángela -5-