Při vývoji zařízeni pro osobní automobily jsme potřebovaly dostat událost z řídicí jednotky .
Automobily vyrobené po roce 2004 převážně používají sběrnici canbus jako komunikační protokol mezi perifériemi (řídicí jednotka, motor navigace, snímače dveří).
Can bus na osciloskopu. Zdroj: http://pikkupossu.1g.fi/tomi/projects/p-bus/p-bus.html
K dispozici jsme měli vůz škoda Octavia II, nicméně ten to postup bude platit pro všechny vozy skupiny VW (Škoda, Audi, Seat, VW) a pro ostatní značky, které mají canbus s malými odchylkami.
Vozy skupiny VW mají 2 sběrnice motorovou (500kb/s) a komfortní (100kb/s).
My se pokusíme dekódovat událost stisku dálkového ovladače odemknout/uzamknout. Tato událost běhá po komfortní sběrnici.
Pro odchytávaní jsme použily dobře dostupný adapter USB2CAN. Pozor na verze low speed a high speed !!! high speed neznamená že je lepší, ale že se používá na rychlou (motorovou) sběrnici .
Verze high speed nelze použít na komfortní sběrnici! Musíte použít low speed.
Analyticky software dodávaný s USB2CAN
Když napojíte automobil na adapter a stisknete na dálkovém ovládaní zamknout a odemknout auto vychrlí 100 různých zpráv. Takže je problém určit jaká zpráva znamená stisk na dálkovém ovladači. K určení zprávy, která obsahuje vaší informaci lze použít následující trik. USB2CAN obsahuje nástroj Log analyzer, kterým lze načíst zprávy za delší dobu a dát jejich hodnoty do grafu. Takže postup je takový. Vyprázdníme log pomoci Settings -> Reset log, provedeme 2x zamknuti a odemknutí s
10s pauzami. Potom log uložíme Settings -> Save log . Pustíme Log analyzer (externí program dodávaný USB2CAN) který nám zobrazuje průběh hodnot jednotlivých zpráv.
Naše požadovaná zprava obsahující stisk tlačítka zamknout / odemknout
Nutno podotknout, že hledání zprávy komplikuje skutečnost, že každá zpráva obsahuje 8 bajtu, takže počet možností je ve skutečnost počet zpráv x 8. Naštěstí většina hodnot je nulová a většina průběhů naprosto odlišná. Věřte, že to opravdu lze :-)
Žádné komentáře:
Okomentovat