Inhaltsverzeichnis
ABSCHNITT 2: HARDWARE
2.1 SYSTEM BESCHREIBUNG
2.1.1 Mikroprozessoreinheit
Der Portfolio verwendet den selben Mikroprozessor (80C88) wie der original IBM PC. Die statische CMOS Version erlaubt es, den Takt anzuhalten wenn keine Verarbeitung stattfindet, damit wird der Stromverbrauch möglichst gering gehalten. Der Portfolio ist schneller als der original IBM PC: der Takt beträgt 4,9152 MHz anstatt 4,77 MHz. Der Prozessor wird im Minimum Mode betrieben, es ist kein Bus-Lock möglich (siehe Abschnitt 2.6.3).
2.1.2 Systemspeicher
Der Portfolio enthält vier 32KB statische RAM-Chips, das ergibt 128KB. Diese Chips haben einen sehr niedrigen Ruhestrom wodurch sie ihren Inhalt über einen großen Zeitraum mit geringstem Batterieverbrauch erhalten können (siehe Abschnitt 2.2.2).
2.1.3 System-ROM
Der Portfolio hat insgesamt 256KB Festspeicher worin alle BIOS, DOS, Befehlsprozessor und Anwendungssoftware enthalten sind. Dieser Festspeicher besteht aus zwei 128KB Chips (siehe Abschnitt 2.2.3 und 2.2.4).
2.1.4 LCD Bildschirm
Der Bildschirm ist eine 240 x 64 Flüssigkristallanzeige. Sie wird von einer Reihe von LCD Bildschirmtreibern angetrieben die von einem grafischen LCD-Controller gesteuert werden. Der Bildschirm verhält sich genau so wie ein monochromer IBM PC Text-Bildschirm (MDA). Der Controller verwendet auch einen eigenen VideoRAM Chip und einen Zeichensatz-Generator mit Festspeicher (ROM). Die Grafik ist Pixel-kompatibel, vorausgesetzt das PC-kompatible BIOS wird verwendet. (siehe Abschnitt 2.2.2, 2.8 und 3.7)
2.1.5 Wählton und Tonausgabe
Der Lautsprecher des Portfolio wird von einem Chip für telefonisches MFW (Multifrequenzwahlverfahren, DTMF) angesteuert. Dieser erzeugt alle notwendigen Multifrequenz-Töne zum wählen plus einer Reihe von Melodie-Tönen für musikalische Anwendungen. Das Klicken der Tastatur wird ebenfalls von dieser Schaltung erzeugt (siehe Abschnitt 3.7). Der Sound-Chip ist nicht komkpatibel zur standard PC Hardware.
2.1.6 ASIC
Diese Schaltung enthält den größten Teil der System-Logik (siehe Abschnitt 2.4).
2.1.7 Tastatur
Der Portfolio verwendet eine 63-Tasten QWERTY „Switch-Matrix“ Tastatur. Das ASIC generiert eine Riehe von physikalischen Scan-Codes, diese werden vom BIOS in IBM-PC-kompatible Scan-Codes übersetzt.
2.1.8 Speicherkartenanschluss
Der Portfolio besitzt einen Speicherkartenanschluss an der Seite des Gerätes. CCMs können in diesen Anschluss eingesteckt werden, dies ermöglicht der Portfolio-Software den Zugriff auf Daten und Programme (siehe Abschnitte 2.2.4 und 3.6).
2.1.9 Erweiterungs-Port
An der rechten Seite des Portfolio befindet sich ein 60-Pin Stecker der die notwendigen Signale für die Peripherie-Geräte zur Verfügung stellt (siehe Abschnitte 2.6,
2.7 und 3.5).
2.1.10 Stromversorgungseinheit
Diese liefert die gesamte Stromversorgung des Systems. Sie speißt diverse Versorgungsleitungen. Die Schaltung beinhaltet einen Schaltregulator der die Batteriespannung auf 5V hochstuft. Der Regulator kann ausgeschaltet werden (siehe Abschnitte 2.5 und 3.8).
2.1.11 Absolute Grenzwerte
Betriebstemperaturbereich: 0º..+35ºC
Lagerungstemperaturbereich: -20º..+50ºC
2.2 SYSTEMSPEICHER
2.2.1 Memory Map
2.2.2 RAM
Der Portfolio bietet insgesamt 128KB On-Board RAM.
4KB dieses Speichers werden auf B0000H gelenkt um den VideoRAM zu bilden, welcher zum IBM PC MDA Bildschirm kompatibel ist. Dies ergibt insgesamt 124KB Hauptspeicher.
Der Hauptspeicher kann durch den Einsatz von Speichererweiterungszubehör bis auf 636 Kilobytes erweitert werden.
Der Portfolio erlaubt es dem Benutzer ein internes RAM-Laufwerk (Laufwerk C: genannt) frei zu konfigurieren. Dieses RAM-Laufwerk belegt den oberen Speicherbereich (siehe Abschnitt 3.1.2).
2.2.3 System-ROM A
Dieser enthält das BIOS, das Betriebssystem und einen Teil der integrierten Anwendungssoftware. Der Reset-Vektor steht bei FFFF0H. Dieser ROM kann nicht aus dem Speicherbereich ausgeblendet werden.
2.2.4 System-ROM B
Dieser enthält den Rest der Anwendungssoftware. Dieser ROM kann aus dem Speicherbereich ausgeblendet werden um durch die interne Speicherkarte, eine externe Speicherkarte auf einer Schnittstelle, oder ein ROM auf einer Erweiterungskarte ersetzt zu werden. Normalerweise führen die BIOS Disk-Services das Umschalten durch (siehe Abschnitt 3.6).
2.3 SPEICHERKARTEN
Der Portfolio verwendet speziell für den Portfolio entwickelte CCMs. Es sind ähnliche Speicherkarten von verschiedenen Händlern erhältlich. Verwenden sie diese Karten NICHT für den Portfolio, da dies der Karte oder dem Portfolio schaden könnte.
Die Portfolio CCM gibt es in drei Haupt-Typen: RAM, OTPROM, und MASK ROM.
Die Karten sind wie MS-DOS-Disketten formatiert. Es können Programme geschrieben werden die direkt von der Karte ausgeführt werden, wodurch der Bedarf an System-Speicher reduziert wird (siehe Abschnitt 3.6.3)
2.3.1 RAM-Karten
Die RAM-Karten gibt es derzeitig in drei Größen: 32, 64 und 128 kilobytes.
Die Karten bestehen aus statischem RAM und jede Karte enthält eine Lithium Backup-Zelle. Diese Zelle wird die Daten auf der Karte für ein Jahr oder mehr behalten wenn diese nicht im Portfolio steckt. Wärend die Karte im Portfolio steckt wird die Zelle nicht beansprucht.
2.3.2 OTPROM-Karten
Die einmalig programmierbaren ROM-Karten die zur Zeit erhältlich sind haben 64 oder 128 Kilobytes. Es sind Nur-Lese-Karten und werden typischerweise für Programme und unveränderliche Daten verwendet. Sie können in einem handelsüblichen EPROM-Brenner wie ein PROM beschrieben werden (siehe Abschnitt 4.4).
2.3.3 Mask ROM
Diese Karten sind „Werks-programmiert“ und haben niedrige Stückpreise. Dies macht sie geeignet um Massenproduktionssoftware herzustellen. Derzeit nur mit 128 kilobyte erhältlich.
2.3.4 Zukünftige Kartengrößen
Das Portfolio BIOS beinhaltet die Unterstützung von ROM und RAM Karten größer als 128 Kilobytes. Wenn diese erhätlich werden, werden sie aus 128-Kilobyte-Seiten bestehen, mit eienem Seitenregister bei 000AH. Nach diesem Schema ist der Portfolio in der Lage Kartenkapazitäten von bis zu einem Megabyte handzuhaben. Es ist unbedingt zu berücksichtigen, daß KEIN Programm diesen Kartenspeicherplatz anspricht, ungeachtet der Kartengröße.
2.3.5 Anschlussbelegungen der Speicherkarten
Pin | Gemeinsam | RAM | OTPROM | Mask ROM | ||
---|---|---|---|---|---|---|
32K | 64K | 128K | ||||
1 | A16 | |||||
2 | A15 | |||||
3 | VBB | VPP | NC | VPP | NC | |
4 | A12 | |||||
5 | A7 | |||||
6 | A6 | |||||
7 | A5 | |||||
8 | A4 | |||||
9 | A3 | |||||
10 | A2 | |||||
11 | A1 | |||||
12 | A0 | |||||
13 | D0 | |||||
14 | D1 | |||||
15 | D2 | |||||
16 | GND | |||||
17 | D3 | |||||
18 | D4 | |||||
19 | D5 | |||||
20 | D6 | |||||
21 | D7 | |||||
22 | CE | |||||
23 | A10 | |||||
24 | OE | OE | OE/VP | OE | OE | |
25 | A11 | |||||
26 | A9 | |||||
27 | A8 | |||||
28 | A13 | |||||
29 | A14 | |||||
30 | WE | NC | NC | PGM | NC | |
31 | VCC | |||||
32 | CDET |
Bemerkung:
NC Kein Anschluss VCC Betriebsspannung: 5 Volt GND Signal Erdung CDET Dies ist der kurze Anschluss (intern auf GND gelegt), benutzt um Kartenanwesenheit festzustellen AX Adressleitung X DX Datenleitung X VBB Batteriespannung der Karte PGM OTPROM Programmierleitung. 0V im Programmiermodus VPP OTPROM Programmierspannung. 12.5 V im Programmiermodus, sonst 5V OE Low um einen Lesezyklus anzuzeigen WE Low um einen Schreibzyklus anzuzeigen
2.3.6 Elektrische Eigenschaften
Betriebstemperatur 0°-60°C
Lagertemperatur -20°-60°C
2.4 CUSTOM ASIC CHIP
Portfolios eigene, Anwendungs-speziefische integrierte Schaltung (ASIC) stellt den größten Teil der nötigen System-Logik zur Verfügung. Es ist ein Gate-Array, daß durch silikon-Gate Technologie realisiert wurde, was einen sehr geringen Stromverbrauch bei hoher Geschwindigkeit erlaubt.
Die ASIC wird benutzt um alle Select-Leitungen für Speicher, Speicherkarten und andere System-Blöcke zu steuern. Sie beinhaltet ebenfalls verschiedene System-Steuerfunktionen. Diese Funktionen steuern durch den Gebrauch einer Reihe von Registern verschiedene Teile des Systems, wie zum Beispiel die Speicherchip-Größe.
2.4.1 System-Takt
Der Takt beträgt 4.9152 MHz, mit einem Tastverhältnis von 50%, er wird von einem Quarz-Oszillator erzeugt. Der Takt kann in einen Stopp-Modus übergehen. Ein Customchip-Interrupt startet den Takt wieder.
2.4.2 Timer
Der System-Timertick-Zähler wird von einem 32768Hz-Quartzoszillator erzeugt, welcher einen Interrupt in jeder Sekunde, oder jede 128ste Sekunde auslöst.
2.4.3 Tastatur-Steuerung
Der Tastatursteuerungsteil der ASIC liest eine 8 mal 8 „Push-to-make-Key Switch-Matrix“ ein. Eine gedrückte oder losgelassene Taste löst einen Interrupt aus. Der Prozessor erhält den Scan-Code aus einem Kontroll-Register.
2.4.4 Interrupt Handler
Dieser steuert den „critical error“ für die Speicherkarten, die Tastatur und den Interrupt für den Zähler des Timer-Ticks. Er wird aus dem ASIC herausgeführt um externe Peripherie-Interrupts zu ermöglichen.
2.4.5 Soft-Kontrast für LCD
Ein Steuerregister enthält den Kontrast-Wert für den LCD-Bildschirm.
2.5 Spannungsversorgungseinheit
Der Portfolio hat mehrere Spannungsversorgungsleitungen und Steuerleitungen. Diese werden für vielfältige Zwecke eingesetzt und sie haben verschiedene elektrische Eigenschaften wie weiter unten erklärt wird. Sie stehen alle am Erweiterungsbus zur Verfügung.
Wenn ein Netzteil und Batterien gleichzeitig zur Verfügung stehen wird der Portfolio von der höheren der beiden Spannungen gespeist („Initialquelle“). Siehe Abschnitt 3.8 für Softwarebelange.
2.5.1 Speisungsmodi
NO POWER MODE Dies ist der Zustand wenn keine Initialquelle am Portfolio angeschlossen ist (z.B. beim Batteriewechsel). Falls eine Initialquelle angeschlossen war und dann entfernt wurde, so wird der Systemspeicher von einem internen Kondensator gespeist.
OFF MODE Dies ist der Zustand in den der Portfolio übergeht wenn der OFF-Befehl verwendet wird. Der Custom Chip und der Speicher werden direkt von der Initialquelle gespeist.
STAND-BY MODE Dies ist der Zustand in dem sich der Portfolio befindet wenn er auf einen Tastendruck wartet. Das gesamte System wird von dem Ausgang des internen fünf Volt Spannungsreglers versorgt. Allerdings wird der Systemtakt (CCLK) angehalten um den Prozessor zu stoppen und Strom zu sparen.
RUN MODE Dies ist der Zustand in dem sich der Portfolio befindet wärend er Prozesse abarbeitet. Das gesamte System wird von dem Ausgang des fünf Volt Spannungsreglers gespeist und der Systemtakt (CCLK) läuft, wodurch der Stromverbrauch am höchsten ist.
2.5.2 VCC (Versorgungsspannung für die Speicherkarten)
Deise Leitung führt 5VS. Sie ist für die Speisung einer externen Speicherkarte optimiert, so das ein Einstecken oder Entfernen der Karte keine Spannungsspitzen auf der 5VS-Leitung verursacht. Diese Leitung sollte für keine anderen Zwecke verwendet werden.
2.5.3 5VS -Fünf Volt Schaltversorgungsleitung
Dies ist der Ausgang des fünf Volt Spannungsreglers. Wärend der STANDBY und RUN Modi liefert diese Leitung fünf Volt. In allen anderen Fällen fällt die Spannung ab. Peripheriegeräte können entwickelt werden, die diese Leitung nutzen.
5VS ist in der Lage bis zu 40 mA bei 5V +/-5% an ein Peripheriegerät zu liefern. Dies setzt voraus, dass die Haupteinheit maximale Leistung zieht. Der Portfolio funktioniert auch jenseits der 5% Tolereanz einwandfrei, dies wird allerdings nicht empfohlen.
Die Verwendung der 5VS-Leitung durch Peripheriegeräte verkürzt die Lebensdauer der Batterien. Ferner, da alkaline Batterien einen Spannungsabfall (durch inneren Widerstand) entwickeln wird die Meldung „Batterie erschöpft“ ausgegeben, wenn die Batterien weniger belastet werden als bei nicht angeschlossenem Peripheriegerät.
2.5.4 VRAM (Speicherstromversorgung)
Dies ist die Versorgung für den Systemspeicher:
Standby und Run | 4,5V |
Aus | Initialquelle -0,5V |
Keine Versorgung | Stromspannung aus Kondensator |
Im versorgungslosen Zustand fällt die Spannung ab, deshalb ist darauf zu achten, dass kein Strom von dieser Leitung abgegriffen wird, andernfalls geht der Systemspeicher verloren. Wenn der Kaltstart-Knopf gedrückt wird, wird diese Leitung über einen kleinen Widerstand auf Masse gelegt.
2.5.5 VEXT (externe Spannung)
Dies ist die Spannung der externen Stromversorgung die direkt an der externen Stromversorgungsbuchse angeschlossen ist. Diese Leitung ermöglicht angeschlossenem Zubehör mit eigener Sapnnungsquelle die externe Versorgung des Portfolios zu nutzen. Es ist möglich den Portfolio über diese Leitung zu versorgen, doch Vorsicht ist geboten um Konflikte der externen Stromversorgung zu vermeiden.
2.5.6 BATD (Batterie-Erkennungssignal)
Dieses Steuersignal wird dazu verwendet den Systemspeicher vom Rest der Schaltungen zu isolieren wenn die Batterien entfernt werden. Normalerweise liefert sie die Spannung der Initialquelle, wenn diese aber entfernt wird, wird die Leitung auf Masse gelegt. Diese Leitung könnte dazu benutzt werden eine Erweiterung mit der Initialquelle zu versorgen, davon wird aber abgeraten.
2.5.7 Stromverbrauch
typisch | maximal | |
---|---|---|
Aus | 170 μA | 238 μA |
Standby | 50 mA | 75 mA |
Betrieb | 130 mA | 146 mA |
2.6 PORTFOLIOS ERWEITERUNGS PORT
Der Portfolio verwendet einen 60-Pin Erweiterungsanschluss der handelsübliche Erweiterungen aufnehmen kann. (Siehe Abschnitt 4 für weitere Einzelheiten zum aktuellen Umfang der Erweiterungen.)
2.6.1 Anschlussbelegung des Erweiterungssteckers.
Lage von Pin 1 - Wenn sie in Portfolios Erweiterungsport hineinschauen ist der obere rechte Pin Pin Nr.1, und der untere rechte Pin Pin 2.
ABUF | .1 | 2. | 5VS | |
REDY | .3 | 4. | VCC | |
BCOM | .5 | 6. | NCC1 | |
NMD1 | .7 | 8. | WAKE | |
DTR | .9 | 10. | DEN | |
PDET | .11 | 12. | IINT | |
CCLK | .13 | 14. | MRST | |
HLDA | .15 | 16. | HLDO | |
IACK | .17 | 18. | CDET | |
IOM | .19 | 20. | A19 | |
A18 | .21 | 22. | A17 | |
A16 | .23 | 24. | A15 | |
A14 | .25 | 26. | A13 | |
A12 | .27 | 28. | A11 | |
A10 | .29 | 30. | A9 | |
A8 | .31 | 32. | VRAM | |
HLDI | .33 | 34. | ALE | |
GND | .35 | 36. | NMIO | |
OA7 | .37 | 38. | OA6 | |
OA5 | .39 | 40. | OA4 | |
OA3 | .41 | 42. | OA2 | |
OA1 | .43 | 44. | OA0 | |
AD0 | .45 | 46. | AD1 | |
AD2 | .47 | 48. | AD3 | |
AD4 | .49 | 50. | AD5 | |
AD6 | .51 | 52. | AD7 | |
EINT | .53 | 54. | NRDI | |
VEXT | .55 | 56. | EACK | |
BATD | .57 | 58. | NWRI | |
5VS | .59 | 60. | BBUF |
2.6.2 Erklärung der Namen der Anschlüsse
Dieser Abschnitt erklärt die Funktionen des Erweiterungsports. Es werden Kenntnisse über 80C88 Minimum Mode vorausgesetzt. Detailliertes Timing der relevanten Signale können den Datenblättern von Mikroprozessoren entnommen werden, am besten OKI MSM80C88ARS-2.
REDY Ausgang Diese Leitung signalisiert der CPU, dass der Custom Chip bereit ist. Diese Leitung ist High-aktiv.
VCC Ausgang Dies ist die Stromversorgungsleitung für die Speicherkarten (CCM).
BCOM Ausgang Dies ist die Kommunikations Select Leitung, sie wird für Erweiterungen verwendet. Sie ist Low wenn I/O Adresse 807X angesprochen wird. Dieses Signal ist innerahalb von 100 ns aktiv, solange die I/O Adresse gültig ist (siehe Abschnitt
2.7). Die I/O Ports 807CH und 807FH haben speziell entwickelte Funktionen (Siehe Abschnitte 2.7.1 und 2.7.2) und stehen dem allgemeinen Gebrauch nicht zur Verfügung.
NCC1 Ausgang Dies ist die Chip Select Leitung für Speicherkarten (CCM). Sie ist Low wenn die externe Speicherkarte angewählt ist (siehe BCOM bzgl. Timing).
NMD1 Eingang Dies ist die Detect-Leitung für die externe Speicherkarte (CCM). Sie ist Low wenn eine Karte eingesteckt ist.
DTR Eingang/Ausgang Dies ist das Signal für die Datenrichtung des 80C88. Sie kann angesteuert werden wenn sich die CPU im Hold befindet.
DEN Eingang/Ausgang Dies ist das Data-Enable Signal des 80C88. Low signalisiert einen Datenzyklus. Sie kann angesteuert werden wenn sich die CPU im Hold befindet.
PDET Eingang Dies ist die Leitung zur Erkennung von Erweiterungen. Sie sollte für terminierende Erweiterungen die eine PID aufweisen auf High gehalten werden (siehe Abschnitt 2.7).
IINT Ausgang Dies ist die interne Interrupt Request Leitung zur CPU (INTR). Sie ist bei einem Interrupt Request auf High.
IACK Eingang/Ausgang Dies ist die Interrupt Acknowledge Leitung (INTA) des 80C88. Sie ist Low bei der Anfrage eines Interrupt Vektors nach einem IINT. Sie kann von externer Hardware angesteuert werden wenn sich die CPU im Hold befindet.
EINT Eingang Dies ist die externe Interrupt Request Leitung. Es kann von einer terminierenden Erweiterung auf High gesetzt werden um einen Interrupt anzufordern. Diese Leitung hat eine geringere Priorität als die On-Board Interrupts. Das Signal ist pegelgesteuert und sollte auf High gehalten werden bis der Interrupt ausgeführt wurde.
EACK Ausgang Dies ist die externe Interrupt Acknowledge Leitung des Portfolios. Sie wird Low um einen Interrupt Vektor nach einem EINT anzufragen. Es folgt ein /INTA auf dem Prozessor, allerdings um bis zu 40 ns verzögert.
CCLK Ausgang Dies ist der Haupttakt des Prozessors (4,9152 MHz, mit einem Tastverhältnis von 50%). Da der Takt stehen bleibt, wenn keine Aufgaben ausgeführt werden, sollte diese Leitung nicht von dynamischen Logikschaltungen verwendet werden. Sie kann dazu verwendet werden um Logikschaltungen in Erweiterungen zu synchronisieren. Im Halt-Modus ist diese Leitung High. Dieses Signal steht nur terminierenden Erweiterungen zur Verfügung.
MRST Ausgang Dies zeigt ein Zurücksetzten des Systems an. MRST ist normalerweise High, außer wenn eine Erweiterung angeschlossen wird. Die Erweiterung erfährt beim Anschließen einen kurzen Reset. Wenn eine Erweiterung angeschlossen wird, wird MRST High um einen System Reset anzuzeigen. MRST bleibt solange High wie die Reset-Taste gedrückt ist. Die Leitung ist auch High wärend der Computer eingeschaltet wird. Unter diesen Bedingungen bleibt MRST für über 300 ms High.
HLDI Eingang Dies ist die Hold Request Leitung und sie steuert den Hold-Modus des 80C88, sie kann von externer Hardware angesteuert werden um den System-Bus anzusprechen.
HLDO Ausgang Dies ist die Hold Request Leitung des 80C88. HLDO wird verwendet um einen Hold anzufordern.
HLDA Ausgang Dies ist die Hold Acknowledge Leitung des 80C88. Die Leitung wird High um anzuzeigen das der Bus frei ist. Dieser Zustand wird CPU Hold genannt.
WAKE Eingang Diese Leitung wird von Erweiterungen verwendet um den Portfolio wieder aufzuwecken nachdem er sich abgeschaltet hat. Sie wird auf Low gesetzt um den Wake-Up anzufordern. Wake-Up kann durch Warten auf eine abfallende Flanke auf MRST bestätigt werden. Es wird 300 - 400ms dauern bis der Wake-Up bestätigt wird. Nach der Bestätigung des Wake-Up muss diese Leitung wieder zurückgesetzt werden.
CDET Eingang Dieses Signal wird Low gehalten um dem Hauptrechner anzuzeigen, dass eine Speicherkarte (CCM) vorhanden ist.
IOM Eingang/Ausgang Dies ist die Memory Access Select Leitung des 80C88. Wenn diese Leitung High ist, so findet ein I/O Zyklus statt, wenn sie Low ist, ein Speicherzyklus. Sie kann angesteuert werden wenn sich die CPU im Hold befindet.
VRAM Ausgang Dies ist die Stromversorgung des RAM. Sie erhält den Speicher wenn die Batterien entfernt werden, deshalb sollten hier nur Ströme im µA-Bereich abgegriffen werden.
5VS Ausgang Dies ist ein 5V Schaltausgang, es gibt zwei 5VS Leitungen.
GND Ausgang Dies ist die Signal Masse Leitung.
VEXT Ausgang Dies ist die Leitung der externen Spannungsversorgung.
ALE Eingang/Ausgang Dies ist das Address Latch Signal der CPU. Es latcht den Adressbus bei abfallender Flanke. Diese Leitung sollte angesteuert werden wenn sich die CPU im Hold befindet.
A8 - A19 Eingang/Ausgang Dies sind die oberen Leitungen des Adressbusses der CPU. Sie können angesteuert werden wenn sich die CPU im Hold befindet.
AD0 - AD7 Eingang/Ausgang Dies ist der gemultiplexte Adressen/Daten Bus der CPU. Sie können angesteuert werden wenn sich die CPU im Hold befindet.
OA0 - OA7 Ausgang Dies sind die unteren gelatchten Adress Leitungen.
NRDI Eingang/Ausgang Dies ist das /RD Signal des 80C88. Wärend eines CPU Zyklus wird es Low. Diese Leitung kann angesteuert werden wenn sich die CPU im Hold befindet.
NWRI Eingang/Ausgang Dies ist das /WR Signal des 80C88. Wärend eines CPU Schreib-Zyklus wird es Low. Diese Leitung kann angesteuert werden wenn sich die CPU im Hold befindet.
BATD Ausgang Dies ist die Batterie-Erkennungs-Leitung. Sie wird Low, wenn die Batterien entfernt werden ohne das ein Netzteil angeschlossen ist. Diese Leitung kann verwendet werden um einen versehentlichen Verlust des RAM zu verhindern.
ABUF/BBUF Eingang Dies sind Anschluss-Erkennungsleitungen. Eine terminierende Erweiterung sollte diese Anschlüsse auf die 5VS Leitung legen. (Siehe Abschnitt 2.7 bzgl. Erweiterungsentwicklung).
NMIO Ausgang Dies ist die nicht maskierbare Interrupt Request Leitung des 80C88.
2.6.3 Vergleich zwischen IBM und Portfolio Erweiterungsbus
Der IBM PC und der Portfolio Erweiterungsbus entsprechen einander, allerdings sind die Inplementierungen dieser Busse sehr unterschiedlich. Siehe folgenden Vergleich:
IBM PC | Portfolio |
a) I/O ist teilweise dekodiert | Die I/O MUSS vollständig dekodiert sein, viele der Portfolio Register befinden sich im 8xxxH-Bereich, darum sollte Erweiterungshardware nicht irrtümlicherweise auf einen Zugriff in diesen Bereich antworten. |
b) A0 - A19 sind gelatchte Adressen | OA0-OA7 sind gelatchte Adressen; A8 - A19 sind direkte Adressleitungen vom Prozessor. |
c) D0 -D7 sind gepufferte Datenleitungen | AD0 - AD7 sind gemultiplexte direkt Adress/Daten -Leitungen vom Prozessor |
d) IRQ2 - IRQ7 sind Eingänge am Interrup-Controller | EINT/EACK erlauben den Anschluss von Erweiterungen mit einem Interrupt-Controller |
e) IOR/IOW/MEMR/MEMW sind MAX-Modus Bussteuerungsleitungen | NRDI/NWRI/IOM sind MIN-Modus Bussteuerungsleitungen. |
f) DRQ1 - DRQ3/DACK0 -DACK3/ AEN/TC sind DMA Steuerregister | Keine Entsprechenden Signale, obwohl es genügend Steuerleitungen gibt um eine DMA Steuerung auf einer Erweiterung zu realisieren. |
g) I/O CH RDY fügt Wartezustände für langsamere I/O ein | Kein entsprechendes Signal |
h) ALE ist Address Latch Enable | ALE ist Adress Latch Enable |
i) OSC ist ein 14,31818 MHz Takt | Kein entsprechendes Signal |
J) Takt ist 4,77 MHz, Tastverh. 33% | Takt ist 4,9152 MHz, Tastverh. 50% mit Halts |
k) I/O CHK CK | Kein Signal |
2.7 ENTWICKLUNG VON ERWEITERUNGEN
Es gibt zwei Arten von Erweiterungen die an den Portfolio angeschlossen werden können. Diese Erweiterungen führen den Erweiterungsbus durch (Durchführende Erweiterungen) oder nicht (Terminierende Erweiterungen). Zur Entwicklung dieser Erweiterungen müssen unterschiedliche Erwägungen in Betracht gezogen werden. Anhang C illustriert ein Beispiel für die Entwicklung einer Erweiterung (siehe Abschnitt 3.5 für Softwarebetrachtungen).
2.7.1 Terminierende Erweiterungen
Eine Erweiterung dieser Art signalisiert seine Anwesenheit an den Portfolio indem er die PDET-Leitung auf High legt. Wenn PDET auf High liegt, erwartet der Portfolio einen Erweiterungs Identifier (PID). Dieser wird von I/O Adresse 807FH gelesen. Die zurückgelieferte Zahl muss im Bereich zwischen 40H-7FH liegen. Beachten sie bitte, dass Zahlen unter 40H oder über 7FH für den Gebrauch durch Atari reserviert sind nicht für Portfolio-fremde Anwendungen genutzt werden dürfen.
Ein Auslesen der Adresse 807FH darf von KEINER Erweiterung in IRGEND einer Weise als die oben beschriebene erfolgen. Wenn möglich, sollte nur OA0-OA3 für die Dekodierung des Registers benutzt werden, wärend die vordekodierte BCOM-Leitung für die höheren Adressleitungen verwendet werden sollte.
Eine Terminierende Erweiterung kann eine ROM-Erweiterung besitzen die Softwareunterstützung enthält. Dies eliminiert die Notwendigkeit Software getrennt liefern zu müssen. Der Chip-Selekt Anschluss des ROM sollte an NCC1 angeschlossen werden. Zu verschiedenen Zeitpunkten wärend des Boot-Vorgangs wird der ROM auf spezielle Identfier geprüft, wenn sie zur Verfügung stehen wird die Software auf dem ROM ausgeführt.
Die PIDs sind wie folgt zugewiesen:
PID | Peripheral |
00H | Kommunikationskarte |
01H | serielle Schnittstelle |
02H | parallele Schnittstelle |
03H | Drucker |
04H | Modem |
05-3FH | Reserviert |
40-7FH | Benutzererweiterungen |
80H | Dateiübertragungsschnittstelle |
81-FFH | Reserviert |
Für handelsübliche Benutzererweiterungen kann eine eigene PID Nummer zugewiesen werden, indem man an den Atari Portfolio Produkt Manager schreibt und die Verwendung der Erweiterung beschreibt.
Der Portfolio hat nur einen begrenzt gepufferten Erweiterungsbus. Um den besten Nutzen daraus zu ziehen sollten folgende Regeln beachtet werden:
i) ABUF und BBUF sollten an die anliegenden 5VS-Leitungen gelegt werden. Dies hält den Prozessor an wärend die Erweiterung halb eingesteckt ist.
ii) Wenn möglich nur OA0-OA3 für die Dekodierung der Erweiterungsregister verwenden und die vordekodierte BCOM Leitung für die höheren Adressen.
iii) Erweiterungen die die externe Interrupt Einrichtung verwenden, sollten durch MRST in einen Zustand zurückgesetzt werden, indem Interrupts unterbunden werden bis die Interrupt-Vektoren festgelegt sind. Dies verhindert, dass falsche Interrupts ausgeführt werden bevor die Vektoren gesetzt sind.
2.7.2 Durchführende Erweiterungen
Bei diesen Erweiterungen wird der Systembus weitergeführt, so dass weitere Erweiterungen an das System angeschlossen werden können. Eine Speichererweiterung wäre ein Beispiel für eine solche Erweiterung. Damit terminierende Erweiterungen richtig funktionieren, sollten folgende Empfehlungen berücksichtigt werden wenn eine durchführende Eweiterung entwickelt wird:
i) ABUF und BBUF sollten nicht mit 5VS verbunden werden, sondern direkt durchgeführt werden.
ii) Falls OA0-OA3 bei der Erweiterung benutzt werden, sollten sie vor dem Bus-Ausgang gepuffert werden.
iii) PDET sollte nicht mit 5VS verbunden werden, sondern direkt durchgeführt werden.
iv) Die I/O Adressen 8070-807F sollten nicht verwendet werden, wegen der Kompatibilität zu terminierenden Erweiterungen die diese Adressen ansprechen (so wie die seriellen und parallelen Schnittstellen). 807C kann verwendet werden wie weiter unten unter vi beschrieben.
v) „durchführende“ Erweiterungen riskieren das System zum Absturz zu bringen weil es so gut wie keine Pufferung gibt. Deshalb wird empfohlen diese Erweiterungen nur aufzustecken oder zu entfernen wenn der Portfolio ausgeschaltet ist.
vi) Um sicherzustellen, dass ROM Erweiterungen in terminierenden Erweiterungen richtig funktionieren, müssen durchführende Erweiterungen die ein Speicherkartenlaufwerk montiert haben eine Logik zur Verfügung stellen die folgende Regeln einhält:
Ein Schreiben von 0 in 807CH bewirkt, dass NCC1 zum Busausgang durchgeführt wird.
Ein Schreiben von 1 in 807CH bewirkt, dass NCC1 zum Speicherkartenlaufwerk geführt wird.
2.7.3 Verwendung von DMA Controllern
DMA kann durch den Einsatz von HLDI/HLDA am Erweiterungsbus implementiert werden. Es wird allerdings empfohlen folgendes zu beachten:
i) Die DMA Logik sollte Gebrauch von der REDY Leitung machen. Wenn REDY Low ist steht der Speicher nicht zur Verfügung und die DMA Logik sollte warten bis REDY wieder High ist.
ii) Wenn der Systemtakt (CCLK) angehalten ist sollte kein DMA stattfinden.
iii) Die Meisten Leitungen die wärend eines Holds der CPU angesteuert werden können, floaten wärend des Holds. Es ist zu empfehlen, dass folgende Leitungen für die DMA Logik verwendet werden: IOM, NRDI, NWRI und ALE.
2.7.4 Verwendung von Interrupt-Contollern
Dem Portfolio können Interrupt Controller über den Erweiterungsbus hinzugefügt werden. Die Erweiterung kann die EINT/EACK Signale als INTR/INTA betrachten. Folgendes sollte beim Entwickeln von Erweiterungen mit Interrupt Controllern beachtet werden:
i) Es ist ratsam nicht die vom IBM PC/AT für Interrupts verwendeten Adressen in der Erweiterung zu benutzen. Diese sind O20H-O3FH und OA0H-OBFH.
ii) Auf dem Portfolio werden keine Interrupts bedient wenn dieser ausgeschaltet, oder der CPU-Takt angehalten ist. Über die WAKE Leitung kann der CPU-Takt gestartet, und der Portfolio eingeschaltet werden. Zukünftige Implementierungen des Portfolio könnten es ermöglichen den System-Takt und den Portfolio durch externe Interrupts automatisch zu starten.
2.8 LCD BILDSCHIRM
Der Portfolio verwendet eine 240 x 64 Pixel LCD Anzeige mit „Super-Twist“ Technologie. Dies entspricht 8 Zeilen á 40 Zeichen Textanzeige.
Die Schaltung beinhaltet einen LCD-Bildschirm mit eigenem RAM-Chip und Character-ROM, so gestaltet, dass sie möglichst kompatibel zum monochromen Bildschirm Adapter (MDA) des IBM-PC ist. Dieser RAM ist nicht direkt im Adressraum des 80C88, er wird aber verwendet um eine interne Darstellung des Bildschirms zu speichern. Das BIOS schreibt in dieses RAM durch den Bildschirm-Controller Chip wärend BIOS-Aufrufen und Screen Refreshes (siehe Abschnitt 3.7).
Die LCD Schaltung hat folgende Eigenschaften:
- Vollständiger, erweiterter IBM PC Zeichensatz (siehe Anhang B)
- Virtuelle 80×25 MDA Bildschirm-Seite mit verschiedenen Bildschirm-Modi
- PC-BIOS-kompatible Pixel Set/Reset Funktion für Grafik
- jedes Zeichen ist als 6×8-Array implementiert
- Software-gesteuerter Kontrast
- Block- oder Unterstrich-Cursor
Anmerkung: Bildschirm-Textattribute und verschiedene Cursor-Modi werden vom Portfolio nicht unterstützt.