Home Atari, Mac und PC seriell Second serial port RSFI
 

15.3.6 ESCC


Projekt ST_ESCC


Es werden zwei zusätzliche serielle Schnittstellen im Atari ST/STE/MegaST installiert, die auch für höhere Baudraten geeignet sind. Der ESCC (EnhancedSCC) Z85230 wurde gewählt, da er

- 8 Byte Empfangspuffer und 4 Byte Sendepuffer besitzt
- vektorisierte Interrupts erzeugt
- zwei serielle Schnittstellen enthält
- kompatibel zum im MegaSTE/TT/Falcon eingesetzten SCC ist

Der Einbau soll mit möglichst wenigen Verbindungen zum Computer erfolgen. Ein Aufsetzen auf die CPU schied aus mehreren Gründen aus. Damit war klar, daß der ESCC nicht auf der gleichen Adresse wie der SCC im MegaSTE liegen wird. Für eine MegaSTE-Kompatibilität hätte mindestens noch ein anderes Register simuliert werden müssen, was eventuell Ärger mit Beschleunigern erzeugt hätte. Der MFP erschien mir passend. Da ich ohnehin einen neuen Software-Treiber für serielle Schnittstellen schreibe und sehr für ein hardwareunabhängiges Softwareinterface zu diesen Schnittstellen bin, sehe ich die MegaSTE-Inkompatibilität nicht als Nachteil. Die Hardware wird hier genau beschrieben, da dies ein Bastelanleitung ist. In eigenen Programmen sollte man anstelle dieses Wissens den Software-Treiber benutzen. Ist dies unmöglich, da der Treiber die gewünschte Funktion nicht bietet, sollte man seine Software in Treiber und Hauptprogramm aufteilen und das Interface dokumentieren, um auch den Besitzern andere Hardware die Nutzung zu ermöglichen.

Eine ST_ESCC-Version, die zusätzlich über einen I2C-Controller verfügt, ist fast fertig. Die Platine (42mm*60mm) liegt schon bei mir, es fehlen aber noch ein Bauteil, die Logikgleichungen und der Testlauf.



Copyright und fertige Versionen

ST_ESCC darf für den Eigenbedarf gebaut werden. Gegen den Aufbau für gute Freunde habe ich ebenfalls nichts. Eine kommerzielle Fertigung oder Verwertung ist nur mit meiner schriftlichen Zustimmung erlaubt. Das Erstellen einer mailboxversandfähigen Version der Dokumentation war mit einem nicht unerheblichen Zeitaufwand verbunden.

Dieses Paket darf unverändert frei weitergegeben werden. Wenn jemand Änderungen hinzufügen will, so muß er diese eindeutig als Änderung bzw. Ergänzung kennzeichnen. Eine Übersetzung in andere Sprachen ist ausdrücklich erwünscht. Das deutsche Original muß aber mit im Paket verbleiben.

Ich glaube nicht, daß es viele Bastler geben wird, die sich nach dieser Anleitung die Platinen selbst machen oder frei verdrahten. Die Platinen sind aber nicht zur Verhinderung des Selbstbaus zweiseitig durchkontaktiert und mit einigen SMDs bestückt, sondern um durch eine geringe Größe den Einbau zu vereinfachen. Wer dennoch alles selbst macht, sollte sich doch mit einer kleinen Spende (ich nenne es absichtlich nicht Sharewarebeitrag) erkenntlich zeigen.

Einen Bausatz mit allen Bauteilen werde ich wahrscheinlich nicht anbieten, es ist zu aufwendig, das SMD-Zeug einzutüten.

Es gibt bei mir:
- den komplett aufgebauten ST_ESCC (ohne Pegelwandler)
- die komplette Pegelwandlerplatine für RS232
- die Platinen für ST_ESCC und Pegelwandler (zweiseitig
durchkontaktiert, logischerweise gebohrt, verzinnt)
- den Z85230-16PSC
- das GAL20v8 programmiert
- den Quarzoszi 14.7456MHz in SG636 Preise auf Anfrage.

Ich habe diese Bauanleitung sorgfältig überprüft. Ich hafte in keiner Weise für eventuelle Fehler und/oder (daraus resultierende) Beschädigungen irgendwelcher Objekte oder Subjekte, oder für die Verwendbarkeit zu einem bestimmten Zweck.

In diesem Paket sind alle Informationen zu ST_ESCC enthalten. Außer dem Layout als Scooter-PCB-Datei habe ich auch nicht mehr. Schriftliche Anfragen werden nur beantwortet, wenn ein frankierter Rückumschlag (o.ä.) beiliegt.

Email-Anschrift:
im Mausnetz: Harun Scheutzow @B
aus dem Internet: Harun_Scheutzow@B.maus.de
Postanschrift:
Harun Scheutzow
Dresdener Straße 83
10179 Berlin



Inhalt

Das Paket enthält die Dateien:

STESCC.TXT Bauanleitung
STESCC.JED JEDEC-File für das GAL
ESCC*.IMG Bilder zur ST_ESCC-Platine
148X*.IMG Bilder zur Pegelwandlerplatine
*_USG.IMG Unterseite, Sicht auf Unterseite
*_OS.IMG Oberseite
*_BO.IMG Bestückungsplan Oberseite
*_BUG.IMG Bestückungsplan Unterseite, Sicht auf Unterseite
Alle *.IMG sind 300dpi monochrom GEM-IMG-Dateien.

Zusätzlich ist noch Software enthalten. Es sollte mindestens eine Datei HSMOD*.TXT auftauchen, in der alles weitere beschrieben ist.



Software

Es gibt von mir einen Treiber, der ähnlich wie HSMODEM1 für MODEM1 diese zusätzlichen Schnittstellen ansprechen wird. Das Treiberpaket wird als HSMOD*.* in Mailboxen herumliegen. Bei der Erstveröffentlichung von ST_ESCC ist der Treiber noch nicht komplett und als Testversion anzusehen.

Der Treiber ermöglicht es, diese beiden seriellen Schnittstellen als MODEM2 und SERIAL2 anzusprechen. Er wird auch in einer angepaßten Version für MegaSTE, TT und Falcon verfügbar sein. In der endgültigen Ausstattung ist er ein wirklich hardwareunabhängiges Softwareinterface, so daß ein Programm, das diesen Treiber nutzt, ohne Änderungen mit ST_ESCC und z.B. auf dem Falcon laufen wird.

Weitere Informationen sind in den Textfiles des Treibers enthalten.



Design

MC68901, interessante Signale
-----------------------------
(Pinbelegung für 48poliges DIL-Gehäuse)
Name    Pin      Dir.   Beschreibung
D7..D0  44..37   I/O/T  Datenbus
A5..A1  6..2     I      Adreßbus
RWL     1        I      Read=H, Write=L
IRQL    32       O-oC   L für Interruptanmeldung
CSL     48       I      L-aktives ChipSelect
DSL     47       I      L-aktives DataSelect (von CPU)
                        L bei Zugriff und bei Interruptantwort
DTACKL  46       O-oC   L-aktive Rückmeldung nach Daten/Vektortransfer
IACKL   45       I      L wenn CPU Interruptvektor lesen will
VCC     11       x      Versorgungsspannung
GND     36       x      Masse
CLK     35       I      Systemtakt
IEIL    34       I      L wenn kein höheres Gerät Interrupt anmelden will
                        immer L im ST
IEOL    33       O      L wenn IEIL =L und MFP keinen Interrupt melden will
                        unbenutzt im ST
RESETL  21       I      L für Reset


Der MFP im ST wird im Bereich $FFFFFA01..$FFFFFA3F angesprochen, der zweite MFP im TT bei $FFFFFA81..$FFFFFAAF. Die Datenleitungen sind mit D7..D0 der CPU verbunden, passend zur Übertragung von Interruptvektoren. Der MFP hat nur bei $FFFFFA01..$FFFFFA2F Register, für den leeren Bereich von $FFFFFA31..$FFFFFA3F, 8 Adressen, gibt er trotzdem ein DTACKL und aktiviert beim Lesen wahrscheinlich seine Datenleitungen.

Da DSL extra vorhanden ist, wird CSL des MFP wahrscheinlich nur aus den Adressen und evtl. AdressStrobe erzeugt.

Die CSL-Leitung zum MFP wird aufgetrennt, OCSL kommt von der Computerplatine, und NCSL geht dann zum MFP. NCSL wird aktiviert, wenn OCSL =L ist und auf A5..A1 die Werte $0..$17 anliegen. Für OCSL =L und A5..A1 =$18..$1F wird die Erweiterung (CEL) aktiviert. Der ESCC wird bei $18..$1B aktiviert, die zwei Datenausgänge des GALs bei $1C..$1F.

Der MFP legt bei IACKL =L den Vektor auf den Bus, unabhängig von RWL. CSL wird dabei nicht bedient (Motorola sagt: IACKL und CSL should not be asserted simultaneously).

Der SCC legt den Vektor nur bei INTACKL =L und RDL =L auf den Bus, wobei RDL auch noch gegenüber INTACKL verzögert sein muß, 150ns bei 8MHz, für externe _und_ SCC-intere Prioritätsketten. Die gewählte Verzögerung wird im GAL aus dem 4MHz-Takt (CLK) des MFP abgeleitet und beträgt 250..500ns.

Die Interrupts des SCC werden wie die des MFP an die CPU mit Level6 gemeldet. Der SCC könnte dabei höher oder niedriger priorisiert werden als der MFP. Für niedrigere Priorität spricht der Empfangspuffer des SCC und der fehlende Empfangspuffer des MFP, außerdem wird eine Pin/Leiterzugtrennung gespart. Der SCC meldet seinen Interrupt über seinen oC-Ausgang INTL, der parallel zu IRQL des MFP geschaltet wird. MFP und SCC verstehen Interruptproritätsketten, die aber sehr gegensätzlich realisiert sind.

Der MFP aktiviert seinen IRQL-Ausgang immer wenn er einen Interrupt melden will und läßt ihn so lange aktiv, bis im MFP kein Interrupt mehr ansteht, unabhängig vom Pegel auf IEIL. IEIL des höchstpriorisierten MFP liegt fest auf aktiv, aber der IEOL Ausgang jedes MFP ist im Ruhezustand inaktiv. Erst wenn das IACKL-Signal aktiv wird, IEIL aktiv ist und der MFP selbst keinen Interrupt angemeldet hat, aktiviert er sein IEOL. Er antwortet selbst auf einen Interrupt (mit Vektor und DTACKL aktiv), wenn IACKL und IEIL aktiv sind. Durch diese Realisierung sind Laufzeiten in der Interruptprioritätskette unwesentlich.

Der SCC hingegen aktiviert seinen INTL-Ausgang nur, wenn IEI aktiv ist. Sein IEO hält er aktiv, wenn er nicht gerade selbst einen Interrupt anmelden will. Die Prioritätsermittlung erfolgt erst mit Aktivierung von INTACKL, so daß das RDL-Signal genügend verzögert werden muß. RDL darf erst nach Einschwingen der Prioritätskette aktiv werden.

Da beim Anschalten von /IEOL des MFP (negiert) an IEI des SCC der SCC nie sein INTL aktivieren würde, wird auf diese Verschaltung verzichtet und IEI des SCC ständig aktiviert. Stattdessen wird das MFP-Verhalten nachgebildet, indem nur dann das RDL-Signal (und dann auch DTACKL) für den SCC aktiviert wird, wenn IEOL des MFP und IACKL aktiv sind.

Die Steuersignale des SCC werden aus RWL, DSL, OCSL, A1, A2 und IACKL erzeugt. DTACKL wird nach Ablauf der Zugriffszeit (evtl. früher) des SCC gemeldet, bei Zugriffen und beim Interruptvektorlesen. Ein Zugriff auf den SCC beginnt erst nach Ablauf der Erholzeit vom vorigen Zugriff.

Der SCC muß nicht mit CEL vor RDL oder WRL betrieben werden, sondern es kann auch problemlos umgedreht werden sagen AMD und ZILOG, die effektive Zeit des Zugriffs ist CEL =L und (RDL oder WRL) =L. Da RWL für 68901 bei Interruptvektorlesen aber nicht bestimmt sein muß und RDL=WRL=L Reset bedeutet, wird auch WRL extra erzeugt.

Bei der 10MHz-Version ist die RDL-Zugriffszeit max. 120ns, bei 20MHz nur 65ns. Stromverbrauch 9mA bei 20MHz, wenn keine Quarze angeschaltet sind (je +6mA). Die Erholzeit zwischen zwei beginnenden Zugriffen beträgt 4 Zyklen des Systemtaktes PCLK (beim Z85230).

CEL (ChipEnable) des SCC wird fest auf L gelegt und damit dauernd aktiviert. Im TT ist der CEL-Anschluß des SCC dauernd auf L. Da das Interruptvektorlesen mit RDL und INTACKL ohne Erwähnung von CEL erfolgt und nirgends eine CEL=H-Zeit auftaucht, ist das wohl legal.

INTACKL des SCC wird direkt mit IACKL des MFP verbunden.

IEOL des MFP geht negiert an IEIH des SCC.

A2 an ABL des SCC, A1 an DCL des SCC

Adressen des SCC
Erklärung         bei ST_ESCC   bei TT/MegaSTE/Falcon
ControlRegisterA   $FFFFFA35       $FFFF8C81
DataRegisterA      $FFFFFA37       $FFFF8C83
ControlRegisterB   $FFFFFA31       $FFFF8C85
DataRegisterB      $FFFFFA33       $FFFF8C87

Abfrage des DSR-Signals
$FFFFFA39: Bit3 DSRA, Bit2 DSRB


(Im MegaSTE, TT und Falcon liegt der Kanal A wirklich vor dem Kanal B, da muß wohl die Adreßleitung A2 (geht an A//B) negiert sein.)

Dem SCC fehlen Eingänge für RING und DSR, aber er hat je Port ein im Asynchronbetrieb frei nutzbares Pin, das hier als Eingang RING verwendet wird. Das DSR-Signal wird über das GAL geführt und kann mit Lesezugriffen auf Adresse $FFFFFA39 (und als Nebeneffekt *B, *D, *F) erfragt werden. DSRA liegt auf Bit3 und DSRB auf Bit2, die anderen Bits sind bedeutungslos.

Takt PCLK des SCC
Ideal ist eine Frequenz von 14745600Hz, da daraus alle Baudraten genau erzeugt werden können. Es ergeben sich folgende hohe Baudraten: 230400, 153600, 115200, 92160, 76800, 65829, 57600.


GAL 20v8-15ns getaktet mit 4MHz-Takt des MFP <- ist das = für registered-Ausgänge

Erklärungsbedürftige GAL-Eingänge:
OCSL altes vom MFP abgetrenntes ChipSelect
ACCENA vom 74LS164, H nach Ablauf der Erholzeit des SCC, sonst L

GAL-Pinbelegung
                      --**--
4MHz vom MFP, CLK    | 1  24| VCC
vom MFP       RWL    | 2  23| OCSL, von Computerplatine, Chipselect ex. MFP
vom MFP       DSL    | 3  22| NCSL, zum MFP, sein neues ChipSelect
vom MFP       A3     | 4  21| RDL, zum SCC
vom MFP       A4     | 5  20| WRL, zum SCC
vom MFP       A5     | 6  19| DIAV1, intern
vom MFP       IACKL  | 7  18| DIAV2, intern
vom RS232-W.  DSRA   | 8  17| DTACKL, über Diode auf DTACK des MFP
vom RS232-W.  DSRB   | 9  16| D3, Datenbus
vom MFP       IEOL   |10  15| D2, Datenbus
vom MFP       RESETL |11  14| ACCENA, vom 74LS164
              GND    |12  13| GND (/OE, immer aktiv)
                      ------

Gleichungen
;neues CSL für MFP
NCSL.OE = 1
NCSL =   OCSL
       + A5 * A4

;erste IACKL-Verzögerungsstufe
DIAV1 <- IACKL

;verzögertes IACKL zur RDL-Erzeugung, damit Verzögerungszeit der internen
;und externen Prioritätsketten (MFP) erfüllt wird, mit 250..500ns sollte es
;immer gehen (MFP wird wohl so schnell sein)
DIAV2 <- DIAV1

;für RDL und WRL gilt:
;Zugriff kann nur mit ACCENA =H beginnen,
;hält sich dann selbst solange OCSL =L und DSL =L ist

;RDL für SCC, L bei Lesezugriff, Reset, Interruptvektorlesen (verzögert!)
;Interruptvektorlesen wie bei CEL sicherheitshalber erst nach Erholzeit
;und mit Selbsthaltung
RDL.OE = 1
/RDL =   RWL * ACCENA * /OCSL * /DSL * A5 * A4 * /A3
       + RWL * /RDL * /OCSL * /DSL
       + /RESETL
       + ACCENA * /IACKL * /DSL * /DIAV2 * /IEOL
       + /RDL * /IACKL * /DSL

;WRL für SCC, L bei Schreibzugriff, Reset
WRL.OE = 1
/WRL =   /RWL * ACCENA * /OCSL * /DSL * A5 * A4 * /A3
       + /RWL * /WRL * /OCSL * /DSL
       + /RESETL

;DTACKL über SHOTTKY-DIODE zum Bus, oC, da 120ns-Zugriffszeit bei 10MHz-Version,
;wird das Signal direkt aus RDL und WRL erzeugt, /DSL dient nur zum
;schnellen Inaktivieren von DTACKL, die dritte Zeile für DSRx-Lesen
;OE-Steuerung ist hier leider unmöglich
;Bei Reset kein DTACK!
DTACKL.OE = 1
/DTACKL =   /RDL * RESETL * /DSL
          + /WRL * RESETL * /DSL
          + /OCSL * /DSL * A5 * A4 * A3

;Datenausgang Bit3, für DSRA-Lesen
D3.OE = RWL * /OCSL * /DSL * A5 * A4 * A3
D3 = DSRA

;Datenausgang Bit2, für DSRB-Lesen
D2.OE = RWL * /OCSL * /DSL * A5 * A4 * A3
D2 = DSRB



74LS164
8Bit Seriell -> Parallel Schieberegister

     --**--
A   | 1  14|  VCC
B   | 2  13|  QH
QA  | 3  12|  QG
QB  | 4  11|  QF
QC  | 5  10|  QE
QD  | 6   9|  CLRL  (Low für Reset)
GND | 7   8|  CLK   (L/H-Flanke schiebt)
     ------


Der 74LS164 wird an CLK(pin8) mit dem Takt PCLK des SCC getaktet. An seinen Eingängen A(pin1) und B(pin2) liegt H-Pegel. Sein CLRL(pin9) kommt vom GAL-Ausgang DTACKL (hier wird genutzt, daß der Ausgang kein Tristate macht sondern über eine Diode am /DTACK des Computers liegt). Damit wird das Schieberegister auf L-Pegel zurückgesetzt, solange DTACKL aktiv ist. Danach wird mit PCLK wieder H eingeschrieben. QE(pin10) liefert das H-aktive Signal ACCENA (AccessEnable), nach Ablauf der Erholzeit des SCC. Bei Anschluß an QE sind das 5 (worst case 4) Takte PCLK, die für den Z85230 (gefordert 4 Takte) ausreichen. Das ist allerdings nicht die schnellste Variante, da die Zählung schon mit der DTACKL-H/L-Flanke beginnen dürfte. Wenn ein billigerer SCC verwendet wird, so sollte QG(pin12) verwendet werden, die 7 Takte dürften für diesen dann reichen (gefordert meist 6 Takte + etwas Zeit). A und B könnten auch mit CLRL verbunden werden.



MC1488, 75188

Pegelwandler TTL -> RS232, teilweise mit AND-Funktion

      --**--
VBB  | 1  14|  VDD (+12V)
IT0  | 2  13|  IT3A
OV0  | 3  12|  IT3B
IT1A | 4  11|  OV3
IT1B | 5  10|  IT2A
OT1  | 6   9|  IT2B
GND  | 7   8|  OV2
      ------


GND: Masse (Logik und RS232)
VDD: RS232 positive Spannung +12V
VBB: RS232 negative Spannung -12V
ITxy: TTL-Eingänge x, ITxA und ITxB werden AND-verknüpft
OVx: RS232-Ausgang x


MC1489, 75189

Pegelwandler RS232 -> TTL mit Enable-Eingängen

      --**--
IV0  | 1  14|  VCC (+5V)
EN0  | 2  13|  IV3
OT0  | 3  12|  EN3
IV1  | 4  11|  OT3
EN1  | 5  10|  IV2
OT1  | 6   9|  EN2
GND  | 7   8|  OT2
      ------


GND: Masse (Logik und RS232)
VCC: Logik-Versorgungsspannung +5V
IVx: RS232-Eingang x

ENx: (TTL-)Enable-Eingang x, kann man für Enable wohl offen lassen
OTx: TTL-Ausgang x



Z85230 ESCC

            ----**----
        D1 | 1      40| D0
        D3 | 2      39| D2
        D5 | 3      38| D4
        D7 | 4      37| D6
      /INT | 5      36| /RD
       IEO | 6      35| /WR
       IEI | 7      34| A//B
   /INTACK | 8      33| /CE
       VCC | 9      32| D//C
  /W//REQA |10      31| GND
    /SYNCA |11      30| /W//REQB
    /RTxCA |12      29| /SYNCB
      RxDA |13      28| /RTxCB
    /TRxCA |14      27| RxDB
      TxDA |15      26| /TRxCB
/DTR//REQA |16      25| TxDB
     /RTSA |17      24| /DTR//REQB
     /CTSA |18      23| /RTSB
     /DCDA |19      22| /CTSB
      PCLK |20      21| /DCDB
            ----------



Am85C230A von AMD

Es soll von AMD einen Am85C230A geben, der pinkompatibel ist, 8 Byte Sendepuffer hat und in den Synchronmodi einige Erweiterungen bietet. Er war gerade nicht beschaffbar. Da er sich nach dem Einschalten oder Reset genau wie der Z85230 verhält, kann er ebenfalls eingesetzt werden.

Die zusätzlichen 4 Byte Sende-FIFO müßten extra per Software freigeschaltet werden, sind aber auch dann nicht besonders effektiv. Der Am85C230A kann nur bei halbleeren SendeFIFO (entspricht Z85230 ganz leer) und bei einem freien Platz im SendeFIFO (wie Z85230) interrupten, nicht bei ganz leerem FIFO.


Anschlußbelegung eines 9poligen RS232-Steckers

(Sicht auf Steckerstifte)
---------------------------------
\  (1)   (2)   (3)   (4)   (5)  /
 \ DCD   RxD   TxD   DTR   GND /
  \                           /
   \  (6)   (7)   (8)   (9)  /
    \ DSR   RTS   CTS   RING/
     -----------------------



Anschlußbelegung der Lötpads unter dem SCC

(beginnend mit Pin1, dem gekennzeichneten, der Pin1 des SCC am nächsten liegt)

(Leitungsnamen in der Notation der Zilog-Doku.)
/SYNCA
/SYNCB
/RTxCA
/RTxCB
RxDA
RxDB
/TRxCA
/TRxCB
TxDA
TxDB
/DTR//REQA
/DTR//REQB
/RTSA
/RTSB
/CTSA
/CTSB
/DCDA
/DCDB
VCC, +5V zur Versorgung eines stromsparenden Pegelwandlers
GND, Masse
/DSRA
/DSRB

/SYNCA und /SYNCB werden hier im Asynchronbetrieb als RING-Leitungen benutzt.
/DSRA und /DSRB gehen zum GAL.



Einbau

Wegen der Modellvielfalt der ST-Reihe und der verschiedenen Umbauten der Nutzer kann und soll dies keine vollständige Anleitung sein. Beim mechanischen Teil des Einbaus muß jeder selbst die für ihn günstigste Variante finden.

Auch wenn mancher es nicht mehr lesen mag: Der Einbau sollte nur von Personen durchgeführt werden, die das nötige Wissen, Können und Werkzeug besitzen. Zum Löten soll man nur einen netzgetrennten Lötkolben benutzen (z.B. Elektronik-Lötstation, (Trenn)trafo, Akku, oder als primitivste Form: Herausziehen eines "einfachen" Lötkolbens aus der Steckdose). Ob der Lötkolben nun temperaturgeregelt ist oder nicht, ist egal.



ST_ESCC-Platine

Die ST_ESCC-Platine ist zum Aufsetzen auf den MFP (MC68901, in 48poligem DIL-Gehäuse) vorgesehen. Der MFP befindet sich nicht bei allen ST-Modellen am gleichen Platz. Bei den STF und STFM (also mit Floppy) und STE ist er meist unter der Floppy zu finden. Die alten STs ohne Floppy haben den MFP in der linken Hälfte, in der Nähe der CPU. Beim MegaST versteckt sich der MFP leider unter dem Netzteil, deshalb ist ein Einbau dieser ST_ESCC-Platinenvariante dort nur möglich, wenn entweder das Netzteil seinen Platz verlassen hat (Towereinbau o.ä.) oder ST_ESCC über kurze Drähte angeschlossen wird (eventuell gibt es in Zukunft eine spezielle Version für MegaSTs).

Pin48 des MFP oder der Leiterzug zu diesem Pin muß aufgetrennt werden, so daß der Pin48 des MFP mit dem aufzulötenden Sockel (oder ST_ESCC) verbunden werden kann. An das Lötauge OCSL auf der ST_ESCC-Platine wird ein Draht angelötet. Wenn es die Einbauhöhe zuläßt, sollte der 48polige Sockel auf den MFP aufgelötet werden. Andernfalls muß die ST_ESCC-Platine direkt oder eben mittels Drähten angelötet werden. Der Draht von OCLS wird an das auf der Computerplatine verbliebene andere Ende des Pins/Lötauges/Leiterzugs vom MFP-Pin48 angelötet. Der "modulare" Bastler wird hier bestimmt einen kleinen Stecker einfügen. ST_ESCC wird in den Sockel gesteckt, so daß die ersten Pins des Steckers (bei Pin1 und 24 des GALs) in Pin1 und 48 Fassung kommen. Am anderen Ende der Fassung bleiben ein paar Pins frei.

Das Flachbandkabel von ST_ESCC ist noch NICHT mit dem Pegelwandler verbunden. Wenn der Computer mit ST_ESCC jetzt eingeschaltet wird, sollte er sich ganz normal verhalten - als wäre kein ST_ESCC vorhanden. Andernfalls ist Fehlersuche angesagt.


Die Pegelwandlerplatine

Die ST_ESCC-Platine ist über ein Flachbandkabel mit der Pegelwandlerplatine verbunden. Diese Pegelwandlerplatine befestigt man sinnvollerweise an einer der Außenkanten des Gehäuses so, daß die beiden SUB-D-Stecker von außen zugänglich sind. Als Befestigung reichen die 4 Schraubbuchsen der SUB-D-Stecker aus.

Der Pegelwandler erhält seine +5V-Versorgung von ST_ESCC. Zusätzlich benötigt er noch eine belastbare +12V-Versorgung, die 300mA liefern können sollte. Das ist nur eine Spitzenstromangabe, wenn die Quelle diesen Strom liefern kann, müßte es funktionieren. Normalerweise frißt der Pegelwandler wesentlich weniger, etwa 80mA. Dieser Wert hängt stark von den eingesetzten 1488-Pegelwandlern ab (Hersteller, Herstellungsdatum). Man kann ihn auch mit +12V und -12V versorgen, er benötigt dann bei +12V weniger Strom und der TL497 mit Umgebung wird eingespart.


Spannungsquellenentscheidung

Umgebauter Computer mit einem anderen Netzteil

Ein PC-Schaltnetzteil o.ä. liefert genügend belastbare +12V und -12V. Ist der TL497 bereits bestückt, sollte man den Pegelwandler nur mit +12V versorgen. Will man es nicht oder ist der TL497 unbestückt, siehe "-12V Zuführung".


STs mit eingebauter Floppy, STE, MegaST

Bei diesen Geräten liefert das Netzteil genügend Strom bei +12V, aber keine -12V. Der TL497 mit Umgebung wird bestückt und der Pegelwandler mit +12V versorgt. (Den TL497 auf der Computerplatine bitte nicht behelligen.)


STs ohne interne Floppy

Das externe Netzteil liefert +12V und -12V, beide aber nicht belastbar, sondern laut Netzteilaufschrift nur mit 30mA. !!!Ich garantiere für nichts!!! Der Pegelwandler frißt ohne besondere Last (also ohne Ausgangskurzschlüsse) je nach Pegel und Hersteller der (MC)1488/75188 etwa 30mA bei +12V und 30mA bei -12V. Man kann den TL497 bestücken und den Pegelwandler mit +5V statt mit +12V versorgen, liegt damit aber schon nahe an den unteren Pegelgrenzen (+/-3V) für RS232. Netzteilmäßig liegt man so auf jeden Fall auf der sicheren Seite. Man sollte aber dringend die 1kOhm/9kOhm Spannungsteilerkombination am TL497 durch 1kOhm/3.3kOhm ersetzen. Ich betreibe einen 520ST mit den +/-12V vom Netzteil, also: TL497 nicht bestückt, +12V von Pin14 des MC1488 und -12V von Pin1 des MC1488 auf der Computerplatine. GND an Pin7 des MC1488. Weiteres siehe "-12V Zuführung". Ich werde mich aber nicht wundern, wenn das Netzteil eines Tages nicht mehr geht, dann kommt ein PC-Schaltnetzteil ran.


Realisierung der Versorgung

-12V Zuführung

Ist der TL497 nicht bestückt, so kann man alle in der Stückliste mit "(" gekennzeichneten Bauelemente sparen, sie stören aber nicht, falls sie bestückt sind. Ist der TL497 jedoch bestückt, so müssen zwei Leiterbahnen auf der Unterseite der Pegelwandlerplatine unterbrochen werden. Einmal direkt am Lötauge für -12V, die andere direkt am +12V Lötauge. -12V und +12V sind an den entsprechenden Lötaugen zuzuführen. GND wird mit GND in der Nähe der +12/-12V Quelle verbunden.

Versorgung nur mit +12V
Der TL497 mit Umgebung muß bestückt sein. Die +12V werden am +12V-Lötauge angeschlossen, GND wird mit GND in der Nähe der +12V-Quelle verbunden. Bei den Computern mit interner Floppy und Originalnetzteil hat dieses üblicherweise eine 6polige Buchse die auf einem Stecker der Computerplatine steckt. In der Nähe sollte man einen GND-Punkt und einen +12V-Punkt ausfindig machen und den Pegelwandler anschließen. Meist hat das Netzteil 2 rote Kabel für +5V, drei schwarze Kabel für GND und ein blaues Kabel für +12V. ACHTUNG! Dies gilt nur für dieses Atari-Netzteil, bei PC-Netzteilen und den MegaSTE/TT-Netzteilen ist _meist_ rot=+5V, schwarz=GND, gelb=+12V, blau=-12V.



Funktionstest

Schaltet man den Computer nun ein, so sollte er immer noch wie gewohnt funktionieren. Seltsame Effekte, besonders Brummen, lautes Fiepen, Rauchen und Stinken, deuten auf Fehler in der Stromversorgung hin, dann sofort ausschalten und Fehler suchen. Der TL497 darf etwas piepen, aber nur ganz leise.

Jetzt wird das Flachbandkabel von ST_ESCC in die Pegelwandlerplatine gesteckt. Dann können die softwaremäßigen Tests erfolgen, ***** aber momentan gibt es das Programm noch nicht *****



Aufbau

Stückliste ESCC-Platine

1* Platine ST_ESCC, zweiseitig-durchkontaktiert
1* Z85230-16PSC, Zilog ESCC, 16MHz, DIL-Gehäuse
1* GAL20v8-15, programmiert für ST_ESCC
1* Quarzoszi 14.7456MHz, SMD Bauform SG636
1* 74LS164 SMD
3* Kondensator 100nF (SMD, Bauform 1206)
viele Steckerstifte
1* 48polige Fassung (gedrehte Kontakte) zum Auflöten auf MFP
Flachbandkabel AWG28 1.27mm Raster, 22polig, Länge nach Bedarf
1* Schneidklemmbuchse 26polig



Stückliste RS232-Pegelwandlerplatine

Die mit "(" gekennzeichneten Positionen entfallen, wenn dem Pegelwandler neben +5V und +12V auch -12V von außen geliefert werden.
1* RS232 Pegelwandlerplatine, zweiseitig durchkontaktiert
3* MC1489 oder 75189
2* MC1488 oder 75188
(1* TL497
(2* Diode LL4148 SMD
(2* Elko 100uF/16V stehend
(1* Spule 330uH
(1* 1Ohm, SMD 1206
(1* 1kOhm, SMD 1206
3* 10kOhm, SMD 1206
(2* 18kOhm, SMD 1206
(1* 100pF, SMD 1206 oder 0805
5* 100nF, SMD 1206
1* 26polige Steckerwanne
2* SUB-D-Stecker, 90Grad Print


Da der Platz um den MFP (MC68901) recht eng ist, wurde die Platine klein gestaltet. Sie mißt nur 36mm*60mm und ist zweiseitig-durchkontaktiert. Die MFP-Platine enthält keine Pegelwandler, sondern liefert TTL-Pegel. Die Pegelwandlerplatine auf RS232 wird über ein Flachbandkabel angeschlossen.

Zuerst sollten die SMD-Bauelemente bestückt werden. Für das GAL sollte eine Fassung verwendet werden, falls es die Einbauhöhe zuläßt. Der 42-polige Stecker (dem aber noch einige Pins fehlen) zum MFP wird auf der Unterseite der Platine bestückt. Der MFP-Pin48 (/CS) muß so aufgetrennt werden, daß die ST_ESCC-Platine mit ihrem MFP-Adapter-Pin48 Kontakt zum MFP-Pin hat. Anschluß OCSL ist mit einem kurzen Draht an den MFP-Pin48-Rest (oder Lötauge) auf der Computerplatine zu löten. Auf den MFP sollte, wenn es der Platz zuläßt, eine Fassung aufgelötet werden. In diese wird die ST_ESCC-Platine gesteckt. Andernfalls muß die Platine direkt aufgelötet werden. Die mit "Shot" bezeichnete Diode muß eine Shottky-Diode sein, z.B. BAT43.

Es handelt sich wirklich um einen 42poligen Stecker zum MFP. Er sitzt auf Pin1 und Pin48 des MFP, so daß Pin22 bis Pin27 des MFP frei bleiben. Diesem Stecker fehlen auf der Reihe Pin1-Pin22 etliche Pins.

Das Flachbandkabel zum RS232-Pegelwandler wird direkt auf der Unterseite der Platine angelötet. Für den Pegelwandler gibt es verschiedene Aufbaumöglichkeiten. Man schließt ihn sinnvollerweise steckbar an, um auch mal einen für RS422 (?) o.ä. benutzen zu können.



Spannungswandler TL497

Der TL497 erzeugt aus +12V die -12V. Der 1Ohm-Widerstand dient der Strombegrenzung auf 120mA am Ausgang. Mehr kann der TL497 in dieser Inverteranwendung auch nicht liefern. Der Spannungsteiler muß genau aus 1kOhm/9kOhm bestehen, da er die -12V festlegt (9kOhm = 18kOhm||18kOhm). Eine Alternative sind 470Ohm unten und 4.3kOhm||100kOhm oben.

Wenn man im Rechner auch eine belastbare -12V-Quelle hat, kann der TL497 mit den daran hängenden Bauelementen entfallen. Dann werden die +12V und -12V vom Rechnernetzteil an die entsprechenden Punkte angeschlossen.

Wird die RS232-Pegelwandlerplatine nur mit +12V versorgt, so ist der TL497 mit Umgebung zu bestücken und es sind +12V und GND anzuschließen.



Versionen

Neue Versionen werden zuerst in der Maus Berlin liegen, tel: +49-30-6246510. Gastdownload: 10.00-18.59 und 23.00-03.59. Man sollte nach dem File STESCC*.* suchen, wobei anstelle des ersten * eine fortlaufende zweistellige Veröffentlichungsnummer tritt.

04.11.1993 "Rohversion", erste Veröffentlichung
06.01.1994 300uH statt 100uH, Layoutfehler auf Pegelwandler korrigiert
(bei DTR von MODEM2)






Copyright © Robert Schaffner (doit@doitarchive.de)
Letzte Aktualisierung am 23. Mai 2004
Home Atari, Mac und PC seriell Second serial port RSFI