Sisällysluettelo:

STM32 CAN -liitäntä: 7 vaihetta
STM32 CAN -liitäntä: 7 vaihetta

Video: STM32 CAN -liitäntä: 7 vaihetta

Video: STM32 CAN -liitäntä: 7 vaihetta
Video: STM32 CAN шина. Часть 2. Фильтрация и демонстрация работы 2024, Heinäkuu
Anonim
STM32 CAN -liitäntä
STM32 CAN -liitäntä

Controller Area Network -väylä tai CAN -väylä on erittäin tehokas tiedonsiirtoprotokolla sen nopeiden ominaisuuksien, pitkän kantaman luotettavuuden ja kohinanvaimennuksen ansiosta. Näistä syistä CAN -viestinnästä on tullut standardi autoteknologiassa ja korkeassa melussa. CAN -väylän laitteita kutsutaan solmuiksi. Kaikki CAN -väylän solmut on kytketty rinnakkain, mikä tarkoittaa, että jokainen solmu on kytketty kaikkiin muihin verkon solmuihin. Yhdellä CAN -väylällä voi olla jopa 115 solmua kerrallaan viestin lähetysnopeudesta riippuen, mutta useimmissa sovelluksissa suositellaan enintään 32 laitetta. On myös suositeltavaa pitää ensimmäisen ja viimeisen solmun välinen pituus alle 40 metrin päässä toisistaan.

Tämä vaiheittainen opetusohjelma näyttää, kuinka CAN-solmu asetetaan STM32-mikrokontrollerilla, mukaan lukien piiri ja yksinkertainen C-koodi CAN-väylän lukemiseen ja kirjoittamiseen

Tarvikkeet

Kullekin CAN -solmulle:

  • 1x STM32 -katkaisulauta (Nucleo, Blue Pill, muut)
  • 1x MCP2551 CAN -lähetinvastaanotin IC
  • 1x 0,1 µF kondensaattori
  • 1x 120Ω vastus
  • 1x 1kΩ vastus
  • 1+ luettavissa oleva tulo (painike, kytkin, potentiometri jne.) Tai lähtö (LED, MOSFET jne.)
  • 1x Dsub9 -liitin

Vaihe 1: Lähetin -vastaanotinpiiri

Lähetin -vastaanotinpiiri
Lähetin -vastaanotinpiiri

Kommunikoidaksesi CAN -väylän kanssa käytämme MCP2551 CAN -lähetinvastaanotinta IC. IC toimii välittäjänä lähetin/vastaanotinparina STM32: n liittämiseksi CAN -väylään. Piiri tämän IC: n asettamiseksi on melko yksinkertainen, mutta on huomioitava muutama asia:

  • MCP2551 -sirun CAN_RX (nasta 4) ja CAN_TX (nasta 1) voivat mennä vain tiettyihin STM32: n nastoihin.

    • Yhdistä STM32F1 Nucleo -laitteessa RX -linja nastaan PB8 ja TX -linja nastaan PB9.
    • Yhdistä sininen STM32F1 -pilleri RX liittimeen PA11 ja TX liittimeen PA12.
    • Huomaa, että näillä nastamäärityksillä on vaihtoehtoja. Katso mikro -ohjaimen käsikirjoista, mitkä nastat kykenevät CAN_RD: hen ja CAN_TD: hen
    • Jos käytät Arduinoa tai korttia, jossa ei ole sisäänrakennettua CAN -kommunikaattoria, MCP2515 -IC -siru vaaditaan muuntamaan muut sanomaprotokollat CAN -muotoon.
  • CANL -nasta tulee liittää muiden väyläsolmujen muihin CANL -nastoihin. Sama koskee CANH -nastoja.
  • 120Ω vastus CANH- ja CANL -nastojen poikki vaaditaan vain, jos solmu on päätesolmu. Tämä tarkoittaa, että se on rinnakkaisliitännän lopussa. Toisin sanoen CAN -väylässä pitäisi olla vain kaksi 120Ω: n vastusta, ja niiden tulisi olla mahdollisimman kaukana toisistaan.
  • Lopuksi RS: n 1 kΩ: n vastus (nasta 8) voidaan vaihtaa 10 kΩ: n vastukseen CAN -viestibittien nousu-/laskuajan ohjaamiseksi. Katso lisätietoja MCP2551 -sirun tietolomakkeesta.

Vaihe 2: Lukeminen ja kirjoittaminen CAN -väylälle

Lukeminen ja kirjoittaminen CAN -väylälle
Lukeminen ja kirjoittaminen CAN -väylälle

Nyt kun lähetin -vastaanotinpiiri on kytketty STM32: een, voimme alkaa kirjoittaa viestejä CAN -väylälle. Tämä opettavainen opas ei mene perusteellisesti STM32-koodiin. Muista kuitenkin tarkistaa koodimme täältä. STM32: n käyttäminen CAN -solmuna edellyttää CAN -otsikkotiedostoa. Kirjoitimme oman, joka löytyy githubistamme täältä. Tässä annamme lyhyen yleiskatsauksen luku-/kirjoitusprosessista.

Jotta voimme lukea CAN -väylältä, meidän on ensin tiedettävä CAN -viestin tunnus. Jokaisella viestillä tulee olla yksilöllinen tunnus, ja alemmilla tunnuksilla on korkeampi prioriteetti. Tässä näkyvä koodinpätkä odottaa CAN -viestiä, jonka tunnus on 0x622. Jos järjestelmässämme kuudennen tavun ensimmäinen bitti on korkea, haluamme asettaa nastan A10 korkealle.

Kun kirjoitamme CAN-viestiä, meidän on muistettava, että CAN-viestit ovat monitavuisia. Jokaisessa kirjallisessa viestissä on oltava tunnus ja pituus. Toisessa näytetyssä koodinpätkässä kirjoitamme tiedot kuhunkin tavuun ja lähetämme sitten viestin (ID- ja pituusparametrit on määritelty aiemmin koodissa).

Vaihe 3: Solmujen yhdistäminen

Yhdistävät solmut
Yhdistävät solmut

Kun liität useita CAN -solmuja, sinun on kiinnitettävä erityistä huomiota kaapelien pituuteen. Kaksi kaukaisinta solmua voivat olla jopa 40 metrin päässä toisistaan. Väylään yhdistävien keskisolmujen tulee olla enintään 50 cm: n päässä pääväylälinjoista.

CAN -liitännät noudattavat alan standardia, jossa käytetään Dsub9 -liitintä, jossa CANL -linja on nastassa 2 ja CANH -linja nastassa 7. Vaihtoehto CANGND -linja voi mennä nastaan 3.

Vaihe 4: Tee piirilevy

Tee piirilevy
Tee piirilevy

Kun reitität CAN -signaaleja piirilevylle, muista, että CAN on differentiaalisignaali, joten CANH- ja CANL -reititysohjeita on noudatettava huolellisesti.

Vaihe 5: Hallituksen laajentaminen

Hallituksen laajentaminen
Hallituksen laajentaminen

Yhdistä muut solmut yhteen, lisää joitakin tuloja/lähtöjä ja liitä kaikki niiden CANH- ja CANL -nastat. Huomaa, että jokainen STM32 tai muu mikro -ohjain vaatii oman MCP2551 -sirunsa; niitä ei voida jakaa.

Yritä pitää PCB: t pienempiä kuin tässä esitetty

Vaihe 6: Tilaa piirilevyt JLCPCB: ltä

Tilaa piirilevyt JLCPCB: ltä
Tilaa piirilevyt JLCPCB: ltä

JLCPCB tarjoaa nopeaa, korkealaatuista palvelua erittäin kohtuulliseen hintaan. Hanki 5 taulua, mitä tahansa väriä ja paljon mukautettavaa, vain 2 dollarilla! Ja jos se on ensimmäinen tilauksesi, hanki 10 lautaa samaan hintaan!

Lataa vain gerberisi ja saat heti tarjouksen! Lähetä tilauksesi, ja levysi tarkastetaan tuotannossa tunnin kuluessa. Kun olet maksanut, voit odottaa korkealaatuisia levyjäsi kolmen päivän kuluessa!

Tarkista se täältä

Vaihe 7: Hanki levyt

Hanki taulusi!
Hanki taulusi!

Valtava huuto JLCPCB: lle tämän hankkeen sponsoroinnista. JLCPCB (ShenzhenJLC Electronics Co., Ltd.) on Kiinan suurin PCB-prototyyppiyritys ja korkean teknologian valmistaja, joka on erikoistunut PCB-prototyyppien nopeaan prototyyppityöhön ja pienikokoiseen PCB-tuotantoon. He olivat ystävällisiä toimittaakseen UBC Solarille uudet piirilevyt aurinkokäyttöiselle kilpa-autollemme. Teimme tilauksen perjantaina ja saimme levyt keskiviikkona!

Suositeltava: