„CAN-busz” változatai közötti eltérés

[nem ellenőrzött változat][ellenőrzött változat]
Tartalom törölve Tartalom hozzáadva
VamosSandor (vitalap | szerkesztései)
Nincs szerkesztési összefoglaló
VamosSandor (vitalap | szerkesztései)
Nincs szerkesztési összefoglaló
59. sor:
 
===Arbitráció===
[[File:CAN arbitration.png|thumb|CAN arbitration]]
 
Ez az eljárás a [[CSMA/CR]] [[közeg-hozzáférési eljárás]] része. Feladata eldönteni, hogy melyik állomás (node) forgalmazhat. Az eljárás akkor élesedik, amikor több állomás nagyjából egyszerre kezd adni. A CSMA/CR egyidejűleg csak egy állomásnak engedi meg a forgalmazást, de ehhez meg kell tudni állapítani, hogy melyiküknek magasabb a prioritása (alacsonyabb az '''Identifier''' értéke). Az Identifier mező hossza normál üzenetkeret esetén 11 bit (2048 lehetséges azonosító kód), kibővített üzenetkeret esetén 29 bit (536 870 912 lehetséges azonosító kód).
 
Az oldalt látható példán 3 egység (node) kezd vetélkedni az adás jogáért. Az '''SOF''' (''start of frame'') után mindhárom egyidejűleg kezdi adni a saját azonosító kódját, és figyelik, hogy mi történik a buszon. Ha bármelyikük 1-t ad, az domináns adásnak számít, azaz elnyomja a többiek recesszív "0" értékét.
 
Először a node 2 hagy fel az adással 5. azonosító bitnél, mert a saját recesszív értékével szemben a buszon egy domináns jelet lát, így innen visszalép, csak hallgatózik a továbbiakban. A node 1 a 2. bit hagyja abba a forgalmazást, mert a buszról visszaolvasott információk szerint a node 3 itt is fel tudta húzni a buszon a jelszintet, azaz magasabb prioritást tudott produkálni. Így végül ebben az esetben a node 3 kapta meg az adás jogát.
 
==Diagnosztika==
A lap eredeti címe: „https://hu.wikipedia.org/wiki/CAN-busz