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.
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.
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:
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:
Slave vykonáva nasledujúce úlohy:
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.
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.
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ť.
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.
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.
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:
Na obr. 6 je znázornené vytvorenie dátového komunikačného bloku.
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.
[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