Archivo de septiembre 2007
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 »
Hoy día 19 de Septiembre Bluegiga, fabricante finlandés de módulos bluetooth para integración y del Access Server, que comentamos hace un tiempo, ha presentado su nuevo módulo WT32, evolución muy importante de su anterior módulo WT12.
Quien haya utilizado los módulos de bluegiga en alguno de sus diseños, sabrá que es muy sencillo utilizar y que podemos incorporar conectividad bluetooth a nuestros equipos rápidamente, pues puede utilizarse simplemente enviando comandos AT por su puerto serie. Además utilizando los módulos de Bluegiga podemos poner el sello bluetooth directamente en nuestros equipos, sin necesidad de pagar dinero extra por ello ni tener que pasar certificaciones bluetooth adicionales, cosa que no ocurre si diseñamos directamente con un chip bluetooth, además de ser esto último mucho más complicado.
De hecho, los módulos de bluegiga “no son más” que una plaquita con un chip bluetooth (un chip bluetooth de CSR, el mayor fabricante mundial de este tipo de chips), una parte de RF, y un microprocesador. La gracia del módulo es que Bluegiga incorpora un firmware suyo en dicho micro, un firmware que implementa un protocolo llamado iWrap y que funciona a través de comandos AT enviados vía serie.
Si se quiere también puede utilizarse el módulo a nivel HCI (Host Controller Interface). HCI es una capa que actúa como intermediaria entre el hardware y el software (el host bluetooth). Proporciona una interfaz de comandos para la comunicación entre el dispositivo y el firmware del módulo Bluetooth que es igual independientemente del fabricante del módulo bluetooth, es decir, implementa una abstracción del hardware. Para trabajar a nivel HCI tendríamos que trabajar con un micro externo que incorpore la pila bluetooth (normalmente se utilizan sistemas embebidos con Linux Embedded o Windows CE).
Por último también puedes utilizar los módulos de Bluegiga para embeber en ellos tus propias aplicaciones dentro del micro, pero haciendo eso pierdes todo el protocolo iWrap y tú tendrás que encargarte de realizar las comunicaciones necesarias con el micro de CSR. En este caso, al modificar el firmware del equipo, no podrás poner directamente en tu equipo final el logo bluetooth. Necesitarás pasar una serie de certificaciones.
Decir que de todas las maneras de trabajar de las que hemos hablado (utilizando el protocolo iWrap, utilizando HCI o embeber aplicaciones en su interiore) lo más normal es utilizar el módulo bluetooth de Bluegiga con el protocolo iWrap pues es lo más sencillo, lo más rápido de implementar y válido para la mayoría de los casos.
Bueno, ¿y qué tiene de interersante este nuevo módulo WT32?
Pues principalmente que es un dispositivo plug & play para soluciones de audio tanto mono como stereo, dispone de un DSP integrado en el módulo (que actúa como codec de audio así como además se encarga de la gestión de la cancelación de eco y reducción de ruidos) y cargador de batería. Los modelos anteriores WT12 y WT11 no disponen de codec de audio, por lo que para aplicaciones de sonido es necesario incorporar un codec externo. Con este módulo la solución está completa. Los módulos también disponen de GPIOs y además son capaces de realizar acciones bluetooth provocados por eventos en dichos pines.
¿Y para qué aplicaciones puede serme útil el WT32?
Pues principalmente para cualquier equipo bluetooth que queramos desarrollar que incorpore audio (auriculares de alta calidad, manos libres, altavoces wireless, reproductores MP3, USB dongles, … ). Por supuesto también es apto para aplicaciones de datos. No olvidemos que tanto con este módulo como con el WT11 y el WT12 pueden realizarse conexiones bluetooth simultáneas de audio y datos, interesante para muchas aplicaciones.
Os dejo aquí un enlace al datasheet y otro al catálogo por si os interesa profundizar más. Los productos de Bluegiga son distribuidos en España por Matrix Electrónica.
Espero que este post os resulte de interés en alguna ocasión
4 Comentarios »
Hola a todos,
hace justo 6 meses que nació blogElectronica.com, un blog personal de electrónica avanzada donde intento publicar artículos de dispositivos electrónicos de actualidad, y que considero muy interesantes. Ya lo habéis visto, dispositivos Gsm, Gprs, Umts, Gps, Networking, Microprocesadores, …
La verdad es que este blog ha tenido una buena acogida la cual me ha sorprendido bastante, y es que en pocos meses de vida el número de visitas a blogElectronica ha crecido mucho, desde las pocas más de 50 visitas de Marzo, primer mes de funcionamiento del blog, hasta las casi 3.000 visitas de este pasado mes de Agosto.
Ahora he decidido lanzar un nuevo portal, forumElectronica.com, lo que considero es un complemento a este blog, un lugar donde todo el mundo que lo desee pueda compartir conocimientos de electrónica avanzada de los dispositivos electrónicos que quiera, y no únicamente de los que yo exponga aquí.
Espero que os guste y que lo encontréis de utilidad
Un saludo y muchas gracias a todos.
2 Comentarios »
Hoy pongo un breve post de un aparato gateway-concentrador serie ethernet de Digi con una característica bastante peculiar e interesante. A ver que os parece …
Se trata del modelo EtherLite de Digi. Este dispositivo es aparentemente un concentrador similar a los dispositivos Port Server de Digi, es decir, un dispositivo gateway que es capaz de convertir datos serie a Ethernet. Pero tiene una diferencia interesante. A diferencia del resto de modelos, éste es capaz de concentrar/multiplexar en una única conexión TCP/IP todos los datos provinientes de todos los puertos serie.
Esto último es muy interesante desde el punto de vista de optimización de la red, pues evitaremos congestionar la red en exceso.
¿Y por qué al tener una única conexión TCP/IP no se congestiona tanto la red?
Este dispositivo está disponible para poder convetir simultáneamente 2,4,8,16 ó 32 puertos RS232 (o RS422 ó RS485 según versiones) a ethernet. Es decir, es capaz de gestionar los 32 puertos serie de forma simultánea trabajando a 115.200bps cada uno de ellos, lo cual, desde mi punto de vista, es impresionante.
Una paquete de datos TCP ethernet tiene un MTU (Unidad Máxima de Transmisión, es decir, el tamaño máximo del paquete de datos) de 1500 bytes, de los cuales 40 son cabecera. El hecho de que el dispositivo Etherlite concentre en una única conexión TCP todos los puertos serie en lugar de crear una conexión para cada puerto, evita tener que enviar un paquete TCP, es decir, evita tener que utilizar una cabecera de 40 bytes para cada puerto serie, osea reduce tráfico en la red y evita además sobrecarga de enrutamiento en los switches de la red, al tener que enrutar menos paquetes, pues en fragmento de datos del MTU viajan encapsulados los datos provinientes de todos los puertos serie).
¿Y si me multiplexa la información en una única conexión IP, cómo separo los datos?
Digi dispone de un driver (disponible para Windows y Linux) de nombre RealPort. Al instalarlo podemos ver que en nuestro ordenador (panel de control >> sistema, …) se crean puertos serie virtuales. Es decir, si utilizamos el Digi EtherLite de 32 puertos RS232, podremos ver en nuestro ordenador utilizando RealPort como se crean 32 puertos serie virtuales. Entonces, desde cualquier aplicación Windows o Linux, podremos utilizar esos puertos como si de puertos series normales se trataran, despreocupándonos de si los datos que viajan desde el concentrador EtherLite hacia nuestro PC viajan multiplexados o no, pues RealPort se encargará automáticamente de la demultiplexación. En resumen, tendremos en nuestro PC la apariencia de tener 32 puertos serie reales.
Como os comentaba antes, en función de las necesidades podemos elegir entre 2,8,16 o 32 puertos. Si alguna vez os interesa este dispositivo saber que Digi es distribuido en España por Matrix Electrónica.
Espero que os haya parecido interesante este dispositivo, buen fin de semana.
2 Comentarios »
Posiblemente en alguna ocasión tengamos la necesidad de incorporar a nuestros diseños capacidad de comunicación IP. Una solución muy utilizada hoy en día es utilizar pequeños módulos OEM conversores serie-ethernet, una manera extraordinariamente sencilla y rápida de incorporar capacidad de comunicaciones TCP/IP a nuestros equipos ya diseñados (es decir, equipos para los que no queremos rediseñar por completo su hardware o firmware).
Existen multitud de soluciones en el mercado. Destacan entre ellas los conversores serie-ethernet de Digi, especialmente el modelo Digi Connect-Me (un modelo del que hablaremos próximamente y del que puedo decir que es una auténtica maravilla), también destacan por precio los conversores de Artila (de los que hablé hace un tiempo en otro post y de los que algunos modelos se suministran en formato OEM (sin caja)), más económicos, aunque con algunas prestaciones menos.
Sin embargo, si tenemos cierta capacidad de desarrollo software, puede resultarnos también interesante, pues es bastante económico, utilizar algún módulo embebido de Rabbit. Lo único que tendríamos que hacer es una pequeña aplicación que haga de pasarela entre los puertos serie y el puerto ethernet. Una aplicación muy sencilla de la que incluso tenemos una parte hecha, pues en el SDK (Software Development Kit) ya viene un ejemplo, algo sencillo, pero que sirve de base para realizar dicha aplicación. Ahora mismo no lo tengo a mano, pero en unos días intentaré colgar un ejemplo básico de programita en C de conversión serie ethernet con estos dispositivos. Veréis que fácil es.
¿Ventajas?
Principalmente el precio, que dispondremos de varios puertos serie y que podremos diseñar la aplicación para que el gateway serie-ethernet funcione exactamente como nosotros deseamos.
¿Inconvenientes?
Esto resulta útil para aplicaciones sencillas. Hay que ser realistas, realizar un firmware tan completo como el implementado en el Digi Connect Me, con sus innumerables prestaciones, no es posible. Tendremos un gateway más limitado que algunos modelos comerciales ya finalizados, pero con suficientes prestaciones para la mayoría de los casos.
¿Qué modelo elegir?
Pues depende de la velocidad a la que queramos trabajar. Si las velocidades lo permiten yo aconsejo (es el que yo más utilizo) el modelo Rabbit RCM3710 (el que tenéis en la foto de arriba). Un pequeño dispositivo con 4 puertos serie y muy económico que lo hacen ideal para este tipo de diseños.
Mi amigo Javi, grandísimo conocedor de sistemas embebidos, me pasó hace algún tiempo una tabla muy útil para los procesadores de la familia 3000 de Rabbit. Con ella es facil escoger el módulo que debemos seleccionar en función de la velocidad de reloj de los micros para las velocidades serie que necesitemos. Seguro que la encontráis de utilidad en alguna ocasión.
Y bueno, si algún dia necesitáis alguno de estos dispositivos de Digi ó Rabbit (para quien no lo sepa le comento que Rabbit pertenece a Digi, pues fue adquirida por esta empresa Americana hace ya algún tiempo) que sepáis que son distribuidos en España por Matrix.
Espero que este post pueda resultaros de utilidad algún día
3 Comentarios »
|