PofoWiki

Die ultimative Informationsquelle zum ATARI Portfolio

Benutzer-Werkzeuge

Webseiten-Werkzeuge


hardware:doku:techrefguide:abschnitt4

Dies ist eine alte Version des Dokuments!


ABSCHNITT 4: PERIPHERIE

4.1 SERIELLE KOMMUNIKATION DES PORTFOLIO

4.1.1 Hardware Spezifikation

 Standard:                    EIA RS232C kompatibel
 Leitungsspannungen:          ±9V
 Stromschleife:               nicht unterstützt
 Anschluss:                   9 Pin D-Sub Stecker (AT-kompatibel)
 Anschlussbelegung:           Pin  Name
                              1    CD   Träger-Erkennung
                              2    RD   Empfangsdaten
                              3    TD   Sendedaten
                              4    DTR  Datenterminal bereit
                              5    GND  Masse
                              6    DSR  Datensetzen bereit
                              7    RTS  Sendeaufforderung
                              8    CTS  Sendebereit
 Schnittstellen-IC:                82C50A
 Basisadresse des 82C50A:          an Speicheradresse 400H gespeichert.
 Unterstützung von Interrupts:     Ja (siehe unten)
 Teilertakt:                       1.8432 MHz
 typische Stromentnahme:           10 mA
 maximale Stromentnahme:           15 mA

4.1.2 I/O Register

Da der Portfolio und der IBM PC/AT die gleichen Schnittstellen verwenden (bis auf das das Interrupt handling), haben die I/O Register auch die selbe Funktion. Die Basisadresse für die serielle Schnittstelle ist unter der Speicheradresse 40:0H des BIOS Datenbereichs abgelegt. Wenn der Wert an dieser Speicheradresse XXXXH ist, dann sind die I/O Register folgendermaßen:

 I/O Adresse            Register des 82C50A
 
 XXXX+0       R         RBR   Register des Empfängerpuffers
              W         TBR   Register des Senderpuffers
 XXXX+1       R/W       IER   Interrupt enable Register
 XXXX+2       R/W       IIR   Interrupt Identifizierungsregister
 XXXX+3       R/W       LCR   Register der Leitungssteuerung
 XXXX+4       R/W       MCR   Modem Steuerregister
 XXXX+5       R/W       LSR   Register des Leitungsstatus
 XXXX+6       R/W       MSR   Modem Statusregister
 XXXX+7       R/W       SCR   Scratch Register

4.1.3 Unterstützung von Interrupts

Da der Portfolio keinen 8259-kompatiblen Interrupt-Controller beinhaltet werden Interrupts anders gehandhabt als bei dem IBM-PC/AT.

Der serielle Port hat ein Register das Serielles Interrupt Vektor Register (SIVR) genannt wird. Es kann eiene 8-bit Zahl in dieses Register geschrieben werden. Der Wert ist die Interrupt-Zahl die mit dem seriellen Port verwendet werden soll. Jeder Interrupt ist ein Doppelwort Zeiger, die Adresse ist somit das vierfache der Interrupt-Nummer. Schreibt man z.B. die Zahl 10 ins SIVR, so wird ein Aufruf des an der Adresse 10×4 gespeicherten Doppelwort-Zeigers durchgeführt.

SIVR ist an der I/O Adresse 807FH und ein nur-lese-Register. Es sollte voreingestellt sein bevor 82C50A-Interrupts eingesetzt werden.

Wenn der 82C50A einen Interrupt auslöst wird dieser zur CPU weitergeleitet. Wenn keine anderen Interrupts anstehen wird die CPU den Inhalt des SIVR auslesen und die entsprechende Interrupt-Nummer ausführen).

Interrupts werden durch einen Zugriff auf das 82C50A und das Auslesen des IIR bestätigt. Dies ermöglicht die notwendige Aufgabe den zu bestimmenden Interrupt auszuführen und zu bestätigen.

4.1.4 Weitere nützliche Informationen

Um festzustellen ob eine serielle Schnittstelle angeschlossen ist empfielt es sich den BIOS Int 11H (Ausstattungsliste ausgeben) zu verwenden.

Wärend der Portfolio versucht sich nach dem Warten auf einen Tastendruck auszuschalten (Int 16H Fn 00H), kann eine Terminal Emulation die Tatstatur per Software so lange pollen bis ein Tastendruck im Puffer wartet (Int 16H Fn 01H). Beachten sie, da dies das automatische Ausschalten des Portfolios verhindert und den Prozessor im Run-Modus hält, anstatt im „Standby“, wird der Stromverbrauch enorm gesteigert.

Um SIVR einzustellen ist die Verwendung des Interrupt 61H, Fn 1CH zu empfehlen:

AH=1CH
AL=0                      ;I/O Adresse bestimmen
BH=5                      ;I/O Tabelleneintrag 5
BL=zu schreibendes Byte
DX=I/O Adresse

Die Verwendung dieser Funktion stellt sicher, dass SIVR immer richtig eingestellt ist (es sei denn, der Tabelleneintrag 5 wird für eine andere Adresse wiederverwendet).

Um eine zukünftige Kompatibilität zu erhalten ist es ratsam die Adresse des oben verwendeten Tabelleneintrags auf null zu setzen bevor das Programm beendet wird. Darauf sollte ein schreiben von 48H in I/O 807FH folgen.

4.1.5 Verwendung des seriellen Ports: Beispielprogramm TMTM.COM

Der folgende Abschnitt enthält das Listing für ein Interrupt-gesteuertes Terminal-Programm. Dieses Programm zeigt wie der serielle Port in einem Anwendungsprogramm benutzt werden kann. Die Routinen des seriellen Ports (TMIO.ASM) enthalten Kommentare die zeigen wie das Gleiche auf einem IBM PC durchgeführt werden kann. Dies wird Anwendern die mit dem IBM PC vertraut sind zeigen, wie bereits existierende Software modifiziert werden muss.

Das Programm besteht aus mehreren Dateien:

 TM.INC      Equates
 TMTM.ASM    Hauptroutine
 TMKY.ASM    Tastatur-Routinen
 TMDP.ASM    Bildschirm-Routinen
 TMIO.ASM    Routinen des seriellen Ports

TMIO.ASM wird für diejenigen die Software für den seriellen Port entwickeln von größtem Interesse sein. Die anderen Dateien werden der Vollständigkeit halber aufgeführt.TMTM.ASM sollte als erstes Modul eingelinkt werden um TMTM.COM zu erzeugen.

Das Programm wird den seriellen Port auf 1200 baud, 8 Datenbits, 1 Stoppbit und keine Parität einstellen. Das oberste Datenbit wird gelöscht.

Alt_Q kann verwendet werden um das Programm zu verlassen.




4.2 BESCHREIBUNG DES DATEIÜBERTRAGUNGSPROTOKOLLS DER INTELLIGENTEN PARALLELEN SCHNITTSTELLE

Der IBM PC und viele andere Kompatible haben unidirektionale Centronics Parallel-Ports. Um eine kostengünstige aber nützliche Schnittstelle zu ermöglichen wurde entschieden, dass die parallele Centronics-Schnittstelle des Portfolio ein Senden zu und von dem IBM PC, wie zu Druckern möglich machen sollte. Dies wird durch den Einsatz eines seriellen Transferprotokolls erreicht. Statusleitungen auf dem IBM PC, die über das BIOS angesprochen werden können, werden auf dem PC als Eingänge benutzt. Portfolios paralleler Port ist voll bidirektional.

Das BIOS für die Dateiübertragung sollte unter den folgenden Erwägungen verwendet werden (siehe Abschnitt 3.3.1):

  • Vor dem Senden oder Empfangen sollten die Ports geöffnet werden.
  • Das Senden eines Blocks setzt voraus, dass die andere Seite einen Block emfängt und umgekehrt.
  • Ein geschieht ein Timeout wenn binnen 500ms keine Antwort erfolgt.
  • Das Senden eines Blocks überträgt automatisch auch dessen Länge. Der Empfänger meldet einen Fehler wenn sein Puffer zu klein ist.
  • Bei etwaigen Fehlern warten sie 500ms (um der anderen Seite einen Timeout zu ermöglichen) und versuchen sie das Senden/Empangen dann erneut.
  • Ein Fehler auf der einen Seite verursacht normalerweise auch einen Fehler auf der anderen, somit sollte die Block-Reihenfolge erhalten bleiben.
  • Mit jedem Block wird auch eine Prüfsumme übertragen um eine einfache einfache Fehlerprüfung zur Verfügung zu stellen.
  • Nach dem Ende einer Übertagung sollten die Ports wieder geschlossen werden.

Für die Herstellung eines Kabels für die intelligente parallele Übertragung ist die Pinbelegung wie folgt:

 Pin        Signal
  2         Daten vom PC
  3         Takt vom PC
 12         Takt vom Portfolio
 13         Daten vom Portfolio
 18         Masse

4.3 IBM PC KARTENLAUFWERK

Das IBM PC Kartenlaufwerk besteht aus einer 8-Bit Steckkarte für den Erweiterungsbus des IBM PC und einem kleinen Endgehäuse das einen Speicherkartenschacht enthält. Das Endgehäuse wird durch ein flexibles Kabel mit der Steckkarte verbunden. Eine Aktivitätsleuchtdiode zeigt an ob ein Zugriff auf die Speicherkarte stattfindet.

Die Erweiterungssteckkarte kann in einem IBMPC/XT oder PC/AT kompatiblen Rechner benutzt werden. Durch das Starten der entsprechenden Gerätetreibersoftware kann der PC auf eine Speicherkarte in gleicher Weise zugreifen wie auf eine normalle Diskette.

Die Karte verwendet einen Block von vier I/O-Adressen. Diese befinden sich an einer Startadresse die durch optionale Verbindungen auf der Erweiterungskarte angezeigt wird. Wenn diese abweichend von der ursprünglichen Einstellung verändert werden muss der Gerätetreiber über diese Veränderung in der CONFIG.SYS informiert werden.

4.4 EPROM Programmier-Adapterkarten

Es sind PROM Prorgrammieradapter erhältlich die es ermöglichen PROM (OTP) -Speicherkarten mit Hilfe eines handelsüblichen PROM-Brenners zu programmieren. Die Adapter konvertieren die PROM-Karten auf die Auslegung von standard DIL PROMs. Verwenden sie Modell HPC-501 um 512KBit-Karten, und Modell HPC-502 um 1 MBit-Karten zu programmieren.

Für die Programmierung der PROM-Karten sollte der Brenner die Einstellungen für Fujitsu PROMS verwenden. Falls keine Voreinstellungen für Fujitsu PROMS zur Verfügung stehen können auch andere 12.5V PROM- Einstellungen verwendet werden. Die ideale Programmiereinstellung ist:

 VPP      12.5V
  64KB    27C512 verwenden    (idealerweise Fujitsu CMOS)
 128KB    27C1001 verwenden   (idealerweise NEC CMOS)

Ist der ROM-Typ bestimmt so gehen sie folgendermaßen vor um die Kopie einer RAM-Karte zu erstellen:

i) Wählen sie eine PROM-Karte mit der selben Speichergröße wie die der RAM-Karte aus.
ii) Stecken sie den Adapter in die PROM-Fassung des Brenners. Achten sie auf die korrekte Position.
iii) Stecken sie die RAM-Karte in den Adapter und laden sie den Inhalt mit der entsprechenden Option in den Brenner.
iv) Stecken sie die PROM-Karte in den Adapter und programmieren sie wie mit jedem anderen PROM-Chip.

Warnung
1) VERSUCHEN SIE NICHT DIE RAM-KARTE ZU PROGRAMMIEREN.
2) Manche Brenner mögen es nicht, wenn die Spannungsversorgung ein- und ausgeschaltet wird, also entfernen sie die Karten bevor sie den Brenner ein- oder ausschalten.

hardware/doku/techrefguide/abschnitt4.1190559858.txt.gz · Zuletzt geändert: 23/09/2007 00:09 (Externe Bearbeitung)