slawek7 Napisano Kwiecień 8, 2016 Udostępnij Napisano Kwiecień 8, 2016 cześć. Mam krótkie pytanie. Czy na szynie CAN mogą jednocześnie pracować urządzenie o np dwóch rożnych prędkościach? dla przykładu urządzania A i B komunikują sie z prędkością 125kps a urządzenia C i D z prędkością 500kps? Nie wiem czy standard w ogóle dopuszcza coś takiego. No nie mogę tego znaleźć w żadnym opisie.
marek1707 Kwiecień 8, 2016 Udostępnij Kwiecień 8, 2016 To znajdź rozdział o sposobie arbitrażu dostępu do medium i wyciągnij z niego wnioski. Inne prędkości transmisji będą skutkować niepoprawnym arbitrażem (priorytetami niezgodnymi z adresami węzłów), całą masą błędów w węzłach nasłuchujących oraz być może próbami nadawania tzw. error frame co jeszcze pogorszy sprawę. A poza tym, po co w ogóle o tym myślisz? Możesz przecież podłączyć węzeł do magistrali i użyć trybu autobaud (z zablokowanym nadajnikiem) by "wstrzelić" się za którymś razem w prawidłową prędkość. Zwykle do wyboru jest tylko kilka (np. 125, 250 i 500k) więc chyba nie jest to jakiś wielki problem.
slawek7 Kwiecień 8, 2016 Autor tematu Udostępnij Kwiecień 8, 2016 O autobaud nie wiedziałem ze mozna. Możesz jak z tego skorzystać? Da sie na stm32? Podpiołem sie pod taka szynę ktora jest can i nie moge uzyskac stabilnych dlugosci bitow. Pomyslam ze moze w tym ukladzie sa razne predkosci. Tak przy najmniej wychodzi jak podłącze po analizator stanow logicznych
marek1707 Kwiecień 8, 2016 Udostępnij Kwiecień 8, 2016 Posłużę się cytatem z odpowiedniego Reference Manual: 31.5.1 Silent modeThe bxCAN can be put in Silent mode by setting the SILM bit in the CAN_BTR register. In Silent mode, the bxCAN is able to receive valid data frames and valid remote frames, but it sends only recessive bits on the CAN bus and it cannot start a transmission. If the bxCAN has to send a dominant bit (ACK bit, overload flag, active error flag), the bit is rerouted internally so that the CAN Core monitors this dominant bit, although the CAN bus may remain in recessive state. Silent mode can be used to analyze the traffic on a CAN bus without affecting it by the transmission of dominant bits (Acknowledge Bits, Error Frames). W tym trybie możesz wielokrotnie resetować i przestawiać swój interfejs CAN na różne prędkości aż do uzyskania odbioru prawidłowych komunikatów. Analizator stanów logicznych nie jest narzędziem do podglądania takich magistral jak CAN. Przecież obie linie - gdy są nieużywane - "parkują" się pasywnie na 2.5V - co wtedy pokazuje Twój sprzęt? Albo zrób sobie normalny odbiornik różnicowy zgodny ze standardem albo chociaż podepnij dwa kanały oscyloskopu i odejmuj wbudowaną matematyką by uzyskać jednoznaczny sygnał.
slawek7 Kwiecień 8, 2016 Autor tematu Udostępnij Kwiecień 8, 2016 Do magistali mialem podpięty mcp2551 a analizator to sluzym mi tylko do wyznaczenia predkosci transmisji a nie do badania protokołów. To byłby horror tak sobie analizowac
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »