Autóipari beágyazott rendszerek Local Interconnection Network 1
Áttekintés Motiváció Kis sebességigényű alkalmazások A CAN drága Kvarc oszcillátort igényel Speciális perifériát igényel Két vezetéket igényel Olyan protokollra van szükség, ami a legegyszerűbb mikrokontrollerek perifériakészletével is kezelhető Történet A LIN konzorcium (BMW, VW, Audi, Volvo, Mercedes-Benz, Volcano, Motorola) a 90-es évek végén alakult Az első szabvány változat (1.3) 2002-ben került nyilvánosságra 2003-ban bemutatták a 2.0-ás változatot Jelenleg a 2.2 a legutolsó 2
Topológia Busz topológia Egy mester csomópont Irányítja a kommunikációt Megcímzi a szolgákat (üzenetküldés indítása) Több (tipikusan maximum 16) szolga csomópont Csak a mester kérdéseire válaszolnak Nincs szükség komplex protokoll veremre Nincs arbitráció Nincs ütközés menedzsment Statikus kommunikáció ütemezés Előre definiált ütemező táblák 3
Fizikai megoldás A busz egyetlen vezetékből áll Minden keret elején szinkronizáció történik Nincs szükség pontos órajelre a szolgákban Sebesség Maximum 20kbps Tipikus felhasználási területek Intelligens szenzorok (hőmérséklet, mozgás, billentyűzet) Intelligens beavatkozók (ajtózár, ülésfűtés, ) 4
Kommunikáció Minden csomóponton van egy szolga taszk Figyeli a buszt Figyeli az üzenet fejléceket Ha az üzenetet ő adja, a fejléc után elküldi az üzenetet Ha az üzenetet vennie kell, a fejléc utáni adatokat tárolja A mester csomóponton van egy mester taszk is Végrehajtja az ütemező táblát Az aktuális üzenet fejlécét elküldi a buszra Az üzeneteknek azonosítójuk van Nem a küldő és a fogadó számít, hanem a tartalom Kommunikáció lehet mester-szolga, vagy szolga-szolga Mindig a mester adja az üzenet fejléceket 5
Ütemezés Az üzenetváltás ütemezését a mester taszk végzi A LIN hálózatok üzenetvezérelten működnek Az ütemező tábla (schedule table) vezérli A tábla időzítését a bázis idő (T base ) adja értéke tipikusan 5 vagy 10ms Az üzenet küldésének lehet csúszása (jitter) A keretek közötti időt inter-frame space-nek hívjuk Az ütemező tábla meghatározza az üzenetek küldésének idejét Egy hálózaton egy időben egy ütemező tábla aktív A táblát lehet váltani (pl. járműállapottól függően) A LIN protokoll többféle kerettípust definiál 6
LIN keretek Normál (unconditional) keret Adatértékeket hordoz Azonosítója 0..59 lehet A kereteket mindig továbbítják a hozzájuk rendelt szlotban A mester taszk mindig elküldi a fejlécet A küldő szolga taszk minden esetben válaszol rá A keretet minden vevő feldolgozza, a benne levő adatokat átadja a saját alkalmazási rétegének 7
LIN keretek Eseményvezérelt (event-driven) keret Adatértékeket hordoz Azonosítója 0..59 lehet A kereteket csak akkor továbbítjuk, ha egy bennük levő jel változott A mester taszk mindig elküldi a fejlécet A küldő szolga taszk csak változás esetén válaszol Egy szlothoz több küldőt lehet rendelni Ha egyik sem válaszol, nincs új adat Ha egy válaszol, a keret megjelenik a buszon, a vevők feldolgozzák Ha több válaszol, a buszon ütközés történik 8
LIN keretek Eseményvezérelt (event-driven) keret Ütközés feloldás A mester érzékeli a több küldő miatti ütközést Átvált egy ütközésfeloldó ütemező táblára Ennek során minden küldő dedikált szlotban küldheti el a keretét Majd visszaáll az eredeti ütemező tábla végrehajtására 9
LIN keretek Sporadikus (sporadic) keret Adatértékeket hordoz Azonosítója 0..59 lehet Lassan változó jelekhez Csak változás esetén küldik Csak a mester küldheti Egy szlotban több keret lehet Mivel a mester tudja, melyik vár küldésre, a megfelelő fejlécet küldi előtte Nincs ütközés 10
LIN keretek Diagnosztikai (diagnostics) keret Transzport protokoll (TP) részei Azonosító: 60, 61 Az üzenet tartalma a TP specifikációja alapján A mester a saját keretét csak aktív diagnosztika esetén küldi A szolga keret fejlécét mindig kiküldi A TP felett diagnosztikai szolgáltatásokat valósítanak meg Fenntartott azonosítók A 62, 63 azonosítókat nem lehet használni (későbbi bővítésre fenntartottak) 11
Keretformátum 12
Keretformátum Szinkronizációs szünet Legalább 13 darab 0 bit Megsérti a normál UART keretformátumot, ezért általában dedikált funkció szolgál a küldésére és felismerésére az autóipari mikrovezérlőkben 13
Keretformátum Szinkronizációs mező. Értéke 0x55, minden második bit 1. Az élváltások segítségével a vevő szinkronizálhatja a kommunikációs sebességet a mesterével. Az már normál UART byte-nak felel meg (start és stop bit van) 14
Keretformátum Azonosító A felső hat bit az azonosító értéke Az alsó két bit paritás 15
Keretformátum Adatbyteok 1-8 darab Alkalmazási adatok továbbítására 16
Keretformátum Ellenőrző összeg Az adatbyte-ok és az azonosító összegének inverze. Klasszikus ellenőrző összeg esetén csak az adatbyte-ok összegének inverze. 17