stringtranslate.com

Red de interconexión local

LIN ( Red de interconexión local ) es un protocolo de red utilizado para la comunicación entre componentes en vehículos modernos . Es un protocolo serie 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 pies).

Historia

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

A finales de la década de 1990, cinco fabricantes de automóviles ( BMW , Grupo Volkswagen , Audi , Volvo Cars , 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 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 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 designado por el Consejo de Gestión Técnica (TMB) de ISO como Autoridad de Registro para el ID de Proveedor LIN estandarizado en la serie ISO 17987.

Topología de la 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 las inicia el maestro, no es necesario implementar una detección de colisión . [6]

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

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

Descripción general

El bus LIN es un protocolo de comunicaciones serie económico que soporta eficazmente aplicaciones remotas dentro de la red de un automóvil. Está especialmente destinado a nodos mecatrónicos en aplicaciones automotrices distribuidas, pero es igualmente adecuado para aplicaciones industriales. Su objetivo es complementar la red CAN existente y conducir a redes jerárquicas dentro de los automóviles.

A finales de la década de 1990, cinco fabricantes de automóviles europeos fundaron el Consorcio de la Red de Interconexión Local (LIN), 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 introdujo la versión 2.0 para ampliar las capacidades de configuración y prever importantes funciones de diagnóstico e interfaces de herramientas adicionales.

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 marco

  1. Marco incondicional. Estos siempre transportan 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. Fotograma desencadenado por evento. 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 rara vez ocurren. El primer byte de datos de la trama incondicional transportada será igual a un identificador protegido asignado a una trama activada por evento. Un esclavo responderá con una trama incondicional asociada sólo si su valor de datos ha cambiado. Si ninguna de las tareas esclavas responde al encabezado, el resto de la ranura de la trama permanece en silencio y el encabezado se ignora. Si más de una tarea esclava responde al encabezado en la misma ranura de trama, se producirá una colisión y el maestro tiene que resolver la colisión solicitando todas las tramas incondicionales asociadas antes de solicitar nuevamente la trama activada por evento.
  3. Cuadro esporádico. El maestro transmite esta trama según sea necesario, por lo que no puede producirse una colisión. El encabezado de una trama esporádica sólo se enviará en su intervalo de trama asociado cuando la tarea maestra sepa que una señal transportada en la trama ha sido actualizada. El editor del fotograma esporádico siempre proporcionará la respuesta al encabezado.
  4. Marco de diagnóstico. Estos siempre contienen datos de diagnóstico o de configuración y siempre contienen ocho bytes de datos. El identificador es 60 (0x3C), llamado marco de solicitud maestro, o 61 (0x3D), llamado marco de respuesta esclavo. Antes de generar el encabezado de una trama de diagnóstico, la tarea maestra pregunta a su módulo de diagnóstico si se enviará o si el bus permanecerá en silencio. Las tareas esclavas publican y se suscriben a la respuesta según su módulo de diagnóstico.
  5. Marco definido por el usuario. Estos 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 trama.
  6. Marco reservado. Estos no se utilizarán en un clúster LIN 2.0. Su identificador es 63 (0x3F).

herrajes 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 monofilar de bajo coste 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...) (parcialmente) mediante software y está conectado a la red LIN a través de un transceptor LIN (en pocas palabras, un cambiador de nivel con algunos complementos). Trabajar como nodo LIN es sólo una parte de la funcionalidad posible. El hardware LIN puede incluir este transceptor y funciona como un nodo LIN puro sin funcionalidad adicional.

Como los nodos LIN Slave deberían ser lo más baratos posible, pueden generar sus relojes internos utilizando osciladores RC en lugar de osciladores de cristal (cuarzo o 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 momento relativo en el que se inicia el envío del mensaje. Un marco 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 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 ni de parada). Las velocidades de bits varían dentro del rango de 1  kbit/s a 20 kbit/s. Los datos del bus se dividen en recesivos (lógico ALTO) y dominantes (lógico BAJO). El tiempo normalmente lo considera la fuente de reloj estable del LIN Masters; la entidad más pequeña es el tiempo de un bit (52 μs a 19,2 kbit/s).

Dentro del 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 específico, los nodos entran en modo de suspensión y serán liberados nuevamente al estado activo mediante una trama DE DESPERTAR. 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 se despiertan todos los nodos, el Maestro continúa programando el siguiente Identificador.

Encabezamiento

El encabezado consta de cinco partes:

BREAK: El campo BREAK se utiliza para activar todos los esclavos LIN conectados para escuchar las siguientes partes del encabezado. Consta de un bit inicial y varios bits dominantes. La longitud es de al menos 11 bits; El uso estándar hoy en día son tiempos de 13 bits y, por lo tanto, difiere del formato de datos básico. Esto se utiliza para garantizar que los nodos LIN de escucha con un reloj principal diferente de la velocidad en baudios del bus establecida en rangos especificados detecten la INTERRUPCIÓN 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 funcionan con un 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 de baudios interna.

ESPACIO INTERBYTE: 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 de la carga útil.

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

Si el identificador hace que un esclavo LIN físico envíe la respuesta, el identificador puede denominarse identificador Rx. Si la tarea esclava 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 RESPUESTA LIN de la trama LIN. Cuando una trama LIN particular se transmite completamente, encabezado + respuesta, por LIN MASTER, LIN MASTER utilizará el TIEMPO DE ESPACIO DE RESPUESTA completo 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 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 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 dentro de LIN: la primera es la suma de verificación que incluye solo los bytes de datos (especificación hasta la versión 1.3), el segundo incluye el identificador además (versión 2.0+). El modelo de suma de comprobació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 cable adicional (XWDC)

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

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

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

Procedimiento de direccionamiento automático 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 (D 2 ) están configuradas en un nivel alto, todos los menús desplegables están apagados
1.2 Se selecciona el primer nodo SNPD. Se identifica por tener la entrada D 1 baja (cableada).
1.3 El nodo seleccionado toma la dirección del mensaje de configuración LIN
1.4 El nodo detectado activa el menú desplegable en la salida D 2

2 mensajes LIN de direccionamiento automático posteriores

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 el menú desplegable en la salida D 2
2.4 Los pasos 2.1-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 apagan completando el procedimiento de direccionamiento

Método de derivación de autobús (BSM)

Cada nodo esclavo tiene dos pines LIN

  1. autobús_en
  2. bus_out

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. El pull-up 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. Conversor analógico a digital

Procedimiento de direccionamiento automático 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 compensada

1.1 Todas las salidas pull-ups y fuentes de corriente están apagadas
1.2 Se mide la corriente del bus, la compenso

2 modos de dominadas

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 Se "seleccionan" los nodos con ΔI = I PU - I offset < 1 mA

3 Modo de fuente actual

3.1 Los nodos seleccionados encienden la fuente de corriente y otros apagan los pull-ups
3.2 Se mide la corriente del bus, I CS
3.3 Nodo con ΔI = I CS - Se detecta un desplazamiento I < 1 mA como último nodo
3.4 Las fuentes de corriente se apagan y los pull-ups se encienden
3.5 El último nodo aceptará la dirección contenida en el mensaje de configuración LIN

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

Ventajas de LIN

LIN no es un reemplazo completo del bus CAN. Pero el bus LIN es una buena alternativa cuando los costes bajos son esenciales y la velocidad/ancho de banda no es importante. Normalmente, se utiliza dentro de 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 (Dirección de Nodo) que forma parte del PID (identificador protegido). Los valores de NAD están en 7 bits, por lo que están en el rango de 1 a 127 (0x7F) y son una composición de ID de proveedor, ID de función e ID de variante.

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

Ver también

Varios autobuses de conectividad para vehículos (automotores):

Referencias

  1. ^ . "ISO/AWI 17987-8".
  2. ^ María Tamar Tan, Brian Bailey, Han Lin. "Microchip AN2059: conceptos básicos de LIN e implementación de la biblioteca de pila LIN MCC en microcontroladores PIC de 8 bits".
  3. ^ "ATAN0049: Red LIN de dos cables".
  4. ^ Steve Winder. "Fuentes de alimentación para conducción LED". pag. 284
  5. ^ "El cuento de LIN".
  6. ^ "Concepto Lin". Descripción general de LIN . Administración 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 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. ^ Paquete de especificación LIN abcde Rev. 2.2a Archivado el 26 de abril de 2008 en Wayback Machine.
  10. ^ "Descripción del autobús LIN, autobús automotriz, red de interconexión local".090114 interfazbus.com
  11. ^ Descripción general 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)".

Otras lecturas

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 ISO se publicaron por primera vez en 2016, seguidas de la parte 8 en 2019.

enlaces externos