Z80 CTC
Author
Albert FloresStránka Z80_CTC na české Wikipedii poskytuje informace o integrovaném obvodu Z80_CTC. Jedná se o časovač a kontrolér periférií, který byl vyvinut firmou Zilog pro mikroprocesor Z80. Stránka obsahuje popis funkcí, vlastnosti a použití Z80_CTC. Dále se věnuje architektuře obvodu, popisu jednotlivých pinů a jejich funkcí. Stránka také poskytuje přehled o podporovaných režimech časování a registrů, a nabízí odkazy na další zdroje s podrobnějšími informacemi o Z80_CTC.
Z80 CTC Rozložení pinů obvodu Z80 CTC Z80 CTC (Z80 Counter/Timer Circuit) je integrovaný obvod z rodiny procesoru Z80. Jedná se obvod poskytující čtyři nezávislé čítače/časovače. Protože se jedná o obvod z rodiny procesoru Z80, umožňuje plně využívat možnosti přerušovacího systému procesoru Z80. Podobný obvod v rodině procesoru Intel je obvod Intel 8253.
Obvod je navržen tak, aby byl snadno použitelný pro generování přenosové rychlosti pro obvod Z80 SIO.
Obvod je použit např. společně s obvody WD2797, Z80 PIO a Z80 SIO v univerzální I/O kartě EXIO k počítačům Sharp. +more Je také součástí cvičného modulu Z80 používaném k výuce na Západočeské univerzitě. Společně s obvodem 8255 je použit v počítači Rum 80 PC.
Analogickými obvody jsou obvody UA857D, UB857D a VB857D.
Režimy čítačů/časovačů
Čítače/časovače mohou pracovat v následujících režimech: * čítač, * periodicky spouštěný časovač, * časovač spouštěný vnějším impulsem.
Pro dosažení větších rozsahů časování a čítání je možné čítače/časovače zapojit do kaskády. Z důvodů omezení počtem pinů pouzdra mají pouze tři čítače/časovače výstupní signál signalizující dosažení předepsané hodnoty, čtvrtý čítač/časovač může pouze generovat přerušení.
Konfigurace obvodu
Nastavení režimu
Jednotlivé čítače/časovače se nastavují nezávisle pomocí svých konfiguračních registrů. Podle toho, zda je či není měněna časová konstanta, je nutno do konfiguračního registru příslušného čítače/časovače zapsat dvě nebo jednu hodnotu.
Nastavení režimu | ||||||||
---|---|---|---|---|---|---|---|---|
bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
bit | povolení přerušení | 0 - časovač | dělitel hodinového kmitočtu pro časovač 0 - 16 1 - 256 | vnější spouštění čítaní/časování 0 - sestupnou hranou 1 - vzestupnou hranou | spouštění časování 0 - automaticky 1 - vnějším signálem | 0 - nastavená časová konstanta nebude měněna 1 - bude změněna časová konstanta (obvod očekává další byte s časovou konstantou) | 0 - nové nastavení bude aplikováno po dokončení stávajícího cyklu 1 - stávající cyklus bude přerušen, nové nastavení bude aplikováno ihned | 1 |
bit | povolení přerušení | 1 - čítač | vnější spouštění čítaní/časování 0 - sestupnou hranou 1 - vzestupnou hranou | 0 - nastavená časová konstanta nebude měněna 1 - bude změněna časová konstanta (obvod očekává další byte s časovou konstantou) | 0 - nové nastavení bude aplikováno po dokončení stávajícího cyklu 1 - stávající cyklus bude přerušen, nové nastavení bude aplikováno ihned | 1 |
Nastavení vektoru přerušení
Než je povoleno generování přerušení, je nutné nastavit vektor přerušení, který bude odesílán procesoru. Vektor přerušení se nastavuje pro všechny čtyři čítače/časovače společně. +more Nastavuje se společná část vektoru přerušení, dva bity vektoru přerušení jsou generovány v závislosti na tom, který čítač/časovač přerušení vyvolal.
Vektor přerušení | ||||||||
---|---|---|---|---|---|---|---|---|
bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
nastavení vektoru přerušení | vektor přerušení | vektor přerušení | vektor přerušení | vektor přerušení | vektor přerušení | 0 | ||
generovaný vektor přerušení | vektor přerušení (programovaná část) | vektor přerušení (programovaná část) | vektor přerušení (programovaná část) | vektor přerušení (programovaná část) | vektor přerušení (programovaná část) | číslo čítače/časovače | číslo čítače/časovače | 0 |
Reference
Externí odkazy
[url=http://www. z80. +moreinfo/zip/z80ctc. pdf]Z8430/Z80 CTC Timer/Counter Circuit[/url] datasheet na z80. info * [url=http://zxmagazin. 80. cz/2004/06/strucne-o-cpu-z80. html]Stručně o CPU Z80[/url] na zxmagazin. 80. cz.