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:
147
Embed
PROYECTO FIN DE CARRERA - Página personal de …cprades.eresmas.com/cpradespfc.pdfMobile Pentium III de Intel [26].....83 3.17.1. Descripción.....83 3.17.2. Características.....84
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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 empotrados, microcontrolador,
microprocesador, diseño hardware, esquemas.
AGRADECIMIENTOS:
Dedico este proyecto a todos aquellos y todas
aquellas que han tenido confianza en mí y me han dado
ánimos en todo momento para realizar la carrera.
Quiero dar mi agradecimiento a José Luis Madrid
Cobos que ha trabajado conmigo en este proyecto
dandome permiso para incluir los planos del desarrollo
del suyo.
DESARROLLO DE UN PC EMPOTRADO CON PROCESADOR DE SEÑAL
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
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
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
7
2.6. Integración del sistema. ..........................................................................................................................33
2.7. Prueba final del sistema. .........................................................................................................................33
3. MICROCONTROLADORES PARA PC EMPOTRADO. ............................................ 35
3.1. STPC Consumer-S de ST Microelectronics [20]. .................................................................................35 3.1.1. Introducción. ...........................................................................................................................35 3.1.2. Características fundamentales. ................................................................................................35 3.1.3. Descripción. ............................................................................................................................40
3.2. STPC Consumer de ST Microelectronics [20]. .....................................................................................46
3.3. STPC Client de ST Microelectronics [20]. ............................................................................................47
3.4. STPC Industrial de ST Microelectronics [20].......................................................................................47
3.5. Coldfire MCF5307 de Motorola [21]. ....................................................................................................48 3.5.1. Introducción. ...........................................................................................................................48 3.5.2. Características fundamentales. ................................................................................................49 3.5.3. Diagrama de bloques...............................................................................................................53
3.6. MachZ PCe de ZF [22]............................................................................................................................54 3.6.1. Introducción. ...........................................................................................................................54 3.6.2. Características fundamentales. ................................................................................................55 3.6.3. Diagrama de bloques...............................................................................................................60
3.7. Geode GX1 de National Semiconductor [23]. .......................................................................................61 3.7.1. Descripción General................................................................................................................61 3.7.2. Características. ........................................................................................................................63 3.7.3. Diagrama de bloques...............................................................................................................66
3.8. Geode GXLV de National Semiconductor [23].....................................................................................67 3.8.1. Descripción. ............................................................................................................................67 3.8.2. Características. ........................................................................................................................68
3.9. Geode GXM de National Semiconductor [23]. .....................................................................................71
3.10. Geode SC1400 de National Semiconductor [23]. ................................................................................71 3.10.1. Introducción. .........................................................................................................................71 3.10.2. Componentes principales. .....................................................................................................72 3.10.3. Características fundamentales. ..............................................................................................72
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
8
3.10.4. Operaciones concurrentes. ....................................................................................................73 3.10.5. Diagrama de bloques.............................................................................................................74
3.11. SPARClite MB86831 de Fujitsu [24]. ..................................................................................................74 3.11.1. Introducción. .........................................................................................................................74 3.11.2. Características. ......................................................................................................................75 3.11.3. Diagrama de bloques.............................................................................................................77
3.12. SPARClite MB86832 de Fujitsu [24]. ..................................................................................................77
3.13. SPARClite MB86833 de Fujitsu [24]. ..................................................................................................78
3.14. SPARClite MB86860 de Fujitsu [24]. ..................................................................................................78 3.14.1. Características. ......................................................................................................................78 3.14.2. Diagrama de bloques.............................................................................................................80
3.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.2. National PC 97317 Super I/O. ................................................................................................................94 4.2.1. Introducción. ...........................................................................................................................94 4.2.2. Características fundamentales. ................................................................................................94 4.2.3. Diagrama de bloques.............................................................................................................100
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
9
4.3. Otros chips complementarios. ..............................................................................................................100 4.3.1. PC87306 de National Semiconductor [23]............................................................................101 4.3.2. PC87338 de National Semiconductor [23]............................................................................101 4.3.3. MB86941 y MB86942 de Fujitsu [24]. .................................................................................101 4.3.4. FDC37B78x de SMSC [27]. .................................................................................................101
5. DESARROLLO PC EMPOTRADO....................................................................... 103
5.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
decodificación del bus ISA integrada, etc. permiten la integración del sistema con pocos
obstáculos.
Mediante la combinación del hardware y software necesarios para implementar un
PC compatible en un solo chip se reducen significativamente la exposición a los riesgos
del desarrollo y el time-to-market.
Según el fabricante se puede conseguir un coste de la lista de materiales inferior a
50$ (enero de 2000). Además posee una garantía de 5 años y su fabricación depende de
National Semiconductor, utilizando tecnología de 0.24µm.
Incluido en el chip y en el precio se encuentra una BIOS (PC compatible) y dos
sistemas operativos (Linux Image y pwSys de PlanetWeb), combinados ambos con un
sistema de arranque interno denominado FailSafe boot ROM. De este modo se elimina la
necesidad por parte del ingeniero de buscar drivers para los periféricos acortando en
tiempo de desarrollo. Esto no reduce la compatibilidad software ya que el MachZ PCe
permite ejecutar cualquier sistema operativo estándar capaz de correr en un PC
compatible con FPU tales como Linux, DOS, WinCE, Windows 9x, Windows NT y varios
RTOS.
Características embebidas patentadas por ZF e incluidas en el MachZ PCe:
• FailSafe Boot ROM. La mayoría de los sistemas empotrados utilizan memoria
flash no volátil para almacenar el sistema operativo así como datos de
programa y otros datos transitorios. Bajo ciertas condiciones de irregularidades
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
55
en la alimentación u otro tipo de anomalías se pueden corromper los datos de
la memoria flash. El sistema FailSafe Boot ROM combinado con ZF Integrated
BIOS permite una recuperación total del sistema si ese fallo se produce. Esto
se puede lograr incluso remotamente si no hay un operador in-situ.
• ZF-Logic. Con el incremento en la utilización de la arquitectura de PC para los
sistemas empotrados el conocimiento requerido en microprocesadores por
parte de los ingenieros de diseño se hace más elevado. ZF-Logic permite un
acceso a la arquitectura del sistema x86 con una mínima experiencia en
microprocesadores. Con ello se reduce el time-to-market.
• Z-Tag. Este sistema permite grabar en producción y directamente en placa las
memorias flash con su BIOS, sistema operativo y aplicaciones a una velocidad
de 1.5 Mbps, mientras que la velocidad estándar de estos dispositivos suele ser
de 19.2 Kbps.
• Dual Watchdog Timer. Permite evitar situaciones de bloqueo del procesador
mediante un temporizador controlado por las aplicaciones. Si la aplicación no
actualiza su contenido y éste llega a cero entonces se producirá una acción
automática como puede ser el reinicio del sistema.
3.6.2. Características fundamentales.
• Núcleo del procesador.
◦ 32 bits.
◦ Funcionamiento a 33, 66, 100 o 133 MHz.
◦ Caché L1 de 8 KB (modo write back o write through).
◦ FPU.
• Controlador SDRAM.
◦ Configuración de memoria con bus de datos de 16 o 32 bits.
◦ Hasta cuatro bancos de memoria.
◦ SDRAM simétrica o asimétrica de 16, 64 o 128 MB.
◦ Máximo 256 MB.
• Controlador PCI Host Bridge.
◦ Cumple con la especificación v2.1 a 33 MHz y 32 bits.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
56
◦ Velocidad del bus igual al reloj del sistema o a la mitad.
◦ Transferencias en modo ráfaga de hasta 120 MBps.
◦ Posibilidad de acceder a la SDRAM.
◦ Permite hasta 3 masters PCI externos.
• Bus ISA.
◦ Completitud de señales ISA.
◦ Conjunto de IRQs completo.
◦ Permite DMAs de 8 o 16 bits.
◦ Permite comunicación con dispositivos de 8 o 16 bits.
• Controlador IDE.
◦ Permite dos canales con tres dispositivos.
◦ Lecturas y escrituras en modo ráfaga PCI master.
◦ Permite Ultra DMA (ATA-4).
◦ Permite modos 0-4 de entradas-salidas programadas (PIOs).
• Bus serie universal (USB).
◦ Dos buses USB independientes que cumplen con Open HCI (Host
Controler Interface).
◦ Diseño del núcleo de 2ª generación.
• SuperIO incorporado.
◦ Controlador de disquetera.
◦ Dos puertos serie estándar.
◦ Comunicaciones por infrarrojos viable para uno de los puertos serie.
◦ Puerto paralelo compatible con IEEE 1284.
◦ Controlador 8042 de teclado AT y ratón PS/2.
◦ Bus interfaz compatible con Bus SM e I2C.
• Compatibilidad con arquitectura de PC AT.
◦ Controlador de interrupciones equivalente al 8259A.
◦ Temporizador equivalente al 8254.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
57
◦ Controlador de DMA equivalente al 8237.
◦ Puertos A, B y lógica NMI.
• Gestión del consumo y GPIO.
◦ Desvíos de entrada-salida (I/O traps) y temporizadores de inactividad para
la gestión de la alimentación de los periféricos.
◦ 8 GPIOs.
◦ Reactivación en USB.
◦ Detección de actividad de ratón o teclado para reactivación de la pantalla.
• Interfaz con el microprocesador.
◦ Protocolo de suspensión del reloj en conexión con el North Bridge (Puente
Norte: controladores de buses ISA, PCI, etc.).
◦ Interrupciones enmascarables o no enmascarables.
• Características eléctricas.
◦ Dispositivo de alimentación dual (5 y 3.3 V).
◦ I/O de 3.3V tolerantes a 5V.
◦ Tensión del núcleo de 2.5V.
• Consumo de potencia estimado.
◦ 0.8 W a 33 MHz, 1.6 W a 66 MHz, 2.2 W a 100 MHz, 2.8 W a 133 MHz.
• Características ambientales y mecánicas.
◦ De –40 a +85 ºC para 33, 66 o 100 MHz.
◦ De 0 a +70 ºC para 133 MHz.
◦ Encapsulado PBGA de 388 pines (35 x 35 mm).
• FailSafe Boot ROM:
◦ Código incluido en la ROM interna del chip.
◦ Permite la ejecución de instrucciones tales como limpieza de SDRAM,
borrado de memoria flash, carga y ejecución de programas, etc.
◦ Posee mecanismos de protección para la recarga automática del software
en caso de fallo.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
58
• Lógica ZF.
◦ Modulador de anchura de pulsos programable (de 100 Hz a 100 KHz)
ideal para fuentes de alimentación conmutadas y el control del inversor de
luz posterior de una pantalla de cristal líquido LCD.
◦ Lógica de decodificación de memoria externa con cuatro chip selects,
registros de direcciones base y de tamaños y comprobación automática de
solapamientos.
◦ Mapeador de chip selects de propósito general: cuatro chip selects de
entrada-salida mapeados, registros de direcciones base y de tamaños y
comprobación automática de solapamientos.
◦ Registro de arranque configurable mediante un microinterruptor DIP
externo de modo que se permiten condiciones de arranque personalizadas.
• Interfaz Z-Tag.
◦ Interfaz de alta velocidad para la descarga de software.
◦ Utiliza el interfaz de la disquetera cuando la señal “DRIVESELECT” está
inactiva.
◦ El protocolo de comunicaciones es compatible con dispositivos EEPROM
serie estándar.
◦ Se puede controlar mediante un puerto paralelo estándar.
• ZF Dual Watch Dog Timer.
◦ Control software y hardware de los eventos generados por el temporizador.
◦ Contador primario de 8 bits (1-256 segundos) conectado al reset software.
◦ Contador secundario de 8 bits (1-256 ms) conectado al reset hardware.
◦ Los valores de los contadores se pueden leer en cualquier momento.
◦ Se pueden deshabilitar.
• Software incluido.
◦ PC BIOS embebida completa.
◦ Imagen del sistema operativo Linux.
◦ Sistema operativo pwSys de Planetweb con navegador.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
59
• Compatibilidad con sistemas operativos.
◦ Linux.
◦ DOS.
◦ WinCE, Windows 9x, Windows NT.
◦ La mayoría de los sistemas operativos de tiempo real.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
60
3.6.3. Diagrama de bloques.
Figura 3.4
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
61
3.7. Geode GX1 de National Semiconductor [23].
3.7.1. Descripción General.
National Semiconductor ha desarrollado una serie de procesadores integrados de
bajo consumo y alta potencia basados en la arquitectura x86 conocida como serie Geode,
dentro de la que se encuentra el GX1. Este procesador es equiparable a un Intel Pentium
con tecnología MMX siendo un procesador con una gran potencia de cálculo. Están
especialmente pensados para las aplicaciones de información como pequeños clientes,
set-top boxes, y dispositivos de acceso personal a Internet.
Las posibles tensiones del core son 2.0v, 1.8v y 1.6v, ofreciendo potencias de
consumo medias muy bajas (1.2w, 1.0w y 0.8w respectivamente) para permitir una vida
de las baterías mayor o reducir el tamaño de la fuente de alimentación. Estas medidas de
potencia media se han realizado con MS Windows con un ciclo de actividad del 80% con
una resolución de pantalla de 800 x 600 y 8 bits por píxel a 75 Hz de refresco. Hay que
tener en cuenta que el consumo del sistema gráfico ronda los 0,8w.
El sistema de gestión de potencia divide los posibles estados de funcionamiento en
cuatro, estos estados son llamados por el fabricante estado de Full On, cuando todo está
activo y se está ejecutando código, estado de Active Idle, donde el sistema gráfico está
funcionando pero el core está en espera dando al exterior la sensación de que todo
funciona, estado Sleep, donde tanto la CPU como el sistema gráfico están parados (la
pantalla se apaga) siendo la potencia consumida la mínima para mantener el sistema en
funcionamiento, y, por último el estado Off o apagado, en el que no se alimenta al chip.
Desde el estado On se puede pasar a cualquier otro pero desde cualquier otro estado sólo
se puede pasar al estado On.
Mientras que el core x86 garantiza la máxima compatibilidad con los contenidos en
Internet, la integración de otras funciones, tales como las de audio o gráficos, permiten
ofrecer a nivel de sistema una solución multimedia.
El core del Geode es un procesador de 32 bits compatible con los x86 de sexta
generación capaz de funcionar a 300 MHz. Contiene unidades de ejecución en punto fijo
y en punto flotante basados en tecnología de sexta generación. El núcleo de aritmética
entera está compuesto por una "pipeline" de cinco niveles de ejecución permitiendo
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
62
capacidades avanzadas como colas de escritura extensivas, colas de destino de saltos,
etc. Los accesos a la memoria caché write-back L1 de 16KB son reordenados
dinámicamente para eliminar paradas al acceder a los operandos. La unidad de punto
flotante tiene un bus de 64 bits, es compatible con el set de instrucciones del x87 y está
adherida al estándar IEEE-754, siendo capaz de trabajar en paralelo con la unidad de
punto fijo. La unidad de gestión de memoria, también incluida en la CPU, es compatible
con el paginado de los x-86, convirtiendo las direcciones virtuales a direcciones físicas
incorporando técnicas para eliminar las lecturas innecesarias y leer las direcciones
sobrescritas.
Los procesadores GX1 incluyen funciones de host normalmente implementados por
otros componentes externos, como por ejemplo el controlador de display que soporta
tanto un CRT como una pantalla LCD o una pantalla plana TFT. Un acelerador gráfico
2D con funcionalidad completa contiene controlador VGA, motor bit-BLT y una unidad
ROP para aceleración completa GUI (Interfaz Gráfica de Usuario) en la mayoría de los
S.O., así como control separado de CRT y TFT desde el controlador del display. Soporta,
además, la implementación de la tecnología VSA. Un controlador del display contiene
una cola de video adicional que permite la visualización de MPEG1 a más de 30 imágenes
por segundo y video superpuesto cuando se usa con un National Semiconductor Geode
I/O o con chip complementario de gráficos (p.e. CS5530 o CS9211). Los accesos a la
memoria del sistema y la de gráficos se soportan por un controlador de SDRAM
eliminando la necesidad de una caché externa L2.
El controlador del bus PCI soporta hasta tres maestros de bus para conexiones
adicionales y las capacidades multimedia, permite el acceso a la memoria principal
(SDRAM) desde el mismo bus. Sin embargo, hay que tener precaución debido a que no
soporta dispositivos de 5v.
El procesador GX1 también incorpora tecnología VSA (arquitectura de sistema
virtual) que permite los subsistemas XpressGRAPHICS y XpressAUDIO. Son posibles los
controladores software que proporcionan la compatibilidad para los estándares VGA y
funciones de audio de 16 bits siendo transparentes al nivel del S.O.
La gran desventaja con respecto a otras soluciones es que para la mayoría de las
aplicaciones es necesario utilizar el chip complementario Geode CS5530 I/O Companion.
Este sistema proporciona video VGA y VESA, sonido estéreo de 16 bits, interfaz IDE ultra
DMA/33, buses ISA y PCI, entradas/salidas adicionales (USB, GPIO), gestión de la
energía SMM y lógica compatible con IBM AT, así como asistencia hardware para
descompresión MPEG1 y procesado de sonido. Existen otros dispositivos especialmente
diseñados para esta familia de procesadores como el Geode CS9211 Graphics Companion
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
63
que permite mayores posibilidades gráficas como el uso de pantallas táctiles, o los
SuperIO que permiten ampliar las entradas y salidas del sistema.
El chip adicional de I/O de National Semiconductor y el procesador Geode GX1
juntos proporcionan una solución de sistema escalable, de bajo consumo y flexible para
un gran conjunto de aplicaciones que van desde dispositivos personales de acceso a
información que caben en la palma de la mano hasta set-top boxes o pequeños clientes.
3.7.2. Características.
• Características generales.
◦ Encapsulado: BGA de 352 bolas o SPGA de 320 pines.
◦ Tecnología de 0.18 micras.
◦ Core de 1.6v, 1.8v o 2.0v, interfaz de I/O a 3.3v.
◦ Bajo consumo (0.8w @ 1.6v/200MHz, 1.2w @ 2.0v/300MHz).
◦ Velocidad: hasta 300MHz.
◦ Arquitectura de memoria unificada.
◦ Buffer de imágenes y memoria de gráficos residente en la memoria
principal.
◦ Minimiza el área en la placa PCB.
◦ Reduce los costes del sistema.
◦ Compatibilidad con múltiples dispositivos adicionales de National
Semiconductor.
• Procesador x86 de 32 bits.
◦ Soporta el set de instrucciones MMX para acelerar las aplicaciones
multimedia.
◦ Caché L1 unificada de 16KB.
◦ Unidad de aritmética entera de 5 etapas en pipeline.
◦ Unidad de coma flotante integrada (FPU).
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
64
◦ Unidad de gestión de memoria (MMU), la cual soporta los mecanismos de
paginación estándar y optimiza la adquisición de código.
▫ Carga y guarda reordenando dando prioridad a la lectura de la
memoria.
▫ Bypass de los datos leídos eliminando las lecturas redundantes.
◦ Modo de gestión del sistema (SMM) re-entrante de acuerdo con la
tecnología VGA.
• Gestión de potencia flexible.
◦ Soporta gran variedad de estándares:
▫ APM (gestión de potencia avanzada) para gestión hardware.
▫ ACPI (configuración avanzada e interfaz de potencia) para el gestor
de potencia de Windows.
◦ Soporta una amplia variedad de modos de control hardware y software.
▫ Active Idle (core parado, display activo).
▫ Standby (core y funciones integradas paradas).
▫ Sleep (como anterior con los relojes externos parados).
▫ Suspend Modulation (parada automática del core de la CPU por
Geode I/O o chip auxiliar de gráficos).
◦ Varios eventos dedicados y programables para despertar al chip.
• Controlador de PCI.
◦ Soporte a varios esquemas de arbitraje.
◦ Soporta directamente tres maestros del bus, ampliable con lógica externa.
◦ Síncrono al core de la CPU.
◦ Permite el acceso a la memoria principal mientras la CPU accede a la
caché L1.
• Tecnología de arquitectura de sistemas virtuales.
◦ Esta innovadora arquitectura permite virtualización (software) de
funciones hardware con independencia del S.O.
◦ Proporciona el subsistema XpressGRAPHICS.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
65
◦ Proporciona subsistema XpressAUDIO de 16 bits.
▫ Síntesis de FM estéreo de 16 bits.
▫ Emulación de OLP3.
▫ Soporte del interfaz MIDI MPU-401.
▫ Asistencia hardware proporcionada por chip complementario Geode
I/O.
◦ Se pueden soportar funciones adicionales hardware cuando se necesiten.
• Acelerador gráfico 2D.
◦ Acelera BitBLTs, línea dibujada, texto, etc.
◦ Soporta 256 ROPs.
◦ Soporta BLTs transparentes y vuelta de páginas para DirectDraw de
Microsoft.
◦ Corre a la frecuencia de reloj del core.
◦ Soporta totalmente los modos VGA y VESA.
• Controlador de display.
◦ Su arquitectura con tecnología de compresión de display (DCT) reduce el
ancho de banda consumido de la memoria para el refresco del display.
◦ Soporta una cola de video separada y camino de datos para permitir la
aceleración de video en Geode I/O y chip adicional de gráficos.
◦ Paleta interna RAM para corrección gamma.
◦ Interfaz directo con los chips adicionales Geode I/O y de gráficos.
◦ Cursor hardware.
◦ Soporta resoluciones de hasta 1280 x 1024 con 8 bpp y 1024 x 768 con
16 bpp.
• XpressRAM.
◦ Interfaz SDRAM estrechamente acoplado al core de la CPU y al
subsistema gráfico para conseguir la máxima eficiencia.
◦ Bus de memoria de 64 bits.
◦ Soporte para:
▫ Dos DIMMs unbuffered de 168 pines.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
66
▫ Hasta 16 bancos abiertos simultáneamente.
▫ Lecturas de 16 bytes (en ráfagas de dos).
▫ Hasta 512MB de memoria total.
• Soporte de diversos S.O.
◦ Windows 2000, 98, 95, NT, CE, NTE de Microsoft.
◦ VxWorks de WindRiver.
◦ QNX.
◦ Linux.
3.7.3. Diagrama de bloques.
Figura 3.5
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
67
3.8. Geode GXLV de National Semiconductor [23].
3.8.1. Descripción.
El procesador GXLV de la familia Geode de National Semiconductor está
específicamente diseñado para equipos de información orientados al entretenimiento,
educación y negocios tales como set-top boxes y dispositivos personales de acceso a
Internet.
El procesador GXLV puede funcionar a tres tensiones diferentes (2.9V, 2.5V y
2.2V), ofreciendo un consumo de potencia típico muy bajo (2.5W, 2.0W y 1.5W
respectivamente), lo que conduce a una vida mayor de la batería entre cargas y a un
diseño sin ventilador. Estos consumos típicos se han definido como media, ejecutando
Windows con un ciclo activo – en espera del 80% y con una resolución gráfica de
800x600x8 bpp a 75 Hz.
Aunque el núcleo x86 proporciona una compatibilidad máxima con la basta
cantidad de contenidos de Internet disponibles, la integración de otras funciones (audio,
gráficos, etc.) en un solo chip ofrece una solución multimedia verdadera a nivel de
sistema.
El núcleo de Geode GXLV tiene un diseño x86 que ofrece un rendimiento
competitivo. Contiene unidades de ejecución de enteros y punto flotante basadas en
tecnología de sexta generación (Pentium). La unidad de enteros contiene un pipeline
único, de ejecución en seis etapas, y ofrece características avanzadas tales como
búsqueda anticipada de operandos, búferes de predicción de saltos y búferes de escritura
extensa. Los accesos a la caché write-back L1 de 16 KB se reordenan dinámicamente
para eliminar paradas del pipeline durante la captura de operandos.
Además de las características avanzadas de CPU, el Geode GXLV integra funciones
que típicamente se implementan con componentes externos. El acelerador gráfico
contiene un controlador VGA, un motor bitBLT y una unidad ROP (Raster Operations)
para conseguir una aceleración del interfaz gráfico de usuario (GUI) completa para la
mayoría de los sistemas operativos. El controlador de pantalla tiene un búfer de vídeo
adicional para posibilitar reproducción de vídeo MPEG1 a más de 30 fps (frames per
second, imágenes por segundo) y superposición de vídeo, ambas funciones
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
68
implementadas en conjunción con el chip Geode CS9210 Graphics Companion. Los
accesos a memoria de sistema y memoria gráfica son posibles mediante un controlador
de memoria SDRAM que elimina la necesidad de una caché L2 exterior. El controlador
host de PCI permite hasta tres bus masters para posibilitar capacidades multimedia y de
conectividad adicionales.
El Geode GXLV incorpora la tecnología VSA (Virtual System Architecture,
Arquitectura de Sistema Virtual) que hace posible la presencia de los subsistemas
XpressGRAPHICS y XpressAUDIO. Existen proveedores de software que proporcionan
funciones estándares de VGA y audio de 16 bits que son transparentes a nivel de sistema
operativo.
3.8.2. Características.
• Encapsulados:
◦ BGA de 352 bolas.
◦ SPGA de 320 pines.
• Tecnología CMOS de cinco capas conductoras de 0.35 µm.
• Núcleo de 2.2V, 2.5V o 2.9V
• Interfaz de entrada/salida de 3V (tolerante a 5V).
• Consumo de potencia típico bajo:
◦ 1W a 2.2V/166 MHz
◦ 2.5W a 2.9V/266 MHz
◦ Nota: Consumos medidos ejecutando Windows con un ciclo activo – en
espera del 80% y con una resolución gráfica de 800x600x8 bpp a 75 Hz.
• Velocidades ofrecidas de hasta 266 MHz.
• Arquitectura de memoria unificada:
◦ La memoria gráfica y de vídeo residen con la de sistema en la memoria
principal.
◦ Minimiza los requisitos de área en la PCB.
◦ Reduce el coste del sistema.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
69
• Compatibilidad directa con chips de entrada/salida y gráficos de National
Semiconductor.
• Procesador x86 de 32 bits.
◦ Permite utilizar la extensión MMX del set de instrucciones para la
aceleración de aplicaciones multimedia.
◦ Caché L1 unificada de 16 KB.
◦ Unidad de enteros en pipeline de seis etapas.
◦ Unidad de punto flotante integrada.
◦ La unidad de gestión de memoria (MMU) cumple con mecanismos
estándar de paginación y optimiza el rendimiento de la carga de código. El
reordenamiento de las cargas y almacenamientos da prioridad a las
lecturas de memoria, y los saltos de lectura de memoria eliminan lecturas
redundantes o innecesarias.
◦ El modo reentrante de gestión del sistema está mejorado para la
tecnología VSA.
• Gestión de la alimentación flexible.
◦ Compatible con varios estándares: APM para gestión de alimentación
Legacy, ACPI para gestión de alimentación Windows (estados de
procesador C0 a C4) y OnNOW.
◦ Modos de consumo controlados por hardware y software: activo, ocioso
(núcleo parado, salida de gráficos activa), en espera (núcleo y todas las
funciones integradas paradas), dormido (como en espera pero además con
todos los relojes parados), parada con modulación (ciclo de trabajo
programable, en balanceo activo-parado), y eventos de reactivación
programables mediante chips I/O o de gráficos compatibles.
• Controlador PCI host.
◦ Varios esquemas de arbitraje permitidos: fijo, rotativo, híbrido, ping-pong.
◦ Hasta tres masters de bus PCI.
◦ Síncrono con el núcleo de la CPU.
◦ Permite accesos externos de PCI masters a la memoria principal en
concurrencia con los accesos de la CPU a la caché L1.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
70
• Arquitectura de sistema virtual.
◦ Arquitectura innovadora que permite la independencia virtual de
funciones hardware a los sistemas operativos (software).
◦ Subsistema XpressGRAPHICS: alto rendimiento compatible con el núcleo
VGA. La aceleración GUI es puro hardware.
◦ Subsistema XpressAUDIO de 16 bits: síntesis FM estéreo de 16 bits,
emulación OPL3, permite interfaz MIDI MPU-401, asistencia hardware
proporcionada por el chip I/O CS5530.
• Acelerador de gráficos 2D.
◦ Aceleración de BitBLTs, trazado de líneas y texto (motor vectorial
Bresenham).
◦ Permite las 256 operaciones ROP definidas por Microsoft.
◦ Permite BLTs transparentes y saltos de página para DirectDraw.
◦ Corre a la frecuencia de reloj del núcleo.
◦ Compatible con los modos VGA y VESA.
◦ Las instrucciones especiales a nivel de controlador (driver) utilizan un
dispositivo interno de operaciones intermedias para mejorar el
rendimiento.
• Controlador de gráficos.
◦ Tecnología de compresión de gráficos DCT que reduce en gran medida el
consumo de ancho de banda de memoria para el refresco de la pantalla.
◦ Tiene un búfer de vídeo y un bus de datos separados para permitir la
aceleración en los chips de I/O y de gráficos compatibles.
◦ Paleta interna RAM para corrección gamma.
◦ Interfaz directa a los chips de I/O y de gráficos compatibles para salidas a
monitores CRT y pantallas de cristal líquido TFT sin la necesidad de un
RAMDAC externo.
◦ Cursor hardware.
◦ Permite hasta 1280x1024x8 bpp y 1024x768x16 bpp.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
71
• Subsistema XpressRAM.
◦ Interfaz SDRAM fuertemente acoplado al núcleo CPU y al subsistema de
gráficos para maximizar la eficiencia.
◦ Bus de memoria de 64 bits.
◦ Permite:
▫ Dos DIMMs de 168 pines sin búferes.
▫ Hasta 16 bancos abiertos simultáneos.
▫ Lecturas de 16 bytes en dos ráfagas de 8 bytes cada una.
▫ Hasta 256 MB de memoria total.
• Permite la ejecución de diversos sistemas operativos: Microsoft Windows (2000,
98, 95, NT, CE), Java de Sun Microsystems, VxWorks de WindRiver, QNX,
Linux, etc.
• Para la conexión a pantallas de cristal líquido SVGA DSTN y VESA FPDI hay
que utilizar el chip de gráficos CS9210 de National Semiconductor.
3.9. Geode GXM de National Semiconductor [23].
Sus características son las mismas que el Geode GXLV excepto que no está
optimizado para bajo consumo de potencia. Tiene un núcleo de 2.9V e I/O a 3.3V
mientras que el Geode GXLV baja hasta un núcleo de 2.2V con I/O a 3V.
3.10. Geode SC1400 de National Semiconductor [23].
3.10.1. Introducción.
Geode SC1400, además de su microprocesador de 64 bits, x86 compatible, incluye
un decodificador MPEG2, un procesador de video para televisión y monitor, un
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
72
Southbridge y un bloque SuperIO (se describirán a continuación). Estas características,
combinadas con el pequeño tamaño y bajo consumo de potencia, lo hacen un núcleo
apropiado para set-top boxes capaces de combinar tanto video DVD de alta calidad como
acceso a Internet. Su arquitectura integrada simplifica el diseño del sistema empotrado al
posibilitar la reducción de capas y pistas de la placa de circuito impreso anfitriona,
reduciendo el número de chips y componentes adicionales y los requisitos de potencia del
sistema.
3.10.2. Componentes principales.
• Procesador x86 y de gráficos: Geode SC1400 incorpora el procesador MediaGX
que combina rendimiento avanzado de CPU de 64 bits con soporte de MMX,
con aceleración verdadera de gráficos 2D, un interfaz de 64 bits a memoria
síncrona SDRAM y controlador de bus PCI.
• MPEG2: el decodificador de video MPEG2 incluye un procesador de audio para
formatos MPEG y Dolby AC3.
• Salidas de TV y monitor (CRT): el codificador de televisión soporta televisiones
NTSC (América) y PAL (Europa). La salida de video tiene un acelerador
hardware para el plegado, escalado, filtrado y conversión del espacio de
colores.
• Southbridge: incluye funcionalidad PC/AT, un interfaz IDE, un interfaz USB,
gestión de consumo de potencia ACPI 1.0, y entradas de video y de audio
(codec A/D).
• SuperIO: el bloque del SuperIO tiene dos puertos serie, un puerto de
infrarrojos (IR), control de ventilador, dos interfaces de bus ACCESS y un reloj
de tiempo real (RTC).
3.10.3. Características fundamentales.
• Procesador de 64 bits, compatible x86, de hasta 266 MHz con el set de
instrucciones MMX soportado.
• Interfaz de 64 bits de memoria síncrona SDRAM.
• Acelerador de gráficos de 2D.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
73
• Controlador CRT y NTSC/PAL con hardware para aceleración y captura.
• Puerto de entrada de video CCIR-656 con redirección a la salida de video en
modo pantalla completa.
• Funcionalidad PC/AT.
• Controlador de bus PCI.
• Interfaz de bus LPC (Low Pin Count, bajo número de pines).
• Interfaz de bus IDE.
• Interfaz USB, tres puertos (dos serie y uno paralelo), cumplimiento con la
norma OpenHCI.
• Procesador de audio para audio MPEG y Dolby AC3.
• Decodificador de video MPEG2.
• Interfaz de audio con cumplimiento de la norma AC97.
• VSA (Virtual System Architecture, Arquitectura de Sistema Virtual) soportada.
• Gestión de consumo de potencia según el estándar ACPI 1.0.
• Encapsulado EBGA de 40 x 40 mm, con 680 bolas (separación entre bolas
contiguas de 1 mm).
3.10.4. Operaciones concurrentes.
• Los gráficos se pueden mostrar por el monitor CRT mientras el video MPEG2 se
muestra por un televisor NTSC o PAL.
• La señal del puerto de entrada de video se puede mostrar en el televisor
mientras que los gráficos se muestran en el monitor CRT.
• Reproducción de DVD y facilidades para navegación web.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
74
3.10.5. Diagrama de bloques.
Figura 3.6
3.11. SPARClite MB86831 de Fujitsu [24].
3.11.1. Introducción.
El MB86831 es un miembro de la serie MB8683X de procesadores RISC que
ofrecen un alto rendimiento para aplicaciones de sistemas empotrados. El procesador se
basa en la arquitectura SPARC y es compatible con código de anteriores
implementaciones. El procesador corre a 66 u 80 MHz llegando a las 66 u 80 MIPS
respectivamente.
El MB86831 tiene un encapsulado de plástico con bajo perfil y 176 pines. Las
cachés incluidas en el chip para datos e instrucciones ayudan a desacoplar el procesador
de la latencia de la memoria externa. Los buses separados para datos e instrucciones en
el interior del chip (arquitectura Harvard [3]) proporcionan un interfaz de elevado ancho
de banda entre las cachés y la unidad de aritmética entera.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
75
Para un rendimiento máximo con una mínima lógica de interconexión externa, el
MB86831 incluye: salidas de selección de chips (señales chip selects) y generación de
estados de espera programables, soporte para PM-DRAM, EDO-DRAM, PM-EEPROM, y
anchura del bus de datos de memoria de 8, 16 o 32 bits.
El set de instrucciones está diseñado para ejecución rápida, de modo que la
mayoría de las instrucciones se ejecutan en un solo ciclo de reloj. La unidad de
aritmética entera presenta un pipeline de 5 etapas que se ha diseñado para manejar
interbloqueos de datos, un controlador de saltos optimizado para controlar de modo
eficiente las transferencias, y un interfaz de bus para manejar accesos de un solo ciclo a
la memoria interna.
El conjunto de 136 registros internos está organizado en ocho ventanas solapadas
con desplazamiento para proporcionar rápidos tiempos de respuesta a interrupciones y
cambios de contexto. Este conjunto de registros minimiza los accesos a memoria durante
la ejecución de procesos y facilita el paso de parámetros y la asignación a variables.
El MB86831 incluye hardware para multiplicaciones de enteros. Las
multiplicaciones de enteros de 32 bits se ejecutan en 5 ciclos de reloj, las de 16 bits en 3
ciclos y las de 8 bits en 2.
Para la conexión a periféricos se puede utilizar uno de los chips de complemento
que poseen controlador de teclado, dos puertos serie, etc.: MB86941 (comunicación de
datos a 40 MHz con el SPARCLite) o MB86942 (50MHz), véase el capítulo 4.3.3.
3.11.2. Características.
• Ejecución rápida de instrucciones en la unidad de aritmética entera. Las
operaciones simples forman el mayor volumen en la mayoría de los programas,
de modo que la velocidad de ejecución se puede mejorar enormemente
diseñando estas instrucciones de modo que se ejecuten en el menor tiempo
posible. En la arquitectura SPARC la mayoría de las instrucciones se ejecutan
en un solo ciclo de reloj y tan solo un reducido grupo, las más complejas (como
la multiplicación de enteros), toman ciclos adicionales.
• Amplio conjunto de registros. El elevado número de registros reduce el número
de accesos a la memoria de datos. Estos registros se organizan en grupos
solapados llamados ventanas de registros, lo que permite reservar registros
para tareas de alta prioridad, tales como interrupciones o acceso a registros de
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
76
trabajo del sistema operativo. El solapado de las ventanas también simplifica el
paso de parámetros y reduce la sobrecarga de instrucciones para el enlace de
procedimientos o funciones.
• Cachés internas. El chip posee dos cachés, una para datos (2 KB) y otra para
instrucciones (4KB). Esto desacopla la rápida unidad de aritmética entera de la
memoria externa al chip, la cual sólo se utiliza cuando los datos o
instrucciones no están en la caché.
• Posibilidad de bloquear partes de la caché. Tanto en la caché de datos como de
instrucciones es posible bloquear parte de las mismas de modo que sus
contenidos no se descarten nunca (hasta desbloqueo explícito). Esto es de gran
utilidad para ciertos datos o código que se sabe que son muy utilizados.
• Interfaces. Los requisitos de lógica adicional para la interconexión del
MB86831 al resto del sistema se minimizan gracias a las señales de selección
de chips, circuitería de estados de espera programables, direcciones de
memoria cacheables y no cacheables programables, y soporte para conexión a
PM-DRAM, EDO-DRAM, PM-EEPROM. El MB86831 puede arrancar desde
memoria con anchura de 8, 16 o 32 bits. Además, el bus de datos programable
permite lectura o escritura a memoria de diferentes anchuras. Para una
operación a elevada frecuencia el núcleo puede correr hasta cinco veces la
velocidad del bus (pero la velocidad del bus nunca puede exceder los 33 MHz).
• Generador de reloj. Para el MB86831 se debe proporcionar una fuente de reloj.
A diferencia de otros miembros de la familia SPARCLite, éste no tiene oscilador
dentro del chip. Pero un PLL incorporado minimiza el skew (desfase) entre los
relojes dentro del chip y fuera del chip.
• Set de instrucciones mejorado. El MB86831 incluye una instrucción rápida de
multiplicación de enteros. La instrucción de un paso de división reduce el
tiempo necesario para una división en un factor de 10 sobre implementaciones
previas SPARC. También dispone de una instrucción para examinar en un solo
ciclo de reloj cual es el bit 1 o 0 más significativo en una palabra o cual es el
primer bit diferente al bit de signo.
• Modo adormecido. Es un modo de ahorro de energía en el que la ejecución de
un programa se suspende temporalmente. Los pines PDOWN# y WKUP# y el
registro de modo adormecido proporcionan el mecanismo para entrar y salir de
este modo.
• Soporte para ROM modo ráfaga.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
77
• 16 espacios de direcciones, de 256 MB cada uno.
• Tecnología CMOS de 2 niveles, de 0.35 micras, a 3.3V internos y 3.3 o 5V para
I/O.
3.11.3. Diagrama de bloques.
Figura 3.7
IU: Integer Unit.
BIU: Bus Interface Unit.
ICACHE: Instruction Cache.
DCACHE: Data Cache.
3.12. SPARClite MB86832 de Fujitsu [24].
Sus diferencias con respecto al MB86831 son:
• Velocidades de 66, 80 o 100 MHz.
• Tamaños de las cachés de datos e instrucciones de 8 KB (cada una).
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
78
• Velocidad del bus: 40 MHz para la versión de 100 MHz, y de 33 MHz para las
versiones de 66 y 80 MHz.
• Unidad de apoyo al depurado (DSU, Debug Support Unit), la cual permite los
modos “monitor” y de “emulación hardware”, puede fijar puntos de ruptura
(breakpoints), y también ejecución paso a paso de la CPU. Para habilitar la
DSU se deben activar las líneas EMU_BRK# y EMU_ENB# mientras que se le
hace un reset a la CPU. Los datos en el bus emulador DSU se pueden
monitorizar mediante lógica externa, y se pueden capturar trazas de las
operaciones entre la unidad IU (Integer Unit) y las cachés. La circuitería interna
para emulación permite determinar el estado de la CPU monitorizando los
buses del emulador EMU_SD[3:0] y EMU_D[3:0].
3.13. SPARClite MB86833 de Fujitsu [24].
Es el microprocesador de la familia SPARClite menos potente pero a la vez más
pequeño y barato, lo que le hace el mejor candidato para aplicaciones de sistemas
empotrados de bajo coste.
Sus diferencias con respecto al MB86831 son:
• Velocidad única de 66 MHz.
• Tamaños de las cachés de datos e instrucciones de 1 KB (cada una).
• Encapsulado de plástico con bajo perfil de 144 pines.
3.14. SPARClite MB86860 de Fujitsu [24].
Es el microprocesador Superescalar de la familia SPARClite, y con ello el más
potente, para aplicaciones de sistemas empotrados que exigen gran capacidad de cálculo.
3.14.1. Características.
• Núcleo CPU.
◦ Conforme a SPARC V8.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
79
◦ Máxima frecuencia interna de funcionamiento de 200 MHz.
◦ Arquitectura Superescalar doble.
◦ Caché de instrucciones de 16 KB de cuatro conjuntos (4-way).
◦ Caché de datos de 16 KB de cuatro conjuntos (4-way).
◦ Modo de bajo consumo.
◦ Soporte para bi-endian, es decir, puede actuar como big-endian o como
little-endian.
• Funciones de apoyo al depurado a nivel hardware.
◦ Puntos de ruptura.
◦ Búfer de trazas con una profundidad de 16 direcciones.
◦ Operación paso a paso.
• Módulo de búferes.
◦ Búfer de instrucciones de 4 columnas.
◦ Búfer de lectura de 2 x 4 columnas.
◦ Búfer de escritura de 16 columnas.
• Interfaz SDRAM.
◦ Anchura del bus de datos de 64 bits.
◦ Frecuencia máxima de funcionamiento de 100 MHz.
◦ Soporta autorrefresco.
◦ Soporta control de paridad.
• Bus interfaz SPARClite.
◦ Bus de datos de 8, 16, 32 o 64 bits.
◦ Soporta el modo ráfaga.
• Módulo DMA (acceso directo a memoria) de 2 canales (operación simultánea de
un solo canal).
• Tensión interna del núcleo de 2.5 V, y de los pines de entrada / salida de 3.3V.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
80
3.14.2. Diagrama de bloques.
Figura 3.8
3.15. Crusoe TM3200 de Transmeta [25].
3.15.1. Descripción.
En enero de 2000, la compañía Transmeta introdujo este procesador basado en
software: ahorrar en consumo de energía sustituyendo grandes cantidades de
transistores por software. El procesador consiste en un núcleo hardware rodeado por una
capa de software. El núcleo hardware es una CPU VLIW (Very Large Instruction Word)
capaz de ejecutar hasta cuatro operaciones en cada ciclo de reloj. El set de instrucciones
nativo de VLIW no se parece al del x86. Se ha diseñado específicamente para combinar
ejecución rápida, bajo consumo y reducido espacio utilizando fabricación CMOS
convencional. La capa software envolvente da a los programas x86 (incluyendo a la BIOS
y al sistema operativo) la impresión de que están siendo ejecutados en hardware x86.
Esta capa se denomina Code MorphingTM porque “da forma” dinámicamente a las
instrucciones x86 para convertirlas en instrucciones VLIW. Esta filosofía cambia por
completo el diseño clásico de microprocesadores. Mediante la demostración de que se
pueden implementar microprocesadores reales como híbridos hardware-software,
Transmeta ha expandido enormemente el espacio de los diseñadores de
microprocesadores de modo que pueden explorar soluciones óptimas para las
aplicaciones perseguidas. Los equipos de desarrollo de microprocesadores pueden meter
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
81
en su plantilla a expertos en software de modo que trabajen en paralelo con los
ingenieros hardware para presentar los productos en el mercado más rápidamente. Las
actualizaciones de la parte software del microprocesador se pueden llevar a cabo
independientemente del chip. Finalmente, el desacoplo entre el diseño hardware y el
software de sistema da libertad a los diseñadores hardware para modificar sus diseños
sin necesidad de alterar el software de aplicación.
El diseño hardware elimina las tres cuartas partes de la lógica de transistores
necesaria para un diseño tradicional de rendimiento similar. De esta forma se reduce el
consumo y el tamaño del chip. Recordemos que el consumo de potencia es proporcional a
c*v2*f, donde c es el número de transistores, v la tensión y f la frecuencia del reloj.
La capa software Code MorphingTM se puede modificar para mejores rendimientos
en el futuro, y como normalmente residirá en memoria flash de la placa madre donde
vaya el chip, se podrá actualizar descargándola de la Internet. La única desventaja del
Code MorphingTM es que fuerza al procesador a dedicar parte de sus ciclos para
ejecutarlo. Pero diseñando dicho software para máxima eficiencia la sobrecarga no es
considerable como para tener un peor rendimiento que un microprocesador tradicional.
El núcleo hardware se compone fundamentalmente de dos unidades de aritmética
entera, una unidad de punto flotante, una unidad de memoria (load/store) y una unidad
de salto (branch). Una instrucción del microprocesador Crusoe, llamada “molécula”,
puede tener una longitud de 64 o 128 bits y contener hasta cuatro instrucciones del tipo
RISC, llamadas “átomos”. Todos los átomos de una molécula se ejecutan en paralelo, y el
formato de la molécula determina directamente cómo los átomos se enrutan a las
unidades funcionales. Esto simplifica enormemente el hardware para decodificar y
“despachar” instrucciones. En la Figura 3.9 se puede ver cómo una molécula de 128 bits
se descompone en cuatro átomos que se destinan a las unidades funcionales adecuadas.
Las moléculas se ejecutan en orden, para no añadir complejidad al hardware. Para
mantener al microprocesador corriendo a la máxima velocidad las moléculas se “rellenan”
lo máximo posible con átomos.
Figura 3.9
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
82
Comparemos este tipo de arquitectura con la del Pentium III. Bien es cierto que
este último también tiene unidades funcionales que permiten ejecutar operaciones RISC
en paralelo a partir de una instrucción x86, pero, a diferencia de Crusoe, requiere
hardware adicional para despachar las instrucciones de forma desordenada, ya que eso
es necesario en su arquitectura si se quiere tener al mayor número de unidades
funcionales ocupadas. Esto conlleva además una unidad hardware encargada de
reconstruir el orden original de la instrucción x86. Con ello el hardware es más complejo
que el del motor VLIW. Esto y todo lo descrito con anterioridad hace que para una misma
reproducción de un video DVD el Pentium III alcance los 105 ºC mientras que el Crusoe
TM5400 (otro miembro de la familia Crusoe que se verá más adelante) sólo alcance los 48
ºC. Esto hace que el Pentium III requiera ventilador y el Crusoe no. De todos modos
señalar que esta comparación que hace Transmeta no es la más indicada, ya que existe
un microprocesador de aplicaciones más semejantes que es el Mobile Pentium III.
El TM3200 está orientado a dispositivos de acceso a Internet de última generación
y pequeño tamaño (webpads, etc.) a diferencia del TM5400 que dada su mayor potencia
está indicado para PCs portátiles.
3.15.2. Características.
• Rango de frecuencias: 333 - 400 MHz.
• Caché L1: 96 KB.
• Tipo de memoria principal: SDRAM.
• North Bridge (controlador de SDRAM) integrado.
• Encapsulado: 474 pin – BGA.
• Fabricante (Partner) de los chips: IMB.
• Tecnología 0.22µm.
• Tamaño del chip: 77mm2.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
83
3.16. Crusoe TM5400 de Transmeta [25].
3.16.1. Introducción.
Es el hermano mayor del TM3120, descrito anteriormente, y tiene la misma filosofía
de diseño. Dada su mayor potencia de cálculo está orientado a PCs portátiles capaces de
reproducir DVD, etc. con un alto rendimiento.
3.16.2. Características.
• Rango de frecuencias: 500 - 700 MHz.
• Caché L1: 128 KB.
• Caché L2 (integrada en el chip): 256 KB.
• Tipo de memoria principal: SDRAM o DDR.
• North Bridge (controlador de SDRAM) integrado.
• Encapsulado: 474 pin – BGA.
• Fabricante (Partner) de los chips: IMB.
• Tecnología 0.18µm.
• Tamaño del chip: 73mm2.
3.17. Mobile Pentium III de Intel [26].
3.17.1. Descripción.
El microprocesador Pentium III para dispositivos portátiles basados en procesador
(por ejemplo un PC portátil o un webpad) está fabricado con tecnología de 0.18µm, y
ofrece un elevado rendimiento junto con un bajo consumo. Los avances clave de
rendimiento incluyen la introducción del nuevo set de instrucciones para contenidos de
Internet llamado SIMD (rendimiento mejorado para sonido y video incluso en 3
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
84
dimensiones), una arquitectura de transferencia a caché mejorada y un bus de sistema
de velocidad 100 MHz. Los encapsulados disponibles son el BGA2 y el micro-PGA2 (o lo
que es lo mismo, PBGA-B495 y PPGA-B495), cuyos tamaños son incluso un 20% más
pequeños que los del Mobile Pentium II.
La tecnología SpeedStepTM de Intel permite alcanzar rendimientos cercanos a los de
los PCs de sobremesa. Está tecnología tiene además dos modos de funcionamiento que
permite cambiar dinámicamente entre las tensiones y frecuencias asociadas a cada modo
(alto rendimiento y bajo consumo), es decir, las velocidades del núcleo y bus del
procesador, y la tensión del núcleo, se pueden cambiar de altos a bajos sin “resetear” al
micro. En el modo de máximo rendimiento la frecuencia de reloj es de 700 MHz, mientras
que en el modo de ahorro de batería (bajo consumo) es de 550 MHz.
La caché L2 integrada está diseñada para ayudar a mejorar el rendimiento,
proporcionando un rápido acceso a datos críticos reduciendo el consumo total del
sistema (es decir, con respecto a un sistema con caché L2 externa SRAM).
El bus de sistema se denomina GTL+ (Gunning Transceiver Logic), y tiene una
anchura de 64 bits. Proporciona un acoplo directo con el controlador de memoria y el
puente de I/O incluidos en los chips 440BX AGPset, 440ZX-M AGPset y 440MX Chipset.
3.17.2. Características.
• Rango de frecuencias de funcionamiento:
◦ 700/100 MHz (modo de máximo rendimiento a 1.6 V).
◦ 550/100 MHz (modo de máximo rendimiento a 1.35 V).
• Soporta la “Ejecución Dinámica” de la arquitectura Intel.
• Caché primaria L1:
◦ 16 KB para instrucciones.
◦ 16 KB para datos.
◦ Modo write-back.
◦ Caché asociativa de 4 conjuntos (4-way).
◦ 32 bytes por línea, 1 línea por sector.
◦ Rango de información “cacheable” controlado por registros programables
del microprocesador.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
85
• Caché secundaria L2 integrada en el chip:
◦ 256 KB.
◦ Protección ECC.
◦ Funcionamiento a la velocidad del núcleo.
◦ Caché asociativa de 8 conjuntos (8-way).
◦ 32 bytes por línea, 1 línea por sector.
• Interfaz de bus GTL+:
◦ Bus de datos de 64 bits.
◦ Funcionamiento a 100 MHz.
◦ Soporta dos cargas: puente I/O y controlador de memoria.
• Co-procesador matemático integrado.
• Número de serie de procesador Intel.
• Encapsulados BGA2 y Micro-PGA2, que facilitan diseños de pequeño tamaño y,
gracias a la mejor disipación, la innecesidad de un ventilador.
• Compatibilidad completa con los procesadores Intel anteriores:
◦ Compatible con el código binario de todas las aplicaciones compiladas
para microprocesadores Intel.
◦ Soporta la tecnología MMX.
◦ Soporta el set de instrucciones SIMD.
• Gestión para el ahorro de energía con dos modos de funcionamiento
diferenciados y de rápida conmutación: alto rendimiento y bajo consumo.
• Diodo térmico integrado para medir la temperatura del procesador.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
86
3.17.3. Diagrama de bloques.
Figura 3.10
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
87
3.18. Tabla comparativa.
Tabla 3.1
V e lo c id a d e s ( M H z )
C o n s u m o t íp . ( W )
T e c n o lo g ía ( µ m )
T e n s ió n n ú c le o
( V ) E n c a p s u la d o C a c h é
( K B )
S T P C C l ie n t 6 6 - 7 5 - 0 .3 5 3 .3 3 8 8 P B G A 8 S T P C C o n s u m e r 6 6 - 8 0 - 1 0 0 - 0 .3 5 3 .3 3 8 8 P B G A 8
S T P C C o n s u m e r - S 6 6 - 7 5 - 9 0 - 1 0 0 - 0 .3 5 3 .3 3 8 8 P B G A 8 S T P C I n d u s t r i a l 6 6 - 8 0 - 0 .3 5 3 .3 3 8 8 P B G A 8
C o ld f i r e M C F 5 3 0 7 6 6 - 9 0 0 .9 5 0 .3 5 3 .3 2 0 8 T Q F P 8 M a c h Z P C e 3 3 - 6 6 - 1 0 0 - 1 3 3 0 .8 - 2 .8 0 .2 5 2 .5 3 8 8 P B G A 8
G e o d e G X L V 1 6 6 - 2 6 6 1 .5 - 2 .5 0 .3 5 2 .2 - 2 .5 -2 .9
3 2 0 S P G A 3 5 2 B G A 1 6
G e o d e G X 1 2 0 0 - 2 3 3 - 2 6 6 -3 0 0 0 .8 - 1 .2 0 .1 8 1 .6 - 1 .8 -
2 .0 3 2 0 S P G A 3 5 2 B G A 1 6
G e o d e S C 1 4 0 0 2 6 6 - - - 6 8 0 E B G A - S P A R C l i t e M B 8 6 8 3 1 6 6 - 8 0 0 .6 - 0 .9 5 0 .3 5 3 .3 1 7 6 S Q F P 6 S P A R C l i t e M B 8 6 8 3 2 6 6 - 8 0 - 1 0 0 0 .8 - 1 .2 0 .3 5 3 .3 1 7 6 S Q F P 1 6 S P A R C l i t e M B 8 6 8 3 3 6 6 0 .5 - 0 .8 0 .3 5 3 .3 1 4 4 L Q F P 2 S P A R C l i t e M B 8 6 8 6 0 2 0 0 - - 2 .5 3 5 2 B G A 3 2
C r u s o e T M 3 1 2 0 3 3 3 - 4 0 0 1 - 2 .2 0 .2 2 1 .5 4 7 4 B G A 9 6 C r u s o e T M 5 4 0 0 5 0 0 - 7 0 0 1 - 2 0 .1 8 1 .2 - 1 .6 4 7 4 B G A 1 2 8 + 2 5 6
M o b i le P e n t iu m I I I 1 0 0 - 7 0 0 - 0 .1 8 1 .3 5 -1 .6
B G A 2 m ic r o - P G A 2 3 2 + 2 5 6
N o ta : C a c h é x + y s ig n i f i c a x K B c h a c h é L 1 e y K B c a c h é L 2 ( in t e g r a d a e n e l c h ip ) .
D r iv e r m e m o r ia
V e lo c id a d ( M H z )
C a p a c id a d m á x ( M B )
B u s d e
d a to s ( b i t s )
C o n t r o -l a d o r
g r á f i c o
E n t r a d a / s a l id a d e
T V
S u p e r I O U S B
S T P C C l ie n t D R A M - 1 2 8 6 4 S í D ig i t a l e s N o N o
S T P C C o n s u m e r D R A M - 1 2 8 6 4 S í D ig i t a l / A n a ló g ic a N o N o
S T P C C o n s u m e r - S S D R A M - 1 2 8 6 4 S í D ig i t a l / A n a ló g ic a N o N o
S T P C I n d u s t r i a l D R A M 6 6 1 2 8 6 4 S í N o S í N o
C o ld f i r e M C F 5 3 0 7 D R A M S D R A M - 5 1 2 3 2 N o N o N o N o
M a c h Z P c e S D R A M 6 6 2 5 6 3 2 N o N o S í S í G e o d e G X L V S D R A M 6 6 2 5 6 6 4 N o N o N o N o
G e o d e G X 1 S D R A M 6 6 5 1 2 6 4 S í N o N o N o G e o d e S C 1 4 0 0 S D R A M - - 6 4 S í S í S í S í
S P A R C l i t e M B 8 6 8 3 1 D R A M - 6 4 3 2 N o N o N o N o
S P A R C l i t e M B 8 6 8 3 2 D R A M - 6 4 3 2 N o N o N o N o
S P A R C l i t e M B 8 6 8 3 3 D R A M - 6 4 3 2 N o N o N o N o
S P A R C l i t e M B 8 6 8 6 0 S D R A M 1 0 0 1 2 8 6 4 N o N o N o N o
C r u s o e T M 3 2 0 0 S D R A M 1 3 3 5 1 2 6 4 N o N o N o N o
C r u s o e T M 5 4 0 0 D D R -S D R
S D R A M 1 6 6 5 1 2 + 5 1 2 6 4 N o N o N o N o
M o b i l e P e n t iu m I I I S D R A M - - 6 4 N o N o N o N o N o ta : S u p e r I O in c lu y e p u e r to s d e t e c la d o , r a tó n , s e r i e , p a r a le lo y d i s q u e te r a ( e s t á a u s e n te e n S T P C I n d u s t r i a l ) .
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
88
4. CHIPS COMPLEMENTARIOS PARA PC EMPOTRADO.
4.1. National Geode CS5530 I/O Companion Chip [23].
4.1.1. Introducción.
Para su familia de microprocesadores Geode, National Semiconductor ha creado
este chip que permite crear un sistema prácticamente completo siendo una buena
solución para cubrir las necesidades de un host o de un cliente, como es el caso de set-
top-boxes, acceso personal a Internet, etc.
El CS5530 es un puente PCI-ISA (South Bridge) proporcionando el bus ISA al
sistema (recuérdese que el procesador Geode proporcionaba el bus PCI). También
contiene la gestión de energía que permite reducir la potencia consumida, esto es
especialmente importante en dispositivos alimentados con pilas o baterías. Por otro lado
proporciona salidas analógicas RGB para CRT y salidas digitales RGB para pantallas TFT
o codificadores NTSC/PAL a partir de las señales generadas por la CPU. Estas salidas se
pueden conectar al CS9210, que es un controlador DSTN de la familia Geode. El CS5530
también incluye dos controladores IDE, dos puertos USB, puerto de juegos y la
posibilidad de incluir dispositivos Plug and play. Para soportar audio se puede conectar
un codec AC97 a través del bus PCI y proporciona, por el interfaz de audio, la tecnología
VSA. Para otras necesidades como el RTC (reloj de tiempo real), disquetera, teclado o
ratón PS2, etc. es necesario incluir un SuperIO.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
89
4.1.2. Características fundamentales.
• Características generales:
◦ Diseñado para los procesadores de la familia Geode.
◦ Encapsulado TBGA de 352 terminales.
◦ Compatible con buses PCI de 3.3v y de 5v.
◦ Soporta 5v en sus interfaces de entrada/salida.
◦ Core a 3.3v.
• Puente PCI a ISA:
◦ Versión de PCI 2.1.
◦ Soporta ciclos de transferencia de master PCI a ISA y de master ISA a PCI.
◦ Master PCI para entradas salidas de audio y controladores IDE.
◦ Agente inteligente para eliminar transferencias no reclamadas.
◦ Translación de mapa de interrupciones PCI a ISA.
• Compatibilidad con AT:
◦ Dos controladores de interrupciones equivalentes al 8259A.
◦ Temporizador equivalente al 8254.
◦ Chip select para la ROM de arranque y el teclado.
◦ ROM extendida a 16 MB.
• Controladores IDE:
◦ Dos controladores que soportan cuatro dispositivos IDE.
◦ Temporización independiente para dispositivos master y slave de ambos
canales.
◦ Ráfagas de lectura y escritura del bus PCI como master.
◦ Soporte Ultra DMA/33 (ATA-4).
◦ Soporte multiword DMA.
◦ Soporta modos 0-4 de entradas/salidas programadas (PIO).
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
90
• Gestión de energía:
◦ Sistema de control inteligente que soporta varios estándares de gestión de
energía.
▫ Soporte de ACPI y APM completa.
▫ Gestiona directamente los estados de energía del procesador.
◦ Interrupciones de entrada/salida y temporizadores de tiempo inactivo
para la gestión de la energía en los periféricos.
◦ Ocho registros de propósito general para el control del sistema.
▫ Los ocho configurables como eventos externos de activación.
◦ Entradas dedicadas para los eventos de activación del teclado y el ratón.
• XpressAUDIO:
◦ Proporciona hardware back-end soportado mediante seis masters PCI.
◦ Interfaz para el codificador AC97.
▫ Revisión de las especificaciones 1.3, 2.0 y 2.1. El codificador debe
soportar SRC (conversión de frecuencia de muestreo).
• Extensiones del subsistema gráfico:
◦ Complementa las capacidades gráficas de los procesadores GXm (como el
GX1) y GXLV.
▫ Tres búferes independientes para acelerar el flujo de datos de video.
▫ Controladores de flujo de datos de video y gráficos asíncronos
concurrentes desde el procesador.
▫ Conversión hardware de YUV a RGB.
▫ Escalado de la interpolación X e Y arbitraria.
▫ Control del color para la superposición de gráficos y video.
◦ Interfaz VDACs/pantalla.
▫ Tres DACs integrados (R, G y B).
▫ RAM Gamma.
▫ Proporciona corrección gamma para el flujo de datos de video.
▫ Proporcione corrección de brillo/contraste para el flujo de datos de
video.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
91
▫ Reloj generador DOT integrado.
▫ Interfaz RGB digital para alimentar pantallas TFT o para
codificadores NTSC/PAL estándares.
• Bus serie universal (USB):
◦ Dos interfaces USB independientes.
▫ Cumple con la especificación de interfaz controlador de host abierto
(OpenHCI).
▫ Diseño del core de segunda generación.
4.1.3. Descripción.
Como ya hemos visto el Geode CS5530 se compone de interfaz PCI, interfaz ISA,
lógica de compatibilidad con AT, controladores IDE, gestión de energía (interrupciones,
eventos, timers e interfaces GPIO), puerto de juegos, hardware de soporte de audio,
control de video (acelerador MPEG, RAMDAC y puertos de video) y controladores USB,
como se puede ver en la Figura 4.1.
Figura 4.1
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
92
La interfaz PCI funciona tanto como slave cuando la CPU u otro dispositivo PCI
inicia la comunicación en modo master como en modo master para los ciclos de
transferencia del DMA, este chip también es master cuando lo requieren los
controladores IDE o la lógica de audio. El CS5530 soporta decodificación positiva para la
configuración de las zonas de acceso a dispositivos de entrada/salida y de memoria,
genera las direcciones de memoria y la paridad de los datos siendo capaz de la
comprobación de la paridad. El arbitraje del bus corresponde al microprocesador no
siendo implementado por este chip.
El CS5530 proporciona in interfaz ISA al sistema, por defecto hace caso a todas los
ciclos, pero se puede configurar para desechar las transferencias no solicitadas. Este
chip soporta dos modos en el interfaz ISA. El modo por defecto, el modo ISA limitado,
soporta todo el rango de direcciones, sin poder hacer de master, para ello se multiplexan
las señales de direcciones y datos utilizando la señal SA_LACH cuando los datos son de
este bus. En el modo ISA master no requiere circuitería externa pero se redefinen los
pines físicos del chip no pudiendo utilizar las pantallas TFT o los controladores de TV,
este modo es necesario si se quieren poner slots ISA o usar el chip como master ISA. Los
ciclos sólo pasan al bus PCI cuando se necesita el acceso a la memoria quedándose los
ciclos que acceden a los dispositivos de entrada/salida en el puente.
La compatibilidad con AT se consigue con dos controladores DMA equivalentes al
8237, dos controladores de interrupciones equivalentes al 8259, un temporizador
equivalente al 8254 para el refresco, temporización y lógica del altavoz, control y
generación de NMI para los errores del sistema (PCI y paridades), soporte para teclados
compatibles AT, control del reset y de espacio para entradas/salidas.
El controlador de DMA soporta siete canales estándar DMA, zona de memoria de 32
bits para los registros, ciclos extendidos de IOCHRDY [7] para compatibilizar
temporalmente las transferencias y soporte de dispositivos ISA master usando el modo en
cascada.
El temporizador programable utilizado permite un total de 16 interrupciones
poniendo en cascada los dos controladores, se puede configurar para que sea sensible al
flanco o al nivel.
También se integran dos controladores IDE ATA-4 que cuelgan del bus PCI,
soportan Ultra DMA/33 (para Windows 95 y Windows NT National proporciona el driver
correspondiente), Multiword DMA y entradas/salidas programables (PIO). La velocidad de
cada dispositivo en cada controlador se puede controlar independientemente,
permitiendo dispositivos rápidos junto a otros más lentos.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
93
El CS5530 integra una gestión de energía avanzada que incluye temporizadores
para inactividad para los periféricos, registros trampa de direcciones para el espacio de
direcciones programable para entradas/salidas o acceso a memoria, ocho registros
programables de propósito general (GPIO), control del reloj de la CPU, parada del reloj de
la CPU por software, modo suspendido cero voltios con ocultamiento de los registros de
los periféricos y bus dedicado para proporcionar el estado de la CPU. Cumple con la
norma ACPI (revisión 1.0) proporcionando más ventajas para la gestión del consumo.
Junto con lo anterior se pueden usar los registros de propósito general (GPIO) como
entradas o salidas para una mejor gestión de la energía.
XpressAUDIO en el CS5530 ofrece soporte hardware y software para los
requerimientos del audio, usa tecnología VSA y hardware adicional para soportar la
síntesis estéreo de 16 bits y la emulación OPL3. El hardware se divide en dos la parte
dedicada al transporte de flujo de datos de sonido y la parte VSA.
En cuanto a la pantalla el CS5530 incorpora extensiones del subsistema gráfico de
los procesadores GXm, incluyendo: Aceleración de video con búferes y entradas para
YUV, interfaz de 8 bits con el microprocesador escalador X e Y con filtro bilinear y
conversor YUV a RGB. Corrección gamma con control de brillo y de contraste e interfaz
de pantalla con los conversores DAC RGB para CRT, soporte VESA DDC2B/DPMS e
interfaz para pantallas planas.
El CS5530 puede generar los relojes DOT para video por medio de un PLL
programable y el reloj para el bus ISA, el divisor para este reloj también es programable.
Para ello es necesario tener las señales de reloj del bus PCI o bien reloj de video (TVCLK)
o una señal de 14 MHz.
Por último hay que mencionar que este chip incorpora también 2 puertos serie
universales (USB) independientes que cumplen con la especificación OpenHCI revisión
1.0.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
94
4.2. National PC 97317 Super I/O.
4.2.1. Introducción.
Los chips PC87317VUL y PC97317VUL de National Semiconductor son dos chips
con la misma funcionalidad encargados de proporcionar a un sistema basado en
microprocesador los interfaces para periféricos ISA, EISA y MicroChannel más comunes.
Estos chips son totalmente compatibles con las especificaciones Plug and Play de ISA
versión 1.0a y con los acuerdos de la guía de diseño PC97 Hardware Design Guide,
además integra la configuración avanzada y el interfaz de control de energía de los
requerimientos ACPI revisión 1.0.
Incorpora además un reloj de tiempo real (RTC) proporcionando la posibilidad de
control de alimentación avanzado (APC), controlador de disquetera, controlador de
teclado y ratón, 2 puertos serie (UARTs) con posibilidad transmisión por infrarrojos,
puerto paralelo completo, 24 registros de propósito general (GPIO), tres señales de chip
select programables, controlador de LED de acuerdo con las especificaciones PC97,
soporte para la gestión de la energía, temporizador de WATCHDOG, decodificador de las
direcciones según el estándar PC-AT, etc.
En resumen el PC87317 y el PC97317 tienen las siguientes características y
cumplen con las siguientes recomendaciones:
• Compatibilidad total con la revisión 1.0. de los requisitos de ACPI.
• Diseñado según las especificaciones PC97 Hardware Design Guide, incluyendo
el soporte para LED.
• RTC avanzado incluyendo funcionalidad APC y timekeeping.
• 24 puertos GPIO de un bit.
• Controladores de teclado y ratón, 2 UARTs, soporte para infrarrojos y puerto
paralelo.
4.2.2. Características fundamentales.
• 100% compatible con los requerimientos PnP especificados en las
especificaciones Plug and Play de ISA, arquitecturas ISA, EISA y MicroChannel.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
95
• Un módulo PnP especial que incluye:
◦ DMA, IRQs y direccionamientos base flexibles según las especificaciones
de Microsoft en su “1995 hardware design guide for Windows“ y de la
revisión 1.0A de PnP ISA.
◦ Modo ISA PnP.
◦ Placa madre con modo PnP.
• Controlador de disquetera que proporciona:
◦ Una dirección modificable referenciada por un registro de 16 bits.
◦ Compatibilidad software con el PC8477, que contiene un superset de
funciones de control de disquetera en el µDP8473, el NEC µPD765A y el
N82077.
◦ 13 opciones para el canal IRQ.
◦ 4 opciones para el canal del DMA.
◦ FIFO de 16 bits.
◦ Modos ráfaga y no ráfaga (burst y no-burst).
◦ Un nuevo separador interno, digital de altas prestaciones, que no requiere
ningún componente externo.
◦ Soporta disqueteras estándar de 5.25” y 3.5”.
◦ Soporte para la detección automática.
◦ Soporte para grabación perpendicular.
◦ Soporte de FDD (controlador de disquete) de tres modos.
◦ Soporte total para el TDR de IBM.
• Controlador de teclado (KBC) con:
◦ Dirección modificable referenciada en un registro de 16 bits programable.
◦ 13 opciones de IRQ para el controlador de teclado.
◦ 13 opciones de IRQ para el controlador de ratón.
◦ Microcontrolador de 8 bits.
◦ Compatibilidad software con microcontroladores 8042AH y PC87911.
◦ 2K de ROM programada por el cliente.
◦ 256 bytes de RAM.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
96
◦ 5 líneas de entrada salida en drenador abierto dedicadas y programables
para aplicaciones del controlador de teclado.
◦ Acceso asíncrono a dos registros de datos y un registro de estado durante
el funcionamiento normal.
◦ Soporta tanto interrupciones como polling.
◦ 93 instrucciones.
◦ Un contador/temporizador de 8 bits.
◦ Soporta aritmética binaria y BCD.
◦ Funcionamiento a 8 MHz, 12 MHz o 16 MHz, siendo programable esta
velocidad.
◦ Posibilidad de incluir el PC87323 que incluye RAM y una plataforma de
desarrollo para el PC87317.
• Reloj de tiempo real (RTC) que comprende:
◦ Una dirección modificable referenciada en un registro de 16 bits
programable.
◦ 13 opciones de IRQ, con polaridad programable.
◦ Compatibilidad con DS1287, MC146818 y PC87911.
◦ Memoria RAM, guardada con batería, de 242 bytes.
◦ Mecanismos de seguridad para la RAM del RTC.
◦ Calendario con día de la semana, día del mes, mes, año y siglo con ajuste
automático, alimentado por batería.
◦ Reloj con la hora del día en hora, minutos y segundos, permite formato de
24 o de 12 horas.
◦ Formato para guardar el tiempo binario o BCD.
◦ Tres banderas enmascarables de interrupción:
▫ Interrupciones periódicas, a intervalos desde 122 ms hasta 500 ms.
▫ Alarma de larga duración, interrupción periódica con intervalos
desde una por segundo hasta una por mes.
▫ Interrupción final de actualización. Una vez por segundo hasta que
se completa la actualización.
◦ Pin separado de alimentación por batería de 2.4 V con protección interna.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
97
◦ Consumo máximo durante el periodo apagado de 2 µA.
◦ Registros de tiempo con doble búfer.
• Controlador ACPI que soporta las recomendaciones ACPI revisión 1.0:
◦ Temporizador para la gestión de la energía.
◦ Botón de encendido.
◦ Alarma en tiempo real.
◦ Modo suspendido por software.
◦ PnP SCI.
◦ Mecanismo de bloqueo general.
◦ Eventos de propósito general.
◦ Alarma con la fecha del mes.
◦ Byte de siglo.
• Control de alimentación avanzado (APC), que controla la alimentación principal
del sistema usando las salidas, en drenador abierto, de la siguiente forma:
◦ Encendido cuando:
▫ El RTC avisa en un momento predeterminado.
▫ Ocurre un cambio de nivel de alto a bajo en la señal de entrada RI
de las UARTs.
▫ Se detecta un pulso en la señal de entrada RING.
▫ Salta el trigger de uno de los eventos programables.
◦ Apagado cuando:
▫ La señal SWITCH indica el evento de apagado.
▫ Ocurre un evento de Fail-safe.
▫ Apagado por software.
▫ Ocurre uno de los 10 eventos de apagado programables.
• Dos puertos serie (UART1 y 2) proporcionan:
◦ Compatibilidad total con los 16550A y 16450.
◦ Modo UART extendido.
◦ 13 opciones de IRQ.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
98
◦ Registro oculto para permitir monitorizar bits de sólo escritura.
◦ Velocidades de la UART de 1.5 Mbaudios.
• Inclusión de interfaz IR en la UART2 que permite:
◦ IrDA 1.0-SIR.
◦ Opción ASK-IR de SHARP-IR.
◦ Opción DASK-IR de SHARP-IR.
◦ Circuito de control remoto.
◦ Transceptor externo compatible PnP.
• Un puerto paralelo bidireccional que incluye:
◦ Dirección modificable referenciada por un registro programable de 16 bits.
◦ Control Software o Hardware.
◦ 13 opciones de IRQ.
◦ Cuatro opciones de canal de DMA de 8 bits.
◦ Soporta el modo demanda del DMA.
◦ Un puesto paralelo aumentado (EPP) compatible con la nueva versión EPP
1.9, e IEEE 1284.
◦ EPP que también soporta la versión EPP 1.7 de las especificaciones de
Xircom.
◦ Se soporta el modo EPP como el modo 4 de ECP (puerto con capacidades
extendidas).
◦ Selección de las resistencias pull-up o pull-down internas.
◦ Reducción de la utilización del bus PCI al soportar los modos de DMA de
demanda y colapso (demmand y fairness modes).
◦ Circuito de protección contra sobrecargas eléctricas.
◦ Búferes de salida que pueden absorber o dar hasta 14 mA.
• Tres pines de propósito general para tres chip-select programables
independientes, como sigue:
◦ Pueden ser programados para control del puerto de juegos.
◦ El chip-select 0 (CS0) está en drenador abierto alimentado por la tensión
adicional VCCH.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
99
◦ Las otras dos señales tienen búferes en push-pull alimentados a la
alimentación general.
◦ La decodificación de estas señales dependen de las señales de dirección y
pueden ser usadas utilizando las señales de leer y escribir.
• 24 puertos bit de propósito general:
◦ Direccionamiento modificable referenciada por un registro programable de
16 bits.
◦ Dirección de cada señal programable como entrada salida.
◦ Tipo de salida programable para cada salida (como drenador abierto o
como push-pull).
◦ Tipo de entrada programable (con resistencia de pull-up o sin ella).
◦ Opciones de configuración de bloqueo.
◦ Varias señales pueden utilizarse como triggers de interrupción.
◦ Circuito de protección.
• Un X-bus que conecta los 8 bits del X-bus con el bus ISA.
• Opciones de la fuente de reloj:
◦ La fuente puede ser un reloj de 32.786 KHz, un multiplicador interno
genera los relojes necesarios.
◦ La señal de entrada puede ser también un reloj de 48 o 24 MHz.
• Gestión de energía (PM) ampliada, incluye:
◦ Registros de configuración especial para apagado.
◦ Temporizador WATCHDOG para estrategias de ahorro de energía.
◦ Corriente en los pines reducida.
◦ Tecnología CMOS de bajo consumo.
◦ Posibilidad de apagar los relojes de todos los módulos.
◦ El LED alimentado desde la alimentación especial VCCH.
• Las características generales incluyen:
◦ Todos los accesos al SuperIO activan la señal de cero estados de espera
(ZWS), excepto el acceso al EPP o a los registros de configuración.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
100
◦ Acceso a todos los registros de configuración a través de un registro de
índice y otro de datos, que pueden ser reubicados en el espacio de
direcciones de entrada/salida del bus ISA.
◦ Encapsulado PQFP de 160 pines.
4.2.3. Diagrama de bloques.
En el diagrama (Figura 4.2) se puede apreciar los componentes del SuperIO así
como su estructura interna.
Figura 4.2
4.3. Otros chips complementarios.
Existen en el mercado otros chips que realizan las funciones de los anteriores,
sobre todo la gama es amplia en lo que se refiere a SuperIOs. Un par de ejemplos pueden
ser los ofrecidos por National Semiconductor y por SMSC, debido al gran parecido con los
ya comentados no se hace aquí sino una breve referencia a estos otros chips.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
101
4.3.1. PC87306 de National Semiconductor [23].
Este es un chip que conectado a los buses básicos de un microprocesador
(direcciones, datos y control, por ejemplo del bus ISA) proporciona al sistema reloj de
tiempo real, dos UARTs con posibilidad de comunicación por infrarrojos, controlador de
disquetera, controlador IDE, controlador de teclado y ratón, lógica de gestión de
encendido/apagado, puerto paralelo, registros de propósito general y acceso a los
registros de configuración. Prácticamente las características de este chip son las mismas
que las del PC87317 comentado anteriormente.
4.3.2. PC87338 de National Semiconductor [23].
Este SuperIO también basado en el bus ISA proporciona al sistema menos
dispositivos que los anteriores, pensado para aplicaciones que no requieren todos los
periféricos de un PC o que lo implementan desde otros dispositivos. El PC87338 incluye
dos UARTs con posibilidad de comunicación por infrarrojos, controlador de disquetera,
dos líneas de chip-select configurables, soporte PnP, lógica de gestión de apagado, puerto
paralelo y acceso a los registros de configuración.
4.3.3. MB86941 y MB86942 de Fujitsu [24].
Estos chips están especialmente pensados para los microprocesadores Sparc-Little.
Por ello está diseñado para un acople perfecto donde se minimizan los ciclos de espera.
Este chip incluye el controlador de interrupciones de 15 canales, temporizador de 16 bits
con 4 canales (2 de ellos con preescalers) con 4 modos de funcionamiento, transmisor-
receptor serie (SDTR), control de tiempo y ampliación de CS, entrada/salida serie
sincronía y puerto de 16 bits bidireccional bit a bit.
4.3.4. FDC37B78x de SMSC [27].
Este chip si está pensado para sistemas x86, incorpora interfaz para teclado, reloj
de tiempo real, controlador de disquetera, dos UARTs con posibilidad de comunicación
por infrarrojos, puerto paralelo con soporte EPP y ECP y con circuito protector, drivers de
bus AT de 12 mA, soporte para la gestión de energía (con control de teclado ratón, puerto
de juegos, llamada exterior, botón de encendido y eventos de encendido) cumpliendo la
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
102
norma ACPI, interfaz IDE, etc. Todo ello 100% compatible con las normas PC AT
soportando ISA PnP y las recomendaciones internacionales más importantes.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
103
5. DESARROLLO PC EMPOTRADO.
En la nomenclatura utilizada se referencia cada una de las líneas sin nombre
específico de un bus como nombre de bus[nº de línea]. Así la línea ADDRESS[0] es la
línea 0 del bus ADDRESS. Para referirse a varias líneas consecutivas de un mismo bus se
referencia como nombre de bus[primera línea:última línea]. Así DATA[8:10] son las líneas
8, 9 y 10 del bus DATA. Hay que señalar que los buses pueden tener señales con nombre
propio. Por ejemplo el bus RTCCTR puede contener las señales RTCCS# y RTCALE, no
existiendo las señales RTCCTR[n]. Cuando una línea es activa a nivel bajo o señala un
evento en el flanco de bajada se incluye el símbolo “#” al final de su nombre. Así
RESETPCI# indica que esta señal (RESETPCI) es activa a nivel bajo.
5.1. Especificaciones.
El objetivo es diseñar un PC empotrado de propósito general, de pequeño tamaño,
bajo consumo con los periféricos esenciales y coste reducido. Dado que se carece de una
aplicación conocida donde vaya a ser utilizado hay que optar por un producto final que,
si bien, no tenga todos los interfaces posibles si tenga los básicos para la interconexión
de periféricos de diferente índole. Gracias a la propia arquitectura PC elegida para el
sistema empotrado en cuestión se resuelve el problema de dicha interconexión de
periféricos desconocidos mediante los interfaces estándar.
En cuanto al software, para facilitar el desarrollo o adquisición del mismo, es un
requisito que el microcontrolador sea compatible x86, dada la gran extensión de la
arquitectura Intel en el mundo. Al aprovechar esta arquitectura los desarrollos software
podrán realizarse sobre Windows XX, aprovechando el conocimiento de esta plataforma
en proyectos para PC.
Con estas premisas se realizan dos construcciones de PC empotrado. La primera es
un PC empotrado pensado para aplicaciones industriales, por lo tanto prima el factor
económico eligiendo componentes que permitan dar una potencia media con pocos
componentes y un consumo mínimo. El sistema elegido debe tener una potencia de
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
104
cálculo apreciable para poder ejecutar las aplicaciones modernas, debe ser capaz de
funcionar con los periféricos y módulos modernos (disco duro, memoria principal, etc.) y
debe soportar los periféricos más comunes (teclado, ratón, monitor, etc.).
La segunda construcción está pensada para aplicaciones de procesado de señal y
multimedia, con lo que prima la potencia de cálculo, sin dejar de lado ni el tamaño ni el
coste, y se hace un especial esfuerzo para controlar el consumo. La potencia de cálculo
de dicho microcontrolador debe dar la capacidad de ejecutar las aplicaciones multimedia
modernas sobre un sistema operativo Windows por los motivos ya explicados. Por
supuesto este sistema, como el anterior, debe poder comunicarse con el exterior con los
periféricos esenciales, así como utilizar los sistemas más modernos en su diseño.
El sistema de potencia media para aplicaciones industriales, tiene las
especificaciones en [1].
Este proyecto se centra en el sistema de potencia alta para aplicaciones de
procesado de señal y multimedia, siendo las especificaciones siguientes las del sistema:
• Sistema PC empotrado compatible x86, con potencia mínima equivalente al
Pentium con posibilidad de ejecutar las instrucciones MMX, con una velocidad
de funcionamiento mínima de 200 MHz.
• Memoria SDRAM (mínimo de 32 MB a 66 MHz) con posibilidad de instalación
mediante slot DIMM.
• Memoria mínima para la BIOS de 256 KB.
• Conector IDE para la instalación de disco duro (mínimo de 528 MB).
• Salida de video VGA (RGB).
• Posibilidad de conexión de teclado, ratón y puerto serie de comunicaciones.
• Conector ATX para la alimentación del sistema.
• Consumo del sistema lo suficientemente bajo como para utilizar batería para
alimentarlo.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
105
5.2. Elección del microcontrolador.
Como punto de partida del diseño del PC empotrado nos encontramos ante la
elección del microcontrolador, ya que éste determinará en gran medida la elección de los
demás componentes y la forma de interconectarlos.
Tras el estudio llevado a cabo sobre numerosos microcontroladores del mercado
(véase capítulo 3) se ha optado por el STPC Consumer-S de ST Microelectronics y por el
Geode GX1 de National Semiconductor. Es decir, se han realizado dos diseños de PC
empotrado, con dos microcontroladores que permiten cumplir con las especificaciones
dadas anteriormente pero a dos niveles diferentes. Más adelante se detallará esta
diferencia de niveles, pero empecemos describiendo por qué se han descartado los demás
microcontroladores.
Primero eliminamos los microcontroladores que no soportan memoria SDRAM (no
nos sirve DRAM, ya sea EDO o FPM, por motivos comerciales ya que pronto será difícil
encontrarlas en el mercado). Con ello quedan fuera el STPC Client, STPC Consumer,
5.5. Descripción de los esquemas del PC empotrado de alta potencia de cálculo.
A continuación se pasa a describir en profundidad los esquemas del PC empotrado
realizado para este proyecto siguiendo las especificaciones del apartado 5.1, se partirá del
comentario del sistema en general para pasar después a una descripción más detallada
de cada una de las partes.
5.5.1. Descripción general.
Las principales partes del sistema son: El bloque del microprocesador que incluirá
el procesador Geode GX1 y su chip Geode CS5530, proporcionando al sistema los
principales buses de comunicación (ISA y PCI), la interfaz con la memoria principal y las
entradas (USB) y salidas (CRT) de las que dispondrá el sistema. El bloque con la memoria
contiene tanto la memoria principal del sistema como la FLASH-BIOS encargada del
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
113
arranque del sistema. Otro bloque, el de conectores, se encarga de la alimentación y los
conectores con otros dispositivos. Por último existe un bloque que contiene los relojes
que alimentan a cada uno de los subsistemas.
Esta descripción está plasmada en la hoja 1 de los planos titulada “PC empotrado”.
La descripción de cada uno de los símbolos es la siguiente:
• GX1: Es el bloque comentado anteriormente como bloque de microprocesador.
◦ Contiene: el procesador GX1, el Geode CS5530, el botón de RESET, sus
interconexiones y los componentes discretos necesarios para su correcto
funcionamiento.
◦ Se comunica con los otros bloques con las salidas siguientes:
▫ Bus IDE: contiene todas las señales del interfaz del controlador de
disco duro.
▫ Bus USB: contiene las señales de este bus de comunicaciones serie.
▫ CTR: contiene las señales para la conexión con un monitor VGA.
▫ AUDIO: contiene las señales para la conexión de un codec de audio,
transmitiendo sonido por una conexión serie sincronía.
▫ CLK_14MHZ: señal para conseguir el reloj de 14 MHz necesario para
proporcionar el reloj de video DCLK.
▫ CLK_32KHZ: señal para el funcionamiento de las líneas de control.
▫ RTCCTRL: señales de control para seleccionar el dispositivo RTC
(reloj de tiempo real).
▫ KBROMCS#: señal para seleccionar el controlador de teclado y/o la
ROM, puede utilizarse para la selección de la BIOS.
▫ Bus ISA: Bus de comunicaciones estándar. Incluye su bus de datos,
bus de direcciones y bus de control.
▫ Bus PCI: Bus de comunicaciones estándar. Incluye su bus de datos,
bus de direcciones y bus de control.
• SDRAM_BIOS: es el bloque de memoria.
◦ Contiene tres sub-bloques: los conectores DIMM de SDRAM con sus
componentes discretos para su buen funcionamiento, la FLASH-BIOS y el
sub-bloque de condensadores de desacoplo.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
114
◦ Se comunica con los otros bloques mediante:
▫ Bus MEM_CTRL: bus con las señales de control para la memoria
principal.
▫ Bus MA: bus de direcciones de la memoria principal.
▫ Bus MD: bus de datos de la memoria principal.
▫ Bus ISA: que contiene las señales de control de direcciones ISA y de
datos ISA, para la comunicación con la BIOS.
▫ KBROMCS: señal para la selección de la BIOS.
• Clocks: Es el bloque que contiene la fuente de relojes de todo el sistema.
◦ Contiene los osciladores para los relojes necesarios en el sistema.
◦ Proporciona los relojes de:
▫ Bus PCI.
▫ CLK_14MHZ: señal para conseguir el reloj de 14 MHz necesario para
proporcionar el reloj de video DCLK.
▫ CLK_32KHZ: señal para el funcionamiento de las líneas de control.
▫ Bus USB.
• Conectores: En este último bloque se encuentran los dispositivos que conectan
con el exterior del sistema.
◦ Se divide en 4 sub-bloques: IDE, video, USB y alimentación, con sus
conectores, elementos adicionales para funcionamiento correcto y botón
de encendido.
◦ Se conecta a los buses externos:
▫ Bus ISA.
▫ Bus IDE.
▫ Bus USB.
▫ Bus CRT.
◦ Por otro lado proporciona las señales de alimentación no incluida
explícitamente en cada bloque pero globales a todo el sistema.
Es necesario crear unos buses globales que encierren cada una de las señales,
Estos buses deben ser: bus PCI con las señales del interfaz PCI, bus SYSTEM con las
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
115
señales de control del microcontrolador, bus PIXELGX1 con los buses de las
componentes de video (incluye los buses B[0:5], G[0:5], R[0:5] con las señales RGB de
video digitalizadas), bus PIXELCS5530 como el anterior pero incluye la masa de cada
señal, bus VIDEO_CLOCKS con los relojes necesarios para el funcionamiento correcto del
sistema de video, bus VIDEO_SYNC con las señales de sincronismo de video para
monitores y pantallas planas , bus VIDEO_CTRL con las señales de control del display,
bus MEM_CTRL con las señales para la gestión de la memoria principal, bus ISA con las
señales de esta interfaz (incluye el bus de direcciones ISA, el bus de datos ISA y las
señales de control), bus IDE con las señales del controlador IDE, USB con las señales del
puerto USB, bus AUDIO con las señales necesarias para la comunicación con un codec
de audio (no se utiliza), bus CRT con las señales para el monitor y bus CLOCKS con las
señales de reloj del sistema. Las señales del sistema se describirán en el capítulo 5.5.6.
5.5.2. Bloque microprocesador.
Este bloque es el corazón del sistema, incluye el microcontrolador Geode GX1 y el
chip Geode CS5530 Companion, al elegir estos chips tenemos incluido la mayor parte de
los componentes de un sistema compatible PC AT. Estos chips están diseñados para
trabajar conjuntamente y no es necesario, por tanto, la inclusión de lógica adicional
entre ellos.
La gran ventaja de utilizar dos chips es que el número de pines es muy elevado y
son pocas las señales que comparten conector físico con otras. Esto hace que no sea
necesario utilizar lógica adicional externa para multiplexar y demultiplexar las salidas de
los chips.
Debido a lo explicado anteriormente los componentes externos en este esquema se
reducen a los condensadores de desacoplo, componentes discretos y conmutadores de
configuración.
Este bloque está representado en la hoja 2 de los planos con el nombre de
“Microprocesador y companion chip”.
Como se ve en el plano el Geode GX1 proporciona las señales del interfaz con la
memoria principal que van directamente a la salida del bloque. Hay que mencionar que
las señales SDCLK_IN y SDCLK_OUT deben estar unidas, como se indica en el esquema,
con una conexión de igual longitud a las señales de reloj de los distintos módulos DIMM.
Por otro lado tenemos las señales de control de temperatura y de test que no utilizamos,
dejándolas al aire. Las señales de sistema se conectan directamente al CS5530, que tiene
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
116
los controladores adecuados, la señal de reloj del sistema se saca del reloj del bus PCI y
se selecciona la velocidad del core con los conmutadores conectados a CLKMODE[0:2]
según la siguiente tabla:
CLKMODE[2] CLKMODE[1] CLKMODE[0] Velocidad del core
Off Off Off Modo no permitido Off Off On PCICLK × 10 Off On Off PCICLK × 9 Off On On PCICLK × 5 On Off Off PCICLK × 4 On Off On PCICLK × 6 On On Off PCICLK × 7 On On On PCICLK × 8
Tabla 5.1: Configuración de velocidad del core.
Este chip tiene el controlador PCI, el CS5530 se conecta a este bus, por lo que
todas las salidas del bus PCI del GX1 se conectan al chip CS5530, si se quisiera
incorporar un slot PCI todas las líneas necesarias están disponibles desde estas salidas.
Por último el Geode GX1 tiene las entradas y salidas del controlador de video, estas
señales deben ir también al CS5530.
El otro gran chip de este plano es el chip Geode CS5530, como ya hemos
comentado se conecta al bus PCI del sistema. Proporciona las señales del bus IDE para
disco duro, las señales del puerto USB, las señales del interfaz de audio y el bus ISA, que
van directamente a las salidas del bloque. Las señales del puerto de juegos y de los
registros de propósito general (GPIO) no se utilizan, quedándose al aire. Por otro lado el
CS5530 proporciona la conexión a los distintos monitores para ello recibe del GX1 las
señales de video digital y proporciona salidas directas al monitor. Es necesario para este
cometido montar una pequeña circuitería que alimente a conversor DAC de video y un
filtro de alimentación para la parte analógica, estos dispositivos se deben colocar
físicamente muy cerca de los pines del chip. De este puerto salen las salidas al monitor.
Se ha incluido en este esquema el circuito de reset que permite hacer un reset
hardware del sistema, así como mantener la señal de reset activa un tiempo durante el
encendido.
La última parte de este esquema la forman los condensadores de desacoplo de
ambos chips, para su correcta posición en la placa hay que conectarlos como dice el
fabricante [23].
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
117
5.5.3. Bloque de memoria.
En el bloque de memoria se ha incluido la memoria principal y la Flash-BIOS. La
memoria principal consta de dos módulos DIMM consiguiendo un sistema flexible y
barato aunque se desaproveche un poco de espacio. La memoria Flash-BIOS es muy
común, para simplificar el esquema se ha eliminado la posibilidad de la actualización de
la BIOS sin sacarla de la placa.
En la página 4 de los esquemas se implementa lo explicado anteriormente. Aquí se
encuentran los símbolos de los zócalos DIMM de 168 pines para los módulos de SDRAM,
además de la memoria flash para la BIOS.
• Memoria SDRAM. Para la instalación de memoria SDRAM se ha dispuesto de
dos zócalos DIMM de 168 pines para módulos de dicho tipo de memoria.
Dichos módulos pueden ser típicamente de entre 32 y 128 MB cada uno. Se
puede optar por la instalación de un único módulo o bien de ambos. En los
esquemas se observa que el de arriba tiene la dirección 0x00 y el de abajo la
dirección 0x01, fijadas ambas mediante las resistencias de cero ohmios
conectadas entre VCC o masa y las líneas SA[0:2]. Las líneas de reloj que
alimentan a ambos zócalos deben tener la misma longitud, no es necesario
añadir ningún driver ya que el microprocesador proporciona suficiente
corriente. Mediante el jumper colocado junto al pin REGE se puede elegir el
tipo de módulo DIMM de SDRAM (abierto registered, cerrado buffered).
• Memoria flash para la BIOS. Se trata de la 28F020 (fabricada por ejemplo por
Intel), con una capacidad de 256 KB y velocidad de acceso en lectura de 120
ns. Va alimentada a 5 V y está conectada al bus ISA. Su anchura del bus de
datos es de 8 bits, mientras que el bus de direcciones es de 18 bits. En el
presente diseño se ha inhabilitado la capacidad de programación o escritura de
una nueva BIOS en placa madre colocando 5 V fijos en el pin de tensión de
programación de 12 V (VPP). Todas las señales, de control, direcciones o datos
pertenecen al bus ISA, excepto la señal KBROMCS que se conecta directamente
al microprocesador.
Para todos los módulos y chips se incluyen condensadores de desacoplo entre VCC
y masa.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
118
5.5.4. Bloque de conectores.
El sistema tiene conectores para las entradas/salidas indispensables del sistema.
Están desarrolladas en la hoja 5 de los planos, esta hoja contiene los conectores IDE,
VGA, USB y ATX (alimentación). Veamos la descripción de cada uno de ellos.
• Conector IDE. Las resistencias serie para las líneas de datos son de 33 ohmios
para adaptar impedancias y evitar reflexiones de las señales. Cada una de las
líneas tiene su conexión con el CS5530, hay que señalar que la línea de
interrupción se asocia a una interrupción del bus ISA.
• Conector VGA. Se utiliza un conector VGA estándar de 15 pines. Las
resistencias de 75 ohmios colocadas en las líneas RED, GREEN y BLUE son
para adaptar impedancias y deben estar lo más cerca posible de los pines del
chip Geode CS5530 companion, junto con estas resistencias se encuentran los
condensadores que permiten filtrar la señal.
• Las líneas del conector USB tienen una conexión directa con el CS5530, no
necesitando nada más que la alimentación y masa.
• ATX. Para la alimentación del PC empotrado se dispone de un conector
estándar ATX. La fuente de alimentación proporciona a través de este conector
las tensiones de 5 V y 3.3 V necesarias para el funcionamiento de todos los
chips del sistema. Para la alimentación del core del GX1 se ha utilizado un
conversor DC-DC que proporciona una tensión de 2 V, utilizando para ello el
chip LT1580. Las baterías de condensadores tienen la misión de evitar ruidos
en las alimentaciones que se proporcionan a los chips de la placa. Mediante la
resistencia de 220 ohmios y el condensador de 100 uF conectado a PSON se
lleva a cabo el encendido o apagado del sistema (interruptor de dos posiciones).
5.5.5. Bloque de relojes.
Este último bloque contiene los generadores de relojes indispensables para el
sistema. Aunque hay más señales de reloj en el sistema casi todas son generadas por el
CS5530, para ello parte de 4 señales básicas que se generan mediante botes.
En la hoja 4 de los planos se representan estos botes que generan las siguientes
señales:
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
119
• PCICLK: Es el reloj principal del sistema de donde el microcontrolador saca el
reloj del core. También es utilizado por los dispositivos del bus PCI.
• USBCLK: Es el reloj del puerto serie USB, es necesario generarlo externamente.
• CLK_32KHZ: Es el reloj usado para generar las señales de reset y mantener la
funcionalidad del sistema de gestión de energía.
• CLK_14MHZ: Esta es la señal que utiliza el sistema para generar las señales de
video.
5.5.6. Señales del sistema.
Las señales del sistema más importantes son:
• Independientes (no contenidas en ningún bus):
◦ Señales de alimentación:
▫ VCC: Alimentación de 3.3V.
▫ VCORE: alimentación del core de microprocesador, en estos
esquemas es de 2 V para poder elegir la velocidad del core, es muy
simple cambiar el valor para aplicaciones específicas donde no se
necesita una velocidad del micro de 300 MHz.
▫ +5V: Alimentación de 5 V para los distintos dispositivos.
▫ GND: Masa general del circuito.
▫ AGND: Masa para los componentes analógicos de la parte de video.
◦ Señales varias:
▫ KBROMCS#: Señal para la selección de la memoria FLASH-BIOS.
▫ CLK_32KHZ: Señal de reloj de 32 KHz utilizado para funciones
genéricas de control.
▫ CLK_14MHZ: Señal de reloj de 14 MHz para la producción de los
relojes de video.
• Señales contenidas en el bus MEM_CTRL. Ver [5] y [6]:
◦ BA[0:1]: Selecciona el banco de memoria.
◦ CS[0:3]#: Selección de chip de memoria.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
120
◦ RASA#: Selección de fila del primer slot.
◦ RASB#: Selección de fila del segundo slot.
◦ CASA#: Selección de columna del primer slot.
◦ CASB#: Selección de columna del segundo slot.
◦ WEA#: (Write Enable), modo de acceso en escritura para el primer slot.
◦ WEB#: (Write Enable), modo de acceso en escritura para el segundo slot.
◦ CKEA: Habilitación del reloj para el primer slot.
◦ CKEB: Habilitación del reloj para el segundo slot.
◦ DQM[0:7]: Mascaras para los datos de la RAM.
◦ SDCLK[0:3]: Relojes para los DIMM.
• Bus MA: Contiene las señales de direcciones de memoria.
• Bus MD: Bus de datos de memoria.
• Señales del bus SYSTEM. Ver [5] y [6]:
◦ CPU_RST: Reset del microprocesador.
◦ INTR: interrupción hardware al microprocesador.
◦ SERIALP: Señal de transmisión serie entre CS5530 y GX1.
◦ IRQ13: Petición de interrupción usada para los desbordamientos
aritméticos.
◦ SMI#: Interrupción sensible al nivel para poner al microprocesador en
estado de gestión del sistema.
◦ SUSPA#: Reconocimiento de suspensión.
◦ SUSP#: Petición de suspensión.
• Señales del bus VIDEO_CLOKS:
◦ PCLK: Reloj del puerto de píxeles, se utiliza en las señales R, G y B desde
el GX1 al CS5530.
◦ DCLK: (Dot Clock) reloj de píxel.
◦ VID_CKL: Reloj de video.
• Señales del bus VIDEO_SYNC:
◦ CRT_HSYNC: Sincronismo horizontal para la salida de monitor.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
121
◦ CRT_VSYNC: Sincronismo vertical para la salida de monitor.
◦ FP_HSYNC: Sincronismo horizontal para la salida de pantalla plana.
◦ FP_VSYNC: Sincronismo vertical para la salida de pantalla plana.
• Señales del bus VIDEO_CTRL:
◦ ENA_DISP: Línea activa cuando está disponible la señal de video.
◦ VID_RDY: Indica que la cola de video está lista para la recepción.
◦ VID_VALSYNC: Indica que hay un dato válido de video.
• VID_DATA[0:7]: Datos de video en formato YUV.
• Señales del bus PIXELCS5530:
◦ GND: La señal de masa.
◦ B[0:5]: Señales de azul (esta señal está incluida también en el bus
PIXELGX1).
◦ G[0:5]: Señales de verde (esta señal está incluida también en el bus
PIXELGX1).
◦ R[0:5]: Señales de rojo (esta señal está incluida también en el bus
PIXELGX1).
• Señales del Bus PCI. Ver [8]:
◦ FRAME#: Indica que un dispositivo PCI master va a poner una dirección
válida en el bus de direcciones. La señal no se desactiva hasta que
concluye la última transferencia de datos en el bus por parte del agente
PCI.
◦ TRDY#: Indica que un dispositivo PCI objetivo del iniciador de acceso al
bus está preparado.
◦ IRDY#: Indica que un dispositivo PCI inicia un ciclo de uso del bus.
◦ STOP#: Indica que se ha abortado el uso del bus PCI por parte de un
dispositivo conectado a dicho bus.
◦ DEVSEL#: Indica que se ha seleccionado el dispositivo PCI.
◦ PAR: Señal que indica la paridad par del conjunto de señales AD[0:31] y
CBE[0:3]#.
◦ PERR#: Señal que se activa cuando existe un error de paridad.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
122
◦ SERR#: Se activa cuando se detecta algún error en el bus PCI.
◦ LOCK#: Se activa cuando un agente PCI quiere realizar operaciones en el
bus PCI en exclusiva.
◦ PCICLK#: Señal de reloj del bus PCI, también es usada para producir el
reloj general del sistema.
◦ RESETPCI#: Señal de reset para los dispositivos del bus PCI.
◦ AD[0:31]: Señales de dirección y datos del bus PCI, están multiplexadas,
controladas por las señales FRAME#, TRDY e IRDY.
◦ C/BE[0:3]: Señales de comando y byte habilitado.
◦ REQ[0:2]: Señales de request para el bus PCI, indica al arbitro del bus
quien quiere acceder al bus.
◦ GNT[0:2]: Estas líneas indican a quien ha sido concedido el bus para su
uso.
• Señales del bus ISA. Ver [7]:
◦ SA_LATCH/SA_DIR: Según el modo de funcionamiento del bus (modo
limitado o modo maestro) esta señal indica que la dirección existente ha
es correcta o el sentido de esta dirección (desde o hacia el CS5530).
◦ SA_OE#: Permite a elementos externos el uso de los bits de direcciones
desde 0 hasta el 15.
◦ MASTER#: Indica que un dispositivo MASTER controla el bus ISA.
◦ SA[0:23]: Direcciones ISA.
◦ SD[0:15]: Bus de datos ISA.
◦ SMEMW#: Escritura en la memoria del sistema.
◦ SMEMR#: Lectura en la memoria del sistema.
◦ SBHE#: Indica que se va a transmitir un byte a una dirección impar por
las líneas altas del bus de datos (SD[8:15]).
◦ BALE: Indica que la dirección en el bus de direcciones es correcta.
◦ IOCHRDY: Indica que se necesitan ciclos de espera.
◦ ZEROWS#: Indica que no se necesitan los ciclos de espera.
◦ IOCS16#: Selecciona un dispositivo de entrada/salida.
◦ IOR#: Indica que se pretende leer de un dispositivo de entrada/salida.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
123
◦ IOW#: Indica que se pretende escribir en un dispositivo de entrada/salida.
◦ MEMCS16#: Selecciona un chip de memoria
◦ MEMR#: Indica que se pretende leer de la memoria.
◦ MEMW#: Indica que se pretende escribir en la memoria.
◦ AEN: Indica que hay una transferencia del DMA en progreso.
◦ IRQ[1], IRQ[3:7], IRQ[9:12], IRQ[14:15] e IRQ[8]#: Requerimientos de
interrupción.
◦ DRQ[0:3] y DRQ[5:7]: Se ha concedido el uso del DMA.
◦ DACK[0:3]# y DACK[5:7]#: Se empieza a utilizar el DMA.
◦ TC: Indica que ha terminado la transferencia por medio del DMA.
◦ ISACLK: Reloj del bus ISA.
• Señales del bus CLOCKS TVCLK:
◦ ISACLK: Reloj del bus ISA, esta señal está incluida en el bus ISA.
◦ CLK_14MHZ: Señal de 14.31818 MHz usada para componer el reloj
utilizado en la parte de video.
◦ USBCLK: Señal de reloj para el puerto serie USB, esta señal está incluida
en el bus USB.
◦ CLK_32K: Señal de 32.768 KHz para el control de las señales del sistema.
• Señales del bus IDE. Ver [4]:
◦ IDE_RST#: Señal de reset para los dispositivos IDE.
◦ IDE_ADDR[0:2]: Bits para seleccionar un registro o un puerto de datos en
los dispositivos IDE.
◦ IDE_DATA[0:15]: Bus de datos del interfaz IDE.
◦ IDE_IOR[0]# e IDE_IOR[1]#: Lectura de datos de los canales 0 y 1.
◦ IDE_IOW[0]# e IDE_IOW[1]#: Escritura en los canales 0 y 1.
◦ IDE_CS[0]# e IDE_CS[1]#: Selección de los dispositivos en los canales 0 y
1.
◦ IDE_IORDY[0] e IDE_IORDY[1]: Señales que indican si el dispositivo está
preparado, para canales 0 y 1.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
124
◦ IDE_DREQ[0] e IDE_DREQ[1]: Requerimiento de DMA del canal 0 y del
canal 1.
◦ IDE_DACK[0]# e IDE_DACK[1]#: Reconocimiento del requerimiento
anterior.
• Señales del bus CRT:
◦ HSYNC_OUT: Sincronismo horizontal para el monitor.
◦ VSYNC_OUT: Sincronismo vertical para el monitor.
◦ DDC_SCL: Reloj serie para el canal de datos del monitor.
◦ DDC_SDA: Datos serie del canal de datos del monitor.
◦ IOUTR: Señal analógica de rojo para el monitor.
◦ IOUTG: Señal analógica de verde para el monitor.
◦ IOUTB: Señal analógica de azul para el monitor.
◦ AGNDVIDEO: Masa analógica para el monitor.
• Señales del bus USB:
◦ POWER_EN: Habilita la alimentación a un hub USB autoalimentado.
◦ OVER_CUR#: Indica al hub que se ha detectado un exceso de corriente.
◦ D+_PORT1: Línea positiva de datos del Puerto 1.
◦ D-_PORT1: Línea negativa de datos del Puerto 1.
◦ D+_PORT2: Línea positiva de datos del Puerto 2.
◦ D-_PORT2: Línea negativa de datos del Puerto 2.
◦ USBCLK: Reloj del Puerto USB.
• Señales del bus AUDIO (no usado):
◦ BIT_CLK: Reloj para la comunicación serie con el codec.
◦ SDATA_OUT: Salida de datos serie hacia el codec.
◦ SDATA_IN: Entrada de datos serie desde el codec.
◦ SYNC: Bit de sincronización para la transmisión serie.
◦ PC_BEEP: Salida al altavoz del sistema.
• Señales del bus GPIO_GAMEPORT (no usado):
◦ GPORT_CS#: Selección de chip para el puerto de juegos.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
125
◦ GPCS#: Selección de chip para los registros de propósito general.
◦ GPIO[0:7]: Registros de propósito general.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
126
BIBLIOGRAFÍA. [1] Arquitectura PC empotrado-procesador para aplicaciones industriales.
José Luis Madrid Cobos. Departamento de Señales, Sistemas y
Radiocomunicaciones. Escuela Técnica Superior de Ingenieros de
Telecomunicación. Universidad Politécnica de Madrid. Septiembre 2000.
[2] Design Considerations for the Embedded PC. Eric Auzas. Embedded
Systems Conference West. San José, California, EEUU. Septiembre
1995.
[3] Embedded Microprocessor Systems Design. An Introduction Using the
Intel 80C188EB. Kenneth L. Short. Ed. Prentice Hall. 1998.
[4] The Indispensable PC Hardware Book. Aut. Hans-Peter Messmer. Ed.
Addison-Wesley. Tercera edición, 1997.
[5] 486 System Architecture. Aut. Tom Shanley & Don Anderson. Ed. Mind
Share.
[6] Pentium System Architecture. Aut. Tom Shanley & Don Anderson. Ed.
Mind Share.
[7] ISA System Architecture. Aut. Tom Shanley & Don Anderson. Ed. Mind
Share.
[8] PCI System Architecture. Aut. Tom Shanley & Don Anderson. Ed. Mind
Share.
[9] PCMCIA System Architecture. Aut. Tom Shanley & Don Anderson. Ed.
Mind Share.
[10] CARDBUS System Architecture. Aut. Tom Shanley & Don Anderson.
Ed. Mind Share.
[11] Operating Systems Concepts. Aut. Silberschatz. Ed. John Wiley. Enero
1998.
Carlos Prades del Valle Desarrollo de un PC empotrado con procesado de señal
127
[12] Managing Data in a Embedded System Utilizing Flash Memory. Aut.
Deborah See y otros. Flash Software Development Group, Intel
Corporation. Revisión de documento 1.01. Junio 1995.
[13] Overlaps Between Microcontrollers and DSPs. Aut. Bill Giovino.
Embedded Systems Programming, volumen 13, nº 1. Enero 2000,
páginas 20 a 34.
[14] The Embedded PC. 5 Simple Design Steps. Intel Corporation.
http://www.intel.com/design/platform/embedpc/. Abril de 2000.
[15] Memorias SDRAM. Circuitos rápidos para los microprocesadores. Aut.
Sergio Lorenzi. Mundo Electrónico nº 290, septiembre 1998, páginas 76
a 82.
[16] Portal sobre sistemas empotrados:
http://www.embeddedtechnology.com/
[17] Portal sobre sistemas empotrados: http://www.microcontroller.com/
[18] Portal sobre sistemas empotrados: http://www.embedded.com/
[19] Portal sobre sistemas empotrados, DSPs y sistemas en tiempo real:
http://www.eg3.com/
[20] Sitio de STMicroelectronics: http://eu.st.com/
[21] Sitio de Motorola: http://ebus.mot-sps.com/
[22] Sitio de ZF: http://zfmicro.com/
[23] Sitio de National Semiconductor: http://www.national.com/
[24] Sitio de Fujitsu: http://www.fujitsumicro.com/
[25] Sitio de Transmeta: http://www.transmeta.com/
[26] Sitio de Intel: http://www.intel.com/ y http://developer.intel.com/
[27] Sitio de SMSC: http://www.smsc.com/
[28] Sitio de International Data Corporation: http://www.idc.com/