Tento vikend jsem si udelal trochu casu a zkusil jsem nakreslit desku megabajtoveho modulu pro SAM COUPE. Jenze pak jsem si rikal, ze by nebylo spatne tam rovnou dat 2MB ramky. Cele to bylo stavene na dvou obvodech - CPLD + SRAM. 2MB sram je docela dostupna, ale trochu drazsi, nez kdybych pouzil dve pameti 1MB soucasne. Nakonec jsem dal prednost nizsimu poctu soucastek pred nizsi cenou (rozsil v cene je asi 80Kc). Bylo to male a ja mel na plosnem spoji jeste dostatek mista. Nakonec jsem vedle ramky pridal jeste 512kB flash eprom, aby interface mohl fungovat i jako externi prepisovatelna romka. Bohuzel na toto uz dvouvrstva deska nestaci a musel jsem to upravit na ctycvrstvej plosnak(cenovy rozdil neni az tak velky). Pamet SRAM jsem pouzil 5V verzi (funguje v rozsahu od nejakych 3V do 5.5V) takze muze byt pripojena primo na sberncii, o to jednodussi zapojeni a mensi pocet soucastek. CPLD jede na 3.3V, ale je 5V tolerantni. Data celeho interface jsem oddelil od SAMacke sbernice odporama, coz potlaci pripadnou kolizi s jinou periferii (kdyby nahodou nekdo neco blbe zapojil). Preci jen je to komplet v SMD a vymena soucastek neni az tak jednoducha. Ted jsem ve stadiu, kdy mam vse hotove, ale zbylo mi jeste volnych pinu u CPLD. Zkousel jsem pridat CF slot, ale pro ten neni na desce misto, musel bych plosnak dvojnasobne protahnout. S CF slotem by to mohlo fungovat v 8bitovem pametovem rezimu stejne jako ATOM LITE. Toto reseni jeste zvazim, neni to moc prace a je to nejjednodussi na obsluhu. Prozatim jsem ale ponechal plosnak co nejmensi a nasel na nem misto pro umisteni MICRO SD slotu. Neslibuju, ze CPLD na obluhu SD karty jeste bude stacit, protoze i bez ni bude mit co delat, ale misto na konektor tam mam, tak ho zapojim. SD podpora by byla mozna jen pokud v CPLD zbyde trochu mista, ale bylo by to na ukor funkcnosti modulu.
Mozna to vypada jako takovy mensi multiinterface, ale primarne to bylo navrzene jako externi megovka. CPLD jsem pouzil male,levne a dostupne a nemuzeme od nej ocekavat, ze zvladne vsechno. Jo a pro predstavu o velikosti desky, navrhnul jsem to rozmerove presne tak, aby to pasovalo do plastoveho obalu cartridge s hrama od konzole PEGASUS/FUNSTATION 3. Plastovy kryt cartridge je siroky stejne jako konektor sbernice SAM COUPE a nic neni treba sroubovat a ni vrtat. Do obalu se pouze vlozi vhodne tvarovany plosnak a cele se to tlakem zacvakne. Vypada to pekne.
A ted trochu o moznostech, co takovy interface muze umet (diky malemu CPLD neni mozne aby umel 50veci najednou, takze si musime vybrat to ci ono, pripadne by vzniklo nekolik verzi firmware pro CPLD.
Navrh na funkcionalituNektere verze budou muset obsahovat i strankovani rom po 16kB blocich a bylo by to podle vzoru MB02+ interface ze ZX (nejjednodussi a nejlepsi reseni). Flasher pro to uz existuje, nebude třeba psát nový.
VERZE 1:
- podpora az 2MB externi ram
- pri podpore jen 1mb muze byt druhy megabajt ram vyuzity pro dalsi ucely
- moznost pouziti DIVIDE pameti (kompatibilita s pameti z DIVIDE interface ze ZX) ale rozsirene na 512kB (stejne jako to ma DIVMMC interface)
- externi romka muze nahradit puvodni interni samackou a nemel by byt problem misto rom pripojit i externi ramku (ta muze byt prepisovatelna, ale muze se i tvarit jako read only pro lepsi emulaci rom)
- porty ramdisku mohu udelat citelne
- pridani startu do ZX128 rezimu. Tady by slo o to, ze interface uz bude mit vlastni ZX romku a externi pamet pripoji do hornich 32kB. Strankovani je tam po 16kB blocich podobne jako ma ZX128, akorat musi byt na jinem portu (sam pouziva port #xxFD pro MIDI a generuje pri kazdem pristupu preruseni). I tak ale kdybych ve 128rom prepsal cislo portu na 129, tak by 128editor mohl plnohodnotne behat. Akorat neni mozne pouzit druhou spektrackou videoram.
- podpora externi rom
- podpora SD karty by zde uz asi nebyla mozna
- podpora CF by mozla byt bez problemu (nezabira temer zadne misto v CPLD)
VERZE 2:
- podpora az 2MB externi ram
- pri podpore jen 1mb muze byt druhy megabajt ram vyuzity pro dalsi ucely
- moznost pouziti DIVIDE pameti (kompatibilita s pameti z DIVIDE interface ze ZX) ale rozsirene na 512kB (stejne jako to ma DIVMMC interface)
- pro externi rom by zde nebylo asi misto (ikdyz, to se uvidi...)- podpora SD by byla teoreticky mozna
- podpora CF urcite bez problemu
VERZE 3:
- podpora az 2MB externi ram
- pri podpore jen 1mb muze byt druhy megabajt ram vyuzity pro dalsi ucely
- moznost pouziti DIVIDE pameti (kompatibilita s pameti z DIVIDE interface ze ZX) ale rozsirene na 512kB (stejne jako to ma DIVMMC interface)
- podpora externi rom
- podpora snapshoru 512kB. V tomto rezimu by interface mohl ukladat snapshoty cele pameti sam coupe ram 512kB. Funkcne neco jako MULTIFACE ze ZX, ale delane specialne pro SAM COUPE.
- podpora SD neni mozna
- podpora CF urcite bez problemu.
Na plosny spoj se nemusi zdaleka osazovat vse. Deska je viceucelova a muze slouzit treba jen jako:
- levny interface s externi prepisovatelnou rom (osazuje se jen CPLD + ROM)
- jen jako externi 2MB pamet ram (osazuje se jen CPLD + SRAM 2MB)
- jen jako SD nebo CF interface ((osazuje se jen CPLD + SD/CF slot)
Typ pouzitych soucastek:
Hlavni CPLD = XC9572XL-VQ64 ( 3.3V verze, 64 pinu, roztec 0.5mm )
http://www.tme.eu/cz/details/xc9572xl10vqg64/obvody-programovatelne-xilinx/xilinx/xc9572xl-10vqg64c/#Pamet sram 2MBx8bitu = LYONTEK - LY62W20488ML-55LLI ( 5V verze, 44 pinu, pouzdro TSOP44-II )
http://cz.farnell.com/lyontek/ly62w20488ml-55lli/sram-16m-2mx8-2-7-5-5v-44tsopii/dp/2253669Pamet flash eprom 512kB = AM29F040 (5V verze, 32pinu, roztec 0.5mm )
http://www.tme.eu/cz/details/am29f040b-70ef/pameti-flash-paralelni/spansion/#Stabilizator = LP2950CZ-3.3
http://www.tme.eu/cz/details/lp2950cz-3.3_nopb/stabilizatory-napeti-neregulovane-ldo/texas-instruments/#te3fd8fabb255a6a3f52feafda09ac50cKonektor pro sbernici SAM COUPE =
http://www.tme.eu/cz/details/09031646922/konektory-din-41612-din-41617/harting/#No a ten zbytek jsou jen kondiky, odpory, tlacitko MAGIC/NMI, prepinace/jumpery, micro SD slot, 4 vrstvej plosnak.
Konektor pro sbernici musi mit osazenou jen horni a spodni radu pinu a musi mit nezahnute prime piny, ktere se pred osazenim musi ohnout smerem k sobe(dovnitr) tak, aby byly vzdalene zhruba 1.5mm od sebe. Pak se z boku mezi ne vsune plosny spoj tak, aby sedely kontakty na pinech a uz se jen zapaji. Plosny spoj nema prokovene otvory pro standartni 90 stupnu zahnuty konektor, ktery se u periferii na SAMa dosud pouzival. Ja ale zvolil zamerne primej konektor a pajeni na kontakty z obou stran, stejne jako u ZX periferii. Duvod byl jediny, aby to rozmerove sedelo presne uprostred pri pohledu na plastovy kryt interface z boku. Zahnuta verze totiz na plosnem spoji jaksi lezi, takze by to hnusne trcelo mimo.
Jeste info k prepinacum a tlacitku:
- je tam jeden mikrospinac (stejny jako NMI tlacitko u DIVIDE interface na ZX) a mel by plnit funkci tlacitka NMI/MAGIC, kdy skoci do menu v externi pameti.
- perpinac/jumper "BOOT" - v poloze ON zajisti, ze po zapnuti pocitace nabehne automaticky externi romka (treba s menu, nebo co si tam kdo da). V poloze OFF nabehne po zapnuti original SAM COUPE rom a externi romka se pak da pripojit dodatecne (manualne, nebo treba MAGIC tlacitkem)
- prepinac/jumper "12/34MB" - u tohoto prepinace jsem predpokladal, ze by se prepinalo jestli se ty 2MB ram hlasily jako prvni+druha megovka, nebo jako treti+ctvrta megovka. Originalni 1MB moduly maji na sobe totiz 4 jumpery, kteryma se nastavuje pozice 1,2,3 nebo 4, urcujici v jake casti 4MB prostoru se dana megovka bude hlasit. Spravne by kazda megovka mela mit jinou pozici. Proto ten prepinac.
Pro jistotu jsem to zazalohoval a hotovej navrh plosnaku i schema najdete zde: (kresleno v Eagle 6.20)
http://velesoft.speccy.cz/other/samcoupe_ramdisc_2mb%20G%20(SD%20verze%20-%20na%20OLDCOMP).zip(je to zatim posledni verze, mozna jen uz nepatrne protahnu plosnak, aby se SD slot dotykal zadni casti platoveho krytu, aby karta nebyla moc "utopena")