sobota 19. prosince 2015

První pokusy s CAN bus u Octavia II

K rádiu Stream je mimo jiné přivedena i sběrnice CAN bus. Stačilo si realizovat převodník CAN Bus s procesorem ST32F1xx a mohl jsem vesele odposlouchávat, co si auto pro sebe brumlá. Přikládám několik prvních výsledků zjištěných reverzním inženýrstvím.  

ID: 0x470 00 XX 00 00 00 – kontakty dveří



XX
7
6
5
4
3
2
1
0


kufr otevřít
kapota
pravé zadní
levé zadní
spolujezdec
řidič

kufr prostor otevřen







ID: 0x2C1 0X 00 00 00 04 – blinkry



Pravý X - 2
Levý X - 1
Varovné X - 4

ID: 0x571 XX 00 00 00 00 00 – napětí akumulátoru [V]



Napětí akumulátoru: (XX/2+50)/10 [V] Příklad: 0x571 BA 00 00 00 00 00 0xBA => 14,3 V




ID: 0x359 00 XX YY 00 00 00 00 00 - rychlost

Rychlost: (YY*256 + XX) / 201 [km/hod]
z XX se nebere nejvyšší bit

ID: 0x351 00 XX YY 00 00 00 00 00 - rychlost

Rychlost: (YY*256 + XX) / 201 [km/hod]

ID: 0x35B 00 XX YY ZZ 00 00 00 – otáčky motoru + teplota vody



Otáčky motoru:  (YY*256+XX)/4 [ot/min] Příklad: 0x35B 00 24 0E 55 08 19 02 29 0x24, 0x0E => 905 ot/min
Teplota motoru:  ZZ-10 [°C] Příklad: 0x35B 00 24 0E 55 08 19 02 29 0x55 => 75,00 °C

Pokud motor neběží, tak je první byte 0x07, díky čemu je možné poznat zda jsou data platná či ne.





ID: 0x65D Ujeté kilometry + datum a čas

0x065D F0 F2 ED 02 00 90 9E 06
11110000 11110010 11101101 00000010 00000000 10010000 10011110 00000110
Ujeté km = 242 + 237 * 256 + 2 * 256 * 256 = 191 986 km
Hod = 144 / 16 + 0 * 16 = 9
Min = 30 / 2 = 15
Sec = 6 * 2 + 128 / 128 = 13

Testovaná O2 patrně nemá aktuální datum, pouze čas.
Rok = 0/128 + 0 *128 + 2000 = 2000
Měsíc = 0 / 8 = 0
Den = 0 / 128 + 0 * 2 = 0


Nultý bajt zatím neidentifikován (mění se bez zjevné návaznosti na ujeté km i čas).


Datum a čas
CAN ID
B0
B1
B2
B3
B4
B5
B6
B7

Datum a čas
km



Hod
Min
Sec
Výsledek
16.01.2016 11:58
0x065D
F6
EC
EE
02
00
B0
F6
00

16.01.2016 11:58
192236
10110000
11110110
00000
11
59
1
11:59:01
16.01.2016 15:51
0x065D
F7
32
EF
02
00
F0
68
10

16.01.2016 15:51
192306
11110000
01101000
10000
15
52
32
15:52:32
16.01.2016 16:06
0x065D
F8
3E
EF
02
00
00
8F
14

16.01.2016 16:06
192318
00000000
10001111
10100
16
7
41
16:07:41

ID: 0x03E3 00 00 00 00 00 00 00 00 - nemění se

ID: 0x65F VIN kód 0X 00 00 00 00 54 4D 42

X – značí část VINu a první bajt značí, která část VIN se zrovna přenáší (0, 1 a 2)
65F
0
0
0
0
0
54
4D
42

TMB
TMBBS21Z952XXXXXX
65F
1
42
53
32
31
5A
39
35

BS21Z95
65F
2
32
XX
XX
XX
XX
XX
XX

2XXXXXX




Jak se zjišťuje





Žádné komentáře:

Okomentovat