
Jednopłytkowy komputer oparty na mikroprocesorze 8085
Założeniem było zaprojektowanie i zbudowanie prostego komputera na jakimś prostym procesorze w celu nauki assemblera.
Konstrukcja oparta jest na wcześniej wspomnianym mikroprocesorze Intel 8085. Dlaczego akurat taki? Taki akurat miałem pod ręką, poza tym jest bardzo dobrze opisany na różnych forach/stronach/filmach na yt co tylko ułatwia projektowanie. Taktowany rezonatorem kwarcowym o częstotliwości 6.144 MHz. Układ RC przy procesorze służy resetowaniu go przy włączeniu układu do zasilania.
Przestrzeń adresowa procesora została podzielona na dwa równe obszary po 32 kB, pierwszy początkowy dla pamięci stałej EPROM (adresy 0000h - 7FFFh), drugi zaś dla pamięci RAM (adresy 8000h - FFFFh). Dodatkową funkcjonalnością jest możliwość sterowania za pomocą zwory bankami pamięci EPROM (dotyczy to tylko pamięci o pojemności 64 kB). Z komputerem współpracują pamięci stałe o rozmiarach 64, 32 i 16 kB. Próbowałem także z układami 2764, aczkolwiek nie chciały działać.
Za komunikację ze światem zewnętrznym odpowiadają układy 8251 oraz max. 232. 8251 pracuje w trybie asynchronicznym, 8 bitów danych oraz jeden bit stopu. Odbiór znaków oparty jest na przerwaniu nie maskowalnym. Prędkość przesyły danych do 19200 baud, uzyskiwana jest poprzez podzielenie sygnału zegarowego wychodzącego z procesora (8085 dzieli częstotliwość kwarcu przez 2) przez 10 przy pomocy układu 7490, a następnie 16 w samym układzie 8251 (poprzez ustawienie odpowiedniego bitów). 19200 to maksymalna prędkość, natomiast można ustawić na niższą 4800 (uruchamiając dzielnik przez 64 w układzie 8251). Komputer jest także wyposażony w złącze, na którym znajdują się wszystkie najważniejsze sygnały procesora, umożliwia to łatwą rozbudowę, poprzez dodawanie kolejnych płytek "na kanapkę".
Układ wzbogaciłem dodatkowo o drugą płytkę zawierającą mikro kontroler ATmega8 odpowiadający za wyświetlanie wyników na ekranie telewizora poprzez złącze RCA oraz drugą obsługującą klawiaturę PS/2. Projekt mikro kontrolera generującego sygnał wideo nie jest mój, schemat oraz kod źródłowy zaczerpnąłem ze strony Link, natomiast obsługa klawiatury to lekko zmodyfikowany kod ze strony Link, od siebie dodałem przystosowanie na atmegę8 oraz przesyłanie odebranych z klawiatury znaków przez uart.


Podczs uruchamiania projektu okazało się, że gdzieś jest błąd, po tygodniu wyszło, że jest to wina dekodera sygnałów sterujących zapisem i odczytem. Układ 74183 nie nadawał się, bo generowałem błędne syganały unicestwiając poprawną pracę całej płytki. W ramach poprawki wykonałem mała płytkę z układem 74157 w układzie znajdującym się w dokumentacji układu 8257. Po wstawieniu wszystko zadziałało.

Wszystkie płytki wykonane na laminacie jednostronnym metodą termo transferu. Płytka główna w jednym miejscu straciła toner podczas przenoszenia, poprawiona została mazakiem.


Podsumowując:
-procesor 8085, taktowany zegarem 3,072 MHz
-32 kB pamięci stałej (opcjonalnie dwa banki)
-32 kB pamięci RAM
-komunikacja poprzez RS232, 19200 baud
-płytka 14,8 na 9,5 cm
W załącznikach schemat komputera (z poprawnym dekoderem), projekt płytki drukowanej, kod źródłowy atmegi do obsługi klawiatury oraz linki do stron, z których korzystałem.
Wyświetlanie tekstu na tv
klawiatura PS/2 na avr

Cool? Ranking DIY