Konfigurace PC_kbd_2 je určena pro připojení standardní klávesnice PC k EVB2633F prostřednictvím rozšiřujícího modulu Disp_Kbd_1. Konfigurace dále umožňuje připojení alfanumerického LCD displeje BT42005.
Klávesnice PC musí být připojena ke konektoru KBD (H3) na desce Disp_Kbd_1 (CLK na vývod č. 15, Data na vývod č. 13, Reset na vývod č. 11). Procesor může zjišťovat stav klávesnice a číst přijatá data pomocí stavového a datového registru klávesnice.
Sériově vysílaná data z klávesnice jsou posuvným registrem v obvodu CPLD 95XC108 převáděna na paralelní. Kompletně přijatý znak z klávesnice je uložen do programově přístupného datového registru klávesnice. Dokončení příjmu znaku je indikováno aktivací signálu /INT6 (aktivní je úroveň L) a nastavením bitu KBRDY (bit číslo 0) ve stavovém registru klávesnice na hodnotu 1. Až do vyprázdnění datového registru je příjem dalších znaků zablokován.
K formálnímu vyprázdnění datového registru dojde automaticky jeho přečtením, tj. provedením čtecího cyklu z adresy datového registru. Současně je zrušena aktivita signálu /INT6 a bit KBRDY je nastaven na hodnotu 0.
Zelená LED na desce Disp_Kbd_1 indikuje stav signálu /INT6: LED svítí, je-li /INT6 v aktivní úrovni. Funkce konfigurace PC_kbd_2 při čtení znaku z klávesnice je znázorněna na následujícím obrázku.
Základní časování signálů při čtení znaku z klávesnice PC.
Poznámka: Signál "Čtení datového registru" odpovídá čtecímu pulsu z datového registru klávesnice.
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 procesoru, 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í datového registru klávesnice |
0x600003 | R | Čtení stavového registru klávesnice |
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 (IOCO) |
0x600005 | R | Čtení hodnot pomocných vstupních pinů univerzálního IO portu (IOCI) |
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 |
Následující obrázek graficky znázorňuje propojení signálů při použití konfigurace PC_kbd_2.
Blokové schéma konfigurace PC_kbd_2.
Rozšiřující desky pro EVB2633F:
Poslední změna stránky byla provedena 22.02.2005