Articulo de referencia

Red de interconexión local

LIN es un protocolo de red utilizado para la comunicación entre componentes en vehículos modernos . Es un protocolo serial de un solo paso y de bajo costo que admite comunicacio...

LIN es un protocolo de red utilizado para la comunicación entre componentes en vehículos modernos . Es un protocolo serial de un solo paso y de bajo costo que admite comunicaciones de hasta 19,2 Kbit/s con una longitud máxima de bus de 40 metros (131,23 pies) . 

Historia

La necesidad de una red serie económica surgió a medida que las tecnologías y los sistemas implementados en el automóvil evolucionaban, mientras que el bus CAN resultaba demasiado costoso para implementarlo en todos los componentes del vehículo. Los fabricantes de automóviles europeos comenzaron a utilizar diferentes tecnologías de comunicación serie, lo que generó problemas de compatibilidad.

A finales de la década de 1990, el Consorcio LIN fue fundado por cinco fabricantes de automóviles ( BMW , Grupo Volkswagen , Audi , Volvo Cars y Mercedes-Benz ), con las tecnologías suministradas (experiencia en redes y hardware) por Volcano Automotive Group y Motorola . La primera versión completamente implementada de la nueva especificación LIN (LIN versión 1.3) se publicó en noviembre de 2002. En septiembre de 2003, se introdujo la versión 2.0 para ampliar las capacidades y proporcionar funciones de diagnóstico adicionales. LIN también se puede utilizar a través de la línea de alimentación de la batería del vehículo con un transceptor especial LIN sobre línea de alimentación de CC (DC-LIN). LIN sobre línea de alimentación de CC (DC-LIN) se estandarizó como ISO/AWI 17987-8. [ 1 ]

CAN in Automation ha sido designada por el Comité Técnico de Gestión (TMB) de la ISO como la Autoridad de Registro para el ID de proveedor LIN estandarizado en la serie ISO 17987.

Topología de red

LIN es una red serial de difusión que comprende 16 nodos (un nodo primario y hasta 15 nodos secundarios). [ 2 ] [ 3 ] [ 4 ] [ 5 ]

Todos los mensajes son iniciados por el nodo principal, y como máximo un nodo secundario responde a un identificador de mensaje determinado. El nodo principal también puede actuar como nodo secundario respondiendo a sus propios mensajes. Dado que todas las comunicaciones son iniciadas por el nodo principal, no es necesario implementar la detección de colisiones . [ 6 ]

Los nodos primario y secundario suelen ser microcontroladores , pero pueden implementarse en hardware especializado o ASIC para ahorrar costes, espacio o energía.

Las aplicaciones actuales combinan la eficiencia de bajo costo de LIN y sensores simples para crear pequeñas redes. Estos subsistemas pueden conectarse mediante una red troncal (por ejemplo, CAN en automóviles). [ 7 ]

Descripción general

El bus LIN es un protocolo de comunicación serie económico que permite el funcionamiento remoto de aplicaciones dentro de la red de un automóvil. Está especialmente diseñado para nodos mecatrónicos en aplicaciones automotrices distribuidas, pero también es adecuado para aplicaciones industriales. Su objetivo es complementar la red CAN existente, dando lugar a redes jerárquicas dentro de los vehículos.

A finales de la década de 1990, el consorcio Local Interconnect Network (LIN) fue fundado por cinco fabricantes de automóviles europeos, Mentor Graphics (anteriormente Volcano Automotive Group) y Freescale (anteriormente Motorola , ahora NXP ). La primera versión completamente implementada de la nueva especificación LIN se publicó en noviembre de 2002 como LIN versión 1.3. En septiembre de 2003 se presentó la versión 2.0 para ampliar las capacidades de configuración e incorporar importantes funciones de diagnóstico adicionales e interfaces de herramientas.

Las principales características del protocolo se enumeran a continuación:

  • Un único maestro, hasta 16 esclavos (es decir, sin arbitraje de bus). Este es el valor recomendado por el Consorcio LIN para lograr una respuesta temporal determinista. [ 8 ]
    • La detección de posición del nodo esclavo (SNPD) permite la asignación de direcciones de nodo después del encendido [ 9 ].
  • Comunicaciones de un solo cable de hasta 19,2  kbit/s a una longitud de bus de 40 metros . [ 8 ] [ 10 ] En la especificación LIN 2.2, [ 9 ] la velocidad es de hasta 20 kbit/s.
  • Tiempos de latencia garantizados.
  • Longitud variable del marco de datos (2, 4 y 8 bytes).
  • Flexibilidad de configuración.
  • Recepción multicast con sincronización horaria, sin cristales ni resonadores cerámicos .
  • Suma de verificación de datos y detección de errores.
  • Detección de nodos defectuosos.
  • Implementación de silicio de bajo coste basada en hardware UART / SCI estándar.
  • Facilitador para redes jerárquicas.
  • Tensión de funcionamiento de 12 V. [ 8 ]

Los datos se transfieren a través del bus mediante mensajes de formato fijo de longitud seleccionable. La tarea maestra transmite una cabecera que consta de una señal de interrupción seguida de campos de sincronización e identificación. Los esclavos responden con una trama de datos que consta de 2, 4 u 8 bytes de datos más 3 bytes de información de control. [ 9 ]

Marco de mensaje LIN

Un mensaje contiene los siguientes campos: [ 9 ]

  • Ruptura de sincronización
  • byte de sincronización
  • byte de identificador
  • bytes de datos
  • byte de suma de verificación

Tipos de marco

  1. Trama incondicional. Estas tramas siempre contienen señales y sus identificadores se encuentran en el rango de 0 a 59 (0x00 a 0x3b). Todos los suscriptores de la trama incondicional deben recibirla y ponerla a disposición de la aplicación (siempre que no se hayan detectado errores).
  2. Trama activada por evento. Su propósito es aumentar la capacidad de respuesta del clúster LIN sin asignar demasiado ancho de banda del bus al sondeo de múltiples nodos esclavos con eventos poco frecuentes. El primer byte de datos de la trama incondicional transportada debe ser igual a un identificador protegido asignado a una trama activada por evento. Un esclavo responderá con una trama incondicional asociada solo si su valor de datos ha cambiado. Si ninguna de las tareas esclavas responde a la cabecera, el resto del espacio de trama permanece en silencio y la cabecera se ignora. Si más de una tarea esclava responde a la cabecera en el mismo espacio de trama, se producirá una colisión, y el maestro debe resolverla solicitando todas las tramas incondicionales asociadas antes de volver a solicitar la trama activada por evento.
  3. Trama esporádica. Esta trama es transmitida por el maestro según sea necesario, por lo que no puede producirse una colisión. El encabezado de una trama esporádica solo se enviará en su ranura de trama asociada cuando la tarea maestra sepa que se ha actualizado una señal contenida en la trama. El emisor de la trama esporádica siempre deberá proporcionar la respuesta al encabezado.
  4. Trama de diagnóstico. Estas tramas siempre contienen datos de diagnóstico o configuración y ocho bytes de datos. El identificador es 60 (0x3C), denominada trama de solicitud maestra, o 61 (0x3D), denominada trama de respuesta esclava. Antes de generar la cabecera de una trama de diagnóstico, la tarea maestra consulta a su módulo de diagnóstico si debe enviarse o si el bus debe permanecer inactivo. Las tareas esclavas publican y se suscriben a la respuesta según su módulo de diagnóstico.
  5. Trama definida por el usuario. Estas pueden contener cualquier tipo de información. Su identificador es 62 (0x3E). El encabezado de una trama definida por el usuario siempre se transmite cuando se procesa una ranura de trama asignada a la misma.
  6. Marco reservado. No debe utilizarse en un clúster LIN 2.0. Su identificador es 63 (0x3F).

Hardware LIN

La especificación LIN se diseñó para permitir el uso de nodos de hardware muy económicos dentro de una red. Es una red de bajo costo y de un solo cable basada en ISO 9141. [ 11 ] En las topologías de redes de automóviles actuales, se utilizan microcontroladores con capacidad UART o hardware LIN dedicado. El microcontrolador genera todos los datos LIN necesarios (protocolo...) (en parte) mediante software y se conecta a la red LIN a través de un transceptor LIN (en pocas palabras, un convertidor de nivel con algunos complementos). Funcionar como un nodo LIN es solo una parte de la funcionalidad posible. El hardware LIN puede incluir este transceptor y funcionar como un nodo LIN puro sin funcionalidad adicional.

Dado que los nodos esclavos LIN deben ser lo más económicos posible, pueden generar sus relojes internos mediante osciladores RC en lugar de osciladores de cristal (cuarzo o cerámica). Para garantizar la estabilidad de la velocidad de transmisión dentro de una trama LIN, se utiliza el campo SYNC en la cabecera.

Protocolo LIN

El maestro LIN utiliza una o más tablas de planificación predefinidas para iniciar el envío y la recepción en el bus LIN. Estas tablas contienen, como mínimo, la sincronización relativa en la que se inicia el envío del mensaje. Una trama LIN consta de dos partes: encabezado y respuesta . El encabezado siempre lo envía el maestro LIN, mientras que la respuesta la envía un esclavo LIN dedicado o el propio maestro LIN.

Los datos transmitidos dentro de la red LIN se transmiten en serie como bytes de datos de ocho bits con un bit de inicio, un bit de parada y sin paridad (el campo de interrupción no tiene bit de inicio ni de parada). Las velocidades de bits varían entre 1 kbit/s y 20 kbit/s. Los datos en el bus se dividen en recesivos (nivel lógico ALTO) y dominantes (nivel lógico BAJO). El tiempo normalmente es considerado por la fuente de reloj estable del maestro de la red LIN; la unidad más pequeña es el tiempo de un bit (52 μs a 19,2 kbit/s).   

El protocolo LIN utiliza dos estados de bus : modo de suspensión y estado activo . Mientras haya datos en el bus, se solicita a todos los nodos LIN que se encuentren en estado activo. Tras un tiempo de espera especificado, los nodos entran en modo de suspensión y se reactivan mediante una trama WAKEUP. Esta trama puede ser enviada por cualquier nodo que solicite actividad en el bus, ya sea el Maestro LIN siguiendo su programación interna o uno de los Esclavos LIN conectados, activado por su aplicación de software interna. Una vez que todos los nodos se han activado, el Maestro continúa programando el siguiente identificador.  

El encabezado consta de cinco partes:

BREAK: El campo BREAK se utiliza para activar a todos los esclavos LIN conectados para que escuchen las siguientes partes de la cabecera. Consta de un bit de inicio y varios bits dominantes. Su longitud es de al menos 11 veces la longitud de bits; el uso estándar actual es de 13 veces la longitud de bits, por lo que difiere del formato de datos básico. Esto se utiliza para garantizar que los nodos LIN que escuchan con un reloj principal que difiere de la velocidad de transmisión del bus configurada en rangos específicos detecten el BREAK como la trama que inicia la comunicación y no como un byte de datos estándar con todos los valores cero ( hexadecimal 0x00).

SYNC: SYNC es un byte de formato de datos estándar con un valor hexadecimal de 0x55. Los esclavos LIN que funcionan con un oscilador RC usarán la distancia entre una cantidad fija de flancos ascendentes y descendentes para medir el tiempo de bit actual en el bus (el tiempo normal del maestro) y para recalcular la velocidad de transmisión interna.

ESPACIO ENTRE BYTES: El espacio entre bytes se utiliza para compensar la fluctuación del bus. Es un componente opcional dentro de la especificación LIN. Si se habilita, todos los nodos LIN deben estar preparados para gestionarlo.

Hay un espacio entre bytes entre los campos BREAK y SYNC, uno entre SYNC e IDENTIFIER, uno entre la carga útil y Checksum y uno entre cada byte de datos en la carga útil.

IDENTIFICADOR: El IDENTIFICADOR define una acción que debe realizar uno o varios de los nodos esclavos LIN conectados. El diseñador de la red debe garantizar el funcionamiento sin fallos durante la fase de diseño (un esclavo puede enviar datos al bus en un intervalo de tiempo de trama).

Si el identificador provoca que un esclavo LIN físico envíe la respuesta, se le puede denominar identificador Rx. Si la tarea esclava del maestro envía datos al bus, se le puede denominar identificador Tx.

ESPACIO DE RESPUESTA: El Espacio de Respuesta es el tiempo transcurrido entre el campo IDENTIFICADOR y el primer byte de Datos que inicia la parte de RESPUESTA LIN de la trama LIN. Cuando el MAESTRO LIN transmite una trama LIN completa (encabezado + respuesta), utiliza todo el tiempo del ESPACIO DE RESPUESTA para calcular cuándo enviar la respuesta después de enviar el encabezado. Si la respuesta de la trama LIN proviene de un NODO ESCLAVO físicamente diferente, cada nodo (maestro y esclavo) utilizará el 50 % del tiempo del Espacio de Respuesta en sus cálculos de tiempo de espera.

Respuesta

La respuesta es enviada por una de las tareas esclavas LIN adjuntas y se divide en datos y suma de verificación . [ 9 ]

DATOS: El dispositivo esclavo que responde puede enviar de cero a ocho bytes de datos al bus. La cantidad de datos la determina el diseñador de la aplicación y refleja los datos relevantes para la aplicación en la que se ejecuta el dispositivo esclavo LIN.

SUMA DE VERIFICACIÓN: LIN ofrece dos modelos de suma de verificación: el primero incluye únicamente los bytes de datos (especificación hasta la versión 1.3), mientras que el segundo incluye además el identificador (versión 2.0 o posterior). El diseñador de la aplicación predefine el modelo de suma de verificación utilizado.

Detección de la posición del nodo esclavo (SNPD) o autodireccionamiento

Estos métodos permiten la detección de la posición de los nodos esclavos en el bus LIN y permiten la asignación de una dirección de nodo única (NAD). [ 12 ]

  • Permite conectar dispositivos similares o idénticos en el bus sin necesidad de programación al final de la línea ni programación de los pines del conector.

Restricciones:

  • Todos los esclavos de autodireccionamiento deben estar en una sola línea.
    • Los esclavos estándar se pueden conectar de cualquier manera.

Cable adicional en cadena (XWDC)

Cada nodo esclavo debe proporcionar dos pines adicionales, uno de entrada, D 1 , y uno de salida, D 2 .

  • La primera entrada D1 del nodo SNPD está configurada a tierra (GND) o conectada a la salida del maestro.
    • La salida del primer nodo, D 2 , está conectada a la entrada, D 1 del segundo nodo, y así sucesivamente, dando como resultado una conexión en cadena.

Cada pin de configuración D x (x=1-2) tiene circuitos adicionales para ayudar en la detección de posición.

  1. Resistencia pull-up conmutable a V bat
  2. Conexión a tierra (GND)
  3. Comparador referenciado a V bat /2

Procedimiento de autodireccionamiento XWDC

Al inicio del procedimiento, ningún dispositivo SNPD tiene un NAD asignado.

1 Primer mensaje LIN de direccionamiento automático

1.1 Todas las salidas (D2 ) están configuradas a un nivel alto, todas las resistencias pull-down están desactivadas.
1.2 Se selecciona el primer nodo SNPD. Se identifica por tener la entrada D 1 en nivel bajo (cableado).
1.3 El nodo seleccionado toma la dirección del mensaje de configuración LIN.
1.4 El nodo detectado activa la resistencia de bajada en la salida D 2

2 Mensajes LIN de autodireccionamiento subsiguientes

2.1 Se selecciona el primer nodo SNPD no direccionado. Se identifica por tener la entrada D 1 baja (D 2 del nodo anterior).
2.2 El nodo seleccionado toma la dirección del mensaje de configuración LIN.
2.3 El nodo detectado activa la resistencia de bajada en la salida D2 .
2.4 Los pasos 2.1 a 2.4 se repiten hasta que a todos los nodos esclavos se les asigne una dirección.

3. Todas las resistencias de subida y bajada se desactivan, completando así el procedimiento de direccionamiento.

Método de derivación de bus (BSM)

Cada nodo esclavo tiene dos pines LIN.

  1. autobús
  2. autobús_out

Cada nodo esclavo necesita circuitos adicionales en comparación con los circuitos LIN estándar para ayudar en la detección de posición.

  1. La resistencia pull-up estándar debe ser conmutable.
  2. Fuente de corriente conmutable de 2  mA desde V bat
  3. Resistencia en derivación
  4. Amplificador diferencial
  5. convertidor analógico-digital

Procedimiento de autodireccionamiento BSM

Al inicio del procedimiento, ninguno de los dispositivos SNPD tiene un NAD asignado. La rutina de autodireccionamiento se realiza durante el campo de sincronización. El campo de sincronización se divide en tres fases:

1 Medición de corriente de compensación

1.1 Todas las resistencias pull-up de salida y las fuentes de corriente están desconectadas.
1.2 Se mide la corriente del bus, I offset

2 Modo de tracción

2.1 Las dominadas están encendidas y las fuentes de corriente permanecen apagadas.
2.2 Se mide la corriente del bus, I PU
2.3 Se "seleccionan" los nodos con ΔI = I PU - I offset < 1 mA. 

3 Modo de fuente de corriente

3.1 Algunos nodos activan la fuente de corriente y otros desactivan las resistencias pull-up.
3.2 Se mide la corriente del bus, I CS
3.3 El nodo con ΔI = I CS - I offset < 1  mA se detecta como el último nodo.
3.4 Las fuentes de corriente se desconectan y las resistencias pull-up se conectan.
3.5 El último nodo aceptará la dirección contenida en el mensaje de configuración LIN.

Esta técnica está protegida por las patentes EP 1490772 B1 y US 7091876.

Ventajas de LIN

  • Fácil de usar
  • Componentes disponibles
  • Más económico que CAN y otros buses de comunicaciones.
  • Reducción de arneses
  • Vehículos más fiables
  • Extensión fácil de implementar.
  • No se requiere el pago de ninguna tarifa de licencia de protocolo.

LIN no reemplaza por completo al bus CAN. Sin embargo, el bus LIN es una buena alternativa cuando el bajo costo es fundamental y la velocidad/ancho de banda no es importante. Generalmente, se utiliza en subsistemas que no son críticos para el rendimiento o la seguridad del vehículo; a continuación se muestran algunos ejemplos.

Aplicaciones

Direccionamiento

El direccionamiento en LIN se logra mediante una NAD ( dirección de nodo ) que forma parte del PID (identificador protegido). Los valores de NAD son de 7 bits, por lo que se encuentran en el rango de 1 a 127 (0x7F) y son una composición del ID del proveedor, el ID de la función y el ID de la variante.

Puede obtener un ID de proveedor poniéndose en contacto con CAN in Automation, que es la autoridad responsable de la asignación de dichos identificadores.

Véase también

Diversos autobuses de conectividad para vehículos (automotrices):

Referencias

  1. . "ISO/AWI 17987-8" .
  2. Mary Tamar Tan, Brian Bailey, Han Lin. "Microchip AN2059: Fundamentos de LIN e implementación de la biblioteca de pila LIN de MCC en microcontroladores PIC de 8 bits" .
  3. "ATAN0049: Redes LIN de dos hilos" .
  4. Steve Winder. "Fuentes de alimentación para el control de LED" . pág. 284
  5. "El cuento corto de LIN" Archivado el 12/11/2020 en Wayback Machine .
  6. "Concepto Lin" . Descripción general de LIN . Administración de LIN. Archivado del original el 5 de octubre de 2011. Consultado el 28 de octubre de 2011 .
  7. "Aplicaciones de destino" . Descripción general de LIN . Administración de LIN. Archivado del original el 5 de octubre de 2011. Consultado el 28 de octubre de 2011 .
  8. 1 2 3 "Laboratorio de Electrónica Vehicular de Clemson: AUTOBUSES AUTOMOTRICES" . Archivado del original el 14 de abril de 2012. Recuperado el 14 de enero de 2009 .090114 cvel.clemson.edu
  9. 1 2 3 4 5 Paquete de especificaciones LIN Rev. 2.2a Archivado el 26/04/2008 en Wayback Machine
  10. "Descripción del bus LIN, bus automotriz, red de interconexión local" .090114 interfacebus.com
  11. Descripción técnica de LIN Archivado el 19/07/2011 en Wayback Machine
  12. Anand Gopalan, Akeem Whitehead. "Detección automática de la posición del nodo esclavo (SNPD)" .

Lecturas adicionales

La especificación LIN v2.2A (2010) se transcribió a la familia de documentos de normas oficiales ISO 17987. Las partes 1 a 7 de la norma ISO se publicaron por primera vez en 2016, seguidas de la parte 8 en 2019.

  • ISO 17987-1  :: Vehículos de carretera - LIN Parte 1 - Información general y definición de casos de uso.
  • ISO 17987-2  :: Vehículos de carretera - LIN Parte 2 - Protocolo de transporte y servicios de la capa de red.
  • ISO 17987-3  :: Vehículos de carretera - LIN Parte 3 - Especificación del protocolo.
  • ISO 17987-4  :: Vehículos de carretera - LIN Parte 4 - Especificación de la capa física eléctrica (EPL) 12V / 24V.
  • ISO 17987-5  :: Vehículos de carretera - LIN Parte 5 - Interfaz de programación de aplicaciones (API).
  • ISO 17987-6  :: Vehículos de carretera - LIN Parte 6 - Especificación de prueba de conformidad de protocolo.
  • ISO 17987-7  :: Vehículos de carretera - LIN Parte 7 - Especificación de prueba de conformidad de la capa física eléctrica (EPL).
  • ISO 17987-8  :: Vehículos de carretera - LIN Parte 8 - Especificación de la capa física eléctrica (EPL): LIN sobre línea eléctrica de CC (DC-LIN).
  • Consorcio LIN - sitio web archivado
  • ID de proveedor LIN : autoridad de registro para el ID de proveedor LIN
  • Artículo sobre una implementación de hardware/software libre y de código abierto del protocolo LIN.
  • Calculadora de suma de verificación LIN gratuita en línea
  • Explicación del autobús LIN: una introducción sencilla.
  • Controlador de red LIN educativo