FlexRay
FlexRay es un protocolo de comunicaciones de red automotriz desarrollado por el FlexRay Consortium para controlar la informática a bordo de los automóviles. Está diseñado para ser más rápido y fiable que CAN y TTP, pero también es más caro. El consorcio FlexRay se disolvió en 2009, pero el estándar FlexRay es ahora un conjunto de estándares ISO, ISO 17458-1 a 17458-5.
FlexRay es un bus de comunicación diseñado para garantizar altas velocidades de datos, tolerancia a fallos, funcionamiento en un ciclo de tiempo, dividido en segmentos estáticos y dinámicos para comunicaciones activadas por eventos y por tiempo.
Características
FlexRay admite velocidades de datos de hasta 10 Mbit/s, admite explícitamente topologías físicas en estrella y en bus y puede tener dos canales de datos independientes para tolerancia a fallos (la comunicación puede continuar con ancho de banda reducido si un canal está inoperativo). El autobús opera en un ciclo de tiempo, dividido en dos partes: el segmento estático y el segmento dinámico. El segmento estático está preasignado en segmentos para tipos de comunicación individuales, lo que proporciona un determinismo más fuerte que su predecesor CAN. El segmento dinámico funciona más como CAN, con nodos que toman el control del bus según esté disponible, lo que permite un comportamiento activado por eventos.
Consorcio
El Consorcio FlexRay estaba formado por los siguientes miembros principales:
- Freescale Semiconductor
- Bosch
- NXP Semiconductors
- BMW
- Volkswagen
- Daimler
- General Motors
También hubo miembros Premium Associate y Associate del consorcio FlexRay. En septiembre de 2009, había 28 miembros asociados premium y más de 60 miembros asociados. A finales de 2009 el consorcio se disolvió.
Implementación comercial
El primer vehículo de producción en serie con FlexRay fue a finales de 2006 en el BMW X5 (E70), permitiendo un nuevo y rápido sistema de amortiguación adaptativo. El uso completo de FlexRay se introdujo en 2008 en el nuevo BMW Serie 7 (F01).
Vehículos
- Audi A4 (B9) (2015–)
- Audi A5 (F5) (2016–)
- Audi A6 (C7) (2011–2018)
- Audi A7
- Audi A8 (D4) (2010-2017)
- Audi Q7 (2015–)
- Audi TT Mk3 (2014–2023)
- Audi R8 (2015–2023)
- Bentley Flying Spur (2013-2019)
- Bentley Mulsanne (2010–2020)
- BMW X5 (E70) (2006–2013)
- BMW X6 (E71) (2008–2014)
- BMW 1 serie
- BMW 3 Series
- Serie BMW 5 (2009–2017)
- BMW 6 Series (2011–2018)
- BMW 7 Series (2008–2015)
- Lamborghini Huracán
- Mercedes-Benz S-Class (W222) (2013–2020)
- Mercedes-Benz S-Class (C217) (2014–2020)
- Mercedes-Benz E-Class (W213) (2016–2023)
- Mercedes-Benz C-Class (W205) (2015-2023)
- Mercedes-Benz Clase C (W206) (2021–)
- Mercedes-Benz S-Class (W223) (2020–)
- Rolls-Royce Ghost (2009–)
- Land Rover
- Volvo XC90 (2015–)
Detalles
Reloj
El sistema FlexRay consta de un bus y ECU (unidad de control electrónico). Cada ECU tiene un reloj independiente. La desviación del reloj no debe ser superior al 0,15 % con respecto al reloj de referencia, de modo que la diferencia entre el reloj más lento y el más rápido del sistema no sea superior al 0,3 %.
Esto significa que, si la ECU-s es un emisor y la ECU-r es un receptor, entonces por cada 300 ciclos del emisor habrá entre 299 y 301 ciclos del receptor. Los relojes se resincronizan con suficiente frecuencia para garantizar que esto no cause problemas. El reloj se envía en el segmento estático.
Brocas en el autobús
Promedio correcto en caso de no errores. La señal se retrasa sólo por 2 ciclos. | ||||||||||||||||||||||||||||||||||||
Se cancelan los errores cerca de la mitad de la región de 8 ciclos. | ||||||||||||||||||||||||||||||||||||
Los errores cerca del límite de la región de 8 ciclos pueden afectar el bit límite. |
En cada momento, sólo una ECU escribe en el bus. Cada bit a enviar se mantiene en el bus durante 8 ciclos de reloj de muestra. El receptor mantiene un buffer de las últimas 5 muestras y utiliza la mayoría de las últimas 5 muestras como señal de entrada.
Los errores de transmisión de un solo ciclo pueden afectar los resultados cerca del límite de los bits, pero no afectarán los ciclos en el medio de la región de 8 ciclos.
Bits muestreados
El valor del bit se muestrea en el medio de la región de 8 bits. Los errores se trasladan a los ciclos extremos y el reloj se sincroniza con la frecuencia suficiente para que la deriva sea pequeña. (La deriva es menor que 1 ciclo cada 300 ciclos y durante la transmisión el reloj se sincroniza más de una vez cada 300 ciclos).
Marco
Toda la comunicación se envía en forma de marcos. El mensaje consta de bytes {}x0,x1,... ... ,xm− − 1}{displaystyle {x_{0},x_{1},dotsx_{m-1}}, empaquetado de la siguiente manera:
- Transmission Start Signal (TSS) – bit 0
- Frame Start Signal (FSS) – bit 1
- m veces:
- Byte Start Signal 0 (BSS0) – bit 1
- Byte Start Signal 1 (BSS1) – bit 0
- 0th bit of i-th byte
- 1er bit of i-th byte
- 2o pedazo de i-th byte
- ...
- 7a parte i-th byte
- Frame End Signal (FES) – bit 0
- Signal final de transmisión (TES) – bit 1
Si no se comunica nada, el bus se mantiene en el estado 1 (alto voltaje), por lo que cada receptor sabe que la comunicación comenzó cuando el voltaje cae a 0.
El receptor sabe cuándo se completa el mensaje comprobando si se recibió BSS0 (1) o FES (0).
Tenga en cuenta que 8 ciclos por bit no tienen nada que ver con los bytes. Cada byte tarda 80 ciclos en transferirse. 16 para BSS0 y BSS1 y 64 para sus bits. Tenga en cuenta también que BSS0 tiene el valor 1 y BSS1 tiene el valor 0.
Sincronización de reloj
Los relojes se resincronizan cuando la señal votada cambia de 1 a 0, si el receptor estaba en estado inactivo o esperando BSS1.
Como la sincronización se realiza en la señal votada, pequeños errores de transmisión durante la sincronización que afectan los bits límite pueden sesgar la sincronización no más de 1 ciclo. Como hay como máximo 88 ciclos entre sincronizaciones (BSS1, 8 bits del último byte, FES y TES - 11 bits de 8 ciclos cada uno), y la deriva del reloj no es mayor que 1 por 300 ciclos, la deriva puede sesgar el reloj. no más de 1 ciclo. Pequeños errores de transmisión durante la recepción pueden afectar sólo a los bits límite. Entonces, en el peor de los casos, los dos bits intermedios son correctos y, por lo tanto, el valor muestreado es correcto.
Aquí hay un ejemplo de un caso particularmente grave: error durante la sincronización, un ciclo perdido debido a una desviación del reloj y un error en la transmisión.
Errores que ocurrieron en el ejemplo:
- Debido a un error de un solo bit durante la sincronización, la sincronización se retrasó en 1 ciclo
- El reloj receptor fue más lento que el reloj del remitente, por lo que el receptor perdió un ciclo (marcado X). Esto no volverá a suceder antes de la siguiente sincronización debido a los límites de la máxima deriva de reloj permitido.
- Debido a un error de un solo bit durante la transmisión, un poco fue votado incorrectamente cerca del resultado.
A pesar de tantos errores, la comunicación se recibió correctamente.
Las celdas verdes son puntos de muestreo. Todos, excepto el primero, están sincronizados por el flanco 1->0 en el fragmento de transmisión que se muestra.
Signal to be sent | 1 | 0 | 1 | 0 | 1 | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Signal sent | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
En el autobús | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 |
Recibidos | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | X | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 |
5-maj votado | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | X | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 |
Herramientas de desarrollo
Al desarrollar y/o solucionar problemas del bus FlexRay, el examen de las señales del hardware puede ser muy importante. Los analizadores lógicos y analizadores de bus son herramientas que recopilan, analizan, decodifican y almacenan señales para que las personas puedan ver las formas de onda de alta velocidad en su tiempo libre.
El futuro de FlexRay
Ethernet puede reemplazar a FlexRay para aplicaciones que requieren un uso intensivo de ancho de banda y no son críticas para la seguridad.
Contenido relacionado
Spl (Unix)
Familia de arquitectura ARM
10BASE5
Altair 8800
Acceso múltiple por división de tiempo