Mensaje CAN BUS 0x018

El mensaje más prioritario y frecuente en el bus CAN del toyobaru

En cualquier bus CAN, cuanto menor es el identificador del mensaje, más prioritario es. Es decir, si dos nodos van a escribir en el bus CAN de forma simultánea, el arbitraje establecido por el protocolo hace que el nodo que lleva el circuito a 0 lógico tiene prioridad sobre el que lo lleva a 1 lógico. Esto es así por que físicamente si un nodo lleva el circuito a las tensiones que exige el 0 lógico, el otro nodo no puede llevarlo a las tensiones que exige el 1 lógico (la electrónica del bus lo impide), detecta ese hecho, entiende que otro nodo está escribiendo un mensaje más prioritario, y por eso el bus estaba a 0 lógico y deja de escribir, para intentar retransmitir su mensaje en la siguiente ventana de transmisión.

De este modo, un nodo que intente escribir el identificador 000 siempre tendrá prioridad sobre otro que intente transmitir en esa misma ventana, o dicho de otra forma, un identificador CAN es más prioritario cuanto más bajo sea, pues tiene prioridad sobre todos los identificadores con valor superior.

Si echamos un vistazo a la tabla de identificadores CAN que encontramos en el toyobaru, vemos que el identificador más bajo es el 0x018, que es además uno de los mensajes más frecuentes en el bus, pues es uno de los cuatro mensajes, junto con el 0x140, 0x141 y 0x142, que se transmite a 100 Hz.

Pero ... ¿ qué información contiene este mensaje ?

Las primeras pruebas que uno realiza con cansniffer ya detectan que el movimiento del volante se reflejan en los dos primeros bytes del mensaje 0x018. Basta moverlo ligeramente para que esos dos primeros bytes empiecen a cambiar. Además, se puede hacer una sencilla prueba girando el volante de 90º en 90º para detectar que cuando giras el volante a 90º, el bus marca 900, si lo giras 180º, el bus marca 1800 y así sucesivamente. En sentido contrario, obviamente, marca -900, -1800, etc.

CANID 0x018 ángulo de dirección GT86 / BRZ

Por tanto, podemos decir que la precisión con la que se mide la posición del volante en el bus CAN es una décima de grado (0,1 º).

El byte D2 es más estable. Normalmente siempre tiene el valor 0x70, y muy puntualmente tengo alguna traza con 0x73, pero aun no he podido detectar a que se debe el cambio.

El byte D3 siempre se comporta igual tomando repetidamente los valores 0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E y vuelta a empezar-

Los bytes D4, D5 y D6 siempre los he visto a 0x00 en las más de 275.000 tramas que he analizado. Quiero pensar que tienen alguna misión en alguna circunstancia fuera de lo normal a la que aun no haya llevado el coche.

Finalmente la trama D7 si es muy cambiante y parece estar relacionada con la dirección de alguna forma. Cuando la dirección apenas si cambia

CANID 0x018 ángulo de dirección GT86 / BRZ

la información D7 sigue (con menor resolución) la información del giro de la dirección,

CANID 0x018 ángulo de dirección GT86 / BRZ

de hecho, si aplicamos un filtro obtenemos una señal muy parecida, solo que a otra escala

CANID 0x018 ángulo de dirección GT86 / BRZ

pero cuando el ángulo de dirección cambia rápidamente,

CANID 0x018 ángulo de dirección GT86 / BRZ

D7 cambia de forma bastante imprevisible,

CANID 0x018 ángulo de dirección GT86 / BRZ

de tal forma que aun no he podido averiguar a que obedece.

En definitiva, en condiciones normales de conducción, la información que podemos obtener de la trama 0x018 es el ángulo de dirección del volante.

Añadir un comentario

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

Page top