Ú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
ZRMD-1 (Zálohovaný RaM Disk) je zcela nová deska pro SAPI-1. Deska ZRMD-1 vychází ideově z RMD-1(Z). Autorem desky je Jiří Bíba a já jsem k ní pouze spáchal DPS. RAM disk může mít kapacitu od 512KB až po 4MB, s možností blokování zápisu do zvolené paměti - tj. po 512kB. Dále je na desce obvod RTC 72412 s možností generovat 1s přerušení a dva signály MAP. SRAM i RTC 72412 lze zálohovat pomocí NiCd či NiMH akumulátoru nebo ze sběrnice.
Ramdisk je navržen s ohledem pro použití pod CP/M. Deska ZRMD-1 napodobuje řadič pružných disku, je adresován jako V/V zařízení. Lze osadit do jednotek JZS-1(A) (sběrnice ARB-1) nebo JPN-1 (sběrnice IOB-1)
Adresový dekodér a výběr paměti je řešen pomocí obvodů GAL16V8. Z výškových důvodů je akumulátor prostrčen otvorem v DPS, nožičky určené k zapájení do DPS ohnuty o 90° a připájeny ze strany spojů. O zálohování SRAM, RTC 72412 a RESET se stará obvod MAX691. Pokud oželíme funkci RESET a jistou část spolehlivosti, lze použit místo MAX691 k zálohováni diody (D101 a D102), ale je nutno propojit vývody 11-12 nebo 12-13 z MAXe.
U zadrátovaného vzorku byly problémy, které se povedlo odstranit až přidáním zátěžových odporů na datovou sběrnici pamětí (délka vodičů byla cca 40cm) - u prototypu DPS byly připraveny odpory, a to ve verzi SIP a SMD, ale nakonec se ukázalo, že nejsou zapotřebí. SMD odpory jsem proto zrušil úplně a SIP odpory jsou zrušené ve schématu, ale na DPS zůstala možnost je osadit. Na desce je několik nastavovacích propojek a DIL přepínač.
Vloudila se chyba u zapojeni IO2 MAX691 alias ADM691, tj. je uzemněn vývod č. 11 WDI. Vůbec nemám tušení, proč jsem
vlastně ten vývod uzemnil. Jde o vstup WATCHDOG. Náprava je dostat vývod č.11 do třetího stavu (do luftu /nezapojen/),
což je přeškrábnout spoj (je ze strany součástek), či provést takové úpravy, aby byl vývod č.11 (WDI) nezapojen
Bylo zjištěno, že MAX691 se chová trošku jinak než ADM691
MAX691 při úrovni "0" nebo "1" na WDI po dobu delší než 1.6s provede reset, ale s /CE-OUT nic neudělá, tudíž s MAXem to
funguje, ale nesmí byt připojen vystup /RESET na /RTL či jinam
ADM691 při úrovni "0" nebo "1" na WDI po dobu delší než 1.6s provede reset, a taktéž odstřelí /CE-OUT, tudíž to blblo
jak u šílenců, páč to odstavovalo SRAM na 50ms
Význam jednotlivých propojek:
JP1 | - nastavení RESETů |
1 | - RESET z MAXe na RTL (RESET systému) |
2 | - RESET z MAXe na RTC72412 |
3 | - systémový RESET na RTC72412 |
JP2 | - výstup mapování |
1 | - MAP1 |
2 | - MAP2 |
JP3 | - přerušení od RTC72412 |
1 | - INT0 (INT) |
2 | - INT1 (NMI) |
JP4 | - volba zálohovacího/nabíjecího napětí |
1 | - dobíjeni akumulátoru z VCC |
2 | - dobíjeni akumulátoru z Uz |
3 | - záložní napětí z Uz |
JP5 | - odpojení akumulátoru |
Seznam součástek
polovodiče
1 | IO1 | 74LS08N |
2 | IO3, IO4 | 74LS193N |
1 | IO5 | 74LS245N |
2 | IO8, IO9 | 74LS273N |
1 | IO2 | MAX691, ADM691, ... |
2 | IO6, IO10 | GAL16V8 |
1 | IO7 | RTC72412 |
8 | SRAM1 - 8 | K6X4008C1F, 628512, ... |
8 | T1 - T8 | BS170 |
1 | D1 | 1N4148, ... |
2* | D101, D102   | 1N4148, ... |
Kondenzátory
21 | C2-C5, C7-C11, C13-C18, C19-C25 | 47n | keramický |
4 | C1, C6, C12, C17 | 47µ | elektrolytický |
odpory
10 | R1-R2, R4-R11 | 4k7 | |
1 | R3 | 2k2 | |
8 | R12-R19 | 10k | |
dle potřeby | |||
1 | --- | 4k7 | SIP |
ostatní
1 | S1 | spínač DIL 4x | |
2 | JP1, JP4 | jumper 3x2 | |
2 | JP2, JP3 | jumper 2x2 | |
1 | JP5 | jumper 1x2 | |
1 | X1 | TY 517 62 11 nebo TY 525 62 11 | klíč C6 |
1 | BAT1 | 3.6V/80mA NiMH akumulátor (3.6V/60mA NiCd) |
Základní nastavení GALů
Dekodér adres (Bázová adresa 60H pro RAM Disk a 70H pro RTC)
chip deport60 GAL16V8 A0 A1 A2 A3 A4 A7 A56 WR RD GND IORW CSD UP ADR1 ADR2 WE ADR0 RTC OE VCC equations /UP = /A0 * /A1 * /A2 * /A3 * /A4 * /A7 * A56 * /IORW /ADR0 = A0 * /A1 * /A2 * /A3 * /A4 * /A7 * A56 * /WR /ADR1 = /A0 * A1 * /A2 * /A3 * /A4 * /A7 * A56 * /WR /ADR2 = A0 * A1 * /A2 * /A3 * /A4 * /A7 * A56 * /WR /WE = /A0 * /A1 * /A2 * /A3 * /A4 * /A7 * A56 * /WR /CSD = /A0 * /A1 * /A2 * /A3 * /A4 * /A7 * A56 * /IORW + A0 * /A1 * /A2 * /A3 * /A4 * /A7 * A56 * /WR + /A0 * A1 * /A2 * /A3 * /A4 * /A7 * A56 * /WR + A0 * A1 * /A2 * /A3 * /A4 * /A7 * A56 * /WR + A4 * /A7 * A56 * /IORW /RTC = A4 * /A7 * A56 * /IORW /OE = /A0 * /A1 * /A2 * /A3 * /A4 * /A7 * A56 * /RD ; Tento dekoder slouzi k vyberu obvodu dle adresy portu ; UP = 60H zapis a cteni dat "sektoru" delky 128 nebo 256 byte ; ADR0 = 61H prednastaveni A0-A7 "sektoru" disku ; ADR1 = 62H prednastaveni A8-A15 "stopy" disku ; ADR1 = 63H prednastaveni A16-A21 "stopy" disku ; bity 6 a 7 je mozno pouzit pro mapovani RAM pro jine desky ; RTC = 70-7FH registry obvodu realneho casu ; WE = povoleni zapisu pameti ; OE = povoleni cteni pameti ; CSD = povoleni dat ;REGISTER TABLE RTC 72421 ;---------------------------------------------- ;ADR|NAME| D3 | D2 | D1 | D0 |BCD ;--------------------------------------------- ;0 |S1 | s8 | s4 | s2 | s1 |0-9 ;1 |S10 | | s40 | s20 | s10 |0-5 ;2 |MI1 | mi8 | mi4 | mi2 | mi1 |0-9 ;3 |MI10| | mi40 | mi20 | mi10 |0-5 ;4 |H1 | h8 | h4 | h2 | h1 |0-9 ;5 |H10 | | PM/AM | h20 | h10 |0-1/2 ;6 |D1 | d8 | d4 | d2 | d1 |0-9 ;7 |D10 | | | d20 | d10 |0-3 ;8 |M01 | mo8 | mo4 | mo2 | mo1 |0-9 ;9 |MO10| | | | mo10 |0-1 ;A |Y1 | y8 | y4 | y2 | y1 |0-9 ;B |Y10 | y80 | y40 | y20 | y10 |0-9 ;C |W | | w4 | w2 | w1 |0-6 ;D |CD |30s ADJ|IRQ FL | BUSY | HOLD | ;E |CE | t1 |t0 | ITRPT | MASK | ;F |CF |TEST |24/12 | STOP | RESET | ;---------------------------------------------
Alternativní dekodér adres pro 74LS373 (Bázová adresa 60H pro RAM Disk a 70H pro RTC).
Vzhledem k tomu, že obvody 74LS273 se špatně shání, lze je nahradit obvody 74LS373, které jsou bez problému k sehnání.
Náhrada 74LS273 za 74LS373 si vyžádá dva zásahy na DPS a to:
IO8 - neosadit odpor R5 a pin 1 spojit s pinem 10 (GND)
IO9 - přeškrábnout spoj u pinu 1 (/RES) a pin 1 spojit s pinem 10 (GND),
čímž budou mít obě 74LS373 trvale povolené výstupní budiče
Při použití obvodů 74LS373 lze použit desku ZRMD-1 k ovládání signálu MAP pouze tehdy, jsou-li před prvním použitím RAM nastaveny signály MAP do výchozího nastavení (MAP1 = MAP2 = 0)
chip ZDMD1A GAL16V8 c2011 Jiri Biba A0 A1 A2 A3 A4 A7 A56 WR RD GND IORW CSD UP ADR1 ADR2 WE ADR0 RTC OE VCC equations /UP = /A0 * /A1 * /A2 * /A3 * /A4 * /A7 * A56 * /IORW /ADR0 = A0 * /A1 * /A2 * /A3 * /A4 * /A7 * A56 * /WR ADR1 = /A0 * A1 * /A2 * /A3 * /A4 * /A7 * A56 * /WR ADR2 = A0 * A1 * /A2 * /A3 * /A4 * /A7 * A56 * /WR /WE = /A0 * /A1 * /A2 * /A3 * /A4 * /A7 * A56 * /WR /CSD = /A0 * /A1 * /A2 * /A3 * /A4 * /A7 * A56 * /IORW + A0 * /A1 * /A2 * /A3 * /A4 * /A7 * A56 * /WR + /A0 * A1 * /A2 * /A3 * /A4 * /A7 * A56 * /WR + A0 * A1 * /A2 * /A3 * /A4 * /A7 * A56 * /WR + A4 * /A7 * A56 * /IORW /RTC = A4 * /A7 * A56 * /IORW /OE = /A0 * /A1 * /A2 * /A3 * /A4 * /A7 * A56 * /RD ; Tento dekoder slouzi k vyberu obvodu dle adresy portu ; UP = 60H zapis a cteni dat "sektoru" delky 128 nebo 256 byte ; ADR0 = 61H prednastaveni A0-A7 "sektoru" disku ; ADR1 = 62H prednastaveni A8-A15 "stopy" disku ; ADR1 = 63H prednastaveni A16-A21 "stopy" disku ; bity 6 a 7 je mozno pouzit pro mapovani RAM pro jine desky ; RTC = 70-7FH registry obvodu realneho casu ; WE = povoleni zapisu pameti ; OE = povoleni cteni pameti ; CSD = povoleni dat ;REGISTER TABLE RTC 72421 ;---------------------------------------------- ;ADR|NAME| D3 | D2 | D1 | D0 |BCD ;--------------------------------------------- ;0 |S1 | s8 | s4 | s2 | s1 |0-9 ;1 |S10 | | s40 | s20 | s10 |0-5 ;2 |MI1 | mi8 | mi4 | mi2 | mi1 |0-9 ;3 |MI10| | mi40 | mi20 | mi10 |0-5 ;4 |H1 | h8 | h4 | h2 | h1 |0-9 ;5 |H10 | | PM/AM | h20 | h10 |0-1/2 ;6 |D1 | d8 | d4 | d2 | d1 |0-9 ;7 |D10 | | | d20 | d10 |0-3 ;8 |M01 | mo8 | mo4 | mo2 | mo1 |0-9 ;9 |MO10| | | | mo10 |0-1 ;A |Y1 | y8 | y4 | y2 | y1 |0-9 ;B |Y10 | y80 | y40 | y20 | y10 |0-9 ;C |W | | w4 | w2 | w1 |0-6 ;D |CD |30s ADJ|IRQ FL | BUSY | HOLD | ;E |CE | t1 |t0 | ITRPT | MASK | ;F |CF |TEST |24/12 | STOP | RESET | ;---------------------------------------------
Dekodér pamětí
chip ZRMD1B GAL16V8 c2011 Jiri Biba A19 A20 A21 S1 WE S2 S3 S4 UP GND NC O6 O5 O4 O3 O7 O2 O0 O1 VCC equations O0 = /A19 * /A20 * /A21 * WE ;pri cteni + /A19 * /A20 * /A21 * /WE * /S1 ;pri zapisu O1 = A19 * /A20 * /A21 * WE + A19 * /A20 * /A21 * /WE * /S1 O2 = /A19 * A20 * /A21 * WE + /A19 * A20 * /A21 * /WE * /S2 O3 = A19 * A20 * /A21 * WE + A19 * A20 * /A21 * /WE * /S2 O4 = /A19 * /A20 * A21 * WE + /A19 * /A20 * A21 * /WE * /S3 O5 = A19 * /A20 * A21 * WE + A19 * /A20 * A21 * /WE * /S3 O6 = /A19 * A20 * A21 * WE + /A19 * A20 * A21 * /WE * /S4 O7 = A19 * A20 * A21 * WE + A19 * A20 * A21 * /WE * /S4 ; Tento dekoder vybíra na ZRMD-1 podle adres bitu A19-A21 8 pameti ; 512KB, tedy kapacita disku je celkem 4Mb. ; Spinace S1-S4 slouzi k moznosti zablokovani zapisu do pameti. Tato ; varianta predpoklada 4 disky po 1MB s moznosti zablokovani kazdeho ; z nich samostatne. Zmenou S1-S4 a naslednym novym prekladem je mozne ; blokovani zapisu zmenit dle potreby.
Zapojení konektoru X1
č. | signál | význam | typ | č. | signál | význam | typ | |
1 | RTL | Tlačítko reset | OUT | 2 | ||||
3 | 4 | |||||||
5 | 6 | |||||||
7 | 8 | RES | nulování | INP | ||||
9 | 10 | IOR | čteni z portu | INP | ||||
11 | 12 | IOW | zápis do portu | INP | ||||
13 | 14 | |||||||
15 | +5V | napájení | NAP | 16 | +5V | napájení | NAP | |
17 | +5V | napájení | NAP | 18 | +5V | napájení | NAP | |
19 | 0V | zem | NAP | 20 | 0V | zem | NAP | |
21 | MAP1 | ovládání výběru paměti 1 | OUT | 22 | MAP2 | ovládání výběru paměti 2 | OUT | |
23 | 24 | |||||||
25 | 26 | |||||||
27 | 28 | |||||||
29 | 30 | |||||||
31 | D4 | data | I/O | 32 | D3 | data | I/O | |
33 | D6 | data | I/O | 34 | D5 | data | I/O | |
35 | D2 | data | I/O | 36 | D7 | data | I/O | |
37 | D0 | data | I/O | 38 | D1 | data | I/O | |
39 | A1 | adresa | INP | 40 | A0 | adresa | INP | |
41 | A3 | adresa | INP | 42 | A2 | adresa | INP | |
43 | A5 | adresa | INP | 44 | A4 | adresa | INP | |
45 | A7 | adresa | INP | 46 | A6 | adresa | INP | |
47 | 48 | Uz | záložní napájení | NAP | ||||
49 | 50 | |||||||
51 | 52 | |||||||
53 | 0V | zem | NAP | 54 | 0V | zem | NAP | |
55 | 56 | |||||||
57 | 58 | |||||||
59 | INT1 | žádost o přeruš. 1 | 60 | |||||
61 | 62 | INT0 | žádost o přeruš. 0 | INP |
Typ signálu: | INP | vstupní |
OUT | výstupní | |
I/O | obousměrný | |
NAP | napájeni | |
Schéma ZRMD-1 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