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

 

2021.10.28
Az előzetes várakozásokat jelentősen meghaladó érdeklődés miatt már a jegyzés harmadik napját....
2021.10.28
Halálos áldozata is van a Mélykút és Bácsalmás között csütörtök reggel történt vonatbalesetnek -....
2021.10.28
A főváros 2023 végéig 48 új, alacsonypadlós trolibuszt vásárol - döntött szerdai ülésén a Fővárosi....
2021.10.28
Várhatóan csaknem félszáz űrhajós érkezik Budapestre, a Nemzetközi Űrhajós Szövetség (Association....
2021.10.28
A repülő szerkezetek fejlesztésére szakosodott japán Skydrive startup nagy bejelentéssel rukolt elő....
2021.10.28
Az oroszországi Novgorod régió Állami Közlekedési Felügyelősége Lada Vesta szedánokat kapott....
2021.10.27
Minden út a Rimac és Porsche márkához vezet. Jó, van még néhány hiperszupergép, itt épp egy....
2021.10.27
A két dobozos típus nem más, mint a hasonló Opel, Peugeot, Citroen, és Toyota modellek....
2021.10.27
Műszaki mentés miatt teljes az útlezárás az M43-as autópálya Szeged felé vezető oldalán, Kövegy....
2021.10.27
A sárga Zonda C12S Prága közelében, egy kanyargós országúton csúszott az árokba. ..