-
Die Erfindung bezieht sich auf ein elektrisches Anzeigesystem,
insbesondere auf ein Videoanzeigesystem mit programmierbarer
Videosynchronisierungsfähigkeit
-
Anzeige-Terminals mit Kathodenstrahlröhren benötigen sowohl
Anzeigeinhaltsdaten als auch Synchronisierdaten, um ein
Videobild richtig anzeigen zu können. Bei
Computer-Anzeigeterminals gehört zur Videobilderzeugung gewöhnlich ein
Zeichengenerator, der Zeichenausgaben in einem festgelegten Format für
die Videoanzeige ermöglicht. In jüngster Zeit konnten einzelne
adressierbare Bildelemente (Pixel oder Pels) erzeugt werden,
so daß graphische Anzeige-Terminals eingesetzt werden konnten.
Die Adressierbarkeit von einzelnen Pel-Daten ist in einem
System möglich, das als "alle Punkte adressierbar" bezeichnet
wird, wobei jedem Pel in der Anzeige eine Speicherzelle
zugeordnet wird. Mit Hilfe dieser Konfiguration, die die
Adressierbarkeit erlaubt, kann jeder einzelne Pel-Platz für die
Anzeige programmiert werden.
-
Diese zusätzliche Programmiermöglichkeit findet jedoch auf die
Erzeugung von Synchronisiersignalen für diese Anzeigen keine
Anwendung. Die Synchronisiersignale werden zur Steuerung der
Elektronenstrahlabtastung in einer Anzeige mit
Kathodenstrahlröhre benötigt. Das horizontale Synchronisiersignal wird
benötigt, um den Abtaststrahl zum Anfang der nächsten horizontalen
Zeile zurückzubringen. Das vertikale Synchronisiersignal wird
verwendet, um den Abtaststrahl zur linken oberen Ecke
zurückkehren zu lassen, um die Anzeige eines neuen Bildes zu
beginnen.
-
Die Erzeugung von horizontalen und vertikalen
Synchronisierdaten wurde durch Zähler oder Zeitgeber ermöglicht. Diese
Hardware-Implementierung schränkt jedoch die Programmierbarkeit
der horizontalen und vertikalen Synchronisiersignale ein.
-
Ein herkömmliches Zeichenanzeigesystem wird in der
US-Patentschrift US-A-3,555,520 mit dem Titel "Multiple Channel Display
System" beschrieben. Das Patent führt ein Anzeigesystem mit
mehreren Speichern vor, wobei jeder Speicher Zeichencodes
speichert, die Zeichengeneratoren eingegeben werden. Die
Ausgabe der Zeichengeneratoren geht zur Videoanzeige. Darüber
hinaus liefern die Zeichengeneratoren auch das horizontale
Synchronisiersignal als Funktion der Zeichenzahl pro Zeile.
-
Ein Beispiel für heute übliche Anzeigeerzeugung ist der
Motorola CRT-Controller, Teilenummer MC6845. Dieser Controller ist
mit programmierbaren horizontalen und vertikalen
Zeitgebergeneratoren ausgestattet, die die horizontalen und vertikalen
Synchronisiersignale erzeugen.
-
Ein weiteres Beispiel für ein Anzeigesystem mit Zähler für die
Synchronisierung ist in der US-Patentschrift US-A-4,180,805
beschrieben, die den Titel "System for Displaying Character
and Graphic Information on a Colour Video Display with Unique
Multiple Memory Arrangement" trägt. Dieses Patent stellt ein
Anzeigesystem mit einem Speicher vor, der über adressierbare
Wörter verfügt, die Zeichenpositionen auf der Anzeige
entsprechen. Die Zähler adressieren den Anzeigespeicher und erzeugen
des weiteren die horizontalen und vertikalen
Synchronisiersignale für die Anzeige.
-
Eine Technik, die für die Programmierbarkeit der horizontalen
und vertikalen Synchronisiersignale angewendet wird, umfaßt
einen Pel-Datenstrom mit horizontalen und vertikalen
Synchronisierdaten, die sich an den entsprechenden Speicherplätzen
befinden. Bei dieser Technik ist die Software sehr wichtig, da
diese nicht nur zur Erzeugung des Datenstroms mit den Pel-
Informationen notwendig ist, sondern auch dafür sorgt, daß an
den entsprechenden Datenstromplätzen die Synchronisierdaten
vorhanden sind.
-
Gemäß der vorliegenden Erfindung ist ein Videoanzeigesystem
zur Darstellung von Bildern in Form von Zeilen aus
Bildelementen vorhanden, wobei jedes Element ihm zugeordnete
Attributdaten besitzt und jede Zeile in Einklang mit Synchronisierdaten
geschrieben wird, mit einem Bildspeicher zum Speichern von
Bilddaten, welche die Bildelemente, die Attributdaten und die
Synchronisierdaten repräsentieren, wobei die Attributdaten in
dem Bildspeicher mit den Synchronisierdaten, getrennt von den
Bildddaten in Blöcken von Attributwörtern gespeichert sind und
jeder Block eine Verbindungsadresse zu einem anderen Block
besitzt, um einen kontinuierlichen Datenstrom von
Attributwörtern zu definieren, mit Speicherzugriffsmitteln, um zum Lesen
der Bilddaten auf den Bildspeicher zuzugreifen und um
gleichzeitig den Datenstrom auszubilden, und mit Steuermitteln, die
dazu eingerichtet sind, Daten aus Attributwörtern in dem
Datenstrom mit den Bilddaten zu vereinigen, um
Videosteuersignale für eine Anzeigeeinrichtung zu bilden.
-
In einem bevorzugten Ausführungsbeispiel der vorliegenden
Erfindung umfaßt das Anzeigesystem zwei Last-In/First-Out
(LIFO)-Puffer, die mit einem Prozessor und Speicher auf der
einen Seite und einem kombinatorischen
Logikdekodierschaltkreis auf der anderen Seite verbunden sind. Der Ausgang des
kombinatorischen Logikdekodierschaltkreises ist mit einem
Videoausgangsschaltkreis verbunden. Die beiden Puffer sind
darüber hinaus mit Zählern verbunden, die für die Adressierung
der in den Puffern gespeicherten Daten zuständig sind. In
diesem Ausführungsbeispiel werden die Bildelementdaten (Pel-
Daten) in einem separaten Teil des Speichers getrennt von den
Attributdaten gespeichert. Die Pel-Daten werden separat an den
Videoausgangsschaltkreis ausgegeben.
-
Die Attributdaten dienen dazu, den Speicherplatz jedes Pels
festzustellen, um Funktionen wie Blinken, Markieren oder
inverse Darstellung zu ermöglichen. Horizontale und vertikale
Synchronisierdaten sind in die Attributdaten integriert. Die
Attributdaten mit den integrierten Synchronisierdaten werden
vom Speicher ausgegeben und in den LIFO-Puffern
zwischengespeichert. Der Speicherplatz der Synchronisierdaten kann
ständig im Puffer gehalten werden, so daß die Aktualisierung
der Attributdaten möglich ist, ohne daß Software zur
Aktualisierung der Synchronisierdaten benötigt wird. Die
Attributdaten werden aus dem LIFO-Puffer in den Dekodierschaltkreis
gelesen, bis die Synchronisierdaten gelesen werden. Ein
zweiter Schaltkreis schaltet dann auf den zweiten LIFO-Puffer um,
so daß die Datenausgabe ermöglicht wird. In den zuvor
gelesenen Puffer werden danach neue Attributdaten geladen. Wenn die
bestehenden Synchronisierdaten nicht geändert werden, müssen
diese zusätzlichen Synchronisierdaten nicht wieder geladen
werden, da sie im LIFO-Puffer bleiben. Wenn der zweite Puffer
gelesen wird, wird der Dekodierschaltkreis erneut mit dem
ersten Puffer verbunden, der die neuen Attributdaten enthält,
und der zweite Puffer wird dann mit zusätzlichen Attribut- und
Synchronisierdaten beladen, sofern dies erforderlich ist. Auf
diese Art und Weide ermöglicht das System einen ständigen
Datenstrom von Attribut- und Synchronisierdaten zum
Videoschaltkreis, ohne daß die Synchronisierdaten ständig
aktualisiert werden müssen, sofern sie nicht geändert wurden.
-
Eine weitere Verbesserung der vorliegenden Erfindung
beinhaltet das Speichern von Attributdaten (einschließlich
Synchronisierdaten) in eine einfach zu verwaltende verkettete
Listenstruktur. Die Attributdaten werden in die LIFO-Puffer als
kontinuierlicher Datenstrom geladen. Darüber hinaus sieht die
Erfindung eine Lauflängenspezifikation vor, so daß ein
einzelnes Attribut mehrere aufeinanderfolgende Pels bestimmen kann.
Wenn die Daten auf diese Art und Weise spezifiziert werden,
anstatt ein einzelnes Attribut für jedes einzelne Pel zu
spezifizieren, bleibt der Gesamtsystemspeicher erhalten.
-
Zum besseren Verständnis der Erfindung wird nachfolgend ein
bevorzugtes Ausführungsbeispiel anhand von Begleitzeichnungen
beschrieben.
-
Fig. 1 ist ein Blockdiagramm des Anzeigesystems.
-
Fig. 2 ist eine Darstellung einer Bildspeicheranordnung auf
dem Stand der Technik.
-
Fig. 3 ist eine Darstellung einer Bildspeicheranordnung
entsprechend der vorliegenden Erfindung.
-
Fig. 4a ist eine Darstellung eines Speicherelements mit
Attribut- und Synchronisierdaten entsprechend der vorliegenden
Erfindung.
-
Fig. 4b ist eine Darstellung einer Datenstromvorrichtung
entsprechend der vorliegenden Erfindung.
-
Fig. 5a stellt den Inhalt eines Puffers dar.
-
Fig. 5b zeigt den Inhalt eines Puffers der Fig. 5a, nachdem
dieser erneut beladen wurde.
-
Fig. 6a zeigt Synchronisierdatenbitinformationen.
-
Fig. 6b zeigt Attributdatenbitinformationen.
-
Fig. 7 ist ein Blockdiagramm, das die Funktionsweise des
Lauflängenzählers und des Dekodierschaltkreises zeigt.
-
Fig. 8 ist ein Fließdiagramm, das die Folge der Operationen
zur Beladung eines Puffers zeigt; und
-
Fig. 9 ist ein Fließdiagramm, das die Folge der Operationen
zur Ausgabe von Daten von einem Puffer zeigt.
-
Bei dieser Erfindung wird der Datenspeicher adressiert, der
für die Anzeige eines Bildes auf einem Kathodenstrahlröhren-
oder ähnlichem Bildschirm benötigt wird. Die
Kathodenstrahlröhre erzeugt ein Bild auf einer Bildschirmoberfläche durch
Abtasten eines Elektronenstroms über eine phosphorgeladene
Oberfläche. Die vorliegenden Erfindung bezieht sich auf das
Speichern einzelner Bildelemente, zeitlich begrenzter
Bildelemente, Pixel oder Pels zusammen mit den Daten, die zur
Qualifizierung der Anzeige jedes Pels benötigt werden. Die
Qualifizierungsdaten sind zeitlich begrenzte Attributdaten und
ermöglichen es, daß ein Pel in inverser Darstellung, blinkend, oder
markiert angezeigt wird. Da die Bilddaten durch einen
Elektronenstrom erzeugt werden, der über eine Phosphoroberfläche
abgetastet wird, muß die Steuerung dieses Abtastverfahrens
ebenfalls möglich sein. In Anzeigen mit Kathodenstrahlröhre
werden die horizontalen und vertikalen Synchronisiersignale
verwendet, um den Abtastelektronenstrom zu repositionieren, so
daß ein Bild auf der Phosphoroberfläche erzeugt werden kann.
-
Die vorliegende Erfindung ermöglicht das Speichern von Pel-
Daten, Attributdaten und Synchronisierdaten. Die
Synchronisierdaten werden zur Erzeugung von horizontalen und vertikalen
Synchronisiersignalen verwendet. Das Speichern der Pel-Daten,
Attribut- und Synchronisierdaten erleichtert bei dieser
Erfindung die Programmierbarkeit der Pel-, Attribut- und
Synchronisierinformationen.
-
Fig. 1 ist ein Blockdiagramm, das die vorliegende Erfindung
darstellt. Der Speicher 10 ermöglicht das Speichern von Pel-
und Attributdaten. Die Pel-Daten werden normalerweise in
Bitabbildung gespeichert, d. h. jede Speicherzelle stellt ein
Pel auf der Anzeige dar. Die Attribut- und Synchronisierdaten
sind jedoch auf einzigartige Weise gespeichert, die sowohl die
Speicherkonservierung als auch erleichterte Programmierbarkeit
ermöglicht. Im vorliegenden Ausführungsbeispiel gehen die Pel-
Daten auf Leitung 18 zu einem Videoausgangsschaltkreis. Die
Attribut- und Synchronisierdaten werden auf Leitung 20 zu den
Puffern 32 und 34 gesendet. Der Inhalt der Puffer 32 und 34
wird im Dekodierschaltkreis 40 dekodiert, der die
Attributdaten auf Leitung 44 und die Synchronisierdaten auf Leitung 46
dem Videoausgangsschaltkreis 48 zuführt. Der
Videoausgangsschaltkreis
48 leitet das Videosignal auf Leitung 62 zu einer
Anzeige 60.
-
Das Laden der Attribut- und Synchronisierdaten in die Puffer
32 und 34 wird vom Prozessor 14 gesteuert. Der Prozessor 14
steuert über Leitung 12 auch den Speicher 10. Darüber hinaus
steuert dieser Prozessor die Puffer 32 und 34 durch den
Lese/Schreibsteuerkreis 28 über Leitung 16. Der
Lese/Schreibsteuerkreis 28 ist über die Leitung 24 mit den
Puffern 32 und 32 verbunden, um den Ein- und Ausgang von Daten
in die Puffer 32 und 34 individuell zu steuern. Der
Lese/Schreibschaltkreis 28 ermöglicht das Laden der Daten in
den Abtastzeilenzähler 22 über Leitung 27. Der
Abtastzeilenzähler 22 empfängt diese Daten auf Leitung 20 vom Speicher 10.
-
Der Lese/Schreibsteuerkreis 28 steuert weiterhin den
Lese/Schreibzeiger 30 (der Zeiger für die Puffer 32 und 34)
auf nachfolgend beschriebene Art und Weise.
-
Der Datenausgang von den Puffern 32 und 34 wird in erster
Linie vom Lese/Schreibzeiger 30 und dem Lauflängenzähler 38
gesteuert. Die Puffer 32 und 34 arbeiten abwechselnd in "Ping
Pong"-Manier, wobei ein Puffer beladen wird, während der
andere Puffer gelesen wird. Wenn die Lade- und Lesevorgänge
abgeschlossen sind, werden die Puffer 32 und 34 umgeschaltet,
so daß der neu beladene Puffer gelesen und der zuletzt
gelesene Puffer erneut beladen wird. Die Daten der Puffer 32 und
34 gehen auf Leitung 36 zum Lauflängenzähler 38 und zum
Dekodierschaltkreis 40.
-
Der Dekodierschaltkreis 40 dekodiert die Daten von den Puffern
32 und 34, um das Synchronisiersignal auf Leitung 46 und die
Attributsignale auf Leitung 44 zum Videoausgangsschaltkreis 48
zu senden. Das Inkrementieren der Daten durch den
Dekodierschaltkreis 40 wird mittels des Lauflängenzählers durch einen
Pel-Takt auf Leitung 47 durchgeführt. Das Pel-Taktsignal auf
Leitung 47 wird ebenfalls zum Videoausgangssignal 48 gesendet.
-
Eine Verbindung der Attributdaten auf Leitung 44, der
Synchronisierdaten auf Leitung 46 und der Pel-Daten auf Leitung 18
über die Leitung 48 des Videoausgangsschaltkreises ermöglicht
es dem Videoausgangsschaltkreis 48, ein kombiniertes
Videosignal auf Leitung 42 zur Anzeige 60 zu senden, die das
gewünschte Bild enthält.
-
Die Vorteile der Erfindung liegen nicht nur im besonderen
Aufbau der Datenspeicherung im Speicher 10, sondern auch in
der Arbeitsweise der Puffer 32 und 34 sowie der entsprechenden
Steuerschaltkreise. Um die Erfindung besser erklären zu
können, wird Bezug auf die herkömmliche
Bitabbildungsspeicherung genommen. Fig. 2 zeigt in symbolischer Form die
Bitabbildungsspeicherung der Anzeigedaten im Speicher. Jedes
Speicherelement wie beispielsweise das Element 70 umfaßt
Informationen für ein einzelnes Pel, oder Attributinformationen für
ein einzelnes Pel. Nach Fig. 2 enthält jede Anzeigezeile eine
Reihe von Speicherelementen 70 für jedes Pel der Anzeigezeile.
Darüber hinaus umfaßt eine Anzeigezeile mehrere
Speicherstellen, die eine Austastzeit für die horizontalen
Synchronisierdaten festlegen. Die Austastzeit stellt den Elektronenstrom
ab, wenn der Strahl von einer Seite der Anzeige zur anderen
Seite zurückgeht, um das Abtasten einer neuen Zeile zu
beginnen. Auf ähnliche Art und Weise wird das Austasten für die
vertikalen Synchronisierdaten ausgeführt. Die vertikalen
Synchronisierdaten werden benötigt, um den Elektronenstrom
abzustellen, wenn der Strahl zur oberen linken Hälfte der
Anzeige zurückgeht, um das Abtasten zu beginnen. Bei der
herkömmlichen Bitabbildung werden die Pel-Daten zusammen mit
den Austastdaten von Speicherzellen festgelegt, die in der in
Fig. 2 gezeigten Art und Weise zugeordnet sind.
-
Die vorliegende Erfindung definiert eine
Datenspeicheranordnung für Attribut- und Synchronisierdaten, das in Fig. 3
gezeigt wird. Der eigentlich erforderliche Speicher entspricht
nicht der Bitabbildung von Fig. 2, sondern variiert je nach
Art und Verfahren der Datenspeicherung. Attributdaten können
insbesondere gespeichert werden, um mehr als ein Pel zu
qualifizieren. Darüber hinaus können horizontale Synchronisierdaten
gespeichert werden, die die Austastung für mehr als nur eine
Anzeigezeile festlegen. Bei dieser Anordnung kann auch der für
die vertikalen Synchronisierdaten erforderliche Speicher
variieren. Es muß in bezug auf die Anzeigezeile lediglich
gewährleistet sein, daß die Gesamtanzahl der Lauflänge für Attribute
und horizontale Synchronisierdaten für eine Zeile der
Gesamtanzahl der Pel-Speicherplätze für die Anzeigezeile sowie der
Austastspeicherplätze von Fig. 2 entspricht. Ebenso muß die
Gesamtanzahl der Abtastzeilen, die zur Festlegung der
Attribute und Synchronisierdaten verwendet werden, mit der Anzahl
der Anzeigezeilen und Austastzeilen von Fig. 2
übereinstimmen. Eine Abweichung von dieser Anordnung, die eine
Speicherzelle pro Pel ermöglicht, führt zu Speichereinsparungen. Das
Wiederverwenden der zuvor gespeicherten Daten, z. B. der
horizontalen und vertikalen Synchronisierdaten, macht das
erneute Programmieren der horizontalen und vertikalen
Synchronisierdaten unnötig, wie dies bei der Bitabbildung von Fig. 2
erforderlich ist.
-
Anstand der Bitabbildungsanordnung in Fig. 2 werden die
Attribut- und Synchronisierdaten entsprechend der in Fig. 4a
gezeigten Anordnung gespeichert. Fig. 4a zeigt ein
Speicherelement variabler Länge für Attributdaten. Diese
Attributinformationen können sowohl Attribut- als auch Synchronisierdaten
enthalten. Der Anfangsteil dieser Informationen ist die
Blockgröße. Die Blockgröße gibt die Anzahl der enthaltenen
Attributwörter an. Ein einzelnes Attributwort umfaßt
Lauflängeninformationen und Attributdaten oder Synchronisierdaten.
Lauflängendaten bestehen aus der Anzahl von Pels, die von
Attributdaten qualifiziert werden. Bei den Synchronisierdaten
sind die Lauflängeninformationen gleich mit der Anzahl der
Zeitperioden, in denen der Strahl entsprechend den
Synchronisierdaten ausgetastet wird. Die Synchronisierdaten enthalten
ebenfalls das horizontale oder vertikale Synchronisiersignal,
das dem Videoausgangsschaltkreis 48 angibt, den
Elektronenstrahl
an die geeignete Position zurückzusetzen. Nach der
Spezifikation des Attributwortes umfaßt das Speicherelement
eine Abtastzeilenzählung und die Verbindungsadresse. Die
Verbindungsadresse legt den Speicherplatz der nächsten
Attributinformation variabler Länge fest. Die Abtastzeilenzählung
definiert die Anzahl der vertikalen Anzeigezeilen, die von den
Attributwörtern der durch die Verbindungsadresse adressierten
Attributinformationen qualifiziert werden.
-
Fig. 4b zeigt den Speicherplatz der Attributinformationen im
Speicher 10 und die Verwendung der Verbindungsadresse, die die
Informationselemente in einem kontinuierlichen Datenstrom
miteinander verbindet. Bei der Übertragung der
Attributinformationen vom Speicher 10 zu den Puffern 32 und 34 benutzt der
Prozessor 14 die Verbindungsadresse, um den Zugriff auf das
nächste Attributinformationselement im Speicher 10 zu steuern,
so daß ein kontinuierlicher Datenstrom vorhanden ist.
-
Fig. 5a zeigt die Speicherabbildung eines einzelnen LIFO-
Puffers, beispielsweise dem Puffer 32 oder 34. Jeder der
beiden Puffer 32 und 34 ist rund, so daß der durch die Linien
81, 82 und 83 angezeigte Zeiger von Hex > 00< bis Hex > FF< und
bei erneuter Inkrementierung wieder zurück zu Hex > 00< gehen
kann. Die in dem von Fig. 5a gezeigten Puffer gespeicherten
Daten werden im Ringverfahren gespeichert. In Fig. 5a
verweist Linie 81 auf die Anfangszeigerposition für die
Datenspeicherung. Die Synchronisierdaten werden zuerst auf der vom
Zeiger 81 angezeigten Adresse gespeichert. Nach der
Speicherung der Synchronisierdaten befindet sich der Zeiger auf dem
durch Linie 82 dargestellten Platz. An dieser Stelle werden
die durch A1 bis A4 gekennzeichneten Attributdaten
gespeichert. Danach befindet sich der Zeiger bei Linie 83.
-
Wenn die Pufferdaten übertragen werden, wird der Zeiger auf
Position 81 zurückdekrementiert. Auf diese Art und Weise
werden die Attributdaten A1 bis A4 sequentiell mit Beginn bei
A4, gefolgt von A3, usw. übertragen. Am Ende der Folge werden
die Synchronisierdaten übertragen.
-
Wenn der Puffer erneut beladen wird, ändert sich seine
Konfiguration wie in Fig. 5b gezeigt. Wenn die neu in den Puffer
geladenen Informationen neue Synchronisierdaten enthalten,
wird das Laden der Synchronisierdaten an der durch Linie 84
gezeigten Zeigerposition begonnen. Der Lese/Schreibzeiger
sollte durch die Anzahl der zur Beendigung der
Synchronisierung erforderlichen Synchronisierdaten vorinkrementiert
werden. Beim bevorzugten Ausführungsbeispiel beträgt die Zahl
wie durch den 3 Vorinkrementblock in Fig. 8 angezeigt 3. Nach
dem Laden dieser neuen Synchronisierdaten wird der Zeiger wie
durch Linie 85 angezeigt plaziert. Danach werden die
zusätzlichen Attributdaten wie A5 bis A7 geladen, wodurch der Zeiger
an der durch Linie 86 angezeigten Adresse plaziert wird. Wenn
keine neuen Synchronisierdaten verwendet werden, können die
zuvor bestehenden Synchronisierdaten benutzt werden. Wenn
keine Änderung bei den Synchronisierdaten erforderlich ist,
müssen die neuen Synchronisierdaten nicht erneut geladen
werden, da die bestehenden Synchronisierdaten ständig an den
Datenstrom mit den Attributinformationen ausgegeben werden.
-
Die Fig. 6a und 6b zeigen den Inhalt der Synchronisier- und
Attributdaten. In Fig. 6a enthalten die Synchronisierdaten
ein Synchronisierbit an der Bitposition 0, die das Byte als
Synchronisierdaten kennzeichnet. Bitposition 1 kennzeichnet
eine horizontale Austastung und Bitposition 2 ein horizontales
Synchronisiersignal. Die Anzahl der Zeitperioden für das
Austasten wird durch die Lauflängendaten festgelegt, die den
Synchronisierdaten vorausgehen. Da die Anzeige des
horizontalen Synchronisiersignals unabhängig von der Zeitperiode ist,
werden die Lauflängendaten bei der Synchronisieranzeige nicht
beachtet. Die Bitposition 3 für vertikales Austasten
kennzeichnet das vertikale Austasten. Die Anzahl der Zeilen, die
vertikal ausgetastet werden, wird durch die Abtastzählung
festgelegt. Das vertikale Synchronisiersignal wird durch Bit 4
auf ähnliche Art und Weise wie beim horizontalen
Synchronisiersignal
festgelegt. Die restlichen Bitpositionen 5-7 sind
leer.
-
In Fig. 6b sind die Attributdaten durch die Bitposition 0
gekennzeichnet, die das Attributdatenbyte vom oben erwähnten
Synchronisierdatenbyte unterscheidet. Die Bitpositionen 1, 2
und 3 bedeuten Markieren, Blinken bzw. inverse Darstellung.
Die Bitpositionen 4-7 sind leer und können zur Spezifizierung
weiterer Attribute verwendet werden.
-
Fig. 7 ist ein Blockdiagramm, das den Dekodierschaltkreis 40
und den Lauflängenzähler 38 zeigt. Jeder der beiden Puffer 32
und 34 verfügt über Attribut- oder Synchronisierinformationen,
die die Lauflänge 100 und die Attribut- oder
Synchronisierdateninformationen 102 enthalten. Die Dateninformationen 102
entsprechen dem bei den Fig. 6a und 6b erwähnten 8-Bit-
Wort. Der Lauflängenteil 100 wird auf Leitung 36 in den
Lauflängenzähler 33 geladen. Die Attribut- oder
Synchronisierdaten 102 werden bei Leitung 36 in das
Dekodierschaltkreisregister 103 geladen. Der Inhalt des Registers 103 wird dann vom
mit Leitung 36' verbundenen Schaltkreis dekodiert. Der
Lauflängenzähler legt die Länge der Zeit (durch
Pel-Taktperioden definiert) fest, für die jedes Datenwort im Register 103
dekodiert wird. Wenn die Lauflänge 100 demnach 10 beträgt,
stellt der Lauflängenzähler 38 die entsprechenden Attribut-
oder Synchronisierdaten in Register 103 für 10
Pel-Taktperioden bereit. Der Pel-Takt geht auf Leitung 47 ein. Der
Lauflängenzähler gibt die Lauflängenzählung auf Leitung 36 ein
und dekrementiert diese Zählung immer dann, wenn ein Pel-
Taktsignal auf Leitung 47 empfangen wird. Wenn die
Lauflängenzählung am Ende ist, geht ein Signal zu Leitung 50, das das
Register 103 mit den nächsten Attribut- oder
Synchronisierdaten auflädt und die nächste Lauflängenzählung für diese
Attribut- oder Synchronisierdaten lädt. Der Inhalt des
Registers 103 wird dekodiert, um beispielsweise eines der drei
Attribute "Markieren", "Blinken" oder "inverse Darstellung"
durch die Dekodierschaltkreise 104, 106 und 108
bereitzustellen.
Diese Attributsignale gehen zu einem Videosteuerkreis
110, der eigentlich Teil des Videoausgangsschaltkreises 48 von
Fig. 1 ist. Die Dekodierschaltkreise 112 und 114 liefern die
horizontalen Synchronisier- bzw. horizontalen Austastsignale.
Die Dekodierschaltkreise 116 und 120 dagegen liefern die
vertikalen Synchronisier- bzw. vertikalen Austastsignale. Die
Dekodierschaltkreise 104, 106, 108, 112, 114, 116 und 120 sind
einfache kombinatorische Logikschaltkreise, die die Attribute
wie bei 6b gezeigt dekodieren.
-
Bei Fig. 1 werden die Synchronisierdaten auf Leitung 46 und
die Attributdaten auf Leitung 44 zum Videoausgangsschaltkreis
48 gesendet. Der Videoausgangsschaltkreis 48 verbindet die
Attributdaten auf Leitung 44 mit den Pel-Daten auf Leitung 18,
um ein Videosignal zu erzeugen. Das Videosignal kann die
Synchronisierinformationen auf Leitung 46 enthalten, um das
kombinierte Videosignal auf Leitung 62 bereitzustellen. Der
Videoausgangsschaltkreis 48 kann ein beliebiger
Standardvideoausgangsschaltkreis zur Verbindung von Attributen mit Pel-
Daten sein, beispielsweise eine IBM PC Monochrom-Adapterkarte,
auf die im hier aufgeführten IBM Personal Computer
Referenzmaterial hingewiesen wird. Die Anzeige 60 kann ein beliebiger
Monitor sein, der ein Videosignal oder andere ähnliche
videoartige Signale anzeigen kann.
-
Die Funktionsweise des Schaltkreises in Fig. 1 umfaßt zwei
Hauptbetriebsmodi: Puffereingang und Pufferausgang. Die
Puffereingangsfolge ist in Fig. 8 aufgezeigt. Bei dem
bevorzugten Ausführungsbeispiel von Fig. 1 steuert der Prozessor
14 die in Fig. 8 gezeigte Ereignisfolge. Die eigentlichen
Puffer werden wie oben bereits erwähnt direkt vom
Lese/Schreibesteuerkreis 28 gesteuert. In Fig. 8 wird der
Puffer, der die Eingangsdaten empfängt, zuerst vom
Lesesteuerkreis 28 aktiviert, um die Daten auf den Datenleitungen 20 von
Speicher 10 zu empfangen. Die Abtastzeilenzählung wird über
Leitung 20 zuerst in den Abtastzeilenzeiger geladen. Bei dem
bevorzugten Ausführungsbeispiel bezieht sich wie oben erwähnt
die Abtastzeilenzählung auf die Abtastzeilen, die von den
durch die Verbindungsadresse adressierten Attributwörtern
geändert werden. Als nächstes werden die Verbindungsadresse
und die Blockgröße gelesen, und der Puffer-Lese/Schreibzeiger
30 wird über der bestehenden Synchronisierspeicherung im
Puffer inkrementiert, wie dies oben bereits beschrieben und in
Fig. 5b gezeigt wurde. Auf diese Art und Weise werden die
bestehenden Synchronisierdaten im LIFO beibehalten. Die
Attributwörter mit Attributdaten und bei Bedarf auch mit
Synchronisierdaten werden danach in den Puffer geladen. Da es sich bei
dem Puffer um einen Last In/First Out-Puffer handelt, zeigt
der Lese/Schreibzeiger 30 auf den letzten Dateneingang im
Puffer. Der Puffer wird dann als voll gekennzeichnet und ist
bereit, neue Ausgangsdaten zu liefern. Der Prozessor 14 und
der Lese/Schreibschaltkreis 28 können nun diese Folge
wiederholen, sobald der Abtastzeilenzähler das Ende erreicht hat.
-
Fig. 9 zeigt die Ereignisfolge für den Datenausgang aus dem
Puffer. Bei dem bevorzugten Ausführungsbeispiel sorgt eine
dedizierte Logik für die Steuerung der Folge. Nachdem der
Pufferausgang aktiviert wurde, wird das erste Wort des Puffers
gelesen. Insbesondere die Lauflänge wird in den
Lauflängenzähler geladen, und das Attributwort mit entweder den
Attributdaten oder den Synchronisierdaten wird wie oben beschrieben in
das Dekodierregister 103 geladen. Die Informationen im
Dekodierregister 103 werden dann vom entsprechenden
Dekodierschaltkreis dekodiert, während das Signal für eine
Pel-Taktperiode erzeugt wird. Der Lauflängenzähler 38, der das Pel-
Taktsignal auf Leitung 47 empfängt, wird dekrementiert. Wenn
die Zählung des Lauflängenzählers nicht Null beträgt, werden
die Informationen im Dekodierschaltkreisregister 103 erneut
ausgegeben. Wenn der Lauflängenzähler zuletzt auf Null
dekrementiert wird, und wenn kein horizontales Synchronisiersignal
vorhanden ist, wird der Puffer-Lese/Schreibzeiger 30
dekrementiert und das nächste Pufferwort wird wie zuvor in den
Lauflängenzähler 38 und das Dekodierregister 103 geladen. Wenn
der horizontale Synchronisierzyklus beendet ist, deutet dies
auf das Ende der Attributcodezeile hin. Der Abtastzähler 22
wird dekrementiert, und wenn der Abtastzähler nicht den Wert
Null hat, wird der Puffer-Lese/Schreibzeiger 30 erneut auf
seine ursprüngliche Position gesetzt, um die Liste der
Attribute für die nächste Abtastzeile zu wiederholen. Wenn der
Abtastzeilenzähler den Wert Null hat, sind die Puffer leer,
und der Lese/Schreibschaltkreis 28 empfängt vom
Abtastzeilenzähler 22 auf Leitung 27 den Hinweis, daß die Puffer geändert
werden.
-
Der abwechselnde Ein- und Ausgang der Puffer 32 und 34 nach
der in den Fig. 8 und 9 aufgezeigten Methode ermöglicht
einen kontinuierlichen Fluß von Attribut- und
Synchronisierdaten zum Dekodierschaltkreis 40. Das Speichern der Daten im
Speicher 10 unter Verwendung der Verbindungsadressen und dem
Datenformat, das die Abtastzählung und die Lauflänge
ermöglicht, spart Speicherplatz im Speicher 10 und sorgt für einen
kontinuierlichen Datenstrom. Darüber hinaus sorgt die Aufnahme
der Synchronisierdaten im Speicher 10 zusammen mit
Attributdaten und dem einmaligen Lese/Schreibzeigermechanismus für die
Puffer 32 und 34 für eine einfachere Programmierung der
Synchronisierdaten. Des weiteren ist die ständige
Umprogrammierung der gleichen Synchronisierdaten durch die Software
nicht mehr erforderlich.