In letzter Zeit wurden in der ST-Computer Schaltungen vorgestellt, die, aus welchen Gründen auch immer, den Prozessorbus des Mega ST benötigen. Damit diese Basteleien und auch käufliche und deshalb bekanntere Erweiterungen nicht nur den Mega-Usern Vorbehalten bleiben, möchte ich Ihnen hier einen Mega-Bus zum Nachrüsten für alle „kleinen“ STs (260, 520 und 1040) vorstellen. Leider müssen hierbei die STEs außen vor bleiben, da diese entweder einen VME-Bus und/oder einen quadratischen PLCC-Prozessor haben.
Ausgehend von der Idee des Nachrüstens, studierte ich eingehend die Schaltpläne von einem ATARI 1040 ST und einem Mega ST 4 [1]. Dabei fiel auf, daß zwischen Mega ST und 1040er zwei Unterschiede bestehen. Zunächst einmal ist im Mega ST ein im 1040er nicht benutztes Signal vom Pin 45 des PLCC-GLUEs an den Mega-Bus herangeführt. Dieses Signal, /BGO, also Bus Grant Out, auf deutsch Buszuteilung (...ausgang), teilt den am Prozessorbus angeschlossenen Geräten mit, daß der Prozessor den Rechnerbus an einen anderen Baustein abgegeben hat. Die Busanforderung kann von allen an die /BR-Leitung angeschlossenen Bausteinen oder Geräten erfolgen. Da es nicht zulässig ist, mehrere TTL-Ausgänge miteinander zu verbinden, sind die/BR-Ausgänge der Chips als Open-Collector-Ausgänge herausgeführt. Wenn dieser Ausgang von einem Chip auf Low-Pegel gezogen wird, „merkt“ der Prozessor dies an seinem /BR-Eingang [zur Erläuterung: BR heißt Bus Request oder auch Busanforderung.]. Falls der Prozessor bereit ist, den Bus abzugeben, setzt er sein /BG-Signal, also sein Bus Grant-Signal, welches nicht in der Open-Collector-Charakteristik herausgeführt ist, sondern alle an die /BR-Leitung angeschlossenen Bausteine in einer Art Reihenschaltung durchläuft. Diese ist in den verschiedenen Computerbaureihen etwas unterschiedlich. In ATARI STs ohne einen Blitter durchläuft das Signal eigentlich nur den GLUE und wird, falls vorhanden (wissen Sie noch, wovon dieser Artikel handelt? Wirklich?) an den Mega-Bus weitergeleitet. Bei vorhandenem Blitter (für gewöhnlich in neueren 1040ern und in den Mega STs eingebaut!) durchläuft dieses Signal zuerst den Blitter, dann den GLUE und wird dann zu dem hoffentlich vorhandenen Mega-Bus weitergeleitet. Der Baustein, der das /BR-Signal gesetzt hat, stellt so bald wie möglich fest, ob der Prozessor das /BG-Signal gesetzt hat. Falls das Signal gesetzt ist, übernimmt der Baustein den Prozessorbus. Dabei gibt er das /BG-Signal nicht weiter und setzt gleichzeitig das /BGACK-Signal, welches genau wie das /BR-Signal in Open-Collector-Charakteristik ausgelegt ist. Das /BGACK-Signal, was in Computerdeutsch Bus Grant Acknowledge oder auch Buszuteilungsbestätigung heißt (scheußlich langes Wort, oder?). Dadurch weiß der Prozessor, daß der Baustein, der den Bus angefordert hat, diesen auch übernommen hat. Nach meinen Informationen darf der Baustein, der den Prozessorbus angefordert hat, diesen solange „behalten“, bis der Prozessor das /BG-Signal zurücksetzt. Das passiert für gewöhnlich nach dem nächsten Interrupt (logisch!). Danach muß der Baustein das /BGACK-Signal zurücknehmen. Allerdings kann er das /BR-Signal gesetzt lassen, falls er seine „Arbeit“ noch nicht beenden konnte. Andernfalls setzt er das /BR-Signal ebenfalls zurück. Falls mehrere Bausteine gleichzeitig den Prozessorbus benutzen wollen, wird dieser nach einer in der Verschaltungsreihenfolge festgesetzten Abfolge vergeben (die Reihenfolge steht weiter oben!). Falls allerdings nur ein Baustein den Prozessorbus anfordert, der das /BG-Signal nicht direkt vom Prozessor bekommt, sondern in der Reihenfolge hinter einem anderen Baustein kommt, wird das Signal von eben jenem Baustein weitergereicht. Das geschieht höchstwahrscheinlich durch einen einfachen Leitungstreiber. Dieser wird nur dann aktiv (sprich, er gibt das /BG-Signal einfach nur weiter), wenn der Baustein das /BR-Signal selbst nicht gesetzt hat. Andernfalls gibt der Treiber das Signal einfach nicht weiter, und der Baustein übernimmt den Bus, und das Ganze geht von vorne los. Aus diesem einfachen Grunde könnte man rein theoretisch unendlich viele Karten an den Mega-Bus anschließen, solange diese Karten insgesamt nicht mehr als die drei Interrupt-Leitungen benötigen. Näheres entnehmen Sie bitte dem Artikel „Rundreise durch den ST“ von Thomas Werner im Sonderheft der Zeitschrift ST-Computer [2], Das Signal /BGO liegt beim PLCC-GLUE nur an Pin 45 an. In „Nicht-Megas“ ist dieser Pin unbelegt. Beim SMD-GLUE liegt dieses Signal an Pin 42 an (Vorsicht! Beim Anschließen keine Lötbrücken zwischen den Pins schaffen!). Den Pin 1 findet man beim PLCC-GLUE, indem man von der schrägen Ecke aus entgegen dem Uhrzeigersinn oder dem Aufdruck folgt. Beim SMD-GLUE ist ein eingedrückter Punkt vorhanden. Natürlich kann man auch den Bestückungsaufdruck zu Rate ziehen.
Der zweite Unterschied besteht in zwei TTL-ICs der Typen 74LS32 und 74LS148. Ersteres verknüpft die beiden vom GLUE kommenden Interrupt-Control-Leitungen in einem Or-Gatter und gibt das Ergebnis von seinem Pin 3 an den Pin 3 des zweiten ICs weiter. Dieses IC, ein „binärer 8-zu-3 Prioritäts-Encoder“, erzeugt aus sechs Signalen drei verschiedene Interrupt-Signale, die direkt an den Prozessor angeschlossen sind (Abb. 3). Die beiden restlichen Signale (es müssen ja schließlich acht Eingangssignale sein!) liegen fest auf High-Pegel, genauer gesagt, die ersten beiden Eingänge, während die anderen, wie im Blockschaltbild gezeigt wird, mit den verschiedenen Pins verbunden werden. Von den Original Signalen liegt nur in „Nicht-Megas“ das erste (/IPLO) auf High und nicht wie im oben genannten Artikel „Rundreise durch den ST“ beschrieben, in allen, denn sonst könnten ja auch die an den Prozessorbus angeschlossenen Karten keinen Interrupt auslösen. Die Signale, die vom Prozessorbuses die Interrupts erzeugen, liegen an den Pins 45, 47 und 49 des Prozessorbus an und werden nebenbei über Pull-Up-Widerstände auf High gehalten. Die beiden vom GLUE kommenden Interrupt-Control-Leitungen (IPL1 u. IPL 2) sind bereits auf der Hauptplatine mit Pull-Up-Widerständen verbunden (hoffe ich zumindest).
Ansonsten liegen am Prozessorbus fast alle Signale und Leitungen so vor, wie sie am Prozessor vorhanden sind (Abb.4). Diese Signale sind einfach nur durchgeschleift, einzige Ausnahme sind die +5V, die an den Pins 14 und 49 des Prozessors die Stromversorgung übernehmen. Diese sind nicht zum Prozessorbus durchgeschleift, sondern durch Masseanschlüsse ersetzt. Diese Masseanschlüsse dürfen nicht zur Stromversorgung verwendet werden, da es sonst Probleme geben kann!
Das Projekt ist im Prinzip zwar relativ einfach aufgebaut und normalerweise auch leicht nachzuvollziehen. Allerdings ist es nicht zum Einstieg in die Welt der Elektronik geeignet, und wenn man nur über wenig Erfahrung im Bereich Computerhardware und Löttechnik verfügt, sollte man die Finger davon lassen und einen Verwandten oder Bekannten mit entsprechenden Kenntnissen bitten, den Auf- und Einbau vorzunehmen. Noch zum Löten: Verwenden Sie bitte nur Lötzinn mit 60% Zinnanteil, 38% Blei, 2% Kupferanteil (das schont die Lötkolbenspitze!) und sogenanntem säurefreien Flußmittel. Benutzen Sie bitte keine anderen Flußmittel.
Bevor Sie jetzt allzu euphorisch den Lötkolben schon gestartet haben, lesen Sie bitte erst weiter. Zunächst einmal öffnen Sie bitte den Rechner (ACHTUNG: GARANTIEVERLUST!! VORSICHT! ENTFERNEN Sie bei Arbeiten am Computer den NETZSTECKER!!!) und stellen fest, wie die CPU eingebaut ist. Wenn die Schnittstellen von Ihnen weg zeigen, müssen Sie feststellen, wo sich der Pin 1 der CPU befindet. Befindet sich dieser Pin 1 bei der Aufsicht unten links, können Sie, wenn auch die Höhe dieses Turmes paßt, die kleine Platinenversion (Abb. la, b, c, d) benutzen, bei der die Pins 1 von CPU und Busstecker „übereinander“ angeordnet sind. Befindet sich der Pin 1 der CPU jedoch oben rechts, müssen Sie, wenn der Busstecker „ATARI-konform“ nach hinten zeigen soll, das große Layout (Abb. 2a, b, c, d) verwenden, bei dem die Leitungen entsprechend gedreht sind. Falls der Prozessor (mit Pin 1 oben rechts) sehr weit hinten eingebaut ist, sollten Sie das kleine Layout verwenden und auf Erweiterungen, die Anschlüsse an der Rückseite des Rechners benötigen, verzichten. Allerdings könnte man auch mit 8 achtpoligen Flachbandkabeln, die man zuerst mit der Platine und dann mit einer 64poligen zweireihigen Stiftleiste verbindet, den Anschluß drehen und gleichzeitig dahin legen, wo man eine Karte einbauen kann. Bei der Höhe des Turmes ist noch zu beachten, daß der beim kleinen Layout (Abb. 1c, d) um 2.54mm zum Busstecker hin versetzte Prozessor das Abschirmblech nicht berührt! Bei dem großen Layout (Abb. 2c, d) ist der Prozessor um 2.54mm vom Busstecker weg versetzt.
Falls Sie bereits eine Erweiterung auf dem Prozessor aufgebaut haben, sollten Sie beachten, daß die Mega-Bus-Platine ganz unten eingesteckt wird, da Sie sonst Schwierigkeiten mit den Interrupts haben werden.
... ist auch nicht anders als im Mega ST. Um die Platine nicht zu groß werden zu lassen (schließlich sind die „kleinen“ STs innen nicht sehr geräumig), habe ich die zwei bereits oben erwähnten und beschriebenen TTL-ICs unter den Prozessor verlagert (Abb. 1c, 2c). Das heißt für Sie, wenn Sie auch die TTL-ICs sockeln wollen, daß Sie zwei Fassungen oder aber vier 32pol. SIL-Streifen unter den Prozessor bringen müssen. Allerdings passen dann einige Full-Size-Karten nicht mehr. Deshalb sollte man nach Möglichkeit das Sockeln der ICs lassen. Der Prozessor sollte auf jeden Fall mit einem Präzisionssockel oder SIL-Streifen mit Präzisionskontakten gesockelt werden. In die Hauptplatine sollte man unbedingt auch einen Präzisionssockel einlöten werden. Den alten Prozessor müssen Sie hierbei unbedingt entfernen, weil ein auf welche Art auch immer stillgelegter Prozessor die Signale auf den Daten- und Adreßbussen nur verzerrt und stört. Es gibt zwei Möglichkeiten, den Prozessor zu entfernen. Bei der ersten, brutalen, teureren, aber platinenschonenderen Methode werden die Pins des Prozessors mit einem feinen Seitenschneider abgekniffen und dann einzeln mit einer Pinzette ausgelötet. Für die zweite Methode benötigt man eine Einmalkanüle mit 0.9mm Durchmesser, die man in jeder Apotheke kaufen kann. Von dieser feilt man die Spitze ab und weitet das Loch mit einer Nadel, so daß man den ursprünglichen Durchmesser erhält. Dann saugt man mit einer Entlötpum-pe das meiste Lötzinn von den Pins und steckt die ehemalige Nadel auf. Dann dreht man die Nadel zwischen den Fingern und erwärmt das restliche Lötzinn an den Pins. Unter ständigem Drehen kann man die Nadel nun weiter auf den Pin schieben und dann den Lötkolben wegnehmen. Wenn man weiterdreht und wartet, bis das Lötzinn kalt ist, besteht so gut wie gar keine Verbindung mehr zwischen Pin und Platine. Dabei bleibt zwar der Prozessor heil, aber ob sich die Mehrarbeit bei einem Preis von rund DM 10 ,- für einen neuen Prozessor lohnt, sei dahingestellt. Sie haben die freie Wahl. Außerdem sollte man für die Verbindung von Hauptplatine zur Megabusplatine nur Präzisionsstiftreihen benutzen (Abb. 1d, 2d). Den Mehrpreis sollte man ruhig in Kauf nehmen, weil diese Stiftreihen und Fassungen eine sichere Kontaktgabe gewährleisten.
Der Anschluß des /BGO-Signals an den GLUE und die Mega-Bus-Platine kann mit einem einfachen Kabel erfolgen, welches allerdings nicht zu lang sein sollte, um Signalstörungen zu vermeiden. Außerdem sollten Sie, um die Stromversorgung der Hauptplatine für den Prozessor durch die TTL-ICs nicht zu überlasten, die zusätzlichen Stromversorgungspunkte auf der Mega-Bus-Karte anschließen. Besser wäre es jedoch, wenn Sie die stromsparenden und schnelleren 74HCXXX-Baustei-ne stattdessen verwenden würden, weil diese Kabelsalat ersparen und auch zuverlässiger sind. An die letzten beiden freien Anschlußpunkte kann man optional einen Schalter 1xEIN anschließen, der das/HALT-Signal des Pins 17 am Prozessor mit Masse verbindet und so den ganzen Computer anhält [3]. ln Verbindung mit einen Schlüsselschalter läßt sich so die unbefugte Benutzung des Computers verhindern. Die Layouts habe ich so gestaltet, daß man als Anschluß eine Schraubklemmenleiste im 5.08mm-Raster verwenden kann. Wenn Sie von oben auf die Platine sehen und dabei die Schraubklemmen zu Ihnen und der Prozessor von Ihnen weg zeigt, liegen die Signale von links nach rechts in folgender Reihenfolge an:
/BGO
-+5V
-Masse
-Masse
-/HALT
Die beiden 100nF Keramik-Abblockkondensatoren können auch mit SMD-Kon-densatoren der Bauform 1206 bestückt werden. Ich habe auf den Platinen Lötpunkte für zwei Rastermaße (2.54/ 5.08 mm) vorgesehen, damit man nicht auf spezielle Kondensatoren angewiesen ist. Nehmen Sie bitte flache Kondensatoren. Dabei sollten Sie aber darauf achten, daß es keine Kurzschlüsse gibt.
Bei der Bestückung der Platine fangen Sie am besten, wie allgemein üblich, mit den passiven Bauteilen, den Fassungen und Steckverbindungen, an, und gehen dann zu den Widerständen (1kΩ, Abb. 5) und Kondensatoren über. Danach kommen die TTL-ICs an die Reihe. Wenn Sie sich Ärger ersparen wollen, löten Sie zuerst die Stiftreihen, die auf der Lötseite bestückt werden, von der Bestückungsseite aus fest. Danach behindern diese Stiftreihen zwar beim weiteren Löten, aber Sie müssen sie nach dem Einsetzen der CPU-Fassung nicht auf der Lötseite festlöten. Die CPU-Fassung muß vor dem Einbau etwas bearbeitet werden. Brechen Sie die Kunststoffstege im Innern heraus, so daß sie zwei Sockelleisten erhalten. Wenn Sie SIL-Streifen als Prozessorfassung verwenden, ist dieses Vorgehen logischerweise nicht notwendig. Zum Schluß wird, wenn Sie die Stiftreihen an der Lötseite befestigt und den Sockel richtigherum in die Hauptplatine gelötet haben, der Prozessor (richtigherum natürlich) in seinen Sockel gedrückt und die Platine (auch richtigherum) in den Sockel auf der Hauptplatine gesteckt. Die auf der Platine gekennzeichneten Befestigungslöcher sollten Sie beim Mega-Bus-Stecker mit zwei Plastikröhrchen versehen, die auf der Hauptplatine aufliegen und die Mega-Bus-Platine abstützen, damit sie beim Einstecken einer Erweiterung nicht abbricht. Außerdem müssen Sie die Stützfüße von Erweiterungen etwas verlängern, weil die Originalstützfüße für die Mega-Bus-Platine zu kurz sind. Allerdings kann es Probleme bei der Beschaffung des Mega-Bus-Steckers geben. Ich persönlich habe bei dem Prototypen (auf Lochrasterplatine aufgebaut!) der Platine einen 64pol. Stecker der DIN-Norm 41612 (DM 4,-) umgebaut, bei dem die Reihen a und c bestückt waren. Ich habe die Reihe c entfernt und mit den Stiften die Reihe b bestückt. Allerdings kann man auch andere passende Stiftreihen verwenden. Dabei muß man allerdings auf die sichere Seitenführung von Originalstiftleisten verzichten.
Bevor Sie den Rechner einschalten, kontrollieren Sie auf jeden Fall noch einmal alle Lötstellen auf evtl. Kurzschlüsse oder Fehlkontakte. Danach sollten Sie beim ersten Startversuch noch keine Peripherie außer dem Monitor anschließen und den Rechner nicht wieder komplett verschließen. Wenn der Rechner nicht korrekt bootet, schalten Sie ihn sofort aus. Danach bauen Sie am besten die Mega-Bus-Karte aus und stecken den Prozessor in den Sockel auf der Hauptplatine. Wenn der Rechner dann korrekt bootet, ist auf der Karte ein Fehler vorhanden. Falls das nicht der Fall ist, haben Sie entweder einen defekten Prozessor oder irgendwo einen Kurzschluß auf einer der Platinen. Dagegen hilft nur eine Sichtkontrolle und/oder ein Ohmmeter. Wenn die Karte funktioniert, können Sie zum Test des Ganzen evtl, den I/O-Port aus der ST Computer 12/91 [4] nutzen. Wenn es Probleme gibt, sollten Sie zunächst einmal zwei bestimmte TTL-Chips auf der Platine austauschen [5]. Dies sind zwei 74LS373, die durch F-oder HCT-Typen ersetzt werden. Diese ICs sollten Sie übngens auch einbauen, wenn Sie bei einer Speichererweiterung Speicherchips verwenden wollen, die schneller als- 80ns (also 70/60ns) sind (Sockel nicht vergessen). Ist dieser Test erfolgreich verlaufen, kann man auch andere Prozessorbuserweiterungen einbauen. Allerdings kann man normalerweise auch auf diesen Test verzichten, wenn man ein sehr sicherer und erfahrener Elektroniker ist.
IC 1 | 68000 (mit Sockel) |
IC 2 | 74LS32 oder 74HC32 (s. Text) |
IC 3 | 74LS148 oder 74HC148 (s. Text) |
C1,C2 | 100nF, keramisch, >16V |
R1-R3 | 16kΩ, 1/4 Watt, Bauform 0207 oder ähnliche |
ST 1 | 64pol. Stiftleiste, zweireihig |
ST 2 | 5 pol. Schraubklemmen oder Stifte 5.08mm Raster |
ST 3 | 2x32pol. Präzisionsstiftreihen, 2.54mm Raster, möglichst vergoldet und eine Präzisionsfassung für die Hauptplatine |
Sonstiges: | Litze, Platine, Abstandsbolzen aus Plastik |
optional: | 1 Schalter 1xEIN 1 14pol. DIL-Fassung 1 16pol. DIL- Fassung 1 64pol. Präz.- Fassung oder 2 32pol. Präz.- SIL- Streifen |
Wenn Sie zu den „Selbstätzern“ gehören, müssen Sie beachten, daß bei den Layouts die Schrift auf beiden Seiten zu lesen sein muß. Bei der Lötseite ist das Layout spiegelverkehrt ausgedruckt (der Bestückungsplan der Lötseite übrigens auch). Die Bohrlöcher der Platinen (nur für die Pins) sind für 0,8mm ausgelegt [Ausnahme: die Stiftleiste (ST 2) ist für 1 mm Bohrdurchmesser und die Durchkontaktierungen sind für einen Durchmesser von 0.6mm ausgelegt.] Ich habe mich bemüht, möglichst wenig Durchkontaktierungen in die Platinen einzubauen, um die Chance zu verringern, daß durch fehlerhafte Durchkontaktierungen die Platine nicht funktioniert. Man verliert nicht nur die Lust an der Elektronikbastelei, wenn man stundenlang nach einen Fehler sucht, auch die Wahrscheinlichkeit, das ein Fehler auftritt, sinkt rapide, wenn möglichst wenige Verbindungen hergestellt werden müssen. Allerdings müssen Sie alle Bohrlöcher mit Ausnahme der großen Löcher für die Stützfüße, die eigentlich nur als Orientierungshilfe gedacht sind und deshalb nicht absolut genau mit dem auf der Platine angegebenen Durchmesser gebohrt werden müssen, durchkontaktieren, wenn Sie vermeiden wollen, daß Sie alle Bauteile beidseitig festlöten müssen. Das dürfte allerspätestens bei den Widerständen und Fassungen Probleme geben. Hiermit haben Sie nun auch die Erklärung für die etwas umständliche Leiterbahnführung in den Layouts. Ich wollte einfach nur die Anzahl der Durchkontaktierungen so gering wie nur irgend möglich halten. Der Preis der Platine(n) steht noch nicht fest. Sie werden bei der Firma Hobmeier Elektronik erhältlich sein (Adresse siehe unten).
Abb.3: Blockschaltbild vom Mega-Bus
Falls jemand Interesse hat, die HPGL-, die Gerber-Plotter- oder Excellon-Bohrstationendaten einer der Platinen einzusetzen, werde ich diese, gegen Einsendung einer Diskette und eines ausreichend frankierten Rückumschlages an untenstehende Adresse, erstellen. Bitte schreiben Sie Ihre Adresse und die Platinennummer auf die Disk. Bei HPGL-und Gerberdateien benötige ich die Geschwindigkeiten und die Stiftoder Blendendaten, um einen möglichst feinen Ausdruck zu erhalten. Beim Plotter sollte die Stiftbreite 0.25mm nach Möglichkeit nicht überschreiten, da sonst einige der feinen Verbindungen nicht mehr sauber genug und mit genügend Abstand zu den Lötaugen und Durchkontaktierungen gezeichnet werden können (die Beschriftung dürfte dann auch unleserlich werden).
Falls Sie Fragen haben, stellen Sie diese bitte schriftlich. Das Telefon sollte nur in Notfällen benutzt werden. Erreichbar bin ich gewöhnlich ab 16 Uhr bis 20 Uhr, außer Sonntags. Meine Adresse lautet:
Uwe Zeppei
Zu den Hegebergen 9
W-3002 Wedemark 1 O.T. Brelingen
Die Platinen und Layouts dürfen nur für den eigenen Gebrauch hergestellt werden. Jegliche gewerbliche Nutzung benötigt die schriftliche Genehmigung des Autors.
Uwe Zeppei
Abb.4: Belegung der CPU und des Mega-Busses
Abb.5: So wird die Drahtbrücke gelegt
Bezugsquelle für Platinen:
Hobmeier Elektronik
Schlenkhoffweg 27 W-4720 Beckum
Literaturverzeichnis:
[1] Schaltpläne ATARI 1040 STFM und ATARI Mega ST4
[2] ST-Computer Extra 3 1990
[3] ST-Computer 6/1990 (Quicktips)
[4] ST-Computer 12/1991 & ST-Computer 2/1992
[5] ST-Computer 3/1991 (Quicktips)