Hat férőhelyes EPROM-bővítő kártya

 

Az előző számban tárgyalt buszkiterjesztő egységbe illeszthető kártyák közül ismertetem most a legegyszerűbbet. Ezzel reményeim szerint tűrhetően demonstrálhatom az abban a cikkben leírt tervezési elveket, másrészt a téma kapcsolódik a hardver rovat nyitó cikkéhez is (Mi lakik a cartridge-ben?).

Mint az közismert, a cartridge lehetőségei bővítőprogramok befogadására több értelemben is végesek. Egyrészt a kártyán csak egy vagy két EPROM (Erasable Programmable Read Only Memory = törölhető és programozható csak olvasható memória) helyezhető el, másrészt a rendelkezésre álló címtartomány is csupán 64K, azaz négy szegmens. Nem kell azért pánikba esnünk, a jobboldali csatlakozón keresztül több, mint 3 megabájt várja, hogy teletöltsük, csupán a megfelelő hardvert kell megépítenünk hozzá.

A RAM-bővítésekre is gondolva a 4 MB címtartományt középen elfeleztem, így a 08hex - 7Fhex szegmenstartomány jutott az EPROM-oknak. Ez csaknem 2 MB. A szomorú a dologban, hogy bekapcsoláskor az EXOS a cartridge-on kívül csupán a 0-ra végződő hexa sorszámú (10hex, 20hex, ...) szegmenseket vizsgálja, így az azokon kívül elhelyezkedő programokat nem tudja beláncolni, azok észrevétlenek maradnak. Ha egy program több szegmensen terül el, a program felelőssége megtalálni a "függelékeit", így tesz például a HiSoft Pascal. Ezek szerint maradt hét helyűnk (a 10h, 20h, 30h, 40h, 50h, 60h és 70h sorszámú szegmensek) amelyeken az EXOS méltóztatik a programok jelenlétét észrevenni. Ebből a 20h szegmenst felejtsük is gyorsan el, mivel általában itt található a lemezegység kezelőprogramja, az EXDOS. (Hogy miért csak általában, az a következő szám témája lehetne, de ahhoz még sok előfizetőnek kellene lefolynia a Dunán...)

Maradt hat szegmens, ez már tényleg a miénk, azt csinálhatunk velük, amit csak akarunk! Mondjuk, akarjunk oda EPROM-okat elhelyezni, méghozzá szinte akármilyen típust! Az ésszerűség határain belül maradva megragadhatunk a 28-lábú EPROM-oknál, ez memóriában a 8 K - 64 K, árban a 300 Ft - 700 Ft tartományt fedi le, így minden szempontból megfelelőnek tűnik. Négy típusról van szó - 2764, 27128, 27256 és 27512, így, mivel ezek lábkiosztását bölcsen a lehetőségeken belül egyformára tervezték, 2 db jumper elegendő lesz egy foglalatnál az ott helyet foglaló EPROM fajtájának beállítására.

Egy foglalatnak legegyszerűbb az x0h - xFh szegmenstartományt kijelölni, igaz, hogy így "pazarlunk", de a veszendőbe menő szegmensekkel nemigen tudnánk úgysem mit kezdeni. A címkiválasztáshoz fel kell tehát használnunk az A21, A20, A19 és A18 címvezetékeket, továbbá a -MREQ memóriakérés és a -RD olvasás vonalat is. Ez hat vonal, és ugyancsak hat EPROM közül kell választanunk. A feladatot legegyszerűbben egy alkalmasan beégetett PROM-maI (PROM - Programmable Read-Only Memory = programozható csak olvasható memória) oldhatjuk meg. A 74S188-as típus (U3) éppen megfelel: az engedélyezéssel (-CE) együtt összesen hat bemenete és nyolc kimenete van. Az utóbbiakból az EPROM-ok kiválasztásához csak hatra van szükségünk, így egy továbbit (U3/1. láb) használhatunk az adatmeghajtó áramkör (U1) engedélyezésére. Az RP1 ellenállás-létra a címkiválasztó nyitott kollektoros kimeneteinek "felhúzására", inaktív állapotban magas szintre hozására szükségeltetik.

Nézzük részletesebben, hogyan működik a címkiválasztás! Ha a processzor nem a memóriához fordul, a -MREQ jel magas, így U3 letiltódik. Ha írunk a memóriába, a -RD jel magas marad, azaz a PROM (U3) A4-es lábára logikai 1 kerül. Ez a 10h-1Fh közötti tartományt jelenti, aholis a PROM összes kimenete magas, tehát nem választ ki egyetlen EPROM-ot sem. EPROM-ba írni amúgy sem lehet, viszont ha valaki megpróbálná, e nélkül a védelem nélkül kárt tehetne a kártya áramköreiben, hiszen a kétirányú buszmeghajtó kimenete kerülne szembe az adott EPROM adatkimenetével, ami az álmoskönyvek szerint hosszú, fáradságos szervizelést ígér. (Tulajdonképpen elég lenne az egyirányú meghajtó is, de így könnyebb volt a nyomtatott áramkört megtervezni, másrészt vannak még egyéb megfontolások is, pl. CMOS sztatikus RAM behelyezhetősége.)

Próbáljunk most egy 7Fh fölötti, mondjuk a 9Bh szegmenst olvasni. Ebből csak a legmagasabb négy cím, azaz a 9-es számít, a -RD jel pedig alacsony, így az U3-ra kerülő cím 09. Itt a PROM tartalma ismét csupa 1-es, azaz nem történik EPROM-kiválasztás. Olvassuk most a 43h szegmenst! Ekkor a fentiek alapján U3-ra 04 kerül, aholis bináris 11101110 található. Ebből a középső 0 kiválasztja az U7-es EPROM-ot, az utolsó 0 pedig engedélyezi az adatmeghajtó áramkört (U1).

Az EPROM-ok mellett található jumperek hivatottak az adott foglalatban lévő EPROM típusát kiválasztani. A 27512-es IC-hez mindkét jumpernek lefelé kell állnia. A 27256-oshoz JP1x-nek fölfelé, JP2x-nek lefelé kell állnia (ez szerepel a rajzon). A 27128-as és 2764-es típusok beállítása egyforma: mindkét jumper fölfelé.

Végül, de utolsósorban a kártyán, ahogy azt az elmúlt számban megtárgyaltuk, szerepel egy önálló tápfeszültség-stabilizátor (U2), meg persze az elmaradhatatlan hidegítő kondenzátorok (C11, C1-C9) is.

Szakértő szemnek feltűnhet, hogy az EPROM-ok címvezetékei csak úgy össze vannak kötve, amely jelentős terhelést okoz. De nincs semmi baj, hiszen a kártya nem közvetlenül a géphez, hanem a buszkiterjesztő egységhez csatlakozik, amelyen a megfelelő meghajtóáramkörök szerepelnek. Ugyanezért nem kell a -RD jelet sem félteni, amelyet pedig nyolc bemenet terhel.

 

Mészáros Gyula

 

Enterpress II. évfolyam 1. szám 1992. január-február