Ú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 návodu FDC-1
TESLA ELTOS STÁTNÍ PODNIK | DIZ |
SAPI-1
FDC-1
Dvoudeskový řadič FDC-1 umožňuje připojit k mikroprocesorovému systému SAPI-1 mechaniky pružných disků a vytvořit tak systém pracuj i pod operačním systémem CP/M.
Řadič FDC-1 umožňuje připojeni:
- 4 ks | mechanik s průměrem 8" s jednoduchou i dvojitou hustotou (v normě FM i MFM) a jednostranným i oboustranným záznamem |
- 4 ks | mechanik s průměrem 5,25" s jednoduchou i dvojitou hustotou (v normě FM i MFM) a jednostranným i oboustranným záznamem |
- 4 ks | výše uvedených mechanik v libovolné kombinaci |
Oproti řadiči RPD-1 je FDC-1 vybaven kanálem DMA (8257) a moderní m obvodem 82 72 (CM 609), což umožňuje dosáhnout vyšší pracovní rychlosti, lze formátovat diskety atd.
Účelem aplikační příručky je poskytnout uživateli základní informace pro instalaci a použiti řadiče FDC-1.
Napájecí napětí desek | +5 V 5% | |
Odběr proudu | FDC-1A | max. 0,8 A |
FDC-1B | max. 0,6 A | |
Rozměry | 140 x 150 x 15 mm | |
Hmotnost | FDC-1A | 180 g |
FDC-1B | 150 g | |
Zátěže všech vstupů | 1,5 mA | |
Zátěže všech výstupů | v log. 1 | 250 µA |
v log.0 | 15 mA |
Všechny ostatní logické vstupy a výstupy v úrovních TTL výkonové a časově přizpůsobené sběrnici SAPI-1
Před instalací desky FDC-1A,B zkontrolujeme, zda nedošlo během přepravy nebo skladování k mechanickému poškození desky nebo konektorů.
Desky řadiče FDC-1 je možno připojit na sběrnici typu ARB-1 systému SAPI-1.
Pomocí přepínačů nastavíme druh připojených mechanik.
Po zasunutí desek FDC-1A a FDC-1B do vany a připojení na sběrnici kontrolujeme, zda nedošlo k nedovolenému zatížení sběrnice.
FDC-1 (A,B) je dvoudeskový řadič pružných disků, umožňující provoz až 4 mechanik pružných disků a to Single Sided a Double Sided, Single Density a Double Density v různých kombinacích, umí 5" i 8" a to navzájem.
Obě desky řadiče jsou propojeny stejnou propojkou jako u řadiče RPD-1 (A,B).
Řadič je ve srovnáni s RPD-1 osazen modernější součástkovou základnou. Je osazen Floppy disk controlerem I8272 a obvodem přímého přístupu do paměti DMA I8257.
Konfigurace mechanik je nastavena přepínačem DIL.
Vzhledem k výše uvedenému faktu osazeni moderními součástkami je řadič FDC-1 spolehlivější ve srovnání s řadičem RPD-1.
Programování FDC-1A:
Zápis do registru M a H (C8 a C9 = 74LS175) se provede na adresu 0FH podle následující tabulky:
D0 = M0 | D4 = H0 | Př.: | LD A,88H |
D1 = M1 | D5 = H1 | OUT(0FH),A | |
D2 = M2 | D6 = H2 | ||
D3 = M3 | D7 = H3 | aktivní M3 a H3 |
Signály S0 - S3 odpovídají binárním slovům D0 a D1 zapsaným na adresu 0EH. Na této adrese lze zakázat či povolit přerušení bitem D3 a bitem D2 lze provést reset řadiče 8272 na desce FDC-1B.
Instrukci IN 0EH lze číst stav DIL přepínače na bitech D0 a D1.
Programování FDC-1B:
Adresový dekodér je realizován ROM B5 (74S287).
výstup Y3 | je aktivní při 0EH a 0FH a přes X2 je přiveden na FDC-1B |
výstup Y2 | ovládá MR a MW pro 8257 a 8272 |
výstup Y1 | je aktivní při 0CH a 0DH, přiveden na CS 8272 |
výstup Y0 | je aktivní při 04 až 08 a je to CS pro 8257 |
Programováni obvodů DMA (8257) a FDC (8272) viz manuály k obvodům.
Adresy: | DMA TC | 05 |
DMA MSR | 08 | |
TC STAT | 04 | |
FDC ST | 0CH | |
FDC DT | 0DH |
Stručný popis 8272.
I8272 umožňuje záznam na mag. medium jednoduchou (FM) i dvojnásobnou (MFM) hustotu. Ovládat lze najednou až 4 mechaniky (oboustranné) 8", 5 1/4" a 3 1/2". Je napájen jedním napětím +5V ±10%. Vykonává 15 příkazů. Obsahuje hlavní stavový registr MSR (Main Status Register), jeden datový registr a další stavové registry obsahující informace o průběhu vykonávané operace.
I8272 lze použít ve spolupráci s DMA kanálem nebo komunikaci FDD s CPU ošetřit programově. V DMA módu vyšle procesor pouze několik byte specifikujících druh operace a vlastní přenos dat probíhá již pod kontrolou kanálu DMA. Pokud FDD pracuje v tzv. NON DMA módu je řadičem generován signál INT při přenosu každého byte dat mezi FDD a CPU.
Každou operaci vykonávanou FDD lze rozdělit na tři fáze:
Registry:
obvod obsahuje dva registry, které mohou být přístupné programátorovi.
MSR
(Main Status Reg.) obsahuje důležité stavové informace a je pro CPU přístupný kdykoliv.
DR
(Data Reg.) je to vlastně několik registrů seskupených do zásobníku. Obsahuje data, příkazy a jejich parametry a též některé stavové informace. V každém okamžiku je však přístupný pouze jeden z těchto datových registrů. Před každým zápisem či čtením se nejdříve musíme přesvědčit, zda je přístup možný.To je ulehčeno pomocí bitů D6 a D7 MSR.
Přenos dat
(v Execution Ph.) se musí skončit externím signálem TC, v opačném případě by řadič pokračoval ve čteni/zápisu dat. Neukončení přenosu by také vedlo k chybovému hlášeni řadiče.
Popis vývodů 8272:
PIN | symbol | typ | připojeni | význam |
1 | RESET | IN | CPU | RESET = H po t = 10µS nastaví řadič do výchozího stavu |
2 | RD | IN | CPU | =L řídí přenos dat z řadiče do CPU |
3 | WR | IN | CPU | =L řídí přenos dat do řadiče z CPU |
4 | CS | IN | CPU | =L výběr obvodu |
5 | A0 | IN | CPU | DATA / STATUS L= čte data H= čte STATUS z FDD do CPU |
6 | D0 | BD | CPU | datová sběrnice |
7 | D1 | BD | CPU | datová sběrnice |
8 | D2 | BD | CPU | datová sběrnice |
9 | D3 | BD | CPU | datová sběrnice |
10 | D4 | BD | CPU | datová sběrnice |
11 | D5 | BD | CPU | datová sběrnice |
12 | D6 | BD | CPU | datová sběrnice |
13 | D7 | BD | CPU | datová sběrnice |
14 | DRQ | OUT | DMA | DMA REQUEST H = data připravena pro DMA |
15 | DACK | IN | DMA | DMA ACKNOWLEDGE L= DMA potvrzuje řadiči přenos |
16 | TC | IN | DMA | TERMINAL COUNT. H= konec přenosu dat DMA |
17 | IDX | IN | FDD | INDEX H= indikace začátku stopy na disku |
18 | INT | OUT | CP | INTERRUPT H= řadič požaduje na CPU přerušení |
19 | CLK | IN | CLOCK hodiny se střídou 1:1; 8MHz pro 8", 4MHz pro 5 1/4" | |
20 | GNT | GROUND - společná zem | ||
21 | WR CLK | IN | WRITE CLOCK - kmitočet určující přenosovou rychlost FM 500kHz, MFM 1MHz | |
22 | DW | IN | PLL | DATA WINDOW - signál vzorkující data z FDD (H) |
23 | RD DATA | IN | FDD READ DATA - čtená data | |
24 | VCO | OUT | PLL | VCO SYNC - spouští VCO ve smyčce PLL (H) |
25 | WE | OUT | FDD | WRITE ENABLE - H povoluje zápis dat na disketu |
26 | MFM | OUT | PLL | MFM MODE H= MFM L= FM |
27 | HD SEL | OUT | FDD | HEAD SELECT H= výběr hlavičky 1 L= výběr hlavičky 0 |
28 | DS1 | OUT | FDD | DRIVE SELECT |
29 | DS0 | OUT | FDD | výběr hlavičky (H) |
30 | WR DATA | OUT | FDD | WRITE DATA - sériová data pro zápis na disketu |
31 | PS1 | OUT | FDD | PRECOMPENSATION - při zápisu MFM |
32 | PS0 | OUT | FDD | fázové předzkreslení |
33 | FLT/TRK0 | IN | FDD | FAULT/TRACK0 v R/W módu došlo k chybě, v SEEK módu nalezení stopy 0 (H) |
34 | WP/TS | IN | FDD | WRITE PROT./TWO SIDE -H oznamuje ochranu diskety proti zápisu při SEEK oznamuje, že se jedná o oboustrannou disketu |
35 | RDY | IN | FDD | READY H indikuje,že FDD je připraven pro přenos dat z CPU |
36 | HDL | OUT | FDD | HEAD LOAD - H přiklopeni hlavičky na disk |
37 | FR/STEP | OUT | FDD | FAULT RESET/STEP v R/W módu smaže chybový příznak v FDI v SEEK módu vyšle impuls pro přesun hlavičky |
38 | LCT/DIR | OUT | FDD | LOW CHRENT/DIRECTION při R/W módu signál pro sníženi zápisového proudu při vyšších stopách v SEEK určuje směr pohybu hlavičky |
39 | RW/SEEK | OUT | FDD | READ WRITE/SEEK H= výběr SEEK módu, L= R/W mód |
40 | Vcc | napájeni +5V |
Registry I8272
MSR | |||
bit | jméno | symbol | popis |
0 | FDD0BUSY | D0B | FDD0 je v SEEK |
1 | FDD1BUSY | D1B | FDD1 je v SEEK |
2 | FDD2BUSY | D2B | FDD2 je v SEEK |
3 | FDD3BUSY | D3B | FDD3 je v SEEK |
4 | FDC BUSY | CB | řadič je v R/W módu |
5 | Non DMA | NDM | indikuje Result fázi při NONDMA |
6 | Data I/O | DIO | indikuje směr toku; L= z CPU do FDD |
7 | Req. for master | RQM | Data reg. je připraven pro čteni či zápis (DIO) |
STATUS REG.0 | |||
bit | jméno | symbol | popis |
7 | Interrupt | IC | D7-0 a D6=0: normální konec operace |
code | D7-0 a D6=1: příkaz byl zahájen, ale neúspěšně ukončen | ||
6 | D7=1 a D6=0: chybný příkaz | ||
D7=1 a D6=1: v průběhu operace ztráta sig. READY | |||
5 | Seek End | SE | ukončení operace SEEK |
4 | Equipm.check | EC | při jat sig.fault, nebo chybí sig. TRACK0 v příkazu RECALIBRATE |
3 | Not Ready | NR | FDD oznamuje, že není ready |
2 | Head Adres | HD | indikuje číslo aktivní hlavičky |
1 | Unit Select | US1 | tyto dva bity indikují |
0 | US0 | aktivní mechaniku | |
STATUS REG.1 | |||
bit | jméno | symbol | popis |
7 | End of Cylinder | EN | tento bit se nastaví při zápisu na sektor větší než EOT |
6 | - | - | není využit - vždy 0 |
5 | Data Error | DE | FDC detekuje chybu při čtení (chyba CRC) |
4 | Over Run | OR | indikuje, že CPU nestačí dostatečně rychle přenést data |
3 | - | - | není využit - vždy 0 |
2 | No Data | ND | FDC nenalezl sektor definovaný v příkazové fázi |
1 | No Write | NW | během zápisu FDD vyslal sig.Write Protect |
0 | Missing Adress Mark | MA | oznamuje, že nelze nalézt adresovou značku v hlavičce nebo dat. poli |
STATUS REG.2 | |||
bit | jméno | symbol | popis |
7 | - | - | nevyužit - vždy 0 |
6 | Control Mark | CM | FDC nasel sektor označený jako 'smazaný' |
5 | Data Error | DE | FDC detekuje chybu v datovém poli sektoru |
4 | Wrong Cylinder | WC | číslo stopy v ID poli nesouhlasí se stopou požadovanou FDC |
3 | Scan Equal Hit | SH | při porovnáni je splněna rovnost dat |
2 | Scan not Satisfied | SN | při porovnáni dat nebyl nalezen sektor vyhovující žádané podmínce komparace |
1 | Bad Cylinder | BC | dtto WC,ale dále musí být obsah C=FFH |
0 | Missing Ad. Mark in Data | MD | nemůže najít při čtení dat adresovou značku v datovém poli |
STATUS REG.3 | |||
bit | jméno | symbol | popis |
7 | Fault | FT | indikuje chybový signál FDD |
6 | Write Protect | WP | je vložena disketa s mechanickou ochranou proti zápisu |
5 | Ready | RDY | informace o připravenosti FDD |
4 | Track 0 | T0 | FDD nalezl stopu 0 |
3 | Two Side | TS | je připojen oboustranný FDD |
2 | Head Ad | HD | stav signálu SIDE SELECT na FDD |
1 | Unit Select | US1 | umožňuje zjistit stav signálu DS1 |
0 | US0 | a US0 FDC |
POPIS INSTRUKCÍ I8272
======================================================= SPECIFY ------------------------------------------------------- fáze D7 D6 D5 D4 D3 D2 D1 D0 poznámka ------------------------------------------------------- 1. 0 0 0 0 0 0 1 1 kód instrukce <- SRT -> <- HUT -> <------ HLT -------> ND -------------------------------------------------------
SRT | časový interval mezi impulsy pro krok. motor hlavičky, časovač je programovatelný od 1 do 16 ms s krokem 1ms (F=1ms,E=2ms,...). |
HUT | definuje čas od ukončení R/W operace do odklopeni hlavičky, časovač je programovatelný od 16 do 240 ms s krokem 16ms (01=16ms,02=32,...). |
HLT | definuje čas mezi signálem pro přiklopeni hlavičky a okamžikem odstartováni R/W operace. časovač je programovatelný od 2 do 254 ms s krokem 2ms (01=2ms,...., FE=254ms). |
ND | tento bit určuje druh provozu FDC. ND=1 = NON DMA mod |
Časové údaje platí pro f=8MHz (8“), pro f=4MHz je nutno zvětšit 2*
======================================================= RECALIBRATE ------------------------------------------------------- fáze D7 D6 D5 D4 D3 D2 D1 D0 poznámka ------------------------------------------------------- 1. 0 0 0 0 0 1 1 1 kód instrukce 0 0 0 0 0 0 DS1 DS2 2. přesun na stopu 0 -------------------------------------------------------
Hlavička na vybrané mechanice DS1 DS0 je přesunuta na stopu 00. Tato operace se musí provést při prvním přístupu řadiče na disk. mechaniku.
======================================================= SEEK ------------------------------------------------------- fáze D7 D6 D5 D4 D3 D2 D1 D0 poznámka ------------------------------------------------------- 1. 0 0 0 0 1 1 1 1 kód instrukce 0 0 0 0 0 HDS DS1DS0 <------- NCN --------> 2. přesun na NCN -------------------------------------------------------
HDS | Head Select | - výběr hlavičky 0 či 1 |
NCN | New Cylinder | - číslo stopy, kam bude hlavička přesunuta. Tato operace přesune hlavičku na novou pozici NCN mechaniky S1 S0. |
======================================================= READ ID ------------------------------------------------------- fáze D7 D6 D5 D4 D3 D2 D1 D0 poznámka ------------------------------------------------------- 1. 0 MFM 0 0 1 0 1 0 kód instrukce 0 0 0 0 0 HDS DS1DS0 2. přečtení 1. ID pole 3. <-------- ST0 -------> <-------- ST1 -------> stavová informace <-------- ST2 -------> <-------- C -------> <-------- H -------> informace z ID pole <-------- R -------> <-------- N -------> -------------------------------------------------------
ST0 - ST2 | stavové registry |
C | stopa na disketě |
H | číslo hlavičky v záhlaví sektoru (ID filed) |
R | číslo sektoru ,který je určen pro R/W operaci |
N | určuje délku sektoru (N=00 = 128B/s; N=01 = 256B/s atd.) |
Tato instrukce se používá ke zjištění polohy záznamové hlavy. FDC ukládá hodnoty z prvního ID pole jež může číst. Není-li nalezena správná adresní značka ID na disketě během 1 otáčky, pak je nastaven bit MA v ST1. Nejsou-li nalezena data, pak je nastaven i bit ND v ST1 a povel je ukončen.
======================================================= READ DATA ------------------------------------------------------- fáze D7 D6 D5 D4 D3 D2 D1 D0 poznámka ------------------------------------------------------- 1. MT MFM SK 0 0 1 1 0 kód instrukce 0 0 0 0 0 HDS DS1DS0 <-------- C ------—> <-------- H -------> <-------- R -------> <-------- N -------> <-------- EOT -------> <-------- GPL -------> <-------- DTL -------> 2. přenos dat 3. <-------- ST0 -------> stavová informace <-------- ST1 -------> po provedení <-------- ST2 -------> <-------- C -------> informace z ID pole <—------- H -------> <-------- R -------> <-------- N -------> -------------------------------------------------------
C | číslo stopy |
H | číslo hlavičky v záhlaví sektoru (ID filed) R číslo sektoru N délka sektoru |
EOT | číslo posledního sektoru na stopě |
GPL | délka mezery mezi sektory |
DTL | je-li N = 00, pak DTL určuje počet byte, jež lze zapsat/číst do/z sektoru |
Po zapsáni 9 byte v 1.fázi, vyšle FDC sig.pro přiklopeni hlavičky a začne číst záhlaví (ID pole) prvního sektoru. Stále porovnává obsah registru C, H, R a N s odpovídajícími hodnotami v ID poli a souhlasí-li, začne vysílat data uložená na disketě po DBUS do nadřízeného systému.
Na konci čteni každého sektoru je číslo sektoru v řadiči automaticky inkrementováno a FDC čte následující sektor. Tomuto plynulému čtení se říká "Vícesektorové čtení" (Multi-Sector Read Operation). Příkaz proto musí být ukončen signálem TC (Terminal Count). V okamžiku, kdy FDC obdrží tento signál (i v průběhu čteni sektoru), přestane FDC vysílat data do CPU, ale dokonči čtení dat z aktuálního sektoru, z kontrolu je CRC a teprve na konci sektoru ukonči operaci READ DATA.
Délka sektoru je určena N v ID poli. Je-li N=0, pak byte DTL v příkazu definuje délku datového bloku, který bude do CPU přenesen. V případě, že DTL je menši než fyzická délka sektoru, byte nad DTL nebudou přeneseny (FDC ukonči vnitřně čtení sektoru včetně kontroly CRC) a záleží na způsobu ukončeni operace (sig. TC), zda vykoná Multi-Sector Read Operation. Je-li N<>0, pak DTL nemá význam a může být nastaven na 0FFh.
Při ukončení operace READ DATA zůstane hlavička přiklopena po dobu HUT (viz SPECIFY). Vydá-li CPU příkaz k dalšímu čtení v této době, přestane se čítač HUT dekrementovat a hlavička zůstane přiklopena.
Detekuje-li FDC indexový otvor a nenajde sektor odpovídající hodnotě R (v příkazu READ DATA), pak FDC ukonči operaci a nastaví ND v ST1.
V případě, že FDC nalezne adr.značku zrušených dat a je bit SK=0, pak FDC nastaví příznak CM v ST2 a ukonči operaci. Je-li SK=1, pak FDC 'přeskočí' tento sektor a čte následující sektor.
======================================================= WRITE DATA ------------------------------------------------------- fáze D7 D6 D5 D4 D3 D2 D1 D0 poznámka ------------------------------------------------------- 1. MT MFM SK 0 0 1 0 1 kód instrukce 0 0 0 0 0 HDS DS1DS0 <-------- C -------> <-------- H -------> <-------- R -------> <-------- N -------> <-------- EOT -------> <-------- GPL -------> <-------- DTL -------> 2. přenos dat 3. <------- ST0 -------> stavové informace <------- ST1 -------> po provedení <------- ST2 -------> instrukce <—------ C -------> informace z ID pole <------- H -------> <------- R -------> <------- N -------> -------------------------------------------------------
Tato instrukce má stejný průběh jako READ DATA, pochopitelné až na směr přenosu dat.
======================================================= FORMÁT A TRACK ------------------------------------------------------- fáze D7 D6 D5 D4 D3 D2 D1 D0 poznámka ------------------------------------------------------- 1. 0 MFM 0 0 1 1 0 1 kód instrukce 0 0 0 0 0 HDS DS1DS0 <-------- N -------> <------— SC -------> <------- GPL'-------> <------- D -------> 2. formátováni 3. <------- ST0 -------> stavové informace <------- ST1 -------> <------- ST2 -------> <------- C -------> informace z ID pole <------- H -------> <------- R -------> <------- N -------> -------------------------------------------------------
Instrukce umožňuje formátovat stopu diskety. Jakmile FDC detekuje indexový otvor, začne zapisovat ID pole, mezery, adresové značky a datové pole. Formát je částečně definován pomoci N (deklarace sektoru), SC (počet sektorů na stopu), GPL (délka mezer viz. tabulka TABGPL) a D (datový vzor).
Datové pole je plněno byty dat uložených v D. Pole ID pro každý sektor je dodáváno procesorem, tj. jsou provedeny FDC čtyři žádosti o data na sektor (pro C, H, R a N).To dovoluje, je-li to požadováno, formátováni diskety s nesekvenčními čísly sektoru. (Operační systémy obvykle řeší nesekvenční přistup programově.)
Pro formátováni každého sektoru musí tedy procesor vyslat nové hodnoty C, H, R a N do 8272 pro každý sektor na stopě. Obsah R je zvětšen o 1 po zformátováni každého sektoru, tzn. během výsledné fáze je R=R+1. Toto zvětšeni a formátování pokračuje po celé stopě, dokud se FDC nesetká s index otvorem po druhé, kdy se povel ukončí.
Je-1i na konci zápisové operace z FDD přijat sig. FAULT, pak FDC nastaví příznak EC v ST0 a po nastavení bitu D7=0 a D6=1 v témže registru ukonči operaci. Ukončeni způsobí též ztráta sig. READY na začátku povelové fáze.
======================================================= SENSE INTERRUPT STATUS ------------------------------------------------------- fáze D7 D6 D5 D4 D3 D2 D1 D0 poznámka ------------------------------------------------------- 1. 0 0 0 0 1 0 0 0 kód instrukce 3. <-------- ST0 -------> stavová informace <-------- PCN -------> pozice hlavičky -------------------------------------------------------
Signál přerušení (INT) je FDC generován vždy v jednom z následujících případů:
Instrukce SENSE INTERRUPT STATUS slouží k určeni smyslu signálu INT. Praktické využiti má především ve spojeni s instrukcemi SEEK a RECALIBRATE, protože tyto nemají 3. fázi, která by systém informovala o nastavení hlavičky. Přerušeni způsobené případy 1 a 4 proběhnou během normálních povelových operací a jsou snadno rozlišitelné procesorem. V případech 2 a 3 mohou být však jednoznačně identifikovány pouze povelem SENSE INTERRUPT STATUS. Vysláním tohoto povelu se maže přerušovací signál. Příčina přerušení je uložena v bitech 7, 6 a 5 registru ST0.
======================================================= READ DELETED DATA ------------------------------------------------------- fáze D7 D6 D5 D4 D3 D2 D1 D0 poznámka ------------------------------------------------------- 1. MT MFM SK 0 1 1 0 0 kód instrukce 0 0 0 0 0 HDS DS1DS0 <-------- C -------> <-------- H -------> <-------- R -------> <-------- N -------> <-------- EOT -------> <-------- GPL -------> <-------- DTL -------> 2. přenos dat 3. <-------- ST0 -------> stavové informace <-------- ST1 -------> <-------- ST2 -------> <-------- C -------> informace z ID pole <-------- H -------> <—------- R -------> <-------- N -------> -------------------------------------------------------
Tento povel je shodný s READ DATA, kromě případu, kdy FDC zjistí adresní značku dat na začátku datového pole. Je-li SK=0 přečte všechna data v sektoru a nastaví indikátor CM v ST2 a ukončí činnost, při SK=1 přeskočí FDC sektor s adresní značkou a čte další sektor.
======================================================= WRITE DELETED DATA ------------------------------------------------------- fáze D7 D6 D5 D4 D3 D2 D1 D0 poznámka ------------------------------------------------------- 1. MT MFM 0 0 1 0 0 1 kód instrukce 0 0 0 0 0 HDS DS1DS0 <-------- C -------> <-------- H -------> <-------- R -------> <-------- N -------> <-------- EOT -------> <-------- GPL -------> <-------- DTL -------> 2. přenos dat 3. <-------- ST0 -------> stavové informace <-------- ST1 -------> <-------- ST2 -------> <-------- C -------> informace z ID pole <-------- H -------> <—------- R -------> <-------- N -------> -------------------------------------------------------Tento povel je shodný s WRITE DATA kromě toho, ze značka vymazaných dat se zapíše na začátek datového pole místo normální adresní značky dat.
======================================================= READ TRACK ------------------------------------------------------- fáze D7 D6 D5 D4 D3 D2 D1 D0 poznámka ------------------------------------------------------- 1. 0 MFM SK 0 0 0 1 0 kód instrukce 0 0 0 0 0 HDS DS1DS0 <-------- C -------> <-------- H -------> <-------- R -------> <-------- N -------> <-------- EOT -------> <-------- GPL -------> <-------- DTL -------> 2. přenos dat 3. <-------- ST0 -------> stavové informace <-------- ST1 -------> <-------- ST2 -------> <-------- C -------> informace z ID pole <-------- H -------> <—------- R -------> <-------- N -------> -------------------------------------------------------
Povel je podobný READ DATA až na to, že celé datové pole je čteno kontinuální z každého sektoru celé stopy. Od IX pulzu čte FDC všechna datová pole na stopě jako kontinuální blok dat. Ve čtení pokračuje i v případě, že nalezne chybu v ID nebo v CRC. Jednotka FDC srovnává ID informace odečtené z každého sektoru s hodnotou uloženou v IDR a v případě neshody nastaví indikátor ND v ST1. Vícestopé či přeskokové operace nejsou u tohoto povelu dovoleny.
Povel skonči, když byla přečtena EOT čísla sektoru.Nenalezne-li adresní značku ID na disketě do 2. IX pulzu, nastaví příznak HA v ST1, v ST0 bit D7=0 a D6=1 a ukonči povel.
======================================================= SENSE DRIVER STATUS ------------------------------------------------------- fáze D7 D6 D5 D4 D3 D2 D1 D0 poznámka ------------------------------------------------------- 1. 0 0 0 0 0 1 0 0 kód instrukce 0 0 0 0 0 HDS DS1DS0 3. <-------- ST3 -------> stav FDC -------------------------------------------------------
Povel může být použit kdykoliv je třeba získat informace o stavu řadiče.
======================================================= INVALID ------------------------------------------------------- fáze D7 D6 D5 D4 D3 D2 D1 D0 poznámka ------------------------------------------------------- 1. <---neplatný příkaz---> 3. <-------- ST0 --------> stav. inf. ST0=80h -------------------------------------------------------
Je-li zaslán do FDC, ukonči právě vykonávanou operaci. Signál INT není v tomto případě řadičem generován. Bity D6 a D7 v MSR jsou oba nastaveny na 1 a indikují, že je v datovém registru připraven ke čteni stavový reg. ST0 obsahující 80h. Toto indikuje příjem neplatného příkazu.
Po ukončeni operací SEEK a RECALIBRATE musí být vyslán SENSE INTERRUPT STATUS,jinak každý, i správný, příkaz bude FDC považovat za neplatný příkaz.
Příkaz INVALID lze v některých případech použít jako tzv. 'prázdný' příkaz k uvedeni FDC do klidu.
POROVNÁVACÍ POVELY
Operace porovnávající data na disketě SCAN se v běžných programech (BIOS CP/M) neuplatňuji. Sama fy. INTEL jejich použiti nedoporučuje, neboť jsou často doprovázeny systémovými chybami. U FDC rumunské výroby nelze předpokládat lepši výsledky. Pro úplnost jsou zde uvedeny.
Jednotka FDC srovnává data bajt po bajtu a vyhledává sektor dat jež vyhovuje podmínkám Dfdd=Dcpu, Dfdd<=Dcpu nebo Dfdd>=Dcpu. Je-li srovnán celý sektor a není splněna žádná z podmínek zvýší se R=R+STP a operace snímáni pokračuje dokud se nesplní jedna z následujících podmínek :
Po splněni nastaví FDC příznak SH v ST2 a ukonči povel. Není-li splněna žádná z podmínek mezi startovacím sektorem (R) a posledním (EOT), pak FDC nastaví příznak SN v ST2 a ukonči povel snímání. Příjem TC z CPU nebo DMA během operace způsobí, že FDC dokonči srovnáni určitého bajtu jež je v procesoru a poté ukonči povel.
Jestliže FDC narazí na adresní značku vymazaných dat na jednom ze sektorů (a SK=0) potom posuzuje sektor jako poslední sektor na válci, nastaví CM v ST2 a ukonči povel. Je-li SK=1, FDC přeskočí tento sektor a čte další, přitom nastaví CM v ST2 (informace o tom, že jsme se setkali s vymazaným sektorem).
Jestliže jsou přečteny kontinuální sektory (STP=01),či střídavě sektory (STP=02) nebo je programováno MT, je nutno si uvědomit, že se musí číst poslední sektor na stopě.
Např.: je-li STP=02,MT=0,sektory jsou číslovány sekvenčně1-26 a používáme povel snímáni v sektoru 21 -stane se následující:
Sektory 21, 23 a 25 budou přečteny, pak další sektor (26) bude přeskočen a setkáme se s index otvorem dřív, než může být přečten EOT s 26. Bude to znamenat abnormální ukončeni povelu.Jestliže byl EOT nastaven na 25 nebo snímáni začalo v sektoru 20 potom bude povel snímáni ukončen normálním způsobem.
Během snímáni jsou data pro srovnáváni s odečtenými daty z diskety dodávána buď CPU nebo DMA kontrolerem.
Abychom se vyvarovali nastaveni příznaku OR v ST1 musí mít k dispozici data do 27 µs. (FM režim) nebo 13
µs. (MFM režim) Nastane-li přeběh, FDC ukonči povel.
======================================================= Tabulka stavů ------------------------------------------------------- povel ST 2 poznámka SN bit 2 SH bit 3 ------------------------------------------------------- SCAN EQUAL 0 1 Dfdd = Depu 1 0 Dfdd <> Depu ------------------------------------------------------- SCAN LOW ... 0 1 Dffd = Depu 0 0 Dffd < Depu 1 0 Dffd > Depu ------------------------------------------------------- SCAN HIGH ... 0 1 Dffd = Depu 0 0 Dffd > Depu 1 0 Dffd < Depu ======================================================= SCAN EQUAL ------------------------------------------------------- fáze D7 D6 D5 D4 D3 D2 D1 DO poznámka ------------------------------------------------------- 1. MT MFM 0 0 1 1 0 1 kód instrukce 0 0 0 0 0 HDS DS1DS0 <-------- C -------> <-------- H -------> <-------- R -------> <-------- N -------> <-------- EOT -------> <-------- GPL -------> <-------- DTL -------> 2. přenos dat 3. <-------- ST0 -------> <-------- ST1 -------> <-------- ST2 -------> <-------- C -------> <-------- H -------> <—------- R -------> <-------- N -------> ------------------------------------------------------- ======================================================= Instrukce SCAN LOW OR EQUAL a SCAN HIGH OREQUAL mají shodnou strukturu, proto zde uvedu pouze operační kód: ------------------------------------------------------- instrukce D7 D6 D5 D4 D3 D2 D1 D0 ------------------------------------------------------- SCAN LOW OR EQUAL MT MFM SK 1 1 0 0 1 . . SCAN HIGH OR EQUAL MT MFM SK 1 1 1 0 1 . . ------------------------------------------------------- ======================================================= Vztah velikosti sektoru a GPL: TABGPL ------------------------------------------------------- 8" 5.25" ------------------------------------------------------- mod byte/sektor N GPL GPL' GPL GPL' ------------------------------------------------------- FM 128 00 07 1B 07 09 256 01 0E 2A 18 30 512 02 1B 3A 46 B7 1024 03 47 8A C8 FF ------------------------------------------------------- FMF 256 01 0E 36 0A 0C 512 02 1B 54 2A 50 1024 03 66 74 80 F0 ------------------------------------------------------- GPL' platí pro formátováni =======================================================
Řadič FDC-1A,B je ve výrobním závodě testován pomocí speciálního testovacího programu.
Údržba desek spočívá v udržování kontaktu FRB konektorů. Tyto kontakty je nutno chránit před znečištěním a mechanickým poškozením, aby byla zajištěna spolehlivá funkce systému. Před každým zasunutím desek do sběrnice je nutno zkontrolovat, zda nejsou špičky konektoru ohnuty, aby nedošlo k jejich ulomeni. Servis desek zajišťuje dodavatel systému. V případě odesláni desek do opravy je nutno je zabalit do původního přepravního obalu.
Pracovní podmínky: | teplota okolí | +5°C až +40°C |
relativní. vlhkost | 40 – 80%. při 30°C | |
prostředí | neklimatizované, bez agresivních plynů a par | |
atmosférický tlak | 84 - 107 kPa | |
prašnost | max. 1mg/m3 částice max. 10 µm | |
vibrace-odolnost | 0,1 mm při 25 Hz |
Desky jsou napájeny ze zdroje, který odpovídá ČSN 36 9060.
Kvalifikace obsluhy a údržby - pracovník poučený podle § 4 vyhlášky 50/78 Sb.
Skladováni:
skladovací prostor musí být suchý, dobře větraný bez mechanických otřesů a chemických vlivů, skladovací teplota musí být v rozmezí -5 až +35°C a relativní vlhkost max. 75%, výrobky musí být skladovány v neporušeném obalu, při vybalováni systému (zvláště v zimním období) je nutné ponechat výrobek v přepravním obalu 4-5 hodin v pracovních podmínkách, aby nedošlo k oroseni desek.
Záruka:
dodavatel ručí za jakost výrobku po dobu 6 měsíců ode dne splněni dodávky za předpokladu, že deska nebyla mechanicky poškozena hrubým, nebo neodborným zásahem.
Konfigurace mechanik lze číst z nastavených DIL přepínačů na desce FDC-1B:
Mechaniky (FDM) se připojí na desku FDC-1A viz zapojeni konektorů.
Na desce FDC-1B jsou na konektoru X3 samostatné ovládací signály SEL0 - SEL3, HL0 - HL3 a MOT0 - M0T3
FDC-1A, X3
1 | 16 | /H3 | |
2 | /M0 | 17 | |
3 | 18 | /S0 | |
4 | /M1 | 19 | |
5 | 20 | /S1 | |
6 | /M2 | 21 | |
7 | 22 | /S2 | |
8 | /M3 | 23 | |
9 | 24 | /S3 | |
10 | /H0 | 25 | |
11 | 26 | ||
12 | /H1 | 27 | |
13 | 28 | ||
14 | /H2 | 29 | |
15 | 30 |
Rozdíly v zapojení konektorů řadiče RPD-1 a FDC-1
FRB30 | RPD-1B | FDC-1A | význam | zkratky |
1 | zem | zem | HL | - HEAD LOAD |
2 | /HL | /HL | ST | - STEP |
3 | zem | zem | SEL0 | - SELECT0 |
4 | /ST | /ST | SEL1 | - SELECT1 |
5 | zem | zem | SEL2 | - SELECT2 |
6 | /SEL0 | /SEL0 | SEL3 | - SELECT3 |
7 | zem | zem | RD | - READ DATA |
8 | /RD | /RD | WG | - WRITE GATE |
9 | zem | zem | WD | - WRITE DATA |
10 | /WG | /WG | TR00 | - TRACK00 |
11 | zem | zem | WP | - WRITE PROTÉCT |
12 | /WD | /WD | IX | - INDEX PULS |
13 | zem | zem | RDY | - READY |
14 | /TR00 | /TR00 | TR43 | - TRACK43 |
15 | zem | zem | SS1 | - SIDE SELECT |
16 | /WP | /WP | TWO SIDE | - indikace oboustr. disk. |
17 | zem | zem | DIR | - DIRECTION SELECT |
18 | /IX | /IX | WF | - WRITE FAULT |
19 | zem | zem | FR | - WRITE FAUL RESET |
20 | /WF | /RDY* | ||
21 | zem | zem | ||
22 | /TR43 | /TR43 | ||
23 | zem | /SS1 | ||
24 | /SEL1 | /SEL1 | ||
25 | zem | /SEL2 | ||
26 | /FR | /TWO SIDE | ||
27 | zem | /SEL3 | ||
28 | /DIR | /DIR | ||
29 | zem | /WF | ||
30 | reserva | /FR |
* RDY je u dodávaných desek propojen na zem (pro CONSUL 7113)
Pro 5,25" je nutno přerušit propojku na zem !
Zapojeni mechanik CONSUL 7115
signál | FRB 30 | mech. A | mech. B |
STEP | 4 | 36 | 36 |
zem | |||
SEL0 | 6 | 26 | |
SEL1 | 24 | 26 | |
zem | |||
RD | 8 | 46 | 46 |
Zem | |||
WG | 10 | 40 | 40 |
zem | |||
WD | 12 | 38 | 38 |
zem | |||
TR00 | 14 | 42 | 42 |
WP | 16 | 44 | 44 |
INDX | 18 | 20 | 20 |
zem | |||
DIR | 28 | 34 | 34 |
TWO SIDE | 26 | 14 | 14 |
RDY 20* | 22 | 22 | |
zem | 1,3,5,7,9,11 | všechny liché | všechny liché |
*) Na dodávané desce FDC-1A pin propojen na zem pro mechaniky CONSUL 7113. Nutno odpojit od země!
Napájeni :
Pohled na konektor napájecího napětí ze strany pájení.
* - Kontakty konektoru
===== - Klíč jistící konektor proti otočeni
------- 1 | * * | 2 3 | * * | 4 5 | * * | 6 7 | ===== | 8 9 | * * | 10 -------
2,4 | - napájeni +5V |
6 | - napájení +24V A (0,5A) |
10 | - napájení +24V B (1,5A) |
1,3,5,9 | - zem |
I.O. | ekvivalent SSSR | poč. ks | holerit |
74 LS 04 | K 555 LN1 | 3 | 6722370 |
74 LS 08 | K 555 LI1 | 2 | 6722383 |
74 LS 14 | K 555 TL2 | 1 | 6722392 |
MH 74 38 | 3 | 6703363 | |
74 LS 51 | K 555 LR11 | 1 | |
74 LS 74 | K 555 TM2 | 1 | 6722384 |
UCY 74145 | 1 | ||
UCY 74153 | 1 | ||
74 125 | K 155 LP8 | 1 | 6722389 |
74 LS 175 | K 555 TM8 | 1 | 6722385 |
MH 74S287 | 1 | 6703372 | |
MHB 82 82 | 1 | 6722163 | |
MHB 82 86 | 2 | 6722165 | |
82 57 | KR 580 IK57 | 1 | |
NEC 765A | CM 609 (I8272) | 1 | |
NE 555 | BE 555 | 1 | 6701800 |
Tranzistor | KC 507 | 1 | 6701555 |
Odpor | TR 191 , 150R | 7 | 6172806 |
TR 191 , 1M0 | 1 | 6172867 | |
TR 191 , 4K7 | 1 | 6172814 | |
TR 191 , 12K | 10 | 6172869 | |
Kondenz. | TK 783 , 47n | 5 | 6161037 |
TK 783 , 100n | 1 | 6161032 | |
TE 132 , 10M | 2 | ||
TE 981 , 1M/6V | 1 | ||
Vidlice | TY 517 62 11 | 1 | 6629859 |
TY 513 30 11 | 2 | ||
Patice | TX 782 2171 | 1 | 6718360 |
I.O. | ekvivalent SSSR | poč. ks | holerit |
74 LS 02 | K 555 LE1 | 1 | |
74 LS 04 | K 555 LN1 | 2 | 6722370 |
74 LS 08 | K 555 LI1 | 1 | 6722383 |
74 LS 14 | K 555 TL2 | 1 | 6722392 |
74 LS 32 | K 555 LL1 | 1 | 6722382 |
MH 74 38 | 2 | 6703363 | |
UCY 7473 | 1 | 6703380 | |
74 LS 74 | K 555 TM2 | 2 | 6722384 |
MH 74 93A | 2 | 6703360 | |
74 S 124 | K 531 GG1 | 1 | |
74 125 | K 155 LP8 | 1 | 6722389 |
74 145 PC | 1 | ||
UCY 74153 | 3 | ||
74 LS 175 | K 555 TM8 | 3 | 6722385 |
MHB 45 03 | 1 | ||
Krystal | 11 Z 52 , 8MHz | 1 | 6703500 |
Odpor | TR 191 , 220R | 1 | 6172815 |
TR 191 , 390R | 1 | 6172846 | |
TR 191 , 470R | 1 | 6172844 | |
TR 191 , 1K0 | 2 | 6172811 | |
TR 191 , 1K2 | 2 | 6172810 | |
TR 191 , 3K9 | 1 | 6172858 | |
TR 191 , 5K6 | 8 | 6172827 | |
TR 191 , 10K | 1 | 6172820 | |
TR 191 , 100K | 1 | 6172832 | |
TR 191 , 120K | 1 | ||
Trimr | TP 095 , 100R | 1 | 6172358 |
Kondenz. | TE 981 , 20M/6V | 1 | |
TK 724 , 1n2 | 1 | 6161012 | |
TK 744 , 10n | 1 | 6161663 | |
TK 783 , 15n | 13 | 6161610 | |
TK 783 , 100n | 2 | 6161032 | |
TK 795 , 150p | 1 | 6161085 | |
TK 725 , 330p | 1 | 6161014 | |
TE 132 , 10M | 2 | ||
TK 795 , 100p | 1 | 6161086 | |
Přep. DIL | TS 501 8181 | 1 | |
TS 501 2121 | 1 | 6115682 |
Schéma FDC-1A a černobílá verze ZDE.
Schéma FDC-1B a černobílá verze ZDE.
Obsah PROM D5B z FDC-1A
:20000000FFFFFFFFFAFAFAFAFAFAFAFAF9F9F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 :20002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 :20004000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 :20006000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 :20008000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 :2000A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 :2000C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 :2000E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 :00000001FF
Ú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