Moisés Vallejo Rodríguez
Mecatronica del Auto
FLEXRAY
Introducción:
FlexRay es un nuevo protocolo de comunicaciones para buses de datos en el automóvil desarrollado por el consorcio FlexRay entre 2000 y 2009. Se considera un protocolo de comunicación más avanzado que el CAN y el MOST en lo relativo al precio y a las prestaciones. DESARROLLO:
Flexray es un protocolo soportado por las firmas BMW AG, General Motors corporation, Robert Bosch GmbH y Volkswagen AG entre otros, Flexray implementa una arquitectura con tiempos de respuesta conocidos, utilizando el esquema de acceso multiple por división en el tiempo TMDA Time Division Múltiple Access, ademas soporta hasta una velocidad maxima de hasta 10Mbps, con los que se pueden enviar y recibir mensajes practicamente en tiempo real, respecto a las aplicaciones automotrices.
Índice:
1. Objetivo
2. Desarrollo
3. Topologías de red
4. Características de flexray
5. Parametros
6. Protocolo de transmisión
7. Diferencias entre CAN y FLEXRAY
8. Adaptación a un nodo
9. Resumen
10. Mapa Mental
11. Referencias
Objetivo:
Este informe se hace con la finalidad de conocer el protocolo de flexray, conociendo su metodo de acceso al medio y las partes que la conforman a nivel software y hardware, tambien se daran a conocer las diferencias que tiene con el sistema CAN.
Desarrollo:
Un nodo Flexray está formado esencialmente por un microcontrolador, un periférico llamado Communication Controller, 2 transceivers y una fuente de alimentación. El micro-controlador es el propio de la ECU, el cual seguramente realiza otras funciones externas propias de la ECU y que cada cierto tiempo envía y recibe una trama de información al bus Flexray. Para ello se comunica con el Communication Controller (CC), que no es más que un periférico hardware que gestiona en todo momento el protocolo. Es decir, el microcontrolador no se encarga de la pila del protocolo, si no que lo gestiona todo el CC. Así pues, el CC se comunica a su vez con los transceivers que se encargan de transformar los datos lógicos a niveles eléctricos de Bus. Flexray dispone de 2 canales de comunicación, lo que requiere un transceiver para cada canal. Entre los diferentes bloques mencionados existen líneas optativas de señalización para determinadas situaciones. Esto será explicado más adelante con más detalle.
Topologías de red.
Flexray permite un amplio abanico de topologías de red. El hecho de tener 2 canales independientes aporta además otro grado de libertad, pudiendo hacer para cada canal una configuración de nodos diferente.
En el caso que conectemos más nodos podemos hacerlo de manera pasiva o de manera activa.
La interconexión básica entre dos nodos responde al siguiente esquema:
Topología de bus:
Es la topología más básica y una de las más usadas. Se puede apreciar como es posible que un nodo se conecte a los dos canales (por ejemplo en el caso que este nodo representara una función crítica del sistema) mientras que otros nodos se conectan a uno de los dos canales. Las limitaciones más importantes a tener en cuenta en esta topología son: Longitud del bus 24m. Número máximo de nodos conectados al bus mediante stubs 22 mínima distancia entre stubs 15cm
Topología de estrella:
La cual tiene las mismas limitaciones que el anterior. Eso sí se limita el uso de la Passive Star a un máximo de 1 ‘splice’ (empalme). La idea de la Passive Star es que todos los nodos se unen en un solo punto.
Topologías con Active Stars:
Estas topologías hacen uso del elemento repetidor Active Star. Este elemento
de bus es capaz de desacoplar eléctricamente las diferentes ramas a las cual
está conectado, además de regenerar la señal aunque por otro lado introduce
retardos. Se les puede dotar de cierta inteligencia consiguiendo un ruteado del
mensaje, todo y que esto acumularía aún más retardo. También pueden
desconectar una rama de la red si detectan un mal funcionamiento. Las
limitaciones en este caso son:
Distancia máxima de un nodo al Active Star 24m
Longitud máxima entre dos AS 24m
Número máximo de AS en cascada 2
Es posible crear una red a base de la unión de topologías básicas, todo y que no es muy recomendable ya que son topologías no estándar y poco probadas. En estos casos, las limitaciones son una mezcla de las topologías básicas que entrañe. La gran ventaja de estas topologías es su versatilidad.
Características de Flexray:
Sus características más destacadas son:
Una alta transmisión de datos (10 megabits por segundo)
Un comportamiento estimulado por factores temporales
Redundancia, seguridad y tolerancia de errores
Las especificaciones de éste protocolo están siendo actualmente revisadas. El primer vehículo del mercado que contaba con ésta tecnología fue el BMW X5, lanzado al mercado en Enero de 2007. Este vehículo se basa en ésta tecnología para comunicar los sensores en los amortiguadores con una centralita electrónica central que sirve como reguladora. El objetivo de este sistema es una respuesta rápida a las asperezas de la carretera para lograr un conducción lo más suave posible. Se espera el uso de esta tecnología a gran escala en el 2008. La versión actual es la 3.0 (2009).
PARÁMETROS DE CABLEADO:
PARÁMETROS DE CONECTORES:
Flexray usa una partición del tiempo entre los diferentes nodos. Es decir, si el ciclo dura 4 segundos y hay 4 nodos, cada nodo disfrutará para sí solo de un segundo para transmitir cada 4 segundos.
Protocolo de transmisión:
Flexray es en realidad un protocolo mixto, pues dispone en su tiempo de ciclo de un segmento determinístico y otro orientado a eventos. Todo esto es configurable y aporta flexibilidad al protocolo. Por otro lado, estas funciones y el control del tiempo y sincronización de los nodos hacen de Flexray un protocolo más complicado y al cual se le atribuyen más funciones al CC (Communication Controller). Otro aspecto es que Flexray multiplica por 10 la tasa de transmisión máxima del CAN.
Diferencias entre can y flexray:
Diferencias entre can y flexray a nivel fisico:
Para dotar a un nodo de la tecnología Flexray necesitaremos:
• 1. Un microcontrolador encargado de la gestión de la aplicación de alto nivel. Seguramente se encargará de otras funciones propias de la ECU (sensores, actuadores...)
• Un Controlador Flexray (Communication Controller o CC). En un futuro la mayoría de nodos lo llevarán integrado en el microcontrolador. Nosotros haremos el diseño considerándolo externo para aportar más información.
• Dos transceivers (o Bus Drivers). Necesitaremos un transceiver para cada Canal.
• Un regulador de voltaje. Podrían haber soluciones de diseño con varios reguladores, nosotros partiremos de una situación general con un solo regulador.
• Un oscilador para el microcontrolador y otro para el Communication controller.
• Conectores y cables para el bus.
• Resistencias, condensadores, diodos...
El microcontrolador:
El microcontrolador de la ECU no es vinculante a Flexray. Dependiendo de las prestaciones y requerimientos de la ECU se escogerá uno u otro, pero sí que hay aspectos a tener en cuenta. Por ejemplo, si partimos de que tenemos el CC fuera del microcontrolador, tendremos que comunicarnos con él. Normalmente los CC externos ofrecen varias maneras de comunicarse con ellos como son el SPI o el bus paralelo. Así pues habrá que escoger un microcontrolador que ofrezca al menos una de estas opciones. También hay que tener en cuenta que nos puede interesar tener varios puertos de interrupción ya que los CC suelen ofrecer unas 4 líneas de interrupción para agilizar la comunicación con el microcontrolador.
Dependiendo de la aplicación de alto nivel que desarrolle la ECU podría servir desde uno de 8 bits sencillo como el MC9S08DZ60 de Freescale (40Mhz, 64 pines, 60k FLASH) hasta uno potente como el MB91F467DA de Fujitsu (96Mhz, 208 pines,1Mb Flash)
El Communication Controller (CC):
El Communication Controller puede estar integrado en el microcontrolador o no. Nosotros estudiaremos el caso en que no lo está. Como controladores externos existen varias opciones en el mercado pero todas con un encapsulado similar y basadas en la misma IP E-RAY de Bosch. Los fabricantes más evolucionados en este aspecto son Freescale y Fujitsu, aunque recientemente se han unido Infineon y Nec. Las 4 opciones son muy parecidas y nosotros tomaremos como referencia el MB88121B de Fujitsu por considerar que es el más completo.
El transceiver:
En Flexray son necesarios 2 transceivers, uno por Canal. A día de hoy, el fabricante mejor posicionado en este ámbito es NXP (Phillips) con su TJA1080. Ha sido el pionero, y en breve sacará una versión con mejoras en el silicio. Otros fabricantes en el mercado o próximos al mercado son Austriamicrosystems y Infineon. Nos vamos a fijar en el TJA1080 de NXP por ser el más común, aunque en general todos tienen el mismo comportamiento.
Estados del transceiver :
Los estados en los que puede estar el transceiver son Normal mode, Receiveonly mode, Standby mode, go-to-sleep mode y sleep mode.
Al alimentarse, el transceiver entrará por defecto en el Stanby Mode.
A partir de aquí, según las indicaciones del microcontrolador por vía de los pines STBN y EN cambiará o no el estado.
• Normal mode: En modo normal, el transceiver puede transmitir y recibir del bus Flexray y comunicarse con el controlador.
• Receive-only mode: En este modo, el transceiver sólo puede recibir símbolos del bus.
• Standby mode: Es un modo de ahorro de energía. Ni transmite ni recibe aunque mantiene activo el receptor de baja energía para detectar posibles símbolos Wake-up. En este modo, si no hay un flag de wake activado (que significa que no hay orden de levantar el nodo) deja el pin INH2 flotando, lo que nos podría servir para deshabilitar un regulador de voltaje, por ejemplo. El pin INH1 sigue en HIGH.
• Go-to-sleep mode: Estado transición hacia Sleep mode.
• Sleep mode: Es un modo de ahorro de energía. En este estado tanto el pin INH1 como el INH2 están flotando. Así pues, podríamos inhibir dos reguladores de voltaje. Podemos volver a activar el transceiver ya que en todo momento disponemos de la tensión de batería y de VIO, que nos permiten detectar un flanco positivo en el pin STBN y Cambiar de modo del transceiver, activando de nuevo los reguladores de voltaje.
Regulador de voltaje:
Este bloque no es exclusivo de Flexray pero sí que nos puede interesar un
cierto rango de reguladores dentro del amplio abanico que hay en el mercado.
Flexray tiene destinado su uso principal en el sector de la automoción. Si
vamos a diseñar una ECU para este sector necesitaremos un regulador de
voltaje de automoción. En consecuencia, que admita una tensión de entrada de
12V capaz de gestionar los transitorios propios de la automoción, que disponga
de watchdog, de enable y wake.
El CC necesita un oscilador de una tolerancia máxima de 1500ppm. Esto es debido a la importancia de la sincronización en la red Flexray.
Los conectores para el bus Flexray no son un factor crítico, y igual que pasa con CAN interesa que sean de bajo coste, para no incrementar el precio de la ECU. Existen en el mercado un amplio abanico de conectores de diferentes fabricantes como MOLEX, JST, FCI... Los dos parámetros más importantes serían una baja resistencia de contacto (50mΩ) y una impedancia de conector entre 70 y 200Ω. Los cables tienen dos parámetros importantes que han de cumplir. Por un lado, la impedancia en modo diferencial a 10Mhz debe de estar entre 80 y 110 Ω y por otro tienen que tener un retardo máximo de 10ns/m.
Resumen:
En la actualidad se cuenta con una gran variedad de sistemas de comunicaciones automotrices, de los cueles son el CAN y el LIN, ante esta necesidad se ha desarrollado el sistema de transmición flexray.
Flexray es un protocolo que surgio por las firmas BMW AG, General Motors corporation, Robert Bosch GmbH y Volkswagen AG.
Un hecho importante a considerar es que está prohibido intentar despertar los dos canales a la vez, puesto que en caso que hubiera un nodo fallando podría perturbar los dos canales y impedir la comunicación Flexray.
El protocolo de flexray esta diseñado para trabajar a 10Mbps. por lo que el tiempo nominal del bit minimo es de 100ns.
Mapa mental:
Referencias:
- http://upcommons.upc.edu/bitstream/handle/2099.1/6115/3.%20Migrando%20de%20CAN%20a%20Flexray.pdf?sequence=5&isAllowed=y
- http://upcommons.upc.edu/bitstream/handle/2099.1/6115/2.%20El%20protocolo%20Flexray.pdf?sequence=4&isAllowed=y
- https://autolandmexico.wordpress.com/2011/03/17/que-es-flexray/