CAN-väylä teollisuusverkoissa. CAN-bussi ei ole vain autoille. Johdatus CAN:iin

sarjaväylä, joka tarjoaa yhteyden "älykkäiden" syöttö-/tulostuslaitteiden, antureiden ja toimilaitteiden verkkoon jonkin mekanismin tai jopa yrityksen. Sille on ominaista protokolla, joka mahdollistaa useiden isäntälaitteiden sijoittamisen valtatielle, mikä tarjoaa reaaliaikaisen tiedonsiirron ja virheenkorjauksen sekä korkean kohinansietokyvyn. Mukana CAN-järjestelmä iso määrä moottoritielle kytkettyjen laitteiden toiminnan varmistavat mikropiirit, joiden kehittämisen BOSH aloitti autokäyttöön ja jota käytetään tällä hetkellä laajasti teollisuudessa ja asuinalalla osana automatisoidut järjestelmät sähkön ohjaus ja mittaus (AIS KUE)

Suunniteltu järjestämään erittäin luotettavasti edullisia kanavia viestintä sisään hajautetut järjestelmät. Rajapinta on laajalti käytössä teollisuudessa, energiassa ja liikenteessä. Voit rakentaa sekä halpoja multipleksikanavia että nopeat verkot. Siirtonopeus on ohjelmoitu ja se voi olla jopa 1 Mbit/s. Käyttäjä valitsee nopeuden etäisyyksien, tilaajamäärän ja voimajohtokapasiteetin perusteella.
Etäisyys, m 25 50 100 250 500 1000 2500 5000
Nopeus, kbit/s 1000 800 500 250 125 50 20 10
  • Verkkoon yhdistettyjen tilaajien enimmäismäärä tämä käyttöliittymä määräytyy itse asiassa käytettyjen lähetin-vastaanottimien kuormituskapasiteetin mukaan.
  • CAN-protokollan käyttö alkuperäinen järjestelmä osoittelemalla viestejä. Jokaisessa viestissä on tunniste, joka määrittää lähetettävän tiedon tarkoituksen, mutta ei vastaanottajan osoitetta. Jokainen vastaanotin voi vastata joko yhteen tai useampaan tunnisteeseen. Useat vastaanottimet voivat vastata yhteen tunnisteeseen.
  • CAN-protokollassa on kehitetty virheiden havaitsemis- ja signalointijärjestelmä. Näitä tarkoituksia varten bittikohtainen ohjaus, bittivirran suora täyttö, viestipaketin tarkistus CRC-polynomilla, viestipaketin muodon ohjaus, vahvistus oikea vastaanotto datapaketti. Hamming-väli d=6. Havaitsemattoman virheen kokonaistodennäköisyys 4,7x10-11
  • Välimiesmenettely CAN-protokolla eliminoi tiedon ja ajan menetyksen bussissa tapahtuvien "törmäysten" aikana.
  • CAN-protokollaa käyttävä käyttöliittymä mukautuu helposti fyysinen ympäristö tiedon siirto. Se voi olla differentiaalisignaali, valokuitu, vain avoin kollektori jne. Galvaaninen eristys on helppo tehdä.
  • , jotka tukevat CAN:ia, ovat laajalti saatavilla teollisina versioina. Ja niitä löytyy kaikkialta, sekä teollisuusyrityksissä että asunto- ja kunnallispalvelurakenteissa, asuinalalla, yksityiskodeissa, puutarhakumppanuuksissa (SNT) jne.

Likimääräinen luettelo sähkömittareista, jotka tukevat CAN-liitäntää

Bosch kehitti CAN-liitännän 80-luvun lopulla autoissa käytettävien elektronisten laitteiden kytkemiseen.

CAN:n yleinen kuvaus. Verkko on suunniteltu niin sanottujen solmujen kommunikointiin, jotka voivat olla vastaanottimia tai lähettimiä. Jokainen solmu koostuu kahdesta osasta: CAN-ohjaimesta ja lähetin-vastaanottimesta. Ohjain toteuttaa vaihtoprotokollan CAN-verkon yli ja lähetin-vastaanotin varmistaa vuorovaikutuksen verkon kanssa (signaalin lähetys ja vastaanotto).

Käytännössä CAN-väylä on standardin mukaan yleensä kierretty parikaapeli, jonka kautta signaalit siirretään differentiaalimenetelmällä.

Kuvassa CAN-verkon rakenne on esitetty. Tyypillisesti ohjaimena käytetään CAN-moduulilla varustettua mikro-ohjainta, jossa on TxD-sarjakoodilähetinlähtö ja RxD-koodivastaanotintulo. Lähetin-vastaanotin muuntaa loogiset signaalit, eli logiikka 0 ja 1, differentiaalijännitteeksi, joka syötetään kahteen väyläjohtimeen, jotka on merkitty CAN_H ja CAN_L.

Standardin mukaan linjan ominaisimpedanssin on oltava alueella 108-132 ohmia. Signaalin heijastusten vähentämiseksi väylän molempiin päihin tulee kytkeä 120 ohmin RC-päätevastukset. Lähetyksen luotettavuuden lisäämiseksi ja melunsietokyvyn lisäämiseksi käytetään joskus kolmatta johtoa - yleistä, nimeltään GND. Standardin mukainen syöttöjännite UCC (tai UDD) on +5 V suhteessa GND:hen.

Fyysisen siirtovälineen abstraktion vuoksi CAN-spesifikaatio määrittelee kaksi loogista tilaa (eli looginen 0 ja 1) resessiivisiksi ja hallitseviksi. Oletetaan, että kun yksi verkkosolmu lähettää resessiivisen bitin ja toinen hallitsevan bitin, hallitseva bitti vastaanotetaan.

Resessiivisessä tilassa (eli logiikka 1 lähetin-vastaanottimen TxD-tulossa) differentiaalinen jännite UDIFF =UCANH – UCANL on pienempi kuin minimikynnys (0,5 V vastaanottimen sisääntulossa tai 0,05 V lähettimen lähdössä).

Dominoivassa tilassa (eli logiikka 0 lähetin-vastaanottimen TxD-tulossa) differentiaalijännite UDIFF on suurempi kuin minimikynnys (0,9 V vastaanottimen sisääntulossa tai 1,5 V lähettimen lähdössä).

Viestit CAN-kielellä. Käyttöliittymä käyttää lyhytsanomia: maksimikoko on 94 bittiä. CAN-sanoman tietosisältö määrittää implisiittisesti tämän viestin lähteen osoitteen ja tätä tietoa tarvitsevien vastaanottajien osoitteet.

Esimerkiksi. yksi CAN-solmu lähettää väylään viestin "Moottorin öljyn lämpötila 80". Kaikki muut solmut saavat tämän viestin, mutta vain ne solmut, jotka tarvitsevat sitä, käyttävät tätä tietoa.

CAN-väylän kautta lähetettyjä viestejä kutsutaan kehyksiksi tai kehyksiksi. Lähetyksen aloittajasta ja sen tarkoituksesta riippuen kehyksiä on 4 tyyppiä:

1) datakehys, jota käytetään tiedonsiirtoon;

2) datapyyntökehys, jota käytetään tietojen etäpyyntöön etäsolmulta;

3) virhekehys, kun väylällä havaitaan virheitä;

4) ylikuormituskehys, joka lähetetään viivyttämään pakettien, datakehyksen ja pyyntökehyksen lähetystä esimerkiksi silloin, kun vastaanotin ei ole valmis.

Näytä vakiomuoto viestidatakehys on esitetty kuvassa. Se koostuu seitsemästä eri bittikentästä:

    Kehyskentän alku koostuu yhdestä hallitsevasta bitistä, joka toimii myös vastaanottimen ja lähettimen generaattoreiden synkronoinnissa.

    Arviointikenttä sisältää 11-bittisen ID:n ja RTR-bitin (data transfer request). Datakehyksessä tämän bitin on oltava hallitsevalla tasolla.

    Ohjauskenttä koostuu kuudesta bitistä. Kaksi tärkeintä bittiä ovat tällä hetkellä käyttämättömiä. Nelibittinen datapituuskoodi ilmaisee tavujen määrän tietokentässä.

    Tietokenttä sisältää nollasta kahdeksaan tavua dataa.

    Tarkistussumma-kenttä sisältää tarkistussumma viestit (15 bittiä) ja resessiivinen tason erotinbitti.

    Kuittauskenttä koostuu kahdesta bitistä. Merkittävin bitti nimeltä Slot asettaa lähettävän solmun resessiiviselle tasolle. Jos lähetys onnistui, vastaanottava solmu signaloi tämän asettamalla tämän bitin hallitsevalle tasolle. Toinen bitti tässä kentässä on resessiivinen tason erotinbitti.

    Kehyksen loppukenttä koostuu seitsemästä resessiivisestä tason bitistä.

Kehyksen loppua (EOF) seuraa välikenttä, joka koostuu kolmesta resessiivisesta tason bitistä. Tämän ajanjakson jälkeen rengas katsotaan vapaaksi.

Teollinen reaaliaikainen verkko CAN on verkko, jolla on yhteinen tiedonsiirtoväline. Tämä tarkoittaa, että kaikki verkon solmut vastaanottavat samanaikaisesti väylän kautta lähetettyjä signaaleja. Ei ole mahdollista lähettää viestiä mihinkään tiettyyn solmuun. Kaikki verkon solmut vastaanottavat kaiken väylän kautta välitetyn liikenteen. CAN-ohjaimet tarjoavat kuitenkin laitteistopohjaisia ​​CAN-sanomien suodatusominaisuuksia.

Jokainen solmu koostuu kahdesta komponentista. Tämä on itse CAN-ohjain, joka tarjoaa vuorovaikutusta verkon kanssa ja toteuttaa protokollan ja mikroprosessorin (CPU).

Riisi. 1. CAN-verkon topologia.

CAN-ohjaimet kytketään differentiaaliväylällä, jossa on kaksi linjaa - CAN_H (can-high) ja CAN_L (can-low), joiden kautta signaalit siirretään. Looginen nolla rekisteröidään, kun signaali linjalla CAN_H on korkeampi kuin linjalla CAN_L. Looginen - siinä tapauksessa, että CAN_H- ja CAN_L-signaalit ovat samat (poikkeavat alle 0,5 V). Tällaisen differentiaalisen lähetysjärjestelmän käyttäminen tekee mahdollista työtä CAN-verkot erittäin vaikeissa ulkoisissa olosuhteissa. Loogista nollaa kutsutaan hallitsevaksi bitiksi ja loogista resessiiviseksi. Nämä nimet heijastavat loogisen ykkösen ja nollan prioriteettia CAN-väylällä. Kun samanaikaisesti lähetetään lokia väylään. nolla ja yksi, vain looginen nolla (dominoiva signaali) rekisteröidään väylään ja looginen ykkönen tukahdutetaan (resessiivinen signaali).

CAN-verkon viestityypit.

CAN:ssa oleva data välitetään vakiomuotoisissa lyhytsanomakehyksissä. CANissa on neljän tyyppisiä viestejä:

  • Datakehys
  • Kaukokehys
  • Virhekehys
  • Ylikuormituskehys

Datakehys- Tämä on yleisimmin käytetty viestityyppi. Se koostuu seuraavista pääosista:

  • Arviointikenttä määrittää viestin prioriteetin siinä tapauksessa, että kaksi tai useampi solmu yrittää samanaikaisesti lähettää dataa verkkoon. Arviointikenttä koostuu vuorostaan:
    • CAN-2.0A-standardille, 11-bittinen tunniste + 1-bittinen RTR (uudelleenlähetys)
    • CAN-2.0B-standardille, 29-bittinen tunniste + 1-bittinen RTR (uudelleenlähetys)

    On huomattava, että tunnistekenttä ei nimestään huolimatta millään tavalla tunnista verkon solmua eikä tietokentän sisältöä. Datakehyksessä RTR-bitti asetetaan aina loogiseen nollaan (dominoiva signaali).

  • tietokenttä sisältää 0-8 tavua tietoa
  • CRC-kenttä sisältää 15-bittisen viestin tarkistussumman, jota käytetään virheiden havaitsemiseen
  • Kuittauspaikka (1 bitti), jokainen viestin oikein vastaanottanut CAN-ohjain lähettää kuittausbitin verkkoon. Viestin lähettänyt solmu kuuntelee tätä bittiä, ja jos vahvistusta ei saada, se toistaa lähetyksen. Kuittausvälin vastaanottaessa lähettävä solmu voi olla varma vain siitä, että ainakin yksi verkon solmuista on vastaanottanut sanomansa oikein.

Riisi. 2. Tietokehysstandardi CAN 2.0A.

Kaukokehys- tämä on Data Frame ilman datakenttää ja jossa on RTR-bittisarja (1 - resessiiviset bitit). Etäkehyksen päätarkoitus on käynnistää yksi verkkosolmuista lähettämään dataa verkkoon toisen solmun toimesta. Tämän järjestelmän avulla voit vähentää verkon kokonaisliikennettä. Käytännössä Remote Framea käytetään kuitenkin nykyään harvoin (esimerkiksi DeviceNetissä Remote Framea ei käytetä ollenkaan).

Virhekehys- tämä on viesti, joka rikkoo selvästi CAN-viestimuotoa. Tällaisen viestin lähetys johtaa siihen, että kaikki verkon solmut rekisteröivät CAN-kehysmuotovirheen ja vuorostaan ​​lähettävät automaattisesti Error Frame -kehyksen verkkoon. Tämän prosessin tuloksena lähettävä solmu lähettää automaattisesti dataa uudelleen verkkoon. Virhekehys koostuu Error Flag -kentästä, joka koostuu 6 samanarvoisesta bitistä (ja siten Virhekehys rikkoo Bit Suffing -tarkistusta, katso alla), ja Error Delimiter -kentästä, joka koostuu 8 resessiivisestä bitistä. Error Delimiter sallii muiden verkkosolmujen havaita virhekehyksen ja lähettää virhelippunsa verkkoon.

Ylikuormituskehys- toistaa Error-kehyksen rakenteen ja logiikan sillä erolla, että sitä käyttää ylikuormitettu solmu, joka Tämä hetki ei pysty käsittelemään saapuvaa viestiä, ja siksi se pyytää lähettämään tiedot uudelleen Overload-kehyksen avulla. Tällä hetkellä Overload-kehystä ei käytännössä käytetä.

Siirtovälineeseen pääsyn valvonta (bittipohjainen sovittelu).

CAN-kehyksen sovittelukenttää käytetään CAN:ssa väylän pääsytörmäysten ratkaisemiseen käyttämällä tuhoamatonta sovittelua. Tuhoamattoman välimiesmenettelyn olemus on seuraava. Siinä tapauksessa, että useat ohjaimet alkavat samanaikaisesti lähettää CAN-kehystä verkkoon, kukin niistä vertaa bittiä, jonka se on lähettämässä väylälle, bittiin, jota kilpaileva ohjain yrittää lähettää väylään. Jos näiden bittien arvot ovat samat, molemmat ohjaimet lähettävät seuraavan bitin. Ja tämä tapahtuu, kunnes lähetettyjen bittien arvot osoittautuvat erilaisiksi. Nyt loogisen nollan (korkeamman prioriteetin signaalin) lähettänyt ohjain jatkaa lähetystä ja muut ohjaimet keskeyttävät lähetyksensä, kunnes väylä on jälleen vapaa. Tietenkin, jos väylä on tällä hetkellä varattu, ohjain ei aloita lähetystä ennen kuin se on vapautettu.

Riisi. 3. Bittivälitys CAN-väylällä.

Virheiden havaitsemismenetelmät.

CAN-protokolla määrittelee viisi tapaa havaita virheet verkossa:

  • Bittien seuranta
  • Vähän täytettä
  • Kehyksen tarkistus
  • ACKknowledgement Check
  • CRC-tarkastus

Bittien seuranta- jokainen solmu vertaa bittejä verkkoon lähettäessään lähettämänsä bitin arvoa väylällä näkyvän bitin arvoon. Jos nämä arvot eivät täsmää, solmu luo bittivirheen. Luonnollisesti väylän sovittelun aikana (välityskentän siirto väylään) tämä virheentarkistusmekanismi on poissa käytöstä.

Vähän täytettä- kun solmu lähettää 5 bittiä samalla arvolla peräkkäin väylään, se lisää kuudennen bitin päinvastaisella arvolla. Vastaanottavat solmut tämän ylimääräinen bitti poistettu. Jos solmu havaitsee väylässä enemmän kuin 5 peräkkäistä bittiä samalla arvolla, se luo Stuff Error -ilmoituksen.

Kehyksen tarkistus- joissakin CAN-sanoman osissa on sama arvo kaikenlaisissa viesteissä. Nuo. CAN-protokolla määrittää tarkalleen, mitkä jännitetasot väylällä näkyvät ja milloin. Jos viestin muotoa rikotaan, solmut luovat lomakevirheen.

ACKknowledgement Check- jokainen solmu vastaanotti oikea viesti lähettää hallitsevan (0) bitin verkon yli. Jos näin ei tapahdu, lähettävä solmu rekisteröi kuittausvirheen.

CRC-tarkastus- Jokainen CAN-sanoma sisältää CRC-summan, ja jokainen vastaanottava solmu laskee CRC-arvon jokaiselle vastaanotetulle viestille. Jos summan laskettu CRC-arvo ei vastaa viestin rungossa olevaa CRC-arvoa, vastaanottava solmu generoi CRC-virheen.

Virherajoitusmekanismi.

Jokainen CAN-verkkosolmu yrittää toiminnan aikana havaita yhden viidestä mahdollisia virheitä. Jos virhe havaitaan, solmu lähettää Error Frame -kehyksen verkkoon ja tuhoaa siten kaiken nykyisen verkkoliikenteen (lähetys ja vastaanotto nykyinen viesti). Kaikki muut solmut havaitsevat virhekehyksen ja ryhtyvät tarvittaviin toimiin (hylkää vastaanotettu viesti). Lisäksi jokainen solmu ylläpitää kahta virhelaskuria: lähetysvirhelaskuria ja vastaanottovirhelaskuria. Näitä laskureita kasvatetaan tai vähennetään useiden sääntöjen mukaisesti. Itse virhelaskurien hallintasäännöt ovat melko monimutkaisia, mutta ne tiivistyvät yksinkertainen periaate, lähetysvirhe saa lähetysvirhelaskurin kasvamaan 8:lla, vastaanottovirhe lisää vastaanottovirhelaskuria yhdellä, mikä tahansa viestin oikea lähetys/vastaanotto pienentää vastaavaa laskuria yhdellä. Nämä säännöt saavat lähettävän solmun lähetysvirhelaskurin kasvavat nopeammin kuin vastaanottavien solmujen laskurin vastaanottovirheet. Tämä sääntö vastaa oletusta, että on suuri todennäköisyys, että virheiden lähde on lähettävä solmu.

Jokainen CAN-verkkosolmu voi olla jossakin kolmesta tilasta. Kun solmu käynnistyy, se on Error Active -tilassa. Kun ainakin toinen kahdesta virhelaskimesta ylittää rajan 127, solmu siirtyy Error Passive -tilaan. Kun vähintään toisen laskurin arvo ylittää rajan 255, solmu siirtyy väylä pois -tilaan.

Error Active -tilassa oleva solmu, jos väylässä havaitaan virhe, lähettää aktiiviset virheliput verkkoon. Active Error Flags koostuu 6 hallitsevasta bitistä, joten kaikki solmut rekisteröivät sen. Passiivinen virhe -tilassa oleva solmu lähettää passiivisia virheilmoituksia verkkoon havaitessaan virheen verkossa. Passive Error Flags koostuu 6 resessiivisestä bitistä, joten muut verkon solmut eivät huomaa sitä, ja Passive Error Flags johtaa vain solmun virhelaskurin kasvuun. Väylä pois päältä -tilassa oleva solmu ei lähetä verkkoon mitään (ei vain Error-kehyksiä, mutta ei mitään muutakaan).

Osoitteet ja korkean tason protokollat

CAN:ssa ei ole tarkkaa osoitteita viesteille ja solmuille. CAN-protokolla ei määrittele missään, että välityskenttää (Identification field + RTR) tulisi käyttää sanomana tai solmun tunnisteena. Näin ollen sanoman tunnisteet ja solmuosoitteet voivat sijaita missä tahansa viestin kentässä (välityskentässä tai tietokentässä tai molemmissa). Protokolla ei myöskään estä välityskentän käyttöä tiedonsiirrossa.

Arviointikentän ja tietokentän hyödyntäminen sekä solmuosoitteiden, viestitunnisteiden ja prioriteettien jakaminen verkossa on ns. protokollien pohdinnan kohteena. korkeatasoinen(HLP - Higher Layer Protocols). Nimi HLP kuvastaa sitä tosiasiaa, että CAN-protokolla kuvaa vain viittauksen kahta alempaa kerrosta verkkomalli ISO/OSI ja muut kerrokset kuvataan HLP-protokollien avulla.

Riisi. 4. Looginen rakenne CAN-protokolla.

Tällaisia ​​korkean tason protokollia on monia. Yleisimmät niistä ovat:

  • DeviceNet
  • CAL/CANopen
  • CanKingdom

CAN-protokollan fyysinen kerros

CAN-protokollan fyysinen kerros määrittää kaapelin resistanssin, tason sähköiset signaalit netissä jne. CAN-protokollalla on useita fyysisiä kerroksia (ISO 11898, ISO 11519, SAE J2411).

Suurimmassa osassa tapauksista käytetään ISO 11898 -standardissa määriteltyä fyysistä CAN-kerrosta. ISO 11898 määrittelee siirtovälineeksi kaksijohtimisen differentiaalijohdon, jonka impedanssi (päätteet) on 120 ohmia (impedanssin vaihtelut sallitaan alueella). 108 ohmista 132 ohmiin Fyysinen CAN-kerros on toteutettu erityisissä siruissa - CAN-lähetin-vastaanottimissa, jotka muuntavat CAN-ohjaimien käyttämät tavanomaiset TTL-signaalitasot CAN-väylän signaalitasoiksi. Yleisin CAN-lähetin-vastaanotin on Phillips 82C250 ISO 11898 -standardin kanssa.

Protokollan mukainen CAN-verkon maksiminopeus on 1 Mbit/s. Nopeudella 1 Mbit/s kaapelin maksimipituus on noin 40 metriä. Kaapelin pituuden rajoitus liittyy rajalliseen valonnopeuteen ja bittien sovittelumekanismiin (arbitraation aikana kaikkien verkon solmujen tulee vastaanottaa nykyinen lähetysbitti samanaikaisesti ja signaalin tulee ehtiä levitä koko kaapelin läpi yhdellä kertaa Suhde siirtonopeuden ja enimmäispituus kaapeli näkyy taulukossa:

CAN-verkon liittimet EIVÄT ole edelleenkään STANDARDOITUJA. Jokainen korkean tason protokolla määrittelee yleensä omat liitintyyppinsä CAN-verkkoon.

  • Tee se itse tai tee se itse,
  • Elektroniikka aloittelijoille
  • Tänään haluan esitellä sinulle mielenkiintoisen mikrokontrollerialustan CANNY. Tämä on yleiskatsausartikkeli, jossa opit tekniikasta, ja seuraavissa artikkeleissa kerron sinulle työstä CAN-viestien kanssa, CANNY:n integroimisesta Arduino Mega Serveriin ja tämän yhdistelmän tarjoamista mahdollisuuksista.

    Miksi CANNY? CAN-väylän nimestä, jota käytetään laajasti liikenteessä ja erityisesti kaikissa nykyaikaisissa autoissa on-board-verkkona. Joten mitä voit tehdä erikoisohjaimella, joka on liitetty autosi CAN-väylään?

    CAN-väylä

    Kuvaannollisesti CAN-väylä on autosi hermojärjestelmä. Se välittää kaiken tiedon lohkojen ja järjestelmien tilasta sekä ohjauskomennot, jotka suurelta osin määräävät auton käyttäytymisen. Ajovalojen sytyttäminen, ovien avaaminen ja sulkeminen, musiikin toiston ohjaaminen auton sisällä, hälyttimen aktivointi jne. - kaikki tämä toimii ja sitä ohjataan tämän väylän kautta.

    Fyysisesti CAN-väylä koostuu kahdesta toisiinsa kietoutuneesta johdosta ja on erittäin helppo asentaa ja kytkeä. Yksinkertaisuudestaan ​​huolimatta se on differentiaalisen luonteensa vuoksi hyvin suojattu erilaisilta häiriöiltä ja häiriöiltä. Korkea luotettavuus ja suuri sallittu verkon pituus, jopa 1000 metriä, auttoivat CANia saavuttamaan laajan suosion erilaisten, ei vain autolaitteiden, valmistajien keskuudessa.

    CANNY ohjaimet

    Tämä on koko perhe erikoistuneita ohjaimia, joissa on sisäänrakennettu "natiivi" tuki CAN-väylän kanssa työskentelemiseen. Tämä koskee sekä laitteisto-osaa että ohjelmistotason tukea.

    Linjan lippulaiva on CANNY 7 -ohjain, tehokkain ja jolla on maksimaaliset ominaisuudet. Suuri määrä muisti, tehokkaat lähdöt, jotka mahdollistavat ajoneuvon releiden suoran ohjauksen, älykäs järjestelmä suojaa vastaan oikosulkuja, suojaus ajoneuvon sisäisen verkon virta- ja jännitepiikkejä vastaan ​​- kaikki tämä tekee tästä ohjaimesta erinomaisen ratkaisun minkä tahansa ideasi ja projektisi toteuttamiseen.

    CANNY 7:n lisäksi ohjaimien valikoimassa on useita muita malleja, joita teemme yksinkertaisemmalla sisäänrakennetulla mallilla CANNY 5 Nano. Se tukee myös työskentelyä CAN-väylän kanssa, mutta samalla se on samanlainen kuin meille jo tuttu Arduino Nano.

    Visuaalinen ohjelmointi

    Kehitetty tuki CAN-väylälle ei ole näiden ohjaimien ainoa ominaisuus. Lisäksi CANNY:lla on oma ohjelmointiympäristö, CannyLab, mutta ei "tavallinen", vaan visuaalinen, jossa koko ohjelmien kirjoitusprosessi tiivistyy; manipuloida valmiita rakennelohkot, asettamalla niiden parametrit ja yhdistämällä näiden lohkojen tulot ja lähdöt tietyssä järjestyksessä ratkaistavan ongelman algoritmin mukaisesti.

    Ei ainuttakaan koodiriviä!

    Onko se hyvä vai huono? Minun mielestäni tämä on tottumiskysymys. "Perinteiseen" ohjelmointiin tottuneena minulle oli epätavallista käsitellä lohkoja koodirivien kirjoittamisen sijaan. Toisaalta, monet kannattajat tätä erityistä lähestymistapaa algoritmien kokoamiseen, ja uskotaan, että insinööreille ja "ei-ohjelmoijille" tämä on yksinkertaisin ja eniten käytettävissä oleva menetelmä mikrokontrollerin ohjelmointi.

    Minusta oli ainakin ”hauskaa” kirjoittaa ohjelmia tällä tavalla, ja hetken kuluttua aloin jopa pitää siitä. On mahdollista, että jos jatkat tätä, koodin kirjoittaminen näyttää jonkin ajan kuluttua hankalalta.

    CannyLab on vapaa ympäristö kehitystä ja voit ladata sen vapaasti kehittäjien verkkosivuilta, se ei myöskään vaadi erityistä asennusta - pura vain arkistotiedosto - ja voit aloittaa työskentelyn.

    Yhteys

    CANNY 5 Nanon liittäminen tietokoneeseen ei eroa paljon liittämisestä Arduino ohjaimet. Jos järjestelmässä on Silicon Labs CP210x -ohjain tai kun se on asennettu ladatusta CannyLab-jakelusta, Windows luo virtuaalisen COM-portti ja CANNY on valmis lähtemään. Minun tapauksessani minun piti silti käynnistää tietokone uudelleen, mutta ehkä tämä on järjestelmäni ominaisuus.

    Käytännön esimerkkejä

    Katsotaanpa yksinkertaisten esimerkkien avulla, kuinka voimme suorittaa toimintoja CannyLabissa, jotka ovat meille tuttuja Arduino IDE. Aloitetaan perinteisellä LED-vilkulla.

    CANNY 5 -ohjaimessa on testi-LED nastassa C4 (Channel 4) (analogisesti kuin Arduinon nastassa 13 sijaitseva LED). Ja sitä voidaan käyttää myös esittelyyn ja kokeiluihin, mitä aiomme käyttää.

    Mitä tarvitaan CANNY-ohjaimen LED-valon vilkkumiseen? Sinun tarvitsee vain tehdä kaksi asiaa - määrittää neljännen kanavan nasta lähdöksi ja syöttää signaali PWM-generaattorilta tähän lähtöön. Olemme jo tehneet kaikki nämä toimet useammin kuin kerran Arduino IDE:ssä, katsotaanpa miltä se näyttää CannyLabissa.

    Määritetään siis neljäs kanavanasta lähdöksi

    PWM-generaattorin asentaminen. Asetamme jaksoksi 500 millisekuntia, täytöksi 250 millisekuntia (eli 50 %) ja 1:ksi (tosi) generaattorin "Käynnistä" tuloon ja... se on siinä! Mitään muuta sinun ei tarvitse tehdä - ohjelma on valmis, jäljellä on vain ladata se ohjaimeen.

    Simulaatiotila

    Tässä sinun on sanottava muutama sana prosessista, jolla simuloidaan ohjaimen toimintaa tietokoneella ja ladataan kehitetty ohjelma "laitteisto" -ohjaimen muistiin.

    CannyLab-kehitysympäristön avulla voit ajaa ja korjata ohjelmaa kirjoittamatta sitä ohjaimen muistiin. Simulaatiotilassa voit nähdä ohjelman tuloksen reaaliajassa ja jopa häiritä sen toimintaa.

    Täyttö ohjaimeen

    Jotta CANNY-ohjaimet toimisivat, sinun on ensin ladattava ohjelma ennen ohjelman lataamista ("kaavion" kehittäjien terminologiassa) käyttöjärjestelmä"Laite/järjestelmäohjelmisto/tietue". Tämä on tehtävä vain kerran .ccx.

    Kun ohjelma on kirjoitettu ja virheenkorjattu, se voidaan ladata ohjaimeen. Tämä tehdään yksinkertaisesti - valitse valikosta "Device / Diagram / Write" ja muutaman sekunnin kuluttua ohjelma kirjoitetaan ohjaimeen.

    Analogiset tulot

    Ymmärtääksemme paremmin CANNY-ohjainten ohjelmoinnin periaatetta CannyLab-kehitysympäristössä, katsotaanpa esimerkkiä työskentelystä analoginen tulo tässä järjestelmässä.

    Valvomme jännitetasoa ohjaimen nastasta 10 ja jos se on alueella 2,5 V ± 20%, sytämme korttiin sisäänrakennetun LEDin.

    Kuten edellisessä esimerkissä, konfiguroimme 4. nastan ulostuloksi, jotta voimme ohjata LEDin toimintaa.

    Kytkemme ADC:n päälle kanavalla 10.

    "Looginen AND" -lohko viimeistelee työn ja ohjaa lähdöstään kortin LEDin toimintaa.

    Siinä kaikki. Mitä teimme tavallisesti Arduinolla, teimme helposti CannyLabissa. Sinun tarvitsee vain viihtyä tässä ohjelmointiympäristössä ja voit helposti ja luonnollisesti luoda projektejasi tällä alustalla.

    Nämä yksinkertaisia ​​esimerkkejä ohjelmointi on annettu niin, että ymmärrät periaatteen visuaalinen ohjelmointi CANNY mikrokontrollerit. SISÄÄN jatkotyötä Erinomainen ohjedokumentaatio ja kehittäjätuki järjestelmän verkkosivustolla ja keskustelupalstalla auttavat sinua.

    FIN 192Kb ohjausalueverkko Rus CAN 2.0 A Rus CAN 2.0 V CAN korkean tason protokollat Renkaat ajoneuvojen järjestelmiin

    CAN (Ohjaus Alueverkko) - sarjaväylä, joka tarjoaa yhteyden "älykkäiden" syöttö-/tulostuslaitteiden, antureiden ja toimilaitteiden verkkoon jonkin mekanismin tai jopa yrityksen. Sille on ominaista protokolla, joka mahdollistaa useiden isäntälaitteiden sijoittamisen valtatielle, mikä tarjoaa reaaliaikaisen tiedonsiirron ja virheenkorjauksen sekä korkean kohinansietokyvyn. CAN-järjestelmä on varustettu suurella määrällä mikropiirejä, jotka varmistavat väylään kytkettyjen laitteiden toiminnan, joiden kehittämisen BOSH aloitti autokäyttöön ja jota käytetään nykyään laajasti teollisuusautomaatiossa. Liittimen nasta on esitetty kuvassa.

    • Suunniteltu erittäin luotettavien, edullisien viestintäkanavien järjestämiseen hajautetuissa ohjausjärjestelmissä. Rajapinta on laajalti käytössä teollisuudessa, energiassa ja liikenteessä. Voit rakentaa sekä halpoja multipleksikanavia että nopeita verkkoja.
    • Siirtonopeus on ohjelmoitu ja se voi olla jopa 1 Mbit/s. Käyttäjä valitsee nopeuden etäisyyksien, tilaajamäärän ja voimajohtokapasiteetin perusteella.
    Etäisyys, m 25 50 100 250 500 1000 2500 5000
    Nopeus, kbit/s 1000 800 500 250 125 50 20 10
    • Tiettyyn rajapintaan kytkettyjen tilaajien enimmäismäärä määräytyy itse asiassa käytettyjen lähetin-vastaanottimien kuormituskapasiteetin mukaan. Esimerkiksi käytettäessä lähetin-vastaanotinta Philips PCA82C250 on yhtä suuri kuin 110.
    • CAN-protokolla käyttää alkuperäistä viestin osoitejärjestelmää. Jokaisessa viestissä on tunniste, joka määrittää lähetettävän tiedon tarkoituksen, mutta ei vastaanottajan osoitetta. Jokainen vastaanotin voi vastata joko yhteen tai useampaan tunnisteeseen. Useat vastaanottimet voivat vastata yhteen tunnisteeseen.
    • CAN-protokollassa on kehitetty virheiden havaitsemis- ja signalointijärjestelmä. Näihin tarkoituksiin käytetään bittikohtaista ohjausta, bittivirran suoraa täyttämistä, viestipaketin tarkistamista CRC-polynomilla, viestipaketin muodon seurantaa ja datapaketin oikean vastaanoton varmistamista. Hamming-väli d=6. Havaitsemattoman virheen kokonaistodennäköisyys on 4,7x10 -11.
    • CAN-protokollan sovittelujärjestelmä eliminoi tiedon ja ajan menetyksen väylän "törmäysten" aikana.
    • CAN-protokollaa käyttävä käyttöliittymä mukautuu helposti fyysiseen tiedonsiirtovälineeseen. Se voi olla differentiaalisignaali, valokuitu, vain avoin kollektori jne. Galvaaninen eristys on helppo tehdä.
    • CAN:ia tukeva elementtipohja on laajalti saatavilla teollisina versioina.