CAN-väylä (Controller Area Network) on erittäin luotettava,{0}}reaaliaikainen sarjaliikenneprotokolla, jota käytetään ajoneuvoissa, teollisuusautomaatiossa ja muilla aloilla. Sen avulla useat mikro-ohjaimet ja laitteet voivat kommunikoida keskenään ilman isäntätietokonetta.

Bosch kehitti CAN-väylän alun perin Saksassa 1980-luvun alussa ajoneuvon sisäistä viestintää varten. Vuonna 1993 ISO julkaisi CAN-väylästandardin (ISO 11898), joka kattaa sekä datalinkkikerroksen että fyysisen kerroksen protokollan.
ISO 11898-1: Määrittää datalinkkikerroksen protokollan.
ISO 11898-2: Määrittää fyysisen kerroksen protokollan nopealle-CAN-väylälle, joka tukee maksimitiedonsiirtonopeutta 1 Mbps. Se suosittelee lineaarista topologiaa ja sopii sovelluksiin, joissa on korkeat reaaliaikavaatimukset.
ISO 11898-3: Määrittää fyysisen kerroksen protokollan hitaalle-nopeukselle CAN-väylälle, jonka tiedonsiirtonopeus vaihtelee välillä 40 Kbps - 125 Kbps. Se tunnetaan myös nimellä fault{6}}tolerant CAN, ja se mahdollistaa jatkuvan tiedonsiirron, vaikka yksi signaalilinja katkeaa, joten se sopii sovelluksiin, joissa reaaliaikavaatimukset ovat alhaisemmat.
CAN-väylän ominaisuudet:
Useita{0}}pääohjaus:CAN-väylä tukee useita isäntälaitteita, jotka ovat rinnakkain verkossa ilman isäntä{0}}orjahierarkiaa. Laitteet kommunikoivat viestin prioriteetin perusteella.
Differentiaalinen signalointi:Käyttää kahta johtoa (CAN_H ja CAN_L) differentiaalisignaalien lähettämiseen, mikä parantaa sähkömagneettisten häiriöiden vastustuskykyä.
-Tuhoamaton välimiesmenettely:Jos törmäys tapahtuu viestin lähetyksen aikana, korkeamman-prioriteettitason viesti lähetetään, kun taas alemman-prioriteettiviestin odottaa uudelleenlähetystä.
Virheiden havaitseminen ja käsittely:Sisältää vankat virheiden havaitsemis- ja käsittelyominaisuudet, mukaan lukien CRC-tarkistussumman ja bittivirheiden tarkistuksen.
Joustava topologia:Tukee useita verkkotopologioita, kuten lineaari-, tähti-, puu- ja rengaskonfiguraatioita.
CAN-väylällä logiikan "0" ja "1" välinen merkittävä jännite-ero varmistaa luotettavan tiedonsiirron. Yllä olevaan kuvaukseen viitaten CAN-väylän kaksi logiikkatasoa ovat:
Hallitseva: 0
Resessiivinen: 1
CAN-väylän signaalitasot näyttävät{0}}ja ominaisuudet. Tämä rivi-ja käyttäytyminen muodostaa piirin perustan CAN-väylän sovittelulle: hallitseva taso (0) peittää aina resessiivisen tason (1). Jos eri solmut lähettävät samanaikaisesti hallitsevaa ja resessiivistä tasoa, väylällä on hallitseva taso (0). Vain kun kaikki solmut lähettävät resessiivisen tason (1), väylällä on resessiivinen tila.
Hallitseva taso:Logiikka 0. High-Speed CAN:ssa CAN_H-nasta ohjaa 5V:iin ja CAN_L-nasta 0V:iin.
Alistuva taso:Logiikka 1. Kumpaakaan nastaa ei ohjata.

Nopeat-CAN- ja hitaita{1}}CAN-väylät eroavat fyysisen kerroksen signaalitason määritelmiltä:
Suuri-nopea CAN määrittää logiikan "1", kun CANH- ja CANL-jännitteet ovat yhtä suuret (CANH=CANL=2.5V), ja logiikan "0", kun CANH- ja CANL-jänniteero on 2V (CANH=3.5V, CANL=1.5V).
Yleisellä-tilajännitealueella (-12 V - 12 V) nopea CAN-lähetin-vastaanotin tulkitsee yli 0,9 V:n jännite-eron CANH:n ja CANL:n välillä vallitsevaksi tilaksi ja alle 0,5 V eron resessiiviseksi tilaksi. Sisäinen hystereesipiiri vähentää häiriöitä.
Pieni-nopeus CAN määrittää logiikan "1", kun jännite-ero CANH:n ja CANL:n välillä on 5 V (CANH=0V, CANL=5V), ja logiikan "0", kun jännite-ero on 2,2 V (CANH=3.6V, CANL=1.4V).
Nopeat{0}}nopeat CAN-signaalitasot (ISO 11898-2)
Matalat-nopeuden CAN-signaalitasot (ISO 11898-3)
CAN-virheenkäsittelymekanismit:
CRC-virheet:Havaitsee virheet laskemalla ja tarkistamalla tietojen CRC-arvon.
Bittivirheet:Havaitsee bittivirheet reaaliajassa{0}}lähetyksen aikana.
Virhekehykset:Lähettää virhekehyksiä pyytääkseen uudelleenlähetystä, kun virheitä havaitaan.
Yhteenveto
CAN-väylä on otettu laajasti käyttöön useilla aloilla korkean luotettavuutensa,{0}}reaaliaikaisen suorituskyvyn ja joustavuuden ansiosta. Tekniikan kehittyessä CAN-väylä jatkaa kehitystä-esimerkiksi BOSCHin julkaisema CAN FD (Flexible Data-Rate) -standardi parantaa edelleen tiedonsiirtonopeuksia vastaamaan suurempaa kaistanleveyttä vaativien sovellusten vaatimuksiin.




