Probablemente muchos de vosotros conozcáis los módulos procesados de Digi, especialmente los modelos ConnectCore 7U (antiguamente llamado UNC20), el ConnectCore 9U (antiguamente llamado UNC90) o el ConnectCore9M. Como curiosidad deciros estos módulos cambiaron de nombre a raíz de que la empresa española Sistemas Embebidos, ubicada en Logroño, y creadora de estos módulos, fuera adquirida hace pocos años por la empresa estadounidense Digi (propietaria también de muchas otras empresas como Rabbit, de reciente adquisición, o de Maxstream).
Estos módulos han ido evolucionando y han ido apareciendo distintas familias de módulos. Tenemos ahora el ConnectCore 9C, ConnectCore Wi9C, ConnectCore 9P o el ConnectCore XP. Afortunadamente las herramientas de desarrollo también han ido evolucionando y ahora han aparecido los llamados Jumper Start Kits (kits de desarrollo de iniciación). Estos kits poco o nada tienen que ver con la complejidad que tiene trabajar con los modelos CC7U y CC9U. Además, la documentación y los ejemplos de programación suministrados es muy superior a las versiones precedentes. Pero que muy superior. En general en todos pero ha mejorado especialmente en los modelos que funcionan bajo Linux.
He tenido la oportunidad de probar bastantes de estos módulos y sus entornos de desarrollo y la verdad, hay un antes y un después en cuanto a sencillez de uso gracias a estos Jumper Start Kits. Los Jumper Start Kits están disponibles para los modelos ConnectCore 9P, ConnectCore 9C y ConnectCore Wi9C.
¿Y qué características tienen los modelos ConnectCore9C, ConnectCoreWi9C y ConnectCore9P?
Pues el ConnectCore 9C tiene un procesador de 32bits de NetSilicon (propiedad de Digi), concretamente el modelo NS9360 funcionando a una velocidad de reloj de 155MHz. Dispone de hasta 128MB de SDRAM y 256MB de memoria Flash . Tiene un rango de temperaturas extendido, de -40 a 85 grados, lo que le convierte en un candidato idóneo en entornos hostiles en temperatura. En cuanto a Entradas / Salidas dispone de ethernet 10/100, controlador integrado LCD para pantallas TFT/SNT (SVGA), 4 puertos serie de alta velocidad (921kbps), 55 GPIOs, SPI, I2C, 2 puertos USB 2.0 (host y esclavo).
El Connect Core Wi9C es básicamente idéntico al anterior, pero incorpora además del puerto ethernet un módulo Wifi. Las aplicaciones apropiadas para este módulo son evidentes, aplicaciones en las que se requiera el uso de comunicaciones Wifi.
Por último tenemos el Connect Core 9P. Este módulo también es gobernado por el procesador NS9360 pero trabajando a una velocidad de reloj lijeramente superior, 177MHz. Dispone de hasta 128MB de SDRAM y 128MB de memoria Flash y de 8KB de memoria EEProm para el almacenaje de variables. Como entradas / salidas tiene puerto ethernet 10/100, controlador integrado LCD para pantallas TFT/SNT (SVGA), 4 puertos serie de alta velocidad (921kbps), 55 GPIOs, SPI (de hasta 11.25Mbps), I2C (hasta 400Khz), puerto USB 2.0 (host y esclavo), 4 salidas PWM y RTC con batería de backup. ¿Aplicaciones? Pues las aplicaciones son similares a las del CC9C. Este es un dispositivo de menor tamaño que los anteriores y en ocasiones puede resultar más conveniente. También es un dispositivo que dispone de un consumo algo inferior y una capacidad de procesado algo mayor.
¿Y para qué sistemas operativos están disponibles estos Jumper Start Kits?
Dentro de los ConnectCore 9C,Wi9C y 9P pueden correr 3 sistemas operativos. Por un lado el Sistema operativo NetSilicon (un sistema operativo en tiempo real), ó el sistema operativo Linux embedded (Linux no es tiempo real) y por último el Sistema Operativo Windows CE 6.0 (El sistema operativo de Microsoft para sistemas embedded y que sí es tiempo real).
¿Qué sistema operativo elegir?
Pues la verdad es que esta es una buena pregunta. De los 3 sistemas operativos yo personalmente me quedo con 2, con los más conocidos, que son Linux embedded y Windows CE 6.0. Y de entre estos dos, esto ya es muy a nivel personal, que los Linuxeros no se enfaden (que blogElectronica.com está alojado en un server Linux), pero blogElectronica, para desarrollo embedded, se queda con el Sistema Operativo Windows CE 6.0. Aunque ambos tienen sus ventajas. Por un lado Linux es un sistema operativo libre, open source, y no hay que pagar licencias. Pero por otro lado WindowsCE 6.0 es un sistema operativo más amigable, con documentación más ordenada (msdn de Microsoft) y puedes programar las aplicaciones en el lenguaje que te encuentres más cómodo, como Visual C++, C# o Visual Basic .net. Realizar aplicaciones gráficas con Windows CE tampoco tiene rival, es muy sencillo. De hecho probablemente aunque no lo sepas ya sabes programar en cierta manera buena parte de estos dispositivos, pues se programan con Visual Studio 2005. Y sí … ya lo sé … hay que pagar licencia del Sistema Operativo por cada módulo … Pero bueno, tampoco es una barbaridad, el coste de una licencia de Windows CE (si compras un paquete de 100 licencias) es de unos 4 Euros (una sola licencia creo que son unos 7 Euros).
En fin, para elegir entre un sistema operativo u otro hay que poner en un lado de la balanza la comodidad, la sencillez de uso (para tener los menos dolores de cabeza posibles) y la velocidad de desarrollo para sacar un producto al mercado. En el otro lado de la balanza el coste de la licencia. A mi me pesa más lo primero, a otros, a lo mejor lo segundo. Como dije a principio, custión de gustos.
Si a alguien le interesa uno de estos equipos saber que el distribuidor oficial en España de Digi es Matrix Electrónica.
Espero que encuentres de interés estos módulos embebidos.