„Can“ („ControlerAreaneTwork“) magistralė, ty valdiklių srities tinklo autobusas, buvo plačiai naudojamas pramonėje, medicininėje elektronikoje, buitiniuose prietaisuose ir jutiklių laukuose. Šiuo metu straipsnio „CAN Bus Bus“ protokolo analizės vidaus ir užsienio literatūra daugiausia skirta CAN protokolo rėmo struktūrai iki analizės ar bitų laiko charakteristikų, tokių kaip literatūra. , retai atsižvelgiant į inžinerinių programų perspektyvą, CAN autobusų ryšio mechanizmas, skirtas išsamiai analizuoti straipsnį.
1. Gali taikymo charakteristikos ir struktūrinė sudėtis
„CAN Bus“ protokolas turi du tarptautinius standartus: ISO11898 ir ISO11519, iš kurių IS011898 yra greitaeigių CAN komunikacijos standartas, kai ryšio greitis yra 125 kbps iki 1Mbps, tai yra uždaro ciklo magistralė, kurios ne daugiau kaip 40 m/1Mbps ilgis. ISO11519 apibrėžia mažo greičio CAN ryšio standartą, kurio ryšio greitis yra nuo 10 iki 125 kbps, o tai yra mažo greičio CAN ryšio standartas, kurio maksimalus ilgis yra 40 m/1Mbps. ISO11519 apibrėžia ryšio greitį nuo 10 iki 125 kbps mažo greičio CAN ryšio standarto, priklauso atvirosios kilpos magistralei, maksimaliam 1 km / 40 kbps ilgiui. Dėl apribojimų elektrinių charakteristikų, t. iš siųstuvo -imtuvo pusės reikia teisingai sukonfigūruoti, kad būtų galima sinchronizuoti siųstuvo -imtuvo mazgus. Per pranešimų žymeklio filtravimo „CAN Controller“ aparatinę įrangą galima realizuoti nuo taško iki taško, nuo taško iki daugialypės terpės ir pasaulinės transliacijos bei kiti duomenų perdavimo ir gavimo būdai. Tuo pačiu metu dėl „CAN Telegrams“ trumpos kadro struktūros ir kiekviename kadre yra CRC patikrinimo dalis, kuri užtikrina labai žemą duomenų klaidų lygį.
„CAN“ programos sluoksnis, operacinė sistema (įdiegta kaip foninė programa programose be operacinės sistemos) ir sistemos diegimo tvarkyklė kartu supranta programos sluoksnio funkcijas ISO referenciniame modelyje. Tarp jų „CAN“ programos sluoksnis apibrėžia ID grupavimą, duomenų įkėlimo siuntimą, duomenų apdorojimą ir programų sluoksnio magistralės saugos stebėjimą; Operacinės sistemos/fono programa naudojama planuoti CAN tvarkyklę, kad būtų galima apdoroti duomenis po to, kai skardinės pertraukimas atvyks; Vairuotojas apima inicijavimą (valdiklio darbinės būsenos nustatymas, baudo spartos nustatymas, priėmimo filtro konfigūracija), siųstuvo -imtuvo tvarkyklę ir anomalijų tvarkymo programą.
Perdavimo terpės sluoksniui jį reikia nustatyti atsižvelgiant į aplinkos trukdžių triukšmą, magistralės ilgį ir pan. Esant stipriam trikdžių triukšmui, reikia naudoti ekranuotą vielą; Dėl padidinto talpos, kurią sukelia autobusų bangos formos iškraipymai ir atsparumo pasiskirstymas, atsirandantis dėl magistralės lygio silpnėjimo, magistralės ilgis turi atsižvelgti į naudojamos perdavimo terpės pasipriešinimo ir talpos charakteristikų pasiskirstymą; Tuo pačiu metu, jei greitaeigio magistralės naudojimui taip pat reikia eksperimentuoti, kad būtų nustatyta autobuso atitikimo varžos vertė.
Norėdami realizuoti CAN valdiklį, galite pasirinkti CAN valdiklį, integruotą į „System Master“ lustą, pavyzdžiui, NXP LPC2000 mikrovaldiklių serijos, arba taip pat galite naudoti diskretus skardinių valdiklio komponentus, pavyzdžiui, SJA1000, kad būtų galima realizuoti CAN sheceans receptorių selekcionierius. , galite pasirinkti CTM1050, TJA1050 ir kt. Jei aplinkos trukdžių triukšmas yra didelis, turite atsižvelgti talpos charakteristikos; Tuo pačiu metu, jei naudojate greitaeigį magistralę, taip pat reikia nustatyti atitinkamą autobuso pasipriešinimą eksperimentuojant. Jei aplinkos trukdžių triukšmas yra didelis, būtina pridėti izoliacijos lustą tarp valdiklio ir siųstuvo imtuvo arba naudoti integruotą skardinės siųstuvo -imtuvo izoliacijos funkciją. Verta paminėti, kad naujasis NXP LPC11C24 mikrovaldiklio lustas ne tik integruoja skardinės valdiklį, bet ir integruoja skardinės imtuvo funkciją, kuri suteikia gerą palaikymą greitam CAN autobusų sistemų kūrimui. Be to, atsižvelgiant į faktinį autobuso ilgio ir mazgų skaičių autobuse, taip pat reikia atsižvelgti į siųstuvo drožlių transmisijos ir priėmimo vėlavimo laiką.
„CAN“ tvarkyklės sluoksnio ir programos sluoksnio, tvarkyklės, apima CAN inicijavimą (įskaitant aparatinės įrangos įgalinimą, „Baud“ spartos nustatymą, valdiklio veikimo režimo nustatymą ir priėmimo filtro ID lentelės konfigūraciją), priėmimo/perdavimo tvarkyklę ir teikia sąsajos funkcijas viršutiniam sluoksniui, iš kurio, iš kurių viršutinį sluoksnį, iš kurių sąsajos funkcijos yra viršutinio sluoksnio, iš kurio, iš kurių sąsajos funkcijos, kurių sąsajos funkcijos yra viršutinio sluoksnio, iš kurių, iš kurių sąsajos funkcijos, kurių sąsajos funkcijos yra viršutinio sluoksnio, iš kurių, iš kurių sąsajos funkcijos yra viršutinio sluoksnio Būtina paaiškinti, kad priėmimo filtro ID lentelės konfigūracija turi būti pagrįsta sistemos ID grupavimu pagal programos sluoksnį; „CAN“ programos sluoksnis atlieka duomenų paketus, remdamasis duomenimis, siunčiančiais/gaunančias ryšį tarp magistralės mazgų. Gali būti taikymo sluoksnis pagal duomenis, siunčiančius ir gaunantį ryšį tarp magistralės mazgų, skirtų paketo ID grupavimui, duomenų paketų siuntimo, duomenų apdorojimo ir programų sluoksnio magistralės saugos stebėjimo. Be to, dažniausiai naudojami „Can Boad“ viršutinio sluoksnio protokolai apima baldakimą, „DeviceNet“ ir „ICAN“.
2. Autobusų sinchronizacijos mechanizmo analizė gali
Komunikacijos procese vienas iš svarbiausių problemų, kurias reikia išspręsti yra savotiškas asinchroninis nuosekliojo ryšio protokolas, priklausantis bazinės juostos ryšiui, o jo sinchronizavimas realizuojamas iš aukšto lygio duomenų nuorodų valdymo protokolo (HDLC). Tiksliau, „CAN“ magistralės protokolo sinchronizavimas pasiekiamas per 3 aspektus, kaip aprašyta toliau.
2.1 Parametrų nustatymas
Abi ryšio pusės per programinę įrangą nustatė tą patį duomenų perdavimo greitį, tą patį fazės reguliavimo segmento ilgį, tą patį sinchronizacijos šuolio plotį, per aukščiau nurodytus tris elementus, nustato bitų laiko ilgį „CAN“ perdavimo proceso metu AS BUS BUS AS Taip pat mėginių ėmimo taško vieta, bitų struktūra, kaip parodyta 2 pav., Skelbimo laikrodis paveikslėlyje, apibrėžtas TQ laiko protokole, kuris gaunamas per išorinio laikrodžio dažnio padalijimą arba periferinio procesoriaus laikrodis. Pagrindinis skardinės valdiklio laikrodžio signalas gaunamas padalijant išorinio laikrodžio arba CPU periferinio laikrodžio dažnį. SS segmentas atitinka pradžios segmentą, o per šį laikotarpį turėtų įvykti autobuso šuolis, TESG1 atitinka perdavimo segmentą ir fazių reguliavimo segmentą 1, o TESG2 atitinka fazės reguliavimo segmentą 2 ir aukštai Greičio magistralė, valdiklis mėginių ir diskriminuoja autobusą tarp TESG1 ir TESG2.

2.2 fiksuoto rėmo struktūra
CAN protokolas aiškiai apibrėžia fiksuoto rėmo struktūrą, kad palengvintų skardinės valdiklį ir siųstuvą -imtuvą, kad būtų galima stebėti magistralės būseną, CAN2. 0 protokolo specifikacija, padalyta į standartinį rėmą ir išplėstines rėmo dviejų rėmų struktūras, skirtumas slypi tik esant arbitražo domenas, standartinis rėmas, naudojant 11- bitų identifikatorių, o išplėstiniame rėme yra 29- bitų identifikatorius, konkretus standartas Rėmas, išplėstinė rėmo rėmo struktūra.
2.3.3 Sunkus sinchronizavimas ir resinchronizavimas
2.3.1 Sunkus sinchronizavimas
Vadinamasis kietas sinchronizavimas reiškia, kad autobusų tuščiosios eigos laikotarpiu (ty magistralės lygis išreiškiamas kaip nuolatinis recesyvinis bitas), kai valdiklis aptinka šuolį iš recesyvinio lygio į dominuojantį lygį, tai reiškia, kad šiuo metu ten ten yra ten. yra autobuso stotis, pradedanti siųsti duomenis, tada verčia bitų būsenos skaitiklį skardinės valdiklį sinchronizuoti su SS segmentu, parodytu 2 pav., Ir tuo pačiu metu bitų laikrodis prasideda iki Iš šio momento atsiminkite („Can Bit“ laiką nustato viršutinis programinės įrangos sluoksnis). Kieta sinchronizacija naudojama rėmo nustatymo pradžiai.
2.3.2 Resinchronizacija
„CAN“ autobusų protokole resinchronizacija įgyvendinama remiantis bitų užpildymo mechanizmu. Panašiai kaip HDLC protokolas, CAN rėmelio struktūroje, kai tik penki to paties poliškumo bitai iš eilės aptinkami nuo kadro pradžios iki CRC sekos bitų, CAN valdiklis automatiškai įterpia šiek tiek priešingą poliškumą. Pakartotinis sinchronizavimas yra tas, kad perduodant duomenis „Can Controller“ sureguliuoja fazių reguliavimo segmentą 1 ir fazių reguliavimo segmentą 2, nustatydamas skirtumą tarp autobuso šuolio krašto ir mazgo vidinio bitų laiko, o reguliavimo dydis yra užprogramuotas sinchronizacijos būdu Šuolio plotis, o reguliavimo dydis nustatomas TQ. Konkreti koregavimo taisyklė yra ta, kad perdavimo procese skardinės valdiklio aptinkamas šuolio kraštas yra CAN valdiklio koregavimas, jei jis yra mazgo vidiniame SS bitų laikotarpyje, tada nereikia koreguoti; Jei „TESG1“ segmente yra „Skip“ kraštas, tai reiškia, kad magistralės bitų laikas vėluoja, palyginti Vėlavimo laiko vertė (T 0) vertė yra didesnė nei sinchronizacijos praleidžiančio pločio, pratęsimo laikas yra sinchronizacijos praleidžiančio pločio vertė, kitaip mazgo skardinės valdiklis prailgina skirtumą tarp jo ir šiek tiek autobuso laiko; Jei šuolio kraštas yra „TESG2“ segmente, tai rodo, kad magistralės bitų laikas yra per didelis Tie iš TESG1 segmento.
3. Autobusų adresų mechanizmo analizė
Skirtingai nuo „Industrial Ethernet“, „RS485“ ir kitų magistralių, „Can“ autobusas siunčia ir gauna duomenis per paketo ID, o ne mazgo adresą, ty mazgai, esantys „Can“ magistralėje Programinė įranga su ID lentele (mazgo priėmimo filtro bloke), o jei magistralės duomenų paketo ID numeris egzistuoja mazgo ID lentelėje, tada paketas sėkmingai praeina To mazgo priėmimo filtro priėmimo priėmimas ir jis bus išsiųstas į viršutinę programinės įrangos apdorojimo bloką ir atitinkamai apdorotas, kitaip paketas atmetamas. Pvz., Jei magistralėje A mazgas nori nusiųsti paketą į B mazgą, paketo ID numeris turi būti B. ID lentelėje. Panašiai, jei A mazgas nori transliuoti paketą į magistralę, tai Paketo ID numeris turi būti visų kitų magistralės mazgų ID lentelėse. Kaip minėta anksčiau, ID lentelė sukonfigūruota naudojant programinę įrangą, tačiau priėmimo filtravimo funkcija atliekama per priėmimo filtrą - „Can Controller“ aparatinės įrangos įrenginį, taigi priėmimo delsimas yra mažas. Be to, šio adreso mechanizmo naudojimo pranašumas yra tas, kad ši magistralė naudojama sistema yra labai lanksti, ty pridedami nauji mazgai ar ištrinami neturi įtakos ryšiui tarp pradinių sistemos mazgų.
Toliau pateikiami skardinių valdiklis, integruotas su NXP LPC2478 lustu, kaip pavyzdį, kad nurodytumėte CAN magistralės sistemos adreso konfigūracijos metodą. Kaip parodyta 3 paveiksle, pirmiausia klasifikuojami pagal duomenų paketus, kurie bus perduoti magistralėje, tai yra paketų ID ir atitinkamas mazgo planavimas, pavyzdžiui, mūsų sistemoje daugiausia yra šie paketų tipai: užklausos paketai, Valdymo komandų paketai (įskaitant veiksmo ir parametrų paketus), aliarmo paketai ir grįžtamojo ryšio parametrų paketai, atitinkantys užklausos paketų mazgo charakteristikas ir valdymo komandų paketus, daugiausia yra pagrindinė stotis, siunčiama kiekvienam vergų blokui, Nors aliarmo duomenų paketai ir grįžtamojo ryšio parametrų duomenų paketai daugiausia siunčiami iš kiekvieno vergo mazgo vieneto į pagrindinį bloko mazgą. Tada kiekvieno mazgo priėmimo filtro vienetas yra sukonfigūruotas pagal ID klasifikaciją, o konkretus konfigūracijos metodas yra toks: pirmiausia sukonfigūruokite atitinkamus priėmimo filtrų darbo režimus pagal mazgo charakteristikas: OFF režimas (negaunantis magistralės pranešimų) , aplinkkelio režimas (visų pranešimų gavimas autobuse) ir įprastas darbo režimas (aparatūros filtravimas). Jei įprasto veikimo režimo konfigūracija, tuomet turite sukonfigūruoti atitinkamą priėmimo filtrų lentelę (ID lentelę), tai yra, mazgas turi gauti mazgo valdiklio paketo ID numerį, kad užpildytų atitinkamą ID lentelės sritį, Ir tai užbaigia „Can“ autobusų mazgo adresų paskirstymo darbus. Paprastai tariant, ID lentelė yra padalinta į šias keturias sritis: skaidraus standartinio rėmo identifikatoriaus sritis, standartinio kadrų grupės formato identifikatoriaus sritis, skaidrus išplėstinio rėmo formato identifikatoriaus sritis ir išplėstinio kadrų grupės formato identifikatoriaus sritis. Tarp jų aiškus formatas yra vienas nepriklausomas ID identifikatorius, o grupės formato sritis turi iš eilės sunumeruotus ID identifikatorius.
4. Autobusų arbitražo mechanizmo analizė gali
Autobusų arbitražas nurodo, kada autobusas tuo pačiu metu turi daugiau nei vieną mazgą, kad galėtų siųsti duomenų magistralės protokolo apdorojimo metodus. „Can Bus“ naudoja neardomą arbitražo mechanizmą, tai yra, jei tuo pačiu metu autobuse yra daugiau nei vienas mazgas, kad būtų galima siųsti duomenis, su didelio prioriteto paketo mazgo arbitražo laimėjimais, galite ir toliau siųsti duomenis ir kitą arbitražo gedimą. Mazgas pasitrauks iš siuntimo būsenos ir pavers priėmimo mazgu su kitais autobusų arbitražo mechanizmais (tokiais kaip LAN CSMA). (Palyginti su kitais autobusų arbitražo mechanizmais (pvz. , ir tai daugiausia realizuoja šios dvi „Can Bus“ funkcijos: 1) „Can“ autobuso linija ir charakteristikos, ty kai daugiau nei vienas autobuso mazgas siunčia dominuojančius ir nematomus lygius tuo pačiu metu, autobusas, autobusas Lygis yra dominuojantis lygis. 2) „CAN“ autobuso linija ir bruožas, ty kai daugiau nei vienas magistralės mazgas tuo pačiu metu siunčia dominuojančius ir nematomus lygius, autobusų lygis rodo dominuojantį lygį. 2) „Can Controller“ stebi magistralės lygio būseną net siunčiant duomenis, ty, kai yra arbitražo, kai valdiklis siunčia nematomą lygį, tačiau aptinka magistralę kaip matomą lygį, mazgas arbitražas sugenda ir kreipiasi į priėmimo mazgą.
5. Autobusų patikimumo analizė gali
„CAN“ magistralės patikimumas reaguojamas aptinkant ir stebint mazgo ir magistralės paketų apsaugą, be to, „Can Bus“ stipriai slopina išorinius trikdžių signalus, naudojant diferencinius signalus. Konkrečiai aptarta žemiau.
5.1 Autobusų bangos formos realiojo laiko stebėjimas
„Can Controller“ ne tik stebės duomenų paketus, kuriuos visą laiką atsiuntė kiti magistralės mazgai, bet taip pat stebės duomenis, kurie savaime siunčiami duomenų paketų siuntimo realiuoju laiku, kai tik aptiktų klaidas, aptikus klaidas, Padėžimo klaidos, CRC klaidos, formatavimo klaidos ar atsakymo klaidos, mazgas bus pagrįstas klaidos, kuria ji yra (suaktyvinta klaida arba klaida pripažinta būsena), būseną, kad išsiųstų atitinkamą klaidos vėliavą. Tiesą sakant, aš manau, kad tik klaidų aktyvavimo svetainė siunčia aktyvavimo klaidų logotipą (ty 6 iš eilės dominuojantys bitai, po kurių seka 8 recesyvūs klaidų logotipo, apibrėžiančio simboliu), turės įtakos magistralei ir mazgams autobuse, o magistralės mazgai, o mazgai autobuse, o mazgai -, o magistralės mazgai, o mazgai -, o magistralės mazgai, o mazgai -, o magistralės mazgai, o mazgai autobuse, o mazgai -, o mazgai autobuse, o mazgai -, o magistralės mazgai, o mazgai autobuse, o mazgai -, o mazgai autobuse, o mazgai -, o magistralės mazgai, o mazgai autobuse, o mazgai -, o magistralės mazgai, o mazgai autobuse, o mazgai - magistralė Klaidų atpažinimo būsenos mazgas siunčia klaidų atpažinimo logotipą iš tikrųjų neturi jokios įtakos magistralei (6 recesyviniai lygiai, siunčiami naudojant tuščiosios eigos magistralės būseną, yra tas pats).
5.2 realaus laiko mazgo būsenos stebėjimas, siekiant nustatyti mazgo privilegijas
Mazgai keičia savo būseną (klaidomis suaktyvintą, klaidų pripažintą ar autobuso išjungimo būseną) realiu laiku pagal autobuso atsiųstus paketus. Mazgai, suaktyvintos klaidomis, normaliai dalyvauja autobusų komunikacijoje, o klaidų pripažinti vienetai dalyvauja autobusų komunikacijoje, tačiau prieš pradėdami kitą siuntimą, reikia išsiųsti 8 papildomus netiesioginius bitus. Autobuse siunčiamų paketų, kaip parodyta 1 lentelėje, 15- bitų CRC seka įgyvendina pradžios bitų, arbitražo lauko, valdymo lauko ir duomenų lauko (jei yra), priėmimo vietos stebėjimą, priėmimo vietą Generuoja paketo CRC seką pagal tą patį algoritmą, kaip ir siuntimo mazgo, kai jis gauna duomenis, ir lygina jį su gauta CRC seka, jei ji yra kitokia, tai reiškia, kad yra, kad yra, kad yra Klaida ir priimantis mazgas neatsakys į priimantį mazgą neatsakys į paketą, o siunčiamasis mazgas aptiks atsakymo klaidą ir pakartotinai pakartotinai. Apibendrinant galima pasakyti, kad „Can Bus“ pasiekė aukštą duomenų saugumą ir autobusų stabilumą per duomenų jungties sluoksnį ir fizinį sluoksnį.
6. Išvada
Remiantis ISO11898 protokolo specifikacija, dokumente išsamiai analizuojama realizacijos principas ir CAN autobusų mazgo sinchronizacijos mechanizmas, mazgo adresų mechanizmas, autobusų arbitražo mechanizmas (ty autobusų konfliktų skiriamoji geba) ir autobusų patikimumas iš komunikacijos perspektyvos ir, be to, ir tuo pačiu požiūriu, ir tuo pačiu. Laikas trumpai pristato „CAN“ magistralės taikymo charakteristikas ir magistralės sluoksniuotą sistemą, kai ji taikoma faktinei sistemai, o tai yra labai svarbi nuodugniai „Can“ autobusų protokolo supratimas ir „Can Bus“ taikymas į tikrąją sistemą. Tai yra „CAN“ autobusų protokolo ir CAN autobusų pritaikymo konkrečiuose inžinerijos projektuose, taip pat tyrimų ar plėtros autobusų sistemų taikymas konkretiems reikalavimams.




