1. Yleiskatsaus CAN-protokollasta
1.1 CAN-protokollan alkuperä ja kehitys
CAN-protokollaa ehdotti ensimmäisen kerran saksalainen Bosch Company vuonna 1983, ja sen tavoitteena oli ratkaista viestintäongelmia autojen elektronisissa järjestelmissä. Teknologian kehityksen myötä CAN-protokollaa käytetään vähitellen laajalti teollisessa ohjauksessa, lääketieteellisissä laitteissa, älykodissa ja muilla aloilla.
1.2 CAN-protokollan ominaisuudet
CAN-protokollalla on seuraavat ominaisuudet:
- Moni-pääohjaus: CAN-protokolla tukee useita solmuja viestimään samanaikaisesti, mikä parantaa järjestelmän reaaliaikaista-luotettavuutta.
- Lähetysviestintä: CAN-protokolla käyttää lähetysmenetelmää viestintään, kaikki solmut voivat vastaanottaa lähetetyt tiedot.
- -Tuhoamaton sovittelu: Kun kaksi tai useampi solmu lähettää tietoja samanaikaisesti, CAN-protokolla varmistaa tietojen oikean siirron sovittelumekanismin kautta.
- Virheiden havaitseminen ja käsittely: CAN-protokollassa on virheiden havaitsemis- ja käsittelytoimintoja, jotka voivat havaita ja käsitellä tiedonsiirtoprosessin virheet ajoissa.
2. CAN-sanomakehyksen komponentit
CAN-sanomakehys on CAN-protokollan perustiedonsiirtoyksikkö, ja sen komponentit ovat seuraavat:
2.1 Kehyksen aloitusbitti
Kehyksen aloitusbitti on viestikehyksen ensimmäinen bitti, ja sitä käytetään viestikehyksen alun tunnistamiseen.
2.2 Välimiesoikeuskenttä
Arviointikenttää käytetään lähetettävän tiedon priorisointiin. CAN-protokollassa välityskentän pituus on 11 tai 29 bittiä, jotka vastaavat standardi- ja laajennettuja kehyksiä. Mitä pienempi välityskentän arvo on, sitä korkeampi on prioriteetti.
2.3 Ohjauskenttä
Ohjauskenttä koostuu Remote Transmission Request (RTR) -bitistä ja Identifier Extension (IDE) -bitistä. RTR-bittiä käytetään tunnistamaan, onko datakehys etäkehys vai datakehys, ja IDE-bittiä käytetään tunnistamaan, onko kehys vakiokehys vai laajennettu kehys.
2.4 Tietokenttä
Tietokenttää käytetään todellisten lähetettyjen tietojen tallentamiseen. Tietokentän pituus on 0-8 tavua vakiokehyksillä ja 0-64 tavua laajennetuilla kehyksillä.
2.5 Tarkista kenttä
Tarkistussummakenttä koostuu syklisestä redundanssitarkistuksesta (CRC) ja CRC-erottimesta, jonka avulla havaitaan, onko tiedoissa virhe lähetyksen aikana, sekä CRC-erottimesta, joka tunnistaa CRC-tarkistussumman lopun.
2.6 Vastauskenttä
Vastauskenttä koostuu vastauspaikasta ja vastausmäärittäjästä. Vastausväliä käytetään vastauksen vastaanottamiseen solmusta ja vastauksen määrittäjä tunnistaa vastauskentän lopun.
2.7 Kehysbitin-loppu-
Kehyksen -lopu
3. Tietolinkkikerroksen toiminnot
Tietolinkkikerros on OSI-referenssimallin toinen kerros, joka vastaa pääosin luotettavasta tiedonsiirrosta fyysisen kerroksen päällä. Tietolinkkikerroksen toimintoihin kuuluvat:
3.1 Kehyssynkronointi
Kehyssynkronointi on yksi datalinkkikerroksen perustoiminnoista, jonka avulla varmistetaan, että lähettävät ja vastaanottavat solmut pystyvät tunnistamaan oikein tietokehyksen alun ja lopun.
3.2 Virheenhallinta
Virheenhallinta on toinen tärkeä tietoyhteyskerroksen toiminto, mukaan lukien virheiden havaitseminen ja virheenkorjaus. CAN-protokolla käyttää syklistä redundanssitarkistusta (CRC) virheiden havaitsemiseen tietojen eheyden varmistamiseksi.
3.3 Virtauksen ohjaus
Vuonohjausta käytetään estämään lähettävää solmua lähettämästä dataa liian nopeasti vastaanottavan solmun käsittelemään. Tietolinkkikerros varmistaa luotettavan tiedonsiirron ohjaamalla tiedon lähetysnopeutta.
3.4 Kulunvalvonta
Pääsynhallinta on toinen avaintoiminto datalinkkikerroksessa, jota käytetään koordinoimaan useiden solmujen välistä viestintää. CAN-protokollassa kulunvalvonta toteutetaan -tuhottoman sovittelumekanismin avulla tietojen oikean siirron varmistamiseksi.
4. CAN-sanomakehysten käyttö datalinkkikerroksessa
4.1 Kehyssynkronointi
CAN-sanomakehyksissä kehyksen aloitusbittiä ja kehyksen loppubittiä käytetään kehyssynkronointiin. Lähettävä solmu tunnistaa sanomakehyksen alun lähettämällä kehyksen aloitusbitin ja vastaanottava solmu synkronoi kehyksen havaitsemalla kehyksen aloitusbitin.
4.2 Virheenhallinta
Tarkistussummakentän CRC:tä käytetään virheenhallintaan CAN-sanomakehyksessä. Lähettävä solmu luo datan perusteella CRC:n ja liittää sen tietokenttään ennen datan lähettämistä. Vastaanotettuaan tiedon vastaanottava solmu laskee uudelleen CRC-tarkistussumman ja vertaa sitä vastaanotettuun CRC-tarkistussummaan havaitakseen mahdollisen virheen tiedoissa.
4.3 Virtauksen ohjaus
CAN-protokollassa vuonohjaus toteutetaan pääasiassa sovittelumekanismin kautta. Kun kaksi tai useampi solmu lähettää dataa samanaikaisesti, CAN-protokolla määrittää prioriteetin välimiesmenettelyn kautta varmistaakseen tiedon luotettavan siirron.
4.4 Kulunvalvonta
CAN-protokollassa pääsynhallinta toteutetaan pääasiassa -tuhottoman sovittelumekanismin avulla. Kun kaksi tai useampi solmu lähettää dataa samanaikaisesti, CAN-protokolla määrittää lähetetyn datan prioriteetin vertaamalla sovittelukentän arvoa. Korkeamman prioriteetin solmu voi jatkaa datan lähettämistä, kun taas matalamman prioriteetin solmun on odotettava, kunnes korkeamman prioriteetin solmu lopettaa datan lähettämisen.




