Busul Can (ControlleReleReEtwork), IE Controller Area Network Bus, a fost utilizat pe scară largă în controlul industrial, electronice medicale, aparate de uz casnic și câmpuri de senzori. În prezent, literatura internă și străină pentru analiza protocolului CAN Bus al articolului este în principal pentru structura cadrului de protocol CAN sau caracteristicile de sincronizare a bițiului analizei, cum ar fi literatura este rar din perspectiva comunicării pe analiza protocolului CAN Bus Analysis , rar din perspectiva aplicațiilor de inginerie, mecanismul de comunicare a autobuzului CAN pentru o analiză aprofundată a articolului.
1.. CAN CANDARII CANDAȚII ȘI COMPOZIȚIA STRUCTURĂ
Protocolul CAN Bus are două standarde internaționale, ISO11898 și ISO11519, dintre care, IS011898 este un standard de comunicare de mare viteză CAN, cu o rată de comunicare de 125kbps la 1Mbps, care este un autobuz cu buclă închisă cu o lungime maximă de 40M/1Mbps. ISO11519 definește un standard de comunicare cu viteză mică cu o rată de comunicare de 10 până la 125kbps, care este un standard de comunicare cu viteză mică cu o lungime maximă de 40m/1Mbps. ISO11519 definește rata de comunicare de la 10 până la 125kbps cu viteză mică, standard de comunicare, aparține autobuzului cu buclă deschisă, lungimea maximă de 1 km / 40kbps. Datorită caracteristicilor electrice ale limitărilor, adică distribuția autobuzului de capacitate și distribuirea rezistenței pe forma de undă a autobuzului, numărul maxim de noduri în autobuzul CAN este de 110. Pentru inginerul de aplicații, numai rata de transfer și parametrii de biți din partea transceiverului trebuie să fie configurată corect pentru a realiza sincronizarea datelor nodurilor transceiver. Prin hardware-ul Can Controller de pe filtrarea markerului de mesaje poate fi realizată punct la punct, punct-la-multipunct și difuzarea globală și alte modalități de a transmite și primi date. În același timp, datorită structurii de cadru scurte a telegramelor CAN, iar fiecare cadru conține o parte de verificare CRC, care asigură o rată de eroare de date foarte mică.
Stratul Can Application, sistemul de operare (implementat ca program de fundal în aplicații fără sistem de operare) și driverul din implementarea sistemului realizează împreună funcțiile stratului de aplicație din modelul de referință ISO. Printre aceștia, stratul de aplicație CAN definește gruparea ID -ului, trimiterea încărcării datelor, primirea procesării datelor și monitorizarea securității autobuzului la stratul de aplicații; Sistemul de operare/programul de fundal este utilizat pentru a programa driverul CAN pentru a prelucra datele după sosirea întreruperii Can; Driverul include inițializarea (setarea stării de lucru a controlerului, setarea ratei de transfer, configurația filtrului de acceptare), driverul transceiver și programul de manipulare a anormalității.
Pentru stratul mediu de transmisie, acesta trebuie determinat în funcție de zgomotul de interferență a mediului, lungimea autobuzului și așa mai departe. În cazul unui zgomot puternic de interferență trebuie utilizat sârmă protejată; Datorită distribuției capacității cauzate de denaturarea formei de undă a autobuzului și distribuția rezistenței cauzată de atenuarea nivelului autobuzului, lungimea autobuzului trebuie să țină cont de distribuția de rezistență și caracteristici de capacitate a mediului de transmisie utilizat; În același timp, dacă utilizarea autobuzului de mare viteză trebuie să experimenteze și pentru a determina valoarea rezistenței potrivite a autobuzului.
Pentru realizarea controlerului CAN, puteți alege controlerul Can integrat în cipul principal al sistemului, cum ar fi seria de microcontrolere NXP LPC2000 sau puteți utiliza, de asemenea, componente discrete ale controlerului CAN, cum ar fi SJA1000 pentru realizarea transceiverurilor CAN CAN , puteți alege CTM1050, TJA1050 și caracteristici de capacitate de distribuție; În același timp, dacă utilizați un autobuz de mare viteză, trebuie să determinați și rezistența potrivită a autobuzului prin experimentare. Dacă zgomotul de interferență al mediului este mare, este necesar să se adauge un cip de izolare între controler și transceiver sau utilizarea funcției de izolare integrată a transceiver -ului. De menționat este faptul că noul cip de microcontroller LPC11C24 de la NXP nu numai că integrează un controler CAN, dar integrează și o funcție CAN Transceiver, care oferă un sprijin bun pentru dezvoltarea rapidă a sistemelor CAN Bus. În plus, în funcție de aplicarea efectivă a lungimii autobuzului și a numărului de noduri pe autobuz, este necesar să se ia în considerare și timpul de întârziere al transmiterii și recepției cipului transceiver.
Pentru stratul de driver și stratul de aplicație, driverul include inițializarea Can (inclusiv activarea hardware, setarea vitezei de transfer, setarea modului de operare a controlerului și configurația tabelului de identificare a filtrului), recepția/transmiterea driverului și oferă funcții de interfață la stratul superior, din care a fost Este necesar să explicăm că configurația tabelului de ID a filtrului de acceptare trebuie să se bazeze pe gruparea ID -ului de sistem de către stratul de aplicație; Stratul de aplicație CAN efectuează pachetul de date pe baza relației de trimitere/primire a datelor între nodurile din autobuz. Poate strat de aplicație în funcție de relația de trimitere și primire a datelor între nodurile din autobuz pentru gruparea ID -ului de pachete, trimiterea de pachete de date, primirea procesării datelor și monitorizarea securității autobuzului la nivel de aplicație. În plus, protocoalele de strat superior CAN utilizate în mod obișnuit includ Canopen, DeviceNet și ICAN.
2. Analiza mecanismului de sincronizare a autobuzului Can
În procesul de comunicare, una dintre cele mai importante probleme care trebuie rezolvate este modul de realizare a sincronizării datelor la expeditor și receptor, adică capătul receptorului poate primi corect și analizează datele trimise de expeditorul final. este un fel de protocol de comunicare în serie asincronă, care aparține comunicării în bandă de bază, iar sincronizarea acesteia este realizată din protocolul de control al legăturii de date la nivel înalt (HDLC). Mai exact, sincronizarea protocolului Bus CAN se realizează prin 3 aspecte descrise mai jos.
2.1 Setarea parametrilor
Ambele părți ale comunicării prin software au stabilit aceeași rată de transfer, aceeași lungime a segmentului de reglare a fazelor, aceeași lățime de salt de sincronizare, prin cele trei elemente de mai sus setate, definește lungimea timpului de biți în procesul de transmisie al autobuzului CAN ca precum și locația punctului de eșantionare, structura de biți, așa cum se arată în Fig. 2, poate ceasul în cifra definită în protocolul timpului TQ, care este obținut prin diviziunea de frecvență a unui ceas extern sau Un ceas periferic al procesorului. Semnalul de ceas de bază al controlerului CAN este obținut prin împărțirea frecvenței ceasului extern sau a ceasului periferic al procesorului. Segmentul SS corespunde segmentului de pornire, iar marginea de săritură a autobuzului ar trebui să apară în această perioadă, TESG1 corespunde segmentului de transmisie și segmentului de reglare a fazei 1, iar TESG2 corespunde segmentului 2 de reglare a fazei și pentru ridicat Speed Bus, controlerul probează și discriminează autobuzul dintre TESG1 și TESG2.

2.2 Structura cadrului fix
Protocolul poate definește clar o structură de cadru fixă pentru a facilita controlerul Can și transceiverul pentru a monitoriza starea autobuzului, în Can2. 0 Specificația protocolului, împărțită în cadru standard și cadru extins două structuri de cadru, diferența se află doar în Domeniul de arbitraj, cadrul standard folosind identificatorul 11-, în timp ce cadrul extins are un identificator de biți 29-, specific Cadru standard, structură de cadru extinsă.
2.3.3 Sincronizare grea și resincronizare
2.3.1 Sincronizare grea
Așa-numita sincronizare dură înseamnă că în perioada de ralanti a autobuzului (adică, nivelul autobuzului este exprimat ca un bit recesiv continuu), odată ce controlorul detectează saltul de la nivelul recesiv la nivelul dominant, înseamnă că în acest moment acolo acolo este o stație din autobuz pentru a începe să trimită date, apoi forțați contorul de stare de biți al controlerului CAN pentru a se sincroniza la segmentul SS prezentat în Fig. 2 și, în același timp, ceasul de biți începe să povestească de la Acest punct înainte (timpul de biți CAN este setat de stratul software superior). Sincronizarea grea este utilizată pentru începutul determinării cadrului.
2.3.2 Resincronizare
În protocolul CAN Bus, resincronizarea este implementată pe baza mecanismului de umplere a bițiului. Similar cu protocolul HDLC, în structura cadrului CAN, odată ce sunt detectate cinci biți consecutivi din aceeași polaritate de la începutul cadrului până la bitul secvenței CRC, controlerul Can introduce automat un pic din polaritatea opusă. Re-sincronizarea este că în timpul transmisiei datelor, controlerul Can ajustează segmentul de reglare a fazei 1 și segmentul de reglare a fazei 2 prin detectarea diferenței dintre marginea de săritură a busului și a timpului intern al nodului, iar dimensiunea de reglare este programată de sincronizare lățimea de săritură, iar dimensiunea de reglare este setată în TQ. Regula de ajustare specifică este aceea că, în procesul de transmisie, marginea de săritură a autobuzului detectat de controlerul CAN este ajustat de controlerul CAN dacă este localizat în perioada internă a bitului SS a nodului, atunci nu este necesară o ajustare; Dacă marginea de salt este situată în segmentul TESG1, înseamnă că există o întârziere în timpul bitului în autobuz în raport cu timpul de biți al nodului, atunci controlerul Can extinde perioada de timp TESG1 a nodului și dacă Valoarea timpului de întârziere (valoarea lui t 0) este mai mare decât lățimea de sare de sincronizare, timpul de prelungire este de sincronizare a lățimii skipului, altfel poate controla controlerul de Nodul extinde diferența dintre acesta și timpul bit al autobuzului; Dacă marginea de salt este situată în segmentul TESG2, ceea ce indică faptul că timpul de biți al autobuzului este depășit în raport cu timpul de biți al nodului, atunci controlerul Can reduce perioada de timp a nodului TESG2, regulile de ajustare specifice sunt similare cu cele ale segmentului TESG1.
3. Analiza mecanismului de adresă a autobuzului CAN
Spre deosebire de autobuzele industriale Ethernet, RS485 și alte autobuze, autobuzul CAN trimite și primește date prin ID -ul pachetului, mai degrabă decât adresa nodului, adică, nodurile din autobuzul CAN nu au o adresă fixă, în schimb, fiecare nod trebuie să fie configurat prin intermediul software cu un tabel de identificare (în unitatea de filtrare de acceptare a nodului) și dacă numărul de identificare al pachetului de date din bus există în tabelul de identificare al nodului, atunci pachetul trece cu succes Acceptarea unității de filtrare de acceptare a acelui nod și va fi trimisă la unitatea de procesare software superioară și procesată în consecință, în caz contrar, pachetul este aruncat. De exemplu, dacă nodul A din autobuz dorește să trimită un pachet către nodul B, numărul de identificare al pachetului trebuie să fie amplasat în tabelul de identificare al nodului B. În mod similar, dacă nodul A dorește să difuzeze un pachet la autobuz, Numărul de identificare al pachetului trebuie să fie amplasat în mesele de identificare ale tuturor celorlalte noduri din autobuz. Așa cum am menționat anterior, tabelul de identificare este configurat prin software, dar funcția de filtrare de acceptare este efectuată prin filtrul de acceptare, o unitate hardware din controlerul Can, astfel încât întârzierea cauzată de acceptare este mică din punct de vedere al vitezei. În plus, avantajul utilizării acestui mecanism de adresă este că sistemul care utilizează acest bus este extrem de flexibil, adică noduri adăugate sau șterse nu afectează comunicarea dintre nodurile originale ale sistemului.
Următorul va lua controlerul Can integrat cu cipul LPC2478 al NXP ca exemplu pentru a specifica metoda de configurare a adresei sistemului de bus CAN. Așa cum se arată în figura 3, primul clasificat în funcție de pachetele de date care urmează să fie transmise în autobuz, adică ID -ul pachetului și planificarea nodurilor corespunzătoare, de exemplu, în sistemul nostru există în principal următoarele tipuri de pachete: pachete de interogare, Pachetele de comandă de control (inclusiv pachete de acțiune și parametri), pachete de alarmă și pachete de parametrii de feedback, corespunzătoare caracteristicilor nodului pachetelor de interogare și pachetelor de comandă de control sunt în principal stația principală trimisă fiecărei unități de sclavi, în timp ce Pachetele de date de alarmă și pachetele de date ale parametrilor de feedback sunt trimise în principal de la fiecare unitate de noduri a sclavului către nodul unității master. Apoi, unitatea de filtru de acceptare a fiecărui nod este configurată în funcție de clasificarea ID, iar metoda de configurare specifică este următoarea: În primul rând, configurați modurile de lucru ale filtrului de acceptare corespunzător în funcție de caracteristicile nodului: modul OFF (care nu primește mesaje de bus) , modul de bypass (primind toate mesajele în autobuz) și modul normal de lucru (filtrare hardware). Dacă configurația pentru modul normal de funcționare, atunci trebuie să configurați tabelul de filtru de acceptare corespunzător (tabelul de identitate), adică nodul trebuie să primească numărul de pachet de pachet al controlerului nodului pentru a completa zona tabelului de identificare corespunzător, Și acest lucru completează lucrările de alocare a adresei nodului CAN. În general, tabelul de identificare este împărțit în următoarele patru domenii: zona de identificare standard a cadrului standard, zona de identificare a formatului grupului de cadru standard, zona de identificare a formatului de cadru extins și zona de identificare a formatului grupului de cadru extins. Printre aceștia, formatul explicit este un singur identificator de ID independent, în timp ce zona de format a grupului are identificatori de identificare numerotați consecutiv.
4. Analiza mecanismului de arbitraj cu autobuzul Can
Arbitrajul autobuzului, se referă la momentul în care autobuzul are mai mult de un nod în același timp pentru a trimite metode de procesare a protocolului autobuzului de date. Can Bus folosește un mecanism de arbitraj nedistructiv, adică dacă mai mult de un nod în autobuz în același timp pentru a trimite date, cu un câștig de arbitraj cu noduri cu prioritate înaltă, puteți continua să trimiteți date și alte eșecuri de arbitraj Nodul va ieși din starea de trimitere și se va transforma într -un nod primitor, cu alte mecanisme de arbitraj de autobuz (cum ar fi CSMA din LAN). (Comparativ cu alte mecanisme de arbitraj a autobuzului (de exemplu, CSMA/CD din LAN), nu numai că nu va distruge datele trimise, dar nu va provoca întârzierea trimiterii de date, care este unul dintre avantajele autobuzului CAN în comparație cu alte autobuze , și se realizează în principal prin următoarele două caracteristici ale autobuzului CAN: 1) linia și caracteristicile autobuzului CAN, adică atunci când mai mult de un nod din autobuz trimite niveluri dominante și invizibile în același timp, Nivelul autobuzului este nivel dominant. 2) Linia și caracteristica autobuzului CAN, adică, atunci când mai mult de un nod din autobuz trimite niveluri dominante și invizibile în același timp, nivelul autobuzului arată nivelul dominant. 2) Controlerul Can monitorizează starea nivelului autobuzului chiar și în timp ce trimite date, adică, atunci când este în arbitraj, când controlerul trimite un nivel invizibil, dar detectează autobuzul ca nivel vizibil, arbitrajul nodului eșuează și se îndreaptă către nodul receptor.
5. Analiza robustetei autobuzului Can Bus
Robustețea autobuzului CAN este realizată prin detectarea și monitorizarea în timp real a securității pachetelor de nod și autobuz, în plus, CAN Bus are o puternică inhibare a semnalelor de interferență externă prin utilizarea semnalelor diferențiale. Discutat în mod specific mai jos.
5.1 Monitorizarea în timp real a formei de undă a autobuzului
Can Controller nu va monitoriza doar pachetele de date trimise de alte noduri din autobuz tot timpul după alimentat, dar, de asemenea, va monitoriza datele trimise de la sine în procesul de trimitere a pachetelor de date în timp real, odată ce detectarea erorilor în vigoare, Erori de căptușeală, erori CRC, erori de formatare sau erori de răspuns, nodul se va baza pe starea erorii în care este (eroare activată sau stare recunoscută de eroare) pentru a trimite steagul de eroare corespunzător. De fapt, cred că numai site -ul de activare a erorilor trimite logo -ul erorilor de activare (adică 6 biți dominanți consecutivi, urmate de 8 biți recesivi ai personajului de definire a logo -ului de eroare) vor avea un impact asupra autobuzului și a nodurilor din autobuz, în timp ce Nodul din starea de recunoaștere a erorilor trimite logo -ul de recunoaștere a erorilor nu are niciun efect asupra autobuzului (cele 6 niveluri recesive trimise cu starea inactivă a autobuzului este aceeași).
5.2 Monitorizarea în timp real a stării nodului pentru a determina privilegiile nodului
Nodurile își schimbă starea (activată de eroare, recunoscută de erori sau starea de ieșire a autobuzului) în timp real, conform pachetelor trimise în autobuz. Nodurile aflate în stare activată de erori participă în mod normal la comunicarea autobuzelor, iar unitățile recunoscute de erori participă la comunicarea cu autobuzul, dar trebuie să trimită 8 biți impliciti suplimentari înainte de a iniția următoarea trimitere. Pentru pachetele trimise în autobuz, așa cum se arată în tabelul 1, secvența CRC {15- bit implementează monitorizarea bitului de pornire, câmpul de arbitraj, câmpul de control și câmpul de date (dacă există), site -ul de recepție generează secvența CRC a pachetului în conformitate cu același algoritm ca cel al nodului de trimitere atunci când primește datele și le compară cu secvența CRC primită, dacă este diferită, atunci înseamnă că există acolo este o eroare, iar nodul primitor nu va răspunde la nodul primitor nu va răspunde la pachet, iar nodul de trimitere va detecta eroarea de răspuns și va reveni pachetul. În concluzie, Can Bus a obținut securitatea ridicată a datelor și stabilitatea autobuzului prin stratul de legătură de date și stratul fizic.
6. Concluzie
Pe baza specificațiilor protocolului ISO11898, hârtia analizează în detaliu principiul de realizare și baza mecanismului de sincronizare a nodului CAN, mecanismul de adresă a nodului, mecanismul de arbitraj de bus (IE MECANISMUL DE REZOLIȚIE Timpul introduce pe scurt caracteristicile aplicației autobuzului CAN și structura stratificată a sistemului autobuzului atunci când acesta este aplicat la sistemul propriu -zis, ceea ce este foarte important pentru Înțelegerea aprofundată a protocolului CAN Bus și aplicarea autobuzului CAN la sistemul real. Este un ghid pentru înțelegerea protocolului CAN Bus și aplicarea autobuzului CAN pentru proiecte de inginerie specifice, precum și cercetarea sau dezvoltarea sistemelor de autobuze pentru cerințe specifice.




