Lokalna sieć połączeń międzysieciowych — Local Interconnect Network

LIN ( Local Interconnect Network ) to szeregowy protokół sieciowy używany do komunikacji między komponentami w pojazdach. Jest to protokół sieciowy z pojedynczym przewodem, który obsługuje komunikację z prędkością do 19,2 Kbit/s przy długości magistrali 40 metrów. Potrzeba taniej sieci szeregowej pojawiła się wraz z rozwojem technologii i udogodnień zaimplementowanych w samochodzie, podczas gdy magistrala CAN była zbyt droga do wdrożenia dla każdego podzespołu w samochodzie. Europejscy producenci samochodów zaczęli stosować różne technologie komunikacji szeregowej, co doprowadziło do problemów z kompatybilnością.

Pod koniec lat 90. konsorcjum LIN zostało założone przez pięciu producentów samochodów ( BMW , Volkswagen Group , Audi , Volvo Cars , Mercedes-Benz ), korzystając z technologii dostarczonych przez Volcano Automotive Group i Motorola . Pierwsza w pełni zaimplementowana wersja nowej specyfikacji LIN (wersja LIN 1.3) została opublikowana w listopadzie 2002 r. We wrześniu 2003 r. wprowadzono wersję 2.0 w celu rozszerzenia możliwości i uwzględnienia dodatkowych funkcji diagnostycznych. LIN może być również używany przez linię zasilania akumulatora pojazdu za pomocą specjalnego urządzenia nadawczo-odbiorczego LIN over DC (DC-LIN).

LIN over DC power line (DC-LIN) został znormalizowany jako ISO/AWI 17987-8.

CAN in Automation został wyznaczony przez Zarząd Techniczny ISO (TMB) jako Urząd Rejestracji dla identyfikatora dostawcy LIN znormalizowanego w serii ISO 17987.

Topologia sieci

LIN to rozgłoszeniowa sieć szeregowa składająca się z 16 węzłów (jeden nadrzędny i zazwyczaj do 15 podrzędnych).

Wszystkie wiadomości są inicjowane przez urządzenie nadrzędne, przy czym co najwyżej jeden podrzędny odpowiada na dany identyfikator wiadomości. Węzeł nadrzędny może również działać jako podrzędny, odpowiadając na własne wiadomości. Ponieważ cała komunikacja jest inicjowana przez urządzenie nadrzędne, nie ma potrzeby stosowania wykrywania kolizji .

Master i slave są zazwyczaj mikrokontrolerami , ale mogą być zaimplementowane w specjalistycznym sprzęcie lub ASIC w celu zaoszczędzenia kosztów, miejsca lub mocy.

Obecne zastosowania łączą niskie koszty LIN i proste czujniki w celu tworzenia małych sieci. Te podsystemy mogą być połączone siecią szkieletową (tj. CAN w samochodach).

Przegląd

Magistrala LIN jest tanim protokołem komunikacji szeregowej, który skutecznie obsługuje zdalną aplikację w sieci samochodowej. Jest szczególnie przeznaczony do węzłów mechatronicznych w rozproszonych aplikacjach motoryzacyjnych, ale jest równie odpowiedni do zastosowań przemysłowych. Ma on na celu uzupełnienie istniejącej sieci CAN prowadzącej do sieci hierarchicznych w samochodach.

Pod koniec lat 90. konsorcjum Local Interconnect Network (LIN) zostało założone przez pięciu europejskich producentów samochodów, Mentor Graphics (dawniej Volcano Automotive Group) i Freescale (dawniej Motorola , obecnie NXP ). Pierwsza w pełni zaimplementowana wersja nowej specyfikacji LIN została opublikowana w listopadzie 2002 roku jako LIN wersja 1.3. We wrześniu 2003 r. wprowadzono wersję 2.0 w celu rozszerzenia możliwości konfiguracyjnych i wprowadzenia istotnych dodatkowych funkcji diagnostycznych i interfejsów narzędzi.

Poniżej wymieniono główne cechy protokołu:

  • Pojedynczy master, do 16 slaveów (tzn. bez arbitrażu magistrali). Jest to wartość zalecana przez Konsorcjum LIN w celu uzyskania deterministycznej odpowiedzi czasowej.
    • Detekcja pozycji węzła podrzędnego (SNPD) umożliwia przypisanie adresu węzła po włączeniu zasilania
  • Komunikacja jednoprzewodowa do 19,2 kbit/s przy długości magistrali 40 metrów . W specyfikacji LIN 2.2 prędkość do 20 kbit/s.
  • Gwarantowane czasy opóźnień.
  • Zmienna długość ramki danych (2, 4 i 8 bajtów).
  • Elastyczność konfiguracji.
  • Odbiór multicast z synchronizacją czasu, bez kryształów i rezonatorów ceramicznych .
  • Suma kontrolna danych i wykrywanie błędów.
  • Wykrywanie wadliwych węzłów.
  • Niskokosztowa implementacja krzemowa oparta na standardowym sprzęcie UART / SCI .
  • Włącznik dla sieci hierarchicznych.
  • Napięcie robocze 12 V.

Dane są przesyłane przez magistralę w postaci wiadomości o stałej formie o wybieralnej długości. Zadanie główne przesyła nagłówek, który składa się z sygnału przerwania, po którym następują pola synchronizacji i identyfikatora. Urządzenia podrzędne odpowiadają ramką danych, która składa się z 2, 4 i 8 bajtów danych plus 3 bajty informacji sterujących.

Ramka komunikatu LIN

Wiadomość zawiera następujące pola:

  • Przerwa synchronizacji
  • Bajt synchronizacji
  • Bajt identyfikatora
  • Bajty danych
  • Bajt sumy kontrolnej

Rodzaje ramek

  1. Bezwarunkowa rama. Te zawsze przenoszą sygnały, a ich identyfikatory mieszczą się w zakresie od 0 do 59 (0x00 do 0x3b). Wszyscy abonenci ramki bezwarunkowej otrzymają ramkę i udostępnią ją aplikacji (przy założeniu, że nie zostały wykryte żadne błędy).
  2. Ramka wyzwalana zdarzeniem. Ma to na celu zwiększenie reaktywności klastra LIN bez przypisywania zbyt dużej przepustowości magistrali do odpytywania wielu węzłów podrzędnych z rzadkimi zdarzeniami. Pierwszy bajt danych przenoszonej ramki bezwarunkowej będzie równy chronionemu identyfikatorowi przypisanemu do ramki wyzwalanej zdarzeniem. Urządzenie podrzędne będzie odpowiadać skojarzoną bezwarunkową ramką tylko wtedy, gdy zmieniła się wartość jego danych. Jeżeli żadne z zadań podrzędnych nie odpowiada na nagłówek, reszta szczeliny ramki jest cicha i nagłówek jest ignorowany. Jeśli więcej niż jedno zadanie podrzędne odpowiada na nagłówek w tej samej szczelinie ramki, wystąpi kolizja i urządzenie nadrzędne musi rozwiązać kolizję przez żądanie wszystkich powiązanych ramek bezwarunkowych przed ponownym żądaniem ramki wyzwolonej zdarzeniem.
  3. Sporadyczna rama. Ta ramka jest przesyłana przez urządzenie nadrzędne zgodnie z wymaganiami, więc kolizja nie może wystąpić. Nagłówek sporadycznych ramek powinien być wysłany w powiązanej z nim szczelinie ramki tylko wtedy, gdy zadanie główne wie, że sygnał przenoszony w ramce został zaktualizowany. Wydawca sporadycznych ramek zawsze dostarcza odpowiedź na nagłówek.
  4. Ramka diagnostyczna. Zawierają one zawsze dane diagnostyczne lub konfiguracyjne i zawsze zawierają osiem bajtów danych. Identyfikator to albo 60 (0x3C), zwany ramką żądania master, lub 61 (0x3D), zwany ramką odpowiedzi urządzenia slave. Przed wygenerowaniem nagłówka ramki diagnostycznej, zadanie główne pyta swój moduł diagnostyczny, czy ma zostać wysłany, czy magistrala ma być wyciszona. Zadania podrzędne publikują i subskrybują odpowiedź zgodnie z ich modułem diagnostycznym.
  5. Ramka zdefiniowana przez użytkownika. Mogą one zawierać wszelkiego rodzaju informacje. Ich identyfikator to 62 (0x3E). Nagłówek ramki zdefiniowanej przez użytkownika jest zawsze przesyłany, gdy przetwarzany jest przedział ramki przydzielony do ramki
  6. Zarezerwowana rama. Nie należy ich używać w klastrze LIN 2.0. Ich identyfikator to 63 (0x3F).

Sprzęt LIN

Specyfikacja LIN została zaprojektowana, aby umożliwić korzystanie z bardzo tanich węzłów sprzętowych w sieci. Jest to niedroga sieć jednoprzewodowa oparta na normie ISO 9141 . W dzisiejszych topologiach sieci samochodowych używa się mikrokontrolerów z obsługą UART lub dedykowanego sprzętu LIN. Mikrokontroler generuje wszystkie potrzebne dane LIN (protokół...) (częściowo) przez oprogramowanie i jest podłączony do sieci LIN za pośrednictwem transceivera LIN (w skrócie: przerzutnika poziomu z kilkoma dodatkami). Praca jako węzeł LIN to tylko część możliwej funkcjonalności. Sprzęt LIN może zawierać ten nadajnik-odbiornik i działa jako czysty węzeł LIN bez dodatkowej funkcjonalności.

Ponieważ węzły LIN Slave powinny być jak najtańsze, mogą generować swoje wewnętrzne zegary za pomocą oscylatorów RC zamiast oscylatorów kryształowych (kwarcowych lub ceramicznych). Aby zapewnić stabilność szybkości transmisji w jednej ramce LIN, używane jest pole SYNC w nagłówku.

Protokół LIN

LIN-Master wykorzystuje jedną lub więcej predefiniowanych tabel harmonogramowania, aby rozpocząć wysyłanie i odbieranie do magistrali LIN. Te tabele planowania zawierają co najmniej względny czas, w którym rozpoczyna się wysyłanie wiadomości. Jedna ramka LIN składa się z dwóch części nagłówka i odpowiedzi . Nagłówek jest zawsze wysyłany przez mastera LIN, natomiast odpowiedź wysyła albo jeden dedykowany LIN-Slave lub sam master LIN.

Przesyłane dane w sieci LIN są przesyłane szeregowo jako ośmiobitowe bajty danych z jednym bitem startu, jednym bitem stopu i brakiem parzystości (pole break nie ma bitu startu i bitu stopu). Szybkości transmisji wahają się w zakresie od 1  kbit/s do 20 kbit/s. Dane na magistrali dzielą się na recesywne (logiczne WYSOKIE) i dominujące (logiczne NISKI). Czas normalny jest uważany za stabilne źródło zegara LIN Masters, najmniejszą jednostką jest czas jednego bitu (52 µs @ 19,2 kbit/s).

W protokole LIN używane są dwa stany magistrali — tryb uśpienia i aktywny. Gdy dane są w magistrali, wszystkie węzły LIN muszą być w stanie aktywnym. Po określonym czasie węzły przechodzą w tryb uśpienia i zostaną zwolnione z powrotem do stanu aktywnego przez ramkę WAKEUP. Ramka ta może być wysłana przez dowolny węzeł żądający aktywności na magistrali, albo przez urządzenie nadrzędne LIN zgodnie z jego wewnętrznym harmonogramem, albo przez jedno z dołączonych urządzeń podrzędnych LIN aktywowanych przez jego wewnętrzną aplikację programową. Po przebudzeniu wszystkich węzłów, Master kontynuuje planowanie kolejnego Identyfikatora.

nagłówek

Nagłówek składa się z pięciu części:

BREAK: Pole BREAK służy do aktywacji wszystkich podłączonych urządzeń podrzędnych LIN w celu nasłuchiwania następujących części nagłówka. Składa się z jednego bitu startowego i kilku bitów dominujących. Długość jest co najmniej 11-bitowa; standardowe użycie na dzień dzisiejszy to czasy 13-bitowe i dlatego różni się od podstawowego formatu danych. Służy to zapewnieniu, że nasłuchujące węzły LIN z zegarem głównym różniącym się od ustawionej szybkości transmisji magistrali w określonych zakresach wykryją BREAK jako ramkę rozpoczynającą komunikację, a nie jako standardowy bajt danych ze wszystkimi wartościami zero ( szesnastkowo 0x00).

SYNC: SYNC to standardowy bajt formatu danych o wartości szesnastkowej 0x55. Urządzenia podrzędne LIN działające na oscylatorze RC wykorzystają odległość między ustaloną ilością zboczy narastających i opadających do pomiaru bieżącego czasu bitowego na magistrali (normalny czas mastera) i do ponownego obliczenia wewnętrznej szybkości transmisji.

INTER BYTE SPACE: Inter Byte Space służy do regulacji jittera szyny. Jest to składnik opcjonalny w specyfikacji LIN. Jeśli ta opcja jest włączona, wszystkie węzły LIN muszą być przygotowane do radzenia sobie z tym problemem.

Między polami BREAK i SYNC znajduje się przestrzeń między bajtami, jedna między polami SYNC i IDENTIFIER, jedna między ładunkiem a sumą kontrolną i jedna między każdym bajtem danych w ładunku.

IDENTYFIKATOR: IDENTYFIKATOR definiuje jedno działanie, które ma zostać wykonane przez jeden lub kilka dołączonych węzłów podrzędnych LIN. Projektant sieci musi zapewnić bezawaryjną funkcjonalność w fazie projektowania (jeden slave może wysyłać dane do magistrali w jednej ramce).

Jeśli identyfikator powoduje wysłanie odpowiedzi przez jedno fizyczne urządzenie podrzędne LIN, identyfikator może być nazwany identyfikatorem Rx. Jeśli zadanie slave mastera wysyła dane do magistrali, może to być nazwane identyfikatorem Tx.

PRZESTRZEŃ ODPOWIEDZI: Przestrzeń na odpowiedź to czas między polem IDENTYFIKATOR a pierwszym bajtem danych, który rozpoczyna część ODPOWIEDZI LIN ramki LIN. Gdy określona ramka LIN jest przesyłana w całości, nagłówek + odpowiedź, przez LIN MASTER, LIN MASTER wykorzysta pełną PRZESTRZEŃ ODPOWIEDZI do obliczenia, kiedy wysłać odpowiedź po wysłaniu nagłówka. Jeśli część odpowiedzi ramki LIN pochodzi z fizycznie innego węzła SLAVE, to każdy węzeł (nadrzędny i podrzędny) wykorzysta 50% czasu Przestrzeni Odpowiedzi w swoich obliczeniach limitu czasu.

Odpowiedź

Odpowiedź jest wysyłana przez jedno z dołączonych zadań podrzędnych LIN i jest podzielona na dane i sumę kontrolną .

DATA: Odpowiadający slave może wysłać do magistrali od zera do ośmiu bajtów danych. Ilość danych jest ustalana przez projektanta aplikacji i odzwierciedla dane istotne dla aplikacji, w której działa urządzenie podrzędne LIN.

SUMA KONTROLNA: W LIN dostępne są dwa modele sum kontrolnych - pierwszy to suma kontrolna zawierająca tylko bajty danych (specyfikacja do wersji 1.3), drugi zawiera dodatkowo identyfikator (wersja 2.0+). Używany model sumy kontrolnej jest wstępnie zdefiniowany przez projektanta aplikacji.

Wykrywanie pozycji węzła podrzędnego (SNPD) lub automatyczne adresowanie

Metody te umożliwiają wykrywanie położenia węzłów podrzędnych na magistrali LIN i umożliwiają przypisanie unikalnego adresu węzła (NAD).

  • Umożliwia podłączenie podobnych lub tych samych urządzeń do magistrali bez programowania końca linii lub programowania pinów złącza.

Ograniczenia:

  • Wszystkie urządzenia podrzędne z automatycznym adresowaniem muszą znajdować się w jednej linii
    • Standardowe urządzenia podrzędne można podłączyć w dowolny sposób
Metoda SNPD Identyfikator metody SNPD Spółka
Dodatkowy łańcuch z drutu 0x01 NXP (dawniej Philips)
Metoda bocznikowania autobusu 0x02 Półprzewodnik Elmosa
Skryty 0x03 TBD
Skryty 0x04 TBD
Skryty 0xFF TBD

Dodatkowy łańcuch z drutu (XWDC)

Każdy węzeł podrzędny musi zapewnić dwa dodatkowe piny, jedno wejście D 1 i jedno wyjście D 2 .

  • Wejście D1 pierwszego węzła SNPD jest albo ustawione na GND, albo podłączone do wyjścia urządzenia nadrzędnego.
    • Wyjście pierwszego węzła, D 2 , jest połączone z wejściem D 1 drugiego węzła, i tak dalej, w wyniku czego powstaje łańcuch.

Każdy pin konfiguracyjny D x (x=1-2) ma dodatkowe obwody pomagające w wykrywaniu położenia.

  1. Przełączane podciąganie rezystancyjne do V bat
  2. Rozwiń do GND
  3. Komparator odniesiony do V bat /2

Procedura automatycznego adresowania XWDC

Na początku procedury żadne urządzenia SNPD nie mają przypisanego NAD

1 Pierwszy autoadresowany komunikat LIN

1.1 Wszystkie wyjścia (D 2 ) są ustawione na wysoki poziom, wszystkie pull-downs są wyłączone
1.2 Wybierany jest pierwszy węzeł SNPD. Identyfikuje się go, gdy wejście D 1 jest w stanie niskim (okablowane).
1.3 Wybrany węzeł pobiera adres z wiadomości konfiguracyjnej LIN
1.4 Wykryty węzeł włącza pull-down na wyjściu D 2

2 Kolejne automatyczne adresowanie komunikatów LIN

2.1 Wybierany jest pierwszy nieadresowany węzeł SNPD. Jest on identyfikowany poprzez wejścia D 1 niski (D 2 poprzedniego węzła).
2.2 Wybrany węzeł pobiera adres z wiadomości konfiguracyjnej LIN
2.3 Wykryty węzeł włącza pull-down na wyjściu D 2
2.4 Kroki 2.1-2.4 są powtarzane, aż wszystkie węzły podrzędne otrzymają adres

3 Wszystkie podciągania i opuszczania są wyłączone, kończąc procedurę adresowania

Metoda bocznikowania magistrali (BSM)

Każdy węzeł podrzędny ma dwa piny LIN

  1. autobus_w
  2. bus_out

Każdy węzeł podrzędny wymaga dodatkowych obwodów w porównaniu ze standardowym obwodem LIN, aby pomóc w wykrywaniu pozycji.

  1. Standardowe podciąganie musi być przełączalne
  2. Przełączalne źródło prądu 2 mA z V bat
  3. Rezystor bocznikowy
  4. Wzmacniacz różnicowy
  5. Analogowy do cyfrowego konwertera

Procedura automatycznego adresowania BSM

Na początku procedury żadne z urządzeń SNPD nie ma przypisanego NAD. Procedura automatycznego adresowania jest wykonywana podczas pola synchronizacji. Pole synchronizacji jest podzielone na trzy fazy:

1 pomiar prądu przesunięcia

1.1 Wszystkie wyjścia podciągające i źródła prądowe są wyłączone
1.2 Prąd magistrali jest mierzony, I offset

2 tryb podciągania

2.1 Podciąganie jest włączone, a źródła prądu pozostają wyłączone
2.2 Mierzony jest prąd magistrali, I PU
2.3 Węzły z ΔI = I PU - I offset < 1 mA są „wybrane”

3 Bieżący tryb źródła

3.1 Wybrane węzły włączają źródło prądu, a inne wyłączają podciąganie
3.2 Mierzony jest prąd magistrali, I CS
3.3 Węzeł z ΔI = I CS - I offset < 1 mA jest wykrywany jako ostatni węzeł
3.4 Źródła prądu są wyłączone, a podciąganie włączone
3.5 Ostatni węzeł zaakceptuje adres zawarty w komunikacie konfiguracyjnym LIN

Ta technika jest objęta patentami EP 1490772 B1 i US 7091876.

Zalety LIN

  • Łatwy w użyciu
  • Dostępne komponenty
  • Tańsze niż CAN i inne magistrale komunikacyjne
  • Redukcja uprzęży
  • Bardziej niezawodne pojazdy
  • Rozszerzenie łatwe do wdrożenia.
  • Nie jest wymagana opłata licencyjna za protokół

LIN nie jest pełnym zamiennikiem magistrali CAN. Ale magistrala LIN jest dobrą alternatywą wszędzie tam, gdzie istotne są niskie koszty, a prędkość/przepustowość nie ma znaczenia. Zazwyczaj jest używany w podsystemach, które nie są krytyczne dla osiągów lub bezpieczeństwa pojazdu – niektóre przykłady podano poniżej.

Aplikacje

Segmenty aplikacji Przykłady konkretnych zastosowań LIN
Dach Czujnik, czujnik światła, kontrola światła, dach słoneczny
Kierownica Tempomat, wycieraczka, kierunkowskaz, klimatyzacja, radio, blokada kół
Siedzenie Silniki pozycji siedzenia, czujniki pasażerów, panel sterowania
Silnik Czujniki, małe silniki, silniki wentylatorów chłodzących
Krata Kratka żaluzji
Klimat Małe silniki, panel sterowania
Drzwi Lusterko, centralny ECU, przełącznik lusterek, podnośnik szyby, przełącznik sterowania siedzeniem, zamek drzwi
Oświetlenie Ulepszenie wykończenia pojazdu, listwy progowe podświetlane diodami LED RGB

Adresowanie

Adresowanie w LIN uzyskuje się za pomocą NAD (adres węzła), który jest częścią PID (chronionego identyfikatora). Wartości NAD są na 7 bitach, a więc mieszczą się w zakresie od 1 do 127 (0x7F) i jest to kompozycja identyfikatora dostawcy, identyfikatora funkcji i identyfikatora wariantu.

Identyfikator dostawcy można uzyskać kontaktując się z CAN in Automation, który jest organem odpowiedzialnym za przydzielanie takich identyfikatorów.

Narzędzia programistyczne

Podczas opracowywania i/lub rozwiązywania problemów z magistralą LIN badanie sygnałów sprzętowych może być bardzo ważne. Analizatory stanów logicznych i analizatory magistrali to narzędzia, które zbierają, analizują, dekodują i przechowują sygnały, dzięki czemu ludzie mogą oglądać szybkie przebiegi w wolnym czasie.

Zobacz też

Bibliografia

Zewnętrzne linki