15.6.1 Romportbuffer ROMPORT-Expander/Buffer für alle Atari-Computer mit ST
kompatiblem ROMPORT
Wer seinen Atari am Romport erweitern möchte, sollte sich im klaren sein das dieser Port mit abstand der teuerste Port von allen ist. Eine Bastelei kann unter umständen den ganzen Rechner zerstören, die Hersteller von Computern sparen eben auch manchmal an der falschen Stelle. Hier währe es angebracht gewesen sämtliche Leitungen
dieses Ports über Treiberbausteine der Außenwelt zur
verfügung zu stellen. So daß eben der empfindliche CPU-Bus
geschützt wird, auch eine überlastung dieses Ports durch die
Entnahme grösserer Signalleistungen wird mit
Rechnerabstürtzen oder auch mit Hardwaredefekten geahndet.
Man hätte ja auch aus Sinclair oder aus C64 Zeiten etwas
lernen können.
Wer also unbedingt am Romport 'bauen' will sollte sich den Romportbuffer aus der c't besorgen. Abbildung 1 - c't Romportbuffer
Wie klein diese Bufferplatine ist lässt sich erahnen wenn man
sieht das diese Platine nicht breiter als der Anschlußstecker
ist.
Abbildung 2 - Romportbuffer, stehend auf dem Stecker
Diese wirklich sehr kleine Erweiterung passt sogar fast unsichtbar
in die Gehäuseaussparung des Originalgehäuses. Erreicht
wurde diese Kompaktheit durch Verwendung einer doppelseitigen Platine
und einer vollständigen SMD-Bestückung.
Sichergestellt wird dadurch das sämtliche Address- sowie Datenleitungen gepuffert werden. Nicht aber die +5V Versorgung! Diese ist lediglich im Falcon über die Sicherung F2 mit 0.5-1 Amp geschützt! Die Platine gab es bei Issendorf Computer 3 Hannover 1 0551/3504500 oder direkt bei E_Media (c't) Die Lieferzeit war sehr kurz (UPS), ca.2 Tage. Man konnte die Platine fertig bekommen oder aber als Bausatz. Die Bausatzlösung ist allerdings wirklich nur den Vollprofis zu empfehlen, wer lötet schon gerne SMD-Bausteine mit der Hand ?? Die Bestückung ist noch relativ einfach, da die Platine mit einem Lötstoplack behandelt ist, sicherlich wird man bei der Bestückung mit den Kondensatoren anfangen. Das ist eine gut Übung mit ausserdem nur zwei Lötstellen pro Bauteil. Die Treiberbausteine (HCT 245) sollte man sich genau betrachten, durch den Transport könnten sich die winzigen Beinchen etwas verbogen haben. Nach der Kontrolle mit einer feinen Pinzette kann man eigentlich mit der Löterei beginnen. Man sollte einen wirklich sehr feinen Lötkolben benutzen, eine Leistung von 5 - 8 Watt und eine sehr feine Spitze sind aussreichend. Die Bausteine kann man zur besseren Arretierung auf der Platine mit Lötpaste (Kein Säurehaltiges Lötfett verwenden !!!) aufkleben. diese Paste gibt es extra für SMD-Bausteine. Ausserdem sorgt diese Paste dafür das das Lötzinn nur dahin läuft wo es auch gebraucht wird. Vieleicht lötet man an dem entsprechenden Bauteil erst mal nur ein Bein fest um dann noch mal den Sitz des Bauteiles zu kontrollieren. Die Lötungen müssen absolut schnell und sauber
ausgeführt werden. Sollte das Lötzinn zwischen die Beinchen
laufen kann man die Platine am besten gleich aussondern. Nicht das
Lötzinn wegblasen! Mit einer Lötpumpe kann man versuchen der
Lötzinn wegzusaugen und mit einen guten Lupe später
Kontrollieren.
Das anlöten der Stiftleiste sollte kein Problem darstellen,
hier sind die Lötstellen die grössten auf der ganzen
Platine.
Mittlerweile gibt es auch Experimentierplatinen die dem
Rastermaß des Romport's entsprechen.
(Völkner-/Bühler-Elektronik) Man könnte sich hier auch
diese Schaltung selber mit 'normalen' Bausteinen aufbauen, sicherlich
ist dann alles etwas grösser und ragt aus der
Gehäuseaussparung weit raus. Wer aber sowieso seinen Rechner in
ein PC oder Towergehäuse umgebaut hat dem dürfte das Egal
sein.
Zu dem Romportbuffer gehört noch ein Expander der gleich zwei
Romports zur Verfügung stellt. (Gleiche Lieferfirma) Diese Ports
können manuell über einen Taster oder auch mit einem
Software Basic-Einzeiler umgeschaltet werden. Auch ist es so
möglich den Expander völlig unsichtbar für den Rechner
abzuschalten. Welcher der beiden Ports gerade Aktiv ist wird mit
jeweils einer Leuchtdiode angezeigt. Die Leuchtdioden sollte man schon
sichtbar anbringen.
Abbildung 3 - Buffer und Romportexpander
Wenn der Expander eingebaut wird kann man den Taster mit zwei
Drähten verlängern, so daß er von ausserhalb des
Rechnergehäuses leicht bedient werden kann.
Sollte jemand mehr als zwei Ports benötigen ist eine
Erweiterung mit einem weiteren Expander vorgesehen, es stehen dann
vier Romslots zur freien Verfügung. An dem Expander kann jede
gängige Romporterweiterung betrieben werden ohne das ständig
Umgesteckt werden müsste. Mit der Elektronisch gelösten
Umschaltung ist immer nur die gerade selektierte Karte für den
Rechner 'vorhanden', die anderen sind Ausgeblendet und somit
Unsichtbar für den Rechner. Sicherlich ist das für die
Verwendung von Epromkarten sehr brauchbar da man eben mal schnell auf
die zweite Karte umschalten kann. Vorher musste man dazu eben den
Rechner abschalten und die entsprechenden Karten oder Dongles wechseln
um dann erneut zu booten. Es soll nicht verschwiegen werden das es
Karten gibt die nur nach einen neuerlichen Bootvorgang am Falcon
erkannt werden!
Abbildung 4 - Port A des Romportexpanders
Die Verbindungsleitung (40 Polig) zwischen dem Buffer und dem
Expander kann man sich üblicherweise mit Falchbandkabel selbst
Herstellen. Benötigt wird 40 poliges Flachbandkabel und die
erforderlichen Stecker zum Aufquetschen (Schneidklemmtechnik) Da die
Platine des Buffers sowie die Platine des Expanders aussreichend
beschriftet wurden kann ja jeder selber darauf achten das die
Verbindungsleitung richtig eingesteckt wird.
Abbildung 5 - Romportbuffer mit Flachbandkabel zum Buffer
Normalerweise kann die länge der Leitung bis zu 1 Meter
betragen, da aber die meisten sicherlich diese Lösung innerhalb
eines Gehäuseumbau benutzen macht man das Kabel am besten nur so
lange wie es eben gerade reicht. Je länger das Kabel desto
größer die Störanfälligkeit. Selbst mit Buffer
verlängert man hier ja den gesammten Rechnerbus.
Wenn der Expander an einem Originalgehäuse Verwendung findet
sollte man sich ein schönes Gehäuse für den Expander
besorgen. Es ist einfach sicherer solche Dinge dann in ein
Gehäuse einzubauen. Erstens sieht es besser aus, zweitens kann
nichts draufallen und es fingert keiner daran herrum.
Zu Beachten währe noch das die Platine des Buffers nicht
versehentlich falsch herrum in den Rechner eingesteckt wird, die Seite
mit dem einzigen kleineren Chip ist die Seite die von oben zu sehen
sein sollte. Ausserdem ist die Oberseite eben mit 'OBEN'
beschriftet.... Sollte die Platine dennoch falsch herum eingesteckt
werden liegt an allen auf der Platine befindlichen Chip's die
Versorgungsspannung falsch an, was das bedeutet kann sich ja jeder
selber Ausrechnen. Die Beschreibung eines solchen Desaster erspare ich
mir. Das gleiche gilt für direkt eingesteckte
Romport-Erweiterungen wie Scanner-Interfaces, Digitizer und
ähnlichem.
Der Buffer kann in jedem Fall immer im Rechner stecken bleiben, eine Unverträglichkeit mit Software oder auch Dongels (Kopierschutzmodule) die ebenfalls auf den Expander gesteckt werden können, ist mir bis heute nicht bekannt.
Die Symtome:
Lange Programme die in Eproms gebrannt wurden lassen sich nicht
laden oder der Rechner hängt sich beim Zugriff auf eine der
eingesteckten Karte auf. Oder aber auch verschiedene
Systemfehlermeldungen auftauchen. Also z.B auch 2-6 Smilies. (Bomben,
Pilze) :-)
Es handelt sich dabei um ein Timing-Problem auf dem Systembus,
entweder ist das Kabel zwischen Buffer und dem Expander zu lang oder
die Treiberbausteine auf dem Romport-Buffer sind anfällig gegen
Störstrahlungen anderer Bauteile oder Geräte die sich in der
Nähe befinden.
Beim Falcon läuft das Timing am Romport mit 16Mhz!
Eine zu schwache Spannungsversorgung des Rechners kann oder ist
die erste Schwachstelle im System, man sollte auf der Expanderkarte
mindestens *genau* +5V DC messen können. Das macht man am besten
mit einem Oszilloskop, da man dort auch genau die
Spannungseinbrüche bei einem Speicherzugriff bewundern kann. Wenn
das Oszi angeschlossen ist, sollte man den Rechner auch ruhig mal was
tun lassen, also einen Zugriff auf die Speicher der Epromkarte oder
sowas in der Richtung. Durch lange und dünne Verbindungskabel,
besonders bei der Stromversorgung, können Spannungseinbrüche
entstehen, trotz einem 200 Watt Tower-Schaltnetzteil!
Die Hauptursache lag hier in der Hauptsache bei älteren STs
an zu dünnen Leiterbahnen innerhalb des Computers.
Der Expander und die darin eingesteckten Karten werden ebenfalls
über das lange Falchbandkabel mit Strom versorgt.
So kann es bei einem Lesezugriff auf der Epromkarte eben passieren
das die Spannung kurzzeitig Zusammenbricht und der Rechner nicht
weiß was er machen soll. Die Folge sind verschiedene Fehler.
Eine erste Hilfestellung ist das Anbringen von stärkeren
Verbindungen für die Stromversorgung. Man kann hier die
Versorgung über den Romport umgehen in dem man dem Expander
seinen eigenen Anschluß an das Netzteil gönnt. Der Buffer
wird weiterhin über den Romport versorgt. Man kann das mit einer
Diode in der +5V-Leitung regeln. Besser ist es jedoch wenn die +5 Volt
zwischen Expander und Buffer getrennt wird. GND kann erhalten bleiben.
Das ist die sicherste Methode.
Auf der Expanderplatine befindet sich ein Tantal-Elko 10uF/25Volt,
diesen tauscht man bei Versorgungschwierigkeiten am besten gegen einen
Elko der Grösse 100 oder 220uF/25 Volt aus!
Sicherlich liegt es auch in vielen Fällen an den verwendeten
Eproms. Die schnellsten sind mit Sicherheit auch die die am besten
Funktionieren werden. Die Zugriffszeit der Eproms sollte nicht
über 170nS liegen, mit Eproms die eine Zugriffszeit von 200nS
besitzen kann man zwar Versuche machen, man wird aber auf keinen
grünen Zweig kommen. 120 oder 150nS kosten ca. 6 DM pro
Stück, also keine grosse Ausgabe.
Sollte das bis hier alles nichts gebracht haben gibt es noch
weitere Tricks. Der nächste Schritt ist weniger schön,
Funktioniert aber meistens. Alle ICs die sich auf der Platine befinden
werden an ihren Versorgungspins 7+14 mit einen 100nF Kondensator
direkt überbrückt. Eventuell auch unter den Eproms auf der
Epromkarte, das sind ja die größten Stromsauger. Diese
winzigen Kondensatoren blocken die Betriebsspannung zusätzlich
etwas ab und Filtern auch einiges andere aus der Versorgungsspannung.
Meiner Meinung nach ein kleines Versäumniss der Hersteller.
In vielen Fällen werden sich dann alle Programme schnell und
sicher auch von einer Epromkarte laden lassen die nicht direkt am
Romport angesteckt wurde. Die Eproms und die Umschaltlogik bekommen
dadurch etwas mehr Luft und die Timingprobleme sollten dann der
Vergangenheit angehören.
Man kann vorher selbstverständlich auch noch das
Flachbandkabel zwischen Buffer und Expander auf exakt die
benötigte länge abschneiden, das wirkt auch meist schon
Wunder. Je länger das Kabel, desto anfälliger ist die Sache
gegen Störungen! Also ganz Entgegen der Behauptung aus der c't,
es würde mit Kabel bis zu 2m länge sehr gut Funktionieren.
Das Timing auf dem Bus ist Problematisch! Und das bleibt es auch,
selbst mit dem Romportbuffer.
Rombelegung des alten Atari ST ______________________________ U =Alte Bezeichnung L= Neue Bezeichnung **** U2/H2 ******** U3/H1 ******** U4/H0 **** U5/L2 U6/L1 U7/L0 .............................................. $FE0000 $FD0000 $FC0000 BIS BIS BIS $FEFFFF $FDFFFF $FCFFFF Hierzu die verschiedenen ROM/Eproms in Atari Computern: _______________________________________________________ TOS 1.0 to 1.4 are 192k (196608 bytes) TOS 1.06 and 1.62 are 256k (262144 bytes) TOS 2.x and 3.x are 512k (524288 bytes) TOS 4.x are 512K 0.xx 32k / 2 Roms 28p (Bootrom 520ST) 1.00 192k / 6 Roms 28p 1.02 192k / 2 Roms 28p 1.04 192k / 2 Roms 28p 1.06 192k / 2 Roms 28p 1.062 192k / 2 Roms 28p 2.06 256k / 2 Roms 32p 3.0x 512k / 4 Roms 32p (TT only) 4.0x 512k / 1 Rom PLCC 44p (Falcon only) Die Pinbelegung des 40 poligen Romport aus der Dokumentation der alten STs: ___________________________________________________________________________ Pin Signal Pin Signal 1= +5V o o 2= +5V über Sicherung F2 0.5-1Amp !! 3= D14 o o 4= D15 5= D12 o o 6= D13 7= D10 o o 8= D11 9= D8 o o 10= D9 11= D6 o o 12= D7 13= D4 o o 14= D5 15= D2 o o 16= D3 17= D0 o o 18= D1 19= A13 o o 20= A15 21= A8 o o 22= A14 23= A7 o o 24= A9 25= A6 o o 26= A10 27= A5 o o 28= A12 29= A11 o o 30= A4 31= ROM 3 o o 32= A3 33= ROM 4 o o 34= A2 35= UDS o o 36= A1 37= LDS o o 38= GND 39= GND o o 40= GND Der Falcon-Romport ist voll kompatibel zu dem des alten ST.
Pysikalisch werden die Cardridges, Epromkarten ect. über einen
sog. 40 poligen Cardridge S Connector mit dem Rechner verbunden. Die
Adressen liegen 128Kb breit von 0x00FA0000 bis 0x00FBFFFF
Betrachtet man den Falcon auf den Romport gesehen befindet sich
Pin 1 rechts auf der Platinenoberseite!
Niemals Karten falsch herrum in den Rechner einstecken!
Es ist leicht möglich das alte ST-Software wegen des
wesentlich schelleren Timings des Falcons nicht korrekt auf die
angesteckte Hardware zugreifen kann. Hierzu müsste in allen
Fällen die Software an den Falcon angepasst werden. Alle
Steuersignale werden im Falcon vom COMBEL-Chip erzeugt.
Ursprung in 1990 (c) R.Schaffner
V0.1 Michael Kugelmann MK940801
Diese Beschreibung darf nur unverändert und komplett mit den
dazuge- hörigen Layouts weitergegeben werden. Eine kommerziele
Verwendung des Layouts ist nicht gestattet. Die Verbreitung darf nur
auf kostenlosem Wege geschehe (Mailboxen, Anonymous FTP, FSP, ...),
eine Verbreitung durch kommerzielle PD-Vertreiber ist
ausdrücklich nicht gestattet. Die Schaltung und große Teile
der Layouts stammt aus den Zeit- schriften c't und elrad. Eine
Gebühr für die Benutzung der Layouts oder der Anleitung wird
von mir nicht erhoben, Spenden werden aber angenommen. Möchte
jemand Auszüge aus den Layouts oder den Anleitungen
weiterverwenden (Zitate, Beilage in anderen Archiven, etc.), so ist
vorher meine ausdrückliche Zustimmung einzuholen. Eventuelle
Rechte von Dritten an den verwendeten Schaltungen und Ver- fahren,
etc. sind zu beachten.
Die verwendeten geschützten Namen, Bezeichnungen, Logo's oder
ähnli- ches sind Eigentum der entsprechenden Rechte-Inhaber.
Die Layouts ect befinden sich daher im entsprechenden Ordner
innerhalb dieses Archivs.
Haftung(sauschluss)
Zweck der Platine
Zugrundeliegende Literatur
a) Alle unbenutzten Eingänge der IC's wurden irgendwo
angeschlossen. Dies sollte bei jedem "professionellen"
Design so gemacht werden! Bei TTL-IC's ist die nicht unbedingt
notwendig, bei CMOS aber absolut!! (Normalerweise Anschluß an
Vcc oder GND, nur im Notfall auch an ein Logik-Signal)
b) Die Breite der Platine wurde geringfügig verkleinert.
c) Die Plazierungen der Vias (= Durchkontaktierungen ;-) ) wurde
etwas verschoben. Generell wurde das Layout neu gezeichnet, wobei ich
mich relativ genau an das Origiallayout gehalten habe.
a) eine dünne Lötspitze !!!
b) IC plazieren und an einem Eck-Pin ohne Zugabe von Lötzinn
"kalt" festlöten. Dazu sollte an der Lötspite
ausreichend Lötzinn vor- handen sein. Das IC wird nun (bei
Bedarf) noch einmal etwas aus- gerichtet und das
gegenüberliegende Eck festgelötet. Abschliessend werden alle
Pins festgelötet, auch noch einmal die vom fixieren. Ich empfehle
für Rechtshändler im Gegenuhrzeiger-Richtung zu arbeiten.
c) SMD-Kondensatoren mit einer Pinzette auf den Pads halten und
auf einer Seite mit dem Lötkolben fixieren. Dann 2. Seite fest-
löten und 1. Seite nachlöten.
d) Auf die Ausrichung der IC's achten !!! (Abgeschrägte
Seite: Pin1)
e) Beim SMD-Löten nicht gleich die Panik kriegen, wenn 2 Pins
mit Zinn verbunden sind: mit Entlötlitze läßt sich das
überschüssige Zinn gut absaugen.
f) Die von c't vorgeschlagene Verwendung von VIEL Flußmitte
ist IMO nicht notwendig: Modernes Lot hat schon eine Seele mit
Flußmittel, die Menge ist absolut ausreichend. Hilfreich ist
aber die Ver- wendung von Lötlack (Spray), verzinnen der Platine
schadet nicht.
g) Eine Reinigung der Platine vom Flußmittel nach Beendigung
der Lötarbeiten ist durchaus sinnvoll.
a) Epoxyd-Platinen sind mechansch stabiler und die PAD's
lösen sich beim Löten nicht so schnell vom Basismaterial ab,
wie bei Pertinax.
b) SMD-IC's sind inzwischen recht gut zu erhalten. Die von c't
vor- geschlagenen ALS-Typen sind aber weiterhin schwer(er) zu
erhalten. Ich empfehle als Alternative LS-Typen. Die 645 sind
ebenfalls nicht überall zu erhalten; die (guten alten) 245er tun
es bei mir auch (sehr) gut. CMOS hier aber bitte vermeiden (kein HCT,
...). Der 74xx08 ist völlig unkritisch, ein HCT tut's auch.
c) Bei TTL-Schaltungen keine HC, AC, ... Typen verwenden, immer
die HCT, ACT, etc. Grund: Die HC haben CMOS-Eingangspegel, die HCT
haben dagegen TTL-Eingangspegel!!!
d) Ich EMPFEHLE, auf den Puffer-Platinen den Pin1 mit dem Pin2,
sowie Pin39 mit dem Pin38 und Pin40 zu verbinden. Dazu einfach in die
dicken Leiterbahnen in der Nähe des Ausgangs eine Durchkon-
taktierung setzen (Verbindung von VCC bzw. GND von der Ober- und der
Unterseite). Verbindung erfolgt ansonst nur/erst im Rechner.
Beide Platinen sind von mir getestet. Bei mir sind (waren) schon
ver- schiedene Treiber im Einsatz (gewesen): 74F245, 74LS245, auch mit
74HCT245 problemlos (empfehle ich aber trotzdem generell zum Treiben
von Kabeln nicht: zu steile Flanken -> Reflexionen,
Übersprechen). Beim AND-Gatter (74xx08) verwende ich
normalerweise einen HCT-Typ. Die Kabellänge (Flachband)
beträgt (bei mir) ca. 50cm.
[2] elrad 3/89, Seiten 53 + 85 , ???: Kleine Chips - große
Wirkung Heise Verlag
[3] Jankowski/Rabich/Reschke: Atari-Profibuch Sybex-Verlag
[4] Atari: Schaltpläne zu den Rechnern der ST-Reihe
Verlag Heinz Heise GmbH & Co KG Redaktion c't
Bitte bei Anrufen an die in der neuesten Ausgabe angegebenen
Leser-Sprechzeiten halten (stehen im Impressum)
Bestell-Modus jeweils aus der neuesten c't in den Anzeigen von
eMedia entnehmen; es gibt auch hier Sprechstunden (Zeit)
email: Michael.Kugelmann@studbox.uni-stuttgart.de
Copyright © Robert Schaffner (doit@doitarchive.de) Letzte Aktualisierung am 23. Mai 2004 |