HMI - ovládání, zobrazování, vizualizace | ||
HMI-AUTOMATIZACE - ŘÍZENÍ - MULTIPLEX |
Provoz webu zajišťuje: | |||||||||||||||||||||||
Multiplexové řízení segmentových LED zobrazovačůCharakteristikaPro 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 ASpoleč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.
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í
Varianta BVarianta 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.
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í
Varianta CVarianta 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.
Shrnutí
Programová obsluhaProgramová 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í).
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é displejePro 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).
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ů.
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.
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.
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.
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á obsluhaProgramová 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.
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.
|
||||||||||||||||||||||||
Víceřádkové displejePokud 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.
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).
|
||||||||||||||||||||||||
Programová obsluhaProgramová 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.
|
||||||||||||||||||||||||
|
||||||||||||||||||||||||
HMI-AUTOMATIZACE - ŘÍZENÍ - MULTIPLEX | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
|
|