-
Die
vorliegende Erfindung betrifft allgemein ein Verfahren und eine
Vorrichtung zur Überwachung und
Steuerung von Personal-Computern (PCs), und insbesondere ein Verfahren
und eine Vorrichtung, die es ermöglichen,
auf einen PC, an den die Vorrichtung angeschlossen ist (nachfolgend „Host-PC" genannt), aus der
Ferne zuzugreifen, ihn neu zu starten, zu betreiben und zu steuern,
von einem anderen PC aus (nachfolgend „Fern-PC" genannt), über das öffentliche Telefonnetz oder
eine Direktleitung. Die Erfindung ermöglicht dem Fern-PC auch, auf
die Hostverarbeitungsstatusinformation zuzugreifen und/oder den
Host-PC ohne Unterstützung
der Zentraleinheit (CPU) des Host-PCs neu zu starten (d.h. neu zu
booten). Insbesondere betrifft die vorliegende Erfindung ein System
gemäß dem Oberbegriff
des Anspruchs 1 und ein Verfahren gemäß dem Oberbegriff des Anspruch
4.
-
Gegenwärtig sind
Millionen von PCs in Gebrauch. Jeder PC umfaßt verschiedene Hardwarekomponenten,
einschließlich
einer CPU, einer Tastatur, einer Maus, einer Graphikkarte/-schaltung
(nachstehend „Bildschirmkarte" genannt), eines
Videoanzeigegeräts
(nachstehend „Bildschirmgerät" genannt) und eines
oder mehrerer Massenspeichergeräte(s).
Andere spezielle Hardwaregeräte
wie ein Modem, eine Voice- oder Sound-Karte können an den PC angeschlossen
oder in diesen eingebaut werden.
-
Gegenwärtig ist
ein Bildschirmgerät
normalerweise ein Analog- oder ein TTL-Bildschirm (digital) und wird an die
15-Pin- oder 9-Pin-Buchse der Bildschirmkarte eines PCs angeschlossen.
Die Bildschirmkarte sendet die Videoinformation an das Bildschirmgerät normalerweise
in einem monochromen, CGA-, EGA- oder
VGA-Format, das dem Fachmann vertraut ist. Diese Erfindung beschränkt sich
aber nicht auf diese Videoformate und funktioniert mit jedem Videoformat,
wenn sie korrekt konfiguriert ist.
-
Es
gibt im wesentlichen zwei verschiedene Verfahren, um aus der Ferne
auf PCs zuzugreifen und diese von anderen PCs aus zu steuern. Erstens kann
eine Netzschnittstellenkarte oder ein Netzschnittstellengerät in einen
PC eingebaut oder an diesen angeschlossen werden. Dieses Schnittstellengerät wird dann
mit einem Kabel oder, bei einem drahtlosen Netzschnittstellengerät, per Funk
mit anderen PCs verbunden, die an ein lokales Netzwerk (LAN) angeschlossen
sind. All diese Geräte
erfordern Host-CPU-Unterstützung
(über eine
Netzschnittstellensoft ware, die im Speicher des PCs installiert
ist), damit ein Fern-PC auf einen Host-PC zugreifen oder diesen steuern kann.
Dem Fachmann ist dieses Verfahren als „Peer-to-Peer-Netzwerkbetrieb" bekannt.
-
Zweitens
kann ein speicherresidentes Softwaresystem auf einem Host-PC mit
Zugang zu einem Modem installiert sein, das dem Host-PC erlaubt,
von einen anderen Fern-PC mit Zugang zu einem Modem und einer kompatiblen
speicherresidenten Schnittstellensoftware, die auf dem Fern-PC ausgeführt wird, über eine
Standardtelefonleitung aus der Ferne gesteuert zu werden. Auch in
diesem Fall hängt
die Fähigkeit
des Fern-PCs, den Host-PC zu steuern und auf diesen zuzugreifen,
von der CPU-Unterstützung beider
PCs ab, und vom speicherresidenten Softwaresystem, das auf dem Host-PC
vorinstalliert sein muß,
um einen eingehenden Anruf vom Fern-PC zu erkennen und zu verarbeiten.
-
In
vielen Fällen
ist die Steuerung eines PCs aus der Ferne nicht immer praktisch
oder möglich. Viele
PC-basierte Anwendungsprogramme nehmen einen PC voll in Anspruch
und können
aufgrund von Speicherbeschränkungen
oder anderer Verarbeitungskonflikte nicht mit diesen Softwaresystemen
zusammenarbeiten, die den Fern-PC-Zugriff ermöglichen. Selbst bei erfolgreicher
Installation der erforderlichen Host- und Fernzugriffsschnittstellensoftware
verliert der Fernbenutzer sofort den Zugriff auf das Hostsystem,
wenn der Hostprozessor abstürzt
oder anderweitig ausfällt.
In solchen Fällen
ist der Fernbenutzer nicht in der Lage, aus der Ferne auf die Information
zuzugreifen, die nach dem Absturz auf dem Bildschirm des Host-PCs
angezeigt wird. Die auf dem Bildschirm angezeigte Information zeigt
aber in der Regel an, warum der Fehler aufgetreten ist, und den Verarbeitungsstatus
zum Zeitpunkt des Fehlers, und kann daher besonders nützlich sein,
um den Fehler zu analysieren und künftige vergleichbare Ausfälle zu vermeiden.
-
Gegenwärtig sind
zahlreiche PC-Überwachungssysteme
verfügbar,
um bestimmte Personen über
Anrufmelder, voraufgezeichnete Voice-Alarme oder E-Mail zu alarmieren,
wenn ein PC oder eine auf einem PC laufende Anwendung ausgefallen
ist. Wenn solche Ausfälle
auftreten, können
die benachrichtigten Personen sich an fernen Orten (z.B. zu Hause)
aufhalten und nicht in der Lage sein, physikalisch auf den ausgefallenen
PC zuzugreifen.
-
Wenn
ein Fehleralarm auftritt, haben die alarmierten Personen typischerweise
Zugang zu einem Fern-PC, können
aber nicht in der Lage sein, auf den gewünschten Host-PC zuzugreifen,
weil die Host-CPU abgestürzt
ist und nicht mehr auf Benutzereingaben reagiert, die auf dem Hostsystem
laufende Anwendung den Fern-PC-Zugriff nicht unterstützt oder
zuläßt, oder
die Software, die benötigt
wird, damit ein Fern-PC auf einen Host-PC zugreifen kann, nicht
auf dem Hostsystem installiert ist. Wenn eine Host-CPU abgestürzt ist
oder ein Programmfehler aufgetreten ist, werden häufig wichtige
Informationen zur genauen Art des Problems, das aufgetreten ist, auf
dem Bildschirm des PCs angezeigt. Normalerweise muß diese
Information gelesen und/oder analysiert werden, bevor Korrekturmaßnahmen
ergriffen werden. Es sind gegenwärtig
Geräte
verfügbar,
die den Neustart eines PCs aus der Ferne oder automatisch erlauben,
wodurch in vielen Fällen
nach der Alarmmeldung eine normale Verarbeitung wiederhergestellt
werden kann. Doch verwenden alarmierte Personen diese Geräte nur ungern,
ohne zuvor den Bildschirm des PCs geprüft zu haben, um zu erkennen,
was diesen Fehler verursacht haben kann, damit ähnliche Fehler vermieden werden
können.
In anderen Fällen
kann die Information auf dem Bildschirm erforderlich sein, um eine
Anwendung von dem Punkt an, wo der Fehler aufgetreten ist, neu zu
starten.
-
Viele
PC-Benutzer haben andere PCs aus der Ferne zu überwachen und zu steuern, wobei
es aufgrund von Verarbeitungseinschränkungen oder Beschränkungen
nicht möglich
sein kann, für
den Fernzugriff einen bestimmten PC den Prozessor des PCs zu nutzen.
Zum Beispiel kann eine Bank aus Sicherheitsgründen wünschen, daß die PC-Nutzung durch die
Kassierer oder Kreditbearbeiter von einem zentralen, fernen Ort
aus überwacht
wird. Als zweites Beispiel kann ein Netzwerkmanager wünschen,
die Aktivitäten
eines bestimmten Netzwerkdateiservers oder einer Bandsicherungsstation
regelmäßig aus der
Ferne zu überwachen
und zu steuern. Als drittes Beispiel können unerfahrene PC-Benutzer
vor Ort ein einfaches Mittel benötigen,
das dem PC-Wartungspersonal für
den Fall, daß Probleme
oder Fehler auftreten, einen umfassenden Zugriff auf ihre PCs ermöglicht,
und insbesondere auf einen Netzwerkdateiserver.
-
Es
sind zahlreiche Softwaresysteme verfügbar, um einen PC mit anderen
PCs zu verbinden, mit Modems, die über eine Standardtelefonleitung
miteinander verbunden sind. Diese Systeme erlauben die Steuerung
eines Host-PCs durch einen Fern-PC. Diese Softwaresysteme verwenden
spezielle Funktionstasten und Menüs, die diesen Produkten erlauben,
einen Host-PC von einem Fern-PC aus zu betreiben, als säße der Fernbenutzer
physikalisch vor dem Host-PC. Beispiele für solche Softwarepakete sind
CrosstalkTM, entwickelt von Digital Communications
Associates, Inc., 1000 Alderman Dr., Alpharetta, GA 30202-1000 (404442-4000);
Procomm PlusTM, entwickelt von Datastorm
Technologies Inc., 3212 Lemone Blvd, Columbia, MO 65201, (314443-3282); oder
UnicomTM, entwickelt von Data Graphics,
P.O. Box 58517, Renton, WA 98058 (206-432-1201). Jedes dieser Produkte
benötigt
Verarbeitungsunterstützung
und Speicher vom Host-PC und hält
an, wenn die Hostverarbeitung abstürzt oder ausfällt. Wenn diese
Produkte nicht auf dem Host-PC vorinstalliert sind, ist kein Fernzugriff
möglich,
und diese Produkte sehen nicht die Speicherung eines Bildschirmprotokolls
oder eines aktiven Bildschirms vor, falls ein PC abstürzt. Schließlich gehen
diese Produkte von einer softwarebasierten Tastatur- und/oder Maussteuerung aus,
im Gegensatz zur physikalischen Steuerung der Tastatur und/oder
Maus des PCs, die weniger einschränkend ist.
-
Es
sind Netzwerksoftware-Hilfsprogramme vorhanden, die einer Arbeitsstation
erlauben, auf eine andere Arbeitsstation zuzugreifen, die am Netzwerk
angeschlossen ist, und deren Aktivität zu steuern. Zu den Produkten,
die in diese Kategorie fallen, gehören Carbon CopyTM for
LANs, entwickelt von Microcom Inc., 500 River Ridge Drive, Norwood,
MA 02062 (617-551-1000); und Map Assist, entwickelt von Fresh Technology
Company, 1478 North Tech Boulevard, Suite 101, Gilbert Arizona,
85234 (602-4974200). Wie die anderen Hilfsprogramme für den Fernzugriff
setzen diese Produkte voraus, daß Software im Speicher des
Host-PCs resident
ist, um betrieben werden zu können.
Weder die Fernsteuerung noch der Zugriff sind möglich, wenn der Host-PC abstürzen oder
ausfallen sollte.
-
Es
sind Hilfsprogramme vorhanden, um Graphikbilddaten, die mit Dokumentenscannern
erfaßt wurden,
in Textdaten umzuwandeln, damit die erhaltenen Textdaten mit Textverarbeitungsprogrammen manipuliert
und bearbeitet werden können.
Beispiele für
solche Programme sind OmniPage ProfessionalTM,
entwickelt von Caere Corp, 100 Cooper Ct., Los Gatos, CA 95030 (408-395-7000);
Perceive, entwickelt von Ocron, 3350 Scott Blvd., #36, Santa Clara,
CA 95054; TypeReaderTM, entwickelt von ExperVision
Inc., 3590 N. First St., San Jose, CA 95134 (408-428-9444); und
WordScanTM Plus, entwickelt von Calera Recognition
Sy stems, 475 Potrero Ave., Sunnyvale, CA 94086 (408-720-8300). Diese
Programme erhalten ihren Eingabedaten aus der digitalisierten Ausgabe
von statischen Datendateien, die von Dokumentscannern erzeugt werden,
im Gegensatz zur Erfassung, Decodierung und anschließenden Umwandlung
in Text der Ausgabesignale der Bildschirmkarte/-schaltungen eines
PCs (d.h. in Echtzeit). Zudem sind diese Hilfsprogramme auf die CPU-Unterstützung des
PCs angewiesen, auf dem sie installiert sind, können keine auf den Verarbeitungsstatus
bezogene Daten übertragen,
wenn der PC ausfällt,
und bieten keine Fernsteuerung der Tastatur- und/oder Maus.
-
Es
sind Geräte
vorhanden, welche die Verwendung einer zentralen Tastatur und eines
zentralen Bildschirmgeräts
erlauben, um auf mehrere PCs zuzugreifen und diese zu steuern. Beispiele
für solche
Produkte sind CommanderTM, entwickelt von Cybex
Corporation, 2800-H Bob Wallace Ave. Huntsville, Alabama (205-534-0011); Master
ConsoleTM, entwickelt von Raritan Computer,
Inc., 10-1 Ilene Court, Belle Mead, NJ 08502; und Plex, entwickelt von
Data Vision Inc., 370 West Camino Gardens Blvd, Boca Raton, Florida,
33432 (407-482-3996). Diese Produkte erfordern, daß die Tastatur
und die PC-Schnittstellenkabel direkt mit einem oder mehreren physikalischen
Kabelumschaltgerät(en)
verbunden werden. Die Bildschirmkartensignale werden lediglich verstärkt und
als Videosignale über
die direkten dedizierten Kabel übertragen.
Es wird kein Versuch unternommen, die Signalausgabe der Bildschirmkarte
in eine digitale Form umzuwandeln, die zur Übertragung über das öffentliche Telefonnetz oder
andere Kommunikationsnetze geeignet ist. Desgleichen wird die von
der Zentraleinheit genutzte Tastatur durch lokale Leitungen direkt
mit jedem gesteuerten PC verbunden, und es wird kein Versuch unternommen,
um Tastaturen über
das öffentliche
Telefonnetz zu steuern oder beide Tastaturen an der Fernkonsole
und am Host-PC zu unterstützen.
-
Es
sind Geräte
vorhanden, die ein zusammengesetztes (TV) Videosignal über eine
Telefonleitung übertragen.
Zu diesen Produkten gehören
Phone Viewer, vertrieben von Home Automation Lab, 5500 Highlands
Pkwy, Suite 450, Symrna, GA 30082-5141, und AT&T's
Bildtelefon, entwickelt von AT&T,
14250 Clayton Road, Baldwin, Missouri 63011, 1-800437-9504. Diese
Produkte verwenden eine Videokamera, die periodisch ein Bild erfaßt, das
dann zum Bildtelefon des Fernanrufers übertragen wird. Diese Systeme
wandeln die erfaßten
Videokamerabilder in Graphikbilder um, die Bitabbildungen sind. Es
wird kein Versuch unternom men, um die erfaßten Daten in Textdaten umzuwandeln.
Zudem sind diese Produkte nicht in der Lage, die Videosignale zu
decodieren und zu übertragen,
die von der Bildschirmkarte eines PCs erzeugt werden. Wenn diese
Produkte lediglicht benutzt werden, um eine Momentaufnahme des PC-Bildschirms
zu erzeugen, ist die Übertragung der
erhaltenen Daten langsam und von schlechter Qualität, vor allem,
wenn sich die Videoausgabe des PCs während der Momentaufnahme geändert hat. Zudem
bietet keines dieser Produkte eine PC-Tastatur/Maus-Telefonschnittstelle,
die zur Steuerung eines Fern-PCs notwendig ist. Selbst wenn eine
solche Schnittstelle vorhanden wäre,
würde der
Benutzer eine separate Telefonleitung benötigen, um auf den Fern-PC zuzugreifen,
um nicht die Übertragung
der Videographik-Bilddaten zu stören,
die aus der zusammengesetzten Videomomentaufnahme abgeleitet wurden.
-
Es
sind Geräte
vorhanden, welche die Erfassung eines Videosignals von einem externen
analogen Videoaufnahmegerät,
wie z.B. einer Videokamera, durch einen PC erlauben, und die Umwandlung des
Signals in ein digitales Format, das zur Anzeige auf dem Bildschirmgerät des PCs
geeignet ist, mit einer Videoerfassungskarte, die in den PC gesteckt wird.
Ein solches Gerät
ist der Smart Video Recorder, hergestellt von Intel Corp., P.O.
box 58130, Santa Clara, CA 95052 (800-955-5599). Diese Geräte erfordern ein dediziertes
Kabel, das direkt zwischen der Videoerfassungskarte und dem Videoaufnahmegerät verbunden
ist, und keines dieser Produkte bietet eine PC-Tastatur/Maus-Telefonschnittstelle,
die notwendig wäre,
um einen Fern-PC zu steuern.
-
Es
sind zahlreiche Geräte
vorhanden, die den Neustart eines PCs aus der Ferne erlauben, wie der
Sentry Remote Power Manager, entwickelt von Server Technology, 2332-B
Walsh Ave., Santa Clara, CA 95051 (408-988-0142), Tone Operated
Switch (TOPS), entwickelt von Black Box Corp., P.O. Box 12800, Pittsburgh
PA 15241 (412-746-5530), oder TELEBOOT, entwickelt von Fox Network
Systems, 15200 Shady Grove Road, Suite 350, Rockville Md 20750 (301-924-2264).
Ein solches System wird in der US-Patentschrift Nr. 5,566,399 vom
23. Oktober 1992 beschrieben, die an den Abtretungsempfänger der
vorliegenden Erfindung abgetreten wurde. Diese Geräte bieten
aber nicht die Möglichkeit
der Fernvideoanzeige und weisen keine Tastatur-/Mausschnittstelle
auf.
-
Die
US-Patentschrift Nr. 5,153,886 von Tuttle offenbart ein System und
ein Verfahren zur Verarbeitung von Videoanzeigesignalen, das für Regressionstests
von Computerhardware und/oder Softwareanwendungen verwendet wird.
Das von Tuttle offenbarte System ist aber auf die Verbindung zur
internen Videoadapterschaltung angewiesen und wird nicht betrieben,
um die Videorastersignale zu interpretieren, die von der Videoadapterschaltung
erzeugt werden. Zudem ist das von Tuttle offenbarte System aufwendig,
da eine Steckkarte in den zu testenden Computer eingebaut werden
muß, und
läßt sich
nicht einfach über
die vorhandenen Standardschnittstellenanschlüsse an einen Rechner anschließen.
-
Die
US-Patentschrift 5,084,875 von Weinbert et al. offenbart ein System,
um Kopier von einem fernen Ort aus automatisch zu überwachen
und den Betrieb eines Kopierers aus der Ferne zu erlauben. Weinbert
et al. offenbaren aber kein System, das für die Fernüberwachung und -steuerung eines
Personal-Computer-Systems oder Netzwerks geeignet ist, und kein
System, das die von einem Ferncomputersystem erzeugten Videorastersignale überwachen und
weiterleiten kann.
-
Die
US-Patentschrift Nr. 5,124,622 von Kawamura et al. offenbart eine
Vorrichtung zur Ferndiagnose einer numerischen Vorrichtung. Doch
auch Kawamura et al. offenbaren kein System, das die von einem Ferncomputersystem
erzeugten Videorastersignale überwachen
und weiterleiten kann. Außerdem
offenbaren Kawamura et al. kein System, das zur Fernüberwachung
und -steuerung eines Personal-Computer-Systems
oder Netzwerks verwendet werden kann.
-
Die
US-Patentschrift Nr. 5,237,677 von Hirosawa et al. offenbart eine
Vorrichtung und ein Verfahren zur Überwachung und Steuerung eines
Datenverarbeitungssystems, bei dem eine automatische Fehlermeldung
an ein Überwachungs-/Steuersystem erfolgt,
das sich an einem fernen Ort befindet. Hirosawa et al. offenbaren
aber kein System, das in der Lage ist, die von einem Ferndatenverarbeitungssystem
erzeugten Videorastersignale zu überwachen.
-
Die
FR 2 672 707 A1 offenbart
ein Verfahren zur Fernwartung oder Fernsteuerung eines Host-Computers.
Das vom Host-Computer erzeugte und von einem zugehörigen Anzeigeterminal
empfangene Videosignal kann vom Host-Computer in Digitalsignale
umgewandelt und über
ein Modem im Host-Computer an einen Ferncomputer gesendet werden.
Der Host-Computer kann ferner Fernsteuerkom mandos über das
Modem empfangen. Der Host-Computer führt die gesamte Datenverarbeitung und
den gesamten Datenaustausch selbst durch, d. h. mit seinem eigenem
Mikroprozessor. Wenn der Host-Computer abgestürzt ist, ist eine Wartung oder Steuerung
nicht mehr möglich.
-
Die
US 4,057,847 offenbart eine
universelle, fernsteuerbare Testschnittstelleneinheit, die Signale von
einer entfernten Zentralprozessoreinheit empfängt und die Signale in ein
kompatibles Schnittstellenformat zur Verwendung in einem zugeordneten Zentralprozessorsystem
konvertiert. Die Testeinheit ist vorzugsweise an eine Konsole des
Zentralprozessorsystems und die Schnittstelle der I/O-Einheit des Zentralprozessorsystems
angeschlossen. Die Testeinheit gestattet es nicht, das Zentralprozessorsystem
neu zu starten.
-
Die
JP 03-276342 A offenbart ein Hauptsystem zur Fernsteuerung eines
entfernten Systems mit einem Computer. Ein Betätigungssignal von einer Tastatur
wird in dem Hauptsystem in ein Übertragungssignal
konvertiert. Das Übertragungssignal wird über eine
Kommunikationsleitung zu einer Fern-Wiederherstellungs-Einheit am
entfernten System übertragen.
Das dekodierte Signal wird an einen Eingabevorrichtungsanschluß des Computers
geleitet. Ein Videoausgabesignal von dem Computer wird kodiert und über eine
Kommunikationsleitung an das Hauptsystem übertragen. Wenn der entfernte
Computer abgestürzt
ist, ist eine Wartung oder Steuerung nicht mehr möglich.
-
Aufgabe
der vorliegenden Erfindung ist es, ein verbessertes System und ein
verbessertes Verfahren zur Fernsteuerung eines Datenverarbeitungsgeräts an einem
entfernten Ort anzugeben.
-
Die
obige Aufgabe wird durch ein Computerüberwachungssystem gemäß Anspruch
1 oder durch ein Verfahren gemäß Anspruch
4 gelöst.
Bevorzugte Weiterbildungen sind Gegenstand der Unteransprüche.
-
Insbesondere
gestattet die Erfindung einen Kaltstart des gesteuerten Datenverarbeitungsgerätes, wie
eines Host-PC, sogar wenn das Gerät bzw. der PC abgestürzt ist.
-
Die
vorliegende Erfindung ermöglicht
einem Fern-PC, auf einen Host-PC zuzugreifen und diesen zu steuern.
Das System umfaßt
ein mikroprozessorgesteuertes Computerhardwaregerät (nachstehend „Hosteinheit" genannt), Softwareprogramme,
die auf dem Host-PC ausgeführt
werden, und Softwareprogramme, die auf dem Fern-PC ausgeführt werden.
-
Die
Verbindung zwischen einem Host-PC und einem Fern-PC kann durch eines
von zwei Mitteln hergestellt werden. Als erstes Mittel wird ein
Modem an die serielle Schnittstelle des Fern-PCs angeschlossen,
und ein kompatibles Modem wird an die Datenschnittstelle der Hosteinheit
angeschlossen. Auf diese Weise kann ein Fern-PC über eine Standardtelefonleitungsverbindung
zwischen beiden Modems mit einer Hosteinheit verbunden werden. Dieses
Mittel wird nachstehend „Modemverbindung" genannt.
-
Als
zweites Mittel kann ein Fern-PC direkt durch ein dediziertes Kabel
von einem Datenübertragungsanschluß des PCs
(z.B. eine serielle Schnittstelle oder Parallelschnittstelle) zur
Datenschnittstelle an der Hosteinheit verbunden werden. Dieses Mittel
wird nachstehend „Direktleitungsverbindung" genannt. Die Direktleitungsverbindung
unterstützt
höhere
Datenübertragungsgeschwindigkeiten
als die Modemverbindung, und die Direktleitungsverbindung erfordert
nicht die Verwendung von Modems. Die Direktleitungsverbindung bietet
aber nicht die gleiche Flexibilität für den Fernzugriff auf die Hosteinheit
wie die Modemverbindung.
-
Die
Hosteinheit umfaßt
einen eigenen Mikroprozessor (oder andere Rechenschaltkreise) zum
Erfassen, Interpretieren und Speichern der Information aus der Videorastersignalausgabe
der Bildschirmkarte des Host-PCs (wobei ein Videorastersignal das
Videoausgabesignal einer Bildschirmkarte ist, das direkt in ein
Bildschirmgerät
eingegeben wird), die auf dem Bildschirm eines Host-PCs angezeigt
wird. Die auf diese Weise gesammelten Bildschirmdaten erlauben einem
Fernbenutzer, auf die aktuellen und früheren Bildschirmdaten zuzugreifen,
sie zu betrachten und auf einem Fern-PC zu speichern, wenn der Fern-PC
mit der Hosteinheit verbunden ist. Die Bildschirmdaten, die von
der Hosteinheit aus der Videorasterausgabe der Bildschirmkarte des
Host-PCs erfaßt,
interpretiert und gespeichert werden, können Text- oder Graphikdaten
(d.h. Bilder) sein und farbig oder monochrom. Die Anzeigeformate
der Videorastersignalausgabe der Host-PC-Bildschirmkarte, die von einer Hosteinheit
erfaßt
und interpretiert werden, umfas sen den monochromen, CGA-, EGA- und VGA-Modus,
die dem Fachmann vertraut sind, und ähnliche Techniken können für jedes
Anzeigeformat angewandt werden.
-
Außerdem ermöglichen
das System und Verfahren vorzugsweise einem Fern-PC, (1) die Tastatur-
und/oder Maussteuerung von einer Tastatur und/oder Maus, die an
einem Host-PC an der Hostsite angeschlossen ist, physikalisch zur
Tastatur und/oder Maus umzuleiten, die am Fern-PC angeschlossen
ist, wodurch der Fern-PC
die Tastatur- und/oder Mauseingabe zum Host-PC voll steuern kann,
(2) aus der Ferne Softwareprogramme aufzurufen, die auf einem Host-PC
installiert sind und erforderlich sind, um Daten und Dateien zwischen
dem Host-PC und dem Fern-PC zu übertragen,
(3) mehrere Hosteinheiten miteinander zu verbinden (d.h. zu verketten),
so daß ein
Fern-PC während
einer einzigen Zugriffssitzung zwischen verschiedenen Hosteinheiten
wechseln kann, und (4) einen Host-PC bei Bedarf neu zu starten,
indem die Hosteinheit angewiesen wird, die Stromversorgung zum Host-PC kurzzeitig
zu unterbrechen, um dessen Neustart zu erzwingen.
-
Ein
Ausführungsbeispiel
umfaßt
(1) Software, die auf dem Fern-PC installiert ist und die dem Fern-PC
erlaubt, ein Standardmodem wie z.B. „Hayes 9600 baud Ultra", „Hayes
2400 Smart" oder „Boca 14.4" für eine Modemverbindung
zu verwenden, oder eine direkte Kabelverbindung für die Direktleitungsverbindung,
um aus der Ferne auf eine Hosteinheit zuzugreifen, wodurch der Fern-PC
mit der Hosteinheit verbunden werden kann und auf einen an der Hosteinheit
angeschlossenen Host-PC zugreifen oder diesen steuern kann; (2)
eine Hosteinheit, die (a) direkt an ein Modem oder an einen Fern-PC
angeschlossen ist oder (b) über
eine andere Hosteinheit mit einem Fern-PC verbunden (d.h. verkettet)
ist, und direkt an den Tastatur-, optionalen Maus-, Bildschirmkarten-
und Stromanschluß des
Host-PCs angeschlossen
ist; (3) Softwareprogrammdateien, die auf dem Host-PC installiert
sind und aus der Ferne aktiviert werden können, um Dateiübertragungen zwischen
Host- und Fern-PCs zu erleichtern, und (4) Softwareprogramme, die
bei der Installation auf dem Host-PC ausgeführt werden, um der am Host-PC
angeschlossenen Hosteinheit zu erlauben, automatisch selbst zu trainieren,
wie die spezifischen Videorasterausgabesignale von der Bildschirmkarte
des Host-PCs zu decodieren sind.
-
Die
auf dem Fern-PC installierte Software erlaubt (1) den Zugriff auf
eine Host-PC-Site
im Modemverbindungs- oder im Direktleitungsverbindungsmodus, (2)
die Initialisierung eines am Fern-PC angeschlossenen Modems (einschließlich Baudrate
und Initialisierungszeichenketten), das für den Modemverbindungsmodus
erforderlich ist, (3) das Führen
einer Liste der Hosteinheiten, auf die vom Fern-PC aus zugegriffen
werden kann (einschließlich
der Wählinformation,
die benötigt
wird, um das Hostmodem für jede
Hosteinheit anzuwählen
(im Modemverbindungsmodus), der Identifikationsnummer für jede Hosteinheit,
und des Kennworts, das für
den Zugriff auf jede Hosteinheit benötigt wird), (4) den Aufbau
einer Modem- oder Direktleitungsverbindung vom Fern-PC zu einer
bestimmten Hosteinheit, (5) die Anzeige der Statusinformation bezüglich einer
aktiven Verbindung auf dem Bildschirm des Fern-PCs, (6) die Abfrage
des Bildschirmprotokolls des Host-PCs, das von der Hosteinheit übertragen
und in einem Massenspeichergerät
des Fern-PCs gespeichert wird, (7) die Einstellung des spezifischen
Verfahrens, das von der aktiven Hosteinheit anzuwenden ist, um die
Videorasterausgabe der Host-PC-Bildschirmkarte zu erfassen (d.h.
Textmodi, Graphikmodi usw. in Monochrom oder Farbe), (8) das Umschalten
der Tastatur und/oder Maus des Fern-PCs vom Gebrauch als normale
Ferntastatur und/oder -maus in den Gebrauch als Tastatur und/oder
Maus für
den Host-PC, (9) den Zugriff auf einen Host-PC, um die Bildschirmaktivität des Host-PCs
zu betrachten, ohne die Tastatur und/oder Maus des Host-PCs auf
die Tastatur und/oder Maus des Fern-PCs umzuschalten, (10) das Rückschalten
der Tastatur und/oder Maus vom Gebrauch als Host-PC-Tastatur/Maus
in den Gebrauch als Fern-PC-Tastatur/Maus, (11) das Initialisieren
und Steuern der Übertragung
von Datendateien zwischen Host- und Fern-PC, (12) den Datenaustausch
mit der Hosteinheit über
das öffentliche
Telefonnetz und Modemverbindungsprotokolle im Modemverbindungsmodus,
oder über
eine festgeschaltete Direktleitung im Direktleitungsverbindungsmodus,
(13) das Umschalten des Bildschirms des Fern-PCs von einem normalen
(d.h. Fern-) Bildschirmmodus in einen Hostbildschirmmodus, wobei die
Ausgabedaten der Bildschirmkarte eines Host-PCs von der Hosteinheit
erfaßt
werden (ohne Host-PC-CPU-Unterstützung) und
an den Fern-PC übertragen
werden, um anstelle der normalen Bildschirmanzeige des Fern-PCs
auf dem Bildschirm des Fern-PCs angezeigt zu werden, (14) das Rückschalten
des Bildschirms des Fern-PCs von einer Host-PC-Videoanzeige in eine
Fern-PC-Videoanzeige, (15) die Anweisung an die Hosteinheit, die
Stromversorgung zum Host-PC kurzzeitig zu unterbrechen, um dadurch
den Neustart des Host-PCs zu erzwingen, was dem Fachmann allgemein als „Kaltstart" bekannt ist, (16)
das Wechseln zwischen Hosteinheiten und den zu den Hosteinheiten
gehörigen
Host-PCs, wenn mehrere Hosteinheiten miteinander verbunden sind,
(17) das Ändern
des permanenten oder vorläufigen
Kennworts, das von Fern-PCs für
den Zugriff auf die Hosteinheit verwendet wird, um den unbefugten
Zugriff eines Fernbenutzers auf einen Host-PC zu verhindern, (18)
das Trennen einer Modemverbindung oder Direktleitungsverbindung
mit einem Host, (19) den Aufbau einer Verbindung zu einer anderen Site,
bei Bedarf, (20) das Speichern der Prozeduren, die erforderlich
sind, damit eine Hosteinheit das Videorasterausgabesignal der Bildschirmkarte
eines bestimmten Host-PCs decodieren kann, so daß diese Prozeduren von einem
Fern-PC neu in den Speicher der Hosteinheit geladen werden können, damit
mit einer Hosteinheit auf mehrere Host-PCs zugegriffen werden kann,
ohne daß der
Trainingsvorgang vor Ort wiederholt werden muß, und (21) das Schließen der Anwendung
auf dem Fern-PC, wenn kein Zugriff auf Host-PCs mehr benötigt wird.
-
Eine
Hosteinheit kann (über
Kabel und Adapter) an einen Host-PC angeschlossen werden und ist in
der Lage, (1) das von einem Fernbenutzer eingegebene Kennwort für den Zugriff
auf die Hosteinheit zu prüfen,
so daß der
Zugriff auf den Host-PC verweigert wird, wenn ein ungültiges Kennwort
empfangen wird; (2) einem Fern-PC optional die Übernahme der Tastatur und/oder
Maus des Host-PCs zu erlauben, indem sie jede Eingabe von der Tastatur
und/oder Maus des Host-PCs ignoriert und nur die Tastatur- und/oder
Mauseingabe vom Fern-PC akzeptiert, die über eine Modemverbindung oder
Direktleitungsverbindung empfangen wird; (3) einem Benutzer an der Hostsite
die Rücknahme
der Tastatur und/oder Maussteuerung des Host-PCs durch Drücken eines Impulsschalters
an der Hosteinheit zu erlauben; (4) die Tastatur- und/oder Mauseingabesignale
des Host-PCs über
Tastatur- und/oder Mauseingänge und
-ausgänge
an der Hosteinheit zum Host-PC durchzulassen; (5) die Videorastersignale
von der Bildschirmkarte des Host-PCs abzufangen, zu speichern, zu
analysieren und zu decodieren und über die Videoeingänge und
-ausgänge
an der Hosteinheit zum Bildschirmgerät des Host-PCs durchzulassen, selbst
wenn kein Fern-PC auf die Hosteinheit zugreift; (6) die Videorasterausgabesignale
der Bildschirmkarte des Host-PCs in ein Textformat oder in ein bitabbildendes
Graphikformat umzuwandeln, (7) die Bildschirmdaten, die zwischen
jedem Aktualisierungszyklus der Bildschirmkarte geändert wurden,
zu erkennen und bei Bedarf zu speichern; (8) die Änderungen
in den Text- oder Graphikdaten, die aus dem Rasterausgabesignal
der Bildschirmkarte decodiert wur den, zu komprimieren, zu einen
Fern-PC zu übertragen
und zu speichern; (9) Eingangs-/Ausgangsschnittstellenkabelbuchsen
zur Verkettung mehrerer Hosteinheiten aufzunehmen, so daß ein Fern-PC über eine
einzige Telefonleitung und ein Modem während eines Anrufs zwischen
mehreren Host-PCs wechseln und diese fernsteuern kann; (10) den Host-PC über einen
Wechselstromausgang mit Strom zu versorgen, so daß die Hosteinheit
die Stromversorgung zum Host-PC bei Bedarf kurzzeitig unterbrechen
kann, um den Neustart des Host-PCs zu erzwingen.
-
Die
Videorasterausgabesignale von der Bildschirmkarte des Host-PCs können von
PC zu PC (oder von Bildschirmkarte zu Bildschirmkarte) unterschiedlich
sein, weshalb zum Decodieren des Signals kein Standardverfahren
verwendet werden kann. Während
der Installation der Hosteinheit kann eine mit der Vorrichtung gelieferte
Software auf dem Host-PC ausgeführt
werden, damit die Hosteinheit trainiert wird, die Videorasterausgabesignale
von der Bildschirmkarte des Host-PCs im Textmodus korrekt zu decodieren.
Bei diesem einmaligen Trainingsvorgang werden von der Software,
die mit der Hosteinheit geliefert wird, über die Bildschirmkarte des Host-PCs
vorgegebene Text- und Zeichenketten angezeigt. Das von der Bildschirmkarte
des PCs erhaltene Videorasterausgabesignal wird dann von den Prozessoren
der Hosteinheit analysiert, um die genauen Prozeduren zu ermitteln,
die erforderlich sind, um das Videorasterausgabesignal der Bildschirmkarte
in bekannte Textdaten oder Graphikpixeldaten umzuwandeln, die während des
Trainingsvorgangs angezeigt werden. Die Ergebnisse dieses Trainingsvorgangs
ergeben die spezifischen Prozeduren und Daten, die erforderlich
sind, um die Textdaten oder Graphikpixeldaten aus der Bildschirmkartenausgabe
eines spezifischen PCs zu erfassen. Diese Prozeduren und Daten werden
im nicht flüchtigen
RAM-Speicher der Hosteinheit gespeichert, so daß der Trainingsvorgang für einen
spezifischen Host-PC nicht wiederholt zu werden braucht, es sei
denn, die Bildschirmkarte des Host-PCs wird ausgetauscht. Dieser
Trainingsvorgangs erlaubt der Hosteinheit den Anschluß an jede
monochromen oder Farbgraphikkarte, wie z.B. CGA, EGA oder VGA, die
dem Fachmann vertraut sind. Auf Anforderung durch einen Fern-PC
können diese
Trainings-prozeduren, die zum Decodieren des Signals der Bildschirmkarte
eines bestimmten Host-PCs erforderlich sind, in eine Datei auf einem Massenspeichergerät am Fern-PC
kopiert werden. Diese Prozedur erlaubt dann dem Fern-PC, das von der
Hosteinheit verwendete Decodierverfahren umzustellen, wenn an einer
Site eine einige Hosteinheit vorhanden ist, die von Be nutzern vor
Ort an verschiedene PCs angeschlossen wird, um die Ferndiagnose eines
ausgefallenen PCs zu erleichtern.
-
Ein
weniger vorzugsweises Ausführungsbeispiel
kann verwendet werden, bei dem die Videoerfassungsfunktion der Hosteinheit
durch eine Steckkarte erfüllt
wird, die in einen der Steckplätze
des PCs gesteckt wird. Diese Steckkarte weist ihren eigenen Mikroprozessor
auf, oder andere Verarbeitungsschaltkreise, welche die BIOS-Videodaten
eines PCs selbstständig
erfassen und speichern, um sie über eine
Kabelschnittstelle von der Steckkarte zur Hosteinheit zu übertragen.
Dieses Ausführungsbeispiel der
vorliegenden Erfindung wird aus mehreren Gründen weniger bevorzugt:
- A. Viele PCs werden nun in einem Graphikbildschirmmodus
betrieben, im Gegensatz zum Textbildschirmmodus, wobei Daten über das
interne BIOS (Basic Input/Output System) des PCs angezeigt werden,
indem auf dem Bildschirm Pixel gesetzt werden, statt Standardzeichenformatdaten an
den Bildschirm zu senden. Das von Microsoft entwickelte Betriebssystem
WindowsTM ist ein Beispiel für solch
eine graphische Benutzerschnittstelle. In einem Graphikbildschirmmodus sind
verschiedene Normen vorhanden, um die Optionen bezüglich der
Zahl, der Anordnung und der Intensität zu definieren, die für die Anzeige von
Graphikinformationen auf einem Bildschirm verfügbar sind. Die traditionellen
BIOS-Funktionen für
die Anzeige von Daten auf dem Bildschirm können von den Softwaretreibern
der verschiedenen PC-Anwendungshersteller
modifiziert und umgangen werden. Daher ist der Prozeß der Decodierung
von Graphikinformation auf dieser Ebene verschiedenartiger und unterliegt
größeren Änderungen
als die vorzugsweise Ausführungsform der
Decodierung des tatsächlichen
Videorasterausgabesignals von der Bildschirmkarte, das einer relativ
festen Norm entspricht (d.h. die Eingabe zum Bildschirmgerät).
- B. Einige PCs haben Hauptplatinen mit Videoschaltungen, die
auf der Hauptplatine integriert sind, die es dem Benutzer nicht
erlauben, die Videoverarbeitung zu deaktivieren, und/oder die keine
Videodaten über
den PC-Bus leiten.
- C. Der Einbau einer Steckkarte in einen PC erfordert das Ausschalten
des PCs und dann das Öffnen
des PCs, um die Steckkarte einzustecken. Dieser Vorgang ist für den Benutzer
nicht so leicht wie der Anschluß von
Schnittstellenkabeln von der Hosteinheit zur Bildschirmkarte des
PCs. Darüber
hinaus ist die Einrichtung einer Ersatzhosteinheit oder eines ausgefallenen
Host-PCs für die
Ferndiagnostik und/oder Reparatur durch einen Fernwartungsdienst
für ungeschultes
Personal vor Ort schwierig und zeitraubend, wenn der PC zum Einbau
der Steckkarte geöffnet
werden muß.
- D. Die Größe der Steckkarte
muß festgelegte Grenzmaße einhalten.
Diese Begrenzungen können
die Funktionalität
der Karte einschränken.
- E. Der Steckplatz, die Stromversorgung usw. im Host-PC können ausfallen,
wodurch die Hosteinheit nicht mehr in der Lage ist, die gespeicherten Videodaten
vom Host-PC zu übertragen.
- F. Eine zusätzliche
Steckkarte ist erforderlich, wodurch Benutzer ohne verfügbaren Steckplatz
vom Einbau der Vorrichtung ausgeschlossen sind.
-
Ein
zweites weniger vorzugsweises Ausführungsbeispiel, das mit dem
oben genannten vergleichbar ist, kann verwendet werden, bei dem
eine Steckkarte mit Doppelfunktion konstruiert und anstelle der
vorhandenen Bildschirmkarte des PCs in den Steckplatz des PCs gesteckt
wird. Eine Funktion dieser Steckkarte ist die Erzeugung der Videoausgabe an
ein Bildschirmgerät
mit standardmäßigem Anschlußstecker.
Die andere Funktion der Steckkarte ist die Erfassung der Video-BIOS-Daten mit den
zusätzlichen
Schaltungen auf der Bildschirmkarte und die Übertragung dieser Daten zu
einem Fern-PC. In diesem Fall kann die Bildschirmkarte standardmäßigen, vorgegebenen
Videoanzeigeoptionen entsprechen und dadurch die unterschiedlichen
Treiber und Anzeigeverfahren vermeiden, die von den verschiedenen
Bildschirmkartenherstellern verwendet werden. Dieses Ausführungsbeispiel
wird aus mehreren Gründen
weniger bevorzugt:
- A. Der Einbau einer Steckkarte
in einen PC erfordert das Ausschalten des PCs und dann das Öffnen des
PCs, um die Steckkarte einzustecken. Dieser Vorgang ist für den Benutzer
nicht so leicht wie der Anschluß von
Schnittstellenkabeln von der Hosteinheit zur Bildschirmkarte des
PCs. Darüber
hinaus ist die Einrichtung einer Ersatzhosteinheit oder eines ausgefallenen
Host-PCs für die
Ferndiagnostik und/oder Reparatur durch einen Fernwartungsdienst
für ungeschultes
Personal vor Ort schwierig und zeitraubend, wenn der PC zum Einbau
der Steckkarte geöffnet
werden muß.
- B. Einige PCs haben Hauptplatinen mit Videoschaltungen, die
auf der Hauptplatine integriert sind, die es dem Benutzer nicht
erlauben, die Videoverarbeitung zu deaktivieren, und/oder die keine
Videodaten über
den PC-Bus leiten.
- C. Die Größe der Steckkarte
muß festgelegte Grenzmaße einhalten.
Diese Begrenzungen können
die Funktionalität
der Karte einschränken.
- D. Der Steckplatz, die Stromversorgung usw. im Host-PC können ausfallen,
wodurch die Hosteinheit nicht mehr in der Lage ist, Videodaten vom Host-PC
zu übertragen.
-
Es
können
andere weniger vorzugsweise Ausführungsbeispiele
verwendet werden, bei denen eine, mehrere oder alle restlichen Funktionen
der Hosteinheit auf einer oder mehreren Steckkarten untergebracht
sind, ähnlich
wie bei den oben beschriebenen weniger vorzugsweisen Ausführungsbeispielen. Zum
Beispiel kann ein spezielles Adapterkabel mit dem Ende des Tastatursteckers
verbunden werden und in die Eingangsbuchse einer Tastaturschnittstellenkarte
gesteckt werden. Ein anderes Kabel kann dann in die Ausgangsbuchse
der Tastaturschnittstellenkarte gesteckt werden und mit dem normalen
Tastaturanschluß am
PC verbunden werden. Die Tastaturschnittstellenkarte enthält einen
eigenen Mikroprozessor und Schaltkreise, um die oben für die Hosteinheit
beschriebene Tastaturverarbeitungsfunktion durchzuführen. Dieses
Ausführungsbeispiel
wird aus mehreren Gründen
weniger bevorzugt:
- A. Die Verwendung mehrerer
Schnittstellenkarten ist kostspielig und erfordert die Herstellung
von nicht standardmäßigen Schnittstellenkabeln.
- B. Einige PCs haben Hauptplatinen mit Videoschaltungen, die
auf der Hauptplatine integriert sind, die es dem Benutzer nicht
erlauben, die Videoverarbeitung zu deaktivieren, und/oder die keine
Videodaten über
den PC-Bus leiten.
- C. Der Einbau einer Steckkarte in einen PC erfordert das Ausschalten
des PCs und dann das Öffnen
des PCs, um die Steckkarte einzustecken. Dieser Vorgang ist für den Benutzer
nicht so leicht wie der Anschluß von
Schnittstellenkabeln von der Hosteinheit zur Bildschirmkarte des
PCs. Darüber
hinaus ist die Einrichtung einer Ersatzhosteinheit oder eines ausgefallenen
Host-PCs für die
Ferndiagnostik und/oder Reparatur durch einen Fernwartungsdienst
für ungeschultes
Personal vor Ort schwierig und zeitraubend, wenn der PC zum Einbau
der Steckkarte geöffnet
werden muß.
- D. Die Größe der Steckkarte
muß festgelegte Grenzmaße einhalten.
Diese Begrenzungen können
die Funktionalität
der Karte einschränken.
- E. Mehrere Steckkarten sind erforderlich, wodurch Benutzer ohne
verfügbaren
Steckplatz vom Einbau der Vorrichtung ausgeschlossen sind.
- F. Der Steckplatz, die Stromversorgung usw. im Host-PC können ausfallen,
wodurch die Funktionen, die nun von der Hosteinheit übernommen werden,
von den Steckkarten im Host-PC nicht durchgeführt werden können.
-
Aus
dem vorstehenden wird ersichtlich, daß ein Aspekt ist, einem Benutzer
an einem ersten Ort das Betrachten der Information zu ermöglichen,
die auf einem Videoanzeigegerät
an einem zweiten Ort angezeigt wird, oder die Überwachung eines Datenverarbeitungsgeräts an diesem
Ort.
-
Ein
anderer Aspekt ist, einem Benutzer auch dann das Betrachten der
Information zu ermöglichen, wenn
auf dem Videoanzeigegerät
angezeigt wird, wenn das Datenverarbeitungsgerät am zweiten Ort abgestürzt ist
und keine Eingabebefehle mehr verarbeitet.
-
Ein
weiterer Aspekt ist, dem Benutzer am ersten Ort die Eingabe von
Befehlen an das Datenverarbeitungsgerät am zweiten Ort zu ermöglichen, und
zwar so, daß das
Datenverarbeitungsgerät
annimmt, daß die
Befehle von einem Standardeingabegerät kommen, das an das Datenverarbeitungsgerät angeschlossen
ist, wie z.B. eine Tastatur oder Maus.
-
Ein
anderer Aspekt ist, die kurzzeitige Unterbrechung der Stromversorgung
zum Datenverarbeitungsgerät
am zweiten Ort zu ermöglichen,
durch einen Befehl des Benutzers, um den Neustart oder die Einschaltroutine
des Datenverarbeitungsgeräts
zu erzwingen.
-
Ein
weiterer Aspekt ist die Bereitstellung einer Vorrichtung und eines
Verfahrens, wobei die Videoanzeigeinformation, die in der Videorastersignalausgabe
vom Videoanzeigekreis des Datenverarbeitungsgeräts enthalten ist, analysiert
wird, um den Inhalt des Signals zu ermitteln und das Signal in eine Form
umzuwandeln, die geeignet ist, über
das öffentliche
Telefonnetz oder ein anderes Kommunikationsnetz übertragen zu werden.
-
Ein
weiterer Aspekt ist die Bereitstellung eines Systems und eines Verfahrens,
um die Vorrichtung zu trainieren, damit sie die verschiedenen Anzeigeformate
erkennen kann, die verwendet werden, um die Information vom Videoanzeigekreis
zum Videoanzeigegerät
oder Bildschirmgerät
zu übertragen.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Die
Zeichnungen umfassen 7 Figuren, die von 1 bis 7 durchnumeriert sind.
Figuren, die aus mehr als einem Blatt bestehen, weisen ein alphabetisches
Suffix für
jedes Blatt auf. Wenn auf eine Figur in ihrer Gesamtheit Bezug genommen
wird, wird das Suffix ausgelassen. Nachstehend folgt eine kurze Beschreibung
jeder Figur:
-
1 ist
eine funktionelle Übersicht
der Erfindung.
-
2 ist
eine Außenansicht
der Hosteinheit von vorne.
-
3 ist
eine Außenansicht
der Hosteinheit von hinten.
-
4 ist ein technisches Diagramm, das eine Übersicht
der internen Schaltungen der Hosteinheit darstellt.
-
5 ist ein Blockdiagramm, das die in der Hosteinheit
stattfindende Steuerverarbeitung des mikroprozessorgestützten Softwarebetriebssystems beschreibt.
-
6 ist ein Blockdiagramm, das den Trainingsvorgang
der Hosteinheit beschreibt, um den Text bei einem spezifischen PC
zu erkennen.
-
7 ist ein Blockdiagramm, das die auf dem
Fern-PC ausgeführte
Software beschreibt.
-
8 stellt das gegenwärtige Protokoll dar, das für die Kommunikation
zwischen einem Fern-PC und einer Hosteinheit verwendet wird.
-
BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORM
-
1 ist
eine funktionelle Übersicht
der Erfindung. Die rechteckigen Objekte in diesem Diagramm stellen
physikalische Komponenten (d.h. Hardware) der Vorrichtung dar. Die
gestrichelten rechteckigen Kästen
stellen Anordnungen der betreffenden Hardwarekomponenten an verschiedenen Orten
dar, die gestrichelten Linien stellen Kabel oder Leitungen dar,
eine durchgezogene Linie stellt eine Kommunikationsschnittstelle
(d.h. eine Telefonleitung oder eine Direktleitung) dar, ein Pfeil
am Ende einer Linie stellt die Richtung des Daten- oder Stromflusses
dar, und eine pfeillose Linie zeigt an, daß Daten in beide Richtungen
fließen.
-
Ein
PC, der sich an einer Fernsite 1 befindet, kann benutzt
werden, um auf ein Hostsystem 6 zuzugreifen. Der Fern-PC 2 kann
mit einer Bildschirmkarte und einem Bildschirmgerät 3,
einer Tastatur 4 und einem Hayes-kompatiblen Modem 5 ausgestattet sein,
um auf bekannte Weise über
eine Modemverbindung auf eine Fernsite zuzugreifen. Wenn statt einer
Modemverbindung eine Direktleitungsverbindung verwendet wird, ist
für den
Zugriff auf eine Hosteinheit kein Modem erforderlich. Auch eine
Maus 4A kann am Fern-PC angeschlossen sein.
-
Die
auf dem Fern-PC 2 installierte Software erlaubt dem Fern-PC, über das
Modem 5 am Fern-PC das Modem 7 an der Fernsite über eine
normale Telefonleitung anzuwählen,
oder über
eine Direktleitung eine Direktleitungsverbindung herzustellen. Die
Vorrichtung unterstützt
gegenwärtig
Datenübertragungsgeschwindigkeiten
von bis zu 19,2 KB zwischen einem Fern-PC 1 und einem Hostsystem 6, oder
zwischen einer Hosteinheit 8 und einer anderen Hosteinheit 13 oder 18,
doch die Aufgaben der Erfindung werden auch erfüllt, wenn die Geschwindigkeit der
Datenübertragung
höher oder
niedriger ist.
-
Die
Hosteinheiten 8, 13, 18 können miteinander
verkettet sein, um einem Fern-PC
während
einer einzigen Zugriffssitzung das Umschalten zwischen mehreren
Hosteinheiten zu ermöglichen.
Eine Gruppe von Hosteinheiten, die durch eine Verkettung miteinander
verbunden sind, werden hier als „Hostsite" bezeichnet. Die zur Vorrichtung gehörige Software erlaubt
einem Fern-PC, auf mehr als eine Hostsite zuzugreifen, doch gegenwärtig muß der Zugriff
auf eine Hostsite beendet sein, bevor auf eine andere Hostsite zugegriffen
werden kann.
-
Die
Hosteinheiten 8, 13, 18 werden durch eine
einmalige Nummer identifiziert, die durch DIP-Schalter an jeder
Hosteinheit eingestellt wird. An einer Hosteinheit sind insgesamt
sechs DIP-Schalter verfügbar,
um eine spezifische Hosteinheit-Identifikationsnummer einzustellen,
so daß die
Identifikationsnummer der Hosteinheit vom Benutzer je nach Schalterposition
auf eine Dezimalzahl zwischen 00 und 63 eingestellt werden kann.
Um die Adressierung einer größeren Anzahl
von Hosteinheiten zu ermöglichen, können natürlich zusätzliche
Schalter vorgesehen werden. Gegenwärtig muß die Hosteinheit 00 8 über ein
Modemkabel angeschlossen werden, das die Buchse „Data In" 70 (siehe 3)
der Hosteinheit mit der seriellen Schnittstelle des Modems verbindet, oder
sie muß eine
Direktleitungsverbindung über
ein spezielles Kabel haben, das die Buchse „Data In" 70 (siehe 3)
der Hosteinheit mit einer seriellen Schnittstelle des Fern-PCs verbindet. Zu
beiden Zwecken kann ein RJ-12-Kabel mit seriellen Schnittstellenadaptern
verwendet werden. Obwohl jedes geeignete Kabel benutzt werden kann,
weist das RJ-12-Kabel sechs Adern auf, wovon zwei für den serielle
Datenaustausch verfügbar
sind. Andere Hosteinheiten können über ein
Kabel von der Buchse „Data
Out" 71 (3)
der letzten Hosteinheit in der Verkettung 13 zur Buchse „Data In" 70 (3)
der neu angeschlossenen Hosteinheit 18 verkettet werden.
Hosteinheiten, die in einer Verkettung miteinander verbunden sind,
verwenden gegenwärtig RJ-12-Kabel
für die
Verbindung von Hosteinheit zu Hosteinheit, doch kann hierfür jedes
Kabel mit geeigneten Adern verwendet werden. Damit ein Fern-PC mit
einer spezifischen Hosteinheit in einer Verkettung kommunizieren
kann, muß jede
Hosteinheit eine einmalige Identifikationsnummer aufweisen, die
zwischen 01 und 63 liegt. Alle Datenpakete, die vom Fern-PC an eine
bestimmte Hosteinheit in einer Verkettung gesendet werden, benutzen
die Hosteinheit-Identifikationsnummer, um das übertragene Datenpaket an die
betreffende Hosteinheit zu adressieren. Gegenwärtig kann ein Fern-PC nur auf
eine Hosteinheit auf einmal zugreifen, kann aber während einer
einzigen Kommunikationssitzung zwischen mehreren Hosteinheiten umschalten.
-
Eine
Hosteinheit 8 wird von einer Wechselstromquelle mit Strom
versorgt, über
ein Stromkabel, das mit der Buchse „AC Power" 61 (3) der
Hosteinheit verbunden ist. Die Hosteinheit versorgt auch den Host-PC 10 mit
Wechselstrom, mit dem sie über
ein Stromkabel von der Buchse „AC
To PC" 62 (3)
an der Hosteinheit zum Stromkabelanschluß am Host-PC verbunden ist.
Wenn der Host-PC auf diese Weise mit Strom versorgt wird, kann die
Stromzufuhr zum Host-PC von der Hosteinheit kurzzeitig unterbrochen
werden, wenn sie vom Fern-PC eines Fernbenutzers angewiesen wird,
den Neustart eines abgestürzten
Host-PCs zu erzwingen, damit die normale Verarbeitung des Host-PCs
aus der Ferne wiederhergestellt werden kann. Dieses „Kaltstartverfahren" ist vor allem dann
nützlich,
wenn der Host-PC nicht mehr auf Tastatureingaben oder sonstige Eingaben
reagiert. Der Host-PC wird vom Fernbenutzer aus- und wieder eingeschaltet,
wodurch die Schaltkreise des Host-PCs wieder initialisiert werden.
-
Wenn
eine Hosteinheit 8 zuerst an einen Host-PC 10 angeschlossen
wird, wird die Tastatur 11 des Host-PCs aus dem Tastaturanschluß ausgesteckt
und in eine Buchse „Keyboard
Input from KB" 68 (3)
der Hosteinheit gesteckt. Dann wird ein mit der Vorrichtung geliefertes
Tastaturkabel in die Buchse „Keyboard
Output to PC" 69 (3)
der Hosteinheit gesteckt, und das andere Ende dieses Kabels wird
mit dem Tastaturanschluß am
Host-PC verbunden. Auf diese Weise werden die Signale der Tastatur
durch die Hosteinheit zum Host-PC geführt, was es der Hosteinheit
ermöglicht,
die Signale der Host-Tastatur zu unterbrechen und die Tastatureingabe
umzuleiten, um statt der Tastatur des Host-PCs die des Fern-PCs zu benutzen.
Daher wird die Dateneingabe durch die Tastatur 4 und die
Steuerung des Host-PCs durch einen Fern-PC vereinfacht, wenn am Host-PC keine
Tastatur 11 vorhanden ist. Was die Tastatur 4 des
Fern-PCs anbetrifft, wird während
des Zugriffs des Fern-PCs 2 auf eine Hosteinheit auch die Tastatureingabe
des Fern-PCs durch ein Softwareprogramm erfaßt, das auf dem Fern-PC ausgeführt wird
und mit der Ausrüstung
geliefert wird, und aus dem Fern-PC zur Hosteinheit 8 umgeleitet,
um über ein
Modem (5 bis 7) oder eine Direktleitungsverbindung
(2 bis 8) in den Host-PC 10 eingegeben
zu werden.
-
Ähnlich wie
das Tastaturkabel wird auch das Bildschirmkabel vom Bildschirmgerät 9 des Host-PCs
aus der Bildschirmkarte des Host-PCs ausgesteckt und entweder in
die 15-Pin-Buchse „VGA Out" 64 (3)
oder in die 9-Pin-Buchse „Video
Out" 66 (3)
der Hosteinheit 8 gesteckt, je nach Pinzahl am Stecker
des Bildschirmgerätekabels.
Dann wird das jeweilige 9-Pin- oder 15-Pin-Videokabel, das mit der Vorrichtung
geliefert wird, in die geeignete 15-Pin-Buchse „VGA In" 65 (3) oder
in die 9-Pin-Buchse „Video
In" 67 (3)
der Hosteinheit 8 gesteckt, und das andere Ende des Kabels
wird mit der Bildschirmkarte 9 des Host-PCs verbunden.
Diese Konfiguration ermöglicht,
daß die
Ausgabesignale der das Bildschirmkarte 9 des Host-PCs,
einschließlich
der Videorastersignale, durch die Hosteinheit 8 geführt werden,
so daß die
Hosteinheit auf die Signale zugreifen, sie abtasten und zu Bitbildern,
einfarbigen oder farbigen Textdaten decodieren kann und auch die
jüngsten
Daten speichern kann (je nach interner Speicherkapazität der Hosteinheit),
um diese auf Anforderung an einen Fern-PC zu übertragen.
-
Ein
serielles Kabel kann von einer der Kommunikationsschnittstellen
des Host-PCs mit
der Buchse „Serial" 72 (3)
der Hosteinheit 8 verbunden werden. Dies erlaubt Dateiübertragungen
zwischen einem Massenspeichergerät
eines Fern-PCs 2 und dem Host-PC 10. Dieser Anschluß ermöglicht auch,
daß Daten
von der Maus 4A eines Fern-PCs über die serielle Schnittstelle 72 (3)
der Hosteinheit zum seriellen Schnittstellenanschluß des Host-PCs übertragen
werden. Die Eingabe der Maus 4A eines Fern-PCs wird von
einer (mit der Vorrichtung gelieferten) Software erfaßt, die
auf dem Fern-PC ausgeführt
wird, und aus dem Fern-PC 2 zur Hosteinheit 8 umgeleitet,
um in den Host-PC 10 eingegeben zu werden.
-
Wenn
eine Hosteinheit 8 an einen Host-PC 10 angeschlossen
wird, wird die serielle Maus 11A (falls vorhanden) des
Host-PCs von der seriellen Schnittstelle des Host-PCs getrennt und
in eine Buchse „Mouse" 73 (3)
an der Hosteinheit gesteckt. Dadurch können die Signale der Maus 11A über die
serielle Schnittstelle 72 (3) der
Hosteinheit 8 durch die Hosteinheit zum Host-PC geleitet werden.
Dieser Ansatz ermöglicht
der Hosteinheit 8, die Eingabesignale der Maus 11A des
Host-PCs zu unterbrechen und die Mauseingabesignale so umzuleiten,
daß statt
der Maus 11A des Host-PCs die Maus 4A des Fern-PCs
benutzt wird. Daher wird die Dateneingabe mit der Maus 4A und
die Steuerung des Host-PCs durch einen Fern-PC vereinfacht, wenn
am Host-PC keine Maus 11A vorhanden ist. Eine Mausschnittstelle
kann an jeder Hosteinheit in einer Verkettung (z.B. Hosteinheit
01 13, die Einheit .. 18 usw.) vorhanden sein.
-
Ein
Mikroprozessor und eine Software in jeder Hosteinheit 8, 13, 19 einer
Verkettung sucht nach Kommunikationsdatenpaketen, die von einem Fern-PC
gesendet wurden und an die Hosteinheit mit der entsprechenden Identifikationsnummer
adressiert sind. Der Code, der im empfangenen Datenpaket enthalten
ist, definiert die Art der Verarbeitungsanforderung eines Fern-PCs.
Zum Beispiel kann ein Datenpaket einen Code enthalten, der von der
Hosteinheit anfordert, zu prüfen,
ob ein im Paket enthaltenes Kennwort richtig ist. Wenn das Kennwort
richtig ist, sendet die Hosteinheit ein Datenpaket an den Fern-PC
zurück,
mit einem Code, der besagt, daß das
Kennwort richtig ist. Sonst wird ein Datenpaket mit einem Code an
den Fern-PC gesendet, der besagt, daß das Kennwort falsch ist. Ähnliche
Anforderungs- und Antwortdatenpakete werden für die übrigen Funktionen des Systems über die
Kommunikationsschnittstellen gesendet.
-
Auch
ein zweiter Mikroprozessor mit Speicher und Software ist in jeder
Hosteinheit vorhanden. Der Hauptzweck dieses Mikroprozessors und
der zugehörigen
Betriebssystemsoftware ist die Erfassung, Decodierung, Speicherung
und Übertragung
der Bildschirmkartendaten des jeweiligen Host-PCs an einen Fern-PC.
Obwohl das vorzugsweise Ausführungsbeispiel
der Erfindung zwei Mikroprozessoren aufweist, um die Videoanalyse
und die Kommunikation durchzuführen,
wird berücksichtigt,
daß diese Funktionen
auch von einem einzigen Mikroprozessor ausgeführt werden können, der
genug Rechenleistung aufweist, um beide Vorgänge durchzuführen. Insbesondere
der ständige
Fortschritt der Mikroprozessortechnologie könnte die Entwicklung eines
Einzelprozessorsystems ermöglichen,
was zur Erhöhung
der Zuverlässigkeit
und zu Kostensenkungen führen
würde.
-
Das
Hostsystem 01 12 und das Hostsystem .. 17 zeigen
Beispiele, wie andere Hosteinheit/Host-PC-Konfigurationen an einem
Ort verkettet werden können,
so daß ein
Fern-PC mit einer Modem- oder Direktleitungsverbindung in der Lage
ist, während
einer einzigen Kommunikationssitzung zwischen mehreren Hosteinheiten
zu wechseln. Die Kennung „.." in „Hosteinheit.." und „Hostsystem.." in 1 zeigt
an, daß eine
oder mehrere zusätzliche Hosteinheiten
in einer Verkettung vorhanden sein können. Die Höchstzahl der Hosteinheiten
hängt von der
verfügbaren
Bitzahl ab, die für
jede Hosteinheitsadresse verwendet wird, und das vorzugsweise Ausführungsbeispiel
unterstützt
bis zu 64 Hosteinheiten an jeder Hostsite. Diese anderen Hostsystemkonfigurationen
sind auf gleiche Weise an ihre jeweiligen Host-PCs angeschlossen
wie oben für
die Hosteinheit 00 8 beschrieben. D.h., die Hosteinheit
01 13 und die Hosteinheit .. 18 sind jeweils wie
oben für
die Hosteinheit 00 8 beschrieben an das Bildschirmgerät 15, 19 den
Host-PC 16, 20 und die Tastatur 17, 21 angeschlossen,
mit der Ausnahme, daß die
letzte Hosteinheit in der Verkettung kein Verkettungskabel hat, das
mit der Buchse „Data
Out" 71 (3)
der Hosteinheit verbunden ist. Die auf einem Fern-PC installierte
Software (die mit der Ausrüstung
geliefert wird) ermöglicht
einem Fern-PC, auf mehr als eine Hostsite zuzugreifen, doch muß der Zugriff
auf eine Hostsite erst beendet werden, bevor auf eine andere Hostsite
zugegriffen werden kann (d.h., es kann nur auf eine Hostsite auf
einmal zugegriffen werden).
-
2 zeigt
eine Vorderansicht einer Hosteinheit. Die Frontplatte der Hosteinheit
umfaßt
fünf Zustandsanzeigelampen 50-54 und
einen Impulsschalter 55. Alle fünf Anzeigelampen sind aus,
bis der Ein-/Ausschalter auf der Rückseite der Hosteinheit eingeschaltet
wird. Die Funktion jeder dieser fünf Anzeigelampen wird im folgenden
von links nach rechts ausführlich
wie folgt beschrieben:
„AC
Power" (Stromversorgung) 50 – Diese
Lampe zeigt an, daß der
Ein-/Ausschalter der Hosteinheit in der Stellung „An" ist und die Hosteinheit
mit Strom versorgt wird.
„Keyboard
Local" (lokale Tastatur) 51 – Diese
Lampe zeigt an, daß die
an die Hosteinheit angeschlossene Tastatur/Maus verfügbar ist
und benutzt werden kann.
„Keyboard
Remote" (Ferntastatur) 52 – Diese
Lampe zeigt an, daß ein
Fernbenutzer auf die Hosteinheit zugreift. Wenn die Lampe blinkt,
bedeutet dies, daß ein
Fernbenutzer im Begriff ist, sich mit der Hosteinheit zu verbinden,
oder daß die Übernahme
der Tastatur und/oder Maus zuvor von einem Benutzer des Host-PCs
gesperrt wurde. Wenn die Lampe AN ist, bedeutet dies, daß ein Fernbenutzer
die Tastatur und/oder Maus des Host-PCs übernommen hat.
„Daisy
Chain" (Verkettung) 53 – Diese
Lampe blinkt gegenwärtig
periodisch, um anzuzeigen, daß ein Fernbenutzer
mit einer der Hosteinheiten der Verkettung verbunden ist. Wenn kein
Fernbenutzer auf eine Hosteinheit in der Verkettung zugreift, ist
die Lampe aus.
„Setup-Mode" (Setupmodus) 54 – Diese
Lampe blinkt während
des anfänglichen
Trainings oder bei der Neukonfiguration der Hosteinheit, um anzuzeigen, daß die Hosteinheit
korrekt an den Host-PC angeschlossen ist. Diese Lampe blinkt auch,
wenn zwischen einem Fern-PC und einem Host-PC Dateiübertragungen
stattfinden.
-
Wenn
jemand die Tastatur und/oder Maus eines Host-PCs benutzt, während ein
Fern-PC versucht, den Host-PC zu übernehmen, kann der Benutzer
des Host-PCs auf Wunsch die Kontrolle über die Tastatur und/oder Maus
des Host-PCs behalten, indem er den Aktionsschalter 55 drückt. Nur
ein Benutzer auf einmal kann die Kontrolle über die Tastatur und/oder Maus
des Host-PCs haben. In Konfliktfällen hat
der Benutzer an der Hostsite die letzte Entscheidung darüber, wer
die Kontrolle über
die Tastatur und/oder Maus des Hostsystems hat. Die Kontrolle kann
durch Drücken
des Aktionsschalters 55 abgegeben und übernommen werden. Unabhängig davon,
wer gerade die Kontrolle über
die Tastatur und/oder Maus des Hostsystems hat, ist ein Fernbenutzer
nach erfolgreicher Verbindung mit einer Hosteinheit in der Lage,
den Bildschirm des Host-PCs an seinem Fern-PC zu betrachten. Dieser Bildschirmzugriff
kann vom Hostbenutzer verhindert werden, indem er den Ein-/Ausschalter
an der Hosteinheit ausschaltet.
-
Wie
oben erwähnt,
zeigt die Lampe „Keyboard
Remote" 52 auf
der Vorderseite der Hosteinheit an, daß ein Fernbenutzer auf die
Hosteinheit zugreift. Wenn die Lampe blinkt, bedeutet dies zunächst, daß ein Fern-PC
im Begriff ist, auf die Hosteinheit zuzugreifen, oder daß der Benutzer
am Host-PC die Übernahme
der Tastatur des Host-PCs zuvor gesperrt hat. Wenn die Lampe AN
ist, bedeutet dies, daß ein
Fernbenutzer die Tastatur und/oder Maus des Host-PCs übernommen
hat. Wenn ein Fernbenutzer anfangs versucht, einen Host-PC zu übernehmen,
wird ein kurzer akustischer Alarm von einem Lautsprecher (nicht
gezeigt) in der Hosteinheit erzeugt, um jeden an der Hostsite zu
warnen, daß die Tastatur
und/oder Maus an der Hosteinheit im Begriff ist, von einem Fern-PC übernommen
zu werden.
-
Während die
Lampe „Keyboard
Remote" 52 blinkt,
kann ein anderer Benutzer am Host-PC den Aktionsschalter 55 auf
der Frontplatte drücken,
um zu verhindern, daß ein
Fern-PC die Tastatur und/oder Maus des Host-PCs übernimmt. Wenn der Aktionsschalter 55 zu
diesem Zweck betätigt
wird, blinkt die Lampe „Keyboard
Remote" 52 weiter
und der Fernbenutzer wird daran gehindert, die Tastatur und/oder Maus
des Host-PCs zu übernehmen,
bis der Aktionsschalter 55 erneut gedrückt wird oder der Fernbenutzer
die Verbindung trennt und sie zu einem späterem Zeitpunkt wieder aufbaut.
Wenn der Fernbenutzer die Verbindung trennt, während die Lampe „Keyboard Remote" 52 blinkt,
erlischt die Anzeigelampe automatisch. Wenn der Zugriff eines Fernbenutzers
auf die Tastatur und/oder Maus einer Hosteinheit gesperrt wird,
erscheint während
des Verbindungsvorgangs eine Warnmeldung auf seinem Bildschirm (am Fern-PC).
Selbst wenn ein Fernbenutzer von einer Person an der Hosteinheit
gehindert wird, auf die Tastatur und/oder Maus zuzugreifen, ist
der Fernbenutzer dennoch in der Lage, jede Bildschirmaktivität auf dem
Host-PC zu überwachen.
Sobald ein Benutzer eine Hosttastatur übernommen hat, bleibt die Anzeigelampe „Keyboard
Remote" 52 an.
Die Berechtigung des Fernbenutzers, die Tastatur und Maus des Host-PC
weiter zu benutzen, kann jederzeit durch Drücken des Aktionsschalters 55 auf
der Vorderseite der Hosteinheit widerrufen werden, wonach die Anzeigelampe „Keyboard
Remote" 52 blinkt,
bis der Fernbenutzer die Verbindung zur Hosteinheit trennt. Dann
bleibt der Fernbenutzer gesperrt, bis der Impulsschalter 55 erneut
gedrückt
wird oder der Fernbenutzer die Verbindung beendet und sie zu einem späteren Zeitpunkt
wieder aufbaut.
-
Falls
ein Fernbenutzer wünscht,
auf eine Weise auf eine Hosteinheit zuzugreifen, die vom Benutzer
des Host-PCs nicht leicht zu erkennen ist (nachstehend „heimlicher
Modus" genannt),
kann die Ausführung
der Hosteinheit nur die Lampen „AC Power" 50 und „Setup Mode" 54 umfassen,
und keinen akustischen Alarm. In diesen Fällen greift der Fernbenutzer
in einem „Nur
Betrachten"-Modus
auf die Hosteinheit zu, wie unten in der Erläuterung zu 5B ausführlicher
beschrieben. Diese Ausführung
kann zum Beispiel verwendet werden, wenn ein Arbeitgeber die Nutzung
eines Host-PCs einen Angestellten auf diskrete Weise aus der Ferne
zu überwachen
wünscht.
-
3 zeigt
die gegenwärtige
Rückansicht der
Hosteinheit. Es hätten
verschiedene andere Schnittstellenkabel, Adapter und Steckverbinder
verwendet werden können,
um die Hosteinheit mit dem Host-PC, Modem (Modemverbindungsmodus), Fern-PC
(Direktleitungsverbindungsmodus) und/oder einer anderen Hosteinheit
in der Verkettung zu verbinden. Zum Beispiel hätte anstelle der RJ-12-Buchse, die gegenwärtig verwendet
wird, um den seriellen Ausgang der Hosteinheit mit dem seriellen
Eingang des Host-PCs zu verbinden, eine 25-Pin-Buchse und ein Parallelschnittstellenkabel von
der Hosteinheit zu einer der Parallelschnittstellen des Host-PCs
verwendet werden können.
Als zweites Beispiel hätten
statt der RJ-12-Buchsen standardmäßige serielle Kabel und serielle
Buchsen verwendet werden können,
um die Hosteinheit mit einem Modem/Fern-PC zu verbinden und die
Hosteinheiten in einer Verkettung miteinander zu verbinden. Diese
alternativen Kabel, Stecker und Buchsen sind dem Fachmann vertraut
und beeinflussen die Arbeitsweise der Vorrichtung nicht wesentlich.
-
Die
Rückseite
der Hosteinheit umfaßt
gegenwärtig
Buchsen für
den Anschluß des
Stromkabels, mehrere RJ-12-Buchsen für die Datenübertragungskabel, mehrere Buchsen
für den
Anschluß der
Videokabel, Tastaturschnittstellen, optionale Mausschnittstellen
und eine vom Benutzer austauschbare Sicherung mit einer Anzeigelampe,
die leuchtet, wenn die Sicherung durchgebrannt ist. Jedes Element
auf der Rückseite
wird in folgenden von links nach rechts gehend ausführlich wie
folgt beschrieben:
EIN-/AUS-Schalter 60 – Der Ein-/Ausschalter 60 wird verwendet,
um die Stromzufuhr zur Hosteinheit zu unterbrechen. Sein Ein- und
Ausschalten steuert nur die Stromzufuhr zu den internen Schaltungen
der Hosteinheit und hat keinen Einfluß auf die Stromversorgung des
Host-PCs.
„AC Power" (Stromversorgung) 61 – Das eine
bzw. weibliche Ende des Stromkabels, das normalerweise mit dem Host-PC
verbunden wird, um Strom zuzuführen,
wird in diese Buchse gesteckt, und das andere dreiklauige männliche
Ende wird in eine Wechselstromquelle wie z.B. eine Wandsteckdose
oder in eine Netzausfallreserve mit Batterie gesteckt. Dieses Kabel
versorgt dann die Hosteinheit mit Wechselstrom.
„AC To
PC" (Stromversorgung
zum PC) 62 – Ein Ende
des Stromkabels, das mit der Vorrichtung geliefert wird, wird in
diese Buchse gesteckt, und das andere Ende dieses Stromkabels wird
in den Stromkabelanschluß am
Host-PC gesteckt, so daß die
Stromversorgung des Host-PCs von der Hosteinheit abhängt. Dieser
Ansatz erlaubt der Hosteinheit, einer Anforderung nach Neustart
des Host-PCs zu entsprechen, indem sie Stromzufuhr zum Host-PC kurzzeitig
unterbricht. Der Strom kann für
jede geeignete Zeit unterbrochen werden, um dem Host-PC einen korrekten
Neustart zu ermöglichen,
zum Beispiel von etwa 1 bis 30 Sekunden. Im vorzugsweisen Ausführungsbeispiel
entspricht diese Zeit etwa 15 Sekunden.
„Fuse" (Sicherung) 63 – Das System
verwendet eine vom Benutzer austauschbare 5 Ampere/250 Volt-Sicherung
auf der Rückseite,
mit einer Anzeigelampe, die aufleuchtet, wenn die Sicherung durchgebrannt ist.
Wenn die Sicherung durchgebrannt ist, ist die Stromzufuhr zum Host-PC
unterbrochen.
„Fuse
light" (Sicherungslampe) 63A – Wenn Wechselstrom
an der Hosteinheit anliegt und die Sicherung 63 durchgebrannt
ist, ist diese Anzeigelampe AN.
„VGA Out" (VGA-Ausgang) 64 – Bei Host-PCs
mit einer VGA-Bildschirmkarte
wird der 15-Pin-Stecker am Ende des Bildschirmgerätekabels
des Host-PCs in diese Buchse gesteckt. Das Signal, das über die Buchse „VGA In" 65 von
der Bildschirmkarte des Host-PCs empfangen wird, kann durch diese
Buchse zum Bildschirmgerät
des Host-PCs ausgeleitet
werden.
„VGA
In" (VGA-Eingang) 65 – Bei Host-PCs
mit einer VGA-Bildschirmkarte
wird ein Ende des VGA-Videoschnittstellenkabels (das mit der Vorrichtung
geliefert wird), das 15-Pin-Stecker an beiden Enden aufweist, in
diese Buchse gesteckt, und das andere Kabelende wird in den Anschluß der Bildschirmkarte
des Host-PCs gesteckt. Diese Kabelschnittstelle erlaubt der Hosteinheit,
das Videoausgabesignal von der Bildschirmkarte des Host-PCs zu erfassen
und das Signal durch die Buchse „VGA Out" 64 zum Bildschirmgerät des Host-PCs
auszuleiten.
„Video
Out" (Videoausgang) 66 – Bei Host-PCs
mit anderen Bildschirmkarten als VGA wird der 9-Pin-Stecker am Ende
des Bildschirmgerätekabels des
Host-PCs in diese Buchse gesteckt. Das Signal, das durch die Buchse „Video
In" 67 von
der Bildschirmkarte des Host-PCs
empfangen wird, kann durch diese Buchse zum Bildschirmgerät des Host-PCs
ausgeleitet werden.
„Video
In" (Videoeingang) 67 – Bei Host-PCs
mit anderen Bildschirmkarten als VGA wird das weibliche Ende des
9-Pin-Videoschnittstellenkabels
(das mit der Vorrichtung geliefert wird), das ein weibliches und ein
männliches
Ende aufweist, in diese Buchse gesteckt, und das männliche
Kabelende wird in den Anschluß der
Bildschirmkarte des Host-PCs gesteckt. Diese Kabelschnittstelle
erlaubt der Hosteinheit, das Videoausgabesignal von der Bildschirmkarte
des Host-PCs zu
erfassen und das Signal durch die Buchse „Video Out" 66 zum Bildschirmgerät des Host-PCs
auszuleiten.
„Keyboard
Input from KB" (Tastatureingabe
von der Tastatur) 68 – Das
Tastaturkabel des Host-PCs wird in diese Buchse gesteckt, statt
in den Tastaturanschluß des
PCs. Dies erlaubt der Hosteinheit, die Eingabe von der Hosttastatur
zum Host-PC nach Bedarf durchzulassen oder zu sperren.
„Keyboard
Output to PC" (Tastaturausgabe
an PC) 69 – Ein
Ende des Tastaturschnittstellenkabels (das mit der Vorrichtung geliefert
wird), das zwei männliche
Enden aufweist, wird in diese Buchse gesteckt, und das andere Ende
des Kabels wird in den Tastaturanschluß des Host-PCs gesteckt. Diese
Buchse wird von der Hosteinheit benutzt, um die Tastatureingabe
von der Tastatur des Fern-PCs oder des Host-PCs zum Host-PC zu leiten.
„Data In" (Dateneingang) 70 – Ein Ende
des telefonkabelartigen (6-adrigen)
RJ-12-Kabels (das mit der Vorrichtung geliefert wird) wird in diese
Buchse gesteckt, und der RJ-12-Stecker am anderen Ende des Kabels
wird mit der Buchse „Data
Out" 71 einer
anderen Hosteinheit verbunden, oder entweder mit (1) einem externen,
autonomen, Hayeskompatiblen Modem im Modemverbindungsmodus oder
(2) mit der Datenübertragungsschnittstelle
eines Fern-PCs im Direktleitungsverbindungsmodus. Wenn eine Hosteinheit über eine
Verkettung mit einer anderen Hosteinheit verbunden wird, muß mindestens
eine der Hosteinheiten in der Verkettung an ein Modem (Modemverbindungsmodus)
oder direkt an einen Fern-PC (Direktleitungsverbindungsmodus) angeschlossen
sein. Der Anschluß des
Modems wird erreicht, indem das offene Ende des Telefonkabels in den
(mit der Vorrichtung gelieferten) männlichen 9-Pin-Adapter gesteckt
wird, der dann mit der Datenschnittstelle des Modems verbunden wird.
Wenn das Modem eine andere Buchse als eine weibliche mit 9-Pins
hat, müssen
Steckadapter und/oder 9/25 Pin-Adapter (für die Vorrichtung verfügbar) verwendet
werden, um den Anschluß der
Hosteinheit an das Modem zu ermöglichen.
Die Direktleitungsverbindung mit einem Fern-PC kann erreicht werden,
indem das offene Ende des Telefonkabels in den weiblichen 9-Pin-Steckadapter
(mit der Vorrichtung geliefert) gesteckt wird, der dann in die Datenschnittstelle des
Fern-PCs gesteckt wird. Wenn der Fern-PC einen anderen Datenschnittstellenanschluß als einen männlichen
mit 9-Pins hat, müssen
Steckadapter und/oder 9/25 Pin-Adapter (für die Vorrichtung verfügbar) verwendet
werden, um den Anschluß der
Hosteinheit an den Fern-PC zu ermöglichen.
„Data Out" (Datenausgang) 71 – Ein Ende
des telefonkabelartigen (6-adrigen)
RJ-12-Kabels (das mit der Vorrichtung geliefert wird) wird in diese
Buchse gesteckt, und das andere Ende des RJ-12-Kabels wird in die
Buchse „Data
In" 70 einer
anderen Hosteinheit gesteckt. Wenn es sich um die letzte Hosteinheit
in einer Verkettung handelt, wird kein Kabel in diese Buchse gesteckt.
Wenn eine Hosteinheit mit einer anderen Hosteinheit verbunden wird,
muß mindestens
eine der Hosteinheiten in der Verkettung an ein Modem beim Modemverbindungsmodus
oder an einen Fern-PC beim Direktleitungsverbindungsmodus angeschlossen
sein (wie oben für
die Buchse „Data
In" 70 beschrieben).
Die Buchsen „Data
In" 70 und „Data Out" 71 werden
auch verwendet, um Datenpakete zwischen einer ausgewählten Hosteinheit und
einem Fern-PC zu übertragen.
„Serial" (Serielle Schnittstelle) 72 – Ein Ende
eines RJ-12-Kabels, das mit der Vorrichtung geliefert wird, wird
in diese Buchse gesteckt, und das andere Ende des RJ-12-Kabels wird
in eine serielle Schnittstelle des Host-PCs gesteckt, mit Hilfe
eines entsprechenden Adapters, der mit der Vorrichtung geliefert
wird. Die Datenübertragung
zwischen dem Host-PC und dem Fern-PC erfolgt über diese Buchse „Serial" 72. Gegenwärtig verwendet
die Vorrichtung die serielle Datenübertragung, doch die Übertragung
ist auch über
die Parallelschnittstelle des Host-PCs möglich.
„Mouse" (Maus) 73 – Das Kabel
der seriellen Maus des Host-PCs in die männliche Buchse „Mouse" 73 gesteckt,
statt mit der seriellen Schnittstelle des Host-PCs verbunden zu
werden. Dies erlaubt der Hosteinheit, die Eingabe der Host-Maus
je nach Bedarf zum Host-PC durchzulassen oder zu sperren.
„Aux" (AUX-Anschluß) 74 – Zusatzgeräte können an dieser
Buchse angeschlossen werden, die gegenwärtig eine RJ-12-Buchse ist,
und diese Buchse erlaubt den bidirektionalen Datenaustausch zwischen dem
Gerät und
der Hosteinheit. Spezifische Verwendungen für diesen Anschluß werden
später
erläutert.
-
Auf
der Seite der Hosteinheit sind acht DIP-Schalter vorgesehen (nicht
gezeigt). Die ersten 6 linken DIP-Schalter zeigen die Identifikationsnummer
der Hosteinheit an. Wenn diese 6 DIP-Schalter in der unteren Position
sind, ist die Hosteinheit direkt an ein Modem (Modemverbindungsmodus)
oder an einen Fern-PC (Direktleitungsverbindungsmodus) angeschlossen.
Sonst, wenn die Hosteinheit mit anderen Hosteinheiten verkettet
ist, muß jeder
Hosteinheit in der Verkettung vom Benutzer eine einmalige DIP-Schalterstellung
zugewiesen werden, die einer Adresse von 1 bis 63 entspricht. Dadurch
können
nur maximal 64 Hosteinheiten an einer Hostsite verkettet werden.
Wie oben erwähnt,
kann die Zahl der DIP-Schalter
erhöht
werden, um die Verkettung zusätzlicher
Hosteinheiten zu ermöglichen.
Gegenwärtig
stellen die 6 DIP-Schalterstellungen Binärwerte dar, die von links nach
rechts gelesen werden. Demgemäß ist die
Identifikationsnummer der Hosteinheit 1, wenn nur der ganz linke
DIP-Schalter in der oberen Stellung ist. Wenn die ersten zwei linken
DIP-Schalter in der oberen Stellung sind, ist die Identifikationsnummer
der Hosteinheit 3 (d.h. 1 + 2) und so weiter. Für den Fernzugriff auf eine
Hosteinheit muß die Identifikationsnummer
der Hosteinheit im Anrufverzeichnis des Fern-PCs korrekt definiert
sein, wie unten in der Erläuterung
zu 7 beschrieben.
-
Der
siebte und achte DIP-Schalter sind für die Schaltungen der Hosteinheit
verfügbar.
Der siebte DIP-Schalter ist gegenwärtig unbelegt. Der achte DIP-Schalter
wird gegenwärtig
für VGA-Bildschirmkarten
benutzt, um einzustellen, ob an der Buchse „VGA Out" 64 der Hosteinheit ein monochromer
Bildschirm (DIP-Schalter
in der oberen Stellung) oder ein Farbbildschirm (DIP-Schalter in
der unteren Stellung) angeschlossen ist.
-
4A bis 4P zeigen
allgemeine Funktionsdiagramme der internen Schaltungen der Hosteinheit. 4A ist eine Übersicht
der Schaltungen der Hosteinheit. Die Hosteinheit umfaßt eine
Stromversorgung 100, zwei Mikroprozessoren (CPUs) 106, 114 und
zugehörige
Schaltungen.
-
Die
Video-CPU 114 steuert die Videoschaltungen (d.h. Block 110-113 und 115),
die Schnittstelle 116 zur Datenschaltung des Host-PCs und
die Schnittstelle 117 zur Mausschaltung des Host-PCs. Die
Schnittstellen zur Hostdatenschaltung 116 und Mausschaltung 117 verwenden
hier den seriellen Schnittstellenanschluß des Host-PCs. Zu diesem Zweck
hätten
aber auch andere Datenanschlüsse des
Host-PCs gewählt werden
können,
z.B. die Parallelschnittstelle. Die Schnittstelle zur Hostdatenschaltung 116 wird
verwendet, um Datenübertragungen
zwischen einem Fern-PC und einem Host-PC durchzuführen.
-
Weitere
Merkmale, die unten erläutert
werden und vom Fachmann in die Gerätesoftware aufgenommen werden
können,
umfassen die Mausverarbeitungsfähigkeit,
das Aufzeichnen eines Host-PC-Bildschirmprotokolls, den Kennwortschutz, die
Verarbeitung eines vorläufigen
Kennworts, das Hoch- und Herunterladen der Trainingsparameter, den
Betrieb eines internen Modems, den Betrieb eines Akustikkopplers
und den Betrieb des AUX-Anschlusses.
-
Die
Steuer-CPU 106 steuert die Tastaturschaltung 101,
die Frontplattenschaltung 102 und die Ferndatenschaltung 103.
Die Tastaturschaltung 101 läßt die Tastatursignale des
Host-PCs zum Host-PC durch oder leitet alle Tastatursignale von
der Tastatur des Host-PCs zur Tastatur eines Fern-PCs um (über die
Ferndatenschaltung 103), wenn dies von einem berechtigten
Fernbenutzer angefordert wird. Die Frontplattenschaltung steuert
die Anzeigelampen und den Impulsschalter, die auf der Frontplatte
der Hosteinheit (siehe 2) angeordnet sind, sowie den
akustischen Alarm der Hosteinheit. Die Ferndatenschaltung 103 erlaubt
den Austausch von Digitaldaten zwischen der Hosteinheit und einem
Fern-PC und/oder
anderen Hosteinheiten in einer Verkettung. Diese Digitaldaten können mit
seriellen RS-232-Datenübertragungssignalen übertragen
werden, die dem Fachmann vertraut sind. Diese Digitaldaten können zum
Beispiel Videoanzeigedaten umfassen, die von einer Hosteinheit zu
einem Fern-PC übertragen werden,
Tastatureingabedaten, die vom Fern-PC zu einer Hosteinheit übertragen
werden, und Zeichenketten zur Modemeinstellung. Die Steuer-CPU 106 hat
auch Zugriff auf die feststehende Seriennummer 104 der
Hosteinheit und auf den nicht flüchtigen RAM-Speicher 108 (NV
RAM). Der NV RAM 108 wird zum Speichern der kritischen
Daten verwendet, die für
den Fall gesichert werden müssen,
daß die Stromzufuhr
zur Hosteinheit unterbrochen wird, wie z.B. die Kennwörter, die
für den
Zugriff auf die Hosteinheit benötigt
werden.
-
Die
Steuer-CPU 106 und die Video-CPU 114 sind über einen
bidirektionalen Data-Port 107 miteinander verbunden.
-
Gegenwärtig ist
die Stromquelle 100 eine lineare Stromversorgung mit Netztransformator,
Brückengleichrichter,
Filterkondensator und zwei 7805 5 Volt-Spannungsreglern. Der Stromsteuerkreis
steuert den Wechselstrom zum Host-PC und umfaßt im diesem Ausführungsbeispiel
eine 5 Ampere-Sicherung, ein 5 Ampere-Relais und einen zugehörigen Treibertransistor.
Der Treibertransistor wird durch eine Stromverriegelungsschaltung 105 gesteuert,
die eine unbeabsichtigte Aktivierung dieser Schaltung verhindert,
was zur kurzzeitigen Unterbrechung der Stromversorgung des Host-PCs
führen
würde.
-
Die
Tastaturschaltung 101 ist über eine Schnittstelle mit
dem Host-PC und seiner Tastatur verbunden. Wie in 4B gezeigt, weisen die Hosttastatursignale 122 zwei
Primärleitungen
auf: CLOCK (Takt) und DATA (Daten), die den bidirektionalen Datenaustausch
zwischen der Tastatur und dem Host-PC 120 ermöglichen.
Die Symbole, die in 4B zur Kennzeichnung der Schalter,
der Zahl der Leitungen usw. verwendet werden, sind dem Fachmann
vertraut. Wenn kein Fernzugriff auf die Hosteinheit erfolgt (d.h.,
im normalen lokalen Betriebmodus), werden die Tastatursignale des
Host-PCs direkt zum Tastaturanschluß des Host-PCs geleitet, der
als Block 121 dargestellt ist. Im Fernmodus (d.h., wenn
ein Fernbenutzer die Kontrolle über
die Tastatureingabe des Host-PCs übernommen hat), bewirkt die
Steuer-CPU 106, daß die
Schaltung 121 die Tastatur 120 des Host-PCs trennt,
und daß der
Host-PC seine Tastatursignale über
die 123, 124, 125 von der Steuer-CPU
empfängt.
Die zwei Tastatursignale „Takt" und „Daten" (5 Volt Nennspannung,
mit Pull-up-Widerständen)
durchlaufen eine E/A-Schaltung 124 und 125, die
diese auf die Ein- und Ausgangsleitungen für jedes Signal verteilt und
in Block 127 detaillierter dargestellt ist. Diese Schaltung
umfaßt
ein Gatter 142 mit einem potentialfreiem Ausgang und einen
Pull-up-Widerstand 141 (mit
einem Nennwert von 2,2 K). Dies ermöglicht der Hosteinheit, ein
Tastatursignal zu emulieren. 143 und 144 veranschaulichen,
wie die Takt- und Datensignale auf die Ein- und Ausgangsleitungen
verteilt werden, die mit der Steuer-CPU verbunden sind.
-
Die
Mausschaltung 117 (4A)
wird im Block 131 von 4B detaillierter
dargestellt. Im lokalen Modus werden die seriellen Maussignale 132, die
ein RS-232C-Protokoll
verwenden können,
von der Mausschnittstelle (siehe 73 in 3)
direkt zum seriellen Ausgang (siehe 72 in 3)
der Hosteinheit und zur seriellen Schnittstelle 130 des
Host-PCs durchgelassen, wie gezeigt. Im Fernmodus aktiviert die
Video-CPU 114 der Hosteinheit einen Schalter, so daß nur die
Mauseingabedaten, die vom Fern-PC 133 empfangen werden,
zur seriellen Schnittstelle des Host-PCs durchgelassen werden. Zudem
erfüllt dieser
Anschluß auch
einem anderen Zweck. Er erlaubt auch die Dateiübertragung zwischen dem Host-PC
und dem Fern-PC. Die Entscheidung darüber, ob Mausdaten oder Da teien übertragen
werden sollen, wird vom Softwarebetriebssystem auf dem Fern- und/oder Host-PC
gefällt.
Der Host-PC behandelt jede serielle Eingabe als Mausdaten, solange kein
spezielles Softwareprogramm, das mit der Vorrichtung geliefert wird,
auf dem Host-PC aktiviert wird (über
Tastaturbefehle vom Fern-PC
aus), das den Host-PC veranlaßt,
die seriellen Eingabedaten als Dateiübertragung statt als Mauseingabedaten
zu behandeln. Wenn die Verarbeitung dieser Software beendet ist,
behandelt der Host-PC jede nachfolgende serielle Eingabe wieder
als Mausdaten.
-
Hosteinheiten
können
miteinander verkettet werden, durch ein spezielles Kabel, das alle
Hosteinheiten miteinander verbindet. Ein Modem (oder eine primäre serielle
Datenleitung) wird mit der Buchse „Data In" der Hosteinheit Nummer 00 verbunden,
und die Buchse „Data
Out" dieser Hosteinheit
kann dann mit der Buchse „Data
In" einer anderen
Hosteinheit verbunden werden, wie oben in der Erläuterung
zu 1 beschrieben.
-
Die
Steuer-CPU 106 umfaßt
einen 80C32-Mikroprozessor, 32K RAM-Speicher und 32K EPROM-Speicher,
doch für
diese Erfindung kann jeder Mikroprozessor und jede Speichergröße verwendet
werden. Der EPROM-Speicher enthält
die Betriebssystemsoftware für
diese CPU. Die Steuer-CPU 106 hat auch Zugriff auf einen
DIP-Schalter mit 8 Stellungen. Wie oben erwähnt, legt dieser DIP-Schalter
die Identifikationsnummer der Hosteinheit fest. Diese Nummer oder
Adresse wird verwendet, um einem Fern-PC den Zugriff auf eine bestimmte
Hosteinheit in einer Verkettung zu erlauben, und die Adressen können vom
Benutzer festgelegt werden. Doch die Hosteinheitsnummer 00 ist speziell und
verlangt, daß ein
Hayes-kompatibles Modem oder eine Direktleitung mit dem Dateneingang
(siehe 70 in 3) verbunden wird.
-
Wie
in 4C gezeigt, ermöglicht die Ferndatenschaltung 103 den
Zugriff auf die Hosteinheit. Die vom Fern-PC 150 kommenden
Daten werden elektrisch vom Dateneingang zum Datenausgang jeder
Hosteinheit 151, 152, 153 in einer Verkettung durchgeleitet.
Die Steuer-CPU 151A, 152A, 153A jeder
Hosteinheit empfängt
alle Daten, die vom Fern-PC 150 auf einer Empfangsleitung 155 durch die
Verkettung geleitet werden.
-
Daten
von Hosteinheiten zu einem Fern-PC werden über eine separate Sendeleitung 156 übertragen,
die von der Empfangsleitung 155 getrennt ist. Wenn kein
Zugriff auf eine Hosteinheit in einer Verkettung erfolgt, ist keine
der Hosteinheiten elektrisch mit der Sendeleitung 156 verbunden.
Doch wenn ein Fern-PC über
die Empfangsleitung 155 auf eine Hosteinheit zugreift,
wird diese Hosteinheit durch ein Relais 151B, 152B, 153B elektrisch
mit der Sendeleitung 156 verbunden, um den bidirektionalen
Datenaustausch zwischen der Hosteinheit und dem Fern-PC zu ermöglichen.
-
Die
Stromversorgung des Host-PCs wird durch eine Stromverriegelungsschaltung 105 (4A) gesteuert. Diese Schaltung stellt sicher, daß ein beabsichtigter
Datentransfer erfolgt, bevor die Stromversorgung des Host-PCs vom
Stromsteuerkreis 100 kurzzeitig unterbrochen wird. Diese „Verriegelungsschaltung" verlangt, daß nicht
nur eine spezifische Reihe von Werten geschrieben wird, sondern
auch an spezifischen Port-Adressen, und beim Schreiben muß ein bestimmter
Bitwert korrekt sein, bevor die Hosteinheit die Unterbrechung der
Stromzufuhr zum Host-PC zuläßt. Diese
Stromverriegelungsschaltung, sowie die Videoverarbeitungsschaltungen,
die unten beschrieben werden, verwenden für die Verarbeitung beide eine
zyklische Blockprüfungsfunktion
(CRC), die dem Fachmann vertraut ist.
-
Wie
in 4D gezeigt, ist die CRC ein gängiges Verfahren, daß zur Erzeugung
von Pseudozufallszahlen verwendet wird, und um lange Datenströme zu kleineren
Prüfsummen
(1, 2 oder mehr Bytes) zu reduzieren. CRC wird typischerweise zur
Pseudozufallszahlenerzeugung, Bitstromidentifikation und Bitstromfehlererkennung
verwendet.
-
Das
CRC-Verfahren basiert auf der Verschiebung der Parität, oder
Einzelbitsumme, eines Eingabedatensignals 185 und ausgewählter Bits 178, 179, 181 einer
Verschieberegisterausgabe 177. Jedes mal, wenn das Verschieberegister 172 getaktet wird 171,
wird ein neues Bit 170 in das Verschieberegister verschoben.
Die EXKLUSIVES-ODER-Gatter 180, 182, 184 erzeugen
das Paritätssignal.
Nach 8 Taktimpulsen weist der neue Wert 177 keinen erkennbaren
Bezug mehr zum vorhergehenden Wert auf. Wenn das Eingabebit 185 mit
plus festverdrahtet (oder eine logische 1) ist, lassen sich lange
Reihen von Pseudozufallswerten erzeugen. Statt diese Eingabe 185 fest
zu verdrahten, läßt man das
Gatter 184 nor malerweise aus und verbindet das Signal 183 mit 170.
Die erzeugten Reihen wiederholen sich alle N Taktzyklen, wobei der
theoretische Höchstwert
von N bei einem 8 Bit-Verschieberegister 256 ist, und 65.536 bei
einem 16 Bit-Verschieberegister.
Wenn ein Datenstrom 185 vorhanden ist, wird dieser die Pseudozufallsreihen
modifizieren und einen einmaligen Wert in 177 ergeben,
der zur Identifizierung des Datenstroms verwendet werden kann. Die
speziellen Bits 173, 174, 176 der für die Paritätserzeugung
gewählten
Verschieberegisterausgabe 177 legen übrigens die erzeugten Pseudozufallszahlenreihen
fest. D.h., die Verbindungen 178 und 179 können mit
anderen Bits von 177 verbunden werden, zum Beispiel mit
dem Ausgabebit 175, und/oder es können mehr Bits mit mehr EXKLUSIVES-ODER-Gattern
hinzugefügt
werden, wodurch die erzeugten Nummern geändert werden.
-
4E zeigt ein Diagramm der Stromverriegelungsschaltung.
Der CRC-Generator 213 verwendet
ein 8 Bit-Verschieberegister und entspricht dem in 4D gezeigten, wobei die Dateneingabe 185 ausgelassen
wurde und eine Löscheingabe 212 vorgesehen
ist. Diese Löscheingabe
setzt den CRC-Wert auf null. Die Stromzufuhr zum Host-PC wird unterbrochen,
wenn die Ausgabe 222 der Latch-Schaltung für Bits „AN" ist. Um diese Ausgabe 222 zu
setzen, erzeugt die Steuer-CPU (in der gegenwärtigen Ausführung) einen Schreibimpuls
an die Latch-Schaltung 221, wenn das Digitalsignal 223 eine
eins ist (hoher Pegel). Dieses Signal 223 ist nur dann
eine eins (hoher Pegel), wenn die CRC-Werte 196 über die
Vergleichsschaltung 198 verglichen wird und dem Wert „128" (hex 80) entspricht,
der mit dieser festverdrahtet 197 ist. Das Signal 202 taktet
den CRC-Generator 213 nur
dann, wenn das Vergleichsausgabesignal 190 eine eins (hoher
Pegel) ist. Sonst wird das Signal 202 den CRC-Wert 196 statt
dessen auf null setzen. Dies wird durch die Logikgatter 200, 204, 205 erreicht.
Wenn eine CRC-Ausgabe 196 in
der Vergleichsschaltung 195 mit der Dateneingabe 194 verglichen
wird und gleich ist, ist die Ausgabe 190 eine eins (hoher
Pegel). Angenommen, der CRC-Wert 196 ist gleich null, dann
erreicht der CRC-Generator 213 nach etwa 250 Taktimpulsen 211 „128" (hex 80), wobei
der CRC-Generator 213 in dieser Zeit etwa 250 einmalige
CRC-Werte 196 erzeugt hat. Damit diese Taktimpulse 211 erzeugt
werden, muß der
Wert 194 dem aktuellen CRC-Wert 196 für jeden
Schreibimpuls 202 entsprechen. Diese Datenbyteeingabe 194 ist
aus drei Signalsätzen 191, 192, 193 zusammengesetzt.
Die Adreßleitungen 193 lassen
diesen Port 194 der Steuer-CPU 106 (4A) als 8 Ausgabekanäle er scheinen. Daher muß die Steuer-CPU das
Verriegelungsbit 191 korrekt setzen und einen korrekten
Wert 192 an den korrekten Port 193 schreiben (durch
Impulse an 202), wobei die Kombination dieser Signale dem
aktuellen CRC 196 entsprechen muß, um den CRC-Generator zu
takten 211 und den nächsten
CRC-Wert zu erhalten.
Dies setzt sich fort, bis der CRC-Wert „128" (hex 80) ist, dann gibt die Steuer-CPU
den Impuls 220 aus. Die Wahl von 191, 192, 193 gewährleistet,
daß die
Stromversorgung des Host-PCs bei einem Verarbeitungsfehler der Steuer-CPU
nicht unbeabsichtigt unterbrochen wird.
-
Die
obige Schaltung wird im vorzugsweisen Ausführungsbeispiel der vorliegenden
Erfindung verwendet, um sicherzustellen, daß die Stromzufuhr zum Host-PC
nicht unterbrochen wird, außer
wenn dies von einem Benutzer angefordert wird. Wenn solche Vorkehrungen
nicht notwendig sind, kann ein einfacherer Stromsteuerkreis verwendet
werden, zum Beispiel, um die Gesamtkosten des Systems zu senken.
Diese Schaltung kann zum Beispiel nur verlangen, daß die Steuer-CPU 106 ein
Stromunterbrechungsbefehlsbyte vom Fernbenutzer erhält. Weitere Beispiele
für weniger
komplex aufgebaute Stromsteuerkreise sind für den Fachmann aufgrund der obigen
Erläuterung
leicht zu ersehen.
-
Die
Steuer-CPU 106 hat Zugriff auf ein Seriennummerngerät 104.
Dieses versieht die Hosteinheit mit einer einmaligen Hardwareseriennummer. Das
vorzugsweise Ausführungsbeispiel
der vorliegenden Erfindung verwendet ein DALLAS DS2401- Bauteil,
das mit einer vorprogrammierten, einmaligen Seriennummer geliefert
wird. Natürlich
können
auch andere geeignete Mittel verwendet werden, um die Hardwareseriennummer
für jede
Hosteinheit zu speichern. Die Hosteinheit umfaßt auch 2 K nicht flüchtigen
RAM-Speicher 108 zum Speichern des Kennworts der Hosteinheit
und der Videotakt- und CRC-Information,
die für
die Videohardwarekonfiguration des Host-PCs spezifisch ist, die
während
eines Hosteinheit-Trainingsvorgangs ermittelt wird, der unten in
Verbindung mit 6A bis 6D erläutert wird.
-
Im
vorzugsweisen Ausführungsbeispiel
umfaßt
die Video-CPU 114 einen 80C32-Mikroprozessor, zwei Bänke mit
32 K 8-Bit-RAM-Speicher (insgesamt 64 K) und 32 K EPROM-Speicher.
Wie der obige Steuer-Mikroprozessor 106 kann auch dieser
Mikroprozessor durch jeden geeigneten Mikroprozessor (z.B. ein 80286,
80386, 80486, 68000, 68010 usw.) und Speicher ersetzt werden. Der EPROM-Speicher
enthält
die Betriebssystemsoftware für
diese CPU. Ein serieller RS-232C-Anschluß 116 ist für die Übertragung
von Dateien oder seriellen Mausdaten zum Host-PC vorgesehen.
-
Die
Teile der Hosteinheit, welche die Videoverarbeitung betreffen, verwenden
einen kombinierten Hardware/Software-Ansatz. D.h., ein Teil der
Videoverarbeitung wird von diskreten Logikschaltungen übernommen,
und der Rest der Videoverarbeitung wird von einem Mikroprozessor
mit der zugehörigen
Betriebssoftware durchgeführt.
Im vorzugsweisen Ausführungsbeispiel
wurde dies getan, um Flexibilität
bei den Videoverarbeitungstechniken zu erhalten. Wie für den Fachmann
leicht ersichtlich, kann in anderen Ausführungsformen der Erfindung
ein größerer Teil
dieser Verarbeitung den diskreten Schaltungen zugewiesen werden,
um die Anforderungen an die Verarbeitungssoftware zu senken und
die Verarbeitungsgeschwindigkeit zu erhöhen, oder ein größerer Teil
dieser Verarbeitung kann der Hardware oder Software zugewiesen werden,
um die Flexibilität zu
erhöhen.
-
Die
Steuer-CPU 106 und die Video-CPU 114 sind durch
einen bidirektionalen Data Port 107 miteinander verbunden.
Wie in 4F gezeigt, prüft die Steuer-CPU 106 den
Schreibstatus 232, um zu sehen, ob die Latch-Schaltung 234 leer
ist. Wenn sie leer ist, übergibt
die CPU einen Wert 230 und schaltet die Schreibleitung 231 um.
Dadurch wird die Latch-Schaltung für Bits 236 gesetzt
und der Status 232 zeigt an, daß die Latch-Schaltung 234 voll
ist. Die Video-CPU 114 kann dann den Lesestatus 232 abfragen
und, wenn er gesetzt ist, den Wert 233 durch Takten von 235 auslesen.
wodurch der Lesestatus 232 zurückgesetzt wird. Die Video-CPU 114 prüft den Schreibstatus 240,
um zu sehen, ob die Latch-Schaltung 245 leer
ist. Wenn sie leer ist, übergibt
die Video-CPU 114 einen Wert 246 und schaltet die
Schreibleitung 244 um. Dadurch wird die Latch-Schaltung
für Bits 243 gesetzt
und der Status 240 zeigt an, daß die Latch-Schaltung 245 voll
ist. Die Steuer-CPU 106 kann dann den Lesestatus 240 abfragen
und, wenn er gesetzt ist, den Wert 242 durch Takten von 241 auslesen.
wodurch der Lesestatus 240 zurückgesetzt wird. Die Statussignale 232 und 240 werden
beide als Lese- und Schreibstatus bezeichnet, und ihre Funktion
hängt davon
ab, von welcher CPU das Statussignal abgefragt wird.
-
Wie
in 4A gezeigt, programmiert die Video-CPU 114 die
Videoschaltungen 110, 112, 113, wonach
die Videosignale, einschließlich
der Videorastersignale, die von der Bildschirmkarte des Host-PCs
kommen (in 4G ausführlicher erläutert),
von der Videosignaleingangsschaltung 110 und vom Videoprozessor 111 verarbeitet
werden. Die resultierenden Videodaten werden in den Videoausgabepuffer 115 geschrieben.
Im vorzugsweisen Ausführungsbeispiel
ist dieser Puffer 32.000 × 16
Bit groß, was
genug Speicher ist, um einen Graphikbildschirm mit 800 × 600 digitalisierter
Graphik oder mehr als einen Textbildschirm zu fassen. Der Videoprozessor 111 schreibt
in diesen Videoausgabepuffer 115, so daß die in den Puffer geschriebenen
Daten von der Video-CPU 114 ausgelesen werden können.
-
Die
Videoeingabe von der Bildschirmkarte des Host-PCs wird durch ein
Videoschnittstellenkabel geleitet, das gegenwärtig mit einer DB-9-Pin-Buchse
(bei TTL-Videosignalen) oder einer DB-15-Pin-Buchse (bei analogen
Videosignalen) verbunden wird, die auf der Rückseite der Hosteinheit angeordnet
sind (siehe 65 oder 67 in 3). Bei
beiden Buchsen sind die Horizontal- und Vertikalsynchronisationsimpulse
TTL-Signale. Wenn diese Videosignale die Videosignaleingangsschaltung 110 erreichen,
wählt die
Schaltung die Synchronpulspolarität, den TTL- oder analogen Modus,
und ein bestimmtes Farbsignal. Dieses Signal wird an den Videoprozessor 111 übergeben.
-
Analoge
VGA-Bildschirmgeräte
können Farbbildschirme
oder monochrome Bildschirme sein. Wie zuvor erwähnt, wird der achte DIP-Schalter
gegenwärtig
benutzt, um anzugeben, ob an der Buchse 64 „VGA OUT" der Hosteinheit
ein monochromer (d.h., DIP-Schalter in der Stellung OBEN) oder ein farbiger
VGA-Bildschirm (d.h.,
DIP-Schalter in der Stellung UNTEN) angeschlossen ist.
-
Analoge
(VGA-) Monochrombildschirme zeigen allgemein nur das Grünsignal
an. Wenn der PC zurückgesetzt
wird, fragt die Bildschirmkarte die drei Bildschirmerkennungssignale
ab, die vom Bildschirmgerät
kommen, um festzustellen, welcher Bildschirmtyp (d.h., monochrom
oder farbig) angeschlossen ist. Wenn ein monochromer Bildschirm
erkannt wird, addiert die Bildschirmkarte die roten, grünen und
blauen Farbsignale und gibt dieses eine kombinierte Signal an alle
Elektronenstrahlsystemausgänge
aus. Diese Grauskalensummierung wird so durchgeführt, daß in Monochrom der gleiche
Helligkeitsgrad wie in Farbe angezeigt wird.
-
Die
drei Bildschirmerkennungssignale liegen an den Pins 4, 11 und 12 des
DB 15-Videosteckers an. In der Hosteinheit sind diese Signale gegenwärtig festverdrahtet,
so daß für die Bildschirmkarte
stets ein Farbbildschirm erscheint (z.B. Pins 4 und 11 an Erde,
Pin 12 offen), unabhängig
davon, ob an der Buchse 64 „VGA-OUT" ein monochromer oder ein Farbbildschirm
angeschlossen ist.
-
Wenn
ein Farbbildschirm an der Hosteinheit angeschlossen ist, werden
die Rot-, Grün-
und Blausignale einfach durchgeleitet und in Farbe angezeigt. Wenn
ein monochromer Bildschirm angeschlossen ist, führt die Hosteinheit die Grauskalensummierung durch
und gibt diese Summe an die Rot-, Grün- und Blausignale zum Bildschirmgerät aus. Die
Formel für die
Grauskalensummierung ist: 30% Rot + 59% Grün + 11% Blau. Diese Grauskalensummierung
ist von der Videoverarbeitung der Hosteinheit unabhängig und
betrifft nur die Ausgabe an den monochromen Bildschirm. Die Hosteinheit
könnte
erkennen, ob diese Grauskalensummierung durchzuführen ist oder nicht, indem
sie die vom Bildschirmgerät
kommenden Bildschirmerkennungssignale prüft, doch in der aktuellen Ausführung wird
die Stellung des 8. DIP-Schalters verwendet, um den an der Hosteinheit angeschlossenen
Bildschirmtyp anzugeben.
-
Dadurch,
daß die
Bildschirmkarte des Host-PCs stets einen Farbbildschirm erkennt,
ist es der Hosteinheit und damit den Fernbenutzern stets möglich, auf
die Farbinformation zuzugreifen, ungeachtet des Bildschirmtyps,
der über
die Hosteinheit an den Host-PC angeschlossen ist. Mit anderen Worten,
dieser Ansatz erlaubt dem Fernbenutzer, die Bildschirmkartenausgabe
eines Host-PCs selbst dann in Farbe zu sehen, wenn ein monochromer
Bildschirm an die Hosteinheit angeschlossen ist. Und da die Videoausgabesignale
der Hosteinheit zwischengespeichert werden, braucht an der Hosteinheit
kein Bildschirmgerät
angeschlossen zu sein. Falls am Fern-PC eines Fernbenutzers ein
monochromer Bildschirm angeschlossen ist, ignoriert das Softwareprogramm
TVLINK.EXE (das später
erläutert
wird) alle Farbattribute, die von der Hosteinheit zu Anzeigezwecken
gesendet werden.
-
Eine Übersicht
der Farbsignalselektionskreise der Videosignaleingangsschaltung 110 ist
in 4G zu finden. Die Latch-Schaltung „Video
select" 257 steuert,
welches Farbsignal gewählt
wird. Diese Latch-Schaltung wird von der Video-CPU 114 gesetzt. Die Latch-Signale 256 steuern
den Multiplexer im Videosignalselektor 264, der eines der
TTL-Signale Rot 260, Grün 261,
Blau 262 oder Intensität 263 wählt, oder
das umgewandelte Analogsignal 254, und dieses Signal dann
bei 265 übergibt,
wo es bei jedem Pixeltaktsignal 266 in die Latch-Schaltung für Bits 267 getaktet
wird und am Ausgang 268 der Latch-Schaltung für Bits erscheint.
Das VGA-Farbselektionssignal 255 bewirkt, daß der Analog-TTL-Wandler 253 ein
bestimmtes Analogsignal wählt
(d.h. Rot 250, Grün 251 oder
Blau 252), um es in eine TTL-Ausgabe 254 umzuwandeln.
-
Das
vorzugsweise Ausführungsbeispiel
sieht gegenwärtig
vor, daß nur
ein Farbsignal je Videoraster-Abtastzylus verarbeitet wird. Deshalb
sind mehrfache Abtastzyklen notwendig, um farbige Textinformationen
zu gewinnen. Da etwa 60 Abtastzyklen pro Sekunde auftreten, lassen
sich Farbsignale so verarbeiten und decodieren, daß ein angemessener Durchsatz
von farbigen Textdaten an den Fern-PC erreicht wird. Künftige Ausführungsformen
können zusätzliche
Schaltungen und/oder Software umfassen, um die Simultanverarbeitung
aller Farbsignale zu ermöglichen,
zum Beispiel durch Vordigitalisieren jedes Farbsignals (mit Verschieberegistern
und Latch-Schaltungen, wie in 4K beschrieben)
und Speichern dieser Daten in einem separaten Speicherbereich, bevor
diese Information an die Schaltungen des Video-Prozessors 111 übergeben wird.
Dieses alternative Ansatz erhöht
die Genauigkeit der Text- und Graphikfarbattribute, indem es potentielle
Abweichungen vermeidet, die durch die Verarbeitung mehrfacher Abtastzyklen
verursacht werden, wenn die Bildschirmdaten der Bildschirmkarte sich
zwischen jedem Zyklus ändern.
-
Wie
in 4H gezeigt, variieren analoge Farbsignale von
null Volt 272 für
Schwarz 278 bis etwa 0,7 Volt 270 (bei einer 75
Ohm-Last) für
Weiß 275.
Hellgrau 276 und Dunkelgrau 277 liegen zwischen
diesen beiden Grenzen. Um von den gegenwärtigen Videoschaltungen verarbeitet
werden zu können,
muß dieses
Analogsignal in ein digitales TTL-Signal umgewandelt werden. Um
dies zu erreichen, muß ein
Schwellenpegel 271 gesetzt werden, so daß Farbwerte 274, 275, 276,
die über
diesem Pegel liegen, in eine LOGISCHE 1 (hoher Signalpegel) 281 umgewandelt
werden. Farbsignale, die unter diesem Pegel liegen, wie z.B. 273, 277, 278 usw.,
werden in eine LOGISCHE 0 (niedriger Signalpegel) umgewandelt. Das
resultierende VGA-Videoausgabesignal 280 ist bei 280 beginnend
dargestellt und ist die Ausgabe der Schaltung bei 297.
Bei diesem Ansatz wird eine Vordergrundfarbe Dunkelgrau 277 auf
einer Hintergrundfarbe Schwarz 278 von der Schaltung nicht
unterschieden. Eine Kombination aus Weiß 275 und Hellgrau 276 auch
nicht. Obwohl Weiß,
Grau und Schwarz 275, 276, 277, 278 berücksichtigt
werden, hängt
die tatsächliche
Farbe vom gewählten
Farbsignal ab und ist entweder Rot, Grün oder Blau. Die analogen Farbsignale 290, 291, 292 werden
von einem Analogsignalmultiplexer 293 gewählt und
zum Pluseingang 294 eines Komparators 296 geleitet. Der
Minuseingang 295 ist mit einem festen Schwellenwert 271 verbunden.
Die Ausgabe der Schaltung 273 ist ein TTL-Signal, das bei 280 beginnend
dargestellt ist. Die Schaltung kann zum Beispiel einen Komparator
AD9696 von Analog Devices verwenden.
-
Der
Videoprozessor übernimmt
sowohl die Digitalisierung der Graphik als auch die Zeichenerkennung
im Textmodus. Für
Verarbeitungszwecke entspricht ein „Pixel" einem „logischen Bit".
-
Wie
in 4I gezeigt, stellt der Kasten 300 ein
Bildschirmgerät
dar, das sechs Zeichen anzeigt: „A", „B", „C", „D" und zwei Zeichen
aus dem erweiterten ASCII-Zeichensatz, d.h. ein Block- und ein Kreuzzeichen.
Wie in 4J gezeigt, setzt sich das
Gesamtvideosignal aus mehreren Teilen zusammen: Ein Vertikalsynchronisationssignal 340,
ein Horizontalsynchronisationssignal 343, und Farbsignal(e) 350 (als
nur ein Signal dargestellt). Farbbildschirmkarten verwenden Rot-,
Grün- und
Blausignale, wogegen monochrome Bildschirmkarten nur das Grün- und Intensitätssignal
verenden. Wie in 4I gezeigt, macht der sichtbare
Teil des Bildschirms 302, wo Text und Graphik erscheinen,
nur einen Teil des Gesamtvideosignals aus. Block 310 zeigt
eine vergrößerte Ansicht
der oberen linken Ecke des Gesamtbildschirms 301, die einen
Teil der linken oberen Ecke des sichtbaren Bildschirms 302 enthält.
-
Wie
in 4J gezeigt, weist das Vertikalsynchronisationssignal 340 den
Bildschirm an, zur oberen Bildschirmseite 301, 313 zu
gehen und die Abtastung zur unteren Bildschirmseite 304 hin
zu starten. Das Horizontalsynchronisationssignal 343 weist
den Bildschirm an, zur linken Bildschirmseite 305, 325 zu gehen
und die Abtastung zur rechten Bildschirmseite 303 hin durchzuführen. Die
Farbsi gnale erzeugen auf dem Bildschirm des Bildschirmgeräts sichtbares Licht
in Form von Text und/oder Graphik 302. Auch wenn 314 die
erste sichtbare horizontale Abtastzeile zeigt, sind horizontale
Abtastzeilen (siehe 301, 313 und 352) über der
ersten sichtbaren Abtastzeile 314 vorhanden. Wie in 4J gezeigt, stellt 345 die erste sichtbare
horizontale Abtastzeile dar, und 348 die letzte sichtbare
horizontale Abtastzeile. 330 und 333 stellen eine
einzelne horizontale Abtastzeile 346 dar. Obwohl die erste
Abtastzeile 314 bis zur letzten Abtastzeile 315 einer
Zeichenzeile 16 Abtastzeilen (entspricht typischer VGA-Textmodus),
erzeugen einige ältere
monochrome Bildschirmkarten nur 8 horizontale Abtastzeilen, wie
durch 353 zwischen 345 und 346 angezeigt. 334 zeigt
die Abtastzeile 316 der ersten Zeichenzeile über den
Buchstaben „C" in 4I. Dementsprechend stellt 336 die Abtastzeile 316 über dem „D" dar. 338 ist
dieselbe Zeile über
dem 80. Zeichen (in 4I nicht gezeigt). 347 stellt
die nächste horizontale
Abtastzeile bei 317 dar. Der Horizontalsynchronisationsimpuls 330 startet
die horizontale Abtastzeile 316. Vor dem ersten sichtbaren
horizontalen Pixel 324 findet eine Verzögerung 335, 325, 305 statt.
-
324, 322, 321 und 320 positionieren
das erste Pixel jedes Zeichens auf einer bestimmten Zeile. Die 9.
Position 323, die bei VGA-, Hercules- und anderen Bildschirmkarten
vorgegeben ist (nicht bei älteren
monochromen Graphikarten mit 8 × 8),
wird nicht berücksichtigt.
Das Pixeltaktsignal erfaßt
nur die ersten 8 Pixel des Zeichens, weshalb das digitalisierte Video
dieses Pixel 323 ignoriert.
-
Die
erste horizontale Abtastzeile (nicht sichtbar) 344 wird
in 4I durch 312 dargestellt. Die letzte
sichtbare Abtastzeile 348 schließt den Bildschirm eines Bildschirmgeräts ab. Der
VGA-Textmodus weist gegenwärtig
350 sichtbare horizontale Abtastzeilen auf, der VGA-Graphikmodus
(640 × 480) weist
480 Abtastzeilen auf, der hochauflösende Modus (800 × 600) 600
Abtastzeilen, doch das vorliegende System kann mit jedem anderen
Graphikmodus und mit anderen Zeilenzahlen betrieben werden.
-
Nach
dem Horizontalsynchronpuls 330 und der linken Randverzögerung 305, 325, 335 erscheint das
sichtbare Bild wie bei 337 gezeigt. Eine Abtastzeile für die ersten
zwei Zeichen wird in 4K bei 360 beginnend
gezeigt. Das vorzugsweise Ausführungsbeispiel
des Videoprozessors verwendet ein 16 Bit-Verschieberegister und eine 16 Bit-Latch-Schaltung.
Der Einfachheit halber zeigt 4K aber
nur eine Latch-Schaltung und ein Verschieberegister für 8 Bits.
-
Um
die Verarbeitung von digitalisierten Videozeichen zu veranschaulichen,
wird davon ausgegangen, daß jedes
Zeichen 8 Pixel breit ist, wie z.B. von 365 bis 370 gezeigt.
Bei der Digitalisierung bilden diese acht Pixelwerte die acht Bits
eines Bytes, das für
die weitere Verarbeitung verwendet wird. Auf das 8. Pixel 370 folgt
ein 9. ungenutztes Pixel mit der Bezeichnung „X" (bei 375). Dieses 9. Pixel
ist sowohl bei VGA-Bildschirmkarten als auch einigen monochromen
Bildschirmkarten vorhanden. Bei einigen Bildschirmkarten fehlt dieses
Pixel, so daß auf
das letzte Pixel eines Zeichens 370 direkt das erste Pixel
des nächsten
Zeichens 373 folgt.
-
361 zeigt
eine effektive Wellenform einer horizontalen Abtastzeile, die im
Graph 390 als die letzte horizontale Abtastzeile an der
Grundlinie der Zeichen „L" und „M" dargestellt ist
und mit dem Pixel bei 394 endet. 364 zeigt die
Grundlinie des „L", 371 zeigt
das linke Bein des „M", und 374 zeigt
das rechte Bein des „M".
-
Die
Eingabe 391 der Videopixeldaten 365 in das Verschieberegister 393 erscheint
nach einem Taktimpuls 392 beim ersten Ausgabebit 395 des
Verschieberegisters. Nach 7 weiteren Taktimpulsen erscheinen die
Videopixeldaten 365 beim letzten Ausgabebit 399 des
Verschieberegisters. Zur Digitalisierung eines Zeichens wird jedes
Pixeldatenbit (z.B. 365) vom Videosignaleingang 391 durch
einen Pixeltaktimpuls 362, 392 in ein Verschieberegister 393 verschoben.
Wenn das 8. Pixel 370 in das Verschieberegister verschoben
wurde, werden die Daten durch einen Latchtaktimpuls 363, 372 bei 396 in
die Latch-Schaltung 398 übertragen. Nachdem die Daten
gehalten werden, wird die Ausgabe der Latch-Schaltung 398, die durch 397 angezeigt
ist, im Videoausgabepuffer 115 gespeichert, um später von der
Video-CPU 114 (siehe 4A)
abgerufen zu werden. Bei Bildschirmkarten, bei denen auf das letzte
Pixel eines Zeichens 370 direkt das erste Pixel des nächsten Zeichens 373 folgt,
stimmt der Latchtaktimpuls 372 mit dem ersten Pixel des
nächsten
Zeichens überein.
-
Sobald
die digitalisierten Videodaten im Videoausgabepuffer 115 (4A) sind, können
sie übertragen
werden, durch die Steuer-CPU 106 (4A)
und von der Ferndatenschaltung 103 (4A)
zu einem Fern-PC 2 (1), wobei
sie dann direkt im Graphikmodus angezeigt werden können. Auch
wenn diese Übertragung
gegenwärtig
unterstützt
wird, erfordert sie 16-Bytes pro Zeichen, was die Geschwindigkeit
der Bildschirmdatenübertragung zu
einen Fern-PC erheblich herabsetzt. Wenn die Bildschirmkarte eines
Host-PCs in einem Textmodus betrieben wird, lassen sich die Bildschirmübertragungszeiten
drastisch verkürzen,
indem das 16-Byte-Paket eines Zeichens in einen 1-Byte-Zeichencode
umgewandelt wird, wie er vom ASCII-Code benutzt wird, und statt
dessen nur der 1-Byte-Code übertragen
wird. Je nach Bildschirmkarte können die
Zeichen 8, 9, 14 oder 16 horizontale Abtastzeilen oder Bytepakete
verwenden, die alle von den Schaltungen der Hosteinheit verarbeitet
werden. Zur Veranschaulichung werden in der folgenden Erläuterung 16
horizontale Abtastzeilen gewählt
(wie bei gegenwärtigen
VGA-Bildschirmkarten).
-
Die
Umwandlung von Pixeldaten in Zeichen erfordert eine Art von Zeichenerkennung,
für die
verschiedene Ansätze
möglich
sind. Der erste Ansatz ist, das digitalisierte Bild zu nehmen und
eine Bezugstabelle nach einer Entsprechung für das 16-Byte-Paket dieses
Zeichens zu durchsuchen, das die geordneten Pixeldaten für ein Einzelzeichen
darstellt. Die relative Position in dieser Tabelle ergibt dann den
zum gewünschten
Zeichen gehörigen
Zeichencode, wie er vom ASCII-Codierschema verwendet wird. Dieser
Ansatz wird weniger bevorzugt, da die spezifische Zeichenform je
nach Bildschirmkarte abweicht und die Bezugstabelle einen übermäßigen Speicherbedarf
für Zeichensatzabbildungen
erfordert. Zudem muß diese
Tabelle aktualisiert werden, damit neue Zeichensätze oder Zeichenformatänderungen
verarbeitet werden können.
-
Ein
zweiter Ansatz ist, die digitalisierten Videodaten durch bestimmte
Algorithmen zu verarbeiten, welche die Identität des Zeichens direkt ableiten (oder
erkennen), wie jene, die typischerweise von OCR-Software (optische
Zeichenerkennung) verwendet werden und dem Fachmann vertraut sind. Dieser
Ansatz wird weniger bevorzugt, da er rechenintensiv ist von der
Video-CPU 114 (4A)
zu viel Verarbeitung verlangt, was den Bildschirmzugriff durch einen
Fern-PC verlangsamt
und den Datendurchsatz zu einem Fern-PC beeinträchtigt.
-
Ein
dritter Ansatz, der im vorzugsweisen Ausführungsbeispiel verwendet wird,
verwendet CRC-Methoden für
die Zeichenerkennung. Bei diesem Ansatz wird das digitalisierte
Bild von Hardwareschaltungen direkt in CRC-Werte umgewandelt, wonach
diese Werte in den Videoausgabepuffer geschrieben werden.
-
Um
ein 16-Byte-Paket in einen CRC-Wert umzuwandeln, werden die Paketdaten
serialisiert (das neunte Pixel wird ausgelassen, falls vorhanden),
und der erhaltene Datenstrom wird in den CRC-Generator eingegeben. 4L veranschaulicht dieses Verfahren. Jede horizontale
Abtastzeile 410, 411 usw. bis nach unten 417 für ein bestimmtes Zeichen
wird sequentiell verarbeitet, wie bei Bezugszeichen 400 beginnend
dargestellt. Es ist zu erkennen, daß auf die Spitze des „A" (siehe 412)
die obere Linie des „B" folgt, wie im Block 407 gezeigt.
Im vorzugsweisen Ausführungsbeispiel
wird der CRC-Generator zutreffender CRC-Prozessor genannt, da die erzeugten
CRC-Zwischenwerte gespeichert und später abgerufen werden können, um
die nächste
horizontale Abtastzeile zu verarbeiten. Erst wird der CRC-Verschieberegisterwert
auf null gesetzt. Dann wird die erste Zeile 410, 401 der
Zelle, die das „A" enthält, verarbeitet,
wonach der CRC-Zwischenwert gespeichert wird. Dann wird der CRC-Verschieberegisterwert
erneut gelöscht,
und die erste Zeile der Zelle, die das „B" (siehe 407) enthält, wird
verarbeitet, und so weiter. Nachdem die ganze horizontale Abtastzeile 410 verarbeitet
wurde, wird mit der Abtastzeile 411 begonnen. Zuerst wird
der zuvor gespeicherte CRC-Zwischenwert
für die
Zelle, die das „A" enthält, in das
CRC-Verschieberegister geladen. Dann wird 402 verarbeitet,
wonach der CRC-Zwischenwert wieder gespeichert wird, und so weiter. Wenn
Textdaten mit 80 Spalten verarbeitet werden, werden daher 80 CRC-Zwischenwerte
für jede
Abtastzeile gespeichert. Dies erlaubt dem CRC-Generator, 16 zusammenhängende Bytes
für jedes
Zeichen zu erkennen. Nachdem die letzte horizontale Abtastzeile 417 für das „A" verarbeitet wurde,
ist der resultierende CRC-Wert die CRC-Werte für das Zeichen und wird im Videoausgabepuffer 115 (4A) gespeichert, und so weiter für die restlichen
Zeichen. Später
liest die Video-CPU 114 (4A)
diese CRC-Werte aus und durchsucht eine Bezugstabelle nach den Zeichen,
die diesen CRC-Werten entsprechen. Diese Tabelle mit CRC-Werten
wird bei einem speziellen anfänglichen
Trainingsvorgang angelegt, der unten ausführlicher beschrieben wird,
und gibt die realen Merkmale der Bildschirmkarte des Host-PCs wieder.
Dieser Prozeß wandelt
die realen Zeichenformate, die von einer bestimmten Bildschirmkarte
benutzt werden, in einen einmaligen CRC-Wert für jedes einzelne Zeichen um.
-
Ein
weiterer Ansatz, um Pixelinformation in ein Zeichenformat umzuwandeln,
ist, die digitalisierten Daten aller 16 horizontalen Zeilen (16 × 80 Bytes) zu
speichern und jedes Zeichen in einer seriellen Reihenfolge 400 zu
verarbeiten. Zwei Bänke
mit 16 × 80 Byte
Speicher sind erforderlich, um die neu digitalisierten Daten zu
speichern, während
die zuvor gespeicherten Daten in CRC-Werte umgewandelt werden. Dieser
Ansatz verwendet für
die Verarbeitung Software statt Hardware, ist aber ansonsten für die vorliegende
Erfindung geeignet.
-
Die
Schaltungen der Hosteinheit können
verbessert werden, indem zwischen dem Videoprozessor 111 (4A) und dem Videoausgabepuffer 115 (4A) eine Speicherübersetzungsschaltung vorgesehen
wird, wobei die CRC-Wertausgabe
von 111 (4A) die Adresse für den Zugriff
auf ein Speicherbyte bildet, das den Zeichencode, wie er vom ASCII-Code
verwendet wird, für
das Zeichen enthält
und diesen Code im Videoausgabepuffer 115 (4A) speichert. Die Video-CPU 114 (4A) liest diesen Zeichencode dann aus dem Videoausgabepuffer
aus.
-
4M ist eine Übersicht
der aktuellen Ausführung
des Videoprozessors 111 (4A).
Der CRC-Generator umfaßt
ein 16-Bit-Verschieberegister 439 (statt 8 Bit, wie in 4D gezeigt) und einen 9-Bit-Paritätsgenerator 423 (statt
der EXKLUSIVES ODER-Gatter in 4D).
Die Ausgabe 421 des Paritätsgenerators wird in das Verschieberegister 439 eingegeben.
Die jeweiligen Ausgabebits des Verschieberegisters 439,
die mit der Videoeingabe 420 summiert werden, werden von
einem Rückkopplungsselektionskreis 425 (8
UND-Gatter mit Dualinput) gesteuert. Die ersten 7 niederwertigsten
Bits werden zusammen mit dem hochwertigsten Bit der Verschieberegisterausgabe 426 durch
ein logisches UND mit 8 „Freigabebits" 428 aus
der Latch-Schaltung „CRC
Config" 429 verknüpft. Diese
Latch-Schaltung 429 wird von der Video-CPU 114 (4A) gesetzt und konfiguriert, welches dieser 8
Verschieberegisterausgabebits 426 in den Paritätsgenerator
eingegeben wird. Diese Latch-Schaltung 429 wird verwendet,
um den CRC-Generator so zu konfigurieren, daß einmalige CRC-Werte erzeugt
werden, damit der Videozeichensatz erkannt wird. Wenn dieser Wert 428 auf
null gesetzt wird, sind alle 8 Bits in 424 ebenfalls null,
und das Videoeingabesignal 420 wird von der Paritätsausgabe 421 direkt
wiedergegeben. Auf diese Weise wird die Videoeingabe 420 digitalisiert, wobei
die gehaltenen Daten 442 direkt im Videopuffer 444 gespeichert
werden, ohne vom CRC-Generator geändert zu werden.
-
Der
Pixeltaktimpuls 422 taktet die Videopixeldaten in das CRC-Verschieberegister 439.
Wie in Block 454 gezeigt, folgt das erste Pixel 453 des
zweiten Zeichens direkt auf das letzte Pixel 452 des ersten
Zeichens. Das (zuvor erwähnte)
9. ungenutzte Bit erscheint nicht im Graph von 4M und weist keinen zugehörigen Pixeltaktimpuls auf.
-
Der
CRC-Zwischenspeicher 438 wird durch die Löschleitung 433 gelöscht, die
vom Vertikalsynchronisationssignal getaktet wird. Das Verschieberegister 439 wird
durch 431 auf null gesetzt. Dann werden 8 Pixeltaktimpulse 422 erzeugt,
die mit den acht Pixeln ab 451 übereinstimmen. Nachdem das
8. Pixel 452 verarbeitet wurde, wird der nun am Eingang 427 der
Latch-Schaltung erscheinende CRC-Zwischenwert durch den Latch-Taktimpuls 440 gehalten.
Das Verschieberegister 439 wird erneut durch 431 gelöscht, und
das nächste
Zeichen wird bei Pixel 453 beginnend verarbeitet. Während der
Verarbeitung dieses nächsten
Zeichens wird der zuvor gehaltenen Wert 441, 442 durch
Impulse der Schreibleitung 443 in einen CRC-Zwischenspeicher 438 geschrieben. Dies
wird fortgesetzt, bis alle Zeichen für diese horizontale Abtastzeile
verarbeitet wurden und der CRC-Zwischenspeicher 438 80
CRC-Zwischenwerte enthält.
Dann beginnt die nächste
horizontale Abtastzeile. Bevor Pixel 450 verarbeitet wird,
wird der zuvor im CRC-Zwischenspeicher 438 gespeicherte CRC-Zwischenwert über die
Schreibleitung 437, 432 und 430 in das
Verschieberegister 439 geschrieben. Nach Verarbeitung das
8. Pixels wird der neue CRC-Zwischenwert wieder gehalten 441 und
im CRC-Zwischenspeicher gespeichert 438, wie oben beschrieben.
-
Dieser
Prozeß setzt
sich fort, bis eine horizontale Abtastzeile 455 beginnt.
Bei dieser Abtastung werden die CRC- Zwischenwerte wie zuvor gespeichert,
doch wenn Pixel 456 erreicht wird, ist der bei 442 gehaltene
CRC-Wert der endgültige CRC-Wert,
der das verarbeitete Zeichen (in diesem Beispiel „A") kennzeichnet, und
wird über
die Schreibleitung 445 im Videopuffer 444 gespeichert. Dies
gilt auch für
die restlichen Zeichen in dieser Abtastzeile 455. Die nächste Abtastzeile
beginnt mit der nächsten
Zeichenzeile, und der bei 451 startende Prozeß wiederholt
sich, bis alle 25 Zeichenzeilen (bei einem 80 × 25 Videotextmodus) umgewandelt
sind und alle 2000 Zeichen-CRC-Werte im Video(ausgabe)puffer 444 gespeichert
sind, der dem Videoausgabepuffer 115 in 4A entspricht.
-
Eine
mögliche
Alternative zum Speichern der CRC-Werte im Videopuffer 444 ist
die Umwandlung der CRC-Werte, bevor sie im Videopuffer 444 gespeichert
werden. Dies kann erreicht werden, indem vor dem Videopuffer eine
Speicherschaltung eingefügt wird,
die als Bezugstabelle fungiert, wobei die 16-Bit-CRC-Werte bei 442 die
Speicheradresse bilden. Die aus diesem Speicher erhaltene 16-Bit-Ausgabe enthält dann
das Zeichen für
einen bestimmten CRC-Wert bezieht. Dieser Speicher wird von der
Video-CPU mit CRC-Information initialisiert. Bei ungültigen CRCs
wird der 16-Bit-Wert auf null gesetzt. Bei normalen Zeichen-CRCs wird das niederwertige
Byte auf den ASCII-Code des Zeichens und das hochwertige Byte auf
null gesetzt. Bei hervorgehobenen (invertierten) Zeichen-CRCs wird das hochwertige
Byte auf den ASCII-Code des Zeichens und das niederwertige Byte
auf null gesetzt. Dieser Ansatz erlaubt die sofortige Umwandlung
von CRC-Werten in Zeichen und erhöht die Leistung des Hosteinheit.
-
Wie
in 4N gezeigt, entspricht die Videopixeldauer bei
einer monochromen Bildschirmkarte etwa 65 Nanosekunden, bei VGA-Bildschirmkarten etwa
30 Nanosekunden. Die Videozeitlinie 458 zeigt drei Videopixel:
ein weißes,
ein schwarzes und ein anderes weißes Pixel. VGA-Video erfordert
einen schnellen Pixeltakt 459. Die schrägen Linien, die durch 461 angezeigt
sind, stellen Synchronisationsstörungen
dar, die auftreten, wenn zwei asynchrone Signale (das Videosignal
und der Videotaktimpuls der Hosteinheit) zusammenwirken. Bei einer
Grundtaktrate von 90 Megahertz für
die Pixeltakterzeugung (in der aktuellen Ausführung), ist die Dauer dieser Synchronisationsstörung etwa
11 Nanosekunden. Aufgrund dieser Synchronisationsstörung wurde
eine Auflösung
von 5 Nanosekunden angewandt, um die steigende Flanke des Pixeltaktsignals
nahe am Ende des Videopixels zu positionieren, wie bei 460 gezeigt. Auf
diese Weise kann der Schaltkreis, wenn 467 das Pixeltaktsignal
bei 460 zeigt, das Pixeltaktsignal bei Bedarf auf 468 verschieben,
oder um 5 Nanosekunden. Dadurch wird ein scheinbarer Grundtakt zwischen
180 und 200 Megahertz erreicht. Da der Grundtakt in der aktuellen
Ausführung
90 Megahertz entspricht, oder einer Periode von 11 Nanosekunden, und
die Verzögerung
5 Nanosekunden beträgt,
folgt die Position des Pixeltaktsignals natürlich dem Muster 0 ns, 5 ns,
11 ns, 16 ns, 22 ns usw. D.h., sie entspricht in etwa einer 190
Megahertz-Auflösung
und stellt eine praktische Lösung
dar, um das gewünschte Ergebnis
zu erreichen (d.h. das Eintakten eines stabilen Pixeldatenbits).
-
Zur
Erläuterung
der Synchronisationsstörungen:
Die steigende Flanke des Horizontalsynchronisationssignals 462 synchronisiert
den Pixeltakt. Synchronisationsstörungen sind inhärent, da
nicht im voraus bekannt sein kann, in welcher Phase sich der Grundtakt
gerade befindet. In der Tat ändert
sich die Phase dieses Taktsignals ständig bei jeder neuen horizontalen
Abtastung. Zur Verdeutlichung zeigen 463 und 464 das
Grundtaktsignal in verschiedenen Phasen. Die steigenden Flanken 465 und 466 des
Grundtaktsignals treten zu verschiedenen Zeiten nach der steigenden
Flanke des Synchronisationssignals 462 auf. Das Pixeltaktsignal 460 wird
von diesem Synchronisationssignal und vom Grundtaktsignal abgeleitet,
weshalb die Synchronisationsstörung
auf die Videopixel 458 übertragen
wird, wie durch 461 gezeigt. Der Anfang und das Ende jedes
Pixels schwankt innerhalb des Bereichs, der durch 461 angezeigt
ist.
-
Die
aktuelle Ausführung
des Pixeltaktsteuerschaltung 112 (4A)
wird in 4O gezeigt. Gegenwärtig ist
diese Schaltung ein 4.000 × 8
Bit-20 Nanosekunden-RAM-Speicher. Die Video-CPU 114 (4A) programmiert diesen Speicher über die
Dateneingabe 470 und die Schreibleitung 477. Der Speicher
wird durch die Ausgabe 483 eines 12-Bit-Zählers 484 adressiert.
Zuerst wird dieser Zähler 484 über 485 gelöscht, und
dann wird, nach jedem Schreibimpuls, der Adreßzähler über 486 inkrementiert
(diese Verbindung ist in der Figur nicht dargestellt). Während der
Videoverarbeitung ist die Leseleitung 478 aktiviert. Das
Horizontalsynchronisationssignal löscht den Adreßzähler über die
Löschleitung 485.
Das Ausgabebyte des RAM-Speichers 471 wird in zwei Halbbytes 472 und 479 aufgespalten,
die in zwei 4-Bit-Verschieberegister 473A und 480 geladen
werden. Ein 90 Megahertz-Oszillator 489 taktet diese Verschieberegister
und lädt
die zwei Halbbytes über
das Taktsignal 488 und die Vierteilungsschaltung 487 bei
jedem vierten Taktzyklus in die Verschieberegister und inkrementiert
dann den 12-Bit-Zähler 484.
Die zwei Verschieberegister geben dann jedes Halbbyte bitweise an 473B und 481 aus,
um das Pixeltaktsignal 476 zu erzeugen. Die Ausgabe des
Verschieberegisters 481 wird durch eine 5 ns-Verzögerungsschaltung 483 (gegenwärtig DALLAS
DS1000-25) um 5 Nanosekunden verzögert, und die zwei Signale 473B und 474 werden über 475 durch
ein logisches ODER verknüpft,
um das Pixeltaktsignal zu erzeugen. Dadurch kann das erzeugte Pixeltaktsignal
alle 11 Nanosekunden an die 90 Megahertz-Taktrate angepaßt oder um 5 Nanosekunden verzögert werden.
Weitere Mittel, die verwendet werden können, umfassen einen Phasenregelkreis (PLL)
oder andere Präzisionsverzögerungselemente zur
Erzeugung des Pixeltaktsignals.
-
Die
Polarität
der Vertikal- und Horizontalsynchronisationssignale, sowie ihre
Beziehung zueinander, ist je nach verwendeter Bildschirmkarte und
dem jeweiligen Videomodus (z.B. Text- oder Graphikmodus) verschieden.
In 4P zeigen 490 und 491 Beispiele
eines Vertikal- 490 und eines Horizontalsynchronisationssignals 491.
Doch je nach Videomodus oder Bildschirmkarte kann das Horizontalsynchronisationssignal 491 wie
bei 492 gezeigt erscheinen, und das Vertikalsynchronisationssignal 490 wie
bei 501 gezeigt. Um dies zu berücksichtigen, werden zwei exklusives-ODER-Gatter 498 und 500 verwendet,
so daß die
Synchronisationssignale, die die Videoschaltungen treiben, bei 487 und 499 stets
eine negative Polarität
aufweisen. Die Video-CPU 114 (4A)
setzt die Polaritätsbits 494 und 496,
um eine negative Polarität
zu erhalten.
-
Das
Phasenverhältnis
des Vertikal- und Horizontalsynchronisationssignals kann auch je
nach Bildschirmkarte unterschiedlich sein, wie bei 501 und 503 gezeigt.
Beide steigenden Flanken treten gleichzeitig auf. Bezug nehmend
auf 503 und 504 ist zu erkennen, daß die steigende
Flanke von 504 nach der steigenden Flanke von 503 auftritt,
im Vergleich zum Phasenverhältnis
von 501 und 502. Um ein einheitliches Phasenverhältnis zu
erhalten, wird eine Flip-Flop-Schaltung verwendet, wie in Block 508 gezeigt.
Das Signal „VSYNC
Temp" 499 wird
verwendet, um die Flip-Flop-Schaltung zu löschen, wie bei 510 gezeigt,
und die steigende Flanke des Signals „HSYNC Out" 497, das mit der Takteingabe 507 verbunden
ist und die Ausgabe 509 über den Dateneingang 506 (an
+5 Volt festverdrahtet) auf eine logische eins (niedriger Signalpegel)
setzt. Das Signal VSYNC Out wird bei 505 gezeigt.
-
Die
Horizontalsteuerschaltung 113 (4A) implementiert
die Erläutung
und das Taktsteuerungsdiagramm in 4J und 4M. Nachdem das Vertikalsynchronisationssignal,
Bezug nehmend auf 4J, bei 340 und 351 einen
neuen Bildschirm begonnen hat, überspringt
diese Schaltung die nicht sichtbaren Horizontalsynchronisationssignale 352, wiederholt
dann für
jedes Zeichen der ersten horizontalen Abtastzeile den Zyklus der
Initialisierung des CRC-Verschieberegisterwerts 439 auf
null 431 durch, speichert die CRC-Zwischenwerte für die mittleren Abtastzeilen 438 und
stellt sie wieder her, und schreibt die endgültigen CRC-Werte für jede Zeichenzeile
in den Videoausgabepuffer 444 (115 4A).
-
Die
Hosteinheit umfaßt
zwei Mikroprozessoren (d.h. CPUs) 106, 114, die
jeweils ein eigenes unabhängiges
Softwarebetriebssystem aufweisen. 5A bis 5K zeigen
eine Übersicht
dieser Softwarebetriebssysteme. Der Quellprogrammcode für die Video-CPU 114 ist
in 8032-Assemblersprache geschrieben. Auch der Quellprogrammcode
für die Steuer-CPU 106 ist
in 8032-Assemblersprache geschrieben. Wie dem Fachmann bekannt,
ist Betriebssystemsoftware wie jene, die von der Steuer- und Video-CPU
verwendet wird, primär
ereignis- oder interruptgesteuert und folgt nicht dem linearen Logikfluß, der für die meiste
Anwendungssoftware typisch ist.
-
Die
vorliegende Erfindung umfaßt
zwei CPUs, hauptsächlich,
um die Arbeitslast der Verarbeitung zu verteilen und dem Fernbenutzer
(so weit wie möglich)
den Eindruck zu geben, daß er
vor der Hosteinheit sitzt. Die Decodierung des schnellen Videosignals
der Bildschirmkarte an der Hosteinheit nimmt gegenwärtig fast
die gesamte Verarbeitungsgeschwindigkeit eines typischen schnellen
Mikroprozessors in Anspruch. Wenn die CPU, die für die Decodierung der Videosignale
zuständig
ist, mit zusätzlichen
Verarbeitungsanforderungen belastet wird, kann es sein, daß sie nicht
mit der Datenausgabe der Bildschirmkarte mithalten kann. Daher wurde
für die gegenwärtige Ausführung der
Hosteinheit eine zweite CPU vorgesehen. Wie oben erwähnt, wäre es mit einer
schnelleren Mikroprozessortechnologie aber auch möglich, eine
einzige CPU zu verwenden.
-
5A zeigt eine Übersicht
der Betriebssystemsoftware der Steuer-CPU 106 (4A). Wenn die Hosteinheit zuerst eingeschaltet
wird, beginnt die CPU mit der Ausführung der Initialisierungsroutine 600.
Diese Routine führt
die notwendige Systemverwaltung durch, wie z.B. das Setzen bestimmter
Variablen auf Standardwerte, das Löschen der Zähler, das Einrichten der Interruptparameter.
Danach wird auf die DIP-Schalter zugegriffen, um die Identifikationsnummer
der Hosteinheit zu ermitteln. Dann wird für das Zugriffskennwort und
die Standardmodemdaten der Hosteinheit auf den nicht flüchtigen RAM-Speicher 108 (4A) zugriffen, und um zu prüfen, ob die Hosteinheit für die Verarbeitung
von Videodaten eingerichtet ist (durch den Trainingsvorgang, der
in Verbindung mit 6 erläutert wird).
-
Wenn
die Hosteinheit bereit ist, Videodaten zu verarbeiten, wird ein
Befehl „Video
bereit" zur Video-CPU
(über 107 in 4A) gesendet, um anzuzeigen, daß die Videoverarbeitung
beginnen kann. Die Initialisierungsroutine 600 richtet
dann der seriellen Datenanschluß der
Ferndatenschaltungen 103 (4A)
ein. Wenn die Identifikationsnummer der Hosteinheit null ist, wird
der Datenanschluß (Data Port)
der Hosteinheit vom Verkettungsanschluß getrennt, die seriellen Sende-
und Empfangssignale der CPU werden direkt mit dem Hostdatenanschluß verbunden,
und ein Modem, das am Ferndatenanschluß erwartet wird, wird initialisiert.
Wenn ein Fern-PC über
eine Direktleitungsverbindung direkt mit der Hosteinheit verbunden
ist, ist an der Hostsite keine Hosteinheit mit der Identifikationsnummer
null vorhanden. In diesem Fall wird der Fern-PC direkt an die Buchse „Data In" der ersten Hosteinheit
in der Verkettung angeschlossen. Dann warten die erste und alle anderen
Hosteinheiten in der Verkettung auf eine Zugriffsanforderung.
-
Wenn
dieser Initialisierungsvorgang abgeschlossen ist, ist die Steuer-CPU
bereit, Zugriffsanforderungen vom Fern-PC an die Hosteinheit zu
verarbeiten 601. Währenddessen
wird auch der Impulsschalter auf der Frontplatte der Hosteinheit überwacht.
Wenn der Impulsschalter gedrückt
wird, wird normalerweise ein Befehl „System-Setup" an die Video-CPU
gesendet und ein Merker „System-Setup" wird gesetzt, so
daß die
Setup-Lampe auf der Frontplatte der Hosteinheit anfängt, zu
blinken, und die Routine 601 „Zugriffsanforderung verarbeiten" wartet weiter. Wenn
die Hosteinheit aufgrund einer Sicherheitsverletzung gesperrt wurde,
wird die Hosteinheit durch Drücken
des Impulsschalters für
den Fernzugriff freigegeben, wobei die Zähler „Sitzung" und „Sperre" auf null gesetzt werden. Schließlich wird während der
Wartezeit von „Zugriffsanforderung
verarbeiten" 601 jeder
Befehl ausgeführt,
der von der Video-CPU empfangen wird. Dann wartet die Routine 601 „Zugriffsanforderung
verarbeiten" weiter.
-
Wenn
ein Fern-PC erst eine Verbindung mit einer Hostsite aufbaut (d.h.,
es wird ein Trägererkennungssignal
oder eine Sendeanforderung empfangen), setzt jede Hosteinheit in
der Verkettung an der Hostsite ihren Sicherheitszähler „Sitzung" und den Merker „Sperre" auf null zurück.
-
Wenn
ein Fern-PC eine Zugriffsanforderung ausgibt, prüft jede Hosteinheit an der
Hostsite ihre Identifikationsnummer 601. Wenn die Identifikationsnummer
der Zugriffsanforderung der Nummer der Hosteinheit entspricht, antwortet
die Hosteinheit auf die Zugriffsanforderung, und die Verarbeitung
des Kennworts 602 beginnt. Wenn die Hosteinheit sich gerade
im SETUP-Modus befindet, antwortet die Routine „Zugriffsanforderung verarbeiten" 601 BESETZT,
und der Zugriff wird verweigert.
-
Die
Routine 602 fordert nun vom Fern-PC ein Kennwort an und
wartet. Gegenwärtig
verwendet die Hosteinheit ein nicht kennbares Kennwortprotokoll, wobei
jede Kennwortanforderung einen zufälligen Codierschlüssel enthält, der
das Kennwort auf andere Weise verschlüsselt, was jedem, der keine
Zugriffsberechtigung zur Datenleitung hat, die Erkennung eines Kennworts
erschwert.
-
Wenn
nach Ablauf einer vorgegebenen Zeit kein Kennwort oder ein ungültiges Kennwort
erhalten wird 603, wird ein „Sitzungszähler" inkrementiert, um die Zahl der erfolglosen
Zugriffsversuche während
einer Sitzung zu zählen.
Wenn dieser Zähler
einen bestimmten Wert übersteigt,
wird der Zähler
genullt, ein „Sperrzähler" wird inkrementiert,
ein Sitzungssperrmerker wird gesetzt, und ein Datenpaket wird an
den Fern-PC zurückgesendet,
das besagt, daß der
Zugang zur Hosteinheit für
die Sitzung verweigert wird, und die Verarbeitung kehrt zur Routine 601 „Zugriffsanforderung
verarbeiten" zurück. Wenn
der „Sperrzähler" einen vom Benutzer
definierten Grenzwert übersteigt,
der im nicht flüchtigen
RAM-Speicher enthalten ist, wird keinem Benutzer der Zugriff auf
die Hosteinheit gestattet, bis der Impulsschalter auf der Vorderseite
der Hosteinheit gedrückt
wird.
-
Wenn
ein gültiges
Kennwort empfangen wird 603, werden die Zähler „Sitzung" und „Sperre" beide auf null gesetzt,
der Sitzungssperrmerker wird gelöscht
und die Routine 604 „Befehl
verarbeiten" wird aufgerufen.
-
Die
Routine 604 „Befehl
verarbeiten" verarbeitet
jeden Befehl, der vom Fern-PC oder von der Video-CPU empfangen wird.
Die Unterroutine „Diverse Befehle" 608 enthält einige
Unterroutinen, die von der Video-CPU-Verarbeitung aufgerufen werden können, wonach
die Verarbeitung wieder zur aufrufenden Routine zurückkehrt.
-
Der
Befehl „Zugriff
beenden" 605 ist
keine Unterroutine, sondern beendet die Befehlsverarbeitung, indem
er zur Routine 601 „Zugriffsanforderung verarbeiten" der Steuer-CPU zurückkehrt.
-
Die
Routinen „Durchleiten" 606 und „Fernzugriff" 607 werden
weiter unten im Anschluß an
die allgemeine Erläuterung
der Video-CPU beschrieben.
-
Mehrere
Prozesse sind unter der Überschrift „Diverse
Befehle" 608 zusammengefaßt. Diese
Prozesse umfassen die Trennung der Tastatur des Host-PCs vom Host-PC,
damit die Steuer-CPU das Tastatursignal erzeugen kann. Es sind auch
Befehle enthalten, um eine Videotrainingssitzung aus der Ferne zu
starten, oder um videobezogene Daten (aus dem nicht flüchtigen
RAM-Speicher) zum und vom Fern-PC zu übertragen, um das Kennwort
der Hosteinheit zu ändern,
oder um einen Tastatur-Abtastcode zum Host-PC zu senden (wird während des Trainings
von der Video-CPU verwendet).
-
5B ist eine Übersicht
der Betriebssystemsoftware der Video-CPU. Linien mit Pfeilen zeigen
den Verarbeitungsfluß an,
während
pfeillose Linien einen aufgerufenen Prozeß oder eine Unterroutine darstellen.
-
Wenn
die Hosteinheit zuerst eingeschaltet wird, beginnt die Video-CPU
mit der Ausführung
der Initialisierungsroutine 620. Diese Routine führt die notwendige
Systemverwaltung durch, wie z.B. das Setzen bestimmter Variablen
auf Standardwerte, das Einrichten der Interruptparameter und die
Initialisierung des seriellen Datenanschlusses 116 (4A) der Hosteinheit. Danach wartet die Software
auf einen Befehl 621 von der Steuer-CPU 107 (4A). Block 622, 623A, 624, 625 und „Diverse
Befehle" 626 sind
alle Unterroutinen, die von der Routine „Auf Befehl warten" 621 aufgerufen
werden können,
und die Verarbeitung kehrt zur Routine „Auf Befehl warten" 621 zurück, wenn
die Verarbeitung der Unterroutinen abgeschlossen ist. Block 634A bis 623E sind
alle Teil einer einzigen Unterroutine.
-
Wenn
die Steuer-CPU einen Befehl „Video bereit" sendet, wird die
Unterroutine „videobezogene Daten
laden" 623A aufgerufen
und wartet eine Sekunde lang, um dann die nicht flüchtigen
videobezogenen Daten von der Steuer-CPU anzu fordern, die zum Decodieren
der Videoausgabe des Host-PCs erforderlich sind. Wenn diese Daten
in den Speicher der Video-CPU geladen sind 623A, wird die
Videoprozessorhardware 110, 112, 113 (4A) mit den Taktdaten und der Standardsynchronpulspolarität initialisiert 623B,
und es werden auch Merker gesetzt, um den Videoverarbeitungsmodus
anzugeben (Monochrom- oder Farbmodus). Dann beginnt der Prozeß „Bildschirm
protokollieren" 623E,
die neusten Bildschirmkartenausgabe der Speichergröße der Hosteinheit
entsprechend zu protokollieren.
-
Wenn
der Videomodus von einem Textmodus in einen Graphikmodus wechselt,
wird das Protokollieren des Bildschirms in der Hosteinheit abgebrochen,
bis der Videomodus wieder in einen Textmodus zurückkehrt.
-
Der
Prozeß „Bildschirm
protokollieren" 623E erfaßt zuerst
die Textdaten, die aktuell von der Bildschirmkarte des Host-PCs
angezeigt werden, und speichert sie in einem Datenbereich „Basisbildschirm" ab, wonach nur noch
die auftretenden Änderungen
gespeichert werden. Wenn so viele Änderungen auftreten, daß die Speichergrenze
der Video-CPU erreicht ist, werden die ältesten Änderungen in den Datenbereich „Basisbildschirm" verschoben, um mehr
Speicher freizugeben, so daß neuere Änderungen
gespeichert werden können.
-
Wenn
ein Fernbenutzer auf eine Hosteinheit zugreift, muß er zuerst
angeben (über
das Programm TVLINK.EXE, das auf dem Fern-PC läuft, wie unten beschrieben),
(1) ob vor Beginn der Zugriffssitzung ein Bildschirmprotokoll, die
im Speicher der Hosteinheit gespeichert ist, an den Fern-PC übertragen
werden soll oder nicht, und (2) ob der Benutzer den Nur-Betrachten-Zugriff
auf die Hostsite oder den vollen Zugriff wünscht. Wenn der Benutzer sich
für das Bildschirmprotokoll
oder den Nur-Betrachten-Zugriff entscheidet, wird dies der Hosteinheit
durch Datenpakete mitgeteilt, wenn anfangs auf die Hosteinheit zugegriffen
wird. Wenn das Bildschirmprotokoll übertragen werden soll, überträgt die Routine „Bildschirm protokollieren" 623E die
Bildschirmprotokolldaten durch die Video-CPU an den Fern-PC, über die
Routine „Diverse
Befehle" 608 der
Steuer-CPU und in Form
von Datenpaketen, wonach die Verarbeitung zur Routine „Auf Befehl
warten" 621 zurückkehrt. Sonst
kehrt die Verarbeitung zur Routine „Auf Befehl warten" 621 zurück.
-
Wenn
der Fernbenutzer statt des Nur-Betrachten-Zugriffs den vollen Zugriff
auf die Hosteinheiten einer Hostsite angefordert hat, sendet der Fern-PC
einen Ferntastaturbefehl an die Hosteinheit, der die Unterroutine „Diverse
Befehle" 608 aufruft, was
bewirkt, daß die
Tastatursignale des Host-PC von der Hosteinheit erzeugt werden,
statt von der Tastatur des Host-PCs. Dann sendet der Fern-PC einen
Fernzugriffsbefehl, um die Unterroutine „Fernzugriff" 607 aufzurufen.
-
Erst
weist die Unterroutine „Fernzugriff" 607 der
Steuer-CPU die Video-CPU an, die Verarbeitung ihrer Unterroutine „Fernzugriff" 622 zu
beginnen. Die Unterroutine „Fernzugriff" 622 bewirkt,
daß der
Videotext erfaßt
wird und von der Steuer-CPU zur Anzeige an den Fern-PC gesendet
wird. Der letzte Status der gesendeten Bildschirmdaten wird mit
dem Inhalt des aktuellen Bildschirms verglichen, und nur geänderte Bildschirmdaten
werden übertragen.
-
5C zeigt eine Übersicht
der Datenflüsse zwischen
der Software TVLINK.EXE, die auf dem Fern-PC 630A ausgeführt wird,
der Hosteinheit 630B und dem Host-PC 630C. Die
Aktivität
der Ferntastatur 631A und die Maus 631B wird durch
TVLINK.EXE-Interruptprozesse erfaßt, die diese Daten 633, 634 kombinieren
und zur Hosteinheit 632 übertragen. Die Steuer-CPU 636A trennt
diese Daten auf und sendet die Mausinformation an die Video-CPU 636B,
die diese als serielle Eingabe 638 für den Host-PC weiterleitet.
Die eingehenden Tastaturdaten werden in Takt- und Datensignale 637 ungewandelt, die
zum Tastaturanschluß des
Host-PCs durchgeleitet werden. Die Videosignale 639 von
der Bildschirmkarte des Host-PCs werden von der Video-CPU in codierte
Textdaten wie z.B. ASCII-Code umgewandelt und von der Steuer-CPU
zum Fern-PC 635 übertragen,
wo sie von TVLINK.EXE verarbeitet werden, um an die Bildschirmkarte
des Fern-PCs ausgegeben zu werden. Die Sende- und Empfangsdatenleitungen 632 können direkt
verbunden sein oder über Modems
oder andere Datenübertragungsgeräte verbunden
sein.
-
Um
die Dateiübertragung
zwischen dem Fern-PC und Host-PC durchzuführen, wird zuerst ein Dateiübertragungsprogramm
namens TVFILES.EXE (das mit der Vorrichtung geliefert und auf dem
Massenspeichergerät
des Host-PCs installiert ist) auf dem Host-PC aufgerufen, indem
der Dateiname mit dem Prozeß „Fernzugriff" 607 von
der Tastatur des Fern-PCs aus eingegeben wird. TVLINK.EXE sendet dann
ein Paket mit dem Befehl „Durchleiten" an den Host-PC.
Die Steu er-CPU empfängt
diesen Befehl 604 und ruft die Unterroutine „Durchleitmodus" 606 auf.
-
Die
Unterroutine „Durchleitmodus 606 sendet
erst einen Durchleitbefehl an die Routine „Auf Befehl warten" 621 der
Video-CPU, wodurch die Unterroutine „Durchleiten" 624 in
der Video-CPU aufgerufen wird. Die Durchleitunterroutinen 606, 624 der Steuer-CPU
und Video-CPU arbeiten so zusammen, daß Daten, die vom Fern-PC empfangen
werden, von der Video-CPU an den seriellen Anschluß des Host-PCs
weitergeleitet werden. Daten, die vom Host-PC empfangen werden,
werden von der Steuer-CPU an den Fern-PC weitergeleitet. Dadurch
ist TVLINK.EXE (das auf dem Fern-PC läuft) direkt mit den Dateiübertragungsprogramm
(das auf dem Host-PC läuft)
in Verbindung, und die Dateiübertragung
vom Host-PC zum Fern-PC oder umgekehrt wird von diesen zwei Programmen übernommen.
-
„Videotraining
und Setup" 625 wird
aufgerufen, wenn der Befehl „System-Setup" von der Steuer-CPU
empfangen wird, nachdem der Impulsschalter auf der Frontplatte der
Hosteinheit gedrückt
wurde. Dieser Prozeß bildet
eine Schnittstelle zu einem Softwareprogramm namens TVTRAIN.EXE,
das auf dem Host-PC läuft,
mit der Vorrichtung geliefert wird und auf dem Massenspeichergerät des Host-PCs
installiert ist, wie in der Erläuterung
zu 6A bis 6D beschrieben.
Um Daten an das Programm zu senden, weist die Unterroutine „Videotraining
und Setup" 625 die
Steuer-CPU an, Tastenanschläge
an das Programm zu senden, und empfängt Daten vom Programm, indem
sie die Videosignale der Bildschirmkarte, einschließlich eines
Videorastersignals, verarbeitet. Dieser Prozeß wird im Zusammenhang mit 6A, 6B und 6C ausführlicher
beschrieben.
-
Während des
Fernzugriffs 622 und Videotrainings und Setups 625 werden
bestimmte Unterroutinen verwendet, um Videodaten zu erfassen und
zu interpretieren. Videographik wird von der Unterroutine „Videographik
erfassen" 640 erfaßt und digitalisiert.
Diese Unterroutine prüft
zuerst, ob das Horizontal- und der Vertikalsynchronisationssignal
ihre Polarität
nicht geändert
haben, und wartet dann, bis das Vertikalsynchronisationssignal aktiv
wird, aktiviert dann die Videoverarbeitungsschaltungen und wartet dann
auf das nächste
Vertikalsynchronisationssignal. In diesem Augenblick enthält der Videoausgabepuffer
die digitali sierten Videodaten. Diese Daten werden dann an den Fern-PC übertragen,
wo das Programm TVLINK.EXE sie im Graphikmodus anzeigen kann. Diese
Daten werden auch vom (weiter unten beschriebenen) Trainingvorgang
benutzt, um die Pixeltaktsteuerung anzupassen. Die Videoschaltungen (siehe 110, 111, 112, 113 in 4A) müssen
korrekt ohne CRC initialisiert werden.
-
Wenn
die Polarität
der Synchronisationssignale wechselt 641, bricht diese
Routine ab und gibt den Videostatus zurück 642. Sonst gibt
die Unterroutine „Videographik
erfassen" 640 „OK" zurück 643.
-
Um
Videotext zu erfassen, müssen
die Videoschaltungen (siehe 110, 111, 112, 113 in 4A) korrekt mit CRC für Text initialisiert werden.
Dann erfaßt
die Unterroutine „Videotext
erfassen" 644 den
Videotext und 2000 CRCs (bei einem Textmodus mit 80 Zeichen × 25 Zeilen).
Gegenwärtig
sind die Unterroutinen „Video
erfassen" für Graphik
und Text 640, 644 gleich. Dies ist darauf zurückzuführen, daß die Videoverarbeitungsschaltungen
anders initialisiert werden, da statt des digitalisierten Bilds
Zeichen-CRCs im Videoausgabepuffer gespeichert werden.
-
Wenn
die Polarität
der Synchronisationssignale wechselt 645, wird die Verarbeitung
der Unterroutine „Video
erfassen" 644 beendet,
und der Videostatus wird an die aufrufende Routine 646 zurückgegeben.
Sonst laden die Videoschaltungen jede Zeichen-CRC aus dem Videoausgabepuffer
und wandeln diese über
eine Bezugstabelle in Zeichencodes um (wie die Ein-Byte-Zeichencodes,
die für
den ASCII-Code verwendet werden), speichert diese Codes im Speicher
ab, über
einen Datenzeiger, der vor dem Aufruf dieser Unterroutine 647 initialisiert
wurde, und geben dann „OK" zurück 648.
-
5E zeigt die Unterroutine „Video erfassen" 644 (bei 650B, 651B, 652B),
die verwendet wird, um Textdaten aus den Farbsignalen für Rot, Grün und dann
Blau zu erfassen. Vor dem Erfassen von Textdaten wird das betreffende
Farbsignal bei 650A, 651A, 652A gewählt (wie
zuvor in der Erläuterung
zu 4G beschrieben). Die Unterroutine „Videotext
erfassen" 650B, 651B, 652B gibt
den Videostatus 650D, 651D, 652D zurück, wenn
die Polarität der
Synchronisationssignale sich geändert
hat 650C, 651C, 652C. Sonst gibt die
Unterroutine „Vi deotext erfassen" bei 653 „OK" zurück, nachdem
die Videotextinformation aus dem Rot-, Grün- und Blausignal erfaßt wurde.
-
5F veranschaulicht einige der Datenspeicherbereiche,
die von Videounterroutinen verwendet werden. Die Zeichendaten, die
von der Unterroutine „Videotext
erfassen" 650B, 651B, 652B erzeugt
wurden, werden in entsprechende Datenbereiche 660A, 661A, 662A gespeichert.
Diese Unterroutinen aktualisieren auch einen Bitmerker (in 660B, 661B, 662B)
für jedes
Zeichen. Ein Bitmerker zeigt an, ob ein Zeichen normal oder invertiert
(hervorgehoben) ist.
-
Mit
den roten, grünen
und blauen Textdaten und dem Bitmerker können jeder Zeichenwert, zum Beispiel
als ASCII-Wert, und die Farbattribute (Vordergrund oder Hindergrund)
ermittelt werden. 5G zeigt 5 Zeichen 665A, 665B, 665C, 665D, 665E mit
jeweils unterschiedlichen Vordergrund- und Hintergrundfarbkombinationen.
Für jede
davon werden auch die Zeichen gezeigt, die aus den drei Farbsignalen
abgeleitet wurden, nachdem jedes Signal verwendet wurde, um den
zugehörigen
CRC abzuleiten. Die Vordergrund- und Hintergrundfarben werden jeweils
durch eine Dreibitnummer dargestellt, wobei jedes Bit einer der
drei Primärfarben
entspricht. Diese Dreibitmenge kann einen Wert von 0 bis 7 annehmen,
wobei Schwarz 0 (000b), Blau 1 (001b), Grün 2 (010b), Hellbau 3 (011),
Rot 4 (100b), Violett 5 (101b), Gelb 6 (110b) und Weiß 7 (111b)
ist. Die in Klammern stehenden Zahlen sind die binäre Entsprechung
des Dreibitwerts und werden in der Beschreibung verwendet. Die Kombination
aus rotem, grünen
und blauem Licht ergibt Weiß.
Wenn die Analyse eines Farbsignals eine „normale" CRC ergibt, ist der entsprechende Bitwert
dieses Signals 1 für
AN und 0 für
AUS. Sonst wird der Bitwert des Signals umgekehrt (d.h. auf 0 für AN und
1 für AUS
gesetzt), wenn das Signal einer invertierten CRC entspricht.
-
Der
Prozeß der
Ableitung der Vordergrund- und Hintergrundfarben aus den drei Primärfarbsignalen
wird in 5G und 5H veranschaulicht.
-
Bei
Weiß (Vordergrund)
auf Schwarz (Hintergrund) 665A entspricht jedes Farbsignal
einer „normalen" CRC für ein „A". Demgemäß zeigt 666A ein rotes „A" auf einem schwarzen
Hintergrund, was bedeutet, daß das
Rotsignal für
Vordergrund AN (d.h. 1) und für
Hintergrund AUS (d.h. 0) ist. Dementsprechend zeigen 667A ein
grünes „A" und 668A ein blaues „A" auf einem schwarzen
Hinter grund. Zusammen erscheinen diese drei Farbsignale auf einem
Bildschirm als ein weißes „A" auf einem schwarzen
Hintergrund. Daher ergeben sich die Bitwerte: Vordergrund: 111b,
Hintergrund: 000b.
-
Bei
Weiß auf
Blau 665B ist das Blausignal 668B immer AN. Es
erzeugt die blaue Hintergrundfarbe und erzeugt mit dem roten „B" 666B und
dem grünen „B" 667B die
weiße
Vordergrundfarbe des „B". Die CRC für das Rot-
und Grünsignal
ergibt ein „normales" B-Zeichen. Daher
sind die ersten zwei Vordergrundbits „11" und die Hintergrundbits „00". Die CRC für das Blausignal
ergibt ein „normales" CRC-Blockzeichen,
bei dem sowohl die Vordergrund- als auch die Hintergrundfarbe Blau
ist (d.h. AN). Daher werden das dritte Vordergrundbit und das dritte
Hintergrundbit beide auf 1 gesetzt. Daher ergeben sich die Bitwerte:
Vordergrund: 111b, Hintergrund: 001b.
-
Bei
Gelb auf Blau 665C sind das rote „C" 666C und das grüne „C" 667C AN
und erzeugen miteinander die gelbe Vordergrundfarbe. Bei der Analyse
der CRCs des Rot- und Grünsignals
ergibt sich ein „normales" CRC-Zeichen „C", was heißt, daß die ersten
zwei Bits auf den Vordergrundwert 1 und auf den Hintergrundwert
0 gesetzt werden. Wenn die CRC des Blausignals analysiert wird,
bildet das Blausignal 668C nur den Hintergrund und ist
nicht Teil der Vordergrundfarbe, da das Signal einem „invertierten" CRC-Wert für den Buchstaben „C" entspricht. Daher ergeben
sich die Bitwerte: Vordergrund: 110b, Hintergrund: 001b.
-
Bei
Rot auf Blau 665D erzeugt das rote „D" 666D die Vordergrundfarbe
und entspricht daher einer „normalen" CRC für den Buchstaben „D". Das erste Bit wird
also auf 1 für
den Vordergrund und auf 0 für
den Hintergrund gesetzt.
-
Das
Grünsignal 667D ist
aus, oder schwarz; es leistet keinen Beitrag; und entspricht einem CRC-Wert
für ein „normales" Leerzeichen. Das
zweite Bit für
den Vordergrund und für
den Hintergrund wird also auf 0 (d.h. AUS) gesetzt. Wenn die CRC des
Blausignals analysiert wird, bildet das Blausignal 668D nur
den Hintergrund und ist nicht Teil der Vordergrundfarbe, da das
Signal einer „invertierten" CRC für den Buchstaben „D" entspricht. Daher
ergeben sich die Bitwerte: Vordergrund: 100b, Hintergrund: 001b.
-
Bei
Gelb auf Violett 665E ist das Rotsignal 666E immer
an, um mit dem grünen „E" 667E die
gelbe Vordergrundfarbe zu erzeugen und mit der blauen Hintergrundfarbe 668E violett
zu ergeben. Da das Rotsignal „AN" ist, um sowohl die
Vordergrund- als auch die Hintergrundfarbe zu erzeugen, entspricht das
Rotsignal einem „normalen" CRC-Wert für ein Blockzeichen,
und das erste Bit für
den Vordergrund und für
den Hintergrund wird auf 1 gesetzt. Das Grünsignal erzeugt mit dem Rotsignal
den gelben Vordergrund des Zeichens „E", ist aber nicht Teil der Hintergrundfarbe,
weshalb sein Hintergrund aus ist. Das Grünsignal entspricht dem CRC-Wert
für ein „normales" Zeichen „E", weshalb das zweite
Bit auf 1 für
den Vordergrund und auf 0 für
den Hintergrund gesetzt wird. Das Blausignal 668E hat keinen
Einfluß auf
den Vordergrund, aber auf den Hintergrund, da es mit dem Rotsignal 666E Violett
ergibt. Wenn der CRC-Wert des Blausignals analysiert wird, bildet
das Blausignal 668E nur den Hintergrund und ist nicht Teil der
Vordergrundfarbe, da das Signal einem „invertierten" CRC-Wert für den Buchstaben „E" entspricht. Daher
ergeben sich die Bitwerte: Vordergrund: 110b, Hintergrund: 101b.
-
Bei
Gelb auf Grün 665F ist
das Blausignal 668F aus, oder schwarz, und leistet keinen
Beitrag. Daher entspricht das Blausignal einem CRC-Wert für ein „normales" Leerzeichen, wobei
das dritte Bit sowohl für
den Vordergrund als auch für
den Hintergrund aus ist. Das Grünsignal 667F erzeugt
die ganze Hintergrundfarbe und ergibt mit dem Rotsignal 666F auch
die gelbe Vordergrundfarbe. Daher ergibt der CRC-Wert für das Grünsignal
ein „normales" Blockzeichen, wobei
das dritte Bit sowohl für
den Vordergrund als auch für
den Hintergrund auf „1" gesetzt ist. Das
Rotsignal trägt
nur zum Vordergrund des „F" bei. Daher ergibt
das Rotsignal ein „normales" Zeichen „F", wobei das erste
Bit auf einen Vordergrund von „1" und einen Hintergrund
von „0" gesetzt ist. Daher
ergeben sich die Bitwerte: Vordergrund: 110b, Hintergrund: 010b.
-
Bei
Schwarz (Vordergrund) auf Weiß (Hintergrund) 665G ist
jedes Farbsignal identisch und ergibt den CRC-Wert für ein „invertiertes" Zeichen „G". 666G zeigt
ein schwarzes „G" auf einem roten
Hintergrund. Dementsprechend zeigt 667G ein schwarzes „G" auf einem grünen Hintergrund
und 668G ein schwarzes „G" auf blauem Hintergrund. Zusammen erscheinen
diese drei Farbsignale auf dem Bildschirm als schwarzes „G" auf einem weißen Hintergrund.
Daher ergeben sich die Bitwerte: Vordergrund: 000b, Hintergrund:
111b.
-
Andere
Zeichen werden auf entsprechende Weise behandelt, mit Ausnahme der
Zeichen, die ein Blockzeichen oder ein Leerzeichen sind.
-
Wenn
die Analyse aller drei Farbsignale ein Zeichen ergibt, das ein Blockzeichen 665X, 665Y, 665Z ist,
wird der ASCII-Code für
das Zeichen stets als Blockzeichen „hex DB" mit Vordergrund- und Hintergrundattributen
gespeichert, die beide auf die Farbe des Blockzeichens gesetzt sind.
Dieser Ansatz verbessert die Verarbeitungsleistung, wie weiter unten
erläutert.
-
665X zeigt
ein schwarzes Blockzeichen. Alle Farbsignale 666X, 667X, 668X sind
aus, oder schwarz. Der CRC-Wert für jedes Farbzeichen 666X, 667X, 668X wird
in ein „normales" Leerzeichen (ASCII
hex 20) umgewandelt, doch das Zeichen 665X wird auf ein
Blockzeichen (ASCII hex DB) mit einem Vordergrund 000b und einem
Hintergrund 000b gesetzt.
-
665Y zeigt
ein weißes
Blockzeichen. Alle Farbsignale 666Y, 667Y, 668Y sind
an. Der CRC-Wert für
dieses Zeichen wird bei jedem Farbsignal in ein Blockzeichen (ASSII
hex DB) umgewandelt. Daher ergeben sich die Bitwerte: Vordergrund: 111b,
Hintergrund: 111b.
-
665Z zeigt
ein gelbes Blockzeichen. Das Blausignal 668Z ist aus, oder
schwarz, und leistet keinen Beitrag, da es in ein „normales" CRC-Leerzeichen
umgewandelt wird. Rot 666Z und Grün 667Z sind sowohl
im Vorder- als auch im Hintergrund, um zusammen das gelbe Blockzeichen
zu ergeben. Der CRC-Wert für
dieses Zeichen wird in den ASCII-Wert von „hex DB" umgewandelt. Daher ergeben sich die Bitwerte:
Vordergrund: 110b, Hintergrund: 110b.
-
Die
ASCII-Zeichen „hex
00" (Nullzeichen) und „hex FF" werden (auf dem
Bildschirm) identisch wie ein Blockzeichen 666X, 666Y angezeigt.
Gegenwärtig
werden diese Zeichen in ein Blockzeichen (hex DB) umgewandelt. Der
ASCII-Code 00 wird
benutzt, um ein Zeichen darzustellen, dessen CRC-Wert unbekannt
(in der CRC-Bezugstabelle nicht vorhanden) ist. Dies kann aus zwei
Gründen vorkommen.
Erstens, wenn das Videosignal durch Rauschen oder andere Störungen verfälscht wird, und
zweitens, wenn das Zeichen vom blinkenden Cursor des Host-PCs periodisch
verdunkelt wird. Der ASCII-Code „hex FF" ist als un gültiges Zeichen definiert und
wird verwendet, um ASCII-Videodatenbereiche zu löschen (initialisieren).
-
Wie
oben erwähnt,
wird ein „normales" Zeichen als eine
Vordergrundfarbe auf schwarzem Hintergrund definiert, wie z.B. 666F.
Ein invertiertes oder „hervorgehobenes" Zeichen dagegen
wird als Schwarz auf einer Hintergrundfarbe definiert, wie z.B. 666G.
Eine Zeichen-CRC gibt nur an, ob ein bestimmtes Zeichen normal oder
invertiert ist, je nachdem, ob das entsprechende Farbsignal in ein
Zeichen mit dem „normalen" oder „invertierten" Zeichensatz umgewandelt
wird. Bei der Analyse des roten, grünen und blauen Zeichens kann
jedes Zeichen einer der folgenden ASCII-Codes sein: Ein Leerzeichen
(hex 20) 666X, ein Blockzeichen (hex DB) 666Y oder
der ASCII-Code für
ein bestimmtes Zeichen 666F oder 666G. Bei der
Ableitung der drei Vordergrund- und Hintergrundfarbwerte wird wie
folgt vorgegangen: Wenn das Zeichen in einer bestimmten Farbe ein
Leerzeichen ist, das ganz schwarz ist, dann wird sowohl das Vordergrundbit
als auch das Hintergrundbit für
diese Farbe auf null gesetzt. Wenn es ein farbiges Blockzeichen
ist, dann wird sowohl das Vordergrundbit als auch das Hintergrundbit
für diese
Farbe auf eins gesetzt. Sonst wird das Farbbit durch den Merker „normal/invertiert" des Zeichens gesetzt: „normal" setzt das Vordergrundbit
und „invertiert" setzt das Hintergrundbit.
-
Wenn
bei der Ermittlung eines Zeichencodes alle drei Farbzeichen entweder
Leer- oder Blockzeichen (wie 665X, 665Y, 665Z)
sind, dann ist das Zeichen ein Blockzeichen 665X. Sonst
ist das Zeichen kein Leer- oder Blockzeichen, sondern ein anderes Zeichen
(wie z.B. 665F), das gefunden wird. Wenn mehr als ein Zeichen
vorliegt, das kein Leer- oder Blockzeichen ist, müssen diese
Zeichen gleich sein. Wenn zwei solche Zeichen vorliegen und nicht
gleich sind, wird das Zeichen auf hex 00 (unbekanntes Zeichen) gesetzt.
Auch bei einem unbekannten Farbzeichen (CRC-Wert nicht erkannt)
wird das erhaltene Zeichen auf „hex 00" gesetzt.
-
Der
Zeichenvergleich zur Feststellung der Änderungen, wie oben erwähnt, verwendet
sowohl den ASCII-Code als auch die Farbattribute. Wenn sich die
Vordergrundfarbe von einem Zeichen zum nächsten ändert, wird diese Farbänderungsinformation
verarbeitet. Wenn sich die Hintergrundfarbe von einem Zeichen zum
nächsten ändert, dann
wird diese Farbänderungsinformation
verarbei tet. Wenn sich der Zeichencode ändert, wird das neue Zeichen
verarbeitet. Blockzeichen (ASCII-Code hex DB) erfordern besondere
Aufmerksamkeit, da sie je nach Vordergrund- und Hintergrundfarbwert
als Leerzeichen interpretiert werden können. Wenn zum Beispiel Weiß-auf-Schwarz-Text
verarbeitet wird, wie. z.B. 665A, dann ist das schwarze
Blockzeichen 665X ein Leerzeichen (hex 20) und das weiße Blockzeichen 665Y ein
Blockzeichen (hex DB). Wenn aber Schwarz-auf-Weiß-Text verarbeitet wird 665G,
dann wird das Leerzeichen 665X zu einen Blockzeichen, da
die Voerdergrundfarbe Schwarz ist. Entsprechend wird das weiße Blockzeichen 665Y ein
Leerzeichen, da die Hintergrundfarbe Weiß ist. Dies wird ermittelt, indem
die Farbattribute des zuvor verarbeiteten Zeichens geprüft werden.
Wenn der ganze Bildschirm leer ist (es werden nur Leerzeichen angezeigt),
kann dies als 2000 Leerzeichen mit schwarzem Hintergrund oder als
2000 Blockzeichen (schwarzer Vordergrund) interpretiert werden.
Dies spielt keine Rolle, da beides gleich ist. Der einzige Grund,
Leerzeichen von Blockzeichen zu differenzieren, ist die Effizienz,
da nur der ASCII-Code verarbeitet werden muß, und nicht die Vordergrund-
und Hintergrundinformation. Da Bildschirme typischerweise erhebliche Mengen
an Leerzeichen enthalten, wird die Gesamtleistung des Videosignalumwandlungsprozesses
erhöht,
wenn die Notwendigkeit der Verarbeitung der Vordergrund- und Hintergrundinformation
entfällt.
-
Aus
der obigen Diskussion ist für
den Fachmann ersichtlich, daß die
Farbattribute der Zeichen, die auf dem Bildschirmgerät des Host-PCs
angezeigt werden, mit der vorliegenden Erfindung interpretiert und
an einen Fern-PC übertragen
werden können. Die
oben aufgeführten
Beispiele veranschaulichen das von der vorliegenden Erfindung verwendete
Verfahren, das verwendet werden kann, um die Farbattribute aller
Zeichen zu ermitteln, die auf dem Bildschirmgerät des Host-PCs angezeigt werden.
-
Wenn
Videotext anfangs für
den Fernzugriff verarbeitet wird, wird der aktuelle Bildschirm 663A mit „hex DB" (Blockzeichen) initialisiert,
und die Farbattribute 663B werden auf null (schwarzer Vorder-
und Hintergrund) initialisiert. Diese zwei Datenbereiche enthalten
die aktuell erfaßten
Textdaten und stellen einen leeren Bildschirm dar. Jeder neu erfaßten Textbildschirm
wird dann mit diesen aktuellen Bildschirmdaten verglichen, und nur
die Änderungen werden
verarbeitet (d.h. entweder an TVLINK.EXE gesendet oder protokolliert)
und in den aktuellen Bildschirmdaten aktualisiert. Dadurch, daß die aktuellen Bildschirmdaten
mit „hex
DB" und Farbattributen
auf null initialisiert werden, ist nur der erste erfaßte nicht leere
Bildschirm mit Sicherheit verschieden und muß daher vollständig verarbeitet
werden. Danach werden nur die Änderungen
verarbeitet. Die anfänglichen
Textdaten und die nachfolgenden Änderungen werden
von der Steuer-CPU an den Fern-PC übertragen. Dadurch, daß nur Änderungen über die
relativ langsamen Telefonleitungen übertragen werden, läßt sich
die zur Übertragung
der Videoanzeigeinformation vom Host-PC an den Fern-PC benötigte Zeit
erheblich reduzieren. Durch Datenkompressionstechniken, die dem
Fachmann vertraut sind, läßt sich
die zur Datenübertragung
an einen Fern-PC benötigte Zeit
weiter reduzieren.
-
Um
Videotext zu protokollieren, werden die Videotextdaten erst erfaßt und dann
in den Datenbereichen „aktueller
Bildschirm" 663A und „Basisbildschirm" 664A sowie
in den Datenbereichen „Farbattribute" 663B, 664B gespeichert.
Nachdem die neu erfaßten
Textdaten mit den aktuellen Bildschirmdaten verglichen wurden, werden
nur die Änderungen
von der Routine „Bildschirm
protokollieren" 623E im
Datenbereich „Änderungsprotokoll" 664C gespeichert
und dann in den aktuellen Bildschirmdaten aktualisiert. Wenn der
Datenbereich „Änderungsprotokoll" 664C voll
ist, werden die ältesten Änderungen
in den Basisbildschirm 664A aufgenommen, wodurch mehr Speicherplatz 664C freigegeben
wird.
-
Einige
Fernbenutzer können
auf die Farbattribute verzichten wollen, um die Übertragung der Textdaten zu
beschleunigen. Gegenwärtig
hat der Fernbenutzer (über
das Programm TVLINK.EXE, das auf dem Fern-PC ausgeführt wird
und später
beschrieben wird) die Möglichkeit,
eines von drei Farbsignalen zu wählen,
statt der Farberkennung mit allen drei Farbsignalen, wie zuvor beschrieben.
Wenn ein Farbsignal gewählt
wird, verarbeitet die Video-CPU nur dieses Farbsignal und sendet
normale und invertierte Videotextdaten zurück. Im manchen Fällen können die
Zeichen nur durch andere Farbsignale als das gewählte gebildet werden. In diesen
Fällen
kann das korrekte Zeichen nicht ermittelt werden. Beispielsweise
kann ein blaues Zeichen auf einem schwarzen Hintergrund nicht mit
dem Grün-
oder Rotsignal erkannt werden.
-
Die
Tastaturschnittstelle der Steuer-CPU emuliert die Tastatur des Host-PCs.
Tastatursignale (von der Tastatur oder von der Steuer-CPU) durchlaufen
zwei Etappen, bevor sie das auf dem Host-PC ausgeführte Anwendungsprogramm
erreichen. Das Anwendungsprogramm kann das Programm DOS COMMAND.COM
umfassen. Wenn eine Taste gedrückt
und/oder losgelassen wird, sendet die Tastatur ein oder mehrere
serielle Datenbytes an den Host-PC. Die Bytes werden von einem dedizierten Mikrocontroller
im Host-PC verarbeitet, der diese Information in Abtastcodes umsetzt
und über
den Interrupt 9 mit den Zentralprozessoren des Host-PCs (zum Beispiel
ein 80386-Mikroprozessor) in Verbindung ist. Dieser Interrupt ruft
eine BIOS-Routine auf, die den Abtastcode in einen ASCII- (oder
erweiterten) Zeichencode umwandelt und diesen in einen Pufferspeicher
für die
aktuelle Anwendung ablegt. Auch wenn einige Anwendungen das BIOS
umgehen können
und direkt auf diesen Interrupt zugreifen können, wird der Betrieb der
Erfindung dadurch nicht beeinflußt. Beispiele für erweiterte
Zeichencodes sind die Tasten POS1, PFEIL-NACH-LINKS und EINFÜGEN.
-
Die
Tastatur verwendet ein bidirektionales, synchrones serielles Protokoll
(8 Bit plus Parität)
für den
Datenaustausch mit dem Host-PC, und die Steuer-CPU emuliert diese
Schnittstelle, wenn ein Fernbenutzer auf den Host-PC zugreift. 5K zeigt die Tastaturtaktsignale 671A und
Tastaturdatensignale 670A. Diese Signale werden durch einen
Pull-up-Widerstand auf einen hohen Pegel (logisches Hoch) von 5
Volt gehalten. Der Host-PC oder die Tastatur legt an diese Leitungen
durch einen Treiber mit potentialfreiem Ausgang einen niedrigen
Pegel (0 Volt) an. Für
jedes übertragene
Bit werden zuerst die Daten gesendet (hoher oder tiefer Pegel) (z.B. 670D), wonach
das Taktsignal ca. 50 Mikrosekunden lang auf einen niedrigen Pegel
gebracht wird (z.B. 671C). Die Datenübertragung wird von der Tastatur
gesteuert, nicht vom Host-PC. D.h., wenn Daten vom oder zum Host-PC
getaktet werden, wird das Taktsignal von der Tastatur erzeugt.
-
Wenn
eine Taste gedrückt
wird, sendet die Tastatur ein Byte oder Bytes an die Host-CPU. Zuerst sendet
sie ein serielles „Startbit" 670B und
einen Taktimpuls 671B, dann sendet sie das erste Datenbit 670C und
so weiter, bis das 8. Datenbit 670E und das Paritätsbit 670F getaktet
wurden. Dann wird ein Stopbit 670G mit dem Taktimpuls 671D gesendet.
Dadurch wird die Datenübertragung
beendet. Wenn der Taktimpuls dabei auf einen hohen Pegel gebracht wird 671E,
legt der Host-PC in der Taktleitung einen niedrigen Pegel an. Dieser
bleibt niedrig 671F, bis der Host-PC die Verarbeitung dieses
Datenbytes abgeschlossen hat, wonach die Taktleitung einen hohen
Pegel annimmt 671G und die Tastatur ein anderes Byte senden
kann. 670A und 671A zeigen das Protokoll für Tastenanschläge wie zum
Beispiel „A" bis „Z", der Datenfluß ist von
der Tastatur zum Host-PC.
-
Bei
Tasten wie „CAPS-LOCK", „NUM-LOCK" und „SCROLL-LOCK" findet der Datenfluß in beide Richtungen
statt. D.h., das Host-PC steuert den Status dieser Funktionen. Wenn
zum Beispiel die Zahlenfeststelltaste „NUM-LOCK" gedrückt wird, sendet die Tastatur
diese Information an den Host-PC, wonach der Host-PC den Status
aller drei Funktionen sendet, der die Leuchten „CAPS-LOCK„, „NUM-LOCK" und „SCROLL-LOCK" auf der Tastatur aktiviert.
Das Takt- und Datenprotokoll dafür
wird in 672A und 673A gezeigt. Wenn die Taste „NUM-LOCK" gedrückt wird,
beginnen das Startbit 672B und der erste Taktimpuls 673B die Übertragung des
Bytes. Nachdem das Byte übertragen
wurde, bringt die Tastatur die Taktleitung auf einen hohen Pegel 673C,
der vom sofort vom Host-PC sofort wieder auf einen niedrigen Pegel 673D gesenkt
wird, um besetzt anzuzeigen. Während
dieser Zeit setzt der Host-PC die Datenleitung auf einen niedrigen
Pegel 672C, um eine Datenübertragung von der Tastatur anzufordern.
Wenn dies passiert, wartet die Tastatur, bis der Host-PC die Taktleitung
wieder auf einen hohen Pegel 673E setzt, und dann erzeugt
die Tastatur die Taktimpulse 673F. Das Datensignal bei 672C dient übrigens
auch als Startbit. Bei jedem Taktsignal verschiebt die Tastatur
die Daten 673D des Host-PCs in ihren Speicher. Nach erfolgter Übertragung
setzt die Tastatur die Taktleitung auf einen hohen Pegel 673H,
und der Host-PC setzt sie wieder auf einen niedrigen Pegel 673G,
um „besetzt" anzuzeigen. Dann
setzt der Host-PC die Taktleitung auf einen hohen Pegel 673J,
um anzeigen, daß er
für mehr
Tastaturdaten bereit ist. Wenn der Host-PC mehr Daten hat, nachdem
der Host-PC die Taktleitung auf den niedrigen Pegel 673G gesetzt
hat, wird die Datenleitung wieder auf den niedrigen Pegel gesetzt,
wie bei 672C gezeigt, und eine neue Datenübertragung
vom Host-PC zur Tastatur findet statt.
-
Hier
endet die Übersicht über des
Takt- und Datenprotokoll. Obwohl Ein-Byte-Übertragungen
beschrieben wurden, um die Mechanismen des bidirektionalen Datenaustauschs
zu erläutern,
werden tatsächlich
mehrere Bytes übertragen,
wenn eine Taste gedrückt
und losgelassen wird oder eine Feststelltaste („NUM-LOCK",
usw.) aktiviert ist. Tasten wie „Print-Screen" (Druck), „Sys-Req.". oder „CLT-Break" weisen auch ihr
eigenes Mehrbyteprotokoll auf.
-
6A zeigt den Haupttrainingsbildschirm 681,
der gegenwärtig
vom Programm TVTRAIN.EXE erzeugt wird, das mit der Vorrichtung geliefert
wird.
-
Die
Verarbeitungsparameter, die benötigt werden,
um die Videosignale von einer Bildschirmkarte in Digital- oder Textdaten
umzuwandeln, können
von Bildschirmkarte zu Bildschirmkarte verschieden sein und unterliegen
den Änderungen
in der Bildschirmkartentechnologie. Das Programm TVTRAIN.EXE wird
auf dem Host-PC aufgerufen. Das Programm ermöglicht der Hosteinheit, die
realen Videoausgabesignale einer Bildschirmkarte zu decodieren,
einschließlich
der Videorastersignale, anhand bekannter Daten, die auf dem Bildschirm
angezeigt werden, um die genauen Verarbeitungsschritte abzuleiten,
die notwendig sind, um die Ausgabe der Bildschirmkarte zu decodieren.
Dieser Ansatz erlaubt der Hosteinheit, Videosignale unabhängig von
der verwendeten Bildschirmkartentechnologie zu verarbeiten. Diese
Verarbeitungsparameter werden im nicht flüchtigen RAM-Speicher der Hosteinheit
in Form von Datentabellen gespeichert, auf welche von den Softwareprogrammen
Bezug genommen wird, die in der Video-CPU der Hosteinheit ausgeführt werden,
um die Videosignale der Hosteinheit decodieren. Wenn der TVTRAIN.EXE-Vorgang
einmal für
einen Host-PC erfolgreich durchgeführt wurde, braucht er nicht
wiederholt zu werden, außer,
wenn die Bildschirmkarte oder das Bildschirmgerät des Host-PCs ausgetauscht
wird oder ein neuer Host-PC an die Hosteinheit angeschlossen wird.
-
Wenn
TVTRAIN.EXE auf einem Host-PC aufgerufen wird, wartet der Host-PC
auf eine bestimme Reihe von Tastenanschlägen, die von der Hosteinheit
gesendet wird, um den Trainingsvorgang zu starten. Danach steuert
die Hosteinheit die Aktivität des
Programms TVTRAIN.EXE über
Tastatureingaben zum Host-PC. Nachdem TVTRAIN.EXE auf dem Host-PC
aufgerufen wurde, muß der
Impulsschalter auf der Vorderseite der Hosteinheit gedrückt werden, um
die Hosteinheit anzuweisen, daß sie
mit dem Senden von Tastaturdaten an den Host-PC beginnen soll. Danach
steuert die Hosteinheit TVTRAIN.EXE weiter über Tastatureingaben, bis der
Trainingsvorgang abgeschlossen ist. Während das Training durchgeführt wird,
blinkt die Anzeigelampe „Setup Mode" auf der Vorderseite
der Hosteinheit.
-
Während des
Trainingsvorgangs wird auf dem Bildschirmgerät des Host-PCs gegenwärtig ein Bildschirm
wie in 4A angezeigt. Dieser Bildschirm
verwendet nur Schwarz und Grau oder Weiß, außer bei anderslautender Angabe.
-
Die
gestrichelte waagerechte Linie, die bei 683 anfängt, zeigt
40 Halbblockzeichen (hex DF) des ASCII-Zeichensatzes. Jedes dieser
Zeichen alterniert mit einem Leerzeichen. Die nächste, durchgezogene waagerechte
Linie, die bei 684 anfängt,
enthält
80 Halbblockzeichen (hex DF), die einen durchgezogenen Balken bilden.
Die dritte, senkrechte Linie, die bei 685 anfängt und
bis zur vierundzwanzigsten Zeile 687 durchgezogen ist,
enthält
ein Zeichen „hex
B1" in der ersten
Spalte (das bei 680A auch vergrößert dargestellt ist). Die
fünfundzwanzigste
Linie (d.h. Zeile) enthält
80 Zeichen (hex DC), die wie gezeigt bei 688 beginnen.
-
Als
erster Schritt des Trainingsvorgangs wird die Polarität des Horizontal-
und Vertikalsynchronisationssignals bestimmt, und dann werden die
Videoverarbeitungsschaltungen von der Video-CPU der Hosteinheit
initialisiert, um Videodaten zu verarbeiten (die Latch-Schaltung „CRC konfigurieren" wird auf null gesetzt).
Bei 8 Pixeltaktsignalen pro Zeichen und 80 Zeichen pro Zeile sind
insgesamt 640 Pixeltaktimpulse erforderlich. Jedes dieser Pixeltaktimpulse
wird bei einem kleinen Standardwert initialisiert, mit einer Auflösung von
etwa 25 Nanosekunden.
-
Dann
wird das grüne
Analogsignal gewählt und
das Bild wird erfaßt,
um festzustellen, ob das Videosignal analog oder TTL ist. Die Videodaten
werden dann auf eine Schwarzweißaktivität hin abgetastet,
die gefunden wird, wenn die Daten für 683 vorliegen. Wenn
die Daten nur Nullen oder nur „FF" sind, dann ist der
Bildschirm nicht analog und das TTL-Grünsignal wird gewählt, wonach
die Bildschirmaktivität
wieder geprüft
wird. Wenn immer noch kein Bild erkannt wird, weist die Video-CPU
die Steuer-CPU an, über
die Tastaturschnittstelle einen Tastenanschlag an den Host-PC zu
senden, um TVTRAIN anzuweisen, eine Fehlermeldung anzuzeigen. Sonst
wird der Trainingsvorgang fortgesetzt.
-
Als
nächstes
wird ein Bildschirm erfaßt.
Erstens muß die
Zahl der nicht anzeigbaren horizontalen Abtastzeilen 682 ermittelt
werden. Dies wird erreicht, indem je 80 Bytes (eine Abtastzeile)
abgezählt
werden, bis eine Abtastzeile gefunden wird, die nicht leer ist (d.h. 683).
Zweitens werden die Abtastzeilen von der ersten nicht leeren Abtastzeile 683 an
gezählt,
bis die nächste
waagerechte Linie (d.h. 684) ge funden wird. Dies ergibt
die Zahl der horizontalen Abtastzeilen, die erforderlich sind, um
ein Zeichen darzustellen.
-
Mit
dieser Information setzt der Trainingsvorgang die Erfassung des
Videobilds fort, wobei er die beiden ersten Zeilen 683, 684 ignoriert,
und beginnt, die Pixeltaktsteuerung mit Hilfe der senkrechten Linie zwischen 685 und 687 zu
regeln. Diese Spalte 685 wird bei 680A detaillierter
dargestellt. Das weiße Quadrat 680B zeigt
das erste Pixel des Zeichens „hex
B1". Das schwarze
Quadrat 680C zeigt das erste Pixel der nächsten Abtastzeile.
Die durch 680D angezeigte Reihe aus weißen und schwarzen Quadraten
stellt das erste Zeichen in seiner Gesamtheit dar. Im VGA-Modus
sind 16 horizontale Zeilen erforderlich, um ein Zeichen zu bilden.
Das nächste
Zeichen, das bei 680E gezeigt wird, folgt direkt auf das
erste Zeichen, so daß eine
ununterbrochene Reihe von alternierenden Pixeln (d.h. von 680B, 680C nach
unten) erzeugt wird. Die senkrechte Spalte aus B1-Zeichen, die durch 685 bis 687 angezeigt
wird, umfaßt im
VGA-Textmodus 352 horizontale Abtastzeilen (16 Abtastzeilen × 22 Zeilen).
Bei einigen monochromen Bildschirmkarten, die 8 Abtastzeilen je
Zeichenzeile verwenden, sind nur 176 Abtastzeilen vorhanden. In jedem
Falle werden 100 Abtastzeile der Spalte 685 bis 687 für den Trainingsvorgang
benutzt.
-
6B zeigt die ersten vier horizontalen Abtastzeilen
von 680A und die zugehörigen
Datenströme.
Das Pixel 680B wird bei 690B erneut gezeigt. Die
8 Zeichenpixel ab 690B sind bei 690F als Datenstrom
dargestellt. Dementsprechend ist 690C bei 690G, 690D bei 690H und 690E bei 690J dargestellt. Die
korrekt positionierten Pixeltaktsignale werden auf der Linie gezeigt,
die bei 690K beginnt. Korrekt positioniert heißt, daß die Pixeltaktsignale
die Pixeldaten zuverlässig
ohne synchronisationsstörungsbedingte Fehler
erfassen. Das Pixeltaktsignal 690M erfaßt das erste Pixel oder Datenbit,
die folgenden 7 Pixeltaktsignale erfassen die restlichen 7 Pixel,
um ein Datenbyte für
jede Abtastzeile zu erzeugen. Der Wert dieses Bytes für 690B, 690F ist
55 hexadezimal oder 01010101 binär.
Der Wert des nächsten
Bytes für 690C, 690G ist
AA hexadezimal oder 10101010 binär.
Das erste Pixel ist das hochwertigste Bit (MSB) des resultierenden
Bytewerts.
-
Wie
gezeigt, ist das erste Pixel 680B des Zeichens „hex B1" in Null-Datenbit,
und 690C ein Eins-Datenbit. Bei einigen Bildschirmkarten
wird das Zeichen „hex
B1" aber invertiert.
Das heißt,
das erste Pixel 680B des Zeichens „hex B1" ist ein Eins- Datenbit, und 690C ein Null-Datenbit.
Da die Hosteinheit den an jeder Stelle des Bildschirms zu erwartenden Zeicheninhalt
kennt, kann die Hosteinheit diese Umkehrung automatisch erkennen,
was zeigt, wie diese Vorrichtung durch diesen Trainingsvorgang an
diverse Bildschirmkarten angepaßt
werden kann.
-
Eine
wichtige, am Trainingsvorgang beteiligte Unterroutine bewertet,
ob die Position eines Pixeltaktimpulses relativ zu den Videopixeldaten
korrekt ist. Diese Routine verarbeitet 100 Abtastzeilen. Jede Abtastzeile
wird zu 80 Bytes digitalisiert, wobei jedes Byte eine Abtastzeile
eines Zeichens darstellt. Vor dem Aufruf dieser Unterroutine wird
ein INDEX- und ein MASK-Wert gesetzt. INDEX wählt eines der 80 Bytes auf
dem Bildschirm. INDEX startet bei null, der Spalte ganz links, läuft quer über den
Bildschirm und endet jeweils bei 79, der Spalte ganz rechts 689B. MASK
wählt eines
der Bits innerhalb des Bytes, das von INDEX gewählt wurde. Der Kasten 690R zeigt eine
Tabelle mit diesen MASK-Werten.
-
Im
ersten Schritt dieser Unterroutine wird das Pixel 690B geprüft. Wenn
es null ist, wird ein Zähler COUNTER
inkrementiert. Dann wird das Pixel 690C geprüft. Wenn
es nicht null ist, wird ein COUNTER auch inkrementiert. Dies wird
für die
Pixel 690D, 690E usw. wiederholt, wobei auf alternierende
Pixelwerte geprüft
wird, bis 100 Pixel gezählt
wurden. Der Wert von COUNTER sollte nun gleich 100 sein, wenn ja,
dann ist der Pixeltaktimpuls 690M korrekt. Wenn er kleiner
als 100 ist, dann muß der
Pixeltaktimpuls neu positioniert werden, und die Pixelspalte 690B wird
neu geprüft.
Wenn der Pixeltaktimpuls 690M korrekt positioniert wurde,
wird der Pixeltaktimpuls 690N gewählt. Hier ist das erste Pixel
in dieser Pixelspalte (rechts von 690B) eine Eins statt
einer Null wie bei 690B.
-
Anfangs
wird der INDEX für
den Pixeltaktimpuls bei 690M auf null gesetzt, und MASK
auf hex 80. Nachdem die Pixelspalte verarbeitet wurde, wird MASK
nach rechts verschoben und wird zu „hex 40", um 690N zu prüfen, wird
dann für 690O auf „hex 20" gesetzt, und auf „hex 10" für 690P,
bis die achte Pixelspalte verarbeitet wurde und MASK gleich „hex 01" ist. Die acht Pixeltaktimpulse
für diese
Zeichenspalte (d.h. 685 bis 687) sind nun positioniert.
-
Die
Video-CPU weist nun die Steuer-CPU an, einen Tastenanschlag an den
Host-PC zu senden, der das Programm TVTRAIN.EXE anweist, die Spalte
hex B1-Zeichen (685, 687) zur nächsten Spalte
bei 689A zu verschieben. Der Trai ningsvorgang inkrementiert
nun INDEX um eins und setzt MASK auf hex 80, um die Positionierung
der nächsten
8 Pixeltaktimpulse 690Q vorzunehmen. Dieser Vorgang wird
wiederholt, bis die letzte Spalte bei 689B verarbeitet
wurde (bis INDEX gleich 79 ist) Die 640 Pixel werden nun korrekt
von den Pixeltaktimpulsen erfaßt.
-
Wenn
die horizontale Abtastzeile beginnt 690A, ist vor den sichtbaren
Pixeln eine Leerfläche oder
ein linker Rand vorhanden. Bevor der erste Pixeltaktimpuls bei 690M positioniert
wird, kann er sich bei 690L oder an einer anderen Stelle
befinden. Die Datenströme 680F, 690G, 680H, 690J usw.
weisen hier alle einen Wert von null auf. Und wenn die oben beschriebene
Unterroutine diese Daten verarbeitet, hat COUNTER einen Wert von
50, da nur die Hälfte der
Pixel den korrekten Wert haben. D.h., sie sind alle null, während die
Unterroutine alternierende Pixelwerte erwartet. Aufgrund dessen
ermöglicht
der Trainingsvorgang der Hosteinheit, die Leerflächen einer bestimmten Bildschirmkarte
automatisch anzupassen, durch Überspringen
der Situationen, in denen der vertikale Pixelzähler 50 ist.
-
Signalstörungen oder
Rauschen während des
Trainingsvorgangs können
zu geringfügigen
Verzerrungen im Pixelzähler
COUNTER führen.
Daher wird gegenwärtig
bei der Einstellung der Pixeltaktimpulse eine Toleranz von plus
oder minus 3% zugelassen. Und wenn ein Pixeltaktimpuls außerhalb
dieses Bereichs liegt, wird die Verarbeitung für den Pixeltaktimpuls bis zu
zehn mal automatisch wiederholt, um das Problem zu lösen. Wenn
das Problem dann nicht behoben ist, wird der Trainingsvorgang abgebrochen und
es wird eine Fehlermeldung angezeigt, die empfiehlt, eine andere
Bildschirmkarte oder Hosteinheit zu verwenden.
-
6C zeigt den Einfluß der Pixeltaktsteuerung auf
den Wert des Zählers
COUNTER. Die Wellenformen 692A und 692B zeigen
mehrere Pixel aus zwei Abtastzeilen mit einer Synchronisationsstörung 692M.
Die Wellenformen 692C, 692D, 692E, 692F, 692G, 692H, 692J zeigen
den Pixeltaktimpuls von 690N an verschiedenen Positionen.
Dieser Pixeltaktimpuls ist bei 692H korrekt für 690N positioniert.
Der bei 692C gezeigte Pixeltaktimpuls ist für das vorhergehende
Pixel 690M, 690B, 690C positioniert.
Der COUNTER-Wert für
diesen Pixeltaktimpuls ist null, da keines der Pixel korrekt ist.
Wie erklärt,
erwartet der Pixel taktimpuls 690N stets einen Pixelwert
von eins 692K, gefolgt von einem Pixelwert von null 692L.
-
Bei 692D ist
der COUNTER-Wert etwa 10, da aufgrund einer Synchronisationsstörung die
Pixel in 10 Prozent der Fälle
korrekt sind.
-
Bei 692E ist
der COUNTER-Wert etwa 50. Bei 692F liegt der COUNTER-Wert
ungefähr
bei 90. Bei 692G ist der COUNTER-Wert nahe bei 100 (aufgrund
ungenügender
Synchronisation). Bei 692H ist der COUNTER-Wert 100.
Bei 692J liegt der COUNTER-Wert wieder nahe bei 90.
-
Nachdem
die Pixeltaktsteuerung festgelegt wurde, weist die Video-CPU die
Steuer-CPU an, einen Tastenanschlag an den Host-PC zu senden, um das
Programm TVTRAIN.EXE anzuweisen, den in 6D gezeigten
Zeichensatz anzuzeigen. Es werden sowohl normale als auch invertierte
(hervorgehobene) Zeichen angezeigt. Danach aktiviert die Video-CPU
die CRC-Generierung, indem sie die Latch-Schaltung „CRC konfigurieren" auf den Wert „hex 83" setzt (wodurch die
zwei niederwertigsten Bits und das hochwertigste Bit des Verschieberegisters 439 für die Rückkopplung 426 gewählt werden).
-
Dann
wird das Videosignal erfaßt,
um CRC-Werte für
jedes Zeichen in 6D zu erzeugen. Gegenwärtig gibt
es 512 mögliche
Zeichen (256 normale, 256 invertierte) die im Textmodus auf dem Bildschirm
des Host-PCs angezeigt werden können. Einige
dieser Zeichen sind doppelt. Zum Beispiel werden der ASCII-Code null oder das
Nullzeichen bei 698A und das Zeichen „hex FF" 698C auf dem Bildschirm nicht
angezeigt und entsprechen dem Leerzeichen 698B, weshalb
sie als Leerstelle (hex 20) interpretiert werden. Desgleichen ist
das Blockzeichen (über
dem Quadratwurzelzeichen und neben 698C) mit dem invertierten
Nullzeichen 698D und einem invertierten Leerzeichen 698E identisch
und wird daher als Blockzeichen interpretiert. Obwohl die ASCII-Codes
in diesen zwei Zeichensätzen
verschieden ist, ist die optische Information identisch.
-
Gegenwärtig werden
nur die CRC-Werte für die
in 6D gezeigten Zeichensätze verarbeitet. Zuerst werden
sie auf Einmaligkeit hin überprüft (wobei
doppelte oder identische Zeichen ignoriert werden). Wenn sie nicht
einmalig sind, muß ein
neuer Wert in die Latch-Schaltung „CRC config" 429 geschrieben
wer den, z.B. „hex
85", usw. Das Videobild wird
dann erneut erfaßt,
und die Einmaligkeitsprüfung
wird wiederholt. Wenn für
die Latch-Schaltung „CRC
config" ein geeigneter
Wert gefunden wurde, der einmalige CRC-Codes für jedes Zeichen ergibt, wird
der Videotrainingsvorgang fortgesetzt.
-
Wenn
die Bildschirmkarte analog (nicht TTL) ist, weist die Video-CPU
die Steuer-CPU an, einen Tastenanschlag über die Tastaturschnittstelle
an den Host-PC zu
senden, um TVTRAIN.EXE anzuweisen, in einen 16-farbigen Graphikmodus
mit einer Auflösung
von 640 × 480
umzuschalten und einen einzelnen waagerechten Streifen auf der Bildschirmoberseite
anzuzeigen. Die Polarität
des Horizontal- und des Vertikalsynchronisationssignals wird für diesen Modus
ermittelt, dann werden die Videoverarbeitungsschaltungen initialisiert,
um die Videodaten zu digitalisieren (die Latch-Schaltung „CRC konfigurieren" 429 wird
auf null gesetzt). Dann wird die Zahl der horizontalen Abtastzeilen 682 ermittelt,
die vor jedem sichtbaren Pixel liegen.
-
Alle
Informationen, die während
des Trainingsvorgangs gesammelt werden, einschließlich der Pixeltaktsteuerungsinformation
und der Zeichen-CRCs, werden zur Steuer-CPU übertragen, um im nicht flüchtigen
RAM-Speicher gespeichert zu werden. Ein Merker im nicht flüchtigen
RAM-Speicher wird gesetzt, um anzuzeigen, daß der Trainingsvorgang der
Hosteinheit erfolgreich abgeschlossen wurde, und die SETUP-Anzeigelampe 54 wird
ausgeschaltet.
-
Wenn
der Trainingsvorgang abgeschlossen ist, weist die Video-CPU die
Steuer-CPU an, einen Tastenanschlag über die
Tastaturschnittstelle an den Host-PC zu senden, um mitzuteilen,
daß das
Training erfolgreich abgeschlossen wurde. Dann kehrt der Host-PC
zu seinem normalen Betriebssystem (z.B. DOS) zurück.
-
7 ist ein Blockdiagramm, das die Softverarbeitung
beschreibt, die gegenwärtig
auf einem Fern-PC stattfindet. Die rechteckigen Objekte in diesem
Diagramm stellen Softwareunterroutinen oder Menüanzeigen dar, die in der CPU
des Fern-PCs aufgerufen werden können,
wenn ein Programm (hier TVLINK.EXE genannt), das mit der Vorrichtung
geliefert wird, ausgeführt
wird. Die rautenförmigen
Objekte stellen wichtige Verarbeitungsentscheidungen dar, die im
Programm TVLINK.EXE auftreten. Die kreisförmigen Objekte, die Buchstaben
enthalten, stellen eine Verbindung zum nächsten Verarbeitungs schritt im
Blockdiagram dar, auf dem gleichen oder auf einem anderen Blatt.
Linien mit Pfeilen zeigen die Richtung des TVLINK.EXE-Verarbeitungsflusses
an.
-
Die
TVLINK-Software wird auf jeden Fern-PC installiert, der auf die
Hostsite(s) zugreifen soll. Die Verarbeitung von TVLINK.EXE beginnt
bei Block 700 in 7A.
Wenn das Programm zuerst aufgerufen wird, wird ein Systemhauptmenü 701 mit drei
Verarbeitungsoptionen angezeigt. Die erste Menüoption, „System-Setup" 702, erlaubt
die Anpassung des Systems an die spezifischen Bedürfnisse des
Benutzers und an die Hardwarekonfiguration des Fern-PCs, wo das
System installiert ist. Die zweite Menüoption, „Hostsite anrufen" 703, erlaubt
dem Benutzer, von seinem Fern-PC aus die Anwahl einzuleiten und
sich mit einem gewünschten
Host-PC zu verbinden. Wenn diese Menüoption gewählt wird, wird eine Anrufliste 704 mit
Hosteinheiten angezeigt, aus der gewählt werden kann. Diese Liste
wird bei der Verarbeitung von „System-Setup" 702 angelegt
und geführt.
Wenn eine Hosteinheit aus der Liste gewählt wird, initialisiert das
Programm die Verarbeitung für den
Verbindungsaufbau zur gewählten
Hostsite und verbindet sich dann mit der gewünschten Hosteinheit. Sobald
die Verbindung hergestellt ist, wird ein Kennwort von der Hosteinheit
angefordert, mit einem Kennwortübertragungsschlüssel, der
auf einer Zufallszahl basiert, weshalb das übertragene Kennwort nach einem
Verfahren entschlüsselt
werden muß, das
dem Schlüssel
entspricht. Dieser Ansatz erschwert das Entschlüsseln eines Kennworts, das
von einem Fern-PC zu einer Hosteinheit übertragen wird, durch Anzapfen
der Übertragungsleitung.
Wenn von der Hosteinheit ein ungültiges
Kennwort empfangen wird, wird ein Zähler „Sitzungssperre" für die Hosteinheit
um eins inkrementiert. Wenn dieser Zähler einen den für die Sitzung
eingestellten Grenzwert übersteigt
(siehe unten die Verarbeitung von Block 734), wird der
Benutzer für
die aktuelle Sitzung von allen weiteren Zugriffsversuchen ausgeschlossen
und ein Sperrzähler,
der im nicht flüchtigen
RAM-Speicher der Hosteinheit gespeichert wird, wird um eins inkrementiert.
Wenn der Sperrzähler
den Grenzwert für die
Hosteinheit übersteigt
(siehe unten die Verarbeitung von Block 734), wird jeder
Zugriff auf den Host-PC so lange gesperrt, bis der Impulsschalter
auf der Vorderseite der Hosteinheit gedrückt wird.
-
Wenn
eine Verbindung zur gewählten
Hosteinheit 705 besteht, blendet das Programm TVLINK.EXE
auf dem Bildschirm ein Menü mit
zwei Optionen ein, das dem Fernbenutzer erlaubt, einen normalen
Zugriffsmodus oder einen Nur- Betrachten-Modus
zu wählen.
Im normalen Modus hat der Benutzer den vollen Tastatur- und Bildschirmzugriff
auf die Hosteinheit. Im Nur-Betrachten-Modus hat der Benutzer nur
die Möglichkeit,
die Ausgabe der Bildschirmkarte des Host-PCs zu betrachten. Dann geht die Verarbeitung
zu Block 472 über.
Wenn der Host-PC nicht eingeschaltet ist oder die Hosteinheit nicht
korrekt mit dem Host-PC
verbunden ist, gibt die Hosteinheit eine Fehlermeldung zurück, daß kein Hostvideosignal vorliegt,
doch die Verbindung zur Hosteinheit wird aufrechterhalten, bis sie
vom Fernbenutzer unterbrochen wird, damit das Bildschirmprotokoll übertragen werden
kann, das in der Hosteinheit vorhanden ist. Wenn zu einer Hosteinheit 705 keine
Verbindung hergestellt werden kann, erscheint auf dem Bildschirm des
Fern-PCs eine geeignete Fehlermeldung, die angibt, warum die Verbindung
nicht hergestellt werden konnte, und das Systemhauptmenü 701 wird
wieder angezeigt. Die letzte Option des Systemhauptmenüs, „Beenden" 708 beendet
die Verarbeitung des Programms TVLINK.EXE und kehrt zum Betriebssystem des
Fern-PCs zurück.
-
Wenn
das Programm TVLINK.EXE zum erstmals auf einem Fern-PC ausgeführt wird,
wird zuerst die Menüoption „System-Setup" 702 gewählt, um
(1) zu definieren, ob die Verbindung zu einem Host-PC im Modemverbindungsmodus
oder im Direktleitungsverbindungsmodus erfolgt; (2) die Modemeinstellungen
und -parameter 711 einzurichten, um das Modem am Fern-PC
zu initialisieren und darauf zuzugreifen, wenn der Modemverbindungsmodus
verwendet wird; (3) die Mauseinstellungen und -parameter 713 einzurichten,
um die Nummer des seriellen Anschlusses zu definieren, an dem die
Maus des Fern-PCs angeschlossen ist, wenn am Fern-PC eine serielle
Maus vorhanden ist, die verwendet wird, um einen Host-PC zu steuern;
und (4) das Anlegen der ANRUFLISTE 715 der Hosteinheiten,
auf welche der Fern-PC zugreifen 715 kann. Nachdem diese
anfänglichen
Einstellungen vorgenommen wurden, kann die Menüoption „System-Setup" 702 gewählt werden, um die Systemkonfigurationsoptionen
zu ändern
oder zuvor eingetragene Optionen zu rekonfigurieren.
-
Wenn
das Setup-Hauptmenü 710 gewählt wird,
wird eine Liste mit vier Optionen angezeigt. Die Menüoption „Modemeinstellungen" erlaubt es, für das am
Fern-PC angeschlossene
Modem die Baudrate, die Nummer der seriellen Schnittstelle und die Zeichenkette
zur Modeminitialisierung zu definieren. Wenn der Fern-PC nur in
einem Direktleitungsverbindungsmodus betrieben wird, sollte keine
Zeichenkette zur Modeminitialisierung eingetragen werden.
-
Wenn
diese Option gewählt
wird, sucht die Software 712 automatisch nach einem Hayes-kompatiblen
Modem, das an einer seriellen Schnittstelle des Fern-PCs angeschlossen
ist. Wenn das Modem nicht antwortet, ist das Modem ausgeschaltet
(externes Modem), das Kabel zwischen Hosteinheit und Modem ist nicht
richtig angeschlossen (externes Modem), oder ein serieller Interruptkonflikt
verhindert den Zugriff auf das Modem, so daß der Setup-Vorgang davon ausgeht,
daß der
Direktleitungsverbindungsmodus verwendet wird.
-
Nachdem
die Modemeinstellungen eingetragen oder geändert wurden, wird diese Information
auf dem Massenspeichergerät
des Fern-PCs gespeichert. Wenn die Baudrate und die Zeichenkette
zur Modeminitialisierung auf die gewünschten Werte gesetzt wurden,
kann die Escape-Taste gedrückt
werden, um in das Setup-Hauptmenü 710 zurückzukehren.
Wenn die Escape-Taste gedrückt
wird und der Modemverbindungsmodus eingestellt ist, initialisiert die
Software das Modem des Fern-PCs automatisch mit der angegebenen
Baurate und Zeichenkette. Danach wird das im Host-PC installierte
Modem bei jedem Aufruf des Programms TVLINK.EXE automatisch initialisiert,
so daß diese
Menüoption
nicht mehr erneut ausgeführt
zu werden braucht, es sei denn, im Fern-PC wird ein anderes Modem
installiert, oder das Modem kann keine korrekte Verbindung zur Hosteinheit
herstellen. Wenn alle notwendigen Änderungen an den Modemeinstellungen
vorgenommen wurden, kann die Escape-Taste gedrückt werden, um zum SETUP-Menü zurückzukehren.
-
Die
Menüoption „Mauseinstellungen" 713 erlaubt
die Angabe der seriellen Schnittstelle des Fern-PCs, an der die
Maus angeschlossen ist. Wenn die Nummer der seriellen Schnittstelle
nicht angegeben wird, geht die Software davon aus, daß am Fern-PC
keine Maus installiert ist. Sonst prüft das Programm TVLINK.EXE,
ob an der angegebenen Schnittstelle eine Maus vorhanden ist, und
zeigt eine Fehlermeldung an, wenn die Maus von der Software TVLINK.EXE
nicht erkannt wird. Wenn eine gültige serielle
Schnittstellen angegeben wird, wird die Nummer des gewählten Anschlusses
in einer Konfigurationsdatei auf dem Massenspeichergerät des Fern-PCs
gespeichert, so daß bei
den nachfolgenden TVLINK.EXE-Sitzungen bekannt ist, ob und wo eine
Maus am Fern-PC installiert ist. Wenn alle notwendigen Änderungen
an der seriellen Mausschnittstelle vorgenommen wurden, kann die
Escape-Taste gedrückt
werden, um zum SETUP-Menü zurückzukehren.
-
Die
Menüoption „Anrufliste
aktualisieren" 715 gestattet,
jede Hosteinheit zu definieren oder zu ändern 716, auf welche
ein Fern-PC Zugriff hat. Bevor eine Hosteinheit angerufen werden
kann, muß diese
Hosteinheit in der Anrufliste des Fern-PCs definiert sein.
-
Die
spezifischen Datenelemente, die gegenwärtig für jede Hosteinheit definiert
werden müssen, auf
die zugegriffen werden soll, umfassen: (1) Eine Ortsbeschreibung,
die eine benutzerdefinierte alphanumerische Beschreibung der Hosteinheit
ist, auf die zugegriffen werden soll, wie z.B. „SERVER XYZ", „VAST TAPE
Unit" usw. (solche
Beschreibungen erleichtern Benutzern mit Zugriff auf mehrere Hosteinheiten
die Auswahl der gewünschten
Hosteinheit); (2) eine Wählzeichenkette,
die für
die Anwahl und für die
Verbindung mit dem Modem an der Hosteinheit erforderlich ist, wenn
der Fern-PC im Modemverbindungsmodus betrieben wird; (3) ein alphanumerisches
Kennwort, das nur berechtigten Personen, die das Kennwort kennen,
den Zugriff auf eine spezifische Hosteinheit erlaubt; und (4) die
Identifikationsnummer der Hosteinheit, auf welche zugegriffen werden
soll.
-
Wenn
eine Hosteinheit erstmals installiert wird, entspricht das Standardkennwort,
das werkseitig eingestellt ist, der achtstelligen Seriennummer der Hosteinheit,
die auf dem Etikett auf der Unterseite der Hosteinheit angegeben
ist. Dieses numerische Kennwort muß im Fern-PC angegeben werden,
das für den
erstmaligen Zugriff auf eine neu installierte Hosteinheit verwendet
wird. Wenn mit dem korrekten Kennwort erfolgreich auf die Hosteinheit
zugegriffen wurde, kann das Kennwort wie unten bei Block 734 beschrieben
geändert
werden.
-
Neue
Anruflisteneinträge
können
hinzugefügt
werden, indem die Pfeil-nach-unten-Taste
des Fern-PCs benutzt wird, um zur letzten Zeile in der Anrufliste
zu gehen, die eine Leerzeile ist, welche die Eingabe der Daten für die neue
Hosteinheit erlaubt, auf welche zugegriffen werden soll.
-
Ein
Eintrag kann aus der Anrufliste gelöscht werden, indem die Pfeil-nach-oben- oder Pfeil-nach-unten-Taste
des Fern-PCs benutzt wird, um die betreffende Zeile zu markieren,
und dann die Taste F3, um die Zeile aus der Anrufliste zu löschen.
-
Ein
Anruflisteneintrag kann geändert
werden, indem die betreffende Zeile markiert wird, und die in der
Zeile enthalten Daten dann wie gewünscht geändert werden. Es können verschiedene
andere Tasten benutzt werden, um das Navigieren durch die Anrufliste
zu beschleunigen. Eine Liste dieser Tasten wird in einem Einblendfenster
angezeigt, sobald der Benutzer die Taste F1 drückt. Das Einblendfenster wird
vom Bildschirm entfernt, wenn das Benutzer die Escape-Taste drückt.
-
Wenn
alle notwendigen Änderungen
in der Anrufliste durchgeführt
wurden, kann die Escape-Taste gedrückt werden, um zum Setup-Menü zurückzukehren.
-
Die
letzte Option des Setup-Hauptmenüs 710, „Zum Hauptmenü zurückkehren" 719, erlaubt die
Rückkehr
zum entsprechenden Systemhauptmenü-Bildschirm, der unten ab Block 742 beschrieben wird.
-
Die
Menüzeile „Verbindungsoptionen" erscheint nur dann
im Hostsystem-Hauptmenü 755, wenn
eine aktive Verbindung zwischen dem Fern-PC und einer Hosteinheit
besteht. Wenn es gewählt
wird, wird das Hauptmenü „Verbindungsoptionen" 720 angezeigt,
das gegenwärtig
verschiedene Verarbeitungsoptionen enthält.
-
Die
Verbindungsmenüoption „Bildschirmprotokoll
abfragen" 721 erlaubt,
die während
einer Verbindungssitzung erfaßten
Host-Bildschirmdaten zum Bildschirm eines Fern-PCs zu übertragen,
um diese anzuzeigen 722.
-
Wenn
der Fern-PC mit einem Host-PC verbunden ist, werden alle von der
Hosteinheit empfangenen Videobildschirmdaten automatisch in einer Bildschirmprotokoll-Datendatei
namens SCRNHIST.DAT auf dem Fern-PC protokolliert. Diese Datei wird
bei jeder Initialisierung der TVLINK.EXE-Verarbeitung automatisch
gelöscht.
-
Wenn
die Verbindungsmenüoption „Bildschirmprotokoll
anzeigen" gewählt wird,
aktiviert das Programm TVLINK.EXE automatisch ein Unterprogramm
VIEWHIST.EXE, um die Datei SCRNHIST.DAT für die aktuelle TVLINK.EXE-Sitzung
anzuzeigen. Dies erlaubt die Anzeige aller Bildschirmdaten, die
erfaßt
wurden, seitdem das Programm TVLINK.EXE aufgerufen wurde. Das Bildschirmprotokoll
kann mit der Pfeil-nach-oben- und Pfeil-nach-unten-Taste betrachtet werden. Die Escape-Taste
kann gedrückt
werden, um zum Verbindungsoptionen-Hauptmenü 720 zurückzukehren.
-
Die
Verbindungsmenüoption „Farbmodus" 723 wird
gewählt,
um die aktive Hosteinheit auf einen spezifischen Farb- oder Monochromanzeigemodus einzustellen,
der für
die Erfassung der an einen Fern-PC zu übertragenden Bildschirmkartenausgabe gilt.
-
Wenn
die Menüoption „Farbmodus" 723 gewählt wird,
werden fünf
Menüoptionen
angezeigt, d.h. (1) Normaler Farbmodus, (2) Heller Farbmodus, (3)
Grünsignalmodus,
(4) Rotsignalmodus und (5) Blausignalmodus. Diese Menüoptionen
bieten einem Fernbenutzer die Möglichkeit,
die Bildschirmkarten-Textausgabe entweder im Farbmodus mit normaler
bzw. großer
Helligkeit oder im monochromen Modus mit dem Rot-, Blau- oder Grünsignal
als Basis für die
Decodierung der Bildschirmkartenausgabe an einen Fern-PC zu übertragen.
Im hellen Farbmodus wird für
die Vordergrundfarben eine helle Farbpalette verwendet, während die
Hintergrundfarben normal bleiben.
-
Normalerweise
ist die Hosteinheit in einem Standardanzeigemodus, bei dem der Videoprozessor
der Hosteinheit nur die Grünsignalausgabe
der Bildschirmkarte verwendet. Dieser Modus ist einer von drei möglichen
monochromen Modi, ergibt normalerweise die schnellstmögliche Videoverarbeitung und
bietet die größte Wahrscheinlichkeit,
daß der
von einer Farbbildschirmkarte angezeigte Text decodiert wird, und
außerdem
ist das Grünsignal
bei einigen monochromen Bildschirmkarten das einzige Signal, das
ausgegeben wird. Auch der Blausignal- und der Rotsignalmodus ergeben die
schnellstmögliche
Videoverarbeitung, doch wenn diese Modi gewählt werden, ist die Wahrscheinlichkeit
der Decodierung des Blau- oder Rotsignals zu Zeichen geringer, da Host-PC-Farbanwendungen
das Blau- oder Rotsignal typischerweise seltener verwenden als das Gründsignal.
-
Wenn
der normale oder helle Farbmodus gewählt wird, nimmt die Geschwindigkeit
der Video-CPU ab, da sie mehrere Signale zu decodieren hat, um die
Farbe und das Textzeichen zu ermitteln. Daher wird der Text nicht
so schnell am Fern-PC
angezeigt, wenn einer der beiden Farbmodi gewählt wird. Doch die Farbwahl
bietet die größte Wahrscheinlichkeit,
daß die
Textdatenausgabe einer Bildschirmkarte richtig decodiert wird.
-
Gegenwärtig wird
für die
Graphikmodi nur das von der Bildschirmkarte ausgegebene Grünsignal
verwendet, ungeachtet der gewählten
Menüoption.
Wie oben erwähnt,
würde der
Zusatz zusätzlicher Hardware
in der Videoverarbeitungsschaltung der Hosteinheit die Übertragung
mehrfarbiger Graphiken an einen Fern-PC in angemessener Zeit erlauben.
-
Die
Pfeil-nach-oben- und die Pfeil-nach-unten-Taste kann benutzt werden,
um zum gewünschten
Farb- oder Monochromanzeigemodus zu wechseln, und die Eingabetaste
kann gedrückt
werden, um diesen Modus zu wählen.
-
Wenn
der gewünschte
Anzeigemodus aus dem Menü gewählt wurde
oder die Escape-Taste gedrückt
wird, kehrt die Verarbeitung zum Menü „Verbindungsoptionen" 720 zurück.
-
Die
Verbindungsmenüoption „Umschalten Host-/Femmodus" 725 wird
gewählt,
um den Modus einzustellen, der nach dem Verlassen des Hauptsystemmenüs aktiv
wird, wenn eine Verbindung zu einer Hosteinheit aktiv ist. Jedes
mal, wenn die TVLINK.EXE-Verarbeitung initiiert wird, wird die Hostmodusverarbeitung
angenommen.
-
Ein
Menü 726 mit
zwei möglichen
Modi erscheint, wenn die Menüoption „Umschalten Host-/Femmodus" 725 gewählt wird.
Der gewünschte Modus
wird mit der Pfeil-nach-oben- und der Pfeil-nach-unten-Taste markiert,
dann wird die Eingabetaste gedrückt,
um den Modus zu wählen.
-
Wenn
die Menüoption „Fernmodus" gewählt wird,
wechselt die letzte Menüoption
im Systemhauptmenü von „Ausgang
zum Hostmodus" zu „Ausgang
zu DOS", wenn das
Verbindungsoptionen-Hauptmenü 720 geschlossen
wird. Auf dieser Basis bewirkt die Wahl der Option „Ausgang
zu DOS", daß die Verar beitung
des Fern-PCs die Anwendung TVLINK.EXE kurzzeitig verläßt und zum Betriebssystem
des Host-PCs (z.B. DOS) übergeht, während die
Verbindung zur Hosteinheit weiter bestehen bleibt. Sobald die DOS-Verarbeitung
beendet ist, kann der Benutzer zum Systemhauptmenü zurückkehren,
indem er in der DOS-Eingabeaufforderung „EXIT" eingibt. Das Herausgehen
zu DOS während
einer TVLINK.EXE-SITZUNG kann zum Beispiel notwendig sein, um das
Verzeichnis zu finden, in dem sich eine Datei befindet, die zum
Host-PC übertragen
werden soll.
-
Wenn
die Menüoption „Hostmodus" gewählt wird,
ist die letzte Menüoption
des TVLINK.EXE-Menüs „Ausgang
zum Hostmodus".
Wenn ein Fern-PC in den Hostmodus gesetzt wird, übernimmt der Fern-PC die Kontrolle über den
Host-PC. In diesem Modus
gibt der Bildschirminhalt des Fern-PCs den Bildschirminhalt des
Host-PCs wieder, und die Tastatur und Maus (vorausgesetzt, die Mausoption
ist installiert) des Fern-PCs werden umgeleitet, um Tastenanschläge/Mausdaten
in den Host-PC einzugeben, statt in den Fern-PC. Und da die Tastatur,
Maus und der Bildschirm des Fern-PCs so betrieben werden, als ob
der Fernbenutzer vor dem Host-PC säße, muß eine vorgegebene Folge und/oder
Kombination von Tastenanschlägen
(d.h. Tastenkombination) vorgesehen werden, die bewirkt, daß der Fern-PC
wieder in seinen normalen Betriebsmodus zurückkehrt. Gegenwärtig kehrt
der Fern-PC in den normalen Betriebsmodus zurück, wenn die linke Shift-Taste
dreimal in 2 Sekunden gedrückt
wird. Und wenn der Benutzer im Hostmodus zweimal in 2 Sekunden die rechte
Shift-Taste drückt,
wird der Bildschirm des Fern-PCs aufgefrischt, indem die Hosteinheit
veranlaßt
wird, den gesamten aktuellen Bildschirminhalt des Host-PCs zu übertragen.
Normalerweise überträgt die Hosteinheit
nur die Änderungen,
die auf dem Bildschirm des Host-PCs aufgetreten sind, um die Menge
der an den Fern-PC übertragenen
Daten zu minimieren. Gelegentlich können Abweichungen in den Signalen
von der Bildschirmkarte des Host-PCs bewirken, daß die Hosteinheit
die auf einem Bildschirm angezeigten Daten fehlinterpretiert und
fehlerhafte Anzeigedaten an einen Fern-PC sendet. Dann kann der
Bildschirm des Fern-PCs durch zweimaliges Tippen der rechten Shift-Taste
aufgefrischt werden.
-
Wenn
ein Fern-PC im Hostmodus ist, werden normalerweise alle Tastenanschläge, die
an der Tastatur des Fern-PCs eingegeben werden, vom Programm TVLINK.EXE
abgefangen und an die Hosteinheit übertragen, damit die Host einheit
diese Tastenanschläge
an den Host-PC übertragen
kann. Dieser Vorgang erlaubt TVLINK.EXE auch, bei Bedarf andere
Aktionen durchzuführen.
Wie oben erwähnt, bewirkt
gegenwärtig
ein mehrfaches Tippen der linken oder rechten Shift-Taste, daß das Programm
TVLINK.EXE eingeblendet und die TVLINK.EXE-Menüverarbeitung aktiviert wird.
Und wenn die Taste „Drucken" gedrückt wird,
wird dieser Tastenanschlag gegenwärtig von TVLINK.EXE zum Betriebssystem
des Fern-PCs 2 durchgelassen, wodurch der Fern-PC den Bildschirminhalt
des Host-PCs an einem Drucker ausgeben kann, der am Fern-PC angeschlossen
ist. Andere derartige Verarbeitungsausnahmen können bei Bedarf vorgesehen
werden (durch Änderung
des Programmcodes von TVLINK.EXE), um dem Fernbenutzer die Möglichkeit
zu geben, die Ressourcen seines Fern-PCs und die des Host-PCs besser
zu verwalten.
-
Wenn
ein Benutzer die linke Shift-Taste im Hostmodus dreimal in zwei
Sekunden drückt,
kehrt er zum Systemhauptmenü 741 zurück. Dieses
Menü und
andere Menüs
werden über
einem Teil des Host-PC-Bildschirms eingeblendet (d.h. überlagern diesen).
Jede angezeigte Hostbildschirminformation wird weiter aktualisiert
und bleibt hinter dem Einblendmenü auf dem Bildschirm des Fern-PCs
sichtbar, bis die Verbindung zum Host-PC getrennt wird oder der
Benutzer kurzzeitig zum PC-Betriebssystem (z.B. DOS) wechselt, wie
bei Block 753 und 754 beschrieben.
-
Nachdem
die Option Host- oder Fernmodus gewählt wurde, kehrt die Verarbeitung
zum Menü „Verbindungsoptionen" 720 zurück.
-
Die
Verbindungsmenüoption „Dateiübertragung" 727 wird
gewählt,
um Dateiübertragungen
zwischen dem Host-PC und dem Fern-PC zu ermöglichen. Dateiübertragungen
von einem Verzeichnis auf dem Fern-PC zu einem anderen Verzeichnis
auf dem Fern-PC können
durchgeführt
werden, indem temporär
zum PC-Betriebssystem gewechselt wird, wie oben in der Erläuterung
zu Block 726 beschrieben. Dateiübertragungen von einem Verzeichnis
auf dem Host-PC zu einem anderen Verzeichnis auf demselben Host-PC
können
durchgeführt
werden, indem vom Systemhauptmenü aus
die Option „Ausgang zum
Hostmodus" gewählt wird,
wonach die Ferntastatur (die umgeleitet wird, um die Tastatur des Host-PCs
zu ersetzen) benutzt wird, um die Übertragung zum Beispiel mit
dem DOS-Befehl „COPY" durchzuführen.
-
Um
eine Dateiübertragung
zwischen einem Host-PC und einem Fern-PC durchzuführen, muß die Hosteinheit
korrekt mit einer der seriellen Schnittstellen des Host-PCs verbunden
sein. Wenn diese Option Dateiübertragung
gewählt
wird, erscheint ein Menü mit
zwei Optionen, die die Richtung der Dateiübertragung 728 definieren.
Die erste Option erlaubt Dateiübertragungen
vom Fern-PC zum Host-PC. Die zweite Option erlaubt Dateiübertragungen
vom Host-PC zum Fern-PC.
Die Dateiübertragungsverarbeitung
kann durch Drücken
der Escape-Taste abgebrochen werden. Wenn die Escape-Taste gedrückt wird,
kehrt die Verarbeitung zum Menü „Verbindungsoptionen" 720 zurück.
-
Wenn
die Richtung der Dateiübertragung festgelegt
wurde, ist die Eingabe des Dateinamens erforderlich, um anzugeben,
welche Dateien) kopiert werden sollen. Dieser Dateiname entspricht
gegenwärtig
dem normalen DOS COPY-Befehlsformat,
das verwendet wird, um eine zu kopierende Quelldatei anzugeben.
Zum Beispiel kann die Quelldatei C:\NETWARE\*.EXE, C:VREPAIR.COM
oder \NETWARE\VREPAIR.COM sein. Wenn die Quelldatei angegeben wurde,
muß gegenwärtig das
Ziellaufwerk und der volle Verzeichnispfad eingegeben werden, wohin
die Dateien kopiert werden sollen.
-
Nachdem
die Quelldateien und das Zielverzeichnis angegeben wurden, wird
die Dateiübertragungsverarbeitung
automatisch gestartet, mit einem Dateiübertragungsprotokoll wie XMODEM,
das dem Fachmann vertraut ist. Die Dateiübertragungsverarbeitung wird
abgebrochen, wenn (1) die Escape-Taste gedrückt wird, (2) keine Quelldateien
vorhanden sind oder das Quellaufwerk und/oder -verzeichnis ungültig ist,
(3) die Hosteinheit nicht korrekt mit einer aktiven, verfügbaren seriellen
Schnittstelle des Host-PCs verbunden ist, oder (4) das Ziellaufwerk und/oder
-verzeichnis nicht vorhanden ist.
-
Wenn
die Verarbeitung abgebrochen wird, wird eine entsprechende Fehlermeldung
angezeigt, und die Verarbeitung kehrt zum Hauptmenü „Verbindungsoptionen" 720 zurück.
-
Die
Verbindungsmenüoption „Host-PC
neu booten" 729 wird
gewählt,
um die Stromversorgung zum aktiven Host-PC etwa 15 Sekunden lang
zu unterbrechen.
-
Ein „Kaltstart" des Host-PCs ist
nur dann möglich,
wenn der Netzstecker des Host-PCs in der Buchse „AC Out" auf der Rückseite der Hosteinheit steckt.
-
Wenn
diese Menüoption
gewählt
wird, muß die
Kaltstartanforderung bestätigt
werden, indem die Frage „SIND
SIE SICHER? (J/N) 730 mit „J" beantwortet wird. Wenn die Frage mit „N" beantwortet wird, wird
die Kaltstartverarbeitung abgebrochen, und die Verarbeitung kehrt
zum Hauptmenü „Verbindungsoptionen" 720 zurück. Wenn „J" eingegeben wird,
sendet der Fern-PC Anweisungen zur Hosteinheit, um die Stromversorgung
des Host-PCs etwa 15 Sekunden lang zu unterbrechen. Sobald die Stromversorgung
wiederhergestellt ist, startet der Host-PC neu, die Hosteinheit
gibt eine Bestätigung
an den Fern-PC zurück,
daß der
Neustart des Host-PCs durchgeführt wurde,
und die Verarbeitung kehrt zum Hauptmenü „Verbindungsoptionen" 720 zurück.
-
Die
Verbindungsmenüoption „Zu neuer
Hosteinheit wechseln" 731 wird
gewählt,
um von einer Hosteinheit in einer Verkettung zu einer anderen Hosteinheit
in derselben Verkettung zu wechseln, ohne die Verbindung zwischen
einem Fern-PC und einer Hostsite zu trennen.
-
Wenn
an einer Hostsite nur die aktuell aktive Hosteinheit verfügbar ist,
besteht kein Grund, diese Menüoption „Zu neuer
Hosteinheit wechseln" zu wählen. Um
von einer Hosteinheit zu einer anderen Hosteinheit an einer anderen
Hostsite zu wechseln, muß zuerst
die aktuell bestehende Modemverbindung getrennt werden, indem die
Menüoption „Anruf beenden" 737 gewählt wird
und dann eine neue Verbindung zur gewünschten neuen Hostsite hergestellt wird,
wie bei Block 703 beschrieben.
-
Wenn
die Option „Zu
neuer Hosteinheit wechseln" 731 gewählt wird,
wird eine Anrufliste 732 angezeigt, die alle definierten
Hosteinheiten mit derselben Wählzeichenkette
enthält.
-
Die
Liste der Hosteinheiten wird angezeigt, um das Wechseln zwischen
miteinander verketteten Hosteinheiten zu gestatten, ohne daß die bestehende
Telefonverbindung unterbrochen werden muß. Die Escape-Taste kann gedrückt werden,
um das Wechseln zu einer anderen Hosteinheit abzubrechen und zum
Hauptme nü „Verbindungsoptionen" 720 zurückzukehren.
Sonst wird die aktive Verbindung zur angeforderten Hosteinheit umgeschaltet,
und die Verbindung kehrt zum Hauptmenü „Verbindungsoptionen" 720 zurück. Die
Pfeil-nach-oben- und die Pfeil-nach-unten-Taste kann benutzt werden,
um die Liste der definierten Hosteinheiten durchzublättern. Sobald
die gewünschte
Hosteinheit markiert ist, kann die Eingabetaste gedrückt werden,
um zur neuen Hosteinheit zu wechseln.
-
Wenn
die neue Hosteinheit nicht verfügbar ist
oder das für
die neue Hosteinheit verwendete Kennwort falsch ist, wird auf dem
Bildschirm des Fern-PCs eine entsprechende Fehlermeldung angezeigt,
die Verbindung zum zuletzt aktiven Hosteinheit wird wieder hergestellt,
und die Verarbeitung kehrt zum Hauptmenü „Verbindungsoptionen" 720 zurück. Sonst
schaltet die aktive Verbindung zur angeforderten Hosteinheit um,
und die Verarbeitung kehrt zum Hauptmenü „Verbindungsoptionen" 720 zurück.
-
Wenn
die Option „Hosteinheit-Kennwort ändern" 733 gewählt wird,
fordert das System die Eingabe eines neuen Kennworts für die aktuell
aktive Hosteinheit an 734. Die Option „Hosteinheit-Kennwort ändern" erlaubt das Festlegen
eines neuen Kennworts für
die aktuell aktive Hosteinheit. Wenn das Kennwort geändert wurde,
wird der Anruflisteneintrag für
die betreffende Hosteinheit automatisch aktualisiert, um das neue
Kennwort wiederzugeben. Gegenwärtig
wird das Kennwort einer Hosteinheit werksseitig auf die Seriennummer
der Hosteinheit eingestellt.
-
Wenn
die Option „Hosteinheit-Kennwort ändern" gewählt wird,
wird der Benutzer aufgefordert, ein neues Kennwort einzugeben, das
bis zu 8 Stellen lang sein kann. Die Kennwort-Änderungsverarbeitung kann durch
Drücken
der Escape-Taste
abgebrochen werden. Wenn die Escape-Taste gedrückt wird, kehrt die Verarbeitung
zum Hauptmenü „Verbindungsoptionen" 720 zurück. Sonst
wird die Hosteinheit nach der Eingabe des neuen Kennworts für das neue
Kennwort aktualisiert.
-
Wenn
das Kennwort aktualisiert wurde, wird der Benutzer aufgefordert,
die Zahl der Versuche zu ändern,
die ein Benutzer während
einer Sitzung hat, um ein gültiges
Kennwort einzugeben, bevor er von der Hosteinheit für die Sitzung
gesperrt wird. Der Eintrag null gibt an, daß ein Benutzer eine unbegrenzte Zahl
von Ver suchen hat, um ein gültiges
Kennwort für den
Zugriff auf die Hosteinheit einzugeben. Für die Sperrverarbeitung bezieht
sich eine Sitzung auf die Zeit, die zwischen der Verbindungsaufbau
zur einer Hostsite und der Trennung dieser Verbindung durch den
Fernbenutzer liegt.
-
Sobald
die Zahl der Kennwortversuche während
einer Sitzung aktualisiert wurde, wird der Benutzer aufgefordert,
die Zahl der möglichen
aufeinanderfolgenden Sitzungen einzugeben, bei denen ein Benutzer
beim Zugriff auf diese Hosteinheit ein falsches Kennwort eingeben
kann. Wenn die Zahl dieser aufeinanderfolgenden Zugriffssperren
die spezifizierte Zahl übersteigt,
wird die Hosteinheit elektronisch gesperrt, bis jemand den Impulsschalter
auf der Vorderseite der Hosteinheit betätigt. Wenn eine Hosteinheit elektronisch
gesperrt ist, wird jedem Benutzer, der versucht, auf die Hosteinheit
zuzugreifen, eine Fehlermeldung angezeigt, die besagt, daß die Hosteinheit
aufgrund eines möglichen
Eindringlings elektronisch gesperrt wurde und der Zugriff auch bei
Eingabe eines gültigen
Kennworts verweigert wird, bis der Impulsschalter auf der Vorderseite
der Hosteinheit gedrückt
wird. Wenn eine Hosteinheit elektronisch gesperrt ist, gibt sie
einen periodischen akustischen Alarm von sich, der anzeigt, daß die Hosteinheit
so lange gesperrt bleibt, bis der Impulsschalter auf der Vorderseite
der Hosteinheit gedrückt
wird. Der Eintrag null gibt an, daß die Hosteinheit niemals elektronisch
gesperrt werden soll. Wann immer ein Fernbenutzer erfolgreich auf
eine Hosteinheit zugreift, wird der Sitzungssperrzähler auf
null zurückgesetzt.
-
Sowohl
die Sitzungssperre als auch die elektronische Sperre sind Sicherheitsmaßnamen,
die verhindern sollen, daß ein
Unbefugter das Kennwort zu einer Hosteinheit errät, indem sie die Zahl der Rateversuche
begrenzen und das Management durch die elektronische Sperre auf
unbefugte Zugriffsversuche aufmerksam machen.
-
Nachdem
das Kennwort und die diesbezügliche
Zahl der Zugriffsversuche eingegeben wurden, wird der betreffende
Anruflisteneintrag aktualisiert, um das neue Kennwort wiederzugeben,
und die Verarbeitung kehrt zum Hauptmenü „Verbindungsoptionen" 720 zurück.
-
Wenn
die Option „Vorläufiges Kennwort ändern" 735 gewählt wird,
fordert das System den Benutzer auf, ein neues vorläufiges Kennwort
für die
aktuell aktive Hosteinheit einzugeben 736.
-
In
manchen Fällen
kann es notwendig sein, jemandem eine vorübergehende Zugriffsberechtigung
auf eine Hosteinheit zu gewähren.
Zum Beispiel kann es vorkommen, daß ein freiberuflicher Netzwerktechniker
von einer Fernsite aus vorübergehend auf
einen Dateiserver zugreifen muß,
um ein ungewöhnliches
Netzwerkproblem zu beheben.
-
Wenn
die Menüoption „Vorläufiges Kennwort ändern" 735 gewählt wird,
kann der Benutzer ein zusätzliches „vorläufiges" Kennwort und die
Zahl der Stunden eingeben, für
die das Kennwort gültig
bleiben soll. Die Eingabe des vorläufigen Kennworts kann durch
Drücken
der Escape-Taste abgebrochen werden. Wenn die Escape-Taste gedrückt wird,
kehrt die Verarbeitung zum Hauptmenü „Verbindungsoptionen" 720 zurück. Sonst
wird, nach Eingabe des neuen vorläufigen Kennworts, die Hosteinheit
mit dem neuen vorläufigen
Kennwort und der Zahl der Stunden, die dieses Kennwort gültig bleibt,
aktualisiert, und dann kehrt die Verarbeitung zum Hauptmenü „Verbindungsoptionen" 720 zurück.
-
Die
Menüoption „Anruf
beenden" 737 wird gewählt, um
die Verbindung zur Hostsite zu beenden. Wenn die Menüoption „Anruf
beenden" 737 gewählt wird,
muß diese
Anrufbeendungsanforderung bestätigt
werden, indem die Frage „SIND
SIE SICHER (J/N)" mit „J" beantwortet wird 738.
Wenn die Frage mit „N" beantwortet wird,
wird die Anrufbeendungsverarbeitung abgebrochen und die Verarbeitung kehrt
zum Hauptmenü „Verbindungsoptionen" 720 zurück. Wenn „J" eingegeben wird,
wird die Verbindung zur Hostsite getrennt, wodurch in einem Modemverbindungsmodus
sowohl das Host- als auch das Fernmodem zurückgesetzt werden, und die Verarbeitung
kehrt zum Systemhauptmenü 701 zurück.
-
Die
Verbindungsmenüoption „Bildschirmprotokoll
löschen" 739 wird
gewählt,
um alle Bildschirme zu löschen,
die erfaßt
und auf dem Massenspeichergerät
des Fern-PCs gespeichert wurden, seitdem die TVLINK.EXE-Verarbeitung
gestartet wurde oder die Bildschirmprotokolldatei zuletzt während einer
aktiven Sitzung gelöscht
wurde.
-
Wenn
die Menüoption „Bildschirmprotokoll löschen" 739 gewählt wird,
muß die
Bildschirmprotokollöschanforderung
bestätigt
werden, indem die Frage „SIND
SIE SICHER (J/N)" mit „J" beantwortet wird 740.
Wenn die Frage mit „N" beantwortet wird, wird
die Bildschirmprotokollöschverarbeitung
abgebrochen und die Verarbeitung kehrt zum Hauptmenü „Verbindungsoptionen" 720 zurück. Wenn „J" eingegeben wird,
wird die Bildschirmprotokolldatei gelöscht, eine neue leere Bildschirmprotokolldatei
wird erzeugt und die Verarbeitung kehrt zum Hauptmenü „Verbindungsoptionen" 720 zurück.
-
Die
Verbindungsmenüoption „Mausmodus wählen" 740A wird
gewählt,
um die Erkennung der am Fern-PC angeschlossenen Maus zu aktivieren oder
zu deaktivieren. Wenn diese Menüoption
gewählt
wird, erscheinen zwei Menüoptionen 740B,
die dem Benutzer erlauben, die Software TVLINK.EXE anzuweisen, die
Mausbewegungen der am Fern-PC angeschlossenen Maus bei der Übertragung
der Mausbewegungsdaten zur Steuerung des Host-PCs zu erkennen oder
zu ignorieren.
-
Die
Verbindungsmenüoption „Zum Hauptmenü zurückkehren" 741 wird
gewählt,
um zum Hauptmenü des
Systems zurückzukehren,
oder wird automatisch aufgerufen, wenn die Verbindung zu einer Hosteinheit
verloren wird. Die Verarbeitungsoptionen, die im Systemhauptmenü angezeigt
werden, variieren je nach Verarbeitungsstatus und oder Fern-/Hostmoduszustand 726.
Wenn eine Verbindung zwischen einer Fernsite und einer Hostsite
aufgrund eines Übertragungsfehlers
während
der Verarbeitung der Verbindungsmenüoptionen 742 verloren wird,
kehrt die Verarbeitung zum Systemhauptmenü bei Block 701 zurück. Sonst,
wenn das System im Hostmodus 743 ist, wird die Verarbeitung
des Hostmodus-Hauptmenüs
bei Block 755 beginnend gestartet. Wenn das System nicht
im Hostmodus 743 ist, wird Verarbeitung des Fernmodus-Hauptmenüs bei Block 750 beginnend
gestartet.
-
Die
Verarbeitung des Fernmodus-Hauptmenüs beginnt bei Block 750.
Dieses Menü umfaßt drei Verarbeitungsoptionen.
Wenn die Verarbeitungsoption „System-Setup" 751 gewählt wird,
wird die Verarbeitung des Setup-Hauptmenüs bei Block 710 gestartet.
Wenn die Option „Verbindungshauptmenü" gewählt wird 752,
wird die Verarbeitung der Verbindungsoptionen bei Block 720 gestartet.
-
Wenn
die Option AUSGANG ZU DOS gewählt
wird 753 gewählt
wird, wird die Steuerung an das Betriebssystem des PCs (z.B. DOS,
Windows, usw.) zurückgegeben,
bis der Fernbenutzer „EXIT" eingibt 754.
Wenn der Benutzer „EXIT" eingegeben hat,
kehrt die Verarbeitung zum Fernmodus-Hauptmenü 750 zurück.
-
Die
Verarbeitung des Fernmodus-Hauptmenüs 750 endet automatisch,
wenn die Verbindung zwischen einem Fern-PC und einem Host-PC unterbrochen
wird 754A (z.B. aufgrund einer gestörten Telefonleitung), wonach
die Verarbeitung zum Systemhauptmenü 701 zurückkehrt.
Sonst wird die Verarbeitung des Fernmodus-Hauptmenüs fortgesetzt,
bis die Verbindung zur Hosteinheit getrennt wird 738 oder während der
Verarbeitung des Verbindungsoptionen-Hauptmenüs 720 zum Hostmodus
gewechselt wird.
-
Die
Verarbeitung des Hostmodus-Hauptmenüs beginnt bei Block 755.
Dieses Menü umfaßt drei Verarbeitungsoptionen.
Wenn die Verarbeitungsoption „System-Setup" 756 gewählt wird,
beginnt die Verarbeitung der Verbindungsoptionen bei Block 720. Wenn
die Option „Ausgang
zum Hostmodus" 758 gewählt wird,
werden die Tastatur, Maus (falls am Fern-PC eine Maus angeschlossen
und wie bei Block 740B beschrieben aktiviert ist) und die
Bildschirmanzeige umgeleitet, um die Tastatur/Maus des Host-PCs
zu steuern und die Videoausgabe des Host-PCs anzuzeigen 761,
bis der Fernbenutzer die linke Shift-Taste dreimal in zwei Sekunden
drückt, wie
oben bei Block 726 beschrieben. Wenn der Benutzer die linke
Shift-Taste dreimal drückt,
kehrt die Verarbeitung zum Hauptmenü „Hostmodus" zurück 755.
-
Wenn
ein Fern-PC sich im Host-Modus befindet, schaltet der Bildschirmmodus
des Fern-PCs automatisch in den Bildschirmmodus um (d.h. Text oder
Graphik), der gerade auf dem Host-PC aktiv ist. Wenn der aktive
Videomodus vom Programm TVLINK.EXE oder von der Bildschirmkarte
des Fern-PCs nicht unterstützt
wird, erscheint am Fern-PC eine Fehlermeldung, die besagt, daß der Host-PC einen Videomodus
hat, der nicht unterstützt wird.
Wenn der Videomodus während
des Zugriffs auf den Host-PC wechselt, meldet die Hosteinheit dem
Fern-PC automatisch, daß in
einen neuen Videomodus umgeschaltet wurde, und wartet dann auf eine
Antwort vom Fern-PC, die bestätigt,
daß die Bildschirmkarte
des Fern-PCs auf den neuen Videomodus umgeschaltet wurde, bevor
die Übertragung weiterer
Videodaten erfolgt.
-
Die
Verarbeitung des Hostmodus-Hauptmenüs 755 endet automatisch,
wenn die Verbindung zwischen einem Fern-PC und einem Host-PC verloren
wird 760, und die Verarbeitung kehrt dann zum Systemhauptmenü 701 zurück. Sonst
wird die Verarbeitung des Hostmodus-Hauptmenüs fortgesetzt, bis die Verbindung
getrennt wird 738 oder während der Verarbeitung des
Verbindungsoptionen-Hauptmenüs 720 zum
Fernmodus 726 gewechselt wird.
-
8A und 8B zeigen
Beispiele des aktuellen Protokolls, das zwischen der Hosteinheit
und dem auf einem Fern-PC ausgeführten
Programm TVLINK.EXE implementiert ist. Es hätten zahlreiche andere Verfahren
verwendet werden können,
die dem Fachmann bekannt sind, um ein Protokoll für die Vorrichtung
zu implementieren.
-
Die
im Protokoll verwendeten Werte sind als Hexadezimalzahlen dargestellt.
Am Anfang, sobald eine Verbindung zwischen dem Fern-PC und der Hosteinheit
00 hergestellt wurde, überwachen
sämtliche Hosteinheiten
an einer Site ständig
die Daten vom Programm TVLINK.EXE, um auf eine korrekte Zugriffsanforderung
zu warten, die an ihre eigene Identifikationsnummer adressiert ist.
-
807 stellt
Daten dar, die vom Programm TVLINK.EXE zur Hosteinheit gesendet
werden. 806 stellt Daten dar, die von der Hosteinheit zum
Programm TVLINK.EXE gesendet werden. Das Programm TVLINK.EXE greift
auf eine bestimmte Hosteinheit zu, indem es ein Vier-Byte-Paket
sendet, wie bei 800, 801 gezeigt. Die ersten zwei
Bytes (hex 70 und hex 00) geben an, daß der Zugriff angefordert wird,
und die zwei nachfolgenden Bytes enthalten die Identifikationsnummer
der angeforderten Hosteinheit. Diese Nummer ist in zwei 4-Bit-Mengen
(Halbbytes) aufgeteilt: Hex 40 plus das hochwertige Halbbyte (verschobene
4 Bits) und hex 50 plus das niederwertige Halbbyte. Die Hosteinheit
in der Verkettung mit der entsprechenden Identifikationsnummer antwortet,
indem sie sich aus der Verkettung löst und sich direkt mit der
Datenleitung verbindet. Diese Hosteinheit fordert dann vom Programm
TVLINK.EXE auf dem Fern-PC ein Kennwort an.
-
Ein „hex FF" 802 ist
als BREAK-Zeichen reserviert. Wenn dieses Zeichen empfangen wird,
zeigt es an, daß das
nächste
Byte ein Befehls- oder Statusbyte ist. Das „hex 06" nach 802 ist eine Kennwortanforderung,
worauf zwei Bytes 803 folgen, die eine Verschlüsselung
bilden. Das Programm TVLINK.EXE sendet dann das verschlüsselte Kennwort 804 an
die Hosteinheit. Wenn dieses verschlüsselte Kennwort richtig ist,
sendet die Hosteinheit die Bytes „hex FF" und „hex 10" 805, was bedeutet, daß die Hosteinheit
bereit ist und erfolgreich auf die Hosteinheit zugegriffen wurde.
-
Obwohl
in der Figur nur ein Kennwort angefordert wird, werden in der gegenwärtigen Ausführung drei
bis zehn Kennwörter
jeweils mit einer einmaligen Verschlüsselung verarbeitet. Nur nachdem alle
Kennwörter
richtig empfangen wurden, sendet die Hosteinheit den Status „bereit" 805. Dieses
Kennwortprotokoll sorgt für
erhöhte
Sicherheit beim Zugriff auf die Hosteinheit. Wenn ein Kennwort falsch
ist, erfolgt keine weitere Kennwortanforderung und dem Fern-PC wird
der Zugriff zu Hosteinheit verweigert.
-
Um
den unbeabsichtigten Zugriff auf andere Hosteinheiten zu vermeiden,
wenn der Zugriff für eine
bestimmte Hosteinheit gewährt
wurde, wird „hex 70" vom Programm TVLINK.EXE
niemals an die Hosteinheit übertragen
(im Gegensatz zur Zugriffsanforderung 800). Statt dessen
wird das Zwei-Byte-Paket 810 gesendet, das als Einzelbytewert
von „hex
70" interpretiert
wird.
-
827 stellt
Daten dar, die vom Programm TVLINK.EXE zur Hosteinheit gesendet
werden. 838 stellt Daten dar, die von der Hosteinheit zum
Programm TVLINK.EXE gesendet werden. Nachdem die Hosteinheit den
Status „bereit" 805 gesendet
hat, kann das Programm TVLINK.EXE nun Befehle an die Hosteinheit
ausgeben.
-
Für den Fernzugriff
im Textmodus wird das Zwei-Byte-Paket 820 gesendet. Es
ist aus dem BREAK-Zeichen (hex FF) und dem Befehlsbyte (hex 33)
zusammengesetzt. Die Hosteinheit startet nun den Fernzugriffsmodus.
In diesem Modus werden die Datenbytes, die vom Programm TVLINK.EXE
zur Hosteinheit gesendet werden, als Tastaturabtastcodes interpretiert,
die umgewandelt werden und als Tastatursignale an den Host-PC gesendet
werden. Der Hexadezimalwert 1E bei 821 ist ein Abtastcode, der
erzeugt wird, wenn die Taste „A" gedrückt wird. Der
Hexadezimalwert 9E bei 822 ist ein Abtastcode, der erzeugt
wird, wenn die Taste „A" losgelassen wird.
-
Im
Fernzugriffsmodus werden auch Videotextdaten erfaßt und zum
Programm TVLINK.EXE gesendet 838. Dieser Videodatenstrom
setzt sich aus verschiedenen Teilen zusammen. Zuerst wird die Bildschirmzeichenadresse
gesendet, die aus dem BREAK-Zeichen 830 und der Zwei-Byte-Adresse 831 besteht.
Diese Adresse 831 ist als null dargestellt, da aber angenommen
wird, daß der
Bildschirm nach dem Eintritt in den Fernzugriffsmodus vom Programm
TVLINK.EXE gelöscht
wurde, um die Daten für
den ersten ganzen Bildschirm zu empfangen, werden keine Leerzeichen
gesendet. Daher muß diese Startadresse 831 nicht
unbedingt null sein, sondern kann die Adresse des ersten Zeichens
sein, das nicht ein Leerzeichen ist.
-
Als
nächstes
wird die Farbattributinformation gesendet (da BREAK-Zeichen 832 mit
dem Attribut 833). Dieses Attributbyte ist ein Wert „hex CO", der mit dem 6-Bit-Farbattribut
summiert ist. Jedes Bit kann in Form von „11rgbRGB" dargestellt werden, bei dem die zwei
hochwertigsten Bits „11" (eins, eins) anzeigen,
daß dies
ein Farbattributbyte ist, worin r, g und b rote, grüne und blaue
Vordergrundfarbbits und R, G und B das rote, grüne und blaue Hintergrundfarbbits
darstellen, wie in der Erläuterung
zu 5G und 5H beschrieben.
Der bei 833 gezeigt Wert (hex F8) stellt Weiß auf Schwarz
dar. Die zwei hochwertigsten Bits (hex CO) sind ausgeblendet (auf
null gesetzt), was hex 38 oder 00111000b ergibt. Alle Vordergrundbits
(rgb) sind gleich eins und alle Hintergrundbits (RGB) sind gleich
null, was Weiß auf Schwarz
bedeutet.
-
Nachdem
die Adreß-
und Farbinformation gesendet wurde, folgen die Zeichencodewerte,
wie z.B. ASCII-Codes. 834 zeigt die hexadezimale Darstellung
eines „A", gefolgt von einem
hex 42, das ein Zeichen „B" darstellt. Darauf
folgt eine Farbänderung,
weshalb 835A gesendet wird, das sich aus einem BREAK-Zeichen
und dem neuen Farbbyte zusammensetzt. In diesem Fall stellt das
hex F1 Blau auf Schwarz dar. Die zwei hochwertigsten Bits (hex C0)
sind ausgeblendet (auf null gesetzt), was hex 08 oder 00001000b
ergibt. Nur das Vordergrundblaubit (rgb) ist gleich eins, und alle
Hintergrundbits (RGB) sind gleich null, was Blau auf Schwarz bedeutet. Dann
wird ein hex 43 gesendet 835B, das ein Zeichen „C" darstellt. Dies
setzt sich fort, bis die Daten für
einen ganzen Bildschirm gesendet wurden, danach werden nur noch
die Änderungen
gesendet (weshalb 831 einen anderen Wert als null annehmen kann).
Der Hexadezimalwert FF, der in diesem Modus bei 838 als
BREAK-Zeichen verwendet wird, wurde gewählt, weil dieser Wert kein
gültiges
Zeichen darstellt.
-
Neben
den Abtastcodes 821, 822, die vom Programm TVLINK.EXE
an die Hosteinheit 827 gesendet werden, können auch
diverse Befehle gesendet werden. Ein Befehl „Bildschirm auffrischen" (hex F1) 823 weist
die Hosteinheit an, einen gesamten Videotextbildschirm neu zu senden,
als sei der Fernzugriffsmodus gerade aufgerufen worden. Dies beginnt mit
der Übertragung
eines anderen Adreßpakets 836 (mit 830 identisch),
gefolgt von der Farbinformation, den Zeichen usw.
-
Ein
anderer Befehl 824 sendet serielle Mausdaten 825 zur
Hosteinheit, damit diese zur seriellen Mausschnittstelle des Host-PCs
weitergeleitet werden. Der Inhalt dieser Mausdaten 825 ist
weder für das
Programm TVLINK.EXE noch für
die Hosteinheit wichtig, da sie lediglich zur seriellen Mausschnittstelle
des Host-PCs durchgelassen werden.
-
Während die
Hosteinheit Videotextdaten erfaßt,
kann der Videomodus des Host-PCs
in den Graphikmodus umschalten, wobei diese Information an das Programm
TVLINK.EXE gesendet wird, wie bei 837 angezeigt (ein BREAK-Zeichen
plus der Graphikmodusstatus: hex 83). In diesem Augenblick sendet
die Hosteinheit keine weitere Videotextinformation mehr, setzt aber
die Verarbeitung der vom Programm TVLINK.EXE empfangenen Abtastcodes und
Befehle fort. In der aktuellen Ausführung beendet das Programm
TVLINK.EXE den Fernzugriff im Textmodus, indem es ein „hex FF" 826 sendet
(das hier nicht als BREAK-Zeichen dient) und dann den Fernzugriff
im Graphikmodus startet. Dann sendet die Hosteinheit einen Bereitschaftsstatus
(siehe 805), um anzuzeigen, daß sie bereit ist, einen anderen
Befehl zu verarbeiten.
-
Der
Fernzugriff im Graphikmodus beginnt, indem das Programm TVLINK.EXE 840 sendet
(ein BREAK-Zeichen plus ein Befehl „hex 34" für
den Fernzugriff im Graphikmodus). In diesem Augenblick sendet die
Hosteinheit Videographikdaten 855 und verarbeitet Abtastcodes,
Mausdaten oder andere Befehle 846. Die Abtastcodes sind
bei 841, 842 gezeigt, der Befehl zum „Auffrischen" des Graphikbildschirms bei 843,
und der Befehl zum Beenden des Graphikvideomodus bei 845.
Mausdaten sind nicht dargestellt, können aber ebenfalls verarbeitet
werden.
-
Der
Hauptunterschied zwischen der Graphikverarbeitung und der Textverarbeitung
ist, daß der
BREAK-Zeichenwert nun ein „hex
2a" ist. Dieser Wert
wurde gewählt,
da ein „hex
FF" im Graphikmodus
häufig
vorkommt das bedeutet, daß alle
Pixel an sind, weshalb statt dessen der Wert „hex 2A" gewählt wurde.
Dieser Modus beginnt, indem die Startadresse gesendet wird (das
BREAK-Zeichen 850 mit zwei Bytes Graphikadreßinformation 851).
Es wird angenommen, daß der
Bildschirm des Fern-PCs leer ist, weshalb nur Graphikdatenbytes
gesendet werden, die nicht null sind. Der Adreßwert 851 kann einen
anderen Wert als den gezeigten Nullwert haben.
-
Im
vorzugsweisen Ausführungsbeispiel
werden nur graphische „Momentaufnahmen" aufgenommen. D.h.,
nachdem die Adresse gesendet wurde, und wenn die Graphikdaten 852 komplett
gesendet wurden, bricht die Übertragung
von Videographikdaten ab, bis ein Befehl „Bildschirm auffrischen" 843 empfangen
wird, wonach die Graphikdaten wieder erfaßt und gesendet werden (siehe 853). 854 zeigt, daß der Videomodus
des Host-PCs wieder in den Textmodus zurückgeschaltet wurde (ein BREAK-Zeichen
plus der Textmodusstatus, hex 85). Dann beendet das Programm TVLINK.EXE
den Ferngraphikmodus durch 845 und startet den Ferntextmodus
(siehe 820). Wenn ein Graphikdatenbyte im Ferngraphikmodus
einem hex 2A (wie das BREAK-Zeichen) entspricht, werden zwei Byte-Pakete gesendet,
die das BREAK-Zeichen (hex 2A) umfassen, gefolgt vom Wert „hex A2". Das Programm TVLINK.EXE
interpretiert dies dann als ein hex Datenbyte „hex 2A".
-
Sowohl
der Text- als auch der Graphikmodus können jederzeit durch Senden
des Zeichens „hex FF" 826, 845 beendet
werden.
-
Es
kann vorkommen, daß der
Videomodus in einen unerkannten Videomodus umschaltet oder die Videoausgabe
ganz abbricht (z.B., wenn der Host-PC ausgeschaltet wird oder das
Videokabel getrennt wird). Dann wird TVLINK.EXE über dieses Ereignis informiert
(ähnlich
wie bei 837 und 854), indem ein BREAK-Zeichen gesendet
wird, gefolgt von einem „hex
89" (kein Video
vorhanden) oder einem „hex
8B" (unbekannter
Videomodus).
-
Der
Datenübertragungsmodus
wird ähnlich wie
die gerade beschriebenen Videomodi aktiviert (d.h. durch ein BREAK-Zeichen,
auf das ein Befehlsbyte folgt). Die Hosteinheit leitet die Dateien
von TVLINK.EXE einfach zum Host-PC weiter, oder umgekehrt, nachdem
das Programm TVFILE.EXE auf dem Host-PC aufgerufen wurde, um Dateiübertragungen durchzuführen. TVLINK.EXE
wandelt alle (an die Hosteinheit gerichteten) „hex 70"-Werte in das Zwei-Byte-Paket bei 810 um,
das von der Hosteinheit in einen einzigen Wert „hex 70" umgewandelt wird, bevor es an den Fern-PC
gesendet wird. Wenn TVLINK.EXE ein „hex FF"-Zeichen
sendet, wird dadurch der Datenübertragungsmodus
beendet. Daher müssen
(an den Host-PC gerichtete) „hex-FF"-Datenwerte in ein
Zwei-Byte-Paket aus „hex
F0" plus „hex 0F" 811 umgewandelt
werden, die von der Hosteinheit in einen einzigen Wert „hex FF" umgewandelt werden, bevor
sie zum Host-PC und zum Programm TVFILE.EXE gesendet werden. Abgesehen
von diesen Ausnahmen sind die Programme TVLINK.EXE und TVFILE.EXE
für das
Datenübertragungsprotokoll
zuständig.
In der aktuellen Ausführung
wird für
die Dateiübertragung
ein modifiziertes XMODEM-Protokoll verwendet, mit Datenpaketgrößen, die
je nach auftretender Fehlerzahl (Leitungsrauschen) variieren. Das XMODEM-Protokoll ist eine
Industrienorm, die dem Fachmann vertraut ist.
-
Das
aktuelle Hosteinheitsprotokoll kann modifiziert werden, um eine
höhere
Fehlererkennung und -quittierung bei der Datenübertragung zu erreichen, damit
die Wahrscheinlichkeit von leitungsrauschenbedingten Datenfehlern
verringert wird.