Download P.F.C. - Página personal de Carlos Prades del Valle.

Document related concepts
no text concepts found
Transcript
ESCUELA TÉCNICA SUPERIOR DE INGENIEROS DE
TELECOMUNICACIÓN
PROYECTO FIN DE CARRERA
Título:
Desarrollo de un PC empotrado con
procesador de señal.
Autor:
Carlos Prades del Valle.
Tutor:
Juan Francisco Gómez Mena
Departamento: Señales, Sistemas y Radiocomunicaciones
MIEMBROS DEL TRIBUNAL CALIFICADOR:
PRESIDENTE:
VOCAL:
SECRETARIO:
FECHA DE LECTURA:
OBJETIVO:
El objetivo del proyecto es el diseño de un PC empotrado para aplicaciones de
procesado de señal y multimedia.
CALIFICACIÓN:
UNIVERSIDAD POLITÉCNICA DE MADRID
ESCUELA TÉCNICA SUPERIOR DE INGENIEROS DE
TELECOMUNICACIÓN
PROYECTO FIN DE CARRERA
DESARROLLO DE UN PC EMPOTRADO
CON PROCESADOR DE SEÑAL
Autor: Carlos Prades del Valle
Tutor: D. Juan Francisco Gómez Mena
CURSO 1999-2000
RESUMEN DEL PROYECTO:
La memoria del presente proyecto describe el diseño de un PC para aplicaciones de
procesado de señal y multimedia. Un PC empotrado es un sistema basado en
microprocesador diseñado específicamente para ser montado en el interior de numerosos
equipos industriales (automatización y monitorización de procesos de fabricación o
producción) y también en electrodomésticos de última generación, set-top boxes, aviones,
vehículos y sistemas multimedia como puntos de venta interactivos.
Tras un estudio de los principales microcontroladores y dispositivos para esta
aplicación, se ha realizado un diseño utilizando la herramienta de CAD VeriBest 98 de
Intergraph. Se realiza una comparación con el diseño de un PC empotrado para
aplicaciones industriales realizado en el proyecto de José Luis Madrid Cobos [1].
PALABRAS CLAVE:
PC
empotrado,
PC
embarcado,
sistemas
microprocesador, diseño hardware, esquemas.
empotrados,
microcontrolador,
AGRADECIMIENTOS:
Dedico este proyecto a todos aquellos y todas
aquellas que han tenido confianza en mí y me han dado
ánimos en todo momento para realizar la carrera.
Quiero dar mi agradecimiento a José Luis Madrid
Cobos que ha trabajado conmigo en este proyecto
dandome permiso para incluir los planos del desarrollo
del suyo.
DESARROLLO DE UN PC EMPOTRADO
CON PROCESADOR DE SEÑAL
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
ÍNDICE
ÍNDICE ...................................................................................................................... 6
GLOSARIO. ...............................................................................................................
10
MEMORIA......................................................................................... 13
1. INTRODUCCIÓN AL PC EMPOTRADO................................................................. 14
1.1. ¿Qué es un PC empotrado? ....................................................................................................................14
1.2. Microprocesadores y sistemas empotrados [3]. ....................................................................................15
1.3. Arquitectura básica [4]. ..........................................................................................................................18
1.4. Aplicaciones de un PC empotrado. ........................................................................................................20
1.5. Ventajas de un PC empotrado sobre las soluciones industriales tradicionales..................................21
2. CICLO DE VIDA DEL DISEÑO DE UN PC EMPOTRADO. ...................................... 23
2.1. Fases de vida del diseño. .........................................................................................................................23
2.2. Diseño previo del sistema........................................................................................................................24
2.2.1. Determinación de los requisitos del sistema. ..........................................................................24
2.2.2. Diseño de la plataforma PC empotrado...................................................................................27
2.2.3. Elección de la memoria y del sistema operativo. ....................................................................28
2.2.4. Determinación de las entradas-salidas. ...................................................................................29
2.2.5. Elección de la BIOS................................................................................................................29
2.3. Diseño del hardware................................................................................................................................30
2.3.1. Creación de los esquemas. ......................................................................................................30
2.3.2. Creación del layout de la PCB. ...............................................................................................31
2.4. Diseño del software..................................................................................................................................31
2.5. Prototipo. .................................................................................................................................................32
6
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
2.6. Integración del sistema. ..........................................................................................................................33
2.7. Prueba final del sistema. .........................................................................................................................33
3. MICROCONTROLADORES PARA PC EMPOTRADO. ............................................ 35
3.1. STPC Consumer-S de ST Microelectronics [20]. .................................................................................35
3.1.1. Introducción. ...........................................................................................................................35
3.1.2. Características fundamentales. ................................................................................................35
3.1.3. Descripción. ............................................................................................................................40
3.2. STPC Consumer de ST Microelectronics [20]. .....................................................................................46
3.3. STPC Client de ST Microelectronics [20]. ............................................................................................47
3.4. STPC Industrial de ST Microelectronics [20].......................................................................................47
3.5. Coldfire MCF5307 de Motorola [21]. ....................................................................................................48
3.5.1. Introducción. ...........................................................................................................................48
3.5.2. Características fundamentales. ................................................................................................49
3.5.3. Diagrama de bloques...............................................................................................................53
3.6. MachZ PCe de ZF [22]............................................................................................................................54
3.6.1. Introducción. ...........................................................................................................................54
3.6.2. Características fundamentales. ................................................................................................55
3.6.3. Diagrama de bloques...............................................................................................................60
3.7. Geode GX1 de National Semiconductor [23]. .......................................................................................61
3.7.1. Descripción General................................................................................................................61
3.7.2. Características. ........................................................................................................................63
3.7.3. Diagrama de bloques...............................................................................................................66
3.8. Geode GXLV de National Semiconductor [23].....................................................................................67
3.8.1. Descripción. ............................................................................................................................67
3.8.2. Características. ........................................................................................................................68
3.9. Geode GXM de National Semiconductor [23]. .....................................................................................71
3.10. Geode SC1400 de National Semiconductor [23]. ................................................................................71
3.10.1. Introducción. .........................................................................................................................71
3.10.2. Componentes principales. .....................................................................................................72
3.10.3. Características fundamentales. ..............................................................................................72
7
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
3.10.4. Operaciones concurrentes. ....................................................................................................73
3.10.5. Diagrama de bloques.............................................................................................................74
3.11. SPARClite MB86831 de Fujitsu [24]. ..................................................................................................74
3.11.1. Introducción. .........................................................................................................................74
3.11.2. Características. ......................................................................................................................75
3.11.3. Diagrama de bloques.............................................................................................................77
3.12. SPARClite MB86832 de Fujitsu [24]. ..................................................................................................77
3.13. SPARClite MB86833 de Fujitsu [24]. ..................................................................................................78
3.14. SPARClite MB86860 de Fujitsu [24]. ..................................................................................................78
3.14.1. Características. ......................................................................................................................78
3.14.2. Diagrama de bloques.............................................................................................................80
3.15. Crusoe TM3200 de Transmeta [25]. ....................................................................................................80
3.15.1. Descripción. ..........................................................................................................................80
3.15.2. Características. ......................................................................................................................82
3.16. Crusoe TM5400 de Transmeta [25]. ....................................................................................................83
3.16.1. Introducción. .........................................................................................................................83
3.16.2. Características. ......................................................................................................................83
3.17. Mobile Pentium III de Intel [26]. .........................................................................................................83
3.17.1. Descripción. ..........................................................................................................................83
3.17.2. Características. ......................................................................................................................84
3.17.3. Diagrama de bloques.............................................................................................................86
3.18. Tabla comparativa. ...............................................................................................................................87
4. CHIPS COMPLEMENTARIOS PARA PC EMPOTRADO.......................................... 88
4.1. National Geode CS5530 I/O Companion Chip [23]..............................................................................88
4.1.1. Introducción. ...........................................................................................................................88
4.1.2. Características fundamentales. ................................................................................................89
4.1.3. Descripción. ............................................................................................................................91
4.2. National PC 97317 Super I/O. ................................................................................................................94
4.2.1. Introducción. ...........................................................................................................................94
4.2.2. Características fundamentales. ................................................................................................94
4.2.3. Diagrama de bloques.............................................................................................................100
8
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
4.3. Otros chips complementarios. ..............................................................................................................100
4.3.1. PC87306 de National Semiconductor [23]............................................................................101
4.3.2. PC87338 de National Semiconductor [23]............................................................................101
4.3.3. MB86941 y MB86942 de Fujitsu [24]..................................................................................101
4.3.4. FDC37B78x de SMSC [27]. .................................................................................................101
5. DESARROLLO PC EMPOTRADO....................................................................... 103
5.1. Especificaciones. ....................................................................................................................................103
5.2. Elección del microcontrolador. ............................................................................................................105
5.3. Posibilidades abiertas............................................................................................................................107
5.4. Descripción de los esquemas del PC empotrado de potencia de cálculo media. ..............................109
5.4.1. Contenido de los buses..........................................................................................................111
5.5. Descripción de los esquemas del PC empotrado de alta potencia de cálculo. ..................................112
5.5.1. Descripción general...............................................................................................................112
5.5.2. Bloque microprocesador. ......................................................................................................115
5.5.3. Bloque de memoria. ..............................................................................................................117
5.5.4. Bloque de conectores. ...........................................................................................................118
5.5.5. Bloque de relojes...................................................................................................................118
5.5.6. Señales del sistema................................................................................................................119
BIBLIOGRAFÍA. ................................................................................................... 126
PLANOS ......................................................................................... 128
PLANOS DEL PC EMPOTRADO DE POTENCIA DE CÁLCULO MEDIA..................... 129
PLANOS DEL PC EMPOTRADO DE ALTA POTENCIA DE CÁLCULO. ...................... 137
PLIEGO DE CONDICIONES........................................................... 143
PRESUPUESTO ............................................................................. 144
9
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
GLOSARIO.
ABS: Anti-Blocking System.
ACPI: Advanced Configuration Power Interface.
ADC: Analog to Digital Converter.
ADSL: Asynchronous Digital Subscriber Loop.
APM: Advanced Power Management.
BIOS: Basic Input & Output System.
BitBLTs: Bit Block Transfers
CAD: Computer Aided Design.
CAS: Column Address Strobe.
CMOS: Complementary Metal Obside Semiconductor.
CPU: Central Processing Unit.
CRT: Cathode Ray Tube.
DAC: Digital to Analog Converter.
DCT: Discrete Cosine Transform
DDR: Dual Data Rate.
DIMM: Dual In line Memory Module.
DMA: Direct Memory Access.
DRAM: Dynamic Random Access Memory.
DSTN: Double-layer SuperTwist Neumatic
DVD: Digital Versatil Disk.
EDO: Extended Data Out.
EIDE: Enhanced Intelligent Drive Electronics.
FIFO: First Input First Output.
FM: Frequency Modulation.
FPM: Fast Page Mode.
10
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
GTL: Gunning Transceiver Logic.
GUI: Graphics User Interface.
IC: Integrated Circuit.
IDE: Intelligent Drive Electronics.
ISA: Industrial Standard Arquitecture.
ITU: International Telecommunications Union.
LAN: Local Area Network.
LCD: Liquid Crystal Display.
LIFO: Last Input First Output.
Mb: Megabit.
MB: MegaByte.
MCU: MicroController Unit.
MIDI: Musical Instrument Digital Interface.
MIPS: Million of Instructions Per Second.
MPEG: Movie Picture Encoding Group.
NTSC: National Television System Commission.
PAL: Phase Alternation by Line.
PBGA: Plastic Ball Grid Array.
PC: Personal Computer.
PCB: Printed Circuit Board.
PCI: Peripheral Component Interconnect.
PCMCIA: Personal Computer Memory Card International Association.
PIO: Primary Input Output.
PLL: Phase Locked Loop.
PM: Page Mode.
PMU: Power Management Unit.
POS: Point Of Sale.
RAM: Random Access Memory.
RAMDAC: Random Access Memory - Digital to Analog Converter.
11
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
RAS: Row Address Strobe.
RDSI: Red Digital de Servicios Integrados.
RGB: Red Green Blue.
ROM: Read Only Memory.
ROP: Raster Operations.
RTC: Real Time Clock.
RTOS: Real Time Operating System.
SDRAM: Synchronous Dynamic Random Access Memory.
SECAM: Séquentiel à Mémoire.
SIMM: Single In line Memory Module.
SMM: System Management Mode.
SPGA: Small Pin Grid Array.
SVGA: Super Video Graphics Array.
TFT: Thin Film Transistor display technology.
UMA: Unified Memory Architecture.
UML: Unified Modelling Language.
USB: Universal Serial Bus.
UVI: Unidad de vigilancia intensiva.
VESA: Video Electronics Standards Association.
VGA: Video Graphics Array.
VL: VESA Local bus.
VLIW: Very Large Instruction Word
VSA: Virtual System Architecture.
12
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
MEMORIA
13
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
1. INTRODUCCIÓN AL PC
EMPOTRADO.
1.1. ¿Qué es un PC empotrado?
Un
PC
empotrado
es
un
sistema
basado
en
microprocesador
diseñado
específicamente para ser montado en el interior de numerosos equipos industriales
(automatización de procesos de fabricación o producción) y también en electrodomésticos
de última generación, aviones, vehículos y sistemas multimedia.
A diferencia de un PC (Personal Computer, Ordenador Personal), el PC empotrado,
también conocido como PC embarcado o embebido, es un sistema que busca un coste
mínimo mediante el diseño de sus módulos adecuándolos a las necesidades requeridas
por el sistema anfitrión donde va a ser colocado. Ello implica la eliminación de varios de
los elementos que existen en un PC, que no serán necesarios en el sistema anfitrión del
PC empotrado. La diferencia más frecuente es la menor potencia de procesado que suelen
requerir las aplicaciones de sistemas empotrados con respecto a las de un PC
convencional, así como la de menor resolución gráfica y posibilidades de ampliación con
nuevos módulos ya que el sistema anfitrión será diseñado en su totalidad para unos
requisitos específicos. Si el sistema anfitrión se queda obsoleto será no sólo por el PC
empotrado sino también por el resto de los elementos que lo integran, con lo que la
solución viene dada por el rediseño del sistema completo en la mayoría de los casos.
Además, en muchas situaciones el tamaño requerido del sistema embebido es cada vez
más reducido.
Con respecto a la eliminación de ciertos módulos o capacidades en un PC
empotrado con respecto al PC convencional conviene señalar que para ciertas
aplicaciones puede ser necesario, por el contrario, incluir alguna capacidad específica en
el PC empotrado que no aparezca en un PC convencional. Este hecho puede observarse
en alguno de los ejemplos que se citarán más adelante como aplicaciones típicas.
14
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
1.2. Microprocesadores y sistemas empotrados
[3].
Un microprocesador es una implementación en forma de circuito integrado (IC) de
la Unidad Central de Proceso (CPU) de un ordenador. Como consecuencia, nos referimos
frecuentemente a un microprocesador como simplemente “CPU”, y la parte de un sistema
que
contiene
al
microprocesador
se
denomina
subsistema
de
CPU.
Los
microprocesadores varían en consumo de potencia, complejidad y coste. Los hay de unos
pocos miles de transistores y con coste inferior a 200 pesetas (en producción masiva)
hasta de más de cinco millones de transistores que cuestan más de 100.000 pesetas.
Los subsistemas de entrada, salida y memoria pueden ser combinados con un
subsistema de CPU para formar un ordenador o sistema empotrado completo. Estos
subsistemas se interconectan mediante el bus de sistema (formado a su vez por el bus
de control, el bus de direcciones y el bus de datos).
SUBSISTEMA
BUS DE SISTEMA
CPU
SUBSISTEMA
MEMORIA
SUBSISTEMA
Datos obtenidos
ENTRADA
del exterior
SUBSISTEMA
Resultados hacia
SALIDA
el exterior
Figura 1.1
El subsistema de entrada acepta datos del exterior para ser procesados mientras
que el subsistema de salida transfiere los resultados hacia el exterior. Lo más habitual
15
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
es que hayan varios subsistemas de entrada y varios de salida. A estos subsistemas se
les reconoce habitualmente como periféricos de E/S.
El subsistema de memoria almacena las instrucciones que controlan el
funcionamiento del sistema. Estas instrucciones comprenden el programa que ejecuta el
sistema. La memoria también almacena varios tipos de datos: datos de entrada que aún
no han sido procesados, resultados intermedios del procesado y resultados finales en
espera de salida al exterior.
Es importante darse cuenta de que los subsistemas de la figura estructuran a un
sistema según funcionalidades. La subdivisión física de un sistema, en términos de
circuitos integrados o placas de circuito impreso (PCBs) puede y es normalmente
diferente. Un solo IC o PCB puede proporcionar múltiples funciones, tales como memoria
y entrada/salida.
Un
microcomputador
es
un
sistema
completo
implementado
con
un
microprocesador como el principal componente del subsistema de CPU. Se suele integrar
en un solo chip, junto con un limitada cantidad de memoria y de entradas/salidas.
Un microcontrolador (MCU) es un microcomputador sin memoria principal
interna, es decir, sólo con microprocesador y entradas/salidas. La memoria habrá que
añadirla
externamente.
Entre
los
subsistemas
de
E/S
que
incluyen
los
microcontroladores se encuentran los temporizadores, los convertidores analógico a
digital (ADC) y digital a analógico (DAC) y los canales de comunicaciones serie. Estos
subsistemas de E/S se suelen optimizar para aplicaciones específicas (por ejemplo audio,
video, procesos industriales, comunicaciones, etc.).
Hay que señalar que las líneas reales de distinción entre microprocesador,
microcontrolador y microcomputador en un solo chip están difusas, y se denominan en
ocasiones de manera indistinta unos y otros.
Un sistema empotrado es un sistema con microprocesador cuyo hardware y
software están específicamente diseñados y optimizados para resolver un problema
concreto eficientemente. Normalmente un sistema empotrado interactúa continuamente
con el entorno para vigilar o controlar algún proceso (de fabricación, de venta de
productos, de electrodomésticos o vehículos, etc.). Su hardware se diseña normalmente a
nivel de chips, no de interconexión de PCBs, buscando la mínima circuitería y el menor
tamaño para una aplicación particular. Pero, como alternativa, se puede diseñar a partir
del nivel de PCBs comprando placas con microprocesador comerciales que responden
normalmente a un estándar como el PC-104 (placas de tamaño concreto que se
16
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
interconectan entre sí “apilándolas” unas sobre otras, cada una de ellas con una
funcionalidad específica dentro del objetivo global que tenga el sistema empotrado en
diseño). Esta última solución acelera el tiempo de diseño pero no optimiza ni el tamaño
del sistema ni el número de componentes utilizados. Un sistema empotrado simple
contará con un microprocesador, memoria, unos pocos periféricos de E/S y un programa
dedicado a una aplicación concreta almacenado permanentemente en la memoria.
El término empotrado hace referencia al hecho de que el microcomputador está
encerrado
o
instalado
dentro
de
un
sistema
mayor
y
su
existencia
como
microcomputador puede no ser aparente. Un usuario no técnico de un sistema
empotrado puede no ser consciente de que está usando un sistema computador. En
algunos hogares las personas, que no tienen por qué ser usuarias de un ordenador
personal estándar (PC), utilizan del orden de diez o más sistemas empotrados cada día.
Los microcomputadores empotrados en estos sistemas controlan electrodomésticos tales
como: televisores, videos, lavadoras, alarmas, teléfonos inalámbricos, etc. Incluso un PC
tiene microcomputadores empotrados en el monitor, impresora, y periféricos en general,
adicionales a la CPU del propio PC.
Un
automóvil
puede
tener
hasta
un
centenar
de
microprocesadores
y
microcontroladores que controlan cosas como la ignición, transmisión, dirección asistida,
frenos antibloqueo (ABS), control de la tracción, etc.
Los sistemas empotrados se caracterizan normalmente por su necesidad de
dispositivos de E/S especiales. Cuando se opta por diseñar el sistema empotrado
partiendo de una placa con microcomputador también es necesario comprar o diseñar
placas de E/S adicionales para cumplir con los requisitos de la aplicación concreta.
Muchos sistemas empotrados son sistemas de tiempo real. Un sistema de tiempo
real debe responder, dentro de un intervalo restringido de tiempo, a eventos externos
mediante la ejecución de la tarea asociada con cada evento. Los sistemas de tiempo real
se pueden caracterizar como blandos o duros. Si un sistema de tiempo real blando no
cumple con sus restricciones de tiempo, simplemente se degrada el rendimiento del
sistema, pero si el sistema es de tiempo real duro y no cumple con sus restricciones de
tiempo,
el
sistema
fallará.
Este
fallo
puede
tener
posiblemente
consecuencias
catastróficas.
Un sistema empotrado complejo puede utilizar un sistema operativo como apoyo
para la ejecución de sus programas, sobre todo cuando se requiere la ejecución
simultánea de los mismos [11]. Cuando se utiliza un sistema operativo lo más probable
es que se tenga que tratar de un sistema operativo en tiempo real (RTOS), que es un
17
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
sistema operativo diseñado y optimizado para manejar fuertes restricciones de tiempo
asociadas con eventos en aplicaciones de tiempo real. En una aplicación de tiempo real
compleja la utilización de un RTOS multitarea puede simplificar el desarrollo del
software.
1.3. Arquitectura básica [4].
Un PC empotrado posee una arquitectura semejante a la de un PC. Brevemente
éstos son los elementos básicos:
•
Microprocesador. Es el encargado de realizar las operaciones de cálculo
principales del sistema. Ejecuta código para realizar una determinada tarea y
dirige el funcionamiento de los demás elementos que le rodean,
a modo de
director de una orquesta.
•
Memoria. En ella se encuentra almacenado el código de los programas que el
sistema puede ejecutar así como los datos. Su característica principal es que
debe tener un acceso de lectura y escritura lo más rápido posible para que el
microprocesador no pierda tiempo en tareas que no son meramente de cálculo.
Al ser volátil el sistema requiere de un soporte donde se almacenen los datos
incluso sin disponer de alimentación o energía.
•
Caché. Memoria más rápida que la principal en la que se almacenan los datos
y el código accedido últimamente. Dado que el sistema realiza microtareas
muchas veces repetitivas, la caché hace ahorrar tiempo ya que no hará falta ir
a memoria principal si el dato o la instrucción ya se encuentra en la caché.
Dado su alto precio tiene un tamaño muy inferior (8 – 512 KB) con respecto a
la principal (8 – 256 MB). En el interior del chip del microprocesador se
encuentra una pequeña caché (L1), pero normalmente se tiene una mayor en
otro chip de la placa madre (L2).
•
Disco duro. En él la información no es volátil y además puede conseguir
capacidades muy elevadas. A diferencia de la memoria que es de estado sólido
éste suele ser magnético. Pero su excesivo tamaño a veces lo hace inviable para
PCs empotrados, con lo que se requieren soluciones como discos de estado
sólido. Existen en el mercado varias soluciones de esta clase (DiskOnChip,
CompactFlash, IDE Flash Drive, etc.) con capacidades suficientes para la
mayoría de sistemas embebidos (desde 2 hasta 220 MB). El controlador del
18
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
disco duro de PCs estándar cumple con el estándar IDE y es un chip más de la
placa madre.
•
Disquetera. Su función es la de un disco duro pero con discos con capacidades
mucho más pequeñas y la ventaja de su portabilidad. Siempre se encuentra en
un PC estándar pero no así en un PC empotrado.
•
BIOS-ROM. BIOS (Basic Input & Output System, sistema básico de entrada y
salida) es código que es necesario para inicializar el ordenador y para poner en
comunicación los distintos elementos de la placa madre. La ROM (Read Only
Memory, memoria de sólo lectura no volátil) es un chip donde se encuentra el
código BIOS.
•
CMOS-RAM. Es un chip de memoria de lectura y escritura alimentado con una
pila donde se almacena el tipo y ubicación de los dispositivos conectados a la
placa madre (disco duro, puertos de entrada y salida, etc.). Además contiene
un reloj en permanente funcionamiento que ofrece al sistema la fecha y la
hora.
•
Chip Set. Chip que se encarga de controlar las interrupciones dirigidas al
microprocesador, el acceso directo a memoria (DMA) y al bus ISA, además de
ofrecer temporizadores, etc. Es frecuente encontrar la CMOS-RAM y el reloj de
tiempo real en el interior del Chip Set.
•
Entradas al sistema: pueden existir puertos para ratón, teclado, vídeo en
formato digital, comunicaciones serie o paralelo, etc.
•
Salidas del sistema: puertos de vídeo para monitor o televisión, pantallas de
cristal líquido, altavoces, comunicaciones serie o paralelo, etc.
•
Ranuras de expansión para tarjetas de tareas específicas que pueden no venir
incorporadas
en
la
placa
madre,
como
pueden
ser
más
puertos
de
comunicaciones, acceso a red de ordenadores vía LAN (Local Area Network, red
de área local) o vía red telefónica: básica, RDSI (Red Digital de Servicios
Integrados),
ADSL
(Asynchronous
Digital
Subscriber
Loop,
Lazo
Digital
Asíncrono del Abonado), etc. Un PC estándar suele tener muchas más ranuras
de expansión que un PC empotrado. Las ranuras de expansión están asociadas
a distintos tipos de bus: VESA, ISA, PCI, NLX (ISA + PCI), etc.
Hoy en día existen en el mercado fabricantes que integran un microprocesador y los
elementos controladores de los dispositivos fundamentales de entrada y salida en un
mismo chip, pensando en las necesidades de los sistemas empotrados (bajo coste,
19
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
pequeño tamaño, entradas y salidas específicas,...). Su capacidad de proceso suele ser
inferior a los procesadores de propósito general pero cumplen con su cometido ya que los
sistemas donde se ubican no requieren tanta potencia. Los principales fabricantes son
ST Microelectronics (familia de chips STPC), National (familia Geode), Motorola (familia
ColdFire) e Intel. En el capítulo 3 se describen las características de varios de estos chips.
En cuanto a los sistemas operativos necesarios para que un sistema basado en
microprocesador pueda funcionar y ejecutar programas suelen ser específicos para los
sistemas embebidos. Así nos encontramos con sistemas operativos de bajos requisitos de
memoria, posibilidad de ejecución de aplicaciones de tiempo real, modulares (inclusión
sólo de los elementos necesarios del sistema operativo para el sistema embebido
concreto), etc. Los más conocidos en la actualidad son Windows CE, QNX y VxWorks de
WindRiver.
1.4. Aplicaciones de un PC empotrado.
Los lugares donde se pueden encontrar PCs empotrados son numerosos y de varias
naturalezas. A continuación se exponen varios ejemplos para ilustrar las posibilidades de
los mismos:
•
En una fábrica, para controlar un proceso de montaje o producción. Una
máquina que se encargue de una determinada tarea hoy en día contiene
numerosos circuitos electrónicos y eléctricos para el control de motores,
hornos, etc. que deben ser gobernados por un procesador, el cual ofrece un
interfaz persona – máquina para ser dirigido por un operario e informarle al
mismo de la marcha del proceso.
•
Puntos de servicio o venta (POS, Point Of Service). Las cajas donde se paga la
compra en un supermercado son cada vez más completas, integrando teclados
numéricos, lectores de códigos de barras mediante láser, lectores de tarjetas
bancarias de banda magnética o chip, pantalla alfanumérica de cristal líquido,
etc. El PC empotrado en este caso requiere numerosos conectores de entrada y
salida y unas características robustas para la operación continuada.
•
Puntos de información al ciudadano. En oficinas de turismo, grandes
almacenes, bibliotecas, etc. existen equipos con una pantalla táctil donde se
puede pulsar sobre la misma y elegir la consulta a realizar, obteniendo una
respuesta personalizada en un entorno gráfico amigable.
20
Carlos Prades del Valle
•
Desarrollo de un PC empotrado con procesado de señal
Decodificadores y set-top boxes para la recepción de televisión. Cada vez existe
un mayor número de operadores de televisión que aprovechando las
tecnologías vía satélite y de red de cable ofrecen un servicio de televisión de
pago diferenciado del convencional. En primer lugar envían la señal en formato
digital MPEG-2 con lo que es necesario un procesado para decodificarla y
mandarla al televisor. Además viaja cifrada para evitar que la reciban en claro
usuarios sin contrato, lo que requiere descifrarla en casa del abonado.
También ofrecen un servicio de televisión interactiva o web-TV que necesita de
un software específico para mostrar páginas web y con ello un sistema basado
en procesador con salida de señal de televisión.
•
Sistemas radar de aviones. El procesado de la señal recibida o reflejada del
sistema radar embarcado en un avión requiere alta potencia de cálculo además
de ocupar poco espacio, pesar poco y soportar condiciones extremas de
funcionamiento (temperatura, presión atmosférica, vibraciones, etc.).
•
Equipos de medicina en hospitales y ambulancias UVI – móvil.
•
Máquinas de revelado automático de fotos.
•
Cajeros automáticos.
•
Pasarelas (Gateways) Internet-LAN.
•
Y un sin fin de posibilidades aún por descubrir o en estado embrionario como
son las neveras inteligentes que controlen su suministro vía Internet, PCs de
bolsillo, etc.
1.5. Ventajas de un PC empotrado sobre las
soluciones industriales tradicionales.
Los equipos industriales de medida y control tradicionales están basados en un
microprocesador con un sistema operativo propietario o específico para la aplicación
correspondiente
[3].
Dicha
aplicación
se
programa
en
ensamblador
para
el
microprocesador dado o en lenguaje C, realizando llamadas a las funciones básicas de
ese sistema operativo que en ciertos casos ni siquiera llega a existir. Con los modernos
sistemas PC empotrado basados en microprocesadores i486 o i586 [5][6] se llega a
integrar el mundo del PC compatible con las aplicaciones industriales. Ello implica
numerosas ventajas:
21
Carlos Prades del Valle
•
Desarrollo de un PC empotrado con procesado de señal
Posibilidad de utilización de sistemas operativos potentes que ya realizan
numerosas tareas: comunicaciones por redes de datos, soporte gráfico,
concurrencia con lanzamiento de threads, etc. Estos sistemas operativos
pueden ser los mismos que para PCs compatibles (Windows, MS-DOS) con
fuertes exigencias en hardware o bien ser una versión reducida de los mismos
con características orientadas a los PCs empotrados.
•
Al utilizar dichos sistemas operativos se pueden encontrar fácilmente
herramientas
de
desarrollo
software
potentes
así
como
numerosos
programadores que las dominan, dada la extensión mundial de las aplicaciones
para PCs compatibles.
•
Reducción en el precio de los componentes hardware y software debido a la
gran cantidad de PCs en el mundo.
22
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
2. CICLO DE VIDA DEL DISEÑO
DE UN PC EMPOTRADO.
2.1. Fases de vida del diseño.
En el presente capítulo se describen las fases de vida necesarias para construir un
PC empotrado [2][3][14]. Desde la primera fase, conocida como diseño previo del sistema,
hasta la última, que consiste en la prueba del mismo, se debe de cuidar el orden de
ejecución de las tareas y solapar las que sean posibles de modo que se obtenga un
producto fiable en el menor tiempo posible de puesta en el mercado (time-to-market bajo).
En la figura 2.1 se observan las fases principales.
Diseño
previo del
sistema
Diseño del
Prototipo
hardware
Diseño del
software
Integración
del sistema
Prueba final
del sistema
Figura 2.1
23
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
2.2. Diseño previo del sistema.
Esta fase de vida se divide a su vez en otras cinco fases: determinación de los
requisitos del sistema, diseño de la plataforma PC empotrado, elección de la memoria y
del sistema operativo, determinación de las entradas-salidas y elección de la BIOS. A
continuación se detallan cada una de ellas.
2.2.1. Determinación de los requisitos del sistema.
▫
Una de las partes más importantes del desarrollo de un PC
empotrado es la captura de los requisitos del sistema para la aplicación
buscada. Más adelante se dan unas consideraciones clave. Cuanto
mejor se realice esta fase previa a la creación de un prototipo menos
probables serán los indeseados cambios tanto en hardware como en
software. Aún así hay que recordar que el desarrollo del sistema
generalmente es un proceso iterativo. Al recorrer los últimos pasos del
proyecto puede surgir la necesidad de revisar las primeras fases para
conseguir un producto fiable, consistente y que cumpla con todos los
requisitos.
2.2.1.1. Consideraciones técnicas.
•
Definición de los interfaces de control.
◦
Los tipos de dispositivos que habrá que controlar o con los que se habrá
de comunicar, así como las propiedades eléctricas y mecánicas de sus
interfaces.
◦
Una definición general de los requisitos de tipo de memoria (volátil, no
volátil, estado sólido, magnética).
◦
La definición de cómo el sistema interactuará con las personas (monitor,
teclado, lector de códigos de barras, etc.).
•
Definición de la aplicación software.
◦
Descripción específica de todas las características de la aplicación
software.
◦
Características de depurado.
◦
Características del software de arranque.
24
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
◦
Posibilidad de actualización del software.
◦
Características básicas de la BIOS.
◦
Previsión de controladores (drivers) para el funcionamiento del hardware
externo.
◦
Elección del método de implementación del software de modo que el
código sea reutilizable.
•
Requisitos de alimentación.
◦
Posibilidad de alimentación mediante batería o pilas.
◦
Alimentación de seguridad para condiciones de caída de la alimentación
principal.
◦
•
Previsiones generales de consumo del sistema.
Requisitos térmicos del sistema.
◦
Refrigeración por ventilador o por convección.
◦
Ubicación de los componentes para una efectiva gestión térmica.
◦
Condiciones ambientales externas para determinar las necesidades de
control térmico.
◦
Tiempo de vida esperado del sistema frente a las necesidades de control
térmico.
•
•
Diseño de la forma y tamaño.
◦
Restricciones en cuanto a dimensiones.
◦
Robustez del producto.
Definición de los subsistemas principales.
◦
Los subsistemas principales con suficiente complejidad deben tener una
definición similar a la del sistema completo para evitar problemas o
elevados costes de integración.
•
Necesidades de rendimiento.
◦
Necesidades de velocidad de procesado.
◦
Capacidad de manejar interfaces gráficas.
◦
Capacidad de ejecutar software exterior.
◦
Capacidad de comunicarse con otros interfaces de alta velocidad.
25
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
2.2.1.2. Consideraciones a nivel de proyecto.
•
•
•
•
•
•
•
Previsión del tiempo que el producto vivirá en el mercado.
◦
Disponibilidad de componentes.
◦
Soporte y mantenimiento del producto vendido.
Estimación del tiempo de desarrollo.
◦
Ventana temporal de la oportunidad de mercado.
◦
Velocidad para sacar los primeros prototipos.
◦
Disponibilidad de encontrar desarrolladores con experiencia.
Nivel de experiencia de diseño o desarrollo.
◦
Experiencia de diseño de hardware de alta frecuencia.
◦
Familiarización con los entornos de programación.
Actualizaciones del software.
◦
Número esperado de actualizaciones.
◦
Previsión del crecimiento del tamaño del programa.
◦
Posible crecimiento de programas procedentes del exterior.
Efectividad de la plataforma de desarrollo.
◦
Tiempo estimado para la finalización del primer prototipo.
◦
Disponibilidad de herramientas.
◦
Capacidad de utilización o integración de periféricos.
◦
Facilidad de uso.
Mantenimiento.
◦
Procedimiento de actualización del hardware y del software.
◦
Mantenimiento o sustitución de componentes.
◦
Mantenimiento o sustitución de subsistemas.
◦
Mantenimiento térmico del sistema.
Actualizaciones del hardware.
◦
Estudio de las necesidades de actualización.
◦
Expansión y modularidad del diseño.
26
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
2.2.2. Diseño de la plataforma PC empotrado.
El diseño de los PCs empotrados se desarrolla siguiendo las técnicas de diseño de
los PCs de sobremesa comunes. Sirvan como pautas generales lo mencionado en los
apartados 1.2 y 1.3 (arquitectura básica) y lo descrito a continuación.
En torno al microprocesador propiamente dicho, elegido en esta fase, se suelen
agrupar los siguientes subsistemas, algunos de ellos integrados en el mismo chip como
se verá en el capítulo 3:
•
Puente Norte o NorthBridge, el cual controla las transferencias con la memoria
principal (asíncrona o síncrona, esto es, DRAM o SDRAM), así como las
transferencias entre microprocesador y bus PCI. Si el sistema dispone de caché
de nivel II (L2), también ofrecerá su manejo. Según el diseño elegido también
puede proporcionar control de paridad y detección y corrección de errores
(ECC, Error Checking and Correction).
•
Puente Sur o SouthBridge, el cual persigue múltiples propósitos, como son:
◦
Conexión del bus PCI al bus ISA, IDE, USB, etc. Mediante el bus ISA y
unas señales de control se accede a la BIOS.
◦
Temporizadores, contadores.
◦
Acceso directo a memoria (DMA).
◦
Control de interrupciones originadas en dispositivos conectados al bus
ISA o PCI.
◦
Interfaces a periféricos como teclado, ratón, disquetera, reloj de tiempo
real, etc.
◦
•
Puertos serie y paralelo.
Bloque generador de las señales de reloj. Los relojes son responsables de
hacer correr todos los subsistemas incluyendo microprocesador, memoria
síncrona, buses PCI, ISA, USB, etc. Hay que cuidar su diseño puesto que
afecta directamente a la integridad de los datos a través del sistema.
•
Caché
de
nivel
II.
Esta
memoria,
usualmente
externa
al
chip
del
microprocesador, está diseñada para almacenar copias locales de datos
accedidos con frecuencia en la memoria principal. Es más rápida que esta
última, dado que es de tecnología estática en vez de dinámica, y su tamaño
suele oscilar entre 256 KB y 1 MB. Puede que no esté presente, ya que suele
27
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
considerarse suficiente la caché de nivel I (interna) para muchos de los
diseños.
•
Memoria principal SDRAM o DRAM. Con tamaños que oscilan entre los 2 MB y
1 GB, esta memoria puede ser síncrona (SDRAM) o asíncrona (DRAM). La
primera está sustituyendo a la segunda de una manera aplastante dadas sus
mejores características de velocidad y precio.
•
Memoria flash o ROM de arranque. En una memoria flash (actualizable) o ROM
(no actualizable) se almacena el código BIOS, necesario para arrancar el PC y
controlar a bajo nivel los periféricos.
•
Bus PCI. Éste es un bus estándar de la industria con una anchura para los
datos de 32 o 64 bits corriendo a una velocidad de 33 MHz. Puede ser de 5V o
de 3.3V en cuanto a las señales eléctricas se refiere. El bus PCI generalmente
soporta las tasas de transferencia de datos más altas (video, sonido, etc)
además de existir en el mercado números periféricos que se conectan a este
bus (tarjetas de red ethernet, módems, etc.)
2.2.3. Elección de la memoria y del sistema operativo.
2.2.3.1. Memoria.
Los subsistemas de memoria para un PC empotrado son generalmente los tres
siguientes: memoria de arranque, memoria principal y memoria de almacenamiento.
•
Memoria de arranque. Es una memoria no volátil que almacena el código
inicial y la BIOS del sistema. Puede incluso que el sistema operativo, si es
pequeño, resida en esta memoria. Su tamaño no suele superar los 256 KB y el
tipo más habitual es la flash.
•
Memoria principal. Puede ser DRAM o SDRAM, en forma de chips o en
módulos SIMM o DIMM, con tamaño total de 2 MB a 1 GB. Éste tamaño debe
ser suficiente para las previsiones de espacio exigidas por la BIOS, el sistema
operativo, las aplicaciones y las necesidades de almacenamiento de dispositivos
de entrada/salida. El margen de seguridad del tamaño decidido con respecto al
calculado según las necesidades suele ser del 20% al 100%.
•
Memoria de almacenamiento. Ésta puede estar integrada fundamentalmente
por discos duros (soporte magnético) o memoria flash (estado sólido) [12]. Su
28
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
utilidad reside en el almacenamiento del sistema operativo, aplicaciones, datos,
etc.
2.2.3.2. Sistema operativo.
La elección del sistema operativo normalmente es una decisión de peso en el
entorno de los PCs empotrados. Para aplicaciones de tiempo real se utilizan sistemas
operativos específicos para PCs empotrados como son Windows CE, QNX y VxWorks de
WindRiver. Son modulares de forma que sólo se escogen los componentes necesarios
para las aplicaciones específicas del PC empotrado fabricado, ahorrando así espacio en la
memoria.
2.2.4. Determinación de las entradas-salidas.
Básicamente hay dos grandes opciones de diseño, normalmente entremezcladas:
•
Proporcionar conectividad a dispositivos de entrada/salida externos a la placa
base mediante ranuras de expansión del bus PCI o ISA.
•
Crear un interfaz de entradas/salidas propio, esto es, incluido en la placa base.
Ciertamente la primera opción acelera el tiempo de diseño, pero algunas veces los
requisitos de tamaño o otras variables pueden forzar a tomar la segunda opción. De
cualquier forma la conexión se realiza básicamente mediante los buses ISA o PCI. La
elección de uno u otro depende de las exigencias de velocidad o ancho de banda. El bus
PCI es más rápido que el bus ISA y puede conseguir mayores velocidades (normalmente
más de cuatro veces superior).
2.2.5. Elección de la BIOS.
La BIOS de un PC es la responsable de la configuración del microprocesador,
dispositivos periféricos y software residente especializado en el momento del arranque del
sistema. Una gran variedad de empresas proporciona códigos BIOS para la mayoría de
las plataformas. La precaución que hay que tomar es que ese código BIOS soporte todo el
hardware que hemos utilizado en nuestro diseño.
29
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
2.3. Diseño del hardware.
El hardware se diseña en dos fases: creación de los esquemas y creación del layout
de la placa de circuito impreso (PCB).
2.3.1. Creación de los esquemas.
El diseño electrónico del sistema se realiza mediante unos diagramas llamados
esquemas,
los
cuales
representan
los
componentes
mediante
símbolos
y
sus
interconexiones mediante líneas, de modo que sea fácil o digerible de visualizar. Estos
diagramas se realizan con herramientas software CAD (Computer Aided Design, Diseño
Asistido por Ordenador) tales como Protel o VeriBest de Intergraph. Esta última ha sido
la utilizada en este proyecto para crear los esquemas que se encuentran al final del libro.
Unos buenos esquemas deben incluir información extra requerida para entender el
funcionamiento del sistema. Entre otras cosas deben figurar nombres representativos en
las líneas que representan buses o señales entre dos componentes. Todos los
componentes que se vayan a colocar en la placa de circuito impreso, que se puede
fabricar gracias al layout cuya realización se describe en el siguiente punto, deben tener
su representación en los esquemas mediante símbolos, normalmente rectangulares con
sus pines alrededor.
El diseñador de los esquemas debe consultar la documentación técnica o
especificaciones de los componentes utilizados de tal forma que se realice la conexión
entre ellos de una manera correcta. Se deben cuidar aspectos como la temporización en
las comunicaciones entre ellos y las cargas (esto es, que una salida proporcione
suficiente corriente eléctrica para las entradas a las que llega). Sobre todo a altas
frecuencias de trabajo del sistema (por encima de 50 MHz), hay que cuidar la adaptación
entre componentes, esto es, que no se produzcan reflexiones de ondas eléctricas en las
interconexiones entre componentes ya que harán imposible la transferencia de
información legible. Para ello puede ser necesario, por ejemplo, colocar resistencias serie
cerca de los terminales de los componentes, de un valor adecuado para que se produzca
adaptación de impedancias.
30
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
2.3.2. Creación del layout de la PCB.
El layout consiste en una representación exacta de las huellas de los componentes
y de las pistas que unen sus pines o terminales. Se entiende por huella de un
componente los puntos de cobre que necesita en la placa base para poder ser soldado y
fijado, mientras que las pistas son las líneas de cobre de una cierta anchura que permite
la propagación eléctrica de las señales entre los componentes. La placa está formada por
una lámina de fibra de vidrio o similar con varias capas de cobre (2 exteriores y posibles
internas, a modo de sándwich). Mediante los gerbers, que son unos dibujos que
representan el layout, el fabricante de PCBs puede construir la placa con las huellas y
pistas necesarias. Tras ello se pueden soldar los componentes.
El layout también se realiza mediante una herramienta CAD, integrada con la de
creación de esquemas. Así los esquemas dirigen la creación del layout estableciendo
cuales deben ser las uniones entre los componentes, ahora en forma de pistas que
recorrerán el camino necesario para unir dos puntos. Esto normalmente se hace no sin
esquivar un cierto número de obstáculos (otras pistas, componentes, etc.). Entre los
aspectos a cuidar en la creación de la PCB está la posibilidad de elegir encapsulados de
diferentes formas o tipos para un mismo componente, así como la compatibilidad
electromagnética de la placa (esto es, que las señales de alta frecuencia no interfieran con
otras de la misma placa ni con otras del exterior). Mediante la herramienta de
autoenrutado o autorouter el programa CAD puede dibujar todas las pistas sin más que
elegir el sitio donde irá cada componente (ubicación o placement). Dependiendo de la
densidad de pistas pueden ser necesarias más o menos capas de pistas de la PCB.
2.4. Diseño del software.
El software que hay que realizar para que el sistema cumpla su funcionalidad se
suele empezar a desarrollar a la par que el diseño del hardware. Una vez que el hardware
y el software están concluidos se podrá efectuar la integración del sistema. Mientras que
llega ese momento, el software se desarrolla probándolo y depurándolo con emuladores
software o hardware que proporcionan los fabricantes del microprocesador u otras
empresas. Al utilizar una arquitectura de PC se puede simplificar el desarrollo del
software dado que existen en el mercado números módulos ya implementados que se
pueden comprar. Dónde puede haber mayor complejidad es en los requisitos de tiempo
real que pueda tener el sistema.
31
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
El software se empieza a desarrollar por una fase inicial de captura de requisitos de
usuario (lo que el usuario final espera obtener del sistema). Tras ello se establecen los
requisitos de sistema (lo que el sistema debe tener para poder cumplir con los requisitos
de usuario). Los requisitos de sistema son más técnicos que los de usuario y por lo
general en mayor número, ya que para cubrir un requisito de usuario pueden ser
necesarios más de un requisito de sistema. Tras ello se realiza el diseño arquitectónico,
en el que se trazan los principales bloques software del sistema por funciones, así como
sus relaciones. En el diseño detallado se establece la estructura interna de cada uno de
esos bloques del diseño arquitectónico, llegando a fijar las cabeceras de las funciones del
código (nombre de la función y nombre y tipo de los parámetros) y los datos globales.
El desarrollar el software con una metodología orientada a objetos tiene la gran
ventaja de encapsular datos y funciones asociadas a los mismos en unas unidades
reutilizables llamadas objetos, facilitando la modularidad y reutilización de los
componentes para otros proyectos. Lenguajes para ello son el C++ y el Java, entre otros.
A un nivel superior se puede seguir un desarrollo de diseño software previo a la
codificación de las funciones extremadamente ordenado y jerárquico, con las ventajas
correspondientes. Estamos hablando de la metodología UML (Unified Modelling Language,
Leguaje Unificado de Modelado). Con una herramienta software de UML como es Rose de
Rational se pueden realizar de una manera gráfica los diseños arquitectónico y detallado,
con numerosos posibles diagramas (de clases, de interacción entre clases, de estados
dentro de una misma clase, etc) que terminan en la generación de las cabeceras de las
clases y de sus datos y funciones miembro. Por último quedaría codificar el cuerpo de
dichas funciones. Se suelen asignar ingenieros distintos para cada uno de los niveles
software (diseño, codificación, prueba).
Hay que destacar también la importancia de documentar el software, al igual que el
hardware. En el código hay que añadir líneas de comentarios describiendo la
funcionalidad o utilidad de las variables y funciones, e incluso explicaciones de trozos de
código. También se debe generar un documento con la descripción del software. Éste
queda prácticamente constituido con los diagramas que se van generando con la
metodología UML.
2.5. Prototipo.
El prototipo es un equipo hardware que tiene partes idénticas a las del producto
final pero no está completo. O incluso puede ser diferente al producto final pero con
fuertes similitudes. El caso es que sirva para ir probando módulos software y con ello
32
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
también el hardware, que también debe ser depurado. Este prototipo se puede construir
adquiriendo los componentes necesarios y fabricando una PCB o bien se puede comprar
a un tercero una placa de evaluación del microprocesador utilizado de modo que se
ahorre bastante tiempo. Nos estamos refiriendo al emulador hardware que se mencionó
en el anterior apartado de diseño del software. Para este último caso lo que se hace es
probar el software, pero de cualquier forma el hardware propio habrá que probarlo tarde
o temprano, en última instancia en la integración del sistema.
2.6. Integración del sistema.
Esta es la primera vez que se prueba el sistema completo (tanto software como
hardware a la vez). En realidad se debe estar probando el hardware, ya que el software
debe estar correcto tras las pruebas sobre emuladores hardware o software cuyo
comportamiento es casi idéntico al que debe ofrecer el hardware propio.
La integración es “el momento de la verdad”. Es un paso de elevada ansiedad en el
proceso de desarrollo. Aquí es donde se encuentran los errores costosos y que deben ser
remediados. Desafortunadamente, la integración del sistema normalmente ocurre cerca
del final del ciclo de vida del proyecto, cuando los errores alcanza el máximo coste para
su reparación. Dependiendo del tipo de sistema empotrado, el coste añadido para
corregir un error aumenta de 2 a 10 veces por cada fase de vida. Otro problema de los
errores encontrados en la integración del sistema es que puede retrasar el plazo de
entrega del proyecto.
Existen numerosas formas de reducir el tiempo de integración. Una de las mejores
consiste en crear un prototipo hardware dentro de la fase de diseño hardware y permitir
pruebas de partes del software que se va desarrollando. Además el desarrollo del software
se acelera dado que no hay que perder tiempo implementando software que simule el aún
inexistente hardware.
2.7. Prueba final del sistema.
La prueba final consiste en la comprobación de que el sistema cumple con todos los
requisitos esperados. Las pruebas pueden ser Alfa si se realizan en la propia empresa de
desarrollo del sistema o pueden ser Beta si se realizan con el cliente o usuario en el lugar
33
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
que él designe. Tras esta fase sólo queda la política de mantenimiento (principalmente
software) que se establezca entre ambas partes.
34
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
3. MICROCONTROLADORES
PARA PC EMPOTRADO.
3.1. STPC Consumer-S de ST Microelectronics
[20].
3.1.1. Introducción.
STPC Consumer-S integra un núcleo x86 con pipeline de cinco etapas, un
controlador de memoria DRAM, un subsistema gráfico, un pipeline de vídeo y lógica de
apoyo que incluye controladores PCI, ISA e IDE para proporcionar un subsistema PCcompatible en un solo chip. La potencia de proceso de su núcleo equivale a la de un
microprocesador 486 de 32 bits pero con interfaz de memoria de 64 bits.
El dispositivo se basa en Arquitectura Unificada de Memoria (UMA), compartiendo
el mismo array de memoria la principal del sistema y los búferes de gráficos y vídeo.
El STPC Consumer-S está encapsulado en un 388PBGA y su alimentación es a
3.3V.
3.1.2. Características fundamentales.
•
Núcleo de procesador x86:
◦
Pipeline de cinco etapas, 32 bits, completamente estático, velocidad de 66
o 75 MHz, tecnología CMOS de 0.35 µm, núcleo a 3.3V. Compatible con
sistemas operativos UNIX, Windows CE, Windows 3.1/95/98/NT, QNX,
Linux, DOS, Embedded DOS, VxWorks, OS9, Winlight, Java OS, NC
Operating System, etc.
◦
Acceso de hasta 4 GB de memoria externa.
35
Carlos Prades del Valle
◦
Desarrollo de un PC empotrado con procesado de señal
8 KB de caché unificada para código y datos con modos write back y write
through.
◦
Unidad de punto flotante integrada, de procesado paralelo, con apagado
automático.
•
◦
Velocidad de reloj del núcleo de 66, 75, 90 o 100 MHz en modo DX.
◦
Diseño completamente estático para el control dinámico del reloj.
◦
Modos de gestión de sistema y de bajo consumo.
◦
Diseño optimizado para funcionamiento a 3.3V.
Controlador de SDRAM:
◦
Memoria de sistema y gráfica integrada.
◦
Anchura del bus de datos de 64 bits.
◦
Velocidad de reloj de SDRAM de hasta 66 MHz.
◦
Permite desde 2 MB hasta 128 MB de memoria en cuatro bancos.
◦
Permite DIMMs de SDRAM de 8 MB, 16 MB y 32 MB, de tipo buffered, non
buffered o registered.
◦
Soporta 8, 10, 12, 13 o 15 chips de memoria por DIMM.
◦
4 búferes de escritura de 4 palabras para ciclos de CPU a SDRAM y de
PCI a SDRAM.
•
•
◦
4 búferes de lectura de 4 palabras para PCI masters.
◦
Agujeros de memoria de 1 MB a 8 MB para buses PCI e ISA.
Controlador gráfico:
◦
Acelerador de 64 bits.
◦
Compatibilidad hacia atrás para estándares SVGA.
◦
Aceleración hardware para texto, bit blts, blts transparentes y rellenos.
◦
Cursor hardware para gráficos de hasta 64 x 64 bits.
◦
Frame Buffer lineal de hasta 4 MB.
◦
Píxeles de 8, 16 y 24 bits.
Controlador CRT:
◦
RAMDAC triple de 135 MHz integrado que permite pantallas de hasta
1024 x 768 x 75 Hz.
36
Carlos Prades del Valle
•
Desarrollo de un PC empotrado con procesado de señal
◦
Píxeles de 8, 16 y 24 bits.
◦
Salida entrelazada o no entrelazada.
Pipeline de Vídeo:
◦
Filtro de interpolado horizontal de doble pasada.
◦
Filtro de interpolado vertical de doble pasada.
◦
Conversión del espacio de colores (RGB a YUV y YUV a RGB).
◦
Tamaño de ventana programable.
◦
Codificación de color y de cromaquí que permite la superposición de
vídeo.
•
Puerto de entrada de vídeo:
◦
Decodificación de entrada de vídeo en formatos compatibles con ITU-R
601.
◦
Diezmador opcional 2:1.
◦
Almacenamiento de vídeo capturado fuera del área de ajuste del frame
buffer de la placa madre.
◦
Redireccionamiento hacia la salida de televisión (codificador PAL/NTSC
incorporado en el chip).
◦
Generación de fuentes de sincronismo HSYNC y B/T o enganche a una
fuente exterior de temporización de vídeo.
•
Salida de televisión:
◦
Filtro antiparpadeo programable de dos pasadas con corrección gamma o
filtro de tres pasadas sin corrección gamma.
◦
Convertidor de pasadas progresivas a entrelazadas.
◦
Salidas de video programables NTSC-M, PAL-M, PAL-B, D, G, H, I PAL-N.
◦
Codificación
CCIR601
con
frecuencia
de
subportadora
de
color
programable.
◦
Capacidad de inserción o salto de línea.
◦
Modo de operación entrelazado o no entrelazado.
◦
Entrada digital CB-Y-CR multiplexada de 8 bits en modo 625 líneas/50Hz
o 525 líneas/60Hz.
37
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
◦
Salidas analógicas simultáneas CVBS y RGB a través de DACs de 10 bits.
◦
Reducción del solapamiento de colores mediante un filtrado específico en
la componente de luminosidad dentro del flujo CVBS.
◦
•
Modo de ahorro de energía disponible en cada DAC.
Controlador PCI:
◦
Cumple completamente con la norma PCI v2.1.
◦
Interfaz de arbitraje PCI integrado capaz de manejar directamente hasta 3
masters PCI a la vez.
•
◦
Traducción de ciclos PCI al bus ISA.
◦
Traducción del ciclo master ISA iniciado a PCI.
◦
Permite lectura y escritura en modo ráfaga desde el master PCI.
◦
El reloj de PCI corre a un tercio o la mitad del de la CPU.
Master/slave ISA:
◦
El reloj ISA se genera a partir del oscilador de 14.318 MHz o a partir del
reloj de PCI.
◦
Permite la programación de ciclos de espera para ciclos ISA.
◦
Permite tiempo de recuperación de entrada/salida para ciclos de
entrada/salida retorno-retorno.
◦
Puerto A20 rápido y reset rápido.
◦
Permite la ROM única: que los bloques C, D y E compartan el bloque F de
la BIOS ROM.
◦
Permite flash ROM.
◦
Ciclos master ISA y DMA con búferes para reducir la utilización del ancho
de banda del bus PCI y Host. Cumple con la norma NSP.
•
Interfaz IDE:
◦
Permite PIO y Bus Master IDE.
◦
Permite hasta el modo 5 de temporización.
◦
Permite hasta 4 dispositivos IDE.
◦
Temporización individual para cada uno de los cuatro dispositivos IDE.
◦
Tasas de transferencia de hasta 22 MB/s.
38
Carlos Prades del Valle
◦
Desarrollo de un PC empotrado con procesado de señal
Funcionamiento de canal concurrente (modos PIO): búfer FIFO por canal
de 4 x 32 bits.
◦
Permite modos PIO 3 y 4.
◦
Permite modos DMA 1 y 2.
◦
Permite transferencias de datos PIO de I/O Channel Ready de 11.1/16.6
MB/s.
•
◦
Permite transferencias de datos DMA de 13.3/16.6 MB/s.
◦
Bus Master con capacidad de cesión y toma.
◦
Permite transferencias DMA multipalabra para dispositivos IDE rápidos.
◦
Permite los modos IDE legacy y native.
◦
Permite discos duros de más de 528 MB.
◦
Permite periféricos CD-ROM y lector de cintas.
◦
Compatibilidad hacia atrás con IDE (ATA-1).
Interfaz de bus local (Local Bus):
◦
Multiplexado con el interfaz ISA.
◦
Bus de baja latencia.
◦
Bus de direcciones de 22 bits.
◦
Bus de datos de 16 bits con capacidad de direccionamiento de palabras.
◦
Temporización programable.
◦
Dos chip selects para memoria flash.
◦
Cinco chip selects para I/Os.
◦
Permite ráfagas de memoria flash de 32 bits.
◦
Protección del bloque de arranque de la memoria flash por llave hardware
de dos niveles.
◦
Permite dos bancos de dispositivos de memoria flash de 8MB con el sector
de arranque mapeado a la dirección 0x000F0000.
•
Controlador de periféricos integrado:
◦
Controlador de DMA de 7 canales compatible con 2X8237/AT.
◦
Controlador de interrupciones compatible con 2X8259/AT.
39
Carlos Prades del Valle
•
Desarrollo de un PC empotrado con procesado de señal
◦
3 temporizadores/contadores compatibles con 8254.
◦
Lógica de apoyo para los errores del co-procesador.
◦
Permite un reloj de tiempo real (RTC) externo.
Gestión de alimentación:
◦
Cuatro modos de alimentación: On (encendido), Doze (dormido), Standby
(en espera) y Suspend (suspendido).
◦
Detector de actividad del sistema programable.
◦
Permite SMM (System Management Mode, Modo de Gestión del sistema).
◦
Permite STOPCLK (parada de reloj).
◦
Permite desvío de entrada/salida y reinicio.
◦
Temporizador independiente para time-out de periféricos (monitorización
del disco duro y de los puertos serie y paralelo).
◦
Permite reloj de tiempo real (RTC), interrupciones y activación de DMAs.
3.1.3. Descripción.
En el corazón del STPC Consumer-S está un bloque procesador avanzado, conocido
como ST X86. El ST X86 incluye un potente núcleo procesador x86 junto con un
controlador de SDRAM de 64 bits, un controlador de vídeo y acelerador gráfico avanzado
de 64 bits, un controlador de bus local PCI de alta velocidad, un chipset con funciones
compatibles con los estándares de PCs (controlador de interrupciones, controlador de
DMA, temporizador, controlador de bus ISA) y un controlador IDE. El bloque procesador
de última versión es el 5ST86.
Además del bloque 5ST86, el STPC Consumer-S tiene un subsistema de vídeo y
salida de televisión de alta calidad.
El núcleo procesador está embebido en el mismo chip de silicio con módulos
periféricos de aplicaciones estándar o específicas. Dicho núcleo dispone del Modo de
Gestión del Sistema (SMM). SMM proporciona un espacio de direcciones y de
interrupciones adicional que puede ser utilizado para gestionar el consumo del sistema o
realizar emulación transparente al software de periféricos. Mientras que se produce una
ejecución en un espacio de direcciones aislado en modo SMM se puede ejecutar una
40
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
rutina de atención de interrupción SMM sin interferir al sistema operativo o a las
aplicaciones.
Las utilidades de gestión de alimentación avanzadas incluyen un modo suspendido
que se puede iniciar mediante software o hardware. Dada la naturaleza estática del
núcleo, no se produce pérdida de datos.
El STPC Consumer-S hace uso de una arquitectura de memoria unificada (UMA), lo
que significa que el mismo conjunto de memoria se utiliza como memoria principal de la
CPU (datos e instrucciones) y como memoria para el búfer de gráficos. Esto reduce de
una manera significativa la cantidad de memoria total del sistema, con un rendimiento
del mismo equivalente a una solución con memoria de sistema y memoria gráfica
separadas. El tamaño de la memoria gráfica está limitado a 4 MB en cualquier lugar
dentro de todo el conjunto de memoria del sistema. Además, el ancho de banda de la
transferencia de memoria gráfica se mejora al conectar el motor gráfico directamente al
interfaz de 64 bits del procesador, que corre a la velocidad del core (mayor que la del bus
PCI). El bus del procesador corre a la velocidad del core (dispositivos DX) o la mitad
(dispositivos DX2).
El conjunto de memoria con anchura de 64 bits proporciona al sistema un ancho
de banda de pico de 528 MB/s, el doble que un sistema de 32 bits. Esto permite mayores
resoluciones gráficas y mayor profundidad de color.
El bus PCI es el principal enlace de comunicaciones de datos para el STPC
Consumer-S. El STPC Consumer-S traduce apropiadamente los ciclos de memoria y de
host bus al bus PCI. También permite la generación de ciclos de configuración en el bus
PCI. El STPC Consumer-S, como un agente de bus PCI (clase host bridge), cumple
completamente con la especificación PCI v2.1. El chip-set también implementa los
registros de cabecera PCI obligatorios en la configuración PCI de tipo 0 para facilitar la
portabilidad de BIOS de sistema compatibles con PCI. El dispositivo contiene un árbitro
PCI para tres dispositivos PCI externos.
El STPC Consumer-S integra un controlador de bus ISA. A través del bus ISA el
chip-set puede acceder a módulos periféricos como puertos serie y paralelo, controlador
del teclado y dispositivos ISA adicionales. El bus local (Local Bus) comparte los mismos
terminales del chip que los del bus ISA, luego una placa se debe diseñar para una de las
dos opciones.
Conectado internamente mediante el bus PCI, el STPC Consumer-S dispone de un
controlador EIDE (ATA 2).
41
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
El controlador SVGA incorporado controla las funciones gráficas y el motor gráfico
2D gestiona la pantalla del monitor. El motor gráfico tiene un funcionamiento
sintonizado a la CPU para proporcionar un sistema gráfico balanceado con un bajo coste
en área de silicio. Realiza operaciones de dibujo de gráficos entre las que se incluyen
aceleración hardware de texto, bitblts, blts transparentes y rellenos. Estas operaciones se
pueden realizar en áreas de pantalla o de fuera de pantalla.
La resolución gráfica tiene un máximo de 1280x1024 con 65536 colores a una
frecuencia de refresco de 75 Hz y es compatible con VGA y SVGA. Los campos de
temporización horizontal son compatibles con VGA mientras que los campos verticales se
aumentan un bit para acomodar la resolución mencionada anteriormente.
El STPC Consumer-S proporciona funciones adicionales para manejar flujos de
vídeo MPEG o similares. El puerto de entrada de vídeo acepta un flujo de vídeo digital
codificado en alguno de los formatos estándar, lo decodifica, opcionalmente lo diezma en
un factor 2:1, y lo deposita en un área de memoria gráfica de fuera de pantalla. Se puede
generar una petición de interrupción cuando se haya capturado un campo o imagen
completa.
El pipeline de salida de vídeo incorpora un convertidor de espacio de colores y
escalado de vídeo y la entrega al controlador del CRT para mostrar una ventana de vídeo.
Mientras que se repinta la pantalla el controlador del CRT captura tanto el flujo de vídeo
normal como el que no es de vídeo (memoria gráfica) en dos FIFOs internas separados
(256 bytes cada uno). Al flujo de vídeo se le realiza un escalado suave y opcionalmente se
puede convertir el espacio de colores. Se implementa un escalado interpolado suave en
las direcciones tanto horizontal como vertical. También se implementan funciones clave
de color y cromaquí para permitir la mezcla del flujo de vídeo con la memoria gráfica que
no es de vídeo.
La salida de vídeo pasa directamente al RAMDAC para salida a monitor o a través
de otro convertidor de espacio de colores opcional (RGB a 4:2:2 YCrCb) al filtro
antiparpadeo programable. El filtro antiparpadeo se configura como un filtro de dos
líneas con corrección gamma (diseñado principalmente para texto de tipo DOS) o como
un filtro de tres líneas (diseñado para pantallas del tipo Windows). Opcionalmente se
puede desactivar por software el filtro antiparpadeo para utilizar pantallas de vídeo de
grandes dimensiones.
El pipeline de salida de vídeo del STPC Consumer-S tiene un interfaz al STV0119
integrado, un codificador de televisión digital que permite llevar la salida VGA o flujos de
vídeo de pantalla completa (provenientes del puerto de entrada de vídeo) a televisores
42
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
NTSC (Estados Unidos de América) o PAL (Europa excepto Francia, que tiene el sistema
de televisión SECAM). El STV0119 recoge un flujo de píxeles RGB de 24 bits no
entrelazado y lo convierte a una salida de vídeo YCrCb de 8 bits 4:2:2 multiplexada. La
lógica incluye un convertidor de pasadas progresivas a entrelazadas y todo lo necesario
para insertar apropiadamente códigos de referencia de temporización CCIR656 al flujo de
salida.
El núcleo del STPC Consumer-S cumple con la especificación APM (Advanced
Power Management, gestión de alimentación avanzada) para proporcionar un método
estándar mediante el cual la BIOS puede controlar la alimentación usada por
ordenadores personales. La unidad de gestión de alimentación (PMU, Power Management
Unit) controla el consumo de potencia mediante un conjunto de funcionalidades que
cumplen con el Programa Energy Star Computer de la Agencia de Protección Ambiental de
los Estados Unidos de América. La PMU proporciona las siguientes estructuras hardware
para asistir al software en la gestión del consumo de potencia del sistema:
•
Detector de actividad del núcleo del sistema.
•
3 temporizadores para detectar la inactividad del núcleo del sistema:
◦
Temporizador Doze (dormido), para duraciones cortas.
◦
Temporizador Standby (en espera), para duraciones medias.
◦
Temporizador Suspend (suspendido), para duraciones largas.
•
Detector de actividad interior.
•
Temporizador de actividad interior para hacer frente a cortas ráfagas de la
actividad interior mientras que se está en modo dormido o en espera.
•
Detector de actividad de periféricos.
•
Temporizador de actividad de periféricos.
•
Modulación SUSP# para ajustar el sistema a varios estados de bajo consumo y
al de alimentación completa.
•
Salidas de control de alimentación para deshabilitar la alimentación de
diferentes planos de la placa.
La falta de actividad del sistema para periodos de tiempo progresivamente largos es
detectada mediante los tres temporizadores del núcleo del sistema. Estos temporizadores
pueden generar interrupciones a la CPU de modo que el software SMM pueda poner al
sistema en estados decrecientes de consumo de potencia. Alternativamente, la actividad
43
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
del sistema cuando se está en un estado de bajo consumo puede generar una
interrupción para permitir al software levantar al sistema al estado de alimentación
completa. El chip-set proporciona hasta tres estados de alimentación además del de
alimentación completa: dormido, en espera y suspendido. Estos estados se corresponden
con niveles decrecientes de consumo de potencia.
El vencimiento del temporizador más largo pone al STPC Consumer-S en el modo
suspendido. El procesador completa la ejecución de la instrucción actual y ejecuta
cualquier ejecución decodificada pendiente y los ciclos de bus asociados. Durante el
modo suspendido los relojes internos están parados. Al finalizar el estado suspendido el
procesador reanuda la captura de instrucciones y continua la ejecución en el punto
donde lo había dejado.
Para conectar al sistema el teclado, ratón, puertos serie y paralelo así como la
disquetera hay que utilizar un chip SuperIO adicional como el PC973127-IBE/VUL. Este
chip así como el STPC Consumer-S es soportado por varios fabricantes de BIOS.
El STPC Consumer-S ha sido diseñado utilizando modernas técnicas de diseño
modular reutilizable, y el fabricante permite añadir o quitar funcionalidades estándar
para grandes partidas de chips.
La principal ventaja que presenta el STPC Consumer-S es que soporta memoria
RAM del tipo SDRAM (memoria dinámica síncrona), y ésta ya es más rápida y barata que
la predecesora DRAM (memoria dinámica asíncrona). A finales del año 1999 fue cuando
STMicroelectronics presentó al mercado el STPC Consumer-S. Anteriores a él son el STPC
Consumer y el STPC Client, que no soportan SDRAM sino DRAM.
La Figura 3.1 muestra la descripción funcional del STPC Consumer-S y la Figura
3.2 un diagrama de bloques de una aplicación típica.
44
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
Figura 3.1
45
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
Figura 3.2
3.2. STPC Consumer de ST Microelectronics
[20].
Las diferencias que presenta con respecto al STPC Consumer-S son:
•
Controlador de DRAM (FPM o EDO de 60, 70, 80 o 100 ns) en vez de SDRAM.
•
No tiene bus local (Local Bus).
•
Velocidades del núcleo de 66 u 80 MHz en modo DX o de 100 MHz en modo
DX2.
46
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
3.3. STPC Client de ST Microelectronics [20].
Sus características son las mismas que el STPC Consumer excepto:
•
Velocidades del núcleo de 66 o 75 MHz en modo DX.
•
No tiene integrado el codificador de vídeo STV0119 con salidas analógicas
hacia televisores PAL o NTSC. En vez de ello tiene una salida de vídeo digital
que se puede conectar a un chip STV0119 externo.
3.4. STPC Industrial de ST Microelectronics
[20].
Sus características son las mismas que el STPC Client a diferencia de:
•
Puertos de entrada/salida incorporados: 2 puertos serie, 1 paralelo, teclado y
ratón.
•
Interfaces PCMCIA de 16 bits, Card Bus de 32 bits y ZoomVideo (como entrada
de vídeo). Este conjunto se conoce como bus PC-Card.
•
No tiene salida de vídeo ni digital ni analógica. Sus salidas de pantallas son la
de monitor CRT, que está en todos los modelos STPC, y la de pantalla de cristal
líquido LCD de tipo TFT, que no está en ningún otro modelo STPC. El
controlador TFT puede funcionar en dos modos:
◦
1 píxel por ciclo de reloj con interfaz de 9, 12 o 18 bits.
◦
2 píxeles por ciclo de reloj con interfaz de 2x9 bits.
•
Sus velocidades del núcleo son de 66 o 80 MHz.
•
Bus local. El sistema puede arrancar directamente desde el interfaz de bus
local con memorias FLASH de 8MB estándar de bajo coste.
47
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
3.5. Coldfire MCF5307 de Motorola [21].
3.5.1. Introducción.
El microprocesador integrado MCF5307 combina un núcleo de procesador ColdFire
con los siguientes componentes:
•
Caché unificada de 8 KB.
•
Unidad de multiplicación y acumulado (MAC) y de división.
•
Controlador DRAM.
•
Controlador DMA.
•
Temporizadores.
•
Bus M (compatible con I2C).
•
Interfaz serie y paralelo.
•
Unidad de integración del sistema.
El núcleo del ColdFire está diseñado para aplicaciones de control embebidas. Tiene
un rendimiento de 70 MIPS además de un coste bajo.
El elevado rendimiento lo proporcionan el núcleo con un reloj que dobla la
velocidad del reloj exterior, la caché unificada de 8 KB y la SRAM interna de 4 KB, que
proporcionan un acceso en un solo ciclo de reloj a código y datos críticos.
El módulo MAC integrado mejora la funcionalidad del sistema posibilitando
operaciones aritméticas complejas a alta velocidad (una multiplicación y acumulado en
un ciclo de reloj para operaciones de 16x16 bits y de 32x32 bits).
El procesador MCF5307 reduce enormemente el tiempo requerido para diseñar e
implementar un sistema mediante la integración en un solo encapsulado de varias
funciones comunes y proporcionando interfaces directos de 8, 16 y 32 bits para DRAM,
EDO RAM, SDRAM, SRAM, ROM, FLASH y dispositivos de entrada / salida.
La arquitectura del ColdFire está basada en la tecnología RISC de longitud variable.
ColdFire combina la simplicidad arquitectónica RISC de 32 bits con un set de
instrucciones de longitud variable que se puede salvar en memoria. De esta manera se
48
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
puede conseguir un elevado rendimiento (RISC) sin que el tamaño del código sea excesivo
(set de instrucciones de longitud variable, basado en el del microprocesador 68000 de
Motorola). Dicho set de instrucciones de longitud variable permite ahorrar en consumo
de memoria con respecto a programas basados en el set de instrucciones RISC de
longitud fija. Para un mismo rendimiento se puede utilizar memorias más lentas y por lo
tanto más baratas.
El controlador DRAM puede manejar hasta 256 MB de memoria DRAM, y permite
utilizar el modo ráfaga, Page-Mode DRAM, EDO DRAM y SDRAM.
Dos UARTs full-duplex programables y un módulo de bus M (compatible con I2C)
proporcionan canales de comunicación serie. Cuatro canales DMA permiten rápidas
transferencias de datos en modo ráfaga de un modo independiente a la ejecución del
procesador. Los dos temporizadores de 16 bits de propósito general proporcionan señales
de entrada y salida separadas. Para proteger el sistema, el procesador incluye un
temporizador de vigilancia de 16 bits programable por software. El chip también incluye
funciones como chip-selects (selección de chips), controlador de interrupciones, arbitraje
de bus y un módulo JTAG IEEE 1149.1.
Su sofisticado interfaz de depurado permite modo de depurado background y trazas
en tiempo real, con registros incorporados para breakpoints (puntos de ruptura de
ejecución) accesibles desde un emulador o desde el propio procesador.
3.5.2. Características fundamentales.
•
Núcleo procesador ColdFire.
◦
Núcleo de versión 3 con reloj a doble velocidad y RISC de longitud
variable.
◦
Pipelines independientes de 4 etapas para instrucciones y de 2 etapas
para operandos.
◦
Búfer FIFO de 8 instrucciones para proporcionar desacoplo entre los
pipelines.
◦
Unidad de predicción de saltos de código para aumentar el rendimiento.
◦
Bus de direcciones interno de 32 bits que puede direccionar hasta 4 GB.
◦
Bus de datos de 32 bits.
49
Carlos Prades del Valle
◦
Desarrollo de un PC empotrado con procesado de señal
Registros de propósito general de 32 bits (accesibles también a 16 bits por
el usuario).
◦
Modos diferenciados de supervisor y de usuario para la protección del
sistema.
•
◦
Registro del vector base para reubicar la tabla de vectores de excepción.
◦
Optimizado para las construcciones de lenguaje de alto nivel.
◦
Unidad hardware de división de enteros.
Unidad de multiplicación y acumulado (MAC).
◦
Proporciona procesado aritmético complejo y de alta velocidad para
aplicaciones de DSPs.
◦
Tasa de cálculo de un resultado por ciclo de reloj con un pipeline de tres
etapas.
◦
Permite multiplicaciones de 16x16 y de 32x32 bits, todas ellas con un
acumulado de 32 bits.
•
Caché unificada de 8 KB.
◦
Organización
asociativa
de
cuatro
conjuntos
(4-way)
con
modos
writethrough (escritura a través) y copyback (escritura pospuesta).
•
◦
Funciona a la velocidad del núcleo.
◦
Proporciona acceso en un solo ciclo de reloj a código y datos críticos.
SRAM de 4KB.
◦
Ubicación programable dentro del espacio lineal de direcciones de 4 GB.
◦
Proporciona un acceso a través de pipeline de un solo ciclo de reloj a
código y datos críticos.
◦
La información almacenada en la SRAM no se ve afectada por la
instrucción RESET.
•
Controlador de DMA.
◦
Cuatro canales completamente programables.
◦
Permite transferencias de dirección simple o dual con capacidad para
datos de 32 bits.
◦
Dos punteros de direcciones por canal que se pueden incrementar o
permanecer constantes.
50
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
◦
Contador de transferencias de 16 bits por canal.
◦
Permite empaquetado y desempaquetado de operandos.
◦
Posibilidad de transferencias autoalineadas para movimientos de bloques
eficientes.
•
•
•
•
◦
Permite el modo ráfaga y robo de ciclos.
◦
Proporciona acceso interno en dos ciclos de reloj.
Controlador de DRAM.
◦
Permite hasta 512 MB de DRAM.
◦
El temporizador de refresco programable proporciona refresco CAS-RAS.
◦
Permite dos bancos de memoria separados.
◦
Permite EDO DRAM y SDRAM.
◦
Posibilidad de utilización de masters externos.
2 UARTS.
◦
Operación full-duplex.
◦
Generador de la tasa de baudios flexible.
◦
Disponibilidad de señales de control de módem (CTS#, RTS#).
◦
Aviso de interrupción al procesador.
2 Temporizadores multimodo de propósito general de 16 bits.
◦
Prescaler de 8 bits.
◦
Pins de entrada y salida al temporizador.
◦
Aviso de interrupción al procesador.
◦
Resolución de 22 ns a 45 MHz.
Módulo de Bus Motorola (M-Bus).
◦
Interfaz para EEPROMs, controladores de LCDs, convertidores A/D, y
botoneras.
◦
Compatibilidad completa con el estándar de bus industrial I2C.
◦
Los modos maestro o esclavo permiten múltiples masters.
◦
Generación de interrupciones automática con nivel programable.
51
Carlos Prades del Valle
•
Desarrollo de un PC empotrado con procesado de señal
Interfaz del sistema.
◦
El bus de interfaz directo con sus chip selects y el controlador de DRAM
permiten acceder a DRAM, SRAM, ROM, FLASH y dispositivos I/O de 8,
16 y 32 bits.
◦
8 señales de chip select. 2 son completamente programables con registro
de dirección base, 6 a un offset fijo.
◦
Tamaños de puerto y estados de espera programables.
◦
Velocidad de bus definida por el usuario dentro de los valores ½, 1/3 o ¼
de la velocidad del procesador.
•
◦
Controlador de interrupciones programable.
◦
Latencia de interrupciones baja.
◦
4 entradas de solicitud de interrupción externas.
◦
Generación de autovector programable.
◦
Interfaz de I/O de 16 bits de propósito general.
◦
Módulo de test JTAG IEEE 1149.1.
Sistema de depurado.
◦
Trazas
en
tiempo
real
para
determinar
el
camino
de
ejecución
dinámicamente.
◦
Modo de depurado en background para posibilitar el depurado mientras
que el procesador está parado.
◦
Depurado en tiempo real, incluyendo tres registros de puntos de ruptura
hardware visibles por el usuario.
•
PLL incorporado en el chip.
◦
Acepta frecuencias de entrada desde 16.67 hasta 45 MHz.
◦
Genera el reloj del núcleo multiplicando la entrada por 2 y también el reloj
del bus dentro de los valores ½, 1/3 o ¼ de la velocidad de dicho núcleo
según la configuración del usuario en el momento del reset.
◦
•
Permite modo de bajo consumo.
Otras características.
◦
75 MIPS a 45 MHz (reloj de 90 MHz doblado internamente).
52
Carlos Prades del Valle
◦
Desarrollo de un PC empotrado con procesado de señal
Chip tipo 1: velocidad máxima del núcleo de 90 MHz con velocidades de
bus externo de 45, 30 o 22.5 MHz (rango de temperaturas de
funcionamiento: 0 ºC a +70 ºC).
◦
Chip tipo 2: velocidad máxima del núcleo de 66.7 MHz con velocidades de
bus externo de 33.3, 22.2 o 16.7 MHz (rango de temperaturas de
funcionamiento: 0 ºC a +70 ºC o –40 ºC a 85 ºC).
◦
Núcleo completamente estático a 3.3V con pines de I/O tolerantes a 5V.
◦
Encapsulado 208 QFP.
3.5.3. Diagrama de bloques.
Figura 3.3
53
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
3.6. MachZ PCe de ZF [22].
3.6.1. Introducción.
MachZ PCe incorpora la funcionalidad de una placa madre de un PC con los
periféricos más comunes además de un conjunto de mejoras propietarias de ZF
desarrolladas en exclusiva para el mercado de los PCs empotrados.
Posee un microprocesador de 32 bits de alta velocidad unido a un controlador de
memoria SDRAM y a un bus de expansión PCI con un controlador IDE Ultra DMA. Un
bus ISA permite conectar todos los dispositivos ISA conocidos para los desafíos
potenciales únicos de las aplicaciones embebidas. No tiene señales multiplexadas con
otras funciones ni pérdida de interrupciones. Las características propietarias de ZF tales
como Fail-Safe Boot ROM, interfaz Z-Tag, temporizador dual Watchdog, lógica ZF,
decodificación del bus ISA integrada, etc. permiten la integración del sistema con pocos
obstáculos.
Mediante la combinación del hardware y software necesarios para implementar un
PC compatible en un solo chip se reducen significativamente la exposición a los riesgos
del desarrollo y el time-to-market.
Según el fabricante se puede conseguir un coste de la lista de materiales inferior a
50$ (enero de 2000). Además posee una garantía de 5 años y su fabricación depende de
National Semiconductor, utilizando tecnología de 0.24µm.
Incluido en el chip y en el precio se encuentra una BIOS (PC compatible) y dos
sistemas operativos (Linux Image y pwSys de PlanetWeb), combinados ambos con un
sistema de arranque interno denominado FailSafe boot ROM. De este modo se elimina la
necesidad por parte del ingeniero de buscar drivers para los periféricos acortando en
tiempo de desarrollo. Esto no reduce la compatibilidad software ya que el MachZ PCe
permite ejecutar cualquier sistema operativo estándar capaz de correr en un PC
compatible con FPU tales como Linux, DOS, WinCE, Windows 9x, Windows NT y varios
RTOS.
Características embebidas patentadas por ZF e incluidas en el MachZ PCe:
•
FailSafe Boot ROM. La mayoría de los sistemas empotrados utilizan memoria
flash no volátil para almacenar el sistema operativo así como datos de
programa y otros datos transitorios. Bajo ciertas condiciones de irregularidades
54
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
en la alimentación u otro tipo de anomalías se pueden corromper los datos de
la memoria flash. El sistema FailSafe Boot ROM combinado con ZF Integrated
BIOS permite una recuperación total del sistema si ese fallo se produce. Esto
se puede lograr incluso remotamente si no hay un operador in-situ.
•
ZF-Logic. Con el incremento en la utilización de la arquitectura de PC para los
sistemas empotrados el conocimiento requerido en microprocesadores por
parte de los ingenieros de diseño se hace más elevado. ZF-Logic permite un
acceso a la arquitectura del sistema x86 con una mínima experiencia en
microprocesadores. Con ello se reduce el time-to-market.
•
Z-Tag. Este sistema permite grabar en producción y directamente en placa las
memorias flash con su BIOS, sistema operativo y aplicaciones a una velocidad
de 1.5 Mbps, mientras que la velocidad estándar de estos dispositivos suele ser
de 19.2 Kbps.
•
Dual Watchdog Timer. Permite evitar situaciones de bloqueo del procesador
mediante un temporizador controlado por las aplicaciones. Si la aplicación no
actualiza su contenido y éste llega a cero entonces se producirá una acción
automática como puede ser el reinicio del sistema.
3.6.2. Características fundamentales.
•
•
•
Núcleo del procesador.
◦
32 bits.
◦
Funcionamiento a 33, 66, 100 o 133 MHz.
◦
Caché L1 de 8 KB (modo write back o write through).
◦
FPU.
Controlador SDRAM.
◦
Configuración de memoria con bus de datos de 16 o 32 bits.
◦
Hasta cuatro bancos de memoria.
◦
SDRAM simétrica o asimétrica de 16, 64 o 128 MB.
◦
Máximo 256 MB.
Controlador PCI Host Bridge.
◦
Cumple con la especificación v2.1 a 33 MHz y 32 bits.
55
Carlos Prades del Valle
•
•
•
Desarrollo de un PC empotrado con procesado de señal
◦
Velocidad del bus igual al reloj del sistema o a la mitad.
◦
Transferencias en modo ráfaga de hasta 120 MBps.
◦
Posibilidad de acceder a la SDRAM.
◦
Permite hasta 3 masters PCI externos.
Bus ISA.
◦
Completitud de señales ISA.
◦
Conjunto de IRQs completo.
◦
Permite DMAs de 8 o 16 bits.
◦
Permite comunicación con dispositivos de 8 o 16 bits.
Controlador IDE.
◦
Permite dos canales con tres dispositivos.
◦
Lecturas y escrituras en modo ráfaga PCI master.
◦
Permite Ultra DMA (ATA-4).
◦
Permite modos 0-4 de entradas-salidas programadas (PIOs).
Bus serie universal (USB).
◦
Dos buses USB independientes que cumplen con Open HCI (Host
Controler Interface).
◦
•
•
Diseño del núcleo de 2ª generación.
SuperIO incorporado.
◦
Controlador de disquetera.
◦
Dos puertos serie estándar.
◦
Comunicaciones por infrarrojos viable para uno de los puertos serie.
◦
Puerto paralelo compatible con IEEE 1284.
◦
Controlador 8042 de teclado AT y ratón PS/2.
◦
Bus interfaz compatible con Bus SM e I2C.
Compatibilidad con arquitectura de PC AT.
◦
Controlador de interrupciones equivalente al 8259A.
◦
Temporizador equivalente al 8254.
56
Carlos Prades del Valle
•
Desarrollo de un PC empotrado con procesado de señal
◦
Controlador de DMA equivalente al 8237.
◦
Puertos A, B y lógica NMI.
Gestión del consumo y GPIO.
◦
Desvíos de entrada-salida (I/O traps) y temporizadores de inactividad para
la gestión de la alimentación de los periféricos.
•
◦
8 GPIOs.
◦
Reactivación en USB.
◦
Detección de actividad de ratón o teclado para reactivación de la pantalla.
Interfaz con el microprocesador.
◦
Protocolo de suspensión del reloj en conexión con el North Bridge (Puente
Norte: controladores de buses ISA, PCI, etc.).
◦
•
•
Características eléctricas.
◦
Dispositivo de alimentación dual (5 y 3.3 V).
◦
I/O de 3.3V tolerantes a 5V.
◦
Tensión del núcleo de 2.5V.
Consumo de potencia estimado.
◦
•
•
Interrupciones enmascarables o no enmascarables.
0.8 W a 33 MHz, 1.6 W a 66 MHz, 2.2 W a 100 MHz, 2.8 W a 133 MHz.
Características ambientales y mecánicas.
◦
De –40 a +85 ºC para 33, 66 o 100 MHz.
◦
De 0 a +70 ºC para 133 MHz.
◦
Encapsulado PBGA de 388 pines (35 x 35 mm).
FailSafe Boot ROM:
◦
Código incluido en la ROM interna del chip.
◦
Permite la ejecución de instrucciones tales como limpieza de SDRAM,
borrado de memoria flash, carga y ejecución de programas, etc.
◦
Posee mecanismos de protección para la recarga automática del software
en caso de fallo.
57
Carlos Prades del Valle
•
Desarrollo de un PC empotrado con procesado de señal
Lógica ZF.
◦
Modulador de anchura de pulsos programable (de 100 Hz a 100 KHz)
ideal para fuentes de alimentación conmutadas y el control del inversor de
luz posterior de una pantalla de cristal líquido LCD.
◦
Lógica de decodificación de memoria externa con cuatro chip selects,
registros de direcciones base y de tamaños y comprobación automática de
solapamientos.
◦
Mapeador de chip selects de propósito general: cuatro chip selects de
entrada-salida mapeados, registros de direcciones base y de tamaños y
comprobación automática de solapamientos.
◦
Registro de arranque configurable mediante un microinterruptor DIP
externo de modo que se permiten condiciones de arranque personalizadas.
•
Interfaz Z-Tag.
◦
Interfaz de alta velocidad para la descarga de software.
◦
Utiliza el interfaz de la disquetera cuando la señal “DRIVESELECT” está
inactiva.
◦
El protocolo de comunicaciones es compatible con dispositivos EEPROM
serie estándar.
◦
•
•
Se puede controlar mediante un puerto paralelo estándar.
ZF Dual Watch Dog Timer.
◦
Control software y hardware de los eventos generados por el temporizador.
◦
Contador primario de 8 bits (1-256 segundos) conectado al reset software.
◦
Contador secundario de 8 bits (1-256 ms) conectado al reset hardware.
◦
Los valores de los contadores se pueden leer en cualquier momento.
◦
Se pueden deshabilitar.
Software incluido.
◦
PC BIOS embebida completa.
◦
Imagen del sistema operativo Linux.
◦
Sistema operativo pwSys de Planetweb con navegador.
58
Carlos Prades del Valle
•
Desarrollo de un PC empotrado con procesado de señal
Compatibilidad con sistemas operativos.
◦
Linux.
◦
DOS.
◦
WinCE, Windows 9x, Windows NT.
◦
La mayoría de los sistemas operativos de tiempo real.
59
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
3.6.3. Diagrama de bloques.
Figura 3.4
60
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
3.7. Geode GX1 de National Semiconductor
[23].
3.7.1. Descripción General.
National Semiconductor ha desarrollado una serie de procesadores integrados de
bajo consumo y alta potencia basados en la arquitectura x86 conocida como serie Geode,
dentro de la que se encuentra el GX1. Este procesador es equiparable a un Intel Pentium
con tecnología MMX siendo un procesador con una gran potencia de cálculo. Están
especialmente pensados para las aplicaciones de información como pequeños clientes,
set-top boxes, y dispositivos de acceso personal a Internet.
Las posibles tensiones del core son 2.0v, 1.8v y 1.6v, ofreciendo potencias de
consumo medias muy bajas (1.2w, 1.0w y 0.8w respectivamente) para permitir una vida
de las baterías mayor o reducir el tamaño de la fuente de alimentación. Estas medidas de
potencia media se han realizado con MS Windows con un ciclo de actividad del 80% con
una resolución de pantalla de 800 x 600 y 8 bits por píxel a 75 Hz de refresco. Hay que
tener en cuenta que el consumo del sistema gráfico ronda los 0,8w.
El sistema de gestión de potencia divide los posibles estados de funcionamiento en
cuatro, estos estados son llamados por el fabricante estado de Full On, cuando todo está
activo y se está ejecutando código, estado de Active Idle, donde el sistema gráfico está
funcionando pero el core está en espera dando al exterior la sensación de que todo
funciona, estado Sleep, donde tanto la CPU como el sistema gráfico están parados (la
pantalla se apaga) siendo la potencia consumida la mínima para mantener el sistema en
funcionamiento, y, por último el estado Off o apagado, en el que no se alimenta al chip.
Desde el estado On se puede pasar a cualquier otro pero desde cualquier otro estado sólo
se puede pasar al estado On.
Mientras que el core x86 garantiza la máxima compatibilidad con los contenidos en
Internet, la integración de otras funciones, tales como las de audio o gráficos, permiten
ofrecer a nivel de sistema una solución multimedia.
El core del Geode es un procesador de 32 bits compatible con los x86 de sexta
generación capaz de funcionar a 300 MHz. Contiene unidades de ejecución en punto fijo
y en punto flotante basados en tecnología de sexta generación. El núcleo de aritmética
entera está compuesto por una "pipeline" de cinco niveles de ejecución permitiendo
61
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
capacidades avanzadas como colas de escritura extensivas, colas de destino de saltos,
etc. Los accesos a la memoria caché write-back L1 de 16KB son reordenados
dinámicamente para eliminar paradas al acceder a los operandos. La unidad de punto
flotante tiene un bus de 64 bits, es compatible con el set de instrucciones del x87 y está
adherida al estándar IEEE-754, siendo capaz de trabajar en paralelo con la unidad de
punto fijo. La unidad de gestión de memoria, también incluida en la CPU, es compatible
con el paginado de los x-86, convirtiendo las direcciones virtuales a direcciones físicas
incorporando técnicas para eliminar las lecturas innecesarias y leer las direcciones
sobrescritas.
Los procesadores GX1 incluyen funciones de host normalmente implementados por
otros componentes externos, como por ejemplo el controlador de display que soporta
tanto un CRT como una pantalla LCD o una pantalla plana TFT. Un acelerador gráfico
2D con funcionalidad completa contiene controlador VGA, motor bit-BLT y una unidad
ROP para aceleración completa GUI (Interfaz Gráfica de Usuario) en la mayoría de los
S.O., así como control separado de CRT y TFT desde el controlador del display. Soporta,
además, la implementación de la tecnología VSA. Un controlador del display contiene
una cola de video adicional que permite la visualización de MPEG1 a más de 30 imágenes
por segundo y video superpuesto cuando se usa con un National Semiconductor Geode
I/O o con chip complementario de gráficos (p.e. CS5530 o CS9211). Los accesos a la
memoria del sistema y la de gráficos se soportan por un controlador de SDRAM
eliminando la necesidad de una caché externa L2.
El controlador del bus PCI soporta hasta tres maestros de bus para conexiones
adicionales y las capacidades multimedia, permite el acceso a la memoria principal
(SDRAM) desde el mismo bus. Sin embargo, hay que tener precaución debido a que no
soporta dispositivos de 5v.
El procesador GX1 también incorpora tecnología VSA (arquitectura de sistema
virtual) que permite los subsistemas XpressGRAPHICS y XpressAUDIO. Son posibles los
controladores software que proporcionan la compatibilidad para los estándares VGA y
funciones de audio de 16 bits siendo transparentes al nivel del S.O.
La gran desventaja con respecto a otras soluciones es que para la mayoría de las
aplicaciones es necesario utilizar el chip complementario Geode CS5530 I/O Companion.
Este sistema proporciona video VGA y VESA, sonido estéreo de 16 bits, interfaz IDE ultra
DMA/33, buses ISA y PCI, entradas/salidas adicionales (USB, GPIO), gestión de la
energía SMM y lógica compatible con IBM AT, así como asistencia hardware para
descompresión MPEG1 y procesado de sonido. Existen otros dispositivos especialmente
diseñados para esta familia de procesadores como el Geode CS9211 Graphics Companion
62
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
que permite mayores posibilidades gráficas como el uso de pantallas táctiles, o los
SuperIO que permiten ampliar las entradas y salidas del sistema.
El chip adicional de I/O de National Semiconductor y el procesador Geode GX1
juntos proporcionan una solución de sistema escalable, de bajo consumo y flexible para
un gran conjunto de aplicaciones que van desde dispositivos personales de acceso a
información que caben en la palma de la mano hasta set-top boxes o pequeños clientes.
3.7.2. Características.
•
Características generales.
◦
Encapsulado: BGA de 352 bolas o SPGA de 320 pines.
◦
Tecnología de 0.18 micras.
◦
Core de 1.6v, 1.8v o 2.0v, interfaz de I/O a 3.3v.
◦
Bajo consumo (0.8w @ 1.6v/200MHz, 1.2w @ 2.0v/300MHz).
◦
Velocidad: hasta 300MHz.
◦
Arquitectura de memoria unificada.
◦
Buffer de imágenes y memoria de gráficos residente en la memoria
principal.
◦
Minimiza el área en la placa PCB.
◦
Reduce los costes del sistema.
◦
Compatibilidad
con
múltiples
dispositivos
adicionales
de
National
Semiconductor.
•
Procesador x86 de 32 bits.
◦
Soporta el set de instrucciones MMX para acelerar las aplicaciones
multimedia.
◦
Caché L1 unificada de 16KB.
◦
Unidad de aritmética entera de 5 etapas en pipeline.
◦
Unidad de coma flotante integrada (FPU).
63
Carlos Prades del Valle
◦
Desarrollo de un PC empotrado con procesado de señal
Unidad de gestión de memoria (MMU), la cual soporta los mecanismos de
paginación estándar y optimiza la adquisición de código.
▫
Carga y guarda reordenando dando prioridad a la lectura de la
memoria.
▫
◦
Bypass de los datos leídos eliminando las lecturas redundantes.
Modo de gestión del sistema (SMM) re-entrante de acuerdo con la
tecnología VGA.
•
Gestión de potencia flexible.
◦
Soporta gran variedad de estándares:
▫
APM (gestión de potencia avanzada) para gestión hardware.
▫
ACPI (configuración avanzada e interfaz de potencia) para el gestor
de potencia de Windows.
◦
Soporta una amplia variedad de modos de control hardware y software.
▫
Active Idle (core parado, display activo).
▫
Standby (core y funciones integradas paradas).
▫
Sleep (como anterior con los relojes externos parados).
▫
Suspend Modulation (parada automática del core de la CPU por
Geode I/O o chip auxiliar de gráficos).
◦
•
Varios eventos dedicados y programables para despertar al chip.
Controlador de PCI.
◦
Soporte a varios esquemas de arbitraje.
◦
Soporta directamente tres maestros del bus, ampliable con lógica externa.
◦
Síncrono al core de la CPU.
◦
Permite el acceso a la memoria principal mientras la CPU accede a la
caché L1.
•
Tecnología de arquitectura de sistemas virtuales.
◦
Esta
innovadora
arquitectura
permite
virtualización
(software)
funciones hardware con independencia del S.O.
◦
Proporciona el subsistema XpressGRAPHICS.
64
de
Carlos Prades del Valle
◦
Desarrollo de un PC empotrado con procesado de señal
Proporciona subsistema XpressAUDIO de 16 bits.
▫
Síntesis de FM estéreo de 16 bits.
▫
Emulación de OLP3.
▫
Soporte del interfaz MIDI MPU-401.
▫
Asistencia hardware proporcionada por chip complementario Geode
I/O.
◦
•
Se pueden soportar funciones adicionales hardware cuando se necesiten.
Acelerador gráfico 2D.
◦
Acelera BitBLTs, línea dibujada, texto, etc.
◦
Soporta 256 ROPs.
◦
Soporta BLTs transparentes y vuelta de páginas para DirectDraw de
Microsoft.
•
◦
Corre a la frecuencia de reloj del core.
◦
Soporta totalmente los modos VGA y VESA.
Controlador de display.
◦
Su arquitectura con tecnología de compresión de display (DCT) reduce el
ancho de banda consumido de la memoria para el refresco del display.
◦
Soporta una cola de video separada y camino de datos para permitir la
aceleración de video en Geode I/O y chip adicional de gráficos.
◦
Paleta interna RAM para corrección gamma.
◦
Interfaz directo con los chips adicionales Geode I/O y de gráficos.
◦
Cursor hardware.
◦
Soporta resoluciones de hasta 1280 x 1024 con 8 bpp y 1024 x 768 con
16 bpp.
•
XpressRAM.
◦
Interfaz SDRAM estrechamente acoplado al core de la CPU y al
subsistema gráfico para conseguir la máxima eficiencia.
◦
Bus de memoria de 64 bits.
◦
Soporte para:
▫
Dos DIMMs unbuffered de 168 pines.
65
Carlos Prades del Valle
•
Desarrollo de un PC empotrado con procesado de señal
▫
Hasta 16 bancos abiertos simultáneamente.
▫
Lecturas de 16 bytes (en ráfagas de dos).
▫
Hasta 512MB de memoria total.
Soporte de diversos S.O.
◦
Windows 2000, 98, 95, NT, CE, NTE de Microsoft.
◦
VxWorks de WindRiver.
◦
QNX.
◦
Linux.
3.7.3. Diagrama de bloques.
Figura 3.5
66
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
3.8. Geode GXLV de National Semiconductor
[23].
3.8.1. Descripción.
El procesador GXLV de la familia Geode de National Semiconductor está
específicamente diseñado para equipos de información orientados al entretenimiento,
educación y negocios tales como set-top boxes y dispositivos personales de acceso a
Internet.
El procesador GXLV puede funcionar a tres tensiones diferentes (2.9V, 2.5V y
2.2V), ofreciendo un consumo de potencia típico muy bajo (2.5W, 2.0W y 1.5W
respectivamente), lo que conduce a una vida mayor de la batería entre cargas y a un
diseño sin ventilador. Estos consumos típicos se han definido como media, ejecutando
Windows con un ciclo activo – en espera del 80% y con una resolución gráfica de
800x600x8 bpp a 75 Hz.
Aunque el núcleo x86 proporciona una compatibilidad máxima con la basta
cantidad de contenidos de Internet disponibles, la integración de otras funciones (audio,
gráficos, etc.) en un solo chip ofrece una solución multimedia verdadera a nivel de
sistema.
El núcleo de Geode GXLV tiene un diseño x86 que ofrece un rendimiento
competitivo. Contiene unidades de ejecución de enteros y punto flotante basadas en
tecnología de sexta generación (Pentium). La unidad de enteros contiene un pipeline
único, de ejecución en seis etapas, y ofrece características avanzadas tales como
búsqueda anticipada de operandos, búferes de predicción de saltos y búferes de escritura
extensa. Los accesos a la caché write-back L1 de 16 KB se reordenan dinámicamente
para eliminar paradas del pipeline durante la captura de operandos.
Además de las características avanzadas de CPU, el Geode GXLV integra funciones
que típicamente se implementan con componentes externos. El acelerador gráfico
contiene un controlador VGA, un motor bitBLT y una unidad ROP (Raster Operations)
para conseguir una aceleración del interfaz gráfico de usuario (GUI) completa para la
mayoría de los sistemas operativos. El controlador de pantalla tiene un búfer de vídeo
adicional para posibilitar reproducción de vídeo MPEG1 a más de 30 fps (frames per
second,
imágenes
por
segundo)
y
superposición
de
vídeo,
ambas
funciones
67
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
implementadas en conjunción con el chip Geode CS9210 Graphics Companion. Los
accesos a memoria de sistema y memoria gráfica son posibles mediante un controlador
de memoria SDRAM que elimina la necesidad de una caché L2 exterior. El controlador
host de PCI permite hasta tres bus masters para posibilitar capacidades multimedia y de
conectividad adicionales.
El
Geode GXLV incorpora la tecnología VSA (Virtual System Architecture,
Arquitectura de Sistema Virtual) que hace posible la presencia de los subsistemas
XpressGRAPHICS y XpressAUDIO. Existen proveedores de software que proporcionan
funciones estándares de VGA y audio de 16 bits que son transparentes a nivel de sistema
operativo.
3.8.2. Características.
•
Encapsulados:
◦
BGA de 352 bolas.
◦
SPGA de 320 pines.
•
Tecnología CMOS de cinco capas conductoras de 0.35 µm.
•
Núcleo de 2.2V, 2.5V o 2.9V
•
Interfaz de entrada/salida de 3V (tolerante a 5V).
•
Consumo de potencia típico bajo:
◦
1W a 2.2V/166 MHz
◦
2.5W a 2.9V/266 MHz
◦
Nota: Consumos medidos ejecutando Windows con un ciclo activo – en
espera del 80% y con una resolución gráfica de 800x600x8 bpp a 75 Hz.
•
Velocidades ofrecidas de hasta 266 MHz.
•
Arquitectura de memoria unificada:
◦
La memoria gráfica y de vídeo residen con la de sistema en la memoria
principal.
◦
Minimiza los requisitos de área en la PCB.
◦
Reduce el coste del sistema.
68
Carlos Prades del Valle
•
Desarrollo de un PC empotrado con procesado de señal
Compatibilidad directa con chips de entrada/salida y gráficos de National
Semiconductor.
•
Procesador x86 de 32 bits.
◦
Permite utilizar la extensión MMX del set de instrucciones para la
aceleración de aplicaciones multimedia.
◦
Caché L1 unificada de 16 KB.
◦
Unidad de enteros en pipeline de seis etapas.
◦
Unidad de punto flotante integrada.
◦
La unidad de gestión de memoria (MMU) cumple con mecanismos
estándar de paginación y optimiza el rendimiento de la carga de código. El
reordenamiento de las cargas y almacenamientos da prioridad a las
lecturas de memoria, y los saltos de lectura de memoria eliminan lecturas
redundantes o innecesarias.
◦
El modo reentrante de gestión del sistema está mejorado para la
tecnología VSA.
•
Gestión de la alimentación flexible.
◦
Compatible con varios estándares: APM para gestión de alimentación
Legacy,
ACPI
para gestión de alimentación Windows (estados de
procesador C0 a C4) y OnNOW.
◦
Modos de consumo controlados por hardware y software: activo, ocioso
(núcleo parado, salida de gráficos activa), en espera (núcleo y todas las
funciones integradas paradas), dormido (como en espera pero además con
todos los relojes parados), parada con modulación (ciclo de trabajo
programable, en balanceo activo-parado), y eventos de reactivación
programables mediante chips I/O o de gráficos compatibles.
•
Controlador PCI host.
◦
Varios esquemas de arbitraje permitidos: fijo, rotativo, híbrido, ping-pong.
◦
Hasta tres masters de bus PCI.
◦
Síncrono con el núcleo de la CPU.
◦
Permite accesos externos de PCI masters a la memoria principal en
concurrencia con los accesos de la CPU a la caché L1.
69
Carlos Prades del Valle
•
Desarrollo de un PC empotrado con procesado de señal
Arquitectura de sistema virtual.
◦
Arquitectura
innovadora
que
permite
la
independencia
virtual
de
funciones hardware a los sistemas operativos (software).
◦
Subsistema XpressGRAPHICS: alto rendimiento compatible con el núcleo
VGA. La aceleración GUI es puro hardware.
◦
Subsistema XpressAUDIO de 16 bits: síntesis FM estéreo de 16 bits,
emulación OPL3, permite interfaz MIDI MPU-401, asistencia hardware
proporcionada por el chip I/O CS5530.
•
Acelerador de gráficos 2D.
◦
Aceleración de BitBLTs, trazado de líneas y texto (motor vectorial
Bresenham).
◦
Permite las 256 operaciones ROP definidas por Microsoft.
◦
Permite BLTs transparentes y saltos de página para DirectDraw.
◦
Corre a la frecuencia de reloj del núcleo.
◦
Compatible con los modos VGA y VESA.
◦
Las instrucciones especiales a nivel de controlador (driver) utilizan un
dispositivo
interno
de
operaciones
intermedias
para
mejorar
el
rendimiento.
•
Controlador de gráficos.
◦
Tecnología de compresión de gráficos DCT que reduce en gran medida el
consumo de ancho de banda de memoria para el refresco de la pantalla.
◦
Tiene un búfer de vídeo y un bus de datos separados para permitir la
aceleración en los chips de I/O y de gráficos compatibles.
◦
Paleta interna RAM para corrección gamma.
◦
Interfaz directa a los chips de I/O y de gráficos compatibles para salidas a
monitores CRT y pantallas de cristal líquido TFT sin la necesidad de un
RAMDAC externo.
◦
Cursor hardware.
◦
Permite hasta 1280x1024x8 bpp y 1024x768x16 bpp.
70
Carlos Prades del Valle
•
Desarrollo de un PC empotrado con procesado de señal
Subsistema XpressRAM.
◦
Interfaz SDRAM fuertemente acoplado al núcleo CPU y al subsistema de
gráficos para maximizar la eficiencia.
•
◦
Bus de memoria de 64 bits.
◦
Permite:
▫
Dos DIMMs de 168 pines sin búferes.
▫
Hasta 16 bancos abiertos simultáneos.
▫
Lecturas de 16 bytes en dos ráfagas de 8 bytes cada una.
▫
Hasta 256 MB de memoria total.
Permite la ejecución de diversos sistemas operativos: Microsoft Windows (2000,
98, 95, NT, CE), Java de Sun Microsystems, VxWorks de WindRiver, QNX,
Linux, etc.
•
Para la conexión a pantallas de cristal líquido SVGA DSTN y VESA FPDI hay
que utilizar el chip de gráficos CS9210 de National Semiconductor.
3.9. Geode GXM de National Semiconductor
[23].
Sus características son las mismas que el Geode GXLV excepto que no está
optimizado para bajo consumo de potencia. Tiene un núcleo de 2.9V e I/O a 3.3V
mientras que el Geode GXLV baja hasta un núcleo de 2.2V con I/O a 3V.
3.10. Geode SC1400 de National
Semiconductor [23].
3.10.1. Introducción.
Geode SC1400, además de su microprocesador de 64 bits, x86 compatible, incluye
un decodificador MPEG2, un procesador de video para televisión y monitor, un
71
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
Southbridge y un bloque SuperIO (se describirán a continuación). Estas características,
combinadas con el pequeño tamaño y bajo consumo de potencia, lo hacen un núcleo
apropiado para set-top boxes capaces de combinar tanto video DVD de alta calidad como
acceso a Internet. Su arquitectura integrada simplifica el diseño del sistema empotrado al
posibilitar la reducción de capas y pistas de la placa de circuito impreso anfitriona,
reduciendo el número de chips y componentes adicionales y los requisitos de potencia del
sistema.
3.10.2. Componentes principales.
•
Procesador x86 y de gráficos: Geode SC1400 incorpora el procesador MediaGX
que combina rendimiento avanzado de CPU de 64 bits con soporte de MMX,
con aceleración verdadera de gráficos 2D, un interfaz de 64 bits a memoria
síncrona SDRAM y controlador de bus PCI.
•
MPEG2: el decodificador de video MPEG2 incluye un procesador de audio para
formatos MPEG y Dolby AC3.
•
Salidas de TV y monitor (CRT): el codificador de televisión soporta televisiones
NTSC (América) y PAL (Europa). La salida de video tiene un acelerador
hardware para el plegado, escalado, filtrado y conversión del espacio de
colores.
•
Southbridge: incluye funcionalidad PC/AT, un interfaz IDE, un interfaz USB,
gestión de consumo de potencia ACPI 1.0, y entradas de video y de audio
(codec A/D).
•
SuperIO: el bloque del SuperIO tiene dos puertos serie, un puerto de
infrarrojos (IR), control de ventilador, dos interfaces de bus ACCESS y un reloj
de tiempo real (RTC).
3.10.3. Características fundamentales.
•
Procesador de 64 bits, compatible x86, de hasta 266 MHz con el set de
instrucciones MMX soportado.
•
Interfaz de 64 bits de memoria síncrona SDRAM.
•
Acelerador de gráficos de 2D.
72
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
•
Controlador CRT y NTSC/PAL con hardware para aceleración y captura.
•
Puerto de entrada de video CCIR-656 con redirección a la salida de video en
modo pantalla completa.
•
Funcionalidad PC/AT.
•
Controlador de bus PCI.
•
Interfaz de bus LPC (Low Pin Count, bajo número de pines).
•
Interfaz de bus IDE.
•
Interfaz USB, tres puertos (dos serie y uno paralelo), cumplimiento con la
norma OpenHCI.
•
Procesador de audio para audio MPEG y Dolby AC3.
•
Decodificador de video MPEG2.
•
Interfaz de audio con cumplimiento de la norma AC97.
•
VSA (Virtual System Architecture, Arquitectura de Sistema Virtual) soportada.
•
Gestión de consumo de potencia según el estándar ACPI 1.0.
•
Encapsulado EBGA de 40 x 40 mm, con 680 bolas (separación entre bolas
contiguas de 1 mm).
3.10.4. Operaciones concurrentes.
•
Los gráficos se pueden mostrar por el monitor CRT mientras el video MPEG2 se
muestra por un televisor NTSC o PAL.
•
La señal del puerto de entrada de video se puede mostrar en el televisor
mientras que los gráficos se muestran en el monitor CRT.
•
Reproducción de DVD y facilidades para navegación web.
73
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
3.10.5. Diagrama de bloques.
Figura 3.6
3.11. SPARClite MB86831 de Fujitsu [24].
3.11.1. Introducción.
El MB86831 es un miembro de la serie MB8683X de procesadores RISC que
ofrecen un alto rendimiento para aplicaciones de sistemas empotrados. El procesador se
basa
en
la
arquitectura
SPARC
y
es
compatible
con
código
de
anteriores
implementaciones. El procesador corre a 66 u 80 MHz llegando a las 66 u 80 MIPS
respectivamente.
El MB86831 tiene un encapsulado de plástico con bajo perfil y 176 pines. Las
cachés incluidas en el chip para datos e instrucciones ayudan a desacoplar el procesador
de la latencia de la memoria externa. Los buses separados para datos e instrucciones en
el interior del chip (arquitectura Harvard [3]) proporcionan un interfaz de elevado ancho
de banda entre las cachés y la unidad de aritmética entera.
74
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
Para un rendimiento máximo con una mínima lógica de interconexión externa, el
MB86831 incluye: salidas de selección de chips (señales chip selects) y generación de
estados de espera programables, soporte para PM-DRAM, EDO-DRAM, PM-EEPROM, y
anchura del bus de datos de memoria de 8, 16 o 32 bits.
El set de instrucciones está diseñado para ejecución rápida, de modo que la
mayoría de las instrucciones se ejecutan en un solo ciclo de reloj. La unidad de
aritmética entera presenta un pipeline de 5 etapas que se ha diseñado para manejar
interbloqueos de datos, un controlador de saltos optimizado para controlar de modo
eficiente las transferencias, y un interfaz de bus para manejar accesos de un solo ciclo a
la memoria interna.
El conjunto de 136 registros internos está organizado en ocho ventanas solapadas
con desplazamiento para proporcionar rápidos tiempos de respuesta a interrupciones y
cambios de contexto. Este conjunto de registros minimiza los accesos a memoria durante
la ejecución de procesos y facilita el paso de parámetros y la asignación a variables.
El
MB86831
incluye
hardware
para
multiplicaciones
de
enteros.
Las
multiplicaciones de enteros de 32 bits se ejecutan en 5 ciclos de reloj, las de 16 bits en 3
ciclos y las de 8 bits en 2.
Para la conexión a periféricos se puede utilizar uno de los chips de complemento
que poseen controlador de teclado, dos puertos serie, etc.: MB86941 (comunicación de
datos a 40 MHz con el SPARCLite) o MB86942 (50MHz), véase el capítulo 4.3.3.
3.11.2. Características.
•
Ejecución rápida de instrucciones en la unidad de aritmética entera. Las
operaciones simples forman el mayor volumen en la mayoría de los programas,
de modo que la velocidad de ejecución se puede mejorar enormemente
diseñando estas instrucciones de modo que se ejecuten en el menor tiempo
posible. En la arquitectura SPARC la mayoría de las instrucciones se ejecutan
en un solo ciclo de reloj y tan solo un reducido grupo, las más complejas (como
la multiplicación de enteros), toman ciclos adicionales.
•
Amplio conjunto de registros. El elevado número de registros reduce el número
de accesos a la memoria de datos. Estos registros se organizan en grupos
solapados llamados ventanas de registros, lo que permite reservar registros
para tareas de alta prioridad, tales como interrupciones o acceso a registros de
75
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
trabajo del sistema operativo. El solapado de las ventanas también simplifica el
paso de parámetros y reduce la sobrecarga de instrucciones para el enlace de
procedimientos o funciones.
•
Cachés internas. El chip posee dos cachés, una para datos (2 KB) y otra para
instrucciones (4KB). Esto desacopla la rápida unidad de aritmética entera de la
memoria externa al chip, la cual sólo se utiliza cuando los datos o
instrucciones no están en la caché.
•
Posibilidad de bloquear partes de la caché. Tanto en la caché de datos como de
instrucciones es posible bloquear parte de las mismas de modo que sus
contenidos no se descarten nunca (hasta desbloqueo explícito). Esto es de gran
utilidad para ciertos datos o código que se sabe que son muy utilizados.
•
Interfaces. Los requisitos de lógica adicional para la interconexión del
MB86831 al resto del sistema se minimizan gracias a las señales de selección
de chips, circuitería de estados de espera programables, direcciones de
memoria cacheables y no cacheables programables, y soporte para conexión a
PM-DRAM, EDO-DRAM, PM-EEPROM. El MB86831 puede arrancar desde
memoria con anchura de 8, 16 o 32 bits. Además, el bus de datos programable
permite lectura o escritura a memoria de diferentes anchuras. Para una
operación a elevada frecuencia el núcleo puede correr hasta cinco veces la
velocidad del bus (pero la velocidad del bus nunca puede exceder los 33 MHz).
•
Generador de reloj. Para el MB86831 se debe proporcionar una fuente de reloj.
A diferencia de otros miembros de la familia SPARCLite, éste no tiene oscilador
dentro del chip. Pero un PLL incorporado minimiza el skew (desfase) entre los
relojes dentro del chip y fuera del chip.
•
Set de instrucciones mejorado. El MB86831 incluye una instrucción rápida de
multiplicación de enteros. La instrucción de un paso de división reduce el
tiempo necesario para una división en un factor de 10 sobre implementaciones
previas SPARC. También dispone de una instrucción para examinar en un solo
ciclo de reloj cual es el bit 1 o 0 más significativo en una palabra o cual es el
primer bit diferente al bit de signo.
•
Modo adormecido. Es un modo de ahorro de energía en el que la ejecución de
un programa se suspende temporalmente. Los pines PDOWN# y WKUP# y el
registro de modo adormecido proporcionan el mecanismo para entrar y salir de
este modo.
•
Soporte para ROM modo ráfaga.
76
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
•
16 espacios de direcciones, de 256 MB cada uno.
•
Tecnología CMOS de 2 niveles, de 0.35 micras, a 3.3V internos y 3.3 o 5V para
I/O.
3.11.3. Diagrama de bloques.
Figura 3.7
IU: Integer Unit.
BIU: Bus Interface Unit.
ICACHE: Instruction Cache.
DCACHE: Data Cache.
3.12. SPARClite MB86832 de Fujitsu [24].
Sus diferencias con respecto al MB86831 son:
•
Velocidades de 66, 80 o 100 MHz.
•
Tamaños de las cachés de datos e instrucciones de 8 KB (cada una).
77
Carlos Prades del Valle
•
Desarrollo de un PC empotrado con procesado de señal
Velocidad del bus: 40 MHz para la versión de 100 MHz, y de 33 MHz para las
versiones de 66 y 80 MHz.
•
Unidad de apoyo al depurado (DSU, Debug Support Unit), la cual permite los
modos “monitor” y de “emulación hardware”, puede fijar puntos de ruptura
(breakpoints), y también ejecución paso a paso de la CPU. Para habilitar la
DSU se deben activar las líneas EMU_BRK# y EMU_ENB# mientras que se le
hace un reset a la CPU. Los datos en el bus emulador DSU se pueden
monitorizar mediante lógica externa, y se pueden capturar trazas de las
operaciones entre la unidad IU (Integer Unit) y las cachés. La circuitería interna
para emulación permite determinar el estado de la CPU monitorizando los
buses del emulador EMU_SD[3:0] y EMU_D[3:0].
3.13. SPARClite MB86833 de Fujitsu [24].
Es el microprocesador de la familia SPARClite menos potente pero a la vez más
pequeño y barato, lo que le hace el mejor candidato para aplicaciones de sistemas
empotrados de bajo coste.
Sus diferencias con respecto al MB86831 son:
•
Velocidad única de 66 MHz.
•
Tamaños de las cachés de datos e instrucciones de 1 KB (cada una).
•
Encapsulado de plástico con bajo perfil de 144 pines.
3.14. SPARClite MB86860 de Fujitsu [24].
Es el microprocesador Superescalar de la familia SPARClite, y con ello el más
potente, para aplicaciones de sistemas empotrados que exigen gran capacidad de cálculo.
3.14.1. Características.
•
Núcleo CPU.
◦
Conforme a SPARC V8.
78
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
◦
Máxima frecuencia interna de funcionamiento de 200 MHz.
◦
Arquitectura Superescalar doble.
◦
Caché de instrucciones de 16 KB de cuatro conjuntos (4-way).
◦
Caché de datos de 16 KB de cuatro conjuntos (4-way).
◦
Modo de bajo consumo.
◦
Soporte para bi-endian, es decir, puede actuar como big-endian o como
little-endian.
•
•
•
•
•
Funciones de apoyo al depurado a nivel hardware.
◦
Puntos de ruptura.
◦
Búfer de trazas con una profundidad de 16 direcciones.
◦
Operación paso a paso.
Módulo de búferes.
◦
Búfer de instrucciones de 4 columnas.
◦
Búfer de lectura de 2 x 4 columnas.
◦
Búfer de escritura de 16 columnas.
Interfaz SDRAM.
◦
Anchura del bus de datos de 64 bits.
◦
Frecuencia máxima de funcionamiento de 100 MHz.
◦
Soporta autorrefresco.
◦
Soporta control de paridad.
Bus interfaz SPARClite.
◦
Bus de datos de 8, 16, 32 o 64 bits.
◦
Soporta el modo ráfaga.
Módulo DMA (acceso directo a memoria) de 2 canales (operación simultánea de
un solo canal).
•
Tensión interna del núcleo de 2.5 V, y de los pines de entrada / salida de 3.3V.
79
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
3.14.2. Diagrama de bloques.
Figura 3.8
3.15. Crusoe TM3200 de Transmeta [25].
3.15.1. Descripción.
En enero de 2000, la compañía Transmeta introdujo este procesador basado en
software:
ahorrar
en consumo de energía sustituyendo grandes cantidades de
transistores por software. El procesador consiste en un núcleo hardware rodeado por una
capa de software. El núcleo hardware es una CPU VLIW (Very Large Instruction Word)
capaz de ejecutar hasta cuatro operaciones en cada ciclo de reloj. El set de instrucciones
nativo de VLIW no se parece al del x86. Se ha diseñado específicamente para combinar
ejecución rápida, bajo consumo y reducido espacio utilizando fabricación CMOS
convencional. La capa software envolvente da a los programas x86 (incluyendo a la BIOS
y al sistema operativo) la impresión de que están siendo ejecutados en hardware x86.
Esta capa se denomina Code MorphingTM porque “da forma” dinámicamente a las
instrucciones x86 para convertirlas en instrucciones VLIW. Esta filosofía cambia por
completo el diseño clásico de microprocesadores. Mediante la demostración de que se
pueden
implementar
Transmeta
ha
microprocesadores
microprocesadores
expandido
de
modo
reales
enormemente
que
pueden
el
como
espacio
explorar
híbridos
de
los
soluciones
hardware-software,
diseñadores
óptimas
para
de
las
aplicaciones perseguidas. Los equipos de desarrollo de microprocesadores pueden meter
80
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
en su plantilla a expertos en software de modo que trabajen en paralelo con los
ingenieros hardware para presentar los productos en el mercado más rápidamente. Las
actualizaciones de la parte software del microprocesador se pueden llevar a cabo
independientemente del chip. Finalmente, el desacoplo entre el diseño hardware y el
software de sistema da libertad a los diseñadores hardware para modificar sus diseños
sin necesidad de alterar el software de aplicación.
El diseño hardware elimina las tres cuartas partes de la lógica de transistores
necesaria para un diseño tradicional de rendimiento similar. De esta forma se reduce el
consumo y el tamaño del chip. Recordemos que el consumo de potencia es proporcional a
c*v2*f, donde c es el número de transistores, v la tensión y f la frecuencia del reloj.
La capa software Code MorphingTM se puede modificar para mejores rendimientos
en el futuro, y como normalmente residirá en memoria flash de la placa madre donde
vaya el chip, se podrá actualizar descargándola de la Internet. La única desventaja del
Code MorphingTM es que fuerza al procesador a dedicar parte de sus ciclos para
ejecutarlo. Pero diseñando dicho software para máxima eficiencia la sobrecarga no es
considerable como para tener un peor rendimiento que un microprocesador tradicional.
El núcleo hardware se compone fundamentalmente de dos unidades de aritmética
entera, una unidad de punto flotante, una unidad de memoria (load/store) y una unidad
de salto (branch). Una instrucción del microprocesador Crusoe, llamada “molécula”,
puede tener una longitud de 64 o 128 bits y contener hasta cuatro instrucciones del tipo
RISC, llamadas “átomos”. Todos los átomos de una molécula se ejecutan en paralelo, y el
formato de la molécula determina directamente cómo los átomos se enrutan a las
unidades funcionales. Esto simplifica enormemente el hardware para decodificar y
“despachar” instrucciones. En la Figura 3.9 se puede ver cómo una molécula de 128 bits
se descompone en cuatro átomos que se destinan a las unidades funcionales adecuadas.
Las moléculas se ejecutan en orden, para no añadir complejidad al hardware. Para
mantener al microprocesador corriendo a la máxima velocidad las moléculas se “rellenan”
lo máximo posible con átomos.
Figura 3.9
81
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
Comparemos este tipo de arquitectura con la del Pentium III. Bien es cierto que
este último también tiene unidades funcionales que permiten ejecutar operaciones RISC
en paralelo a partir de una instrucción x86, pero, a diferencia de Crusoe, requiere
hardware adicional para despachar las instrucciones de forma desordenada, ya que eso
es necesario en su arquitectura si se quiere tener al mayor número de unidades
funcionales ocupadas. Esto conlleva además una unidad hardware encargada de
reconstruir el orden original de la instrucción x86. Con ello el hardware es más complejo
que el del motor VLIW. Esto y todo lo descrito con anterioridad hace que para una misma
reproducción de un video DVD el Pentium III alcance los 105 ºC mientras que el Crusoe
TM5400 (otro miembro de la familia Crusoe que se verá más adelante) sólo alcance los 48
ºC. Esto hace que el Pentium III requiera ventilador y el Crusoe no. De todos modos
señalar que esta comparación que hace Transmeta no es la más indicada, ya que existe
un microprocesador de aplicaciones más semejantes que es el Mobile Pentium III.
El TM3200 está orientado a dispositivos de acceso a Internet de última generación
y pequeño tamaño (webpads, etc.) a diferencia del TM5400 que dada su mayor potencia
está indicado para PCs portátiles.
3.15.2. Características.
•
Rango de frecuencias: 333 - 400 MHz.
•
Caché L1: 96 KB.
•
Tipo de memoria principal: SDRAM.
•
North Bridge (controlador de SDRAM) integrado.
•
Encapsulado: 474 pin – BGA.
•
Fabricante (Partner) de los chips: IMB.
•
Tecnología 0.22µm.
•
Tamaño del chip: 77mm2.
82
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
3.16. Crusoe TM5400 de Transmeta [25].
3.16.1. Introducción.
Es el hermano mayor del TM3120, descrito anteriormente, y tiene la misma filosofía
de diseño. Dada su mayor potencia de cálculo está orientado a PCs portátiles capaces de
reproducir DVD, etc. con un alto rendimiento.
3.16.2. Características.
•
Rango de frecuencias: 500 - 700 MHz.
•
Caché L1: 128 KB.
•
Caché L2 (integrada en el chip): 256 KB.
•
Tipo de memoria principal: SDRAM o DDR.
•
North Bridge (controlador de SDRAM) integrado.
•
Encapsulado: 474 pin – BGA.
•
Fabricante (Partner) de los chips: IMB.
•
Tecnología 0.18µm.
•
Tamaño del chip: 73mm2.
3.17. Mobile Pentium III de Intel [26].
3.17.1. Descripción.
El microprocesador Pentium III para dispositivos portátiles basados en procesador
(por ejemplo un PC portátil o un webpad) está fabricado con tecnología de 0.18µm, y
ofrece un elevado rendimiento junto con un bajo consumo. Los avances clave de
rendimiento incluyen la introducción del nuevo set de instrucciones para contenidos de
Internet llamado SIMD (rendimiento mejorado para sonido y video incluso en 3
83
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
dimensiones), una arquitectura de transferencia a caché mejorada y un bus de sistema
de velocidad 100 MHz. Los encapsulados disponibles son el BGA2 y el micro-PGA2 (o lo
que es lo mismo, PBGA-B495 y PPGA-B495), cuyos tamaños son incluso un 20% más
pequeños que los del Mobile Pentium II.
La tecnología SpeedStepTM de Intel permite alcanzar rendimientos cercanos a los de
los PCs de sobremesa. Está tecnología tiene además dos modos de funcionamiento que
permite cambiar dinámicamente entre las tensiones y frecuencias asociadas a cada modo
(alto rendimiento y bajo consumo), es decir, las velocidades del núcleo y bus del
procesador, y la tensión del núcleo, se pueden cambiar de altos a bajos sin “resetear” al
micro. En el modo de máximo rendimiento la frecuencia de reloj es de 700 MHz, mientras
que en el modo de ahorro de batería (bajo consumo) es de 550 MHz.
La caché L2 integrada está diseñada para ayudar a mejorar el rendimiento,
proporcionando un rápido acceso a datos críticos reduciendo el consumo total del
sistema (es decir, con respecto a un sistema con caché L2 externa SRAM).
El bus de sistema se denomina GTL+ (Gunning Transceiver Logic), y tiene una
anchura de 64 bits. Proporciona un acoplo directo con el controlador de memoria y el
puente de I/O incluidos en los chips 440BX AGPset, 440ZX-M AGPset y 440MX Chipset.
3.17.2. Características.
•
Rango de frecuencias de funcionamiento:
◦
700/100 MHz (modo de máximo rendimiento a 1.6 V).
◦
550/100 MHz (modo de máximo rendimiento a 1.35 V).
•
Soporta la “Ejecución Dinámica” de la arquitectura Intel.
•
Caché primaria L1:
◦
16 KB para instrucciones.
◦
16 KB para datos.
◦
Modo write-back.
◦
Caché asociativa de 4 conjuntos (4-way).
◦
32 bytes por línea, 1 línea por sector.
◦
Rango de información “cacheable” controlado por registros programables
del microprocesador.
84
Carlos Prades del Valle
•
•
Desarrollo de un PC empotrado con procesado de señal
Caché secundaria L2 integrada en el chip:
◦
256 KB.
◦
Protección ECC.
◦
Funcionamiento a la velocidad del núcleo.
◦
Caché asociativa de 8 conjuntos (8-way).
◦
32 bytes por línea, 1 línea por sector.
Interfaz de bus GTL+:
◦
Bus de datos de 64 bits.
◦
Funcionamiento a 100 MHz.
◦
Soporta dos cargas: puente I/O y controlador de memoria.
•
Co-procesador matemático integrado.
•
Número de serie de procesador Intel.
•
Encapsulados BGA2 y Micro-PGA2, que facilitan diseños de pequeño tamaño y,
gracias a la mejor disipación, la innecesidad de un ventilador.
•
Compatibilidad completa con los procesadores Intel anteriores:
◦
Compatible con el código binario de todas las aplicaciones compiladas
para microprocesadores Intel.
•
◦
Soporta la tecnología MMX.
◦
Soporta el set de instrucciones SIMD.
Gestión para el ahorro de energía con dos modos de funcionamiento
diferenciados y de rápida conmutación: alto rendimiento y bajo consumo.
•
Diodo térmico integrado para medir la temperatura del procesador.
85
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
3.17.3. Diagrama de bloques.
Figura 3.10
86
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
3.18. Tabla comparativa.
T e n s ió n
n ú c le o
E n c a p s u la d o
(V )
S T P C C lie n t
6 6 -7 5
0 .3 5
3 .3
388 PB G A
S T P C C o nsum er
6 6 -8 0 -1 0 0
0 .3 5
3 .3
388 PB G A
S T P C C o n su m e r-S
6 6 -7 5 -9 0 -1 0 0
0 .3 5
3 .3
388 PB G A
S T P C In d u s tria l
6 6 -8 0
0 .3 5
3 .3
388 PB G A
C o ld fire M C F 5 3 0 7
6 6 -9 0
0 .9 5
0 .3 5
3 .3
208 TQ FP
M achZ P C e
3 3 -6 6 -1 0 0 -1 3 3
0 .8 -2 .8
0 .2 5
2 .5
388 PB G A
2 .2 -2 .5 320 SPG A
G eode G X LV
1 6 6 -2 6 6
1 .5 -2 .5
0 .3 5
2 .9
352 B G A
2 0 0 -2 3 3 -2 6 6 1 .6 -1 .8 320 SPG A
G eode G X 1
0 .8 -1 .2
0 .1 8
300
2 .0
352 B G A
G eode SC 1400
266
680 EB G A
S P A R C lite M B 8 6 8 3 1
6 6 -8 0
0 .6 -0 .9 5
0 .3 5
3 .3
176 SQ FP
S P A R C lite M B 8 6 8 3 2
6 6 -8 0 -1 0 0
0 .8 -1 .2
0 .3 5
3 .3
176 SQ FP
S P A R C lite M B 8 6 8 3 3
66
0 .5 -0 .8
0 .3 5
3 .3
144 LQ FP
S P A R C lite M B 8 6 8 6 0
200
2 .5
352 B G A
C ru so e T M 3 1 2 0
3 3 3 -4 0 0
1 -2 .2
0 .2 2
1 .5
474 B G A
C ru so e T M 5 4 0 0
5 0 0 -7 0 0
1 -2
0 .1 8
1 .2 -1 .6
474 B G A
1 .3 5 BGA2
M o b ile P e n tiu m III
1 0 0 -7 0 0
0 .1 8
1 .6
m ic ro -P G A 2
N o ta : C a c h é x + y s ig n ific a x K B c h a c h é L 1 e y K B c a c h é L 2 (in te g ra d a e n e l c h ip ).
V e lo c id a d e s
(M H z)
C o nsum o
típ . (W )
T e c n o lo g ía
(µ m )
D riv e r
m e m o ria
V e lo c id a d
(M H z)
C a p a c id a d
m áx (M B )
S T P C C lie n t
DRAM
-
128
B us
de
d a to s
(b its )
64
S T P C C o nsum er
DRAM
-
128
64
Sí
S T P C C o n su m e r-S
SD RAM
-
128
64
Sí
S T P C In d u s tria l
DRAM
DRAM
SD RAM
SD RAM
SD RAM
SD RAM
SD RAM
66
128
64
Sí
-
512
32
No
66
66
66
-
256
256
512
-
32
64
64
64
No
No
Sí
Sí
DRAM
-
64
32
No
DRAM
-
64
32
DRAM
-
64
SD RAM
100
128
C o ld fire M C F 5 3 0 7
M achZ P ce
G eode G X LV
G eode G X 1
G eode SC 1400
S P A R C lite
M B 86831
S P A R C lite
M B 86832
S P A R C lite
M B 86833
S P A R C lite
M B 86860
C ru so e T M 3 2 0 0
C o n tro la d o r
g rá fic o
E n tra d a /
s a lid a d e
TV
Sí
D ig ita le s
D ig ita l /
A n a ló g ic a
D ig ita l /
A n a ló g ic a
No
C aché
(K B )
8
8
8
8
8
8
16
16
6
16
2
32
96
128+256
32+256
Super
IO
U SB
No
No
No
No
No
No
Sí
No
No
No
No
No
No
No
Sí
Sí
No
No
Sí
Sí
No
No
Sí
No
No
No
No
No
No
No
32
No
No
No
No
64
No
No
No
No
SD RAM
133
512
64
No
No
No
No
DDRSD R
C ru so e T M 5 4 0 0
166
512+512
64
No
No
No
No
SD RAM
M o b ile P e n tiu m III
SD RAM
64
No
No
No
No
N o ta : S u p e r IO in c lu y e p u e rto s d e te c la d o , ra tó n , s e rie , p a ra le lo y d is q u e te ra (e s tá a u s e n te e n S T P C
In d u s tria l).
Tabla 3.1
87
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
4. CHIPS COMPLEMENTARIOS
PARA PC EMPOTRADO.
4.1. National Geode CS5530 I/O Companion
Chip [23].
4.1.1. Introducción.
Para su familia de microprocesadores Geode, National Semiconductor ha creado
este chip que permite crear un sistema prácticamente completo siendo una buena
solución para cubrir las necesidades de un host o de un cliente, como es el caso de settop-boxes, acceso personal a Internet, etc.
El CS5530 es un puente PCI-ISA (South Bridge) proporcionando el bus ISA al
sistema (recuérdese que el procesador Geode proporcionaba el bus PCI). También
contiene la gestión de energía que permite reducir la potencia consumida, esto es
especialmente importante en dispositivos alimentados con pilas o baterías. Por otro lado
proporciona salidas analógicas RGB para CRT y salidas digitales RGB para pantallas TFT
o codificadores NTSC/PAL a partir de las señales generadas por la CPU. Estas salidas se
pueden conectar al CS9210, que es un controlador DSTN de la familia Geode. El CS5530
también incluye dos controladores IDE, dos puertos USB, puerto de juegos y la
posibilidad de incluir dispositivos Plug and play. Para soportar audio se puede conectar
un codec AC97 a través del bus PCI y proporciona, por el interfaz de audio, la tecnología
VSA. Para otras necesidades como el RTC (reloj de tiempo real), disquetera, teclado o
ratón PS2, etc. es necesario incluir un SuperIO.
88
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
4.1.2. Características fundamentales.
•
•
•
•
Características generales:
◦
Diseñado para los procesadores de la familia Geode.
◦
Encapsulado TBGA de 352 terminales.
◦
Compatible con buses PCI de 3.3v y de 5v.
◦
Soporta 5v en sus interfaces de entrada/salida.
◦
Core a 3.3v.
Puente PCI a ISA:
◦
Versión de PCI 2.1.
◦
Soporta ciclos de transferencia de master PCI a ISA y de master ISA a PCI.
◦
Master PCI para entradas salidas de audio y controladores IDE.
◦
Agente inteligente para eliminar transferencias no reclamadas.
◦
Translación de mapa de interrupciones PCI a ISA.
Compatibilidad con AT:
◦
Dos controladores de interrupciones equivalentes al 8259A.
◦
Temporizador equivalente al 8254.
◦
Chip select para la ROM de arranque y el teclado.
◦
ROM extendida a 16 MB.
Controladores IDE:
◦
Dos controladores que soportan cuatro dispositivos IDE.
◦
Temporización independiente para dispositivos master y slave de ambos
canales.
◦
Ráfagas de lectura y escritura del bus PCI como master.
◦
Soporte Ultra DMA/33 (ATA-4).
◦
Soporte multiword DMA.
◦
Soporta modos 0-4 de entradas/salidas programadas (PIO).
89
Carlos Prades del Valle
•
Desarrollo de un PC empotrado con procesado de señal
Gestión de energía:
◦
Sistema de control inteligente que soporta varios estándares de gestión de
energía.
◦
▫
Soporte de ACPI y APM completa.
▫
Gestiona directamente los estados de energía del procesador.
Interrupciones de entrada/salida y temporizadores de tiempo inactivo
para la gestión de la energía en los periféricos.
◦
Ocho registros de propósito general para el control del sistema.
▫
◦
•
Los ocho configurables como eventos externos de activación.
Entradas dedicadas para los eventos de activación del teclado y el ratón.
XpressAUDIO:
◦
Proporciona hardware back-end soportado mediante seis masters PCI.
◦
Interfaz para el codificador AC97.
▫
Revisión de las especificaciones 1.3, 2.0 y 2.1. El codificador debe
soportar SRC (conversión de frecuencia de muestreo).
•
Extensiones del subsistema gráfico:
◦
Complementa las capacidades gráficas de los procesadores GXm (como el
GX1) y GXLV.
▫
Tres búferes independientes para acelerar el flujo de datos de video.
▫
Controladores de flujo de datos de video y gráficos asíncronos
concurrentes desde el procesador.
◦
▫
Conversión hardware de YUV a RGB.
▫
Escalado de la interpolación X e Y arbitraria.
▫
Control del color para la superposición de gráficos y video.
Interfaz VDACs/pantalla.
▫
Tres DACs integrados (R, G y B).
▫
RAM Gamma.
▫
Proporciona corrección gamma para el flujo de datos de video.
▫
Proporcione corrección de brillo/contraste para el flujo de datos de
video.
90
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
▫
Reloj generador DOT integrado.
▫
Interfaz
RGB
digital
para
alimentar
pantallas
TFT
o
para
codificadores NTSC/PAL estándares.
•
Bus serie universal (USB):
◦
Dos interfaces USB independientes.
▫
Cumple con la especificación de interfaz controlador de host abierto
(OpenHCI).
▫
Diseño del core de segunda generación.
4.1.3. Descripción.
Como ya hemos visto el Geode CS5530 se compone de interfaz PCI, interfaz ISA,
lógica de compatibilidad con AT, controladores IDE, gestión de energía (interrupciones,
eventos, timers e interfaces GPIO), puerto de juegos, hardware de soporte de audio,
control de video (acelerador MPEG, RAMDAC y puertos de video) y controladores USB,
como se puede ver en la Figura 4.1.
Figura 4.1
91
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
La interfaz PCI funciona tanto como slave cuando la CPU u otro dispositivo PCI
inicia la comunicación en modo master como en modo master para los ciclos de
transferencia del DMA, este chip también es master cuando lo requieren los
controladores IDE o la lógica de audio. El CS5530 soporta decodificación positiva para la
configuración de las zonas de acceso a dispositivos de entrada/salida y de memoria,
genera las direcciones de memoria y la paridad de los datos siendo capaz de la
comprobación de la paridad. El arbitraje del bus corresponde al microprocesador no
siendo implementado por este chip.
El CS5530 proporciona in interfaz ISA al sistema, por defecto hace caso a todas los
ciclos, pero se puede configurar para desechar las transferencias no solicitadas. Este
chip soporta dos modos en el interfaz ISA. El modo por defecto, el modo ISA limitado,
soporta todo el rango de direcciones, sin poder hacer de master, para ello se multiplexan
las señales de direcciones y datos utilizando la señal SA_LACH cuando los datos son de
este bus. En el modo ISA master no requiere circuitería externa pero se redefinen los
pines físicos del chip no pudiendo utilizar las pantallas TFT o los controladores de TV,
este modo es necesario si se quieren poner slots ISA o usar el chip como master ISA. Los
ciclos sólo pasan al bus PCI cuando se necesita el acceso a la memoria quedándose los
ciclos que acceden a los dispositivos de entrada/salida en el puente.
La compatibilidad con AT se consigue con dos controladores DMA equivalentes al
8237, dos controladores de interrupciones equivalentes al 8259, un temporizador
equivalente al 8254 para el refresco, temporización y lógica del altavoz, control y
generación de NMI para los errores del sistema (PCI y paridades), soporte para teclados
compatibles AT, control del reset y de espacio para entradas/salidas.
El controlador de DMA soporta siete canales estándar DMA, zona de memoria de 32
bits para los registros, ciclos extendidos de IOCHRDY [7] para compatibilizar
temporalmente las transferencias y soporte de dispositivos ISA master usando el modo en
cascada.
El temporizador programable utilizado permite un total de 16 interrupciones
poniendo en cascada los dos controladores, se puede configurar para que sea sensible al
flanco o al nivel.
También se integran dos controladores IDE ATA-4 que cuelgan del bus PCI,
soportan Ultra DMA/33 (para Windows 95 y Windows NT National proporciona el driver
correspondiente), Multiword DMA y entradas/salidas programables (PIO). La velocidad de
cada
dispositivo
en
cada
controlador
se
puede
controlar
independientemente,
permitiendo dispositivos rápidos junto a otros más lentos.
92
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
El CS5530 integra una gestión de energía avanzada que incluye temporizadores
para inactividad para los periféricos, registros trampa de direcciones para el espacio de
direcciones programable para entradas/salidas o acceso a memoria, ocho registros
programables de propósito general (GPIO), control del reloj de la CPU, parada del reloj de
la CPU por software, modo suspendido cero voltios con ocultamiento de los registros de
los periféricos y bus dedicado para proporcionar el estado de la CPU. Cumple con la
norma ACPI (revisión 1.0) proporcionando más ventajas para la gestión del consumo.
Junto con lo anterior se pueden usar los registros de propósito general (GPIO) como
entradas o salidas para una mejor gestión de la energía.
XpressAUDIO en el CS5530 ofrece soporte hardware y software para los
requerimientos del audio, usa tecnología VSA y hardware adicional para soportar la
síntesis estéreo de 16 bits y la emulación OPL3. El hardware se divide en dos la parte
dedicada al transporte de flujo de datos de sonido y la parte VSA.
En cuanto a la pantalla el CS5530 incorpora extensiones del subsistema gráfico de
los procesadores GXm, incluyendo: Aceleración de video con búferes y entradas para
YUV, interfaz de 8 bits con el microprocesador escalador X e Y con filtro bilinear y
conversor YUV a RGB. Corrección gamma con control de brillo y de contraste e interfaz
de pantalla con los conversores DAC RGB para CRT, soporte VESA DDC2B/DPMS e
interfaz para pantallas planas.
El CS5530 puede generar los relojes DOT para video por medio de un PLL
programable y el reloj para el bus ISA, el divisor para este reloj también es programable.
Para ello es necesario tener las señales de reloj del bus PCI o bien reloj de video (TVCLK)
o una señal de 14 MHz.
Por último hay que mencionar que este chip incorpora también 2 puertos serie
universales (USB) independientes que cumplen con la especificación OpenHCI revisión
1.0.
93
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
4.2. National PC 97317 Super I/O.
4.2.1. Introducción.
Los chips PC87317VUL y PC97317VUL de National Semiconductor son dos chips
con la misma funcionalidad encargados de proporcionar a un sistema basado en
microprocesador los interfaces para periféricos ISA, EISA y MicroChannel más comunes.
Estos chips son totalmente compatibles con las especificaciones Plug and Play de ISA
versión 1.0a y con los acuerdos de la guía de diseño PC97 Hardware Design Guide,
además integra la configuración avanzada y el interfaz de control de energía de los
requerimientos ACPI revisión 1.0.
Incorpora además un reloj de tiempo real (RTC) proporcionando la posibilidad de
control de alimentación avanzado (APC), controlador de disquetera, controlador de
teclado y ratón, 2 puertos serie (UARTs) con posibilidad transmisión por infrarrojos,
puerto paralelo completo, 24 registros de propósito general (GPIO), tres señales de chip
select programables, controlador de LED de acuerdo con las especificaciones PC97,
soporte para la gestión de la energía, temporizador de WATCHDOG, decodificador de las
direcciones según el estándar PC-AT, etc.
En resumen el PC87317 y el PC97317 tienen las siguientes características y
cumplen con las siguientes recomendaciones:
•
Compatibilidad total con la revisión 1.0. de los requisitos de ACPI.
•
Diseñado según las especificaciones PC97 Hardware Design Guide, incluyendo
el soporte para LED.
•
RTC avanzado incluyendo funcionalidad APC y timekeeping.
•
24 puertos GPIO de un bit.
•
Controladores de teclado y ratón, 2 UARTs, soporte para infrarrojos y puerto
paralelo.
4.2.2. Características fundamentales.
•
100%
compatible
con
los
requerimientos
PnP
especificados
en
las
especificaciones Plug and Play de ISA, arquitecturas ISA, EISA y MicroChannel.
94
Carlos Prades del Valle
•
Desarrollo de un PC empotrado con procesado de señal
Un módulo PnP especial que incluye:
◦
DMA, IRQs y direccionamientos base flexibles según las especificaciones
de Microsoft en su “1995 hardware design guide for Windows“ y de la
revisión 1.0A de PnP ISA.
•
◦
Modo ISA PnP.
◦
Placa madre con modo PnP.
Controlador de disquetera que proporciona:
◦
Una dirección modificable referenciada por un registro de 16 bits.
◦
Compatibilidad software con el PC8477, que contiene un superset de
funciones de control de disquetera en el µDP8473, el NEC µPD765A y el
N82077.
◦
13 opciones para el canal IRQ.
◦
4 opciones para el canal del DMA.
◦
FIFO de 16 bits.
◦
Modos ráfaga y no ráfaga (burst y no-burst).
◦
Un nuevo separador interno, digital de altas prestaciones, que no requiere
ningún componente externo.
•
◦
Soporta disqueteras estándar de 5.25” y 3.5”.
◦
Soporte para la detección automática.
◦
Soporte para grabación perpendicular.
◦
Soporte de FDD (controlador de disquete) de tres modos.
◦
Soporte total para el TDR de IBM.
Controlador de teclado (KBC) con:
◦
Dirección modificable referenciada en un registro de 16 bits programable.
◦
13 opciones de IRQ para el controlador de teclado.
◦
13 opciones de IRQ para el controlador de ratón.
◦
Microcontrolador de 8 bits.
◦
Compatibilidad software con microcontroladores 8042AH y PC87911.
◦
2K de ROM programada por el cliente.
◦
256 bytes de RAM.
95
Carlos Prades del Valle
◦
Desarrollo de un PC empotrado con procesado de señal
5 líneas de entrada salida en drenador abierto dedicadas y programables
para aplicaciones del controlador de teclado.
◦
Acceso asíncrono a dos registros de datos y un registro de estado durante
el funcionamiento normal.
◦
Soporta tanto interrupciones como polling.
◦
93 instrucciones.
◦
Un contador/temporizador de 8 bits.
◦
Soporta aritmética binaria y BCD.
◦
Funcionamiento a 8 MHz, 12 MHz o 16 MHz, siendo programable esta
velocidad.
◦
Posibilidad de incluir el PC87323 que incluye RAM y una plataforma de
desarrollo para el PC87317.
•
Reloj de tiempo real (RTC) que comprende:
◦
Una dirección modificable referenciada en un registro de 16 bits
programable.
◦
13 opciones de IRQ, con polaridad programable.
◦
Compatibilidad con DS1287, MC146818 y PC87911.
◦
Memoria RAM, guardada con batería, de 242 bytes.
◦
Mecanismos de seguridad para la RAM del RTC.
◦
Calendario con día de la semana, día del mes, mes, año y siglo con ajuste
automático, alimentado por batería.
◦
Reloj con la hora del día en hora, minutos y segundos, permite formato de
24 o de 12 horas.
◦
Formato para guardar el tiempo binario o BCD.
◦
Tres banderas enmascarables de interrupción:
▫
Interrupciones periódicas, a intervalos desde 122 ms hasta 500 ms.
▫
Alarma de larga duración, interrupción periódica con intervalos
desde una por segundo hasta una por mes.
▫
Interrupción final de actualización. Una vez por segundo hasta que
se completa la actualización.
◦
Pin separado de alimentación por batería de 2.4 V con protección interna.
96
Carlos Prades del Valle
•
•
Desarrollo de un PC empotrado con procesado de señal
◦
Consumo máximo durante el periodo apagado de 2 µA.
◦
Registros de tiempo con doble búfer.
Controlador ACPI que soporta las recomendaciones ACPI revisión 1.0:
◦
Temporizador para la gestión de la energía.
◦
Botón de encendido.
◦
Alarma en tiempo real.
◦
Modo suspendido por software.
◦
PnP SCI.
◦
Mecanismo de bloqueo general.
◦
Eventos de propósito general.
◦
Alarma con la fecha del mes.
◦
Byte de siglo.
Control de alimentación avanzado (APC), que controla la alimentación principal
del sistema usando las salidas, en drenador abierto, de la siguiente forma:
◦
Encendido cuando:
▫
El RTC avisa en un momento predeterminado.
▫
Ocurre un cambio de nivel de alto a bajo en la señal de entrada RI
de las UARTs.
◦
•
▫
Se detecta un pulso en la señal de entrada RING.
▫
Salta el trigger de uno de los eventos programables.
Apagado cuando:
▫
La señal SWITCH indica el evento de apagado.
▫
Ocurre un evento de Fail-safe.
▫
Apagado por software.
▫
Ocurre uno de los 10 eventos de apagado programables.
Dos puertos serie (UART1 y 2) proporcionan:
◦
Compatibilidad total con los 16550A y 16450.
◦
Modo UART extendido.
◦
13 opciones de IRQ.
97
Carlos Prades del Valle
•
•
Desarrollo de un PC empotrado con procesado de señal
◦
Registro oculto para permitir monitorizar bits de sólo escritura.
◦
Velocidades de la UART de 1.5 Mbaudios.
Inclusión de interfaz IR en la UART2 que permite:
◦
IrDA 1.0-SIR.
◦
Opción ASK-IR de SHARP-IR.
◦
Opción DASK-IR de SHARP-IR.
◦
Circuito de control remoto.
◦
Transceptor externo compatible PnP.
Un puerto paralelo bidireccional que incluye:
◦
Dirección modificable referenciada por un registro programable de 16 bits.
◦
Control Software o Hardware.
◦
13 opciones de IRQ.
◦
Cuatro opciones de canal de DMA de 8 bits.
◦
Soporta el modo demanda del DMA.
◦
Un puesto paralelo aumentado (EPP) compatible con la nueva versión EPP
1.9, e IEEE 1284.
◦
EPP que también soporta la versión EPP 1.7 de las especificaciones de
Xircom.
◦
Se soporta el modo EPP como el modo 4 de ECP (puerto con capacidades
extendidas).
◦
Selección de las resistencias pull-up o pull-down internas.
◦
Reducción de la utilización del bus PCI al soportar los modos de DMA de
demanda y colapso (demmand y fairness modes).
•
◦
Circuito de protección contra sobrecargas eléctricas.
◦
Búferes de salida que pueden absorber o dar hasta 14 mA.
Tres
pines
de
propósito
general
para
tres
chip-select
programables
independientes, como sigue:
◦
Pueden ser programados para control del puerto de juegos.
◦
El chip-select 0 (CS0) está en drenador abierto alimentado por la tensión
adicional VCCH.
98
Carlos Prades del Valle
◦
Desarrollo de un PC empotrado con procesado de señal
Las otras dos señales tienen búferes en push-pull alimentados a la
alimentación general.
◦
La decodificación de estas señales dependen de las señales de dirección y
pueden ser usadas utilizando las señales de leer y escribir.
•
24 puertos bit de propósito general:
◦
Direccionamiento modificable referenciada por un registro programable de
16 bits.
◦
Dirección de cada señal programable como entrada salida.
◦
Tipo de salida programable para cada salida (como drenador abierto o
como push-pull).
◦
Tipo de entrada programable (con resistencia de pull-up o sin ella).
◦
Opciones de configuración de bloqueo.
◦
Varias señales pueden utilizarse como triggers de interrupción.
◦
Circuito de protección.
•
Un X-bus que conecta los 8 bits del X-bus con el bus ISA.
•
Opciones de la fuente de reloj:
◦
La fuente puede ser un reloj de 32.786 KHz, un multiplicador interno
genera los relojes necesarios.
◦
•
•
La señal de entrada puede ser también un reloj de 48 o 24 MHz.
Gestión de energía (PM) ampliada, incluye:
◦
Registros de configuración especial para apagado.
◦
Temporizador WATCHDOG para estrategias de ahorro de energía.
◦
Corriente en los pines reducida.
◦
Tecnología CMOS de bajo consumo.
◦
Posibilidad de apagar los relojes de todos los módulos.
◦
El LED alimentado desde la alimentación especial VCCH.
Las características generales incluyen:
◦
Todos los accesos al SuperIO activan la señal de cero estados de espera
(ZWS), excepto el acceso al EPP o a los registros de configuración.
99
Carlos Prades del Valle
◦
Desarrollo de un PC empotrado con procesado de señal
Acceso a todos los registros de configuración a través de un registro de
índice y otro de datos, que pueden ser reubicados en el espacio de
direcciones de entrada/salida del bus ISA.
◦
Encapsulado PQFP de 160 pines.
4.2.3. Diagrama de bloques.
En el diagrama (Figura 4.2) se puede apreciar los componentes del SuperIO así
como su estructura interna.
Figura 4.2
4.3. Otros chips complementarios.
Existen en el mercado otros chips que realizan las funciones de los anteriores,
sobre todo la gama es amplia en lo que se refiere a SuperIOs. Un par de ejemplos pueden
ser los ofrecidos por National Semiconductor y por SMSC, debido al gran parecido con los
ya comentados no se hace aquí sino una breve referencia a estos otros chips.
100
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
4.3.1. PC87306 de National Semiconductor [23].
Este es un chip que conectado a los buses básicos de un microprocesador
(direcciones, datos y control, por ejemplo del bus ISA) proporciona al sistema reloj de
tiempo real, dos UARTs con posibilidad de comunicación por infrarrojos, controlador de
disquetera, controlador IDE, controlador de teclado y ratón, lógica de gestión de
encendido/apagado, puerto paralelo, registros de propósito general y acceso a los
registros de configuración. Prácticamente las características de este chip son las mismas
que las del PC87317 comentado anteriormente.
4.3.2. PC87338 de National Semiconductor [23].
Este SuperIO también basado en el bus ISA proporciona al sistema menos
dispositivos que los anteriores, pensado para aplicaciones que no requieren todos los
periféricos de un PC o que lo implementan desde otros dispositivos. El PC87338 incluye
dos UARTs con posibilidad de comunicación por infrarrojos, controlador de disquetera,
dos líneas de chip-select configurables, soporte PnP, lógica de gestión de apagado, puerto
paralelo y acceso a los registros de configuración.
4.3.3. MB86941 y MB86942 de Fujitsu [24].
Estos chips están especialmente pensados para los microprocesadores Sparc-Little.
Por ello está diseñado para un acople perfecto donde se minimizan los ciclos de espera.
Este chip incluye el controlador de interrupciones de 15 canales, temporizador de 16 bits
con 4 canales (2 de ellos con preescalers) con 4 modos de funcionamiento, transmisorreceptor serie (SDTR), control de tiempo y ampliación de CS, entrada/salida serie
sincronía y puerto de 16 bits bidireccional bit a bit.
4.3.4. FDC37B78x de SMSC [27].
Este chip si está pensado para sistemas x86, incorpora interfaz para teclado, reloj
de tiempo real, controlador de disquetera, dos UARTs con posibilidad de comunicación
por infrarrojos, puerto paralelo con soporte EPP y ECP y con circuito protector, drivers de
bus AT de 12 mA, soporte para la gestión de energía (con control de teclado ratón, puerto
de juegos, llamada exterior, botón de encendido y eventos de encendido) cumpliendo la
101
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
norma ACPI, interfaz IDE, etc. Todo ello 100% compatible con las normas PC AT
soportando ISA PnP y las recomendaciones internacionales más importantes.
102
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
5. DESARROLLO PC
EMPOTRADO.
En la nomenclatura utilizada se referencia cada una de las líneas sin nombre
específico de un bus como nombre de bus[nº de línea]. Así la línea ADDRESS[0] es la
línea 0 del bus ADDRESS. Para referirse a varias líneas consecutivas de un mismo bus se
referencia como nombre de bus[primera línea:última línea]. Así DATA[8:10] son las líneas
8, 9 y 10 del bus DATA. Hay que señalar que los buses pueden tener señales con nombre
propio. Por ejemplo el bus RTCCTR puede contener las señales RTCCS# y RTCALE, no
existiendo las señales RTCCTR[n]. Cuando una línea es activa a nivel bajo o señala un
evento en el flanco de bajada se incluye el símbolo “#” al final de su nombre. Así
RESETPCI# indica que esta señal (RESETPCI) es activa a nivel bajo.
5.1. Especificaciones.
El objetivo es diseñar un PC empotrado de propósito general, de pequeño tamaño,
bajo consumo con los periféricos esenciales y coste reducido. Dado que se carece de una
aplicación conocida donde vaya a ser utilizado hay que optar por un producto final que,
si bien, no tenga todos los interfaces posibles si tenga los básicos para la interconexión
de periféricos de diferente índole. Gracias a la propia arquitectura PC elegida para el
sistema empotrado en cuestión se resuelve el problema de dicha interconexión de
periféricos desconocidos mediante los interfaces estándar.
En cuanto al software, para facilitar el desarrollo o adquisición del mismo, es un
requisito que el microcontrolador sea compatible x86, dada la gran extensión de la
arquitectura Intel en el mundo. Al aprovechar esta arquitectura los desarrollos software
podrán realizarse sobre Windows XX, aprovechando el conocimiento de esta plataforma
en proyectos para PC.
Con estas premisas se realizan dos construcciones de PC empotrado. La primera es
un PC empotrado pensado para aplicaciones industriales, por lo tanto prima el factor
económico eligiendo componentes que permitan dar una potencia media con pocos
componentes y un consumo mínimo. El sistema elegido debe tener una potencia de
103
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
cálculo apreciable para poder ejecutar las aplicaciones modernas, debe ser capaz de
funcionar con los periféricos y módulos modernos (disco duro, memoria principal, etc.) y
debe soportar los periféricos más comunes (teclado, ratón, monitor, etc.).
La segunda construcción está pensada para aplicaciones de procesado de señal y
multimedia, con lo que prima la potencia de cálculo, sin dejar de lado ni el tamaño ni el
coste, y se hace un especial esfuerzo para controlar el consumo. La potencia de cálculo
de dicho microcontrolador debe dar la capacidad de ejecutar las aplicaciones multimedia
modernas sobre un sistema operativo Windows por los motivos ya explicados. Por
supuesto este sistema, como el anterior, debe poder comunicarse con el exterior con los
periféricos esenciales, así como utilizar los sistemas más modernos en su diseño.
El
sistema
de
potencia
media
para
aplicaciones
industriales,
tiene
las
especificaciones en [1].
Este proyecto se centra en el sistema de potencia alta para aplicaciones de
procesado de señal y multimedia, siendo las especificaciones siguientes las del sistema:
•
Sistema PC empotrado compatible x86, con potencia mínima equivalente al
Pentium con posibilidad de ejecutar las instrucciones MMX, con una velocidad
de funcionamiento mínima de 200 MHz.
•
Memoria SDRAM (mínimo de 32 MB a 66 MHz) con posibilidad de instalación
mediante slot DIMM.
•
Memoria mínima para la BIOS de 256 KB.
•
Conector IDE para la instalación de disco duro (mínimo de 528 MB).
•
Salida de video VGA (RGB).
•
Posibilidad de conexión de teclado, ratón y puerto serie de comunicaciones.
•
Conector ATX para la alimentación del sistema.
•
Consumo del sistema lo suficientemente bajo como para utilizar batería para
alimentarlo.
104
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
5.2. Elección del microcontrolador.
Como punto de partida del diseño del PC empotrado nos encontramos ante la
elección del microcontrolador, ya que éste determinará en gran medida la elección de los
demás componentes y la forma de interconectarlos.
Tras el estudio llevado a cabo sobre numerosos microcontroladores del mercado
(véase capítulo 3) se ha optado por el STPC Consumer-S de ST Microelectronics y por el
Geode GX1 de National Semiconductor. Es decir, se han realizado dos diseños de PC
empotrado, con dos microcontroladores que permiten cumplir con las especificaciones
dadas anteriormente pero a dos niveles diferentes. Más adelante se detallará esta
diferencia de niveles, pero empecemos describiendo por qué se han descartado los demás
microcontroladores.
Primero eliminamos los microcontroladores que no soportan memoria SDRAM (no
nos sirve DRAM, ya sea EDO o FPM, por motivos comerciales ya que pronto será difícil
encontrarlas en el mercado). Con ello quedan fuera el STPC Client, STPC Consumer,
STPC industrial, SPARClite MB86831, SPARClite MB86832, SPARClite MB86833.
El Coldfire MCF5307 y el SPARClite MB86860, aunque soportan SDRAM, no han
sido elegidos ya que no cumplen con el requisito de compatibilidad x86 (requisito
necesario para poder ejecutar una gran variedad de sistemas operativos y aplicaciones
disponibles para esta plataforma). Estos microcontroladores pueden ser útiles para
aplicaciones muy específicas que requieran una gran potencia de cómputo pero no
aplicaciones del entorno Windows.
El MachZ PCe, aunque tiene como novedad la BIOS, que puede incluir parte del
sistema operativo, integrada en el chip, y un SuperIO también integrado, lo que permite
reducir el coste del sistema completo, no tiene integrada la controladora gráfica VGA, lo
que produce un coste superior al ahorro de la BIOS.
El Crusoe TM5400 y el Mobile Pentium III son sumamente potentes y caros. Su
aplicación principal es la de servir de microprocesador de un ordenador portátil de última
generación, con capacidad para reproducir videos DVD, etc. siendo caros y necesitando
un apoyo hardware mayor. Como este no es el caso de nuestras especificaciones quedan
descartados.
El Geode GXLV y el Crusoe TM3120 podrían ser válidos para la elección final, pero
por problemas de índole diferente a la meramente técnica (el primero por ser sustituido
105
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
por el GX1 y el segundo por no estar todavía disponible en el mercado español) no han
sido elegidos.
El SPTC Consumer-S equivale a un 486 (por lo tanto compatible x86) junto con
numerosas mejoras. Entre ellas cabe destacar: interfaz SDRAM de 66 MHz y anchura del
bus de datos de 64 bits, salida de televisión PAL o NTSC, acelerador gráfico 2D de 64
bits, controlador VGA, puerto de entrada de video, controladores PCI, ISA y EIDE,
controlador de DMA e IRQ, unidad de gestión de consumo, etc. Por lo tanto, con la
compañía de un SuperIO que proporcione las entradas/salidas necesarias, es la elección
adecuada para el PC de capacidad de cálculo media.
El Geode GX1 equivale a un Pentium MMX (por lo tanto compatible x86) con las
características siguientes (considerando la presencia de su Companion Chip CS5530):
velocidad máxima de 300 MHz (200 MHz con un consumo muy bajo), interfaz SDRAM de
66 MHz y anchura del bus de datos de 64 bits, acelerador gráfico 2D de 64 bits,
controladores PCI, ISA y EIDE, controlador de DMA e IRQ, puertos USB, unidad de
gestión de consumo, salidas RGB analógicas para CRT y salidas digitales RGB para
pantallas TFT o codificadores NTSC/PAL, etc. Con estos dos chips (GX1 y CS5530)
conseguimos tener un sistema completo con las entradas y salidas básicas. Hay que
hacer mención a que sin SuperIO conseguimos la conexión a los periféricos externos
(teclado, ratón) así como las comunicaciones serie por medio del puerto USB, con la
ventaja de tener un solo conector (menor tamaño) y la desventaja de no utilizar los
elementos clásicos. Por otro lado al no incluir SuperIO tampoco existe RTC, por lo que no
tendremos en el sistema un reloj con la hora actual, sin embargo, las funciones de
temporización que realiza el RTC sí se pueden llevar a cabo con el CS5530. Con estos
chips conseguimos hacer un sistema que cumple con las especificaciones del sistema de
alta capacidad de cálculo.
Como se puede observar los dos últimos microcontroladores cumplen con las
especificaciones establecidas (para más información sobre el STPC Consumer-S y sobre
el Geode GX1 consúltese el capítulo 2). Otras razones por las que se han tomado estas
elecciones son fundamentalmente la buena relación calidad-precio y la disponibilidad
prometida por los distribuidores en España para ambos microcontroladores.
Veamos a continuación las diferencias del PC empotrado implementado con el
STPC Consumer-S con respecto al que utiliza el Geode GX1. Fundamentalmente se trata
de dos potencias de cómputo diferentes. Mientras que el STPC Consumer-S tiene la
mínima potencia como para correr un sistema operativo Windows, el Geode GX1 puede
además ejecutar el set de instrucciones MMX (orientado a gráficos dinámicos), reproducir
películas DVD, etc. Lo que tiene el STPC Consumer-S y no el Geode GX1 es salida directa
106
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
a televisión (lo que ahorra la colocación de un chip adicional si se quisiera disponer de
esta salida). Para aplicaciones donde sea necesario una capacidad de cálculo grande
como un servidor de pequeño tamaño, ordenadores portátiles, equipos de conmutación y
gestión de red, set-top boxes, equipos de acceso a Internet, etc. conviene utilizar el Geode
GX1. Sin embargo, para aplicaciones que requieran menos potencia de cómputo, como
puede ser un cajero automático, un punto de venta en un supermercado, aplicaciones
industriales, ordenadores embarcados en vehículos, etc. es más adecuado el STPC
Consumer-S, ya que es más barato y suficiente para lo que exigen.
5.3. Posibilidades abiertas.
El fin de este proyecto es el diseño de un PC empotrado que pueda ser construido
así como el estudio de las diferentes alternativas. Como no existe una aplicación
particular, se ha optado por realizar circuitos fácilmente ampliables. Proponemos en este
apartado algunas de las posibilidades estudiadas que amplían los sistemas sin
demasiada complicación.
Una de las posibilidades, válida para los dos sistemas, es incluir un chip que
proporcione un acceso a una red Ethernet consiguiendo incluir el PC en una red local, o
bien conectarlo a un módem de alta velocidad con salida Ethernet (por ejemplo módem
ADSL). Las soluciones existentes en el mercado son la conexión de un chip al bus ISA
(para Ethernet 10 Base T) o al bus PCI permitiendo 10 Base T y 100 Base T. Los chips
existentes en el mercado necesitan muy poca o ninguna lógica adicional y, en muchos
casos, se ofrece el software para el control del chip bajo Windows. Existe la posibilidad de
incluir una pequeña memoria ROM con salida en serie que contiene la configuración del
chip y que es leída por este en el momento del encendido. En el caso de no querer utilizar
otro chip más para incorporar la configuración esta deberá ser hecha por software en el
proceso de reset del microprocesador.
Las soluciones comerciales estudiadas son las de Intel, National Semiconductor y
SMSC. Los primeros ofrecen el chip 82559, que con 15 mm × 15 mm ofrece una solución
para una LAN (Ethernet 10 Base-T y 100 Base-T) en la placa madre del PC, conectando el
chip al bus PCI (a 3 V), con la posibilidad de conectar la memoria de iniciación. La misma
solución la ofrece National Semiconductor con su DP83815 o SMSC con el chip
LAN83C171, con unas características prácticamente idénticas.
Otra de las posibilidades es la inclusión en la placa de un disco de estado sólido.
Esto permite reducir el tamaño, el consumo y el peso total del sistema al no tener que
107
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
disponer de un disco exterior, así como una mayor robustez física ya que los discos duros
tradicionales son muy delicados. Aquí el cambio en los esquemas debe ser mínimo al
cambiar sólo el conector IDE por el disco duro. El problema es que las capacidades de los
discos de estado sólido son mucho menores (hasta unos 200 MB).
Otra de las posibles ampliaciones es la posibilidad de poner en la placa uno o
varios slots ISA y/o PCI. Debido a que de los chips elegidos proporcionan ambos tipos de
buses la inclusión de estos zócalos es relativamente sencilla. Hay que tener cuidado, sin
embargo, con las señales que están multiplexadas ya que hacen que sea necesario algo
de circuitería externa.
Se pueden conectar otros dispositivos que existen en el mercado para soluciones
“On Board”, citando como posibles ejemplos el módem, controladores SCSI o la tarjeta de
sonido entre otros. También es posible añadir en la placa componentes más
especializados que serían necesarios en el caso de hacer un sistema muy específico.
Estos componentes pueden ser un conjunto de entradas/salidas para gestión de un
proceso industrial, array de líneas de comunicaciones para aplicaciones de conmutación
y gestión de red, entradas y salidas analógicas para el control de líneas telefónicas
(centralita inteligente con control de llamadas, contestador, reconocimiento de voz para
secretaria virtual, etc.), conexión a redes inalámbricas (móviles) para control a distancia,
sistemas GPS para posicionamiento y cualquier elemento que se nos pudiera ocurrir.
Una posibilidad que amplía el sistema es la de conectar una DSP por medio de una
memoria de doble puerto [13]. Esto convertiría a este sistema en un procesador de
señales de alto rendimiento con un chip de propósito general para realizar la
presentación al usuario de una forma sencilla y bajo un sistema operativo ampliamente
conocido.
En el sistema de potencia de cálculo media se puede añadir TV sin mucha
dificultad. El STPC Consumer-S tiene salidas directas de televisión PAL o NTSC, siendo
necesario tan solo la colocación en la placa de unos filtros de protección para las señales
analógicas correspondientes y un euro-conector. Es posible con dicho conector elegir el
formato de 4/3 o de 16/9 mediante un jumper en la placa madre.
En el sistema de gran potencia de cálculo es particularmente sencillo añadir un
controlador de pantalla plana TFT, ya que viene prácticamente implementado en el chip.
Existe la posibilidad de que no se puedan poner otras de las ampliaciones comentadas al
añadir este tipo de monitor debido a la multiplexación de señales en el CS5530 (el bus
ISA está multiplexado con el controlador de pantalla plana), aunque normalmente no es
un problema ya que los componentes modernos suelen estar conectados al bus PCI. Otra
posibilidad de muy fácil implementación, bajo coste económico y de poco espacio es la
108
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
inclusión de un codificador de sonido AC97 (tipo NSC LM4546 o LM4548), consiguiendo
una interfaz estándar y pudiendo conectar micrófono, altavoces, entrada de CDROM, etc.
Por último puede ser de gran utilidad la inclusión del chip Geode CS9211 Graphics
Companion que permite ampliar la potencia de cómputo en gráficos realizando
descompresión de video prácticamente hardware, dar soporte a pantallas LCD de color de
tipo DSTN, ampliar la memoria de video, etc.
Por último a estos sistemas se le puede añadir lógica de control adicional que
permite, por ejemplo controlar la temperatura en sistemas de alto rendimiento, controlar
el bloqueo software, etc.
Como se puede ver las posibilidades son casi incontables y el diseño sólo se ve
limitado por el tipo de aplicación a implementar.
5.4. Descripción de los esquemas del PC
empotrado de potencia de cálculo media.
A continuación se van a describir los esquemas del PC de potencia media para que
se encuentran en el apartado "PLANOS" del presente proyecto. La descripción de este
apartado viene con mayor detalle en [1]. Este apartado es posible por gentileza de José
Luis Madrid Cobos.
En este desarrollo se encuentran los principales bloques del diseño hardware del
PC empotrado basado en el microcontrolador STPC Consumer-S (diseño arquitectónico).
Los nombres y contenidos fundamentales de los bloques son los siguientes:
•
STPC: contiene el microcontrolador STPC Consumer-S de ST Microelectronics.
•
SuperIO: contiene el SuperIO PC97317VUL de National Semiconductor.
•
Memoria: contiene los zócalos DIMM para la SDRAM
y la memoria EPROM
28F020 para la BIOS.
•
Conectores: contiene los conectores IDE, VGA, RS232 (DB9), MiniDin dual
(teclado y ratón) y ATX (alimentación).
•
Config: contiene las resistencias de pull-up o pull-down para configurar el SPTC
Consumer-S en su arranque (strap options).
Veamos más detalladamente cada uno de los bloques mencionados:
109
Carlos Prades del Valle
•
Desarrollo de un PC empotrado con procesado de señal
El bloque STPC tiene comunicación a través de los siguientes pines:
◦
CTRL_BUS: bus que contiene señales de control varias.
◦
PCI: bus PCI (bus para la interconexión de periféricos).
◦
IDE:
bus
IDE
(bus
para
la
comunicación
con
dispositivos
de
almacenamiento secundario tales como discos duros, lectores de CD-ROM
o de cintas, etc.).
◦
VIDEO: bus para las señales de video RGB.
◦
I2C: bus con una señal de reloj y otra de datos serie para configurar o
comunicarse con módulos de memoria DIMM, monitores VGA, etc.
◦
IRQ[0:15]: señales para petición de interrupción al microprocesador.
◦
DRQ[0:3]: señales para petición de DMA (acceso directo a memoria).
◦
DACK[0:7]#:
señales para reconocimiento de la petición de DMA
(reconocimiento por parte del microprocesador).
•
◦
SD[0:15]: bus de datos del bus ISA.
◦
SA[0:19]: bus de direcciones del bus ISA.
◦
ISA: señales de control del bus ISA.
◦
RMRTCCS#: señal de selección de la ROM o el reloj de tiempo real.
◦
MA[0:11]: bus de direcciones para la memoria SDRAM.
◦
MEM_CTRL: bus de control para la memoria SDRAM.
◦
MD[0:63]: bus de datos para la memoria SDRAM.
El bloque SuperIO tiene comunicación a través de los siguientes pines:
◦
RS232: bus de comunicaciones serie.
◦
KB_Mouse: señales para el teclado y el ratón.
◦
IDE: ver bloque STPC.
◦
PCI: ver bloque STPC.
◦
CTRL_BUS: ver bloque STPC.
◦
ISA: ver bloque STPC.
◦
SA[0:19]: ver bloque STPC.
◦
SD[0:15]: ver bloque STPC.
◦
DACK[0:7]#: ver bloque STPC.
110
Carlos Prades del Valle
•
•
•
Desarrollo de un PC empotrado con procesado de señal
◦
DRQ[0:3]: ver bloque STPC.
◦
IRQ[0:15]: ver bloque STPC.
El bloque Memoria tiene comunicación a través de los siguientes pines:
◦
MD[0:63]: ver bloque STPC.
◦
MEM_CTRL: ver bloque STPC.
◦
MA[0:11]: ver bloque STPC.
◦
RMRTCCS#: ver bloque STPC.
◦
SD[0:15]: ver bloque STPC.
◦
SA[0:19]: ver bloque STPC.
◦
ISA: ver bloque STPC.
◦
I2C: ver bloque STPC.
El bloque Conectores tiene comunicación a través de los siguientes pines:
◦
ISA: ver bloque STPC.
◦
I2C: ver bloque STPC.
◦
VIDEO: ver bloque STPC.
◦
IDE: ver bloque STPC.
◦
KB_Mouse: ver bloque SuperIO.
◦
RS232: ver bloque SuperIO.
El bloque Config tiene comunicación a través de los siguientes pines:
MD[0:63]: aunque la utilidad normal de estas señales es para los datos hacia o
desde la memoria SDRAM, aquí se utilizan como entradas para el microprocesador STPC
Consumer-S de modo que quede configurado en el arranque.
5.4.1. Contenido de los buses.
Los buses con nombres representativos (esto es, diferentes a la notación
NOMBRE[0:X]) que se utilizan en los esquemas se listan a continuación:
•
MEM_CTRL: RAS[0:1]#, CAS[0:1]#, CS[0:3]#, MWE#, DQM[0:7]#, MCLKI,
MCLKO. Ver [5] y [6].
111
Carlos Prades del Valle
•
Desarrollo de un PC empotrado con procesado de señal
PCI: PCI_CLKO, AD[0:31], CBE[0:3]#, FRAME#, IRDY#, TRDY#, LOCK#,
DEVSEL#, STOP#, PAR, SERR#, PCI_REQ[0:2]#, PCI_GNT[0:2]#, PCI_INT[0:3].
Ver [8].
•
ISA: ISA_CLK, ISA_CLKX2, OSC14M, LA[17:23], SA[0:19], SD[0:15], ALE,
MEMR#, MEMW#, SMEMR#, SMEMW#, IOR#, IOW#, MCS16#, IOCS16#,
BHE#, ZWS#, REF#, MASTER#, AEN, IOCHCK#, IOCHRDY, ISAOE#, GPIOCS#,
IRQ_MUX[0:3], DREQ_MUX[0:1], DACK_ENC[0:2], TC. Ver [7].
•
CTRL_BUS: GPIOCS#, RTCAS#, OSC14M, SYSRSTO#, DEV_CLK
•
IDE: PCS1#, PCS3#, SCS1#, SCS3#, DA[0:2], DD[0:15], PIRQ, SIRQ, PDRQ,
SDRQ, PDACK#, SDACK#, PDIOR#, PDIOW#, SDIOR#, SDIOW#, IOCHRDY,
RESETIDE#
•
VIDEO: RED, GREEN, BLUE, VSYNC, HSYNC, AGND
•
I2C: SDA, SCL
•
RS232: DCD, DSR, RXD#, RTS, TXD#, CTS, DTR, RI
•
KB_Mouse: KBData, KBCLK, MouseData, MouseCLK
5.5. Descripción de los esquemas del PC
empotrado de alta potencia de cálculo.
A continuación se pasa a describir en profundidad los esquemas del PC empotrado
realizado para este proyecto siguiendo las especificaciones del apartado 5.1, se partirá del
comentario del sistema en general para pasar después a una descripción más detallada
de cada una de las partes.
5.5.1. Descripción general.
Las principales partes del sistema son: El bloque del microprocesador que incluirá
el procesador Geode GX1 y su chip Geode CS5530, proporcionando al sistema los
principales buses de comunicación (ISA y PCI), la interfaz con la memoria principal y las
entradas (USB) y salidas (CRT) de las que dispondrá el sistema. El bloque con la memoria
contiene tanto la memoria principal del sistema como la FLASH-BIOS encargada del
112
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
arranque del sistema. Otro bloque, el de conectores, se encarga de la alimentación y los
conectores con otros dispositivos. Por último existe un bloque que contiene los relojes
que alimentan a cada uno de los subsistemas.
Esta descripción está plasmada en la hoja 1 de los planos titulada “PC empotrado”.
La descripción de cada uno de los símbolos es la siguiente:
•
GX1: Es el bloque comentado anteriormente como bloque de microprocesador.
◦
Contiene: el procesador GX1, el Geode CS5530, el botón de RESET, sus
interconexiones y los componentes discretos necesarios para su correcto
funcionamiento.
◦
Se comunica con los otros bloques con las salidas siguientes:
▫
Bus IDE: contiene todas las señales del interfaz del controlador de
disco duro.
▫
Bus USB: contiene las señales de este bus de comunicaciones serie.
▫
CTR: contiene las señales para la conexión con un monitor VGA.
▫
AUDIO: contiene las señales para la conexión de un codec de audio,
transmitiendo sonido por una conexión serie sincronía.
▫
CLK_14MHZ: señal para conseguir el reloj de 14 MHz necesario para
proporcionar el reloj de video DCLK.
▫
CLK_32KHZ: señal para el funcionamiento de las líneas de control.
▫
RTCCTRL: señales de control para seleccionar el dispositivo RTC
(reloj de tiempo real).
▫
KBROMCS#: señal para seleccionar el controlador de teclado y/o la
ROM, puede utilizarse para la selección de la BIOS.
▫
Bus ISA: Bus de comunicaciones estándar. Incluye su bus de datos,
bus de direcciones y bus de control.
▫
Bus PCI: Bus de comunicaciones estándar. Incluye su bus de datos,
bus de direcciones y bus de control.
•
SDRAM_BIOS: es el bloque de memoria.
◦
Contiene tres sub-bloques: los conectores DIMM de SDRAM con sus
componentes discretos para su buen funcionamiento, la FLASH-BIOS y el
sub-bloque de condensadores de desacoplo.
113
Carlos Prades del Valle
◦
Desarrollo de un PC empotrado con procesado de señal
Se comunica con los otros bloques mediante:
▫
Bus MEM_CTRL: bus con las señales de control para la memoria
principal.
▫
Bus MA: bus de direcciones de la memoria principal.
▫
Bus MD: bus de datos de la memoria principal.
▫
Bus ISA: que contiene las señales de control de direcciones ISA y de
datos ISA, para la comunicación con la BIOS.
▫
•
KBROMCS: señal para la selección de la BIOS.
Clocks: Es el bloque que contiene la fuente de relojes de todo el sistema.
◦
Contiene los osciladores para los relojes necesarios en el sistema.
◦
Proporciona los relojes de:
▫
Bus PCI.
▫
CLK_14MHZ: señal para conseguir el reloj de 14 MHz necesario para
proporcionar el reloj de video DCLK.
•
▫
CLK_32KHZ: señal para el funcionamiento de las líneas de control.
▫
Bus USB.
Conectores: En este último bloque se encuentran los dispositivos que conectan
con el exterior del sistema.
◦
Se divide en 4 sub-bloques: IDE, video, USB y alimentación, con sus
conectores, elementos adicionales para funcionamiento correcto y botón
de encendido.
◦
◦
Se conecta a los buses externos:
▫
Bus ISA.
▫
Bus IDE.
▫
Bus USB.
▫
Bus CRT.
Por otro lado proporciona las señales de alimentación no incluida
explícitamente en cada bloque pero globales a todo el sistema.
Es necesario crear unos buses globales que encierren cada una de las señales,
Estos buses deben ser: bus PCI con las señales del interfaz PCI, bus SYSTEM con las
114
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
señales de control del microcontrolador, bus PIXELGX1 con los buses de las
componentes de video (incluye los buses B[0:5], G[0:5], R[0:5] con las señales RGB de
video digitalizadas), bus PIXELCS5530 como el anterior pero incluye la masa de cada
señal, bus VIDEO_CLOCKS con los relojes necesarios para el funcionamiento correcto del
sistema de video, bus VIDEO_SYNC con las señales de sincronismo de video para
monitores y pantallas planas , bus VIDEO_CTRL con las señales de control del display,
bus MEM_CTRL con las señales para la gestión de la memoria principal, bus ISA con las
señales de esta interfaz (incluye el bus de direcciones ISA, el bus de datos ISA y las
señales de control), bus IDE con las señales del controlador IDE, USB con las señales del
puerto USB, bus AUDIO con las señales necesarias para la comunicación con un codec
de audio (no se utiliza), bus CRT con las señales para el monitor y bus CLOCKS con las
señales de reloj del sistema. Las señales del sistema se describirán en el capítulo 5.5.6.
5.5.2. Bloque microprocesador.
Este bloque es el corazón del sistema, incluye el microcontrolador Geode GX1 y el
chip Geode CS5530 Companion, al elegir estos chips tenemos incluido la mayor parte de
los componentes de un sistema compatible PC AT. Estos chips están diseñados para
trabajar conjuntamente y no es necesario, por tanto, la inclusión de lógica adicional
entre ellos.
La gran ventaja de utilizar dos chips es que el número de pines es muy elevado y
son pocas las señales que comparten conector físico con otras. Esto hace que no sea
necesario utilizar lógica adicional externa para multiplexar y demultiplexar las salidas de
los chips.
Debido a lo explicado anteriormente los componentes externos en este esquema se
reducen a los condensadores de desacoplo, componentes discretos y conmutadores de
configuración.
Este bloque está representado en la hoja 2 de los planos con el nombre de
“Microprocesador y companion chip”.
Como se ve en el plano el Geode GX1 proporciona las señales del interfaz con la
memoria principal que van directamente a la salida del bloque. Hay que mencionar que
las señales SDCLK_IN y SDCLK_OUT deben estar unidas, como se indica en el esquema,
con una conexión de igual longitud a las señales de reloj de los distintos módulos DIMM.
Por otro lado tenemos las señales de control de temperatura y de test que no utilizamos,
dejándolas al aire. Las señales de sistema se conectan directamente al CS5530, que tiene
115
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
los controladores adecuados, la señal de reloj del sistema se saca del reloj del bus PCI y
se selecciona la velocidad del core con los conmutadores conectados a CLKMODE[0:2]
según la siguiente tabla:
CLKMODE[2] CLKMODE[1] CLKMODE[0] Velocidad del core
Off
Off
Off
Off
On
On
On
On
Off
Off
On
On
Off
Off
On
On
Off
On
Off
On
Off
On
Off
On
Modo no permitido
PCICLK × 10
PCICLK × 9
PCICLK × 5
PCICLK × 4
PCICLK × 6
PCICLK × 7
PCICLK × 8
Tabla 5.1: Configuración de velocidad del core.
Este chip tiene el controlador PCI, el CS5530 se conecta a este bus, por lo que
todas las salidas del bus PCI del GX1 se conectan al chip CS5530, si se quisiera
incorporar un slot PCI todas las líneas necesarias están disponibles desde estas salidas.
Por último el Geode GX1 tiene las entradas y salidas del controlador de video, estas
señales deben ir también al CS5530.
El otro gran chip de este plano es el chip Geode CS5530, como ya hemos
comentado se conecta al bus PCI del sistema. Proporciona las señales del bus IDE para
disco duro, las señales del puerto USB, las señales del interfaz de audio y el bus ISA, que
van directamente a las salidas del bloque. Las señales del puerto de juegos y de los
registros de propósito general (GPIO) no se utilizan, quedándose al aire. Por otro lado el
CS5530 proporciona la conexión a los distintos monitores para ello recibe del GX1 las
señales de video digital y proporciona salidas directas al monitor. Es necesario para este
cometido montar una pequeña circuitería que alimente a conversor DAC de video y un
filtro de alimentación para la parte analógica, estos dispositivos se deben colocar
físicamente muy cerca de los pines del chip. De este puerto salen las salidas al monitor.
Se ha incluido en este esquema el circuito de reset que permite hacer un reset
hardware del sistema, así como mantener la señal de reset activa un tiempo durante el
encendido.
La última parte de este esquema la forman los condensadores de desacoplo de
ambos chips, para su correcta posición en la placa hay que conectarlos como dice el
fabricante [23].
116
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
5.5.3. Bloque de memoria.
En el bloque de memoria se ha incluido la memoria principal y la Flash-BIOS. La
memoria principal consta de dos módulos DIMM consiguiendo un sistema flexible y
barato aunque se desaproveche un poco de espacio. La memoria Flash-BIOS es muy
común, para simplificar el esquema se ha eliminado la posibilidad de la actualización de
la BIOS sin sacarla de la placa.
En la página 4 de los esquemas se implementa lo explicado anteriormente. Aquí se
encuentran los símbolos de los zócalos DIMM de 168 pines para los módulos de SDRAM,
además de la memoria flash para la BIOS.
•
Memoria SDRAM. Para la instalación de memoria SDRAM se ha dispuesto de
dos zócalos DIMM de 168 pines para módulos de dicho tipo de memoria.
Dichos módulos pueden ser típicamente de entre 32 y 128 MB cada uno. Se
puede optar por la instalación de un único módulo o bien de ambos. En los
esquemas se observa que el de arriba tiene la dirección 0x00 y el de abajo la
dirección 0x01, fijadas ambas mediante las resistencias de cero ohmios
conectadas entre VCC o masa y las líneas SA[0:2]. Las líneas de reloj que
alimentan a ambos zócalos deben tener la misma longitud, no es necesario
añadir ningún driver ya que el microprocesador proporciona suficiente
corriente. Mediante el jumper colocado junto al pin REGE se puede elegir el
tipo de módulo DIMM de SDRAM (abierto registered, cerrado buffered).
•
Memoria flash para la BIOS. Se trata de la 28F020 (fabricada por ejemplo por
Intel), con una capacidad de 256 KB y velocidad de acceso en lectura de 120
ns. Va alimentada a 5 V y está conectada al bus ISA. Su anchura del bus de
datos es de 8 bits, mientras que el bus de direcciones es de 18 bits. En el
presente diseño se ha inhabilitado la capacidad de programación o escritura de
una nueva BIOS en placa madre colocando 5 V fijos en el pin de tensión de
programación de 12 V (VPP). Todas las señales, de control, direcciones o datos
pertenecen al bus ISA, excepto la señal KBROMCS que se conecta directamente
al microprocesador.
Para todos los módulos y chips se incluyen condensadores de desacoplo entre VCC
y masa.
117
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
5.5.4. Bloque de conectores.
El sistema tiene conectores para las entradas/salidas indispensables del sistema.
Están desarrolladas en la hoja 5 de los planos, esta hoja contiene los conectores IDE,
VGA, USB y ATX (alimentación). Veamos la descripción de cada uno de ellos.
•
Conector IDE. Las resistencias serie para las líneas de datos son de 33 ohmios
para adaptar impedancias y evitar reflexiones de las señales. Cada una de las
líneas tiene su conexión con el CS5530, hay que señalar que la línea de
interrupción se asocia a una interrupción del bus ISA.
•
Conector VGA.
Se utiliza un conector VGA estándar de 15 pines. Las
resistencias de 75 ohmios colocadas en las líneas RED, GREEN y BLUE son
para adaptar impedancias y deben estar lo más cerca posible de los pines del
chip Geode CS5530 companion, junto con estas resistencias se encuentran los
condensadores que permiten filtrar la señal.
•
Las líneas del conector USB tienen una conexión directa con el CS5530, no
necesitando nada más que la alimentación y masa.
•
ATX. Para la alimentación del PC empotrado se dispone de un conector
estándar ATX. La fuente de alimentación proporciona a través de este conector
las tensiones de 5 V y 3.3 V necesarias para el funcionamiento de todos los
chips del sistema. Para la alimentación del core del GX1 se ha utilizado un
conversor DC-DC que proporciona una tensión de 2 V, utilizando para ello el
chip LT1580. Las baterías de condensadores tienen la misión de evitar ruidos
en las alimentaciones que se proporcionan a los chips de la placa. Mediante la
resistencia de 220 ohmios y el condensador de 100 uF conectado a PSON se
lleva a cabo el encendido o apagado del sistema (interruptor de dos posiciones).
5.5.5. Bloque de relojes.
Este último bloque contiene los generadores de relojes indispensables para el
sistema. Aunque hay más señales de reloj en el sistema casi todas son generadas por el
CS5530, para ello parte de 4 señales básicas que se generan mediante botes.
En la hoja 4 de los planos se representan estos botes que generan las siguientes
señales:
118
Carlos Prades del Valle
•
Desarrollo de un PC empotrado con procesado de señal
PCICLK: Es el reloj principal del sistema de donde el microcontrolador saca el
reloj del core. También es utilizado por los dispositivos del bus PCI.
•
USBCLK: Es el reloj del puerto serie USB, es necesario generarlo externamente.
•
CLK_32KHZ: Es el reloj usado para generar las señales de reset y mantener la
funcionalidad del sistema de gestión de energía.
•
CLK_14MHZ: Esta es la señal que utiliza el sistema para generar las señales de
video.
5.5.6. Señales del sistema.
Las señales del sistema más importantes son:
•
Independientes (no contenidas en ningún bus):
◦
Señales de alimentación:
▫
VCC: Alimentación de 3.3V.
▫
VCORE:
alimentación del core de microprocesador, en estos
esquemas es de 2 V para poder elegir la velocidad del core, es muy
simple cambiar el valor para aplicaciones específicas donde no se
necesita una velocidad del micro de 300 MHz.
◦
▫
+5V: Alimentación de 5 V para los distintos dispositivos.
▫
GND: Masa general del circuito.
▫
AGND: Masa para los componentes analógicos de la parte de video.
Señales varias:
▫
KBROMCS#: Señal para la selección de la memoria FLASH-BIOS.
▫
CLK_32KHZ: Señal de reloj de 32 KHz utilizado para funciones
genéricas de control.
▫
CLK_14MHZ: Señal de reloj de 14 MHz para la producción de los
relojes de video.
•
Señales contenidas en el bus MEM_CTRL. Ver [5] y [6]:
◦
BA[0:1]: Selecciona el banco de memoria.
◦
CS[0:3]#: Selección de chip de memoria.
119
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
◦
RASA#: Selección de fila del primer slot.
◦
RASB#: Selección de fila del segundo slot.
◦
CASA#: Selección de columna del primer slot.
◦
CASB#: Selección de columna del segundo slot.
◦
WEA#: (Write Enable), modo de acceso en escritura para el primer slot.
◦
WEB#: (Write Enable), modo de acceso en escritura para el segundo slot.
◦
CKEA: Habilitación del reloj para el primer slot.
◦
CKEB: Habilitación del reloj para el segundo slot.
◦
DQM[0:7]: Mascaras para los datos de la RAM.
◦
SDCLK[0:3]: Relojes para los DIMM.
•
Bus MA: Contiene las señales de direcciones de memoria.
•
Bus MD: Bus de datos de memoria.
•
Señales del bus SYSTEM. Ver [5] y [6]:
◦
CPU_RST: Reset del microprocesador.
◦
INTR: interrupción hardware al microprocesador.
◦
SERIALP: Señal de transmisión serie entre CS5530 y GX1.
◦
IRQ13:
Petición
de
interrupción
usada
para
los
desbordamientos
aritméticos.
◦
SMI#: Interrupción sensible al nivel para poner al microprocesador en
estado de gestión del sistema.
•
◦
SUSPA#: Reconocimiento de suspensión.
◦
SUSP#: Petición de suspensión.
Señales del bus VIDEO_CLOKS:
◦
PCLK: Reloj del puerto de píxeles, se utiliza en las señales R, G y B desde
el GX1 al CS5530.
•
◦
DCLK: (Dot Clock) reloj de píxel.
◦
VID_CKL: Reloj de video.
Señales del bus VIDEO_SYNC:
◦
CRT_HSYNC: Sincronismo horizontal para la salida de monitor.
120
Carlos Prades del Valle
•
Desarrollo de un PC empotrado con procesado de señal
◦
CRT_VSYNC: Sincronismo vertical para la salida de monitor.
◦
FP_HSYNC: Sincronismo horizontal para la salida de pantalla plana.
◦
FP_VSYNC: Sincronismo vertical para la salida de pantalla plana.
Señales del bus VIDEO_CTRL:
◦
ENA_DISP: Línea activa cuando está disponible la señal de video.
◦
VID_RDY: Indica que la cola de video está lista para la recepción.
◦
VID_VALSYNC: Indica que hay un dato válido de video.
•
VID_DATA[0:7]: Datos de video en formato YUV.
•
Señales del bus PIXELCS5530:
◦
GND: La señal de masa.
◦
B[0:5]: Señales de azul (esta señal está incluida también en el bus
PIXELGX1).
◦
G[0:5]: Señales de verde (esta señal está incluida también en el bus
PIXELGX1).
◦
R[0:5]: Señales de rojo (esta señal está incluida también en el bus
PIXELGX1).
•
Señales del Bus PCI. Ver [8]:
◦
FRAME#: Indica que un dispositivo PCI master va a poner una dirección
válida en el bus de direcciones. La señal no se desactiva hasta que
concluye la última transferencia de datos en el bus por parte del agente
PCI.
◦
TRDY#: Indica que un dispositivo PCI objetivo del iniciador de acceso al
bus está preparado.
◦
IRDY#: Indica que un dispositivo PCI inicia un ciclo de uso del bus.
◦
STOP#: Indica que se ha abortado el uso del bus PCI por parte de un
dispositivo conectado a dicho bus.
◦
DEVSEL#: Indica que se ha seleccionado el dispositivo PCI.
◦
PAR: Señal que indica la paridad par del conjunto de señales AD[0:31] y
CBE[0:3]#.
◦
PERR#: Señal que se activa cuando existe un error de paridad.
121
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
◦
SERR#: Se activa cuando se detecta algún error en el bus PCI.
◦
LOCK#: Se activa cuando un agente PCI quiere realizar operaciones en el
bus PCI en exclusiva.
◦
PCICLK#: Señal de reloj del bus PCI, también es usada para producir el
reloj general del sistema.
◦
RESETPCI#: Señal de reset para los dispositivos del bus PCI.
◦
AD[0:31]: Señales de dirección y datos del bus PCI, están multiplexadas,
controladas por las señales FRAME#, TRDY e IRDY.
◦
C/BE[0:3]: Señales de comando y byte habilitado.
◦
REQ[0:2]: Señales de request para el bus PCI, indica al arbitro del bus
quien quiere acceder al bus.
◦
GNT[0:2]: Estas líneas indican a quien ha sido concedido el bus para su
uso.
•
Señales del bus ISA. Ver [7]:
◦
SA_LATCH/SA_DIR: Según el modo de funcionamiento del bus (modo
limitado o modo maestro) esta señal indica que la dirección existente ha
es correcta o el sentido de esta dirección (desde o hacia el CS5530).
◦
SA_OE#: Permite a elementos externos el uso de los bits de direcciones
desde 0 hasta el 15.
◦
MASTER#: Indica que un dispositivo MASTER controla el bus ISA.
◦
SA[0:23]: Direcciones ISA.
◦
SD[0:15]: Bus de datos ISA.
◦
SMEMW#: Escritura en la memoria del sistema.
◦
SMEMR#: Lectura en la memoria del sistema.
◦
SBHE#: Indica que se va a transmitir un byte a una dirección impar por
las líneas altas del bus de datos (SD[8:15]).
◦
BALE: Indica que la dirección en el bus de direcciones es correcta.
◦
IOCHRDY: Indica que se necesitan ciclos de espera.
◦
ZEROWS#: Indica que no se necesitan los ciclos de espera.
◦
IOCS16#: Selecciona un dispositivo de entrada/salida.
◦
IOR#: Indica que se pretende leer de un dispositivo de entrada/salida.
122
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
◦
IOW#: Indica que se pretende escribir en un dispositivo de entrada/salida.
◦
MEMCS16#: Selecciona un chip de memoria
◦
MEMR#: Indica que se pretende leer de la memoria.
◦
MEMW#: Indica que se pretende escribir en la memoria.
◦
AEN: Indica que hay una transferencia del DMA en progreso.
◦
IRQ[1], IRQ[3:7], IRQ[9:12], IRQ[14:15] e IRQ[8]#: Requerimientos de
interrupción.
•
◦
DRQ[0:3] y DRQ[5:7]: Se ha concedido el uso del DMA.
◦
DACK[0:3]# y DACK[5:7]#: Se empieza a utilizar el DMA.
◦
TC: Indica que ha terminado la transferencia por medio del DMA.
◦
ISACLK: Reloj del bus ISA.
Señales del bus CLOCKS TVCLK:
◦
ISACLK: Reloj del bus ISA, esta señal está incluida en el bus ISA.
◦
CLK_14MHZ: Señal de 14.31818 MHz usada para componer el reloj
utilizado en la parte de video.
◦
USBCLK: Señal de reloj para el puerto serie USB, esta señal está incluida
en el bus USB.
◦
•
CLK_32K: Señal de 32.768 KHz para el control de las señales del sistema.
Señales del bus IDE. Ver [4]:
◦
IDE_RST#: Señal de reset para los dispositivos IDE.
◦
IDE_ADDR[0:2]: Bits para seleccionar un registro o un puerto de datos en
los dispositivos IDE.
◦
IDE_DATA[0:15]: Bus de datos del interfaz IDE.
◦
IDE_IOR[0]# e IDE_IOR[1]#: Lectura de datos de los canales 0 y 1.
◦
IDE_IOW[0]# e IDE_IOW[1]#: Escritura en los canales 0 y 1.
◦
IDE_CS[0]# e IDE_CS[1]#: Selección de los dispositivos en los canales 0 y
1.
◦
IDE_IORDY[0] e IDE_IORDY[1]: Señales que indican si el dispositivo está
preparado, para canales 0 y 1.
123
Carlos Prades del Valle
◦
Desarrollo de un PC empotrado con procesado de señal
IDE_DREQ[0] e IDE_DREQ[1]: Requerimiento de DMA del canal 0 y del
canal 1.
◦
IDE_DACK[0]#
e
IDE_DACK[1]#:
Reconocimiento
del
requerimiento
anterior.
•
•
•
•
Señales del bus CRT:
◦
HSYNC_OUT: Sincronismo horizontal para el monitor.
◦
VSYNC_OUT: Sincronismo vertical para el monitor.
◦
DDC_SCL: Reloj serie para el canal de datos del monitor.
◦
DDC_SDA: Datos serie del canal de datos del monitor.
◦
IOUTR: Señal analógica de rojo para el monitor.
◦
IOUTG: Señal analógica de verde para el monitor.
◦
IOUTB: Señal analógica de azul para el monitor.
◦
AGNDVIDEO: Masa analógica para el monitor.
Señales del bus USB:
◦
POWER_EN: Habilita la alimentación a un hub USB autoalimentado.
◦
OVER_CUR#: Indica al hub que se ha detectado un exceso de corriente.
◦
D+_PORT1: Línea positiva de datos del Puerto 1.
◦
D-_PORT1: Línea negativa de datos del Puerto 1.
◦
D+_PORT2: Línea positiva de datos del Puerto 2.
◦
D-_PORT2: Línea negativa de datos del Puerto 2.
◦
USBCLK: Reloj del Puerto USB.
Señales del bus AUDIO (no usado):
◦
BIT_CLK: Reloj para la comunicación serie con el codec.
◦
SDATA_OUT: Salida de datos serie hacia el codec.
◦
SDATA_IN: Entrada de datos serie desde el codec.
◦
SYNC: Bit de sincronización para la transmisión serie.
◦
PC_BEEP: Salida al altavoz del sistema.
Señales del bus GPIO_GAMEPORT (no usado):
◦
GPORT_CS#: Selección de chip para el puerto de juegos.
124
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
◦
GPCS#: Selección de chip para los registros de propósito general.
◦
GPIO[0:7]: Registros de propósito general.
125
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
BIBLIOGRAFÍA.
[1]
Arquitectura PC empotrado-procesador para aplicaciones industriales.
José Luis Madrid Cobos. Departamento de Señales, Sistemas y
Radiocomunicaciones. Escuela Técnica Superior de Ingenieros de
Telecomunicación. Universidad Politécnica de Madrid. Septiembre 2000.
[2]
Design Considerations for the Embedded PC. Eric Auzas. Embedded
Systems Conference West. San José, California, EEUU. Septiembre
1995.
[3]
Embedded Microprocessor Systems Design. An Introduction Using the
Intel 80C188EB. Kenneth L. Short. Ed. Prentice Hall. 1998.
[4]
The Indispensable PC Hardware Book. Aut. Hans-Peter Messmer. Ed.
Addison-Wesley. Tercera edición, 1997.
[5]
486 System Architecture. Aut. Tom Shanley & Don Anderson. Ed. Mind
Share.
[6]
Pentium System Architecture. Aut. Tom Shanley & Don Anderson. Ed.
Mind Share.
[7]
ISA System Architecture. Aut. Tom Shanley & Don Anderson. Ed. Mind
Share.
[8]
PCI System Architecture. Aut. Tom Shanley & Don Anderson. Ed. Mind
Share.
[9]
PCMCIA System Architecture. Aut. Tom Shanley & Don Anderson. Ed.
Mind Share.
[10]
CARDBUS System Architecture. Aut. Tom Shanley & Don Anderson.
Ed. Mind Share.
[11]
Operating Systems Concepts. Aut. Silberschatz. Ed. John Wiley. Enero
1998.
126
Carlos Prades del Valle
[12]
Desarrollo de un PC empotrado con procesado de señal
Managing Data in a Embedded System Utilizing Flash Memory. Aut.
Deborah See y otros. Flash Software Development Group, Intel
Corporation. Revisión de documento 1.01. Junio 1995.
[13]
Overlaps Between Microcontrollers and DSPs. Aut. Bill Giovino.
Embedded Systems Programming, volumen 13, nº 1. Enero 2000,
páginas 20 a 34.
[14]
The
Embedded
PC.
5
Simple
Design
Steps.
Intel
Corporation.
http://www.intel.com/design/platform/embedpc/. Abril de 2000.
[15]
Memorias SDRAM. Circuitos rápidos para los microprocesadores. Aut.
Sergio Lorenzi. Mundo Electrónico nº 290, septiembre 1998, páginas 76
a 82.
[16]
Portal
sobre
sistemas
empotrados:
http://www.embeddedtechnology.com/
[17]
Portal sobre sistemas empotrados: http://www.microcontroller.com/
[18]
Portal sobre sistemas empotrados: http://www.embedded.com/
[19]
Portal sobre sistemas empotrados, DSPs y sistemas en tiempo real:
http://www.eg3.com/
[20]
Sitio de STMicroelectronics: http://eu.st.com/
[21]
Sitio de Motorola: http://ebus.mot-sps.com/
[22]
Sitio de ZF: http://zfmicro.com/
[23]
Sitio de National Semiconductor: http://www.national.com/
[24]
Sitio de Fujitsu: http://www.fujitsumicro.com/
[25]
Sitio de Transmeta: http://www.transmeta.com/
[26]
Sitio de Intel: http://www.intel.com/ y http://developer.intel.com/
[27]
Sitio de SMSC: http://www.smsc.com/
[28]
Sitio de International Data Corporation: http://www.idc.com/
127
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
PLANOS
128
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
PLANOS DEL PC EMPOTRADO
DE
POTENCIA
DE
CÁLCULO
MEDIA.
129
H=2LA; V=2LA
IRQ[0:15]
DRQ[0:3]
DACK[0:7]
SD[0:15]
SA[0:19]
SuperIO
IDE
PCI
CTRL_BUS
Config
MD[0:63]
CTRL_BUS
PCI
MD[0:63]
RMRTCCS
MEMORIA
MD[0:63]
MEM_CTRL
MA[0:11] MA[0:11]
IDE
DACK[0:7]
SD[0:15]
SA[0:19]
ISA
KB_Mouse
MD[0:63]
MEM_CTRL
MA[0:11]
RMRTCCS
STPC
I2C
SD[0:15]
ISA
SA[0:19]
ISA
SA[0:19]
SD[0:15]
DACK[0:7]
DRQ[0:3]
DWG. NO.
SH.
ISA
I2C
VIDEO
REV
1.0
REV
B
SCALE
REVISIONS
DESCRIPTION
DWG. NO.
03/08/00
DATE
SHEET 1
Jose Luis Madrid Cobos
Carlos Prades del Valle
PC EMPOTRADO
Esquema principal del sistema
Conectores
DATE
03/08/00
03/08/00
03/08/00
SIZE FSCM NO.
RS232
IRQ[0:15]
I2C
VIDEO
CONTRACT NO.
APPROVALS
DRAWN
CHECKED
ISSUED
IDE
KB_Mouse
IRQ[0:15]
DRQ[0:3]
RS232
03/08/00
APPROVED
1.0
REV
8
7
22
STOP#
DEVSEL#
5
0
4
C4
15p
GND
33
74AC125
1M
C3
15p
GND
14.3MHz
GND
33
CTRL_BUS
DD[0:15]
RTCAS#
AD[0:31]
AD[17]
6
AD[13]
AD[12]
AD[13]
H
22PF
GND
VCC
Place near 74AC125
0.1UF
GND
SD[0]
SD[1]
SD[2]
SD[3]
SD[4]
SD[5]
SD[6]
SD[7]
SD[8]
SD[9]
SD[10]
SD[11]
SD[12]
SD[13]
SD[14]
SD[15]
SA[0]
SA[1]
SA[2]
SA[3]
SA[4]
SA[5]
SA[6]
SA[7]
SA[8]/DD[0]
SA[9]/DD[1]
SA[10]/DD[2]
SA[11]/DD[3]
SA[12]/DD[4]
SA[13]/DD[5]
SA[14]/DD[6]
SA[15]/DD[7]
SA[16]/DD[8]
SA[17]/DD[9]
SA[18]/DD[10]
SA[19]/DD[11]
LA[17]/DA[0]
LA[18]/DA[1]
LA[19]/DA[2]
LA[20]/PCS1#
LA[21]/PCS3#
LA[22]/SCS1#
LA[23]/SCS3#
ZWS#
IOCHRDY/DIORDY
IOCHCK#
BHE#
MEMR#
MEMW#
SMEMR#
SMEMW#
IOR#
IOW#
ALE
MASTER#
MCS16#
IOCS16#
REF#
AEN
ISA_CLK
OSC14M
SYSRSTO#
TC
IRQ_MUX[0]
IRQ_MUX[1]
IRQ_MUX[2]
IRQ_MUX[3]
DREQ_MUX[0]
DREQ_MUX[1]
DACK_ENC[0]
DACK_ENC[1]
DACK_ENC[2]
RED
GREEN
BLUE
VSYNC
HSYNC
VREF_DAC
COMP
RSET
AGND
DD[8]
DD[9]
DD[10]
DD[11]
VCC
8.2K
ZWS
IOCHRDY
IOCHCK
BHE
MEMR
MEMW
SMEMR
SMEMW
IOR
IOW
ALE
MASTER
MCS16
IOCS16
REF
AEN
OSC14M
SYSRSTO
TC
RED
GREEN
BLUE
VSYNC
HSYNC
3
ISA
VIDEO
VCC
VCC
GND
GND
GND
GND
C16
0.1UF
C27
0.01UF
C17
0.1UF
C28
0.01UF
C18
0.1UF
C29
0.01UF
C19
0.1UF
C30
0.01UF
C20
0.1UF
C31
0.01UF
C21
0.1UF
C32
0.01UF
C22
0.1UF
C33
0.01UF
C23
0.1UF
C34
0.01UF
C24
0.1UF
2
C26
0.01UF
VCC
C9
0.1UF
GND
GND
GND
RES
10K
RES
10K
74AS04
RES
10K
VCC
0
G 07_
DMUX
IRQ[0]
IRQ[1]
IRQ[2]
IRQ[3]
IRQ[4]
IRQ[5]
IRQ[6]
IRQ[7]
IRQ[8]
IRQ[9]
IRQ[10]
IRQ[11]
IRQ[12]
IRQ[13]
IRQ[14]
IRQ[15]
&
2
XXX138
SN74F138D
GND
GND
SA[0:19]
C15
0.1UF
GND
SD[0]
SD[1]
SD[2]
SD[3]
SD[4]
SD[5]
SD[6]
SD[7]
SD[8]
SD[9]
SD[10]
SD[11]
SD[12]
SD[13]
SD[14]
SD[15]
SA[8]
0
1
2
3
EN
EN
0
1
DD[0:15]
RES
5.6K
XXX153
_0
3 G
MUX
SA[9]
SA[10]
SA[11]
SA[12]
SA[13]
SA[14]
SA[15]
RES
5.6K
Place near 74AC245
C25
0.01UF
2
RES
5.6K
IRQ[8]
IRQ[9]
IRQ[10]
IRQ[11]
IRQ[12]
IRQ[13]
IRQ[14]
IRQ[15]
C36
33UF
RES
5.6K
GND
RES
10K
C35
33UF
1
G3
3 EN1 [BA]
3 EN2 [AB]
IRQ[0]
IRQ[1]
IRQ[2]
IRQ[3]
IRQ[4]
IRQ[5]
IRQ[6]
IRQ[7]
Possible
expansion
of DRQs
GND
ALS245
SN74ALS245ADW
ISA Master
mode not
allowed
Desacoplo STPC-ConsumerS
EN
EN
0
1
CTRL_BUS
MUX
_0
3 G
0
1
2
3
EN
EN
0
1
XXX153
MUX
_0
3 G
0
1
2
3
XXX153
REV
1.0
A[16:19]
DESCRIPTION
DA[0]
DA[1]
DA[2]
PCS1
PCS3
SCS1
SCS3
IOCHRDY
IDE
REVISIONS
SD[0:15]
IRQ[0:15]
1
RMRTCCS
SD[0:15]
SA[0:19]
IDE
IRQ[0:15]
Place near
DATE
03/08/00
GND
C13
0.1UF
H
G
F
E
D
C
A
REV
1.0
REV
03/08/00
APPROVED
GND
C14
0.1UF
XXX138
VCC
C12
0.1UF
XXX153
VCC
GND
XXX153
VCC
C11
0.1UF
XXX153
VCC
GND
74AS04
VCC
C10
0.1UF
SHEET 2
GND
VIDEO
ISA
DRQ[0:3]
DACK[0:7]
Desacoplo logica adicional
DACK[0:7]
DRQ[0:3]
DWG. NO.
1
SH.
E
SIZE FSCM NO.
Jose Luis Madrid Cobos
Carlos Prades del Valle
Microprocesador
VCC
Microprocesador y logica adicional
RES_4818P_002
03/08/00
03/08/00
03/08/00
DATE
DRQ[0]
DRQ[1]
DRQ[2]
DRQ[3]
DACK[0]
DACK[1]
DACK[2]
DACK[3]
DACK[4]
DACK[5]
DACK[6]
DACK[7]
8.2K
RES4818P002
D[8:11]
SAtoDD
0
1
2
3
4
5
6
7
APPROVALS
CONTRACT NO.
DRAWN
CHECKED
ISSUED
SCALE
DWG. NO.
C7
CAP
0.1UF
Should be placed as close
to the STPC as possible
R125
RES
Tol 1% 536
AGND
RES4818P002
PCI
MA[0:11]
AD[2]
AD[3]
PCI_CLKO
RTCAS
RMRTCCS#/DD[15]
VREF1_TV
IREF2_TV
TV signals not used, must be left unconnected
IREF1_TV
Serial resistors to be placed near STPC
GND
CVBS
PCI
MA[0:11]
MA[0]
MA[1]
MA[2]
MA[3]
MA[4]
MA[5]
MA[6]
MA[7]
MA[8]
MA[9]
MA[10]
MA[11]
RAS#[0]
RAS#[1]
CAS#[0]
CAS#[1]
CS#[0]
CS#[1]
CS#[2]
CS#[3]
MWE#
DQM#[0]
DQM#[1]
DQM#[2]
DQM#[3]
DQM#[4]
DQM#[5]
DQM#[6]
DQM#[7]
+5V
VCC
C6
CAP
47UF
C8
CAP
0.01UF
AGND
2
SA[16:19]
DD[8:11]
G
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
PCI_GNT#[2]
VCC
VDD5_A
VDD5_B
VDD5_C
VDD5_D
VDD_DAC1
C5
CAP
0.1UF
DD[0]
MA[0]
MA[1]
MA[2]
MA[3]
MA[4]
MA[5]
MA[6]
MA[7]
MA[8]
MA[9]
MA[10]
MA[11]
RAS[0]
RAS[1]
CAS[0]
CAS[1]
CS[0]
CS[1]
CS[2]
CS[3]
MWE
DQM[0]
DQM[1]
DQM[2]
DQM[3]
DQM[4]
DQM[5]
DQM[6]
DQM[7]
STPCCONSUMERS
VCC
GND
+5V
PCI_GNT#[0]
PCI_GNT#[1]
R130
RES
2.2K
RTCDS#/DD[12]
RED_TV
GREEN_TV
BLUE_TV
AD[27]
AD[28]
Video input port not used
GND
Q1
3
DD[7]
DD[6]
DD[5]
MEM_CTRL
MD[0:63]
MD[0]
MD[1]
MD[2]
MD[3]
MD[4]
MD[5]
MD[6]
MD[7]
MD[8]
MD[9]
MD[10]
MD[11]
MD[12]
MD[13]
MD[14]
MD[15]
MD[16]
MD[17]
MD[18]
MD[19]
MD[20]
MD[21]
MD[22]
MD[23]
MD[24]
MD[25]
MD[26]
MD[27]
MD[28]
MD[29]
MD[30]
MD[31]
MD[32]
MD[33]
MD[34]
MD[35]
MD[36]
MD[37]
MD[38]
MD[39]
MD[40]
MD[41]
MD[42]
MD[43]
MD[44]
MD[45]
MD[46]
MD[47]
MD[48]
MD[49]
MD[50]
MD[51]
MD[52]
MD[53]
MD[54]
MD[55]
MD[56]
MD[57]
MD[58]
MD[59]
MD[60]
MD[61]
MD[62]
MD[63]
VCC
+5V
RES
22
RES
1.2K
VDD_DAC2
4
SA[0]
SA[1]
SA[2]
SA[3]
SA[4]
SA[5]
SA[6]
SA[7]
DD[4]
DD[3]
DD[2]
DD[1]
MEM_CTRL
MD[0:63]
MD[0]
MD[1]
MD[2]
MD[3]
MD[4]
MD[5]
MD[6]
MD[7]
MD[8]
MD[9]
MD[10]
MD[11]
MD[12]
MD[13]
MD[14]
MD[15]
MD[16]
MD[17]
MD[18]
MD[19]
MD[20]
MD[21]
MD[22]
MD[23]
MD[24]
MD[25]
MD[26]
MD[27]
MD[28]
MD[29]
MD[30]
MD[31]
MD[32]
MD[33]
MD[34]
MD[35]
MD[36]
MD[37]
MD[38]
MD[39]
MD[40]
MD[41]
MD[42]
MD[43]
MD[44]
MD[45]
MD[46]
MD[47]
MD[48]
MD[49]
MD[50]
MD[51]
MD[52]
MD[53]
MD[54]
MD[55]
MD[56]
MD[57]
MD[58]
MD[59]
MD[60]
MD[61]
MD[62]
MD[63]
IDE
I2C
CTRL_BUS
IN1
IN2
ConectorZumbador
JMP2x1
2N3904 GND
XTALO
XTALI
ISA_CLK2X
GPIOCS
VSS_DAC1
VSS_DAC2
PCI_REQ[0]
PCI_REQ[1]
PCI_REQ[2]
PCI_GNT[0]
PCI_GNT[1]
PCI_GNT[2]
PCI_REQ#[2]
SCAN_ENABLE
PCI_INT[0]
PCI_INT[1]
PCI_INT[2]
PCI_INT[3]
PCI_INT[0]
PCI_INT[1]
PCI_INT[2]
PCI_INT[3]
VSS_DLL_A
VSS_DLL_B
AD[18]
AD[19]
C37
R136
CAP
RES
0.01UF 10K
5
PAR
SERR#
LOCK#
VDD_DEVCLK_PLL
DEV_CLK
AD[11]
RESET
GND
6
VDD_MCLKI_PLL
F
E
7
TC
FRAME#
DCLK
VDD_CPUCLK_PLL
VDD_DCLK_PLL
DD[12]
DD[13]
DD[14]
DD[15]
RTCRW#/DD[13]
KBCS#/DD[14]
D1
TRDY#
IRDY#
VDD_MCLKO_PLL
VDD_HCLK_PLL
HCLK
Host clock test pin
PCI_REQ#[0]
PCI_REQ#[1]
SPKRD
FRAME
TRDY
IRDY
STOP
DEVSEL
PAR
SERR
LOCK
DEV_CLK
CBE[0]
CBE[1]
VCLK
AD[22]
AD[23]
AD[22]
AD[23]
VIN[2]
VIN[3]
AD[29]
AD[30]
AD[31]
VCS
ODD_EVEN
AD[20]
AD[21]
AD[20]
AD[21]
VIN[0]
VIN[1]
AD[12]
AD[10]
AD[11]
W1
AD[24]
AD[25]
AD[26]
AD[24]
AD[25]
AD[26]
AD[27]
AD[28]
AD[29]
AD[30]
AD[31]
VIN[4]
VIN[5]
VIN[6]
VIN[7]
AD[14]
AD[15]
AD[16]
AD[14]
AD[15]
AD[16]
AD[17]
AD[18]
AD[19]
JUMPER
AD[8]
AD[9]
AD[10]
DDC[0]/SDA
DDC[1]/SCL
AD[0]
PDACK#
SDACK#
AD[6]
AD[7]
PWGD/SYSRSTI#
AD[0:31]
AD[1]
AD[2]
AD[0]
AD[1]
PDIOR#
PDIOW#
SDIOR#
SDIOW#
CBE[0]
CBE[1]
CBE[2]
CBE[3]
CBE[2]
CBE[3]
PAL TV not used
MCLKO
PDRQ
SDRQ
AD[3]
AD[4]
AD[5]
AD[4]
AD[5]
AD[6]
AD[7]
AD[8]
AD[9]
SDA
SCL
D
I2C
CTRL_BUS
8
PIRQ
MCLKI
SIRQ
PIRQ
SIRQ
PDRQ
SDRQ
PDACK
SDACK
PDIOR
PDIOW
SDIOR
SDIOW
GPIOCS#
ISAOE#
R124
RES
1K
PCI_CLKO
PCI_CLKI
VIND
VREF2_TV
VSSA_TV
VDDA_TV
LM385BZ
C
B
A
H=8ND; V=8LA
MCLKO
MCLKI
D
C
B
KB_Mouse
IRQ[0:15]
DRQ[0:3]
DACK[0:7]
RSTDRV
4
ISA
SD[0:15]
SA[0:19]
IRQ[1]
IRQ[3:12]
IRQ[14:15]
AEN
IOCHRDY
IOR
IOW
TC
SD[0:7]
SA[0:15]
RTS
TXD
DTR
DCD
DSR
RXD
CTS
RI
Zero Wait State
(Open Drain Output)
+5V
V-12
RES RES RES RES
4.7K 4.7K 4.7K 4.7K
V+12
3
D[0:7]
A[0:15]
IRQ1
IRQ[3:12]
IRQ[14:15]
AEN
ZWS
IOCHRDY
RD
WR
TC
DRQ[0:3]
DACK[0:3]
MR
ACK
SLCT
PE
ERR
INIT
SLIN/ASTRB
AFD/DSTRB
PD[0:7]
BUSY/ WAIT
STB/WRITE
CTS1
DCD1
DSR1
DTR1 /BADDR0/BOUT1
RI1
RTS1 /BADDR1
SIN1
SOUT1/CFG0
+5V
XTAL & RTC
GPIO no usado
GPIO & VARIOS
PC97317VUL
PC97317VUL
VXTAL
GND
C2
CAP
15pF
RES
4.7K
RES
10M
32K
C1
CAP
15pF
+5V
P21
P20
P17
P16/GPIO25
P12/ CS0
MDAT
MCLK
KBDAT
KBCLK
DSKCHG
WP
INDEX
TRK0
RDATA
DENSEL
WGATE
HDSEL
STEP
DIR
WDATA
DR[0:1]
MTR[0:1]
DRATE0
MSEN[0:1]
IRTX
GPIO24/IRRX1
GPIO37/IRRX2/ID0 /IRSL0
IRSL1/ID1/XD7
GPIO no usado
LED
LED3MM
RES
180
2
Puerto adicional
de datos
MouseData
MouseCLK
KBData
KBCLK
KB_Mouse
+5V
+
-
+
1.0
REV
IDE
PCI
1
74AS04
DATE
03/08/00
SHEET 3
C7
CAP
0.1UF
74AS04
3.0V
GND
+5V
C6
CAP
0.1UF
RSTDRV
C5
CAP
0.1UF
GND
+5V
D5
VBATT
74AS04
REVISIONS
DESCRIPTION
C4
CAP
0.1UF
CTRL_BUS
IDE
PCI
SuperIO para conectar perifericos
C3
CAP
1UF
GND
C30
0.1UF
74AS04
+5V
D7
1N4001
D6
1N4001
SUPERIO
DWG. NO.
Jose Luis Madrid Cobos
Carlos Prades del Valle
SCALE
SIZE FSCM NO.
C
1N4001
03/08/00
03/08/00
03/08/00
DATE
DPCAP
0.1UF
Desacoplo PC97317
DPCAP 10UF
CONTRACT NO.
APPROVALS
DRAWN
CHECKED
ISSUED
1
03/08/00
APPROVED
1.0
REV
D
C
A
REV
RS232
GND
2
SH.
DY1
DY2
DY3
RA1
RA2
RA3
RA4
RA5
V+12
DA1
DA2
DA3
RY1
RY2
RY3
RY4
RY5
V-12
ST75185
GND5
V5
Parallel port not used
+5V
GND
CTRL_BUS
3
KEYBOARD & MOUSE
FLOPPY (FDC)
ISA
SD[0:15]
SA[0:19]
IRQ[0:15]
DRQ[0:3]
DACK[0:7]
RS232
CTRL_BUS
4
DWG. NO.
A
H=4ND; V=4LA
RESETPCI
RESETIDE
SYSRSTO
R17
RES
1K
Salidas del FDC
Infrared
& GPIO
no usados
GPIO21/ID2/IRSL0/IRSL2
GPIO20/IRSL1/ID1
GPIO17/WDO
GPIO16/PME1
GPIO15/PME2
GPIO[10:14]
DTR2 /CFG1/BOUT2
GPIO36/SOUT2
GPIO35/SIN2
GPIO34/ RTS2
GPIO33/ RI2
GPIO32/DSR2
GPIO31/ DCD2
GPIO30/ CTS2
GPIO23/ RING
GPIO22/ POR
ISA BUS
PARALLEL PORT
X1
X1C
X2C
VBAT
VCCH
SWITCH
ONCTL
RING/XDCS
LED/CS0
XDRD/ID3
CS1/CSOUT/XD0
CS2 /XD1
GPIO24/XD2
GPIO25/XD3
GPIO26/XD4
GPIO27/XD5
IRSL2/GPIO21/XD6 /SELCS
DEV_CLK
I2C
MD[0:63]
MA[0:11]
MEM_CTRL
SDRAM - DIMM
FLASH - BIOS
MA[0:11]
REF
S1
S2
MA[0:10]
CLKOUT
CLKA1
CLKA2
CLKA3
CLKA4
CLKB1
CLKB2
CLKB3
CLKB4
CY2309
ISA
SA[0:19]
MEM_CTRL
CK[0]
CK[1]
CK[2]
CK[3]
CK[4]
CK[5]
CK[6]
CK[7]
MCLKI
4
MEM_CTRL
VCC
ISA
SA[0:19]
BA
BA
I2C
3
CS[2]
CS[3]
MA[13]
Mem Address conections
MA[0:10] -> A[0:10]
CS[2:3] -> A[11:12]
A[13] not used
CSA
CSB
3
DQ[0:63]
MEMADD
DQM[0:7]
MWE
RAS[0]
CAS[0]
CK[0:3]
DQM[0:7]
Vpp
MWE
RAS[1]
CAS[1]
CK[4:7]
ce
oe
we
I/O0
I/O1
I/O2
I/O3
I/O4
I/O5
I/O6
I/O7
28F020
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
A15
A16
A17
DQ[0:63] BA[0:1]
A[0:13] CKE[0:1]
REGE
DQM[0:7]
CB[0:7]
SCL
CS[0:3]
SCA
SA[0:2]
WE
VREF1
RAS
CAS
VREF2
CK[0:3]
WP
DQ[0:63] BA[0:1]
A[0:13] CKE[0:1]
DQM[0:7]
REGE
CB[0:7]
SCL
CS[0:3]
SCA
WE
SA[0:2]
RAS
VREF1
VREF2
CAS
CK[0:3]
WP
+5V
SA[0:2]
SA[0:2]
VCC
BA
CKE
0
0
SCL
SDA
0
GNDGNDGND
BA
SD[0:15]
0
0
GNDGND
0
2
VCC
VCC
VCC
VCC
R1
RES
4.7K
GND
Open: Registered DIMM
Close: Buffered DIMM
SD[0:15]
2
1.0
REV
C22
CAP
0.1UF
C6
CAP
0.1UF
C4
CAP
0.1UF
C14
CAP
0.33UF
C21
CAP
22UF
1
C3
CAP
0.1UF
C11
CAP
0.1UF
C20
CAP
22UF
DATE
01/08/00
01/08/00
APPROVED
1.0
REV
D
C
SH.
A
REV
SHEET 4
Para la BIOS
Para el CY2309
Para el DIMM 2
C9
CAP
0.1UF
Para el DIMM 1
C15
CAP
22UF
C5
CAP
0.1UF
REVISIONS
DESCRIPTION
VCC
VCC
C2
CAP
0.1UF
GND
C13
CAP
0.33UF
GND
VCC
C10
CAP
0.1UF
C25
CAP
0.1UF
C19
CAP
0.33UF
GND
C16
CAP
22UF
Memoria principal (DIMM SDRAM) y BIOS
C1
CAP
0.1UF
C12
CAP
0.33UF
C7
CAP
0.1UF
VCC
C8
CAP
0.1UF
GND
C18
CAP
0.33UF
GND
+5V
C24
CAP
0.1UF
+5V
C23
CAP
0.1UF
GND
MEMORIA
DWG. NO.
Jose Luis Madrid Cobos
Carlos Prades del Valle
SIZE FSCM NO.
C
SCALE
C17
CAP
0.33UF
01/08/00
01/08/00
01/08/00
DATE
DESACOPLO DE CONTINUA
CONTRACT NO.
APPROVALS
DRAWN
CHECKED
ISSUED
1
DWG. NO.
RMRTCCS
MCLKO
4
R2
RES
4.7K
D
C
B
A
H=4ND; V=4LA
SA[0]
SA[1]
SA[2]
SA[0]
SA[1]
SA[2]
168DIMM
168DIMM
SD[0]
SD[1]
SD[2]
SD[3]
SD[4]
SD[5]
SD[6]
SD[7]
CS[2]
CS[3]
CS[2]
CS[3]
CS[0]
CS[1]
CS[0]
CS[1]
SA[17]
SA[16]
SA[15]
SA[14]
SA[13]
SA[12]
SA[11]
SA[10]
SA[9]
SA[8]
SA[7]
SA[6]
SA[5]
SA[4]
SA[3]
SA[2]
SA[1]
SA[0]
MEMW
MEMR
MA[11]
CS[3]
D
IDE
ISA
C43
CAP
0.1UF
GND
VCC
ISA
4
74AC00
74AC00
ISAOE
IDE
VIDEO
+5V
R8 RES 82
R10RES 22
R11 RES 22
R12RES 22
R13RES 82
R9
RES
5.6K
GND
C2
CAP
220p
VCC
R2
RES
75
RESx8
BAR43
D6
D1
BAR43
22
R4
RES
75
3
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
A15
A16
A17
A18
A19
A20
B1
B2
B3
B4
B5
B6
B7
B8
B9
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
IDE
CONN_40
R3
RES
75
No connections
are intentionaly
left on air
BAR43
D7
D2
BAR43
R1
RES
470
GND
BAR43
D8
RESx8
22
DD[8]
DD[9]
DD[10]
DD[11]
DD[12]
DD[13]
DD[14]
DD[15]
DA[2]
Las resistencias de adaptacion deben
estar lo mas cerca posible de los pines
del STPC Consumer-S
D3
BAR43
R1
R2
R3
R4
R5
R6
R7
R8
R9
R10
R11
R12
R13
R14
R15
VGA
2
2
RS232
KB_Mouse
+5V
VCC
C14
CAP
1UF
C31
CAP
1UF
1
REVISIONS
DESCRIPTION
DATE
R1
R6
R2
R7
R3
R8
R4
R9
R5
03/08/00
DCD
DSR
RXD
RTS
TXD
CTS
DTR
RI
GND
MINIDIN6DUAL
5V
5V
GND
GND
GND
-5V
5VSB
12V
GND
5V
GND
PWGD
GND
03/08/00
APPROVED
1.0
REV
D
C
A
REV
Power on/off
SHEET 5
GND
Conector RS232 (COM1)
A1
A2
A3
A4
A5
A6
A7
A9
A8
B1
B2
B3
B4
B5
B6
B7
B8
GND
5V
3.3V
GND
C42
CAP
330pF
R17
RES
10K
REV
RS232
R16
RES
10K
C41
CAP
330pF
3.3V
-12V
3.3V
GND
PSON
ATX
Conectores IDE, VGA, PS2, PUERTO SERIE
Y ALIMENTACION
R15
RES
10K
GND
C40
CAP
330pF
GND
DWG. NO.
Jose Luis Madrid Cobos
Carlos Prades del Valle
CONECTORES
GND
C4
CAP
100u
+5V VCC
C39
CAP
330pF
R14
RES
10K
C
SCALE
SIZE FSCM NO.
C38
CAP
100UF
C33
CAP
100UF
C16
CAP
100UF
1.0
C32
CAP
10UF
C37
CAP
10UF
DATE
03/08/00
03/08/00
03/08/00
SH.
C36
CAP
1UF
C15
CAP
10UF
MouseCLK
MouseData
KBCLK
KBData
KB_Mouse
A FUSIBLE B
GND
C35
CAP
0.1UF
GND
C30
CAP
0.1UF
+5V
GND
C13
CAP
0.1UF
CONECTOR RS232, TECLADO Y RATON
C12
CAP
10nF
C29
CAP
10nF
C34
CAP
10nF
CONECTOR DE ALIMENTACION
CONTRACT NO.
APPROVALS
DRAWN
CHECKED
ISSUED
1
DWG. NO.
C1
CAP
220p
No connections
are intentionaly
left on air
RESETIDE
3
Keyboard
Mouse
74AC00
74AC00
ISAOE
I2C
PCS3
GND
GND
SDA
AGND
BLUE
GREEN
RED
R6 R5
RESRES
33 33
CONECTOR IDE
VIDEO
I2C
CONECTOR VIDEO RGB
4
A
B
C
B
A
H=4ND; V=4LA
R7
RES
220
PCS1
DA[0]
DA[1]
PIRQ
PDACK
IOCHRDY
PDIOR
PDIOW
PDRQ
DD[0]
DD[1]
DD[2]
DD[3]
DD[4]
DD[5]
DD[6]
DD[7]
SCL
VSYNC
HSYNC
D
C
B
MD[0:63]
4
4
MD[0:63]
MD[26]
MD[25]
MD[24]
MD[20]
MD[40]
MD[46]
MD[45]
MD[17]
4.7K
A1
A2
A3
A4
A5
A6
A7
A8
A
SPST8
3
3
B
4.7K
B1
B2
B3
B4
B5
B6
B7
B8
ON = 0
OFF = 1
VCC
GND
MD25
0
0
1
0
0
1
1
1
MD24
0
1
1
0
1
0
1
0
HCLK PLL SETUP
MD26
0
0
0
1
1
1
1
0
:
:
:
:
:
:
:
:
25 MHz
33 MHz
50 MHz
60 MHz
66 MHz
75 MHz
90 MHz
100 MHz
DCLK INPUT OR OUTPUT
MD20
0 DCLK is an input
1 DCLK is an output
DX1 OR DX2 CPU MODE
MD40
0 DX1 mode = x1
1 DX2 mode = x2
HCLK PLL FREQ RANGE
MD46 MD45
16MHz < HCLK < 32 MHz
0
0
32MHz < HCLK < 64 MHz
1
0
64MHz < HCLK
0
1
PLL is disabled, delay chains selected
1
1
PCI CLK DIVISOR
MD17
0 PCICLK = HCLK/3
1 PCICLK = HCLK/2
2
MD[0:63]
2
MD[47]
MD[48]
MD[41]
MD[42]
MD[43]
MD[44]
MD[16]
MD[18]
MD[19]
MD[21]
MD[22]
MD[23]
MD[27]
MD[28]
MD[29]
MD[30]
MD[31]
MD[32]
MD[33]
MD[34]
MD[35]
1.0
REV
VCC
1
REVISIONS
DESCRIPTION
Straps de configuracion en el arranque
del STPC
SDRAM P O S
MCLKI skew
Clock Tick
input value
Local Bus off
Test Bus off
HCLK source
internal
HCLKO source
internal
CPC test off
Internal IPC
CPC fast reset
normal mode
HCLK delay
DATE
03/08/00
SHEET 6
03/08/00
APPROVED
1.0
REV
D
C
A
REV
STRAPS
DWG. NO.
Jose Luis Madrid Cobos
Carlos Prades del Valle
SCALE
SIZE FSCM NO.
C
Skew between
486 host CLK
& ADPC host CLK
GND
DATE
03/08/00
03/08/00
03/08/00
SH.
CONTRACT NO.
APPROVALS
DRAWN
CHECKED
ISSUED
1
DWG. NO.
A
H=4ND; V=4LA
R1
RES
4.7K
R2
RES
4.7K
R5 R4 R3
RESRESRES
4.7K4.7K4.7K
R6
RES
4.7K
R7
RES
4.7K
R8
RES
4.7K
R9
RES
4.7K
R10
RES
4.7K
R11
RES
4.7K
R12
RES
4.7K
R16 R15 R14 R13
RESRESRESRES
4.7K4.7K4.7K4.7K
R21 R20 R19 R18 R17
RESRESRESRESRES
4.7K4.7K4.7K4.7K4.7K
H=2LA; V=2LA
A[16:19]
D[8:11]
CONTRACT NO.
APPROVALS
DRAWN
CHECKED
ISSUED
REV
1.0
DWG. NO.
REVISIONS
DESCRIPTION
DWG. NO.
Jose Luis Madrid Cobos
Carlos Prades del Valle
SIZE FSCM NO.
APPROVED
REV
DATE
03/08/00
SH.
03/08/00
SHEET 7
1.0
REV
TRADUCCION LINEAS ISA-IDE
Traduccion de lineas de ISA a IDE
DATE
03/08/00
03/08/00
03/08/00
A
SCALE
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
PLANOS DEL PC EMPOTRADO
DE
ALTA
POTENCIA
DE
CÁLCULO.
137
DWG. NO.
REVISIONS
REV
1.0
DATE
Esquema principal del sistema
24/07/00
APPROVED
24/07/00
MD
MEM_CTRL
MA
MD
ISA
CLK_32KHz
PCI
CLK_14MHz
IDE
USB
CRT
AUDIO
IDE
Conectores
USB
CRT
USB
GX1
PCI
CLK_14MHZ
CLK_32KHZ
RTCCTRL
KBROMCS
ISA
DESCRIPTION
REV
SDRAM_BIOS
MEM_CTRL
MA
ISA
KBROMCS
SH.
Clocks
CONTRACT NO.
APPROVALS
DRAWN
CHECKED
ISSUED
PC EMPOTRADO
DATE
Carlos Prades del Valle
Jose Luis Madrid Cobos
24/07/00
24/07/00
24/07/00
SIZE FSCM NO.
A
SCALE
H=2LA; V=2LA
DWG. NO.
REV
1.0
SHEET 1
VCC
8
2
JMP3x1
1
3
VCC
GND
CLKMODE[0:2]
2
3
JMP3x1
1
GND
C50
CAP
47PF
C36
CAP
47PF
C51
CAP
47PF
C37
CAP
47PF
C52
CAP
47PF
VCC
CPU_RST
INTR
IRQ13
SMI
SUSP
SUSPA
SERIALP
FLT
7
RW_CLK
TEST_SD[0:3]
TCLK
TDI
TDO
TMS
TEST
TDP
TDN
SYSCLK
CLKMODE[0:2]
RESET
INTR
IRQ13
SMI
SUSP
SUSPA
SERIALP
C40
CAP
47PF
C55
CAP
47PF
C41
CAP
47PF
C56
CAP
47PF
C11
CAP
220UF
C54
CAP
47PF
C10
CAP
220UF
C39
CAP
47PF
C9
CAP
220UF
C53
CAP
47PF
C12
CAP
220UF
C57
CAP
47PF
C42
CAP
47PF
C18
CAP
220UF
C38
CAP
47PF
C17
CAP
220UF
IDE
PCI BUS
GX1
SDRAM CONTROLLER
USB
AUDIO
C58
CAP
47PF
C43
CAP
47PF
VCC
GND
C59
CAP
47PF
C44
CAP
47PF
C101
CAP
47PF
C86
CAP
47PF
C60
CAP
47PF
C45
CAP
47PF
C102
CAP
47PF
C87
CAP
47PF
C61
CAP
47PF
C46
CAP
47PF
C103
CAP
47PF
C88
CAP
47PF
6
CLOCKS
PCI
SYSTEM
D+_PORT1
D-_PORT1
D+_PORT2
D-_PORT2
POWER_EN
OVER_CUR
ENA_DISP
VID_RDY
VID_VAL
IDE_RST
IDE_ADDR[0:2]
IDE_DATA[0:15]
IDE_IOR[0]
IDE_IOR[1]
IDE_IOW[0]
IDE_IOW[1]
IDE_CS[0]
IDE_CS[1]
IDE_IORDY[0]
IDE_IORDY[1]
IDE_DREQ[0]
IDE_DREQ[1]
IDE_DACK[0]
IDE_DACK[1]
PCLK
VID_CKL
DCLK
CRT_HSYNC
CRT_VSYNC
FP_HSYNC
FP_VSYNC
The length of this wire must be as large
as the length of SDCLK[x] length
FP_VSYNC
ENA_DISP
PCLK
VID_CLK
DCLK
CRT_HSYNC
CRT_VSYNC
FP_HSYNC
VID_RDY
VID_VAL
BIT_CLK
SDATA_OUT
SDATA_IN
SYNC
PC_BEEP
USBCLK
PIXEL[0:17]
VID_DATA[0:7]
CLK_14MHZ
CLK_32K
VCC
GND
VCC
GND
IDE_RST
5
W2
Test has
intern
pull-down
RESET
GND
IDE_ADDR[0:2]
IDE_DATA[0:15]
IDE_IOR0
IDE_IOR1
IDE_IOW0
IDE_IOW1
IDE_CS0
IDE_CS1
IDE_IORDY0
IDE_IORDY1
IDE_DREQ0
IDE_DREQ1
IDE_DACK0
IDE_DACK1
D+_PORT1
D-_PORT1
D+_PORT2
D-_PORT2
POWER_EN
OVER_CUR
BIT_CLK
SDATA_OUT
SDATA_IN
SYNC
PC_BEEP
GPCS
GPORT_CS
GPIO[2:3]
GPIO1/SDATA_IN2
GPIO0
VCC
DCLK
C1
R1
CAP
RES
0.01UF 10K
TEST RESET
INTERFACE
ROM/
KB
CLOCK INTERFACE
4
CPU INTERFACE
R5
RES
10K
VCC
VIDEO_CLOCKS
VIDEO_SYNC
VIDEO_CTRL
Strap option select pin
1-2: IDSEL = AD26, USB = AD27.
2-3: IDSEL = AD28, USB = AD29
VID_DATA[0:7]
PIXELGX1
VCC
GND
VCC
CS5530
BUS ISA / FP/ PARTE DE GPIO
BUS PCI
RESTO DE FP
Flat Panel
Not used
3
FP_ENA_BKL
3
PCLK
PIXEL[0:23]
ENA_DISP
DDC_SCL
HSYNC
HSYNC_OUT
VSYNC
VSYNC_OUT
DDC_SDA
IREF
VREF
EXTVREFIN
AVDD1_DAC
IOUTG
AVSS5_DAC
IOUTR
AVDD2_VREF
AVDD3_DAC
AVSS1_DAC
AVSS2_ICAP
AVSS3_VREF
AVSS4_ICAP
IOUTB
VID_DATA[0:7]
VID_CLK
PLLRO
VID_VAL
VID_RDY
PLLLP
PLLAGD
PLLAGS
PLLVAA
PLLDVD
PLLDGN
PCLK
PIXELCS5530
ENA_DISP
CRT_HSYNC
HSYNC_OUT
CRT_VSYNC
VSYNC_OUT
DDC_SCL
DDC_SDA
IOUTR
IOUTG
IOUTB
VID_CKL
VID_VAL
VID_RDY
DWG. NO.
AGND
GND
CONTRACT NO.
1.0
REV
APPROVALS
ISSUED
CHECKED
DRAWN
C3
CAP
D
SH.
DESCRIPTION
D1
CRT
C4
CAP
REV
VCC
C6
CAP
0.01UF
REVISIONS
R6
RES
390
ZENER
1.235V
AGND
RFCHOKE
DWG. NO.
Carlos Prades del Valle
Jose Luis Madrid Cobos
SIZE FSCM NO.
SCALE
+5V
DATE
1
CRT
C2
CAP
0.1UF
24/07/00
RFCHOKE
C5
CAP
0.01UF
1
SHEET 2
24/07/00
APPROVED
R2
RES
732
1.0
REV
Microprocesador y companion chip
AGND
Acoplo entre microprocesador y companion chip
2
24/07/00
24/07/00
24/07/00
DATE
R3
RES
AGNDVIDEO
GNDGNDGNDGNDGNDGND
GND
GND
GND
GND
GND
GND
MEM_CTRL
MA[0:12]
MD[0:63]
C35
CAP
47PF
C8
CAP
220UF
C49
CAP
47PF
C7
CAP
220UF
C34
CAP
47PF
C16
CAP
220UF
C100
CAP
47PF
C85
CAP
47PF
VCC
JMP3x1
MEM_CTRL
MA
MD
C48
CAP
47PF
C15
CAP
220UF
C84
CAP
47PF
C99
CAP
47PF
C67
CAP
220UF
C98
CAP
47PF
C66
CAP
220UF
C97
CAP
47PF
C65
CAP
220UF
C96
CAP
47PF
C83
CAP
47PF
C64
CAP
220UF
C95
CAP
47PF
C82
CAP
47PF
C73
CAP
220UF
1
2
3
GNT[0:2]
2
C33
CAP
47PF
C94
CAP
47PF
C81
CAP
47PF
C72
CAP
220UF
C80
CAP
47PF
C71
CAP
220UF
REQ[0:2]
VIDEO CONTROLLER
DQM[0:7]
SDCLK[0:3]
REQ[0:2]
GNT[0:2]
WEB
CKEA
PERR
SERR
WEA
IRDY
TRDY
STOP
CKEB
DQM[0:7]
SDCLK[0:3]
RASA
RASB
CASA
CASB
WEA
WEB
CKEA
CKEB
LOCK
DEVSEL
BA[0:1]
CS[0:3]
PAR
FRAME
IRDY
TRDY
STOP
LOCK
DEVSEL
PERR
SERR
JMP3x1
1
3
VCC
GND
PCI
IDE
CLK_14MHZ
CLK_32KHZ
USB
AUDIO
VCORE
C47
CAP
47PF
GND
C19
CAP
47PF
C14
CAP
220UF
C93
CAP
47PF
C79
CAP
47PF
C70
CAP
220UF
REQ
GNT
D
C
GND
C13
CAP
220UF
C92
CAP
47PF
C78
CAP
47PF
C63
CAP
220UF
C91
CAP
47PF
C77
CAP
47PF
C62
CAP
220UF
DESACOPLO DE CONTINUA PARA EL GX1
VCC
C90
CAP
47PF
GND
C89
CAP
47PF
PCICLK
C76
CAP
47PF
C69
CAP
220UF
4
PIXEL PORT
CRT
MPEG
DCLKPLL
VCORE
VCC
GND
C75
CAP
47PF
C68
CAP
220UF
R4
RES
20K
GND
ISA
RTCCS,RTCALE
5
FP_VSYNC
FP_DISP_ENA_OUT
FP_ENA_VDD
FP_HSYNC
FP_VSYNC
FP_CLK
FP_CLK_EVEN
FP_HSYNC
SUSP
SUSPA
SYSTEM & OTHER SIGNALS
CS[0:3]
RASA
RASB
CASA
CASB
C/BE[0:3]
PAR
FRAME
GND
TVCLK
6
STOP
LOCK
DEVSEL
PAR
PERR
SERR
TC
TC
C74
CAP
47PF
KBROMCS
ISA
RTCCTRL
7
DACK[5:7]
CLKMODE[0]
DESACOPLO DE CONTINUA PARA EL CS5530
8
MEMW
IRDY
TRDY
DRQ[5:7]
DACK[0:3]
DACK[5:7]
DACK[0:3]
SUSP_3V
IOW
MEMCS16
MEMR
FRAME
IRQ8
DRQ[0:3]
DRQ[5:7]
IRQ13
PSERIAL
IOCHRY
ZEROWS
IOCS16
IOR
REQ[0]
GNT[0]
FRAME
IRDY
TRDY
STOP
LOCK
DEVSEL
PAR
PERR
SERR
INTB
INTC
INTD
IRQ[9:12]
IRQ[14:15]
IRQ[8]
DRQ[0:3]
CLK_32K
INTR
SMI
ISACLK
CLK_14MHZ
USBCLK
CLK_32K
INTR
SMI
IRQ13
SERIALP
SUSP
SUSPA
USBCLK
AD[0:31]
C/BE[0:3]
HOLD_REQ
AD[0:31]
C/BE[0:3]
INTA
AEN
IRQ1
IRQ[3:7]
IRQ[9:12]
IRQ[14:15]
B
A
H=8ND; V=4LA
SA[16:19]
SD[0:15]
ISACLK
CLK_14MHZ
FP_DATA[0:15]/SA[0:15]
SMEMW/FP_HSYNC_OUT
SMEMR/FP_VSYNC_OUT
SMEMW/RTCCS
SMEMR/ RTCALE
SBHE
BALE
JUMPER
RESETPCI
TEST
CPU_RST
PCICLK
TVCLK
CPU_RST
PCICLK
TVCLK
DCLK
SA[16:19]
SA[0:15]/SD[0:15]
SA[0:15]
SMEMW
SMEMR
RTCCS
RTCALE
SBHE
BALE
IOCHRDY
ZEROWS
IOCS16
IOR
IOW
MEMCS16
MEMR
MEMW
AEN
IRQ[1]
IRQ[3:7]
IDE CONTROLLER
USB
AUDIO INTERFACE
GAME PORT/
GPIO
PCI_RST
POR
KBROMCS
SA_LATCH/SA_DIR
SA_OE/FP_DATA16
MASTER /FP_DATA17
SA[20:23]/GPIO[4:7]
SA_LATCH/SA_DIR
SA_OE
MASTER
SA[20:23]
CLKMODE[1]
MD[0:63]
MA[0:12]
BA[0:1]
AD[0:31]
AD[0:31]
C/BE[0:3]
Test signals
(on air)
Termal
Diode
SDCLK_IN
SDCLK_OUT
ISACLK
CLKMODE[2]
GPIO
Not used
DISPLAY
D
C
B
A
4
3
2
1
REVISIONS
REV
1.0
DESCRIPTION
Memoria principal (DIMM SDRAM) y BIOS
DATE
24/07/00
APPROVED
24/07/00
D
D
CSDIMMA
VCC
CKDIMMA
C59
CAP
0.1UF
4.7K
C31
CAP
0.1UF
CKEDIMMA
SA[0:2]
C48
CAP
0.33UF
C35
CAP
0.1UF
C34
CAP
0.1UF
0
0
C49
CAP
0.33UF
GND
C50
CAP
0.33UF
C52
CAP
22UF
C41
CAP
0.1UF
C51
CAP
22UF
0
Para el DIMM 1
GNDGNDGND
VCC
On: Buffered DIMM
Off: Registered DIMM
DQ[0:63] BA[0:1]
A[0:13] CKE[0:1]
REGE
DQM[0:7]
CB[0:7]
SCL
CS[0:3]
SCA
SA[0:2]
WE
RAS
VREF1
VREF2
CAS
CK[0:3]
WP
168DIMM
GND
CSDIMMB
CKDIMMB
No connections
are intentionally
left on air
DIMMS - SDRAM
C42
CAP
0.1UF
CKEDIMMB
C43
CAP
0.1UF
VCC
C44
CAP
0.1UF
GND
C46
CAP
0.1UF
C45
CAP
0.1UF
C
C47
CAP
0.1UF
VCC
SA[0:2]
SA[0]
SA[1]
SA[2]
C
C33
CAP
0.1UF
GND
VCC
No connections
are intentionally
left on air
4.7K
VCC
SA[0]
SA[1]
SA[2]
DQ[0:63] BA[0:1]
A[0:13] CKE[0:1]
DQM[0:7]
REGE
CB[0:7]
SCL
CS[0:3]
SCA
WE
SA[0:2]
RAS
VREF1
CAS
VREF2
CK[0:3]
WP
MA[0:13]
168DIMM
MD[0:63]
MA[0:12]
CKEA
CKEA
CKEB
CKEB
CS[0]
CS[1]
CS[0]
CS[1]
CS[2]
CS[3]
CS[2]
CS[3]
CASA
RASA
WEA
SDCLK[0]
SDCLK[1]
SDCLK[0]
SDCLK[1]
SDCLK[2]
SDCLK[3]
SDCLK[2]
SDCLK[3]
CASB
RASB
WEB
DQM[0:7]
MD
MA
BA[0:1]
MEM_CTRL
MEM_CTRL
4.7K
0
C54
CAP
0.33UF
0
C55
CAP
0.33UF
GND
C56
CAP
0.33UF
C58
CAP
22UF
C57
CAP
22UF
GNDGND
ISA
SD[0]
SD[1]
SD[2]
SD[3]
SD[4]
SD[5]
SD[6]
SD[7]
SA[17]
SA[16]
SA[15]
SA[14]
SA[13]
SA[12]
SA[11]
SA[10]
SA[9]
SA[8]
SA[7]
SA[6]
SA[5]
SA[4]
SA[3]
SA[2]
SA[1]
SA[0]
MEMW
SMEMR
ISA
B
DWG. NO.
Para el DIMM 2
+5V
28F020
A
C60
CAP
0.1UF
REV
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
A15
A16
A17
+5V
Vpp
SH.
ce
oe
we
KBROMCS
GND
Para la BIOS
I/O0
I/O1
I/O2
I/O3
I/O4
I/O5
I/O6
I/O7
DESACOPLO DE CONTINUA
CONTRACT NO.
APPROVALS
DRAWN
CHECKED
ISSUED
FLASH - BIOS
MEMORIA
DATE
24/07/00
24/07/00
SIZE FSCM NO.
C
DWG. NO.
SCALE
H=4ND; V=4LA
4
3
2
A
Carlos Prades del Valle
Jose Luis Madrid Cobos
24/07/00
REV
1.0
SHEET 3
1
PCI
USB
CLK_32KHz
CLK_14MHz
H=2LA; V=2LA
REV
CLK
48.000MHz
QEN92BH
CLK
33.000MHz
QEN92BH
CLK
1.0
CLK
32.768K
QEN55BH
PCI
USB
14.31818MHz
QEN92BH
APPROVALS
DRAWN
CHECKED
ISSUED
CONTRACT NO.
PCICLK
DWG. NO.
REVISIONS
DESCRIPTION
SH.
REV
APPROVED
33.000MHz
DATE
48.000MHz
24/07/00
32.768K
1.0
REV
24/07/00
14.31818MHz
C50
CAP
0.1UF
VCC
C49
CAP
0.1UF
GND
VCC
C48
CAP
0.1UF
GND
+5V
C47
CAP
0.1UF
GND
VCC
GND
DWG. NO.
SHEET 4
Carlos Prades del Valle
Jose Luis Madrid Cobos
RELOJES
DESACOPLO DE CONTINUA
SCALE
SIZE FSCM NO.
A
Osciladores (botes) necesarios para
el sistema
24/07/00
24/07/00
24/07/00
DATE
USBCLK
4
ISA
33p
CAP
C8
R2
RES
75
RESx8
C5 33p
CAPCAP
33p C9
33
R4
RES
75
B1
B2
B3
B4
B5
B6
B7
B8
B9
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
IDE
R3
RES
75
C7
CAP
33p
R1
RES
470
GND
RESx8
33
2
USB
CONECTOR USB
C41
CAP
220UF
GND
C12
CAP
10nF
USB
VPOWER VCONT
SENSE
LT1580
VOUT
ADJ
68
C39
CAP RES
0.33UF R9
C13
CAP
0.1UF
GND
VCC
C14
CAP
1UF
C31
CAP
1UF
1
DESCRIPTION
REVISIONS
Conectores IDE, VGA, USB, ALIMENTACION
+5V
GND
ATX
R1
R6
R2
R7
R3
R8
R4
R9
R5
1.0
+5V VCC
3.3V
-12V
GND
PSON
GND
GND
GND
-5V
5V
5V
USB
REV
C42
CAP
22UF
GND
C38
CAP
100UF
C33
CAP
100UF
C16
CAP
100UF
C40
CAP
100UF
VCORE
C15
CAP
10UF
C32
CAP
10UF
C37
CAP
10UF
GND
DATE
GND
24/07/00
3.3V
3.3V
GND
5V
GND
5V
GND
PWGD
5VSB
12V
Power on/off
SHEET 5
24/07/00
APPROVED
GND
1.0
REV
D
C
A
REV
C36
CAP
1UF
C4
CAP
100u
GND
CONECTORES
DWG. NO.
Carlos Prades del Valle
Jose Luis Madrid Cobos
SIZE FSCM NO.
C
SCALE
SH.
GND
DATE
24/07/00
24/07/00
24/07/00
1
DWG. NO.
C30
CAP
0.1UF
GND
+5V
C29
CAP
10nF
C35
CAP
0.1UF
GND
C34
CAP
10nF
CONECTOR DE ALIMENTACION
CONTRACT NO.
APPROVALS
DRAWN
CHECKED
ISSUED
D+_PORT2
D-_PORT2
D+_PORT1
D-_PORT1
3
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
A15
A16
A17
A18
A19
A20
CONN_40
No connections
are intentionally
left on air
C6 33p
CAP CAP
33p C10
R1
R2
R3
R4
R5
R6
R7
R8
R9
R10
R11
R12
R13
R14
R15
VGA
2
R7
RES
220
IDE
C2
CAP
220p
No connections
are intentionally
left on air
IRQ[14]
IDE
CRT
C1
CAP
220p
GND
IDE_RST
3
R8
RES
110
ISA
CONECTOR IDE
CRT
+5V
GND
CONECTOR VIDEO RGB
4
R6 R5
RESRES
33 33
D
C
B
A
H=4ND; V=4LA
A
B
IDE_CS[0]
IDE_ADDR[0]
IDE_ADDR[1]
IDE_DACK[0]
IDE_IORDY[0]
IDE_IOR[0]
IDE_IOR[0]
IDE_DREQ[0]
IDE_DATA[0]
IDE_DATA[1]
IDE_DATA[2]
IDE_DATA[3]
IDE_DATA[4]
IDE_DATA[5]
IDE_DATA[6]
IDE_DATA[7]
DDC_SCL
VSYNC_OUT
HSYNC_OUT
DDC_SDA
AGNDVIDEO
IOUTB
IOUTG
IOUTR
IDE_DATA[8]
IDE_DATA[9]
IDE_DATA[10]
IDE_DATA[11]
IDE_DATA[12]
IDE_DATA[13]
IDE_DATA[14]
IDE_DATA[15]
IDE_ADDR[2]
IDE_CS[1]
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
PLIEGO DE CONDICIONES
143
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
PRESUPUESTO
144
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
PRESUPUESTO DE EJECUCIÓN MATERIAL
Sueldo del ingeniero:
Número de horas....................................................... 240 horas
Sueldo por hora...................................................... 8.000 ptas
Cargas sociales (35 %)......................................... 672.000 ptas
Total................................................................ 2.592.000 ptas
Amortización del material:
Estación de trabajo CAD Intergraph TD-225
Precio de compra 500.000 ptas
Amortizable en 3 años
Período de uso 2 meses
Amortización.................................................27.778 ptas
Software CAD Veribest 98 de Intergraph
Precio de compra 2.000.000 ptas
Amortizable en 3 años
Período de uso 2 meses
Amortización.............................................. 111.111 ptas
Total....................................................................138.889 ptas
145
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
Coste de materiales y servicios exteriores:
Papelería..................................................... 10.000 ptas
Informática (consumibles)............................. 5.000 ptas
Documentación..............................................8.000 ptas
Total.....................................................................23.000 ptas
Presupuesto de ejecución material:
Sueldo del ingeniero......................................... 2.592.000 ptas
Amortización del material.................................... 138.889 ptas
Coste de materiales y servicios exteriores.............. 23.000 ptas
Total........................................................... 2.753.889 ptas
146
Carlos Prades del Valle
Desarrollo de un PC empotrado con procesado de señal
PRESUPUESTO DE EJECUCIÓN POR OBRA
Presupuesto de ejecución material (PEJ) .................. 2.753.889 ptas
Costes generales (16% PEJ)..........................................440.622 ptas
Beneficio industrial (6% PEJ)....................................... 165.233 ptas
Honorarios del ingeniero (7% PEJ) .............................. 192.772 ptas
Honorarios del tutor (7% PEJ) .................................... 192.772 ptas
PRESUPUESTO SIN IVA ................................................... 3.745.288 ptas
16% I.V.A ............................................................................ 599.246 ptas
PRESUPUESTO TOTAL ............................................... 4.344.534 ptas
El presupuesto total del proyecto asciende a la cantidad de cuatro millones
trescientas cuarenta y cuatro mil quinientas treinta y cuatro pesetas.
Madrid, 1 de septiembre de 2000
Fdo. Carlos Prades del Valle.
Ingeniero de Telecomunicación
147