Source: http://docplayer.es/2856980-Proyecto-fin-de-carrera.html
Timestamp: 2016-10-28 18:02:41+00:00

Document:
María Victoria Contreras Fernández
1 ESCUELA TÉCNICA SUPERIOR DE INGENIEROS DE TELECOMUNICACIÓN PROYECTO FIN DE CARRERA Título: Autor: Tutor: Desarrollo de un PC empotrado con procesador de señal. Carlos Prades del Valle. Juan Francisco Gómez Mena Departamento: Señales, Sistemas y Radiocomunicaciones MIEMBROS DEL TRIBUNAL CALIFICADOR: PRESIDENTE: VOCAL: SECRETARIO: FECHA DE LECTURA: OBJETIVO: El objetivo del proyecto es el diseño de un PC empotrado para aplicaciones de procesado de señal y multimedia. CALIFICACIÓN:2 UNIVERSIDAD POLITÉCNICA DE MADRID ESCUELA TÉCNICA SUPERIOR DE INGENIEROS DE TELECOMUNICACIÓN PROYECTO FIN DE CARRERA DESARROLLO DE UN PC EMPOTRADO CON PROCESADOR DE SEÑAL Autor: Carlos Prades del Valle Tutor: D. Juan Francisco Gómez Mena CURSO3 RESUMEN DEL PROYECTO: La memoria del presente proyecto describe el diseño de un PC para aplicaciones de procesado de señal y multimedia. Un PC empotrado es un sistema basado en microprocesador diseñado específicamente para ser montado en el interior de numerosos equipos industriales (automatización y monitorización de procesos de fabricación o producción) y también en electrodomésticos de última generación, set-top boxes, aviones, vehículos y sistemas multimedia como puntos de venta interactivos. Tras un estudio de los principales microcontroladores y dispositivos para esta aplicación, se ha realizado un diseño utilizando la herramienta de CAD VeriBest 98 de Intergraph. Se realiza una comparación con el diseño de un PC empotrado para aplicaciones industriales realizado en el proyecto de José Luis Madrid Cobos [1]. PALABRAS CLAVE: PC empotrado, PC embarcado, sistemas empotrados, microcontrolador, microprocesador, diseño hardware, esquemas.4 AGRADECIMIENTOS: Dedico este proyecto a todos aquellos y todas aquellas que han tenido confianza en mí y me han dado ánimos en todo momento para realizar la carrera. Quiero dar mi agradecimiento a José Luis Madrid Cobos que ha trabajado conmigo en este proyecto dandome permiso para incluir los planos del desarrollo del suyo.5 DESARROLLO DE UN PC EMPOTRADO CON PROCESADOR DE SEÑAL6 ÍNDICE ÍNDICE... 6 GLOSARIO MEMORIA INTRODUCCIÓN AL PC EMPOTRADO Qué es un PC empotrado? Microprocesadores y sistemas empotrados [3] Arquitectura básica [4] Aplicaciones de un PC empotrado Ventajas de un PC empotrado sobre las soluciones industriales tradicionales CICLO DE VIDA DEL DISEÑO DE UN PC EMPOTRADO Fases de vida del diseño Diseño previo del sistema Determinación de los requisitos del sistema Diseño de la plataforma PC empotrado Elección de la memoria y del sistema operativo Determinación de las entradas-salidas Elección de la BIOS Diseño del hardware Creación de los esquemas Creación del layout de la PCB Diseño del software Prototipo7 2.6. Integración del sistema Prueba final del sistema MICROCONTROLADORES PARA PC EMPOTRADO STPC Consumer-S de ST Microelectronics [20] Introducción Características fundamentales Descripción STPC Consumer de ST Microelectronics [20] STPC Client de ST Microelectronics [20] STPC Industrial de ST Microelectronics [20] Coldfire MCF5307 de Motorola [21] Introducción Características fundamentales Diagrama de bloques MachZ PCe de ZF [22] Introducción Características fundamentales Diagrama de bloques Geode GX1 de National Semiconductor [23] Descripción General Características Diagrama de bloques Geode GXLV de National Semiconductor [23] Descripción Características Geode GXM de National Semiconductor [23] Geode SC1400 de National Semiconductor [23] Introducción Componentes principales Características fundamentales8 Operaciones concurrentes Diagrama de bloques SPARClite MB86831 de Fujitsu [24] Introducción Características Diagrama de bloques SPARClite MB86832 de Fujitsu [24] SPARClite MB86833 de Fujitsu [24] SPARClite MB86860 de Fujitsu [24] Características Diagrama de bloques Crusoe TM3200 de Transmeta [25] Descripción Características Crusoe TM5400 de Transmeta [25] Introducción Características Mobile Pentium III de Intel [26] Descripción Características Diagrama de bloques Tabla comparativa CHIPS COMPLEMENTARIOS PARA PC EMPOTRADO National Geode CS5530 I/O Companion Chip [23] Introducción Características fundamentales Descripción National PC Super I/O Introducción Características fundamentales Diagrama de bloques9 4.3. Otros chips complementarios PC87306 de National Semiconductor [23] PC87338 de National Semiconductor [23] MB86941 y MB86942 de Fujitsu [24] FDC37B78x de SMSC [27] DESARROLLO PC EMPOTRADO Especificaciones Elección del microcontrolador Posibilidades abiertas Descripción de los esquemas del PC empotrado de potencia de cálculo media Contenido de los buses Descripción de los esquemas del PC empotrado de alta potencia de cálculo Descripción general Bloque microprocesador Bloque de memoria Bloque de conectores Bloque de relojes Señales del sistema BIBLIOGRAFÍA PLANOS PLANOS DEL PC EMPOTRADO DE POTENCIA DE CÁLCULO MEDIA PLANOS DEL PC EMPOTRADO DE ALTA POTENCIA DE CÁLCULO PLIEGO DE CONDICIONES PRESUPUESTO10 GLOSARIO. ABS: Anti-Blocking System. ACPI: Advanced Configuration Power Interface. ADC: Analog to Digital Converter. ADSL: Asynchronous Digital Subscriber Loop. APM: Advanced Power Management. BIOS: Basic Input & Output System. BitBLTs: Bit Block Transfers CAD: Computer Aided Design. CAS: Column Address Strobe. CMOS: Complementary Metal Obside Semiconductor. CPU: Central Processing Unit. CRT: Cathode Ray Tube. DAC: Digital to Analog Converter. DCT: Discrete Cosine Transform DDR: Dual Data Rate. DIMM: Dual In line Memory Module. DMA: Direct Memory Access. DRAM: Dynamic Random Access Memory. DSTN: Double-layer SuperTwist Neumatic DVD: Digital Versatil Disk. EDO: Extended Data Out. EIDE: Enhanced Intelligent Drive Electronics. FIFO: First Input First Output. FM: Frequency Modulation. FPM: Fast Page Mode. 1011 GTL: Gunning Transceiver Logic. GUI: Graphics User Interface. IC: Integrated Circuit. IDE: Intelligent Drive Electronics. ISA: Industrial Standard Arquitecture. ITU: International Telecommunications Union. LAN: Local Area Network. LCD: Liquid Crystal Display. LIFO: Last Input First Output. Mb: Megabit. MB: MegaByte. MCU: MicroController Unit. MIDI: Musical Instrument Digital Interface. MIPS: Million of Instructions Per Second. MPEG: Movie Picture Encoding Group. NTSC: National Television System Commission. PAL: Phase Alternation by Line. PBGA: Plastic Ball Grid Array. PC: Personal Computer. PCB: Printed Circuit Board. PCI: Peripheral Component Interconnect. PCMCIA: Personal Computer Memory Card International Association. PIO: Primary Input Output. PLL: Phase Locked Loop. PM: Page Mode. PMU: Power Management Unit. POS: Point Of Sale. RAM: Random Access Memory. RAMDAC: Random Access Memory - Digital to Analog Converter. 1112 RAS: Row Address Strobe. RDSI: Red Digital de Servicios Integrados. RGB: Red Green Blue. ROM: Read Only Memory. ROP: Raster Operations. RTC: Real Time Clock. RTOS: Real Time Operating System. SDRAM: Synchronous Dynamic Random Access Memory. SECAM: Séquentiel à Mémoire. SIMM: Single In line Memory Module. SMM: System Management Mode. SPGA: Small Pin Grid Array. SVGA: Super Video Graphics Array. TFT: Thin Film Transistor display technology. UMA: Unified Memory Architecture. UML: Unified Modelling Language. USB: Universal Serial Bus. UVI: Unidad de vigilancia intensiva. VESA: Video Electronics Standards Association. VGA: Video Graphics Array. VL: VESA Local bus. VLIW: Very Large Instruction Word VSA: Virtual System Architecture. 1213 MEMORIA 1314 1. INTRODUCCIÓN AL PC EMPOTRADO Qué es un PC empotrado? Un PC empotrado es un sistema basado en microprocesador diseñado específicamente para ser montado en el interior de numerosos equipos industriales (automatización de procesos de fabricación o producción) y también en electrodomésticos de última generación, aviones, vehículos y sistemas multimedia. A diferencia de un PC (Personal Computer, Ordenador Personal), el PC empotrado, también conocido como PC embarcado o embebido, es un sistema que busca un coste mínimo mediante el diseño de sus módulos adecuándolos a las necesidades requeridas por el sistema anfitrión donde va a ser colocado. Ello implica la eliminación de varios de los elementos que existen en un PC, que no serán necesarios en el sistema anfitrión del PC empotrado. La diferencia más frecuente es la menor potencia de procesado que suelen requerir las aplicaciones de sistemas empotrados con respecto a las de un PC convencional, así como la de menor resolución gráfica y posibilidades de ampliación con nuevos módulos ya que el sistema anfitrión será diseñado en su totalidad para unos requisitos específicos. Si el sistema anfitrión se queda obsoleto será no sólo por el PC empotrado sino también por el resto de los elementos que lo integran, con lo que la solución viene dada por el rediseño del sistema completo en la mayoría de los casos. Además, en muchas situaciones el tamaño requerido del sistema embebido es cada vez más reducido. Con respecto a la eliminación de ciertos módulos o capacidades en un PC empotrado con respecto al PC convencional conviene señalar que para ciertas aplicaciones puede ser necesario, por el contrario, incluir alguna capacidad específica en el PC empotrado que no aparezca en un PC convencional. Este hecho puede observarse en alguno de los ejemplos que se citarán más adelante como aplicaciones típicas. 1415 1.2. Microprocesadores y sistemas empotrados [3]. Un microprocesador es una implementación en forma de circuito integrado (IC) de la Unidad Central de Proceso (CPU) de un ordenador. Como consecuencia, nos referimos frecuentemente a un microprocesador como simplemente CPU, y la parte de un sistema que contiene al microprocesador se denomina subsistema de CPU. Los microprocesadores varían en consumo de potencia, complejidad y coste. Los hay de unos pocos miles de transistores y con coste inferior a 200 pesetas (en producción masiva) hasta de más de cinco millones de transistores que cuestan más de pesetas. Los subsistemas de entrada, salida y memoria pueden ser combinados con un subsistema de CPU para formar un ordenador o sistema empotrado completo. Estos subsistemas se interconectan mediante el bus de sistema (formado a su vez por el bus de control, el bus de direcciones y el bus de datos). SUBSISTEMA CPU BUS DE SISTEMA SUBSISTEMA MEMORIA SUBSISTEMA ENTRADA Datos obtenidos del exterior SUBSISTEMA SALIDA Resultados hacia el exterior Figura 1.1 El subsistema de entrada acepta datos del exterior para ser procesados mientras que el subsistema de salida transfiere los resultados hacia el exterior. Lo más habitual 1516 es que hayan varios subsistemas de entrada y varios de salida. A estos subsistemas se les reconoce habitualmente como periféricos de E/S. El subsistema de memoria almacena las instrucciones que controlan el funcionamiento del sistema. Estas instrucciones comprenden el programa que ejecuta el sistema. La memoria también almacena varios tipos de datos: datos de entrada que aún no han sido procesados, resultados intermedios del procesado y resultados finales en espera de salida al exterior. Es importante darse cuenta de que los subsistemas de la figura estructuran a un sistema según funcionalidades. La subdivisión física de un sistema, en términos de circuitos integrados o placas de circuito impreso (PCBs) puede y es normalmente diferente. Un solo IC o PCB puede proporcionar múltiples funciones, tales como memoria y entrada/salida. Un microcomputador es un sistema completo implementado con un microprocesador como el principal componente del subsistema de CPU. Se suele integrar en un solo chip, junto con un limitada cantidad de memoria y de entradas/salidas. Un microcontrolador (MCU) es un microcomputador sin memoria principal interna, es decir, sólo con microprocesador y entradas/salidas. La memoria habrá que añadirla externamente. Entre los subsistemas de E/S que incluyen los microcontroladores se encuentran los temporizadores, los convertidores analógico a digital (ADC) y digital a analógico (DAC) y los canales de comunicaciones serie. Estos subsistemas de E/S se suelen optimizar para aplicaciones específicas (por ejemplo audio, video, procesos industriales, comunicaciones, etc.). Hay que señalar que las líneas reales de distinción entre microprocesador, microcontrolador y microcomputador en un solo chip están difusas, y se denominan en ocasiones de manera indistinta unos y otros. Un sistema empotrado es un sistema con microprocesador cuyo hardware y software están específicamente diseñados y optimizados para resolver un problema concreto eficientemente. Normalmente un sistema empotrado interactúa continuamente con el entorno para vigilar o controlar algún proceso (de fabricación, de venta de productos, de electrodomésticos o vehículos, etc.). Su hardware se diseña normalmente a nivel de chips, no de interconexión de PCBs, buscando la mínima circuitería y el menor tamaño para una aplicación particular. Pero, como alternativa, se puede diseñar a partir del nivel de PCBs comprando placas con microprocesador comerciales que responden normalmente a un estándar como el PC-104 (placas de tamaño concreto que se 1617 interconectan entre sí apilándolas unas sobre otras, cada una de ellas con una funcionalidad específica dentro del objetivo global que tenga el sistema empotrado en diseño). Esta última solución acelera el tiempo de diseño pero no optimiza ni el tamaño del sistema ni el número de componentes utilizados. Un sistema empotrado simple contará con un microprocesador, memoria, unos pocos periféricos de E/S y un programa dedicado a una aplicación concreta almacenado permanentemente en la memoria. El término empotrado hace referencia al hecho de que el microcomputador está encerrado o instalado dentro de un sistema mayor y su existencia como microcomputador puede no ser aparente. Un usuario no técnico de un sistema empotrado puede no ser consciente de que está usando un sistema computador. En algunos hogares las personas, que no tienen por qué ser usuarias de un ordenador personal estándar (PC), utilizan del orden de diez o más sistemas empotrados cada día. Los microcomputadores empotrados en estos sistemas controlan electrodomésticos tales como: televisores, videos, lavadoras, alarmas, teléfonos inalámbricos, etc. Incluso un PC tiene microcomputadores empotrados en el monitor, impresora, y periféricos en general, adicionales a la CPU del propio PC. Un automóvil puede tener hasta un centenar de microprocesadores y microcontroladores que controlan cosas como la ignición, transmisión, dirección asistida, frenos antibloqueo (ABS), control de la tracción, etc. Los sistemas empotrados se caracterizan normalmente por su necesidad de dispositivos de E/S especiales. Cuando se opta por diseñar el sistema empotrado partiendo de una placa con microcomputador también es necesario comprar o diseñar placas de E/S adicionales para cumplir con los requisitos de la aplicación concreta. Muchos sistemas empotrados son sistemas de tiempo real. Un sistema de tiempo real debe responder, dentro de un intervalo restringido de tiempo, a eventos externos mediante la ejecución de la tarea asociada con cada evento. Los sistemas de tiempo real se pueden caracterizar como blandos o duros. Si un sistema de tiempo real blando no cumple con sus restricciones de tiempo, simplemente se degrada el rendimiento del sistema, pero si el sistema es de tiempo real duro y no cumple con sus restricciones de tiempo, el sistema fallará. Este fallo puede tener posiblemente consecuencias catastróficas. Un sistema empotrado complejo puede utilizar un sistema operativo como apoyo para la ejecución de sus programas, sobre todo cuando se requiere la ejecución simultánea de los mismos [11]. Cuando se utiliza un sistema operativo lo más probable es que se tenga que tratar de un sistema operativo en tiempo real (RTOS), que es un 1718 sistema operativo diseñado y optimizado para manejar fuertes restricciones de tiempo asociadas con eventos en aplicaciones de tiempo real. En una aplicación de tiempo real compleja la utilización de un RTOS multitarea puede simplificar el desarrollo del software Arquitectura básica [4]. Un PC empotrado posee una arquitectura semejante a la de un PC. Brevemente éstos son los elementos básicos: Microprocesador. Es el encargado de realizar las operaciones de cálculo principales del sistema. Ejecuta código para realizar una determinada tarea y dirige el funcionamiento de los demás elementos que le rodean, a modo de director de una orquesta. Memoria. En ella se encuentra almacenado el código de los programas que el sistema puede ejecutar así como los datos. Su característica principal es que debe tener un acceso de lectura y escritura lo más rápido posible para que el microprocesador no pierda tiempo en tareas que no son meramente de cálculo. Al ser volátil el sistema requiere de un soporte donde se almacenen los datos incluso sin disponer de alimentación o energía. Caché. Memoria más rápida que la principal en la que se almacenan los datos y el código accedido últimamente. Dado que el sistema realiza microtareas muchas veces repetitivas, la caché hace ahorrar tiempo ya que no hará falta ir a memoria principal si el dato o la instrucción ya se encuentra en la caché. Dado su alto precio tiene un tamaño muy inferior (8 512 KB) con respecto a la principal (8 256 MB). En el interior del chip del microprocesador se encuentra una pequeña caché (L1), pero normalmente se tiene una mayor en otro chip de la placa madre (L2). Disco duro. En él la información no es volátil y además puede conseguir capacidades muy elevadas. A diferencia de la memoria que es de estado sólido éste suele ser magnético. Pero su excesivo tamaño a veces lo hace inviable para PCs empotrados, con lo que se requieren soluciones como discos de estado sólido. Existen en el mercado varias soluciones de esta clase (DiskOnChip, CompactFlash, IDE Flash Drive, etc.) con capacidades suficientes para la mayoría de sistemas embebidos (desde 2 hasta 220 MB). El controlador del 1819 disco duro de PCs estándar cumple con el estándar IDE y es un chip más de la placa madre. Disquetera. Su función es la de un disco duro pero con discos con capacidades mucho más pequeñas y la ventaja de su portabilidad. Siempre se encuentra en un PC estándar pero no así en un PC empotrado. BIOS-ROM. BIOS (Basic Input & Output System, sistema básico de entrada y salida) es código que es necesario para inicializar el ordenador y para poner en comunicación los distintos elementos de la placa madre. La ROM (Read Only Memory, memoria de sólo lectura no volátil) es un chip donde se encuentra el código BIOS. CMOS-RAM. Es un chip de memoria de lectura y escritura alimentado con una pila donde se almacena el tipo y ubicación de los dispositivos conectados a la placa madre (disco duro, puertos de entrada y salida, etc.). Además contiene un reloj en permanente funcionamiento que ofrece al sistema la fecha y la hora. Chip Set. Chip que se encarga de controlar las interrupciones dirigidas al microprocesador, el acceso directo a memoria (DMA) y al bus ISA, además de ofrecer temporizadores, etc. Es frecuente encontrar la CMOS-RAM y el reloj de tiempo real en el interior del Chip Set. Entradas al sistema: pueden existir puertos para ratón, teclado, vídeo en formato digital, comunicaciones serie o paralelo, etc. Salidas del sistema: puertos de vídeo para monitor o televisión, pantallas de cristal líquido, altavoces, comunicaciones serie o paralelo, etc. Ranuras de expansión para tarjetas de tareas específicas que pueden no venir incorporadas en la placa madre, como pueden ser más puertos de comunicaciones, acceso a red de ordenadores vía LAN (Local Area Network, red de área local) o vía red telefónica: básica, RDSI (Red Digital de Servicios Integrados), ADSL (Asynchronous Digital Subscriber Loop, Lazo Digital Asíncrono del Abonado), etc. Un PC estándar suele tener muchas más ranuras de expansión que un PC empotrado. Las ranuras de expansión están asociadas a distintos tipos de bus: VESA, ISA, PCI, NLX (ISA + PCI), etc. Hoy en día existen en el mercado fabricantes que integran un microprocesador y los elementos controladores de los dispositivos fundamentales de entrada y salida en un mismo chip, pensando en las necesidades de los sistemas empotrados (bajo coste, 1920 pequeño tamaño, entradas y salidas específicas,...). Su capacidad de proceso suele ser inferior a los procesadores de propósito general pero cumplen con su cometido ya que los sistemas donde se ubican no requieren tanta potencia. Los principales fabricantes son ST Microelectronics (familia de chips STPC), National (familia Geode), Motorola (familia ColdFire) e Intel. En el capítulo 3 se describen las características de varios de estos chips. En cuanto a los sistemas operativos necesarios para que un sistema basado en microprocesador pueda funcionar y ejecutar programas suelen ser específicos para los sistemas embebidos. Así nos encontramos con sistemas operativos de bajos requisitos de memoria, posibilidad de ejecución de aplicaciones de tiempo real, modulares (inclusión sólo de los elementos necesarios del sistema operativo para el sistema embebido concreto), etc. Los más conocidos en la actualidad son Windows CE, QNX y VxWorks de WindRiver Aplicaciones de un PC empotrado. Los lugares donde se pueden encontrar PCs empotrados son numerosos y de varias naturalezas. A continuación se exponen varios ejemplos para ilustrar las posibilidades de los mismos: En una fábrica, para controlar un proceso de montaje o producción. Una máquina que se encargue de una determinada tarea hoy en día contiene numerosos circuitos electrónicos y eléctricos para el control de motores, hornos, etc. que deben ser gobernados por un procesador, el cual ofrece un interfaz persona máquina para ser dirigido por un operario e informarle al mismo de la marcha del proceso. Puntos de servicio o venta (POS, Point Of Service). Las cajas donde se paga la compra en un supermercado son cada vez más completas, integrando teclados numéricos, lectores de códigos de barras mediante láser, lectores de tarjetas bancarias de banda magnética o chip, pantalla alfanumérica de cristal líquido, etc. El PC empotrado en este caso requiere numerosos conectores de entrada y salida y unas características robustas para la operación continuada. Puntos de información al ciudadano. En oficinas de turismo, grandes almacenes, bibliotecas, etc. existen equipos con una pantalla táctil donde se puede pulsar sobre la misma y elegir la consulta a realizar, obteniendo una respuesta personalizada en un entorno gráfico amigable. 2021 Decodificadores y set-top boxes para la recepción de televisión. Cada vez existe un mayor número de operadores de televisión que aprovechando las tecnologías vía satélite y de red de cable ofrecen un servicio de televisión de pago diferenciado del convencional. En primer lugar envían la señal en formato digital MPEG-2 con lo que es necesario un procesado para decodificarla y mandarla al televisor. Además viaja cifrada para evitar que la reciban en claro usuarios sin contrato, lo que requiere descifrarla en casa del abonado. También ofrecen un servicio de televisión interactiva o web-tv que necesita de un software específico para mostrar páginas web y con ello un sistema basado en procesador con salida de señal de televisión. Sistemas radar de aviones. El procesado de la señal recibida o reflejada del sistema radar embarcado en un avión requiere alta potencia de cálculo además de ocupar poco espacio, pesar poco y soportar condiciones extremas de funcionamiento (temperatura, presión atmosférica, vibraciones, etc.). Equipos de medicina en hospitales y ambulancias UVI móvil. Máquinas de revelado automático de fotos. Cajeros automáticos. Pasarelas (Gateways) Internet-LAN. Y un sin fin de posibilidades aún por descubrir o en estado embrionario como son las neveras inteligentes que controlen su suministro vía Internet, PCs de bolsillo, etc Ventajas de un PC empotrado sobre las soluciones industriales tradicionales. Los equipos industriales de medida y control tradicionales están basados en un microprocesador con un sistema operativo propietario o específico para la aplicación correspondiente [3]. Dicha aplicación se programa en ensamblador para el microprocesador dado o en lenguaje C, realizando llamadas a las funciones básicas de ese sistema operativo que en ciertos casos ni siquiera llega a existir. Con los modernos sistemas PC empotrado basados en microprocesadores i486 o i586 [5][6] se llega a integrar el mundo del PC compatible con las aplicaciones industriales. Ello implica numerosas ventajas: 2122 Posibilidad de utilización de sistemas operativos potentes que ya realizan numerosas tareas: comunicaciones por redes de datos, soporte gráfico, concurrencia con lanzamiento de threads, etc. Estos sistemas operativos pueden ser los mismos que para PCs compatibles (Windows, MS-DOS) con fuertes exigencias en hardware o bien ser una versión reducida de los mismos con características orientadas a los PCs empotrados. Al utilizar dichos sistemas operativos se pueden encontrar fácilmente herramientas de desarrollo software potentes así como numerosos programadores que las dominan, dada la extensión mundial de las aplicaciones para PCs compatibles. Reducción en el precio de los componentes hardware y software debido a la gran cantidad de PCs en el mundo. 2223 2. CICLO DE VIDA DEL DISEÑO DE UN PC EMPOTRADO Fases de vida del diseño. En el presente capítulo se describen las fases de vida necesarias para construir un PC empotrado [2][3][14]. Desde la primera fase, conocida como diseño previo del sistema, hasta la última, que consiste en la prueba del mismo, se debe de cuidar el orden de ejecución de las tareas y solapar las que sean posibles de modo que se obtenga un producto fiable en el menor tiempo posible de puesta en el mercado (time-to-market bajo). En la figura 2.1 se observan las fases principales. Diseño previo del sistema Diseño del hardware Prototipo Diseño del software Integración del sistema Prueba final del sistema Figura24 2.2. Diseño previo del sistema. Esta fase de vida se divide a su vez en otras cinco fases: determinación de los requisitos del sistema, diseño de la plataforma PC empotrado, elección de la memoria y del sistema operativo, determinación de las entradas-salidas y elección de la BIOS. A continuación se detallan cada una de ellas Determinación de los requisitos del sistema. Una de las partes más importantes del desarrollo de un PC empotrado es la captura de los requisitos del sistema para la aplicación buscada. Más adelante se dan unas consideraciones clave. Cuanto mejor se realice esta fase previa a la creación de un prototipo menos probables serán los indeseados cambios tanto en hardware como en software. Aún así hay que recordar que el desarrollo del sistema generalmente es un proceso iterativo. Al recorrer los últimos pasos del proyecto puede surgir la necesidad de revisar las primeras fases para conseguir un producto fiable, consistente y que cumpla con todos los requisitos Consideraciones técnicas. Definición de los interfaces de control. Los tipos de dispositivos que habrá que controlar o con los que se habrá de comunicar, así como las propiedades eléctricas y mecánicas de sus interfaces. Una definición general de los requisitos de tipo de memoria (volátil, no volátil, estado sólido, magnética). La definición de cómo el sistema interactuará con las personas (monitor, teclado, lector de códigos de barras, etc.). Definición de la aplicación software. Descripción específica de todas las características de la aplicación software. Características de depurado. Características del software de arranque. 2425 Posibilidad de actualización del software. Características básicas de la BIOS. Previsión de controladores (drivers) para el funcionamiento del hardware externo. Elección del método de implementación del software de modo que el código sea reutilizable. Requisitos de alimentación. Posibilidad de alimentación mediante batería o pilas. Alimentación de seguridad para condiciones de caída de la alimentación principal. Previsiones generales de consumo del sistema. Requisitos térmicos del sistema. Refrigeración por ventilador o por convección. Ubicación de los componentes para una efectiva gestión térmica. Condiciones ambientales externas para determinar las necesidades de control térmico. Tiempo de vida esperado del sistema frente a las necesidades de control térmico. Diseño de la forma y tamaño. Restricciones en cuanto a dimensiones. Robustez del producto. Definición de los subsistemas principales. Los subsistemas principales con suficiente complejidad deben tener una definición similar a la del sistema completo para evitar problemas o elevados costes de integración. Necesidades de rendimiento. Necesidades de velocidad de procesado. Capacidad de manejar interfaces gráficas. Capacidad de ejecutar software exterior. Capacidad de comunicarse con otros interfaces de alta velocidad. 2526 Consideraciones a nivel de proyecto. Previsión del tiempo que el producto vivirá en el mercado. Disponibilidad de componentes. Soporte y mantenimiento del producto vendido. Estimación del tiempo de desarrollo. Ventana temporal de la oportunidad de mercado. Velocidad para sacar los primeros prototipos. Disponibilidad de encontrar desarrolladores con experiencia. Nivel de experiencia de diseño o desarrollo. Experiencia de diseño de hardware de alta frecuencia. Familiarización con los entornos de programación. Actualizaciones del software. Número esperado de actualizaciones. Previsión del crecimiento del tamaño del programa. Posible crecimiento de programas procedentes del exterior. Efectividad de la plataforma de desarrollo. Tiempo estimado para la finalización del primer prototipo. Disponibilidad de herramientas. Capacidad de utilización o integración de periféricos. Facilidad de uso. Mantenimiento. Procedimiento de actualización del hardware y del software. Mantenimiento o sustitución de componentes. Mantenimiento o sustitución de subsistemas. Mantenimiento térmico del sistema. Actualizaciones del hardware. Estudio de las necesidades de actualización. Expansión y modularidad del diseño. 2627 Diseño de la plataforma PC empotrado. El diseño de los PCs empotrados se desarrolla siguiendo las técnicas de diseño de los PCs de sobremesa comunes. Sirvan como pautas generales lo mencionado en los apartados 1.2 y 1.3 (arquitectura básica) y lo descrito a continuación. En torno al microprocesador propiamente dicho, elegido en esta fase, se suelen agrupar los siguientes subsistemas, algunos de ellos integrados en el mismo chip como se verá en el capítulo 3: Puente Norte o NorthBridge, el cual controla las transferencias con la memoria principal (asíncrona o síncrona, esto es, DRAM o SDRAM), así como las transferencias entre microprocesador y bus PCI. Si el sistema dispone de caché de nivel II (L2), también ofrecerá su manejo. Según el diseño elegido también puede proporcionar control de paridad y detección y corrección de errores (ECC, Error Checking and Correction). Puente Sur o SouthBridge, el cual persigue múltiples propósitos, como son: Conexión del bus PCI al bus ISA, IDE, USB, etc. Mediante el bus ISA y unas señales de control se accede a la BIOS. Temporizadores, contadores. Acceso directo a memoria (DMA). Control de interrupciones originadas en dispositivos conectados al bus ISA o PCI. Interfaces a periféricos como teclado, ratón, disquetera, reloj de tiempo real, etc. Puertos serie y paralelo. Bloque generador de las señales de reloj. Los relojes son responsables de hacer correr todos los subsistemas incluyendo microprocesador, memoria síncrona, buses PCI, ISA, USB, etc. Hay que cuidar su diseño puesto que afecta directamente a la integridad de los datos a través del sistema. Caché de nivel II. Esta memoria, usualmente externa al chip del microprocesador, está diseñada para almacenar copias locales de datos accedidos con frecuencia en la memoria principal. Es más rápida que esta última, dado que es de tecnología estática en vez de dinámica, y su tamaño suele oscilar entre 256 KB y 1 MB. Puede que no esté presente, ya que suele 2728 considerarse suficiente la caché de nivel I (interna) para muchos de los diseños. Memoria principal SDRAM o DRAM. Con tamaños que oscilan entre los 2 MB y 1 GB, esta memoria puede ser síncrona (SDRAM) o asíncrona (DRAM). La primera está sustituyendo a la segunda de una manera aplastante dadas sus mejores características de velocidad y precio. Memoria flash o ROM de arranque. En una memoria flash (actualizable) o ROM (no actualizable) se almacena el código BIOS, necesario para arrancar el PC y controlar a bajo nivel los periféricos. Bus PCI. Éste es un bus estándar de la industria con una anchura para los datos de 32 o 64 bits corriendo a una velocidad de 33 MHz. Puede ser de 5V o de 3.3V en cuanto a las señales eléctricas se refiere. El bus PCI generalmente soporta las tasas de transferencia de datos más altas (video, sonido, etc) además de existir en el mercado números periféricos que se conectan a este bus (tarjetas de red ethernet, módems, etc.) Elección de la memoria y del sistema operativo Memoria. Los subsistemas de memoria para un PC empotrado son generalmente los tres siguientes: memoria de arranque, memoria principal y memoria de almacenamiento. Memoria de arranque. Es una memoria no volátil que almacena el código inicial y la BIOS del sistema. Puede incluso que el sistema operativo, si es pequeño, resida en esta memoria. Su tamaño no suele superar los 256 KB y el tipo más habitual es la flash. Memoria principal. Puede ser DRAM o SDRAM, en forma de chips o en módulos SIMM o DIMM, con tamaño total de 2 MB a 1 GB. Éste tamaño debe ser suficiente para las previsiones de espacio exigidas por la BIOS, el sistema operativo, las aplicaciones y las necesidades de almacenamiento de dispositivos de entrada/salida. El margen de seguridad del tamaño decidido con respecto al calculado según las necesidades suele ser del 20% al 100%. Memoria de almacenamiento. Ésta puede estar integrada fundamentalmente por discos duros (soporte magnético) o memoria flash (estado sólido) [12]. Su 2829 utilidad reside en el almacenamiento del sistema operativo, aplicaciones, datos, etc Sistema operativo. La elección del sistema operativo normalmente es una decisión de peso en el entorno de los PCs empotrados. Para aplicaciones de tiempo real se utilizan sistemas operativos específicos para PCs empotrados como son Windows CE, QNX y VxWorks de WindRiver. Son modulares de forma que sólo se escogen los componentes necesarios para las aplicaciones específicas del PC empotrado fabricado, ahorrando así espacio en la memoria Determinación de las entradas-salidas. Básicamente hay dos grandes opciones de diseño, normalmente entremezcladas: Proporcionar conectividad a dispositivos de entrada/salida externos a la placa base mediante ranuras de expansión del bus PCI o ISA. Crear un interfaz de entradas/salidas propio, esto es, incluido en la placa base. Ciertamente la primera opción acelera el tiempo de diseño, pero algunas veces los requisitos de tamaño o otras variables pueden forzar a tomar la segunda opción. De cualquier forma la conexión se realiza básicamente mediante los buses ISA o PCI. La elección de uno u otro depende de las exigencias de velocidad o ancho de banda. El bus PCI es más rápido que el bus ISA y puede conseguir mayores velocidades (normalmente más de cuatro veces superior) Elección de la BIOS. La BIOS de un PC es la responsable de la configuración del microprocesador, dispositivos periféricos y software residente especializado en el momento del arranque del sistema. Una gran variedad de empresas proporciona códigos BIOS para la mayoría de las plataformas. La precaución que hay que tomar es que ese código BIOS soporte todo el hardware que hemos utilizado en nuestro diseño. 2930 2.3. Diseño del hardware. El hardware se diseña en dos fases: creación de los esquemas y creación del layout de la placa de circuito impreso (PCB) Creación de los esquemas. El diseño electrónico del sistema se realiza mediante unos diagramas llamados esquemas, los cuales representan los componentes mediante símbolos y sus interconexiones mediante líneas, de modo que sea fácil o digerible de visualizar. Estos diagramas se realizan con herramientas software CAD (Computer Aided Design, Diseño Asistido por Ordenador) tales como Protel o VeriBest de Intergraph. Esta última ha sido la utilizada en este proyecto para crear los esquemas que se encuentran al final del libro. Unos buenos esquemas deben incluir información extra requerida para entender el funcionamiento del sistema. Entre otras cosas deben figurar nombres representativos en las líneas que representan buses o señales entre dos componentes. Todos los componentes que se vayan a colocar en la placa de circuito impreso, que se puede fabricar gracias al layout cuya realización se describe en el siguiente punto, deben tener su representación en los esquemas mediante símbolos, normalmente rectangulares con sus pines alrededor. El diseñador de los esquemas debe consultar la documentación técnica o especificaciones de los componentes utilizados de tal forma que se realice la conexión entre ellos de una manera correcta. Se deben cuidar aspectos como la temporización en las comunicaciones entre ellos y las cargas (esto es, que una salida proporcione suficiente corriente eléctrica para las entradas a las que llega). Sobre todo a altas frecuencias de trabajo del sistema (por encima de 50 MHz), hay que cuidar la adaptación entre componentes, esto es, que no se produzcan reflexiones de ondas eléctricas en las interconexiones entre componentes ya que harán imposible la transferencia de información legible. Para ello puede ser necesario, por ejemplo, colocar resistencias serie cerca de los terminales de los componentes, de un valor adecuado para que se produzca adaptación de impedancias. 3031 Creación del layout de la PCB. El layout consiste en una representación exacta de las huellas de los componentes y de las pistas que unen sus pines o terminales. Se entiende por huella de un componente los puntos de cobre que necesita en la placa base para poder ser soldado y fijado, mientras que las pistas son las líneas de cobre de una cierta anchura que permite la propagación eléctrica de las señales entre los componentes. La placa está formada por una lámina de fibra de vidrio o similar con varias capas de cobre (2 exteriores y posibles internas, a modo de sándwich). Mediante los gerbers, que son unos dibujos que representan el layout, el fabricante de PCBs puede construir la placa con las huellas y pistas necesarias. Tras ello se pueden soldar los componentes. El layout también se realiza mediante una herramienta CAD, integrada con la de creación de esquemas. Así los esquemas dirigen la creación del layout estableciendo cuales deben ser las uniones entre los componentes, ahora en forma de pistas que recorrerán el camino necesario para unir dos puntos. Esto normalmente se hace no sin esquivar un cierto número de obstáculos (otras pistas, componentes, etc.). Entre los aspectos a cuidar en la creación de la PCB está la posibilidad de elegir encapsulados de diferentes formas o tipos para un mismo componente, así como la compatibilidad electromagnética de la placa (esto es, que las señales de alta frecuencia no interfieran con otras de la misma placa ni con otras del exterior). Mediante la herramienta de autoenrutado o autorouter el programa CAD puede dibujar todas las pistas sin más que elegir el sitio donde irá cada componente (ubicación o placement). Dependiendo de la densidad de pistas pueden ser necesarias más o menos capas de pistas de la PCB Diseño del software. El software que hay que realizar para que el sistema cumpla su funcionalidad se suele empezar a desarrollar a la par que el diseño del hardware. Una vez que el hardware y el software están concluidos se podrá efectuar la integración del sistema. Mientras que llega ese momento, el software se desarrolla probándolo y depurándolo con emuladores software o hardware que proporcionan los fabricantes del microprocesador u otras empresas. Al utilizar una arquitectura de PC se puede simplificar el desarrollo del software dado que existen en el mercado números módulos ya implementados que se pueden comprar. Dónde puede haber mayor complejidad es en los requisitos de tiempo real que pueda tener el sistema. 3132 El software se empieza a desarrollar por una fase inicial de captura de requisitos de usuario (lo que el usuario final espera obtener del sistema). Tras ello se establecen los requisitos de sistema (lo que el sistema debe tener para poder cumplir con los requisitos de usuario). Los requisitos de sistema son más técnicos que los de usuario y por lo general en mayor número, ya que para cubrir un requisito de usuario pueden ser necesarios más de un requisito de sistema. Tras ello se realiza el diseño arquitectónico, en el que se trazan los principales bloques software del sistema por funciones, así como sus relaciones. En el diseño detallado se establece la estructura interna de cada uno de esos bloques del diseño arquitectónico, llegando a fijar las cabeceras de las funciones del código (nombre de la función y nombre y tipo de los parámetros) y los datos globales. El desarrollar el software con una metodología orientada a objetos tiene la gran ventaja de encapsular datos y funciones asociadas a los mismos en unas unidades reutilizables llamadas objetos, facilitando la modularidad y reutilización de los componentes para otros proyectos. Lenguajes para ello son el C++ y el Java, entre otros. A un nivel superior se puede seguir un desarrollo de diseño software previo a la codificación de las funciones extremadamente ordenado y jerárquico, con las ventajas correspondientes. Estamos hablando de la metodología UML (Unified Modelling Language, Leguaje Unificado de Modelado). Con una herramienta software de UML como es Rose de Rational se pueden realizar de una manera gráfica los diseños arquitectónico y detallado, con numerosos posibles diagramas (de clases, de interacción entre clases, de estados dentro de una misma clase, etc) que terminan en la generación de las cabeceras de las clases y de sus datos y funciones miembro. Por último quedaría codificar el cuerpo de dichas funciones. Se suelen asignar ingenieros distintos para cada uno de los niveles software (diseño, codificación, prueba). Hay que destacar también la importancia de documentar el software, al igual que el hardware. En el código hay que añadir líneas de comentarios describiendo la funcionalidad o utilidad de las variables y funciones, e incluso explicaciones de trozos de código. También se debe generar un documento con la descripción del software. Éste queda prácticamente constituido con los diagramas que se van generando con la metodología UML Prototipo. El prototipo es un equipo hardware que tiene partes idénticas a las del producto final pero no está completo. O incluso puede ser diferente al producto final pero con fuertes similitudes. El caso es que sirva para ir probando módulos software y con ello 3233 también el hardware, que también debe ser depurado. Este prototipo se puede construir adquiriendo los componentes necesarios y fabricando una PCB o bien se puede comprar a un tercero una placa de evaluación del microprocesador utilizado de modo que se ahorre bastante tiempo. Nos estamos refiriendo al emulador hardware que se mencionó en el anterior apartado de diseño del software. Para este último caso lo que se hace es probar el software, pero de cualquier forma el hardware propio habrá que probarlo tarde o temprano, en última instancia en la integración del sistema Integración del sistema. Esta es la primera vez que se prueba el sistema completo (tanto software como hardware a la vez). En realidad se debe estar probando el hardware, ya que el software debe estar correcto tras las pruebas sobre emuladores hardware o software cuyo comportamiento es casi idéntico al que debe ofrecer el hardware propio. La integración es el momento de la verdad. Es un paso de elevada ansiedad en el proceso de desarrollo. Aquí es donde se encuentran los errores costosos y que deben ser remediados. Desafortunadamente, la integración del sistema normalmente ocurre cerca del final del ciclo de vida del proyecto, cuando los errores alcanza el máximo coste para su reparación. Dependiendo del tipo de sistema empotrado, el coste añadido para corregir un error aumenta de 2 a 10 veces por cada fase de vida. Otro problema de los errores encontrados en la integración del sistema es que puede retrasar el plazo de entrega del proyecto. Existen numerosas formas de reducir el tiempo de integración. Una de las mejores consiste en crear un prototipo hardware dentro de la fase de diseño hardware y permitir pruebas de partes del software que se va desarrollando. Además el desarrollo del software se acelera dado que no hay que perder tiempo implementando software que simule el aún inexistente hardware Prueba final del sistema. La prueba final consiste en la comprobación de que el sistema cumple con todos los requisitos esperados. Las pruebas pueden ser Alfa si se realizan en la propia empresa de desarrollo del sistema o pueden ser Beta si se realizan con el cliente o usuario en el lugar 3334 que él designe. Tras esta fase sólo queda la política de mantenimiento (principalmente software) que se establezca entre ambas partes. 3435 3. MICROCONTROLADORES PARA PC EMPOTRADO STPC Consumer-S de ST Microelectronics [20] Introducción. STPC Consumer-S integra un núcleo x86 con pipeline de cinco etapas, un controlador de memoria DRAM, un subsistema gráfico, un pipeline de vídeo y lógica de apoyo que incluye controladores PCI, ISA e IDE para proporcionar un subsistema PCcompatible en un solo chip. La potencia de proceso de su núcleo equivale a la de un microprocesador 486 de 32 bits pero con interfaz de memoria de 64 bits. El dispositivo se basa en Arquitectura Unificada de Memoria (UMA), compartiendo el mismo array de memoria la principal del sistema y los búferes de gráficos y vídeo. El STPC Consumer-S está encapsulado en un 388PBGA y su alimentación es a 3.3V Características fundamentales. Núcleo de procesador x86: Pipeline de cinco etapas, 32 bits, completamente estático, velocidad de 66 o 75 MHz, tecnología CMOS de 0.35 µm, núcleo a 3.3V. Compatible con sistemas operativos UNIX, Windows CE, Windows 3.1/95/98/NT, QNX, Linux, DOS, Embedded DOS, VxWorks, OS9, Winlight, Java OS, NC Operating System, etc. Acceso de hasta 4 GB de memoria externa. 3536 8 KB de caché unificada para código y datos con modos write back y write through. Unidad de punto flotante integrada, de procesado paralelo, con apagado automático. Velocidad de reloj del núcleo de 66, 75, 90 o 100 MHz en modo DX. Diseño completamente estático para el control dinámico del reloj. Modos de gestión de sistema y de bajo consumo. Diseño optimizado para funcionamiento a 3.3V. Controlador de SDRAM: Memoria de sistema y gráfica integrada. Anchura del bus de datos de 64 bits. Velocidad de reloj de SDRAM de hasta 66 MHz. Permite desde 2 MB hasta 128 MB de memoria en cuatro bancos. Permite DIMMs de SDRAM de 8 MB, 16 MB y 32 MB, de tipo buffered, non buffered o registered. Soporta 8, 10, 12, 13 o 15 chips de memoria por DIMM. 4 búferes de escritura de 4 palabras para ciclos de CPU a SDRAM y de PCI a SDRAM. 4 búferes de lectura de 4 palabras para PCI masters. Agujeros de memoria de 1 MB a 8 MB para buses PCI e ISA. Controlador gráfico: Acelerador de 64 bits. Compatibilidad hacia atrás para estándares SVGA. Aceleración hardware para texto, bit blts, blts transparentes y rellenos. Cursor hardware para gráficos de hasta 64 x 64 bits. Frame Buffer lineal de hasta 4 MB. Píxeles de 8, 16 y 24 bits. Controlador CRT: RAMDAC triple de 135 MHz integrado que permite pantallas de hasta 1024 x 768 x 75 Hz. 3637 Píxeles de 8, 16 y 24 bits. Salida entrelazada o no entrelazada. Pipeline de Vídeo: Filtro de interpolado horizontal de doble pasada. Filtro de interpolado vertical de doble pasada. Conversión del espacio de colores (RGB a YUV y YUV a RGB). Tamaño de ventana programable. Codificación de color y de cromaquí que permite la superposición de vídeo. Puerto de entrada de vídeo: Decodificación de entrada de vídeo en formatos compatibles con ITU-R 601. Diezmador opcional 2:1. Almacenamiento de vídeo capturado fuera del área de ajuste del frame buffer de la placa madre. Redireccionamiento hacia la salida de televisión (codificador PAL/NTSC incorporado en el chip). Generación de fuentes de sincronismo HSYNC y B/T o enganche a una fuente exterior de temporización de vídeo. Salida de televisión: Filtro antiparpadeo programable de dos pasadas con corrección gamma o filtro de tres pasadas sin corrección gamma. Convertidor de pasadas progresivas a entrelazadas. Salidas de video programables NTSC-M, PAL-M, PAL-B, D, G, H, I PAL-N. Codificación CCIR601 con frecuencia de subportadora de color programable. Capacidad de inserción o salto de línea. Modo de operación entrelazado o no entrelazado. Entrada digital CB-Y-CR multiplexada de 8 bits en modo 625 líneas/50hz o 525 líneas/60hz. 3738 Salidas analógicas simultáneas CVBS y RGB a través de DACs de 10 bits. Reducción del solapamiento de colores mediante un filtrado específico en la componente de luminosidad dentro del flujo CVBS. Modo de ahorro de energía disponible en cada DAC. Controlador PCI: Cumple completamente con la norma PCI v2.1. Interfaz de arbitraje PCI integrado capaz de manejar directamente hasta 3 masters PCI a la vez. Traducción de ciclos PCI al bus ISA. Traducción del ciclo master ISA iniciado a PCI. Permite lectura y escritura en modo ráfaga desde el master PCI. El reloj de PCI corre a un tercio o la mitad del de la CPU. Master/slave ISA: El reloj ISA se genera a partir del oscilador de MHz o a partir del reloj de PCI. Permite la programación de ciclos de espera para ciclos ISA. Permite tiempo de recuperación de entrada/salida para ciclos de entrada/salida retorno-retorno. Puerto A20 rápido y reset rápido. Permite la ROM única: que los bloques C, D y E compartan el bloque F de la BIOS ROM. Permite flash ROM. Ciclos master ISA y DMA con búferes para reducir la utilización del ancho de banda del bus PCI y Host. Cumple con la norma NSP. Interfaz IDE: Permite PIO y Bus Master IDE. Permite hasta el modo 5 de temporización. Permite hasta 4 dispositivos IDE. Temporización individual para cada uno de los cuatro dispositivos IDE. Tasas de transferencia de hasta 22 MB/s. 3839 Funcionamiento de canal concurrente (modos PIO): búfer FIFO por canal de 4 x 32 bits. Permite modos PIO 3 y 4. Permite modos DMA 1 y 2. Permite transferencias de datos PIO de I/O Channel Ready de 11.1/16.6 MB/s. Permite transferencias de datos DMA de 13.3/16.6 MB/s. Bus Master con capacidad de cesión y toma. Permite transferencias DMA multipalabra para dispositivos IDE rápidos. Permite los modos IDE legacy y native. Permite discos duros de más de 528 MB. Permite periféricos CD-ROM y lector de cintas. Compatibilidad hacia atrás con IDE (ATA-1). Interfaz de bus local (Local Bus): Multiplexado con el interfaz ISA. Bus de baja latencia. Bus de direcciones de 22 bits. Bus de datos de 16 bits con capacidad de direccionamiento de palabras. Temporización programable. Dos chip selects para memoria flash. Cinco chip selects para I/Os. Permite ráfagas de memoria flash de 32 bits. Protección del bloque de arranque de la memoria flash por llave hardware de dos niveles. Permite dos bancos de dispositivos de memoria flash de 8MB con el sector de arranque mapeado a la dirección 0x000F0000. Controlador de periféricos integrado: Controlador de DMA de 7 canales compatible con 2X8237/AT. Controlador de interrupciones compatible con 2X8259/AT. 3940 3 temporizadores/contadores compatibles con Lógica de apoyo para los errores del co-procesador. Permite un reloj de tiempo real (RTC) externo. Gestión de alimentación: Cuatro modos de alimentación: On (encendido), Doze (dormido), Standby (en espera) y Suspend (suspendido). Detector de actividad del sistema programable. Permite SMM (System Management Mode, Modo de Gestión del sistema). Permite STOPCLK (parada de reloj). Permite desvío de entrada/salida y reinicio. Temporizador independiente para time-out de periféricos (monitorización del disco duro y de los puertos serie y paralelo). Permite reloj de tiempo real (RTC), interrupciones y activación de DMAs Descripción. En el corazón del STPC Consumer-S está un bloque procesador avanzado, conocido como ST X86. El ST X86 incluye un potente núcleo procesador x86 junto con un controlador de SDRAM de 64 bits, un controlador de vídeo y acelerador gráfico avanzado de 64 bits, un controlador de bus local PCI de alta velocidad, un chipset con funciones compatibles con los estándares de PCs (controlador de interrupciones, controlador de DMA, temporizador, controlador de bus ISA) y un controlador IDE. El bloque procesador de última versión es el 5ST86. Además del bloque 5ST86, el STPC Consumer-S tiene un subsistema de vídeo y salida de televisión de alta calidad. El núcleo procesador está embebido en el mismo chip de silicio con módulos periféricos de aplicaciones estándar o específicas. Dicho núcleo dispone del Modo de Gestión del Sistema (SMM). SMM proporciona un espacio de direcciones y de interrupciones adicional que puede ser utilizado para gestionar el consumo del sistema o realizar emulación transparente al software de periféricos. Mientras que se produce una ejecución en un espacio de direcciones aislado en modo SMM se puede ejecutar una 4041 rutina de atención de interrupción SMM sin interferir al sistema operativo o a las aplicaciones. Las utilidades de gestión de alimentación avanzadas incluyen un modo suspendido que se puede iniciar mediante software o hardware. Dada la naturaleza estática del núcleo, no se produce pérdida de datos. El STPC Consumer-S hace uso de una arquitectura de memoria unificada (UMA), lo que significa que el mismo conjunto de memoria se utiliza como memoria principal de la CPU (datos e instrucciones) y como memoria para el búfer de gráficos. Esto reduce de una manera significativa la cantidad de memoria total del sistema, con un rendimiento del mismo equivalente a una solución con memoria de sistema y memoria gráfica separadas. El tamaño de la memoria gráfica está limitado a 4 MB en cualquier lugar dentro de todo el conjunto de memoria del sistema. Además, el ancho de banda de la transferencia de memoria gráfica se mejora al conectar el motor gráfico directamente al interfaz de 64 bits del procesador, que corre a la velocidad del core (mayor que la del bus PCI). El bus del procesador corre a la velocidad del core (dispositivos DX) o la mitad (dispositivos DX2). El conjunto de memoria con anchura de 64 bits proporciona al sistema un ancho de banda de pico de 528 MB/s, el doble que un sistema de 32 bits. Esto permite mayores resoluciones gráficas y mayor profundidad de color. El bus PCI es el principal enlace de comunicaciones de datos para el STPC Consumer-S. El STPC Consumer-S traduce apropiadamente los ciclos de memoria y de host bus al bus PCI. También permite la generación de ciclos de configuración en el bus PCI. El STPC Consumer-S, como un agente de bus PCI (clase host bridge), cumple completamente con la especificación PCI v2.1. El chip-set también implementa los registros de cabecera PCI obligatorios en la configuración PCI de tipo 0 para facilitar la portabilidad de BIOS de sistema compatibles con PCI. El dispositivo contiene un árbitro PCI para tres dispositivos PCI externos. El STPC Consumer-S integra un controlador de bus ISA. A través del bus ISA el chip-set puede acceder a módulos periféricos como puertos serie y paralelo, controlador del teclado y dispositivos ISA adicionales. El bus local (Local Bus) comparte los mismos terminales del chip que los del bus ISA, luego una placa se debe diseñar para una de las dos opciones. Conectado internamente mediante el bus PCI, el STPC Consumer-S dispone de un controlador EIDE (ATA 2). 4142 El controlador SVGA incorporado controla las funciones gráficas y el motor gráfico 2D gestiona la pantalla del monitor. El motor gráfico tiene un funcionamiento sintonizado a la CPU para proporcionar un sistema gráfico balanceado con un bajo coste en área de silicio. Realiza operaciones de dibujo de gráficos entre las que se incluyen aceleración hardware de texto, bitblts, blts transparentes y rellenos. Estas operaciones se pueden realizar en áreas de pantalla o de fuera de pantalla. La resolución gráfica tiene un máximo de 1280x1024 con colores a una frecuencia de refresco de 75 Hz y es compatible con VGA y SVGA. Los campos de temporización horizontal son compatibles con VGA mientras que los campos verticales se aumentan un bit para acomodar la resolución mencionada anteriormente. El STPC Consumer-S proporciona funciones adicionales para manejar flujos de vídeo MPEG o similares. El puerto de entrada de vídeo acepta un flujo de vídeo digital codificado en alguno de los formatos estándar, lo decodifica, opcionalmente lo diezma en un factor 2:1, y lo deposita en un área de memoria gráfica de fuera de pantalla. Se puede generar una petición de interrupción cuando se haya capturado un campo o imagen completa. El pipeline de salida de vídeo incorpora un convertidor de espacio de colores y escalado de vídeo y la entrega al controlador del CRT para mostrar una ventana de vídeo. Mientras que se repinta la pantalla el controlador del CRT captura tanto el flujo de vídeo normal como el que no es de vídeo (memoria gráfica) en dos FIFOs internas separados (256 bytes cada uno). Al flujo de vídeo se le realiza un escalado suave y opcionalmente se puede convertir el espacio de colores. Se implementa un escalado interpolado suave en las direcciones tanto horizontal como vertical. También se implementan funciones clave de color y cromaquí para permitir la mezcla del flujo de vídeo con la memoria gráfica que no es de vídeo. La salida de vídeo pasa directamente al RAMDAC para salida a monitor o a través de otro convertidor de espacio de colores opcional (RGB a 4:2:2 YCrCb) al filtro antiparpadeo programable. El filtro antiparpadeo se configura como un filtro de dos líneas con corrección gamma (diseñado principalmente para texto de tipo DOS) o como un filtro de tres líneas (diseñado para pantallas del tipo Windows). Opcionalmente se puede desactivar por software el filtro antiparpadeo para utilizar pantallas de vídeo de grandes dimensiones. El pipeline de salida de vídeo del STPC Consumer-S tiene un interfaz al STV0119 integrado, un codificador de televisión digital que permite llevar la salida VGA o flujos de vídeo de pantalla completa (provenientes del puerto de entrada de vídeo) a televisores 4243 NTSC (Estados Unidos de América) o PAL (Europa excepto Francia, que tiene el sistema de televisión SECAM). El STV0119 recoge un flujo de píxeles RGB de 24 bits no entrelazado y lo convierte a una salida de vídeo YCrCb de 8 bits 4:2:2 multiplexada. La lógica incluye un convertidor de pasadas progresivas a entrelazadas y todo lo necesario para insertar apropiadamente códigos de referencia de temporización CCIR656 al flujo de salida. El núcleo del STPC Consumer-S cumple con la especificación APM (Advanced Power Management, gestión de alimentación avanzada) para proporcionar un método estándar mediante el cual la BIOS puede controlar la alimentación usada por ordenadores personales. La unidad de gestión de alimentación (PMU, Power Management Unit) controla el consumo de potencia mediante un conjunto de funcionalidades que cumplen con el Programa Energy Star Computer de la Agencia de Protección Ambiental de los Estados Unidos de América. La PMU proporciona las siguientes estructuras hardware para asistir al software en la gestión del consumo de potencia del sistema: Detector de actividad del núcleo del sistema. 3 temporizadores para detectar la inactividad del núcleo del sistema: Temporizador Doze (dormido), para duraciones cortas. Temporizador Standby (en espera), para duraciones medias. Temporizador Suspend (suspendido), para duraciones largas. Detector de actividad interior. Temporizador de actividad interior para hacer frente a cortas ráfagas de la actividad interior mientras que se está en modo dormido o en espera. Detector de actividad de periféricos. Temporizador de actividad de periféricos. Modulación SUSP# para ajustar el sistema a varios estados de bajo consumo y al de alimentación completa. Salidas de control de alimentación para deshabilitar la alimentación de diferentes planos de la placa. La falta de actividad del sistema para periodos de tiempo progresivamente largos es detectada mediante los tres temporizadores del núcleo del sistema. Estos temporizadores pueden generar interrupciones a la CPU de modo que el software SMM pueda poner al sistema en estados decrecientes de consumo de potencia. Alternativamente, la actividad 4344 del sistema cuando se está en un estado de bajo consumo puede generar una interrupción para permitir al software levantar al sistema al estado de alimentación completa. El chip-set proporciona hasta tres estados de alimentación además del de alimentación completa: dormido, en espera y suspendido. Estos estados se corresponden con niveles decrecientes de consumo de potencia. El vencimiento del temporizador más largo pone al STPC Consumer-S en el modo suspendido. El procesador completa la ejecución de la instrucción actual y ejecuta cualquier ejecución decodificada pendiente y los ciclos de bus asociados. Durante el modo suspendido los relojes internos están parados. Al finalizar el estado suspendido el procesador reanuda la captura de instrucciones y continua la ejecución en el punto donde lo había dejado. Para conectar al sistema el teclado, ratón, puertos serie y paralelo así como la disquetera hay que utilizar un chip SuperIO adicional como el PC IBE/VUL. Este chip así como el STPC Consumer-S es soportado por varios fabricantes de BIOS. El STPC Consumer-S ha sido diseñado utilizando modernas técnicas de diseño modular reutilizable, y el fabricante permite añadir o quitar funcionalidades estándar para grandes partidas de chips. La principal ventaja que presenta el STPC Consumer-S es que soporta memoria RAM del tipo SDRAM (memoria dinámica síncrona), y ésta ya es más rápida y barata que la predecesora DRAM (memoria dinámica asíncrona). A finales del año 1999 fue cuando STMicroelectronics presentó al mercado el STPC Consumer-S. Anteriores a él son el STPC Consumer y el STPC Client, que no soportan SDRAM sino DRAM. La Figura 3.1 muestra la descripción funcional del STPC Consumer-S y la Figura 3.2 un diagrama de bloques de una aplicación típica. 4445 Figura46 Figura STPC Consumer de ST Microelectronics [20]. Las diferencias que presenta con respecto al STPC Consumer-S son: Controlador de DRAM (FPM o EDO de 60, 70, 80 o 100 ns) en vez de SDRAM. No tiene bus local (Local Bus). Velocidades del núcleo de 66 u 80 MHz en modo DX o de 100 MHz en modo DX2. 4647 3.3. STPC Client de ST Microelectronics [20]. Sus características son las mismas que el STPC Consumer excepto: Velocidades del núcleo de 66 o 75 MHz en modo DX. No tiene integrado el codificador de vídeo STV0119 con salidas analógicas hacia televisores PAL o NTSC. En vez de ello tiene una salida de vídeo digital que se puede conectar a un chip STV0119 externo STPC Industrial de ST Microelectronics [20]. Sus características son las mismas que el STPC Client a diferencia de: Puertos de entrada/salida incorporados: 2 puertos serie, 1 paralelo, teclado y ratón. Interfaces PCMCIA de 16 bits, Card Bus de 32 bits y ZoomVideo (como entrada de vídeo). Este conjunto se conoce como bus PC-Card. No tiene salida de vídeo ni digital ni analógica. Sus salidas de pantallas son la de monitor CRT, que está en todos los modelos STPC, y la de pantalla de cristal líquido LCD de tipo TFT, que no está en ningún otro modelo STPC. El controlador TFT puede funcionar en dos modos: 1 píxel por ciclo de reloj con interfaz de 9, 12 o 18 bits. 2 píxeles por ciclo de reloj con interfaz de 2x9 bits. Sus velocidades del núcleo son de 66 o 80 MHz. Bus local. El sistema puede arrancar directamente desde el interfaz de bus local con memorias FLASH de 8MB estándar de bajo coste. 4748 3.5. Coldfire MCF5307 de Motorola [21] Introducción. El microprocesador integrado MCF5307 combina un núcleo de procesador ColdFire con los siguientes componentes: Caché unificada de 8 KB. Unidad de multiplicación y acumulado (MAC) y de división. Controlador DRAM. Controlador DMA. Temporizadores. Bus M (compatible con I 2 C). Interfaz serie y paralelo. Unidad de integración del sistema. El núcleo del ColdFire está diseñado para aplicaciones de control embebidas. Tiene un rendimiento de 70 MIPS además de un coste bajo. El elevado rendimiento lo proporcionan el núcleo con un reloj que dobla la velocidad del reloj exterior, la caché unificada de 8 KB y la SRAM interna de 4 KB, que proporcionan un acceso en un solo ciclo de reloj a código y datos críticos. El módulo MAC integrado mejora la funcionalidad del sistema posibilitando operaciones aritméticas complejas a alta velocidad (una multiplicación y acumulado en un ciclo de reloj para operaciones de 16x16 bits y de 32x32 bits). El procesador MCF5307 reduce enormemente el tiempo requerido para diseñar e implementar un sistema mediante la integración en un solo encapsulado de varias funciones comunes y proporcionando interfaces directos de 8, 16 y 32 bits para DRAM, EDO RAM, SDRAM, SRAM, ROM, FLASH y dispositivos de entrada / salida. La arquitectura del ColdFire está basada en la tecnología RISC de longitud variable. ColdFire combina la simplicidad arquitectónica RISC de 32 bits con un set de instrucciones de longitud variable que se puede salvar en memoria. De esta manera se 4849 puede conseguir un elevado rendimiento (RISC) sin que el tamaño del código sea excesivo (set de instrucciones de longitud variable, basado en el del microprocesador de Motorola). Dicho set de instrucciones de longitud variable permite ahorrar en consumo de memoria con respecto a programas basados en el set de instrucciones RISC de longitud fija. Para un mismo rendimiento se puede utilizar memorias más lentas y por lo tanto más baratas. El controlador DRAM puede manejar hasta 256 MB de memoria DRAM, y permite utilizar el modo ráfaga, Page-Mode DRAM, EDO DRAM y SDRAM. Dos UARTs full-duplex programables y un módulo de bus M (compatible con I 2 C) proporcionan canales de comunicación serie. Cuatro canales DMA permiten rápidas transferencias de datos en modo ráfaga de un modo independiente a la ejecución del procesador. Los dos temporizadores de 16 bits de propósito general proporcionan señales de entrada y salida separadas. Para proteger el sistema, el procesador incluye un temporizador de vigilancia de 16 bits programable por software. El chip también incluye funciones como chip-selects (selección de chips), controlador de interrupciones, arbitraje de bus y un módulo JTAG IEEE Su sofisticado interfaz de depurado permite modo de depurado background y trazas en tiempo real, con registros incorporados para breakpoints (puntos de ruptura de ejecución) accesibles desde un emulador o desde el propio procesador Características fundamentales. Núcleo procesador ColdFire. Núcleo de versión 3 con reloj a doble velocidad y RISC de longitud variable. Pipelines independientes de 4 etapas para instrucciones y de 2 etapas para operandos. Búfer FIFO de 8 instrucciones para proporcionar desacoplo entre los pipelines. Unidad de predicción de saltos de código para aumentar el rendimiento. Bus de direcciones interno de 32 bits que puede direccionar hasta 4 GB. Bus de datos de 32 bits. 4950 Registros de propósito general de 32 bits (accesibles también a 16 bits por el usuario). Modos diferenciados de supervisor y de usuario para la protección del sistema. Registro del vector base para reubicar la tabla de vectores de excepción. Optimizado para las construcciones de lenguaje de alto nivel. Unidad hardware de división de enteros. Unidad de multiplicación y acumulado (MAC). Proporciona procesado aritmético complejo y de alta velocidad para aplicaciones de DSPs. Tasa de cálculo de un resultado por ciclo de reloj con un pipeline de tres etapas. Permite multiplicaciones de 16x16 y de 32x32 bits, todas ellas con un acumulado de 32 bits. Caché unificada de 8 KB. Organización asociativa de cuatro conjuntos (4-way) con modos writethrough (escritura a través) y copyback (escritura pospuesta). Funciona a la velocidad del núcleo. Proporciona acceso en un solo ciclo de reloj a código y datos críticos. SRAM de 4KB. Ubicación programable dentro del espacio lineal de direcciones de 4 GB. Proporciona un acceso a través de pipeline de un solo ciclo de reloj a código y datos críticos. La información almacenada en la SRAM no se ve afectada por la instrucción RESET. Controlador de DMA. Cuatro canales completamente programables. Permite transferencias de dirección simple o dual con capacidad para datos de 32 bits. Dos punteros de direcciones por canal que se pueden incrementar o permanecer constantes. 5051 Contador de transferencias de 16 bits por canal. Permite empaquetado y desempaquetado de operandos. Posibilidad de transferencias autoalineadas para movimientos de bloques eficientes. Permite el modo ráfaga y robo de ciclos. Proporciona acceso interno en dos ciclos de reloj. Controlador de DRAM. Permite hasta 512 MB de DRAM. El temporizador de refresco programable proporciona refresco CAS-RAS. Permite dos bancos de memoria separados. Permite EDO DRAM y SDRAM. Posibilidad de utilización de masters externos. 2 UARTS. Operación full-duplex. Generador de la tasa de baudios flexible. Disponibilidad de señales de control de módem (CTS#, RTS#). Aviso de interrupción al procesador. 2 Temporizadores multimodo de propósito general de 16 bits. Prescaler de 8 bits. Pins de entrada y salida al temporizador. Aviso de interrupción al procesador. Resolución de 22 ns a 45 MHz. Módulo de Bus Motorola (M-Bus). Interfaz para EEPROMs, controladores de LCDs, convertidores A/D, y botoneras. Compatibilidad completa con el estándar de bus industrial I 2 C. Los modos maestro o esclavo permiten múltiples masters. Generación de interrupciones automática con nivel programable. 5152 Interfaz del sistema. El bus de interfaz directo con sus chip selects y el controlador de DRAM permiten acceder a DRAM, SRAM, ROM, FLASH y dispositivos I/O de 8, 16 y 32 bits. 8 señales de chip select. 2 son completamente programables con registro de dirección base, 6 a un offset fijo. Tamaños de puerto y estados de espera programables. Velocidad de bus definida por el usuario dentro de los valores ½, 1/3 o ¼ de la velocidad del procesador. Controlador de interrupciones programable. Latencia de interrupciones baja. 4 entradas de solicitud de interrupción externas. Generación de autovector programable. Interfaz de I/O de 16 bits de propósito general. Módulo de test JTAG IEEE Sistema de depurado. Trazas en tiempo real para determinar el camino de ejecución dinámicamente. Modo de depurado en background para posibilitar el depurado mientras que el procesador está parado. Depurado en tiempo real, incluyendo tres registros de puntos de ruptura hardware visibles por el usuario. PLL incorporado en el chip. Acepta frecuencias de entrada desde hasta 45 MHz. Genera el reloj del núcleo multiplicando la entrada por 2 y también el reloj del bus dentro de los valores ½, 1/3 o ¼ de la velocidad de dicho núcleo según la configuración del usuario en el momento del reset. Permite modo de bajo consumo. Otras características. 75 MIPS a 45 MHz (reloj de 90 MHz doblado internamente). 5253 Chip tipo 1: velocidad máxima del núcleo de 90 MHz con velocidades de bus externo de 45, 30 o 22.5 MHz (rango de temperaturas de funcionamiento: 0 ºC a +70 ºC). Chip tipo 2: velocidad máxima del núcleo de 66.7 MHz con velocidades de bus externo de 33.3, 22.2 o 16.7 MHz (rango de temperaturas de funcionamiento: 0 ºC a +70 ºC o 40 ºC a 85 ºC). Núcleo completamente estático a 3.3V con pines de I/O tolerantes a 5V. Encapsulado 208 QFP Diagrama de bloques. Figura54 3.6. MachZ PCe de ZF [22] Introducción. MachZ PCe incorpora la funcionalidad de una placa madre de un PC con los periféricos más comunes además de un conjunto de mejoras propietarias de ZF desarrolladas en exclusiva para el mercado de los PCs empotrados. Posee un microprocesador de 32 bits de alta velocidad unido a un controlador de memoria SDRAM y a un bus de expansión PCI con un controlador IDE Ultra DMA. Un bus ISA permite conectar todos los dispositivos ISA conocidos para los desafíos potenciales únicos de las aplicaciones embebidas. No tiene señales multiplexadas con otras funciones ni pérdida de interrupciones. Las características propietarias de ZF tales como Fail-Safe Boot ROM, interfaz Z-Tag, temporizador dual Watchdog, lógica ZF, decodificación del bus ISA integrada, etc. permiten la integración del sistema con pocos obstáculos. Mediante la combinación del hardware y software necesarios para implementar un PC compatible en un solo chip se reducen significativamente la exposición a los riesgos del desarrollo y el time-to-market. Según el fabricante se puede conseguir un coste de la lista de materiales inferior a 50$ (enero de 2000). Además posee una garantía de 5 años y su fabricación depende de National Semiconductor, utilizando tecnología de 0.24µm. Incluido en el chip y en el precio se encuentra una BIOS (PC compatible) y dos sistemas operativos (Linux Image y pwsys de PlanetWeb), combinados ambos con un sistema de arranque interno denominado FailSafe boot ROM. De este modo se elimina la necesidad por parte del ingeniero de buscar drivers para los periféricos acortando en tiempo de desarrollo. Esto no reduce la compatibilidad software ya que el MachZ PCe permite ejecutar cualquier sistema operativo estándar capaz de correr en un PC compatible con FPU tales como Linux, DOS, WinCE, Windows 9x, Windows NT y varios RTOS. Características embebidas patentadas por ZF e incluidas en el MachZ PCe: FailSafe Boot ROM. La mayoría de los sistemas empotrados utilizan memoria flash no volátil para almacenar el sistema operativo así como datos de programa y otros datos transitorios. Bajo ciertas condiciones de irregularidades 5455 en la alimentación u otro tipo de anomalías se pueden corromper los datos de la memoria flash. El sistema FailSafe Boot ROM combinado con ZF Integrated BIOS permite una recuperación total del sistema si ese fallo se produce. Esto se puede lograr incluso remotamente si no hay un operador in-situ. ZF-Logic. Con el incremento en la utilización de la arquitectura de PC para los sistemas empotrados el conocimiento requerido en microprocesadores por parte de los ingenieros de diseño se hace más elevado. ZF-Logic permite un acceso a la arquitectura del sistema x86 con una mínima experiencia en microprocesadores. Con ello se reduce el time-to-market. Z-Tag. Este sistema permite grabar en producción y directamente en placa las memorias flash con su BIOS, sistema operativo y aplicaciones a una velocidad de 1.5 Mbps, mientras que la velocidad estándar de estos dispositivos suele ser de 19.2 Kbps. Dual Watchdog Timer. Permite evitar situaciones de bloqueo del procesador mediante un temporizador controlado por las aplicaciones. Si la aplicación no actualiza su contenido y éste llega a cero entonces se producirá una acción automática como puede ser el reinicio del sistema Características fundamentales. Núcleo del procesador. 32 bits. Funcionamiento a 33, 66, 100 o 133 MHz. Caché L1 de 8 KB (modo write back o write through). FPU. Controlador SDRAM. Configuración de memoria con bus de datos de 16 o 32 bits. Hasta cuatro bancos de memoria. SDRAM simétrica o asimétrica de 16, 64 o 128 MB. Máximo 256 MB. Controlador PCI Host Bridge. Cumple con la especificación v2.1 a 33 MHz y 32 bits. 5556 Velocidad del bus igual al reloj del sistema o a la mitad. Transferencias en modo ráfaga de hasta 120 MBps. Posibilidad de acceder a la SDRAM. Permite hasta 3 masters PCI externos. Bus ISA. Completitud de señales ISA. Conjunto de IRQs completo. Permite DMAs de 8 o 16 bits. Permite comunicación con dispositivos de 8 o 16 bits. Controlador IDE. Permite dos canales con tres dispositivos. Lecturas y escrituras en modo ráfaga PCI master. Permite Ultra DMA (ATA-4). Permite modos 0-4 de entradas-salidas programadas (PIOs). Bus serie universal (USB). Dos buses USB independientes que cumplen con Open HCI (Host Controler Interface). Diseño del núcleo de 2ª generación. SuperIO incorporado. Controlador de disquetera. Dos puertos serie estándar. Comunicaciones por infrarrojos viable para uno de los puertos serie. Puerto paralelo compatible con IEEE Controlador 8042 de teclado AT y ratón PS/2. Bus interfaz compatible con Bus SM e I2C. Compatibilidad con arquitectura de PC AT. Controlador de interrupciones equivalente al 8259A. Temporizador equivalente al57 Controlador de DMA equivalente al Puertos A, B y lógica NMI. Gestión del consumo y GPIO. Desvíos de entrada-salida (I/O traps) y temporizadores de inactividad para la gestión de la alimentación de los periféricos. 8 GPIOs. Reactivación en USB. Detección de actividad de ratón o teclado para reactivación de la pantalla. Interfaz con el microprocesador. Protocolo de suspensión del reloj en conexión con el North Bridge (Puente Norte: controladores de buses ISA, PCI, etc.). Interrupciones enmascarables o no enmascarables. Características eléctricas. Dispositivo de alimentación dual (5 y 3.3 V). I/O de 3.3V tolerantes a 5V. Tensión del núcleo de 2.5V. Consumo de potencia estimado. 0.8 W a 33 MHz, 1.6 W a 66 MHz, 2.2 W a 100 MHz, 2.8 W a 133 MHz. Características ambientales y mecánicas. De 40 a +85 ºC para 33, 66 o 100 MHz. De 0 a +70 ºC para 133 MHz. Encapsulado PBGA de 388 pines (35 x 35 mm). FailSafe Boot ROM: Código incluido en la ROM interna del chip. Permite la ejecución de instrucciones tales como limpieza de SDRAM, borrado de memoria flash, carga y ejecución de programas, etc. Posee mecanismos de protección para la recarga automática del software en caso de fallo. 5758 Lógica ZF. Modulador de anchura de pulsos programable (de 100 Hz a 100 KHz) ideal para fuentes de alimentación conmutadas y el control del inversor de luz posterior de una pantalla de cristal líquido LCD. Lógica de decodificación de memoria externa con cuatro chip selects, registros de direcciones base y de tamaños y comprobación automática de solapamientos. Mapeador de chip selects de propósito general: cuatro chip selects de entrada-salida mapeados, registros de direcciones base y de tamaños y comprobación automática de solapamientos. Registro de arranque configurable mediante un microinterruptor DIP externo de modo que se permiten condiciones de arranque personalizadas. Interfaz Z-Tag. Interfaz de alta velocidad para la descarga de software. Utiliza el interfaz de la disquetera cuando la señal DRIVESELECT está inactiva. El protocolo de comunicaciones es compatible con dispositivos EEPROM serie estándar. Se puede controlar mediante un puerto paralelo estándar. ZF Dual Watch Dog Timer. Control software y hardware de los eventos generados por el temporizador. Contador primario de 8 bits (1-256 segundos) conectado al reset software. Contador secundario de 8 bits (1-256 ms) conectado al reset hardware. Los valores de los contadores se pueden leer en cualquier momento. Se pueden deshabilitar. Software incluido. PC BIOS embebida completa. Imagen del sistema operativo Linux. Sistema operativo pwsys de Planetweb con navegador. 5859 Compatibilidad con sistemas operativos. Linux. DOS. WinCE, Windows 9x, Windows NT. La mayoría de los sistemas operativos de tiempo real. 5960 Diagrama de bloques. Figura61 3.7. Geode GX1 de National Semiconductor [23] Descripción General. National Semiconductor ha desarrollado una serie de procesadores integrados de bajo consumo y alta potencia basados en la arquitectura x86 conocida como serie Geode, dentro de la que se encuentra el GX1. Este procesador es equiparable a un Intel Pentium con tecnología MMX siendo un procesador con una gran potencia de cálculo. Están especialmente pensados para las aplicaciones de información como pequeños clientes, set-top boxes, y dispositivos de acceso personal a Internet. Las posibles tensiones del core son 2.0v, 1.8v y 1.6v, ofreciendo potencias de consumo medias muy bajas (1.2w, 1.0w y 0.8w respectivamente) para permitir una vida de las baterías mayor o reducir el tamaño de la fuente de alimentación. Estas medidas de potencia media se han realizado con MS Windows con un ciclo de actividad del 80% con una resolución de pantalla de 800 x 600 y 8 bits por píxel a 75 Hz de refresco. Hay que tener en cuenta que el consumo del sistema gráfico ronda los 0,8w. El sistema de gestión de potencia divide los posibles estados de funcionamiento en cuatro, estos estados son llamados por el fabricante estado de Full On, cuando todo está activo y se está ejecutando código, estado de Active Idle, donde el sistema gráfico está funcionando pero el core está en espera dando al exterior la sensación de que todo funciona, estado Sleep, donde tanto la CPU como el sistema gráfico están parados (la pantalla se apaga) siendo la potencia consumida la mínima para mantener el sistema en funcionamiento, y, por último el estado Off o apagado, en el que no se alimenta al chip. Desde el estado On se puede pasar a cualquier otro pero desde cualquier otro estado sólo se puede pasar al estado On. Mientras que el core x86 garantiza la máxima compatibilidad con los contenidos en Internet, la integración de otras funciones, tales como las de audio o gráficos, permiten ofrecer a nivel de sistema una solución multimedia. El core del Geode es un procesador de 32 bits compatible con los x86 de sexta generación capaz de funcionar a 300 MHz. Contiene unidades de ejecución en punto fijo y en punto flotante basados en tecnología de sexta generación. El núcleo de aritmética entera está compuesto por una "pipeline" de cinco niveles de ejecución permitiendo 6162 capacidades avanzadas como colas de escritura extensivas, colas de destino de saltos, etc. Los accesos a la memoria caché write-back L1 de 16KB son reordenados dinámicamente para eliminar paradas al acceder a los operandos. La unidad de punto flotante tiene un bus de 64 bits, es compatible con el set de instrucciones del x87 y está adherida al estándar IEEE-754, siendo capaz de trabajar en paralelo con la unidad de punto fijo. La unidad de gestión de memoria, también incluida en la CPU, es compatible con el paginado de los x-86, convirtiendo las direcciones virtuales a direcciones físicas incorporando técnicas para eliminar las lecturas innecesarias y leer las direcciones sobrescritas. Los procesadores GX1 incluyen funciones de host normalmente implementados por otros componentes externos, como por ejemplo el controlador de display que soporta tanto un CRT como una pantalla LCD o una pantalla plana TFT. Un acelerador gráfico 2D con funcionalidad completa contiene controlador VGA, motor bit-blt y una unidad ROP para aceleración completa GUI (Interfaz Gráfica de Usuario) en la mayoría de los S.O., así como control separado de CRT y TFT desde el controlador del display. Soporta, además, la implementación de la tecnología VSA. Un controlador del display contiene una cola de video adicional que permite la visualización de MPEG1 a más de 30 imágenes por segundo y video superpuesto cuando se usa con un National Semiconductor Geode I/O o con chip complementario de gráficos (p.e. CS5530 o CS9211). Los accesos a la memoria del sistema y la de gráficos se soportan por un controlador de SDRAM eliminando la necesidad de una caché externa L2. El controlador del bus PCI soporta hasta tres maestros de bus para conexiones adicionales y las capacidades multimedia, permite el acceso a la memoria principal (SDRAM) desde el mismo bus. Sin embargo, hay que tener precaución debido a que no soporta dispositivos de 5v. El procesador GX1 también incorpora tecnología VSA (arquitectura de sistema virtual) que permite los subsistemas XpressGRAPHICS y XpressAUDIO. Son posibles los controladores software que proporcionan la compatibilidad para los estándares VGA y funciones de audio de 16 bits siendo transparentes al nivel del S.O. La gran desventaja con respecto a otras soluciones es que para la mayoría de las aplicaciones es necesario utilizar el chip complementario Geode CS5530 I/O Companion. Este sistema proporciona video VGA y VESA, sonido estéreo de 16 bits, interfaz IDE ultra DMA/33, buses ISA y PCI, entradas/salidas adicionales (USB, GPIO), gestión de la energía SMM y lógica compatible con IBM AT, así como asistencia hardware para descompresión MPEG1 y procesado de sonido. Existen otros dispositivos especialmente diseñados para esta familia de procesadores como el Geode CS9211 Graphics Companion 6263 que permite mayores posibilidades gráficas como el uso de pantallas táctiles, o los SuperIO que permiten ampliar las entradas y salidas del sistema. El chip adicional de I/O de National Semiconductor y el procesador Geode GX1 juntos proporcionan una solución de sistema escalable, de bajo consumo y flexible para un gran conjunto de aplicaciones que van desde dispositivos personales de acceso a información que caben en la palma de la mano hasta set-top boxes o pequeños clientes Características. Características generales. Encapsulado: BGA de 352 bolas o SPGA de 320 pines. Tecnología de 0.18 micras. Core de 1.6v, 1.8v o 2.0v, interfaz de I/O a 3.3v. Bajo consumo 1.6v/200MHz, 2.0v/300MHz). Velocidad: hasta 300MHz. Arquitectura de memoria unificada. Buffer de imágenes y memoria de gráficos residente en la memoria principal. Minimiza el área en la placa PCB. Reduce los costes del sistema. Compatibilidad con múltiples dispositivos adicionales de National Semiconductor. Procesador x86 de 32 bits. Soporta el set de instrucciones MMX para acelerar las aplicaciones multimedia. Caché L1 unificada de 16KB. Unidad de aritmética entera de 5 etapas en pipeline. Unidad de coma flotante integrada (FPU). 6364 Unidad de gestión de memoria (MMU), la cual soporta los mecanismos de paginación estándar y optimiza la adquisición de código. Carga y guarda reordenando dando prioridad a la lectura de la memoria. Bypass de los datos leídos eliminando las lecturas redundantes. Modo de gestión del sistema (SMM) re-entrante de acuerdo con la tecnología VGA. Gestión de potencia flexible. Soporta gran variedad de estándares: APM (gestión de potencia avanzada) para gestión hardware. ACPI (configuración avanzada e interfaz de potencia) para el gestor de potencia de Windows. Soporta una amplia variedad de modos de control hardware y software. Active Idle (core parado, display activo). Standby (core y funciones integradas paradas). Sleep (como anterior con los relojes externos parados). Suspend Modulation (parada automática del core de la CPU por Geode I/O o chip auxiliar de gráficos). Varios eventos dedicados y programables para despertar al chip. Controlador de PCI. Soporte a varios esquemas de arbitraje. Soporta directamente tres maestros del bus, ampliable con lógica externa. Síncrono al core de la CPU. Permite el acceso a la memoria principal mientras la CPU accede a la caché L1. Tecnología de arquitectura de sistemas virtuales. Esta innovadora arquitectura permite virtualización (software) de funciones hardware con independencia del S.O. Proporciona el subsistema XpressGRAPHICS. 6465 Proporciona subsistema XpressAUDIO de 16 bits. Síntesis de FM estéreo de 16 bits. Emulación de OLP3. Soporte del interfaz MIDI MPU-401. Asistencia hardware proporcionada por chip complementario Geode I/O. Se pueden soportar funciones adicionales hardware cuando se necesiten. Acelerador gráfico 2D. Acelera BitBLTs, línea dibujada, texto, etc. Soporta 256 ROPs. Soporta BLTs transparentes y vuelta de páginas para DirectDraw de Microsoft. Corre a la frecuencia de reloj del core. Soporta totalmente los modos VGA y VESA. Controlador de display. Su arquitectura con tecnología de compresión de display (DCT) reduce el ancho de banda consumido de la memoria para el refresco del display. Soporta una cola de video separada y camino de datos para permitir la aceleración de video en Geode I/O y chip adicional de gráficos. Paleta interna RAM para corrección gamma. Interfaz directo con los chips adicionales Geode I/O y de gráficos. Cursor hardware. Soporta resoluciones de hasta 1280 x 1024 con 8 bpp y 1024 x 768 con 16 bpp. XpressRAM. Interfaz SDRAM estrechamente acoplado al core de la CPU y al subsistema gráfico para conseguir la máxima eficiencia. Bus de memoria de 64 bits. Soporte para: Dos DIMMs unbuffered de 168 pines. 6566 Hasta 16 bancos abiertos simultáneamente. Lecturas de 16 bytes (en ráfagas de dos). Hasta 512MB de memoria total. Soporte de diversos S.O. Windows 2000, 98, 95, NT, CE, NTE de Microsoft. VxWorks de WindRiver. QNX. Linux Diagrama de bloques. Figura67 3.8. Geode GXLV de National Semiconductor [23] Descripción. El procesador GXLV de la familia Geode de National Semiconductor está específicamente diseñado para equipos de información orientados al entretenimiento, educación y negocios tales como set-top boxes y dispositivos personales de acceso a Internet. El procesador GXLV puede funcionar a tres tensiones diferentes (2.9V, 2.5V y 2.2V), ofreciendo un consumo de potencia típico muy bajo (2.5W, 2.0W y 1.5W respectivamente), lo que conduce a una vida mayor de la batería entre cargas y a un diseño sin ventilador. Estos consumos típicos se han definido como media, ejecutando Windows con un ciclo activo en espera del 80% y con una resolución gráfica de 800x600x8 bpp a 75 Hz. Aunque el núcleo x86 proporciona una compatibilidad máxima con la basta cantidad de contenidos de Internet disponibles, la integración de otras funciones (audio, gráficos, etc.) en un solo chip ofrece una solución multimedia verdadera a nivel de sistema. El núcleo de Geode GXLV tiene un diseño x86 que ofrece un rendimiento competitivo. Contiene unidades de ejecución de enteros y punto flotante basadas en tecnología de sexta generación (Pentium). La unidad de enteros contiene un pipeline único, de ejecución en seis etapas, y ofrece características avanzadas tales como búsqueda anticipada de operandos, búferes de predicción de saltos y búferes de escritura extensa. Los accesos a la caché write-back L1 de 16 KB se reordenan dinámicamente para eliminar paradas del pipeline durante la captura de operandos. Además de las características avanzadas de CPU, el Geode GXLV integra funciones que típicamente se implementan con componentes externos. El acelerador gráfico contiene un controlador VGA, un motor bitblt y una unidad ROP (Raster Operations) para conseguir una aceleración del interfaz gráfico de usuario (GUI) completa para la mayoría de los sistemas operativos. El controlador de pantalla tiene un búfer de vídeo adicional para posibilitar reproducción de vídeo MPEG1 a más de 30 fps (frames per second, imágenes por segundo) y superposición de vídeo, ambas funciones 6768 implementadas en conjunción con el chip Geode CS9210 Graphics Companion. Los accesos a memoria de sistema y memoria gráfica son posibles mediante un controlador de memoria SDRAM que elimina la necesidad de una caché L2 exterior. El controlador host de PCI permite hasta tres bus masters para posibilitar capacidades multimedia y de conectividad adicionales. El Geode GXLV incorpora la tecnología VSA (Virtual System Architecture, Arquitectura de Sistema Virtual) que hace posible la presencia de los subsistemas XpressGRAPHICS y XpressAUDIO. Existen proveedores de software que proporcionan funciones estándares de VGA y audio de 16 bits que son transparentes a nivel de sistema operativo Características. Encapsulados: BGA de 352 bolas. SPGA de 320 pines. Tecnología CMOS de cinco capas conductoras de 0.35 µm. Núcleo de 2.2V, 2.5V o 2.9V Interfaz de entrada/salida de 3V (tolerante a 5V). Consumo de potencia típico bajo: 1W a 2.2V/166 MHz 2.5W a 2.9V/266 MHz Nota: Consumos medidos ejecutando Windows con un ciclo activo en espera del 80% y con una resolución gráfica de 800x600x8 bpp a 75 Hz. Velocidades ofrecidas de hasta 266 MHz. Arquitectura de memoria unificada: La memoria gráfica y de vídeo residen con la de sistema en la memoria principal. Minimiza los requisitos de área en la PCB. Reduce el coste del sistema. 6869 Compatibilidad directa con chips de entrada/salida y gráficos de National Semiconductor. Procesador x86 de 32 bits. Permite utilizar la extensión MMX del set de instrucciones para la aceleración de aplicaciones multimedia. Caché L1 unificada de 16 KB. Unidad de enteros en pipeline de seis etapas. Unidad de punto flotante integrada. La unidad de gestión de memoria (MMU) cumple con mecanismos estándar de paginación y optimiza el rendimiento de la carga de código. El reordenamiento de las cargas y almacenamientos da prioridad a las lecturas de memoria, y los saltos de lectura de memoria eliminan lecturas redundantes o innecesarias. El modo reentrante de gestión del sistema está mejorado para la tecnología VSA. Gestión de la alimentación flexible. Compatible con varios estándares: APM para gestión de alimentación Legacy, ACPI para gestión de alimentación Windows (estados de procesador C0 a C4) y OnNOW. Modos de consumo controlados por hardware y software: activo, ocioso (núcleo parado, salida de gráficos activa), en espera (núcleo y todas las funciones integradas paradas), dormido (como en espera pero además con todos los relojes parados), parada con modulación (ciclo de trabajo programable, en balanceo activo-parado), y eventos de reactivación programables mediante chips I/O o de gráficos compatibles. Controlador PCI host. Varios esquemas de arbitraje permitidos: fijo, rotativo, híbrido, ping-pong. Hasta tres masters de bus PCI. Síncrono con el núcleo de la CPU. Permite accesos externos de PCI masters a la memoria principal en concurrencia con los accesos de la CPU a la caché L1. 6970 Arquitectura de sistema virtual. Arquitectura innovadora que permite la independencia virtual de funciones hardware a los sistemas operativos (software). Subsistema XpressGRAPHICS: alto rendimiento compatible con el núcleo VGA. La aceleración GUI es puro hardware. Subsistema XpressAUDIO de 16 bits: síntesis FM estéreo de 16 bits, emulación OPL3, permite interfaz MIDI MPU-401, asistencia hardware proporcionada por el chip I/O CS5530. Acelerador de gráficos 2D. Aceleración de BitBLTs, trazado de líneas y texto (motor vectorial Bresenham). Permite las 256 operaciones ROP definidas por Microsoft. Permite BLTs transparentes y saltos de página para DirectDraw. Corre a la frecuencia de reloj del núcleo. Compatible con los modos VGA y VESA. Las instrucciones especiales a nivel de controlador (driver) utilizan un dispositivo interno de operaciones intermedias para mejorar el rendimiento. Controlador de gráficos. Tecnología de compresión de gráficos DCT que reduce en gran medida el consumo de ancho de banda de memoria para el refresco de la pantalla. Tiene un búfer de vídeo y un bus de datos separados para permitir la aceleración en los chips de I/O y de gráficos compatibles. Paleta interna RAM para corrección gamma. Interfaz directa a los chips de I/O y de gráficos compatibles para salidas a monitores CRT y pantallas de cristal líquido TFT sin la necesidad de un RAMDAC externo. Cursor hardware. Permite hasta 1280x1024x8 bpp y 1024x768x16 bpp. 7071 Subsistema XpressRAM. Interfaz SDRAM fuertemente acoplado al núcleo CPU y al subsistema de gráficos para maximizar la eficiencia. Bus de memoria de 64 bits. Permite: Dos DIMMs de 168 pines sin búferes. Hasta 16 bancos abiertos simultáneos. Lecturas de 16 bytes en dos ráfagas de 8 bytes cada una. Hasta 256 MB de memoria total. Permite la ejecución de diversos sistemas operativos: Microsoft Windows (2000, 98, 95, NT, CE), Java de Sun Microsystems, VxWorks de WindRiver, QNX, Linux, etc. Para la conexión a pantallas de cristal líquido SVGA DSTN y VESA FPDI hay que utilizar el chip de gráficos CS9210 de National Semiconductor Geode GXM de National Semiconductor [23]. Sus características son las mismas que el Geode GXLV excepto que no está optimizado para bajo consumo de potencia. Tiene un núcleo de 2.9V e I/O a 3.3V mientras que el Geode GXLV baja hasta un núcleo de 2.2V con I/O a 3V Geode SC1400 de National Semiconductor [23] Introducción. Geode SC1400, además de su microprocesador de 64 bits, x86 compatible, incluye un decodificador MPEG2, un procesador de video para televisión y monitor, un 7172 Southbridge y un bloque SuperIO (se describirán a continuación). Estas características, combinadas con el pequeño tamaño y bajo consumo de potencia, lo hacen un núcleo apropiado para set-top boxes capaces de combinar tanto video DVD de alta calidad como acceso a Internet. Su arquitectura integrada simplifica el diseño del sistema empotrado al posibilitar la reducción de capas y pistas de la placa de circuito impreso anfitriona, reduciendo el número de chips y componentes adicionales y los requisitos de potencia del sistema Componentes principales. Procesador x86 y de gráficos: Geode SC1400 incorpora el procesador MediaGX que combina rendimiento avanzado de CPU de 64 bits con soporte de MMX, con aceleración verdadera de gráficos 2D, un interfaz de 64 bits a memoria síncrona SDRAM y controlador de bus PCI. MPEG2: el decodificador de video MPEG2 incluye un procesador de audio para formatos MPEG y Dolby AC3. Salidas de TV y monitor (CRT): el codificador de televisión soporta televisiones NTSC (América) y PAL (Europa). La salida de video tiene un acelerador hardware para el plegado, escalado, filtrado y conversión del espacio de colores. Southbridge: incluye funcionalidad PC/AT, un interfaz IDE, un interfaz USB, gestión de consumo de potencia ACPI 1.0, y entradas de video y de audio (codec A/D). SuperIO: el bloque del SuperIO tiene dos puertos serie, un puerto de infrarrojos (IR), control de ventilador, dos interfaces de bus ACCESS y un reloj de tiempo real (RTC) Características fundamentales. Procesador de 64 bits, compatible x86, de hasta 266 MHz con el set de instrucciones MMX soportado. Interfaz de 64 bits de memoria síncrona SDRAM. Acelerador de gráficos de 2D. 7273 Controlador CRT y NTSC/PAL con hardware para aceleración y captura. Puerto de entrada de video CCIR-656 con redirección a la salida de video en modo pantalla completa. Funcionalidad PC/AT. Controlador de bus PCI. Interfaz de bus LPC (Low Pin Count, bajo número de pines). Interfaz de bus IDE. Interfaz USB, tres puertos (dos serie y uno paralelo), cumplimiento con la norma OpenHCI. Procesador de audio para audio MPEG y Dolby AC3. Decodificador de video MPEG2. Interfaz de audio con cumplimiento de la norma AC97. VSA (Virtual System Architecture, Arquitectura de Sistema Virtual) soportada. Gestión de consumo de potencia según el estándar ACPI 1.0. Encapsulado EBGA de 40 x 40 mm, con 680 bolas (separación entre bolas contiguas de 1 mm) Operaciones concurrentes. Los gráficos se pueden mostrar por el monitor CRT mientras el video MPEG2 se muestra por un televisor NTSC o PAL. La señal del puerto de entrada de video se puede mostrar en el televisor mientras que los gráficos se muestran en el monitor CRT. Reproducción de DVD y facilidades para navegación web. 7374 Diagrama de bloques. Figura SPARClite MB86831 de Fujitsu [24] Introducción. El MB86831 es un miembro de la serie MB8683X de procesadores RISC que ofrecen un alto rendimiento para aplicaciones de sistemas empotrados. El procesador se basa en la arquitectura SPARC y es compatible con código de anteriores implementaciones. El procesador corre a 66 u 80 MHz llegando a las 66 u 80 MIPS respectivamente. El MB86831 tiene un encapsulado de plástico con bajo perfil y 176 pines. Las cachés incluidas en el chip para datos e instrucciones ayudan a desacoplar el procesador de la latencia de la memoria externa. Los buses separados para datos e instrucciones en el interior del chip (arquitectura Harvard [3]) proporcionan un interfaz de elevado ancho de banda entre las cachés y la unidad de aritmética entera. 7475 Para un rendimiento máximo con una mínima lógica de interconexión externa, el MB86831 incluye: salidas de selección de chips (señales chip selects) y generación de estados de espera programables, soporte para PM-DRAM, EDO-DRAM, PM-EEPROM, y anchura del bus de datos de memoria de 8, 16 o 32 bits. El set de instrucciones está diseñado para ejecución rápida, de modo que la mayoría de las instrucciones se ejecutan en un solo ciclo de reloj. La unidad de aritmética entera presenta un pipeline de 5 etapas que se ha diseñado para manejar interbloqueos de datos, un controlador de saltos optimizado para controlar de modo eficiente las transferencias, y un interfaz de bus para manejar accesos de un solo ciclo a la memoria interna. El conjunto de 136 registros internos está organizado en ocho ventanas solapadas con desplazamiento para proporcionar rápidos tiempos de respuesta a interrupciones y cambios de contexto. Este conjunto de registros minimiza los accesos a memoria durante la ejecución de procesos y facilita el paso de parámetros y la asignación a variables. El MB86831 incluye hardware para multiplicaciones de enteros. Las multiplicaciones de enteros de 32 bits se ejecutan en 5 ciclos de reloj, las de 16 bits en 3 ciclos y las de 8 bits en 2. Para la conexión a periféricos se puede utilizar uno de los chips de complemento que poseen controlador de teclado, dos puertos serie, etc.: MB86941 (comunicación de datos a 40 MHz con el SPARCLite) o MB86942 (50MHz), véase el capítulo Características. Ejecución rápida de instrucciones en la unidad de aritmética entera. Las operaciones simples forman el mayor volumen en la mayoría de los programas, de modo que la velocidad de ejecución se puede mejorar enormemente diseñando estas instrucciones de modo que se ejecuten en el menor tiempo posible. En la arquitectura SPARC la mayoría de las instrucciones se ejecutan en un solo ciclo de reloj y tan solo un reducido grupo, las más complejas (como la multiplicación de enteros), toman ciclos adicionales. Amplio conjunto de registros. El elevado número de registros reduce el número de accesos a la memoria de datos. Estos registros se organizan en grupos solapados llamados ventanas de registros, lo que permite reservar registros para tareas de alta prioridad, tales como interrupciones o acceso a registros de 7576 trabajo del sistema operativo. El solapado de las ventanas también simplifica el paso de parámetros y reduce la sobrecarga de instrucciones para el enlace de procedimientos o funciones. Cachés internas. El chip posee dos cachés, una para datos (2 KB) y otra para instrucciones (4KB). Esto desacopla la rápida unidad de aritmética entera de la memoria externa al chip, la cual sólo se utiliza cuando los datos o instrucciones no están en la caché. Posibilidad de bloquear partes de la caché. Tanto en la caché de datos como de instrucciones es posible bloquear parte de las mismas de modo que sus contenidos no se descarten nunca (hasta desbloqueo explícito). Esto es de gran utilidad para ciertos datos o código que se sabe que son muy utilizados. Interfaces. Los requisitos de lógica adicional para la interconexión del MB86831 al resto del sistema se minimizan gracias a las señales de selección de chips, circuitería de estados de espera programables, direcciones de memoria cacheables y no cacheables programables, y soporte para conexión a PM-DRAM, EDO-DRAM, PM-EEPROM. El MB86831 puede arrancar desde memoria con anchura de 8, 16 o 32 bits. Además, el bus de datos programable permite lectura o escritura a memoria de diferentes anchuras. Para una operación a elevada frecuencia el núcleo puede correr hasta cinco veces la velocidad del bus (pero la velocidad del bus nunca puede exceder los 33 MHz). Generador de reloj. Para el MB86831 se debe proporcionar una fuente de reloj. A diferencia de otros miembros de la familia SPARCLite, éste no tiene oscilador dentro del chip. Pero un PLL incorporado minimiza el skew (desfase) entre los relojes dentro del chip y fuera del chip. Set de instrucciones mejorado. El MB86831 incluye una instrucción rápida de multiplicación de enteros. La instrucción de un paso de división reduce el tiempo necesario para una división en un factor de 10 sobre implementaciones previas SPARC. También dispone de una instrucción para examinar en un solo ciclo de reloj cual es el bit 1 o 0 más significativo en una palabra o cual es el primer bit diferente al bit de signo. Modo adormecido. Es un modo de ahorro de energía en el que la ejecución de un programa se suspende temporalmente. Los pines PDOWN# y WKUP# y el registro de modo adormecido proporcionan el mecanismo para entrar y salir de este modo. Soporte para ROM modo ráfaga. 7677 16 espacios de direcciones, de 256 MB cada uno. Tecnología CMOS de 2 niveles, de 0.35 micras, a 3.3V internos y 3.3 o 5V para I/O Diagrama de bloques. Figura 3.7 IU: Integer Unit. BIU: Bus Interface Unit. ICACHE: Instruction Cache. DCACHE: Data Cache SPARClite MB86832 de Fujitsu [24]. Sus diferencias con respecto al MB86831 son: Velocidades de 66, 80 o 100 MHz. Tamaños de las cachés de datos e instrucciones de 8 KB (cada una). 7778 Velocidad del bus: 40 MHz para la versión de 100 MHz, y de 33 MHz para las versiones de 66 y 80 MHz. Unidad de apoyo al depurado (DSU, Debug Support Unit), la cual permite los modos monitor y de emulación hardware, puede fijar puntos de ruptura (breakpoints), y también ejecución paso a paso de la CPU. Para habilitar la DSU se deben activar las líneas EMU_BRK# y EMU_ENB# mientras que se le hace un reset a la CPU. Los datos en el bus emulador DSU se pueden monitorizar mediante lógica externa, y se pueden capturar trazas de las operaciones entre la unidad IU (Integer Unit) y las cachés. La circuitería interna para emulación permite determinar el estado de la CPU monitorizando los buses del emulador EMU_SD[3:0] y EMU_D[3:0] SPARClite MB86833 de Fujitsu [24]. Es el microprocesador de la familia SPARClite menos potente pero a la vez más pequeño y barato, lo que le hace el mejor candidato para aplicaciones de sistemas empotrados de bajo coste. Sus diferencias con respecto al MB86831 son: Velocidad única de 66 MHz. Tamaños de las cachés de datos e instrucciones de 1 KB (cada una). Encapsulado de plástico con bajo perfil de 144 pines SPARClite MB86860 de Fujitsu [24]. Es el microprocesador Superescalar de la familia SPARClite, y con ello el más potente, para aplicaciones de sistemas empotrados que exigen gran capacidad de cálculo Características. Núcleo CPU. Conforme a SPARC V8. 7879 Máxima frecuencia interna de funcionamiento de 200 MHz. Arquitectura Superescalar doble. Caché de instrucciones de 16 KB de cuatro conjuntos (4-way). Caché de datos de 16 KB de cuatro conjuntos (4-way). Modo de bajo consumo. Soporte para bi-endian, es decir, puede actuar como big-endian o como little-endian. Funciones de apoyo al depurado a nivel hardware. Puntos de ruptura. Búfer de trazas con una profundidad de 16 direcciones. Operación paso a paso. Módulo de búferes. Búfer de instrucciones de 4 columnas. Búfer de lectura de 2 x 4 columnas. Búfer de escritura de 16 columnas. Interfaz SDRAM. Anchura del bus de datos de 64 bits. Frecuencia máxima de funcionamiento de 100 MHz. Soporta autorrefresco. Soporta control de paridad. Bus interfaz SPARClite. Bus de datos de 8, 16, 32 o 64 bits. Soporta el modo ráfaga. Módulo DMA (acceso directo a memoria) de 2 canales (operación simultánea de un solo canal). Tensión interna del núcleo de 2.5 V, y de los pines de entrada / salida de 3.3V. 7980 Diagrama de bloques. Figura Crusoe TM3200 de Transmeta [25] Descripción. En enero de 2000, la compañía Transmeta introdujo este procesador basado en software: ahorrar en consumo de energía sustituyendo grandes cantidades de transistores por software. El procesador consiste en un núcleo hardware rodeado por una capa de software. El núcleo hardware es una CPU VLIW (Very Large Instruction Word) capaz de ejecutar hasta cuatro operaciones en cada ciclo de reloj. El set de instrucciones nativo de VLIW no se parece al del x86. Se ha diseñado específicamente para combinar ejecución rápida, bajo consumo y reducido espacio utilizando fabricación CMOS convencional. La capa software envolvente da a los programas x86 (incluyendo a la BIOS y al sistema operativo) la impresión de que están siendo ejecutados en hardware x86. Esta capa se denomina Code Morphing TM porque da forma dinámicamente a las instrucciones x86 para convertirlas en instrucciones VLIW. Esta filosofía cambia por completo el diseño clásico de microprocesadores. Mediante la demostración de que se pueden implementar microprocesadores reales como híbridos hardware-software, Transmeta ha expandido enormemente el espacio de los diseñadores de microprocesadores de modo que pueden explorar soluciones óptimas para las aplicaciones perseguidas. Los equipos de desarrollo de microprocesadores pueden meter 8081 en su plantilla a expertos en software de modo que trabajen en paralelo con los ingenieros hardware para presentar los productos en el mercado más rápidamente. Las actualizaciones de la parte software del microprocesador se pueden llevar a cabo independientemente del chip. Finalmente, el desacoplo entre el diseño hardware y el software de sistema da libertad a los diseñadores hardware para modificar sus diseños sin necesidad de alterar el software de aplicación. El diseño hardware elimina las tres cuartas partes de la lógica de transistores necesaria para un diseño tradicional de rendimiento similar. De esta forma se reduce el consumo y el tamaño del chip. Recordemos que el consumo de potencia es proporcional a c*v 2 *f, donde c es el número de transistores, v la tensión y f la frecuencia del reloj. La capa software Code Morphing TM se puede modificar para mejores rendimientos en el futuro, y como normalmente residirá en memoria flash de la placa madre donde vaya el chip, se podrá actualizar descargándola de la Internet. La única desventaja del Code Morphing TM es que fuerza al procesador a dedicar parte de sus ciclos para ejecutarlo. Pero diseñando dicho software para máxima eficiencia la sobrecarga no es considerable como para tener un peor rendimiento que un microprocesador tradicional. El núcleo hardware se compone fundamentalmente de dos unidades de aritmética entera, una unidad de punto flotante, una unidad de memoria (load/store) y una unidad de salto (branch). Una instrucción del microprocesador Crusoe, llamada molécula, puede tener una longitud de 64 o 128 bits y contener hasta cuatro instrucciones del tipo RISC, llamadas átomos. Todos los átomos de una molécula se ejecutan en paralelo, y el formato de la molécula determina directamente cómo los átomos se enrutan a las unidades funcionales. Esto simplifica enormemente el hardware para decodificar y despachar instrucciones. En la Figura 3.9 se puede ver cómo una molécula de 128 bits se descompone en cuatro átomos que se destinan a las unidades funcionales adecuadas. Las moléculas se ejecutan en orden, para no añadir complejidad al hardware. Para mantener al microprocesador corriendo a la máxima velocidad las moléculas se rellenan lo máximo posible con átomos. Figura82 Comparemos este tipo de arquitectura con la del Pentium III. Bien es cierto que este último también tiene unidades funcionales que permiten ejecutar operaciones RISC en paralelo a partir de una instrucción x86, pero, a diferencia de Crusoe, requiere hardware adicional para despachar las instrucciones de forma desordenada, ya que eso es necesario en su arquitectura si se quiere tener al mayor número de unidades funcionales ocupadas. Esto conlleva además una unidad hardware encargada de reconstruir el orden original de la instrucción x86. Con ello el hardware es más complejo que el del motor VLIW. Esto y todo lo descrito con anterioridad hace que para una misma reproducción de un video DVD el Pentium III alcance los 105 ºC mientras que el Crusoe TM5400 (otro miembro de la familia Crusoe que se verá más adelante) sólo alcance los 48 ºC. Esto hace que el Pentium III requiera ventilador y el Crusoe no. De todos modos señalar que esta comparación que hace Transmeta no es la más indicada, ya que existe un microprocesador de aplicaciones más semejantes que es el Mobile Pentium III. El TM3200 está orientado a dispositivos de acceso a Internet de última generación y pequeño tamaño (webpads, etc.) a diferencia del TM5400 que dada su mayor potencia está indicado para PCs portátiles Características. Rango de frecuencias: MHz. Caché L1: 96 KB. Tipo de memoria principal: SDRAM. North Bridge (controlador de SDRAM) integrado. Encapsulado: 474 pin BGA. Fabricante (Partner) de los chips: IMB. Tecnología 0.22µm. Tamaño del chip: 77mm 2. 8283 3.16. Crusoe TM5400 de Transmeta [25] Introducción. Es el hermano mayor del TM3120, descrito anteriormente, y tiene la misma filosofía de diseño. Dada su mayor potencia de cálculo está orientado a PCs portátiles capaces de reproducir DVD, etc. con un alto rendimiento Características. Rango de frecuencias: MHz. Caché L1: 128 KB. Caché L2 (integrada en el chip): 256 KB. Tipo de memoria principal: SDRAM o DDR. North Bridge (controlador de SDRAM) integrado. Encapsulado: 474 pin BGA. Fabricante (Partner) de los chips: IMB. Tecnología 0.18µm. Tamaño del chip: 73mm Mobile Pentium III de Intel [26] Descripción. El microprocesador Pentium III para dispositivos portátiles basados en procesador (por ejemplo un PC portátil o un webpad) está fabricado con tecnología de 0.18µm, y ofrece un elevado rendimiento junto con un bajo consumo. Los avances clave de rendimiento incluyen la introducción del nuevo set de instrucciones para contenidos de Internet llamado SIMD (rendimiento mejorado para sonido y video incluso en 3 8384 dimensiones), una arquitectura de transferencia a caché mejorada y un bus de sistema de velocidad 100 MHz. Los encapsulados disponibles son el BGA2 y el micro-pga2 (o lo que es lo mismo, PBGA-B495 y PPGA-B495), cuyos tamaños son incluso un 20% más pequeños que los del Mobile Pentium II. La tecnología SpeedStep TM de Intel permite alcanzar rendimientos cercanos a los de los PCs de sobremesa. Está tecnología tiene además dos modos de funcionamiento que permite cambiar dinámicamente entre las tensiones y frecuencias asociadas a cada modo (alto rendimiento y bajo consumo), es decir, las velocidades del núcleo y bus del procesador, y la tensión del núcleo, se pueden cambiar de altos a bajos sin resetear al micro. En el modo de máximo rendimiento la frecuencia de reloj es de 700 MHz, mientras que en el modo de ahorro de batería (bajo consumo) es de 550 MHz. La caché L2 integrada está diseñada para ayudar a mejorar el rendimiento, proporcionando un rápido acceso a datos críticos reduciendo el consumo total del sistema (es decir, con respecto a un sistema con caché L2 externa SRAM). El bus de sistema se denomina GTL+ (Gunning Transceiver Logic), y tiene una anchura de 64 bits. Proporciona un acoplo directo con el controlador de memoria y el puente de I/O incluidos en los chips 440BX AGPset, 440ZX-M AGPset y 440MX Chipset Características. Rango de frecuencias de funcionamiento: 700/100 MHz (modo de máximo rendimiento a 1.6 V). 550/100 MHz (modo de máximo rendimiento a 1.35 V). Soporta la Ejecución Dinámica de la arquitectura Intel. Caché primaria L1: 16 KB para instrucciones. 16 KB para datos. Modo write-back. Caché asociativa de 4 conjuntos (4-way). 32 bytes por línea, 1 línea por sector. Rango de información cacheable controlado por registros programables del microprocesador. 8485 Caché secundaria L2 integrada en el chip: 256 KB. Protección ECC. Funcionamiento a la velocidad del núcleo. Caché asociativa de 8 conjuntos (8-way). 32 bytes por línea, 1 línea por sector. Interfaz de bus GTL+: Bus de datos de 64 bits. Funcionamiento a 100 MHz. Soporta dos cargas: puente I/O y controlador de memoria. Co-procesador matemático integrado. Número de serie de procesador Intel. Encapsulados BGA2 y Micro-PGA2, que facilitan diseños de pequeño tamaño y, gracias a la mejor disipación, la innecesidad de un ventilador. Compatibilidad completa con los procesadores Intel anteriores: Compatible con el código binario de todas las aplicaciones compiladas para microprocesadores Intel. Soporta la tecnología MMX. Soporta el set de instrucciones SIMD. Gestión para el ahorro de energía con dos modos de funcionamiento diferenciados y de rápida conmutación: alto rendimiento y bajo consumo. Diodo térmico integrado para medir la temperatura del procesador. 8586 Diagrama de bloques. Figura87 3.18. Tabla comparativa. Velocidades (M H z) Consumo típ. (W ) Tabla 3.1 Tecnología ( µ m) Tensión núcleo (V ) Encapsulado Caché (K B ) Driver memoria Velocidad (M H z) Capacidad máx (MB) Bus de datos (bits) STPC Client PBGA 8 STPC Consumer PBGA 8 STPC Consumer-S PBGA 8 STPC Industrial PBGA 8 Coldfire M CF TQFP 8 M achz PCe PBGA 8 Geode GXLV SPGA BGA 16 Geode GX SPGA BGA 16 Geode SC EBGA - SP A R C lite M B SQFP 6 SP A R C lite M B SQFP 16 SP A R C lite M B LQFP 2 SP A R C lite M B BGA 32 Crusoe TM BGA 96 Crusoe TM BGA M obile Pentium III BGA2 1.6 micro-pga Nota: Caché x+y significa x KB chaché L1 e y KB caché L2 (integrada en el chip). Controlador gráfico Entrada / salida de TV Super IO STPC Client DRAM Sí Digitales No No STPC Consumer DRAM Sí D igital / Analógica No No STPC Consumer-S SDRAM Sí D igital / Analógica No No STPC Industrial DRAM Sí No Sí No Coldfire M CF5307 DRAM SDRAM No No No No M achz Pce SDRAM No No Sí Sí Geode GXLV SDRAM No No No No Geode GX1 SDRAM Sí No No No Geode SC1400 SDRAM Sí Sí Sí Sí SP A R C lite M B86831 DRAM No No No No SP A R C lite M B86832 DRAM No No No No SP A R C lite M B86833 DRAM No No No No SP A R C lite M B86860 SDRAM No No No No Crusoe TM 3200 SDRAM No No No No Crusoe TM 5400 DDR- SDR No No No No SDRAM M obile Pentium III SD R A M N o N o N o N o Nota: Super IO incluye puertos de teclado, ratón, serie, paralelo y disquetera (está ausente en STPC Industrial). USB 8788 4. CHIPS COMPLEMENTARIOS PARA PC EMPOTRADO National Geode CS5530 I/O Companion Chip [23] Introducción. Para su familia de microprocesadores Geode, National Semiconductor ha creado este chip que permite crear un sistema prácticamente completo siendo una buena solución para cubrir las necesidades de un host o de un cliente, como es el caso de settop-boxes, acceso personal a Internet, etc. El CS5530 es un puente PCI-ISA (South Bridge) proporcionando el bus ISA al sistema (recuérdese que el procesador Geode proporcionaba el bus PCI). También contiene la gestión de energía que permite reducir la potencia consumida, esto es especialmente importante en dispositivos alimentados con pilas o baterías. Por otro lado proporciona salidas analógicas RGB para CRT y salidas digitales RGB para pantallas TFT o codificadores NTSC/PAL a partir de las señales generadas por la CPU. Estas salidas se pueden conectar al CS9210, que es un controlador DSTN de la familia Geode. El CS5530 también incluye dos controladores IDE, dos puertos USB, puerto de juegos y la posibilidad de incluir dispositivos Plug and play. Para soportar audio se puede conectar un codec AC97 a través del bus PCI y proporciona, por el interfaz de audio, la tecnología VSA. Para otras necesidades como el RTC (reloj de tiempo real), disquetera, teclado o ratón PS2, etc. es necesario incluir un SuperIO. 8889 Características fundamentales. Características generales: Diseñado para los procesadores de la familia Geode. Encapsulado TBGA de 352 terminales. Compatible con buses PCI de 3.3v y de 5v. Soporta 5v en sus interfaces de entrada/salida. Core a 3.3v. Puente PCI a ISA: Versión de PCI 2.1. Soporta ciclos de transferencia de master PCI a ISA y de master ISA a PCI. Master PCI para entradas salidas de audio y controladores IDE. Agente inteligente para eliminar transferencias no reclamadas. Translación de mapa de interrupciones PCI a ISA. Compatibilidad con AT: Dos controladores de interrupciones equivalentes al 8259A. Temporizador equivalente al Chip select para la ROM de arranque y el teclado. ROM extendida a 16 MB. Controladores IDE: Dos controladores que soportan cuatro dispositivos IDE. Temporización independiente para dispositivos master y slave de ambos canales. Ráfagas de lectura y escritura del bus PCI como master. Soporte Ultra DMA/33 (ATA-4). Soporte multiword DMA. Soporta modos 0-4 de entradas/salidas programadas (PIO). 8990 Gestión de energía: Sistema de control inteligente que soporta varios estándares de gestión de energía. Soporte de ACPI y APM completa. Gestiona directamente los estados de energía del procesador. Interrupciones de entrada/salida y temporizadores de tiempo inactivo para la gestión de la energía en los periféricos. Ocho registros de propósito general para el control del sistema. Los ocho configurables como eventos externos de activación. Entradas dedicadas para los eventos de activación del teclado y el ratón. XpressAUDIO: Proporciona hardware back-end soportado mediante seis masters PCI. Interfaz para el codificador AC97. Revisión de las especificaciones 1.3, 2.0 y 2.1. El codificador debe soportar SRC (conversión de frecuencia de muestreo). Extensiones del subsistema gráfico: Complementa las capacidades gráficas de los procesadores GXm (como el GX1) y GXLV. Tres búferes independientes para acelerar el flujo de datos de video. Controladores de flujo de datos de video y gráficos asíncronos concurrentes desde el procesador. Conversión hardware de YUV a RGB. Escalado de la interpolación X e Y arbitraria. Control del color para la superposición de gráficos y video. Interfaz VDACs/pantalla. Tres DACs integrados (R, G y B). RAM Gamma. Proporciona corrección gamma para el flujo de datos de video. Proporcione corrección de brillo/contraste para el flujo de datos de video. 9091 Reloj generador DOT integrado. Interfaz RGB digital para alimentar pantallas TFT o para codificadores NTSC/PAL estándares. Bus serie universal (USB): Dos interfaces USB independientes. Cumple con la especificación de interfaz controlador de host abierto (OpenHCI). Diseño del core de segunda generación Descripción. Como ya hemos visto el Geode CS5530 se compone de interfaz PCI, interfaz ISA, lógica de compatibilidad con AT, controladores IDE, gestión de energía (interrupciones, eventos, timers e interfaces GPIO), puerto de juegos, hardware de soporte de audio, control de video (acelerador MPEG, RAMDAC y puertos de video) y controladores USB, como se puede ver en la Figura 4.1. Figura92 La interfaz PCI funciona tanto como slave cuando la CPU u otro dispositivo PCI inicia la comunicación en modo master como en modo master para los ciclos de transferencia del DMA, este chip también es master cuando lo requieren los controladores IDE o la lógica de audio. El CS5530 soporta decodificación positiva para la configuración de las zonas de acceso a dispositivos de entrada/salida y de memoria, genera las direcciones de memoria y la paridad de los datos siendo capaz de la comprobación de la paridad. El arbitraje del bus corresponde al microprocesador no siendo implementado por este chip. El CS5530 proporciona in interfaz ISA al sistema, por defecto hace caso a todas los ciclos, pero se puede configurar para desechar las transferencias no solicitadas. Este chip soporta dos modos en el interfaz ISA. El modo por defecto, el modo ISA limitado, soporta todo el rango de direcciones, sin poder hacer de master, para ello se multiplexan las señales de direcciones y datos utilizando la señal SA_LACH cuando los datos son de este bus. En el modo ISA master no requiere circuitería externa pero se redefinen los pines físicos del chip no pudiendo utilizar las pantallas TFT o los controladores de TV, este modo es necesario si se quieren poner slots ISA o usar el chip como master ISA. Los ciclos sólo pasan al bus PCI cuando se necesita el acceso a la memoria quedándose los ciclos que acceden a los dispositivos de entrada/salida en el puente. La compatibilidad con AT se consigue con dos controladores DMA equivalentes al 8237, dos controladores de interrupciones equivalentes al 8259, un temporizador equivalente al 8254 para el refresco, temporización y lógica del altavoz, control y generación de NMI para los errores del sistema (PCI y paridades), soporte para teclados compatibles AT, control del reset y de espacio para entradas/salidas. El controlador de DMA soporta siete canales estándar DMA, zona de memoria de 32 bits para los registros, ciclos extendidos de IOCHRDY [7] para compatibilizar temporalmente las transferencias y soporte de dispositivos ISA master usando el modo en cascada. El temporizador programable utilizado permite un total de 16 interrupciones poniendo en cascada los dos controladores, se puede configurar para que sea sensible al flanco o al nivel. También se integran dos controladores IDE ATA-4 que cuelgan del bus PCI, soportan Ultra DMA/33 (para Windows 95 y Windows NT National proporciona el driver correspondiente), Multiword DMA y entradas/salidas programables (PIO). La velocidad de cada dispositivo en cada controlador se puede controlar independientemente, permitiendo dispositivos rápidos junto a otros más lentos. 9293 El CS5530 integra una gestión de energía avanzada que incluye temporizadores para inactividad para los periféricos, registros trampa de direcciones para el espacio de direcciones programable para entradas/salidas o acceso a memoria, ocho registros programables de propósito general (GPIO), control del reloj de la CPU, parada del reloj de la CPU por software, modo suspendido cero voltios con ocultamiento de los registros de los periféricos y bus dedicado para proporcionar el estado de la CPU. Cumple con la norma ACPI (revisión 1.0) proporcionando más ventajas para la gestión del consumo. Junto con lo anterior se pueden usar los registros de propósito general (GPIO) como entradas o salidas para una mejor gestión de la energía. XpressAUDIO en el CS5530 ofrece soporte hardware y software para los requerimientos del audio, usa tecnología VSA y hardware adicional para soportar la síntesis estéreo de 16 bits y la emulación OPL3. El hardware se divide en dos la parte dedicada al transporte de flujo de datos de sonido y la parte VSA. En cuanto a la pantalla el CS5530 incorpora extensiones del subsistema gráfico de los procesadores GXm, incluyendo: Aceleración de video con búferes y entradas para YUV, interfaz de 8 bits con el microprocesador escalador X e Y con filtro bilinear y conversor YUV a RGB. Corrección gamma con control de brillo y de contraste e interfaz de pantalla con los conversores DAC RGB para CRT, soporte VESA DDC2B/DPMS e interfaz para pantallas planas. El CS5530 puede generar los relojes DOT para video por medio de un PLL programable y el reloj para el bus ISA, el divisor para este reloj también es programable. Para ello es necesario tener las señales de reloj del bus PCI o bien reloj de video (TVCLK) o una señal de 14 MHz. Por último hay que mencionar que este chip incorpora también 2 puertos serie universales (USB) independientes que cumplen con la especificación OpenHCI revisión94 4.2. National PC Super I/O Introducción. Los chips PC87317VUL y PC97317VUL de National Semiconductor son dos chips con la misma funcionalidad encargados de proporcionar a un sistema basado en microprocesador los interfaces para periféricos ISA, EISA y MicroChannel más comunes. Estos chips son totalmente compatibles con las especificaciones Plug and Play de ISA versión 1.0a y con los acuerdos de la guía de diseño PC97 Hardware Design Guide, además integra la configuración avanzada y el interfaz de control de energía de los requerimientos ACPI revisión 1.0. Incorpora además un reloj de tiempo real (RTC) proporcionando la posibilidad de control de alimentación avanzado (APC), controlador de disquetera, controlador de teclado y ratón, 2 puertos serie (UARTs) con posibilidad transmisión por infrarrojos, puerto paralelo completo, 24 registros de propósito general (GPIO), tres señales de chip select programables, controlador de LED de acuerdo con las especificaciones PC97, soporte para la gestión de la energía, temporizador de WATCHDOG, decodificador de las direcciones según el estándar PC-AT, etc. En resumen el PC87317 y el PC97317 tienen las siguientes características y cumplen con las siguientes recomendaciones: Compatibilidad total con la revisión 1.0. de los requisitos de ACPI. Diseñado según las especificaciones PC97 Hardware Design Guide, incluyendo el soporte para LED. RTC avanzado incluyendo funcionalidad APC y timekeeping. 24 puertos GPIO de un bit. Controladores de teclado y ratón, 2 UARTs, soporte para infrarrojos y puerto paralelo Características fundamentales. 100% compatible con los requerimientos PnP especificados en las especificaciones Plug and Play de ISA, arquitecturas ISA, EISA y MicroChannel. 9495 Un módulo PnP especial que incluye: DMA, IRQs y direccionamientos base flexibles según las especificaciones de Microsoft en su 1995 hardware design guide for Windows y de la revisión 1.0A de PnP ISA. Modo ISA PnP. Placa madre con modo PnP. Controlador de disquetera que proporciona: Una dirección modificable referenciada por un registro de 16 bits. Compatibilidad software con el PC8477, que contiene un superset de funciones de control de disquetera en el µdp8473, el NEC µpd765a y el N opciones para el canal IRQ. 4 opciones para el canal del DMA. FIFO de 16 bits. Modos ráfaga y no ráfaga (burst y no-burst). Un nuevo separador interno, digital de altas prestaciones, que no requiere ningún componente externo. Soporta disqueteras estándar de 5.25 y 3.5. Soporte para la detección automática. Soporte para grabación perpendicular. Soporte de FDD (controlador de disquete) de tres modos. Soporte total para el TDR de IBM. Controlador de teclado (KBC) con: Dirección modificable referenciada en un registro de 16 bits programable. 13 opciones de IRQ para el controlador de teclado. 13 opciones de IRQ para el controlador de ratón. Microcontrolador de 8 bits. Compatibilidad software con microcontroladores 8042AH y PC K de ROM programada por el cliente. 256 bytes de RAM. 9596 5 líneas de entrada salida en drenador abierto dedicadas y programables para aplicaciones del controlador de teclado. Acceso asíncrono a dos registros de datos y un registro de estado durante el funcionamiento normal. Soporta tanto interrupciones como polling. 93 instrucciones. Un contador/temporizador de 8 bits. Soporta aritmética binaria y BCD. Funcionamiento a 8 MHz, 12 MHz o 16 MHz, siendo programable esta velocidad. Posibilidad de incluir el PC87323 que incluye RAM y una plataforma de desarrollo para el PC Reloj de tiempo real (RTC) que comprende: Una dirección modificable referenciada en un registro de 16 bits programable. 13 opciones de IRQ, con polaridad programable. Compatibilidad con DS1287, MC y PC Memoria RAM, guardada con batería, de 242 bytes. Mecanismos de seguridad para la RAM del RTC. Calendario con día de la semana, día del mes, mes, año y siglo con ajuste automático, alimentado por batería. Reloj con la hora del día en hora, minutos y segundos, permite formato de 24 o de 12 horas. Formato para guardar el tiempo binario o BCD. Tres banderas enmascarables de interrupción: Interrupciones periódicas, a intervalos desde 122 ms hasta 500 ms. Alarma de larga duración, interrupción periódica con intervalos desde una por segundo hasta una por mes. Interrupción final de actualización. Una vez por segundo hasta que se completa la actualización. Pin separado de alimentación por batería de 2.4 V con protección interna. 9697 Consumo máximo durante el periodo apagado de 2 µa. Registros de tiempo con doble búfer. Controlador ACPI que soporta las recomendaciones ACPI revisión 1.0: Temporizador para la gestión de la energía. Botón de encendido. Alarma en tiempo real. Modo suspendido por software. PnP SCI. Mecanismo de bloqueo general. Eventos de propósito general. Alarma con la fecha del mes. Byte de siglo. Control de alimentación avanzado (APC), que controla la alimentación principal del sistema usando las salidas, en drenador abierto, de la siguiente forma: Encendido cuando: El RTC avisa en un momento predeterminado. Ocurre un cambio de nivel de alto a bajo en la señal de entrada RI de las UARTs. Se detecta un pulso en la señal de entrada RING. Salta el trigger de uno de los eventos programables. Apagado cuando: La señal SWITCH indica el evento de apagado. Ocurre un evento de Fail-safe. Apagado por software. Ocurre uno de los 10 eventos de apagado programables. Dos puertos serie (UART1 y 2) proporcionan: Compatibilidad total con los 16550A y Modo UART extendido. 13 opciones de IRQ. 9798 Registro oculto para permitir monitorizar bits de sólo escritura. Velocidades de la UART de 1.5 Mbaudios. Inclusión de interfaz IR en la UART2 que permite: IrDA 1.0-SIR. Opción ASK-IR de SHARP-IR. Opción DASK-IR de SHARP-IR. Circuito de control remoto. Transceptor externo compatible PnP. Un puerto paralelo bidireccional que incluye: Dirección modificable referenciada por un registro programable de 16 bits. Control Software o Hardware. 13 opciones de IRQ. Cuatro opciones de canal de DMA de 8 bits. Soporta el modo demanda del DMA. Un puesto paralelo aumentado (EPP) compatible con la nueva versión EPP 1.9, e IEEE EPP que también soporta la versión EPP 1.7 de las especificaciones de Xircom. Se soporta el modo EPP como el modo 4 de ECP (puerto con capacidades extendidas). Selección de las resistencias pull-up o pull-down internas. Reducción de la utilización del bus PCI al soportar los modos de DMA de demanda y colapso (demmand y fairness modes). Circuito de protección contra sobrecargas eléctricas. Búferes de salida que pueden absorber o dar hasta 14 ma. Tres pines de propósito general para tres chip-select programables independientes, como sigue: Pueden ser programados para control del puerto de juegos. El chip-select 0 (CS0) está en drenador abierto alimentado por la tensión adicional V CCH. 9899 Las otras dos señales tienen búferes en push-pull alimentados a la alimentación general. La decodificación de estas señales dependen de las señales de dirección y pueden ser usadas utilizando las señales de leer y escribir. 24 puertos bit de propósito general: Direccionamiento modificable referenciada por un registro programable de 16 bits. Dirección de cada señal programable como entrada salida. Tipo de salida programable para cada salida (como drenador abierto o como push-pull). Tipo de entrada programable (con resistencia de pull-up o sin ella). Opciones de configuración de bloqueo. Varias señales pueden utilizarse como triggers de interrupción. Circuito de protección. Un X-bus que conecta los 8 bits del X-bus con el bus ISA. Opciones de la fuente de reloj: La fuente puede ser un reloj de KHz, un multiplicador interno genera los relojes necesarios. La señal de entrada puede ser también un reloj de 48 o 24 MHz. Gestión de energía (PM) ampliada, incluye: Registros de configuración especial para apagado. Temporizador WATCHDOG para estrategias de ahorro de energía. Corriente en los pines reducida. Tecnología CMOS de bajo consumo. Posibilidad de apagar los relojes de todos los módulos. El LED alimentado desde la alimentación especial V CCH. Las características generales incluyen: Todos los accesos al SuperIO activan la señal de cero estados de espera (ZWS), excepto el acceso al EPP o a los registros de configuración. 99100 Acceso a todos los registros de configuración a través de un registro de índice y otro de datos, que pueden ser reubicados en el espacio de direcciones de entrada/salida del bus ISA. Encapsulado PQFP de 160 pines Diagrama de bloques. En el diagrama (Figura 4.2) se puede apreciar los componentes del SuperIO así como su estructura interna. Figura Otros chips complementarios. Existen en el mercado otros chips que realizan las funciones de los anteriores, sobre todo la gama es amplia en lo que se refiere a SuperIOs. Un par de ejemplos pueden ser los ofrecidos por National Semiconductor y por SMSC, debido al gran parecido con los ya comentados no se hace aquí sino una breve referencia a estos otros chips. 100 Mostrar más
HARDWARE 85 CAPÍTULO 2 HARDWARE HARDWARE: Lo que puedes partir con un hacha 1. En este capítulo se va a detallar lo que es el hardware de un computador electrónico y considerar sus características principales. Más detalles Manual de Reparación y Ensamblaje de Microcomputadoras
Manual de Reparación y Ensamblaje de Microcomputadoras Bienvenido. Un manual en linea de montaje y reparación de PCs orientado a usuarios. NOTA.- Al tratarse de un servicio gratuito, nos es imposible atender Más detalles ESTUDIO Y EVALUACIÓN DEL SISTEMA OPERATIVO μclinux APLICADO A SISTEMAS EMBEBIDOS MÓVILES DE ALTA COMPLEJIDAD
ESTUDIO Y EVALUACIÓN DEL SISTEMA OPERATIVO μclinux APLICADO A SISTEMAS EMBEBIDOS MÓVILES DE ALTA COMPLEJIDAD Proyecto para optar al título de Ingeniero Electrónico ANA MARÍA FERNÁNDEZ PÉREZ LUIS GERMÁN Más detalles COMPUTADOR SUS ELEMENTOS PERIFÉRICOS Y APLICACIONES
COMPUTADOR SUS ELEMENTOS PERIFÉRICOS Y APLICACIONES 1 GENERALIDADES COMPUTADORA Máquina capaz de efectuar una secuencia de operaciones mediante un programa, de tal manera, que se realice un procesamiento Más detalles MÓDULO # 1: Introducción al ensamble de computadores
Página 1 de MÓDULO # 1: Introducción al ensamble de computadores OBJETIVOS Realizar una presentación global del contenido de la materia, buscando la motivación de los estudiantes. Conformar los grupos Más detalles TITULO DEL PROYECTO DATOS DE LOS EJECUTORES
TITULO DEL PROYECTO DISEÑO DE UNA INTERFAZ RS-232 PARA POSICIONAR UN SERVOMOTOR FESTO EMPLEANDO UNA TARJETA SEC AC. DATOS DE LOS EJECUTORES RAUL ALFONSO PRIETO ESCOBAR CÓDIGO: 44991121. DIRECCIÓN: Cra Más detalles TEMA 01. Técnico de Soporte Informático
Técnico de Soporte Informático INFORMÁTICA BÁSICA. CONCEPTO DE DATOS E INFORMACIÓN. CONCEPTO DE SISTEMA DE INFORMACIÓN. ELEMENTOS CONSTITUTIVOS DE UN SISTEMA. ARQUITECTURA DE ORDENADORES: COMPONENTES Y Más detalles Introducción a los sistemas informáticos
Unidad En esta Unidad aprenderemos a: Analizar las características de un sistema informático. Diferenciar entre hardware y software. Identificar y describir los elementos funcionales de un sistema informático. Más detalles TEMA 1: CONCEPTOS BÁSICOS DEL ORDENADOR
TEMA 1: CONCEPTOS BÁSICOS DEL ORDENADOR 1.1 ARQUITECTURA DE UN ORDENADOR 1.2 SISTEMAS OPERATIVOS 1.3 COMUNICACIONES 1. ARQUITECTURA DE UN ORDENADOR 1.1. Introducción Las nuevas Tecnologías de la Información Más detalles La evolución de los dispositivos que se pueden conectar a un ordenador (hardware) es constante; los nuevos periféricos amplían las posibilidades del
HARDWARE La evolución de los dispositivos que se pueden conectar a un ordenador (hardware) es constante; los nuevos periféricos amplían las posibilidades del ordenador y, por otra parte, los que ya existen Más detalles CONCEPTOS FUNDAMENTALES, HISTORIA COMPONENTES DE UN PC
CONCEPTOS FUNDAMENTALES, HISTORIA Y COMPONENTES DE UN PC Sin duda, el PC es una de las herramientas más empleadas en la actualidad, y por ello se hace casi imprescindible conocerlo a fondo. Esta recopilación Más detalles EL MOTHERBOARD LA BASE DE LA ESTRUCTURA DE LA PC
1 EL MOTHERBOARD LA BASE DE LA ESTRUCTURA DE LA PC La placa madre o motherboard es el principal componente de la PC, ya que, a partir de su estructura, se definirán los demás elementos que conformarán Más detalles 1. INTRODUCCION A LOS MICROCONTROLADORES...3
Modificado por Luis Frino www.frino.com.ar Fuente www.micro1.com.ar 1. INTRODUCCION A LOS MICROCONTROLADORES...3 1.1 CONTROLADOR Y MICROCONTROLADOR...3 1.2 DIFERENCIA ENTRE MICROPROCESADOR Y MICROCONTROLADOR...4 Más detalles PROYECTO DE SISTEMAS INFORMÁTICOS FACULTAD DE INFORMÁTICA UNIVERSIDAD COMPLUTENSE DE MADRID CURSO 2006/2007. Dr. Luis Piñuel Moreno
PROYECTO DE SISTEMAS INFORMÁTICOS FACULTAD DE INFORMÁTICA UNIVERSIDAD COMPLUTENSE DE MADRID CURSO 2006/2007 CAPTURA Y PROCESADO REMOTO DE IMÁGENES Y VIDEO PROFESOR DIRECTOR: Dr. Segundo Esteban San Román Más detalles INTRODUCCIÓN A LA INFORMÁTICA
INTRODUCCIÓN A LA INFORMÁTICA Informática La informática, también llamada computación en América, es una ciencia que estudia métodos, procesos, técnicas, con el fin de almacenar, procesar y transmitir Más detalles Entrada Proceso Salida
Sep. ERMC Pag.01 Introducción.- Con este manual se pretende que el usuario sea capaz de armar una PC a partir de unos componentes que el mismo podrá adquirir en los múltiples establecimientos de venta Más detalles 1. INTRODUCCION A LOS MICROCONTROLADORES... 1 1.1 CONTROLADOR Y MICROCONTROLADOR... 1 1.2 DIFERENCIA ENTRE MICROPROCESADOR Y MICROCONTROLADOR...
1. INTRODUCCION A LOS MICROCONTROLADORES... 1 1.1 CONTROLADOR Y MICROCONTROLADOR... 1 1.2 DIFERENCIA ENTRE MICROPROCESADOR Y MICROCONTROLADOR.... 2 1.3 APLICACIONES DE LOS MICROCONTROLADORES... 4 1.4 EL Más detalles Cortafuegos (Firewall) basado en Microcontrolador
Cortafuegos (Firewall) basado en Microcontrolador ALFREDO ADRIÁN ORTEGA Tesina presentada para el grado de Licenciado en Informática Departamento de Informática Facultad de Ingeniería Universidad Nacional Más detalles ESCUELA POLITÉCNICA NACIONAL
1 ESCUELA POLITÉCNICA NACIONAL ESCUELA DE INGENIERÍA DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA MICROPROCESADO PARA ADQUISICIÓN DE DATOS EN FORMA REMOTA DE UN MEDIDOR DIGITAL DE CONSUMO DE ENERGÍA ELÉCTRICA Más detalles Diseño de un control distribuido para una planta.
Diseño de un control distribuido para una planta. TITULACIÓN: Ingeniería Técnica en Telecomunicaciones Especialidad en Telemática AUTOR: Oscar López Risquez DIRECTOR: Ramón Villarino Villarino FECHA: Mayo Más detalles Alfonso Molina Gutiérrez
ÍNDICE 1. Introducción... 1 1.1 Qué es el mantenimiento para PCs?... 1 1.2 Tipos de mantenimiento para la PC... 1 1.3 Criterios que se deben considerar para el mantenimiento de la PC... 2 1.4 Material, Más detalles Instalación eléctrica / Protección del PC
Arquitectura y ensamble de PC Instalación eléctrica / Protección del PC Los equipos modernos de cómputo están dotados de excelentes circuitos y filtros para distribuir la corriente eléctrica en su interior. Más detalles 1.2.- Sistemas de adquisición y Procesamiento de datos
1.2.- Sistemas de adquisición y Procesamiento de datos 1.2.1.- Proceso de adquisición de datos Como paso previo, antes de realizar un tratamiento digital de la información está, el proceso de adquisición Más detalles L i n E x. Hardware de un ordenador. Ordenadores compatibles IBM CAPÍTULO
Hardware de un ordenador CAPÍTULO 1 Ordenadores compatibles IBM El mercado de los ordenadores es muy extenso y los fabricantes ofrecen equipos capaces de satisfacer las necesidades de una gran cantidad Más detalles GP2X: una herramienta para el desarrollo de sistemas embebidos
UNIVERSIDAD SIMÓN BOLÍVAR Ingeniería de la Computación GP2X: una herramienta para el desarrollo de sistemas embebidos Por Carlos Zager Fernández Tutor Académico Alberto Armengol Tutor Industrial Ricardo Más detalles METODOLOGÍAS PARA EL DESARROLLO DE SOFTWARE: UN ANÁLISIS COMPARATIVO PEDRO PABLO HERNÁNDEZ RAMIREZ ASESORADO POR: INGA. VIRGINIA VICTORIA TALA AYERDI
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA EN CIENCIAS Y SISTEMAS METODOLOGÍAS PARA EL DESARROLLO DE SOFTWARE: UN ANÁLISIS COMPARATIVO PEDRO PABLO HERNÁNDEZ RAMIREZ Más detalles TEMA 1. Informática básica. 1.1 Introducción. 1.2 Informática básica
TEMA 1. Informática básica 1.1 Introducción El Tema 1 nos servirá para dos fines. En la sección 1.2 Informática básica, realizaremos una breve presentación de la noción de Informática. Veremos que la misma Más detalles INSTITUTO POLITÉCNICO NACIONAL CENTRO DE INNOVACIÓN Y DESARROLLO TECNOLÓGICO EN CÓMPUTO.
INSTITUTO POLITÉCNICO NACIONAL CENTRO DE INNOVACIÓN Y DESARROLLO TECNOLÓGICO EN CÓMPUTO. IMPLEMENTACIÓN DE CLIENTES LIGEROS DENTRO DE UN CENTRO DE CÓMPUTO TESIS PARA OBTENER EL GRADO DE: MAESTRÍA EN TECNOLOGÍA Más detalles SISTEMA DE CONTROL DE RIEGO AUTOMÁTICO MEDIANTE SMS
Universidad de Zaragoza ESCUELA DE INGENIERÍA TÉCNICA INDUSTRIAL DE ZARAGOZA Dpto. Ingeniería Electrónica y Comunicaciones SISTEMA DE CONTROL DE RIEGO AUTOMÁTICO MEDIANTE SMS PROYECTO FIN DE CARRERA INGENIERÍA Más detalles UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA SISTEMA DE SOPORTE TÉCNICO VÍA REMOTA PARA USUARIOS DE EQUIPOS DE CÓMPUTO EN RED

References: resolución 
 resolución 
 resolución 
 Resolución 
 resolución 
 resolución 
 resolución