Problematyka sieci miejscowej LIN Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska 1.08.07 Zygmunt Kubiak 1
Wprowadzenie Przykładowe rozwiązanie sieci LIN Podsumowanie 1.08.07 Zygmunt Kubiak 2
Wprowadzenie LIN (ang. Local Interconnect Network) standard szeregowej transmisji danych na bliskie odległości, przeznaczona do stosowania w systemach elektroniki samochodowej. Pierwsza wersja LIN powstała w 1999 roku a ostatnia LIN 2.1 w 2006 roku. Udział w opracowaniu specyfikacji: Audi, BMW, Daimler Chysler, Motorola, Volcano Communications Technologies, Volkswagen oraz Volvo. Lista firm tworząca LIN Consortium, tzn. Organizację powołaną do zarządzania standardem jest znacznie szersza. 1.08.07 Zygmunt Kubiak 3
Układ sterowania magistralą LIN Dostęp do magistrali asymetryczny z jednym przewodem sygnałowym. Wyjście realizacja iloczynu na drucie. Napięcie zasilania VBAT = 8-18V. 1.08.07 Zygmunt Kubiak 4
Układ sterowania magistralą LIN Sygnały na magistrali: recesywny dla Tx = 0, dominujący dla Tx =1. 1.08.07 Zygmunt Kubiak 5
Układ sterowania magistralą LIN Prędkość transmisji 1 20 kb/s. Zasięg do 40m. 1.08.07 Zygmunt Kubiak 6
Poziomy sygnałów na magistrali LIN 1.08.07 Zygmunt Kubiak 7
Topologia sieci LIN Metoda dostępu węzłów do magistrali - Master-Slave Wszystkie węzły sieci tworzą tzw. klaster Wszystkie węzły sieci LIN obsługują zadanie Slave Węzeł nadrzędny zarządza siecią za pomocą zadania Master 1.08.07 Zygmunt Kubiak 8
Ramka wiadomości sieci LIN Nagłówek generuje zawsze węzeł Master Drugą część ramki (odpowiedź) węzeł Master lub jeden z węzłów Slave 1.08.07 Zygmunt Kubiak 9
Standard LIN definiuje trzy rodzaje ramek: ramka bezwarunkowa (unconditional frame), przeznaczona do cyklicznej transmisji sygnałów, które są rejestrowane przez zainteresowane węzły; ramka wyzwalana zdarzeniem (event triggered frame), przeznaczona dla rzadko transmitowanych informacji; w tym przypadku jeżeli zdarzenie nie wystąpiło to również nie pojawi się odpowiedź na wysłany nagłówek; ramka sporadyczna (sporadic frame), wysyłana jest zawsze w szczelinie, przewidzianej w harmonogramie dla tego rodzaju ramek, gdy uaktualniona zostanie wartość sygnału zdefiniowanego dla tej ramki. 1.08.07 Zygmunt Kubiak 10
Zadanie Master Jeżeli jest spełniony warunek transmisji lub ma być wysłana ramka bezwarunkowa i wykryty zostanie odstęp między ramkami (zakończone zadanie Slave) to następuje wysłanie nagłówka (pola przerwy, dalej pola synchronizacji oraz pola identyfikatora) i zadanie Master ponownie przechodzi do stanu oczekiwania na spełnienie kolejnego warunku transmisji. 1.08.07 Zygmunt Kubiak 11
Zadanie Slave 1.08.07 Zygmunt Kubiak 12
Bajt pola synchronizacji Ramki transmitowane są znakowo, w formacie 8N1 bit startu, 8 bitów danych bez bitu parzystości oraz bit stopu. Wyjątek stanowi pole przerwy, które składa się z 13 bitów dominujących oraz 1..4 bitów recesywnych, stanowiących ogranicznik pola. Pole synchronizacji jest bajtem o wartości 0x55. Wszystkie pięć opadających zboczy (przejście ze stanu recesywnego do dominującego) tego pola wykorzystanych jest do synchronizacji węzłów sieci. Pole synchronizacji wykorzystywane też do automatycznego ustawiania prędkości transmisji. 1.08.07 Zygmunt Kubiak 13
Bajt pola identyfikatora Kolejnym polem nagłówka jest identyfikator. Składa się z 6 bitów określających identyfikator wiadomości oraz dwóch bitów kontrolnych. Są one wyznaczane następująco: P0 = ID0 ID1 ID2 ID4, P1 = (ID1 ID3 ID4 ID5). 1.08.07 Zygmunt Kubiak 14
Bajt pola identyfikatora We wcześniejszych wersjach standardu dwa ostatnie bity identyfikatora określały długość danych. Od wersji 2.0 przyjęto, że długość danych powiązana jest z identyfikatorem wiadomości. Identyfikator może przyjmować wartości od 0x00 do 0x3f. Ostatnie cztery kody zarezerwowane są dla ramek specjalnych. 1.08.07 Zygmunt Kubiak 15
Odpowiedź Odpowiedź stanowiąca drugą część ramki wiadomości może zawierać jeden do ośmiu bajtów, przesyłane od najmłodszego bitu. Ostatnim bajtem odpowiedzi jest suma kontrolna. Jest to zanegowana suma bajtów danych (modulo 256) z uwzględnieniem przeniesienia. Od wersji 2.0 sumę kontrolną opcjonalnie rozszerzono o pole identyfikatora. 1.08.07 Zygmunt Kubiak 16
Typy wymiany danych w sieci LIN 1.08.07 Zygmunt Kubiak 17
Typy wymiany danych w sieci LIN 1.08.07 Zygmunt Kubiak 18
Typy wymiany danych w sieci LIN 1.08.07 Zygmunt Kubiak 19
Przykładowe scenariusze wymiany wiadomości; a) ze stałą tablicą, b) z wieloma tablicami wymiany Wszystkie węzły Slave, ze względu na zmniejszony pobór mocy, mogą być wprowadzone przez węzeł Master w stan uśpienia przy pomocy ramki o identyfikatorze 0x3C lub autonomicznie po stwierdzeniu na magistrali braku aktywności przez 4 s. Sygnałem budzenia jest pojawienie się na magistrali sygnału dominującego, trwającego od 250 s do 5 ms. 1.08.07 Zygmunt Kubiak 20
Węzeł sieci LIN Przykładowe rozwiązanie sieci LIN Mikrokontroler C8051F530 (f. Silicon Laboratories) - wyposażony między innymi w port transmisji szeregowej w standardzie LIN w wersji 2.0. Jest to szybki układ (25 MIPS), dysponujący pamięcią Flash 8 kb oraz RAM 265 B z elastyczną matrycą wyjść/wejść, obsługującą wejścia i wyjścia cyfrowe jak i analogowe 1.08.07 Zygmunt Kubiak 21
Węzeł sieci LIN Przykładowe rozwiązanie sieci LIN Moduł zawiera również odrębny sterownik magistrali LIN wykorzystujący prosty układ interfejsu TH8080 firmy Melexis [8], zasilany z zewnętrznego napięcia +12 V. 1.08.07 Zygmunt Kubiak 22
Przykładowe rozwiązanie sieci LIN Mikrokontroler C8051F530 umożliwia wybór trybu Master lub Slave. Zapewnia poprawną synchronizację transmisji bez rezonatorów kwarcowych lub ceramicznych. Ta uwaga dotyczy nie tylko węzłów Slave co jest wymogiem specyfikacji LIN ale również węzła Master. Zastosowane rozwiązanie oscylatora wewnętrznego zapewnia ograniczenie zmiany częstotliwości do 0,5% w dopuszczalnym zakresie napięcia zasilania i temperatury. Umożliwia pełną konfigurację parametrów nadawczo-odbiorczych poprzez specjalne rejestry. Obsługa sieci LIN wymaga zastosowania zegara systemowego (SYSCLK) o częstotliwości minimum 8 MHz. 1.08.07 Zygmunt Kubiak 23
Przykładowe rozwiązanie sieci LIN Układy mikrokontrolera C8051F530 wspierające standard LIN Układy wspierające LIN można podzielić na cztery grupy rejestry interfejsu LIN zapewniają powiązanie między rdzeniem mikrokontrolera a peryferiami; 1.08.07 Zygmunt Kubiak 24
Przykładowe rozwiązanie sieci LIN Układy mikrokontrolera C8051F530 wspierające standard LIN Układy wspierające LIN można podzielić na cztery grupy bufor danych rejestry w których umieszczane są bajty danych odbierane i do wysłania; 1.08.07 Zygmunt Kubiak 25
Przykładowe rozwiązanie sieci LIN Układy mikrokontrolera C8051F530 wspierające standard LIN Układy wspierające LIN można podzielić na cztery grupy blok rejestrów rejestry wykorzystywane do sterowania pracą interfejsu; 1.08.07 Zygmunt Kubiak 26
Przykładowe rozwiązanie sieci LIN Układy mikrokontrolera C8051F530 wspierające standard LIN Układy wspierające LIN można podzielić na cztery grupy układ sterowania sprzętowe rozwiązanie transmisji szeregowej wiadomości oraz kontrola zależności czasowych transmisji. 1.08.07 Zygmunt Kubiak 27
Podsumowanie Z punktu widzenia dydaktyki, sieć LIN jest interesującym rozwiązaniem technicznym. Stanowi stosunkowo prosty system a przy tym obejmuje wiele istotnych zagadnień transmisyjnych. Występują tu uniwersalne problemy jak tworzenie lub dekodowanie ramki, zabezpieczenie ramki, obsługa błędów, harmonogram transmisji, ale również zagadnienia niekonwencjonalne jak sposób organizacji transmisji czy też rozwiązanie synchronizacji bitowej (częściowo wzorowane na sieci CAN), które pozwala w transmisji asynchronicznej na rezygnację z precyzyjnych, stabilnych w czasie i temperaturze rezonatorów kwarcowych. 1.08.07 Zygmunt Kubiak 28
Podsumowanie Przedstawione elastyczność. rozwiązanie sprzętowe zapewnia dużą Pozwala na znaczną ingerencję w protokół LIN jak definiowanie wiadomości, obsługa błędów, tworzenie różnych harmonogramów, monitorowanie sieci LIN. W przypadku rezygnacji ze wsparcia sprzętowego mikrokontrolera C8051F530 można eksperymentować z pełną obsługą programową warstwy łącza danych. Dwa prawie całkowicie dostępne porty mikrokontrolera można wyposażyć w proste układy we/wy jak klawisze, diody LED, wyświetlacze, sensory, uzyskując w ten sposób w pełni funkcjonalny węzeł sieci miejscowej. 1.08.07 Zygmunt Kubiak 29
Podsumowanie Na bazie omawianego modułu można tworzyć i badać węzły również innych sieci jak Modbus, HART czy Profibus DP ale oczywiście w tym przypadku z warstwą fizyczną typu LIN. Na bazie warstwy fizycznej można projektować własne sieci typu Multi Master z arbitrażem analogicznym jak w sieci CAN. 1.08.07 Zygmunt Kubiak 30
Dziękuję 1.08.07 Zygmunt Kubiak 31