Вы находитесь на странице: 1из 47

ELECTRNICA DEL AUTOMVIL CURSO ACADMICO 2010-2011

BUS CAN Y J1939

DINMICA DE VEHCULOS
Manuel Moreno
FERMN SONEIRA

BUS CAN Y J1939

ndice
Motivacin Definiciones e Historia Conceptos Bsicos Hardware / Software Aplicaciones Otros Buses de Comunicacin Bibliografa J1939
ELECTRNICA DEL AUTOMVIL 25/03/11

Manuel Moreno

BUS CAN Y J1939

Motivacin
Demanda creciente de electrnica en el automvil (exigencias en normativas de contaminacin, mayores prestaciones de seguridad, confort, multimedia) Gestin electrnica, ABS, ESP, Airbag, EPB, etc., son tpicos ejemplos de unidades electrnicas de control (ECUs) que actualmente se incluye de serie en los vehculos. A medida que aumenta el nmero de prestaciones de un automvil se plantea la posibilidad de realizar un control distribuido en lugar de un control centralizado.

Manuel Moreno

ELECTRNICA DEL AUTOMVIL

25/03/11

BUS CAN Y J1939

Manuel Moreno

ELECTRNICA DEL AUTOMVIL

25/03/11

BUS CAN Y J1939

Motivacin
El bus CAN nace como un mecanismo para compartir informacin entre las electrnicas (ECUs) del vehculo, lo cual permite: Reducir el cableado del vehculo. Reducir el nmero de sensores. Reducir el tiempo en la deteccin y reparacin de averas. Facilitar la ampliacin de la electrnica en nuevas versiones. En definitiva, reducir el coste total.
Manuel Moreno ELECTRNICA DEL AUTOMVIL 25/03/11

BUS CAN Y J1939

Control distribuido
ECU 1 ECU 3

BUS de Comunicaciones

ECU 2

ECU n

Manuel Moreno

ELECTRNICA DEL AUTOMVIL

25/03/11

BUS CAN Y J1939

Definiciones e Historia
CAN (Controller Area Network), bus digital inventado por Robert Bosch en 1982 como bus de campo (i. proceso). El Mercedes Clase E fue el primer coche en incorporar el bus CAN, 10 aos despus (1992). Diseado para permitir la comunicacin fiable entre ECUs (Electronic Control Unit) y reducir cableado. En Europa se ha convertido en un estndar de facto, con carcter internacional y documentado por normas ISO (ISO-11898 ). Ventajas: reduccin de costes, mejora flexibilidad, mantenimiento y verificacin de averas.
Manuel Moreno ELECTRNICA DEL AUTOMVIL 25/03/11

BUS CAN Y J1939

Conceptos bsicos
El bus CAN es un protocolo serie asncrono del tipo CSMA/CD (Carrier Sense Multiple Access with Collision Detection). El bus es un medio compartido (multiplexado). Se trata de un protocolo Multicast, es decir, todo el mundo puede hablar (de uno en uno) y escuchar. CSMA: cada nodo de la red debe monitorizar el bus y si detecta que no hay actividad, puede enviar un mensaje. CD: si 2 nodos de la red comienzan a transmitir un mensaje, ambos detectan la colisin. Un mtodo de arbitracin basado en prioridades resuelve el conflicto.
Manuel Moreno ELECTRNICA DEL AUTOMVIL 25/03/11

BUS CAN Y J1939

Hardware/Nivel Fsico
Se utiliza un par de cables trenzados (bus diferencial) para ser inmune a las interferencias electromagnticas (EMIs). En camiones est apantallado, pero en los coches no (Tacaos!). Resistencias terminadoras (tpicamente de 120) al principio y al final del bus evitan reflexiones y ruido en el bus (antenas). Longitud mxima de 1000m (a 40Kbps). Velocidad mxima de 1Mbps (con una longitud de 40m) En los coches se utiliza a 125kbit/s y a 500kbit/s.
Manuel Moreno ELECTRNICA DEL AUTOMVIL 25/03/11

BUS CAN Y J1939

Manuel Moreno

ELECTRNICA DEL AUTOMVIL

25/03/11

BUS CAN Y J1939

Implementacin Fsica
0-5V CAN LOW TX 1.5V 3.5V CAN HIGH RX TX 0-5V RX

Nodo 1 (ECU)

Nodo 2 (ECU)

Manuel Moreno

ELECTRNICA DEL AUTOMVIL

25/03/11

BUS CAN Y J1939

Niveles de Tensin
Vbus CAN HIGH

3.5V 2.5V 1.5V

CAN LOW Bit dominante 0 lgico Bit recesivo 1 lgico

Manuel Moreno

ELECTRNICA DEL AUTOMVIL

25/03/11

BUS CAN Y J1939

CAN HIGH

CAN LOW CAN HIGH CAN LOW

Formas de onda en un bus CAN real. CAN HIGH, CAN LOW y la diferencia.

Manuel Moreno

ELECTRNICA DEL AUTOMVIL

25/03/11

BUS CAN Y J1939

Nivel Lgico
La informacin es transmitida mediante mensajes. Cada mensaje se empaqueta en una trama o frame. Existen 4 tipos de mensajes distintos, definidos por el protocolo: DATA FRAME: mensaje de informacin (datos). REMOTE FRAME (RTR): mensaje de peticin de datos. ERROR FRAME: mensaje que indica un error. OVERLOAD FRAME: mensaje de sobrecarga de un nodo.

Manuel Moreno

ELECTRNICA DEL AUTOMVIL

25/03/11

BUS CAN Y J1939

Estructura de un FRAME en bus CAN


SOF IDENTIFIER DLC DATA CRC ACK EOF

SOF (Start of Frame): 1 bit dominante inicia la trama. IDENTIFIER (Identificador): 11 bits estndar / 29 bits extendido; indica el tipo de informacin y la prioridad. Cuanto ms pequeo es el identificador, mayor prioridad tiene el mensaje. DLC (Data Length Code): nmero de bytes de datos (0-8). DATA (Datos): Entre 0 y 8 bytes de datos. CRC (Cyclic Redundancy Check): 15 bits para detectar errores. ACK (Acknowledge): 1 bit de reconocimiento de mensaje. EOF (End of Frame): 1 bit que indica que ha terminado la trama.
Manuel Moreno ELECTRNICA DEL AUTOMVIL 25/03/11

BUS CAN Y J1939

Proceso de Arbitraje en el bus CAN

Manuel Moreno

ELECTRNICA DEL AUTOMVIL

25/03/11

BUS CAN Y J1939

Buses CAN en Automviles


Se utilizan diferentes buses CAN en funcin de las tareas de las centralitas. Bus CAN Traccin: bus de alta velocidad (500 kbit/s), intercambio de informacin de centralitas con tareas crticas (Gestin de Motor, Airbag, ABS, ESP). Bus CAN Confort: bus de baja velocidad (125kbit/s), intercambio de informacin de centralitas con tareas no crticas (climatizador, control de puertas, asientos, etc.) Una puerta de enlace o GateWay permite el transpaso de informacin entre los dos buses anteriores.
Manuel Moreno ELECTRNICA DEL AUTOMVIL 25/03/11

BUS CAN Y J1939

Manuel Moreno

ELECTRNICA DEL AUTOMVIL

25/03/11

BUS CAN Y J1939

Hardware en bus CAN


Bsicamente existen 2 opciones: Microcontrolador con Controlador de Bus CAN Interno Microcontrolador + Controlador de Bus CAN Externo Es preferible la primera versin por tamao y coste. La mayora de microcontroladores de automocin llevan integrado el controlador de bus CAN. Actualmente existen circuitos integrados que digitalizan seales analgicas y las envan por el bus CAN.

Manuel Moreno

ELECTRNICA DEL AUTOMVIL

25/03/11

BUS CAN Y J1939

Hardware en bus CAN


Microcontrolador

TX Controlador Bus CAN RX 0-5V (TTL) TRANSCEIVER BUS CAN

CAN_HIGH CAN_LOW 1.5V 3.5V

ECU
Manuel Moreno ELECTRNICA DEL AUTOMVIL 25/03/11

BUS CAN Y J1939

Ejemplo de Controlador de CAN (Microchip)

Manuel Moreno

ELECTRNICA DEL AUTOMVIL

25/03/11

BUS CAN Y J1939

Ejemplo de Transceiver de CAN (Philips)

Manuel Moreno

ELECTRNICA DEL AUTOMVIL

25/03/11

BUS CAN Y J1939

Software para bus CAN


Para la mayora de microcontroladores con controlador de CAN integrado, existen libreras de software (ensamblador / lenguaje C) para el manejo del bus. Rutinas del tipo:
CANSendMessage( identifier, message, length, flags); CANReceiveMessage( &identifier, message, &length, &flags).

Todos los controladores de CAN permiten trabajar por interrupciones, tanto de recepcin como de transmisin.
ELECTRNICA DEL AUTOMVIL 25/03/11

Manuel Moreno

BUS CAN Y J1939

Herramientas para Bus CAN


Existen en el mercado herramientas hardware y software para el desarrollo, la verificacin y el mantenimiento de un bus CAN. El software ms utilizado en Europa es CANalyzer, de Vector Informatik. El hardware ms utilizado es fabricado por Kvaser. La configuracin tpica es una tarjeta (PCMCIA USB) que se conecta a un PC. Cada fabricante de automviles tiene su propia base de datos que especifica para cada mensaje CAN del vehculo todos los datos correspondientes (identificador, n. de bytes, codificacin, etc.)
ELECTRNICA DEL AUTOMVIL 25/03/11

Manuel Moreno

BUS CAN Y J1939

Manuel Moreno

ELECTRNICA DEL AUTOMVIL

25/03/11

BUS CAN Y J1939

Ejemplo de un analizador de tramas de bus CAN

Manuel Moreno

ELECTRNICA DEL AUTOMVIL

25/03/11

BUS CAN Y J1939

Aplicaciones
El bus CAN no slo se utiliza como sistema de comunicacin entre ECUs. Tambin se utiliza como medio fsico para comunicarse con el exterior a travs de un conector de diagnosis (OBD), tpicamente situado debajo del asiento del conductor. Desde 2008, todos los vehculos obligatoriamente llevan incorporado el sistema OBD-II/EOBD con comunicacin por bus CAN. Hoy en da se utilizan complejos sistemas informticos, que conectados al vehculo, reducen drsticamente el tiempo de reparacin de averas.
ELECTRNICA DEL AUTOMVIL 25/03/11

Manuel Moreno

BUS CAN Y J1939

Manuel Moreno

ELECTRNICA DEL AUTOMVIL

25/03/11

BUS CAN Y J1939

Otros Buses de Comunicacin


TTCAN (Time Triggered CAN) Bus LIN (Local Interconnect Network) Bus MOST (Media-Oriented Systems Transport) Bluetooth D2B MML ByteFlight FlexRay (el sustituto del CAN a medio plazo)
ELECTRNICA DEL AUTOMVIL 25/03/11

Manuel Moreno

BUS CAN Y J1939

Bibliografa
CAN Specification Version 2.0, Robert Bosch GmbH, 1991. CAN: Controller Area Network, Introduction and Primer, Robert Boys, Dearborn Group, Inc., Sept. 2004. 854 BUS, CAN Do, Will Do 1: CAN Bus Basics, Microchip 2004. Atmel Microcontrollers, CAN Tutorial, Atmel 2004. CANbus in transport, T. Tjiook, 2009.
Manuel Moreno ELECTRNICA DEL AUTOMVIL 25/03/11

BUS CAN Y J1939

Aplicacin del bus CAN: Estndar J1939


Norma SAE (Society of Automotive Engineers) aplicada a vehculos comerciales y pesados (camiones y autobuses). Tambin se utiliza en el mundo agrcola y a nivel industrial (comunicacin de autmatas programables, grupos electrgenos, etc.). Pensado inicialmente para la comunicacin en el compartimento motor y entre la tractora y el trailer (camiones).

Manuel Moreno

ELECTRNICA DEL AUTOMVIL

25/03/11

BUS CAN Y J1939

Bus CAN en camiones (J1939)


Enlace
Truck bus

Enlace
Trailer bus

Motor

Transmisin

Frenos

Frenos

Luces

ABS

Manuel Moreno

ELECTRNICA DEL AUTOMVIL

25/03/11

BUS CAN Y J1939

Caractersticas del J1939


Capa fsica: CAN 250kbit/s, par trenzado apantallado. Identificadores de 29 bits. Comunicacin punto a punto (peer to peer) y comunicacin en abierto para todos (broadcast). Utiliza protocolos de transporte de hasta 1785 bytes de datos. Definicin de grupos de parmetros estndar.

Manuel Moreno

ELECTRNICA DEL AUTOMVIL

25/03/11

BUS CAN Y J1939

Grupos de Parmetros
Grupos de parmetros combinan seales similares o asociadas. Se pueden utilizar grupos de parmetros especficos para cada fabricante. Estas agrupaciones de parmetros de hasta 8 bytes se transmiten en un mensaje CAN. Si el nmero de bytes es mayor que 8 es necesario un protocolo de transporte. Cada grupo de parmetros es direccionado va un nico nmero (Parameter Group Number, PGN).

Manuel Moreno

ELECTRNICA DEL AUTOMVIL

25/03/11

BUS CAN Y J1939

Grupos de Parmetros
El PGN es un valor de 16 bits. En funcin del valor, podemos hablar de PGN global o de PGN especfico. PGN Global: (comunicacin broadcast). Se utilizan los 16 bits. El MSB (PDU format) debe ser mayor de 239. PGN Especfico: (comunicacin peer to peer), slo se utilizan los 8 bits ms significativos (PDU format). ste debe ser mayor de 240. El byte menos significativo (PDU specific) es siempre 0.
PDU Format
Manuel Moreno

PDU Specific
25/03/11

ELECTRNICA DEL AUTOMVIL

BUS CAN Y J1939

Ejemplos de PGNs
PGN = 0xFE01. Dado que 0xFE >= 0xF0 (240), se trata de un PGN Global. 0x01 es el PDU specific. PGN = 0xED00. Dado que 0xED < 0xF0, se trata de un PGN especfico. El PDU, en este caso, es 0x00. Con esta distribucin de PGN (PDU format + PDU specific), podemos distinguir entre 8672 grupos de parmetros distintos (240 + 16 *256) = 8672. El PGN es codificado internamente en un identificador de bus CAN extendido (29 bits).

Manuel Moreno

ELECTRNICA DEL AUTOMVIL

25/03/11

BUS CAN Y J1939

Interpretacin de un identificador CAN


Cada identificador de CAN (29 bits) est compuesto por:
PGN

Priority
3 bits

R.
1 bit

Data Page
1 bit

PDU Format
8 bits

PDU Specific Source Address


8 bits 8 bits

TOTAL: 29 bits por identificador, conteniendo el PGN

Manuel Moreno

ELECTRNICA DEL AUTOMVIL

25/03/11

BUS CAN Y J1939

Ejemplo mensaje en J1939 (I)


Name: Engine Temperature Transmission Rate: 1s Data length: 8 bytes Data page: 0 PDU format: 254 PDU specific: 238 Default priority: 6 PG Number: 65262 (0xFEEE)

Manuel Moreno

ELECTRNICA DEL AUTOMVIL

25/03/11

BUS CAN Y J1939

Ejemplo mensaje en J1939 (II)


Description of Data: Byte 1: Engine Coolant Temperature Byte 2: Fuel Temperature Byte 3, 4: Engine Oil Temperature Byte 5, 6: Turbo Oil Temperature Byte 7: Engine Intercooler Temperature Byte 8: Not defined

Manuel Moreno

ELECTRNICA DEL AUTOMVIL

25/03/11

BUS CAN Y J1939

Estandarizacin de magnitudes
Engine Coolant Temperature Data Length: 1 byte Resolution: 1 C/bit gain, -40C offset Data Range: -40 to 210C Type: Measured Reference: Engine Temperature Obsrvese que se deja un rango de valores especiales (ej. Los valores 250-255 no estn definidos en el rango de medida).
ELECTRNICA DEL AUTOMVIL 25/03/11

Manuel Moreno

BUS CAN Y J1939

Rangos de seales transmitidas


En el caso de magnitudes de 1 byte: Valid Signal: 0-250 (0x00-0xFA) Parameter Specific indicator: 251 (0xFB) Reserved range for future indicator bits: 252-253 (0xFC-0xFD) Error indicator: 254 (0xFE) Not available or not requested: 255 (0xFF)

Manuel Moreno

ELECTRNICA DEL AUTOMVIL

25/03/11

BUS CAN Y J1939

Valores transmitidos para parmetros discretos (medidos)


Disabled (off, passive, etc.) Enabled (on, active, etc.) Error indicator Not available or not installed 00 01 10 11

Manuel Moreno

ELECTRNICA DEL AUTOMVIL

25/03/11

BUS CAN Y J1939

Valores transmitidos para comandos de control


Command to disable function (turn-off) Command to enable function (turn-on) Reserved Dont care/take no action(leave function as is) 00 01 10 11

Manuel Moreno

ELECTRNICA DEL AUTOMVIL

25/03/11

BUS CAN Y J1939

Control de una red J1939 (I)


En una red bajo el estndar J1939, cada ECU tiene una direccin nica. Cada mensaje que enva cada ECU contiene dicha direccin (source address). Existen 255 direcciones posibles: 0..253 -> direcciones vlidas de una ECU 254 -> Cero 255 -> Global Cada ECU tiene una direccin preferida (preasignada).
ELECTRNICA DEL AUTOMVIL

Manuel Moreno

25/03/11

BUS CAN Y J1939

Control de una red J1939 (II)


Antes de que una ECU utilice una direccin, la debe registrar sobre el bus (address claiming). La ECU enva un mensaje CAN, denominado AddressClaim parameter group con la direccin (source address) deseada. Este PG (parameter group) contiene un nombre del dispositivo codificado con 64 bits (entre los que se incluye la direccin, funcin, fabricante, etc.). Si la direccin ya est siendo utilizada por otra ECU, se produce un arbitrio de la direccin basado en la prioridad del nombre de la ECU.
ELECTRNICA DEL AUTOMVIL 25/03/11

Manuel Moreno

BUS CAN Y J1939

Cortesa de Scania
Manuel Moreno ELECTRNICA DEL AUTOMVIL 25/03/11

BUS CAN Y J1939

Para saber ms del J1939


[1] SAE J1939 Recommended Practice for a Serial Control and Communications Vehicle Network [2] SAE J1939-11 Physical Layer250K Bits/s, Shielded Twisted Pair [3] SAE J1939-13 Off-Board Diagnostic Connector [4] SAE J1939-15 Reduced Physical Layer, 250K Bits/s, Un-Shielded Twisted Pair (UTP) [5] SAE J1939-21 Data Link Layer [6] SAE J1939-31 Network Layer [7] SAE J1939-71 Vehicle Application Layer [8] SAE J1939-73 Application Layer - Diagnostics [9] SAE J1939-81 Network Management Protocol

Manuel Moreno

ELECTRNICA DEL AUTOMVIL

25/03/11

Вам также может понравиться