CAN Protokol - Nastanak
Ako ste ikada pogledali električnu šemu starijeg automobila iz 70-ih i uporedili je sa modernim vozilom, primetili ste drastičnu razliku. Ipak, paradoksalno, moderni automobili imaju manje žica za određene funkcije nego što bi imali da koriste staru tehnologiju. Tajna je u CAN protokolu. Pre nego što uzmemo osciloskop u ruke (što ćemo raditi u narednim delovima), moramo razumeti šta je CAN, ko ga je izmislio i koji problem rešava.
Problem "bakarnih špageta"
Osamdesetih godina, automobilska industrija je udarila u zid. Zahtevi za komforom i bezbednošću su rasli (ABS, elektronsko ubrizgavanje, klima uređaji, električni prozori).
U to vreme, komunikacija je bila Point-to-Point (tačka-na-tačku). Ako motor treba da kaže menjaču "obrtaji su 3000", morala je da postoji posebna žica samo za to. Ako tabla treba da prikaže tu brzinu, trebala je još jedna žica.
Količina bakra u vozilima je postala nepodnošljiva – instalacije su bile teške, skupe i, što je najgore, konektori su postajali nepouzdani zbog prevelikog broja pinova. Trebalo je naći način da svi moduli razgovaraju međusobno koristeći minimalan broj žica.
Kriza bakra i partnerstvo sa IT gigantima
Zanimljivo je napomenuti da sredinom 80-ih godina problem nije bio samo u komplikovanosti, već i u fizičkoj težini. Kablovski snopovi u luksuznim vozilima počeli su da teže i preko 50 kilograma! Dodavanje svake nove funkcije (npr. električnog retrovizora) značilo je provlačenje novih žica kroz celo vozilo, bušenje novih rupa u šasiji i veće troškove proizvodnje.
Bosch inženjeri su imali ideju, ali im je bio potreban hardver. Malo ljudi zna da je Intel odigrao ključnu ulogu u ovoj istoriji.
- Bosch je osmislio logiku protokola.
- Intel je 1987. godine proizveo CAN kontroler čip (Intel 82527).
- Ubrzo nakon toga pridružio se i Philips (danas NXP) sa svojim rešenjem.
Ovo je bio istorijski trenutak kada su se automobilska industrija i industrija mikročipova neraskidivo povezale. Automobil je prestao da bude samo mašina i počeo je da postaje "računar na točkovima".
Rešenje iz Nemačke: Rođenje CAN-a
Inženjeri u kompaniji Robert Bosch GmbH počeli su razvoj novog sistema 1983. godine. Cilj je bio jasan: napraviti serijsku komunikaciju koja je robusna, brza i otporna na smetnje.
- 1986. godine: Protokol je zvanično predstavljen na SAE konferenciji u Detroitu. Nazvan je Controller Area Network (CAN)
- 1991. godine: Prva serijska primena u vozilu. To je bio, naravno, Mercedes-Benz W140 (S-klasa). On je koristio CAN za komunikaciju između motora, menjača i sistema protiv proklizavanja.
Danas je CAN standardizovan pod ISO 11898 i zakonski je obavezan za OBD-II dijagnostiku u svim vozilima (u SAD od 2008, u Evropi slično).
Šta je zapravo CAN? (Koncept BUS-a - magistrale)
Najlakši način da zamislite CAN je da zamislite konferencijsku salu.
- Svi čuju sve: U starim sistemima, ECU motora je "šaputao" menjaču na uvo. U CAN sistemu, ECU motora "uzme mikrofon" i vikne: "Trenutna temperatura motora je 90 stepeni!".
-
Broadcast poruke: Ovu poruku čuju svi: i instrument tabla, i klima uređaj, i ABS.
- Instrument tabla kaže: "Meni ovo treba za kazaljku" i uzme podatak.
- Klima uređaj kaže: "Meni ovo ne treba" i ignoriše podatak.
- To se zove Broadcast (emitovanje). Nema adrese primaoca, važan je samo sadržaj poruke.
Glavne karakteristike CAN-a
- Dvožični sistem: Komunikacija se odvija preko dve upredene žice (CAN High i CAN Low). Upredanje žica služi da se ponište elektromagnetne smetnje (više o ovome u 2. delu).
- Multi-Master sistem: Nema "glavnog šefa". Svaki modul (čvor) može da započne komunikaciju kada je linija slobodna.
- Prioriteti: Šta ako dva modula krenu da "pričaju" u isto vreme? CAN ima genijalan sistem arbitraže. Poruka sa većim prioritetom (npr. "Aktivirao se ABS") će uvek automatski "pregaziti" poruku manjeg prioriteta (npr. "Spusti prozor"), bez gubitka podataka i vremena.
- Otpornost na greške: Ako se jedan modul pokvari i počne da šalje gluposti, on će sam sebe isključiti iz mreže (Bus Off) kako ne bi ometao ostale.
Evolucija: Kako je CAN rastao
Iako je osnovni koncept ostao isti, CAN protokol je morao da "odraste" kako bi pratio zahteve modernih vozila. Razvoj možemo podeliti u tri ključne faze koje svaki dijagnostičar treba da prepozna:
- Standardni CAN (CAN 2.0A): Ovo je originalna verzija koja koristi 11-bitni identifikator. To znači da na mreži može postojati 211 (2048) različitih vrsta poruka (npr. ID 0x100 je motor, 0x200 je menjač). Za vozila iz 90-ih, ovo je bilo sasvim dovoljno.
- Prošireni CAN (Extended - CAN 2.0B): Kako su vozila dobijala stotine modula (vrata, sedišta, multimedija), 2048 adresa više nije bilo dovoljno. Uveden je 29-bitni identifikator. Ovo je omogućilo milione različitih poruka. Danas većina vozila koristi mešavinu oba standarda, a CAN kontroleri su dizajnirani da razumeju oba.
-
CAN FD (Flexible Data-rate): Najnovija evolucija (pojavila se oko 2012, a masovno se koristi u vozilima od 2019/2020).
- Problem: Klasičan CAN je ograničen brzinom (do 1 Mbps) i količinom podataka (samo 8 bajtova po poruci). To je postalo "usko grlo" za flešovanje (reprogramiranje) modula i moderne sisteme asistencije.
- Rešenje: CAN FD omogućava brži prenos i slanje do 64 bajta u jednom paketu. Za tehničare, ovo znači brže dijagnostičko očitavanje i brži update softvera.
CAN izvan automobila - Dokaz pouzdanosti
Koliko je CAN protokol genijalno dizajniran, najbolje govori činjenica da je "pobegao" iz automobila. Zbog svoje neverovatne otpornosti na smetnje i pouzdanosti, danas se CAN koristi u:
- Nautici (NMEA 2000): Komunikacija na brodovima i jahtama je zapravo CAN protokol.
- Kamionima (J1939): Standard za teška vozila.
- Industriji: Fabričke trake, liftovi, pa čak i medicinski uređaji (npr. skeneri u bolnicama) koriste CAN za internu komunikaciju.
- Avijaciji: Pojedini sistemi u avionima (npr. Airbus A380) koriste varijacije CAN bus-a.
Razumevanjem CAN protokola ne učite samo kako moduli razmenjuju podatke, već savladavate samu logiku po kojoj funkcioniše moderna tehnologija – a u sledećem poglavlju prelazimo sa reči na dela i otkrivamo šta se zapravo dešava na tim upredenim žicama kada ih pogledamo kroz objektiv osciloskopa.