česky english Vítejte, dnes je úterý 19. listopad 2024

MMI rozhraní člověk-stroj podle Rystonu

DPS 2/2012 | Články
Autor: Ryston Electronics

Úvod

Základními požadavky při návrhu elektronických zařízení jsou zajisté spolehlivost, elektromagnetická kompatibilita a především bezpečnost. Pro úspěšnou konstrukci elektronického zařízení na profesionální úrovni je však nutné brát v úvahu i technologickou a ekonomickou vyrobitelnost a testovatelnost, ale hlavně požadavky zákazníka, který na přední místo jejich seznamu klade nízkou cenu, líbivý design a především snadnou a praktickou ovladatelnost výsledného zařízení.

Většina elektronických zařízení dnes totiž vyžaduje uživatelské rozhraní (MMI, Man-Machine Interface), které slouží k jejich příjemnému ovládání a prezentaci stavů. Uživatelské rozhraní může být jednoduše realizováno pomocí ovládacích tlačítek a indikačních LED diod. Složitější systémy a zařízení už obvykle vyžadují použití dotykových grafických displejů.Ve většině případů je realizace uživatelského rozhraní plně dostačující pro použití například maticové klávesnice v kombinaci se znakovým LCD displejem.

MMI rozhraní člověk-stroj podle Rystonu1.jpg

Obr. 1 Provedení terminálu s fóliovou klávesnicí po straně displeje – aplikace v routeru

Uživatelské rozhraní se však často stává „popelkou“ vývojářského úsilí, protože na řadu přichází až naposled nebo na ně zbudou poslední síly. Poučeni předchozími zkušenostmi jsme se pokusili vytvořit vícekrát použitelné, a proto inteligentní rozhraní střední kategorie, pro něž jsme zvolili relativně laciný znakový LED displej a malou maticovou klávesnici.

LCD znakové displeje nemají pevně stanovené a standardizované rozhraní, nicméně většina LCD znakových displejů je v dnešní době založena na integrovaném obvodu HD44780 či jeho ekvivalentu, který využívá k řízení displeje paralelní rozhraní. Pro komunikaci s displejem je tedy nutné použít paralelní datovou sběrnici (4bitovou nebo 8bitovou) nebo port společně s dalšími řídicími signály, napájením a zemí. Takový počet vývodů je nutné propojit z displeje do řídicí části navrhovaného zařízení, což může v některých aplikacích výrazně zvýšit nároky na počet vývodů řídicího procesoru. Navíc ovládání displeje a snímání tlačítek může ovlivnit jeho výpočetní výkon, protože se procesor musí starat o obíhání pomalého rozhraní, a to poměrně často. Tak se paralelní rozhraní displeje stává spíše nevýhodou.

Hlavním řídicím prvkem elektronických zařízení jsou procesory, počínaje jednočipovými mikroprocesory (MCU), přes digitální signálové procesory (DSP) až po nejvýkonnější vícejádrové procesory. Nezávisle na typu použitého procesoru, je jedním ze základních rozhraní, které mají procesory integrované, sériové komunikační rozhraní typu UART (Universal Asynchronous Receiver and Transmitter). Ke komunikaci prostřednictvím rozhraní UART uvnitř zařízení zpravidla postačují dva signály (TX a RX), které obvykle používají běžné logické úrovně (typicky 5V TTL nebo 3,3V LVTTL). Toto rozhraní v MCU je zpravidla podporováno mechanismy přerušení, bufferů na znaky aj., které výrazně šetří čas procesoru. Rozhraní UART je navíc možné jednoduše přizpůsobit standardům RS-232 nebo USB pomocí specializovaných obvodů, které jsou k tomu určeny.

Ideálním rozhraním k připojení relativně samostatného, inteligentního uživatelského rozhraní na krátkou vzdálenost uvnitř navrhovaného zařízení je tedy UART/TTL nebo jeho ekvivalenty (RS232, USB). Indikační a ovládací prvky je možné sdružit, řídit a připojit prostřednictvím komunikačního rozhraní, za cenu přidaného malého procesoru do této jednotky. Když začínáte od nuly, musíte takový MMI terminál navrhnout, vyrobit, otestovat a ověřit jeho funkčnost. Nabízíme jednodušší variantu – použít již v Rystonu vyvinutý a otestovaný typ MMI terminálu.

Blokové schéma terminálu

Terminál MMI je vhodný k instalaci do panelů průmyslových zařízení, které vyžadují náročnější indikaci stavů (než jen několik LED), případně interaktivní zásah obsluhy nebo dohled či monitoring stavových veličin. Typickým příkladem takových přístrojů mohou být technologická zařízení všeho druhu, zabezpečovací, přístupové a informační terminály, switche a routery aj.

MMI rozhraní člověk-stroj podle Rystonu2.jpg

Obr. 2 Blokové schéma terminálu

Komunikační terminál je mechanicky navržen ze dvou panelových jednotek tak, aby bylo možné číst standardní znakový LCD displej (16×2 znaků), a ovládat dění v zařízení pomocí klávesnice s max. 10 tlačítky (zakázkové fóliové nebo prosvětlovací tlačítkové 2×5), a to buď pod displejem anebo na jeho straně. Rozměry terminálu jsou koncipovány tak, aby ho bylo možno umístit i do předního panelu průmyslového zařízení 1U.

Terminál MMI kromě panelových jednotek displeje a klávesnice je tvořen ještě deskou procesoru ATMEGA16 (16 kB FLASH, 1 kB RAM) stejných rozměrů a polohy konektorů jako panelové jednotky, takže je možno snadno ho zamontovat k nim pomocí distančních sloupků a jednoduchých kablíků. Procesor umožňuje připojení znakových i grafických displejů, externího SPI LED panelu a maticové klávesnice. K hlavnímu procesoru nebo PC je možné MMI terminál připojit pomocí rozhraní UART, které je možné na desce osadit v několika variantách: USB, RS-232 nebo LVTTL fyzické rozhraní.

MMI rozhraní člověk-stroj podle Rystonu3.jpg

Obr. 3 Pohled na části terminálu na podložce pro ladění

Na desce procesoru je dále paměť EEPROM, obsahující potřebné kódy a tabulky protokolu. Její obsah je v širokém rozmezí programovatelný uživatelsky.

Terminál MMI je možné napájet několika možnými způsoby. Nejjednodušším řešením z pohledu propojení s „embedded“ PC je varianta napájení přímo z USB. Varianty UART/TTL a RS-232 musí být doplněny o napájecí konektor +5 V, případně vyššího napájecího napětí 9 V, 12 V nebo 24 V, které upravuje integrovaný stabilizátor na potřebných +5 V. Spotřeba je zanedbatelná, největší položkou je podsvícení LCD, které je cca 200 mA z 5 V. Další spotřebu generují případně připojené LED matice (jedna LED má typickou spotřebu 10–20 mA).

Software a komunikační protokol

Terminál umožňuje připojení a komunikaci s externím CPU pomocí UART rozhraní ve dvou režimech (transparentní a příkazový). Oba režimy využívají ke komunikaci standardní komunikační sériové rozhraní s rychlostí 115 kbps ve variantách USB, RS-232 nebo LVTTL. Následující popis je zjednodušen, snažili jsme se o přiblížení typického použití.

MMI rozhraní člověk-stroj podle Rystonu - tabulka1

Po restartu je MMI terminál nastaven do transparentního „dumb“ režimu, kdy po sériovém rozhraní vysílá jednotlivé ASCII kódy kláves z terminálu do hlavního procesoru. V opačném směru MMI zobrazuje na připojeném LCD displeji přijímaná data z hlavního procesoru. Stisk klávesy na MMI terminálu vyvolá odeslání příslušného ASCII znaku a uvolnění klávesy vyvolá odeslání ASCII netisknutelného znaku (00)H.

MMI rozhraní člověk-stroj podle Rystonu - tabulka2

Terminál MMI je možné přepnout do režimu příkazů. Tento typ přenosu je určen pro vzájemnou komunikaci mezi terminálem a připojeným CPU. Komunikační protokol je založen na zabezpečené výměně zpráv v přesně definovaném tvaru a počet a typ zpráv lze libovolně rozšiřovat.

Nespornou výhodou MMI terminálu je jeho možnost použití i jako autonomního nebo rozšiřovatelného řídicího prvku, který může prostřednictvím dalších rozhraní (I2C, SPI…) ovládat další periferie (matici LED, dokonce i výkonové prvky, AD převodníky atd.). K terminálu MMI je totiž dostupná i předkompilovaná knihovna, která má implementovány již všechny funkce pro ovládání LED, displeje a tlačítek a je možné ji tedy použít jako knihovnu do vlastní aplikace, která bude spuštěna na MMI terminálu.

Stejně tak je dostupná aplikace pro CPU, který řídí MMI terminál. Realizace menu na displeji je například jednoduše konfigurovatelná pomocí XML souboru, který se přeloží do EEPROM (tabulka 2). Tuto XML strukturu, popisující dvourozměrné menu, je možno dále rozvíjet. Základní myšlenkou je však to, že řídicí systém zařízení se nezdržuje formátováním výstupu, pouze v určité své situaci (stavu, kauze) po sériové lince do MMI rozhraní pošle číslo kauzy a čeká na odpověď z dohodnuté množiny povolených odpovědí, s možným time-outem. Dá se definovat například to, že na horní řádek displeje se napíše popis situace a do dolního se zapíší pseudografické symboly (šipky nebo plus/minus) patřící k tlačítkům pod nimi (klávesnice je pod displejem), a podsvítí se právě ta tlačítka, která má smysl stisknout (například sada šipek a dvojšipek typu joystick nebo přehrávač a nebo jen Enter).

MMI rozhraní člověk-stroj podle Rystonu4.jpg

Obr. 4 Pohled zevnitř na uspořádání částí terminálu

Shrnutí

MMI terminál je tak ideálním řešením pro jednoduché i poměrně složité průmyslové aplikace, které vyžadují interakci s uživatelem. Při použití MMI terminálu se implementace klávesnice a displeje stává jednoduchou záležitostí, která usnadní a výrazně zkracuje čas vývoje. MMI terminál má poměrně skromné mechanické požadavky na montážní otvory a hloubku zástavby i kabeláž, jak ukazují obr. 2 a 3. Vyvinuté desky je navíc možné použít i k připojení víceřádkových nebo grafických displejů, anebo k testování a ladění téměř libovolného znakového displeje. Protistranou inteligentního terminálu může být téměř libovolný procesor se sériovou linkou: od jednoduchého řadiče kategorie PIC, přes Atmegy, V, členy rodiny ARM9, Cortex, až k vestavným PC.