CAN (kopne)

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 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.

Vēsture

Darbu pie CAN kopnes Robert Bosch GmbH sāka 1983. gadā. 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.

Standarts

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.

Arhitektūra

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.

Datu posma slānis

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ā).
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.