Thread View: pl.misc.elektronika
1 messages
1 total messages
Started by Atlantis
Tue, 11 Feb 2025 23:36
Dziwne zachowanie magistrali adresowej w 8085
Author: Atlantis
Date: Tue, 11 Feb 2025 23:36
Date: Tue, 11 Feb 2025 23:36
37 lines
3121 bytes
3121 bytes
Od jakiegoś czasu pracuję nad projektem komputerka retro. Powstało już kilka wersji sprzętu na procesorach 8080 i 8085. Ostatnio zabrałem się za montaż nowej wersji płytki CPU, która wprowadza pewne zmiany w stosunku do poprzedniej rewizji. Żeby nie wchodzić w zbędne szczegóły powiem, że chodzi o dodanie ROM shadowingu, aby odpalony na tym CP/M mógł mieć RAM w całej przestrzeni adresowej. W każdym razie jakieś 90% projektu jest identyczne z poprzednią wersją. Po resecie urządzenie powinno zacząć wykonywać kod z pamięci EPROM, od adresu 0x0000. Wrzuciłem na EPROM prostego blinka, ten się jednak nie wykonał. Wyciągnąłem z podstawek wszystkie pamięci, linie D0..D7 podciągnąłem rezystorami do masy (wymuszenie wykonywania rozkazu NOP) i zacząłem się przyglądać temu, co się dzieje na magistrali. Pierwsza rzecz, która zwróciła moją uwagę, to zachowanie linii CS_EPROM i CS_RAM2. Impulsy na tych liniach powinny mieć taką samą długość, wypełnienie 50% i znajdować się w przeciwfazie (EPROM aktywny gdy A15=0, RAM gdy A15=1). Tak jednak nie jest - EPROM jest aktywny przez jakieś 25% czasu, RAM przez 75%. Przyjrzałem się sytuacji na magistrali adresowej. O ile mniej znaczący bajt (linie A0..A7, zatrzaskiwane w rejestrze 74574) wyglądają normalnie (współczynnik wypełnienia 50%, impulsy na każdej kolejnej linii dwa razy dłuższe niż na poprzedniej) to na liniach A8..A15 (dostępnych bezpośrednio na pinach procesora) dzieje są coś dziwnego - mam tam krótkie impulsy o częstotliwości 250-500 kHz, które nie są idealnie stabilne (oscyloskop nie łapie idealnej synchronizacji, a odczyt częstotliwości pływa). Próbowałem kilku różnych egzemplarzy 8085 (od różnych producentów) - nic. Próbowałem oglądać płytkę pod kątem błędu w montażu - nic nie widzę. Najprawdopodobniej winę za taki stan rzeczy ponosi jakaś moja pomyłka, ale za nic nie mogę jej zlokalizować. Ktoś może ma pomysł jaki błąd (albo w jakiej części projektu) może być odpowiedzialny za takie dziwne zachowanie górnego bajtu magistrali adresowej?
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads