eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaDebugowanie systemu na 8080 › Re: Debugowanie systemu na 8080
  • Data: 2018-04-30 11:06:01
    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 11:03:31 UTC+2 użytkownik s...@g...com
    napisał:
    > 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.

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

    Aha, po włączeniu zasilania daj dłuższy reset żeby mieć pewność, że PC(Program
    Counter) zaczyna kręcić się od zera.

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: