CAN BUS -i sünkroonimismehhanismi analüüs/käsitlemise mehhanismi/vahekohtumehhanism

Jan 17, 2025 Jäta sõnum

CAN (ControlleReaneTwork) bussi, IE kontrolleri piirkonna võrgubussi, on laialdaselt kasutatud tööstusliku kontrolli, meditsiinielektroonika, majapidamisseadmete ja andurite väljade alal. Praegu on artikli CAN -i bussiprotokolli analüüsi kodumaine ja võõras kirjandus peamiselt CAN -i protokolli raami struktuuri jaoks või bitiaalse ajakava karakteristikud, näiteks kirjandus on harva CAN -i bussiprotokolli analüüsi suhtlemise vaatenurgast harva , harva insenerirakenduste vaatenurgast, saab CAN-i kommunikatsioonimehhanismi artikli põhjalikuks analüüsiks.


1. saab rakenduse omadusi ja struktuurilist koosseisu


CAN-bussiprotokollil on kaks rahvusvahelist standardit, ISO11898 ja ISO11519, millest IS011898 on kiire CAN-i suhtlusstandardis suhtlusmääraga 125 kbps kuni 1Mbps, mis on suletud ahela buss maksimaalse pikkusega 40m/1 Mbps. ISO11519 määratleb madala kiirusega CAN-i suhtlusstandardi kommunikatsioonikiirusega 10–125 kbps, mis on madala kiirusega CAN-i suhtlusstandard, maksimaalse pikkusega 40M/1Mbps. ISO11519 määratleb suhtlemiskiiruse 10–125 kbps madala kiirusega CAN-i kommunikatsioonistandardiga, kuulub avatud ahela siini, maksimaalne pikkus 1km / 40 kbps. Piirangute elektriliste omaduste tõttu, see tähendab siini mahtuvuse jaotust ja takistuse jaotust siini lainekujul, on CAN -i siini maksimaalne sõlmede arv 110. Rakendusinseneri jaoks on transiiveri poolel tuleb transiiveri sõlmede andmete sünkroonimise saavutamiseks õigesti konfigureerida. Sõnumi markeri filtreerimise CAN-kontrolleri riistvara kaudu saab realiseerida punktist punkti, punkt-multipunkti ja globaalse saate ning muud võimalused andmete edastamiseks ja vastuvõtmiseks. Samal ajal sisaldab CAN -i telegrammide lühikese kaadri struktuuri ja iga kaadri CRC -kontroll -osa, mis tagab väga madala andmete tõrkemäära.

 

CAN -i rakenduste kiht, opsüsteem (rakendatud taustprogrammina rakendustes ilma opsüsteemita) ja süsteemi rakendamise draiver realiseerivad koos rakenduste kihi funktsioone ISO -referentsmudelis. Nende hulgas määratleb CAN -i rakenduste kiht ID -rühmituse, andmete laadimise, andmete töötlemise ja rakenduste kihi bussi turvalisuse jälgimise; Operatsioonisüsteemi/taustprogrammi kasutatakse CAN -draiveri ajastamiseks andmete töötlemiseks pärast CAN -i katkestamist; Driver sisaldab initsialiseerimist (kontrolleri tööseisundi seadistus, Baud kiiruse seadistamine, aktsepteerimisfiltri konfiguratsioon), transiiveri draiver ja kõrvalekallete käitlemise programm.


Käigukasti keskmise kihi puhul tuleb see kindlaks määrata vastavalt keskkonna häirete mürale, siini pikkusele ja nii edasi. Tugeva häirete korral tuleb kasutada varjestatud traati; Siini lainekuju moonutusest põhjustatud mahtuvuse jaotuse ja takistuse jaotuse tõttu, mis on põhjustatud siini taseme nõrgenemisest, peab bussi pikkus võtma arvesse kasutatud käigukastide vastupidavuse ja mahtuvuse omaduste jaotust; Samal ajal, kui kiire bussi kasutamine peab katsetama ka bussi sobitamiskindluse väärtuse määramiseks.


CAN -kontrolleri realiseerimiseks saate valida System Master Chip -i integreeritud CAN -kontrolleri, näiteks NXP LPC2000 mikrokontrollerite seeria, või võite kasutada ka CAN -kontrolleri diskreetseid komponente, näiteks SJA1000 CAN -i realiseerimiseks , saate valida CTM1050, TJA1050 jne. ja jaotuse mahtuvuse omadused; Samal ajal, kui kasutate kiiret bussi, peab ka eksperimenteerimise kaudu kindlaks määrama siini sobitamiskindluse. Kui keskkonna häirete müra on suur, on vaja lisada isoleerimiskiip kontrolleri ja transiiveri vahele või kasutada CAN -i transiiveri integreeritud isolatsioonifunktsiooni. Väärib märkimist, et NXP uus LPC11C24 mikrokontrolleri kiip mitte ainult ei integreeri CAN -kontrollerit, vaid integreerib ka CAN -i transiiverifunktsiooni, mis pakub head tuge CAN -bussisüsteemide kiireks arendamiseks. Lisaks on siini pikkuse ja bussi sõlmede arvu tegeliku kasutamise kohaselt vaja kaaluda ka transiiveri kiibi edastamise ja vastuvõtmise viivitusaega.


CAN -draiveri kihi ja rakenduskihi jaoks sisaldab draiver CAN -i initsialiseerimist (sealhulgas riistvara lubamine, BAUDi kiiruse seadistamine, kontrolleri töörežiimi seadistamine ja aktsepteerimisfiltri ID tabeli konfiguratsioon), vastuvõtmise/edastamise draiveri ja pakub liidesefunktsioone ülemisele kihile, millest ülemisele kihile, millest ülemisele kihile On vaja selgitada, et aktsepteerimisfiltri ID tabeli konfiguratsioon peab põhinema süsteemi ID rühmitamisel rakenduskihi järgi; CAN -i rakenduse kiht teostab andmete pakendamist, lähtudes bussis olevate sõlmede vahelise seose saatmise/vastuvõtmise põhjal. Saab rakenduse kihti vastavalt andmetele, mis saadavad bussi sõlmede rühmitamise, andmepakettide saatmise, andmete töötlemise ja rakenduse kihi bussi turvalisuse jälgimise, andmete saatmise ja suhte saatmise ja vastuvõtmise vahel. Lisaks hõlmavad tavaliselt kasutatavad CAN -kihi protokollid varikatuse, DeviceNeti ja ICAN -i.


2. saab bussi sünkroonimismehhanismi analüüsi


Kommunikatsiooniprotsessis on üks kõige olulisemaid lahendatavaid küsimusi, kuidas saavutada andmete sünkroonimine saatja ja vastuvõtja otstes, st vastuvõtja ots saab õigesti vastu võtta ja parsida saatja lõpuga saadetud andmed.Can Bussi protokoll on omamoodi asünkroonse jadakommunikatsiooni protokoll, mis kuulub põhiriba kommunikatsioonile, ja selle sünkroonimine realiseeritakse kõrgetasemelise andmeside juhtimisprotokolli (HDLC) põhjal. Täpsemalt saavutatakse CAN BUS -i protokolli sünkroonimine 3 aspekti kaudu, nagu allpool kirjeldatud.


2.1 Parameetri seadistamine


Suhtluse mõlemad küljed tarkvara kaudu määravad sama baudikiiruse, sama faasi reguleerimise segmendi pikkuse, sama sünkroonimishüppe laius, läbi kolme elemendi komplekti, määratleb punumi siini ülekandeprotsessis bitiaja pikkuse kui Samamoodi nagu proovivõtupunkti asukoht, bitstruktuur, nagu on näidatud joonisel 2 CPU perifeerne kell. CAN -kontrolleri põhiline kella signaal saadakse välise kella või protsessori perifeerse kella sageduse jagamisel. SS-segment vastab käivitussegmendile ja bussi hüppeserv peaks toimuma sel perioodil, TESG1 vastab ülekandesegmendile ja faasi reguleerimise segmendile 1 ning Tesg2 vastab faasi reguleerimise segmendile 2 ja kõrgharidusele ja kõrgele Kiirusbuss, kontroller proovib ja diskrimineerib bussi TESG1 ja TESG2 vahel.

 

o4YBAF_kARqAUmkJAAC0vUwBkGQ744.png

 

2.2 Fikseeritud raami struktuur


Can Protocol määratleb selgelt fikseeritud kaadri struktuuri, et hõlbustada CAN -kontrollerit ja transiiveri, et jälgida siini olekut CAN2 -s. 0 protokolli spetsifikatsioon, mis on jagatud standardraamiks ja laiendatud raami kaheks raami struktuuriks, erinevus asub ainult selles Vahekohtu domeen, standardraam, kasutades 11- biti identifikaatorit, samal ajal kui laiendatud raamil on 29- biti identifikaator, konkreetne standardraam, Laiendatud kaadri raami struktuur.

 

2.3.3 kõva sünkroniseerimine ja resünkroniseerimine


2.3.1 kõva sünkroniseerimine


Nn kõva sünkroniseerimine tähendab, et bussi jõudeoleku ajal (st bussi taset väljendatakse pideva retsessiivse bitina), siis kui kontroller tuvastab hüppamise retsessiivsest tasemest domineerivale tasemele, tähendab see, et sel ajal seal seal on bussis olev jaam, et hakata andmeid saatma, seejärel sundida CAN -kontrolleri biti olekuloendurit sünkroonima joonisel 2 näidatud SS -segmendiga ja samal ajal hakkab bitikell ümber jutustama See punkt edasi (Can Bit -aeg seab ülemise tarkvarakihi). Raami määramise alguseks kasutatakse kõva sünkroonimist.


2.3.2 resünkroniseerimine


CAN-i bussiprotokollis rakendatakse resünkroniseerimist biti täitmise mehhanismi põhjal. Sarnaselt HDLC protokolliga, kui CAN -i kaadristruktuuris tuvastatakse kaadri algusest kuni CRC järjestuse bitti viis järjestikust sama polaarsuse bitti, lisab CAN -kontroller automaatselt pisut vastupidisest polaarsusest. Sünkroniseerimine on see, et andmeedastuse ajal reguleerib CAN-kontroller faasi reguleerimise segmenti 1 ja faasi reguleerimise segmenti 2, tuvastades erinevuse bussi hüppe serva ja sõlme sisemise biti aja vahel ning reguleerimise suurus on programmeeritud sünkroonimise abil Hüppamise laius ja reguleerimise suurus on seatud TQ -s. Spetsiifiline reguleerimise reegel on see, et ülekandeprotsessis kohandab CAN -kontrolleri poolt tuvastatud siini hüppe serv CAN -kontrolleri abil, kui see asub sõlme sisemise SS -biti ajavahemikus, siis pole kohandamist vaja; Kui Skip Edge asub TESG1 segmendis, tähendab see, et bussi biti ajastul on sõlme bitiajaga viivitus, siis laiendab CAN -kontroller sõlme TESG1 bitti ajavahemikku ja kui IF viivitusaja väärtus (t 0 väärtus) on suurem kui sünkroonimise vahelejätmise laius, pikenduse aeg on sünkroonimise vahelejätmise laiuse väärtus, vastasel juhul Sõlm laiendab selle ja bussi bitise aja erinevust; Kui hüppe serv asub TESG2 segmendis, mis näitab, et siini bitti aeg on sõlme bitti aja suhtes ületatud, vähendab CAN -kontroller sõlme TESG2 bitti perioodi, konkreetsed kohandamise reeglid sarnanevad TESG1 segmendi omad.


3. Bussi aadressi mehhanismi analüüs saab


Erinevalt tööstuslikust Ethernetist, RS485 ja muudest bussidest saadab CAN -buss ja võtab andmeid paki ID kaudu, mitte sõlme aadressi kaudu, st CAN -bussi sõlmedel pole fikseeritud aadressi, selle asemel tuleb iga sõlm konfigureerida Tarkvara ID -tabeliga (sõlme aktsepteerimisfiltriühikus) ja kui bussi andmepaketi ID -number on sõlme ID -tabelis, siis edastab pakett edukalt Selle sõlme aktsepteerimisfiltri aktsepteerimine ja see saadetakse ülemise tarkvara töötlemisüksusesse ja töödeldakse vastavalt, vastasel juhul visatakse pakett ära. Näiteks kui bussis olev sõlm A soovib saata paketi sõlmele B, peab paketi ID -number asuma sõlme B ID -tabelis. Samamoodi, kui sõlm A soovib paketti bussi edastada Paketi ID -number peab asuma kõigi teiste bussi sõlmede ID -tabelites. Nagu varem mainitud, konfigureeritakse ID -tabel tarkvara kaudu, kuid aktsepteerimise filtreerimisfunktsioon viiakse läbi aktsepteerimisfiltri, CAN -i kontrolleri riistvaraüksuse kaudu, seega on aktsepteerimisest põhjustatud viivitus kiiruse osas väike. Lisaks on selle aadressimehhanismi eeliseks see, et seda bussi kasutav süsteem on väga paindlik, st uued sõlmed või kustutatud süsteemid ei mõjuta süsteemi algsete sõlmede vahelist suhtlust.

 

Järgnev võtab NXP LPC2478 CHIP -iga integreeritud CAN -kontrolleri näitena CAN BUS -süsteemi aadressi konfiguratsiooni meetodi täpsustamiseks. Nagu on näidatud joonisel 3, klassifitseeriti esmakordselt bussis edastatavate andmepakettide järgi, see tähendab paketi ID ja vastav sõlmede kavandamine, näiteks meie süsteemis on peamiselt järgmisi pakette tüüpi: päringupaketid, Juhtige käsupaketid (sealhulgas toimingud ja parameetripaketid), häirepaketid ja tagasiside parameetripaketid, mis vastavad päringupakettide sõlmeomadustele ja juhtimiskäsupakettidele on peamiselt igale orjaüksusele saadetud põhijaam, mis saadetakse samas kui häireandmepaketid ja tagasiside parameetrite andmepaketid saadetakse peamiselt orja igast sõlmeüksusest põhiseadme sõlme. Seejärel konfigureeritakse iga sõlme aktsepteerimisfiltri ühik vastavalt ID klassifikatsioonile ja konkreetne konfiguratsioonimeetod on järgmine: esiteks konfigureerige vastavad aktsepteerimisfiltri töörežiimid vastavalt sõlme karakteristikutele: väljalülitusrežiim (mitte vastuvõtmata siinteateid) , ümbersõidurežiim (bussis kõigi sõnumite vastuvõtmine) ja tavaline töörežiim (riistvara filtreerimine). Kui tavapärase töörežiimi konfiguratsioon, peate konfigureerima vastava aktsepteerimisfiltri tabeli (ID -tabel), see tähendab, et sõlm peab vastu võtma sõlme kontrolleri paketi ID numbri, et täita vastav ID -tabeli ala, Ja see lõpetab CAN -bussi sõlme aadressi jaotamise töö. Üldiselt jaguneb ID -tabel järgmisse nelja piirkonda: selge standardraami identifikaatori piirkond, standardraami rühma vormingu identifikaatori piirkond, selge laiendatud raami vormingu identifikaatori piirkond ja laiendatud raami rühma vormingu identifikaatori piirkond. Nende hulgas on selgesõnaline vorming üks sõltumatu ID -identifikaator, samas kui rühma vormingu piirkonnas on järjestikused nummerdatud ID -identifikaatorid.


4. saab bussi vahekohtumehhanismi analüüsi


Bussi vahekohtumenetlus viitab sellele, millal bussil on andmete bussi protokolli töötlemise meetodite saatmiseks korraga rohkem kui üks sõlm. Can Bus kasutab mittepurustavat vahekohtumehhanismi, see tähendab, et kui bussis on andmete saatmiseks samal ajal rohkem kui üks sõlm, mille prioriteeritud paketisõlmede vahekohtumenetlus võidab, võite jätkata andmete saatmist ja muud vahekohtumenetluse saatmist Sõlm väljub saatmise olekust ja muutub vastuvõtusõlmeks koos teiste siinide vahekohtumehhanismidega (näiteks LAN -i CSMA). (Võrreldes teiste siinide vahekohtumehhanismidega (nt CSMA/LAN -i CD), ei hävita see mitte ainult saadetud andmeid, vaid ei põhjusta ka andmete saatmise viivitust, mis on CAN -bussi üks eeliseid võrreldes teiste bussidega võrreldes , ja seda realiseerivad peamiselt CAN Bussi järgmised kaks omadust: 1) CAN -bussi joon ja omadused, st kui bussis rohkem kui üks sõlm saadab samal ajal domineerivat ja nähtamatut taset, buss Tase on domineeriv tase. 2) CAN Bussi joon ja omadus, st kui bussis rohkem kui üks sõlm saadab samal ajal domineerivaid ja nähtamatuid taset, näitab bussi tase domineerivat taset. 2) Kas kontroller jälgib bussi taseme olekut isegi andmete saatmise ajal, st vahekohtumenetluses, kui kontroller saadab nähtamatu taseme, kuid tuvastab bussi nähtava tasemena, ebaõnnestub sõlme vahekohtumenetluses ja pöördub vastuvõtva sõlme poole.


5. Kas bussi vastupidavuse analüüs saab


CAN-bussi vastupidavus realiseerub sõlmede ja bussipaketi turvalisuse reaalajas tuvastamise ja jälgimise kaudu, lisaks on CAN BUS-il diferentsiaalsignaalide abil tugev väliste häirete signaalide tugev pärssimine. Spetsiaalselt allpool arutatud.


5.1 Bussi lainekuju reaalajas jälgimine


CAN kontroller ei jälgi mitte ainult pärast sisselülitamist kogu aeg bussis olevate teiste sõlmede poolt saadetud andmepakette, vaid jälgib ka andmeid, mis on saatnud ise andmepakettide saatmise käigus reaalajas, kui vigade tuvastamine paigas, Poldimisvead, CRC vead, vormindamisvigade või vastusevigu, sõlm põhineb vea olekul, milles see on (vea aktiveeritud või tõrke tuvastatud olek) vastava vealipu saatmiseks. Tegelikult usun, et ainult vigade aktiveerimise sait saadab aktiveerimisvea logo (st 6 järjestikust domineerivast bitti, millele järgneb 8 retsessiivset bitti vigade määratleva vea logo määratlevast bussist) mõjutavad bussi ja bussi sõlme, samas Veatuvastuse olekus olev sõlm saadab veatuvastuse logo bussile tegelikult mingit mõju (bussi jõudeoleva olekuga saadetud 6 retsessiivset taset on sama).


5.2 Sõlmede oleku reaalajas jälgimine sõlme privileegide määramiseks


Sõlmed muudavad oma olekut (veaga aktiveeritud, tõrketunastatud või bussi-välja olek) reaalajas vastavalt bussile saadetud pakettide kohaselt. Veaga aktiveeritud olekus olevad sõlmed osalevad tavaliselt bussisuhtluses ja vigade tunnustatud üksused osalevad bussisuhtluses, kuid enne järgmise saatmise algatamist tuleb saata 8 täiendavat kaudset bitti. Bussile saadetud pakettide jaoks, nagu on näidatud tabelis 1, rakendab 15- bit CRC jada stardibitti, vahekohtu vahekohtu, juhtimisvälja ja andmevälja (kui see on), vastuvõtva saidi jälgimine genereerib paketi CRC järjestuse vastavalt samale algoritmile kui saatmissõlme oma andmete vastuvõtmisel ja võrdleb seda vastuvõetud CRC järjestusega, kui see on erinev, siis tähendab see, et seal on olemas, et seal on Viga ja vastuvõtusõlm ei reageeri vastuvõtvale sõlmele paketile ning saatmissõlm tuvastab vastuse viga ja taaselustab paketi. Kokkuvõtteks võib öelda, et CAN BUS on andmete lingi kihi ja füüsilise kihi kaudu saavutanud kõrge andmeturbe ja bussi stabiilsuse.


6. Järeldus


ISO11898 protokolli spetsifikatsiooni põhjal analüüsib paber üksikasjalikult CAN Bus -sõlme sünkroonimismehhanismi realiseerimispõhimõtet ja alus Aeg tutvustab lühidalt CAN-siini rakendusomadusi ja siini süsteemi kihilist struktuuri, kui seda rakendatakse tegelikule süsteemile, mis on CAN-i põhjaliku mõistmise jaoks väga oluline Bussiprotokoll ja CAN -bussi rakendamine tegelikku süsteemi. See on juhend CAN -bussiprotokolli mõistmiseks ja CAN -bussi rakendamiseks konkreetsetele inseneriprojektidele, samuti konkreetsete nõuete jaoks bussisüsteemide uurimiseks või arendamiseks.

Küsi pakkumist

whatsapp

Telefoni

E-posti

Küsitlus