Archivo de la Categoría “PCs industriales”
Hace ya unos meses puse unos post referentes a las tecnologías ETX y XTX. Hoy voy a poner un breve post referente a otra tecnología la llamada COM Express, pues últimanente veo muchas aplicaciones industriales que se decantan por utilizar esta tecnología al utilizar un PC industrial.
COM Express en un standard de PICMG (un consorcio formado por unas 450 empresas). COM Express significa Computer-On-Module, es decir, un PC en módulo.
¿Un PC en módulo? ¿Es muy pequeño?
Pues sí. COM Express podemos encontrarlo en tres factores de forma. El llamado Compact, el Básico y el Extendido. Ambos tienen distintos tamaños, siendo el Compact el que tiene un tamaño inferior con unas dimensiones increiblemente pequeñas de 95×95 mm. Evidentemente al ser tan pequeño no soporta procesadores tan potentes (por consumo y tamaño) como los que puede soportar el modelo extendido (también de reducidas dimensiones pero no tanto).
¿Y qué buses soporta?
Bueno, los módulos COM Express disponen de un total de 440 pines, que son con los que se conectarán a la placa base donde los insertemos. Esta tecnología elimina por completo interfaces antiguos, como son los floppy (ya era hora ), los teclados y ratones ps2, los puertos LTP (donde poníamos las impresoras antiguas) y los puertos RS232. Si queremos alguno de estos buses de antaño deberemos implementar la electrónica necesaria en la placa base que diseñemos para este módulo COM Express.
Por contra, este modelo de PC industrial tiene multitud de buses de última generación, como son buses PCI Express, PEG (PCI Express Graphics), SDVO, IDE, PCI, SATA, USB, I2C, LPC. También disponen de Ethernet 100/1000, audio AC97, de salida de vídeo VGA, LVDS y TVOut y de 8 E/S de propósito general que podemos utilizar en nuestras aplicaciones.
Aquí tenéis un gráfico donde se puede ver perfectamente los distintos factores de forma y los conectores y buses que puedes tener en un COM Express:
Lee el resto de esta entrada »
2 Comentarios »
Normalmente cuando elegimos un PC nos fijamos sobre todo en qué procesador lleva, que si un Celeron 1.8Ghz, que si un CoreDuo, … pero no siempre damos la importancia que merece al chipset de la placa. Esto para un PC de uso doméstico tal vez no tiene demasiada trascendencia, pero no es así cuando se está eligiendo un modelo de PC industrial para realizar una aplicación específica, ahí el chipset se tiene muy en cuenta.
Parece interesante, ¿pero qué es el chipset? ¿para qué sirve?
Pues como su propio nombre indica, chipset, es un “conjunto de chips”. Estos chips se encuentan siempre soldados en placa. Son fáciles de distinguir en una placa, pues son bastante voluminosos.
Los chipset se encargan de determinadas tareas, como es la de gestionar la comunicación del procesador con la memoria (con lo que en funciòn del chipset podremos controlar más o menos cantidad memoria, un tipo u otro de memoria, es decir, si es DDR y/o DDR2, el tiempo de refresco, el número de buses en paralelo, etc). También el chipset se encarga de gestionar los puertos de E/S, como el bus ISA, el bus PCI, el bus AGP, el bus PCIExpress, controlar los buses USB (USB1.1 o USB2.0), por ejemplo el número de discos y el tipo de bus usado con ellos (es decir, si la comunicación será bus IDE, bus SATA … ) también controlará la función RAID de los discos (sistemas de seguridad redundante) y marcará también las prestaciones disponibles de capacidad gráfica.
Lee el resto de esta entrada »
11 Comentarios »
Vamos a hablar un poquito del sistema operativo Windows CE, un sistema operativo en tiempo real (a diferencia de su homólogo ucLinux) de 32 bits diseñado para operar en dispositivos con mayores limitaciones que un PC convencional de sobremesa.
Windows CE es un sistema operativo bastante utilizado en procesadores embebidos (como pueden ser los módulos de Digi) y es por eso por lo que vamos a hablar un poco sobre él y sobre la evolución que ha tenido desde la versión Windows CE 1.0, nacida hace ya más de una década, hasta la última versión Windows CE 6.0 que apareció hace pocos meses.
Windows CE no nació en 1994 con ese nombre, sino con el nombre de “proyecto Pulsar”, el cual al final acabó convirtiéndose en este conocido Sistema Operativo.
Veamos un poquito de historia acerca de las distintas versiones de Microsoft Windows CE:
Windows CE 1.0.
Código fuente fue escrito desde cero y fue lanzado comercialmente en el año 1996.
Parcialmente compatible con el Windows tradicional pues soporta una parte de la famosa API Win32.
Independiente del hardware pues es compatible con las arquitecturas más comunes de de 32 bits.
Windows CE 2.0
Basado en la versión predecesora 1.0 vió la luz en 1997.
Se añadió soporte para procesadores Intel y AMD
Soporta pantallas con resolución de 24 bits
Conexión de red LAN
Soporte de tecnología ActiveX
Incorpora la máquina virtual java.
Soporte parcial MFC (Microsoft Foundatin Classes, una librería de clases en C++ para programación bajo Windows, incluida en MS. Visual C++)
Conectividad USB e infrarrojos
Soporte FAT e impresión
Windows CE 3.0
Esta versión salió al mercado en el año 2000 con el fin de comperir con el sistema operativo de PALM.
Incorporación de las interrupciones con prioridades.
Mayor eficiencia en la gestión de threats y en las comunicaciones entre procesos
Mayor capacidad de almacenamiento.
Es la base del sistema operativo PocketPC 2002, que se podía encontrar entonces en algunas PDA y teléfonos.
Windows CE 4.0
Esta nueva versión del sistema operativo apareció en Marzo del año 2002
Sistema operativo mucho más robusto y eficiente a nivel pultiproceso que la anterior versión.
Mayor grado de comunicación y sincronización con el sistema Windows tradicional.
De el nació en Junio del 2003 la conocida versión Windows Mobile 2003. Prácticamente fue un cambio de nombre y unas aplicaciones añadidas.
Windows CE 5.0
Penúltima versión de este sistema operativo lanzado en Mayo del año 2005.
Mejora del software ofimático y multimedia.
Mejoras en el stack bluetooth
De él nacio la versión Windows Mobile 5.0 disponible en multitud de teléfonos móviles y PDAs.
Windows CE 6.0
Última versión de este sistema operativo lanzado a principios de este año.
Un 30% superior en prestaciones a su predecesor Windows CE 5.0
Es posible acceder mediante API a un I/O en un ciclo de 100us
Los mayores cambios se encuentran en el Kernel.
La arquitectura del sistema operativo ha sido completamente revisada.
Cada proceso es capaz de direccionar 2GB (antes 32Mb)
El nº de procesos simultáneos han aumentado de 32 a 32.000
Espero que alguna vez pueda resultaros de utilidad esta breve historia sobre la evolución de Windows CE
1 Comentario »
Hace poco más de una década Intel desarrolló el bus PCI y fue adoptado por la industria como un estandard dirigido por el grupo PCI SIG (PCI Special Interest Group). Este bus nació con el objetivo de superar las limitaciones de velocidad que tenían los ordenadores de la época con el bus ISA. Acordémonos de los ordenadores de entonces que sólo tenían este tipo de BUS. Poco a poco los equipos cada vez tuvieron menos buses ISA, hasta llegar a la actualidad, en que es casi imposible (por lo menos en los ordenadores convencionales de sobremesa) encontrar equipos con este tipo de bus.
El bus PCI, de 32 ó 64 bits con una frecuencia de bus de 33 ó 64MHz consiguiendo velocidades de datos de entre 132 y 512 MB/seg, desbancó por completo al bus ISA. Sin embargo a día de hoy esa velocidad resulta insuficiente para muchas aplicaciones y por ello Intel ha diseñado el nuevo estandard PCI Express, que como en su día el PCI, se está imponiendo poco a poco.
La arquitectura en este caso es diferente. Si bien con PCI el bus se comparte por el conjunto de tarjetas y dispositivos a él conectado, en este caso lo que se comparte es un switch. Es decir, antes cada dispositivo PCI colgaba del bus. Con PCI Express eso deja de ser así y todos estos dispositivos cuelgan de un switch. Esta es la característica más importante de PCI Express. El hecho de dejar de compatir el bus y realizar conexiones punto a punto entre los dispositivos PCI Express y el switch evita tener que dividir el ancho de banda disponible entre los distintos dispositivos, como ocurre con dispositivos PCI. En este caso es el switch el encargado de routear toda la información de un dispositivo PCIe a otro con lo que se garantiza el ancho de banda máximo para cada dispositivo.

La comunicación de los dispositivos PCI Express se realiza a través de Líneas. Cada Línea la forman un conjunto de 4 señales. Dos señales RX y otras dos TX. Esto es porque se utiliza un sistema diferencial. La comunicación es full duplex. Una de las características más importantes de PCI Express es que pueden agruparse líneas con el fin de aumentar el ancho de banda. Por ejemplo, veamos el siguiente dibujo:

En el ejemplo, tenemos un LINK (nombre que decibe la conexión de un dispositivo PCI Express con el switch) x4, es decir, los dispositivos PCIe del ejemplo se comunican a través de un LINK formado por 4 Líneas. De esta manera es posible incrementar el ancho de banda de la comunicación, consiguiendo velocidades extraordinariamente altas. Cada línea tiene un ancho de banda de 250MBytes/seg. Pueden unirse hasta 32 líneas, por lo que la velocidad máxima que se puede conseguir con un dispositivo PCIExpress es de 250×32 = 8GBytes/seg. Como véis con estas velocidades PCI Express va a permitir reemplazar no sólo a los buses PCI, sino también al resto de buses, como el bus AGP.
Las líneas pueden agruparse en el formato x1, x2, x4, x8, x16 y x32, aunque las agrupaciones más comunes de líneas (las que suelen tener los ordenadores de hoy en día) son: de x1, x4, x8 y x16.
Otras características de PCIExpress son que mantiene la compatibilidad en software con PCI (aunque no en hardware, obviamente), se permite la conexión en caliente y además dispone de gestión integrada de errores e implementa funcionalidades de ahorro energético, aunque para para poder utilizar estas nuevas características es preciso que el Sistema Operativo sea capaz de hacerlo.
En la foto de la placa base que os he puesto salen tres buses PCI estandard. Veremos con toda seguridad con el tiempo como se va reduciendo este número hasta llegar a desaparecer por completo, tal y como ocurrió con el ya obsoleto bus ISA.
Espero que os haya gustado.
No Hay Comentarios »
Ayer Sábado hablaba de la tecnología ETX para PCs industriales. En el post de hoy voy a hablar de la evolución de ETX, que es XTX (eXtended Technology for ETX).
XTX es una evolución del muy conocido y usado estandard ETX, al cual se le añaden toda una serie de nuevas tecnologías de Entradas/Salidas. A día de hoy el bus ISA apenas se usa, es una tecnología podríamos decir ya obsoleta (posiblemente la mayoria de los lectores de este blog no tengan ya ninguna tarjeta ISA instalada en su PC, y si no es así, deberías ir pensando en cambiar de PC … ). Si dáis un vistazo al post anterior podréis ver que en el conector X2 estaban todas las señales E/S del bus ISA. Pues bien, con XTX este conector X2 cambia de función. De esta manera se han podido añadir un gran número de buses de alta velocidad, como pueden ser los buses PCIExpress y Serial ATA (abajo tenéis las definiciones de qué son estos buses).

El resto de conectores, X1, X3 y X4 que comenté ayer se mantienen invariables, es decir, cumplen el estandard ETX (Rev 2.7) y por tanto son compatibles con la tecnología anterior ETX. De hecho si algún día queremos utilizar un módulo XTX en lugar de un ETX nos servirá la placa base que ya tengamos diseñada. Eso sí, siempre que no utilicemos (lo más normal) el bus ISA, que como decía, ya no existe en XTX.
Si se está utilizando un PC embebido ETX y estamos usando el BUS ISA y queremos evolucionar a XTX tenemos dos opciones. Una, utilizar un bridge PCI-ISA que tendríamos que incluir en el diseño de nuestra placa base (donde insertaremos el módulo embebido XTX). La otra opción (si la anterior es muy cara de implementar por implicar rediseño) puede ser utilizar el bus LPC (Low Pin Count) que corresponde aproximadamente a un bus ISA serializado.
¿Pero qué nuevos buses tenemos en el conector X2?
Pues tenemos buses PCIExpress, ExpressCard, Serial ATA, USB, Interfaz de Audio digital y un bus LPC.
Veamos ahora en qué consisten estos buses.
PCI Express.
XTX dispone de 4 líneas para PCI Express. Estas líneas que pueden configurarse como 4×1, 2×2, 1×4 permiten conectar hasta 4 dispositivos externos. El ancho de banda de cada una de estas líneas es de 2.5Gbps. Con estas 4 líneas PCI Express pueden utilizarse dispositivos periféricos que requieran de un gran ancho de banda, como puede ser un dispositivo Gigabyte Ethernet.
Serial ATA.
XTX ofrece 4 buses Serial ATA. Serial ATA es una evolución del bus ATA paralelo, el cual mejora en velocidad. Serial ATA tiene una velocidad de 150 MBytes/seg y puede ser aumentada hasta 600Mbytes/seg para futuros desarrollos. Serial ATA es completamente compatible a nivel de software con parallel ATA.
ExpressCard.
XTX soporta hasta dos expressCard, que es el sucesor de PCMCIA, con un menor tamaño.
Bus LPC.
Este bus, como comentaba antes, se suministra como substituto al bus ISA, pues corresponde aproximadamente a un bus ISA serializado pero con un número muy reducido de señales.
Bus USB.
XTX ofrece dos buses USB 2.0 adicionales, lo que permite el poder conectar hasta 6 dispositivos USB 2.0 a nuestro equipo.
Interfaz digital de audio.
Además de el soporte para audio estandard (Line-in, Line-out, Mic) XTX ofrece las siguientes características: Audio DVD, Capacidad multistreaming, VoIP para telefonía, Dolby 5.1/6.1/1.1, etc …
Si necesitáis más información sobre XTX, podéis visitar www.xtx-standard.org o leer directamente el PDF del estandard XTX en el siguiente link.
Espero que os haya resultado de interés 
No Hay Comentarios »
Voy a iniciar una serie de posts para hablar de los PCs industriales. Cada vez son más los ingenieros que utilizan este típo de módulos para sus diseños, especialmente en el sector de los videojuegos, recreativos, control de maquinaria industrial, etc etc, es decir, en aquellas aplicaciones en las que sea preciso desarrollar software bajo plataformas con alta capacidad de procesado, ya sea matemático, de audio, de imágen, etc …
Las empresas que desarrollan este tipo de plataformas no lo hacen con diseños propietarios, es decir, no diseñan a su libre albedrío, sino que siguen ciertos estandars. Estos estandars reunen un cierto número de características comunes que deben cumplir los diseños de los PCs embebidos. De esta manera no nos casaremos con ningún fabricante en nuestros diseños, y siempre podremos encontrar alternativas en el caso de que un fabricante nos falle, no nos guste, obsolete un equipo o cualquier otro problema que podamos encontrar.

Empezaré hablando de la tecnología ETX para PCs embebidos. Estas siglas siginifican Embedded Technology eXtended. Son unos módulos pequeños, con unas dimensiones de 114mm x 95mm x 12mm. Como decía antes ETX es un estandard, lo que implica que todos los módulos de todos los fabricantes deben de tener las mismas dimensiones y la misma distribución de conectores comunes. De esta forma los ingenieros podrán crear sus diseños de placas base para “pinchar” estos módulos ETX, independientemente del fabricante que se los suministre.
Los módulos ETX incluyen los periféricos comunes que también tenemos en nuestros propios ordenadores personales, como son USB, puertos serie, puertos para gráficos (VGA), puertos paralelos, ratón, teclado, ethernet, audio, buses IDE, etc. El ingeniero que diseñe la placa base donde insertar el módulo ETX, será quien decida qué periféricos le interesa utilizar, y podrá llevar los conectores (por ejemplo DB9, USB, …) a la zona de la placa base que estratégicamente más le interese en su equipo final.
Otra cosa importante. Imáginemos que un ingeniero quiere diseñar un dispositivo ISA o PCI para utilizarlo con un PC embebido. Pues tendría dos opciones. Una, posicionar un conector de bus ISA o PCI en la placa base para insertar, además del módulo ETX, su dispositivo ISA o PCI; o dos, “embeber” ese dispositivo ISA o PCI dentro del diseño de su placa base, con el correspondiente ahorro de espacio y costes de fabricación.
Una vez un ingeniero tenga diseñada una placa base, podrá insertar el módulo ETX con las prestaciones que mejor se adapten a sus necesidades (módulos con microprocesadores más rápidos, con más o menos memoria, … ).
¿Y cuales son los conectores y buses comunes de los módulos ETX?
Son cuatro y queda muy claro en el siguiente gráfico:
En el conector x1 principalmente tenemos las señales del Bus PCI , cuatro buses USB 2.0, y las señales de audio, como son la entrada de línea y de micrófono y la salida de audio stereo.
En el conector x2 tenemos todas las señales del bus ISA (en los siguientes días hablaré de la evolución de la tecnología ETX a XTX, donde la fucionalidad ISA de este bus ha sido substituida por otras mucho más interesantes)
En el conector x3 están las IO gráficas de VGA y LCD (LVDS), los puertos serie COM, el bus de infrarrojos irDA y el puerto paralelo.
Finalmente en el conector x4 están los buses IDE, ethernet, SM, un bus I2C de hasta 400Khz, las lineas del buzzer, y las señales de control de alimentación.
Como os decía, en los siguientes post iré comentando tecnologías más avanzadas de módulos PC embebidos, como es XTX y COM Express.
Espero que os resulten estos posts de utilidad a quienes no conocéis bien el mundo de los PC embedded
No Hay Comentarios »
|