Thread View: pl.misc.elektronika
1 messages
1 total messages
Started by Atlantis
Wed, 08 Jan 2025 13:14
Podłączenie DMA 8257 do 8085
Author: Atlantis
Date: Wed, 08 Jan 2025 13:14
Date: Wed, 08 Jan 2025 13:14
29 lines
2613 bytes
2613 bytes
Szukając przyczyny niedziałania karty CF w moim komputerku na 8085 znalazłem kilka innych błędów i zabrałem się za lekką optymalizację konstrukcji, która oryginalnie była w prosty sposób przeniesiona z wcześniejszego projektu na 8080. Jedną z pierwszych zmian było wykorzystanie sygnału IOM do sterowania dekoderami adresów, tak więc teraz są one aktywne tylko wtedy, gdy faktycznie chcemy odwołać się do jakiejś pamięci/urządzenia I/O. Ułatwia to debugowanie i zmniejsza zakłócenia, bo linie CS nie zmieniają co chwilę swojego stanu. Po wprowadzeniu tej zmiany zbędne stało się rozróżnienie na osobne linie IORD/MEMRD i IOWR/MEMWR w stylu 8080. Przy okazji zauważyłem, że logika która wykorzystywałem do ich generowania miała błąd, który w przyszłości uniemożliwiłby poprawną prace DMA - linie te nie były przełączane w stan wysokiej impedancji sygnałem AEN. Skoro jednak rezygnuję z konwencji 8080 (MEMRD, MEMWR, IORD, IOWR) i chcę mieć w systemie jedynie zestaw trzech sygnałów typowych dla 8085 (RD, WR, IOM) pojawia się problem właśnie z DMA 8257, który zakłada obecność sygnałów z 8080. Z tego co widzę, większość konstrukcji korzystających z tego DMA na 8085 zwyczajnie odtwarza dodatkowe sygnały np. za pomocą 74138. Istnieje może jakiś sprytny sposób, żeby łatwo zrobić to w drugą stronę? To znaczy wygenerować systemowe sygnały RD, RW i IOM z MEMRD, MEMWR, IORD, i IOWR wychodzących z 8257, ale jednocześnie pozostawiając możliwość pracy z IORD/IOWR jako wejściami, gdy chcemy zapisać coś do lub odczytać coś z rejestrów układu?
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