ÚVOD | Novinky | 8 Bitů | Příslušenství | Drobnosti | TTL | Kontakt
SAPI-1 | ONDRA | PMI-80 | PMD-85 | klony PMD-85 | klony SM50/40 | PETR | PLAN-80A | IQ151 | TNS | FK-1 | HVĚZDA | SP 830 | PCS 1-QR6000
ZPS | Technické prostředky | Programové vybavení | Dokumentace
OCR před výrobní dokumentace k RKD-1
Dvou deskový řadič sestávající z desek RKD-1A a RKD-1B sloužící pro připojení 1 až 4 disků CM 5403 / Zbrojovka Brno/ nebo disků CM 5400 s BLR. Celková kapacita disků je tedy 20Mbyte
Tyto disky mají signály rozhraní definovány s aktivní úrovní v nule, neboli všechny signály jsou inversní . V následujícím toto nebude uváděno a bude to bráno jako fakt. Signály rozhraní jsou přivedeny do obou desek RKD-1A a 1B. Deska RKD-1A zajišťuje generaci řídicích signálů pro disky a proto ji budeme říkat “deska řízení“ druhá deska RKD-1B zajišťuje čtení a zápis dat a proto jí budeme říkat “deska dat“ Desky jsou mezi sebou propojeny buď krátkým, kabelem nebo propojovací destičkou Propojeni mezi deskami je 1:1, to znamená že špičky stejného čísla 30 pólových konektorů FRB jsou navzájem propojeny. Propojovací konektory mezi deskami se zazívají X3 a konektory X2 slouží pro připojení disku
Na desce RKD-1A jsou tyto signály rozhraní:
S0, S1,
S2, S3,
Volby
jednotky 0,1,2 a 3, neboli tak zvan0 selekty jednotek. Po inicializaci řadiče je vybrána jednotka č.0
Výběr disku
Volba disku. V jednotce kazetového, disku jsou disky
dva. Pevný a kazetový-výměnný. Tento signál je hladinový. To znamená že v jedné úrovni je vybrán jeden a v druhé druhý.
Výběr hlavy
Tento signál volí povrch disku /spodní nebo horní/ u
vybraného disku. Je také hladinový.
Adresa stopy
Signály T1,2,4,8,16,32,64,128 volí stopu na disku.
Stop je dvěstě a čtyři reservní. Pošle-li se do disku větší číslo než 203disk adresu stopy odmítne.
Strob
/stb/ Tento signál potvrzuje, že je na signálech stopy platný
údaj.Strob jde do nuly na 500 ns a disk si převezme adresu stopy z vodičů T1 až T128. Po chvíli pak na tento signál
odpoví buď signálem Správná adresa nebo signálem Nesprávná adresa.
Restore
/to/ Signál slouží pro zadání bezadresového návratu na
stopu 0. V dokumentaci je nazýván T00. /track 00/ a není nutné ho používat pokud zadáme adresu stopy T1 až T128 a
pokut nemusíme nulovat chybové obvody po chybě SEEK. Podobně jako adresy stopy musí být i tento signál doplněn
signálem STROB.
Zápis povolen
Povolení zápisu je v dokumentaci nazýváno WR.
Mazání povoleno
/ERS/ Tento signál není u disků ze Zbrojovky a
mazání se odvozuje ze zápisu.U disků z BLR je tento signál povinný a na RKD-1A je jeho generace, synchronní se zápisem.
Čtení povoleno
Tento signál se v dokumentaci nazývá RD.
Zapisovaná data
/WD/ Tento signál vede do disků data k zápisu
společné s hodinami.
Ochrana zápisu
/WPP/ Impuls o délce 500 ns na tomto vodiči přepne
vybraný disk do režimu kdy je zakázán zápis.
Jak je vidět signály z desky RKD-1A jsou pouze výstupní, Je to proto, že konektory na obou deskách /X2/ jsou zapojeny tak, že mají stejně obsazené špičky konektorů jako je tomu u paměti CM 5403 se Zbrojovky Brno. Pro výrobu kabelů pak stačí udělat kabaly 1:1 a nebo použít přímo kabely, které jsou s pamětí dodávány.
Na desce RKD-1B jsou tyto signály rozhraní:
Jednotka připravena
Signál říká, že disk je připraven. To znamená, že
je založena kazeta s diskem, je dosaženo správných otáček /2400 za min./, hlavy se nacházejí v pracovní oblasti, disk
je vybrán a není porucha. Tento signál je v dokumentaci nazván UNB / unit ready/.
Výběr připraven
Tento signál je v dokumentaci nazván SRDY /seek
ready/. Signál znamená že je ukončeno včas a správné najatí na požadovanou stopu.
Adresa potvrzena
Tento signál má zkratku APT a je to odpověď na
Strob, který zadal do disku novou adresu stopy.
Nesprávná adresa
Tento signál má zkratku NSA a je to odpověď na
pokus poslat do disku adresu stopy větší než 203.
Výběr neukončen včas
Tento signál má zkratku STO /seek time out/ a
znamená že vystavení hlav nemohlo být pro poruchu vykonáno v časovém limitu t.j. 0,5s.
Sektor
Tento signál má zkratku SEK a objeví se 12x nebo 24x za
otáčku disku. Signál má délku 40 us. Signál znamená začátek sektoru. Druhý časovací signál z disku Index se nepoužívá.
Adresy sektoru
Tyto signály dávají v binárním kódu číslo sektoru 0
až 11 nebo 0 až 23. Signálů je proto pět a mají označení S1,S2,S4,S8 a S16. Podle těchto Čísel řadič ví který sektor
se právě nachází pod hlavou.
Porucha
Tento signál se v dokumentaci nazývá ERR /error/ a znamená
obecně poruchu nebo chybu jednotky disku.
Ochrana zápisu na vybraném disku
Tento signál má zkratku WPD a
oznamují že je zakázán zápis na disk.
ATN 0,
1, 2,
3
Tyto signály oznamují ukončení výběru stopy (SRDY) a to jako
jediné signály bez ohledu na to zda je jednotka vybrána signálem SEL.
Čtená data
Signál dat je aktivní pouze tehdy je li na disku zapsána
jednicka.
Čtené hodiny
Tento signál přichází z disku, kdykoliv se čte záznam.
Přijde-li mezi hodinami datový impuls přečetla se jednička, nepřijde-li tak se přečetla nula. Separátor dat a hodin je
v disku.
Poznámka: Na deskách RKD-1A a B nejsou zapojeny vývody konektorů č.25 kam vede z disku +5V pro zákončovací odpory. U RKD-1 se počítá s tím, že zakončovací odpory budou pouze u posledního disku. Kdyby to však mělo dělat potíže bylo by nutné poblíž desek RKD-1 udělat ještě zapojení zakončovacích odporů. Dále není použit signál index a z disků BLR signály
Popis desky RKD-1A.
Na desce je jeden obvod 8255, paralelní porty, a tento obvod pracuje v modu nula a má porty A a C jako výstupní a port B jako vstupní. Inicializační slovo pro řídící část obvodu je 82 Hex.
Porty jsou obsazeny taktoBit | Port A | Port B | Port C |
0 | T1 | povolení vysílačů signálů T1 až T128 | RUN=1=BUSY |
1 | T2 | sel A | Wprotect=1 |
2 | T4 | sel B | Výstup časovače 2. |
3 | T8 | Read enable | adresa potvrzena=1 |
4 | T16 | Status 4 | Write enable |
5 | T32 | Status 5 | Hlava |
6 | T64 | Status 6 | Disk |
7 | T128 | Status 7 | Sel status |
Podle bitu C7 "Staus sel" přichází na stavové vstupy Status 4 až 7 pokaždé .jiný význam,Tím se šetří počet vstupů portu B a také počet vodičů mezi deskami RKD-1A a 1B. Význam stavových bitů na portu B4, B5, B6 a B7 je následující:
Sel status | Status 4 | Status 5 | Status 6 | Status 7 |
PB4 | PB5 | PB6 | PB7 | |
C7=0 | ATN 0 | ATN 1 | ATN 2 | ATN 3 |
C7=1 | Seek ready | Seek T out | Unit ready | Error |
Poznámka:
Dále je na desce časovač 8253. Jeho tři samostatné časovače plní následující funkce:
Časovač 0 děli vstupní hodiny 2MHz dvěmi. Musí se naprogramovat do modu 2 a naplnit číslem 2.
Časovač 1 zajišťuje zpoždění mezi koncem sektorového impulsu správného sektoru a mezi začátkem čtení nebo začátkem zápisu. Programuje se na mód 5 a číslo N do něj vložené znamená zpoždění v mikrosekundách. Při zápisu je možno zvolit N=3 neboť tři mikrosekundy zpoždění přidává logika řadiče a 6 mikrosekund stačí. Při čtení je vhodné volit větší zpoždění a doporučoval bych volit asi N= 20 (64µs). Záleží také na počtu úvodních nul, které se při zápisu zapisují před značku začátku sektoru? ve všech těchto úvahách je třeba počítat s tím, že jeden byte trvá 3.2 µs.
Časovač 2 počítá Čtené nebo zapisované byte při přenosu Disk-RAM a RAM-Disk. Zde je nutné počítat s tím, že informace se neskládá pouze z dat ale že obsahuje:
Při čtení:
Adresové záhlaví 2 byte
Data 512 nebo 256 byte podle sektorů.
Kontrolní součet 2 Byte
Při zápísu :
Adresové záhlaví 2 byte
Data 512 nebo 256 Byte
Kontrolní součet 2 Byte
a 26 úvodních Byte nul a 2 byte nul po kontrolním součtu
časovač 2 pracuje v módu 0 a programuje se do něj počet přenesených byte. Počet byte se sleduj jen při přenosech mezi diskem a RAM a při čtení paměti RAM z procesoru nebo při plnění paměti RAM z procesoru musí počet byte počítat program.
Bále je na desce RKD-1A registr adresy sektoru do kterého se zapisuje inverzně pět bitů adresy sektoru u 24 sektorového disku a nebo 4 bity adresy sektoru u 12 sektorového disku. Na výstupu tohoto registru je pětibitový komparátor, který porovnává adresu sektoru, který je pod hlavou s obsahem registru a v okamžiku souhlasu je možno číst a nebo zapisovat.
Dále je zde klopný obvod RUN, kterým se startuje celá operace zápisu nebo čtení. Klopný obvod se Nastaví zápisovou instrukcí na specielní adresu portu (46H) a po operaci se RUN vynuluje. Jeho stav je možno číst do PB0 a tak sledovat zda operace byla dokončena.
Klopný obvod RUN se nuluje:
Bále je na desce generován signál RP /reset pointer/, který nuluje adresový čítač paměti RAM na desce RKD-1B. Tímto signálem se přednastaví nulová adresa paměti před čtením, zápisem nebo před pněním nebo čtením RAM.
Na desce je také dekodér adres realizovaný pamětí PROM MH 74188. Dále jsou na desce oddělovací obvody pro přenosy signálů mezi deskami A a B.
Deska RKD-1B se adresuje jako přídavné zařízené /IOW a IOR/ a nezabírá adresy paměti i když obsahuje 1Kbyte vyrovnávací paměti RAM pro jeden sektor.
Popis desky RKD-1B
Na desce jsou vstupní obvody pro příjem stavových, hodinových a datových signálů z disků. Jak již bylo řečeno některé stavové signály jdou přes multiplex /obvod D8C/ takže je nutné je číst nadvakrát. Signály ATN nejsou však tak často používány a proto se multiplexu nemusí používat často. Signály ATN mají význam pouze v konfigurací se dvěmi a více disky,kdy je potřeba provádět na více discích seek najednou a pak se dozvědět který disk dokončil operaci dříve. U sytému SAPI-1 se patrně signálů ATN nevyužije. Pro stejnou informaci poslouží signály SRDY /seek ready/ přečtený postupně ze čtyř jednotek.
Klopný obvod APT /adresa potvrzena/ zaznamenává po Strobe kladnou nebo negativní odpověď APT nebo NSA. Jeho stav se pak dá přečíst portem PB3.
Obvody kolem vyrovnávací paměti RAM jsou tvořeny:
Obvody zápisu jsou tvořeny generátorem hodin 10MHz. Interval zápisu bitu je 400ns což představuje 4 hodinové impulsy krystalového oscilátoru. čítač D2A řídí multiplexer D2B a přivádí postupně bity zápisu od D0 do D7 na vstup druhého multiplexeru, který zabezpečuje kódování záznamu na disk. Zápis se startuje jedničkou na WE.
Obvody čtení jsou tvořeny tvarovači pro úpravu dat a hodin a dále specielním zapojením, která čeká na jedničku zapsanou za úvodními nulami. Tuto první jedničku řadič nepřečte, ale všechna dat po ní již čte, skládá je po osmi bitech a dává do paměti RAM. Na disku je úvodních několik byte nul, pak je tady 80 HEX a pak již data. HEX 80 tvoří tu úvodní jedničku a proto zde musí být. Monostabilní obvody pak vytvářejí sekvenci impulsů pro zápis přečtených dat do RAM.
Formáty disku:
Toto všechno se při zápisu pro formátování i při zápisu dat musí předem naplnit do RAM. Nepotřebná data, třeba při formátování se nahradí nulami. Do součtu se adresa stopy nepočítá, jen data.
Nejprve se musí poslat na adresu 47H data (82H) to je inicializace obvodu 8255.
Potom se pošle na adresu 43H data 14/č0/, 5A/č1/ a B0/č2/ to je inicializace módů časovačů.
Pak je potřeba poslat na adresu 40H číslo 2 aby dělič dělil dvěmi.
Některé používané sekvence:
Nulováni pointru paměti:
Stačí poslat na adresu 4AH data 80H. To se musí udělat vždy před čtením sektoru, zápisem sektoru, čtením RAM do mikropočítače a zápisem do RAM z mikropočítače.
Je možné to spojit se zápisem sektoru neboť registr v sektoru má stejnou adresu To je vhodné před zápisem a čtením sektoru z disku. POZOR sektor se zapisuje Inversně to je komplement D0 až D4! Musí se provést operace sektor + 80H = obsah registru. Stačí ovšem sektor -> A a pak A=A a bude také D7=1!
Poslání adresy stopy neboli Seek
Seek na stopu T00.
Plnění RAM.
Adresa je dána obsahem paměti PROM /D6A/. Pro oživování a výrobu byla zvolena tato adresace:
HEX: | 40 | IOW | obvod 8253 čítač 0 |
41 | IOW | obvod 8253 čítač 1 | |
42 | IOW | obvod 8253 čítač 2 | |
43 | IOW | obvod 8253 řízení čítačů - nastavení modu. | |
44 | IOW | obvod 8255 port A výstup | |
45 | IOR | obvod 8255 port B vstup | |
46 | IOW | obvod 8255 port C výstup (jde dělat set/reset bitů) | |
47 | IOW | obvod 8255 Řízení portů / init HEX 82/ | |
48 | IOW | generace STB bez argumentu v akumulátoru | |
49 | IOW | Start, nastavení RUN, bez argumentu v akumulátoru | |
4A | IOW | D7=1 reset pointer RAM, D0 až D4 sektor 0-11 / 0-23/ inverzně | |
4B | IOW | D7 až D3 nezajímavé, D1 set ochrana zápisu, D0 set Restore najetí na T00 | |
4C | IORW | čtení a zápis do RAM | |
4D | nepoužito \ | ||
4B | nepoužito - stejný projev jako 4C | ||
4D | nepoužito / |
Poznámka: adresy 40 až 44 a 46 až 4B jsou pouze zapisovací IOW
adresa 45 je pouze čtecí IOR
adresy 4D až 4F se nepoužívají ala desky tuto adresu zabírá a nesmí být použita jinde v sytému.
Poznámka: Čítače se před programují na:
čítač nula HEX 14 mód 2 dělič frekvence ,plnit 1 byte!
čítač jedna HEX 5A mód 5 monostabil, plnit 1. byte!
Čítač dva HEX B0 mód 0, plnit dva byte!
Poznámka: Co nejdříve po zapnutí je třeba poslat na HEX 47 data HEX 82
Start zápisu nebo čteni sektoru.
Čtení RAM do mikropočítače.
Programování čítačů.
Výběry
Výběr disku, hlavy a jednotky provádíme kdykoliv je vše v klidu. Provádí se pouhým zápisem do portu C. Po inicializaci obvodu 8255 Je vše vynulováno!
POZNÁMKA:
Celý program doporučuji sestavit do těchto rutin:
Volba disku 12/24 pevná!
test RAM /zápis a přečteni 1024 byte RAM/
čtení sektoru
zápis sektoru
seek na stopu N
seek na T00
plnění RAM před zápisem
čtení RAM
formátování povrchu
selekty disku, hlava, jednotka
1 | SEL0 | 2 | SEL1 |
3 | SEL2 | 4 | ZEM |
5 | SEL3 | 6 | T1 /stopa 1/ |
7 | T2 | 8 | ZEM |
9 | T4 | 10 | T8 |
11 | T16 | 12 | ZEM |
13 | T32 | 14 | T64 |
15 | T128 | 16 | ZEM |
17 | T00 | 18 | DISK |
19 | HLAVA | 20 | ZEM |
21 | WR | 22 | RD |
23 | WPP | 24 | ZEM |
25 | 26 | ERS u mazání pro IZOT | |
27 | STB | 28 | ZEM |
29 | WD | 30 | ZEM |
1 | ATN0 | 2 | ATN1 |
3 | ATN2 | 4 | ZEM |
5 | ATN3 | 6 | S1 |
7 | S2 | 8 | ZEM |
8 | S4 | 10 | S8 |
11 | S16 | 12 | ZEM |
13 | SRDY | 14 | STO |
15 | UNR | 16 | ZEM |
17 | ATP | 18 | NSA |
19 | ERR | 20 | ZEM |
21 | SEK | 22 | |
23 | WPD | 24 | ZEM |
25 | 26 | ||
27 | RC | 28 | ZEM |
29 | RD | 30 | ZEM |
1 | ERR | 2 | RD |
3 | ATP | 4 | WD |
5 | SELS | 6 | SEK |
7 | BYTE | 8 | RC |
9 | R7 | 10 | R0 |
11 | R5 | 12 | R2 |
13 | R1 | 14 | R4 |
15 | R3 | 16 | WP |
17 | S2 | 18 | S4 |
19 | WE | 20 | S8 |
21 | S16 | 22 | S1 |
23 | ZEM | 24 | WRAM |
25 | ST6 | 26 | RE |
27 | ST4 | 28 | RDRAM |
29 | ST7 | 30 | ST5 |
Schéma RKD-1A a černobílá verze ZDE.
Schéma RKD-1B a černobílá verze ZDE.
ÚVOD | Novinky | 8 Bitů | Příslušenství | Drobnosti | TTL | Kontakt
SAPI-1 | ONDRA | PMI-80 | PMD-85 | klony PMD-85 | klony SM50/40 | PETR | PLAN-80A | IQ151 | TNS | FK-1 | HVĚZDA | SP 830 | PCS 1-QR6000
ZPS | Technické prostředky | Programové vybavení | Dokumentace