Založen: Apr 02, 2011 Příspěvky: 18225 Bydliště: Nový Bydžov
Zaslal: čt prosinec 15 2011, 0:43 Předmět: Zahadicka u Z80
U jedny stary masinky s Z80 jsem potreboval do portu zapisovat a nebo cist 256 bytovy bloky dat. Na portu je prednastavitelny citac, (2x 74ls193 v kaskade) ktery adresuje 256 bytovou pamet a pri kazdym signalu /RD ci /WR se nactou ci zapisou data a zaroven se zvysi stav citace o 1 pro pristi cteni nebo zapis. Napsal jsem programek v asm a pouzil na to po predchozim nastaveni HL a BC instrukci OTIR pro zapis a INIR pro cteni. Pri zapisu do portu bylo vse naprosto v poradku, ale se ctenim byly podivny problemy. Pokazdy se nacetlo neco jinyho. Jako kdyby citac obcas nezvysil stav na vystupu. Chvili jsem nad tim badal, neco promeril ale na nic jsem neprisel. Tak jsem kvuli moznosti krokovani prenosu pres port instrukci INIR rozepsal na:
CYKL: IN A,(C)
LD (HL),A
INC HL
DJNZ CYKL
a nestacil jsem se divit!! Chodi to naprosto bez problemu. Mohl by mi prosim nekdo ze Sharpistu ci jinych Zetkaru prozradit, v cem asi muze byt problem? Nejaky casovani? Ta Z80 chodi na 2 MHz, pamet v portu je 50nS a pristup do ni odpovida casovym prubehum v datasheetu.
Jirka
Založen: Apr 02, 2011 Příspěvky: 18225 Bydliště: Nový Bydžov
Zaslal: čt prosinec 15 2011, 11:53 Předmět:
to Procesor:
Z80 je na 2MHz. Porty se adresuji A0-A7 a dekoduji v GAL16V8. Pamet je staticka Alliance AS6C4008 55nS (512kb*. Ty dve kaskadni 74LS193 ovladaji v Alliance A0-A7. Jeji A8-A18 jsou adresovany z dalsich dvou portu, kde se adresa zapisuje do 74ls373. Jak jsem jiz psal, komunikuje se po blocich 256 byte. Nejdrive se prednastavi na obou citacich 00h a na 74ls373 se posle stredni a nejvyssi byte adresy pro Alliance. No a pak se pomoci INIR ci OTIR nacte ci zapise 256 byte blok. Zapis pres OTIR chodi, cteni pres INIR blbne ale pokud se instrukce INIR rozepise pres DJNZ cykl, tak to chodi taky. Otestovano nekolikrat za sebou zapisem s naslednou verifikaci nahodilych vzorku dat. HW je pro zapis a cteni uplne stejny, jedinny rozdil je, ze pri INIR se aktivuje OE a pri zapisu WE pro Alliance.
Tyhle blokovy prenosy pouzivam radu let , treba i 4 instrukce INIR za sebou na nacteni bloku 1024 byte a nikdy me to takovyhle kravoviny nedelalo.
Zahadou mi je, proc chodi OTIR a ne INIR a proc po rozepsani na cyklus pomoci IN A,(C) je to v poradku. Jestli mi das email poslu ti vykres v PDF.
Jirka
Založen: Apr 02, 2011 Příspěvky: 18225 Bydliště: Nový Bydžov
Zaslal: pá prosinec 16 2011, 0:29 Předmět:
Tak jsem zjistil, ze problem je v prilis dlouhy dratarine jednotlivych signalu na bastl desce. Vydratovani dat, adres a rizeni pro tech 6 Ramek je dlouhy pres 40 cm jak draty obchazi jednotlivy brouky. V realu se da finalni plosak navrhnout na celkovou dylku propoji Ramek asi 15-20 cm. Ze je v tom problem jsem zjistil, ze po pripojeni logickyho analyzatoru s 20 cm sondama to prestalo makat uplne. A po odpojeni to zase jelo. Jsou tam asi moc vysoky impedance a mozna i preslechy ve svazcich toho dratovani. Jak je videt, ne nadarmo se na stejne dlouhy pripojeni disku a disket davaji zakoncovaci odpory. Zitra je tam zkusim pridat mezi data a Vcc neco kolem 4k7 a uvidime.
Edit: osazeni odporu vyresilo problem. Vse chodi jak ma.
Jirka
Nemůžete odesílat nové téma do tohoto fóra. Nemůžete odpovídat na témata v tomto fóru. Nemůžete upravovat své příspěvky v tomto fóru. Nemůžete mazat své příspěvky v tomto fóru. Nemůžete hlasovat v tomto fóru. Nemůžete připojovat soubory k příspěvkům Můžete stahovat a prohlížet přiložené soubory
Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.