Járműkommunikáció

Ha az autó beszélni tudna (2. rész) – A CAN-kommunikáció

2017.02.02.

A CAN (Control Area Network) egyértelműen az autóipar jelenleg legmeghatározóbb kommunikációs protokollja. Történelme már több, mint 30 éve kezdődött, de igazán a 2000-es évek elején vált általánossá. A kor elvárásainak megfelelően alakítottak rajta, de már most is vannak olyan alkalmazások, melyekhez nem elegendő nagy a sávszélessége. Adatátviteli teljesítményéhez képest olcsó kommunikációs rendszernek számít.

A CAN története és alapvetései

A CAN-busz fejlesztése 1983-ban kezdődött a Robert Bosch GmbH-nál, majd 1986-ban került bemutatásra a nagyközönségnek detroiti SAE-konferencián. 1988-ban a BMW 8-as modelljében került először szériajárműbe. A szabvány ebben az időszakban még sokat módosult, az utolsó újítás a 2012-ben bemutatott CAN FD 1.0 bevezetése volt, ami változtatható adathosszat engedélyez, és egy rendszerben alkalmazható a hagyományos, 1991-ben véglegesített CAN 2.0 szabvány szerint kialakított hálózatokon, ráadásul az együttes működés is lehetséges. A CAN-buszt felhasználták az OBD-II és az EOBD szabványnak megfelelő fedélzeti diagnosztika kialakításánál is.

A CAN egy soros, aszinkron kommunikációs protokoll. A buszra felfűzött összes eszköz (csomópont) egyenrangú, és tetszőleges időpontban kezdhet adni, éppen ezért a protokollnak veszteségmentes arbitrációt kell biztosítania. Üzenetszórásos jelleggel működik, azaz minden, a hálózathoz csatlakozó eszköz lát minden üzenetet.

A CAN hálózat szimmetrikus jelátvitelt alkalmaz, amelyet a gyakorlatban csavart réz vezető érpárral kerül kialakításra (CAN-High és CAN-Low vezeték). Lehet árnyékolt kivitelben is készíteni, így nagyobb a zavarvédelem, tehát nagyobb átviteli sebesség és adatbiztonság érhető el. A jeldetektálás differenciális feszültségmérésen alapul, és NRZ (nullára nem visszatérő, non-return to zero) kódolást használ. A High és Low vezetékek között mért feszültségkülönbség 2 értéket vehet fel, így alakítható át bináris jelalakká: az egyik érték a digitális 0-t, a másik pedig az 1-et jelenti.

Az átviteli sebesség függ a csavart érpár hosszától is, ugyanis a jel terjedési sebessége és a jelvisszaverődés határozza meg az átvihető adatmennyiséget. Maximum 40 méteres kábelt lehet alkalmazni kis adatátvitel esetén. Ha gyors adatátvitelt szeretnénk elérni, akkor 2-3 méternél hosszabb kábeleket nem lehet használni.

CAN-hálózatok esetén a buszvonal végét egy záró ellenállással kell lezárni, ami egy 120 Ohm-os végellenállást jelent. Ennek célja, a további elektromos zajok és a vonalvégről visszaverődő zavarjelek elkerülése.

A CAN-hálózatokon négy üzenettípussal találkozhatunk:

- Adatüzenetek (Data Frame)

- Adatkérő üzenetek (Remote Frame)

- Hibaüzenetek (Error Frame)

- Túlterheltséget jelző üzenetek (Overload Frame)

 

Az adat típusú üzenetek felépítése

A legtöbb üzenet adat típusú üzenet, melynek két verzióját lehet megkülönböztetni: a hagyományos és a kiterjesztett üzeneteket. A hagyományos üzenetek esetében 11 bit, míg a kiterjesztett üzeneteknél 29 bit áll rendelkezésre az üzenet azonosítására.

A hagyományos üzenet a következők szerint épül fel:

Minden üzenet egy start bittel (SOF (start-of-frame)) indul, mely egy domináns bit (0), amit minimum 11 recesszív (1) bit előz meg.

Majd következik 11 bit, ami az üzenet azonosítóját tartalmazza (ID, identifier). A CAN esetében lényeges, hogy nem a hálózathoz csatlakozó eszközöknek, hanem az üzeneteknek van azonosítója, ami meghatározza az eszközök számára annak tartalmát, valamint a prioritását is. A kiterjesztett (extended) üzenetek az azonosító mező kiterjesztésében különböznek.

Az azonosító mezőt követi az RTR (Remote Transmission Request) bit, mely azt jelzi, hogy adatkérést tartalmaz-e az üzenet. A legtöbb esetben a CAN hálózaton adatszórás jellegű kommunikáció zajlik, vagyis egy bizonyos időközönként az adott eszköz kiküld információt, annak szükségességétől függetlenül. Az adatkérő üzeneteknek köszönhetően ehetőség van alkalmi adatkérésére is. Felépítésben az adat üzenet illetve adatkérő üzenetek szinte teljesen megegyeznek az adat típusú üzenetekkel, csak az adatmező hiányzik belőlük.

Az RTR bitet követi a kiterjesztett üzenetet jelző bit (IDE, identifier extension). Hagyományos üzenetek esetében ez mindig 0, mivel nem tartalmaz kiterjesztett azonosítót.

Az ezeket követő bit egy helyfenntartó bit, melynek mindig nullának kell lennie.

Ezután következik négy bit (DLC, Data Length Code), ami megmondja, hogy hány byte adatot tartalmaz az üzenet. A CAN üzenetekben alapértelmezetten 0-tól 8 byte-ig terjedő adatmennyiséget lehet továbbítani.

A DLC-t követi maga az adat. Az adat mező tetszőleges információkat tartalmazhat. Mivel legfeljebb 8 byte adathossz küldhető, így megállapítható, hogy legfeljebb 64 bites lehet egy CAN-adat. Általában ennél kisebb adatokkal dolgoznak, 1 és 32 bit közötti adatmennyiség tartozik egy fizikai mennyiség leírására.

Az adatot egy 15 bites CRC (Cyclic Redundancy Check) ellenőrző összeg követ, illetve még egy 1 bites CRC lezáró, ami mindig 1-es értéket tartalmaz.

Ezután egy nyugta mező következik, mely két bitből áll. Az első bitnek az a feladata, hogy jelezze az adó felé, hogy valaki vette az üzenetet, ugyanis bármelyik csomópont, amelyik veszi az üzenet korábbi részét az domináns állapotba, azaz nullára állítja a hálózaton levő jelszintet. Ennek azért van szerepe, hogy az adó tudja, hogy vette-e valaki az üzenetet. A második bitje a mezőnek egy recesszív elválasztó bit.

Ezeket követi az üzenetet lezáró hét recesszív bit (EOF (End-Of-Frame)), majd ezt legalább három további recesszív bit, ami az üzenetek elválasztására szolgál (IFS (InterFrame Space)). Ezeket összeadva, valamint hozzászámolva a nyugta elválasztó bitet, megkapható a start bitnél említett 11 recesszív bit.

 

Az oldal fő támogatója

 

2022.08.13
Ideiglenesen kikerült a rendelhető modellek közül az új Lexus LX Japánban, ugyanis annyi rendelés....
2022.08.13
Valami gyanús, inkább hagyjuk. ..
2022.08.13
Az államalapítás ünnepéhez kapcsolódóan már augusztus 15-től érvénybe lépnek korlátozások a....
2022.08.13
A történelem egy darabja kerül árverésre a hónap végén. Lady Diana vezette azt a Fordot, amit a....
2022.08.13
A Magyar Ásványolaj Szövetség tagvállalataihoz tartozó benzinkutak nyitva lesznek augusztus 19-én....
2022.08.13
Teljes szélességében lezárták a 61-es főutat Nagykanizsa közelében, miután a helyszínen meghalt egy....
2022.08.13
Az Audi ingolstadti központjában a jövő már jelen. Nem csak az autógyártásban, hanem a....
2022.08.13
A Volvo már az EXC90 nevet is levédette a szabadidő-autóhoz. ..
2022.08.13
Augusztus 11-én, csütörtökön elkezdték lebontani Lánchídnál a budai toronydarut, és napokon belül....
2022.08.13
Folyamatosan, ütemezetten végzik több százmillió négyzetméternyi területen a növényzetgondozási....