Pro základní použití desky Disp_Kbd_1 lze použít standardní konfiguraci obvodu CPLD XC95108. (Tuto konfiguraci nelze použít, je-li deska osazena obvodem XC9572). Standardní konfigurace umožňuje připojení alfanumerického displeje BT42005 a maticové klávesnice 4 x 8 kláves. Univerzální IO port má 8 vstupních/výstupních vývodů a dále 2 vstupní a 2 výstupní vývody. Směr vstupních/výstupních vývodů lze jednotlivě volit zápisem do konfiguračního registru. Diody LED nejsou programově přístupné.
Datový, řídicí a stavový registr displeje jsou mapovány do adresního prostoru vývojového modulu EVB2633F. Generátor cyklů v CPLD zabezpečuje správné časování jednotlivých signálů na rozhraní displeje.
Protože komunikace s displejem BT42005 vyžaduje vkládání několika čekacích taktů do každého čtecího a zápisového cyklu, musí být Bus Controller mikrokontroléru H8S/2633F naprogramován tak, aby reagoval na vnější signál /WAIT. (Po resetu mikrokontroléru je vstup /WAIT zablokován).
V dekodéru adres jsou dekódovány adresní vodiče A2, A1 a A0 a signál /CS3. Bázové adresy jednotlivých portů jsou následující:
Adresa | Čtení/zápis | Význam |
---|---|---|
0x600000 | R | Čtení stavových registrů LCD displeje |
0x600000 | W | Zápis do řídicích registrů LCD displeje |
0x600001 | R | Čtení dat z LCD displeje |
0x600001 | W | Zápis dat do LCD displeje |
0x600002 | R | Čtení sloupcových vodičů maticové klávesnice |
0x600002 | W | Nastavení řádkových vodičů maticové klávesnice (D11 - D8) |
0x600004 | W | Zápis dat na výstupní vývody univerzálního IO portu (IOB) |
0x600004 | R | Čtení hodnot vstupních pinů univerzálního IO portu (IOB) |
0x600005 | W | Zápis dat na pomocné výstupní vývody univerzálního IO portu (IOCI) |
0x600005 | R | Čtení hodnot pomocných vstupních pinů univerzálního IO portu (IOCO) |
0x600006 | R | --- |
0x600006 | W | Zápis do řídicího registru směru univerzálního 8bitového portu |
Univerzální 12bitový IO port je rozdělen na 8bitový obousměrný port (IOB7-IOB0), 2bitový vstupní port (IOCI1-IOCI0) a 2bitový výstupní port (IOCO1-IOCO0). Směr každého bitu portu IOB lze nezávisle volit zápisem do řídicího registru směru na adrese 0x6000006. Zápis 0 do příslušného bitu znamená výstupní pin, zápis 1 znamená vstupní pin. Po zápisu do registru řízení směru jsou úrovně na všech výstupních bitech IOB nastaveny na 0.
Při čtení portu IOB je na vstupních bitech čtena aktuální logická úroveň příslušného vývodu, na výstupních bitech je čtena hodnota zapsaná do výstupního registru portu IOB. Při čtení portu IOC je na datových vodičích D11 a D10 čtena hodnota zapsaná do registru IOCO, na datových vodičích D9 a D8 je čtena hodnota portu IOCI.
Při zápisu na port IOCO jsou na jednotlivé výstupy zapisovány hodnoty datových vodičů D11 a D10 (viz následující tabulka).
Datový vodič | D15 | D14 | D13 | D12 | D11 | D10 | D9 | D8 |
---|---|---|---|---|---|---|---|---|
Čtení | 0 | 0 | 0 | 0 | IOCO1 | IOCO0 | IOCI1 | IOCI0 |
Zápis | x | x | x | x | IOCO1 | IOCO0 | x | x |
Obr. 5 Přiřazení bitů portu IOCI a IOCO
Detaily ke standardní konfiguraci DK_2 obvodu CPLD XC95108 lze zjistit z popisu ve VHDL. Binární soubor ve formátu JED lze použít pro programování obvodu pomocí přípravku XChecker.
Následující obrázek graficky znázorňuje propojení signálů při použití konfigurace DK_2.
Blokové schéma konfigurace DK_2.
Rozšiřující desky pro EVB2633F:
Poslední změna stránky byla provedena 22.02.2005