HMI - ovládání, zobrazování, vizualizace

HMI-AUTOMATIZACE - ŘÍZENÍ - MULTIPLEX
Provoz webu zajišťuje:

www.hapesoft.cz

Multiplexové řízení segmentových LED zobrazovačů

Charakteristika

Pro aplikace, kde si vystačíme se zobrazováním několika málo znaků je postačující přímé řízení zobrazovačů. Pro aplikace, kde je potřeba zobrazovat více znaků (např. delší, přesnější číslo, text hlášení a pod.) narůstá u přímého řízení počet vodičů, které je nutno použít k přenosu dat směrem k jednotlivým zobrazovačům. Řešením pro tuto situaci je použití společné sběrnice pro přenos dat a tyto data multiplexovat. V tomto případě se již příliš nezvyšuje počet propojovacích datových vodičů v závislosti na počtu zobrazovačů.

Multiplexové řízení pracuje se skupinou společných vodičů (DATA) jejichž stav v jednom časovém okamžiku představuje jednu konkrétní informaci o stavu (například kódu znaku). Platnost této informace je potvrzována vzorkovacím signálem STROBE, zpravidla s jeho náběžnou hranou. Provoz displejů s multiplexovým řízením je principiálně statický, protože aktualizaci zobrazení (REFRESH) je potřeba provádět pouze při změně zobrazované hodnoty.

Multiplexové řízení

Varianta A

Společnou sběrnici zde tvoří DATA 0-3 o šířce 4 bitů. Na této sběrnici je postupně generována informace (kód) pro jednotlivé zobrazovače. Platnost informace (DATA) pro konkrétní pozici zobrazovače je potvrzena impulsem na jednom ze signálů STROBE (0-3), kdy se tato informace zapíše do konkrétní pomocné paměti, kde setrvá až do dalšího zápisového impulsu. Informace je dále z paměti přivedena ke znakovému generátoru, který zajistí rozsvícení správných segmentů zobrazovače, podle přijaté informace (kódu). Příklad pro toto řešení je uveden na obrázku 2a.

Řízení se společnou
        sběrnicí.
Obrázek 2a
Řízení se společnou sběrnicí, varianta A.

Pro zobrazení desetinné tečky jsou vyhrazeny 4 samostatné bity (D.POINT). Pro úsporu energie a řízení jasu je možno využít signály ENABLE.

Pro požadovanou funkčnost je nutno dodržet správný sled generování informace na signálech DATA pro jednotlivé pozice a správné časování zápisových impulsů STROBE, které je uvedeno dále.

Shrnutí

Podmínky:Elektrické přizpůsobení datových a řídících signálů mezi zdrojem řízení a obvody zobrazovače.
Výhody:Snížení počtu datových vodičů na 4, které jsou společné pro všechny zobrazovače bez ohledu na jejich počet.
Nevýhody:Tvar znaku je pevně předdefinován ve znakovém generátoru, nelze vůbec nebo věrohodně zobrazit veškeré znaky abecedy (podle počtu segmentů), bez pomocného řízení zvyšuje proudovou spotřebu v násobku použitých zobrazovačů.
Řízení:Řízení z PLC možné, převážně ve statickém režimu.

Varianta B

Varianta B, na obrázku 2b, je oproti variantě A mírně HW úspornější. V zapojení je pro každý zobrazovač použita pomocná paměť (LATCH) a generátor. Paměť uchovává informaci o zobrazovaném znaku (aktivních segmentech), generátor ji pouze převádí na kód pro zobrazení na segmentech. Úpravou zapojení lze docílit toho, že bude potřebný pouze jeden znakový generátor a v pomocné paměti se bude uchovávat přímo informace o tom, které segmenty mají být rozsvíceny.

Řízení se společnou sběrnicí.
Obrázek 2b
Řízení se společnou sběrnicí, varianta B.

Pro zobrazení desetinné tečky se používá pouze jeden bit (D.POINT), který je aktivován ve stejném okamžiku jako data zobrazovaná na konkrétním zobrazovači a jeho stav se ukládá do paměti zobrazovače stejně jako informace o svitu/zhasnutí segmentu.

Pro požadovanou funkčnost je nutno dodržet správný sled generování informace na signálech DATA pro jednotlivé pozice a správné časování zápisových impulsů STROBE, které je uvedeno dále.

Shrnutí

Podmínky:Elektrické přizpůsobení datových a řídících signálů mezi zdrojem řízení a obvody zobrazovače.
Výhody:Snížení počtu datových vodičů na 4, které jsou společné pro všechny zobrazovače bez ohledu na jejich počet. Snížení počtu vodičů pro zobrazení desetinné tečky.
Nevýhody:Tvar znaku je pevně předdefinován ve znakovém generátoru, nelze vůbec nebo věrohodně zobrazit veškeré znaky abecedy (podle počtu segmentů), bez pomocného řízení zvyšuje proudovou spotřebu v násobku použitých zobrazovačů. Zavedení interní sběrnice mezi zobrazovači o velikosti odpovídající počtu segmentů v zobrazovači.
Paměti zpravidla nemají dostatečně výkonové výstupy (proudové zatížení) a je nutno je posílit.
Řízení:Řízení z PLC možné, převážně ve statickém režimu.

Varianta C

Varianta C představuje opět princip přímého řízení jednotlivých segmentů a použití programového znakového generátoru ale s tím, i přes potřebu velkého počtu předávaných stavů pro segmenty, je počet potřebných datových vodičů výrazně redukován. Zapojení je uvedeno na obrázku 2c.

Řízení se společnou sběrnicí.
Obrázek 2c
Řízení se společnou sběrnicí, varianta C.

Shrnutí

Podmínky:Elektrické přizpůsobení datových a řídících signálů mezi zdrojem řízení a obvody zobrazovače.
Výhody:Možnost statického nebo dynamického řízení segmentů, vytvoření vlastního znaku, animace, nepotřebuje externí generátor znaků (HW), u 7 segmentových zobrazovačů lze upřednostnit pro zobrazování hodnot desítkové nebo hexadecimální soustavy.
Nevýhody:Omezená možnost zobrazení reálného tvaru znaku, nelze vůbec nebo věrohodně zobrazit veškeré znaky abecedy (podle počtu segmentů), programově může být obsluha složitější, velký počet datových vodičů, bez pomocného řízení zvyšuje proudovou spotřebu v násobku použitých zobrazovačů.
Paměti zpravidla nemají dostatečně výkonové výstupy (proudové zatížení) a je nutno je posílit.
Řízení:Řízení z PLC možné, převážně ve statickém režimu.

Programová obsluha

Programová obsluha pro řízení se společnou sběrnicí je principiálně shodná pro všechny výše uvedené varianty. V systému je potřeba konvertovat binární hodnotu čísla na kód BCD u varianty A a B nebo u varianty C přímo na zobrazované segmenty. Tento kód se po 4 bitech u varianty A a B nebo po 8 bitech u varianty C přivede na výstupy systému a jeho platnost je po ustálení dat na výstupu ze systému potvrzena krátkým impulsem signálu STROBE 0-3 podle toho, na jaké pozici zobrazovače se má informace zobrazit viz obrázek 3.

U varianty A je možno desetinnou tečku zobrazit samostatně.

U varianty B je nutno přihlédnout k potřebnému času zpracování ve znakovém generátoru (řádově ns) a zápisový impuls o tento čas zpozdit a podle zapisované pozice synchronizovat stav signálu pro desetinnou tečku.

U varianty C je do systému nutno doplnit programový znakový generátor, na výstupu systému se pak nachází přímo informace o tom, které segmenty mají být rozsvíceny/zhasnuty včetně desetinné tečky (viz přímé řízení).

Řízení postupného zápisu.
Obrázek 3
Řízení postupného zápisu.

V časovém diagramu není znázorněno řízení signálů ENABLE pro ovládání spotřeby a jasu, které je v tomto případě na ostatním řízení nezávislé a obě řízení (STROBE a ENABLE) pracují asynchronně, tedy nezávisle na sobě. Při generování signálu STROBE je nutno vytvořit malé zpoždění tD-STR tak, aby před jeho příchodem došlo k ustálení stavu na signálech DATA.

Aplikace (užití)

Víceznakové řádkové displeje

Pro zobrazovaných většího počtu znaků je vhodné použít právě multiplexové řízení. Počet datových signálů již s nárůstem počtu zobrazovaných pozic nenarůstá, narůstá pouze počet potřebných řídících signálů STROBE a ENABLE. Příklad pro 8 zobrazovaných pozic bez redukovaného počtu řídících signálů je uveden na obrázku 4a (pro 7 segmentové zobrazovače) a na obrázku 4b (pro 16 segmentové zobrazovače).

7 segmentové zobrazovače. Zapojení 8 kusů 7 segmentových zobrazovačů v
        multiplexovém řízení bez redukce řídících signálů.
Obrázek 4a
Zapojení 8 kusů 7 segmentových zobrazovačů v multiplexovém řízení bez redukce řídících signálů.

Zapojení na obrázku 4a je rozšířením výše uvedené varianty C o další zobrazovače. Signály DATA obsahují informaci o tom, které segmenty mají být rozsvíceny na dané pozici a informaci o desetinné tečce. V tomto případě je již nutno použít 8 signálů STROBE pro zápis informace do pamětí a dalších 8 signálů ENABLE pro řízení spotřeby a jasu, celkem tedy 16 řídících signálů.

16 segmentové zobrazovače. Zapojení 8 kusů 16 segmentových zobrazovačů v
        multiplexovém řízení bez redukce řídících signálů.
Obrázek 4b
Zapojení 8 kusů 16 segmentových zobrazovačů v multiplexovém řízení bez redukce řídících signálů.

Zapojení na obrázku 4b je modifikací výše uvedené varianty A, kdy byl rozšířen počet datových signálů (DATA 0-6) pro zobrazení většího počtu znaků kódovaných podle základní ASCII tabulky s využitím harwareového generátoru znaků a správu zobrazování desetinné tečky. Počet potřebných řídících signálů stále 16, tedy stejný jako v předchozím případě na obrázku 4a.

Řízení zápisu dat pro oba případy je shodné, časový diagram je uveden na obrázku 5.

Časový diagram řízení postupného
        zápisu.
Obrázek 5
Časový diagram řízení postupného zápisu.

V časovém diagramu není znázorněno řízení signálů ENABLE pro ovládání spotřeby a jasu, které je v tomto případě na ostatním řízení nezávislé a obě řízení (STROBE a ENABLE) pracují asynchronně, tedy nezávisle na sobě. Při generování signálu STROBE je nutno vytvořit malé zpoždění tD-STR tak, aby před jeho příchodem došlo k ustálení stavu na signálech DATA.

V případech, kdy jsou zobrazovací prvky umístěny na stejné desce jako zdroj dat a řídících signálů, je možno se spokojit s použitím většího počtu řídících signálů. V případech, kdy tomu tak není, by vznikla nutnost vytvoření mnoho vodičového propojení, například mezi deskami plošných spojů. Tato situace by byla ještě náročnější se zvýšením počtu zobrazovaných znaků, např. pro informační bannery, kde je požadováno současné zobrazení velkého množství znaků.

Možným řešením pro tento případ je redukce řídících signálů STROBE a ENABLE s využití adresového dekodéru, kdy se mezi zdrojem signálu STROBE a záchytnou pamětí (LATCH) nebude přenášet konkrétní jednobitová bitová informace, ale bude se přenášet ADRESA pozice znaku (číslo pozice znaku ve binární podobě dvojkové soustavy), pro který jsou data určena. Dekódování se pak provádí přímo u zobrazovačů s potvrzením zápisu jedním společným zdrojovým signálem STROBE, který je podle adresy pozice znaku dekódován na STROBE 0-7, stejně tak ENABLE 0-7. Příklad tohoto zapojení řízení pro zobrazování stejného počtu znaků je uveden na obrázku 6.

16 segmentové zobrazovače. Zapojení 8 kusů 16 segmentových zobrazovačů
        v multiplexovém s redukcí řídících signálů.
Obrázek 6
Zapojení 8 kusů 16 segmentových zobrazovačů v multiplexovém řízení s redukcí řídících signálů.

Stejný princip redukce signálů jako u signálů STROBE byl použit i pro signály ENABLE. I v tomto případě platí, že tyto signály jsou vzájemně asynchronní, tedy na sobě nezávislé.

V porovnání zapojení na obrázcích 4a, 4b se zapojením na obrázku 6 potřebujeme v prvním případě 24 signálů pro řízení, ve druhém případě pouze 16 signálů. Aktuální rozdíl není příliš velký ale při použití dalších 8 zobrazovačů (celkem 16) představuje úspora dalších 14 signálů tj. 8x STROBE +8x ENABLE -1x adresový signál STROBE -1x adresový signál ENABLE = 14. Možné rozšíření je ve schématu na obrázku 6 znázorněno u dekodérů přerušovaným vodičem u adresy dat (D) a taktéž na straně výstupů (... 15).

Řízení zápisu dat a časový diagram je uveden na obrázku 7.

Časový diagram řízení postupného
        zápisu.
Obrázek 7
Časový diagram řízení postupného zápisu.

V časovém diagramu není znázorněno řízení signálů ENABLE pro ovládání spotřeby a jasu, které je v tomto případě na ostatním řízení nezávislé a obě řízení (STROBE a ENABLE) pracují asynchronně, tedy nezávisle na sobě. Při generování signálu STROBE je nutno vytvořit malé zpoždění tD-STR tak, aby před jeho příchodem došlo k ustálení stavu na signálech DATA a na adresových signálech znaku.

Programová obsluha

Programová obsluha se v principu neliší od případů uvedených v úvodu, tedy separace kódu jednotlivých znaků a jejich postupného potvrzování signálem STROBE. Rozdíl je ale v tom, že v případech podle obrázku 4a, 4b a 6 jsou mimo číslic tvořící číselnou hodnotu zobrazovány i další znaky a tomu je potřeba přizpůsobit programovou obsluhu zobrazování a sestavení pořadí znaků. Praktické je i využití kódové tabulky ASCII. Následně je popsán princip pro jednořádkový displej s 8 znaky, pouhou úpravou délky obsluhované paměťové oblasti je možno obsluhovat 16 znaků na řádku a vícenásobným opakování obsluhovat víceřádkové displeje.

V paměťové oblasti systému si vyhradíme paměťovou oblast komplexního datového typu STRING potřebné délky nebo elementární vektor potřebné velikosti typu CHAR. Vlastní zobrazované znaky jsou v tomto případě dvojího typu: statické a dynamické (proměnná hodnota).

Nejprve si připravíme statické znaky: na první znakovou pozici uložíme znak t/T (teplota), na druhou pozici prázdný znak (mezeru), na předposlední pozici zapíšeme znak ° (stupeň) a na poslední pozici znak C (celsius).

Pozice 3 až 6 využijeme pro zobrazení dynamické hodnoty (proměnná), kterou získáme konverzí reálného čísla na znakový řetězec (string). Tuto konvertovanou hodnotu ale nemůžeme do vyhrazené paměťové oblasti přenést přímo ale musíme zjistit přítomnost znaménka mínus (pokud je hodnota kladná doplnit mezeru nebo znak plus), další nutnou operací je potřeba odstranit desetinnou tečku a zapamatovat si její polohu v pomocné paměti, posunout desetinná místa o jednu pozici vlevo a odstranit (oříznout) hodnoty setin a další. Teprve takto upravenou hodnotu na 4 znaky je možno vložit do vyhrazené oblasti na 3-6 pozici. Takto připravený obsah vyhrazené paměťové oblasti můžeme přenést na displej.

Poznámka
Desetinná tečka se na těchto zobrazovačích nezobrazuje jako znak, ale jako doplňkový symbol u znaku. Z tohoto důvodu je potřeba tečku po konverzi z čísla na znaky odstranit a následně separátně zajistit její zobrazení.

Přenos zahájíme nastavením pomocného ukazatele na první znak (pozice 0), kód znaku přeneseme na výstupy společných dat (DATA 0-6) a to s použitím programového generátoru znaků pro případ podle obrázku 4a nebo přímo při použití hardwarového generátoru znaků podle obrázku 4b nebo 6. Je-li kód přenesen na výstupy aktivujeme první zápisový signál STROBE 0; při zapojení podle obrázku 4a a 4b přímo impulsem na odpovídajícím signálovém výstupu STROBE 0 nebo při zapojení podle obrázku 6 tak, že na adresové signální výstupy sloupce přivedeme binární hodnotu pozice aktuálního znaku ve dvojkové soustavě a její platnost potvrdíme společným signálem STROBE. Tento postup opakujeme pro další znaky v pořadí se zvýšením pomocného ukazatele o +1. V průběhu přenosu dat na výstupy je potřeba kontrolovat polohu desetinné tečky, tedy porovnávat zapisovanou pozici s hodnotou pozice desetinné tečky uložené pomocné paměti a v případě shody aktivovat odpovídající datový signál. Takto postupujeme až do vyčerpání všech zobrazovaných pozic, pak zahájíme přenos opět od pozice 0.

Doporučení
Pokud se jedná o několik málo zobrazovaných znaků není na závadu "občerstvovat" celý obsah displeje, tedy znaky statické i dynamické. Pokud počet statických znaků výrazně převyšuje počet dynamicky se měnících znaků je vhodné rozdělit programovou obsluhu na statickou část, která se inicializuje pouze jednou a na dynamickou část, kdy jsou opakovaně obsluhovány proměnné znaky.

Víceřádkové displeje

Pokud máme vyřešeno řízení víceznakového řádkového displeje, můžeme tento princip aplikovat i na displeje s více řádky. Jednoduchý princip je "protažení" počtu zobrazovaných znaků na potřebný počet a jednotlivé řádky vytvořit prostým "zalomením" do dalšího řádku. Z hlediska funkčnosti a obsluhy se nic nemění. Uvažme případ displeje tvořeného 16 řádky po 16 znacích, tedy celkem 256 znaků. Pokud provedeme návrh podle výše uvedeného příkladu víceznakového displeje, bude k řízení potřeba 256 signálů STROBE + 256 signálů ENABLE = 512 řídících signálů. S použitím dekodérů, které zredukují počet vstupních řídících signálů na 8 adresových bitů pro STROBE a 8 adresových bitů pro ENABLE plus dva jejich řídící signály, celkem 18.

Efektivnějším způsobem je organizovat zobrazovače do matice, v našem případě 16 řádků x 16 sloupců. Tímto způsobem zapojení sice nedosáhneme snížení počtu datových signálů ale je možno zredukovat počet řídících signálů. U signálů STROBE na 8 adresových + 1 řídící a u signálů ENABLE na 3 + 1 řídící, celkem 13. Použití signálů ENABLE není vysloveně nutné, jejich vynecháním je možno ušetřit jak signály v matici, tak 4 řídící signály. Princip maticového uspořádání je znázorněn na obrázku 8.

Víceřádkový displej v maticovém
        uspořádání.
Obrázek 8
Víceřádkový displej 16x16 v maticovém uspořádání.

Realizace zapojení v matici pracuje s principem logického součinu (AND) v místě křížení signálu řádku a sloupce, tedy informace na signálech DATA bude uložena do paměti daného znaku právě v případě, že oba jsou aktivní. K tomuto je do logiky řízení u každého znaku vložen logický člen AND.

Adresování sloupců a řádků je lineární, tedy jednotlivé bity adresy sloupců i řádků tvoří posloupnost binárního čísla dvojkové soustavy. Rozdělení adresování na sloupce a řádky je efektivní pro programové řízení, kdy je potřeba znaky přepisovat střídavě (na přeskáčku).

Poznámky k zapojení
1) Oproti vyobrazení na obrázku 4b a 6 je HW řídící logika u každého znaku znázorněna zjednodušeně z důvodu úspory místa. Funkce je však stejná jak u paměti (LATCH) tak u znakového generátoru.
2) U adresového dekodéru řádku není zakresleno řízení signálu EN dekodéru. Je možno jej propojit se signálem STROBE u sloupcového dekodéru nebo trvale aktivovat bez ovlivnění funkce. Naopak trvalé deaktivování bude blokovat jakýkoliv zápis do pamětí v matici.
3) Naznačená organizace signálu ENABLE "po sloupcích" není závazná, lze realizovat i organizaci "po řádcích".

Programová obsluha

Programová obsluha se v principu neliší od případů uvedených v předchozím případě, tedy separace kódu jednotlivých znaků a jejich postupného potvrzování signálem STROBE s programovou obsluhu zobrazování a sestavení pořadí znaků.

Přenos zobrazované informace zahájíme nastavením pomocného ukazatele na první znak (pozice 0), konkrétně adresa řádku = 0, adresa sloupce = 0 a zápisový signál STROBE = log.0. Nastavíme kód znaku na signály DATA a potvrdíme krátkým impulsem signálu STROBE = log.1. Následně zvýšíme ukazatel adresy sloupce a postup opakujeme až na konec řádku. Po zápisu posledního znaku na řádku, tj. sloupec 15 zvýšíme ukazatel řádku na hodnotu 1 a ukazatel sloupců na hodnotu 0 a celý cyklus opakujeme. Pokud plocha displeje zobrazuje statické informace, postačí tento cyklus opakovat jednou, pokud nedojde ke změně. V případě, že některá informace je dynamická, např. čas, postačí s vhodným nastavení adresy řádku a sloupce aktualizovat pouze část obsahu displeje.

Doporučení
Pokud se jedná o několik málo zobrazovaných znaků není na závadu "občerstvovat" celý obsah displeje, tedy znaky statické i dynamické. Pokud počet statických znaků výrazně převyšuje počet dynamicky se měnících znaků je vhodné rozdělit programovou obsluhu na statickou část, která se inicializuje pouze jednou a na dynamickou část, kdy jsou opakovaně obsluhovány proměnné znaky.

HMI-AUTOMATIZACE - ŘÍZENÍ - MULTIPLEX

 
Publikovaný obsah je určen pouze pro individuální studium.
Není povolena distribuce, prodej, přetisk a použití textu a/nebo vyobrazení (úplný, dílčí a/nebo částečný), použití ke školení a/nebo výuce (hromadné, skupinové nebo zadávané), veřejné a/nebo skupinové prezentace a ani jiné formy šíření v hmotné a/nebo nehmotné podobě.