Can High Speed vs. Can Low Speed – różnice między protokołami

Cześć!

Mam na imię Wojtek i jestem inżynierem od testowania Systemów Wbudowanych.

Zachęcam do kupienia mojego kursu Wszystko o magistrali CAN

O co tu wogóle chodzi?

CAN High-Speed, oraz CAN Low-Speed to dwa standardy CAN.

A to nie jest tak, że różnią się tylko bitrate’y i jeden jest wolniejszy a drugi szybszy?

Nie – różnice między nimi są istotne, ale poza poziomem bitrate’ów dotyczą jedynie warstwy fizycznej.

Co to znaczy?

To znaczy, że same ramki i wszystkie zasady komunikacji wyglądają tak samo. Różnią się jednak poziomy napięć, oraz sposoby terminacji węzłów na magistrali. Dlatego też standardy te nie są ze sobą kompatybilne. Urządzenia dedykowane do pracy z CAN High-Speedem nie powinny pracować na Low-Speedzie i odwrotnie.

Ale w moim samochodzie jest zarówno High-Speed jak i Low Speed

W niektórych pojazdach występują oba te standardy, jednak dwie magistrale różnego typu nie są ze sobą podłączone. Aby zapewnić komunikację pomiędzy magistralami różnych rodzajów, potrzebny jest Gateway.

CAN High Speed i CAN Low Speed Gateway

Ale u mnie na biurku połączyłem sobie dwa urządzenia z różnych standardów i komunikacja działa normalnie

Czasami udaje się skomunikować ze sobą węzły działające na różnych standardach warstwy fizycznej. Czasem podłączając wprost, czasem konieczna jest pewna sztuczka z rezystorami terminującymi. Zależy to głównie od tego jakie w tych urządzeniach zastosowane zostały transceivery. Jednak o ile na biurku lub w garażu można eksperymentować, wykorzystanie takiego połączenia w pojazdach byłoby dużym błędem.

– Zaraz, ale przecież zawsze na CANie są dwa przewody: CAN High i CAN Low, jak to się ma do tych dwóch standardów?

Nijak. Jest to kolizja oznaczeń. Sygnał na magistrali CAN przesyłany jest dwuprzewodowo, symetrycznie. Przewody te (a w zasadzie potencjały) nazywane są odpowiednio: CAN High i CAN Low (zapisywane czasami jako CAN-H i CAN-L, lub CAN-Hi i CAN-Lo). Nazwy te nie mają nic wspólnego z tymi dwoma standardami.

CAN Low Speed CAN High speed and lines CAN-High CAN-Low

Różnice między CAN High Speed i CAN Low Speed

Główne różnice

Różnice między standardami CAN High Speed i CAN Low Speed

Can Low-Speed nazywany jest również Fault Tolerant, ponieważ jest bardziej odporny na błędy warstwy fizycznej. W razie usterki może on pracować na jednym przewodzie sygnałowym, podczas gdy Can High-Speed do poprawnego działania potrzebuje obu linii sygnałowych.

Poziomy napięć

Poziomy napięć na magistrali CAN High Speed i Low Speed

Poziomy napięć różnią się znacznie w tych dwóch standardach. W CAN Low Speed poziom potencjału CAN Low jest przesunięty do góry i jest wyższy niż poziom potencjału CAN High. Zwróć jednak uwagę, że sam kształt tych potencjałów się nie różni: dla zer i jedynek na magistrali, poziomy potencjałów (wysoki, niski) są takie same.

W CAN Low-Speed referencją dla pomiaru poziomu napięcia jest GND – dlatego może on działać bez jednej linii. W CAN High speed napięcie mierzone jest różnicowo; w stanie recesywnym wynosi 0V (ten sam poziom napięcia), w stanie dominującym ok 2V.

Dowiedz się więcej na temat protokołu CAN – kurs video Wszystko o magistrali CAN

Terminacja

CAN High-Speed

Tutaj terminacja jest bardzo prosta: dwa rezystory terminujące 120 Ohm, po jednym na każdym końcu magistrali:

Terminacja na magistrali CAN High Speed

CAN Low-Speed

Tutaj terminacja jest masakrycznie pogmatwana, ponieważ po pierwsze występuje podwójnie na każdym z węzłów w postaci rezystorów terminujących każdą z linii osobno: RTH i RTL.

Terminacja na magistrali CAN low speed rezystancja RTH i RTL

Po drugie wartość tych rezystancji zależy od pozostałych węzłów na magistrali.

Co to znaczy?

Na etapie projektowania sieci należy najpierw przewidzieć liczbę węzłów, które pojawią się na magistrali. Następnie dobiera się wartości poszczególnych rezystancji tak, aby wartość rezystancji zastępczej dla każdego z rezystorów (RTH / RTL) mieściła się w przedziale od 100 do 500 Ohmów, jednak bliżej dolnego limitu tego zakresu.

Rezystancję całkowitą wyznacza się podobnie do rezystancji zastępczej w obwodzie równoległym (dla każdego z potencjałów RTH / RTL z osobna):

Wzór na obliczenie rezystancji całkowitej na magistrali CAN low speed RTH i RTL

No dobrze, ale z tego wynika, że na magistrali w tym standardzie nie mogę sobie ot-tak dołożyć albo usunąć dowolnego węzła z magistrali, bo terminacja może się rozjechać?

Nie możesz XD

To znaczy, pewnie możesz w jakimś zakresie. Jeśli po zabraniu/dołożeniu jakiegoś węzła, dalej jesteś w podanym zakresie rezystancji całkowitej, jest ok.

Topologia sieci

CAN High-Speed

Tutaj sprawa jest prosta: topologia jest zawsze liniowa. To znaczy, że magistrala ma kształt długiej linii, do której dołączane są kolejne węzły, w dowolnym miejscu:

topologia liniowa can bus high speed

CAN Low-Speed

Tutaj mamy więcej możliwości.

Topologia sieci może być liniowa (zauważ brak rezystorów na magistrali):

topologia liniowa can bus low speed

może być również w “gwiazdę”:

topologia w gwiazdę can bus low speed

a także mieszana:

topologia mieszana can bus low speed

Jak połączyć ogień z wodą?

No dobra, to porównanie jest przesadzone. Ale jeśli chcemy np. podsłuchać sieć low-speedową za pomocą interfejsu high-speedowego, musimy zacząć od zdjęcia rezystorów terminujących. Lub po prostu o nie zakładanie ich pomiędzy przewody CAN-High i CAN-Low.

Zdarza się, że taki zabieg wystarczy, by pojawiła się działająca komunikacja.

Jeśli to nie pomoże, jest jeszcze jedna sztuczka, którą można zastosować: pull-down linii CAN-Low, czyli dołożenie rezystancji pomiędzy przewód CAN-Low a GND:

CAN high Speed and CAN low speed compability

Po co taki dziwny zabieg?

Jeśli wrócisz sobie do grafiki z poziomami napięcia, zauważysz, że “ściągnięcie w dół” potencjału CAN-Low przybliży nas do poziomów odpowiednich dla CAN High-Speeda.

Jaka powinna być wartość tej rezystancji?

W moim przypadku zadziałał rezystor 60 Ohm, ale możesz poeksperymentować (najłatwiej za pomocą potencjometeru o zakresie liniowym) i obserwować, kiedy zadziała…. albo nie zadziała, nie ma gwarancji.

Możesz również rzucić okiem na to jak ja to zrobiłem na poniższym nagraniu:


Opublikowano

w

przez

Tagi:

Komentarze

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *