Tema 1: Introducción a los computadores industriales.

Anuncio
Tema 1: Introducción a los computadores
industriales.
Contenido
PC industriales: características generales ................................................................ 1
Dispositivos integrados en PCs industriales ............................................................. 4
Inicialización del PC y ejecución de programas cargados desde ROM ........................ 5
1.3.1. El sistema BIOS ........................................................................................... 5
1.3.2. Tipos de BIOS.............................................................................................. 5
1.3.3. Funciones del BIOS ..................................................................................... 6
1.3.4. La carga inicial del Software ........................................................................ 6
1.3.5. Inventario de recursos y comprobación del hardware.................................. 7
1.3.6. Inicialización................................................................................................. 8
1.3.7. Carga del Sistema ....................................................................................... 9
1.3.8. El sistema básico de entradas salidas ......................................................... 9
1.3.9. Ejecución de programas desde ROM ........................................................ 10
1.4. Buses específicos para PCs industriales ................................................................. 10
1.4.1. CompactPCI (PCI industrial) ...................................................................... 10
1.4.2. PC 104 ....................................................................................................... 13
1.1.
1.2.
1.3.
1.1. PC industriales: características generales
Las arquitecturas basadas en PC están, por regla general, a la vanguardia de los
avances tecnológicos, lo cual brinda a los diseñadores de sistemas empotrados una
gran gama de soluciones tecnológicas susceptibles de ser incorporadas en sus
desarrollos. Además la gran flexibilidad de la arquitectura PC permite una adaptación a
los problemas específicos a lo que los sistemas empotrados pretenden dar solución. A
pesar de todo, el diseño de sistemas empotrados basados en PC no es una tarea
sencilla.
El diseño de sistemas empotrados está determinado por las características del
hardware y del software impuestas por la aplicación que se quiere resolver. El
hardware puede necesitar ser adaptado para cumplir requerimientos de tamaño, peso y
funcionalidades, al tiempo que para adaptarse a los factores ambientales, como por
ejemplo vibraciones, temperatura, contaminación etc. En cuanto al software, este
puede requerir la adaptación de BIOS (Basic Input Output System) para hardware
específico, o adaptación para sistemas operativos especiales y por supuesto a las
especificaciones de la aplicación.
La arquitectura basada en Intel x86 para sistemas empotrados ha experimentado un
gran crecimiento, ofreciendo una número de ventajas para los diseñadores. Estas
ventajas vienen dadas gracias a la estandarización de la arquitectura PC, a la
existencia de multitud de periféricos y componentes, las altas prestaciones y la riqueza
de características de los nuevos e innovadores componentes. La arquitectura basada
en PC proporciona una serie de estándares que reducen el esfuerzo de rediseño y los
costes. La estructura del hardware basada en bus, proporciona una variedad de
Informática Industrial
Máquinas de propósito general usadas en sistemas empotrados
características que permiten su adaptación a los requisitos de la aplicación. Al tiempo
que lo diseñadores se aprovechan de soluciones incluidas tales como la conectividad
entre dispositivos, el “Plug&Play”, dispositivos comunes y controladores.
Los diseños basados en arquitectura PC son de bajo coste, versátiles y de fácil
accesibilidad. Además la arquitectura PC lidera los avances en entornos de desarrollo
orientados a objetos. Además el uso de tecnología basada en PC permite el desarrollo
de interfaces grafico complejos, muy adaptados a la aplicación final.
Hay algunos factores que incluso en sistemas que no requieren una compatibilidad con
PC, hacen atractivo el uso de esta tecnología, por ejemplo el uso de PC BIOS permite
un testado automático del sistema en la inicialización. La incorporación de este tipo de
software en sistemas que no requieren a priori, ser compatibles con la tecnología PC,
se reduce el tiempo de desarrollo y aumenta la fiabilidad del sistema.
A la hora del diseño de sistemas empotrados hay que tener en cuenta duración de la
vida del sistemas. Hay que tomar decisiones acerca de la calidad de los conectores, del
nivel de integración, de las técnicas de fabricación, el tiempo medio entre fallos del
sistema, todas estas decisiones son tanto más importantes si el tiempo de vida del
sistema oscila entre los 5 y 20 años.
El incorporar componentes compatibles PC en los sistemas no debe hacerse a la
ligera, ya que puede llegar a convertirse en un auténtico quebradero de cabeza para
los diseñadores. Uno de los mayores riesgos que se corre es el uso de componentes
que rápidamente quedan obsoletos. Esto es debido a que el auge del mercado de PCs
domésticos viene determinado por la innovación en los componentes. El tiempo medio
en el que un producto es sustituido por un modelo mejorado es de 6 meses. Mientras
que el tiempo de vida de un sistema empotrado es de varios años.
Veamos algunos puntos importantes a tener en cuenta:
1.1.1. Alta fiabilidad
Los sistemas empotrados ocupan frecuentemente el corazón de sistemas considerados
como críticos, como por ejemplo en sistemas de telecomunicaciones, sistemas de
fabricación o en aplicaciones médicas. Al contrario que los sistemas domésticos,
muchos de los sistemas están muy integrados, o presentan una gran dificultad a la hora
de acceder a ellos, y hace que la sustitución de componentes dañados sea muy
costosa. Por ello este tipo de sistemas requiere la elección de componentes de alta
calidad para poder mantener la fiabilidad de los mismos. En general la elección de los
componentes no debe hacerse teniendo en cuenta solamente el precio, sino también la
calidad de los mismos, y tiempo y dificultada de una potencial sustitución, así como la
importancia del componente en una situación de mal funcionamiento.
1.1.2. Consideraciones de diseño:
a) Interferencias electro-magnéticas (EMI)
Todos los componentes para PCs domésticos pasan un conjunto de pruebas para
asegurar que la emisión de interferencias no afectan la los dispositivos que
comúnmente se usa en los hogares, tales como TV o radio. Pero los requisitos de
emisión son muy bajos, lo que hace que el uso de sistemas basados en PC sea
inviable algunos tipos de entornos tales como en algunas aplicaciones médicas. Lo
que provoca que para este tipo de aplicaciones sea necesario el uso de sistemas de
reducción de ruidos y dispositivos de aislamiento.
ATC-Universidad de Sevilla
2
Informática Industrial
Máquinas de propósito general usadas en sistemas empotrados
b) Temperatura
Las últimas generaciones de PCs necesitan cada vez más potencia, lo que provoca
un mayor calentamiento de los componentes y por lo tanto una mayor necesidad de
disipación del calor, en los PCs domésticos este problema se soluciona con la
incorporación de ventiladores que aseguran el necesario flujo de aire para llevar a
cabo la refrigeración, pero en ciertos casos el tamaño es un requerimiento del
sistema y complican que la solución sea viable.
TECNICAS DE HEAT PIPING: Debido a que las limitaciones de espacio están
generalmente reñidas con las capacidades de refrigeración, hay que llegar a un
compromiso entre el tamaño y los sistemas de refrigeración necesarios para
mantener el sistema en las condiciones de temperatura idóneas para el buen
funcionamiento. Un ejemplo: un Pentium a 133 Mhz puede trabajar hasta con 85º C
sin embargo un Pentium 200 Mhz MMX requiere 45º C.
c) Control de la potencia
El control eficiente de la potencia consumida en los PC domésticos está casi
limitado a los PC portátiles, los elementos que más consumen tales como discos
duros y monitores son desconectados, para ahorrar energía. Estos conceptos
pueden ser extrapolados a los dispositivos que el sistema empotrado controla, tales
como transmisores, receptores, amplificadores etc. El diseñador debe tener en
cuenta cómo se realiza la conmutación entre un modo y otro de trabajo. Además se
debe garantizar que a la hora de que el procesador solicite el uso de dispositivo no
se generen errores por que el dispositivo este en modo ahorro de energía.
1.1.3. Características generales de un PC industrial
Mayor solidez mecánica y eléctrica
Mayor modularidad (más tipos de tarjetas E/S, bastidores industriales,
conectores etc.)
Mayor capacidad para soportar software especifico (respuestas en tiempo real y
preparados para respondes ante soluciones de tiempo crítico)
Mejores protecciones ante ambientes hostiles con alto ruido electromagnético y
condiciones ambientales duras (polvo, temperaturas extremas, variaciones de
tensión bruscas y elevadas, etc.)
Barato Creciente aceptación por la industrial.
1.1.4. Tipos de PCs industriales
Estaciones de trabajo: basados en sistemas operativos específicos (UNIX) con alto
nivel de procesamiento de datos y robustez
Sistemas multiprocesador modulares: múltiples placas de control interconectadas por
sistemas de bus de altas prestaciones.
Sistemas basado en PC tradicionales con características industriales: PC proveniente
del entorno de oficina adaptado al industrial; alternativa más económica para
instalaciones con poco complejidad.
1.1.5. PC industriales frente a PLC
Aunque en un principio estas dos tecnologías podrían parecer antagónicas, lo cierto es
que en la mayoría de los casos, no están destinadas al mismo tipo de aplicaciones,
además lo usual es encontrarlas cooperando para dar solución a un problema. Los PLC
están orientados al control directos de los elementos de la planta (actuadotes,
sensores, motores), ya que tienen mejor resuelto el tema de los interfaces con los
dispositivos específicos. El PC industrial esta orientado a tareas de comunicación con
ATC-Universidad de Sevilla
3
Informática Industrial
Máquinas de propósito general usadas en sistemas empotrados
los PLC para almacenamiento de datos, monitorización y tareas no primordiales, ya
que poseen mayor potencia de cálculo, más fiabilidad de programación y mejor interfaz
con el usuario. El PC industria se ubica en un nivel más alto dentro de la jerarquía de
automatización.
La Tabla 1 muestra una comparativa de ambas tecnologías.
Tabla 1: comparativa PC industrial vs PLC
1.2. Dispositivos integrados en PCs industriales
Además de los elementos habituales en un PC (CPU, RAM, disco duro, puerto serie…)
hay elementos destinados al uso industrial y sistemas de altas prestaciones:
Buses de interconexión internos:
o Habituales: PCI, ISA
o Especiales: VME, Futurebus, SCSI, GPIB (IEEE 488)
Elementos de comunicación externos
o Tarjetas de comunicación a nivel de campo
o Tarjetas de adquisición de datos (E/S digitales y analógicas)
o Comunicación serie (RS-232, RS-485, USB, FireWire)
o Comunicación Ethernet
Sistemas redundantes de almacenamiento de datos
Cajas de protección, teclados, y accesorios reforzados
Sistemas de alimentación robustos
Elementos de visualización: LCD, pantallas táctiles, etc.
ATC-Universidad de Sevilla
4
Informática Industrial
Máquinas de propósito general usadas en sistemas empotrados
La Figura 1 muestra una visión general de los dispositivos que se encuentran en un PC
industrial.
Figura 1: Dispositivos en PC industriales
*************
TRANPARENCIAS DE DISPOSITIVOS *******************
1.3. Inicialización del PC y ejecución de programas cargados desde
ROM
En la tecnología basada en PC la inicialización del sistema la realiza el sistema BIOS.
1.3.1. El sistema BIOS
BIOS es acrónimo de "Basic Input Output System"; literalmente: Sistema básico de
Entradas/Salidas. Se refiere a una pieza de software muy específico grabada en una
memoria no volátil que está presente en todos los PC's y compatibles. Aunque
naturalmente existen antecedentes, en su forma actual es una invención del equipo de
IBM encargado de diseñar el primer PC, y representa uno de los ejemplos más
emblemáticos de firmware
1.3.2. Tipos de BIOS
Normalmente este software viene grabado en un chip de memoria no volátil de solo
lectura ROM (Read Only Memory), situado en la placa base, de ahí el nombre ROM
BIOS. Esto garantiza que no se perderá al apagar el Sistema y que no dependerá para
su actuación de la existencia o buen funcionamiento de ningún disco, por lo que estará
siempre disponible (esto es importante porque, como veremos a continuación, posibilita
el arranque inicial del equipo sin necesitar de ningún recurso externo).
ATC-Universidad de Sevilla
5
Informática Industrial
Máquinas de propósito general usadas en sistemas empotrados
Debido a que el BIOS es usado constantemente en el funcionamiento normal del PC, y
que la memoria RAM es de acceso más rápido que la ROM, muchos fabricantes
disponen que el contenido de la ROM BIOS sea copiado a memoria RAM como parte
del proceso de arranque inicial. Esto se conoce como "Shadowing" y tiene el efecto de
acelerar el rendimiento del sistema. La versión de la BIOS cargada en RAM se
denomina shadow BIOS. Naturalmente esto exige un realineamiento de los vectores de
interrupción, de forma que apunten a las nuevas posiciones en RAM.
Los BIOS más modernos son los denominados PnP BIOS o PnP-aware BIOS, lo que
significa que están previstos para manejar el estándar PnP "Plug and Play" de
Microsoft. Una tecnología que permite a un equipo identificar cualquier dispositivo
hardware que se conecte y asignarle los recursos necesarios sin que existan conflictos
con el resto. Antes de esta tecnología la adición de nuevos dispositivos constituía un
auténtico quebradero de cabeza, dada la escasez de recursos que previeron los
diseñadores del PC (por ejemplo los consabidos conflictos de interrupciones IRQ's [1] y
de direcciones de puertos).
1.3.3. Funciones del BIOS
El sistema BIOS de un PC estándar desempeña en realidad cuatro funciones
independientes:
Proceso de carga inicial del software.
Programa de inventario y comprobación del hardware.
Inicialización de determinados dispositivos hardware, carga de cierto software
básico e inicio del Sistema Operativo.
Servicios de soporte software para determinados dispositivos hardware del
sistema.
1.3.4. La carga inicial del Software
Un hardware sin Sistema Operativo es incapaz de realizar ninguna actividad útil. Pero
entonces surge la pregunta: ¿Como se carga el software después que se ha conectado
el suministro de energía, si no existe ningún programa capaz de hacer nada?
Antes de explicar como resolvieron el problema los diseñadores del PC, permitidme un
poco de historia. Igual que en la actualidad, a los ordenadores de hace unas décadas,
una vez conectados había que cargarles el software. Como después de conectada, en
la máquina no había ningún programa, había que introducirlo manualmente a través de
la consola. En esos tiempos los ordenadores tenían una consola o panel frontal lleno
de lucecitas e interruptores con los que manualmente se podían realizar determinadas
operaciones; básicamente se reducían a poder reiniciar (resetear) los registros,
examinar el contenido de cualquier posición de memoria, y colocar en ella cualquier
dato o instrucción en lenguaje máquina. De esta forma se cargaba manualmente un
pequeñísimo trozo de código, el "bootstrap", que una vez arrancado era capaz de
dirigirse a un dispositivo, por ejemplo un lector de cinta perforada, en la que se iniciaba
la carga de un programa más avanzado; el cargador binario ("Binary loader") que ya
era capaz de aceptar algunas órdenes de consola y cargar a su vez cualquier otro
software.
En los PCs y compatibles actuales, el proceso de carga de un sistema operativo por
ejemplo DOS, Windows o Linux se compone de una serie de pasos que se inician
cuando se conecta o reinicia el ordenador. El proceso comienza siempre en la BIOS, y
salvando algunas pequeñas variaciones que puede haber en función de cada
fabricante de hardware y de la propia BIOS, el desarrollo paso a paso de esta
secuencia es el siguiente:
ATC-Universidad de Sevilla
6
Informática Industrial
Máquinas de propósito general usadas en sistemas empotrados
Cuando se da tensión a la fuente de alimentación, transcurre un cierto tiempo hasta
que desaparecen los transitorios de conexión y se genera una tensión estable y
adecuada para alimentar el sistema. Una vez que la alimentación se estabiliza, genera
una señal Power Good en uno de los cables que va de la fuente de alimentación a la
placa base; esta señal es recibida en el juego de chips instalado en la referida placa, y
a su vez generan una señal de reinicio (reset) al procesador. Esta señal consiste en
que una patilla del procesador es puesta a masa (esta patilla está conectada a una
línea del BUS del PC). La finalidad de este proceso es evitar que el procesador
arranque prematuramente, cuando las tensiones de alimentación no son todavía
correctas, lo que podría producir daños en el hardware. Es el mismo sistema que se
utiliza para un reinicio en caliente cuando pulsa en el botón marcado "Reset" en el
frontal de su PC. Este botón pone a masa la línea del bus conectada a la patilla reset
de procesador.
El procesador arranca cuando se retira la señal de reset, pero no existe en su memoria
ninguna instrucción o dato, por lo que no puede hacer absolutamente nada. Para salvar
el obstáculo, los fabricantes incluyen en la circuitería de la placa base una especie de
instinto. Podríamos establecer un símil diciendo que es análogo al que hace que las
tortugas corran hacia el agua cuando salen del huevo en la playa, solo que en este
caso el sistema se dirige a una dirección fija de memoria FFFF0h. En realidad este
punto de inicio contiene una instrucción de salto (jump) que indica al procesador donde
tiene que dirigirse para encontrar el punto donde comienza realmente el programa de
carga (bootstrap) de la BIOS.
1.3.5. Inventario de recursos y comprobación del hardware
La primera parte del programa de la BIOS inicia un proceso de comprobación del
hardware denominado POST (Power-On Self Test), en caso de existir errores graves,
el programa se detiene emitiendo una serie de pitidos (eventualmente algún mensaje
en pantalla) que codifican el tipo de error encontrado; el desarrollo exacto depende del
fabricante, pero generalmente la secuencia de comprobaciones se resume como sigue:
Chequéo de registros del procesador
Puesta a cero del temporizador 8253/8254 para refresco de RAM.
Puesta a cero del acceso directo a memoria, DMA, para refresco de la RAM en
el canal 0.
Verificar que el refresco es operativo (los primeros PC's usaban RAM dinámica).
Verificar la memoria RAM baja (0/16-64 KB).
Cargar los vectores de interrupción y asignarles espacio en la zona de memoria
baja.
Inicializar los dispositivos de video y teclado.
Determinar el tamaño de la RAM adicional y comprobar su funcionamiento (el
recuento que se ve en pantalla). Si llegado a este punto existiera algún error en
la memoria se mostraría un mensaje de error (el dispositivo de video ya está
operativo).
Inicializar los puertos COM (comunicaciones serie), LPT (comunicaciones
paralelo) y de juegos
Inicializar, en su caso, el sistema de disquete.
Inicializar el sistema de disco.
Explorar el área de usuario de la ROM.
Llamar el interruptor de bootstrap.
La comprobación del dispositivo de video incluye cargar y ejecuta la parte de BIOS
incluida en el adaptador de video. La mayoría de las adaptadoras modernas muestran
ATC-Universidad de Sevilla
7
Informática Industrial
Máquinas de propósito general usadas en sistemas empotrados
en pantalla información sobre sí mismas; es por esta razón por la que, a veces, lo
primero que se ve en pantalla es información sobre la propia controladora de video
antes que ningún mensaje de la BIOS del sistema.
Nota: Si se trata de un reinicio en caliente ("Hot boot"), que puede conseguirse con la
combinación [Ctrl]+[Alt]+[Sup], la fase de comprobación POST se omite, y el proceso
de carga sigue desde el siguiente punto.
A continuación del POST, la BIOS recorre la memoria en busca de la posible existencia
de otros programas en ROM para ver si alguno tiene BIOSes, lo que ocurre por
ejemplo, con los controladores de disco duro IDE/ATA, cuyas BIOS se encuentran en la
dirección C8000h; otros elementos que suelen contar con sus propias BIOSes son las
tarjetas de red y las controladoras SCSI. Estos módulos, y cualquier otro que sea
encontrado, es cargado y ejecutado.
A continuación, el BIOS muestra su pantalla inicial (generalmente con los créditos del
fabricante número de versión y fecha).
Como hemos visto, el BIOS realiza una especie de inventario del sistema y algunas
pruebas para verificar que su funcionamiento es correcto. En los PCs originales la
especificación del hardware disponible se efectuaba mediante interruptores ("Jumpers")
situados en la placa-base. A partir de los ATs se dispone de una memoria permanente,
accesible para el usuario (ROM del Sistema, donde está inventariado el hardware
básico y su tipo. La tendencia actual es el estándar PnP. Si la BIOS lo soporta, es
capaz por sí misma de detectar y configurar los dispositivos conectados, asignándoles
los recursos necesarios y mostrando un mensaje en pantalla por cada uno instalado.
Las BIOS modernas, basándose en el tipo de memoria detectada, pueden establecer
automáticamente su velocidad. Algunas pueden detectar automáticamente los
parámetros del tipo de disco duro y su forma de acceso. Finalmente, la BIOS muestra
en pantalla un resumen de la configuración del sistema.
1.3.6. Inicialización
Parte de la tarea del POST se refiere a la preparación del hardware disponible
(periféricos). Muchos de estos elementos precisan de la inicialización de registros,
carga de parámetros y determinadas señales para ponerlos en orden de
funcionamiento. No olvidar que algunos de ellos, son controladores programables, y
parte del trabajo de la BIOS es justamente este, programarlos.
La inicialización implica también cargar en la memoria RAM ciertas tablas y programas
muy básicos, imprescindibles para el manejo de muy bajo nivel del hardware. Por
ejemplo, la carga en memoria baja de los vectores de interrupción, de forma que
cuando ocurra una interrupción se sepa donde encontrar la rutina adecuada.
La inicialización implica también el área de memoria de datos de la ROM-BIOS, situada
en la zona de direcciones 00400h a 004FFh (256 Bytes). Estas direcciones son
frecuentemente señaladas como 0040:0000 - 0040:00FF.
Nota: Puesto que los programas contenidos en la BIOS requieren cierta área de trabajo
donde almacenar variables y datos, se asignaron para este propósito 256 Bytes en la
zona de memoria situada inmediatamente por encima de la tabla de vectores de
interrupción. En este área se maneja información muy diversa, por ejemplo las últimas
pulsaciones de teclas, capacidad de memoria encontrada, los ciclos de reloj pasados
desde media noche (hora del sistema), el número de líneas y columnas que caben en
la pantalla, o la lista de los dispositivos detectados en la secuencia POST.
ATC-Universidad de Sevilla
8
Informática Industrial
Máquinas de propósito general usadas en sistemas empotrados
1.3.7. Carga del Sistema
Una vez terminadas estas verificaciones previas la BIOS busca un dispositivo donde
encontrar un programa que pueda continuar el proceso con la carga del Sistema
Operativo. Normalmente esta búsqueda se realiza en el disquete A: y el disco C: según
un orden que puede establecerse con unos parámetros que controlan la secuencia de
carga. Las BIOS actuales pueden establecer otros dispositivos alternativos como el
CD-ROM. En caso de no encontrarse ningún dispositivo cargable (o aunque exista una
partición cargable, pero no ha sido declarado activa), se genera un mensaje de error
que puede ser el clásico: "No boot device available", "NO ROM BASIC – System
Halted". La descripción del proceso que sigue sería ya objeto de otro capítulo...
1.3.8. El sistema básico de entradas salidas
Aparte de los procesos de verificación y carga descritos anteriormente, la característica
fundamental del BIOS, que además justifica su nombre de "Sistema Básico de Entrada
Salida", es que en este firmware se encuentran las instrucciones necesarias para
acceder a determinados servicios básicos del hardware (dispositivos de
Entrada/Salida), entre los que se encuentran el teclado, la pantalla, los puertos serie y
los controladores de disco. Estos trozos de código son accedidos a través de las
direcciones contenidas en la tabla de vectores de interrupción. De forma que cualquier
software que se cargue en el ordenador puede saber en que dirección buscar para
encontrar los servicios correspondientes.
En realidad esta es la parte más original y trascendente del diseño del PC y lo que ha
posibilitado la existencia de "Clónicos"; lo que hace que un conjunto de piezas
hardware sean un PC; es también lo que hace que cualquier programa para tecnología
Intel-PC corra en un PC con independencia de como sean realmente las interioridades
de su hardware. Desde este punto de vista, la BIOS representa un elemento unificador
común a todos los PCs; todas estas máquinas presentan al exterior una misma interfaz
(determinada por el BIOS). La filosofía de diseño que utilizaron los diseñadores de IBM
fue, en palabras de "Deje que el BIOS lo haga, no se enrede con el control directo".
Cuando un programa necesita determinados recursos del hardware (lo que en último
término viene a ser una entrada/salida), la BIOS representa una forma unificada de
hacerlo, le pide a la BIOS el “servicio” de una forma estandarizada, de ahí el nombre:
Sistema básico de Entradas/Salidas.
En este sentido, el sistema de Entradas/Salidas del PC es un dispositivo virtual; se le
interroga de una forma estándar y él se encarga de los detalles sucios del hardware.
Cuando se extiende este concepto, incluyendo no solo el sistema básico de E/S sino al
procesador, se llega de forma natural a la máquina virtual de Java. Aunque existen
diversas versiones y fabricantes (la propia historia de la BIOS es muy interesante), su
comportamiento externo está estandarizado. La BIOS es en realidad una caja negra, no
importa como lo hace internamente, lo importante es que al preguntarle de una forma
estandarizada produce el resultado deseado (aquí se llaman "Servicios"). Se han
introducido pocos o ningún cambio básico desde su aparición con el primer PC, todas
las mejoras del software se han aplicado a un nivel superior a esta capa básica, lo que
ha hecho posible entre otras cosas cambiar a de Sistema Operativo DOS, Windows o
Linux (por ejemplo) sin necesidad de cambiar las BIOSes.
ATC-Universidad de Sevilla
9
Informática Industrial
Máquinas de propósito general usadas en sistemas empotrados
1.3.9. Ejecución de programas desde ROM
La ejecución de programas desde ROM se convierte en una necesidad en el momento
en el que el uso de sistemas mecánicos como son los discos duros no es posible,
debido al las condiciones ambientales (tales como vibraciones) o requerimientos de la
aplicación (tales como espacio, consumo, etc), o para aumentar la fiabilidad, ya unos
de los mayores problemas que presentan los disco duro es su alta tasa de fallos, ante
anomalías en el suministros eléctrico.
Para llevar a cabo la labor de almacenar el software que el sistemas debe ejecutar en
un sistema ROM. Tenemos dos alternativas:
La primera de ellas, la más antigua en desuso consiste en usar el sistemas de arranque
del PC. Tal y como hemos visto en la fase de POST del arranque el sistema BIOS
busca desde la posición de memoria C80000 a la F0000 si algún dispositivo necesita
ejecutar código para terminar de realizar la inicialización del mismo. Para saber si en
una determinada posición de memoria existen un código que deba ser usar el BIOS
busca la secuencia 0x55 0xAA, en el caso de que encuentre dicha secuencia ejecuta
las instrucciones que vengan a continuación. El truco esta en usar este mecanismo
para introducir en un ROM nuestro programa y en el momento el BIOS encuentre la
secuencia antes indicada, ejecutara nuestro software, si diseñamos el software para
que nunca se devuelva e control al BIOS, el procesador ejecutara continuamente
nuestro código. El inconveniente de este sistema es que solo sirve para software muy
sencillo, que no necesiten el uso de otros dispositivos ni de los servicios de sistema
operativos.
La opción que actualmente se utiliza es conectar a un IDE un sistema basado en ROM
FLASH, este tipo de memorias conectadas a la controladora IDE se comporta igual que
un disco duro, es decir, tiene una tabla de particiones, y un sistema de ficheros. Si en
esa FLASH ROM se graba previamente un sistema operativo, el BIOS una vez haya
terminado de realizar la inicialización de sistema, carga desde esa ROM el S.O.,
creyendo que lo que esta leyendo es un disco duro. Este forma de hacer la ejecución d
programas es la mas usada hoy en día y permite tener un sistema completo, con todos
los servicios activos.
1.4. Buses específicos para PCs industriales
1.4.1. CompactPCI (PCI industrial)
a) PCI para computadoras industriales
Se trata del bus PCI adaptado a aplicaciones embebidas y/o industriales. Es
compatible electrónicamente con PCI y cuenta con componentes mecanicos y
tecnologias de conexion de estándar industrial. CompactPCI es una especificación
abierta mantenida por la PICMG (PCI Industrial Computer Manufacturers Group),
una asociación de fabricantes de equipos de computo para aplicaciones
industriales, fue fundada en 1994 y actualmente continua creando especificaciones
abiertas que complementen la arquitectura CompactPCI.
ATC-Universidad de Sevilla
10
Informática Industrial
Máquinas de propósito general usadas en sistemas empotrados
Sistema cPCI 3u 8 slots
b) Factor de forma
cPCI fue diseñado bajo el concepto de backplane pasivo. Las tarjetas cPCI están
basadas en el estándar industrial eurocard, en tamaños de 3U y 6U. El 3U es el
tamaño mínimo para cPCI y tiene lo necesario para acomodarse al bus cPCI de 64
bits. La extensión 6U se define para cuando se requiera mas espacio en la placa o
se necesiten mas espacio para conexiones.
El diseño del conector es una de las características más importantes de esta
arquitectura, se numeran J1 – J5 comenzando desde el conector de mas abajo.
La especificación define la localización para todos estos conectores pero la
asignación de señal de los pines solo para J1 y J2.
Su función es la de fijar con firmeza la tarjeta en su base y habilitar la conexión de
alimentación de energía, el sistema de tierras y conducir todas las señales PCI de
32 y 64 bits. El diseño del conector también permite que se pueda utilizar
componentes cPCI en ambientes con grandes interferencias electromagnéticas
Backplanes cPCI
Las tarjetas cuentan con un frente de plata como interfaz y manillares para
insertar / extraer las tarjetas (1 en 3U y 2 en 6U). Estas tarjetas se conectan al
backplane cPCI desde el frente del chasis por medio de conectores basados en
un mecanismo de interconexión pin y socket. Esta conexión se hace en posición
vertical, lo que facilita la circulación de aire, y de esta manera, una disipación de
calor más eficiente.
Los conectores de las tarjetas son muy robustos y con un numero de pins
suficiente para que la unión de la tarjeta con el backplane quede muy apretada y
se eviten falsos contactos cuando el sistema se encuentre sujeto a vibraciones.
ATC-Universidad de Sevilla
11
Informática Industrial
Tarjeta CPU cPCI 6u
Máquinas de propósito general usadas en sistemas empotrados
Tarjeta CPU cPCI 3u
c) Sistemas
Un sistema cPCI esta compuesto de uno o mas segmentos de bus. Cada segmento
esta compuesto de hasta 8 slots para placas cPCI, cada segmento consta de un
System Slot y hasta 7 Peripheral Slots.
El system slot provee arbitraje, distribución de la señal de reloj y funciones de
reseteo para todas las placas en el segmento (peripherals).
d) Implicaciones del software en cPCI
CPCI se basa en la arquitectura PCI, desarrollada por INTEL, ha sido desarrollada
para simplificar la integración del software en un dispositivo. Por ejemplo, todos los
dispositivos PCI o cPCI tienen un conjunto de 256 registros que contienen
información de la identidad del dispositivo, así como una gran cantidad de
parámetros para la programación vía software, como mapas de direcciones, o tipos
y niveles de interrupciones. Por esto, la CPU del sistema puede automáticamente
detectar e identificar un dispositivo en el bus y configurarlo sin la necesidad de
jumpers. PCI es un elemento clave en el concepto “Plug and Play”.
CompactPCI es realmente un bus a nivel de sistema, con configuración (plug and
play) y capas de abstracción de hardware. Esto permite un alto nivel de portabilidad
de software, cosa común en las PC de escritorio, pero no tanto en sistemas
embebidos.
CPCI permite la funcionalidad “Hot Swap”, que hace posible el intercambio de las
tarjetas con el sistema energizado, sin alterar el funcionamiento del mismo. Esto
permite mantener los equipos de misión critica funcionando en caso de que alguna
tarjeta falle y deba ser reemplazada.
Computadoras cPCI pueden correr todos los sistemas operativos portados a un
PC (Windows, VxWorks, OS/2, Linux, etc) La performance de cPCI esta
particularmente diseñada para aplicaciones en tiempo real.
ATC-Universidad de Sevilla
12
Informática Industrial
Máquinas de propósito general usadas en sistemas empotrados
Para terminar, cabe señalar que la arquitectura CompactPCI se mantiene a la
vanguardia de los avances introducidos al mercado de las computadoras, tanto
en capacidad y rendimiento de los procesadores, como en la confiabilidad de los
dispositivos de almacenamiento e interfaces para periféricos.
1.4.2. PC 104
Desde que la arquitectura PC se ha extendido tanto para unos sobremesa como en el
mundo de las aplicaciones industriales, el uso para sistemas empotrados has estado
limitada debido al tamaño de las placa base de los sistemas compatibles PC y sus
tarjetas de expansión.
El Bus PC 104 propone unas especificaciones compactas de las especificaciones ISA,
optimizadas para los requerimientos de los sistemas empotrados. El nombre se debe al
número de pines con los que cuenta el bus (p1 con 64 pines y p2 con 40 pines).
Los requerimientos que el PC 104 satisface son:
Reducción del tamaño de las placas (90 by 96 mm)
Eliminación de los backplanes, sustituidos por un bus auto-apilable.
Minimizando el número de componentes, el consumo de energía (1-2 Watios por
modulo).
Existen dos estándares uno de 8 y otro de 16 bits, que corresponden con los
estándares PC y PC/AT.
a) Especificaciones mecánicas
Cada uno de estos dos tipos de bus puede utilizar a su vez el conector p1 de 64
pines o la versión extendida con p2 de 40 pines. (ver figura)
Conectores PC 104
En un mismo sistema se puede optar por el uso de ambos tipos de conexión, lo
único que hay que tener en cuenta es el orden en el que se colocan los módulos,
debiendo esta en la base los módulos que usan el P1 solamente y en la cima
los que usan el extendido tal y como se muestra en la figura.
ATC-Universidad de Sevilla
13
Informática Industrial
Máquinas de propósito general usadas en sistemas empotrados
Pila de módulos típica.
b) Especificaciones Eléctricas
En la definición de bus existen unas líneas dedicadas para la alimentación, para
relojes, para el control del bus, para las interrupciones etc.
En el estándar se defines los requerimientos de potencia de los módulos, definiendo
claramente los rangos máximos de trabajo de cada modulo, los cuales no se deben
sobrepasar. El consumo total de toda la pila PC 104 es la suma de los consumos de
cada unos de los módulos. La siguiente tabla resume dichos rangos.
Tabla de consumos de los módulos PC 104
******************************** TRANSPARENCIAS *********************************
ATC-Universidad de Sevilla
14
Descargar