Desarrollo de Un PC Empotrado

Embed Size (px)

Citation preview

ESCUELA TCNICA SUPERIOR DE INGENIEROS DE TELECOMUNICACIN

PROYECTO FIN DE CARRERATtulo: Autor: Tutor: Desarrollo de un PC empotrado con procesador de seal. Carlos Prades del Valle. Juan Francisco Gmez Mena

Departamento: Seales, Sistemas y Radiocomunicaciones MIEMBROS DEL TRIBUNAL CALIFICADOR:PRESIDENTE:

VOCAL:

SECRETARIO:

FECHA DE LECTURA: OBJETIVO:El objetivo del proyecto es el diseo de un PC empotrado para aplicaciones de procesado de seal y multimedia.

CALIFICACIN:

UNIVERSIDAD POLITCNICA DE MADRIDESCUELA TCNICA SUPERIOR DE INGENIEROS DE TELECOMUNICACIN

PROYECTO FIN DE CARRERA

DESARROLLO DE UN PC EMPOTRADO CON PROCESADOR DE SEAL

Autor: Carlos Prades del Valle Tutor: D. Juan Francisco Gmez MenaCURSO 1999-2000

RESUMEN DEL PROYECTO:La memoria del presente proyecto describe el diseo de un PC para aplicaciones de procesado de seal y multimedia. Un PC empotrado es un sistema basado en microprocesador diseado especficamente para ser montado en el interior de numerosos equipos industriales (automatizacin y monitorizacin de procesos de fabricacin o produccin) y tambin en electrodomsticos de ltima generacin, set-top boxes, aviones, vehculos y sistemas multimedia como puntos de venta interactivos. Tras un estudio de los principales microcontroladores y dispositivos para esta aplicacin, se ha realizado un diseo utilizando la herramienta de CAD VeriBest 98 de Intergraph. Se realiza una comparacin con el diseo de un PC empotrado para aplicaciones industriales realizado en el proyecto de Jos Luis Madrid Cobos [1].

PALABRAS CLAVE:PC empotrado, PC embarcado, sistemas empotrados, microcontrolador,

microprocesador, diseo hardware, esquemas.

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 SEAL

Carlos Prades del Valle

Desarrollo de un PC empotrado con procesado de seal

NDICENDICE ...................................................................................................................... 6GLOSARIO. ...............................................................................................................

10

MEMORIA......................................................................................... 131. INTRODUCCIN AL PC EMPOTRADO................................................................. 14 1.1. Qu es un PC empotrado? ....................................................................................................................14 1.2. Microprocesadores y sistemas empotrados [3]. ....................................................................................15 1.3. Arquitectura bsica [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 DISEO DE UN PC EMPOTRADO. ...................................... 23 2.1. Fases de vida del diseo. .........................................................................................................................23 2.2. Diseo previo del sistema........................................................................................................................24 2.2.1. Determinacin de los requisitos del sistema. ..........................................................................24 2.2.2. Diseo de la plataforma PC empotrado...................................................................................27 2.2.3. Eleccin de la memoria y del sistema operativo. ....................................................................28 2.2.4. Determinacin de las entradas-salidas. ...................................................................................29 2.2.5. Eleccin de la BIOS................................................................................................................29 2.3. Diseo del hardware................................................................................................................................30 2.3.1. Creacin de los esquemas. ......................................................................................................30 2.3.2. Creacin del layout de la PCB. ...............................................................................................31 2.4. Diseo del software..................................................................................................................................31 2.5. Prototipo. .................................................................................................................................................32

6

Carlos Prades del Valle

Desarrollo de un PC empotrado con procesado de seal

2.6. Integracin 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. Introduccin. ...........................................................................................................................35 3.1.2. Caractersticas fundamentales. ................................................................................................35 3.1.3. Descripcin. ............................................................................................................................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. Introduccin. ...........................................................................................................................48 3.5.2. Caractersticas fundamentales. ................................................................................................49 3.5.3. Diagrama de bloques...............................................................................................................53 3.6. MachZ PCe de ZF [22]............................................................................................................................54 3.6.1. Introduccin. ...........................................................................................................................54 3.6.2. Caractersticas fundamentales. ................................................................................................55 3.6.3. Diagrama de bloques...............................................................................................................60 3.7. Geode GX1 de National Semiconductor [23]. .......................................................................................61 3.7.1. Descripcin General................................................................................................................61 3.7.2. Caractersticas. ........................................................................................................................63 3.7.3. Diagrama de bloques...............................................................................................................66 3.8. Geode GXLV de National Semiconductor [23].....................................................................................67 3.8.1. Descripcin. ............................................................................................................................67 3.8.2. Caractersticas. ........................................................................................................................68 3.9. Geode GXM de National Semiconductor [23]. .....................................................................................71 3.10. Geode SC1400 de National Semiconductor [23]. ................................................................................71 3.10.1. Introduccin. .........................................................................................................................71 3.10.2. Componentes principales. .....................................................................................................72 3.10.3. Caractersticas fundamentales. ..............................................................................................72

7

Carlos Prades del Valle

Desarrollo de un PC empotrado con procesado de seal

3.10.4. Operaciones concurrentes. ....................................................................................................73 3.10.5. Diagrama de bloques.............................................................................................................74 3.11. SPARClite MB86831 de Fujitsu [24]. ..................................................................................................74 3.11.1. Introduccin. .........................................................................................................................74 3.11.2. Caractersticas. ......................................................................................................................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. Caractersticas. ......................................................................................................................78 3.14.2. Diagrama de bloques.............................................................................................................80 3.15. Crusoe TM3200 de Transmeta [25]. ....................................................................................................80 3.15.1. Descripcin. ..........................................................................................................................80 3.15.2. Caractersticas. ......................................................................................................................82 3.16. Crusoe TM5400 de Transmeta [25]. ....................................................................................................83 3.16.1. Introduccin. .........................................................................................................................83 3.16.2. Caractersticas. ......................................................................................................................83 3.17. Mobile Pentium III de Intel [26]. .........................................................................................................83 3.17.1. Descripcin. ..........................................................................................................................83 3.17.2. Caractersticas. ......................................................................................................................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. Introduccin. ...........................................................................................................................88 4.1.2. Caractersticas fundamentales. ................................................................................................89 4.1.3. Descripcin. ............................................................................................................................91 4.2. National PC 97317 Super I/O. ................................................................................................................94 4.2.1. Introduccin. ...........................................................................................................................94 4.2.2. Caractersticas fundamentales. ................................................................................................94 4.2.3. Diagrama de bloques.............................................................................................................100

8

Carlos Prades del Valle

Desarrollo de un PC empotrado con procesado de seal

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. Eleccin del microcontrolador. ............................................................................................................105 5.3. Posibilidades abiertas............................................................................................................................107 5.4. Descripcin de los esquemas del PC empotrado de potencia de clculo media. ..............................109 5.4.1. Contenido de los buses..........................................................................................................111 5.5. Descripcin de los esquemas del PC empotrado de alta potencia de clculo. ..................................112 5.5.1. Descripcin 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. Seales del sistema................................................................................................................119 BIBLIOGRAFA. ................................................................................................... 126

PLANOS ......................................................................................... 128PLANOS DEL PC EMPOTRADO DE POTENCIA DE CLCULO MEDIA..................... 129 PLANOS DEL PC EMPOTRADO DE ALTA POTENCIA DE CLCULO. ...................... 137

PLIEGO DE CONDICIONES........................................................... 143 PRESUPUESTO ............................................................................. 144

9

Carlos Prades del Valle

Desarrollo de un PC empotrado con procesado de seal

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 seal

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 seal

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: Squentiel Mmoire. 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 seal

MEMORIA

13

Carlos Prades del Valle

Desarrollo de un PC empotrado con procesado de seal

1. INTRODUCCIN AL PC EMPOTRADO.1.1. Qu es un PC empotrado?Un PC empotrado es un sistema basado en microprocesador diseado especficamente para ser montado en el interior de numerosos equipos industriales (automatizacin de procesos de fabricacin o produccin) y tambin en electrodomsticos de ltima generacin, aviones, vehculos y sistemas multimedia. A diferencia de un PC (Personal Computer, Ordenador Personal), el PC empotrado, tambin conocido como PC embarcado o embebido, es un sistema que busca un coste mnimo mediante el diseo de sus mdulos adecundolos a las necesidades requeridas por el sistema anfitrin donde va a ser colocado. Ello implica la eliminacin de varios de los elementos que existen en un PC, que no sern necesarios en el sistema anfitrin del PC empotrado. La diferencia ms 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 resolucin grfica y posibilidades de ampliacin con nuevos mdulos ya que el sistema anfitrin ser diseado en su totalidad para unos requisitos especficos. Si el sistema anfitrin se queda obsoleto ser no slo por el PC empotrado sino tambin por el resto de los elementos que lo integran, con lo que la solucin viene dada por el rediseo del sistema completo en la mayora de los casos. Adems, en muchas situaciones el tamao requerido del sistema embebido es cada vez ms reducido. Con respecto a la eliminacin de ciertos mdulos o capacidades en un PC empotrado con respecto al PC convencional conviene sealar que para ciertas aplicaciones puede ser necesario, por el contrario, incluir alguna capacidad especfica en el PC empotrado que no aparezca en un PC convencional. Este hecho puede observarse en alguno de los ejemplos que se citarn ms adelante como aplicaciones tpicas.

14

Carlos Prades del Valle

Desarrollo de un PC empotrado con procesado de seal

1.2. Microprocesadores y sistemas empotrados [3].Un microprocesador es una implementacin 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 varan en consumo de potencia, complejidad y coste. Los hay de unos pocos miles de transistores y con coste inferior a 200 pesetas (en produccin masiva) hasta de ms de cinco millones de transistores que cuestan ms 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 CPU

BUS DE SISTEMA

SUBSISTEMA MEMORIA

SUBSISTEMA ENTRADA

Datos obtenidos del exterior

SUBSISTEMA SALIDA

Resultados hacia el exterior

Figura 1.1 El subsistema de entrada acepta datos del exterior para ser procesados mientras que el subsistema de salida transfiere los resultados hacia el exterior. Lo ms habitual 15

Carlos Prades del Valle

Desarrollo de un PC empotrado con procesado de seal

es que hayan varios subsistemas de entrada y varios de salida. A estos subsistemas se les reconoce habitualmente como perifricos 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 tambin almacena varios tipos de datos: datos de entrada que an 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 segn funcionalidades. La subdivisin fsica de un sistema, en trminos de circuitos integrados o placas de circuito impreso (PCBs) puede y es normalmente diferente. Un solo IC o PCB puede proporcionar mltiples 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, slo con microprocesador y entradas/salidas. La memoria habr que aadirla externamente. Entre los subsistemas de E/S que incluyen los microcontroladores se encuentran los temporizadores, los convertidores analgico a digital (ADC) y digital a analgico (DAC) y los canales de comunicaciones serie. Estos subsistemas de E/S se suelen optimizar para aplicaciones especficas (por ejemplo audio, video, procesos industriales, comunicaciones, etc.). Hay que sealar que las lneas reales de distincin entre microprocesador, microcontrolador y microcomputador en un solo chip estn difusas, y se denominan en ocasiones de manera indistinta unos y otros. Un sistema empotrado es un sistema con microprocesador cuyo hardware y software estn especficamente diseados y optimizados para resolver un problema concreto eficientemente. Normalmente un sistema empotrado interacta continuamente con el entorno para vigilar o controlar algn proceso (de fabricacin, de venta de productos, de electrodomsticos o vehculos, etc.). Su hardware se disea normalmente a nivel de chips, no de interconexin de PCBs, buscando la mnima circuitera y el menor tamao para una aplicacin particular. Pero, como alternativa, se puede disear a partir del nivel de PCBs comprando placas con microprocesador comerciales que responden normalmente a un estndar como el PC-104 (placas de tamao concreto que se

16

Carlos Prades del Valle

Desarrollo de un PC empotrado con procesado de seal

interconectan entre s apilndolas unas sobre otras, cada una de ellas con una funcionalidad especfica dentro del objetivo global que tenga el sistema empotrado en diseo). Esta ltima solucin acelera el tiempo de diseo pero no optimiza ni el tamao del sistema ni el nmero de componentes utilizados. Un sistema empotrado simple contar con un microprocesador, memoria, unos pocos perifricos de E/S y un programa dedicado a una aplicacin concreta almacenado permanentemente en la memoria. El trmino 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 tcnico 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 estndar (PC), utilizan del orden de diez o ms sistemas empotrados cada da. Los microcomputadores empotrados en estos sistemas controlan electrodomsticos tales como: televisores, videos, lavadoras, alarmas, telfonos inalmbricos, etc. Incluso un PC tiene microcomputadores empotrados en el monitor, impresora, y perifricos en general, adicionales a la CPU del propio PC. Un automvil puede tener hasta un centenar de microprocesadores y

microcontroladores que controlan cosas como la ignicin, transmisin, direccin asistida, frenos antibloqueo (ABS), control de la traccin, etc. Los sistemas empotrados se caracterizan normalmente por su necesidad de dispositivos de E/S especiales. Cuando se opta por disear el sistema empotrado partiendo de una placa con microcomputador tambin es necesario comprar o disear placas de E/S adicionales para cumplir con los requisitos de la aplicacin 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 ejecucin 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 catastrficas. Un sistema empotrado complejo puede utilizar un sistema operativo como apoyo para la ejecucin de sus programas, sobre todo cuando se requiere la ejecucin simultnea de los mismos [11]. Cuando se utiliza un sistema operativo lo ms 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 seal

sistema operativo diseado y optimizado para manejar fuertes restricciones de tiempo asociadas con eventos en aplicaciones de tiempo real. En una aplicacin de tiempo real compleja la utilizacin de un RTOS multitarea puede simplificar el desarrollo del software.

1.3. Arquitectura bsica [4].Un PC empotrado posee una arquitectura semejante a la de un PC. Brevemente stos son los elementos bsicos: Microprocesador. Es el encargado de realizar las operaciones de clculo principales del sistema. Ejecuta cdigo para realizar una determinada tarea y dirige el funcionamiento de los dems elementos que le rodean, director de una orquesta. Memoria. En ella se encuentra almacenado el cdigo de los programas que el sistema puede ejecutar as como los datos. Su caracterstica principal es que debe tener un acceso de lectura y escritura lo ms rpido posible para que el microprocesador no pierda tiempo en tareas que no son meramente de clculo. Al ser voltil el sistema requiere de un soporte donde se almacenen los datos incluso sin disponer de alimentacin o energa. Cach. Memoria ms rpida que la principal en la que se almacenan los datos y el cdigo 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 instruccin ya se encuentra en la cach. Dado su alto precio tiene un tamao muy inferior (8 512 KB) con respecto a la principal (8 256 MB). En el interior del chip del microprocesador se encuentra una pequea cach (L1), pero normalmente se tiene una mayor en otro chip de la placa madre (L2). Disco duro. En l la informacin no es voltil y adems puede conseguir capacidades muy elevadas. A diferencia de la memoria que es de estado slido ste suele ser magntico. Pero su excesivo tamao a veces lo hace inviable para PCs empotrados, con lo que se requieren soluciones como discos de estado slido. Existen en el mercado varias soluciones de esta clase (DiskOnChip, CompactFlash, IDE Flash Drive, etc.) con capacidades suficientes para la mayora de sistemas embebidos (desde 2 hasta 220 MB). El controlador del a modo de

18

Carlos Prades del Valle

Desarrollo de un PC empotrado con procesado de seal

disco duro de PCs estndar cumple con el estndar IDE y es un chip ms de la placa madre. Disquetera. Su funcin es la de un disco duro pero con discos con capacidades mucho ms pequeas y la ventaja de su portabilidad. Siempre se encuentra en un PC estndar pero no as en un PC empotrado. BIOS-ROM. BIOS (Basic Input & Output System, sistema bsico de entrada y salida) es cdigo que es necesario para inicializar el ordenador y para poner en comunicacin los distintos elementos de la placa madre. La ROM (Read Only Memory, memoria de slo lectura no voltil) es un chip donde se encuentra el cdigo BIOS. CMOS-RAM. Es un chip de memoria de lectura y escritura alimentado con una pila donde se almacena el tipo y ubicacin de los dispositivos conectados a la placa madre (disco duro, puertos de entrada y salida, etc.). Adems 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, adems 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 ratn, teclado, vdeo en formato digital, comunicaciones serie o paralelo, etc. Salidas del sistema: puertos de vdeo para monitor o televisin, pantallas de cristal lquido, altavoces, comunicaciones serie o paralelo, etc. Ranuras de expansin para tarjetas de tareas especficas que pueden no venir incorporadas en la placa madre, como pueden ser ms puertos de comunicaciones, acceso a red de ordenadores va LAN (Local Area Network, red de rea local) o va red telefnica: bsica, RDSI (Red Digital de Servicios Integrados), ADSL (Asynchronous Digital Subscriber Loop, Lazo Digital Asncrono del Abonado), etc. Un PC estndar suele tener muchas ms ranuras de expansin que un PC empotrado. Las ranuras de expansin estn asociadas a distintos tipos de bus: VESA, ISA, PCI, NLX (ISA + PCI), etc. Hoy en da 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 seal

pequeo tamao, entradas y salidas especficas,...). Su capacidad de proceso suele ser inferior a los procesadores de propsito 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 captulo 3 se describen las caractersticas 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 especficos para los sistemas embebidos. As nos encontramos con sistemas operativos de bajos requisitos de memoria, posibilidad de ejecucin de aplicaciones de tiempo real, modulares (inclusin slo de los elementos necesarios del sistema operativo para el sistema embebido concreto), etc. Los ms 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 continuacin se exponen varios ejemplos para ilustrar las posibilidades de los mismos: En una fbrica, para controlar un proceso de montaje o produccin. Una mquina que se encargue de una determinada tarea hoy en da contiene numerosos circuitos electrnicos y elctricos para el control de motores, hornos, etc. que deben ser gobernados por un procesador, el cual ofrece un interfaz persona mquina 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 ms completas, integrando teclados numricos, lectores de cdigos de barras mediante lser, lectores de tarjetas bancarias de banda magntica o chip, pantalla alfanumrica de cristal lquido, etc. El PC empotrado en este caso requiere numerosos conectores de entrada y salida y unas caractersticas robustas para la operacin continuada. Puntos de informacin al ciudadano. En oficinas de turismo, grandes almacenes, bibliotecas, etc. existen equipos con una pantalla tctil donde se puede pulsar sobre la misma y elegir la consulta a realizar, obteniendo una respuesta personalizada en un entorno grfico amigable.

20

Carlos Prades del Valle

Desarrollo de un PC empotrado con procesado de seal

Decodificadores y set-top boxes para la recepcin de televisin. Cada vez existe un mayor nmero de operadores de televisin que aprovechando las tecnologas va satlite y de red de cable ofrecen un servicio de televisin de pago diferenciado del convencional. En primer lugar envan la seal en formato digital MPEG-2 con lo que es necesario un procesado para decodificarla y mandarla al televisor. Adems viaja cifrada para evitar que la reciban en claro usuarios sin contrato, lo que requiere descifrarla en casa del abonado. Tambin ofrecen un servicio de televisin interactiva o web-TV que necesita de un software especfico para mostrar pginas web y con ello un sistema basado en procesador con salida de seal de televisin.

Sistemas radar de aviones. El procesado de la seal recibida o reflejada del sistema radar embarcado en un avin requiere alta potencia de clculo adems de ocupar poco espacio, pesar poco y soportar condiciones extremas de funcionamiento (temperatura, presin atmosfrica, vibraciones, etc.).

Equipos de medicina en hospitales y ambulancias UVI mvil. Mquinas de revelado automtico de fotos. Cajeros automticos. Pasarelas (Gateways) Internet-LAN. Y un sin fin de posibilidades an por descubrir o en estado embrionario como son las neveras inteligentes que controlen su suministro va 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 estn basados en un microprocesador con un sistema operativo propietario o especfico para la aplicacin correspondiente [3]. Dicha aplicacin se programa en ensamblador para el microprocesador dado o en lenguaje C, realizando llamadas a las funciones bsicas 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 seal

Posibilidad de utilizacin de sistemas operativos potentes que ya realizan numerosas tareas: comunicaciones por redes de datos, soporte grfico, 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 versin reducida de los mismos con caractersticas orientadas a los PCs empotrados.

Al utilizar dichos sistemas operativos se pueden encontrar fcilmente herramientas de desarrollo software potentes as como numerosos programadores que las dominan, dada la extensin mundial de las aplicaciones para PCs compatibles.

Reduccin 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 seal

2. CICLO DE VIDA DEL DISEO DE UN PC EMPOTRADO.2.1. Fases de vida del diseo.En el presente captulo se describen las fases de vida necesarias para construir un PC empotrado [2][3][14]. Desde la primera fase, conocida como diseo previo del sistema, hasta la ltima, que consiste en la prueba del mismo, se debe de cuidar el orden de ejecucin 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.

Diseo previo del sistema

Diseo del hardware

Prototipo

Diseo del software

Integracin del sistema

Prueba final del sistema Figura 2.1

23

Carlos Prades del Valle

Desarrollo de un PC empotrado con procesado de seal

2.2. Diseo previo del sistema.Esta fase de vida se divide a su vez en otras cinco fases: determinacin de los requisitos del sistema, diseo de la plataforma PC empotrado, eleccin de la memoria y del sistema operativo, determinacin de las entradas-salidas y eleccin de la BIOS. A continuacin se detallan cada una de ellas.

2.2.1. Determinacin de los requisitos del sistema. Una de las partes ms importantes del desarrollo de un PC empotrado es la captura de los requisitos del sistema para la aplicacin buscada. Ms adelante se dan unas consideraciones clave. Cuanto mejor se realice esta fase previa a la creacin de un prototipo menos probables sern los indeseados cambios tanto en hardware como en software. An 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 tcnicas. Definicin 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 elctricas y mecnicas de sus interfaces. Una definicin general de los requisitos de tipo de memoria (voltil, no voltil, estado slido, magntica). La definicin de cmo el sistema interactuar con las personas (monitor, teclado, lector de cdigos de barras, etc.). Definicin de la aplicacin software. Descripcin especfica de todas las caractersticas de la aplicacin software. Caractersticas de depurado. Caractersticas del software de arranque.

24

Carlos Prades del Valle

Desarrollo de un PC empotrado con procesado de seal

Posibilidad de actualizacin del software. Caractersticas bsicas de la BIOS. Previsin de controladores (drivers) para el funcionamiento del hardware externo.

Eleccin del mtodo de implementacin del software de modo que el cdigo sea reutilizable.

Requisitos de alimentacin. Posibilidad de alimentacin mediante batera o pilas. Alimentacin de seguridad para condiciones de cada de la alimentacin principal. Previsiones generales de consumo del sistema.

Requisitos trmicos del sistema. Refrigeracin por ventilador o por conveccin. Ubicacin de los componentes para una efectiva gestin trmica. Condiciones ambientales externas para determinar las necesidades de control trmico. Tiempo de vida esperado del sistema frente a las necesidades de control trmico.

Diseo de la forma y tamao. Restricciones en cuanto a dimensiones. Robustez del producto.

Definicin de los subsistemas principales. Los subsistemas principales con suficiente complejidad deben tener una definicin similar a la del sistema completo para evitar problemas o elevados costes de integracin.

Necesidades de rendimiento. Necesidades de velocidad de procesado. Capacidad de manejar interfaces grficas. 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 seal

2.2.1.2. Consideraciones a nivel de proyecto. Previsin del tiempo que el producto vivir en el mercado. Disponibilidad de componentes. Soporte y mantenimiento del producto vendido.

Estimacin 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 diseo o desarrollo. Experiencia de diseo de hardware de alta frecuencia. Familiarizacin con los entornos de programacin.

Actualizaciones del software. Nmero esperado de actualizaciones. Previsin del crecimiento del tamao del programa. Posible crecimiento de programas procedentes del exterior.

Efectividad de la plataforma de desarrollo. Tiempo estimado para la finalizacin del primer prototipo. Disponibilidad de herramientas. Capacidad de utilizacin o integracin de perifricos. Facilidad de uso.

Mantenimiento. Procedimiento de actualizacin del hardware y del software. Mantenimiento o sustitucin de componentes. Mantenimiento o sustitucin de subsistemas. Mantenimiento trmico del sistema.

Actualizaciones del hardware. Estudio de las necesidades de actualizacin. Expansin y modularidad del diseo. 26

Carlos Prades del Valle

Desarrollo de un PC empotrado con procesado de seal

2.2.2. Diseo de la plataforma PC empotrado.El diseo de los PCs empotrados se desarrolla siguiendo las tcnicas de diseo de los PCs de sobremesa comunes. Sirvan como pautas generales lo mencionado en los apartados 1.2 y 1.3 (arquitectura bsica) y lo descrito a continuacin. 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 captulo 3: Puente Norte o NorthBridge, el cual controla las transferencias con la memoria principal (asncrona o sncrona, esto es, DRAM o SDRAM), as como las transferencias entre microprocesador y bus PCI. Si el sistema dispone de cach de nivel II (L2), tambin ofrecer su manejo. Segn el diseo elegido tambin puede proporcionar control de paridad y deteccin y correccin de errores (ECC, Error Checking and Correction). Puente Sur o SouthBridge, el cual persigue mltiples propsitos, como son: Conexin del bus PCI al bus ISA, IDE, USB, etc. Mediante el bus ISA y unas seales 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 perifricos como teclado, ratn, disquetera, reloj de tiempo real, etc. Puertos serie y paralelo.

Bloque generador de las seales de reloj. Los relojes son responsables de hacer correr todos los subsistemas incluyendo microprocesador, memoria sncrona, buses PCI, ISA, USB, etc. Hay que cuidar su diseo puesto que afecta directamente a la integridad de los datos a travs del sistema.

Cach

de

nivel

II.

Esta

memoria,

usualmente

externa

al

chip

del

microprocesador, est diseada para almacenar copias locales de datos accedidos con frecuencia en la memoria principal. Es ms rpida que esta ltima, dado que es de tecnologa esttica en vez de dinmica, y su tamao 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 seal

considerarse suficiente la cach de nivel I (interna) para muchos de los diseos. Memoria principal SDRAM o DRAM. Con tamaos que oscilan entre los 2 MB y 1 GB, esta memoria puede ser sncrona (SDRAM) o asncrona (DRAM). La primera est sustituyendo a la segunda de una manera aplastante dadas sus mejores caractersticas de velocidad y precio. Memoria flash o ROM de arranque. En una memoria flash (actualizable) o ROM (no actualizable) se almacena el cdigo BIOS, necesario para arrancar el PC y controlar a bajo nivel los perifricos. Bus PCI. ste es un bus estndar 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 seales elctricas se refiere. El bus PCI generalmente soporta las tasas de transferencia de datos ms altas (video, sonido, etc) adems de existir en el mercado nmeros perifricos que se conectan a este bus (tarjetas de red ethernet, mdems, etc.)

2.2.3. Eleccin 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 voltil que almacena el cdigo inicial y la BIOS del sistema. Puede incluso que el sistema operativo, si es pequeo, resida en esta memoria. Su tamao no suele superar los 256 KB y el tipo ms habitual es la flash. Memoria principal. Puede ser DRAM o SDRAM, en forma de chips o en mdulos SIMM o DIMM, con tamao total de 2 MB a 1 GB. ste tamao 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 tamao decidido con respecto al calculado segn las necesidades suele ser del 20% al 100%. Memoria de almacenamiento. sta puede estar integrada fundamentalmente por discos duros (soporte magntico) o memoria flash (estado slido) [12]. Su

28

Carlos Prades del Valle

Desarrollo de un PC empotrado con procesado de seal

utilidad reside en el almacenamiento del sistema operativo, aplicaciones, datos, etc.

2.2.3.2. Sistema operativo.La eleccin del sistema operativo normalmente es una decisin de peso en el entorno de los PCs empotrados. Para aplicaciones de tiempo real se utilizan sistemas operativos especficos para PCs empotrados como son Windows CE, QNX y VxWorks de WindRiver. Son modulares de forma que slo se escogen los componentes necesarios para las aplicaciones especficas del PC empotrado fabricado, ahorrando as espacio en la memoria.

2.2.4. Determinacin de las entradas-salidas.Bsicamente hay dos grandes opciones de diseo, normalmente entremezcladas: Proporcionar conectividad a dispositivos de entrada/salida externos a la placa base mediante ranuras de expansin del bus PCI o ISA. Crear un interfaz de entradas/salidas propio, esto es, incluido en la placa base.

Ciertamente la primera opcin acelera el tiempo de diseo, pero algunas veces los requisitos de tamao o otras variables pueden forzar a tomar la segunda opcin. De cualquier forma la conexin se realiza bsicamente mediante los buses ISA o PCI. La eleccin de uno u otro depende de las exigencias de velocidad o ancho de banda. El bus PCI es ms rpido que el bus ISA y puede conseguir mayores velocidades (normalmente ms de cuatro veces superior).

2.2.5. Eleccin de la BIOS.La BIOS de un PC es la responsable de la configuracin del microprocesador, dispositivos perifricos y software residente especializado en el momento del arranque del sistema. Una gran variedad de empresas proporciona cdigos BIOS para la mayora de las plataformas. La precaucin que hay que tomar es que ese cdigo BIOS soporte todo el hardware que hemos utilizado en nuestro diseo.

29

Carlos Prades del Valle

Desarrollo de un PC empotrado con procesado de seal

2.3. Diseo del hardware.El hardware se disea en dos fases: creacin de los esquemas y creacin del layout de la placa de circuito impreso (PCB).

2.3.1. Creacin de los esquemas.El diseo electrnico del sistema se realiza mediante unos diagramas llamados esquemas, los cuales representan los componentes mediante smbolos y sus interconexiones mediante lneas, de modo que sea fcil o digerible de visualizar. Estos diagramas se realizan con herramientas software CAD (Computer Aided Design, Diseo 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 informacin extra requerida para entender el funcionamiento del sistema. Entre otras cosas deben figurar nombres representativos en las lneas que representan buses o seales 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 realizacin se describe en el siguiente punto, deben tener su representacin en los esquemas mediante smbolos, normalmente rectangulares con sus pines alrededor. El diseador de los esquemas debe consultar la documentacin tcnica o especificaciones de los componentes utilizados de tal forma que se realice la conexin entre ellos de una manera correcta. Se deben cuidar aspectos como la temporizacin en las comunicaciones entre ellos y las cargas (esto es, que una salida proporcione suficiente corriente elctrica 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 adaptacin entre componentes, esto es, que no se produzcan reflexiones de ondas elctricas en las interconexiones entre componentes ya que harn imposible la transferencia de informacin 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 adaptacin de impedancias.

30

Carlos Prades del Valle

Desarrollo de un PC empotrado con procesado de seal

2.3.2. Creacin del layout de la PCB.El layout consiste en una representacin 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 lneas de cobre de una cierta anchura que permite la propagacin elctrica de las seales entre los componentes. La placa est formada por una lmina de fibra de vidrio o similar con varias capas de cobre (2 exteriores y posibles internas, a modo de sndwich). 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 tambin se realiza mediante una herramienta CAD, integrada con la de creacin de esquemas. As los esquemas dirigen la creacin del layout estableciendo cuales deben ser las uniones entre los componentes, ahora en forma de pistas que recorrern el camino necesario para unir dos puntos. Esto normalmente se hace no sin esquivar un cierto nmero de obstculos (otras pistas, componentes, etc.). Entre los aspectos a cuidar en la creacin de la PCB est la posibilidad de elegir encapsulados de diferentes formas o tipos para un mismo componente, as como la compatibilidad electromagntica de la placa (esto es, que las seales 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 ms que elegir el sitio donde ir cada componente (ubicacin o placement). Dependiendo de la densidad de pistas pueden ser necesarias ms o menos capas de pistas de la PCB.

2.4. Diseo 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 diseo del hardware. Una vez que el hardware y el software estn concluidos se podr efectuar la integracin del sistema. Mientras que llega ese momento, el software se desarrolla probndolo y depurndolo 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 nmeros mdulos ya implementados que se pueden comprar. Dnde 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 seal

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 ms tcnicos que los de usuario y por lo general en mayor nmero, ya que para cubrir un requisito de usuario pueden ser necesarios ms de un requisito de sistema. Tras ello se realiza el diseo arquitectnico, en el que se trazan los principales bloques software del sistema por funciones, as como sus relaciones. En el diseo detallado se establece la estructura interna de cada uno de esos bloques del diseo arquitectnico, llegando a fijar las cabeceras de las funciones del cdigo (nombre de la funcin y nombre y tipo de los parmetros) y los datos globales. El desarrollar el software con una metodologa 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 reutilizacin 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 diseo software previo a la codificacin de las funciones extremadamente ordenado y jerrquico, con las ventajas correspondientes. Estamos hablando de la metodologa 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 grfica los diseos arquitectnico y detallado, con numerosos posibles diagramas (de clases, de interaccin entre clases, de estados dentro de una misma clase, etc) que terminan en la generacin de las cabeceras de las clases y de sus datos y funciones miembro. Por ltimo quedara codificar el cuerpo de dichas funciones. Se suelen asignar ingenieros distintos para cada uno de los niveles software (diseo, codificacin, prueba). Hay que destacar tambin la importancia de documentar el software, al igual que el hardware. En el cdigo hay que aadir lneas de comentarios describiendo la funcionalidad o utilidad de las variables y funciones, e incluso explicaciones de trozos de cdigo. Tambin se debe generar un documento con la descripcin del software. ste queda prcticamente constituido con los diagramas que se van generando con la metodologa UML.

2.5. Prototipo.El prototipo es un equipo hardware que tiene partes idnticas 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 mdulos software y con ello 32

Carlos Prades del Valle

Desarrollo de un PC empotrado con procesado de seal

tambin el hardware, que tambin 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 evaluacin del microprocesador utilizado de modo que se ahorre bastante tiempo. Nos estamos refiriendo al emulador hardware que se mencion en el anterior apartado de diseo 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 integracin del sistema.

2.6. Integracin 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 idntico al que debe ofrecer el hardware propio. La integracin 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 integracin del sistema normalmente ocurre cerca del final del ciclo de vida del proyecto, cuando los errores alcanza el mximo coste para su reparacin. Dependiendo del tipo de sistema empotrado, el coste aadido para corregir un error aumenta de 2 a 10 veces por cada fase de vida. Otro problema de los errores encontrados en la integracin del sistema es que puede retrasar el plazo de entrega del proyecto. Existen numerosas formas de reducir el tiempo de integracin. Una de las mejores consiste en crear un prototipo hardware dentro de la fase de diseo hardware y permitir pruebas de partes del software que se va desarrollando. Adems el desarrollo del software se acelera dado que no hay que perder tiempo implementando software que simule el an inexistente hardware.

2.7. Prueba final del sistema.La prueba final consiste en la comprobacin 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 seal

que l designe. Tras esta fase slo queda la poltica de mantenimiento (principalmente software) que se establezca entre ambas partes.

34

Carlos Prades del Valle

Desarrollo de un PC empotrado con procesado de seal

3. MICROCONTROLADORES PARA PC EMPOTRADO.3.1. STPC Consumer-S de ST Microelectronics [20].

3.1.1. Introduccin.STPC Consumer-S integra un ncleo x86 con pipeline de cinco etapas, un controlador de memoria DRAM, un subsistema grfico, un pipeline de vdeo y lgica de apoyo que incluye controladores PCI, ISA e IDE para proporcionar un subsistema PCcompatible en un solo chip. La potencia de proceso de su ncleo 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 bferes de grficos y vdeo. El STPC Consumer-S est encapsulado en un 388PBGA y su alimentacin es a 3.3V.

3.1.2. Caractersticas fundamentales. Ncleo de procesador x86: Pipeline de cinco etapas, 32 bits, completamente esttico, velocidad de 66 o 75 MHz, tecnologa CMOS de 0.35 m, ncleo 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 seal

8 KB de cach unificada para cdigo y datos con modos write back y write through.

Unidad de punto flotante integrada, de procesado paralelo, con apagado automtico.

Velocidad de reloj del ncleo de 66, 75, 90 o 100 MHz en modo DX. Diseo completamente esttico para el control dinmico del reloj. Modos de gestin de sistema y de bajo consumo. Diseo optimizado para funcionamiento a 3.3V.

Controlador de SDRAM: Memoria de sistema y grfica 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 bferes de escritura de 4 palabras para ciclos de CPU a SDRAM y de PCI a SDRAM. 4 bferes de lectura de 4 palabras para PCI masters. Agujeros de memoria de 1 MB a 8 MB para buses PCI e ISA.

Controlador grfico: Acelerador de 64 bits. Compatibilidad hacia atrs para estndares SVGA. Aceleracin hardware para texto, bit blts, blts transparentes y rellenos. Cursor hardware para grficos de hasta 64 x 64 bits. Frame Buffer lineal de hasta 4 MB. Pxeles 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 seal

Pxeles de 8, 16 y 24 bits. Salida entrelazada o no entrelazada.

Pipeline de Vdeo: Filtro de interpolado horizontal de doble pasada. Filtro de interpolado vertical de doble pasada. Conversin del espacio de colores (RGB a YUV y YUV a RGB). Tamao de ventana programable. Codificacin de color y de cromaqu que permite la superposicin de vdeo.

Puerto de entrada de vdeo: Decodificacin de entrada de vdeo en formatos compatibles con ITU-R 601. Diezmador opcional 2:1. Almacenamiento de vdeo capturado fuera del rea de ajuste del frame buffer de la placa madre. Redireccionamiento hacia la salida de televisin (codificador PAL/NTSC incorporado en el chip). Generacin de fuentes de sincronismo HSYNC y B/T o enganche a una fuente exterior de temporizacin de vdeo.

Salida de televisin: Filtro antiparpadeo programable de dos pasadas con correccin gamma o filtro de tres pasadas sin correccin gamma. Convertidor de pasadas progresivas a entrelazadas. Salidas de video programables NTSC-M, PAL-M, PAL-B, D, G, H, I PAL-N. Codificacin programable. Capacidad de insercin o salto de lnea. Modo de operacin entrelazado o no entrelazado. Entrada digital CB-Y-CR multiplexada de 8 bits en modo 625 lneas/50Hz o 525 lneas/60Hz. CCIR601 con frecuencia de subportadora de color

37

Carlos Prades del Valle

Desarrollo de un PC empotrado con procesado de seal

Salidas analgicas simultneas CVBS y RGB a travs de DACs de 10 bits. Reduccin del solapamiento de colores mediante un filtrado especfico en la componente de luminosidad dentro del flujo CVBS.

Modo de ahorro de energa 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. Traduccin de ciclos PCI al bus ISA. Traduccin del ciclo master ISA iniciado a PCI. Permite lectura y escritura en modo rfaga 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 programacin de ciclos de espera para ciclos ISA. Permite tiempo de recuperacin de entrada/salida para ciclos de entrada/salida retorno-retorno. Puerto A20 rpido y reset rpido. 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 bferes para reducir la utilizacin 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 temporizacin. Permite hasta 4 dispositivos IDE. Temporizacin 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 seal

Funcionamiento de canal concurrente (modos PIO): bfer 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 cesin y toma. Permite transferencias DMA multipalabra para dispositivos IDE rpidos. Permite los modos IDE legacy y native. Permite discos duros de ms de 528 MB. Permite perifricos CD-ROM y lector de cintas. Compatibilidad hacia atrs 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. Temporizacin programable. Dos chip selects para memoria flash. Cinco chip selects para I/Os. Permite rfagas de memoria flash de 32 bits. Proteccin 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 direccin 0x000F0000.

Controlador de perifricos 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 seal

3 temporizadores/contadores compatibles con 8254. Lgica de apoyo para los errores del co-procesador. Permite un reloj de tiempo real (RTC) externo.

Gestin de alimentacin: Cuatro modos de alimentacin: On (encendido), Doze (dormido), Standby (en espera) y Suspend (suspendido). Detector de actividad del sistema programable. Permite SMM (System Management Mode, Modo de Gestin del sistema). Permite STOPCLK (parada de reloj). Permite desvo de entrada/salida y reinicio. Temporizador independiente para time-out de perifricos (monitorizacin del disco duro y de los puertos serie y paralelo). Permite reloj de tiempo real (RTC), interrupciones y activacin de DMAs.

3.1.3. Descripcin.En el corazn del STPC Consumer-S est un bloque procesador avanzado, conocido como ST X86. El ST X86 incluye un potente ncleo procesador x86 junto con un controlador de SDRAM de 64 bits, un controlador de vdeo y acelerador grfico avanzado de 64 bits, un controlador de bus local PCI de alta velocidad, un chipset con funciones compatibles con los estndares de PCs (controlador de interrupciones, controlador de DMA, temporizador, controlador de bus ISA) y un controlador IDE. El bloque procesador de ltima versin es el 5ST86. Adems del bloque 5ST86, el STPC Consumer-S tiene un subsistema de vdeo y salida de televisin de alta calidad. El ncleo procesador est embebido en el mismo chip de silicio con mdulos perifricos de aplicaciones estndar o especficas. Dicho ncleo dispone del Modo de Gestin 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 emulacin transparente al software de perifricos. Mientras que se produce una ejecucin 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 seal

rutina de atencin de interrupcin SMM sin interferir al sistema operativo o a las aplicaciones. Las utilidades de gestin de alimentacin avanzadas incluyen un modo suspendido que se puede iniciar mediante software o hardware. Dada la naturaleza esttica del ncleo, no se produce prdida 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 bfer de grficos. Esto reduce de una manera significativa la cantidad de memoria total del sistema, con un rendimiento del mismo equivalente a una solucin con memoria de sistema y memoria grfica separadas. El tamao de la memoria grfica est limitado a 4 MB en cualquier lugar dentro de todo el conjunto de memoria del sistema. Adems, el ancho de banda de la transferencia de memoria grfica se mejora al conectar el motor grfico 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 grficas 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. Tambin permite la generacin de ciclos de configuracin en el bus PCI. El STPC Consumer-S, como un agente de bus PCI (clase host bridge), cumple completamente con la especificacin PCI v2.1. El chip-set tambin implementa los registros de cabecera PCI obligatorios en la configuracin 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 travs del bus ISA el chip-set puede acceder a mdulos perifricos 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 disear 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 seal

El controlador SVGA incorporado controla las funciones grficas y el motor grfico 2D gestiona la pantalla del monitor. El motor grfico tiene un funcionamiento sintonizado a la CPU para proporcionar un sistema grfico balanceado con un bajo coste en rea de silicio. Realiza operaciones de dibujo de grficos entre las que se incluyen aceleracin hardware de texto, bitblts, blts transparentes y rellenos. Estas operaciones se pueden realizar en reas de pantalla o de fuera de pantalla. La resolucin grfica tiene un mximo de 1280x1024 con 65536 colores a una frecuencia de refresco de 75 Hz y es compatible con VGA y SVGA. Los campos de temporizacin horizontal son compatibles con VGA mientras que los campos verticales se aumentan un bit para acomodar la resolucin mencionada anteriormente. El STPC Consumer-S proporciona funciones adicionales para manejar flujos de vdeo MPEG o similares. El puerto de entrada de vdeo acepta un flujo de vdeo digital codificado en alguno de los formatos estndar, lo decodifica, opcionalmente lo diezma en un factor 2:1, y lo deposita en un rea de memoria grfica de fuera de pantalla. Se puede generar una peticin de interrupcin cuando se haya capturado un campo o imagen completa. El pipeline de salida de vdeo incorpora un convertidor de espacio de colores y escalado de vdeo y la entrega al controlador del CRT para mostrar una ventana de vdeo. Mientras que se repinta la pantalla el controlador del CRT captura tanto el flujo de vdeo normal como el que no es de vdeo (memoria grfica) en dos FIFOs internas separados (256 bytes cada uno). Al flujo de vdeo 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. Tambin se implementan funciones clave de color y cromaqu para permitir la mezcla del flujo de vdeo con la memoria grfica que no es de vdeo. La salida de vdeo pasa directamente al RAMDAC para salida a monitor o a travs 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 lneas con correccin gamma (diseado principalmente para texto de tipo DOS) o como un filtro de tres lneas (diseado para pantallas del tipo Windows). Opcionalmente se puede desactivar por software el filtro antiparpadeo para utilizar pantallas de vdeo de grandes dimensiones. El pipeline de salida de vdeo del STPC Consumer-S tiene un interfaz al STV0119 integrado, un codificador de televisin digital que permite llevar la salida VGA o flujos de vdeo de pantalla completa (provenientes del puerto de entrada de vdeo) a televisores

42

Carlos Prades del Valle

Desarrollo de un PC empotrado con procesado de seal

NTSC (Estados Unidos de Amrica) o PAL (Europa excepto Francia, que tiene el sistema de televisin SECAM). El STV0119 recoge un flujo de pxeles RGB de 24 bits no entrelazado y lo convierte a una salida de vdeo YCrCb de 8 bits 4:2:2 multiplexada. La lgica incluye un convertidor de pasadas progresivas a entrelazadas y todo lo necesario para insertar apropiadamente cdigos de referencia de temporizacin CCIR656 al flujo de salida. El ncleo del STPC Consumer-S cumple con la especificacin APM (Advanced Power Management, gestin de alimentacin avanzada) para proporcionar un mtodo estndar mediante el cual la BIOS puede controlar la alimentacin usada por ordenadores personales. La unidad de gestin de alimentacin (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 Proteccin Ambiental de los Estados Unidos de Amrica. La PMU proporciona las siguientes estructuras hardware para asistir al software en la gestin del consumo de potencia del sistema: Detector de actividad del ncleo del sistema. 3 temporizadores para detectar la inactividad del ncleo 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 rfagas de la actividad interior mientras que se est en modo dormido o en espera.

Detector de actividad de perifricos. Temporizador de actividad de perifricos. Modulacin SUSP# para ajustar el sistema a varios estados de bajo consumo y al de alimentacin completa.

Salidas de control de alimentacin para deshabilitar la alimentacin 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 ncleo 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 seal

del sistema cuando se est en un estado de bajo consumo puede generar una interrupcin para permitir al software levantar al sistema al estado de alimentacin completa. El chip-set proporciona hasta tres estados de alimentacin adems del de alimentacin completa: dormido, en espera y suspendido. Estos estados se corresponden con niveles decrecientes de consumo de potencia. El vencimiento del temporizador ms largo pone al STPC Consumer-S en el modo suspendido. El procesador completa la ejecucin de la instruccin actual y ejecuta cualquier ejecucin decodificada pendiente y los ciclos de bus asociados. Durante el modo suspendido los relojes internos estn parados. Al finalizar el estado suspendido el procesador reanuda la captura de instrucciones y continua la ejecucin en el punto donde lo haba dejado. Para conectar al sistema el teclado, ratn, 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 diseado utilizando modernas tcnicas de diseo modular reutilizable, y el fabricante permite aadir o quitar funcionalidades estndar para grandes partidas de chips. La principal ventaja que presenta el STPC Consumer-S es que soporta memoria RAM del tipo SDRAM (memoria dinmica sncrona), y sta ya es ms rpida y barata que la predecesora DRAM (memoria dinmica asncrona). A finales del ao 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 descripcin funcional del STPC Consumer-S y la Figura 3.2 un diagrama de bloques de una aplicacin tpica.

44

Carlos Prades del Valle

Desarrollo de un PC empotrado con procesado de seal

Figura 3.1

45

Carlos Prades del Valle

Desarrollo de un PC empotrado con procesado de seal

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 ncleo 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 seal

3.3. STPC Client de ST Microelectronics [20].Sus caractersticas son las mismas que el STPC Consumer excepto: Velocidades del ncleo de 66 o 75 MHz en modo DX. No tiene integrado el codificador de vdeo STV0119 con salidas analgicas hacia televisores PAL o NTSC. En vez de ello tiene una salida de vdeo digital que se puede conectar a un chip STV0119 externo.

3.4. STPC Industrial de ST Microelectronics [20].Sus caractersticas son las mismas que el STPC Client a diferencia de: Puertos de entrada/salida incorporados: 2 puertos serie, 1 paralelo, teclado y ratn. Interfaces PCMCIA de 16 bits, Card Bus de 32 bits y ZoomVideo (como entrada de vdeo). Este conjunto se conoce como bus PC-Card. No tiene salida de vdeo ni digital ni analgica. Sus salidas de pantallas son la de monitor CRT, que est en todos los modelos STPC, y la de pantalla de cristal lquido LCD de tipo TFT, que no est en ningn otro modelo STPC. El controlador TFT puede funcionar en dos modos: 1 pxel por ciclo de reloj con interfaz de 9, 12 o 18 bits. 2 pxeles por ciclo de reloj con interfaz de 2x9 bits.

Sus velocidades del ncleo son de 66 o 80 MHz. Bus local. El sistema puede arrancar directamente desde el interfaz de bus local con memorias FLASH de 8MB estndar de bajo coste.

47

Carlos Prades del Valle

Desarrollo de un PC empotrado con procesado de seal

3.5. Coldfire MCF5307 de Motorola [21].

3.5.1. Introduccin.El microprocesador integrado MCF5307 combina un ncleo de procesador ColdFire con los siguientes componentes: Cach unificada de 8 KB. Unidad de multiplicacin y acumulado (MAC) y de divisin. Controlador DRAM. Controlador DMA. Temporizadores. Bus M (compatible con I2C). Interfaz serie y paralelo. Unidad de integracin del sistema.

El ncleo del ColdFire est diseado para aplicaciones de control embebidas. Tiene un rendimiento de 70 MIPS adems de un coste bajo. El elevado rendimiento lo proporcionan el ncleo 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 cdigo y datos crticos. El mdulo MAC integrado mejora la funcionalidad del sistema posibilitando operaciones aritmticas complejas a alta velocidad (una multiplicacin 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 disear e implementar un sistema mediante la integracin 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 tecnologa RISC de longitud variable. ColdFire combina la simplicidad arquitectnica 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 seal

puede conseguir un elevado rendimiento (RISC) sin que el tamao del cdigo 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 ms lentas y por lo tanto ms baratas. El controlador DRAM puede manejar hasta 256 MB de memoria DRAM, y permite utilizar el modo rfaga, Page-Mode DRAM, EDO DRAM y SDRAM. Dos UARTs full-duplex programables y un mdulo de bus M (compatible con I2C) proporcionan canales de comunicacin serie. Cuatro canales DMA permiten rpidas transferencias de datos en modo rfaga de un modo independiente a la ejecucin del procesador. Los dos temporizadores de 16 bits de propsito general proporcionan seales de entrada y salida separadas. Para proteger el sistema, el procesador incluye un temporizador de vigilancia de 16 bits programable por software. El chip tambin incluye funciones como chip-selects (seleccin de chips), controlador de interrupciones, arbitraje de bus y un mdulo 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 ejecucin) accesibles desde un emulador o desde el propio procesador.

3.5.2. Caractersticas fundamentales. Ncleo procesador ColdFire. Ncleo de versin 3 con reloj a doble velocidad y RISC de longitud variable. Pipelines independientes de 4 etapas para instrucciones y de 2 etapas para operandos. Bfer FIFO de 8 instrucciones para proporcionar desacoplo entre los pipelines. Unidad de prediccin de saltos de cdigo 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 seal

Registros de propsito general de 32 bits (accesibles tambin a 16 bits por el usuario).

Modos diferenciados de supervisor y de usuario para la proteccin del sistema.

Registro del vector base para reubicar la tabla de vectores de excepcin. Optimizado para las construcciones de lenguaje de alto nivel. Unidad hardware de divisin de enteros.

Unidad de multiplicacin y acumulado (MAC). Proporciona procesado aritmtico complejo y de alta velocidad para aplicaciones de DSPs. Tasa de clculo 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. Organizacin asociativa de cuatro conjuntos (4-way) con modos

writethrough (escritura a travs) y copyback (escritura pospuesta). Funciona a la velocidad del ncleo. Proporciona acceso en un solo ciclo de reloj a cdigo y datos crticos.

SRAM de 4KB. Ubicacin programable dentro del espacio lineal de direcciones de 4 GB. Proporciona un acceso a travs de pipeline de un solo ciclo de reloj a cdigo y datos crticos. La informacin almacenada en la SRAM no se ve afectada por la instruccin RESET.

Controlador de DMA. Cuatro canales completamente programables. Permite transferencias de direccin 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 seal

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 rfaga 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 utilizacin de masters externos.

2 UARTS. Operacin full-duplex. Generador de la tasa de baudios flexible. Disponibilidad de seales de control de mdem (CTS#, RTS#). Aviso de interrupcin al procesador.

2 Temporizadores multimodo de propsito general de 16 bits. Prescaler de 8 bits. Pins de entrada y salida al temporizador. Aviso de interrupcin al procesador. Resolucin de 22 ns a 45 MHz.

Mdulo de Bus Motorola (M-Bus). Interfaz para EEPROMs, controladores de LCDs, convertidores A/D, y botoneras. Compatibilidad completa con el estndar de bus industrial I2C. Los modos maestro o esclavo permiten mltiples masters. Generacin de interrupciones automtica con nivel programable.

51

Carlos Prades del Valle

Desarrollo de un PC empotrado con procesado de seal

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 seales de chip select. 2 son completamente programables con registro de direccin base, 6 a un offset fijo. Tamaos 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 interrupcin externas. Generacin de autovector programable. Interfaz de I/O de 16 bits de propsito general. Mdulo de test JTAG IEEE 1149.1.

Sistema de depurado. Trazas en tiempo real para determinar el camino de ejecucin

dinmicamente. 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 ncleo multiplicando la entrada por 2 y tambin el reloj del bus dentro de los valores , 1/3 o de la velocidad de dicho ncleo segn la configuracin del usuario en el momento del reset. Permite modo de bajo consumo.

Otras caractersticas. 75 MIPS a 45 MHz (reloj de 90 MHz doblado internamente).

52

Carlos Prades del Valle

Desarrollo de un PC empotrado con procesado de seal

Chip tipo 1: velocidad mxima del ncleo 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 mxima del ncleo 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).

Ncleo completamente esttico 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 seal

3.6. MachZ PCe de ZF [22].

3.6.1. Introduccin.MachZ PCe incorpora la funcionalidad de una placa madre de un PC con los perifricos ms comunes adems 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 expansin PCI con un controlador IDE Ultra DMA. Un bus ISA permite conectar todos los dispositivos ISA conocidos para los desafos potenciales nicos de las aplicaciones embebidas. No tiene seales multiplexadas con otras funciones ni prdida de interrupciones. Las caractersticas propietarias de ZF tales como Fail-Safe Boot ROM, interfaz Z-Tag, temporizador dual Watchdog, lgica ZF, decodificacin del bus ISA integrada, etc. permiten la integracin del sistema con pocos obstculos. Mediante la combinacin del hardware y software necesarios para implementar un PC compatible en un solo chip se reducen significativamente la exposicin a los riesgos del desarrollo y