68k Eigenbau-Computer

Vorwort

Als langj├Ąhriger Amiga-Nutzer war ich fr├╝her nat├╝rlich auch ein gro├čer Fan des 68000’er Prozessors. W├Ąhrend meines Grundwehrdienstes habe ich deshalb viele Dienststunden mit dem Buch “Mikrocomputertechnik mit den Prozessoren der 68000-Familie” von G.Schmitt sinnvoll genutzt. In diesem Buch werden eigentlich alle Grundlagen von der digitalen Schaltungstechnik, dem internen Aufbau des 68k bis zur Assemblerprogrammierung beschrieben. Allerdings war mein Wehrdienst l├Ąnger als das Buch, deshalb fing ich einen eigenen 68k-Rechner, der aus einzelnen Modulen besteht, zu entwerfen. Ein wirklich konkretes & revolution├Ąres Ziel gab es bei der Entwicklung nicht, au├čer das Gelesene mal direkt auf einer “einfachen” Hardware nach zu vollziehen.

Das Ergebnis der Entwicklung sieht man hier:

68k-Modulrechner


Alle Module des 68k-Rechners

Der Computer besteht aus sechs Modulen, auf denen jeweils eine spezielle Funktion untergebracht ist. Verbunden werden die einzelnen Module ├╝ber eine 64-polige Busbackplane ├╝ber die direkt der Adress/Daten Bus der 68k-CPU gef├╝hrt wird.

CPU-Modul

Die CPU-Karte ist mit einem 68000-Prozessor best├╝ckt, der von einem 8MHz Quarzoszillator getaktet wird. Zus├Ątzlich ist ein MAX707 als Resetgenerator auf der Karte verbaut. Der GALs war daf├╝r vorgesehen eventuell den Bustakt herunter zuteilen und das IRQAck-Signal zu erzeugen. Au├čerdem werden damit die LED’s angesteuert, die den Betriebszustand der CPU anzeigen.

RAM-Modul

Auf der RAM-Karte sind zwei 128kB EPROM und zwei 64kB RAM-Bausteine verbaut. Au├čerdem ist auf der Karte ein RTC-Baustein untergebracht. Sowohl die RAM-Bausteine als auch die RTC k├Ânnen ├╝ber eine Pufferbatterie versorgt werden, damit der Inhalt der Bausteine auch nach einem Spannungsverlust erhalten bleiben. Die Adressdekodierung wird ├╝ber die GALs gemacht.

Uart-Modul

Uart-Modul

Das UART-Modul stellt die Verbindung mit der Au├čenwelt ├╝ber ein Terminalprogramm her. Das Modul besteht haupts├Ąchlich aus einem MC68681 Dual-Uart-Baustein, der mit einen Adressdecoder und Interfacebausteinen f├╝r RS232 & RS485 zusammengeschaltet ist. Als Pegelwandler f├╝r die RS232-Schnittstelle wird der gute alte MAX232 benutzt. Die RS485-Schnittstelle ist mit einem SN75176 beschaltet.

Parallelport-Modul

Parallelport Modul

Das Parallelport-Modul stellt 3 8-Bit IO-Ports zur Verf├╝gung. Aufgebaut ist dieses Modul um einen MC68230, der zus├Ątzlich auch ein Timermodul enth├Ąlt. Damit k├Ânnen ├╝ber dieses Modul auch Zeitabl├Ąufe in “Realzeit” (auf Basis des Quarztakts) in der Software realisiert werden.

LCD-Modul

LCD-Modul

LCD-Modul

Das LCD-Modul enth├Ąlt nur ein Register mit dem der Inhalt des Datenbus beim Zugriff auf eine Adresse gelatched wird. Der Inhalt dieses Registers wird dann ├╝ber einen parallelen 8-Bit-Bus einem LCD-Modul mit 2x16 Zeichen zur Verf├╝gung gestellt.

Software

Das wichtigste Programm, das ich f├╝r den Modulrechner geschrieben habe ist ein Bootloader-Programm. Damit ist m├Âglich in S-Record formatiere Programme ├╝ber die RS232-Schnittstelle ins RAM zu laden und auszuf├╝hren. Der Bootloader selbst ist in Assembler geschrieben.

Nachdem der Bootloader fertig war, habe ich eigentlich nur noch kleine Testprogramme in Assembler geschrieben mit denen ich “lustige” Muster auf den LEDs des Parallelport-Moduls ausgegeben habe…

Das Ziel mit dem GNU-68k-Crosscompiler C-Programme f├╝r den Modulrechner zu schreiben habe ich ziemlich schnell beiseite gelegt, als klar wurde, was man eigentlich tun muss um erst mal die C-Library zu erzeugen. Quasi zeitgleich hat die Firma Motorola (heute Freescale) eine Low-Cost Entwicklungsplattform f├╝r den Coldfire MCF5206 herausgebracht, f├╝r den man bereits fertige GNU-Tools herunterladen konnte. Bei dem Coldfire-Baustein handelt es sich um einen abgespeckten 68k-Prozessor, der bereits u.a. UART, PIO & Timer-Module intern enth├Ąlt. Mit dem Entwicklungsboard des Coldfire MC5206 bin ich damals direkt von meinem “Low-End” 68k-System mit 8MHz und 128kB RAM zu einem “High-End”-┬ÁC mit 66MHz und 4MB EDO-RAM gesprungen und konnte dabei das gesamte Grundwissen ├╝ber den Prozessor weiterverwenden.

Coldfire Entwicklungsboard