eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaDebugowanie systemu na 8080 › Re: Debugowanie systemu na 8080
  • Data: 2018-04-30 11:03:30
    Temat: Re: Debugowanie systemu na 8080
    Od: s...@g...com szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu poniedziałek, 30 kwietnia 2018 10:15:54 UTC+2 użytkownik Atlantis napisał:
    > Skończyłem ostatnio składać prosty system mikroprocesorowy na polskim
    > MCY7880. Płytka poza procesorem i układem zasilania zawiera także
    > UCY74S424, UCY74S428, UCY74S405, kilka sztuk UCY74S$12 (bufor szyny
    > adresowej i fragment dekodera adresów). Do tego pamięci i trochę
    > drobnicy TTL.
    >
    > W chwili obecnej podłączona jest wersja minimalistyczna - z podstawek
    > wyjęty dekoder adresów, linia CS EPROM-u na stałe podłączona do masy.
    >
    > Sprawdziłem parę razy wszystkie połączenia i wygląda na to, że nie
    > popełniłem żadnego błędu lutując kynar. Jeszcze przed włożeniem pamięci
    > EPROM do postawki sprawdziłem najważniejsze linie oscyloskopem i
    > wszystko zdawało się być w porządku - na liniach adresowych pojawiały
    > się regularne przebiegi, wskazujące na inkrementację adresu. Regularne
    > impulsy na liniach CS sugerowały także poprawne działanie dekodera adresów.
    >
    > Następne zaprogramowałem EPROM prostym programem, stworzonym za pomocą
    > webowego asemblera (asm80.com).
    >
    > ORG 00000H
    > NOP
    > NOP
    > NOP
    > NOP
    > START:
    > NOP
    > NOP
    > MVI A, 80H
    > OUT 00H
    > NOP
    > NOP
    > JMP START
    >
    > Po włożeniu EPROM-u zamilkły górne linie magistrali adresowej, co
    > wskazuje na to, że faktycznie wykonuje się jakaś pętla.
    >
    > Rozkaz OUT 00H miał zapisać nową wartość do jednego z UCY74S412, okazało
    > się jednak, że linia nie została ustawiona.
    > Zacząłem się więc bliżej przyglądać przebiegom za pomocą prostego
    > analizatora logicznego. Okazuje się, że:
    > 1) Linia I/OW nie zmienia wcale swojego stanu. A przecież powinna
    > ustawić się w stanie niskim przy zapisie do IO.
    > 2) Linia MEMR jest aktywna prawie cały czas (co mnie specjalnie nie dziwi).
    > 3) Na linii MEMW co jakieś 20ms pojawiają się dwa impulsy stanu
    > niskiego. Chyba nie powinno ich tam być? Przecież w moim kodzie nie
    > występują żadne operacje zapisu do pamięci, nie jest skonfigurowany stos
    > itp.
    >
    > Uprzedzając potencjalne odpowiedzi - nie, nie zamieniłem MEMW i I/OW
    > miejscami. Zresztą wspomniane impulsy występują również po
    > zakomentowaniu linijki z poleceniem OUT.
    >
    > Próbowałem zamienić MCY7880 na procesor produkcji NEC. Podmieniłem też
    > MCY74S428 na inny egzemplarz, ale ne przyniosło to żadnego rezultatu.
    >
    > Ktoś ma jakiś pomysł odnośnie tego, co może być nie tak? Co mogę
    > sprawdzić? Może problem jest software'owy i najzwyczajniej w świecie coś
    > pominąłem?

    ==============

    1. Kod faktycznie jest duperelny, więc zrób sobie kompilację na piechotę i sprawdź
    czy przypadkiem asm80 nie robi jakiegoś błędu. Porównaj swoją kompilację z kodem
    wynikowym asm80.

    2. Może EPROM źle zaprogramowany, albo z czasem dostępu są jakieś jaja. Sprawdź na
    innym EPROMie. Ze starymi epromami bywają różne niespodzianki.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

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: