stringtranslate.com

Red de interconexión local

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

Historia

La necesidad de una red serial barata surgió a medida que las tecnologías y las facilidades implementadas en el automóvil crecieron, mientras que el bus CAN era demasiado costoso de implementar para cada componente del automóvil. Los fabricantes de automóviles europeos comenzaron a utilizar diferentes tecnologías de comunicación serial, lo que generó problemas de compatibilidad.

A finales de los años 90, cinco fabricantes de automóviles ( BMW , Volkswagen Group , Audi , Volvo Cars y Mercedes-Benz ) fundaron el Consorcio LIN , con las tecnologías suministradas (experiencia en redes y hardware) de Volcano Automotive Group y Motorola . La primera versión totalmente implementada de la nueva especificación LIN (LIN versión 1.3) se publicó en noviembre de 2002. En septiembre de 2003, se presentó la versión 2.0 para ampliar las capacidades y prever 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 de ISO (TMB) como 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 transmisión que comprende 16 nodos (un maestro y hasta 15 esclavos). [2] [3] [4] [5]

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

El maestro y los esclavos suelen ser microcontroladores , pero pueden implementarse en hardware especializado o ASIC para ahorrar costes, espacio o energía.

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

Descripción general

El bus LIN es un protocolo de comunicación en serie económico que permite realizar aplicaciones remotas dentro de la red de un automóvil. Está especialmente pensado para nodos mecatrónicos en aplicaciones distribuidas de automoción, pero también es adecuado para aplicaciones industriales. Su objetivo es complementar la red CAN existente y dar lugar a redes jerárquicas dentro de los automóviles.

A finales de los años 90, cinco fabricantes de automóviles europeos, Mentor Graphics (antes Volcano Automotive Group) y Freescale (antes Motorola , ahora NXP ), fundaron el Consorcio de la Red de Interconexión Local (LIN) . La primera versión totalmente implementada de la nueva especificación LIN se publicó en noviembre de 2002 como versión LIN 1.3. En septiembre de 2003 se presentó la versión 2.0 para ampliar las capacidades de configuración y prever importantes funciones de diagnóstico adicionales e interfaces de herramientas.

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

Los datos se transfieren a través del bus en mensajes de formato fijo de longitudes seleccionables. La tarea maestra transmite un encabezado que consta de una señal de interrupción seguida de campos de sincronización e identificador. 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]

Tipos de marcos

  1. Trama incondicional. Estas siempre llevan señales y sus identificadores están en el rango de 0 a 59 (0x00 a 0x3b). Todos los suscriptores de la trama incondicional recibirán la trama y la pondrán a disposición de la aplicación (suponiendo que no se hayan detectado errores).
  2. Trama activada por eventos. El propósito de esto 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 que ocurren raramente. El primer byte de datos de la trama incondicional transportada debe ser igual a un identificador protegido asignado a una trama activada por eventos. Un esclavo debe responder con una trama incondicional asociada solo si su valor de datos ha cambiado. Si ninguna de las tareas esclavas responde al encabezado, el resto de la ranura de trama permanece en silencio y se ignora el encabezado. Si más de una tarea esclava responde al encabezado en la misma ranura de trama, se producirá una colisión y el maestro debe resolver la colisión solicitando todas las tramas incondicionales asociadas antes de solicitar nuevamente la trama activada por eventos.
  3. Trama esporádica. Esta trama la transmite 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 transportada en la trama. El publicador de la trama esporádica siempre proporcionará la respuesta al encabezado.
  4. Trama de diagnóstico. Estas siempre llevan datos de diagnóstico o configuración y siempre contienen ocho bytes de datos. El identificador es 60 (0x3C), llamado trama de solicitud maestra, o 61 (0x3D), llamado trama de respuesta esclava. Antes de generar el encabezado de una trama de diagnóstico, la tarea maestra pregunta a su módulo de diagnóstico si debe enviarse o si el bus debe permanecer en silencio. Las tareas esclavas publican y se suscriben a la respuesta según su módulo de diagnóstico.
  5. Trama definida por el usuario. Pueden llevar 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 trama.
  6. Marco reservado. No se deben utilizar en un clúster LIN 2.0. Su identificador es 63 (0x3F).

Hardware LIN

La especificación LIN fue diseñada para permitir el uso de nodos de hardware muy económicos dentro de una red. Es una red de un solo cable de bajo costo 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) por software y está conectado a la red LIN a través de un transceptor LIN (simplemente hablando, un cambiador de nivel con algunos complementos). Trabajar 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 agregada.

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

Protocolo LIN

El LIN-Master utiliza una o más tablas de programación predefinidas para iniciar el envío y la recepción al bus LIN. Estas tablas de programación contienen al menos el tiempo relativo en el 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 LIN Master, mientras que la respuesta la envía un LIN-Slave dedicado o el propio LIN Master.

Los datos transmitidos dentro del 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 un bit de inicio o de parada). Las velocidades de bits varían dentro del rango de 1  kbit/s a 20 kbit/s. Los datos en el bus se dividen en recesivos (lógico ALTO) y dominantes (lógico BAJO). El tiempo normalmente es considerado por la fuente de reloj estable de los maestros LIN, la entidad más pequeña es un tiempo de bit (52 μs a 19,2 kbit/s).

En el protocolo LIN se utilizan dos estados de bus: modo de suspensión y activo. Mientras los datos están en el bus, se solicita a todos los nodos LIN que estén en estado activo. Después de un tiempo de espera especificado, los nodos entran en modo de suspensión y se liberan de nuevo al estado activo mediante una trama de ACTIVACIÓN. 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 que se activan mediante su aplicación de software interna. Una vez que se activan todos los nodos, el maestro continúa programando el próximo identificador.

Encabezamiento

El encabezado consta de cinco partes:

BREAK: El campo BREAK se utiliza para activar todos los esclavos LIN conectados para que escuchen las siguientes partes del encabezado. Consta de un bit de inicio y varios bits dominantes. La longitud es de al menos 11 bits; el uso estándar actual es de 13 bits y, por lo tanto, difiere del formato de datos básico. Esto se utiliza para garantizar que los nodos LIN que escuchan con un reloj principal diferente de la velocidad en baudios del bus establecida 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 0x55. Los esclavos LIN que se ejecutan en el oscilador RC utilizará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 en baudios interna.

ESPACIO ENTRE BYTES: el espacio entre bytes se utiliza para ajustar la fluctuación del bus. Es un componente opcional dentro de la especificación LIN. Si está habilitado, todos los nodos LIN deben estar preparados para manejarlo.

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

IDENTIFICADOR: El IDENTIFICADOR define una acción que debe ser realizada por uno o varios de los nodos esclavos LIN conectados. El diseñador de la red debe garantizar el funcionamiento sin fallos en la fase de diseño (se permite que un esclavo envíe datos al bus en un intervalo de tiempo).

Si el identificador hace que un esclavo LIN físico envíe la respuesta, el identificador puede denominarse identificador Rx. Si la tarea del esclavo del maestro envía datos al bus, puede denominarse identificador Tx.

ESPACIO DE RESPUESTA: El espacio de respuesta es el tiempo entre el campo IDENTIFICADOR y el primer byte de datos que inicia la parte de RESPUESTA LIN de la trama LIN. Cuando una trama LIN particular se transmite completamente, Encabezado + Respuesta, por el LIN MASTER, el LIN MASTER utilizará todo el TIEMPO DE ESPACIO DE RESPUESTA para calcular cuándo enviar la respuesta después de enviar el encabezado. Si la parte de respuesta de la trama LIN proviene de un NODO ESCLAVO físicamente diferente, entonces cada nodo (maestro y esclavo) utilizará el 50% del tiempo de 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 comprobación . [9]

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

SUMA DE VERIFICACIÓN: Hay dos modelos de suma de verificación disponibles en LIN: el primero es la suma de verificación que incluye únicamente los bytes de datos (especificación hasta la versión 1.3), el segundo incluye además el identificador (versión 2.0+). El modelo de suma de verificación utilizado está predefinido por el diseñador de la aplicación.

Detección de posición del nodo esclavo (SNPD) o direccionamiento automático

Estos métodos permiten detectar 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]

Restricciones:

Conexión en cadena de cables adicionales (XWDC)

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

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

  1. Pull-up resistivo conmutable a V bat
  2. Bajada a GND
  3. Comparador referenciado a Vbat / 2

Procedimiento de direccionamiento automático de XWDC

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

1 Primer mensaje LIN con direccionamiento automático

1.1 Todas las salidas (D 2 ) están configuradas a un nivel alto, todos los pull-downs están desactivados
1.2 Se selecciona el primer nodo SNPD. Se identifica por tener la entrada D1 baja (cableada).
1.3 El nodo seleccionado toma la dirección del mensaje de configuración LIN
1.4 El nodo detectado activa el pull-down en la salida D 2

2 mensajes LIN de direccionamiento automático subsiguientes

2.1 Se selecciona el primer nodo SNPD no direccionado. Se identifica por tener la entrada D1 baja (D2 del nodo anterior).
2.2 El nodo seleccionado toma la dirección del mensaje de configuración LIN
2.3 El nodo detectado activa el pull-down en la salida D 2
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 Todos los pull-ups y pull-downs se desactivan completando el procedimiento de direccionamiento.

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

Cada nodo esclavo tiene dos pines LIN

  1. autobús_en
  2. autobús_fuera

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

  1. La dominada estándar debe ser conmutable
  2. Fuente de corriente conmutable de 2 mA desde V bat
  3. Resistencia de derivación
  4. Amplificador diferencial
  5. Convertidor analógico a digital

Procedimiento de direccionamiento automático de BSM

Al inicio del procedimiento, ninguno de los dispositivos SNPD tiene un NAD asignado. La rutina de direccionamiento automático 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 salidas pull-up y las fuentes de corriente están apagadas
1.2 Se mide la corriente del bus, I offset

2 Modo pull-up

2.1 Los pull-ups están activados y las fuentes de corriente permanecen apagadas
2.2 Se mide la corriente del bus, I PU
2.3 Los nodos con ΔI = I PU - I offset < 1 mA están "seleccionados"

3 Modo de fuente actual

3.1 Los nodos seleccionados activan la fuente actual y otros desactivan los pull-ups
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 están apagadas y los pull-ups están encendidos
3.5 El último nodo aceptará la dirección contenida en el mensaje de configuración LIN

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

Ventajas de LIN

El bus LIN no es un reemplazo completo del bus CAN, pero es una buena alternativa cuando los costos son esenciales y la velocidad o el ancho de banda no son importantes. Por lo general, se utiliza en subsistemas que no son críticos para el rendimiento o la seguridad del vehículo; a continuación se ofrecen algunos ejemplos.

Aplicaciones

Direccionamiento

El direccionamiento en LIN se logra con un NAD (Node ADdress) que es parte del PID (protected identifier). Los valores NAD están en 7 bits, es decir, en el rango de 1 a 127 (0x7F) y están compuestos por el ID del proveedor, el ID de la función y el ID de la variante.

Puede obtener un ID de proveedor contactando a CAN in Automation , que es la autoridad responsable de la asignación de dichos identificadores.

Véase también

Varios buses de conectividad de vehículos (automotrices):

Referencias

  1. ^ . "ISO/AWI 17987-8".
  2. ^ Mary Tamar Tan, Brian Bailey, Han Lin. "Microchip AN2059: Conceptos básicos 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 cables".
  4. ^ Steve Winder. "Fuentes de alimentación para el control de LED". pág. 284
  5. ^ "El cuento corto de LIN".
  6. ^ "Concepto de Lin". Descripción general de LIN . Administración de LIN. Archivado desde el 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 desde el original el 5 de octubre de 2011. Consultado el 28 de octubre de 2011 .
  8. ^ abc "Laboratorio de Electrónica Vehicular de Clemson: AUTOBUSES AUTOMOTRICES". Archivado desde el original el 14 de abril de 2012. Consultado el 14 de enero de 2009 .090114 cvel.clemson.edu
  9. ^ abcde Paquete de especificaciones LIN Rev. 2.2a Archivado el 26 de abril de 2008 en Wayback Machine
  10. ^ "Descripción del bus LIN, bus automotriz, red de interconexión local".090114 interfazbus.com
  11. ^ Descripción técnica de LIN Archivado el 19 de julio de 2011 en Wayback Machine
  12. ^ Anand Gopalan, Akeem Whitehead. "Detección automática de la posición del nodo esclavo (SNPD)".

Lectura adicional

La especificación LIN v2.2A (2010) se transcribió en 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.

Enlaces externos