PROYECTO FIN DE CARRERA - Página personal de …cprades.eresmas.com/cpradespfc.pdfMobile Pentium...

147
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:

Transcript of PROYECTO FIN DE CARRERA - Página personal de …cprades.eresmas.com/cpradespfc.pdfMobile Pentium...

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 empotrados, microcontrolador,

microprocesador, diseño 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 SEÑAL

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

6

Í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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

7

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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

8

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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

9

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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

10

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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

11

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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

12

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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

13

MMEEMMOORRIIAA

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

14

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.

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).

que

A

SUBSISTEMA

CPU

El subsistema de entrada acept

el subsistema de salida transfiere

BUS DE SISTEM

Figur

a dato

los r

SUBSISTEMA

MEMORIA

SUBSISTEMA

SALIDA

SUBSISTEMA

ENTRADA

a 1.1

s del exterior para ser

esultados hacia el exte

Datos obtenidos

del exterior

Resultados hacia

el exterior

15

procesados mientras

rior. Lo más habitual

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

16

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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

17

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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

18

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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

19

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,

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

20

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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

21

• 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:

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

22

• 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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

23

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.

Figura 2.1

Diseño

previo del

sistema

Diseño del

hardware Prototipo Diseño del

software

Integración

del sistema

Prueba final

del sistema

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

24

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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

25

◦ 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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

26

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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

27

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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

28

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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

29

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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

30

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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

31

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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

32

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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

33

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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

34

que él designe. Tras esta fase sólo queda la política de mantenimiento (principalmente

software) que se establezca entre ambas partes.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

35

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 PC-

compatible 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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

36

◦ 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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

37

◦ 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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

38

◦ 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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

39

◦ 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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

40

◦ 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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

41

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).

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

42

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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

43

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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

44

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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

45

Figura 3.1

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

46

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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

47

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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

48

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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

49

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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

50

◦ 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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

51

◦ 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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

52

• 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).

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

53

◦ 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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

54

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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

55

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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

56

◦ 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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

57

◦ 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.).

◦ Interrupciones enmascarables o no enmascarables.

• Características eléctricas.

◦ Dispositivo de alimentación dual (5 y 3.3 V).

◦ I/O de 3.3V tolerantes a 5V.

◦ Tensión del núcleo de 2.5V.

• Consumo de potencia estimado.

◦ 0.8 W a 33 MHz, 1.6 W a 66 MHz, 2.2 W a 100 MHz, 2.8 W a 133 MHz.

• Características ambientales y mecánicas.

◦ De –40 a +85 ºC para 33, 66 o 100 MHz.

◦ De 0 a +70 ºC para 133 MHz.

◦ Encapsulado PBGA de 388 pines (35 x 35 mm).

• FailSafe Boot ROM:

◦ Código incluido en la ROM interna del chip.

◦ Permite la ejecución de instrucciones tales como limpieza de SDRAM,

borrado de memoria flash, carga y ejecución de programas, etc.

◦ Posee mecanismos de protección para la recarga automática del software

en caso de fallo.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

58

• 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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

59

• Compatibilidad con sistemas operativos.

◦ Linux.

◦ DOS.

◦ WinCE, Windows 9x, Windows NT.

◦ La mayoría de los sistemas operativos de tiempo real.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

60

3.6.3. Diagrama de bloques.

Figura 3.4

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

61

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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

62

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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

63

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).

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

64

◦ Unidad de gestión de memoria (MMU), la cual soporta los mecanismos de

paginación estándar y optimiza la adquisición de código.

▫ Carga y guarda reordenando dando prioridad a la lectura de la

memoria.

▫ Bypass de los datos leídos eliminando las lecturas redundantes.

◦ Modo de gestión del sistema (SMM) re-entrante de acuerdo con la

tecnología VGA.

• Gestión de potencia flexible.

◦ Soporta gran variedad de estándares:

▫ APM (gestión de potencia avanzada) para gestión hardware.

▫ ACPI (configuración avanzada e interfaz de potencia) para el gestor

de potencia de Windows.

◦ Soporta una amplia variedad de modos de control hardware y software.

▫ Active Idle (core parado, display activo).

▫ Standby (core y funciones integradas paradas).

▫ Sleep (como anterior con los relojes externos parados).

▫ Suspend Modulation (parada automática del core de la CPU por

Geode I/O o chip auxiliar de gráficos).

◦ Varios eventos dedicados y programables para despertar al chip.

• Controlador de PCI.

◦ Soporte a varios esquemas de arbitraje.

◦ Soporta directamente tres maestros del bus, ampliable con lógica externa.

◦ Síncrono al core de la CPU.

◦ Permite el acceso a la memoria principal mientras la CPU accede a la

caché L1.

• Tecnología de arquitectura de sistemas virtuales.

◦ Esta innovadora arquitectura permite virtualización (software) de

funciones hardware con independencia del S.O.

◦ Proporciona el subsistema XpressGRAPHICS.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

65

◦ 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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

66

▫ 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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

67

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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

68

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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

69

• 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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

70

• 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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

71

• 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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

72

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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

73

• 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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

74

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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

75

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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

76

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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

77

• 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).

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

78

• 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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

79

◦ 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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

80

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 microprocesadores reales como híbridos hardware-software,

Transmeta ha expandido enormemente el espacio de los diseñadores de

microprocesadores de modo que pueden explorar soluciones óptimas para las

aplicaciones perseguidas. Los equipos de desarrollo de microprocesadores pueden meter

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

81

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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

82

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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

83

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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

84

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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

85

• 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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

86

3.17.3. Diagrama de bloques.

Figura 3.10

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

87

3.18. Tabla comparativa.

Tabla 3.1

V e lo c id a d e s ( M H z )

C o n s u m o t íp . ( W )

T e c n o lo g ía ( µ m )

T e n s ió n n ú c le o

( V ) E n c a p s u la d o C a c h é

( K B )

S T P C C l ie n t 6 6 - 7 5 - 0 .3 5 3 .3 3 8 8 P B G A 8 S T P C C o n s u m e r 6 6 - 8 0 - 1 0 0 - 0 .3 5 3 .3 3 8 8 P B G A 8

S T P C C o n s u m e r - S 6 6 - 7 5 - 9 0 - 1 0 0 - 0 .3 5 3 .3 3 8 8 P B G A 8 S T P C I n d u s t r i a l 6 6 - 8 0 - 0 .3 5 3 .3 3 8 8 P B G A 8

C o ld f i r e M C F 5 3 0 7 6 6 - 9 0 0 .9 5 0 .3 5 3 .3 2 0 8 T Q F P 8 M a c h Z P C e 3 3 - 6 6 - 1 0 0 - 1 3 3 0 .8 - 2 .8 0 .2 5 2 .5 3 8 8 P B G A 8

G e o d e G X L V 1 6 6 - 2 6 6 1 .5 - 2 .5 0 .3 5 2 .2 - 2 .5 -2 .9

3 2 0 S P G A 3 5 2 B G A 1 6

G e o d e G X 1 2 0 0 - 2 3 3 - 2 6 6 -3 0 0 0 .8 - 1 .2 0 .1 8 1 .6 - 1 .8 -

2 .0 3 2 0 S P G A 3 5 2 B G A 1 6

G e o d e S C 1 4 0 0 2 6 6 - - - 6 8 0 E B G A - S P A R C l i t e M B 8 6 8 3 1 6 6 - 8 0 0 .6 - 0 .9 5 0 .3 5 3 .3 1 7 6 S Q F P 6 S P A R C l i t e M B 8 6 8 3 2 6 6 - 8 0 - 1 0 0 0 .8 - 1 .2 0 .3 5 3 .3 1 7 6 S Q F P 1 6 S P A R C l i t e M B 8 6 8 3 3 6 6 0 .5 - 0 .8 0 .3 5 3 .3 1 4 4 L Q F P 2 S P A R C l i t e M B 8 6 8 6 0 2 0 0 - - 2 .5 3 5 2 B G A 3 2

C r u s o e T M 3 1 2 0 3 3 3 - 4 0 0 1 - 2 .2 0 .2 2 1 .5 4 7 4 B G A 9 6 C r u s o e T M 5 4 0 0 5 0 0 - 7 0 0 1 - 2 0 .1 8 1 .2 - 1 .6 4 7 4 B G A 1 2 8 + 2 5 6

M o b i le P e n t iu m I I I 1 0 0 - 7 0 0 - 0 .1 8 1 .3 5 -1 .6

B G A 2 m ic r o - P G A 2 3 2 + 2 5 6

N o ta : C a c h é x + y s ig n i f i c a x K B c h a c h é L 1 e y K B c a c h é L 2 ( in t e g r a d a e n e l c h ip ) .

D r iv e r m e m o r ia

V e lo c id a d ( M H z )

C a p a c id a d m á x ( M B )

B u s d e

d a to s ( b i t s )

C o n t r o -l a d o r

g r á f i c o

E n t r a d a / s a l id a d e

T V

S u p e r I O U S B

S T P C C l ie n t D R A M - 1 2 8 6 4 S í D ig i t a l e s N o N o

S T P C C o n s u m e r D R A M - 1 2 8 6 4 S í D ig i t a l / A n a ló g ic a N o N o

S T P C C o n s u m e r - S S D R A M - 1 2 8 6 4 S í D ig i t a l / A n a ló g ic a N o N o

S T P C I n d u s t r i a l D R A M 6 6 1 2 8 6 4 S í N o S í N o

C o ld f i r e M C F 5 3 0 7 D R A M S D R A M - 5 1 2 3 2 N o N o N o N o

M a c h Z P c e S D R A M 6 6 2 5 6 3 2 N o N o S í S í G e o d e G X L V S D R A M 6 6 2 5 6 6 4 N o N o N o N o

G e o d e G X 1 S D R A M 6 6 5 1 2 6 4 S í N o N o N o G e o d e S C 1 4 0 0 S D R A M - - 6 4 S í S í S í S í

S P A R C l i t e M B 8 6 8 3 1 D R A M - 6 4 3 2 N o N o N o N o

S P A R C l i t e M B 8 6 8 3 2 D R A M - 6 4 3 2 N o N o N o N o

S P A R C l i t e M B 8 6 8 3 3 D R A M - 6 4 3 2 N o N o N o N o

S P A R C l i t e M B 8 6 8 6 0 S D R A M 1 0 0 1 2 8 6 4 N o N o N o N o

C r u s o e T M 3 2 0 0 S D R A M 1 3 3 5 1 2 6 4 N o N o N o N o

C r u s o e T M 5 4 0 0 D D R -S D R

S D R A M 1 6 6 5 1 2 + 5 1 2 6 4 N o N o N o N o

M o b i l e P e n t iu m I I I S D R A M - - 6 4 N o N o N o N o N o ta : S u p e r I O in c lu y e p u e r to s d e t e c la d o , r a tó n , s e r i e , p a r a le lo y d i s q u e te r a ( e s t á a u s e n te e n S T P C I n d u s t r i a l ) .

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

88

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 set-

top-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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

89

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).

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

90

• 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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

91

▫ 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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

92

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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

93

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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

94

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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

95

• 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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

96

◦ 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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

97

◦ 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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

98

◦ 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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

99

◦ 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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

100

◦ 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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

101

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, transmisor-

receptor 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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

102

norma ACPI, interfaz IDE, etc. Todo ello 100% compatible con las normas PC AT

soportando ISA PnP y las recomendaciones internacionales más importantes.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

103

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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

104

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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

105

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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

106

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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

107

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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

108

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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

109

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:

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

110

• 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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

111

◦ 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].

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

112

• 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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

113

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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

114

◦ 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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

115

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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

116

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 Modo no permitido Off Off On PCICLK × 10 Off On Off PCICLK × 9 Off On On PCICLK × 5 On Off Off PCICLK × 4 On Off On PCICLK × 6 On On Off PCICLK × 7 On On On 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].

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

117

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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

118

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:

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

119

• 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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

120

◦ 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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

121

◦ 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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

122

◦ 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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

123

◦ 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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

124

◦ 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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

125

◦ GPCS#: Selección de chip para los registros de propósito general.

◦ GPIO[0:7]: Registros de propósito general.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

126

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.

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

127

[12] 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/

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

128

PPLLAANNOOSS

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

129

PLANOS DEL PC EMPOTRADO DE POTENCIA DE CÁLCULO MEDIA.

STPC

PCI

RMRTCCS

MA[0:11]SD[0:15]

MEM_CTRLSA[0:19]

MD[0:63]

IDE

DACK[0:7]

ISA

CTRL_BUS

I2C

VIDEO

IRQ[0:15]

DRQ[0:3]

SuperIO

KB_Mouse

IDE

PCI

ISA

SD[0:15]

IRQ[0:15]

DRQ[0:3]RS232

CTRL_BUS

SA[0:19]

DACK[0:7]

MEMORIA

I2C

MD[0:63]

ISA

SD[0:15]

MA[0:11]

MEM_CTRL

SA[0:19]

RMRTCCS

RS232

KB_Mouse

VIDEO

I2C

Conectores

IDE

ISA

REV

SIZE

SCALE FSCM NO.

DWG. NO.

SHEET

CONTRACT NO.

APPROVALS

DATE

DRAWN

CHECKED

ISSUED

REVISIONS

APPROVED

DATE

DESCRIPTION

REV

SH.

REV

DWG. NO.

B

H=2LA; V=2LA

MD[0:63] Config

03/08/00

03/08/00

03/08/00

03/08/00

03/08/00

Jose Luis Madrid Cobos

Carlos Prades del Valle

1.0

1

Esquema principal del sistema

1.0

PC EMPOTRADO

MD[0:63]

MA[0:11]

IRQ[0:15]

SA[0:19]

SD[0:15]

DACK[0:7]

DRQ[0:3]

ISSUED

CHECKED

DRAWN

APPROVALS

DATE

CONTRACT NO.

SCALE FSCM NO.

DWG. NO.

SHEET

SIZE

REV

12

34

56

78

A B C D E F G H

87

65

43

21

HGFEDCA

APPROVED

DATE

DESCRIPTION

REV

REVISIONS

DWG. NO.SH.REV

E

H=8ND; V=8LA

DQM#

[7]

DQM#

[6]

DQM#

[5]

DQM#

[4]

DQM#

[3]

DQM#

[2]

DQM#

[1]

DQM#

[0]

RTCAS#

MCLKO

MCLKI

CS#

[3]

CS#

[2]

CS#

[1]

CS#

[0]

STPCCONSUMERS

VCLK

ZWS#

VDD_MCLKO_PLL

VDD_MCLKI_PLL

VDD_CPUCLK_PLL

SCAN_ENABLE

SPKRD

VDDA_TV

VSSA_TV

VREF2_TV

IREF2_TV

VREF1_TV

IREF1_TV

CVBS

BLUE_TV

GREEN_TV

RED_TV

ODD_EVEN

VCS

VIN[7]

VIN[6]

VIN[5]

VIN[4]

VIN[3]

VIN[2]

VIN[1]

VIN[0]

SDIOW#

SDIOR#

PDIOW#

PDIOR#

BHE#

MD[63]

MD[62]

MD[61]

MD[60]

MD[59]

MD[58]

MD[57]

MD[56]

MD[55]

MD[54]

MD[53]

MD[52]

MD[51]

MD[50]

MD[49]

MD[48]

MD[47]

MD[46]

MD[45]

MD[44]

MD[43]

MD[42]

MD[41]

MD[40]

MD[39]

MD[38]

MD[37]

MD[36]

MD[35]

MD[34]

MD[33]

MD[32]

MD[31]

MD[30]

MD[29]

MD[28]

MD[27]

MD[26]

MD[25]

MD[24]

MD[23]

MD[22]

MD[21]

MD[20]

MD[19]

MD[18]

MD[17]

MD[16]

MD[15]

MD[14]

MD[13]

MD[12]

MD[11]

MD[10]

MD[9]

MD[8]

MD[7]

MD[6]

MD[5]

MD[4]

MD[3]

MD[2]

MD[1]

MD[0]

MWE#

CAS#

[1]

CAS#

[0]

RAS#

[1]

RAS#

[0]

MA[11]

MA[10]

MA[9]

MA[8]

MA[7]

MA[6]

MA[5]

MA[4]

MA[3]

MA[2]

MA[1]

MA[0]

PCI_CLKI

PCI_CLKO

PCI_GNT#[2]

PCI_GNT#[1]

PCI_GNT#[0]

PCI_REQ#[2]

PCI_REQ#[1]

PCI_REQ#[0]

PCI_INT[3]

PCI_INT[2]

PCI_INT[1]

PCI_INT[0]

CBE[0]

LOCK#

SERR#

PAR

DEVSEL#

STOP#

IRDY#

TRDY#

FRAME#

CBE[3]

CBE[2]

CBE[1]

AD[31]

AD[30]

AD[29]

AD[28]

AD[27]

AD[26]

AD[25]

AD[24]

AD[23]

AD[22]

AD[21]

AD[20]

AD[19]

AD[18]

AD[17]

AD[16]

AD[15]

AD[14]

AD[13]

AD[12]

AD[11]

AD[10]

AD[9]

AD[8]

AD[7]

AD[6]

AD[5]

AD[4]

AD[3]

AD[2]

AD[1]

AD[0]

VSS_DLL_B

VSS_DLL_A

XTALO

XTALI

ISA_CLK2X

GPIOCS#

ISAOE#

RTCDS#/DD[12]

RTCRW#/DD[13]

KBCS#/DD[14]

RMRTCCS#/DD[15]

SD[15]

SD[14]

SD[13]

SD[12]

SD[11]

SD[10]

SD[9]

SD[8]

SD[7]

SD[6]

SD[5]

SD[4]

SD[3]

SD[2]

SD[1]

SD[0]

SA[7]

SA[6]

SA[5]

SA[4]

SA[3]

SA[2]

SA[1]

SA[0]

SA[13]/DD[5]

SA[8]/DD[0]

SA[9]/DD[1]

SA[10]/DD[2]

SA[11]/DD[3]

SA[12]/DD[4]

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#

IOCHRDY/DIORDY

IOCHCK#

MEMW#

MEMR#

SMEMR#

SMEMW#

IOR#

IOW#

ALE

MASTER#

MCS16#

IOCS16#

REF#

AEN

ISA_CLK

OSC14M

SYSRSTO#

VDD5_D

VDD5_C

VDD5_B

VDD5_A

PWGD/SYSRSTI#

TC

IRQ_MUX[3]

IRQ_MUX[2]

IRQ_MUX[1]

IRQ_MUX[0]

DREQ_MUX[1]

DREQ_MUX[0]

DACK_ENC[2]

DACK_ENC[1]

DACK_ENC[0]

RED

GREEN

BLUE

VSYNC

HSYNC

VREF_DAC

COMP

RSET

VSS_DAC2

VSS_DAC1

VDD_DAC2

VDD_DAC1

DEV_CLK

VDD_DEVCLK_PLL

HCLKVDD_HCLK_PLL

VDD_DCLK_PLL

DCLK

DDC[1]/SCL

DDC[0]/SDA

SDACK#

PDACK#

SDRQ

PDRQ

SIRQ

PIRQ

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]

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

MA[0]

MA[1]

MA[2]

MA[3]

MA[4]

MA[5]

MA[6]

MA[7]

MA[8]

MA[9]

MA[11]

MA[10]

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]

AD[0]

MA[0:11]

MEM_CTRL

MD[0:63]

22PF

22

GND

MCLKI

MCLKO

PCI

CBE[0]

CBE[1]

CBE[2]

CBE[3]

FRAME

TRDY

IRDY

STOP

DEVSEL

PAR

SERR

LOCK

PCI_INT[0]

PCI_INT[1]

PCI_INT[2]

PCI_INT[3]

PCI_REQ[0]

PCI_REQ[1]

PCI_REQ[2]

PCI_GNT[0]

PCI_GNT[1]

PCI_GNT[2]

0

33

GND

33

PCI_CLKO

0.1UF

VCC

GND

XXX138

SN74F138D

02

G0_7

DMUX

&

01234567

VCCGND

GND

DACK[0]

DACK[1]

DACK[2]

DACK[3]

DACK[4]

DACK[5]

DACK[6]

DACK[7]

DACK[0:7]

XXX153

MUX

EN

EN

3 _ 0G

1 03 2 1 0

XXX153

MUX

EN

EN

3 _ 0G

1 03 2 1 0

GNDGND

GNDGND

IRQ[0]

IRQ[1]

IRQ[2]

IRQ[3]

IRQ[4]

IRQ[5]

IRQ[6]

IRQ[7]

IRQ[9]

IRQ[10]

IRQ[11]

IRQ[12]

IRQ[13]

IRQ[14]

IRQ[15]

IRQ[0:15]

74AS04

IRQ[8]

XXX153

MUX

EN

EN

3 _ 0G

1 03 2 1 0

GND

GNDGND

DRQ[0]

DRQ[1]

DRQ[2]

DRQ[3]

DRQ[0:3]

8.2K

RES4818P002

RES_4818P_002

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]

VCC

5.6K

RES

5.6K

RES

5.6K

RES

5.6K

RES

GND

TC

ISA

OSC14M

SYSRSTO

74AC125

IOCHRDY

IOCHCK

BHE

MEMR

MEMW

SMEMR

SMEMW

IOR

IOW

ALE

MASTER

MCS16

IOCS16

REF

AEN

GPIOCS

ZWS

14.3MHz

15p

C3

GND

15p

C4

GND

1M

RTCAS

8.2K RES4818P002 VCC

SD[0:15]

VCC

SA[0]

SA[1]

SA[2]

SA[3]

SA[4]

SA[5]

SA[6]

SA[7]

SA[0:19]

SAtoDD

D[8:11]

A[16:19]

ALS245

SN74ALS245ADW

G3

3 EN1 [BA]

3 EN2 [AB]

1

2

DA[0]

DA[1]

DA[2]

PCS1

PCS3

SCS1

SCS3

IOCHRDY

IDE

DD[12]

DD[13]

DD[14]

DD[15]

RED

GREEN

BLUE

VSYNC

HSYNC

C5

0.1UF

CAP

C6

47UF

CAP

C7

0.1UF

CAP

VIND

R124

1K

RES

D1

LM385BZ

AGND

AGND

VCC

AGND

+5V

C8

0.01UF

CAP

RES

R125

536

Tol 1%

VCC

GND

GND

ConectorZumbador

JMP2x1 IN

2

IN1

Q1

2N3904

GND

1.2K

RES

22

RES

+5V

2.2K

R130

RES

+5V

GND

VCC

SCL

SDA

SDIOW

SDIOR

PDIOW

PDIOR

SDACK

PDACK

SDRQ

PDRQ

SIRQ

PIRQ

I2C

VIDEO

C9

0.1UF

VCC

GND

C10

0.1UF

VCC

GND

C11

0.1UF

VCC

GND

C12

0.1UF

VCC

GND

C13

0.1UF

VCC

GND

C14

0.1UF

VCC

GND

C15

0.1UF

C16

0.1UF

C17

0.1UF

C18

0.1UF

C19

0.1UF

C20

0.1UF

C21

0.1UF

C22

0.1UF

C23

0.1UF

C24

0.1UF

0.01UF

C25

C26

0.01UF

C27

0.01UF

C28

0.01UF

C29

0.01UF

C30

0.01UF

C31

0.01UF

C32

0.01UF

C33

0.01UF

C34

0.01UF

33UF

C35

33UF

C36

GND

VCC

RMRTCCS

CTRL_BUS

RES

10K

RES

10K

RES

10K

RES

10K

TC

DEV_CLK

GND

R136

10K

RES

VCC

C37

0.01UF

CAP

JUMPER

W1

Desacoplo logica adicional

Desacoplo STPC-ConsumerS

XXX153

XXX138

XXX153

XXX153

74AS04

Place near

Place near 74AC245

Video input port not used

Host clock test pin

PAL TV not used

Possible

expansion

of DRQs

ISA Master

mode not

allo

wed

Serial resistors to be placed near STPC

Place near 74AC125

Should be placed as close

to the STPC as possible

TV signals not used, must be left

unconnected

2

1.0

1.0

03/08/00

03/08/00

03/08/00

03/08/00

03/08/00

Jose Luis Madrid Cobos

Carlos Prades del Valle

Microprocesador

Microprocesador y logica adicional

RESET

MD[0:63]

MA[0:11]

MEM_CTRL

AD[0:31]

AD[0:31]

AD[1]

AD[2]

AD[3]

AD[4]

AD[5]

AD[6]

AD[7]

AD[8]

AD[9]

AD[10]

AD[11]

AD[12]

AD[13]

AD[14]

AD[15]

AD[16]

AD[17]

AD[18]

AD[19]

AD[20]

AD[21]

AD[22]

AD[23]

AD[24]

AD[25]

AD[26]

AD[27]

AD[28]

AD[29]

AD[30]

AD[31]

PCI

DACK[0:7]

DRQ[0:3]

IRQ[0:15]

CTRL_BUS

CTRL_BUS

ISA

SD[0]

SD[1]

SD[4]

SD[7]

SD[8]

SD[0:15]

SD[15]

SD[14]

SD[13]

SD[12]

SD[11]

SD[10]

SD[9]

SD[6]

SD[5]

SD[3]

SD[2]

SA[8]

SA[9]

SA[10]

SA[11]

SA[12]

SA[13]

SA[14]

SA[15]

SA[0:19]

SA[16:19]

DD[1]

DD[2]

DD[3]

DD[4]

DD[5]

DD[6]

DD[7]

DD[0]

DD[11]

DD[0:15]

DD[10]

DD[9]

DD[8]

DD[8:11]

IDE

DD[0:15]

VIDEO

VIDEO

I2C

IDE

CTRL_BUS

REV

SIZE

SCALE FSCM NO.

DWG. NO.

SHEET

CONTRACT NO.

APPROVALS

DATE

DRAWN

CHECKED

ISSUED

12

34 4

32

1

A C DDCBA

REVISIONS

APPROVED

DATE

DESCRIPTION

REV

SH.REV DWG. NO.

C

H=4ND; V=4LA

IDE

PCI

74AS04

74AS04

74AS04

RESETPCI

RESETIDE

PC97317VUL

PC97317VUL

VCCH

GPIO & VARIOS

ISA BUSPARALLEL PORT

FLOPPY (FDC) KEYBOARD & MOUSE

XTAL & RTC

RINGGPIO23/

PORGPIO22/

GPIO20/IRSL1/ID1

/IRSL0/IRSL2GPIO21/ID2

GPIO17/WDO

GPIO16/PME1

GPIO15/PME2

GPIO[10:14]

/CFG1/BOUT2DTR2

GPIO36/SOUT2

GPIO35/SIN2

RTS2GPIO34/

RI2GPIO33/

DSR2GPIO32/

DCD2GPIO31/

CTS2GPIO30/

SOUT1/CFG0

SIN1

/BADDR1

RTS1

RI1

/BADDR0/BOUT1

DTR1

DSR1

DCD1

CTS1

PD[0:7]

AFD/DSTRB

SLIN/ASTRB

INIT

ERR

PE

SLCT

ACK

STB/WRITE

WAIT

BUSY/

P21

P20

P17

P16/GPIO25

CS0

P12/

MDAT

MCLK

KBDAT

KBCLK

DSKCHG

WP

INDEX

TRK0

RDATA

DENSEL

WGATE

HDSEL

STEP

DIR

WDATA

DR[0:1]

MTR[0:1]

MSEN[0:1]

DRATE0

IRTX

GPIO24/IRRX1

/IRSL0

GPIO37/IRRX2/ID0

IRSL1/ID1/XD7

/SELCSIRSL2/GPIO21/XD6

GPIO27/XD5

GPIO26/XD4

GPIO25/XD3

GPIO24/XD2

/XD1CS2

CS1/CSOUT/XD0

/ID3XDRD

LED/CS0

RING/XDCS

ONCTL

SWITCH

VBAT

X2C

X1C

X1

MR

DACK[0:3]

DRQ[0:3]

TC

WR

RD

IOCHRDY

ZWS

AEN

IRQ[14:15]

IRQ[3:12]

IRQ1

A[0:15]

D[0:7]

SD[0:15]

SA[0:19]

DACK[0:7]

IRQ[0:15]

IRQ[1]

IRQ[14:15]

IRQ[3:12]

DRQ[0:3]

AEN

IOCHRDY

TC

IOR

IOW

ISA

RES

4.7K

RES

4.7K

RES

4.7K

+5V

V+12

V-12

ST75185

RA5

RA4

RA3

RA2

RA1

DY3

DY2

DY1

GND5

RY5

RY4

RY3

RY2

RY1

DA3

DA2

DA1

V5

GND

V-12

V+12

RTS

TXD

DTR

DCD

DSR

RXD

CTSRI

RS232

MouseData

MouseCLK

KBData

KBCLK

KB_Mouse

VXTAL

32K

RES

10M

RES

4.7K

GND

GND

3.0V

VBATT

1N4001

D5

1N4001

D6

1N4001

D7

GND

DPCAP

0.1UF

+-

DPCAP

10UF

+-

RES

180 LED

LED3MM

C1

15pF

CAP

C2

15pF

CAP

R17

1K

RES

CTRL_BUS

C3

1UF

CAP

C4

0.1UF

CAP

C5

0.1UF

CAP

C6

0.1UF

CAP

C7

0.1UF

CAP

GND

+5V

0.1UF

C30

GND

SYSRSTO

DEV_CLK

4.7K

RES

+5V

+5V

+5V

+5V

+5V

+5V

SuperIO para conectar perife

ricos

Zero Wait

State

(Open Drain Output)

Paralle

l port not used

GPIO no usado

Infrared& GPIOno usados

Salidas del FDC

Puerto adicional

de datos

GPIO no usado

03/08/00

03/08/00

03/08/00

03/08/00

03/08/00

1.0

1.0

SUPERIO

Jose Luis Madrid Cobos

Carlos Prades del Valle

3

Desacoplo PC97317

74AS04

CTRL_BUS

PCI

RSTDRV

IDE

DACK[0:7]

IRQ[0:15]

DRQ[0:3]

ISA

RSTDRV

RS232

KB_Mouse

CTRL_BUS

SD[0:15]

SD[0:7]

SA[0:19]

SA[0:15]

REV

SIZE

SCALE FSCM NO.

DWG. NO.

SHEET

CONTRACT NO.

APPROVALS

DATE

DRAWN

CHECKED

ISSUED

12

34 4

32

1

A C DDCBA

REVISIONS

APPROVED

DATE

DESCRIPTION

REV

SH.REV DWG. NO.

C

H=4ND; V=4LA

168DIMM

CS[0:3]

WP

VREF2

VREF1

SA[0:2]

SCA

SCL

REGE

CKE[0:1]

BA[0:1]

CK[0:3]

CAS

RAS

WE

CB[0:7]

DQM[0:7]

A[0:13]

DQ[0:63]

168DIMM

CS[0:3]

WP

VREF2

VREF1

SA[0:2]

SCA

SCL

REGE

CKE[0:1]

BA[0:1]

CK[0:3]

CAS

RAS

WE

CB[0:7]

DQM[0:7]

A[0:13]

DQ[0:63]

CK[0]

CK[1]

CK[2]

CK[3]

CK[4]

CK[5]

CK[6]

CK[7]

MD[0:63]

MA[0:11]

VCC

00

0

SA[0]

SA[1]

SA[2]

GNDGNDGND

GND 0

GND

SA[0]

SA[1]

SA[2]

GND

VCC

MA[13]

MA[11]

MEM_CTRL

CS[3]

CS[2]

CS[3]

CS[0]

CS[1]

CS[0]

CS[1]

CS[3]

CS[2]

CS[3]

CS[2]

VCC

VCC

VCC

MWE

MWE

RAS[0]

CAS[0]

RAS[1]

CAS[1]

I2C

SCL

SDA

4.7K

R1

RES

RES

4.7K

R2

VCC

GND

GND VCC

C1

0.1UF

CAP

C2

0.1UF

CAP

C3

0.1UF

CAP

C4

0.1UF

CAP

C5

0.1UF

CAP

C6

0.1UF

CAP

GND VCC

C7

0.1UF

CAP

C8

0.1UF

CAP

C9

0.1UF

CAP

C10

0.1UF

CAP

C11

0.1UF

CAP

C12

0.33UF

CAP

GND VCC

C13

0.33UF

CAP

C14

0.33UF

CAP

C15

22UF

CAP

C16

22UF

CAP

C17

0.33UF

CAP

GND VCC

C18

0.33UF

CAP

C19

0.33UF

CAP

C20

22UF

CAP

C21

22UF

CAP

C22

0.1UF

CAP

GND

C23

0.1UF

CAP

+5V

MCLKO

CLKB4

CLKB3

CLKB2

CLKB1

CLKA4

CLKA3

CLKA2

CLKA1

CLKOUT

S2

S1

REF

CY2309

MCLKI

28F020

Vpp

A17

A16

A15

A14

I/O0

I/O1

I/O2

I/O3

I/O4

I/O5

I/O6

I/O7

we

oe

ce

A0

A1

A2

A3

A4

A5

A6

A7

A8

A9

A10

A11

A12

A13

SD[0]

SD[1]

SD[2]

SD[3]

SD[4]

SD[5]

SD[6]

SD[7]

SA[0]

SA[1]

SA[2]

SA[3]

SA[4]

SA[5]

SA[6]

SA[7]

SA[8]

SA[9]

SA[10]

SA[11]

SA[12]

SA[13]

SA[14]

SA[15]

SA[16]

SA[17]

MEMR

MEMW

+5V

ISA

SA[0:19]

RMRTCCS

SD[0:15]

00

0

GND

0.1UF

C24

CAP

+5V

0.1UF

C25

CAP

Jose Luis Madrid Cobos

Carlos Prades del Valle

01/08/00

01/08/00

01/08/00

01/08/00

01/08/00

Memoria principal (DIMM SDRAM) y BIOS

1.0

MEMORIA

1.0

SDRAM - DIMM

FLASH - BIOS

Para el DIMM 1

Para el DIMM 2

Para la BIOS

DESACOPLO DE CONTINUA

Mem Address conectio

ns

MA[0:10] -> A[0:10]

CS[2:3] -> A[11:12]

A[13] not used

4

Open: Registered DIMM

Close: Buffe

red DIMM

Para el CY2309

CK[0:3]

CK[4:7]

DQ[0:63]

SA[0:2]

SA[0:2]

MEMADD

MA[0:10]

MA[0:11]

BA

BA

BA

BA

MEM_CTRL

MEM_CTRL

MEM_CTRL

MEM_CTRL

MEM_CTRL

CSA

CSB

CKE

DQM[0:7]

DQM[0:7]

I2C

SA[0:19]

SD[0:15]

ISA

REV

SIZE

SCALE FSCM NO.

DWG. NO.

SHEET

CONTRACT NO.

APPROVALS

DATE

DRAWN

CHECKED

ISSUED

12

34 4

32

1

A C DDCBA

REVISIONS

APPROVED

DATE

DESCRIPTION

REV

SH.REV DWG. NO.

C

H=4ND; V=4LA

IDE

IDE CONN_40

A20

B20

A19

B19

B18

B17

B16

B15

B14

B13

B12

B11

B10

B9

B8

B7

B6

B5

B4

B3

B2

B1

A18

A17

A16

A15

A14

A13

A12

A11

A10

A9

A8

A7

A6

A5

A4

A3

A2

A1

RESETIDE

DD[7]

DD[8]

DD[6]

DD[9]

DD[5]

DD[10]

DD[4]

DD[11]

DD[3]

DD[12]

DD[2]

DD[13]

DD[1]

DD[14]

DD[0]

DD[15]

PDIOW

PDIOR

IOCHRDY

PDACK

PDRQ

DA[1]

DA[0]

DA[2]

GND

ISA

470

R1

RES

VGA R15

R14

R13

R12

R11

R10

R9

R8

R7

R6

R5

R4

R3

R2

R1

VIDEO

RED

GREEN

BLUE

AGND

GND

HSYNC

VSYNC

75

R2

RES

75

R3

RES

75

R4

RES

33

R5

RES

33

R6

RES

CAP

220p

C1

220p

C2

CAP

GND

ATX

12V

5VSB

PWGD

PSON

GND

GND

GND

GND

-5V

5V

5V

5V

5V

GND

GND

GND

3.3V

3.3V

3.3V

-12V

+5V

VCC

GND

GND

AB

GND

R7

220

RES

C4

100u

CAP

GND

C12

10nF

CAP

C13

0.1UF

CAP

C14

1UF

CAP

C15

10UF

CAP

C16

100UF

CAP

VCC

GND

10nF

C29

CAP

0.1UF

C30

CAP

1UF

C31

CAP

10UF

C32

CAP

100UF

C33

CAP

GND

10nF

C34

CAP

0.1UF

C35

CAP

1UF

C36

CAP

10UF

C37

CAP

100UF

C38

CAP

GND +5V

RESx8

22

RESx8

22

+5V

I2C

BAR43

D1

BAR43

D2

BAR43

D3

BAR43

D6

BAR43

D7

BAR43

D8

VCC

R8

82

RES

R9

5.6K

RES

GND

R10

22

RES

RES22

R11

22

RES

R12

RES

R13

82

PIRQ

74AC00

74AC00

74AC00

74AC00

VCC

ISAOE

ISAOE

PCS3

R9

R8

R7

R6

R5

R4

R3

R2

R1

RS232

DCD

DSR

RXD

RTS

TXD

CTS

DTR

RI

GND

MINIDIN6DUAL

Mouse Keyboard

A8

A9

B8

B7

B6

B5

B4

B3

B2

B1

A7

A6

A5

A4

A3

A2

A1

KB_Mouse

FUSIBLE

BA

KBData

KBCLK

MouseData

MouseCLK

+5V

R14

10K

RES

R15

10K

RES

R16

10K

RES

R17

10K

RES

330pF

C39

CAP

330pF

C40

CAP

330pF

C41

CAP

330pF

C42

CAP

GND

GND

C43

0.1UF

CAP

GND

Jose Luis Madrid Cobos

Carlos Prades del Valle

5

Conectores IDE, VGA, PS2, PUERTO SERIE

Y ALIMENTACION

03/08/00

03/08/00

03/08/00

03/08/00

03/08/00

CONECTORES

1.0

1.0

No connectio

ns

are intentio

naly

left

on air

No connectio

ns

are intentio

naly

left

on air

Power on/off

CONECTOR VIDEO RGB

CONECTOR IDE

CONECTOR DE ALIMENTACION

Las resistencias de adaptacion deben

estar lo mas cerca posible de los pines

del STPC Consumer-S

CONECTOR RS232, TECLADO Y RATON

Conector RS232 (COM1)

IDE

ISA

VIDEO

SDA

SCL

I2C

PCS1

RS232

KB_Mouse

REV

SIZE

SCALE FSCM NO.

DWG. NO.

SHEET

CONTRACT NO.

APPROVALS

DATE

DRAWN

CHECKED

ISSUED

12

34 4

32

1

A C DDCBA

REVISIONS

APPROVED

DATE

DESCRIPTION

REV

SH.REV DWG. NO.

C

H=4ND; V=4LA

MD[0:63]

MD[26]

4.7K

MD[25]

MD[24]

VCC

A8

B8

A7

B7

A6

B6

A5

B5

A4

AB

B4

A3

B3

A2

B2

A1

B1

SPST8

GND

MD[17]

MD[45]

MD[46]

MD[40]

MD[20]

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]

4.7K

R1

RES

GND

VCC

R2

4.7K

RES

R3

4.7K

RES

R4

4.7K

RES

R5

4.7K

RES

R6

4.7K

RES

R7

4.7K

RES

R8

4.7K

RES

R9

4.7K

RES

R10

4.7K

RES

R11

4.7K

RES

R12

4.7K

RES

R13

4.7K

RES

R14

4.7K

RES

R15

4.7K

RES

R16

4.7K

RES

R17

4.7K

RES

R18

4.7K

RES

R19

4.7K

RES

R20

4.7K

RES

R21

4.7K

RES

4.7K

6

STRAPS

Straps de config

uracion en el arranque

del STPC

Jose Luis Madrid Cobos

Carlos Prades del Valle

1.0

1.0

03/08/00

03/08/00

03/08/00

03/08/00

03/08/00

Skew betw

een

486 host CLK

& ADPC host CLK

HCLK delay

CPC fast reset

normal mode

Internal IPC

CPC test off

HCLKO source

internal

HCLK source

internal

Test Bus off

Local Bus off

Clock Tick

input value

: 25 MHz

: 33 MHz

: 50 MHz

: 60 MHz

: 66 MHz

: 75 MHz

: 90 MHz

: 100 MHz

MCLKI skew

SDRAM P O S

MD17

0 PCICLK = HCLK/3

1 PCICLK = HCLK/2

PCI CLK DIVISOR

16MHz < HCLK < 32 MHz

32MHz < HCLK < 64 MHz

64MHz < HCLK

PLL is disabled, delay chains selected

MD45

0101

MD46

0011 HCLK PLL FREQ RANGE

MD40

0 DX1 mode = x1

1 DX2 mode = x2

DX1 OR DX2 CPU MODE

MD20

0 DCLK is an input

1 DCLK is an output

DCLK INPUT OR OUTPUT

MD24

01101010

MD25

00100111

MD26

00011110 HCLK PLL SETUP

ON = 0

OFF = 1

MD[0:63]

MD[0:63]

D[8:11]

A[16:19]

REV

SIZE

SCALE FSCM NO.

DWG. NO.

SHEET

CONTRACT NO.

APPROVALS

DATE

DRAWN

CHECKED

ISSUED

REVISIONS

APPROVED

DATE

DESCRIPTION

REV

SH.

REV

DWG. NO.

A

H=2LA; V=2LA

TRADUCCION LINEAS ISA-IDE

Jose Luis Madrid Cobos

Carlos Prades del Valle

Traduccion de lineas de ISA a IDE

03/08/00

03/08/00

03/08/00

03/08/00

03/08/00

1.0

1.0

7

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

137

PLANOS DEL PC EMPOTRADO DE ALTA POTENCIA DE CÁLCULO.

CLK_14MHZ

RTCCTRL

ISA

KBROMCS

CRT

AUDIO

USB

CLK_32KHZ

IDE

PCI

MD

MA

MEM_CTRL

GX1

KBROMCS

MA

ISA

MD

MEM_CTRL

SDRAM_BIOS

REVSIZE

SCALE

FSCM NO. DWG. NO.

SHEET

CONTRACT NO.

APPROVALS DATE

DRAWN

CHECKED

ISSUED

REVISIONSAPPROVEDDATEDESCRIPTIONREV

SH. REVDWG. NO.

A

H=2LA; V=2LA

ConectoresIDE

ISA

USB

CRT

CLK_14MHz

CLK_32KHz

USB

PCI

Clocks

PC EMPOTRADO

Carlos Prades del ValleJose Luis Madrid Cobos

1.0 Esquema principal del sistema 24/07/00 24/07/00

24/07/00

24/07/00

24/07/00

1

1.0

ISSUED

CHECKED

DRAWN

APPROVALS

DATE

CONTRACT NO.

SCALE FSCM NO.

DWG. NO.

SHEET

SIZE

REV

12

34

56

78 8

76

54

31

A B C DDCBA

APPROVED

DATE

DESCRIPTION

REV

REVISIONS

DWG. NO.

SH.

REV

D

H=8ND; V=4LA

C/BE[0:3]

RESET

SDRAM CONTROLLER

PCI BUS

VIDEO CONTROLLER

SYSTEM & OTHER SIGNALS

GX1

SERIALP

SUSPA

SUSP

SMI

IRQ13

INTR

CLKMODE[0:2]

SYSCLK

TEST_SD[0:3]

TDN

TDP

TEST

TMS

TDO

TDI

TCLK

RW_CLK

FLT

PIXEL[0:17]

VID_DATA[0:7]

VID_VAL

VID_RDY

ENA_DISP

FP_VSYNC

FP_HSYNC

CRT_VSYNC

CRT_HSYNC

DCLK

VID_CLK

PCLK

SDCLK_OUT

SDCLK_IN

SDCLK[0:3]

DQM[0:7]

CKEB

CKEA

WEB

WEA

CASB

CASA

RASB

RASA

CS[0:3]

BA[0:1]

MD[0:63]

MA[0:12]

GNT[0:2]

REQ[0:2]

SERR

PERR

DEVSEL

LOCK

STOP

TRDY

IRDY

FRAME

PAR

AD[0:31]

C/BE[0:3]

ROM/

KB

GAME PORT/ GPIO

TEST TEST

CS5530

IDE CONTROLLER

IDE_DACK1

IDE_DACK0

IDE_DREQ1

IDE_DREQ0

IDE_IORDY1

IDE_IORDY0

IDE_CS1

IDE_CS0

IDE_IOW1

IDE_IOW0

IDE_IOR1

IDE_IOR0

IDE_DATA[0:15]

IDE_ADDR[0:2]

IDE_RST

AUDIO INTERFACE

PC_BEEP

SYNC

SDATA_IN

SDATA_OUT

BIT_CLK

GPIO0

GPIO1/SDATA_IN2

GPIO[2:3]

GPORT_CS

GPCS

USB

OVER_CUR

POWER_EN

D-_PORT2

D+_PORT2

D-_PORT1

D+_PORT1

KBROMCS

DISPLAY

PIXEL PORTCRTMPEGDCLKPLL

RESET

INTERFACE

CLOCK INTERFACE

RESTO DE FP

CLK_32K

USBCLK

CLK_14MHZ

ISACLK

DCLK

TVCLK

PCICLK

CPU_RST

POR

PCI_RST

PLLDGN

PLLDVD

PLLAGD

PLLAGS

PLLVAA

PLLRO

PLLLP

VID_RDY

VID_VAL

VID_CLK

VID_DATA[0:7]

FP_ENA_BKL

FP_ENA_VDD

FP_DISP_ENA_OUT

FP_VSYNC

/FP_VSYNC_OUT

/FP_HSYNC_OUT

FP_HSYNC

FP_CLK_EVEN

FP_CLK

BUS ISA / FP/ PARTE DE GPIO

/SA[0:15]FP_DATA[0:15]

IOUTB

IOUTG

IOUTR

AVSS5_DAC

AVSS4_ICAP

AVSS3_VREF

AVSS2_ICAP

AVSS1_DAC

AVDD3_DAC

AVDD2_VREF

AVDD1_DAC

EXTVREFIN

VREF

IREF

DDC_SDA

DDC_SCL

VSYNC_OUT

VSYNC

HSYNC_OUT

HSYNC

ENA_DISP

PIXEL[0:23]

PCLK

TC

DACK[5:7]

DACK[0:3]

DRQ[5:7]

DRQ[0:3]

IRQ8

IRQ1

IRQ[14:15]

IRQ[9:12]

IRQ[3:7]

AEN

MEMW

MEMR

MEMCS16

IOW

IOR

IOCS16

ZEROWS

IOCHRY

BALE

SBHE

/SMEMR RTCALE

SMEMW/RTCCS

SMEMR

SMEMW

/SD[0:15]SA[0:15]

SA[16:19]

/GPIO[4:7]SA[20:23]

/FP_DATA17MASTER

/FP_DATA16SA_OE

SA_LATCH/SA_DIR

BUS PCI

CPU INTERFACE

SUSP_3V

SUSPA

SUSP

PSERIAL

IRQ13

SMI

INTR

SERR

PERR

PAR

DEVSEL

LOCK

STOP

TRDY

IRDY

HOLD_REQ

FRAME

GNT

REQ

INTD

INTC

INTB

INTA

AD[0:31]

FRAME

IRDY

TRDY

STOP

LOCK

DEVSEL

SERR

PERR

PAR

SERR

PERR

PAR

DEVSEL

LOCK

STOP

TRDY

IRDY

FRAME

GNT[0]

REQ[0]

VCC

INTR

IRQ13

SMI

SUSP

SUSPA

SERIALP

INTR

SMI

IRQ13

SERIALP

SUSP

SUSPA

JMP3x1

3 2 1

VCC

GND

CPU_RST

CPU_RST

RESETPCI

GND

R1

10K

RES

VCC

VCC

C1

0.01UF

CAP

VCC

JMP3x13

21

VCC

GND

JMP3x13

21

VCC

GND

JMP3x13

21

VCC

GND

CLKMODE[2]

CLKMODE[1]

CLKMODE[0]

GND

GND

GND

GND

GND

GND

GNDGNDGNDGNDGNDGND

PCLK

VID_CKL

DCLK

PCLK

VID_CKL

DCLK

CRT_HSYNC

CRT_VSYNC

FP_HSYNC

FP_VSYNC

CRT_HSYNC

CRT_VSYNC

FP_VSYNC

FP_HSYNC

ENA_DISP

VID_RDY

VID_VAL

VID_RDY

VID_VAL

ENA_DISP

RASA

RASB

CASA

CASB

WEA

WEB

CKEA

CKEB

MA

MD

MEM_CTRL

PCI

W2

JUMPER

SA_LATCH/SA_DIR

SA_OE

MASTER

SMEMW

SMEMR

SBHE

BALE

IOCHRDY

ZEROWS

IOCS16

IOR

IOW

MEMCS16

MEMR

MEMW

AEN

IRQ[1]

IRQ[8]

TC

ISA

IDE_RST

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]

IDE

D+_PORT1

D-_PORT1

D+_PORT2

D-_PORT2

POWER_EN

OVER_CUR

BIT_CLK

SDATA_OUT

SDATA_IN

SYNC

PC_BEEP

USB

AUDIO

VSYNC_OUT

HSYNC_OUT

DDC_SCL

DDC_SDA

IOUTR

IOUTG

IOUTB

732

R2

RES

0.1UF

C2

CAP

AGNDVIDEO

CRT

R3

RES

C3

CAP

AGND

GND

AGND

VCC

C4

CAP

RFCHOKE

+5V

RFCHOKE

C5

0.01UF

CAP

CLK_32K

USBCLK

CLK_14MHZ

ISACLK

TVCLK

PCICLK

R4

20K

RES

GND

TVCLK

ISACLK

USBCLK

CLK_14MHZ

CLK_32K

CLK_32KHZ

CLK_14MHZ

R5

10K

RES

VCC

KBROMCS

RTCCTRL

RTCCS

RTCALE

D1

1.235V

ZENER

AGND

390

R6

RES

C6

0.01UF

CAP

PCICLK

220UF

C7

CAP

C8

220UF

CAP

C9

220UF

CAP

C10

220UF

CAP

C11

220UF

CAP

C12

220UF

CAP

C13

220UF

CAP

C14

220UF

CAP

C15

220UF

CAP

C16

220UF

CAP

C17

220UF

CAP

C18

220UF

CAP

47PF

C19

CAP

C33

47PF

CAP

C34

47PF

CAP

C35

47PF

CAP

C36

47PF

CAP

C37

47PF

CAP

C38

47PF

CAP

C39

47PF

CAP

C40

47PF

CAP

C41

47PF

CAP

C42

47PF

CAP

C43

47PF

CAP

C44

47PF

CAP

C45

47PF

CAP

C46

47PF

CAP

C47

47PF

CAP

C48

47PF

CAP

C49

47PF

CAP

C50

47PF

CAP

C51

47PF

CAP

C52

47PF

CAP

C53

47PF

CAP

C54

47PF

CAP

C55

47PF

CAP

C56

47PF

CAP

C57

47PF

CAP

C58

47PF

CAP

C59

47PF

CAP

C60

47PF

CAP

C61

47PF

CAP

VCORE

GND

VCOREGND

VCCGND

VCC

GND

220UF

C62

CAP

220UF

C63

CAP

220UF

C64

CAP

220UF

C65

CAP

220UF

C66

CAP

220UF

C67

CAP

220UF

C68

CAP

220UF

C69

CAP

220UF

C70

CAP

220UF

C71

CAP

220UF

C72

CAP

220UF

C73

CAP

47PF

C74

CAP

47PF

C75

CAP

47PF

C76

CAP

47PF

C77

CAP

47PF

C78

CAP

47PF

C79

CAP

47PF

C80

CAP

47PF

C81

CAP

47PF

C82

CAP

47PF

C83

CAP

47PF

C84

CAP

47PF

C85

CAP

47PF

C86

CAP

47PF

C87

CAP

47PF

C88

CAP

47PF

C89

CAP

47PF

C90

CAP

47PF

C91

CAP

47PF

C92

CAP

47PF

C93

CAP

47PF

C94

CAP

47PF

C95

CAP

47PF

C96

CAP

47PF

C97

CAP

47PF

C98

CAP

47PF

C99

CAP

47PF

C100

CAP

47PF

C101

CAP

47PF

C102

CAP

47PF

C103

CAP

GND

GND

VCCGND

VCC

GND

VCC

VCC

2

Acoplo entre microprocesador y companion chip

Microprocesador y companion chip

Carlos Prades del Valle

Jose Luis Madrid Cobos

24/07/00

24/07/00

24/07/00

1.0

1.0

24/07/00

24/07/00

Test signals(on air)

GPIONot used

Flat Panel

Not used

TermalDiode

Strap optio

n select pin

1-2: IDSEL = AD26, USB = AD27.

2-3: IDSEL = AD28, USB = AD29

RESET

Test has

intern

pull-

down

The length of this wire must be as large

as the length of SDCLK[x] length

DESACOPLO DE CONTINUA PARA EL GX1

DESACOPLO DE CONTINUA PARA EL CS5530

PCI

REQ[0:2]

GNT[0:2]

AD[0:31]C/BE[0:3]

AD[0:31]C/BE[0:3]

SYSTEM

CLKMODE[0:2]

PIXELCS5530

PIXELGX1

VID_DATA[0:7]

VIDEO_CLOCKS

VIDEO_SYNC

VIDEO_SYNC

VIDEO_SYNC

VIDEO_SYNC

VIDEO_CTRL

MEM_CTRL

BA[0:1]

CS[0:3]

DQM[0:7]

SDCLK[0:3]

MA[0:12]

MD[0:63]

ISA

SA[20:23]

SA[16:19]

SD[0:15]

SA[0:15]

IRQ[3:7]

IRQ[9:12]

IRQ[14:15]

DRQ[0:3]

DRQ[5:7]

DACK[0:3]

DACK[5:7]

IDE

IDE_ADDR[0:2]

IDE_DATA[0:15]

USB

AUDIO

CRT

CLOCKS

RTCCS,RTCALE

REVSIZE

SCALE

FSCM NO. DWG. NO.

SHEET

CONTRACT NO.

APPROVALS DATE

DRAWN

CHECKED

ISSUED

1234

4 3 2 1

A

C

DD

C

B

A

REVISIONSAPPROVEDDATEDESCRIPTIONREV

SH.

REV

DWG. NO.

C

H=4ND; V=4LA

168DIMM

CS[0:3]

WP

VREF2

VREF1

SA[0:2]

SCA

SCL

REGE

CKE[0:1]

BA[0:1]

CK[0:3]

CAS

RAS

WE

CB[0:7]

DQM[0:7]

A[0:13]

DQ[0:63]

168DIMM

CS[0:3]

WP

VREF2

VREF1

SA[0:2]

SCA

SCL

REGE

CKE[0:1]

BA[0:1]

CK[0:3]

CAS

RAS

WE

CB[0:7]

DQM[0:7]

A[0:13]

DQ[0:63]

MD

MEM_CTRL

MA

CS[0]

CS[1]

CS[2]

CS[3]

WEA

RASA

CASA

SDCLK[0]

SDCLK[1]

SDCLK[0]

SDCLK[1]

CS[0]

CS[1]

CS[2]

CS[3]

SDCLK[2]

SDCLK[3]

SDCLK[2]

SDCLK[3]

WEB

RASB

CASB

CKEA

CKEA

CKEB

CKEB

0 0 0

SA[0]

SA[1]

SA[2]

GNDGNDGND

4.7K0 0

GNDGND

SA[0]

SA[1]

SA[2]

GND

VCC

28F020

Vpp

A17

A16

A15

A14

I/O0

I/O1

I/O2

I/O3

I/O4

I/O5

I/O6

I/O7

we

oe

ce

A0

A1

A2

A3

A4

A5

A6

A7

A8

A9

A10

A11

A12

A13

ISA

SD[0]

SD[1]

SD[2]

SD[3]

SD[4]

SD[5]

SD[6]

SD[7]

SA[0]

SA[1]

SA[2]

SA[3]

SA[4]

SA[5]

SA[6]

SA[7]

SA[8]

SA[9]

SA[10]

SA[11]

SA[12]

SA[13]

SA[14]

SA[15]

SA[16]

SA[17]

KBROMCS

SMEMR

MEMW

GND

VCC

0.1UF

C31

CAP

0.1UF

C33

CAP

0.1UF

C34

CAP

0.1UF

C35

CAP

0.1UF

C41

CAP

0.1UF

C42

CAP

GND

VCC

0.1UF

C43

CAP

0.1UF

C44

CAP

0.1UF

C45

CAP

0.1UF

C46

CAP

0.1UF

C47

CAP

C48

0.33UF

CAP

GND

VCC

C49

0.33UF

CAP

C50

0.33UF

CAP

C51

22UF

CAP

C52

22UF

CAP

C54

0.33UF

CAP

GND

VCC

C55

0.33UF

CAP

C56

0.33UF

CAP

C57

22UF

CAP

C58

22UF

CAP

0.1UF

C59

CAP

4.7K

4.7K

VCC

GND

GND

C60

0.1UF

CAP

+5V

+5V

3

Memoria principal (DIMM SDRAM) y BIOS1.0 24/07/00 24/07/00

MEMORIA

1.024/07/00

24/07/00

24/07/00

Carlos Prades del ValleJose Luis Madrid Cobos

DIMMS - SDRAM

FLASH - BIOS

On: Buffered DIMMOff: Registered DIMM

Para el DIMM 1

Para el DIMM 2

Para la BIOS

DESACOPLO DE CONTINUA

No connectionsare intentionallyleft on air

No connectionsare intentionallyleft on air

MD[0:63]

MEM_CTRLMEM_CTRL

DQM[0:7]

CSDIMMA

CSDIMMB

CKDIMMA

CKDIMMB

BA[0:1]

CKEDIMMA

CKEDIMMB

SA[0:2]

SA[0:2]

ISA

MA[0:13]MA[0:12]

QEN92BH

33.000MHz

CLK

QEN92BH

14.31818MHz

CLK

QEN92BH

48.000MHz

CLK

32.768K

QEN55BH

CLK

REV

SIZE

SCALE FSCM NO.

DWG. NO.

SHEET

CONTRACT NO.

APPROVALS

DATE

DRAWN

CHECKED

ISSUED

REVISIONS

APPROVED

DATE

DESCRIPTION

REV

SH.

REV

DWG. NO.

A

H=2LA; V=2LA

PCI

USB

CLK_32KHz

CLK_14MHz

USBCLK

PCICLK

VCC

VCC

VCC

0.1UF

C47

CAP

0.1UF

C48

CAP

0.1UF

C49

CAP

0.1UF

C50

CAP

GND

GND

GND

GND

+5V

DESACOPLO DE CONTINUA

1.0

24/07/00

24/07/00

24/07/00

24/07/00

24/07/00

1.0

Carlos Prades del Valle

Jose Luis Madrid Cobos

Oscila

dores (botes) necesarios para

el sistema

RELOJES

4

14.31818MHz

32.768K

48.000MHz

33.000MHz

PCI

USB

REV

SIZE

SCALE FSCM NO.

DWG. NO.

SHEET

CONTRACT NO.

APPROVALS

DATE

DRAWN

CHECKED

ISSUED

12

34 4

32

1

A C DDCBA

REVISIONS

APPROVED

DATE

DESCRIPTION

REV

SH.REV DWG. NO.

C

H=4ND; V=4LA

IDE

IDE CONN_40

A20

B20

A19

B19

B18

B17

B16

B15

B14

B13

B12

B11

B10

B9

B8

B7

B6

B5

B4

B3

B2

B1

A18

A17

A16

A15

A14

A13

A12

A11

A10

A9

A8

A7

A6

A5

A4

A3

A2

A1

IDE_RST

IDE_DATA[7]

IDE_DATA[8]

IDE_DATA[6]

IDE_DATA[9]

IDE_DATA[5]

IDE_DATA[10]

IDE_DATA[4]

IDE_DATA[11]

IDE_DATA[3]

IDE_DATA[12]

IDE_DATA[2]

IDE_DATA[13]

IDE_DATA[1]

IDE_DATA[14]

IDE_DATA[0]

IDE_DATA[15]

IDE_IOR[0]

IDE_IOR[0]

IDE_IORDY[0]

IDE_DACK[0]

IDE_DREQ[0]

IDE_ADDR[1]

IDE_ADDR[0]

IDE_ADDR[2]

IDE_CS[0]

IDE_CS[1]

GND

ISA

IRQ[14]

R1

470

RES

VGA R15

R14

R13

R12

R11

R10

R9

R8

R7

R6

R5

R4

R3

R2

R1

CRT

IOUTR

IOUTG

IOUTB

AGNDVIDEO

GND

DDC_SDA

DDC_SCL

HSYNC_OUT

VSYNC_OUT

R2

75

RES

R3

75

RES

R4

75

RES

R5

33

RES

R6

33

RES

C1

220p

CAP

C2

220p

CAP

GND

USB R9

R8

R7

R6

R5

R4

R3

R2

R1

USB

D-_PORT1

D+_PORT1

D-_PORT2

D+_PORT2

+5V

GND

ATX

12V

5VSB

PWGD

PSON

GND

GND

GND

GND

-5V

5V

5V

5V

5V

GND

GND

GND

3.3V

3.3V

3.3V

-12V

+5V

VCC

GND

GND

AB

GND

220

R7

RES

100u

C4

CAP

GND

33p

C5

CAP

33p

C6

CAP

33p

C7

CAP

33p

CAPC8

33p

C9

CAP

33p

C10

CAP

10nF

C12

CAP

0.1UF

C13

CAP

1UF

C14

CAP

10UF

C15

CAP

100UF

C16

CAP

VCC

GND

C29

10nF

CAP

C30

0.1UF

CAP

C31

1UF

CAP

C32

10UF

CAP

C33

100UF

CAP

GND

C34

10nF

CAP

C35

0.1UF

CAP

C36

1UF

CAP

C37

10UF

CAP

C38

100UF

CAP

GND +5V

33

RESx8

33

RESx8

+5V

LT1580ADJVOUT

SENSE

VCONT

VPOWER

R8

110

RES

R9

68

RES

GND

VCORE

C39

0.33UF

CAP

100UF

C40

CAP

C41

220UF

CAP

GND

C42

22UF

CAP

GND

No connectio

ns

are intentio

nally

left

on air

No connectio

ns

are intentio

nally

left

on air

CONECTOR DE ALIMENTACION

CONECTOR USB

CONECTOR IDE

CONECTOR VIDEO RGB

Power on/off

1.0

24/07/00

24/07/001.0

24/07/00

24/07/00

24/07/00

Carlos Prades del Valle

Jose Luis Madrid Cobos

CONECTORES

5

Conectores IDE, VGA, USB, ALIMENTACION

IDE

ISA

CRT

USB

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

143

PPLLIIEEGGOO DDEE CCOONNDDIICCIIOONNEESS

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

144

PPRREESSUUPPUUEESSTTOO

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

145

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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

146

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

Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal

147

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