eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaProblem z dekoderem adresów
Ilość wypowiedzi w tym wątku: 13

  • 11. Data: 2025-04-23 20:51:39
    Temat: Re: Problem z dekoderem adresów
    Od: Atlantis <m...@w...com>

    On 19.04.2025 09:53, Janusz wrote:

    > No to pozostaje ci tylko podłączyć jakiś analizator stanów i analizować
    > to adresowanie i na czym się wiesza, może potem na tej podstawie napisać
    > kawałek programu żeby sie w kółko kręcił i dał możliwość dokładnego
    > zbadania zależności oscylem.

    Ok, kilka prób z użyciem oscyloskopu faktycznie wyjaśniło sprawę.
    Okazuje się, że miałem do czynienia z mieszanką dwóch przyczyn.
    Pierwsza była banalna - zamieniłem miejscami sygnały A15 i SHADOW_ROM na
    wejściach 74139, przez do dekoder generował niewłaściwe sekwencje
    sygnałów CS dla pamięci, co prowadziło do konfliktu po ustawieniu
    SHADOW_ROM w stanie wysokim.

    Jednak samo to nie rozwiązało problemu, bo jak się okazuje była jeszcze
    druga przyczyna, faktycznie związana z timingami. Układ zaczął działać
    dopiero wtedy, gdy zsynchronizowałem sygnał CS portu 74273 (generującego
    SHADOW_ROM) z zegarem systemowym, zatrzaskując go w flip-flopie. Było to
    relatywnie proste do realizacji, bo tę część logiki miałem
    zaimplementowaną w GAL-u.

    Teraz zabrałem się za wprowadzanie podobnej modyfikacji w starszej
    wersji projektu na 8080. Tym razem wejścia 74139 są podłączone
    prawidłowo (sprawdzone wizualnie i za pomocą oscyloskopu) ale układ
    również nie działa, wywalając się po skoku do załadowanego CP/M-a.
    Podejrzewam, że to też jakaś wersja problemów z timingiem przy pisaniu
    do portu. Tym razem port jest zrealizowany na 74S412 (polski klon 8212).

    Sterowanie portem odbywa się w następujący sposób:
    1. Pin MD podciągnięty do VCC
    2. Wejście DS1 podłączone do IO_WR
    3. Wejście DS2 podłączone do zanegowanego wyjścia dekodera adresów I/O
    (74138)
    4. Wejścia DI0..DI7 do magistrali systemowej.
    5. Wyjścia DO0..DO7 tam, gdzie są potrzebne. ;)

    Zastanawiam się czy i tym razem nie opóźnić trochę sygnału DS2, przez
    zatrzaśnięcie go w 7474 sygnałem zegara systemowego.

    Tylko dlaczego w ogóle mam ten problem? Czy przypadkiem w 8080 nie
    powinienem mieć już stabilnej nowej wartości na liniach danych, gdy na
    szynie adresowej pojawia się adres, a linia IO_WR przechodzi w stan niski?


  • 12. Data: 2025-04-24 11:10:24
    Temat: Re: Problem z dekoderem adresów
    Od: Janusz <j...@o...pl>

    W dniu 23.04.2025 o 20:51, Atlantis pisze:
    > Czy przypadkiem w 8080 nie powinienem mieć już stabilnej nowej wartości
    > na liniach danych, gdy na szynie adresowej pojawia się adres, a linia
    > IO_WR przechodzi w stan niski?
    Myślę że dopiero po ustawieniu io_wr na niski będzie stabilna wartość na
    data, wcześniej może być różnie, opóźnij ten DS2 i zobacz co sie stanie.

    --
    Janusz


  • 13. Data: 2025-04-24 16:31:26
    Temat: Re: Problem z dekoderem adresów
    Od: "J.F" <j...@p...onet.pl>

    On Wed, 23 Apr 2025 20:51:39 +0200, Atlantis wrote:
    > On 19.04.2025 09:53, Janusz wrote:
    >> No to pozostaje ci tylko podłączyć jakiś analizator stanów i analizować
    >> to adresowanie i na czym się wiesza, może potem na tej podstawie napisać
    >> kawałek programu żeby sie w kółko kręcił i dał możliwość dokładnego
    >> zbadania zależności oscylem.
    >
    > Ok, kilka prób z użyciem oscyloskopu faktycznie wyjaśniło sprawę.
    > Okazuje się, że miałem do czynienia z mieszanką dwóch przyczyn.
    > Pierwsza była banalna - zamieniłem miejscami sygnały A15 i SHADOW_ROM na
    > wejściach 74139, przez do dekoder generował niewłaściwe sekwencje
    > sygnałów CS dla pamięci, co prowadziło do konfliktu po ustawieniu
    > SHADOW_ROM w stanie wysokim.
    >
    > Jednak samo to nie rozwiązało problemu, bo jak się okazuje była jeszcze
    > druga przyczyna, faktycznie związana z timingami. Układ zaczął działać
    > dopiero wtedy, gdy zsynchronizowałem sygnał CS portu 74273 (generującego
    > SHADOW_ROM) z zegarem systemowym, zatrzaskując go w flip-flopie. Było to

    czekaj ... 74273 nie ma CS.
    373 ?


    > relatywnie proste do realizacji, bo tę część logiki miałem
    > zaimplementowaną w GAL-u.
    >
    > Teraz zabrałem się za wprowadzanie podobnej modyfikacji w starszej
    > wersji projektu na 8080. Tym razem wejścia 74139 są podłączone
    > prawidłowo (sprawdzone wizualnie i za pomocą oscyloskopu) ale układ
    > również nie działa, wywalając się po skoku do załadowanego CP/M-a.
    > Podejrzewam, że to też jakaś wersja problemów z timingiem przy pisaniu
    > do portu. Tym razem port jest zrealizowany na 74S412 (polski klon 8212).
    >
    > Sterowanie portem odbywa się w następujący sposób:
    > 1. Pin MD podciągnięty do VCC
    > 2. Wejście DS1 podłączone do IO_WR
    > 3. Wejście DS2 podłączone do zanegowanego wyjścia dekodera adresów I/O
    > (74138)
    > 4. Wejścia DI0..DI7 do magistrali systemowej.
    > 5. Wyjścia DO0..DO7 tam, gdzie są potrzebne. ;)
    >
    > Zastanawiam się czy i tym razem nie opóźnić trochę sygnału DS2, przez
    > zatrzaśnięcie go w 7474 sygnałem zegara systemowego.
    >
    > Tylko dlaczego w ogóle mam ten problem? Czy przypadkiem w 8080 nie
    > powinienem mieć już stabilnej nowej wartości na liniach danych, gdy na
    > szynie adresowej pojawia się adres, a linia IO_WR przechodzi w stan niski?

    O ile pamietam, to tak powinno być.

    Oscyloskop nie pokazuje?


    J.

strony : 1 . [ 2 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: