SocketCAN con dos puertos
Antes de que estuviera disponible el SocketCAN, las aplicaciones que se ejecutan en Linux tenían character drivers simples. El problema de estos character drivers es que solamente permiten que un proceso acceda al dispositivo a la vez. Cambiar el dispositivo CAN significaría que se tiene que cambiar el dispositivo y en consecuencia, reprogramar las aplicaciones para adaptar a nuevas configuraciones.
El SocketCAN resuelve estos problemas a través del empleo de un modelo similar a una red (parecido a TCP/IP) que permite que muchas aplicaciones se procesen simultáneamente en el dispositivo CAN. Su similitud al TCP/IP permite que los usuarios estén más familiarizados con la programación de redes para aprender fácilmente el uso del SocketCAN. Como se puede ver en la figura 1, la familia del protocolo provee una capa Socket que se conecta al espacio del usuario, es construido sobre la capa de la red Linux , mientras que los drivers para el controlador hardware del CAN del dispositivo en la red interactúe con la capa de la red de Linux.
Solución de Dos Puertos vs SocketCAN Estándar
Con la solución SocketCAN estándar, solo un puerto CANbus está disponible. Esto implica que cualquier otra expansión podría ser costosa y tardaría mucho tiempo, ya que el integrador de sistema necesita modificar el driver o instalar un módulo extra.
La solución de dos puertos consiste en una tarjeta de expansión CANbus con una SocketCAN API modificada. Basado en el código abierto del SocketCAN estándar, esta tarjeta diminuta puede ofrecer dos puertos disponibles para conectar a hasta dos redes de CANbus. Esto es hecho posible con una alteración al driver y al daemon del SocketCAN.
Con dos puertos se hace posible la redundancia, comparte el flujo y permite la opción para conectar a redes CANbus independientes.
Cambiando a la solución de Dos Puertos
Existen dos escenarios para considerar el uso de la solución de dos puertos:
Escenario 1: instalación original sin SocketCAN Si la instalación original no utiliza SocketCAN estándar, las aplicaciones tendrían que ser reprogramadas porque no son compatibles con la interfaz SocketCAN.
Escenario 2: instalación original con SocketCAN La solución de dos puertos es compatible con cualquier aplicación que ya este usando SocketCAN. Esto significa que agregarla es una instalación fácil de plug-and-play.
Solución Innodisk
- Compatibilidad Variada: La solución de dos puertos es compatible con la arquitectura ARM y los siguientes sistemas operativos de Linux (Ubuntu, Fedora, Debian, CentOS y QNX)
- EMUC-B202: este hardware con diseño robusto cumple con la protección contra sobretensiones EN61000-405 2.5kV, con la protección HiPOT IEC 60950-1:2005 + A1: 2009 + A2:2013 2.5kV , con EN61000-4-2 (ESD) Air-15kV, Contact-8kV y soporta rangos de temperatura de −40°C a 85°C bajo operación