CAN-väylä selitettynä: miten ohjaimet, BMS-järjestelmät ja näytöt kommunikoivat keskenään

Nykyaikaisessa sähköajoneuvossa komponentit eivät ainoastaan vaihda tehoa, vaan myös tietoa. Ohjain haluaa tietää akun tilan, näyttö nopeuden ja lämpötilat, ja toinen ohjain ensimmäisen ohjaimen asetukset. Yleisin tapa tähän on peräisin autoteollisuudesta: CAN-väylä. Tämä opas selittää, miten se toimii ja miten se kytketään oikein.

Tärkeimmät asiat

  • CAN-väylä yhdistää useita laitteita käyttämällä kahta kierrettynyttä johdinta, joita kutsutaan nimillä CAN high ja CAN low.
  • Kummassakin bussin päässä on oltava 120 ohmin vastus, ja vastukset on sijoitettava ainoastaan päihin.
  • Jokainen viesti sisältää tunnisteen, joka toimii myös prioriteettina: tärkeimmät viestit näkyvät aina ensimmäisenä.
  • Kaikkien laitteiden on käytettävä samaa tiedonsiirtonopeutta.

Ei bussi, vaan yhteys

Yksinkertainen sarjayhteys yhdistää kaksi laitetta. CAN puolestaan on väylä: kaikki laitteet on kytketty samoihin kahteen johtoon, ja jokainen voi kommunikoida kaikkien kanssa. Uuden laitteen lisääminen onnistuu liittämällä se väylään, ilman että tarvitsee vetää uutta kaapelia ohjaimeen. Tämä on tehnyt siitä yleisen käytön auton teollisuudessa, jossa kymmenet ohjausyksiköt jakavat muutaman johdinpari.

Kevyessä ajoneuvossa on tyypillisesti yksi tai useampi ohjain, akun BMS (Battery Management System), näyttö, telemetriamoduuli tai laturi.

Kaksi johdinta, yksi ero

CAN-väylä käyttää kahta johdinta, "CAN high" ja "CAN low". Tietoa ei välitetä yhden johdon jännitteen avulla suhteessa maahan, vaan erotuksen avulla näiden kahden johdon välillä:

  • Levossa (bittikenttä "recessive"), molemmat johdot ovat samalla jännitteellä, noin puolet piirin virtalähteestä;
  • Jotta lähetin voisi lähettää "dominantin" bittejä, se kytkee kaksi johtoa erilleen: ylempi johto nousee ja alempi laskee.

Sähköinen häiriö, kuten ohjaimesta lähtevä sähkö, joka syöttää satoja ampeereja, vaikuttaa molempiin johtimiin samalla tavalla. Niiden välinen ero kuitenkin säilyy ennallaan. Tämä tekee CAN-väylästä erittäin kestävän sähköisesti häiritsevässä ympäristössä, edellyttäen, että molemmat johtimet on kiernetty yhteen.

Päätevastukset

CAN-väylän on oltava kytketty 120 ohmin vastuksella sekä korkean että matalan CAN-linjan välille kummassakin fyysisessä päässä. Nämä vastukset estävät signaalien heijastumisen kaapelin päissä ja palauttavat väylän lepotilaan.

  • Bussiyhteys on nyt kunnossa: kun mitataan CAN-linjan korkean ja matalan puolen välillä, laitteet ovat sammuksissa, tulos on noin 60 ohmia (kaksi 120 ohmin vastusta rinnakkain).
  • Noin 120 ohmia: puuttuu päätevastus.
  • Arvo, joka on huomattavasti alle 60 ohmin: Tämä viittaa siihen, että päätevastuksia on liikaa, usein siksi, että useissa laitteissa on oma päätevastuksensa aktivoituna.

Puuttuva tai ylimääräinen liitin on yleisin syy epävakaaseen tiedonsiirtoon.

Tunnisteet ja prioriteetti

Jokainen CAN-viesti sisältää tunnisteen, numeron, joka kertoo, mistä viesti kertoo (esimerkiksi "akun tila" tai "moottorin etuosan ohjausarvo"). Laitteet lukevat kaikki viestit, mutta säilyttävät vain ne, jotka ovat niiden kannalta relevantteja.

Kun kaksi laitetta alkavat lähettää samanaikaisesti, ne vertaavat tunnistetietojaan bitti kerrallaan samalla johdolla. Hallitseva bitti korvaa heikomman bitin: laite, joka lähettää heikomman bitin ja vastaanottaa hallitsevan bitin, ymmärtää hävinneensä ja lopettaa lähetyksen. Pienin tunnistetieto voittaa aina, eikä mikään viesti vahingoitu. Tätä kutsutaan arbitraatioksi: kriittiset viestit saavat pienimmät tunnistetiedot.

Sisäänrakennettu luotettavuus

  • Jokainen viesti sisältää tarkistuskoodin: vioittunut viesti havaitaan ja lähetetään uudelleen.
  • Jokainen vastaanotin vahvistaa tiedon vastaanottamisen erillisellä vahvistusbitillä.
  • Laite, joka kerää useita virheitä, kytkeytyy automaattisesti pois päältä, jotta se ei estä koko järjestelmää.

Bussin nopeus

Kaikkien laitteiden, jotka ovat yhteydessä samaan tiedonsiirtoväylään, on käytettävä samaa tiedonsiirtonopeutta. Yleisimmät arvot ovat 250 ja 500 kilobittiä sekunnissa, joskus 1 megabitti. Mitä nopeampi tiedonsiirtoväylä on, sitä lyhyempi sen maksimipituus on. Kuitenkin kevyessä ajoneuvossa, jonka pituus on enintään muutamia metrejä, pituus ei yleensä ole rajoittava tekijä. Uudempi versio, CAN FD, mahdollistaa suuremman datamäärän siirtämisen viestissä ja korkeammalla nopeudella.

Esimerkki: kaksi ohjainlaitetta yhdistettynä

Sähköpotkulaudassa, jossa on kaksi moottoria, kaksi CAN-väylään kytkettyä ohjainta toimivat yhtenä: ohjain, joka vastaanottaa kaasun signaalin, välittää tiedon toiselle ohjaimelle, ja vain yksi ohjelmisto näkee molemmat. Tämä koskee esimerkiksi VESC-ohjaimia, joista kerrotaan tarkemmin oppaassamme VESC-ohjain selitettynä.

Huoltotyön vinkki.

Kierrä aina yhdessä CAN-kaapelit (CAN high ja CAN low) niin, etteivät ne ole lähellä vaihekaapeleita, ja tarkista 60 ohmin vastus yleismittarilla ennen ensimmäistä virransyöttöä. Viisi minuuttia tarkastusta voi säästää tunteja etsiessä ajoittaista kommunikaatiokatkoa.

Usein kysytyt kysymykset

Kulkeeko virta CAN-väylän kautta laitteiden virransyöttöä varten?

Ei, CAN-liitäntä välittää vain tietoa. Laitteilla on oma virtalähde, joka joskus saadaan muista saman kaapelin johdoista.

Miksi CAN-väyläni kommunikointi toimii ajoittain?

Yleisimpiä syitä ovat puuttuvat tai ylimääräiset johtopäät, vääntämättömät johdot, jotka kulkevat lähellä virtajohtoja, kulunut liitin tai kaksi laitetta, joiden bussinopeudet eivät ole samat.

Voidaanko kaikki CAN-väylään kytkettävät laitteet yhdistää toisiinsa?

Sähköisesti, kyllä, jos ne käyttävät samaa tiedonsiirtonopeutta. Mutta jotta ne voisivat kommunikoida, niiden on käytettävä samaa "kieltä": samoja tunnisteita ja samaa viestisisältöä. Kaksi eri merkkiä eivät ymmärrä toisiaan ilman sovitusta.