SOM ARM: Guía Básica para Escoger el Mejor Procesador para tu Aplicación
En el artículo de hoy vamos a revisar el estado del arte de los diferentes microprocesadores usados en los módulos ARM o SOM ARM como se conoce por sus siglas en inglés (SOM: System On Modules). Explicaremos en detalle los parámetros más importantes y revisaremos las características de los SOM ARM disponibles en el mercado. Por último daremos las claves para seleccionar el más adecuado.
Parámetros básicos: Factor de Forma y Vida de Producto
Factor de Forma: Solución Estándar
Por un lado, existen los denominados factores de forma estándar como son SMARC (Smart Mobility Arquitecture) o Qseven; este tipo de estándares parten de la idea surgida de varios fabricantes en crear módulos que permitan la compatibilidad entre diferentes fabricantes y escalabilidad en procesadores.
Ejemplo de factor de forma SMARC de Kontron
Estos factores de forma estándar nacieron dentro del entorno de procesadores de arquitectura x86 al igual que los ETX o COM Express (COM: Computer On Module). En su definición, estos estándares establecen los requisitos mínimos para asegurar la compatibilidad entre las diferentes soluciones, pero dejando algo de libertad a cada fabricante para customizar su plataforma.
Es por ello que, en muchos casos, cuando se exporta el estándar al mundo ARM esta compatibilidad no es 100% real y la mayoría de la periferia que ofrecen los procesadores ARM para el mercado industrial se pierde en el momento de añadirlo a un estándar creado principalmente para el mundo x86.
Por este motivo, cuando estamos diseñando nuestra Carrier basada en estándares como SMARC o Qseven para ARM, no sólo debemos estar atentos a cumplir el estándar sino también tener en cuenta las peculiaridades de cada módulo y fabricante.
OSM un Factor de forma para ARM
Ante lo comentado anteriormente, un grupo de fabricantes, entre ellos Kontron y F&S, han creado por medio de SGET (Standardization Group for Embedded Technologies) un nuevo factor de forma que pretende ser un estándar en el mundo de los SOM ARM; a este estándar lo han denominado OSM que significa Open Standard Module.
El nuevo estándar OSM (Open Standard Module™) ratificado por el SGeT define módulos que permiten la soldadura directa sin necesidad de conectores. También marca un hito en la miniaturización, reemplazando módulos del tamaño de una tarjeta de crédito por otros del tamaño de un sello postal, con un espacio máximo de 45 x 45 mm.
El estándar OSM está disponible en cuatro tamaños diferentes, que abarcan el tamaño cero, el pequeño, el mediano y el grande, tamaño que varía en función de los contactos LGA disponibles. La denominación del módulo especifica su tamaño (OSM-0, OSM-S, OSM-M y OSM-L).
Tamaños de módulos OSM
Si quieres conocer más detalles sobre el nuevo formato OSM tienes más información en este post: Revolucionando la industria: Descubre el estándar OSM para módulos ARM
Factor de Forma: Solución Propietaria
Por otro lado, tenemos las soluciones propietarias que cada fabricante decide hacer y en la que se busca asegurar la máxima funcionalidad que los procesadores ARM ofrecen, dando la posibilidad de usar todos los periféricos disponibles en el procesador (I2C, SPI, CAN, GPIOs, etc.) sin las restricciones debidas a posibles incompatibilidades con otros SOM.
Dentro de las soluciones propietarias, algunos fabricantes deciden crear su propio estándar para poder así ofrecer una escalabilidad y compatibilidad con los diferentes procesadores que van surgiendo, consiguiendo así un concepto de familia. Podemos encontrar un ejemplo en la familia efus del fabricante F&S que ofrece, dentro del mismo factor de forma, diferentes SOM basados en procesadores ARM.
Dicho esto, en la mayoría de las aplicaciones se acaba optando por soluciones propietarias para poder sacar el máximo partido al procesador.
Vida de Producto
Uno de los puntos más importantes que nos ha de preocupar es la vida de producto y ahí es donde los fabricantes de SOM deben escoger procesadores que aseguren al menos 10 años de vida en el mercado y en los que exista una política transparente de obsolescencia.
Un ejemplo claro lo tenemos en NXP con su familia i.MX o ST con los STM32; ambas marcas anuncian de forma clara su política de vida de producto “Product Longevity”, que está entre 10 y 15 años dependiendo del procesador, como se puede consultar en los siguientes enlaces:
Política de Vida de Producto de NXP
Política de Vida de Producto de ST
Existen otros fabricantes de microprocesadores, también industriales, que ofrecen un período de vida similar a NXP o ST pero no lo hacen público, reservándose así el derecho a discontinuar un producto en caso de baja fabricación o por estrategias comerciales.
Procesadores ARM disponibles para el Mercado Industrial
Vayamos pues al TOP ARM con la premisa de “long term availability” como punto de partida para el mercado industrial:
- SOM i.MX6: extensa familia de NXP con versiones Solo, Dual y Quad. Se trata de la gama de procesadores conocida como Cortex-A9. Llegan hasta 1 GHz de procesador y están pensados para aplicaciones de alto rendimiento, gráficos 3D avanzados con una GPU a 600 Mpix/s, video HD y multimedia. Se estima disponibilidad de estos procesadores hasta 2027 aproximadamente.
- SOM i.MX6UL: gama de procesadores Cortex-A7. Se trata de una versión reducida de los anteriores que mantiene el nombre comercial de i.MX6 porque NXP lo creó con el mismo set de instrucciones. Estos procesadores oscilan entre los 528 MHz y los 900 MHz e implementan un solo núcleo, optimizados en coste y en consumo. Son recomendables para aplicaciones embedded con requisitos gráficos reducidos. Hay varias versiones dentro de esta gama como su modelo básico ULZ, ULL (añade funcionalidades multimedia) y Ultralite (añade además funciones adicionales de seguridad). Es ideal para aplicaciones de bajo consumo. Se estima disponibilidad hasta 2030 en la versión UltraLite industrial.
- SOM i.MX7: también basados en Cortex-A7 de NXP con versión dual hasta 1 GHz de procesador. Adicionalmente añaden un procesador adicional Cortex-M4 a 200 MHz en todas sus variantes (disponible también en algunas variantes del i.MX6UL). Cabe destacar que no ha tenido una gran repercusión entre los fabricantes de módulos ARM, por lo que la oferta actual en SOM i.MX7 es reducida. Sin embargo, parece que el nuevo IMX7ULP podría tener cabida en el mercado, ya que añade a su muy bajo consumo, que lo hace capaz de funcionar alimentado con batería, funcionalidades de aceleración 2D/3D para manejo de gráficos. Se prevé disponibilidad hasta 2028.
- SOM STM32MP1: este reciente lanzamiento de ST (febrero 2019) ha hecho que varios fabricantes de SOM con arquitectura ARM presten atención en este microprocesador que ofrece un núcleo dual Cortex-A7 a 650 MHz, compatible con Linux/Android, más un coprocesador Cortex-M4 con capacidades de procesamiento a tiempo real y con las bondades del ecosistema STM32 (STMCube32 y librerías embedded para el manejo del Cortex-M4). Este microprocesador, que asegura una longevidad de vida de producto de 10 años, permite crear módulos de reducidas dimensiones y optimizados en coste a los fabricantes de SOM.
- SOM i.MX8: La familia i.MX8 implementa 4 núcleos Cortex-A53 hasta 1.8 GHz como procesador principal, y ofrece diferentes variantes, como su versión más avanzada i.MX8, que añade 2 núcleos adicionales Cortex-A72 y es ideal para aplicaciones de audio, voz y video de altas prestaciones, o sus alternativas i.MX8M y i.MX8M Mini, con menos potencia pero con capacidades de procesamiento de vídeo. Además, se encuentran en pre-producción las variantes i.MX8M Nano y i.MX8X (Q4 2019), siendo esta última especialmente interesante, ya que añade a las capacidades multimedia de la familia i.MX8 funcionalidades de seguridad y mejora la eficiencia del microprocesador. Dentro de las novedades de esta nueva familia, cabe destacar la presencia del interfaz USB 3.0 en algunas de sus variantes. Puede aprender más sobre esta serie en este post dedicado: Familia de Procesadores I.MX8: Puntos a tener en cuenta
- SOM i.MX9:Esta serie integra NPUs Arm Ethos U-65 e IQNeutron, permitiendo soluciones de IA eficientes. La arquitectura Energy Flex de la serie i.MX9 mejora la eficiencia energética y extiende la vida de la batería. Aprende más sobre los procesadore i.MX9 en este post dedicado: Aspectos Clave de la serie de procesadores I.MX9
ejemplos SOM ARM de F&S y DIGI
Selección del Procesador Idóneo
Una vez vistos los diferentes procesadores ARM disponibles para el mercado industrial y repasado los dos factores más importantes a tener en cuenta, el siguiente paso es escoger el módulo que mejor que se adapte a nuestras necesidades pero, ¿qué factores hay que tener en cuenta para escoger un buen fabricante de SOM ARM?
- Factor de forma: como hemos comentado anteriormente, este es un punto importante pues, dependiendo de nuestra aplicación, deberemos decidir si optar por un factor de forma propietario que nos asegure un tamaño reducido y poder explotar toda la periferia que ofrece el microprocesador, o ir a una solución estándar si nuestra aplicación requiere pasar por varias versiones de producto y ser sensible a usar diferentes procesadores para la misma aplicación.
- Rango de temperatura: entre los fabricantes de SOM ARM se ofrecen varias versiones de rango temperatura, que suelen definirse como rango estándar 0ºC a 70ºC; rango industrial -20ºC a 70ºC o rango extendido -40ºC a 85ºC.
- Periferia: según las necesidades de nuestra aplicación, diferentes configuraciones de periféricos pueden ser necesarios:
- si vamos a usar un TFT, ¿qué dimensiones, resolución, táctil?
- Tipo de interfaz ¿RGB, LVDS, MIPI, HDMI?
- ¿cuántas GPIO, USB, I2C, CAN, SPI, Ethernet?
- ¿necesito Wireless? Algunos módulos ya vienen provistos de conectividad WiFi y Bluetooth, mientras que otros permiten añadirlo en la Carrier mediante interfaces de comunicación.
- Soporte técnico: aquí entran en juego 2 factores igual de importantes, el fabricante del módulo que nos proveerá de todas las herramientas necesarias para empezar nuestra aplicación, como son el entorno de desarrollo, BSP, ejemplos de aplicaciones, documentación técnica a nivel hardware (como esquemáticos, modelos 3D, etc); y, por otro lado, no debemos olvidar la importancia del distribuidor en este tipo de desarrollos, que, tanto por proximidad como conocimiento del cliente y fabricante, podrá asesorarnos con la mejor solución para nuestra aplicación.
- Vida de producto: ¿cuánto tiempo pensamos que estará nuestro producto en el mercado? ¿cada cuánto tiempo crearemos nuevas versiones? ¿qué garantía debo dar a mi cliente final?
- Producción estimada: ¿cuál es nuestro mercado objetivo? ¿qué cantidades esperamos vender de nuestro proyecto? Este es uno de los puntos más complejos de resolver en la mayoría de casos, pero es importante tener una idea de las dimensiones de nuestro proyecto, puesto que la inversión de crear nuestra propia Carrier se debe ver recompensada en un plazo de tiempo corto. Si vemos que las cantidades podrían no superar el orden de centenares de unidades por año, es bueno plantear nuestra solución con un producto semi-elaborado como son los SBC ARM.
- Coste: no debemos caer en el error cuando valoramos el coste de sólo comparar el precio del módulo, sino del conjunto de todo el desarrollo ya que, dependiendo del módulo que escojamos deberemos añadir más o menos componentes a nuestra Carrier como son conectores, adaptadores de señal, periferia adicional, gestión de alimentación, etc.
Conclusión
Como se ha podido comprobar, la elección del SOM ARM es una decisión compleja en la que intervienen múltiples factores. No tener en cuento alguno de ellos puede llevarnos a una elección errónea que podría afectar a la duración y viabilidad de nuestro proyecto.
En Venco estamos en permanente contacto con los fabricantes que nos mantienen informados de las últimas novedades. Contacta con Venco y te ayudaremos a seleccionar el procesador más adecuado para tu proyecto.