CAN vs. LIN – czym się różnią protokoły samochodowe

Cześć!

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

Właśnie trwa przedsprzeaż mojego kursu Wszystko o magistrali CAN – polecam!

Wprowadzenie

CAN oraz LIN to dwa podobne samochodowe protokoły komunikacyjne. Są jednak między nimi istotne różnice.

CAN vs. LIN
CAN vs. LIN

Porównanie

Tabela

LINCAN
Sygnał elektrycznyPojedynczy przewódPara przewodów
(sygnał różnicowy)
Organizacja komunikacjiMaster – slavesMulti Masters
Bitratedo 20 kb/s
do 1Mb/s
(CAN FD do 10Mb/s)
Masymalna liczba węzłów na magistrali16do 110
Maksymalna długość magistrali
(dla 20 kbit/s)
40m3.3km
NiezawodnośćNiska odporność na zakłóceniaWysoka odporność na zakłócenia
KosztNiskiWysoki

Koszt

Jest to jeden z najbardziej istotnych czynników, zwłaszczy przy produkcji masowej.

LIN jest znacznie tańszym rozwiazaniem. Często jest to kryterium przeważające przy wyborze typu magistrali. Jeśli pozostałe zalety magistrali CAN nie mają większego znaczenia dla działania danego urządzenia, producent najpewniej wybierze LINa.

Warstwa Fizyczna

CAN

CAN jest przesyłany jako sygnał różnicowy. Wymaga podłączenia co najmniej czterech przewodów: CAN-High, CAN-LOW, GND i VCC.

CAN sygnał cyfrowy różnicowy

Napięcia CANa mieszczą się w zakresie TTL: 1.5-2.5V dla CAN-Low oraz 2.5-3.5V dla CAN-High

LIN

Lin jest przesyłany jednym przewodem. Niejednokrotnie spotkałem się z urządzeniami, które miały wiązki jedynie z trzema przewodami: VCC, GND oraz LIN.

ramka LIN

Napięcie sygnału LIN to zakres 0-12V.

Magistrala

LIN

Komunikacja master-slave

Działa na zasadzie Master-Slave. Jedno urządzenie – Master – jest jak nauczyciel, który udziela głosu uczniowi zadając mu konkretnie pytanie. Tylko wtedy urządzenie będące Slavem może nadać swój komunikat. Slave nie może sam z siebie rozpocząć transmisji swojej wiadomości.

W praktyce wygląda to tak, że początek ramki wraz z identyfikatorem wiadomości nadaje Master.

Nagłówek ramki LIN header

Wtedy Slave, do którego należy dane ID ramki kontynuuje nadawanie ramki aż do jej zakończenia:

Nagłówek ramki LIN header
Nagłówek: nadaje Master
Ramka LIN frame response
Dane i reszta ramki: nadaje slave

W Lin-Masterze specjalny moduł nazywany Schedulerem przemiata tablicę z definicjami czasowymi nagłówków nadając je zgodnie z planem:

LIN scheduler

CAN

Multi master communication

CAN działa na zasadzie Multi-Master, analogicznie do partnerów siedzących przy stole.

Nie ma jednego urządzenia nadrzędnego, które sterowałoby komunikacją. Każde urządzenie może nadać swój komunikat przy zachowaniu zasad związanych z arbitracją i priorytetem wiadomości.

Podsumowanie

LIN

Ze względu na swoją specyfikę (niska prędkość transmisji, mniejsza niezawodność, brak możliwości nadania ramki bez zapytania od Mastera) LIN powinien być wykorzystywany do funkcji o niskim wpływie na bezpieczeństwo, takich jak:

  • Sterowanie napędem lusterek zewnętrznych
  • Sterowanie opuszczaniem szyby
  • Czujnik zapięcia pasów
  • Sterowanie ustawieniem fotela kierowcy

CAN

Ze względu na swoją podwyższoną odporność na zakłócenia a także znacznie wyższym bitrate’m, CAN powinien być stosowany do funkcji takich jak:

  • Sterowanie pracą silnika
  • Aktywacja poduszek powietrznych
  • Sterowanie istotnymi urządzeniami wykonawczymi

Więcej informacji na temat magistrali CAN oraz LIN znajdziesz również w moim videoblogu:


Opublikowano

w

przez

Tagi:

Komentarze

Dodaj komentarz

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