ESCUELA TÉCNICA SUPERIOR DE INGENIEROS DE TELECOMUNICACIÓN PROYECTO FIN DE CARRERA Título: Desarrollo de un PC empotrado con procesador de señal. Autor: Carlos Prades del Valle. Tutor: 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: 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 CURSO 1999-2000 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 microprocesador, diseño hardware, esquemas. empotrados, microcontrolador, 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. DESARROLLO DE UN PC EMPOTRADO CON PROCESADOR DE SEÑAL Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal ÍNDICE ÍNDICE ...................................................................................................................... 6 GLOSARIO. ............................................................................................................... 10 MEMORIA......................................................................................... 13 1. INTRODUCCIÓN AL PC EMPOTRADO................................................................. 14 1.1. ¿Qué es un PC empotrado? ....................................................................................................................14 1.2. Microprocesadores y sistemas empotrados [3]. ....................................................................................15 1.3. Arquitectura básica [4]. ..........................................................................................................................18 1.4. Aplicaciones de un PC empotrado. ........................................................................................................20 1.5. Ventajas de un PC empotrado sobre las soluciones industriales tradicionales..................................21 2. CICLO DE VIDA DEL DISEÑO DE UN PC EMPOTRADO. ...................................... 23 2.1. Fases de vida del diseño. .........................................................................................................................23 2.2. Diseño previo del sistema........................................................................................................................24 2.2.1. Determinación de los requisitos del sistema. ..........................................................................24 2.2.2. Diseño de la plataforma PC empotrado...................................................................................27 2.2.3. Elección de la memoria y del sistema operativo. ....................................................................28 2.2.4. Determinación de las entradas-salidas. ...................................................................................29 2.2.5. Elección de la BIOS................................................................................................................29 2.3. Diseño del hardware................................................................................................................................30 2.3.1. Creación de los esquemas. ......................................................................................................30 2.3.2. Creación del layout de la PCB. ...............................................................................................31 2.4. Diseño del software..................................................................................................................................31 2.5. Prototipo. .................................................................................................................................................32 6 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 2.6. Integración del sistema. ..........................................................................................................................33 2.7. Prueba final del sistema. .........................................................................................................................33 3. MICROCONTROLADORES PARA PC EMPOTRADO. ............................................ 35 3.1. STPC Consumer-S de ST Microelectronics [20]. .................................................................................35 3.1.1. Introducción. ...........................................................................................................................35 3.1.2. Características fundamentales. ................................................................................................35 3.1.3. Descripción. ............................................................................................................................40 3.2. STPC Consumer de ST Microelectronics [20]. .....................................................................................46 3.3. STPC Client de ST Microelectronics [20]. ............................................................................................47 3.4. STPC Industrial de ST Microelectronics [20].......................................................................................47 3.5. Coldfire MCF5307 de Motorola [21]. ....................................................................................................48 3.5.1. Introducción. ...........................................................................................................................48 3.5.2. Características fundamentales. ................................................................................................49 3.5.3. Diagrama de bloques...............................................................................................................53 3.6. MachZ PCe de ZF [22]............................................................................................................................54 3.6.1. Introducción. ...........................................................................................................................54 3.6.2. Características fundamentales. ................................................................................................55 3.6.3. Diagrama de bloques...............................................................................................................60 3.7. Geode GX1 de National Semiconductor [23]. .......................................................................................61 3.7.1. Descripción General................................................................................................................61 3.7.2. Características. ........................................................................................................................63 3.7.3. Diagrama de bloques...............................................................................................................66 3.8. Geode GXLV de National Semiconductor [23].....................................................................................67 3.8.1. Descripción. ............................................................................................................................67 3.8.2. Características. ........................................................................................................................68 3.9. Geode GXM de National Semiconductor [23]. .....................................................................................71 3.10. Geode SC1400 de National Semiconductor [23]. ................................................................................71 3.10.1. Introducción. .........................................................................................................................71 3.10.2. Componentes principales. .....................................................................................................72 3.10.3. Características fundamentales. ..............................................................................................72 7 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 3.10.4. Operaciones concurrentes. ....................................................................................................73 3.10.5. Diagrama de bloques.............................................................................................................74 3.11. SPARClite MB86831 de Fujitsu [24]. ..................................................................................................74 3.11.1. Introducción. .........................................................................................................................74 3.11.2. Características. ......................................................................................................................75 3.11.3. Diagrama de bloques.............................................................................................................77 3.12. SPARClite MB86832 de Fujitsu [24]. ..................................................................................................77 3.13. SPARClite MB86833 de Fujitsu [24]. ..................................................................................................78 3.14. SPARClite MB86860 de Fujitsu [24]. ..................................................................................................78 3.14.1. Características. ......................................................................................................................78 3.14.2. Diagrama de bloques.............................................................................................................80 3.15. Crusoe TM3200 de Transmeta [25]. ....................................................................................................80 3.15.1. Descripción. ..........................................................................................................................80 3.15.2. Características. ......................................................................................................................82 3.16. Crusoe TM5400 de Transmeta [25]. ....................................................................................................83 3.16.1. Introducción. .........................................................................................................................83 3.16.2. Características. ......................................................................................................................83 3.17. Mobile Pentium III de Intel [26]. .........................................................................................................83 3.17.1. Descripción. ..........................................................................................................................83 3.17.2. Características. ......................................................................................................................84 3.17.3. Diagrama de bloques.............................................................................................................86 3.18. Tabla comparativa. ...............................................................................................................................87 4. CHIPS COMPLEMENTARIOS PARA PC EMPOTRADO.......................................... 88 4.1. National Geode CS5530 I/O Companion Chip [23]..............................................................................88 4.1.1. Introducción. ...........................................................................................................................88 4.1.2. Características fundamentales. ................................................................................................89 4.1.3. Descripción. ............................................................................................................................91 4.2. National PC 97317 Super I/O. ................................................................................................................94 4.2.1. Introducción. ...........................................................................................................................94 4.2.2. Características fundamentales. ................................................................................................94 4.2.3. Diagrama de bloques.............................................................................................................100 8 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 4.3. Otros chips complementarios. ..............................................................................................................100 4.3.1. PC87306 de National Semiconductor [23]............................................................................101 4.3.2. PC87338 de National Semiconductor [23]............................................................................101 4.3.3. MB86941 y MB86942 de Fujitsu [24]..................................................................................101 4.3.4. FDC37B78x de SMSC [27]. .................................................................................................101 5. DESARROLLO PC EMPOTRADO....................................................................... 103 5.1. Especificaciones. ....................................................................................................................................103 5.2. Elección del microcontrolador. ............................................................................................................105 5.3. Posibilidades abiertas............................................................................................................................107 5.4. Descripción de los esquemas del PC empotrado de potencia de cálculo media. ..............................109 5.4.1. Contenido de los buses..........................................................................................................111 5.5. Descripción de los esquemas del PC empotrado de alta potencia de cálculo. ..................................112 5.5.1. Descripción general...............................................................................................................112 5.5.2. Bloque microprocesador. ......................................................................................................115 5.5.3. Bloque de memoria. ..............................................................................................................117 5.5.4. Bloque de conectores. ...........................................................................................................118 5.5.5. Bloque de relojes...................................................................................................................118 5.5.6. Señales del sistema................................................................................................................119 BIBLIOGRAFÍA. ................................................................................................... 126 PLANOS ......................................................................................... 128 PLANOS DEL PC EMPOTRADO DE POTENCIA DE CÁLCULO MEDIA..................... 129 PLANOS DEL PC EMPOTRADO DE ALTA POTENCIA DE CÁLCULO. ...................... 137 PLIEGO DE CONDICIONES........................................................... 143 PRESUPUESTO ............................................................................. 144 9 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 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. 10 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 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. 11 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 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. 12 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal MEMORIA 13 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 1. INTRODUCCIÓN AL PC EMPOTRADO. 1.1. ¿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. 14 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 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 100.000 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 BUS DE SISTEMA CPU SUBSISTEMA MEMORIA SUBSISTEMA Datos obtenidos ENTRADA del exterior SUBSISTEMA Resultados hacia SALIDA 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 15 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 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 16 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 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 17 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 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. 1.3. 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 18 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 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, 19 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 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. 1.4. 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. 20 Carlos Prades del Valle • Desarrollo de un PC empotrado con procesado de señal 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. 1.5. 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: 21 Carlos Prades del Valle • Desarrollo de un PC empotrado con procesado de señal 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. 22 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 2. CICLO DE VIDA DEL DISEÑO DE UN PC EMPOTRADO. 2.1. 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 Prototipo hardware Diseño del software Integración del sistema Prueba final del sistema Figura 2.1 23 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 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. 2.2.1. 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. 2.2.1.1. 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. 24 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal ◦ 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. 25 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 2.2.1.2. 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. 26 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 2.2.2. 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 27 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 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.) 2.2.3. Elección de la memoria y del sistema operativo. 2.2.3.1. 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 28 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal utilidad reside en el almacenamiento del sistema operativo, aplicaciones, datos, etc. 2.2.3.2. 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. 2.2.4. 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). 2.2.5. 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. 29 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 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). 2.3.1. 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. 30 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 2.3.2. 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. 2.4. 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. 31 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 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. 2.5. 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 32 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 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. 2.6. 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. 2.7. 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 33 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal que él designe. Tras esta fase sólo queda la política de mantenimiento (principalmente software) que se establezca entre ambas partes. 34 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 3. MICROCONTROLADORES PARA PC EMPOTRADO. 3.1. STPC Consumer-S de ST Microelectronics [20]. 3.1.1. 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. 3.1.2. 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. 35 Carlos Prades del Valle ◦ Desarrollo de un PC empotrado con procesado de señal 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. 36 Carlos Prades del Valle • Desarrollo de un PC empotrado con procesado de señal ◦ 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. 37 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal ◦ 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 14.318 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. 38 Carlos Prades del Valle ◦ Desarrollo de un PC empotrado con procesado de señal 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. 39 Carlos Prades del Valle • Desarrollo de un PC empotrado con procesado de señal ◦ 3 temporizadores/contadores compatibles con 8254. ◦ 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. 3.1.3. 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 40 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 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). 41 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 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 65536 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 42 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 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 43 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 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 PC973127-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. 44 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal Figura 3.1 45 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal Figura 3.2 3.2. 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. 46 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 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. 3.4. 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. 47 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 3.5. Coldfire MCF5307 de Motorola [21]. 3.5.1. 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 I2C). • 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 48 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 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 68000 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 I2C) 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 1149.1. 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. 3.5.2. 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. 49 Carlos Prades del Valle ◦ Desarrollo de un PC empotrado con procesado de señal 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. 50 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal ◦ 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 I2C. ◦ Los modos maestro o esclavo permiten múltiples masters. ◦ Generación de interrupciones automática con nivel programable. 51 Carlos Prades del Valle • Desarrollo de un PC empotrado con procesado de señal 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 1149.1. 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 16.67 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). 52 Carlos Prades del Valle ◦ Desarrollo de un PC empotrado con procesado de señal 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. 3.5.3. Diagrama de bloques. Figura 3.3 53 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 3.6. MachZ PCe de ZF [22]. 3.6.1. 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 54 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 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. 3.6.2. 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. 55 Carlos Prades del Valle • • • Desarrollo de un PC empotrado con procesado de señal ◦ 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 1284. ◦ 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 al 8254. 56 Carlos Prades del Valle • Desarrollo de un PC empotrado con procesado de señal ◦ Controlador de DMA equivalente al 8237. ◦ 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.). ◦ • • 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. ◦ • • Interrupciones enmascarables o no enmascarables. 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. 57 Carlos Prades del Valle • Desarrollo de un PC empotrado con procesado de señal 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. 58 Carlos Prades del Valle • Desarrollo de un PC empotrado con procesado de señal Compatibilidad con sistemas operativos. ◦ Linux. ◦ DOS. ◦ WinCE, Windows 9x, Windows NT. ◦ La mayoría de los sistemas operativos de tiempo real. 59 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 3.6.3. Diagrama de bloques. Figura 3.4 60 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 3.7. Geode GX1 de National Semiconductor [23]. 3.7.1. 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 61 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 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 62 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 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. 3.7.2. 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 (0.8w @ 1.6v/200MHz, 1.2w @ 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). 63 Carlos Prades del Valle ◦ Desarrollo de un PC empotrado con procesado de señal 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) funciones hardware con independencia del S.O. ◦ Proporciona el subsistema XpressGRAPHICS. 64 de Carlos Prades del Valle ◦ Desarrollo de un PC empotrado con procesado de señal 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. 65 Carlos Prades del Valle • Desarrollo de un PC empotrado con procesado de señal ▫ 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. 3.7.3. Diagrama de bloques. Figura 3.5 66 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 3.8. Geode GXLV de National Semiconductor [23]. 3.8.1. 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 67 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 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. 3.8.2. 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. 68 Carlos Prades del Valle • Desarrollo de un PC empotrado con procesado de señal 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. 69 Carlos Prades del Valle • Desarrollo de un PC empotrado con procesado de señal 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. 70 Carlos Prades del Valle • Desarrollo de un PC empotrado con procesado de señal 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. 3.9. 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. 3.10. Geode SC1400 de National Semiconductor [23]. 3.10.1. 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 71 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 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. 3.10.2. 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). 3.10.3. 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. 72 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal • 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). 3.10.4. 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. 73 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 3.10.5. Diagrama de bloques. Figura 3.6 3.11. SPARClite MB86831 de Fujitsu [24]. 3.11.1. 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. 74 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 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 4.3.3. 3.11.2. 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 75 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 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. 76 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal • 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. 3.11.3. Diagrama de bloques. Figura 3.7 IU: Integer Unit. BIU: Bus Interface Unit. ICACHE: Instruction Cache. DCACHE: Data Cache. 3.12. 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). 77 Carlos Prades del Valle • Desarrollo de un PC empotrado con procesado de señal 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]. 3.13. 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. 3.14. 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. 3.14.1. Características. • Núcleo CPU. ◦ Conforme a SPARC V8. 78 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal ◦ 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. 79 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 3.14.2. Diagrama de bloques. Figura 3.8 3.15. Crusoe TM3200 de Transmeta [25]. 3.15.1. 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 MorphingTM 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 Transmeta ha microprocesadores microprocesadores expandido de modo reales enormemente que pueden el como espacio explorar híbridos de los soluciones hardware-software, diseñadores óptimas para de las aplicaciones perseguidas. Los equipos de desarrollo de microprocesadores pueden meter 80 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 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*v2*f, donde c es el número de transistores, v la tensión y f la frecuencia del reloj. La capa software Code MorphingTM 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 MorphingTM 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. Figura 3.9 81 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 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. 3.15.2. Características. • Rango de frecuencias: 333 - 400 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: 77mm2. 82 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 3.16. Crusoe TM5400 de Transmeta [25]. 3.16.1. 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. 3.16.2. Características. • Rango de frecuencias: 500 - 700 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: 73mm2. 3.17. Mobile Pentium III de Intel [26]. 3.17.1. 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 83 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 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 SpeedStepTM 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. 3.17.2. 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. 84 Carlos Prades del Valle • • Desarrollo de un PC empotrado con procesado de señal 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. 85 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 3.17.3. Diagrama de bloques. Figura 3.10 86 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 3.18. Tabla comparativa. T e n s ió n n ú c le o E n c a p s u la d o (V ) S T P C C lie n t 6 6 -7 5 0 .3 5 3 .3 388 PB G A S T P C C o nsum er 6 6 -8 0 -1 0 0 0 .3 5 3 .3 388 PB G A S T P C C o n su m e r-S 6 6 -7 5 -9 0 -1 0 0 0 .3 5 3 .3 388 PB G A S T P C In d u s tria l 6 6 -8 0 0 .3 5 3 .3 388 PB G A C o ld fire M C F 5 3 0 7 6 6 -9 0 0 .9 5 0 .3 5 3 .3 208 TQ FP M achZ P C e 3 3 -6 6 -1 0 0 -1 3 3 0 .8 -2 .8 0 .2 5 2 .5 388 PB G A 2 .2 -2 .5 320 SPG A G eode G X LV 1 6 6 -2 6 6 1 .5 -2 .5 0 .3 5 2 .9 352 B G A 2 0 0 -2 3 3 -2 6 6 1 .6 -1 .8 320 SPG A G eode G X 1 0 .8 -1 .2 0 .1 8 300 2 .0 352 B G A G eode SC 1400 266 680 EB G A S P A R C lite M B 8 6 8 3 1 6 6 -8 0 0 .6 -0 .9 5 0 .3 5 3 .3 176 SQ FP S P A R C lite M B 8 6 8 3 2 6 6 -8 0 -1 0 0 0 .8 -1 .2 0 .3 5 3 .3 176 SQ FP S P A R C lite M B 8 6 8 3 3 66 0 .5 -0 .8 0 .3 5 3 .3 144 LQ FP S P A R C lite M B 8 6 8 6 0 200 2 .5 352 B G A C ru so e T M 3 1 2 0 3 3 3 -4 0 0 1 -2 .2 0 .2 2 1 .5 474 B G A C ru so e T M 5 4 0 0 5 0 0 -7 0 0 1 -2 0 .1 8 1 .2 -1 .6 474 B G A 1 .3 5 BGA2 M o b ile P e n tiu m III 1 0 0 -7 0 0 0 .1 8 1 .6 m ic ro -P G A 2 N o ta : C a c h é x + y s ig n ific a x K B c h a c h é L 1 e y K B c a c h é L 2 (in te g ra d a e n e l c h ip ). V e lo c id a d e s (M H z) C o nsum o típ . (W ) T e c n o lo g ía (µ m ) D riv e r m e m o ria V e lo c id a d (M H z) C a p a c id a d m áx (M B ) S T P C C lie n t DRAM - 128 B us de d a to s (b its ) 64 S T P C C o nsum er DRAM - 128 64 Sí S T P C C o n su m e r-S SD RAM - 128 64 Sí S T P C In d u s tria l DRAM DRAM SD RAM SD RAM SD RAM SD RAM SD RAM 66 128 64 Sí - 512 32 No 66 66 66 - 256 256 512 - 32 64 64 64 No No Sí Sí DRAM - 64 32 No DRAM - 64 32 DRAM - 64 SD RAM 100 128 C o ld fire M C F 5 3 0 7 M achZ P ce G eode G X LV G eode G X 1 G eode SC 1400 S P A R C lite M B 86831 S P A R C lite M B 86832 S P A R C lite M B 86833 S P A R C lite M B 86860 C ru so e T M 3 2 0 0 C o n tro la d o r g rá fic o E n tra d a / s a lid a d e TV Sí D ig ita le s D ig ita l / A n a ló g ic a D ig ita l / A n a ló g ic a No C aché (K B ) 8 8 8 8 8 8 16 16 6 16 2 32 96 128+256 32+256 Super IO U SB No No No No No No Sí No No No No No No No Sí Sí No No Sí Sí No No Sí No No No No No No No 32 No No No No 64 No No No No SD RAM 133 512 64 No No No No DDRSD R C ru so e T M 5 4 0 0 166 512+512 64 No No No No SD RAM M o b ile P e n tiu m III SD RAM 64 No No No No N o ta : S u p e r IO in c lu y e p u e rto s d e te c la d o , ra tó n , s e rie , p a ra le lo y d is q u e te ra (e s tá a u s e n te e n S T P C In d u s tria l). Tabla 3.1 87 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 4. CHIPS COMPLEMENTARIOS PARA PC EMPOTRADO. 4.1. National Geode CS5530 I/O Companion Chip [23]. 4.1.1. 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. 88 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 4.1.2. 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 8254. ◦ 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). 89 Carlos Prades del Valle • Desarrollo de un PC empotrado con procesado de señal 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. 90 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal ▫ 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. 4.1.3. 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. Figura 4.1 91 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 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. 92 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 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ón 1.0. 93 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 4.2. National PC 97317 Super I/O. 4.2.1. 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. 4.2.2. Características fundamentales. • 100% compatible con los requerimientos PnP especificados en las especificaciones Plug and Play de ISA, arquitecturas ISA, EISA y MicroChannel. 94 Carlos Prades del Valle • Desarrollo de un PC empotrado con procesado de señal 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 N82077. ◦ 13 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 PC87911. ◦ 2K de ROM programada por el cliente. ◦ 256 bytes de RAM. 95 Carlos Prades del Valle ◦ Desarrollo de un PC empotrado con procesado de señal 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 PC87317. • 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, MC146818 y PC87911. ◦ 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. 96 Carlos Prades del Valle • • Desarrollo de un PC empotrado con procesado de señal ◦ 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 16450. ◦ Modo UART extendido. ◦ 13 opciones de IRQ. 97 Carlos Prades del Valle • • Desarrollo de un PC empotrado con procesado de señal ◦ 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 1284. ◦ 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 VCCH. 98 Carlos Prades del Valle ◦ Desarrollo de un PC empotrado con procesado de señal 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 32.786 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 VCCH. 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. 99 Carlos Prades del Valle ◦ Desarrollo de un PC empotrado con procesado de señal 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. 4.2.3. Diagrama de bloques. En el diagrama (Figura 4.2) se puede apreciar los componentes del SuperIO así como su estructura interna. Figura 4.2 4.3. 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 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 4.3.1. PC87306 de National Semiconductor [23]. Este es un chip que conectado a los buses básicos de un microprocesador (direcciones, datos y control, por ejemplo del bus ISA) proporciona al sistema reloj de tiempo real, dos UARTs con posibilidad de comunicación por infrarrojos, controlador de disquetera, controlador IDE, controlador de teclado y ratón, lógica de gestión de encendido/apagado, puerto paralelo, registros de propósito general y acceso a los registros de configuración. Prácticamente las características de este chip son las mismas que las del PC87317 comentado anteriormente. 4.3.2. PC87338 de National Semiconductor [23]. Este SuperIO también basado en el bus ISA proporciona al sistema menos dispositivos que los anteriores, pensado para aplicaciones que no requieren todos los periféricos de un PC o que lo implementan desde otros dispositivos. El PC87338 incluye dos UARTs con posibilidad de comunicación por infrarrojos, controlador de disquetera, dos líneas de chip-select configurables, soporte PnP, lógica de gestión de apagado, puerto paralelo y acceso a los registros de configuración. 4.3.3. MB86941 y MB86942 de Fujitsu [24]. Estos chips están especialmente pensados para los microprocesadores Sparc-Little. Por ello está diseñado para un acople perfecto donde se minimizan los ciclos de espera. Este chip incluye el controlador de interrupciones de 15 canales, temporizador de 16 bits con 4 canales (2 de ellos con preescalers) con 4 modos de funcionamiento, transmisorreceptor serie (SDTR), control de tiempo y ampliación de CS, entrada/salida serie sincronía y puerto de 16 bits bidireccional bit a bit. 4.3.4. FDC37B78x de SMSC [27]. Este chip si está pensado para sistemas x86, incorpora interfaz para teclado, reloj de tiempo real, controlador de disquetera, dos UARTs con posibilidad de comunicación por infrarrojos, puerto paralelo con soporte EPP y ECP y con circuito protector, drivers de bus AT de 12 mA, soporte para la gestión de energía (con control de teclado ratón, puerto de juegos, llamada exterior, botón de encendido y eventos de encendido) cumpliendo la 101 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal norma ACPI, interfaz IDE, etc. Todo ello 100% compatible con las normas PC AT soportando ISA PnP y las recomendaciones internacionales más importantes. 102 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 5. DESARROLLO PC EMPOTRADO. En la nomenclatura utilizada se referencia cada una de las líneas sin nombre específico de un bus como nombre de bus[nº de línea]. Así la línea ADDRESS[0] es la línea 0 del bus ADDRESS. Para referirse a varias líneas consecutivas de un mismo bus se referencia como nombre de bus[primera línea:última línea]. Así DATA[8:10] son las líneas 8, 9 y 10 del bus DATA. Hay que señalar que los buses pueden tener señales con nombre propio. Por ejemplo el bus RTCCTR puede contener las señales RTCCS# y RTCALE, no existiendo las señales RTCCTR[n]. Cuando una línea es activa a nivel bajo o señala un evento en el flanco de bajada se incluye el símbolo “#” al final de su nombre. Así RESETPCI# indica que esta señal (RESETPCI) es activa a nivel bajo. 5.1. Especificaciones. El objetivo es diseñar un PC empotrado de propósito general, de pequeño tamaño, bajo consumo con los periféricos esenciales y coste reducido. Dado que se carece de una aplicación conocida donde vaya a ser utilizado hay que optar por un producto final que, si bien, no tenga todos los interfaces posibles si tenga los básicos para la interconexión de periféricos de diferente índole. Gracias a la propia arquitectura PC elegida para el sistema empotrado en cuestión se resuelve el problema de dicha interconexión de periféricos desconocidos mediante los interfaces estándar. En cuanto al software, para facilitar el desarrollo o adquisición del mismo, es un requisito que el microcontrolador sea compatible x86, dada la gran extensión de la arquitectura Intel en el mundo. Al aprovechar esta arquitectura los desarrollos software podrán realizarse sobre Windows XX, aprovechando el conocimiento de esta plataforma en proyectos para PC. Con estas premisas se realizan dos construcciones de PC empotrado. La primera es un PC empotrado pensado para aplicaciones industriales, por lo tanto prima el factor económico eligiendo componentes que permitan dar una potencia media con pocos componentes y un consumo mínimo. El sistema elegido debe tener una potencia de 103 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal cálculo apreciable para poder ejecutar las aplicaciones modernas, debe ser capaz de funcionar con los periféricos y módulos modernos (disco duro, memoria principal, etc.) y debe soportar los periféricos más comunes (teclado, ratón, monitor, etc.). La segunda construcción está pensada para aplicaciones de procesado de señal y multimedia, con lo que prima la potencia de cálculo, sin dejar de lado ni el tamaño ni el coste, y se hace un especial esfuerzo para controlar el consumo. La potencia de cálculo de dicho microcontrolador debe dar la capacidad de ejecutar las aplicaciones multimedia modernas sobre un sistema operativo Windows por los motivos ya explicados. Por supuesto este sistema, como el anterior, debe poder comunicarse con el exterior con los periféricos esenciales, así como utilizar los sistemas más modernos en su diseño. El sistema de potencia media para aplicaciones industriales, tiene las especificaciones en [1]. Este proyecto se centra en el sistema de potencia alta para aplicaciones de procesado de señal y multimedia, siendo las especificaciones siguientes las del sistema: • Sistema PC empotrado compatible x86, con potencia mínima equivalente al Pentium con posibilidad de ejecutar las instrucciones MMX, con una velocidad de funcionamiento mínima de 200 MHz. • Memoria SDRAM (mínimo de 32 MB a 66 MHz) con posibilidad de instalación mediante slot DIMM. • Memoria mínima para la BIOS de 256 KB. • Conector IDE para la instalación de disco duro (mínimo de 528 MB). • Salida de video VGA (RGB). • Posibilidad de conexión de teclado, ratón y puerto serie de comunicaciones. • Conector ATX para la alimentación del sistema. • Consumo del sistema lo suficientemente bajo como para utilizar batería para alimentarlo. 104 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 5.2. Elección del microcontrolador. Como punto de partida del diseño del PC empotrado nos encontramos ante la elección del microcontrolador, ya que éste determinará en gran medida la elección de los demás componentes y la forma de interconectarlos. Tras el estudio llevado a cabo sobre numerosos microcontroladores del mercado (véase capítulo 3) se ha optado por el STPC Consumer-S de ST Microelectronics y por el Geode GX1 de National Semiconductor. Es decir, se han realizado dos diseños de PC empotrado, con dos microcontroladores que permiten cumplir con las especificaciones dadas anteriormente pero a dos niveles diferentes. Más adelante se detallará esta diferencia de niveles, pero empecemos describiendo por qué se han descartado los demás microcontroladores. Primero eliminamos los microcontroladores que no soportan memoria SDRAM (no nos sirve DRAM, ya sea EDO o FPM, por motivos comerciales ya que pronto será difícil encontrarlas en el mercado). Con ello quedan fuera el STPC Client, STPC Consumer, STPC industrial, SPARClite MB86831, SPARClite MB86832, SPARClite MB86833. El Coldfire MCF5307 y el SPARClite MB86860, aunque soportan SDRAM, no han sido elegidos ya que no cumplen con el requisito de compatibilidad x86 (requisito necesario para poder ejecutar una gran variedad de sistemas operativos y aplicaciones disponibles para esta plataforma). Estos microcontroladores pueden ser útiles para aplicaciones muy específicas que requieran una gran potencia de cómputo pero no aplicaciones del entorno Windows. El MachZ PCe, aunque tiene como novedad la BIOS, que puede incluir parte del sistema operativo, integrada en el chip, y un SuperIO también integrado, lo que permite reducir el coste del sistema completo, no tiene integrada la controladora gráfica VGA, lo que produce un coste superior al ahorro de la BIOS. El Crusoe TM5400 y el Mobile Pentium III son sumamente potentes y caros. Su aplicación principal es la de servir de microprocesador de un ordenador portátil de última generación, con capacidad para reproducir videos DVD, etc. siendo caros y necesitando un apoyo hardware mayor. Como este no es el caso de nuestras especificaciones quedan descartados. El Geode GXLV y el Crusoe TM3120 podrían ser válidos para la elección final, pero por problemas de índole diferente a la meramente técnica (el primero por ser sustituido 105 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal por el GX1 y el segundo por no estar todavía disponible en el mercado español) no han sido elegidos. El SPTC Consumer-S equivale a un 486 (por lo tanto compatible x86) junto con numerosas mejoras. Entre ellas cabe destacar: interfaz SDRAM de 66 MHz y anchura del bus de datos de 64 bits, salida de televisión PAL o NTSC, acelerador gráfico 2D de 64 bits, controlador VGA, puerto de entrada de video, controladores PCI, ISA y EIDE, controlador de DMA e IRQ, unidad de gestión de consumo, etc. Por lo tanto, con la compañía de un SuperIO que proporcione las entradas/salidas necesarias, es la elección adecuada para el PC de capacidad de cálculo media. El Geode GX1 equivale a un Pentium MMX (por lo tanto compatible x86) con las características siguientes (considerando la presencia de su Companion Chip CS5530): velocidad máxima de 300 MHz (200 MHz con un consumo muy bajo), interfaz SDRAM de 66 MHz y anchura del bus de datos de 64 bits, acelerador gráfico 2D de 64 bits, controladores PCI, ISA y EIDE, controlador de DMA e IRQ, puertos USB, unidad de gestión de consumo, salidas RGB analógicas para CRT y salidas digitales RGB para pantallas TFT o codificadores NTSC/PAL, etc. Con estos dos chips (GX1 y CS5530) conseguimos tener un sistema completo con las entradas y salidas básicas. Hay que hacer mención a que sin SuperIO conseguimos la conexión a los periféricos externos (teclado, ratón) así como las comunicaciones serie por medio del puerto USB, con la ventaja de tener un solo conector (menor tamaño) y la desventaja de no utilizar los elementos clásicos. Por otro lado al no incluir SuperIO tampoco existe RTC, por lo que no tendremos en el sistema un reloj con la hora actual, sin embargo, las funciones de temporización que realiza el RTC sí se pueden llevar a cabo con el CS5530. Con estos chips conseguimos hacer un sistema que cumple con las especificaciones del sistema de alta capacidad de cálculo. Como se puede observar los dos últimos microcontroladores cumplen con las especificaciones establecidas (para más información sobre el STPC Consumer-S y sobre el Geode GX1 consúltese el capítulo 2). Otras razones por las que se han tomado estas elecciones son fundamentalmente la buena relación calidad-precio y la disponibilidad prometida por los distribuidores en España para ambos microcontroladores. Veamos a continuación las diferencias del PC empotrado implementado con el STPC Consumer-S con respecto al que utiliza el Geode GX1. Fundamentalmente se trata de dos potencias de cómputo diferentes. Mientras que el STPC Consumer-S tiene la mínima potencia como para correr un sistema operativo Windows, el Geode GX1 puede además ejecutar el set de instrucciones MMX (orientado a gráficos dinámicos), reproducir películas DVD, etc. Lo que tiene el STPC Consumer-S y no el Geode GX1 es salida directa 106 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal a televisión (lo que ahorra la colocación de un chip adicional si se quisiera disponer de esta salida). Para aplicaciones donde sea necesario una capacidad de cálculo grande como un servidor de pequeño tamaño, ordenadores portátiles, equipos de conmutación y gestión de red, set-top boxes, equipos de acceso a Internet, etc. conviene utilizar el Geode GX1. Sin embargo, para aplicaciones que requieran menos potencia de cómputo, como puede ser un cajero automático, un punto de venta en un supermercado, aplicaciones industriales, ordenadores embarcados en vehículos, etc. es más adecuado el STPC Consumer-S, ya que es más barato y suficiente para lo que exigen. 5.3. Posibilidades abiertas. El fin de este proyecto es el diseño de un PC empotrado que pueda ser construido así como el estudio de las diferentes alternativas. Como no existe una aplicación particular, se ha optado por realizar circuitos fácilmente ampliables. Proponemos en este apartado algunas de las posibilidades estudiadas que amplían los sistemas sin demasiada complicación. Una de las posibilidades, válida para los dos sistemas, es incluir un chip que proporcione un acceso a una red Ethernet consiguiendo incluir el PC en una red local, o bien conectarlo a un módem de alta velocidad con salida Ethernet (por ejemplo módem ADSL). Las soluciones existentes en el mercado son la conexión de un chip al bus ISA (para Ethernet 10 Base T) o al bus PCI permitiendo 10 Base T y 100 Base T. Los chips existentes en el mercado necesitan muy poca o ninguna lógica adicional y, en muchos casos, se ofrece el software para el control del chip bajo Windows. Existe la posibilidad de incluir una pequeña memoria ROM con salida en serie que contiene la configuración del chip y que es leída por este en el momento del encendido. En el caso de no querer utilizar otro chip más para incorporar la configuración esta deberá ser hecha por software en el proceso de reset del microprocesador. Las soluciones comerciales estudiadas son las de Intel, National Semiconductor y SMSC. Los primeros ofrecen el chip 82559, que con 15 mm × 15 mm ofrece una solución para una LAN (Ethernet 10 Base-T y 100 Base-T) en la placa madre del PC, conectando el chip al bus PCI (a 3 V), con la posibilidad de conectar la memoria de iniciación. La misma solución la ofrece National Semiconductor con su DP83815 o SMSC con el chip LAN83C171, con unas características prácticamente idénticas. Otra de las posibilidades es la inclusión en la placa de un disco de estado sólido. Esto permite reducir el tamaño, el consumo y el peso total del sistema al no tener que 107 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal disponer de un disco exterior, así como una mayor robustez física ya que los discos duros tradicionales son muy delicados. Aquí el cambio en los esquemas debe ser mínimo al cambiar sólo el conector IDE por el disco duro. El problema es que las capacidades de los discos de estado sólido son mucho menores (hasta unos 200 MB). Otra de las posibles ampliaciones es la posibilidad de poner en la placa uno o varios slots ISA y/o PCI. Debido a que de los chips elegidos proporcionan ambos tipos de buses la inclusión de estos zócalos es relativamente sencilla. Hay que tener cuidado, sin embargo, con las señales que están multiplexadas ya que hacen que sea necesario algo de circuitería externa. Se pueden conectar otros dispositivos que existen en el mercado para soluciones “On Board”, citando como posibles ejemplos el módem, controladores SCSI o la tarjeta de sonido entre otros. También es posible añadir en la placa componentes más especializados que serían necesarios en el caso de hacer un sistema muy específico. Estos componentes pueden ser un conjunto de entradas/salidas para gestión de un proceso industrial, array de líneas de comunicaciones para aplicaciones de conmutación y gestión de red, entradas y salidas analógicas para el control de líneas telefónicas (centralita inteligente con control de llamadas, contestador, reconocimiento de voz para secretaria virtual, etc.), conexión a redes inalámbricas (móviles) para control a distancia, sistemas GPS para posicionamiento y cualquier elemento que se nos pudiera ocurrir. Una posibilidad que amplía el sistema es la de conectar una DSP por medio de una memoria de doble puerto [13]. Esto convertiría a este sistema en un procesador de señales de alto rendimiento con un chip de propósito general para realizar la presentación al usuario de una forma sencilla y bajo un sistema operativo ampliamente conocido. En el sistema de potencia de cálculo media se puede añadir TV sin mucha dificultad. El STPC Consumer-S tiene salidas directas de televisión PAL o NTSC, siendo necesario tan solo la colocación en la placa de unos filtros de protección para las señales analógicas correspondientes y un euro-conector. Es posible con dicho conector elegir el formato de 4/3 o de 16/9 mediante un jumper en la placa madre. En el sistema de gran potencia de cálculo es particularmente sencillo añadir un controlador de pantalla plana TFT, ya que viene prácticamente implementado en el chip. Existe la posibilidad de que no se puedan poner otras de las ampliaciones comentadas al añadir este tipo de monitor debido a la multiplexación de señales en el CS5530 (el bus ISA está multiplexado con el controlador de pantalla plana), aunque normalmente no es un problema ya que los componentes modernos suelen estar conectados al bus PCI. Otra posibilidad de muy fácil implementación, bajo coste económico y de poco espacio es la 108 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal inclusión de un codificador de sonido AC97 (tipo NSC LM4546 o LM4548), consiguiendo una interfaz estándar y pudiendo conectar micrófono, altavoces, entrada de CDROM, etc. Por último puede ser de gran utilidad la inclusión del chip Geode CS9211 Graphics Companion que permite ampliar la potencia de cómputo en gráficos realizando descompresión de video prácticamente hardware, dar soporte a pantallas LCD de color de tipo DSTN, ampliar la memoria de video, etc. Por último a estos sistemas se le puede añadir lógica de control adicional que permite, por ejemplo controlar la temperatura en sistemas de alto rendimiento, controlar el bloqueo software, etc. Como se puede ver las posibilidades son casi incontables y el diseño sólo se ve limitado por el tipo de aplicación a implementar. 5.4. Descripción de los esquemas del PC empotrado de potencia de cálculo media. A continuación se van a describir los esquemas del PC de potencia media para que se encuentran en el apartado "PLANOS" del presente proyecto. La descripción de este apartado viene con mayor detalle en [1]. Este apartado es posible por gentileza de José Luis Madrid Cobos. En este desarrollo se encuentran los principales bloques del diseño hardware del PC empotrado basado en el microcontrolador STPC Consumer-S (diseño arquitectónico). Los nombres y contenidos fundamentales de los bloques son los siguientes: • STPC: contiene el microcontrolador STPC Consumer-S de ST Microelectronics. • SuperIO: contiene el SuperIO PC97317VUL de National Semiconductor. • Memoria: contiene los zócalos DIMM para la SDRAM y la memoria EPROM 28F020 para la BIOS. • Conectores: contiene los conectores IDE, VGA, RS232 (DB9), MiniDin dual (teclado y ratón) y ATX (alimentación). • Config: contiene las resistencias de pull-up o pull-down para configurar el SPTC Consumer-S en su arranque (strap options). Veamos más detalladamente cada uno de los bloques mencionados: 109 Carlos Prades del Valle • Desarrollo de un PC empotrado con procesado de señal El bloque STPC tiene comunicación a través de los siguientes pines: ◦ CTRL_BUS: bus que contiene señales de control varias. ◦ PCI: bus PCI (bus para la interconexión de periféricos). ◦ IDE: bus IDE (bus para la comunicación con dispositivos de almacenamiento secundario tales como discos duros, lectores de CD-ROM o de cintas, etc.). ◦ VIDEO: bus para las señales de video RGB. ◦ I2C: bus con una señal de reloj y otra de datos serie para configurar o comunicarse con módulos de memoria DIMM, monitores VGA, etc. ◦ IRQ[0:15]: señales para petición de interrupción al microprocesador. ◦ DRQ[0:3]: señales para petición de DMA (acceso directo a memoria). ◦ DACK[0:7]#: señales para reconocimiento de la petición de DMA (reconocimiento por parte del microprocesador). • ◦ SD[0:15]: bus de datos del bus ISA. ◦ SA[0:19]: bus de direcciones del bus ISA. ◦ ISA: señales de control del bus ISA. ◦ RMRTCCS#: señal de selección de la ROM o el reloj de tiempo real. ◦ MA[0:11]: bus de direcciones para la memoria SDRAM. ◦ MEM_CTRL: bus de control para la memoria SDRAM. ◦ MD[0:63]: bus de datos para la memoria SDRAM. El bloque SuperIO tiene comunicación a través de los siguientes pines: ◦ RS232: bus de comunicaciones serie. ◦ KB_Mouse: señales para el teclado y el ratón. ◦ IDE: ver bloque STPC. ◦ PCI: ver bloque STPC. ◦ CTRL_BUS: ver bloque STPC. ◦ ISA: ver bloque STPC. ◦ SA[0:19]: ver bloque STPC. ◦ SD[0:15]: ver bloque STPC. ◦ DACK[0:7]#: ver bloque STPC. 110 Carlos Prades del Valle • • • Desarrollo de un PC empotrado con procesado de señal ◦ DRQ[0:3]: ver bloque STPC. ◦ IRQ[0:15]: ver bloque STPC. El bloque Memoria tiene comunicación a través de los siguientes pines: ◦ MD[0:63]: ver bloque STPC. ◦ MEM_CTRL: ver bloque STPC. ◦ MA[0:11]: ver bloque STPC. ◦ RMRTCCS#: ver bloque STPC. ◦ SD[0:15]: ver bloque STPC. ◦ SA[0:19]: ver bloque STPC. ◦ ISA: ver bloque STPC. ◦ I2C: ver bloque STPC. El bloque Conectores tiene comunicación a través de los siguientes pines: ◦ ISA: ver bloque STPC. ◦ I2C: ver bloque STPC. ◦ VIDEO: ver bloque STPC. ◦ IDE: ver bloque STPC. ◦ KB_Mouse: ver bloque SuperIO. ◦ RS232: ver bloque SuperIO. El bloque Config tiene comunicación a través de los siguientes pines: MD[0:63]: aunque la utilidad normal de estas señales es para los datos hacia o desde la memoria SDRAM, aquí se utilizan como entradas para el microprocesador STPC Consumer-S de modo que quede configurado en el arranque. 5.4.1. Contenido de los buses. Los buses con nombres representativos (esto es, diferentes a la notación NOMBRE[0:X]) que se utilizan en los esquemas se listan a continuación: • MEM_CTRL: RAS[0:1]#, CAS[0:1]#, CS[0:3]#, MWE#, DQM[0:7]#, MCLKI, MCLKO. Ver [5] y [6]. 111 Carlos Prades del Valle • Desarrollo de un PC empotrado con procesado de señal PCI: PCI_CLKO, AD[0:31], CBE[0:3]#, FRAME#, IRDY#, TRDY#, LOCK#, DEVSEL#, STOP#, PAR, SERR#, PCI_REQ[0:2]#, PCI_GNT[0:2]#, PCI_INT[0:3]. Ver [8]. • ISA: ISA_CLK, ISA_CLKX2, OSC14M, LA[17:23], SA[0:19], SD[0:15], ALE, MEMR#, MEMW#, SMEMR#, SMEMW#, IOR#, IOW#, MCS16#, IOCS16#, BHE#, ZWS#, REF#, MASTER#, AEN, IOCHCK#, IOCHRDY, ISAOE#, GPIOCS#, IRQ_MUX[0:3], DREQ_MUX[0:1], DACK_ENC[0:2], TC. Ver [7]. • CTRL_BUS: GPIOCS#, RTCAS#, OSC14M, SYSRSTO#, DEV_CLK • IDE: PCS1#, PCS3#, SCS1#, SCS3#, DA[0:2], DD[0:15], PIRQ, SIRQ, PDRQ, SDRQ, PDACK#, SDACK#, PDIOR#, PDIOW#, SDIOR#, SDIOW#, IOCHRDY, RESETIDE# • VIDEO: RED, GREEN, BLUE, VSYNC, HSYNC, AGND • I2C: SDA, SCL • RS232: DCD, DSR, RXD#, RTS, TXD#, CTS, DTR, RI • KB_Mouse: KBData, KBCLK, MouseData, MouseCLK 5.5. Descripción de los esquemas del PC empotrado de alta potencia de cálculo. A continuación se pasa a describir en profundidad los esquemas del PC empotrado realizado para este proyecto siguiendo las especificaciones del apartado 5.1, se partirá del comentario del sistema en general para pasar después a una descripción más detallada de cada una de las partes. 5.5.1. Descripción general. Las principales partes del sistema son: El bloque del microprocesador que incluirá el procesador Geode GX1 y su chip Geode CS5530, proporcionando al sistema los principales buses de comunicación (ISA y PCI), la interfaz con la memoria principal y las entradas (USB) y salidas (CRT) de las que dispondrá el sistema. El bloque con la memoria contiene tanto la memoria principal del sistema como la FLASH-BIOS encargada del 112 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal arranque del sistema. Otro bloque, el de conectores, se encarga de la alimentación y los conectores con otros dispositivos. Por último existe un bloque que contiene los relojes que alimentan a cada uno de los subsistemas. Esta descripción está plasmada en la hoja 1 de los planos titulada “PC empotrado”. La descripción de cada uno de los símbolos es la siguiente: • GX1: Es el bloque comentado anteriormente como bloque de microprocesador. ◦ Contiene: el procesador GX1, el Geode CS5530, el botón de RESET, sus interconexiones y los componentes discretos necesarios para su correcto funcionamiento. ◦ Se comunica con los otros bloques con las salidas siguientes: ▫ Bus IDE: contiene todas las señales del interfaz del controlador de disco duro. ▫ Bus USB: contiene las señales de este bus de comunicaciones serie. ▫ CTR: contiene las señales para la conexión con un monitor VGA. ▫ AUDIO: contiene las señales para la conexión de un codec de audio, transmitiendo sonido por una conexión serie sincronía. ▫ CLK_14MHZ: señal para conseguir el reloj de 14 MHz necesario para proporcionar el reloj de video DCLK. ▫ CLK_32KHZ: señal para el funcionamiento de las líneas de control. ▫ RTCCTRL: señales de control para seleccionar el dispositivo RTC (reloj de tiempo real). ▫ KBROMCS#: señal para seleccionar el controlador de teclado y/o la ROM, puede utilizarse para la selección de la BIOS. ▫ Bus ISA: Bus de comunicaciones estándar. Incluye su bus de datos, bus de direcciones y bus de control. ▫ Bus PCI: Bus de comunicaciones estándar. Incluye su bus de datos, bus de direcciones y bus de control. • SDRAM_BIOS: es el bloque de memoria. ◦ Contiene tres sub-bloques: los conectores DIMM de SDRAM con sus componentes discretos para su buen funcionamiento, la FLASH-BIOS y el sub-bloque de condensadores de desacoplo. 113 Carlos Prades del Valle ◦ Desarrollo de un PC empotrado con procesado de señal Se comunica con los otros bloques mediante: ▫ Bus MEM_CTRL: bus con las señales de control para la memoria principal. ▫ Bus MA: bus de direcciones de la memoria principal. ▫ Bus MD: bus de datos de la memoria principal. ▫ Bus ISA: que contiene las señales de control de direcciones ISA y de datos ISA, para la comunicación con la BIOS. ▫ • KBROMCS: señal para la selección de la BIOS. Clocks: Es el bloque que contiene la fuente de relojes de todo el sistema. ◦ Contiene los osciladores para los relojes necesarios en el sistema. ◦ Proporciona los relojes de: ▫ Bus PCI. ▫ CLK_14MHZ: señal para conseguir el reloj de 14 MHz necesario para proporcionar el reloj de video DCLK. • ▫ CLK_32KHZ: señal para el funcionamiento de las líneas de control. ▫ Bus USB. Conectores: En este último bloque se encuentran los dispositivos que conectan con el exterior del sistema. ◦ Se divide en 4 sub-bloques: IDE, video, USB y alimentación, con sus conectores, elementos adicionales para funcionamiento correcto y botón de encendido. ◦ ◦ Se conecta a los buses externos: ▫ Bus ISA. ▫ Bus IDE. ▫ Bus USB. ▫ Bus CRT. Por otro lado proporciona las señales de alimentación no incluida explícitamente en cada bloque pero globales a todo el sistema. Es necesario crear unos buses globales que encierren cada una de las señales, Estos buses deben ser: bus PCI con las señales del interfaz PCI, bus SYSTEM con las 114 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal señales de control del microcontrolador, bus PIXELGX1 con los buses de las componentes de video (incluye los buses B[0:5], G[0:5], R[0:5] con las señales RGB de video digitalizadas), bus PIXELCS5530 como el anterior pero incluye la masa de cada señal, bus VIDEO_CLOCKS con los relojes necesarios para el funcionamiento correcto del sistema de video, bus VIDEO_SYNC con las señales de sincronismo de video para monitores y pantallas planas , bus VIDEO_CTRL con las señales de control del display, bus MEM_CTRL con las señales para la gestión de la memoria principal, bus ISA con las señales de esta interfaz (incluye el bus de direcciones ISA, el bus de datos ISA y las señales de control), bus IDE con las señales del controlador IDE, USB con las señales del puerto USB, bus AUDIO con las señales necesarias para la comunicación con un codec de audio (no se utiliza), bus CRT con las señales para el monitor y bus CLOCKS con las señales de reloj del sistema. Las señales del sistema se describirán en el capítulo 5.5.6. 5.5.2. Bloque microprocesador. Este bloque es el corazón del sistema, incluye el microcontrolador Geode GX1 y el chip Geode CS5530 Companion, al elegir estos chips tenemos incluido la mayor parte de los componentes de un sistema compatible PC AT. Estos chips están diseñados para trabajar conjuntamente y no es necesario, por tanto, la inclusión de lógica adicional entre ellos. La gran ventaja de utilizar dos chips es que el número de pines es muy elevado y son pocas las señales que comparten conector físico con otras. Esto hace que no sea necesario utilizar lógica adicional externa para multiplexar y demultiplexar las salidas de los chips. Debido a lo explicado anteriormente los componentes externos en este esquema se reducen a los condensadores de desacoplo, componentes discretos y conmutadores de configuración. Este bloque está representado en la hoja 2 de los planos con el nombre de “Microprocesador y companion chip”. Como se ve en el plano el Geode GX1 proporciona las señales del interfaz con la memoria principal que van directamente a la salida del bloque. Hay que mencionar que las señales SDCLK_IN y SDCLK_OUT deben estar unidas, como se indica en el esquema, con una conexión de igual longitud a las señales de reloj de los distintos módulos DIMM. Por otro lado tenemos las señales de control de temperatura y de test que no utilizamos, dejándolas al aire. Las señales de sistema se conectan directamente al CS5530, que tiene 115 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal los controladores adecuados, la señal de reloj del sistema se saca del reloj del bus PCI y se selecciona la velocidad del core con los conmutadores conectados a CLKMODE[0:2] según la siguiente tabla: CLKMODE[2] CLKMODE[1] CLKMODE[0] Velocidad del core Off Off Off Off On On On On Off Off On On Off Off On On Off On Off On Off On Off On Modo no permitido PCICLK × 10 PCICLK × 9 PCICLK × 5 PCICLK × 4 PCICLK × 6 PCICLK × 7 PCICLK × 8 Tabla 5.1: Configuración de velocidad del core. Este chip tiene el controlador PCI, el CS5530 se conecta a este bus, por lo que todas las salidas del bus PCI del GX1 se conectan al chip CS5530, si se quisiera incorporar un slot PCI todas las líneas necesarias están disponibles desde estas salidas. Por último el Geode GX1 tiene las entradas y salidas del controlador de video, estas señales deben ir también al CS5530. El otro gran chip de este plano es el chip Geode CS5530, como ya hemos comentado se conecta al bus PCI del sistema. Proporciona las señales del bus IDE para disco duro, las señales del puerto USB, las señales del interfaz de audio y el bus ISA, que van directamente a las salidas del bloque. Las señales del puerto de juegos y de los registros de propósito general (GPIO) no se utilizan, quedándose al aire. Por otro lado el CS5530 proporciona la conexión a los distintos monitores para ello recibe del GX1 las señales de video digital y proporciona salidas directas al monitor. Es necesario para este cometido montar una pequeña circuitería que alimente a conversor DAC de video y un filtro de alimentación para la parte analógica, estos dispositivos se deben colocar físicamente muy cerca de los pines del chip. De este puerto salen las salidas al monitor. Se ha incluido en este esquema el circuito de reset que permite hacer un reset hardware del sistema, así como mantener la señal de reset activa un tiempo durante el encendido. La última parte de este esquema la forman los condensadores de desacoplo de ambos chips, para su correcta posición en la placa hay que conectarlos como dice el fabricante [23]. 116 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 5.5.3. Bloque de memoria. En el bloque de memoria se ha incluido la memoria principal y la Flash-BIOS. La memoria principal consta de dos módulos DIMM consiguiendo un sistema flexible y barato aunque se desaproveche un poco de espacio. La memoria Flash-BIOS es muy común, para simplificar el esquema se ha eliminado la posibilidad de la actualización de la BIOS sin sacarla de la placa. En la página 4 de los esquemas se implementa lo explicado anteriormente. Aquí se encuentran los símbolos de los zócalos DIMM de 168 pines para los módulos de SDRAM, además de la memoria flash para la BIOS. • Memoria SDRAM. Para la instalación de memoria SDRAM se ha dispuesto de dos zócalos DIMM de 168 pines para módulos de dicho tipo de memoria. Dichos módulos pueden ser típicamente de entre 32 y 128 MB cada uno. Se puede optar por la instalación de un único módulo o bien de ambos. En los esquemas se observa que el de arriba tiene la dirección 0x00 y el de abajo la dirección 0x01, fijadas ambas mediante las resistencias de cero ohmios conectadas entre VCC o masa y las líneas SA[0:2]. Las líneas de reloj que alimentan a ambos zócalos deben tener la misma longitud, no es necesario añadir ningún driver ya que el microprocesador proporciona suficiente corriente. Mediante el jumper colocado junto al pin REGE se puede elegir el tipo de módulo DIMM de SDRAM (abierto registered, cerrado buffered). • Memoria flash para la BIOS. Se trata de la 28F020 (fabricada por ejemplo por Intel), con una capacidad de 256 KB y velocidad de acceso en lectura de 120 ns. Va alimentada a 5 V y está conectada al bus ISA. Su anchura del bus de datos es de 8 bits, mientras que el bus de direcciones es de 18 bits. En el presente diseño se ha inhabilitado la capacidad de programación o escritura de una nueva BIOS en placa madre colocando 5 V fijos en el pin de tensión de programación de 12 V (VPP). Todas las señales, de control, direcciones o datos pertenecen al bus ISA, excepto la señal KBROMCS que se conecta directamente al microprocesador. Para todos los módulos y chips se incluyen condensadores de desacoplo entre VCC y masa. 117 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal 5.5.4. Bloque de conectores. El sistema tiene conectores para las entradas/salidas indispensables del sistema. Están desarrolladas en la hoja 5 de los planos, esta hoja contiene los conectores IDE, VGA, USB y ATX (alimentación). Veamos la descripción de cada uno de ellos. • Conector IDE. Las resistencias serie para las líneas de datos son de 33 ohmios para adaptar impedancias y evitar reflexiones de las señales. Cada una de las líneas tiene su conexión con el CS5530, hay que señalar que la línea de interrupción se asocia a una interrupción del bus ISA. • Conector VGA. Se utiliza un conector VGA estándar de 15 pines. Las resistencias de 75 ohmios colocadas en las líneas RED, GREEN y BLUE son para adaptar impedancias y deben estar lo más cerca posible de los pines del chip Geode CS5530 companion, junto con estas resistencias se encuentran los condensadores que permiten filtrar la señal. • Las líneas del conector USB tienen una conexión directa con el CS5530, no necesitando nada más que la alimentación y masa. • ATX. Para la alimentación del PC empotrado se dispone de un conector estándar ATX. La fuente de alimentación proporciona a través de este conector las tensiones de 5 V y 3.3 V necesarias para el funcionamiento de todos los chips del sistema. Para la alimentación del core del GX1 se ha utilizado un conversor DC-DC que proporciona una tensión de 2 V, utilizando para ello el chip LT1580. Las baterías de condensadores tienen la misión de evitar ruidos en las alimentaciones que se proporcionan a los chips de la placa. Mediante la resistencia de 220 ohmios y el condensador de 100 uF conectado a PSON se lleva a cabo el encendido o apagado del sistema (interruptor de dos posiciones). 5.5.5. Bloque de relojes. Este último bloque contiene los generadores de relojes indispensables para el sistema. Aunque hay más señales de reloj en el sistema casi todas son generadas por el CS5530, para ello parte de 4 señales básicas que se generan mediante botes. En la hoja 4 de los planos se representan estos botes que generan las siguientes señales: 118 Carlos Prades del Valle • Desarrollo de un PC empotrado con procesado de señal PCICLK: Es el reloj principal del sistema de donde el microcontrolador saca el reloj del core. También es utilizado por los dispositivos del bus PCI. • USBCLK: Es el reloj del puerto serie USB, es necesario generarlo externamente. • CLK_32KHZ: Es el reloj usado para generar las señales de reset y mantener la funcionalidad del sistema de gestión de energía. • CLK_14MHZ: Esta es la señal que utiliza el sistema para generar las señales de video. 5.5.6. Señales del sistema. Las señales del sistema más importantes son: • Independientes (no contenidas en ningún bus): ◦ Señales de alimentación: ▫ VCC: Alimentación de 3.3V. ▫ VCORE: alimentación del core de microprocesador, en estos esquemas es de 2 V para poder elegir la velocidad del core, es muy simple cambiar el valor para aplicaciones específicas donde no se necesita una velocidad del micro de 300 MHz. ◦ ▫ +5V: Alimentación de 5 V para los distintos dispositivos. ▫ GND: Masa general del circuito. ▫ AGND: Masa para los componentes analógicos de la parte de video. Señales varias: ▫ KBROMCS#: Señal para la selección de la memoria FLASH-BIOS. ▫ CLK_32KHZ: Señal de reloj de 32 KHz utilizado para funciones genéricas de control. ▫ CLK_14MHZ: Señal de reloj de 14 MHz para la producción de los relojes de video. • Señales contenidas en el bus MEM_CTRL. Ver [5] y [6]: ◦ BA[0:1]: Selecciona el banco de memoria. ◦ CS[0:3]#: Selección de chip de memoria. 119 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal ◦ RASA#: Selección de fila del primer slot. ◦ RASB#: Selección de fila del segundo slot. ◦ CASA#: Selección de columna del primer slot. ◦ CASB#: Selección de columna del segundo slot. ◦ WEA#: (Write Enable), modo de acceso en escritura para el primer slot. ◦ WEB#: (Write Enable), modo de acceso en escritura para el segundo slot. ◦ CKEA: Habilitación del reloj para el primer slot. ◦ CKEB: Habilitación del reloj para el segundo slot. ◦ DQM[0:7]: Mascaras para los datos de la RAM. ◦ SDCLK[0:3]: Relojes para los DIMM. • Bus MA: Contiene las señales de direcciones de memoria. • Bus MD: Bus de datos de memoria. • Señales del bus SYSTEM. Ver [5] y [6]: ◦ CPU_RST: Reset del microprocesador. ◦ INTR: interrupción hardware al microprocesador. ◦ SERIALP: Señal de transmisión serie entre CS5530 y GX1. ◦ IRQ13: Petición de interrupción usada para los desbordamientos aritméticos. ◦ SMI#: Interrupción sensible al nivel para poner al microprocesador en estado de gestión del sistema. • ◦ SUSPA#: Reconocimiento de suspensión. ◦ SUSP#: Petición de suspensión. Señales del bus VIDEO_CLOKS: ◦ PCLK: Reloj del puerto de píxeles, se utiliza en las señales R, G y B desde el GX1 al CS5530. • ◦ DCLK: (Dot Clock) reloj de píxel. ◦ VID_CKL: Reloj de video. Señales del bus VIDEO_SYNC: ◦ CRT_HSYNC: Sincronismo horizontal para la salida de monitor. 120 Carlos Prades del Valle • Desarrollo de un PC empotrado con procesado de señal ◦ CRT_VSYNC: Sincronismo vertical para la salida de monitor. ◦ FP_HSYNC: Sincronismo horizontal para la salida de pantalla plana. ◦ FP_VSYNC: Sincronismo vertical para la salida de pantalla plana. Señales del bus VIDEO_CTRL: ◦ ENA_DISP: Línea activa cuando está disponible la señal de video. ◦ VID_RDY: Indica que la cola de video está lista para la recepción. ◦ VID_VALSYNC: Indica que hay un dato válido de video. • VID_DATA[0:7]: Datos de video en formato YUV. • Señales del bus PIXELCS5530: ◦ GND: La señal de masa. ◦ B[0:5]: Señales de azul (esta señal está incluida también en el bus PIXELGX1). ◦ G[0:5]: Señales de verde (esta señal está incluida también en el bus PIXELGX1). ◦ R[0:5]: Señales de rojo (esta señal está incluida también en el bus PIXELGX1). • Señales del Bus PCI. Ver [8]: ◦ FRAME#: Indica que un dispositivo PCI master va a poner una dirección válida en el bus de direcciones. La señal no se desactiva hasta que concluye la última transferencia de datos en el bus por parte del agente PCI. ◦ TRDY#: Indica que un dispositivo PCI objetivo del iniciador de acceso al bus está preparado. ◦ IRDY#: Indica que un dispositivo PCI inicia un ciclo de uso del bus. ◦ STOP#: Indica que se ha abortado el uso del bus PCI por parte de un dispositivo conectado a dicho bus. ◦ DEVSEL#: Indica que se ha seleccionado el dispositivo PCI. ◦ PAR: Señal que indica la paridad par del conjunto de señales AD[0:31] y CBE[0:3]#. ◦ PERR#: Señal que se activa cuando existe un error de paridad. 121 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal ◦ SERR#: Se activa cuando se detecta algún error en el bus PCI. ◦ LOCK#: Se activa cuando un agente PCI quiere realizar operaciones en el bus PCI en exclusiva. ◦ PCICLK#: Señal de reloj del bus PCI, también es usada para producir el reloj general del sistema. ◦ RESETPCI#: Señal de reset para los dispositivos del bus PCI. ◦ AD[0:31]: Señales de dirección y datos del bus PCI, están multiplexadas, controladas por las señales FRAME#, TRDY e IRDY. ◦ C/BE[0:3]: Señales de comando y byte habilitado. ◦ REQ[0:2]: Señales de request para el bus PCI, indica al arbitro del bus quien quiere acceder al bus. ◦ GNT[0:2]: Estas líneas indican a quien ha sido concedido el bus para su uso. • Señales del bus ISA. Ver [7]: ◦ SA_LATCH/SA_DIR: Según el modo de funcionamiento del bus (modo limitado o modo maestro) esta señal indica que la dirección existente ha es correcta o el sentido de esta dirección (desde o hacia el CS5530). ◦ SA_OE#: Permite a elementos externos el uso de los bits de direcciones desde 0 hasta el 15. ◦ MASTER#: Indica que un dispositivo MASTER controla el bus ISA. ◦ SA[0:23]: Direcciones ISA. ◦ SD[0:15]: Bus de datos ISA. ◦ SMEMW#: Escritura en la memoria del sistema. ◦ SMEMR#: Lectura en la memoria del sistema. ◦ SBHE#: Indica que se va a transmitir un byte a una dirección impar por las líneas altas del bus de datos (SD[8:15]). ◦ BALE: Indica que la dirección en el bus de direcciones es correcta. ◦ IOCHRDY: Indica que se necesitan ciclos de espera. ◦ ZEROWS#: Indica que no se necesitan los ciclos de espera. ◦ IOCS16#: Selecciona un dispositivo de entrada/salida. ◦ IOR#: Indica que se pretende leer de un dispositivo de entrada/salida. 122 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal ◦ IOW#: Indica que se pretende escribir en un dispositivo de entrada/salida. ◦ MEMCS16#: Selecciona un chip de memoria ◦ MEMR#: Indica que se pretende leer de la memoria. ◦ MEMW#: Indica que se pretende escribir en la memoria. ◦ AEN: Indica que hay una transferencia del DMA en progreso. ◦ IRQ[1], IRQ[3:7], IRQ[9:12], IRQ[14:15] e IRQ[8]#: Requerimientos de interrupción. • ◦ DRQ[0:3] y DRQ[5:7]: Se ha concedido el uso del DMA. ◦ DACK[0:3]# y DACK[5:7]#: Se empieza a utilizar el DMA. ◦ TC: Indica que ha terminado la transferencia por medio del DMA. ◦ ISACLK: Reloj del bus ISA. Señales del bus CLOCKS TVCLK: ◦ ISACLK: Reloj del bus ISA, esta señal está incluida en el bus ISA. ◦ CLK_14MHZ: Señal de 14.31818 MHz usada para componer el reloj utilizado en la parte de video. ◦ USBCLK: Señal de reloj para el puerto serie USB, esta señal está incluida en el bus USB. ◦ • CLK_32K: Señal de 32.768 KHz para el control de las señales del sistema. Señales del bus IDE. Ver [4]: ◦ IDE_RST#: Señal de reset para los dispositivos IDE. ◦ IDE_ADDR[0:2]: Bits para seleccionar un registro o un puerto de datos en los dispositivos IDE. ◦ IDE_DATA[0:15]: Bus de datos del interfaz IDE. ◦ IDE_IOR[0]# e IDE_IOR[1]#: Lectura de datos de los canales 0 y 1. ◦ IDE_IOW[0]# e IDE_IOW[1]#: Escritura en los canales 0 y 1. ◦ IDE_CS[0]# e IDE_CS[1]#: Selección de los dispositivos en los canales 0 y 1. ◦ IDE_IORDY[0] e IDE_IORDY[1]: Señales que indican si el dispositivo está preparado, para canales 0 y 1. 123 Carlos Prades del Valle ◦ Desarrollo de un PC empotrado con procesado de señal IDE_DREQ[0] e IDE_DREQ[1]: Requerimiento de DMA del canal 0 y del canal 1. ◦ IDE_DACK[0]# e IDE_DACK[1]#: Reconocimiento del requerimiento anterior. • • • • Señales del bus CRT: ◦ HSYNC_OUT: Sincronismo horizontal para el monitor. ◦ VSYNC_OUT: Sincronismo vertical para el monitor. ◦ DDC_SCL: Reloj serie para el canal de datos del monitor. ◦ DDC_SDA: Datos serie del canal de datos del monitor. ◦ IOUTR: Señal analógica de rojo para el monitor. ◦ IOUTG: Señal analógica de verde para el monitor. ◦ IOUTB: Señal analógica de azul para el monitor. ◦ AGNDVIDEO: Masa analógica para el monitor. Señales del bus USB: ◦ POWER_EN: Habilita la alimentación a un hub USB autoalimentado. ◦ OVER_CUR#: Indica al hub que se ha detectado un exceso de corriente. ◦ D+_PORT1: Línea positiva de datos del Puerto 1. ◦ D-_PORT1: Línea negativa de datos del Puerto 1. ◦ D+_PORT2: Línea positiva de datos del Puerto 2. ◦ D-_PORT2: Línea negativa de datos del Puerto 2. ◦ USBCLK: Reloj del Puerto USB. Señales del bus AUDIO (no usado): ◦ BIT_CLK: Reloj para la comunicación serie con el codec. ◦ SDATA_OUT: Salida de datos serie hacia el codec. ◦ SDATA_IN: Entrada de datos serie desde el codec. ◦ SYNC: Bit de sincronización para la transmisión serie. ◦ PC_BEEP: Salida al altavoz del sistema. Señales del bus GPIO_GAMEPORT (no usado): ◦ GPORT_CS#: Selección de chip para el puerto de juegos. 124 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal ◦ GPCS#: Selección de chip para los registros de propósito general. ◦ GPIO[0:7]: Registros de propósito general. 125 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal BIBLIOGRAFÍA. [1] Arquitectura PC empotrado-procesador para aplicaciones industriales. José Luis Madrid Cobos. Departamento de Señales, Sistemas y Radiocomunicaciones. Escuela Técnica Superior de Ingenieros de Telecomunicación. Universidad Politécnica de Madrid. Septiembre 2000. [2] Design Considerations for the Embedded PC. Eric Auzas. Embedded Systems Conference West. San José, California, EEUU. Septiembre 1995. [3] Embedded Microprocessor Systems Design. An Introduction Using the Intel 80C188EB. Kenneth L. Short. Ed. Prentice Hall. 1998. [4] The Indispensable PC Hardware Book. Aut. Hans-Peter Messmer. Ed. Addison-Wesley. Tercera edición, 1997. [5] 486 System Architecture. Aut. Tom Shanley & Don Anderson. Ed. Mind Share. [6] Pentium System Architecture. Aut. Tom Shanley & Don Anderson. Ed. Mind Share. [7] ISA System Architecture. Aut. Tom Shanley & Don Anderson. Ed. Mind Share. [8] PCI System Architecture. Aut. Tom Shanley & Don Anderson. Ed. Mind Share. [9] PCMCIA System Architecture. Aut. Tom Shanley & Don Anderson. Ed. Mind Share. [10] CARDBUS System Architecture. Aut. Tom Shanley & Don Anderson. Ed. Mind Share. [11] Operating Systems Concepts. Aut. Silberschatz. Ed. John Wiley. Enero 1998. 126 Carlos Prades del Valle [12] Desarrollo de un PC empotrado con procesado de señal Managing Data in a Embedded System Utilizing Flash Memory. Aut. Deborah See y otros. Flash Software Development Group, Intel Corporation. Revisión de documento 1.01. Junio 1995. [13] Overlaps Between Microcontrollers and DSPs. Aut. Bill Giovino. Embedded Systems Programming, volumen 13, nº 1. Enero 2000, páginas 20 a 34. [14] The Embedded PC. 5 Simple Design Steps. Intel Corporation. http://www.intel.com/design/platform/embedpc/. Abril de 2000. [15] Memorias SDRAM. Circuitos rápidos para los microprocesadores. Aut. Sergio Lorenzi. Mundo Electrónico nº 290, septiembre 1998, páginas 76 a 82. [16] Portal sobre sistemas empotrados: http://www.embeddedtechnology.com/ [17] Portal sobre sistemas empotrados: http://www.microcontroller.com/ [18] Portal sobre sistemas empotrados: http://www.embedded.com/ [19] Portal sobre sistemas empotrados, DSPs y sistemas en tiempo real: http://www.eg3.com/ [20] Sitio de STMicroelectronics: http://eu.st.com/ [21] Sitio de Motorola: http://ebus.mot-sps.com/ [22] Sitio de ZF: http://zfmicro.com/ [23] Sitio de National Semiconductor: http://www.national.com/ [24] Sitio de Fujitsu: http://www.fujitsumicro.com/ [25] Sitio de Transmeta: http://www.transmeta.com/ [26] Sitio de Intel: http://www.intel.com/ y http://developer.intel.com/ [27] Sitio de SMSC: http://www.smsc.com/ [28] Sitio de International Data Corporation: http://www.idc.com/ 127 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal PLANOS 128 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal PLANOS DEL PC EMPOTRADO DE POTENCIA DE CÁLCULO MEDIA. 129 H=2LA; V=2LA IRQ[0:15] DRQ[0:3] DACK[0:7] SD[0:15] SA[0:19] SuperIO IDE PCI CTRL_BUS Config MD[0:63] CTRL_BUS PCI MD[0:63] RMRTCCS MEMORIA MD[0:63] MEM_CTRL MA[0:11] MA[0:11] IDE DACK[0:7] SD[0:15] SA[0:19] ISA KB_Mouse MD[0:63] MEM_CTRL MA[0:11] RMRTCCS STPC I2C SD[0:15] ISA SA[0:19] ISA SA[0:19] SD[0:15] DACK[0:7] DRQ[0:3] DWG. NO. SH. ISA I2C VIDEO REV 1.0 REV B SCALE REVISIONS DESCRIPTION DWG. NO. 03/08/00 DATE SHEET 1 Jose Luis Madrid Cobos Carlos Prades del Valle PC EMPOTRADO Esquema principal del sistema Conectores DATE 03/08/00 03/08/00 03/08/00 SIZE FSCM NO. RS232 IRQ[0:15] I2C VIDEO CONTRACT NO. APPROVALS DRAWN CHECKED ISSUED IDE KB_Mouse IRQ[0:15] DRQ[0:3] RS232 03/08/00 APPROVED 1.0 REV 8 7 22 STOP# DEVSEL# 5 0 4 C4 15p GND 33 74AC125 1M C3 15p GND 14.3MHz GND 33 CTRL_BUS DD[0:15] RTCAS# AD[0:31] AD[17] 6 AD[13] AD[12] AD[13] H 22PF GND VCC Place near 74AC125 0.1UF GND SD[0] SD[1] SD[2] SD[3] SD[4] SD[5] SD[6] SD[7] SD[8] SD[9] SD[10] SD[11] SD[12] SD[13] SD[14] SD[15] SA[0] SA[1] SA[2] SA[3] SA[4] SA[5] SA[6] SA[7] SA[8]/DD[0] SA[9]/DD[1] SA[10]/DD[2] SA[11]/DD[3] SA[12]/DD[4] SA[13]/DD[5] SA[14]/DD[6] SA[15]/DD[7] SA[16]/DD[8] SA[17]/DD[9] SA[18]/DD[10] SA[19]/DD[11] LA[17]/DA[0] LA[18]/DA[1] LA[19]/DA[2] LA[20]/PCS1# LA[21]/PCS3# LA[22]/SCS1# LA[23]/SCS3# ZWS# IOCHRDY/DIORDY IOCHCK# BHE# MEMR# MEMW# SMEMR# SMEMW# IOR# IOW# ALE MASTER# MCS16# IOCS16# REF# AEN ISA_CLK OSC14M SYSRSTO# TC IRQ_MUX[0] IRQ_MUX[1] IRQ_MUX[2] IRQ_MUX[3] DREQ_MUX[0] DREQ_MUX[1] DACK_ENC[0] DACK_ENC[1] DACK_ENC[2] RED GREEN BLUE VSYNC HSYNC VREF_DAC COMP RSET AGND DD[8] DD[9] DD[10] DD[11] VCC 8.2K ZWS IOCHRDY IOCHCK BHE MEMR MEMW SMEMR SMEMW IOR IOW ALE MASTER MCS16 IOCS16 REF AEN OSC14M SYSRSTO TC RED GREEN BLUE VSYNC HSYNC 3 ISA VIDEO VCC VCC GND GND GND GND C16 0.1UF C27 0.01UF C17 0.1UF C28 0.01UF C18 0.1UF C29 0.01UF C19 0.1UF C30 0.01UF C20 0.1UF C31 0.01UF C21 0.1UF C32 0.01UF C22 0.1UF C33 0.01UF C23 0.1UF C34 0.01UF C24 0.1UF 2 C26 0.01UF VCC C9 0.1UF GND GND GND RES 10K RES 10K 74AS04 RES 10K VCC 0 G 07_ DMUX IRQ[0] IRQ[1] IRQ[2] IRQ[3] IRQ[4] IRQ[5] IRQ[6] IRQ[7] IRQ[8] IRQ[9] IRQ[10] IRQ[11] IRQ[12] IRQ[13] IRQ[14] IRQ[15] & 2 XXX138 SN74F138D GND GND SA[0:19] C15 0.1UF GND SD[0] SD[1] SD[2] SD[3] SD[4] SD[5] SD[6] SD[7] SD[8] SD[9] SD[10] SD[11] SD[12] SD[13] SD[14] SD[15] SA[8] 0 1 2 3 EN EN 0 1 DD[0:15] RES 5.6K XXX153 _0 3 G MUX SA[9] SA[10] SA[11] SA[12] SA[13] SA[14] SA[15] RES 5.6K Place near 74AC245 C25 0.01UF 2 RES 5.6K IRQ[8] IRQ[9] IRQ[10] IRQ[11] IRQ[12] IRQ[13] IRQ[14] IRQ[15] C36 33UF RES 5.6K GND RES 10K C35 33UF 1 G3 3 EN1 [BA] 3 EN2 [AB] IRQ[0] IRQ[1] IRQ[2] IRQ[3] IRQ[4] IRQ[5] IRQ[6] IRQ[7] Possible expansion of DRQs GND ALS245 SN74ALS245ADW ISA Master mode not allowed Desacoplo STPC-ConsumerS EN EN 0 1 CTRL_BUS MUX _0 3 G 0 1 2 3 EN EN 0 1 XXX153 MUX _0 3 G 0 1 2 3 XXX153 REV 1.0 A[16:19] DESCRIPTION DA[0] DA[1] DA[2] PCS1 PCS3 SCS1 SCS3 IOCHRDY IDE REVISIONS SD[0:15] IRQ[0:15] 1 RMRTCCS SD[0:15] SA[0:19] IDE IRQ[0:15] Place near DATE 03/08/00 GND C13 0.1UF H G F E D C A REV 1.0 REV 03/08/00 APPROVED GND C14 0.1UF XXX138 VCC C12 0.1UF XXX153 VCC GND XXX153 VCC C11 0.1UF XXX153 VCC GND 74AS04 VCC C10 0.1UF SHEET 2 GND VIDEO ISA DRQ[0:3] DACK[0:7] Desacoplo logica adicional DACK[0:7] DRQ[0:3] DWG. NO. 1 SH. E SIZE FSCM NO. Jose Luis Madrid Cobos Carlos Prades del Valle Microprocesador VCC Microprocesador y logica adicional RES_4818P_002 03/08/00 03/08/00 03/08/00 DATE DRQ[0] DRQ[1] DRQ[2] DRQ[3] DACK[0] DACK[1] DACK[2] DACK[3] DACK[4] DACK[5] DACK[6] DACK[7] 8.2K RES4818P002 D[8:11] SAtoDD 0 1 2 3 4 5 6 7 APPROVALS CONTRACT NO. DRAWN CHECKED ISSUED SCALE DWG. NO. C7 CAP 0.1UF Should be placed as close to the STPC as possible R125 RES Tol 1% 536 AGND RES4818P002 PCI MA[0:11] AD[2] AD[3] PCI_CLKO RTCAS RMRTCCS#/DD[15] VREF1_TV IREF2_TV TV signals not used, must be left unconnected IREF1_TV Serial resistors to be placed near STPC GND CVBS PCI MA[0:11] MA[0] MA[1] MA[2] MA[3] MA[4] MA[5] MA[6] MA[7] MA[8] MA[9] MA[10] MA[11] RAS#[0] RAS#[1] CAS#[0] CAS#[1] CS#[0] CS#[1] CS#[2] CS#[3] MWE# DQM#[0] DQM#[1] DQM#[2] DQM#[3] DQM#[4] DQM#[5] DQM#[6] DQM#[7] +5V VCC C6 CAP 47UF C8 CAP 0.01UF AGND 2 SA[16:19] DD[8:11] G 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 PCI_GNT#[2] VCC VDD5_A VDD5_B VDD5_C VDD5_D VDD_DAC1 C5 CAP 0.1UF DD[0] MA[0] MA[1] MA[2] MA[3] MA[4] MA[5] MA[6] MA[7] MA[8] MA[9] MA[10] MA[11] RAS[0] RAS[1] CAS[0] CAS[1] CS[0] CS[1] CS[2] CS[3] MWE DQM[0] DQM[1] DQM[2] DQM[3] DQM[4] DQM[5] DQM[6] DQM[7] STPCCONSUMERS VCC GND +5V PCI_GNT#[0] PCI_GNT#[1] R130 RES 2.2K RTCDS#/DD[12] RED_TV GREEN_TV BLUE_TV AD[27] AD[28] Video input port not used GND Q1 3 DD[7] DD[6] DD[5] MEM_CTRL MD[0:63] MD[0] MD[1] MD[2] MD[3] MD[4] MD[5] MD[6] MD[7] MD[8] MD[9] MD[10] MD[11] MD[12] MD[13] MD[14] MD[15] MD[16] MD[17] MD[18] MD[19] MD[20] MD[21] MD[22] MD[23] MD[24] MD[25] MD[26] MD[27] MD[28] MD[29] MD[30] MD[31] MD[32] MD[33] MD[34] MD[35] MD[36] MD[37] MD[38] MD[39] MD[40] MD[41] MD[42] MD[43] MD[44] MD[45] MD[46] MD[47] MD[48] MD[49] MD[50] MD[51] MD[52] MD[53] MD[54] MD[55] MD[56] MD[57] MD[58] MD[59] MD[60] MD[61] MD[62] MD[63] VCC +5V RES 22 RES 1.2K VDD_DAC2 4 SA[0] SA[1] SA[2] SA[3] SA[4] SA[5] SA[6] SA[7] DD[4] DD[3] DD[2] DD[1] MEM_CTRL MD[0:63] MD[0] MD[1] MD[2] MD[3] MD[4] MD[5] MD[6] MD[7] MD[8] MD[9] MD[10] MD[11] MD[12] MD[13] MD[14] MD[15] MD[16] MD[17] MD[18] MD[19] MD[20] MD[21] MD[22] MD[23] MD[24] MD[25] MD[26] MD[27] MD[28] MD[29] MD[30] MD[31] MD[32] MD[33] MD[34] MD[35] MD[36] MD[37] MD[38] MD[39] MD[40] MD[41] MD[42] MD[43] MD[44] MD[45] MD[46] MD[47] MD[48] MD[49] MD[50] MD[51] MD[52] MD[53] MD[54] MD[55] MD[56] MD[57] MD[58] MD[59] MD[60] MD[61] MD[62] MD[63] IDE I2C CTRL_BUS IN1 IN2 ConectorZumbador JMP2x1 2N3904 GND XTALO XTALI ISA_CLK2X GPIOCS VSS_DAC1 VSS_DAC2 PCI_REQ[0] PCI_REQ[1] PCI_REQ[2] PCI_GNT[0] PCI_GNT[1] PCI_GNT[2] PCI_REQ#[2] SCAN_ENABLE PCI_INT[0] PCI_INT[1] PCI_INT[2] PCI_INT[3] PCI_INT[0] PCI_INT[1] PCI_INT[2] PCI_INT[3] VSS_DLL_A VSS_DLL_B AD[18] AD[19] C37 R136 CAP RES 0.01UF 10K 5 PAR SERR# LOCK# VDD_DEVCLK_PLL DEV_CLK AD[11] RESET GND 6 VDD_MCLKI_PLL F E 7 TC FRAME# DCLK VDD_CPUCLK_PLL VDD_DCLK_PLL DD[12] DD[13] DD[14] DD[15] RTCRW#/DD[13] KBCS#/DD[14] D1 TRDY# IRDY# VDD_MCLKO_PLL VDD_HCLK_PLL HCLK Host clock test pin PCI_REQ#[0] PCI_REQ#[1] SPKRD FRAME TRDY IRDY STOP DEVSEL PAR SERR LOCK DEV_CLK CBE[0] CBE[1] VCLK AD[22] AD[23] AD[22] AD[23] VIN[2] VIN[3] AD[29] AD[30] AD[31] VCS ODD_EVEN AD[20] AD[21] AD[20] AD[21] VIN[0] VIN[1] AD[12] AD[10] AD[11] W1 AD[24] AD[25] AD[26] AD[24] AD[25] AD[26] AD[27] AD[28] AD[29] AD[30] AD[31] VIN[4] VIN[5] VIN[6] VIN[7] AD[14] AD[15] AD[16] AD[14] AD[15] AD[16] AD[17] AD[18] AD[19] JUMPER AD[8] AD[9] AD[10] DDC[0]/SDA DDC[1]/SCL AD[0] PDACK# SDACK# AD[6] AD[7] PWGD/SYSRSTI# AD[0:31] AD[1] AD[2] AD[0] AD[1] PDIOR# PDIOW# SDIOR# SDIOW# CBE[0] CBE[1] CBE[2] CBE[3] CBE[2] CBE[3] PAL TV not used MCLKO PDRQ SDRQ AD[3] AD[4] AD[5] AD[4] AD[5] AD[6] AD[7] AD[8] AD[9] SDA SCL D I2C CTRL_BUS 8 PIRQ MCLKI SIRQ PIRQ SIRQ PDRQ SDRQ PDACK SDACK PDIOR PDIOW SDIOR SDIOW GPIOCS# ISAOE# R124 RES 1K PCI_CLKO PCI_CLKI VIND VREF2_TV VSSA_TV VDDA_TV LM385BZ C B A H=8ND; V=8LA MCLKO MCLKI D C B KB_Mouse IRQ[0:15] DRQ[0:3] DACK[0:7] RSTDRV 4 ISA SD[0:15] SA[0:19] IRQ[1] IRQ[3:12] IRQ[14:15] AEN IOCHRDY IOR IOW TC SD[0:7] SA[0:15] RTS TXD DTR DCD DSR RXD CTS RI Zero Wait State (Open Drain Output) +5V V-12 RES RES RES RES 4.7K 4.7K 4.7K 4.7K V+12 3 D[0:7] A[0:15] IRQ1 IRQ[3:12] IRQ[14:15] AEN ZWS IOCHRDY RD WR TC DRQ[0:3] DACK[0:3] MR ACK SLCT PE ERR INIT SLIN/ASTRB AFD/DSTRB PD[0:7] BUSY/ WAIT STB/WRITE CTS1 DCD1 DSR1 DTR1 /BADDR0/BOUT1 RI1 RTS1 /BADDR1 SIN1 SOUT1/CFG0 +5V XTAL & RTC GPIO no usado GPIO & VARIOS PC97317VUL PC97317VUL VXTAL GND C2 CAP 15pF RES 4.7K RES 10M 32K C1 CAP 15pF +5V P21 P20 P17 P16/GPIO25 P12/ CS0 MDAT MCLK KBDAT KBCLK DSKCHG WP INDEX TRK0 RDATA DENSEL WGATE HDSEL STEP DIR WDATA DR[0:1] MTR[0:1] DRATE0 MSEN[0:1] IRTX GPIO24/IRRX1 GPIO37/IRRX2/ID0 /IRSL0 IRSL1/ID1/XD7 GPIO no usado LED LED3MM RES 180 2 Puerto adicional de datos MouseData MouseCLK KBData KBCLK KB_Mouse +5V + - + 1.0 REV IDE PCI 1 74AS04 DATE 03/08/00 SHEET 3 C7 CAP 0.1UF 74AS04 3.0V GND +5V C6 CAP 0.1UF RSTDRV C5 CAP 0.1UF GND +5V D5 VBATT 74AS04 REVISIONS DESCRIPTION C4 CAP 0.1UF CTRL_BUS IDE PCI SuperIO para conectar perifericos C3 CAP 1UF GND C30 0.1UF 74AS04 +5V D7 1N4001 D6 1N4001 SUPERIO DWG. NO. Jose Luis Madrid Cobos Carlos Prades del Valle SCALE SIZE FSCM NO. C 1N4001 03/08/00 03/08/00 03/08/00 DATE DPCAP 0.1UF Desacoplo PC97317 DPCAP 10UF CONTRACT NO. APPROVALS DRAWN CHECKED ISSUED 1 03/08/00 APPROVED 1.0 REV D C A REV RS232 GND 2 SH. DY1 DY2 DY3 RA1 RA2 RA3 RA4 RA5 V+12 DA1 DA2 DA3 RY1 RY2 RY3 RY4 RY5 V-12 ST75185 GND5 V5 Parallel port not used +5V GND CTRL_BUS 3 KEYBOARD & MOUSE FLOPPY (FDC) ISA SD[0:15] SA[0:19] IRQ[0:15] DRQ[0:3] DACK[0:7] RS232 CTRL_BUS 4 DWG. NO. A H=4ND; V=4LA RESETPCI RESETIDE SYSRSTO R17 RES 1K Salidas del FDC Infrared & GPIO no usados GPIO21/ID2/IRSL0/IRSL2 GPIO20/IRSL1/ID1 GPIO17/WDO GPIO16/PME1 GPIO15/PME2 GPIO[10:14] DTR2 /CFG1/BOUT2 GPIO36/SOUT2 GPIO35/SIN2 GPIO34/ RTS2 GPIO33/ RI2 GPIO32/DSR2 GPIO31/ DCD2 GPIO30/ CTS2 GPIO23/ RING GPIO22/ POR ISA BUS PARALLEL PORT X1 X1C X2C VBAT VCCH SWITCH ONCTL RING/XDCS LED/CS0 XDRD/ID3 CS1/CSOUT/XD0 CS2 /XD1 GPIO24/XD2 GPIO25/XD3 GPIO26/XD4 GPIO27/XD5 IRSL2/GPIO21/XD6 /SELCS DEV_CLK I2C MD[0:63] MA[0:11] MEM_CTRL SDRAM - DIMM FLASH - BIOS MA[0:11] REF S1 S2 MA[0:10] CLKOUT CLKA1 CLKA2 CLKA3 CLKA4 CLKB1 CLKB2 CLKB3 CLKB4 CY2309 ISA SA[0:19] MEM_CTRL CK[0] CK[1] CK[2] CK[3] CK[4] CK[5] CK[6] CK[7] MCLKI 4 MEM_CTRL VCC ISA SA[0:19] BA BA I2C 3 CS[2] CS[3] MA[13] Mem Address conections MA[0:10] -> A[0:10] CS[2:3] -> A[11:12] A[13] not used CSA CSB 3 DQ[0:63] MEMADD DQM[0:7] MWE RAS[0] CAS[0] CK[0:3] DQM[0:7] Vpp MWE RAS[1] CAS[1] CK[4:7] ce oe we I/O0 I/O1 I/O2 I/O3 I/O4 I/O5 I/O6 I/O7 28F020 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 DQ[0:63] BA[0:1] A[0:13] CKE[0:1] REGE DQM[0:7] CB[0:7] SCL CS[0:3] SCA SA[0:2] WE VREF1 RAS CAS VREF2 CK[0:3] WP DQ[0:63] BA[0:1] A[0:13] CKE[0:1] DQM[0:7] REGE CB[0:7] SCL CS[0:3] SCA WE SA[0:2] RAS VREF1 VREF2 CAS CK[0:3] WP +5V SA[0:2] SA[0:2] VCC BA CKE 0 0 SCL SDA 0 GNDGNDGND BA SD[0:15] 0 0 GNDGND 0 2 VCC VCC VCC VCC R1 RES 4.7K GND Open: Registered DIMM Close: Buffered DIMM SD[0:15] 2 1.0 REV C22 CAP 0.1UF C6 CAP 0.1UF C4 CAP 0.1UF C14 CAP 0.33UF C21 CAP 22UF 1 C3 CAP 0.1UF C11 CAP 0.1UF C20 CAP 22UF DATE 01/08/00 01/08/00 APPROVED 1.0 REV D C SH. A REV SHEET 4 Para la BIOS Para el CY2309 Para el DIMM 2 C9 CAP 0.1UF Para el DIMM 1 C15 CAP 22UF C5 CAP 0.1UF REVISIONS DESCRIPTION VCC VCC C2 CAP 0.1UF GND C13 CAP 0.33UF GND VCC C10 CAP 0.1UF C25 CAP 0.1UF C19 CAP 0.33UF GND C16 CAP 22UF Memoria principal (DIMM SDRAM) y BIOS C1 CAP 0.1UF C12 CAP 0.33UF C7 CAP 0.1UF VCC C8 CAP 0.1UF GND C18 CAP 0.33UF GND +5V C24 CAP 0.1UF +5V C23 CAP 0.1UF GND MEMORIA DWG. NO. Jose Luis Madrid Cobos Carlos Prades del Valle SIZE FSCM NO. C SCALE C17 CAP 0.33UF 01/08/00 01/08/00 01/08/00 DATE DESACOPLO DE CONTINUA CONTRACT NO. APPROVALS DRAWN CHECKED ISSUED 1 DWG. NO. RMRTCCS MCLKO 4 R2 RES 4.7K D C B A H=4ND; V=4LA SA[0] SA[1] SA[2] SA[0] SA[1] SA[2] 168DIMM 168DIMM SD[0] SD[1] SD[2] SD[3] SD[4] SD[5] SD[6] SD[7] CS[2] CS[3] CS[2] CS[3] CS[0] CS[1] CS[0] CS[1] SA[17] SA[16] SA[15] SA[14] SA[13] SA[12] SA[11] SA[10] SA[9] SA[8] SA[7] SA[6] SA[5] SA[4] SA[3] SA[2] SA[1] SA[0] MEMW MEMR MA[11] CS[3] D IDE ISA C43 CAP 0.1UF GND VCC ISA 4 74AC00 74AC00 ISAOE IDE VIDEO +5V R8 RES 82 R10RES 22 R11 RES 22 R12RES 22 R13RES 82 R9 RES 5.6K GND C2 CAP 220p VCC R2 RES 75 RESx8 BAR43 D6 D1 BAR43 22 R4 RES 75 3 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 B11 B12 B13 B14 B15 B16 B17 B18 B19 B20 IDE CONN_40 R3 RES 75 No connections are intentionaly left on air BAR43 D7 D2 BAR43 R1 RES 470 GND BAR43 D8 RESx8 22 DD[8] DD[9] DD[10] DD[11] DD[12] DD[13] DD[14] DD[15] DA[2] Las resistencias de adaptacion deben estar lo mas cerca posible de los pines del STPC Consumer-S D3 BAR43 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 VGA 2 2 RS232 KB_Mouse +5V VCC C14 CAP 1UF C31 CAP 1UF 1 REVISIONS DESCRIPTION DATE R1 R6 R2 R7 R3 R8 R4 R9 R5 03/08/00 DCD DSR RXD RTS TXD CTS DTR RI GND MINIDIN6DUAL 5V 5V GND GND GND -5V 5VSB 12V GND 5V GND PWGD GND 03/08/00 APPROVED 1.0 REV D C A REV Power on/off SHEET 5 GND Conector RS232 (COM1) A1 A2 A3 A4 A5 A6 A7 A9 A8 B1 B2 B3 B4 B5 B6 B7 B8 GND 5V 3.3V GND C42 CAP 330pF R17 RES 10K REV RS232 R16 RES 10K C41 CAP 330pF 3.3V -12V 3.3V GND PSON ATX Conectores IDE, VGA, PS2, PUERTO SERIE Y ALIMENTACION R15 RES 10K GND C40 CAP 330pF GND DWG. NO. Jose Luis Madrid Cobos Carlos Prades del Valle CONECTORES GND C4 CAP 100u +5V VCC C39 CAP 330pF R14 RES 10K C SCALE SIZE FSCM NO. C38 CAP 100UF C33 CAP 100UF C16 CAP 100UF 1.0 C32 CAP 10UF C37 CAP 10UF DATE 03/08/00 03/08/00 03/08/00 SH. C36 CAP 1UF C15 CAP 10UF MouseCLK MouseData KBCLK KBData KB_Mouse A FUSIBLE B GND C35 CAP 0.1UF GND C30 CAP 0.1UF +5V GND C13 CAP 0.1UF CONECTOR RS232, TECLADO Y RATON C12 CAP 10nF C29 CAP 10nF C34 CAP 10nF CONECTOR DE ALIMENTACION CONTRACT NO. APPROVALS DRAWN CHECKED ISSUED 1 DWG. NO. C1 CAP 220p No connections are intentionaly left on air RESETIDE 3 Keyboard Mouse 74AC00 74AC00 ISAOE I2C PCS3 GND GND SDA AGND BLUE GREEN RED R6 R5 RESRES 33 33 CONECTOR IDE VIDEO I2C CONECTOR VIDEO RGB 4 A B C B A H=4ND; V=4LA R7 RES 220 PCS1 DA[0] DA[1] PIRQ PDACK IOCHRDY PDIOR PDIOW PDRQ DD[0] DD[1] DD[2] DD[3] DD[4] DD[5] DD[6] DD[7] SCL VSYNC HSYNC D C B MD[0:63] 4 4 MD[0:63] MD[26] MD[25] MD[24] MD[20] MD[40] MD[46] MD[45] MD[17] 4.7K A1 A2 A3 A4 A5 A6 A7 A8 A SPST8 3 3 B 4.7K B1 B2 B3 B4 B5 B6 B7 B8 ON = 0 OFF = 1 VCC GND MD25 0 0 1 0 0 1 1 1 MD24 0 1 1 0 1 0 1 0 HCLK PLL SETUP MD26 0 0 0 1 1 1 1 0 : : : : : : : : 25 MHz 33 MHz 50 MHz 60 MHz 66 MHz 75 MHz 90 MHz 100 MHz DCLK INPUT OR OUTPUT MD20 0 DCLK is an input 1 DCLK is an output DX1 OR DX2 CPU MODE MD40 0 DX1 mode = x1 1 DX2 mode = x2 HCLK PLL FREQ RANGE MD46 MD45 16MHz < HCLK < 32 MHz 0 0 32MHz < HCLK < 64 MHz 1 0 64MHz < HCLK 0 1 PLL is disabled, delay chains selected 1 1 PCI CLK DIVISOR MD17 0 PCICLK = HCLK/3 1 PCICLK = HCLK/2 2 MD[0:63] 2 MD[47] MD[48] MD[41] MD[42] MD[43] MD[44] MD[16] MD[18] MD[19] MD[21] MD[22] MD[23] MD[27] MD[28] MD[29] MD[30] MD[31] MD[32] MD[33] MD[34] MD[35] 1.0 REV VCC 1 REVISIONS DESCRIPTION Straps de configuracion en el arranque del STPC SDRAM P O S MCLKI skew Clock Tick input value Local Bus off Test Bus off HCLK source internal HCLKO source internal CPC test off Internal IPC CPC fast reset normal mode HCLK delay DATE 03/08/00 SHEET 6 03/08/00 APPROVED 1.0 REV D C A REV STRAPS DWG. NO. Jose Luis Madrid Cobos Carlos Prades del Valle SCALE SIZE FSCM NO. C Skew between 486 host CLK & ADPC host CLK GND DATE 03/08/00 03/08/00 03/08/00 SH. CONTRACT NO. APPROVALS DRAWN CHECKED ISSUED 1 DWG. NO. A H=4ND; V=4LA R1 RES 4.7K R2 RES 4.7K R5 R4 R3 RESRESRES 4.7K4.7K4.7K R6 RES 4.7K R7 RES 4.7K R8 RES 4.7K R9 RES 4.7K R10 RES 4.7K R11 RES 4.7K R12 RES 4.7K R16 R15 R14 R13 RESRESRESRES 4.7K4.7K4.7K4.7K R21 R20 R19 R18 R17 RESRESRESRESRES 4.7K4.7K4.7K4.7K4.7K H=2LA; V=2LA A[16:19] D[8:11] CONTRACT NO. APPROVALS DRAWN CHECKED ISSUED REV 1.0 DWG. NO. REVISIONS DESCRIPTION DWG. NO. Jose Luis Madrid Cobos Carlos Prades del Valle SIZE FSCM NO. APPROVED REV DATE 03/08/00 SH. 03/08/00 SHEET 7 1.0 REV TRADUCCION LINEAS ISA-IDE Traduccion de lineas de ISA a IDE DATE 03/08/00 03/08/00 03/08/00 A SCALE Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal PLANOS DEL PC EMPOTRADO DE ALTA POTENCIA DE CÁLCULO. 137 DWG. NO. REVISIONS REV 1.0 DATE Esquema principal del sistema 24/07/00 APPROVED 24/07/00 MD MEM_CTRL MA MD ISA CLK_32KHz PCI CLK_14MHz IDE USB CRT AUDIO IDE Conectores USB CRT USB GX1 PCI CLK_14MHZ CLK_32KHZ RTCCTRL KBROMCS ISA DESCRIPTION REV SDRAM_BIOS MEM_CTRL MA ISA KBROMCS SH. Clocks CONTRACT NO. APPROVALS DRAWN CHECKED ISSUED PC EMPOTRADO DATE Carlos Prades del Valle Jose Luis Madrid Cobos 24/07/00 24/07/00 24/07/00 SIZE FSCM NO. A SCALE H=2LA; V=2LA DWG. NO. REV 1.0 SHEET 1 VCC 8 2 JMP3x1 1 3 VCC GND CLKMODE[0:2] 2 3 JMP3x1 1 GND C50 CAP 47PF C36 CAP 47PF C51 CAP 47PF C37 CAP 47PF C52 CAP 47PF VCC CPU_RST INTR IRQ13 SMI SUSP SUSPA SERIALP FLT 7 RW_CLK TEST_SD[0:3] TCLK TDI TDO TMS TEST TDP TDN SYSCLK CLKMODE[0:2] RESET INTR IRQ13 SMI SUSP SUSPA SERIALP C40 CAP 47PF C55 CAP 47PF C41 CAP 47PF C56 CAP 47PF C11 CAP 220UF C54 CAP 47PF C10 CAP 220UF C39 CAP 47PF C9 CAP 220UF C53 CAP 47PF C12 CAP 220UF C57 CAP 47PF C42 CAP 47PF C18 CAP 220UF C38 CAP 47PF C17 CAP 220UF IDE PCI BUS GX1 SDRAM CONTROLLER USB AUDIO C58 CAP 47PF C43 CAP 47PF VCC GND C59 CAP 47PF C44 CAP 47PF C101 CAP 47PF C86 CAP 47PF C60 CAP 47PF C45 CAP 47PF C102 CAP 47PF C87 CAP 47PF C61 CAP 47PF C46 CAP 47PF C103 CAP 47PF C88 CAP 47PF 6 CLOCKS PCI SYSTEM D+_PORT1 D-_PORT1 D+_PORT2 D-_PORT2 POWER_EN OVER_CUR ENA_DISP VID_RDY VID_VAL IDE_RST IDE_ADDR[0:2] IDE_DATA[0:15] IDE_IOR[0] IDE_IOR[1] IDE_IOW[0] IDE_IOW[1] IDE_CS[0] IDE_CS[1] IDE_IORDY[0] IDE_IORDY[1] IDE_DREQ[0] IDE_DREQ[1] IDE_DACK[0] IDE_DACK[1] PCLK VID_CKL DCLK CRT_HSYNC CRT_VSYNC FP_HSYNC FP_VSYNC The length of this wire must be as large as the length of SDCLK[x] length FP_VSYNC ENA_DISP PCLK VID_CLK DCLK CRT_HSYNC CRT_VSYNC FP_HSYNC VID_RDY VID_VAL BIT_CLK SDATA_OUT SDATA_IN SYNC PC_BEEP USBCLK PIXEL[0:17] VID_DATA[0:7] CLK_14MHZ CLK_32K VCC GND VCC GND IDE_RST 5 W2 Test has intern pull-down RESET GND IDE_ADDR[0:2] IDE_DATA[0:15] IDE_IOR0 IDE_IOR1 IDE_IOW0 IDE_IOW1 IDE_CS0 IDE_CS1 IDE_IORDY0 IDE_IORDY1 IDE_DREQ0 IDE_DREQ1 IDE_DACK0 IDE_DACK1 D+_PORT1 D-_PORT1 D+_PORT2 D-_PORT2 POWER_EN OVER_CUR BIT_CLK SDATA_OUT SDATA_IN SYNC PC_BEEP GPCS GPORT_CS GPIO[2:3] GPIO1/SDATA_IN2 GPIO0 VCC DCLK C1 R1 CAP RES 0.01UF 10K TEST RESET INTERFACE ROM/ KB CLOCK INTERFACE 4 CPU INTERFACE R5 RES 10K VCC VIDEO_CLOCKS VIDEO_SYNC VIDEO_CTRL Strap option select pin 1-2: IDSEL = AD26, USB = AD27. 2-3: IDSEL = AD28, USB = AD29 VID_DATA[0:7] PIXELGX1 VCC GND VCC CS5530 BUS ISA / FP/ PARTE DE GPIO BUS PCI RESTO DE FP Flat Panel Not used 3 FP_ENA_BKL 3 PCLK PIXEL[0:23] ENA_DISP DDC_SCL HSYNC HSYNC_OUT VSYNC VSYNC_OUT DDC_SDA IREF VREF EXTVREFIN AVDD1_DAC IOUTG AVSS5_DAC IOUTR AVDD2_VREF AVDD3_DAC AVSS1_DAC AVSS2_ICAP AVSS3_VREF AVSS4_ICAP IOUTB VID_DATA[0:7] VID_CLK PLLRO VID_VAL VID_RDY PLLLP PLLAGD PLLAGS PLLVAA PLLDVD PLLDGN PCLK PIXELCS5530 ENA_DISP CRT_HSYNC HSYNC_OUT CRT_VSYNC VSYNC_OUT DDC_SCL DDC_SDA IOUTR IOUTG IOUTB VID_CKL VID_VAL VID_RDY DWG. NO. AGND GND CONTRACT NO. 1.0 REV APPROVALS ISSUED CHECKED DRAWN C3 CAP D SH. DESCRIPTION D1 CRT C4 CAP REV VCC C6 CAP 0.01UF REVISIONS R6 RES 390 ZENER 1.235V AGND RFCHOKE DWG. NO. Carlos Prades del Valle Jose Luis Madrid Cobos SIZE FSCM NO. SCALE +5V DATE 1 CRT C2 CAP 0.1UF 24/07/00 RFCHOKE C5 CAP 0.01UF 1 SHEET 2 24/07/00 APPROVED R2 RES 732 1.0 REV Microprocesador y companion chip AGND Acoplo entre microprocesador y companion chip 2 24/07/00 24/07/00 24/07/00 DATE R3 RES AGNDVIDEO GNDGNDGNDGNDGNDGND GND GND GND GND GND GND MEM_CTRL MA[0:12] MD[0:63] C35 CAP 47PF C8 CAP 220UF C49 CAP 47PF C7 CAP 220UF C34 CAP 47PF C16 CAP 220UF C100 CAP 47PF C85 CAP 47PF VCC JMP3x1 MEM_CTRL MA MD C48 CAP 47PF C15 CAP 220UF C84 CAP 47PF C99 CAP 47PF C67 CAP 220UF C98 CAP 47PF C66 CAP 220UF C97 CAP 47PF C65 CAP 220UF C96 CAP 47PF C83 CAP 47PF C64 CAP 220UF C95 CAP 47PF C82 CAP 47PF C73 CAP 220UF 1 2 3 GNT[0:2] 2 C33 CAP 47PF C94 CAP 47PF C81 CAP 47PF C72 CAP 220UF C80 CAP 47PF C71 CAP 220UF REQ[0:2] VIDEO CONTROLLER DQM[0:7] SDCLK[0:3] REQ[0:2] GNT[0:2] WEB CKEA PERR SERR WEA IRDY TRDY STOP CKEB DQM[0:7] SDCLK[0:3] RASA RASB CASA CASB WEA WEB CKEA CKEB LOCK DEVSEL BA[0:1] CS[0:3] PAR FRAME IRDY TRDY STOP LOCK DEVSEL PERR SERR JMP3x1 1 3 VCC GND PCI IDE CLK_14MHZ CLK_32KHZ USB AUDIO VCORE C47 CAP 47PF GND C19 CAP 47PF C14 CAP 220UF C93 CAP 47PF C79 CAP 47PF C70 CAP 220UF REQ GNT D C GND C13 CAP 220UF C92 CAP 47PF C78 CAP 47PF C63 CAP 220UF C91 CAP 47PF C77 CAP 47PF C62 CAP 220UF DESACOPLO DE CONTINUA PARA EL GX1 VCC C90 CAP 47PF GND C89 CAP 47PF PCICLK C76 CAP 47PF C69 CAP 220UF 4 PIXEL PORT CRT MPEG DCLKPLL VCORE VCC GND C75 CAP 47PF C68 CAP 220UF R4 RES 20K GND ISA RTCCS,RTCALE 5 FP_VSYNC FP_DISP_ENA_OUT FP_ENA_VDD FP_HSYNC FP_VSYNC FP_CLK FP_CLK_EVEN FP_HSYNC SUSP SUSPA SYSTEM & OTHER SIGNALS CS[0:3] RASA RASB CASA CASB C/BE[0:3] PAR FRAME GND TVCLK 6 STOP LOCK DEVSEL PAR PERR SERR TC TC C74 CAP 47PF KBROMCS ISA RTCCTRL 7 DACK[5:7] CLKMODE[0] DESACOPLO DE CONTINUA PARA EL CS5530 8 MEMW IRDY TRDY DRQ[5:7] DACK[0:3] DACK[5:7] DACK[0:3] SUSP_3V IOW MEMCS16 MEMR FRAME IRQ8 DRQ[0:3] DRQ[5:7] IRQ13 PSERIAL IOCHRY ZEROWS IOCS16 IOR REQ[0] GNT[0] FRAME IRDY TRDY STOP LOCK DEVSEL PAR PERR SERR INTB INTC INTD IRQ[9:12] IRQ[14:15] IRQ[8] DRQ[0:3] CLK_32K INTR SMI ISACLK CLK_14MHZ USBCLK CLK_32K INTR SMI IRQ13 SERIALP SUSP SUSPA USBCLK AD[0:31] C/BE[0:3] HOLD_REQ AD[0:31] C/BE[0:3] INTA AEN IRQ1 IRQ[3:7] IRQ[9:12] IRQ[14:15] B A H=8ND; V=4LA SA[16:19] SD[0:15] ISACLK CLK_14MHZ FP_DATA[0:15]/SA[0:15] SMEMW/FP_HSYNC_OUT SMEMR/FP_VSYNC_OUT SMEMW/RTCCS SMEMR/ RTCALE SBHE BALE JUMPER RESETPCI TEST CPU_RST PCICLK TVCLK CPU_RST PCICLK TVCLK DCLK SA[16:19] SA[0:15]/SD[0:15] SA[0:15] SMEMW SMEMR RTCCS RTCALE SBHE BALE IOCHRDY ZEROWS IOCS16 IOR IOW MEMCS16 MEMR MEMW AEN IRQ[1] IRQ[3:7] IDE CONTROLLER USB AUDIO INTERFACE GAME PORT/ GPIO PCI_RST POR KBROMCS SA_LATCH/SA_DIR SA_OE/FP_DATA16 MASTER /FP_DATA17 SA[20:23]/GPIO[4:7] SA_LATCH/SA_DIR SA_OE MASTER SA[20:23] CLKMODE[1] MD[0:63] MA[0:12] BA[0:1] AD[0:31] AD[0:31] C/BE[0:3] Test signals (on air) Termal Diode SDCLK_IN SDCLK_OUT ISACLK CLKMODE[2] GPIO Not used DISPLAY D C B A 4 3 2 1 REVISIONS REV 1.0 DESCRIPTION Memoria principal (DIMM SDRAM) y BIOS DATE 24/07/00 APPROVED 24/07/00 D D CSDIMMA VCC CKDIMMA C59 CAP 0.1UF 4.7K C31 CAP 0.1UF CKEDIMMA SA[0:2] C48 CAP 0.33UF C35 CAP 0.1UF C34 CAP 0.1UF 0 0 C49 CAP 0.33UF GND C50 CAP 0.33UF C52 CAP 22UF C41 CAP 0.1UF C51 CAP 22UF 0 Para el DIMM 1 GNDGNDGND VCC On: Buffered DIMM Off: Registered DIMM DQ[0:63] BA[0:1] A[0:13] CKE[0:1] REGE DQM[0:7] CB[0:7] SCL CS[0:3] SCA SA[0:2] WE RAS VREF1 VREF2 CAS CK[0:3] WP 168DIMM GND CSDIMMB CKDIMMB No connections are intentionally left on air DIMMS - SDRAM C42 CAP 0.1UF CKEDIMMB C43 CAP 0.1UF VCC C44 CAP 0.1UF GND C46 CAP 0.1UF C45 CAP 0.1UF C C47 CAP 0.1UF VCC SA[0:2] SA[0] SA[1] SA[2] C C33 CAP 0.1UF GND VCC No connections are intentionally left on air 4.7K VCC SA[0] SA[1] SA[2] DQ[0:63] BA[0:1] A[0:13] CKE[0:1] DQM[0:7] REGE CB[0:7] SCL CS[0:3] SCA WE SA[0:2] RAS VREF1 CAS VREF2 CK[0:3] WP MA[0:13] 168DIMM MD[0:63] MA[0:12] CKEA CKEA CKEB CKEB CS[0] CS[1] CS[0] CS[1] CS[2] CS[3] CS[2] CS[3] CASA RASA WEA SDCLK[0] SDCLK[1] SDCLK[0] SDCLK[1] SDCLK[2] SDCLK[3] SDCLK[2] SDCLK[3] CASB RASB WEB DQM[0:7] MD MA BA[0:1] MEM_CTRL MEM_CTRL 4.7K 0 C54 CAP 0.33UF 0 C55 CAP 0.33UF GND C56 CAP 0.33UF C58 CAP 22UF C57 CAP 22UF GNDGND ISA SD[0] SD[1] SD[2] SD[3] SD[4] SD[5] SD[6] SD[7] SA[17] SA[16] SA[15] SA[14] SA[13] SA[12] SA[11] SA[10] SA[9] SA[8] SA[7] SA[6] SA[5] SA[4] SA[3] SA[2] SA[1] SA[0] MEMW SMEMR ISA B DWG. NO. Para el DIMM 2 +5V 28F020 A C60 CAP 0.1UF REV A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 +5V Vpp SH. ce oe we KBROMCS GND Para la BIOS I/O0 I/O1 I/O2 I/O3 I/O4 I/O5 I/O6 I/O7 DESACOPLO DE CONTINUA CONTRACT NO. APPROVALS DRAWN CHECKED ISSUED FLASH - BIOS MEMORIA DATE 24/07/00 24/07/00 SIZE FSCM NO. C DWG. NO. SCALE H=4ND; V=4LA 4 3 2 A Carlos Prades del Valle Jose Luis Madrid Cobos 24/07/00 REV 1.0 SHEET 3 1 PCI USB CLK_32KHz CLK_14MHz H=2LA; V=2LA REV CLK 48.000MHz QEN92BH CLK 33.000MHz QEN92BH CLK 1.0 CLK 32.768K QEN55BH PCI USB 14.31818MHz QEN92BH APPROVALS DRAWN CHECKED ISSUED CONTRACT NO. PCICLK DWG. NO. REVISIONS DESCRIPTION SH. REV APPROVED 33.000MHz DATE 48.000MHz 24/07/00 32.768K 1.0 REV 24/07/00 14.31818MHz C50 CAP 0.1UF VCC C49 CAP 0.1UF GND VCC C48 CAP 0.1UF GND +5V C47 CAP 0.1UF GND VCC GND DWG. NO. SHEET 4 Carlos Prades del Valle Jose Luis Madrid Cobos RELOJES DESACOPLO DE CONTINUA SCALE SIZE FSCM NO. A Osciladores (botes) necesarios para el sistema 24/07/00 24/07/00 24/07/00 DATE USBCLK 4 ISA 33p CAP C8 R2 RES 75 RESx8 C5 33p CAPCAP 33p C9 33 R4 RES 75 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 B11 B12 B13 B14 B15 B16 B17 B18 B19 B20 IDE R3 RES 75 C7 CAP 33p R1 RES 470 GND RESx8 33 2 USB CONECTOR USB C41 CAP 220UF GND C12 CAP 10nF USB VPOWER VCONT SENSE LT1580 VOUT ADJ 68 C39 CAP RES 0.33UF R9 C13 CAP 0.1UF GND VCC C14 CAP 1UF C31 CAP 1UF 1 DESCRIPTION REVISIONS Conectores IDE, VGA, USB, ALIMENTACION +5V GND ATX R1 R6 R2 R7 R3 R8 R4 R9 R5 1.0 +5V VCC 3.3V -12V GND PSON GND GND GND -5V 5V 5V USB REV C42 CAP 22UF GND C38 CAP 100UF C33 CAP 100UF C16 CAP 100UF C40 CAP 100UF VCORE C15 CAP 10UF C32 CAP 10UF C37 CAP 10UF GND DATE GND 24/07/00 3.3V 3.3V GND 5V GND 5V GND PWGD 5VSB 12V Power on/off SHEET 5 24/07/00 APPROVED GND 1.0 REV D C A REV C36 CAP 1UF C4 CAP 100u GND CONECTORES DWG. NO. Carlos Prades del Valle Jose Luis Madrid Cobos SIZE FSCM NO. C SCALE SH. GND DATE 24/07/00 24/07/00 24/07/00 1 DWG. NO. C30 CAP 0.1UF GND +5V C29 CAP 10nF C35 CAP 0.1UF GND C34 CAP 10nF CONECTOR DE ALIMENTACION CONTRACT NO. APPROVALS DRAWN CHECKED ISSUED D+_PORT2 D-_PORT2 D+_PORT1 D-_PORT1 3 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 CONN_40 No connections are intentionally left on air C6 33p CAP CAP 33p C10 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 VGA 2 R7 RES 220 IDE C2 CAP 220p No connections are intentionally left on air IRQ[14] IDE CRT C1 CAP 220p GND IDE_RST 3 R8 RES 110 ISA CONECTOR IDE CRT +5V GND CONECTOR VIDEO RGB 4 R6 R5 RESRES 33 33 D C B A H=4ND; V=4LA A B IDE_CS[0] IDE_ADDR[0] IDE_ADDR[1] IDE_DACK[0] IDE_IORDY[0] IDE_IOR[0] IDE_IOR[0] IDE_DREQ[0] IDE_DATA[0] IDE_DATA[1] IDE_DATA[2] IDE_DATA[3] IDE_DATA[4] IDE_DATA[5] IDE_DATA[6] IDE_DATA[7] DDC_SCL VSYNC_OUT HSYNC_OUT DDC_SDA AGNDVIDEO IOUTB IOUTG IOUTR IDE_DATA[8] IDE_DATA[9] IDE_DATA[10] IDE_DATA[11] IDE_DATA[12] IDE_DATA[13] IDE_DATA[14] IDE_DATA[15] IDE_ADDR[2] IDE_CS[1] Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal PLIEGO DE CONDICIONES 143 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal PRESUPUESTO 144 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal PRESUPUESTO DE EJECUCIÓN MATERIAL Sueldo del ingeniero: Número de horas....................................................... 240 horas Sueldo por hora...................................................... 8.000 ptas Cargas sociales (35 %)......................................... 672.000 ptas Total................................................................ 2.592.000 ptas Amortización del material: Estación de trabajo CAD Intergraph TD-225 Precio de compra 500.000 ptas Amortizable en 3 años Período de uso 2 meses Amortización.................................................27.778 ptas Software CAD Veribest 98 de Intergraph Precio de compra 2.000.000 ptas Amortizable en 3 años Período de uso 2 meses Amortización.............................................. 111.111 ptas Total....................................................................138.889 ptas 145 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal Coste de materiales y servicios exteriores: Papelería..................................................... 10.000 ptas Informática (consumibles)............................. 5.000 ptas Documentación..............................................8.000 ptas Total.....................................................................23.000 ptas Presupuesto de ejecución material: Sueldo del ingeniero......................................... 2.592.000 ptas Amortización del material.................................... 138.889 ptas Coste de materiales y servicios exteriores.............. 23.000 ptas Total........................................................... 2.753.889 ptas 146 Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal PRESUPUESTO DE EJECUCIÓN POR OBRA Presupuesto de ejecución material (PEJ) .................. 2.753.889 ptas Costes generales (16% PEJ)..........................................440.622 ptas Beneficio industrial (6% PEJ)....................................... 165.233 ptas Honorarios del ingeniero (7% PEJ) .............................. 192.772 ptas Honorarios del tutor (7% PEJ) .................................... 192.772 ptas PRESUPUESTO SIN IVA ................................................... 3.745.288 ptas 16% I.V.A ............................................................................ 599.246 ptas PRESUPUESTO TOTAL ............................................... 4.344.534 ptas El presupuesto total del proyecto asciende a la cantidad de cuatro millones trescientas cuarenta y cuatro mil quinientas treinta y cuatro pesetas. Madrid, 1 de septiembre de 2000 Fdo. Carlos Prades del Valle. Ingeniero de Telecomunicación 147