Autor Wątek: ZX Spectrum - RAM 32KB - MREQ RAS MUX CAS  (Przeczytany 4079 razy)

damik

  • Fresh rosin sniffer ;)
  • *****
  • Wiadomości: 2426
  • Miejsce pobytu:
    Generalnie Polska, głównie Bytom czasem Bielsko-Biała oraz okolice
  • ZX'owy i nie tylko...
Odp: ZX Spectrum - RAM 32KB - MREQ RAS MUX CAS
« Odpowiedź #15 dnia: 2021.04.14, 20:49:30 »
Domyśliłem się potem że nie chodzi o Speccy, nawet to poprawiłem kasując wyraz ULA jednak tablet mi zaczął głupieć i wysłałem jeden post dwa razy, w końcu nie wiedzieć dlaczego mój post źle się zmodyfikował  :D

Co prawda Cobre znam dość słabo ale to w miarę prosta konstrukcja, trochę już walczyłem z systemami opartymi na Z80 i problemy bywają podobne.

Ostatnio trochę krwi mi upuscilo uruchamianie klona Meritum3, ale w końcu się udało   8)
Wszystkiego po trochu: Schwarz, mydło i powidło... konsole, stare i nieco nowsze komputery oraz akcesoria i duperele.

coberr

  • ***
  • Wiadomości: 138
  • Miejsce pobytu:
    Gorzów Wlkp
Odp: ZX Spectrum - RAM 32KB - MREQ RAS MUX CAS
« Odpowiedź #16 dnia: 2021.04.14, 21:32:11 »
wszytko jest proste do momentu gdy nie zabierzesz sie za dany układ :)
A zwłaszcza jesli nie masz sytuacji - gdzie po każdym wlucie nowego  sprawnego ukladu - dzieja sie nowe cyrki :)

update:

No i udalo się znaleźć i wylutować  dwa sprawne UCY74157.
COś mnie sie zdaje że udało sie rozwiązać  problem całkowicie (mam nadzieje ze nie wyjdą jeszcze cyrki z płytką). Dodatkowo na wszelki wypadek wymienilem wszystkie bufory adresowe na UCY7408 oraz układ UCY 7474  (wcześniej: UCA6474) - rowniez będący częsci a układu generującego sygnal MUX.

NA 74157PC było już prawie dobrze (to samo M74LS157) ale czasem wywalało błąd pamięci.
A tutaj - wymiana na stare poczciwe UCY  jakby przyniosla zdecydowaną poprawę i program przechodzi pełny test pamięci 48KB...

Jeszcze potestuje - zobacze...
Na koniec moze machnę oscyloskopem zrzut - z relacji sygnalow MREQ=>RAS=>MUX=>CAS

póoki co jest wporządku i cprogram łazi w płetli bez wykrzaczania się oraz "iścia" w pole :D



 
« Ostatnia zmiana: 2021.04.14, 22:42:25 wysłana przez coberr »

KWF

  • *****
  • Wiadomości: 6823
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • "I co ja robię tu, u-u, co Ty tutaj robisz ..."
    • Insta do lasownia
Odp: ZX Spectrum - RAM 32KB - MREQ RAS MUX CAS
« Odpowiedź #17 dnia: 2021.04.15, 06:29:33 »
A że tak zapytam, jakiego typu masz bufor 74x04, który robi za linię opóźniającą /MREQ -> /MUX w Cobrze?
KWF
-----
R Tape loading error 0:1
Moje zabawki: https://github.com/McKlaud76

trojacek

  • *****
  • Wiadomości: 6831
  • Miejsce pobytu:
    Warszawa
Odp: ZX Spectrum - RAM 32KB - MREQ RAS MUX CAS
« Odpowiedź #18 dnia: 2021.04.15, 09:29:14 »
A ja zapytam, choć pewnie odpowiedź nie jest łatwa do ustalenia - czy wpływ użytych MUX-ów na funkcjonowanie DRAM wiąże się z cyklem dostępu, czy odświeżania?
Na zdrowy rozum - dostęp jest bardziej złożony niż refresh, więc większa szansa, że tu się coś krzaczy.
Z obserwacji - zawartość DRAM się chyba jednak krzaczy, czyli jakby refresh.

A że tak zapytam, jakiego typu masz bufor

Na szczęście w męskim gronie takie pytanie można zadać bez konsekwencji fochowo-przemocowych ;)
« Ostatnia zmiana: 2021.04.15, 12:17:15 wysłana przez trojacek »

coberr

  • ***
  • Wiadomości: 138
  • Miejsce pobytu:
    Gorzów Wlkp
Odp: ZX Spectrum - RAM 32KB - MREQ RAS MUX CAS
« Odpowiedź #19 dnia: 2021.04.16, 01:52:08 »
@KLAUD - a że tak odpowiem pokrótce w całości:
MREQ\ (19 Z80) => inwerter UCY7404 - otrzymujemy MREQ. (wykrzystany dalej do wytworzenia MEMR\ i MEMW\ - standard)
MREQ (7404) => kolejny inwerter UCY7404 - otrzymujemy sygnał RAS\ to już daje jakieś 20ns opóźnienia w stos. do MREQ\.

Sygnał MUX jest juz  w troche bardziej finezyjny sposób uzyskiwany:

Dwa sygnały sa bramkowane (MREQ oraz rfsh\). w MOMENCIE GDY MAMY  dostęp do pamieci (ale nie cykl odświezania) - na wejsciu D/CLK przerzutnika  pojawia sie stan wysoki i w tym momencie jest po juz przepisywany na wyjscie wraz  z  KOLEJNYM narastajacym zboczem sygnału zegarowego 6,5MHz (podane na wejscia CLK obu przerzutników na schemacie)
W efekcie na wyjsciu mamy przerzut ze stanu niskiego do wysokiego po jakichs 100ns.
Cały "cykiel" kończy się w momencie przejscia sygnału MREQ (nie mylić z MREQ\) do stanu niskiego (MREQ\=H) LUB RFSH\ do stanu niskiego (potrzebne tylko linie A0-A6) zatem układ generuje MUX tylko w trybie DOstępu do pamieci (  ale już nie odświeżania)

Dalej mamy sygnal CAS - ktory obecnie (pakiet4164) uzyskiwany jest z układu UCY7410. (kolejne 20ns opoznienia w stos do MUX).
Jest to przerobka w stos . do oryginalnego układu COBRY - opisana w AV.

Pierwsza bramka - wejscia:

MREQ ,A14,A15 =>wyjście (nazwałem roboczo Q3[było to wyście Q3 wczesniejszego, usuniętego dekodera 74S405] ) - dekodowany ostatni segment 16KB  ( stan L) w przestrzeni pamieci (EPROM/układ wizji) lub pierwsze trzy segmenty pamieci (48KB DRAM)  stan H.

Druga bramka:

Q3 , MREQ , MUX po linii opozniającej RC 330R/100pF => wyjscie - sygnał CAS dla 4164.


@trojacek

Odpowiedz rzeczywiscie nie jest prosta ale ja napisze tak - jeszcze nie mierzylem oscyloskopem dokładnie przebiegów PO ZASTOSOWANIU układów UCY74157.
W sensie mierzyłem i teoretycznie- jak w przyp. reszty układów nie było sie do czego przyczepić. JEdnak jesli MUXY przeczywiscie nie wyrabiaja z pojemnosciowym obciażeniem na iniach A0-A7 pamięci - to problem moze być w obu cyklach - zarówno odswieżania jak i dostepu - zwłaszcza odczytu - w ostatniej fazie po ustaleniu sygnalu CAS\

PRzy wczesniejszych MUXach - program potrafil iśc w "pole" - a jest tak napisany - ze NIE KORZYSTA z pamieci - a jedynie z wen. rejestrow procesora - jedynie testujac pamięc.
Podejrzewam jakiesbledne przypadkowe odczyty z  bufora linii danych pamieci...
jeszcze zastanawiałem się nad pamiecią testową  AT28C16 ale ona ma wystarczająco długi czas dostepu - 150ns.

W kazdym razie obecnie po wymianie  MUXÓw na uklady 74157 - wszelkie błedy ustapiły...
program wykonuje sie perfekcyjnie - żadnych skoków pod adres startu  lub zaieszania się- czy tez przechodzenia do stanu HALT procesora....
 JUz drugi dzien jest o.k.
Okazuje się, że w Cobrze zastosowanie multiplekserów UCY74157 jest po prostu krytyczne.

na koniec planuję troche pomierzyć oscyloskopem opóźnienia na różnych multiplekserach - moze sie uda wrzucić jakies wyniki tutaj

coberr

  • ***
  • Wiadomości: 138
  • Miejsce pobytu:
    Gorzów Wlkp
Odp: ZX Spectrum - RAM 32KB - MREQ RAS MUX CAS
« Odpowiedź #20 dnia: 2021.04.17, 01:04:26 »
jeszcze się tak zastanawiam- bo nie probowałem na serii HCT.ALE generalnie skoro wersja TTL (LS) ma  generalnie slabiutka wydajnośc w stanie wysokim i w sumie nie ma sie co dziwic ze ma problem przy przeladowaniu własnych oraz ośmiu pamięci + montażowych pojemnosci PCB - to czy np nie byłoby rozwiązaniem zapodanie jakiejś drabinki rezystorowej na wyjsciach MUXów - podpietej pod VCC? Musialbym ten patent przetestowac - np. 8x330-470R.I wtedy zastosować te niesforne upierdliwce co wczesniej :).