Interfejsy komunikacyjne w motoryzacji

Interfejsy komunikacyjne w motoryzacji
Pobierz PDF Download icon
Historia współczesnej motoryzacji sięga końca XIX wieku, kiedy to zaczęły powstawać pierwsze pojazdy napędzane silnikiem spalinowym. Na przestrzeni już ponad stu lat koncepcja pojazdu samochodowego ewaluowała, a zmianom tym pomagał nieustanny rozwój technologiczny. Obecnie współczesne samochody mają w praktyce niewiele wspólnego z pierwszymi konstrukcjami pionierów motoryzacyjnych takich jak Karl Benz. Jedną z największych zmian jest to, że poruszające się po drogach pojazdy przestały być obiektami zbudowanymi tylko z podzespołów mechanicznych. Obecnie wszechobecna w samochodach jest również elektronika. Systemy elektroniczne mają na celu między innymi zwiększyć komfort podróżowania, jak również poprawić bezpieczeństwo jazdy.

Przedmiotem niniejszego artykułu są interfejsy motoryzacyjne, a więc elektroniczne i telekomunikacyjne rozwiązania zapewniające wymianę informacji między urządzeniami pojazdu w ramach systemów, które tworzą (np. systemu komfortu jazdy, systemu ABS, ACC, ASR, ESP i innych).

Motoryzacyjne interfejsy komunikacyjne

Rysunek 1. Architektura przykładowej sieci motoryzacyjnej

Główne interfejsy komunikacyjne to LIN, CAN, FlexRay oraz MOST. Różnią się one znacznie od siebie pod wieloma względami, dzięki czemu każdy z nich znajduje zastosowanie w innym obszarze systemów elektronicznych pojazdu. Przykładową architekturę sieci motoryzacyjnej wykorzystującej interfejsy LIN, CAN, FlexRay oraz MOST pokazano na rysunku 1.

Interfejs LIN stosowany jest tam, gdzie wymagane jest bardzo proste sterowanie, zrealizowane możliwie tanim sposobem, przy jednocześnie niskiej prędkości transmisji informacji (do 20 kbps). Przykładowe zastosowania LIN to sterowanie światłami zewnętrznymi i oświetleniem wewnątrz pojazdu, regulowanie fotela kierowcy i lusterek, zamykanie/otwieranie drzwi, sterowanie szybami, nawiewem, odczytywanie danych z czujnika deszczu itp.

Interfejs CAN pozwala na przesyłanie informacji z większą szybkością niż LIN (do 1 Mbps). Ponadto rozwiązanie to dysponuje szeregiem mechanizmów, które pozwalają na używanie go w bardziej wymagających i zaawansowanych zastosowaniach. Jest to między innymi wysyłanie informacji statusowych w systemach bezpieczeństwa (np. poduszki powietrzne, hamulce).

Interfejs FlexRay może przesyłać informacje z prędkością nawet 10 Mbps. Rozwiązanie to zaprojektowano z myślą o sterowaniu w czasie rzeczywistym (sterowanie silnikiem, system ABS, system Drive-by-Wire, Brake-by-Wire i inne).

Rysunek 2. Zależność między prędkością transmisji i kosztem budowy węzła komunikacyjnego dla różnych interfejsów motoryzacyjnych

Najwyższą, bo przekraczającą 10 Mbps prędkość transmisji może zagwarantować interfejs MOST. Został on opracowany specjalnie do łączenia w sieć systemów informatycznych i multimedialnych (dźwięki, wideo, głos) w samochodach. Magistrale MOST są coraz częściej instalowane w nowoczesnych pojazdach wyższej klasy. Oprócz klasycznych funkcji ze sfery rozrywki (radioodbiorniki lub odtwarzacze CD), takie systemy informatyczne i multimedialne oferują funkcje urządzeń wideo (DVD lub TV), funkcje systemów nawigacyjnych oraz dostęp do systemów informacyjnych i urządzeń telekomunikacji ruchomej.

Wysoka prędkość transmisji danych jest parametrem pożądanym w wielu systemach motoryzacyjnych. Należy jednak pamiętać, że wraz ze wzrostem tej prędkości, a tym samym koniecznością stosowania odpowiedniego interfejsu komunikacyjnego, rośnie koszt budowy urządzenia wysyłającego i odbierającego informacje (tak zwany węzeł komunikacyjny). Najtańszy w realizacji jest węzeł z komunikacją LIN. Około dwukrotnie droższy jest węzeł CAN, a ponad dwukrotnie węzeł FlexRay. Koszt jednego węzła MOST jest około czterokrotnie wyższy niż węzła LIN. Odpowiednie zestawienie porównujące prędkość transmisji i koszt realizacji węzła z danym interfejsem komunikacyjnym pokazano na rysunku 2.

Interfejs CAN - wstęp

Rysunek 3. Struktura sieci CAN

Interfejs CAN (Controller Area Network) został stworzony przez firmę Bosch GmbH. Prace nad nim rozpoczęły się w 1983 r. Rozwiązanie to zostało oficjalnie zaprezentowane w lutym 1986 r. podczas kongresu Society of Automotive Engineers. Rok później możliwe było już realizowanie sieci CAN, gdyż wtedy właśnie firmy Intel i Philips Semiconductors wprowadziły do swojej oferty produktowej układy elektroniczne będące pierwszymi kontrolerami dla transmisji CAN.

Specyfikacja CAN definiuje dwie pierwsze warstwy modelu OSI/ISO (fizyczną i łącza danych). Warstwy nr 3 - 6 nie są używane, natomiast warstwa nr 7 (aplikacji) jest opcjonalna i została pozostawiona do zdefiniowania przez projektantów danego systemu.

Interfejs CAN - warstwa fizyczna. Z punktu widzenia topologii sieci, CAN jest magistralą. Magistrala jest rodzajem architektury sieciowej, w której wszystkie węzły transmisyjne połączone są szeregowo wspólnym dla nich medium transmisyjnym.

Rysunek 4. Na czas wysłania bitu na magistralę Nominal Bit Time składają się cztery segmenty podzielone na jednostki Time Quanta

Do przesyłania informacji przez magistralę CAN służą dwie linie sygnałowe: CAN High (CANH) oraz CAN Low (CANL). Na obu końcach magistrali linie te połączone są rezystorem terminującym o oporności 120 Ohm, co zapewnia niewrażliwość magistrali na odbicia sygnału. Schemat sieci CAN przedstawiono na rysunku 3.

Punktem wyjściowym do skonfigurowania prędkości transmisji węzła w sieci CAN jest ustawienie parametru o nazwie Nominal Bit Rate (rysunek 4). Jest to czas potrzebny na wysłanie jednego bitu danych na magistralę. Nominal Bit Rate składa się z czterech segmentów: Synchronization Segment, Propagation Delay Segment, Phase Buffer Segment 1 oraz Phase Buffer Segment 2. Każdy z nich jest podzielony na jednostki Time Quanta. Jest to interwał czasu pomiędzy kolejnymi cyklami zegara taktującego warstwę fizyczną węzła CAN. Odczytu stanu magistrali węzeł sieci dokonuje w chwili określonej przez punkt Sample Point.

Rysunek 5. Relacje między logicznymi wartościami CAN a stanami magistrali CAN [3]

Informacje przesyłane są przez magistralę CAN metodą różnicową. Oznacza to, że stany sygnału określane są przy pomocy różnicy napięcia między liniami CAN High oraz CAN Low. Możliwe są dwa stany: recesywny, reprezentujący logiczną jedynkę oraz dominujący, reprezentujący logiczne zero (rysunek 5). Stan recesywny wystąpi, gdy napięcie na obu liniach magistrali CAN będzie równe i wyniesie 2,5 V, a więc różnica napięć będzie równa 0 V. Stan dominujący wystąpi, gdy napięcie na linii CAN High wyniesie 3,5 V, natomiast na linii CAN Low 1,5 V, a więc różnica napięć będzie równa 2 V.

Interfejs CAN - warstwa łącza danych. Wiadomości wysyłane w sieci CAN nazywane są ramkami komunikacyjnymi. W warstwie łącza danych określono cztery rodzaje ramek komunikacyjnych CAN. Są to:

  • data frame - ramka służąca do przesyłania danych,
  • remote frame - ramka zdalnego wywołania (wysyłana do węzła w celu odesłania przez niego odpowiedzi z danymi),
  • error frame - ramka sygnalizacji błędu,
  • overload frame - ramka przepełnienia.

Rysunek 6. Struktura ramki danych CAN. Od góry: format dla CAN 2.0A, format dla CAN 2.0B

Specyfikacja CAN wyróżnia dwa formaty ramek data frame: podstawowy (wersja CAN 2.0A) oraz rozszerzony (CAN 2.0B). Strukturę obu ramek pokazano na rysunku 6. Warianty te różnią się głównie długością identyfikatora (adresu). Standard CAN 2.0A cechuje się adresem ramki o długości 11 bitów, natomiast w standardzie CAN 2.0B adres zawiera 29 bitów. Oprócz adresu, ramka CAN zawiera następujące pola:

  • SOF (Start Of Frame) - początek ramki,
  • RTR (Remote Transmission Request Bit) - wybór ramki (danych lub zdalna),
  • IDE (Identifier Extension) - format ramki danych (podstawowy lub rozszerzony),
  • r1 - zarezerwowany bit,
  • r0 - zarezerwowany bit,
  • DLC (Data Length Code) - liczba wykorzystywanych bajtów danych,
  • CRC (Cyclic Redundancy Check) - suma kontrolna,
  • ACK (Acknowledgement) - potwierdzenie wysłania/odebrania danych,
  • EOF (End of Frame) - zakończenie ramki,
  • IFS (Intermission) - przerwa przed następną ramką.

W interfejsie CAN zastosowano model komunikacji o nazwie Multi-Master. Jak sama nazwa wskazuje, w systemie komunikacyjnym używającym tego modelu może być więcej niż jeden węzeł nadrzędny, a dokładniej każdy z węzłów może pełnić tą rolę. W praktyce oznacza to, że węzeł sieci CAN decyduje się na wysłanie wiadomości w momencie, gdy wystąpi taka potrzeba.

Jako że sieć CAN ma topologię magistrali, wszystkie węzły dołączone są do wspólnego medium transmisyjnego, a co za tym idzie, przez medium to może w danej chwili być przesyłana tylko jedna wiadomość. Oznacza to, że tylko jeden z węzłów może mieć w danej chwili prawo do transmisji, gdyż w przypadku próby wysłania wiadomości przez więcej niż jeden węzeł wystąpi kolizja i utrata informacji. Aby zapobiec próbie wysłania wiadomości przez więcej niż jeden węzeł w danym momencie, konieczne jest stosowanie mechanizmu nadającego i odbierającego węzłom prawo do transmisji, zwanego inaczej dostępem do medium. W interfejsie CAN zastosowano metodę dostępu od medium o nazwie CSMA/CR (Carrier Sense Multiple Access /Collision Resolution), zwaną też jako Non-Destructive Bit Wise Arbitration. Metoda ta dopuszcza występowanie kolizji, co jednak istotne, mimo kolizji jedna z ramek zostaje wysłana przez magistralę. Jest to ramka o najwyższym priorytecie. Priorytet określany jest na podstawie adresu ramki - im niższa wartość liczbowa w adresie, tym wyższy priorytet. W praktyce, w przypadku próby wysłania na magistralę kilku wiadomości, CSMA/CR działa według następującego algorytmu: porównywane są bity na tych samych pozycjach adresu (począwszy od najbardziej znaczącego bitu adresu, a skończywszy na najmniej znaczącym) i jeśli wartość bitu na danej pozycji jest w każdym adresie taka sama, bit ten jest wysyłany na magistralę, natomiast jeśli występuje niezgodność (część bitów ma wartość 0, a część 1), wybierany jest bit 0 (zwany dominującym) i to on jest wysyłany na magistralę. Wiadomości z bitem 1 (zwanym recesywnym) nie biorą dalszego udziału w procesie wysyłania. W efekcie na magistralę wysłany zostaje adres o najniższej wartości, a więc o najwyższym priorytecie. Po adresie wysyłane są kolejne pola wybranej ramki.

Rysunek 7. Przykładowy scenariusz uzyskiwania dostępu do medium przez węzły, które rozpoczęły transmisję w tym samym momencie

Aby zobrazować jak działa mechanizm CSMA/CR, warto rozważyć przykładowy scenariusz, zilustrowany na rysunku 7. Trzy węzły (oznaczone kolejno numerem 1, 2 i 3) chcą wysłać wiadomość na magistralę. Po upewnieniu się, że dotychczas trwająca na magistrali transmisja została zakończona, rozpoczynają nadawanie w tym samym momencie czasu. Pierwszym wysłanym bitem jest bit początku wiadomości (SOF). Po nim wysyłane są bity adresu. Każdy z węzłów po nadaniu kolejnego bitu adresu sprawdza poziom sygnału ustawiony na magistrali. Dopóki wszystkie węzły wysyłają bity o takiej samej wartości, odczytują adekwatny do nich stan sygnału magistrali. Dzieje się tak dla bitów adresu o indeksie od 1 do 5 włącznie. Bit numer 6 nie jest już taki sam dla wszystkich węzłów. Węzły 1 i 3 wysyłają bit 0 (dominujący), natomiast węzeł 2 wysyła bit 1 (recesywny). Na magistrali ustawiony zostaje bit dominujący, który zawsze wygrywa z bitem recesywnym. Węzeł 2 odczytuje inny stan na magistrali niż stan wynikający z wysłanego bitu. Jest to dla niego informacja, że inny węzeł jednocześnie wysyła wiadomość i ma ona wyższy priorytet. W wyniku tego faktu węzeł 2 nie kontynuuje wysyłania wiadomości. Wysyłanie wiadomości kontynuują natomiast węzły 1 i 3. Nadane zostają kolejne bity adresu o indeksie 7 i 8. Bit numer 9 ponownie nie ma takiej samej wartości w przypadku obu węzłów. Węzeł numer 3 wysyła bit 0, natomiast węzeł 1 bit 1. Na magistrali ustawiony zostaje bit dominujący 0. Węzeł 1 zauważa różnicę wartości wysłanego bitu i stanu magistrali, więc zaprzestaje dalszej transmisji. Węzeł 3 kontynuuje wysyłanie adresu i dalej kolejnych pól ramki CAN.

Mechanizm CSMA/CR ma jeszcze jedną, niewspomnianą dotąd zaletę. Zauważmy, że w przypadku mechanizmu CSMA/CA wiadomość wysyłana jest z opóźnieniem, gdyż w pierwszej kolejności wysyłana jest treść informująca o rozpoczęciu transmisji. Zwłoka może się też pojawić, gdy stosowany jest mechanizm CSMA/CD. Jest tak w sytuacji, gdy dojdzie do kolizji i wysłanie wiadomości musi być ponowione. W mechanizmie CSMA/CR w odróżnieniu od CSMA/CA i CSMA/CD zarówno w przypadku niewystąpienia jak i wystąpienia kolizji wiadomość jest wysyłana bez żadnego opóźnienia. Jest to bardzo istotna cecha dla systemów wymagających jak najkrótszego czasu reakcji, a takimi są np. systemy bezpieczeństwa w samochodach.

Interfejs CAN - warstwa aplikacji. Brak zdefiniowanej warstwy siódmej stwarza możliwość jej implementacji zgodnie z indywidualnymi zapotrzebowaniami systemu i konkretnymi zastosowaniami danej sieci. Alternatywnym rozwiązaniem jest skorzystanie z jednego z gotowych protokołów warstwy aplikacyjnej interfejsu CAN. W przemyśle motoryzacyjnym popularnym protokołem dla CAN jest J1939.

Rysunek 8. Trzy różne koncepcje budowy węzła CAN

Koncepcje budowy węzłów sieci CAN. Na przestrzeni lat wykształciły się trzy różne koncepcje budowy węzła komunikacyjnego sieci CAN (rysunek 8). Każda koncepcja wymaga zastosowania mikrokontrolera, kontrolera CAN i układu nadawczo-odbiorczego CAN. Jednocześnie każda z tych koncepcji różni się liczbą wymaganych układów scalonych. Poniżej przedstawiono podstawową konstrukcję węzła CAN według każdej z koncepcji:

  • Koncepcja nr 1 (trzy układy scalone): mikrokontroler z zewnętrznym kontrolerem CAN i zewnętrznym nadajnikiem-odbiornikiem CAN
  • Koncepcja nr 2 (dwa układy scalone): mikrokontroler z wbudowanym kontrolerem CAN i zewnętrznym nadajnikiem-odbiornikiem CAN
  • Koncepcja nr 3 (jeden układ scalony): mikrokontroler z wbudowanym kontrolerem CAN i wbudowanym nadajnikiem-odbiornikiem CAN

Chronologicznie najnowsza jest koncepcja nr 3. Rozwiązań łączących w jednej obudowie mikrokontroler, kontroler CAN i nadajnik-odbiornik CAN jest na rynku niewiele. Jednym z nielicznych przykładów jest produkt firmy NXP Semiconductors - LPC11C22/24. Co warte uwagi, układy te dysponują nie tylko kontrolerem CAN i nadajnikiem-odbiornikiem CAN, ale też wyposażone są w pamięć ROM, w której przechowywane są sterowniki dla warstwy siódmej CAN, konkretnie protokołu CANopen.

Starszą, jednak obecnie najpowszechniej wykorzystywaną jest koncepcja nr 2. Mikrokontroler z wbudowanym kontrolerem CAN można znaleźć w ofercie wielu producentów rozwiązań półprzewodnikowych. Za przykład mogą posłużyć układy SAM3A firmy Atmel, Kinetis K60 firmy Freescale, XMC4000 firmy Infineon, PIC32 firmy Microchip i TM4C12x firmy Texas Instruments. Analogicznie do wyboru jest też wiele nadajników-odbiorników CAN. Przykładowo są to: MCP2551 firmy Microchip, TJA1040 firmy NXP Semiconductors, MAX3058 firmy Maxim Integrated i SN65HVD230 firmy Texas Instruments.

Najstarsza jest koncepcja nr 1. Stosowany w tym wariancie mikrokontroler nie musi spełniać żadnych specjalnych kryteriów. Taka dowolność jest możliwa, gdyż za komunikację CAN odpowiadają układy zewnętrzne: kontroler i nadajnik-odbiornik. Popularnie wybieranymi przez konstruktorów kontrolerami CAN są układy SJA1000 firmy NXP Semiconductors oraz MCP2515 firmy Microchip.

Interfejs LIN - wstęp

Rysunek 9. Struktura sieci LIN

Interfejs LIN (Local Interconnect Network) jest rozwiązaniem zaproponowanym przez konsorcjum, które w 1998 r. stworzyły firmy BMW, Volkswagen, Audi, Volvo, Mercedes-Benz, Volcano oraz Motorola. Najnowsza wersja specyfikacji tego interfejsu (oznaczona numerem 2.0) ujrzała światło dzienne w 2003 r.

LIN został zdefiniowany w oparciu o model OSI/ISO. Interfejs ten wykorzystuje warstwę pierwszą i drugą tego modelu, opcjonalnie może zostać użyta również jego warstwa siódma.

Interfejs LIN - warstwa fizyczna. Urządzenia przy pomocy interfejsu LIN mogą stworzyć sieć o topologii magistrali. Do przesyłania informacji wykorzystywana jest jedna linia sygnałowa (Vbus), która przy układzie Master podłączona jest przez diodę i rezystor (typowo 1 kOhm) do napięcia Vbat o wartości od 8 do 18 V (typowo 12 V). Dodatkowo przy każdym węźle linia Vbus powinna być połączona przez kondensator (typowo 220 pF) z masą. Schemat sieci LIN przedstawiono na rysunku 9.

Interfejs LIN pozwala na przesyłanie informacji na dystansie do 40 metrów z prędkością do 20 kbps. Pojedynczą sieć LIN może tworzyć nie więcej niż 16 węzłów komunikacyjnych.

Bity informacji zamieniane są w sieci LIN na stany magistrali. Bit 0 jest reprezentowany przez stan dominujący, którego wartość jest równa potencjałowi masy. Bit 1 jest reprezentowany przez stan recesywny i analogicznie jego wartość jest bliska do napięcia Vbat.

Interfejs LIN - warstwa łącza danych. Interfejs LIN używa modelu komunikacji o nazwie Master-Slave. Koncepcja modelu Master-Slave przewiduje powierzenie jednemu z węzłów sieci roli węzła nadrzędnego (Master), podczas gdy wszystkie pozostałe węzły są węzłami podrzędnymi (Slaves). Węzeł nadrzędny organizuje komunikację, co oznacza, że tylko on może zdecydować, który węzeł podrzędny i kiedy może realizować transmisję danych. W praktyce komunikacja zgodna z modelem Master-Slave odbywa się w następujący sposób: węzeł nadrzędny chcąc uzyskać informację od jednego z węzłów podrzędnych wysyła do niego wiadomość, na którą węzeł ten odpowiada. Węzeł Slave wybierany jest za pomocą adresu. Każdy węzeł podrzędny ma adres, który jest unikalny w ramach magistrali.

Model Master-Slave rozwiązuje kwestię dostępu do medium, gdyż sposób udzielania węzłom dostępu do medium wynika z zasady działania samego modelu. Węzły podrzędne mogą wysyłać informacje przez medium transmisyjne magistrali tylko w odpowiedzi na zapytanie od węzła nadrzędnego. Zapytanie węzła nadrzędnego kierowane jest zawsze tylko do jednego, konkretnego węzła podrzędnego, zatem tylko ten węzeł w danym momencie odpowiada, co wyklucza próbę wysłania wiadomości przez więcej niż jeden węzeł i tym samym wystąpienie kolizji.

Rysunek 10. Schemat komunikacji w interfejsie LIN

W specyfikacji interfejsu LIN zdefiniowano komunikację opartą na ramkach. Pojedyncza ramka składa się z wysyłanego przez węzeł Master zapytania oraz odpowiedzi, którą wysyła w reakcji na zapytanie węzeł Slave. Komunikację inicjuje Master. Generowane przez niego zapytanie zawiera bajt będący polem synchronizującym transmisję (wartość heksadecymalna 55) i występujący po nim bajt zawierający adres węzła Slave (dopuszczalną wartością adresu jest liczba od 0 do 63).

Węzeł Slave, który zidentyfikuje swój adres, odsyła odpowiedź. Zawiera ona dane (od jednego do ośmiu bajtów) oraz bajt z sumą kontrolną. Między kolejnymi dwiema sesjami komunikacji musi nastąpić przerwa o odpowiednio długim czasie. Jest to czas potrzebny na przesłanie co najmniej jedenastu bitów informacji (typowo trzynastu) przez magistralę.

Rysunek 11. Dwie koncepcje budowy węzła LIN

LIN bazuje na interfejsie UART. Oznacza to, że każdy bajt informacji jest przesyłany przez magistralę zgodnie ze standardem UART, co w praktyce sprowadza się do poprzedzenia bajta bitem startu oraz zakończenie bajta bitem stopu. Schemat komunikacji w interfejsie LIN pokazano na rysunku 10.

Koncepcje budowy węzłów sieci LIN. Do zbudowania węzła sieci LIN używane są typowo dwa układy elektroniczne. Pierwszym z nich jest mikrokontroler wyposażony w interfejs UART (mogący pracować w trybie LIN).

Drugim układem jest nadajnik-odbiornik LIN. Zarówno mikrokontrolery kompatybilne z LIN, jak też układy nadawczo-odbiorcze LIN można znaleźć w ofercie wielu producentów rozwiązań półprzewodnikowych. Te pierwsze to chociażby grupa STM8AF firmy STMicroelectronics. Za przykład tych drugich mogą posłużyć między innymi układy MCP2003A firmy Microchip i TLE7269G firmy Infineon.

Na rynku dostępne są również jednoukładowe rozwiązania, które łączą w sobie mikrokontroler i nadajnik-odbiornik LIN. Taki produkt znaleźć można w ofercie np. firmy Atmel (ATA6602) i Freescale (S12ZVL). Schemat budowy węzła LIN pokazano na rysunku 11.

Interfejs FlexRay - wstęp

FlexRay to interfejs opracowany przez konsorcjum FlexRay Consortium, które w 2000 r. stworzyły firmy DaimlerChrysler, BMW, Motorola oraz Philips. Motywacją konsorcjum było stworzenie rozwiązania, które będzie wykorzystywało zalety interfejsu CAN (głównie charakter zdarzeniowy sieci, a więc pozwalający wysyłać węzłom informacje na magistralę od razu w momencie, gdy zajdzie taka potrzeba), a jednocześnie będzie rozwiązywało problem jego pewnych ograniczeń (zbyt niska dla niektórych zastosowań prędkość transmisji, tylko jeden kanał komunikacyjny oraz brak synchronizacji w działaniu węzłów). Najnowsza specyfikacja FlexRay oznaczona numerem 3.0.1 zaprezentowana została w 2010 r.

Interfejs ten oparty jest na modelu OSI/ISO i wykorzystuje jego trzy warstwy: fizyczną, łącza danych oraz aplikacji (opcjonalnie).

Interfejs FlexRay - warstwa fizyczna. Urządzenia połączone interfejsem FlexRay mogą tworzyć sieć o dwóch topologiach. Oprócz podstawowej topologii, jaką jest magistrala, dopuszczalna jest również topologia gwiazdy.

Według specyfikacji odległość miedzy dwoma węzłami FlexRay nie powinna być dłuższa niż 24 metry. Całkowita liczba węzłów sieci nie powinna przekraczać 22.

Rysunek 12. Schemat sieci FlexRay

Medium transmisyjnym dla interfejsu FlexRay są dwie linie sygnałowe: Bus Plus (BP) i Bus Minus (BM). Każdy węzeł sieci musi być dołączony do obu tych linii. Na końcach medium transmisyjnego linie BP i BM połączone są rezystorem o wartości 80 - 110 Ohm, co zapobiega odbiciom sygnału. Schemat sieci CAN przedstawiono na rysunku 12.

Informacje przesyłane są przez sieć FlexRay metodą różnicową, tak jak to ma miejsce w przypadku interfejsu CAN. Sygnał może przyjąć dwa stany: recesywny oraz dominujący. Stan recesywny ma miejsce wtedy, gdy napięcie na obu liniach Bus Plus i Bus Minus jest takie same, co oznacza różnicę napięć równą 0. Stan dominujący wystąpi, gdy różnica napięć jest różna od 0. Gdy napięcie na linii Bus Plus i Bus Minus ma wartość odpowiednio 3,5 i 1,5 V, stan dominujący określany jest jako Data_1 (reprezentuje on logiczną 1). Z kolei, gdy linie Bus Plus i Bus Minus zamienią się napięciami, stan dominujący nazywany jest jako Data_0 (reprezentuje on logiczne 0).

Rysunek 13. Schemat komunikacji wykorzystujący metodę dostępu do medium TDMA

Interfejs FlexRay - warstwa łącza danych. Interfejs FlexRay wykorzystuje nie jeden kanał komunikacyjny, jak to ma w przypadku opisanych już interfejsów CAN i LIN, ale aż dwa takie kanały. W obu kanałach przesyłane mogą być te same informacje. Taka redundancja danych ma na celu zminimalizowanie ryzyka niedostarczenia wiadomości od węzła nadawczego do węzła odbiorczego. Każdy kanał gwarantuje przesył informacji z prędkością do 10 Mbps. Jeśli redundancja danych nie jest wymagana, kanały mogą zostać ze sobą połączone i stworzyć jeden kanał (prędkości się wtedy sumują do wartości 20 Mbps). Wybór jednego lub dwóch kanałów może być indywidualnie dobierany dla każdej wiadomości.

FlexRay to rozwiązanie, w którym komunikacja synchronizowana jest za pomocą mechanizmu wyzwalania czasem (time-triggered communication). Uzyskano go dzięki zastosowaniu metody dostępu do medium o nazwie TDMA (Time Division Multiple Access). Zgodnie z zasadami TDMA, węzeł sieci nie może w zupełnie dowolnym momencie rozpocząć transmisji danych. Może to uczynić tylko w przyporządkowanym mu przez system czasie. Każdy z węzłów sieci dysponuje swoją indywidualną szczeliną czasową. Schemat tak zaimplementowanej komunikacji zobrazowano na rysunku 13.

Rysunek 14. Format ramki FlexRay

Specyfikacja FlexRay definiuje format ramki używanej do przesyłania informacji. Ramka taka składa się z następujących pól (rysunek 14):

  • StFI (Startup Frame Indicator) - wskaźnik początku ramki,
  • SyFI (Syc Frame Indicator) - wskaźnik synchronizacji,
  • NFI (Null Frame Indicator) - wskaźnik zawartości ramki (ramka pusta lub ramka z danymi)
  • PPI (Payload Preamble Indicator) - wskaźnik tego czy NMI (network management vector) czy też identyfikator wiadomości jest przesyłany w polu danych,
  • R (reserved) - bit zarezerwowany,
  • ID (Identifier) - identyfikator (adres) ramki,
  • PL (Payload Length) - pole informujące o liczbie bajtów danych,
  • CRC (Cyclic redundancy check) - suma kontrolna wykorzystywana do wykrywania przypadkowych błędów pojawiających się podczas transmisji,
  • CC (Cycle Count) - informacja o cyklu, w którym ramka jest przesyłana,
  • Dane - pole danych (do 254 bajtów),
  • CRC - druga suma kontrolna wiadomości.

Rysunek 15. Trzy różne koncepcje budowy węzła FlexRay

Koncepcje budowy węzłów sieci FlexRay. Pojedynczy węzeł sieci FlexRay wymaga układu hosta, kontrolera FlexRay oraz nadajnika-odbiornika FlexRay. Na przestrzeni czasu wykształciły się dwa sposoby stworzenia takiego węzła (rysunek 15):

  • Koncepcja nr 1 (trzy układy scalone): mikrokontroler z zewnętrznym kontrolerem FlexRay i zewnętrznym nadajnikiem-odbiornikiem FlexRay
  • Koncepcja nr 2 (dwa układy scalone): mikrokontroler z wbudowanym kontrolerem FlexRay i zewnętrznym nadajnikiem-odbiornikiem FlexRay

Zgodnie z koncepcją nr 1 do zbudowania węzła FlexRay konieczne są trzy układy scalone. Mikrokontroler nie musi spełniać specjalnych wymagań. Może być to niemal dowolny model, oferowany przez jednego z wielu producentów tego typu rozwiązań półprzewodnikowych.

Z kolei producentami kontrolerów FlexRay są głównie firmy Freescale (np. układ MFR4310) oraz Infineon (np. układ CIC310). Nadajniki-odbiorniki FlexRay są oferowane między innymi przez firmy NXP (TJA1080A) i Infineon (TLE9221SX).

Według drugiej koncepcji budowy węzła FlexRay mikrokontroler i kontroler FlexRay mogą być zintegrowane w jednej obudowie. Tego typu rozwiązanie w postaci układów S12XF, MPC55xx i MPC56xx oferuje firma Freescale.

Interfejs MOST - wstęp

Interfejs MOST (Media Oriented Systems Transport) powstał pod koniec lat 90-tych XX wieku. Jako pierwsza wykorzystała go firma BMW w luksusowych samochodach z serii 7. Obecnie standard ten stosowany jest przez większość producentów aut, w tym Audi, Hyundai, Jaguar, Lancia, Land Rover, Mercedes-Benz, Porsche, Toyota, Volkswagen, SKODA, SEAT i Volvo.

Interfejs ten zdefiniowany jest we wszystkich siedmiu warstwach modelu OSI/ISO.

Interfejs MOST - warstwa fizyczna. MOST dostępny jest w trzech wersjach: MOST25, MOST50 oraz MOST150. Różnią się one od siebie oferowaną prędkością transmisji. Jest to odpowiednio 25, 50 i 150 Mbps. Niezależnie od wersji, interfejs MOST pozwala połączyć w sieć do 64 urządzeń.

Rysunek 16. Sieć o topologii pierścienia

MOST jest zorganizowany w konfiguracji pierścieniowej (rysunek 16), w której każde urządzenie jest zawsze połączone wejściem ze swoim poprzednikiem oraz wyjściem z urządzeniem następnym. System MOST może być zbudowany także w innej konfiguracji, np. w topologii gwiaździstej, jednak urządzenia w systemie muszą być wewnętrznie uformowane w pierścień logiczny. Dla struktury gwiaździstej może to być spełnione np. przez zastosowanie głównego koncentratora (hub).

Magistrala MOST została pierwotnie zdefiniowana jako rozwiązanie wykorzystujące do wymiany informacji sygnał optyczny, przesyłany za pomocą polimerowych kabli światłowodowych (Plastic Optical Fiber). Do transmisji używany jest sygnał świetlny o długości fali 650 nm (w zakresie światła czerwonego), który jest emitowany przez diodę LED po stronie nadajnika. Nadajnik jest oznaczany jako Tx-FOT (FOT-Fiber Optic Transceiver). Po stronie odbiornika, RxFOT, sygnał optyczny jest przetwarzany z powrotem na elektryczny za pomocą fotodiody PIN.

Interfejs MOST - warstwa łącza danych i warstwy wyższe. Określone urządzenie w systemie pełni rolę urządzenia nadrzędnego Master, generującego ramki danych wykorzystywane do transmisji i z którym synchronizują się inne urządzenia w systemie. Każde urządzenie ma własny przepust dla sygnału (bypass). Jeżeli jest on zamknięty, to urządzenie bezpośrednio kieruje sygnał dalej i dlatego samo urządzenie jest niewidoczne dla systemu. Ten sposób działania jest wykorzystywany np. podczas startu systemu, kiedy urządzenie potrzebuje więcej czasu do inicjalizacji lub przy odłączaniu zależnym od warunków temperaturowych.

Do transmisji danych magistrala MOST obsługuje różne rodzaje kanałów, o różnych właściwościach. Kanał kontrolny jest stosowany do prostej transmisji rozkazów sterujących, do sygnalizacji stanu urządzeń oraz przesyłania koniecznych komunikatów do zarządzania systemem. Kanały synchroniczne są stosowane do transmisji danych multimedialnych. Protokół MOST oferuje zmienną liczbę kanałów synchronicznych, przez które mogą być przesyłane sygnały (dane) zarówno audio, jak i wideo. Kanał asynchroniczny umożliwia przesyłanie danych w postaci pakietów. Dlatego nadaje się on do transmisji takich informacji, które nie potrzebują stałej szybkości transmisji, ale na krótki czas wymagają dużej szybkości transmisji. Przykładami są tytuły utworów granych przez odtwarzacz MP3 lub aktualizacja oprogramowania.

Dostęp do medium w protokole MOST jest realizowany w zależności od typu danych, przeznaczonych do odpowiednich zastosowań. Wyróżnia się następujące typy kanałów danych: dane synchroniczne, dane asynchroniczne, dane sterujące. Synchroniczny obszar danych jest podzielony na szczeliny czasowe, każda po 8 bitów, nazywanych w MOST kanałami fizycznymi. Dostęp do magistrali w szczelinie czasowej następuje synchronicznie w czasie, tzn. według metody TDMA. Pewne zastosowania wymagają kanału na wyłączność i wtedy dane mogą być transmitowane takim kanałem tak długo, aż kanał zostanie zwolniony. Asynchroniczny obszar danych jest przeznaczony dla sformatowanych pakietów danych, które mogą mieć długość do 58 bajtów. Dla tych komunikatów dostęp do magistrali następuje pod warunkiem, że asynchroniczny obszar danych nie jest zajęty przez inny asynchroniczny pakiet danych. Do identyfikacji komunikatów służy pole arbitrażu. Ostatni rodzaj danych (dane sterujące) służy z jednej strony do zarządzania siecią, z drugiej zaś także do komunikacji między układami w różnych sterownikach w sieci pierścieniowej. Dostęp do magistrali w kanale sterującym następuje asynchronicznie i według priorytetu, tzn. zgodnie z metodą CSMA, przy czym priorytet komunikatu jest podany w polu arbitrażu.

Urządzenia dołączone do systemu MOST są wywoływane za pomocą adresu 16-bitowego. W sieci MOST rozróżnia się kilka typów adresów. Każde urządzenie ma adres logiczny, jednoznaczny w systemie, który jest negocjowany i ustawiany podczas startu systemu. Adresy logiczne mogą być ustawiane albo dynamicznie, na podstawie miejsca w pierścieniu, albo statycznie przez producenta, w postaci słów adresowych z zakresu wartości zarezerwowanych tylko do tego celu. Adresy ustawiane dynamicznie to liczby heksadecymalne z zarezerwowanego zakresu od 0x100 do 0x13F, a adresowanie zaczyna się od sterownika Timing Master. Do zarządzania systemem (np. ustalanie adresów logicznych) każde urządzenie ma dodatkowo adres fizyczny, który jest wynikiem aktualnego miejsca tego urządzenia w pierścieniu. Na adresy fizyczne jest przeznaczony obszar od 0x400 do 0x43F (heksadecymalnie). Każdemu urządzeniu może zostać przyporządkowany również adres grupowy z zakresu 0x300 do 0x3FF (heksadecymalnie), w celu umożliwienia jednoczesnego adresowania wszystkich urządzeń z grupy. Magistrala MOST obsługuje ponadto specjalny adres rozsiewczy (liczba heksadecymalna 0x3C8), za którego pomocą są adresowane wszystkie urządzenia w systemie MOST.

Rysunek 17. Format ramki zdefiniowanej w interfejsie MOST

Urządzenie Timing Master wytwarza ramki danych z częstotliwością taktowania zwykle 44,1 kHz, rzadziej 48 kHz. Częstotliwość taktowania jest ustalana przez producenta systemu (tzn. przez producenta pojazdu i dostawcę urządzeń MOST) i jest zależna od formatu danych multimedialnych zadanego dla systemu. W związku z tym objętość ramek danych określa szybkość transmisji magistralą systemu MOST. Dla wersji MOST 25 objętość ramki danych wynosi 512 bitów. Ramka danych składa się z następujących pól (rysunek 17): pola administracyjne (niezbędne do synchronizacji transmisji danych, do określenia pozycji urządzenia w pierścieniu i do transmisji parametrów granicznych), pola kanału kontrolnego, pola kanału synchronicznego i pola kanału asynchronicznego.

Z uwagi na zastosowanie systemu MOST, odporność na błędy i ich korekcja nie jest elementem priorytetowym. W protokole MOST nie występują skomplikowane sposoby wykrywania i korekcji błędów transmisji, ponieważ dane multimedialne nie są krytyczne dla bezpieczeństwa pojazdu. Brak zaawansowanych metod obrony przed błędami spowodowany jest także współpracą z optycznym medium transmisyjnym, które jest praktycznie zupełnie odporne na zakłócenia elektromagnetyczne. Ramki danych protokołu MOST są chronione przez sumę kontrolną CRC. Dla różnych typów obszaru danych ramki długość pola CRC ma różne wartości. Dla asynchronicznego pola danych długość pola sumy kontrolnej CRC wynosi 4 bajty. Dla danych sterujących długość pola CRC jest równa 2 bajtom. Dodatkowo dla danych sterujących występuje potwierdzenie odbioru. W przypadku wystąpienia błędu następuje automatyczne powtórzenie nadania komunikatu. Transmisja poprawna jest potwierdzana przez odbiornik za pomocą pozytywnego potwierdzania ACK. Jeśli w sieci nie znalazł się odbiorca komunikatu, np. z powodu fałszywego adresu lub gdy odbiornik nie ma wolnego bufora do zapisania komunikatu, to nadajnik interpretuje to zdarzenie jako brak potwierdzenia NAK.

Koncepcje budowy węzłów sieci MOST. Do realizacji węzłów w sieci MOST wymagane są dedykowane do tego celu układy elektroniczne. Jednym z producentów takich rozwiązań układowych, jak też przewidzianych dla nich narzędzi, jest firma Microchip.

Szymon Panecki, EP

Artykuł ukazał się w
Elektronika Praktyczna
czerwiec 2015
DO POBRANIA
Pobierz PDF Download icon

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik marzec 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio marzec - kwiecień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje marzec 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna marzec 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich kwiecień 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów