Witam społeczność,
ciekawi mnie w jaki sposób w CANie została rozwiązana następująca sytuacja: załóżmy, że na początku na całej linii jest cisza (czyli na CANH i CANL jest to samo napięcie 2.5V względem masy), i nagle cała sieć jest uruchamiana, co wiąże się z tym że wiele urządzeń jednocześnie chciałoby coś nadać przez tą sieć. No i tu pojawia się problem, ponieważ mimo istnienia mechanizmu arbitrażu oraz bitów dominujących i recesywnych ustalających priorytet dla urządzenia nadającego ramkę, to jednak wszystkie urządzenia w danej chwili muszą wiedzieć czy mają najwyższy priorytet czy jednak niższy (słowem czy mają siedzieć cicho czy mogą zacząć gadać :)). I tutaj pojawia się moje pytanie: skoro w całej sieci wszystkie urządzenia są równe względem siebie, czyli każde jest Masterem, to w jaki sposób dane urządzenie spośród tysięcy innych na linii określa, że to akurat ono ma największy priorytet w komunikacji i vice versa?
Odpowiedzi (3)
- Sortuj według
- Ostatnio dodane
- Najwyżej ocenione
- Sortuj od najstarszych
-
-
@Szymon028: autor pytania założył w pytaniu sytuację gdzie wszystkie urządzenia są równe wobec siebie. Ale czy tak to w ogóle działa? To nie jest tak, że każde urządzenie będzie miało inną wartość bitową ?
-
@Sebastian Łyźniak: Jeśli instalator nie ustawi priorytetów to urządzenia same je sobie przypiszą co w przypadku krytucznej infrastruktury może być niebezpieczne i wydłużyć czas działania najbardziej kluczowych elementów. W rzeczywistości nie wystąpi sytuacja gdzie duża grupa będzie miała ten sam priorytet.
-
-
Czytaj także:
Jaki przewód do magistrali KNX?
Potrzebuje kabel / przewód magistrali do KNX. Co proponujecie?
Zabezpieczenie dla Łącznik magistrali EtherCat
Dzień dobry. Miałem smutną sytuację- spalilo mi w pracy Łączni
Modbus RS485
jakie jest wasze zdanie w kwestii zakańczania krótkiej magistrali R
Aktualny system normalizacji w Polsce w obszarze elektryk
W środowisku elektryków skupionych w Stowarzyszeniu Elektryków Pols
Domowy system monitoringu krok po kroku
Chcesz samodzielnie uruchomić system monitoringu wizyjnego do użytk
Kabel czy radio?
Czy komunikacja przewodowa jest naprawdę bardziej niezawodna i bezp
Na początku, gdy sieć jest "cicha" (napięcia 2,5V na CANH i CANL — stan "recesywny"), każde urządzenie, które chce nadać, zaczyna wysyłać swoją ramkę.
Każda ramka rozpoczyna się od bitu start of frame (SOF), który jest dominujący (czyli CANH idzie do ok. 3,5V, a CANL do ok. 1,5V). To budzi inne węzły do życia i synchronizuje je.
Wszystkie urządzenia zaczynają równocześnie nadawać swój identyfikator (ID ramki). Kluczowe jest, że transmisja odbywa się bit po bicie, a jeśli któreś urządzenie nada bit recesywny (logiczne 1), ale "usłyszy" na magistrali bit dominujący (logiczne 0), musi natychmiast przestać nadawać.W CAN im niższy numer ID, tym wyższy priorytet ramki.
Najbardziej krytyczne ramki (np. o bezpieczeństwie) mają najniższe ID i zawsze wygrywają.
Urządzenia same deterministycznie ustalają, kto mówi, bez potrzeby centralnego "mastera".