Přejít na obsah
ARCHIVEKArchiv e-mailových konferencí o 8bitových počítačích Archiv Pandory 1999 až 2013

Původní podoba příspěvku

Petr Žydek Zpět na příspěvek

Surová data tak, jak byla v roce 2013 stažena z Pandory (HTML zdroj bez úprav, osobní e-mailové adresy jsou maskované).

<!-------------------------------------------------------------->

<!-------------------------------------------------------------->
<table width="100%"><tr><td align="left" valign="middle"><B>novinky okolo 16bit IDE:</B></td><td align=right valign="middle"></td></tr></table><BR><p><br/>Dnes jsem se rozhodl předložit další<br/>variantu 16ti bitového IDE, korekce byly<br/>významnější než jsem čekal, proto bych<br/>to rozvedl podrobněji.<br/>Díky za doplňující informaci od Marka<br/>Šmihly týkající se repetičních I/O<br/>instrukcí, pro nezasvěcené sděluji<br/>informaci, kterou jsem sám nevěděl:<br/>obsah B registru nejprve dekrementuje<br/>a pak se teprve odesílá na A8-A15!<br/>Tento fakt nicméně nebrání funkčnosti<br/>mého zařízení, je třeba k tomu<br/>přihlížet při vymýšlení obsahu<br/>Eprom-dekodéru. Pro sjednocení ovládání<br/>ovšem navrhuju užít původních konvencí,<br/>tj. je-li např. B=02h, pak se OUTem<br/>odesílá JEDNA 16tice, sudá hodnota B<br/>uvozuje 0. bajt, lichá 1. bajt (skutečnost,<br/>že je před odesláním nultého bajtu B=01h,<br/>se vyřeší tím, že dekodér zareaguje při<br/>A7..A0=78h a A8=1, při odesílání 1. bajtu<br/>je tomu naopak).</p> <p><br/>Teď ještě jednou definice I/O přenosů:</p> <p>-při [OUT 78h a B je sudé] se posílá 0. bajt<br/>&nbsp;z 16ti bitového páru na DD0-DD7. Tento bajt<br/>&nbsp;se zachytí v registru, HDD není selektován.<br/>-při následném [OUT 78h a B je liché] se<br/>&nbsp;zachycená hodnota z registru odbaví na DD0-DD7<br/>&nbsp;HDD a právě odesílaný 1. bajt přes transreceiver<br/>&nbsp;projde na DD8-DD15 HDD, disk je selektován.<br/>&nbsp;"HDD ani netuší, že data do něj tekoucí byla<br/>&nbsp;připravena nadvakrát", analogicky toto platí<br/>&nbsp;i pro čtení.<br/>-při [IN 78h a B je sudé] je disk selektován,<br/>&nbsp;dodá na DD0-DD7 a DD8-DD15 JEDNU 16tici dat<br/>&nbsp;k převzetí procesorem. 0. bajt na DD0-DD7<br/>&nbsp;projde transreceiverem na datovou sběrnici<br/>&nbsp;počítače a zároveň dojde k zachycení bajtu<br/>&nbsp;z DD8-DD15 do registru.<br/>-při [IN 78h a B je liché] disk není selektován<br/>&nbsp;a zachycená hodnota z registru se převezme<br/>&nbsp;do počítače jako 1. bajt. V tomto případě "HDD<br/>&nbsp;netuší, že počítač zbaštil data ve dvou cyklech".</p> <p>-při libovolné I/O instrukci v rozsahu adres<br/>&nbsp;79-7Fh se blokuje přístup na DD8-DD15 HDD,<br/>&nbsp;řadič je průchozí pro datové přenosy<br/>&nbsp;počítač &lt;--&gt; DD0-DD7 HDD.<br/>-jediné omezení se týká programové obsluhy<br/>&nbsp;v režimu 8 bitového IDE, B se musí udržovat<br/>&nbsp;sudé a čítání bajtů a dozor nad přenesenými<br/>&nbsp;bajty musí vhodným způsobem zastat program<br/>&nbsp;(to snad nevadí, těžiště zájmu snad přebere<br/>&nbsp;16ti bitová varianta a tento režim zůstane<br/>&nbsp;kvůli kompatibilitě a přenosnosti dat z disků<br/>&nbsp;naplněných "8 bitově")<br/>-v režimu 16ti bitového IDE se B jen iniciuje,<br/>&nbsp;I/O instrukcemi s nepřímou adresou(!!!) se<br/>&nbsp;mění sám (myslím repetiční instrukce)</p> <p><br/>Po analýze předchozího jsem objevil závažnou<br/>chybu v původním návrhu, pro zápis je IC pro<br/>dolní část IDE ve funkci registru a IC pro horní<br/>část IDE ve funkci transreceiveru; pro čtení <br/>je tomu naopak!!! Je to proto, že zápis jsou<br/>"dva bajty po sobě odeslané, do HDD najednou<br/>přijaté" a čtení jsou "dva bajty přijaté<br/>najednou po jednom procesorem zbaštěné" (to je<br/>matoucí sdělení, že???).<br/>Proto NELZE použít původně navrhovaných obvodů,<br/>nový návrh stále počítá s třemi obvody a jmenují<br/>se:<br/>-27xxx (Eprom-dekodér, dále jen dekodér) kusů: 1<br/>-74LS543 (8xtransreceiver-register) kusů:2</p> <p>Možné varianty<br/>-LS543 (HC543, HCT543, F543) jsou jen v pouzdrech<br/>&nbsp;DIP24-úzké, resp. 543 SMD miniaturní pouzdro<br/>&nbsp;pro povrchovou montáž, má smysl pro kombo desky,<br/>&nbsp;kde se musí šetřit místem.<br/>&nbsp;Má ho GES (podle víkendového stavu na fer-netu)<br/>&nbsp;za neskutečných cca 100Kč bez DPH!!!<br/>&nbsp;Obdobnou funkci plní LS646 a LS652, mají ovšem<br/>&nbsp;jiné řídící piny a registry jsou řízeny hranou,<br/>&nbsp;LS543 má registry typu LS573-latch transparent,<br/>&nbsp;což mi přijde více kompatýbl pro časování I/O<br/>&nbsp;operací. Ovšem bez výroby prototypu a malého<br/>&nbsp;zkušebního programu to nepůjde, neberu<br/>&nbsp;zodpovědnost absolutně za nic. Ze staré ISA karty<br/>&nbsp;mám doma 1ks F543, ještě jednoho a můžeme zkoušet.<br/>-otázka dekodéru je mnohem širší: EPROM, EEPROM,<br/>&nbsp;PEROM nejrůznějších kapacit a pouzder</p> <p>Přehled paměťových dekodérů<br/>-2732 4Kx8<br/>&nbsp;(+) pouzdro DIP24, minimální návrh "3 IC" řadiče<br/>&nbsp;&nbsp;&nbsp;&nbsp; jako u 8 bitového s LS10<br/>&nbsp;(-) dnes horší dostupnost a cena=?<br/>-27(C)64 8Kx8 DIP28<br/>&nbsp;(+) cena<br/>&nbsp;(-) větší pouzdro DIP28, dostupnost<br/>-27128 16Kx8<br/>&nbsp;(+) jen kompatibilita (je to ROM Sharpa)<br/>&nbsp;(-) cena<br/>&nbsp;(-) větší pouzdro DIP28, dostupnost<br/>&nbsp;(-) není ve verzi CMOS<br/>-27(C)256 32Kx8<br/>&nbsp;(+) cena, dostupnost<br/>&nbsp;(-) větší pouzdro DIP28<br/>-27(C)512 64Kx8<br/>&nbsp;(+) cena, dostupnost<br/>&nbsp;(-) větší pouzdro DIP28<br/>-28(C)64 8Kx8<br/>&nbsp;(+) EEPROM (pro odladění prototypu sqjelé)<br/>&nbsp;(+) pouzdro DIP28 i PLCC32 SMD (kombo desky)<br/>&nbsp;(?) cena, dostupnost<br/>&nbsp;(-) větší pouzdro DIP28<br/>-29C256 32Kx8<br/>&nbsp;(+) PEROM, tj. nová generace EEPROM<br/>&nbsp;&nbsp;&nbsp;&nbsp; (pro odladění prototypu sqjelé)<br/>&nbsp;(+) pouzdro DIP28 i PLCC32 SMD<br/>&nbsp;&nbsp;&nbsp;&nbsp; (verze DIP28 se hodí pro experimentální<br/>&nbsp;&nbsp;&nbsp;&nbsp; vývoj ROMky Sharpa, pinově a obsahově<br/>&nbsp;&nbsp;&nbsp;&nbsp; kompatibilní při A14=1)<br/>&nbsp;(+) dostupnost, cena=?<br/>&nbsp;(-) větší pouzdro DIP28<br/>-29C512 64Kx8<br/>&nbsp;(+) PEROM, tj. nová generace EEPROM<br/>&nbsp;&nbsp;&nbsp;&nbsp; (pro odladění prototypu sqjelé)<br/>&nbsp;(+) pouzdro PLCC32 SMD (jediné má smysl)<br/>&nbsp;(+) dostupnost, cena=?<br/>&nbsp;(+) k mání na starších HDD Seagate např.<br/>&nbsp;&nbsp;&nbsp;&nbsp; 1.7GB (cvaká-li takovýto disk, máte<br/>&nbsp;&nbsp;&nbsp;&nbsp; ho zadarmo a paměť šikovný člověk<br/>&nbsp;&nbsp;&nbsp;&nbsp; snadno odebéře)</p> <p>-27C1024 OTP 64Kx16<br/>-29C1024 64Kx16<br/>&nbsp;speciální varianta pro fajnšmekry, jedná<br/>&nbsp;se o jedinkrát programovatelnou EPROM<br/>&nbsp;(27C1024), resp. PEROM (29C1024),<br/>&nbsp;organizace 64Kx16 umožňuje návrh<br/>&nbsp;dvoukanálového IDE z pěti obvodů, struktura<br/>&nbsp;s LS543 je pak na desce přítomna dvakrát,<br/>&nbsp;dekodér je jediný, selekce I/O portů např.<br/>&nbsp;68-6Fh by se prováděla z volných vyšších<br/>&nbsp;osmi výstupů Q8-Q15 paměti.</p> <p>Poznámky<br/>-u nejjednodušší varianty "sólo IDE"<br/>&nbsp;doporučuju 2x F543 DIP24, 1x 2732<br/>&nbsp;(záleží na jaké paměti z hlediska<br/>&nbsp;ceny a dostupnosti se MZ-fórum dohodne)<br/>-u návrhů s rezervou pro FD/RD je nejlepší<br/>&nbsp;řešení 29C512 SMD a 2x F543 SMD<br/>-základní schéma zapojení bude s 2732,<br/>&nbsp;návrhy s jinými EPROM musí mít piny A12<br/>&nbsp;a vyšší připojené na LOW, piny /WE, /PGM<br/>&nbsp;RD/B, Upp musí být na takových úrovních,<br/>&nbsp;aby byla paměť v režimu čtení (závisí na<br/>&nbsp;typu paměti)<br/>-postupně uveřejním schéma, tabulky hodnot<br/>&nbsp;dekodéru (z hlediska signálů z CPU i<br/>&nbsp;z hlediska výstupních pinů přiřazených<br/>&nbsp;signálům do obou xx543 a /SELP do HDD)<br/>-už něvládzem, jsem grogy; 2.6. 2003 0:36<br/>Petr de Zviqov<br/></p>