-
Data: 2018-04-30 10:15:50
Temat: Debugowanie systemu na 8080
Od: Atlantis <m...@w...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]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?
Następne wpisy z tego wątku
- 30.04.18 11:03 s...@g...com
- 30.04.18 11:06 s...@g...com
- 30.04.18 22:21 J.F.
- 01.05.18 10:02 Atlantis
- 01.05.18 11:03 J.F.
- 01.05.18 11:50 Atlantis
- 01.05.18 12:33 J.F.
- 01.05.18 13:22 Atlantis
- 01.05.18 13:41 J.F.
- 01.05.18 13:48 Atlantis
Najnowsze wątki z tej grupy
- termostat do lodowki
- SEP 1 kV E
- Aku LiPo źródło dostaw - ktoś poleci ?
- starość nie radość
- Ataki hakerskie
- Akumulatorki Ni-MH AA i AAA Green Cell
- Dławik CM
- JDG i utylizacja sprzetu
- Identyfikacja układ SO8 w sterowniku migających światełek choinkowych
- DS1813-10 się psuje
- Taki tam szkolny problem...
- LIR2032 a ML2032
- SmartWatch Multimetr bezprzewodowy
- olej psuje?
- Internet w lesie - Starlink
Najnowsze wątki
- 2024-12-12 Autocom CAN CDP+ wysokie kody błędów
- 2024-12-13 termostat do lodowki
- 2024-12-13 Gdańsk => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-13 Warszawa => Head of International Freight Forwarding Department <=
- 2024-12-13 Poznań => Employer Branding Specialist <=
- 2024-12-13 Kraków => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2024-12-13 Kraków => Business Development Manager - Network and Network Security
- 2024-12-13 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-13 Gdańsk => Programista Full Stack .Net <=
- 2024-12-13 Warszawa => Analityk Biznesowo-Systemowy <=
- 2024-12-13 Białystok => Architekt rozwiązań (doświadczenie w obszarze Java, A
- 2024-12-13 Wrocław => Application Security Engineer <=
- 2024-12-13 Katowice => Head of Virtualization Platform Management and Operating S
- 2024-12-13 Lublin => Programista Delphi <=
- 2024-12-13 Chrzanów => Specjalista ds. public relations <=