Ušli ste u svoj automobil, pritisnuli gumb za pokretanje i motor je začas oživio, no kako je vaš automobil odlučio treba li se pokrenuti ili ne?

Pa, da bi se automobil pokrenuo, nekoliko antena i elektroničkih kontrolnih jedinica komuniciralo je s privjeskom za ključeve. Protokol Controller Area Network (CAN) osigurava da se komunikacija između vašeg privjeska za ključeve, antena i ECU-a odvija na odgovarajući način unutar vašeg automobila.

Dakle, što je CAN protokol i kako pomaže uređajima u sustavima vašeg vozila da rade zajedno? Pa, idemo saznati.

Što je CAN protokol i zašto je potreban?

U to vrijeme automobili nisu imali puno elektronike. Zapravo, ako ste htjeli pokrenuti svoje vozilo početkom 1900-ih, morali ste izaći iz vozila i ručno pokrenuti motor.

Današnji automobili, naprotiv, imaju nekoliko elektroničkih senzora, a elektronički uređaji prate sve, od temperature u kabini do broja okretaja radilice.

Ipak, podaci primljeni od ovih senzora nemaju nikakvu vrijednost dok se ne obrade. Ovu obradu podataka izvode računalni uređaji poznati kao elektroničke upravljačke jedinice (ECU).

instagram viewer
Autori slike: SenseiAlan/Flickr

Za razliku od računala s jednim CPU-om, automobil ima nekoliko ECU-ova, od kojih je svaki odgovoran za obavljanje određenog zadatka. Iako ove ECU jedinice mogu učinkovito izvršiti jedan zadatak, moraju raditi zajedno kako bi osigurale značajke poput ABS i ESC ispravno raditi.

Zbog toga svi ECU-ovi na automobilu moraju biti povezani. Mogla bi se koristiti topologija od točke do točke za uspostavljanje ovih veza, gdje je svaki ECU povezan izravno na svaki drugi ECU. Međutim, ova bi arhitektura sustav učinila složenim. Zapravo, moderno vozilo ima više od 70 ECU-ova, a njihovo povezivanje na način jedan-na-jedan eksponencijalno bi povećalo težinu ožičenja.

Kako bi riješio ovaj problem, Bosch je, zajedno s Mercedes-Benzom i Intelom, stvorio protokol Controller Area Network 1986. godine. Ovaj je protokol omogućio ECU-ima da međusobno komuniciraju pomoću zajedničke podatkovne sabirnice poznate kao CAN sabirnica.

Kako CAN radi?

CAN protokol je komunikacijska metodologija koja se temelji na porukama koja se oslanja na skup kabela s upredenim paricama za prijenos podataka. Ove žice su poznate kao CAN high i CAN low.

Kako bi se omogućio prijenos podataka na tim žicama, mijenjaju se njihove razine napona. Te promjene u razinama napona zatim se prevode u logičke razine koje omogućuju ECU-ima na automobilu da međusobno komuniciraju.

Zasluga za sliku: Spinningspark/Wikimedia

Za prijenos logičke jedinice na CAN sabirnici, napon obje linije je postavljen na 2,5 volta. Ovo stanje je također poznato kao recesivno stanje, što znači da je CAN sabirnica dostupna za korištenje bilo kojem ECU-u.

Naprotiv, logička 0 se prenosi CAN sabirnicom kada je CAN high line na naponu od 3,5 volta, a CAN low linija na 1,5 volti. Ovo stanje sabirnice također je poznato kao dominantno stanje, koje govori svakoj ECU u sustavu da je druga ECU odašilje, pa bi trebali pričekati dok prijenos ne završi prije nego počnu odašiljati svoju poruku.

Kako bi se omogućile ove promjene napona, automobilske ECU jedinice su spojene na CAN sabirnicu preko CAN primopredajnika i CAN kontrolera. Primopredajnik je odgovoran za pretvaranje razina napona na CAN sabirnici u razine koje ECU može razumjeti. Kontrolor, s druge strane, služi za upravljanje primljenim podacima i osiguravanje ispunjenja zahtjeva protokola.

Svi ovi ECU-i spojeni na CAN sabirnicu mogu prenositi podatke po upletenom kabelu, ali postoji jedna caka, po CAN sabirnici se može prenijeti samo poruka s najvećim prioritetom. Da bismo razumjeli kako ECU prenosi podatke na CAN sabirnici, moramo razumjeti strukturu poruka CAN protokola.

Razumijevanje strukture poruka CAN protokola

Kad god dva ECU-a žele komunicirati, poruke s donjom strukturom se prenose na CAN sabirnici.

Ove se poruke prenose promjenom razina napona na CAN sabirnici, a dizajn upletenih parica CAN žica sprječava oštećenje podataka tijekom prijenosa.

  • SOF: Skraćeno od Start Of Frame, SOF bit je okvir podataka s jednim dominantnim bitom. Ovaj bit prenosi čvor kada želi poslati podatke na CAN sabirnici.
  • Identifikator: Identifikator na CAN protokolu može biti veličine 11 ili 29 bita. Veličina identifikatora temelji se na verziji CAN protokola koji se koristi. Ako se koristi proširena verzija CAN-a, tada je veličina identifikatora 29 bita, au ostalim slučajevima veličina identifikatora je 11 bita. Glavni cilj identifikatora je identificirati prioritet poruke.
  • RTR: Zahtjev za daljinski prijenos ili RTR koristi čvor kada je potrebno zatražiti podatke od drugog čvora. Da bi to učinio, čvor koji želi podatke šalje poruku s recesivnim bitom u RTR okviru željenom čvoru.
  • DLC: Kod duljine podataka definira veličinu podataka koji se prenose u podatkovnom polju.
  • Podatkovno polje: Ovo polje sadrži podatke. Veličina ovog sadržaja je 8 bajtova, ali noviji protokoli poput CAN FD povećavaju veličinu ovog sadržaja na 64 bajta.
  • CRC: Kratica od Cyclic Redundancy Check, CRC polje je okvir za provjeru pogrešaka. Isti je veličine 15 bita i izračunavaju ga i prijamnik i odašiljač. Odašiljački čvor stvara CRC za podatke prilikom prijenosa. Po primitku podataka, prijamnik izračunava CRC za primljene podatke. Ako se oba CRC podudaraju, potvrđuje se integritet podataka. Ako nije, podaci sadrže pogreške.
  • Polje za potvrdu: Nakon što su podaci primljeni i bez pogrešaka, primateljski čvor unosi dominantni bit u okvir potvrde i šalje ga natrag odašiljaču. To odašiljaču govori da su podaci primljeni i da nema grešaka.
  • Kraj okvira: Nakon što je prijenos podataka završen, prenosi se sedam uzastopnih recesivnih bitova. Ovo osigurava da svi čvorovi znaju da je čvor završio prijenos podataka i da mogu prenositi podatke na sabirnici.

Osim gore navedenih bitova, CAN protokol ima nekoliko bitova rezerviranih za buduću upotrebu.

Pojednostavljivanje CAN-a kroz primjer

Sada kada imamo osnovno razumijevanje kako izgleda poruka na CAN sabirnici, možemo razumjeti kako se podaci prenose između različitih ECU-ova.

Radi jednostavnosti, recimo da naš automobil ima 3 ECU-a: čvor 1, čvor 2 i čvor 3. Od 3 ECU-a, čvor 1 i čvor 2 žele komunicirati s čvorom 3.

Pogledajmo kako CAN protokol pomaže u osiguravanju komunikacije u takvom scenariju.

  • Otkrivanje stanja sabirnice: Svi ECU-ovi na automobilu spojeni su na CAN sabirnicu. U slučaju našeg primjera, čvor 1 i čvor 2 žele poslati podatke drugoj ECU; prije nego što to učine, oba ECU-a trebaju provjeriti stanje CAN sabirnice. Ako je sabirnica u dominantnom stanju, tada ECU ne mogu prenositi podatke jer je sabirnica u upotrebi. S druge strane, ako je sabirnica u recesivnom stanju, ECU-ovi mogu prenositi podatke.
  • Slanje početka okvira: Ako je diferencijalni napon na CAN sabirnici nula, i čvor 1 i čvor 2 mijenjaju stanje sabirnice u dominantno. Da biste to učinili, napon visokog CAN-a se podiže na 3,5 volta, a napon niskog CAN-a smanjuje se na 1,5 volta.
  • Odlučivanje koji čvor može pristupiti sabirnici: Nakon što je SOF poslan, oba se čvora natječu za pristup CAN sabirnici. CAN sabirnica koristi Carrier Sense Multiple Access/Collision Detection (CSMA/CD) protokol za odlučivanje koji će čvor dobiti pristup. Ovaj protokol uspoređuje identifikatore koje prenose oba čvora i daje pristup onom s višim prioritetom.
  • Slanje podataka: Jednom kada čvor ima pristup sabirnici, podatkovno polje, zajedno s CRC-om, šalje se primatelju.
  • Provjera i prekid komunikacije: Po primitku podataka, čvor 3 provjerava CRC primljenih podataka. Ako nema grešaka, čvor 3 šalje CAN poruku odašiljačkom čvoru s dominantnim bitom na okviru potvrde zajedno s EOF-om za prekid komunikacije.

Različite vrste CAN-a

Iako struktura poruke koju koristi CAN protokol ostaje ista, brzina prijenosa podataka i veličina podatkovnih bitova se mijenjaju kako bi se prenijele veće propusnosti podataka.

Zbog ovih razlika, CAN protokol ima različite verzije, a pregled istih je dat u nastavku:

  • CAN velike brzine: Podaci na CAN žicama se prenose serijski, a ovaj prijenos se može obaviti različitim brzinama. Za brzi CAN, ova brzina je 1 Mbps. Zbog ove velike brzine prijenosa podataka, velika brzina se može koristiti za ECU, koji upravlja pogonskim sklopom i sigurnosnim sustavima.
  • CAN male brzine: U slučaju CAN-a niske brzine, brzina prijenosa podataka smanjena je na 125 kbps. Budući da niska brzina može ponuditi manje brzine prijenosa podataka, koristi se za povezivanje ECU-a koji upravljaju udobnošću putnika, poput klima uređaja ili infotainment sustava.
  • Može FD: Kratica za CAN fleksibilnu brzinu prijenosa podataka, CAN FD je najnovija verzija CAN protokola. Povećava veličinu podatkovnog okvira na 64 bajta i omogućuje ECU-ima prijenos podataka brzinama u rasponu od 1 Mbps do 8 Mbps. Ovom brzinom prijenosa podataka mogu upravljati ECU-ovi u stvarnom vremenu na temelju zahtjeva sustava, omogućujući prijenos podataka većim brzinama.

Kakva je budućnost automobilske komunikacije?

CAN protokol omogućuje nekoliko ECU-a da međusobno komuniciraju. Ova komunikacija omogućuje sigurnosne značajke poput elektroničke kontrole stabilnosti i naprednih sustava pomoći vozaču poput detekcije mrtvog kuta i prilagodljivog tempomata.

Ipak, s dolaskom naprednih značajki poput autonomne vožnje, količina podataka koja se prenosi CAN sabirnicom raste eksponencijalno. Kako bi se omogućile te značajke, novije verzije CAN protokola, poput CAN FD, izlaze na tržište.