Analyse af CAN BUS -synkroniseringsmekanisme/adresseringsmekanisme/voldgiftsmekanisme

Jan 17, 2025 Læg en besked

CAN (controllerareanetwork) bus, IE Controller Area Network Bus, er blevet vidt brugt i industriel kontrol, medicinsk elektronik, husholdningsapparater og sensorfelter. På nuværende tidspunkt er indenlandsk og udenlandsk litteratur til CAN -busprotokolanalysen af ​​artiklen hovedsageligt for dåse -protokolrammestrukturen til eller bit timingegenskaber for analysen, såsom litteraturen er sjældent set fra kommunikationens dåsebusprotokolanalyse , sjældent set fra tekniske applikationer, kan CAN-buskommunikationsmekanismen til dybdegående analyse af artiklen.


1. Kan anvendelsesegenskaber og strukturel sammensætning


CAN-busprotokollen har to internationale standarder, ISO11898 og ISO11519, hvoraf IS011898 er en højhastigheds-kan kommunikationsstandard med en kommunikationshastighed på 125 kbps til 1 Mbps, hvilket er en lukket loop-bus med en maksimal længde på 40 mio./1 Mbps. ISO11519 definerer en lavhastigheds-CAN-kommunikationsstandard med en kommunikationshastighed på 10 til 125 kbps, hvilket er en lavhastigheds-kan kommunikationsstandard med en maksimal længde på 40M/1Mbps. ISO11519 definerer kommunikationshastigheden på 10 til 125 kbps lavhastigheds-kan kommunikationsstandard, hører til open-loop-bussen, den maksimale længde på 1 km / 40 kbbps. På grund af de elektriske egenskaber ved begrænsningerne, det vil sige busfordelingen af ​​kapacitans og fordeling af modstand på busbølgeformen, er det maksimale antal knudepunkter på CAN -bussen 110. For applikationsingeniøren er det kun baudhastigheden og bitparametre af transceiver -siden skal konfigureres korrekt for at opnå datasynkronisering af transceiverknudepunkterne. Gennem CAN-controller-hardware på meddelelsesmarkørfiltreringen kan realiseres punkt-til-punkt, punkt-til-multipoint og global udsendelse og andre måder at transmittere og modtage data på. På samme tid på grund af den korte rammestruktur af CAN -telegrammer, og hver ramme indeholder en CRC -checkdel, der sikrer en meget lav datafejlrate.

 

CAN -applikationslaget, operativsystemet (implementeret som et baggrundsprogram i applikationer uden et operativsystem) og driveren i systemimplementeringen sammen realiserer applikationslaget fungerer i ISO -referencemodellen. Blandt dem definerer CAN -applikationslaget ID -gruppering, afsendelse af dataindlæsning, modtagelse af databehandling og applikationslagsbussikkerhedsovervågning; Operativsystemet/baggrundsprogrammet bruges til at planlægge CAN -driveren til at behandle dataene, efter at CAN Interrupt ankommer; Driveren inkluderer initialisering (controller -arbejdsstatusindstilling, indstilling af baudhastighed, acceptfilterkonfiguration), transceiverdriver og abnormitetshåndteringsprogram.


For transmissionsmediumlag skal det bestemmes i henhold til miljøinterferensstøj, buslængde og så videre. I tilfælde af stærk interferensstøj skal støj anvendes afskærmet ledning; På grund af fordelingen af ​​kapacitans forårsaget af busbølgeformforvrængning og fordeling af resistens forårsaget af dæmpningen af ​​busniveauet, skal buslængden tage højde for fordelingen af ​​resistens og kapacitansegenskaber for det anvendte transmissionsmedium; På samme tid, hvis brugen af ​​højhastighedsbus også er nødt til at eksperimentere for at bestemme værdien af ​​busens matchende modstand.


For realiseringen af ​​CAN -controller kan du vælge CAN -controlleren integreret i systemmasterchippen, såsom NXPs LPC2000 -serie af mikrokontrollere, eller du kan også bruge diskrete komponenter i CAN -controller , du kan vælge CTM1050, TJA1050 osv. Hvis den omgivende interferensstøj er stor, skal du overveje transmissionsmediumfordelingsmodstand og distributionskapacitansegenskaber; På samme tid, hvis du bruger en højhastighedsbus, skal også bestemme busens matchende modstand gennem eksperimentering. Hvis miljøinterferensstøjen er stor, er det nødvendigt at tilføje en isoleringschip mellem controlleren og transceiveren eller brugen af ​​integreret isoleringsfunktion af dåsen. Det er værd at nævne, at NXPs nye LPC11C24 -mikrocontroller -chip ikke kun integrerer en CAN -controller, men også integrerer en dåse -transceiver -funktion, der giver god support til den hurtige udvikling af CAN -bussystemer. I henhold til den faktiske anvendelse af busens længde og antallet af knudepunkter på bussen er det desuden også nødvendigt at overveje forsinkelsestiden for Transceiver -chipens transmission og modtagelse.


For dåse -driverlaget og applikationslaget inkluderer driveren CAN -initialisering (inklusive hardwareaktivering, indstilling af baudhastighed, indstilling af controller -driftstilstand og acceptfilter -ID -tabelkonfiguration), modtag/transmissionsdriver og leverer interfacefunktioner til det øverste lag, hvoraf det Det er nødvendigt at forklare, at Acceptance Filter ID -tabelkonfiguration skal baseres på gruppering af system -ID ved applikationslaget; CAN -applikationslaget udfører datapakke baseret på de data, der sender/modtager forholdet mellem knudepunkterne på bussen. Kan applikationslaget i henhold til de data, der sender og modtages forhold mellem knudepunkterne på bussen til pakke -ID -gruppering, afsendelse af datapakker, modtagelse af databehandling og applikationsbussikkerhedsovervågning. Derudover inkluderer de almindeligt anvendte CAN -bus -øverste lagprotokoller Canopen, DeviceNet og Ican.


2. kan bussynkroniseringsmekanismeanalyse


I kommunikationsprocessen er et af de vigtigste spørgsmål, der skal løses, hvordan man opnår synkronisering af data ved afsenderen og modtagerens ender, dvs. modtagerens ende kan korrekt modtage og analysere de data, der er sendt af afsenderenden. Kan busprotokol er en slags asynkron seriel kommunikationsprotokol, der hører til baseband-kommunikationen, og dens synkronisering realiseres fra datalinklet-kontrolprotokollen på højt niveau (HDLC). Specifikt opnås synkroniseringen af ​​CAN -busprotokollen gennem 3 aspekter som beskrevet nedenfor.


2.1 Parameterindstilling


Begge sider af kommunikationen gennem softwaren sætter den samme baudhastighed, den samme fasejusteringssegmentlængde, den samme synkroniseringsspring bredde, gennem ovennævnte tre elementer, der er indstillet, definerer længden af ​​bittid i transmissionsprocessen for CAN -bussen som Nå som placeringen af ​​prøveudtagningspunktet, bitstrukturen som vist i fig. 2, kan dåse klokke i figuren, der er defineret i protokollen i TQ -tiden, som opnås gennem frekvensafdelingen af ​​et eksternt ur eller en Perifert ur af CPU'en. Det grundlæggende ursignal fra CAN -controlleren opnås ved at dele hyppigheden af ​​det ydre ur eller CPU -perifere ur. SS-segmentet svarer til startsegmentet, og hoppekanten på bussen skal forekomme i denne periode, TESG1 svarer til transmissionssegmentet og fasejusteringssegmentet 1, og TESG2 svarer til fasejusteringssegmentet 2 og for høj- Hastighedsbus, controllerprøverne og diskriminerer bussen mellem TESG1 og TESG2.

 

o4YBAF_kARqAUmkJAAC0vUwBkGQ744.png

 

2.2 Fast rammestruktur


Kan protokollen klart definerer en fast rammestruktur for at lette CAN -controller og transceiver til at overvåge busstaten, i CAN2. 0 protokolspecifikation, opdelt i standardramme og forlænget ramme to rammestrukturer, forskellen ligger kun i Voldgiftsdomæne, standardrammen ved hjælp af 11- bit -identifikator, mens den udvidede ramme har en 29- bit -identifikator, den specifikke Standard ramme, udvidet rammestrammestruktur.

 

2.3.3 Hård synkronisering og resynkronisering


2.3.1 Hård synkronisering


Den såkaldte hårde synkronisering betyder, at busniveauet i busens tomgang (dvs. busniveauet udtrykkes som en kontinuerlig recessiv bit), når controlleren registrerer springet fra det recessive niveau til det dominerende niveau, betyder det, at det på dette tidspunkt der er en station på bussen for at begynde at sende data, derefter tvinge bittilstandskanken på CAN -controlleren til at synkronisere med SS -segmentet vist i fig. 2, og på samme tid begynder bituret at Fortæl fra dette punkt og fremover (dåsebiten indstilles af det øverste softwarelag). Hård synkronisering bruges til starten af ​​rammebestemmelse.


2.3.2 Resynkronisering


I CAN-busprotokollen implementeres resynkronisering baseret på bitfyldningsmekanismen. I lighed med HDLC -protokollen kan i rammestrukturen af ​​dåser, når fem på hinanden følgende bit af samme polaritet detekteres fra starten af ​​rammen, indtil CRC -sekvensbiten, kan CAN -controller automatisk indsætte lidt af den modsatte polaritet. Re-synkronisering er, at CAN-controlleren under dataoverførsel justerer fasejusteringssegmentet 1 og fasejusteringssegmentet 2 ved at detektere forskellen mellem hoppingkanten på bussen og knudepunktets interne bittid, og justeringsstørrelsen er programmeret ved synkronisering Hoppende bredde, og justeringsstørrelsen indstilles i TQ. Den specifikke justeringsregel er, at i transmissionsprocessen justeres hoppekanten på bussen detekteret af CAN -controlleren med CAN -controlleren, hvis den er placeret inden for knudepunktets interne SS -bit tidsperiode, så kræves der ingen justering; Hvis springkanten er placeret i TESG1 -segmentet, betyder det, at der er en forsinkelse i bittid på bussen i forhold til bittid for knude Værdien af ​​forsinkelsestiden (værdien af ​​t 0) er større end synkroniseringsspringen over bredden, udvidelsestiden er synkroniseringsspring breddeværdi, ellers kan dåsen Controller af noden udvider forskellen mellem den og bittid for bussen; Hvis springkanten er placeret i TESG2 -segmentet, hvilket indikerer, at bittid på bussen overskrides i forhold til bittid for noden, reducerer CAN -controlleren nodens TESG2 -bit tidsperiode, de specifikke justeringsregler ligner dem fra TESG1 -segmentet.


3. kan analyse af busadresse mekanisme


I modsætning til Industrial Ethernet, Rs485 og andre busser, sender CAN -bussen og modtager data gennem pakke -ID snarere end knudeadressen, dvs. knudepunkterne på CAN -bussen har ikke en fast adresse, i stedet skal hver node konfigureres via Software med en ID -tabel (i acceptfilterenheden på noden), og hvis ID -nummeret på datapakken på bussen findes i ID -tabellen på noden, så er pakken Ved at videregive accept af acceptfilterenheden for denne knude og vil blive sendt til den øverste softwarebehandlingsenhed og behandlet i overensstemmelse hermed, kasseres pakken. For eksempel, hvis knudepunkt A på bussen ønsker at sende en pakke til knudepunkt B, skal ID -nummeret på pakken være placeret i ID -tabellen i knudepunkt B. På samme måde, hvis knudepunkt A ønsker at udsende en pakke til bussen, er bussen, ID -nummer på pakken skal være placeret i ID -tabellerne for alle andre noder på bussen. Som nævnt tidligere er ID -tabellen konfigureret via software, men acceptfiltreringsfunktionen udføres gennem acceptfilteret, en hardwareenhed i CAN -controlleren, så forsinkelsen forårsaget af accept er lille med hensyn til hastighed. Derudover er fordelen ved at bruge denne adressemekanisme, at det system, der anvender denne bus, er meget fleksibel, dvs. nye knudepunkter, der tilføjes eller slettes, ikke påvirker kommunikationen mellem systemets originale knudepunkter.

 

Følgende tager CAN -controller integreret med NXPs LPC2478 -chip som et eksempel for at specificere adressekonfigurationsmetoden for CAN -bussystemet. Som vist i figur 3, først klassificeret i henhold til de datapakker, der skal overføres på bussen, det vil sige pakken ID og den tilsvarende knudeplanlægning, for eksempel i vores system er der hovedsageligt følgende typer pakker: forespørgselspakker, Kontrolkommandopakker (inklusive handling og parameterpakker), alarmpakker og feedback -parameterpakker, svarende til nodekarakteristika for forespørgselspakkerne og kontrolkommando -pakker er hovedsageligt masterstationen sendt til hver slaveenhed, mens Alarmdatapakker og feedback -parameterdatapakker sendes hovedsageligt fra hver knudeenhed af slaven til masterenhedsnoden. Derefter konfigureres acceptfilterenheden for hver knude i henhold til ID -klassificeringen, og den specifikke konfigurationsmetode er som følger: For det første skal du konfigurere de tilsvarende acceptfilterarbejdsmetoder i henhold til nodens egenskaber: OFF -tilstand (ikke modtager busmeddelelser) , bypass -tilstand (modtager alle meddelelser på bussen) og den normale arbejdstilstand (hardwarefiltrering). Hvis konfigurationen til den normale driftsform, skal du konfigurere den tilsvarende acceptfiltertabel (ID -tabel), det vil sige, at noden skal modtage pakkens -ID -nummeret på nodekontrollen for at udfylde det tilsvarende ID -tabelområde, Og dette afslutter CAN -busnodens adressetildelingsarbejde. Generelt er ID -tabellen opdelt i følgende fire områder: Clear Standard Frame Identifier Area, Standard Frame Group Format Identifier Area, Clear Extended Frame Format Identifier Area og Extended Frame Group Format Identifier Area. Blandt dem er det eksplicitte format en enkelt uafhængig ID -identifikator, mens gruppeformatområdet har efter hinanden nummereret ID -identifikatorer.


4. kan analyse af bus voldgiftsmekanisme


Bus voldgift henviser til, hvornår bussen har mere end en knude på samme tid for at sende databusprotokolbehandlingsmetoder. Kan Bus bruger en ikke-destruktiv voldgiftsmekanisme, det vil sige, hvis mere end en knude på bussen på samme tid for at sende data, med en højprioritetspakke-node-voldgiftsgevinster, kan du fortsætte med at sende data og anden voldgiftssvigt Knudepunkt vil forlade den afsendende tilstand og omdannes til en modtagende knude med andre bus voldgiftsmekanismer (såsom CSMA for LAN). (Sammenlignet med andre bus voldgiftsmekanismer (f.eks , og det realiseres hovedsageligt af følgende to funktioner i CAN -bus: 1) Linjen og egenskaberne ved CAN -bus, dvs. når mere end en knude på bussen sender dominerende og usynlige niveauer på samme tid, Busniveauet er dominerende niveau. 2) Linjen og karakteristisk for CAN -bus, dvs. når mere end en knude på bussen sender dominerende og usynlige niveauer på samme tid, viser busniveauet det dominerende niveau. 2) Kan controller overvåger status for busniveau, selv når de sender data, dvs. når det er i voldgift, når controlleren sender usynligt niveau, men detekterer bussen som synligt niveau, mislykkes noden voldgift og vender sig til den modtagende knude.


5. Kan bus robusthedsanalyse


CAN-bus robusthed realiseres gennem dens realtidsdetektion og overvågning af knudepunktet og buspakkens sikkerhed, og derudover har Bus en stærk hæmning af eksterne interferenssignaler gennem brug af differentielle signaler. Specifikt diskuteret nedenfor.


5.1 Overvågning i realtid af busbølgeformen


Kan controller ikke kun overvåge datapakkerne sendt af andre noder på bussen hele tiden efter at Polstringsfejl, CRC -fejl, formateringsfejl eller responsfejl, noden vil være baseret på tilstanden for den fejl, hvori den er (fejl aktiveret eller fejl anerkendt tilstand) til at sende det tilsvarende fejlflag. Faktisk tror jeg, at kun fejlaktiveringsstedet sender aktiveringsfejllogoet (dvs. 6 på hinanden følgende dominerende bits efterfulgt af 8 recessive bits af fejllogoet, der defineres), vil have indflydelse på bussen og noderne på bussen, mens Knudepunktet i fejlgenkendelsestilstand sender logoet til fejlgenkendelseslogo har faktisk ikke nogen indflydelse på bussen (de 6 recessive niveauer, der sendes med den inaktive tilstand af bussen, er den samme).


5.2 Overvågning i realtid af knudepunktstatus for at bestemme knudeprivilegier


Knudepunkter ændrer deres tilstand (fejlaktiveret, fejl anerkendt eller bus-off tilstand) i realtid i henhold til de pakker, der sendes på bussen. Knudepunkter i fejlaktiveret tilstand deltager normalt i buskommunikation, og fejlgenkendte enheder deltager i buskommunikation, men er nødt til at sende 8 yderligere implicitte bits, før de indleder den næste send. For pakker, der sendes på bussen, som vist i tabel 1, implementerer 15- bit CRC -sekvens Genererer CRC -sekvensen af ​​pakken i henhold til den samme algoritme som den af ​​den afsendende knude, når den modtager dataene og sammenligner dem med den modtagne CRC -sekvens, hvis det er anderledes, betyder det, at der er En fejl og den modtagende knude reagerer ikke på den modtagende knude vil ikke svare på pakken, og den sendeknudepunkt registrerer responsfejlen og send pakken igen. Afslutningsvis har Can Bus opnået høj datasikkerhed og busstabilitet gennem datalinklaget og det fysiske lag.


6. Konklusion


Baseret på ISO11898 -protokolspecifikation analyserer papiret detaljeret realiseringsprincippet og grundlaget for CAN -busnodesynkroniseringsmekanisme, knudepunktsadressemekanisme, bus voldgiftsmekanisme (dvs. buskonfliktopløsningsmekanisme) og bus robusthed fra kommunikationens perspektiv og på det samme Tiden introducerer kort applikationsegenskaber for CAN -bus og systemets lagdelte struktur af bussen, når den anvendes til det faktiske system, hvilket er meget vigtigt for dybdegående forståelse af CAN-busprotokol og anvendelse af CAN-bus til det faktiske system. Det er en guide til at forstå CAN -busprotokollen og anvende CAN -bussen til specifikke ingeniørprojekter samt forske eller udvikle bussystemer til specifikke krav.

Send forespørgsel

whatsapp

Telefon

E-mail

Undersøgelse