0x7E0, la ECU del motor

Exploramos las posibilidades de obtener información de la ECU del motor a través del servicio 0x21.

La ECU 0x7E0 ya nos es familiar. Por norma, la ECU del motor debe presentarse en el PID 0x7E0 y responder a varios servicios OBDII, como el 0x01 o el 0x09 -entre otros- que ya hemos visto en este blog.

Hemos visto también, que el servicio 0x01 es respondido tanto desde el CAN ID 0x720 como desde el CAN ID 0x7E0, pero sorprendentemente bajo el identificador 0x720 no responde ni al servicio 0x09 ni al servicio 0x21, cosa que si hace bajo el CAN ID 0x7E0.

En este artículo del blog, vamos a explorar esta ECU, de forma análoga a como hemos hecho con la ECU 0x7B0, para obtener que PIDs están disponibles bajo el servicio 0x21 y empezar a tratar de dilucidar que información pueden ofrecer.

No detallo el método. Es análogo al comentado en la entrada anterior. Solicitamos a la ECU 0x7E0 el PID 0x00 bajo el servicio 0x21:

>> 7E0: 02 21 00 00 00 00 00 00
<< 7E8: 06 61 00 BC 00 00 01 00

y de su respuesta vamos deduciendo los PIDs disponibles.

Una vez elaborada la lista de PIDs, solicitamos uno a uno dichos PIDs a la ECU, para obtener la longitud que devuelven y poder elaborar la siguiente tabla.

PID Longitud
(bytes)
Unidades Cálculo Descripción Status
0x00 4 - Evaluación de bits PIDs soportados [0x01...0x20] Confirmado
0x01 29


Desconocido
0x03 5


Desconocido
0x04 12


Desconocido
0x05 4


Desconocido
0x06 13


Desconocido
0x20 4 - Evaluación de bits PIDs soportados [0x21...0x40] Confirmado
0x21 12


Desconocido
0x22 3


Desconocido
0x23 2


Desconocido
0x25 6


Desconocido
0x26 6


Desconocido
0x33 7


Desconocido
0x37 18


Desconocido
0x39 5


Desconocido
0x3A 9


Desconocido
0x3C 16


Desconocido
0x40 4 - Evaluación de bits PIDs soportados [0x41...0x60] Confirmado
0x41 18


Desconocido
0x42 10


Desconocido
0x44 36


Desconocido
0x45 4


Desconocido
0x51 29


Desconocido
0x52 8


Desconocido
0x54 10


Desconocido
0x55 8


Desconocido
0x60 4 - Evaluación de bits PIDs soportados [0x61...0x80] Confirmado
0x80 4 - Evaluación de bits PIDs soportados [0x81...0xA0] Confirmado
0xA0 4 - Evaluación de bits PIDs soportados [0xA1...0xC0] Confirmado
0xC0 4 - Evaluación de bits PIDs soportados [0xC1...0xE0] Confirmado
0xC1 19


Desconocido
0xC2 13


Desconocido
0xE0 4 - Evaluación de bits PIDs soportados [0xE1...0x100] Confirmado
0xE1 8


Desconocido
0xE2 5


Desconocido
0xE3 2


Desconocido

Llama la atención la longitud de los datos devueltos con un buen número de PIDs devolviendo largas cadenas de datos (hasta 36 bytes en el caso del PID 0x44). No será fácil descodificarlos.

De momento, y con ayuda de la información que encontré en un foro sobre el Toyota Prius, he podido descodificar parcialmente el contenido de la respuesta al PID 0xC1, que contiene información sobre el modelo del coche y del motor que monta, y que parece mostrar ciertas similitudes con lo que manda la ECU de mi coche.

Si solicitamos ese PID

>> 7E0: 02 21 C1 00 00 00 00 00
<< 7E8: 10 15 61 C1 5A 23 36 23
>> 7E0: 30 00 00 00 00 00 00 00
<< 7E8: 21 23 23 38 46 41 32 30
<< 7E8: 22 20 20 04 01 57 71 01
<< 7E8: 23 00 00 00 00 00 00 00

Decodificando el mensaje de respuesta obtenemos que los datos recibidos son: 

5A 23 36 23 23 23 38 46 41 32 30 20 20 04 01 57 71 01 00

Y si los representamos en ASCII tenemos:

 Z  #  6  #  #  #  8  F  A  2  0        ·  ·  W  q  ·  ·

Según he leído, en un Prius este mismo servicio devuelve el identificador del modelo del coche en las 7 primeras posiciones. En mi coche devuelve: Z#6###8. Y mi coche tiene como VSD el código ZN6L81, con el cual se puede apreciar una cierta similitud. No se muy bien como codifica Toyota el modelo. Habría que hacer pruebas con más toyobarus para ver que devuelven en esa respuesta.

Los siguientes 6 caracteres identifican el motor. En este caso parece que no hay duda pues se ha recibido un claro "FA20  ". Eso si, me ha llamado la atención que tratándose mi coche de un GT86, no haya enviado "4U-GSE", que es la codificación que usa Toyota para el FA20 de Subaru.

El siguiente byte (0x04) representaría el número de cilindros del motor.

Del decimoquinto byte (0x01) no hay información. Puede ser cualquier cosa.

El siguiente byte (0x57), la información que he encontrado dice que hace referencia al destino del coche, pero no se muy bien que se refiere (supongo que será la codificación del destino, no se si será España, Europa, o algo así), así que de momento dejaremos la información en cuarentena hasta que averigüe más cosas.

El decimoséptimo byte (0x71) representaría el año de fabricación del coche, contado desde 1.900. Esto encaja, por que mi coche es del 2013, y 0x71 es 113 en decimal, que sumado a 1900 nos da 2013.

De los dos siguientes bytes no tengo información.

Así que con esta información, podemos rellenar la primera entrada de la tabla

PID Longitud
(bytes)
Unidades Cálculo Descripción Status
0xC1 19
ABCDEFGHIJKLMNOPQRS
- ASCII
ASCII
N
¿?
¿?
1900 + Q
¿?
¿?
ABCDEFG → Modelo
HIJKLM → Motor
N → Número de Cilindros
O → ¿?
P → ¿destino?
Q → Año de fabricación
R → ¿?
S → ¿?
Sospecha
Confirmado
Confirmado
Desconocido
Sospecha
Confirmado
Desconocido
Desconocido

Habrá que seguir analizando datos obtenidos e informaciones que circulan por ahí, para ir completando la tabla poco a poco ...

Añadir un comentario

El código HTML se muestra como texto y las direcciones web se transforman automáticamente.

Page top