Rob's web

Z80-A CPU-kaart

Een µP-troefkaart

Nog steeds is de Z80(-A) een van de populairste microprocessors. Niettemin heeft deze CPU tot nu toe in het Elektuurpakket ontbroken. Zonder voldoende redenen is het immers zinloos om weer een nieuw computersysteem te introduceren. Nu de Z80-A echter gebruikt wordt om het polyfone keyboard voor de kompakte Elektuur-synthesizer tot leven te wekken, staat de publikatie van deze CPU-kaart niets meer in de weg.

Enerzijds vormt de Z80-A CPU-kaart het hart van het polyfoon keyboard, anderzijds wordt het Elektuur-bussysteem met de bijbehorende eurokaarten nu ook toegankelijk voor Z80-entoesiasten.

Veel valt er eigenlijk over een CPU-kaart niet te vertellen. Zonder software - en die wordt in dit artikel niet beschreven - bestaat zo'n kaart uit niet veel meer dan de CPU zelf en een aantal chips om het ding fatsoenlijk te laten werken. De hardware is in figuur 1 afgebeeld.

Fig 1
Figuur 1. Schema van de Z80-A CPU-kaart.

Ten behoeve van kleinschalige µP-projekten is de kaart voorzien van enige geheugen-chips. Hierbij is rekening gehouden met de door Elektuur gehanteerde paginastruktuur. Dit houdt in dat het geheugen in 4K-blokken wordt opgedeeld. Het eerste blok (0000.. 0FFF) bevindt zich op de CPU-kaart en is onderverdeeld in 2K-EPROM (0000 ... 07FF) en 2K-RAM (0800 .... 0FFF).

Deze kaart wordt toegepast in het polyfone keyboard, waarover in het juni-nummer weer een artikel te vinden zal zijn. Bij toepassing van de CPU-kaart in dit keyboard is slechts 1K-RAM nodig, zodat IC18en IC19 (zie figuur 1) dan kunnen vervallen.

De opzet van de kaart is zodanig dat ook andere geheugenstrukturen mogelijk zijn. Het is namelijk niet per se noodzakelijk om het geheugen met bijbehorende adresdekodering op de CPU-kaart onder te brengen. Vooral grotere hoeveelheden software kunnen beter worden ondergebracht op een aparte (EP)ROM-kaart. Met een kleine aanpassing is de Elektuur RAM/EPROMkaart (EPS 80120) voor dit doel geschikt. Hierover volgt elders in deze Elektuur meer informatie.

Buffering

Iedere zichzelf respekterende CPU-kaart behoort voorzien te zijn van een zo volledig mogelijke buffering. De uitgangen van de CPU zelf hebben namelijk te weinig stuurvermogen om een kompleet systeem te kunnen bedienen. De IC's 9 t/m 13 nemen deze buffering voor hun rekening. Doordat de buffering met behulp van het BUSAK-signaal in zijn geheel in de tri-state toestand kan worden geplaatst, blijft de DMA- of multiprocessing-mogelijkheid van de Z80 volledig behouden.

Snelheid

De processor wordt aan de praat gehouden met behulp van een 4 MHz-kristaloscillator. Dit is de maximale clock-frekwentie voor een CPU van het type Z80-A of MK 3880-4. Voor een gewone Z80 of MK 3880 mag de clockfrekwentie zelfs niet meer dan 2,5 MHz bedragen.

In het polyfone keyboard moet overigens een Z80-A/MK 3880-4 worden toegepast. De snelheid van de CPU bepaalt namelijk in de eerste plaats de tijd die nodig is om een programma uit te voeren. De CPU moet de scanning (het aftasten) van het toetsenbord verrichten en in de uitgebreide uitvoering tevens alle presets afvragen. Daarbij komt dan nog het doorgeven van alle informatie naar de "kompakte synthesizer"-modu les (VCO's, VCF's, enz.).

De tijd die voor al deze taken nodig is bepaalt de reaktiesnelheid van de microcomputer. Deze reaktiesnelheid is vooral van belang bij het afvragen van het toetsenbord. Hoe sneller dit gebeurt, des te sneller zal een VCO op een toetsaanslag kunnen reageren. Met het bij de kompakte synthesizer behorende software-pakket kan een VCO binnen 2 à 3 ms reageren. Dit is dermate snel dat van deze kleine vertraging in de praktijk niets te horen is.

Wait-Cycles

Het gebruik van een hoge clock-frekwentie stelt uiteraard ook eisen aan de snelheid van de gebruikte geheugens. Een normale EPROM (IC15 = 2716) zal meestal te traag zijn om bijtijds op een adressering door de (snelle) CPU te reageren. Hetzelfde geldt in versterkte mate voor de RAM's (IC16 ... IC19), omdat voor het beschrijven van de RAM's nog minder tijd beschikbaar is dan bij een leescyclus.

Voor dit probleem zijn er twee oplossingen. Men zou kunnen volstaan met het toepassen van snelle geheugens. Dat wil zeggen: EPROM('s) met een specifikatie van maximaal 350 ns en RAM's met een specifikatie van maximaal 250 ns voor de "access"-tijd. RAM's met een dergelijke specifikatie zijn tegenwoordig gemakkelijk te verkrijgen. EPROM's met een access-tijd van 350 ns zijn iets moeilijker te vinden. Normaliter is zelfs 350 ns nog aan de krappe kant, maar door gebruik te maken van de OE-ingang in plaats van de CE-ingang kan enige snelheidswinst worden geboekt, zodat een 2716 in 350 ns-uitvoering zonder speciale maatregelen kan worden toegepast.

Wil men een langzamere EPROM gebruiken, dan moet de CPU worden vertraagd. Dit is de tweede mogelijkheid. In dit geval worden tijdens het uitlezen van de EPROM zogenaamde "wait-cycles" aan de leescyclus toegevoegd. Zo'n wait-cycle is precies een clock-periode lang, in dit geval dus 250 ns. Wanneer dus slechts een wait-cycle wordt toegevoegd mag de access-tijd van de EPROM al meer dan 500 ns bedragen. Zelfs slome EPROM's hebben dan voldoende tijd om hun informatie te spuien.

Om een wait-cycle mogelijk te maken zijn de flipflops FF1 en FF2 aan de schakeling toegevoegd. Deze flipflops zijn alleen werkzaam als de EPROM (IC15) geadresseerd wordt (D-ingang van FF2 laag). Bij gebruik van een 350 ns-EPROM kunnen deze flipflops vervallen. In plaats van IC4 moet dan de draadbrug J1 worden geplaatst. De vertragingsschakeling is dan buiten werking. Tijdens het testen van de CPU verdient het echter aanbeveling om eerst met wait-cycle proef te draaien, om de mogelijkheid van een te trage EPROM uit te sluiten.

Buiten de CPU-kaart liggend geheugen of periferie kan eventueel via de WAITEX-ingang ook van wait-cycles gebruik maken.

Reset

Om de CPU in zijn startpositie te brengen is een resetschakeling nodig.

Bij het inschakelen van de voedingsspanning zorgen R6, C8 en D1 via N29 en N10 ervoor dat de reset-ingang (SET) van de CPU enige tijd aktief ("0") wordt. Via het bussysteem kan dit signaal (PWCL) ook worden benut om andere systeemkaarten te resetten. Voor noodgevallen is ook nog voorzien in een externe resetmogelijkheid. De schakelaar hiervoor (S1) kan het beste op een moeilijk te bereiken plaats worden gezet om te voorkomen dat deze toets per abuis wordt ingedrukt. Meestal heeft dat namelijk verlies van waardevolle informatie of andere "rampen" tot gevolg.

Print

Alle onderdelen in figuur 1 zijn met uitzondering van S1 ondergebracht op een dubbelzijdig doorgemetalliseerde print in euroformaat (zie figuur 2).

Fig 2a
Figuur 2a-b. Koper-layouts van de dubbelzijdige CPU-kaart (2a = komponentenzijde, 2b = achterzijde).

Fig 2c
Figuur 2c. Komponentenopstelling van de CPU-kaart.

Onderdelenlijst figuur 2
R1-R64k7
R7,R81 k
R9330 Ω
R10,R116k8
R12470 Ω
C1,C822 µ/6,3 V tantaal
C2-C7100 n MKT (MKH)
C910 µ/6,3 V tantaal
C110 n MKT (MKH)
D11N4148
D2LED
IC174LS00
IC2,IC5,IC674LS32
IC3,IC774LS04
IC474LS74
IC874LS13
IC9-IC1274LS367
IC1374LS245
IC14Z80-A, MK3880-4
IC152716/2516
IC16-IC192114-2 (zie tekst)
S1druktoets 1 x maak
Con164-polige konnektor volgens DIN 41612, male
X1kristal 4 MHz
PrintEPS 82105

De aansluitingen van de 64-polige konnektor komen overeen met die van het Elektuur-bussysteem, zodat deze kaart met een aantal van de reeds gepubliceerde kaarten kan worden gekombineerd.

De montage van deze print dient met de nodige voorzichtigheid te geschieden. Op sommige plaatsen liggen de sporen zo dicht bij elkaar dat tijdens het solderen gemakkelijk een kortsluiting kan ontstaan. Oppassen dus, zelfs al is deze print voorzien van een soldeermasker dat dit soort problemen moet voorkomen!

Informatie

Over de Z80-CPU is al ongeveer een biblioteek volgeschreven. Software is in overvloed te krijgen, maar de gebruiker moet wel weten waar hij mee bezig is. Meestal moet de software worden aangepast aan het systeem waarop deze moet "draaien". Enige deskundigheid is daarvoor wel vereist. De in dit artikel beschreven CPU-kaart is in de eerste plaats bedoeld om het polyfone keyboard tot leven te wekken. De receptuur daarvoor wordt in een van de artikelen over dit ontwerp gegeven. Ook de software komt, zij het zeer summier, in dat artikel aan bod.

De polyfone synthesizer is slechts een van de vele toepassingsmogelijkheden van de kaart. Het gebruik van de kaart in een ander systeem heeft als voordeel dat men de hardware kan aanpassen aan bestaande software-pakketten. Hoe zo'n aanpassing in zijn werk gaat wordt aan de gebruiker zelf overgelaten, maar meestal is dat eenvoudiger dan het aanpassen van software.

Een eerste aanzet tot de kreatie van een "eigen" computersysteem wordt geboden in het artikel over de aanpassing van de 8K-RAM + 8K-EPROM-print (EPS 80120), zoals dat elders in deze uitgave is beschreven.

U. Götz en R. Mester.