CAN (Controller Area Network) ir transportlīdzekļu sistēmu kopnes standarts. Tas mikrokontrolieriem un citām ierīcēm ļauj sazināties sava starpā bez centralizēta datora starpniecības. CAN ir uz ziņojumiem bāzēts virknes datu pārraides protokols.

CAN tehnoloģiju plaši pielieto automašīnās

CAN 1980. gados izstrādāja uzņēmums Robert Bosch GmbH autotransporta sistēmu integrācijai. Protokolu ir standartizējusi Starptautiskā standartizācijas organizācija (ISO 11898 un ISO 16845). CAN tehnoloģiju izmanto arī citās jomās, piemēram, aviācijā, kuģniecībā, rūpnieciskajā automatizācijā, ēku automatizācijā.

CAN ir viens no pieciem protokoliem, ko izmanto iebūvētās diagnostikas OBD-II (Eiropā EOBD) transportlīdzekļu diagnostikas standarts.

Darbu pie CAN kopnes Robert Bosch GmbH sāka 1983. gadā.[1] Protokols oficiāli izlaists 1986. gadā. Pirmo CAN kontroliera mikroshēmu, kuru izstrādāja Intel un Philips, izlaida 1987. gadā.

Bosch izlaida vairākas CAN specifikācijas, un pēdējā CAN 2.0 publicēta 1991. gadā.

1993. gadā Starptautiskā standartizācijas organizācija apstiprināja CAN standartu kā ISO 11898.

2012. gadā Bosch izlaida paplašinājumu CAN FD 1.0 (CAN with Flexible Data-Rate). Šī specifikācija izmanto dažādus kadra formātus, kas ļauj veidot dažādus datu garumus, kā arī pārslēgties uz ātrāku datu pārraides ātrumu pēc tam, kad to atļāvusi arbitrāža.

CAN tehnoloģija ir aprakstīta standartā ISO 11898, ko Starptautiskā standartizācijas organizācija pieņēma 1993. gadā. Vēlāk tas tika sadalīts divās daļās. ISO 11898-1 formulē datu posma slāni. ISO 11898-2 definē ātrdarbīgā CAN fizikālo slāni. ISO 11898-3 izlaists vēlāk un apraksta zema ātruma CAN, noturīgu pret kļūdām. Fizikālā slāņa standarti ISO 11898-2 un ISO 11898-3 nav Bosch CAN 2.0 specifikācijā, tie ir jāiegādājas no ISO.

CAN ir vairāku vedēju vedējsekotājkopnes standarts, lai savienotu elektroniskās vadības ierīces jeb mezglus. Mezgli pēc sarežģītības var būt sākot ar vienkāršām ievades vai izvades ierīcēm līdz pat iegultiem datoriem. Mezgls var būt arī vārteja, kas ļauj standarta datoram ar USB vai Ethernet saskarni sazināties ar CAN kopnes ierīcēm.

Visi mezgli savā starpā savienoti ar divu vadu kopni. Tās galos jābūt 120 Ω rezistoru terminatoriem.

OSI slāņu realizācija

labot šo sadaļu

Fizikālais slānis

labot šo sadaļu
 
CAN kopnes topoloģija ar terminatoru rezistoriem
 
DE-9 vīrišķā savienotāja (spraudņa) kontaktu izvietojums

CAN kopni (ISO 11898-1) sākotnēji aprakstīja datu posma slāņa protokolu ar abstraktām fizikālā slāņa prasībām. Fizikālā slāņa elektriskie aspekti (spriegums, strāva, vadu skaits) tika definēti standartā ISO 11898-2.

Mehāniskie aspekti (savienotāja tips un skaits, krāsas, marķējums, kontaktu izvietojums) tomēr nav standartizēti. Tādējādi dažādu ražotāju automašīnu elektroniskās vadības ierīces tiek saslēgtas ar dažādu veidu savienotājiem un kabeļiem, kuros divas dzīslas ir CAN kopnes līnijas. Ir tomēr radušies vairāki de facto standarti mehāniskajai realizācijai, no kuriem plašāk izmantotais ir D-sub veida 9 kontaktu savienotājs ar šādu kontaktu izvietojumu:

  • 2. kontakts: CAN-Low (CAN−)
  • 3. kontakts: GND (zeme)
  • 7. kontakts: CAN-High (CAN+)
  • 9. kontakts: CAN V+ (barošana)

Trokšņnoturība ISO 11898-2 standartā tiek panākta, kopnē uzturot diferenciālu impedanci zemā līmenī ar 120 Ω rezistoriem katrā kopnes galā. Šāda zemas impendances kopne gaidīšanas režīmā tomēr patērē vairāk enerģijas nekā cita veida kopnes.

CAN kopnes sistēmās līdzsvarotas līnijas operācijas, kur strāva vienā signāla līnijā tiek precīzi balansēta ar pretēja virziena strāvu otrā signāla līnijā, nodrošina neatkarīgu, stabilu 0 V etalonu uztvērējiem. Labā prakse nosaka, ka CAN kopnes balansētā pāra signāli tiek pārvadīti ekranētā vītā pāra kabelī, lai minimizētu elektromagnētisko izstarojumu un samazinātu interferences uzņēmību transportlīdzekļa jau tā elektromagnētisko traucējumu piesātinātajā vidē.

CAN kopne nodrošina elektrobarošanu visiem mezgliem. Barošanas sprieguma līmenis nav formāli noteikts, un tas katrai realizācijai var būt atšķirīgs; parasti tas ir no 7 līdz 30 V. Mezglu konstrukcijas vispārējā prakse ir tāda, ka katra mezglam ir raiduztvērējs, un tas ir optiski izolēts no mezgla. 5 V lineāri regulētu spriegumu raiduztvērējs iegūstot no kopnes universālās barošanas līnijas.

Recesīvā stāvoklī signāla līnijas un rezistori paliek augstā impedances stāvoklī. CAN− un CAN+ spriegumi (vāji) tiecas uz vidējo vērtību starp robežlielumiem. Recesīvais stāvoklis kopnē ir tikai tad, kad neviens no raidītājiem neatrodas dominējošajā stāvoklī.

Dominējošā stāvokļa laikā signāla līnijas un rezistori pāriet zemā impedances stāvoklī, strāvai plūstot caur rezistoru. CAN+ spriegums tiecas uz 5 V, un CAN- tiecas uz 0 V.

Neatkarīgi no signāla stāvokļa, signāla līnijas vienmēr ir zemā impedances stāvoklī attiecībā vienai pret otru, pateicoties terminālrezistoriem kopnes galos.

Šāda signālu organizācija būtiski atšķiras no citām līdzsvarotu līniju pārraides tehnoloģijām, piemēram, RS-422/3, RS-485, kas izmanto signalizācijas sistēmu, balstītu uz diferenciālā režīma spriegumu, līdzsvarotai līnijai šķērsojot nosacīto0 V.

Datu posma slānis

labot šo sadaļu

CAN datu posma slānis ir aprakstīts standartā ISO 11898-1. Tas ir formulēts divos protokolos: klasiskais (lēnais) CAN (izlaists 1986. gadā) un ātrais CAN FD (izlaists 2012. gadā, starptautiski standartizēts 2015. gadā).[2]

Abu datu posma slāņa protokoliem ir kopējas pazīmes. Jebkuram mezglam ir ļauts jebkurā brīdī pieprasīt pārraidīšanas tiesības. Lai novērstu pārraidīšanas konfliktus, arbitrāžas metodē kadri ar augstāko identifikatoru iegūst piekļuvi kopnei bez kavēšanās. Visi kadru tipi tiek pārraidīti apraidē.

Viena no unikālākajām CAN datu posma slāņa īpašībām ir tā, ka tiek atklātas visas viena bita kļūdas. Vairāku bitu kļūdas tiek konstatētas ar augstu varbūtību. Lai nodrošinātu datu saskaņu visos mezglos, lokālās kļūdas tiek globalizētas.

Klasiskais CAN protokols izmanto tikai vienu bitu arbitrāžai un datu fāzei. Pārraides ātrums ir ierobežots līdz 1 Mbit/s nelieliem tīkliem (teorētiski līdz 40 m). Reālais bitu pārraides ātrums atkarīgs no tīkla garuma un fizikālā slāņa elementiem (kabeļi, savienotāji, raiduztvērēji); praktiski tas ir no 40 līdz 125 kBit/s. Vērtums (datu lauks) ir ierobežots līdz 8 baitiem.

CAN FD atļauj vērtumus līdz 64 baitiem. Bez tam tas atbalsta neobligātu otro bitu pārraides ātrumu datu fāzei. Ātruma ierobežojums arbitrāžas fāzē ir tāds pats kā klasiskajā CAN. Datu fāzē ātrums ir ierobežots ar raiduztvērēja raksturlielumiem, svārstību ģeneratora pielaidēm un topoloģijas. Datu fāzē bitu pārraides ātrums var būt līdz 8 Mbit/s, ja izmanto kopnes topoloģiju ar ļoti īsiem, neterminētiem atzarojumiem. Praktiski CAN FD ātrums ir līdz 1 Mbit/s.

Ārējās saites

labot šo sadaļu