Náhrada pamětí 4116

Když se v ZX Spectru porouchá napájení video paměti, je téměř jisté, že některá z dynamických pamětí 4116 odejde. Některé jen přestanou fungovat, některé se zkratují a přetěžují měnič, což vede k (opětovnému) poškození (vyměněného) tranzistoru TR4. Obvykle bývá nejjednodušší vypájet všechny paměti, nahradit je paticemi, opravit měnič a pak opatrně testovat jednu po druhé a ty, které nemají odpor na napájecích vstupech +12V a -5V v řádu megaohmů rovnou zahodit. Protože ty výpadek napájecích napětí nepřežily.

Dnes v roce 2022 se paměti 4116 shánějí čím dál hůř, jsou drahé a solidní prodejci už je nemají vůbec. I další náhradní paměti se doprodávají a z nabídek mizí. Proto jsem ze svých archivů vylovil zapojení, které kdysi asi zveřejnil Alwin Henseler na nějakém fóru kolem roku 2004 a já si ho tehdy vyzkoušel, ale protože jsem pamětí 4116 měl ještě dost, neměl jsem reálný důvod se tím víc zabývat.

Resp. nevím jistě, kdo je skutečně autorem zapojení, původní příspěvek jsem nenašel (našel jsem pozdější archivní kopii na vebu SinDiKatu) a čerpám jen poznámek, co jsem si ke schématu tehdy připsal. Ono to zapojení je nakonec docela triviální. V podstatě to je jen demultiplexer adresové sběrnice z ULA do SRAM.

Varianty

Protože jsem omylem nakoupil 74HCT574 v malém pouzdře TSSOP20 a protože jsem měl nějaké SRAM v zásobách, které jsem chtěl taky zkusit spolu se SRAM nově koupenými, udělal jsem rovnou tři varianty plošných spojů. A když se při osazování ukázalo, že moje SMD SRAM jsou užší, než jsem navrhl desku, navrhl jsem variantu čtvrtou.

Pro SMD SRAM jsem totiž v knihovnách KiCADu nenašel pouzdro SOP28, ale pouze SOIC28W. SOIC28W je rozměrove velmi blízko, má stejnou rozteč vývodů, ale je asi o 1mm užší, čehož jsem si při návrhu nevšiml. Při osazování se ukázalo, že paměť v SOP28 se dá osadit jen za cenu mírného zmáčknutí vývodů blíž k pouzdru. Nemusel jsem plošné spoje zahodit, ale správně to není. Čtvrtá varianta to řeší - vytvořil jsem v KiCADu správné pouzdro podle datasheetu k nakoupeným SRAM a maličko upravil spoje okolo. Jako základ jsem zvolil verzi s 74HC574 v pouzdře SOIC20W, protože se lépe osazuje při ručním pájení.

THT varianta vznikla jako záložní. Měl jsem z dřívějška vyzkoušené SRAM a bál jsem se, že nově koupené nebudou fungovat spolehlivě. Fungovaly. Ale i tak jsem plošných spojů s THT SRAM nechal vyrobit jen 5. Použitelné jsou, do ZX Spectrum 48k+ se vejdou, ale nemusely by se výškou vejít do gumáka.

Přesněji - IO v patici je vysoké zhruba 8,5mm, modul s THT SRAM je vysoký zhruba 10,5mm a to už může být příliš. I když je to pořád méně, než např. keramické kondenzátory v desce ISSUE 4S od Samsungu vysoké až 11,5mm. Ty už se do gumáka určitě nevejdou. SMD paměť v SOP28 se vejde těsně pod 10mm výšky nad plochou plošného spoje. Přičemž všechny údaje závisí ještě na výšce použitých patic a délce vývodů náhrady VRAM.

Všechny varianty jsem nechával vyrábět na 1,2mm tlustý laminát. Pro jistotu. Ušetřené 0.4mm mohou být v těsném prostoru šasi počítače důležité. S odstupem se zdá, že by i 1,0mm mohlo stačit.

THT SRAM DIP28 SMD 74HC574 SOIC20W

Varianta, která vznikla jako náhradní, protože jsem měl vyzkoušené THT paměti zásobách.

3D náhled plošného spoje 3D náhled plošného spoje

SMD SRAM SOIC28W SMD 74HC574 SOIC20W

Varianta, která měla být tou hlavní.

3D náhled plošného spoje 3D náhled plošného spoje

SMD SRAM SOIC28W SMD 74HC574 TSSOP20

Varianta, kterou jsem udělal po té, co jsem měl navrženou variantu se SIOC20W 74HC574, ale 74HC574, které dorazily, byly menší, než jsem čekal.

3D náhled plošného spoje 3D náhled plošného spoje

SMD SRAM SOP28 SMD 74HC574 SOIC20W

Varianta navržená až po osazení prvních tří, kde se ukázalo, že SMD paměti se sice s trochou přesvědčování osadit dají, ale řady vývodů jsou blíž než by měly být.

3D náhled plošného spoje 3D náhled plošného spoje

A takto vypadají skutečné osazené plošné spoje.

foto osazene desky foto osazene desky

Schéma zapojení

Ostatní schémata jsou v balíčku s projekty pro KiCAD - zapojení variant se neliší, dokonce i rozložení vývodů je stejné, liší se jen velikosti pouzder.

schéma

Schéma THT varianty v PDF

Potíže

Samozřejmě se to neobešlo bez problémů. Náhradu VRAM jsem testoval s několika deskami a na všech fungovaly hry i BASIC bez problémů, ale na některých se občas objevovaly drobné chyby v obraze při testování pomocí Retroleum Diag ROM, nebo v NMI menu spuštěném z DivMMC. Zjistil jsem, že se tak nechovají všechny vyrobené desky s náhradní RAM. Resp. že se náhrady RAM nechovají přesně stejně. Ty s malým TSSOP20 registerem se chovaly lépe.

Rozdíl byl v tom, že malý TSSOP20 je 74HCT574 a větší SOIC20W jsem osadil 74HC574. To byl první detail.

Později jsem zjistil, že se míra chybovosti liší s různými ULA. Měl jsem možnost vyzkoušet ULA5C112E-3, ULA6C001E-7 a dvě vLA82 ve dvou různých deskách ISSUE2, ve dvou různých ISSUE 4S. Vedle toho jsem měl desku Sparrow prototype 1, kam sice nelze náhradu RAM osadit, ale RAM ve Sparrow je zapojená taky s 74HCT574. Sparrow překvapivě funguje se všemi ULA bez problémů včetně nejstarší ULA5C112E-3.

Nejproblematičtější se ukázala starší verze ULA ULA5C112E-3 v desce ISSUE 2. S touto kombinací se mi rušení v obraze projevovalo jednoznačně nejvíc a to do té míry, že kombinace latche 74HC574 a invertoru SN74AHC1G04DBVR produkovala nekoukatelně zarušený obraz. Naopak nejméně problematická byla vLA82 asi ve všech deskách. Pravděpodobně to souvisí s NMOS vs CMOS rozhodovacími úrovněmi, rychlostí náběžné hrany, citlivostí logiky na šum atd...

V nejproblematičtější kombinaci ULA5C112E-3 v desce ISSUE 2 s použitím invertoru SN74AHC1G14DBVR a 74HCT574D se projevovaly chyby v obraze pouze sporadicky, např. v NMI menu ESXDOSu, nebo při běhu některých příkazů ESXDOSu, které běží v adresním prostoru ROM. Jindy jsem problém nepozoroval. V této kombinaci se taky ukázalo, že je rozdíl i mezi použitými SRAM. Staré SRAM kdysi kanibalizované z nšjakých zařízení (např. cache na základní desce asi 386, nebo 486) se chovaly bezproblémově narozdíl od pamětí nově koupených z TME (konkrétně IS62C256AL-45ULI). Na jiných deskách se stejnou ULA jsem problém nezaznamenal.

foto

V tuto chvíli tedy náhrada RAM funguje přijatelně přinejmenším s některými (novějšimi?) deskami, jako je ISSUE 4S, nebo s modernější ULA, příp. s náhradou ULA vLA82. Ideálně s moderní náhradou ULA v novější revizi desky.

Věnoval jsem tomu nějaký čas, ale obávám se, že to nemá řešení funkční stoprocentně vždy se všemi kombinacemi čipů. Ideální je použít DRAM 4116, nebo alespoň 4164 a nepřipojit k nim napájení -5V a +12V. Ale když se DRAM nepodaří sehnat...

Závěrem

Všechny varianty jsou navržené tak, aby se daly snadno osadit do osmice precizních patic zapájených místo původních pamětí. Na desce ZX Spectra není potřeba žádný další zásah Vývody modulu jsem dělal z měděného drátu o průměru asi 0.5mm dlouhé tak, aby celý modul byl aspoň 0.5mm nad paticemi, aby nehrozilo, že se někde něco omylem zkratuje, kdyby došlo k poškození nepájivé masky. Vývody se dají udělat i z precizní pinové lišty, ale to mi přišlo příliš vysoké.

Historie změn článku

  • 2022-06-07 - zveřejněno

Odkazy

Download

[ Zpět na hlavní stránku ]

Tento web je převážně o ZX Spectru, kompatibilních počítačích a jiném zajímavém hardwaru. Naleznete-li chybu, nebo byste rádi cokoliv co s tímto souvisí, můžete mi napsat email. Stručně o mém webu zde.