PC/104
PC/104 (o PC104) es una familia de estándares informáticos integrados que definen tanto factores de forma como buses informáticos del Consorcio PC/104. Su nombre deriva de los 104 pines del conector entre placas (ISA) en la especificación PC/104 original y se ha conservado en revisiones posteriores, a pesar de los cambios en los conectores. PC/104 está diseñado para entornos especializados donde se requiere un sistema informático pequeño y resistente. El estándar es modular y permite a los consumidores apilar placas de una variedad de fabricantes de COTS para producir un sistema integrado personalizado.
El factor de forma original PC/104 es algo más pequeño que la placa base de una PC de escritorio, con 3.550 × 3.775 pulgadas (90 × 96 mm). A diferencia de otros factores de forma de computadora populares, como ATX, que dependen de una placa base o un backplane, las placas PC/104 se apilan una encima de otra como bloques de construcción. La especificación PC/104 define cuatro orificios de montaje en las esquinas de cada módulo, que permiten sujetar las placas entre sí mediante separadores. Los conectores de bus apilables y el uso de separadores proporcionan un montaje más resistente que las placas ranuradas que se encuentran en las PC de escritorio. El tamaño compacto de la placa contribuye aún más a la robustez del factor de forma al reducir la posibilidad de que la PCB se doble ante golpes y vibraciones.
Un sistema PC/104 típico (comúnmente denominado "stack") incluirá una placa de CPU, una placa de fuente de alimentación y una o más placas periféricas, como un módulo de adquisición de datos y un receptor GPS. o Controlador de LAN inalámbrica. Varios proveedores ofrecen una amplia gama de placas periféricas. Los usuarios pueden diseñar una pila que incorpore placas de múltiples proveedores. La altura total, el peso y el consumo de energía de la pila pueden variar según la cantidad de placas que se utilicen.
A veces se hace referencia al PC/104 como "PC apilable", ya que la mayor parte de la arquitectura deriva de la PC de escritorio. La mayoría de las placas de CPU PC/104 son compatibles con x86 e incluyen interfaces de PC estándar como puertos serie, USB, Ethernet y VGA. Un sistema x86 PC/104 suele ser compatible con un sistema operativo de PC estándar como DOS, Windows o Linux. Sin embargo, también es bastante común utilizar un sistema operativo en tiempo real, como VxWorks.
Historia y estandarización
El bus PC/104 y el factor de forma fueron ideados originalmente por Ampro en 1987 (dirigido por el CTO Rick Lehrbaum) y posteriormente estandarizados por el Consorcio PC/104 en 1992. Se redactó un estándar IEEE correspondiente a PC/104 como IEEE P996.1, pero nunca ratificado. En 1997, el Consorcio PC/104 introdujo un estándar más nuevo basado en el bus PCI. En 2008 se introdujo un estándar basado en PCI Express.
Las especificaciones relacionadas con PC/104 están controladas por el Consorcio PC/104. Actualmente hay 47 miembros del Consorcio. Todas las especificaciones publicadas por el Consorcio están disponibles gratuitamente. No es necesario ser miembro del Consorcio para diseñar y fabricar una placa PC/104.
Especificación | Comunicado inicial | Bus Communication | Versión actual |
---|---|---|---|
PC/104 | 1992 | ISA (AT y XT) | 2.6 |
PC/104-Plus | 1997 | ISA y PCI | |
PCI-104 | 2003 | PCI | 1.1 |
PCI/104-Express y PCIe/104 | 2008 | PCI y PCI Express | 3.0 |
Estructura de autobuses vis-à-vis factor de forma
Las especificaciones publicadas por el Consorcio PC/104 definen múltiples estructuras de bus (ISA, PCI, PCI Express) y factores de forma (104, EBX, EPIC). La estructura del bus define la ubicación y la distribución de pines de los conectores del bus. El factor de forma se refiere al tamaño y la forma del tablero. Es posible encontrar uno de los buses de expansión apilables PC/104 en varios factores de forma diferentes. Si bien la mayoría de los productos disponibles comercialmente que utilizan estructuras de bus cumplirán con los factores de forma que se enumeran a continuación, es posible que un factor de forma no estándar o propietario incorpore una de las estructuras de bus PC/104 para mayor capacidad de expansión.
Tenga en cuenta el término "PC/104" A menudo se usa indistintamente para referirse a la estructura del bus o al factor de forma. Esto puede ser una fuente de confusión. Por ejemplo, una hoja de datos de un producto puede hacer referencia a una placa como "PC/104" por su tamaño y forma cuando en realidad cuenta con un bus de expansión PCI-104.
Estructuras de autobuses
Las especificaciones del Consorcio PC/104 definen una variedad de buses de computadora, todos los cuales derivan de los buses ISA, PCI y PCI Express que se encuentran en una PC de escritorio.
PC/104
El bus PC/104 original deriva del bus ISA. Incluye todas las señales que se encuentran en el bus ISA, con pines de tierra adicionales agregados para garantizar la integridad del bus. La sincronización de la señal y los niveles de voltaje son idénticos a los del bus ISA, con requisitos de corriente más bajos. La especificación PC/104 define dos versiones del bus, de 8 bits o de 16 bits. La versión de 8 bits corresponde al IBM XT y consta de 64 pines. La versión de 16 bits corresponde al IBM AT y añade 40 pines adicionales, con lo que el total asciende a 104 (de ahí el nombre "PC/104"). Las señales marcadas como J1/P1 sólo se encuentran en la versión de 8 bits, mientras que la versión de 16 bits añade las señales de J2/P2.
Dado que PC/104 se basa en el bus ISA, a menudo es necesario configurar la dirección base, IRQ y el canal DMA al instalar una placa periférica. Esto generalmente se logra mediante el uso de puentes o interruptores DIP en la placa periférica. No configurar el periférico correctamente puede provocar un conflicto de recursos y provocar un comportamiento errático.
PC/104-Plus
El estándar PC/104-Plus añade soporte para el bus PCI, además del bus ISA del estándar PC/104. El nombre deriva de su origen: un módulo PC/104-Plus tiene un conector PC/104 (ISA) más un conector PCI. El estándar define un conector de 120 pines para el bus PCI, ubicado en el lado opuesto de la placa al conector PC/104.
Las placas de CPUPC/104-Plus proporcionan comunicación activa en ambos buses y son capaces de comunicarse con tarjetas periféricas ISA y PCI. En los módulos periféricos PC/104-Plus, el conector PC/104 es simplemente un conector pasivo para apilamiento; el módulo se comunica activamente sólo en el bus PCI. Como corolario, un módulo periférico PC/104-Plus no se puede utilizar con una placa CPU PC/104. Sin embargo, se puede utilizar una placa de CPU PC/104-Plus con un módulo periférico PC/104.
Desde PC/104-Plus está basado en PCI, no hay necesidad de establecer un canal Base Address, IRQ o DMA en las tablas periféricas. Sin embargo, es necesario especificar el número de ranura PCI de una tabla periférica cuando se instala. Esto es comúnmente fijado por un interruptor rotativo, interruptor DIP, o saltadores en el tablero periférico. Cada tablero periférico PCI en el sistema debe tener el número de ranura PCI fijado a un valor único. El incumplimiento puede causar comportamiento errático del sistema. El periférico más cercano a la CPU debe establecerse para la primera ranura, la siguiente tabla debe establecerse para la segunda ranura, etc.
PCI-104
El factor de forma PCI-104 incluye el conector PCI, pero no el conector PC/104, para aumentar el espacio disponible en la placa. Aunque el conector PCI tiene 120 pines en lugar de 104, se mantuvo el nombre establecido. La ubicación y la distribución de pines del conector PCI son idénticas a PC/104-Plus.
Dado que se omite el bus ISA, una placa PCI-104 es incompatible con el módulo periférico PC/104. Sin embargo, PCI-104 y PC/104-Plus son compatibles, ya que ambos utilizan el bus PCI. La mayoría de las placas PC/104-Plus se pueden fabricar como PCI-104 simplemente sin ocupar el conector PC/104.
PCI-104 utiliza el mismo esquema de selección de número de ranura PCI que PC/104-Plus. Cada dispositivo debe asignarse a un número de ranura único.
PCI/104-Express
La especificación PCI/104-Express incorpora el bus PCI Express (PCIe) además del bus PCI de la generación anterior. La especificación define un conector de montaje en superficie de 156 pines para las señales PCI Express. El nuevo conector ocupa la misma ubicación en la placa que el conector ISA PC/104 heredado. Además de PCI Express, las especificaciones también definen pines en el conector para buses de computadora modernos adicionales, como USB, SATA y LPC.
La especificación PCI/104-Express define actualmente dos posibles configuraciones de pines para el conector PCIe:
- Tipo 1 4 x1 PCI Enlaces Express, dos puertos USB 2.0 y un enlace PCIe x16.
- Tipo 2 4 x1 PCI Enlaces Express, dos puertos USB 2.0, dos enlaces PCIe x4, dos puertos USB 3.0, dos puertos SATA y LPC.
Las placas y periféricos de CPU pueden diseñarse como Tipo 1, Tipo 2 o Universal (que solo utiliza el subconjunto común de señales entre los dos tipos, PCIe x1 y/o USB 2.0). El pinout Tipo 2 no se introdujo hasta la versión 2.0 de la especificación (lanzada en 2011). Los productos PCI/104-Express introducidos antes de 2011 serán de Tipo 1 o Universal, pero es posible que no estén etiquetados explícitamente como tales. Un bus Tipo 1 es incompatible con periféricos Tipo 2, o viceversa. La especificación requiere que el sistema permanezca en reinicio y no arranque en caso de que el tipo no coincida (no se producirán daños físicos). Las placas periféricas universales se pueden utilizar con pines tipo 1 o tipo 2.
Debido a que el conector de bus PCIe es de montaje en superficie, no de orificio pasante, también es posible que una placa use diferentes pines de bus en la parte superior de la placa y en la parte inferior. Por ejemplo, una placa de CPU puede tener un conector PCIe inferior de tipo 1 y un conector PCIe superior de tipo 2. Una placa de CPU de este tipo sería compatible con periféricos de Tipo 1 y/o Universal en la parte inferior, y compatible con periféricos de Tipo 2 y/o Universal en la parte superior.
Al igual que PC/104-Plus, las placas de CPU PCI/104-Express proporcionarán comunicación activa en los buses PCI y PCIe. Se puede utilizar una placa de CPU PC/104-Express con módulos periféricos PCI-104 y PC/104-Plus. Sin embargo, un módulo periférico PCI/104-Express se comunicará únicamente en el bus PCIe; el conector PCI es simplemente un conector de paso para apilamiento. No se puede utilizar un módulo periférico PC/104-Express con una placa de CPU PCI-104 o PC/104-Plus (a menos que se utilice un dispositivo puente ISA).
PCI/104-Express incorpora desplazamiento de enlace, lo que elimina la necesidad de los interruptores/puentes de selección de ranura PCI que se encuentran en los periféricos PCI-104 y PC/104-Plus. Algunas placas periféricas vuelven a llenar los enlaces PCIe, lo que permite que la pila tenga placas periféricas adicionales además del conjunto inicial de enlaces PCI Express proporcionados por la placa CPU. La repoblación de enlaces no es un requisito en la especificación y debe implementarse en la placa periférica con un conmutador de paquetes PCI Express.
PCIe/104
PCIe/104 es similar al estándar PCI/104-Express, pero omite el bus PCI heredado para aumentar el espacio disponible en la placa (similar a la relación entre PC/104-Plus y PCI -104). La ubicación del conector PCI Express y las opciones de configuración de pines son las mismas que las de PCI/104-Express (tanto Tipo 1 como Tipo 2). Debido a que se omite el conector de bus PCI, una placa PCIe/104 es incompatible con los sistemas PC/104-Plus y PCI-104 (a menos que se utilice un dispositivo puente PCIe a PCI).
Factores de forma
Las especificaciones del Consorcio PC/104 cubren tres factores de forma que definen el tamaño y la forma de la placa. Cada factor de forma puede utilizar una de las estructuras de bus enumeradas anteriormente.
104 o PC/104
El factor de forma 104 se define como 3,550 × 3,775 pulgadas (90 × 96 mm), con orificios de montaje en las cuatro esquinas de la placa. Las especificaciones también permiten un área de 0,5 pulgadas (13 mm) más allá del borde de la PCB para los conectores de E/S. Algunos productos PC/104 tienen PCB de gran tamaño que se extienden hasta el área del conector de E/S. Las "alas" de PCB extendidas; no se aborda en la especificación, generalmente no causa problemas mecánicos siempre que el saliente general del PCB + conector de E/S esté dentro de las dimensiones máximas permitidas de 4,550 × 4,393 pulgadas (116 × 112 mm).
Las dimensiones se definieron originalmente en la especificación PC/104 y, como resultado, el factor de forma todavía se conoce comúnmente como "PC/104". Las especificaciones PCI/104-Express y PCIe/104 introdujeron la especificación "104" nombre para distinguir el factor de forma del bus PC/104 heredado.
EBX y EBX Express
EBX (placa integrada expandible) es un factor de forma de computadora de placa única, de 5,75 × 8 pulgadas (146 × 203 mm). El factor de forma EBX se aplica a la placa de CPU, pero admite placas periféricas de factor de forma PC/104 para expansión. Las especificaciones EBX originales permitían los buses PC/104, PC/104-Plus y PCI-104. EBX Express agrega los buses PCI-104/Express y PCIe/104.
EPIC y EPIC Express
EPIC (Plataforma integrada para informática industrial) es un factor de forma de computadora de placa única que, al igual que EBX, admite placas periféricas PC/104 pero es más pequeño que EBX con 6,5 × 4,5 pulgadas (165 × 114 mm). Permite implementar conexiones de E/S como cabezales de pines o conectores estilo PC (mundo real). El estándar proporciona zonas de E/S específicas para implementar funciones como Ethernet, puertos seriales, E/S digitales y analógicas, video, inalámbricas y varias interfaces específicas de aplicaciones. EPIC Express agrega capacidad de expansión PCI Express.
Límites de apilamiento
En general, cada pila PC/104 contendrá una placa de CPU, una placa de fuente de alimentación y una o más placas de periféricos. El número máximo de placas admitidas por una pila PC/104 dependerá de los buses que utilicen las placas periféricas.
- ISA Bus - No hay límite estricto al número de tableros ISA que pueden coexistir en un sistema. Sin embargo, hay un número limitado de direcciones de base, IRQs y canales DMA que pueden convertirse en un factor limitante. Las tablas ISA pueden ser apiladas en cualquiera de los lados de la tabla de CPU.
- PCI Bus - El PC/104-Plus y las especificaciones PCI-104 permiten cuatro "slots" PCI. Esto impone un límite difícil de cuatro tablas periféricas PCI por sistema. Todos los módulos periféricos PCI deben conectarse consecutivamente en un lado del controlador debido a los requisitos de señalización del bus PCI.
- PCI Express - El número total de tableros periféricos PCI Express dependerá del número de enlaces PCIe proporcionados por el tablero de CPU. Por ejemplo, si el tablero CPU proporciona cuatro enlaces PCIe x1, entonces se puede instalar un máximo de cuatro tarjetas periféricas PCIe. Si una o más de las tablas periféricas proporcionan repoblación de enlaces PCIe, se pueden instalar módulos adicionales. Los enlaces PCIe en el lado superior de la tabla CPU son independientes de los enlaces en el lado inferior. Instalar un periférico PCIe bajo el tablero de CPU no consumirá uno de los enlaces laterales superiores. La cantidad y la anchura de los enlaces PCIe disponibles pueden variar entre los conectores superior e inferior de la tabla CPU.
- USB y SATA - La especificación PCI/104-Express y PCIe/104 proporciona señales para USB y SATA, que pueden ser utilizadas por tableros periféricos en la pila. Los periféricos que utilizan USB y SATA se limitarán al número de enlaces proporcionados por el tablero de CPU. Los periféricos USB pueden proporcionar la repoblación de enlaces incorporando un concentrador USB a bordo.
Independientemente de los buses utilizados, el número máximo de placas de una pila PC/104 puede estar limitado debido al tamaño, peso y restricciones de energía para la aplicación de destino.
Interferencia mecánica entre placas
Al apilar placas PC/104 juntas, la interferencia mecánica entre placas adyacentes es una preocupación.
- Conectores de autobuses - Al montar un sistema compuesto por múltiples estructuras de autobuses, es posible que los conectores de autobús interfirieran con componentes en un tablero adyacente. Por ejemplo, si un PC/104-Plus El tablero está apilado en la parte superior de una placa PC/104, es posible que los pines en la parte inferior del conector PCI se ejecuten en componentes en la tabla inferior.
- Out of Spec Components and Connectors - Las especificaciones PC/104 limitan la altura de los componentes y conectores que pueden colocarse en ambos lados del tablero. Una región de altura limitada está destinada a garantizar que las tablas no interfieran con otros vecinos apilados arriba o abajo. Sin embargo, no es raro encontrar tablas que violen estas limitaciones.
- Heatsinks - El espaciamiento estándar entre tablas apiladas PC/104 es de 0.600 pulgadas (15.24 mm). Los componentes con un consumo de energía significativo (CPU, GPUs, FPGAs) a menudo requieren un disipador de calor más grande que no encaja dentro del espaciamiento tradicional de la tabla. No es raro encontrar tablas PC/104 CPU con disipadores de calor relativamente grandes que no permiten que las tablas periféricas se apilen sobre él. Las revisiones posteriores de la especificación PCI/104-Express y PCIe/104 presentaron un conector opcional más alto 0.866 pulgadas (22.00 mm) compatible con el conector tradicional de altura.
Los problemas de interferencia mecánica enumerados anteriormente a menudo se pueden solucionar con un espaciador de bus, que deja espacio adicional entre las placas. Sin embargo, los Bus Spacers aumentan la altura total de la pila y pueden no ser adecuados para aplicaciones con espacio limitado. También es posible reorganizar las placas en la pila para eliminar la interferencia. Otra opción es modificar las placas infractoras para eliminar la interferencia (por ejemplo, despoblar un conector), pero esto puede requerir que el proveedor proporcione una versión personalizada de la placa.
Posibles problemas de compatibilidad
En teoría, las placas PC/104 son interoperables. Es posible ensamblar un sistema utilizando placas de varios proveedores diferentes, sujeto a los problemas fundamentales de compatibilidad de la estructura del bus enumerados anteriormente. Sin embargo, a veces aparecen problemas de compatibilidad.
- PC/104 Keying Pins – la especificación PC/104 define dos pines de llave para evitar la desalineación del conector. Estos pines no deben ser poblados en el conector. Sin embargo, algunos proveedores no utilizan conectores PC/104 con llave. Puede causar problemas al usar tablas de múltiples proveedores. A menudo es posible modificar la tabla no condimentada cortando los pines ofensivos.
- Voltajes de alimentación requeridos – los autobuses PC/104 proporcionan varios voltajes de suministro (+5V, +3.3V, +12V, etc.). Que voltajes son realmente utilizados por un tablero es a la discreción del fabricante de la tabla. Debe tomarse cuidado para suministrar todos los voltajes necesarios para las tablas en la pila.
- Sumario de suministro de energía – algunas tablas proporcionarán energía en la pila (por ejemplo, una tabla de CPU). Esto puede entrar en conflicto con una fuente de alimentación en la pila.
- PCI Niveles de señalización – el autobús PCI puede operar en +3.3V o +5V niveles de señalización. Algunas tablas pueden esperar un voltaje, otros pueden esperar un voltaje diferente.
- PCI VIO Línea – la señal VIO en el autobús PCI se supone que debe ser conducida por la junta CPU. Sin embargo, algunas tablas periféricas y fuentes de energía impulsan esta señal (en violación de la especificación PCI).
- ISA Autobús con chipsets modernos – el autobús ISA legado ha sido omitido de chipsets modernos. Los nuevos tableros CPU que proporcionan un autobús ISA a menudo lo hacen utilizando un chip de puente ISA (ya sea PCI-to-ISA o LPC-to-ISA). En algunos casos, el autobús ISA no se implementa completamente, y pueden aparecer problemas de compatibilidad.
- 4 Maestros de Autobús – el PC/104-Plus y las especificaciones PCI-104 no permitieron originalmente 4 juegos de Grant/Request pares en el bus PCI. Esto se resolvió en nuevas revisiones de la especificación. Sin embargo, las tablas más antiguas pueden tener problemas utilizando DMA en la tercera o cuarta posición de ranura PCI.
Desarrollo de software
La mayoría de las placas de CPU PC/104 son compatibles con x86 y son capaces de ejecutar software de PC disponible comercialmente sin modificaciones. Las interfaces de E/S de PC estándar de un sistema PC/104 (puertos serie, USB, Ethernet, VGA, etc.) normalmente se admiten a través de controladores nativos integrados en el sistema operativo. Ciertas placas periféricas, como las de adquisición de datos, pueden requerir controladores especiales del fabricante de la placa.
Desde una perspectiva de desarrollo de software, hay poca diferencia entre compilar software para una PC de escritorio o compilar para una pila x86 PC/104. El software se puede desarrollar utilizando compiladores x86 estándar (por ejemplo, Visual Studio si el sistema PC/104 ejecuta Windows). Por lo general, no se necesitan herramientas de desarrollo especializadas, como compiladores cruzados, paquetes de soporte de placa o depuradores JTAG. Esta es una diferencia significativa con respecto a las plataformas de sistemas integrados que no son x86, que a menudo requieren una cadena de herramientas de desarrollo por parte del fabricante de la placa.
Las placas de CPU PC/104 que no son x86 basadas en ARM o PowerPC también están disponibles comercialmente. Sin embargo, estas placas no son capaces de ejecutar software de PC disponible en el mercado. En estos casos, el fabricante suele proporcionar un paquete de soporte de placa para los sistemas operativos compatibles.
Variaciones ortográficas y abreviaturas
Al imprimir "PC/104" o sus variantes, es común que se omitan la barra diagonal o los guiones. PC/104 puede abreviarse como PC104, PCI-104 abreviarse como PCI104, etc. Además, es común que PC/104-Plus se abrevie con un signo más (por ejemplo, PC104+). Estas abreviaturas no están reconocidas oficialmente en ninguna especificación o literatura del Consorcio PC/104, sin embargo, se han utilizado durante algún tiempo.
Almacenamiento
Los sistemas PC/104 a menudo requieren almacenamiento pequeño y no volátil, como el que ofrecen los dispositivos flash compactos y discos de estado sólido (SSD). Suelen ser más populares que los discos duros mecánicos (rotativos). En comparación con los discos giratorios, los dispositivos de almacenamiento basados en flash tienen una vida útil limitada en términos de ciclos de escritura, pero son más rápidos y consumen menos energía. Además, su tamaño compacto y durabilidad física suelen ser más adecuados para aplicaciones PC/104 resistentes; El tamaño de los discos duros magnéticos puede ser engorroso y sus numerosas piezas delicadas son más susceptibles a fallar en entornos hostiles.
Contenido relacionado
Tarjeta perforada
CPython
Arquitectura Harvard