česky english Vítejte, dnes je sobota 23. listopad 2024

Možnosti použitia LIN zbernice v elektronike

DPS 3/2014 | Články
Autor: Ing. Ľubomír Livovský, Ph.D., KTE-FEI, TU v Košiciach

Moderné automobily obsahujú množstvo senzorov a akčných členov, ktoré sú vo väčšine prípadov vzdialené od počítača, ktorý je zodpovedný za monitorovanie dát zo senzorov a riadenie akčných členov (motory, svetlá a pod.). Obojsmerná komunikácia s koncovými zariadeniami v automobiloch sa vykonáva po zbernici LIN (Local Interconnect Network) a riadi sa podľa špecifikácií, ktoré sú zhrnuté v dokumente „LIN Specification Package“ ako výsledok dohody konzorcia popredných svetových výrobcov automobilov a elektronických súčiastok.

Článok je zameraný na stručnú charakteristiku LIN zbernice s cieľom poukázať na možnosti využitia hardvérového riešenia prepojenia zariadení v mikroprocesorových aplikáciách pomocou jednoduchého riešenia, ktoré môže podstatne zvýšiť počet pripojených zariadení k riadiacemu mikropočítaču.

Charakteristika LIN zbernice

LIN zbernica je trojvodičová sériová zbernica s jedným dátovým vodičom, vyvinutá pre použitie v automobilovom priemysle rozšírením štandardu ISO 9141. Dáta sa prenášajú len po jednom vodiči, ďalšie dva vodiče slúžia na napájanie prípojných uzlov zbernice. V automobilovom priemysle nachádza uplatnenie ako lokálna zbernica pre komunikáciu nielen so senzormi, ale aj akčnými členmi, ako sú napríklad motory ovládania okien, spätných zrkadiel, sedadiel, ovládanie svetiel, centrálne zamykanie a podobne. V hierarchii zberníc používaných v automobiloch je LIN zbernica na najnižšej úrovni a komunikácia s riadiacim počítačom je prostredníctvom nadriadenej CAN (Controller Area Network) zbernice s využitím prevodníka medzi CAN a LIN zbernicou. Prenosová rýchlosť na zbernici je v rozsahu od 1 Kbit/s do 20 Kbit/s, pričom dáta sú prenášané jedným vodičom s maximálnou dĺžkou 40 m. Napätie na LIN vodiči je 12 V, čo predstavuje palubné napätie siete v automobiloch. Na jednu LIN zbernicu môže byť pripojených najviac 15 prípojných bodov, ktoré dokážu prijímať aj vysielať dáta.

Možnosti použitia LIN zbernice v elektronike 1

Obr. 1 Zobrazenie priebehu komunikácie na LIN vodiči

LIN zbernica je typu jeden master a jedného alebo viacerých slave (nadriadený – podriadený), pričom master riadi prenos správ na zbernici, slave prípojné body sledujú komunikáciu na zbernici, preberajú a analyzujú prijaté dáta. Slave môže vysielať dáta len v prípade požiadavky zo strany master riadiacej jednotky.

Komunikácia na LIN zbernici pozostáva z posielaní správ, ktoré je možné rozdeliť na hlavičku správy a odpoveď na správu. Združením hlavičky a správy do jedného celku sa vytvorí blok dát – rámec (frame).

Hlavičku správy vždy generuje master a tvoria ju:

  • synchronizačný štartovací impulz (Sync break), slúži na aktivovanie slave prípojných bodov a prípravu na príjem dát,
  • synchronizačný byte (Sync byte), slúži na synchronizáciu vnútorných hodín slave prípojných bodov,
  • identifikačný byte správy (ID byte), určuje charakter aktivity slave prípojného bodu.

Za hlavičkou nasleduje odpoveď na správu, ktorú môže posielať slave alebo master. Jednotlivé časti správy sa združujú do celkov (frame) kvôli synchronizácii, smerovaniu správy a kontrole prenosu (obr. 1). Každý byte sa skladá zo štartovacieho bitu, 8 dátových bitov, pričom ako prvý sa vysiela najmenej významový bit (LSB) a vysielanie bytu sa ukončuje stop bitom. Prenosová rýchlosť na LIN zbernici sa pohybuje v rozsahu od 1 Kbit/s do 20 Kbit/s. Z charakteristiky LIN zbernice je možné definovať úlohy pre master a slave prípojné body.

Master zabezpečuje nasledujúce úlohy:

  • generuje štartovací impulz (Sync break),
  • vysiela synchronizačný byte (Sync byte) – synchronizácia hodín slave zariadení (spravidla je to 55 hexa),
  • vysiela identifikačný byte správy (ID byte). Tvorí ho 6 bitov, ktoré identifikujú správu (spolu je možné definovať 64 typov správ) a dvoch paritných bitov, ktoré zabezpečujú integritu ID bytu,
  • monitoruje prenos dát na zbernici a vyhodnocuje ich platnosť pomocou bytu kontrolný súčet.

Slave vykonáva nasledujúce úlohy:

  • Po vyslaní štartovacieho impulzu prijíma synchronizačný byte a identifikačný byte.
  • Na základe dekódovania identifikačného bytu:
  • pokračuje v prijímaní dát,
  • alebo vysiela 1, 2, 4 alebo 8 dátových bytov a vysiela byte kontrolného súčtu,
  • alebo nevykonáva nič a čaká na ďalší štartovací impulz.

Možnosti použitia LIN zbernice v elektronike 2

Obr. 2 Priebeh komunikácie medzi master a slave na LIN zbernici

Na obr. 2 je znázornená postupnosť prenosu dát medzi master a slave prípojnými bodmi, pričom modrá farba znázorňuje smer a postupnosť prenosu hlavičky správy a žltá farba znázorňuje smer a postupnosť prenosu odpovede.

Možnosti použitia LIN zbernice v mikroprocesorových aplikáciách

V elektrotechnickej praxi často stojíme pred problémom získavania meraných dát zo senzorov alebo je potrebné ovládať rôzne akčné členy, ako sú napríklad krokové motory, relé a podobne. Nie vždy sa tieto zariadenia nachádzajú v bezprostrednej blízkosti riadiacich počítačov. Ideálnym riešením je použitie obojsmernej dátovej zbernice. Moderné mikropočítače už obsahujú okrem iného aj vstupno-výstupné obvody, ktorých súčasťou sú aj sériové zbernice, ako napr. SPI (Serial Peripheral Interface), I2C (Inter-integral Circuit), USART (Universal Synchronous Asynchronous Receiver Transmitter). Niektoré komunikačné rozhrania sú predurčené na pripojenie viacerých zariadení, napr. I2C, a niektoré neumožňujú bez dodatočného hardvéru pripojiť viac ako jedno zariadenie. Taktiež dĺžka vedenia je v rozsahu 1 m až 15 m.

Možnosti použitia LIN zbernice v elektronike 3

Obr. 3 „Transceiver“ NCV7321, vľavo rozloženie vývodov, vpravo bloková schéma

Pre riešenia, kde je potrebné prepojiť do 15 zariadení s dĺžkou vedenia 40 m, je možné použiť hardvérové riešenie LIN zbernice, ktoré zabezpečí vzájomné prepojenie mikroprocesorov pomocou dátovej linky. Využívanie dátovej linky na prenos dát medzi jednotlivými prípojnými bodmi sa vykoná pomocou komunikačného protokolu, ktorý musí obsahovať každé prípojné miesto na zbernici. Inak povedané, je potrebné softvérovo vytvoriť master a slave zariadenie.

Aplikovanie LIN zbernice (prepojenie zariadení pomocou jedného dátového vodiča) predpokladá použitie prevodníka medzi RX a TX signálmi procesora a dátovým vodičom zbernice. Tento problém je možné riešiť mikropočítačom s LIN zbernicou. Mikropočítače, ktoré nedisponujú LIN rozhraním, je potrebné doplniť obvodom s označením „transceiver“ („transmitter“ – vysielač a „receiver“ – prijímač). Ako príklad je možné uviesť obvody: NCV7321 od ON Semiconductor, TJA1020 od NXP Semiconductors, TPIC1021 od Texas Instruments a podobne. Vyrábajú sa prevažne v puzdre SOIC8 a sú navzájom pinovo kompatibilné. Okrem hlavnej funkcie týchto obvodov vyznačujú sa aj inými funkciami, ktoré sa môžu u jednotlivých výrobcov mierne líšiť.

Možnosti použitia LIN zbernice v elektronike 4

Obr. 4 Vytvorenie viacnásobnej LIN zbernice v mikroprocesorovej aplikácií

Na obrázku 4 je znázornený príklad vytvorenia viacnásobnej LIN zbernice medzi mikropočítačom vo funkcii master a mikropočítačmi vo funkcii slave, ktoré môžu zabezpečovať zber dát zo senzorov a potom dáta posielať na požiadanie hlavnému (master) mikropočítaču, respektíve na základe prijatých dát môžu ovládať smer a otáčky krokového motora. Na každú dátovú linku, ktorej dĺžka môže byť 40 m, je možné pripojiť až 15 prípojných bodov (slave). Jednotlivé dátové linky aktivuje mikropočítač pomocou signálov výberu (enable). LIN dátové vodiče sú cez „transceiver“ pripojené na UART procesora, čo znamená že master môže súčasne komunikovať len s jedným slave zariadením.

Možnosti použitia LIN zbernice v elektronike 5

Obr. 5 LIN zbernica s možnosťou pripojenia k PC alebo k sieti

Na obr. 5 je znázornená idea, ako je možné pripojiť dátovú linku k počítaču cez USB zbernicu alebo vytvoriť prepojenie medzi LIN dátovou linkou a Ethernet sieťou. V prvom prípade je vhodné použiť obvod (prevodník UART IC a USB) FT230X alebo FT232H od Future Technology Devices International. V druhom prípade pomocou web servera XPORT (prevodník UART IC a Ethernet). V oboch prípadoch je potrebné použiť „transceiver“ na pripojenie k LIN zbernici. Pripojenie k počítaču cez USB, resp. cez Ethernet sieť, môže slúžiť na monitorovanie aktivít na LIN dátovej linke a realizovať diaľkovú kontrolu nad procesom riadenia slave zariadení, resp. zobrazovať prebiehajúce procesy na stolnom počítači, čo môže pomôcť pri ladení komunikácie na LIN zbernici.

Princíp prenosu dát po dátovej linke

Prenos dát po sériovej linke sa riadi určitými pravidlami. Ťažisko komunikácie je v softvérovej podpore, ktorá bude umožňovať súčasné pripojenie viacerých zariadení na spoločný dátový vodič. Používanie fyzickej vrstvy LIN zbernice v mikroprocesorových aplikáciách nevylučuje použitie vlastných pravidiel, ktorými sa bude riadiť prenos dát na dátovej linke medzi mikropočítačom a pripojenými zariadeniami na zbernici. Všetky zariadenia pripojené k zbernici musia mať rovnaké nastavenie parametrov UART-u, teda prenosovú rýchlosť, počet dátových bitov, paritu a počet stop bitov.

Komunikácia po zbernici by sa mala riadiť nasledujúcimi bodmi:

  • Určiť začiatok a koniec prenosu dát. Na určenie začiatku a konca prenosu je možné použiť vopred definované byty. Začiatok prenosu je určený vyslaním štartovacieho bytu v kľudovom stave dátovej linky.
  • Definovať adresovanie prípojných bodov (zariadení) pričom je vhodné vyhradiť adresu, na ktorú by reagovali všetky slave zariadenia. Umožní sa tým hromadné ovládanie niektorých funkcií slave zariadení.
  • Dátový blok by mal obsahovať informáciu o tom, kto vysiela a kto má prijímať dáta. V prípade, ak sa vyšle vyhradená adresa, reagujú všetky slave zariadenia.
  • Dátový blok by mal obsahovať kód príkazu, ktorým je jednoznačne špecifikovaná činnosť slave zariadenia.
  • Definovať maximálny počet prenesených dátových bytov, čo má podstatný vplyv na maximálnu dĺžku dátového bloku. Informácia je potrebná na správne alokovanie pamäte pre vstupný zásobník sériového príjmu tak, aby nedošlo k jeho pretečeniu a tým k strate dát v komunikácií. Súčasne je potrebné do dátového bloku umiestniť informáciu o skutočnom počte dátových bytov.
  • Zabezpečiť výpočet kontrolného súčtu, ktorý slúži na kontrolu integrity dát. Výpočet kontrolného súčtu sa musí vykonávať u všetkých účastníkov podľa rovnakého algoritmu. Pre kontrolný súčet s dĺžkou 1 byte je možné použiť napríklad algoritmus podľa kapitoly 2.8.3 dokumentu „LIN Specification Package Revision 2.2A“.
  • Definovať časové parametre komunikácie, ako je časová medzera medzi posledným a novým dátovým blokom, časový interval na prijatie odpovede od slave zariadenia, maximálny dovolený časový úsek medzi jednotlivými bytmi dátového bloku a pod.

Na obr. 6 je znázornené vytvorenie dátového komunikačného bloku.

Možnosti použitia LIN zbernice v elektronike 6

Obr. 6 Návrh bloku dát

Poďakovanie:

Tento článok bol vypracovaný s podporou projektu „Vývoj unikátneho nízkoenergetického statického zdroja pre elektrosystémy“, ITMS 26220220029, ktorý je spolufinancovaný zo štrukturálneho fondu EÚ ERDF v rámci výzvy OPV a V-2008/2.2/01-SORO a prioritnej osi 2 Podpora výskumu a vývoja.

Literatura

[1] „LIN Specification Package Revision 2.2A“, December 31, 2010

[2] „Introduction to LIN“, http://elearning.vector.com/vl_lin_introduction_portal_en.html

[3] „Lin protocol description“ http://www.freescale.com/files/microcontrollers/doc/reports_presentations/LINOVERVIEWPRESENT.ppt

[4] http://www.lin-subbus.org