-
HINTERGRUND
DER ERFINDUNG
-
GEBIET DER
ERFINDUNG
-
Die
vorliegende Erfindung betrifft einen seriellen Drucker, der in einem
Rechnersystem als Terminalprinter oder Faksimiledrucker eingesetzt
wird, und insbesondere einen seriellen Drucker, der ein verbessertes
Verfahren zum Speichern von Daten in einem Bildpuffer einsetzt.
-
VERWANDTE
TECHNIK
-
Ein
herkömmlicher
serieller Drucker erzeugt eine Unterbrechung für jede Drucksequenz und überträgt gemäß einem
Unterbrechungsprozessprogramm erforderliche Bilddaten von einem
Puffer (einem Bildpuffer), in welchem sie gespeichert sind, an einen
Druckkopf. Im Druckkopf ist eine Mehrzahl von Punktbildungselementen
(z.B. Tintenstrahldüsen oder
Anschlagdrähten)
vorgesehen, die in der Spaltenrichtung (senkrecht) angeordnet sind,
und wenn der Kopf über
eine Reihe (horizontal) bewegt wird, wird die Punktbildungselementmatrix
jedes Mal aktiviert, wenn sie die Position eines einzelnen Pixels
erreicht.
-
Daher
wird für
die Übertragung
von Bilddaten an einen Druckkopf ein Satz von Daten für jede Punktbildungselementmatrix
an den Druckkopf übertragen.
-
10 ist
ein Diagramm, welches zeigt, wie Daten zu verarbeiten sind, die
im Bildpuffer des seriellen Druckers gespeichert sind.
-
Ursprungsdaten
zur Eingabe in einen seriellen Drucker werden zuerst in einem Speicherbereich gespeichert,
der Datenpuffer 61 genannt wird. Die Ursprungsdaten können verschiedene
Arten von Bilddaten umfassen; demnach werden in dem Beispiel, das
in 10 dargestellt ist, zum besseren Verständnis dessen,
was als letzte Bilddaten 69 definiert wird, die in einem
später
zu beschreibenden Bildpuffer 67 enthalten sind, Rastergrafikbilddaten 65 gespeichert,
welche den letzten Bilddaten 69 entsprechen und in die
Ursprungsdaten aufgenommen werden sollen. Die einzelnen Blöcke, die
in den Ursprungsbilddaten 65 mit den Bezugszeichen 1, 2
und 3 versehen sind, stellen die Daten für ein Byte (einen Satz von
acht sequenziellen Pixeln auf derselben Zeile) dar. Die Zahlen,
die für
die Bytes bereitgestellt sind, geben die Reihenfolge an, in welcher
ein Bild unter Verwendung des Rasterverfahrens abgetastet worden
ist.
-
Das
heißt,
die Rasterabtastung beginnt bei der obersten Zeile (horizontalen
Zeile) in einem Bild, tastet die Pixel in dieser Zeile horizontal
von links nach rechts (oder in der umgekehrten Richtung) (Byte 1
bis 10 in 10) ab und tastet dann die zweite
Zeile (Byte 11 bis Byte 20) horizontal ab und bewegt sich zu der
Zeile, die unmittelbar darunter liegt. Dieser Prozess wird wiederholt,
bis die Abtastung für die
unterste Zeile beendet ist.
-
In
einem Bildgebungsprozess 63 werden die Ursprungsdaten 65,
die aus dem Datenpuffer 61 ausgelesen werden, eingesetzt,
um die letzten Rastergrafikbilddaten 69 zu erzeugen, welche
in den Bildpuffer 67 geschrieben werden. Im Bildgebungsprozess 63 entspricht
die Reihenfolge, in welcher die letzten Bilddaten 69 erzeugt
werden, der zuvor beschriebenen Rasterabtastungsreihenfolge (d.h.
der Reihenfolge, die den Byte-Zahlen in 10 folgt), während die
Reihenfolge, in welcher auf den Bildpuffer 67 zugegriffen
wird, wenn die Daten geschrieben werden, einfach der Adressreihenfolge
entspricht. Daher werden die letzten Bilddaten 69 so im
Bildpuffer 67 gespeichert, dass, wie in 10 dargestellt, wenn
auf Daten im Bildpuffer 67 in der Reihenfolge der Adressen
zugegriffen wird, die Bytes in der Rasterreihenfolge (in der aufsteigenden
Zahlenreihenfolge) gelesen werden.
-
Dann
werden in einem Übertragungsprozess 111 die
Bytes der letzten Bilddaten 609 aus dem Bildpuffer 67 ausgelesen
und an den Druckkopf übertragen.
Die Reihenfolge, in welcher die Bytes aus dem Bildpuffer 67 ausgelesen
werden, entspricht der Reihenfolge, in welcher die Punktbildungselemente
in der Nebenabtastrichtung des Druckkopfs angeordnet sind, welche
nicht mit der Rasterabtastungsreihenfolge übereinstimmt. Konkret weist
der allgemeine Druckkopf für
einen seriellen Drucker eine Mehrzahl von Punktbildungselementen
(z.B. Tintenstrahldüsen
oder Anschlagdrähten)
auf, die in der Nebenabtastrichtung (Spaltenrichtung) angeordnet
sind, und während
der Kopf sich in der Hauptabtastrichtung (entlang einer Reihe) bewegt,
muss die Punktbildungselementmatrix jedes Mal aktiviert werden, wenn
sie die Position eines einzelnen Pixels erreicht. Für den Übertragungsprozess 111 muss
daher ein Satz einer Mehrzahl von Bytes, die an die Punktbildungselementmatrix
zu übergeben
sind, d.h. einer Mehrzahl von Bytes, die im Bildpuffer 67 in
der Spaltenrichtung angeordnet sind, ausgelesen werden.
-
In
der Annahme, dass vier Punktbildungselemente in einer Matrix vorhanden
sind, wird in 10 zunächst ein Satz von vier Bytes,
Bytes 1, 11, 21 und 31 ausgelesen, dann wird ein Satz von Bytes
2, 12, 22 und 32 ausgelesen, und schließlich wird ein Satz von Bytes
3, 13, 23 und 33 ausgelesen. Die Bytes, die als ein Satz auszulesen
sind, werden jedoch in Adressen gespeichert, die im Bildpuffer 67 getrennt voneinander
angeordnet sind.
-
Es
wird nun ein herkömmliches
Verfahren beschrieben, das durch einen seriellen Farbtintenstrahldrucker
zum Speichern von Daten in einem Bildpuffer und zum Übertragen
von Daten an einen Druckkopf eingesetzt wird.
-
Zunächst wird
als eine Annahme ein Farbeinstellungsproblem des herkömmlichen
seriellen Druckers unter Bezugnahme auf 11 beschrieben.
-
In 11(a) ist die schematische Anordnung für einen
Druckkopf in einem seriellen Tintenstrahlfarbdrucker dargestellt,
durch welchen Tinte ausgestoßen
wird. Für diese
Erörterung
wird davon ausgegangen, dass in einem Druckkopf 54 vier
Düsenmatrizen 71, 72, 73 und 74 vorhanden
sind. Eine Mehrzahl von Düsen 71a, 72a, 73a und 74a ist
für jede
der Düsenmatrizen 71 72, 73 und 74 vorgesehen.
Außerdem
ist die Anordnung für
die Düsenmatrizen 71, 72, 73 und 74 so
ausgelegt, dass die Matrizen durch eine vorbestimmte Distanz d getrennt
sind.
-
Wenn
zum Beispiel ein Farbdruck unter Verwendung des Druckkopfs 54 in 11(a) durchzuführen
ist, werden für
die Düsenmatrizen 71, 72, 73 und 74 verschiedenfarbige
Tinten, wie beispielsweise Cyan (C), Magenta (M), Gelb (Y) und Schwarz
(K) zugeteilt, und C-, M-, Y- und K-Punkte werden an derselben Stelle zum
Mischen der Farben gedruckt.
-
Konkret
wird, wie in 11(b) dargestellt, wenn der
Druckkopf 54 in Position (A) angeordnet wird, die Tinte
durch die Düsenmatrix 71 ausgestoßen und,
wenn der Druckkopf 54 in Position (B) angeordnet wird,
wird die Tinte durch die Düsenmatrix 72 ausgestoßen. Ähnlich wird,
wenn der Druckkopf 54 in Position (C) angeordnet wird,
die Tinte durch die Düsenmatrix 73 ausgestoßen und,
wenn der Druckkopf 54 in Position (D) angeordnet wird,
wird die Tinte durch die Düsenmatrix 74 ausgestoßen. Folglich werden
durch die Düsenmatrizen 71, 72, 73 und 74 verschiedenfarbige
Tinten an einer Druckstelle 76 auf einem Druckbogen 55 ausgestoßen, und
die vier Farben C, M, Y und K werden gemischt, um einen Farbdruck
bereitzustellen.
-
Wie
zuvor beschrieben, ist der Druckkopf des Farbtintenstrahldruckers
so ausgelegt, dass zum Beispiel Tintenstrahldüsenmatrizen für vier Farben, Cyan
(C), Magenta (M), Gelb (Y) und Schwarz (K), wobei jede Matrix eine
Mehrzahl von Düsen
(fünf Düsen in 11) umfasst, in einem vorbestimmten Abstand
d angeordnet sind. Während
der Übertragung von
Daten, die durch das zuvor erwähnte
Programm durchgeführt
wird, werden Daten für
jede Düsenmatrix übertragen.
-
In 12 ist
ein Verfahren dargestellt, das durch einen herkömmlichen seriellen Farbdrucker zum
Speichern von Daten in einem Bildpuffer eingesetzt wird.
-
Im
Bildgebungsprozess, der durch den herkömmlichen seriellen Farbdrucker
durchgeführt
wird, werden C-, M-, Y- und K-Bilder einzeln im Speicher entwickelt,
wie in 12 dargestellt.
-
Wie
in 12 dargestellt, weist ein Bildpuffer 67' vier getrennte
Speicherbereiche für
die einzelnen C-, M-, Y- und
K-Farbdüsenmatrizen
auf.
-
Konkret
wird davon ausgegangen, dass Daten (ein Byte), die einem Satz (8
Bits) von Pixelwerten (jeweils 1 Bit) entsprechen, welche jeweils
anzeigen, ob ein Punkt an derselben Druckstelle 76 auf dem
Druckbogen 55, der in 11(b) dargestellt
ist, gedruckt wird oder nicht, als ein schattierter Abschnitt dargestellt
werden, wie in 12 zu sehen. Die schattierten
Abschnitte für
C-, M-, Y- und K-Farben werden so gespeichert, dass sie diskontinuierlich
angeordnet sind. Die Abschnitte bestehend aus einem Byte, zwei Bytes
und drei Bytes, die in 12 mit d', 2d' beziehungsweise
3d' bezeichnet sind,
sind Pseudospeicherwerte des Bildpuffers 67'. Das heißt, durch die Pseudobildabschnitte
scheinen die Daten vorhanden zu sein. Wenn der Prozess in der Richtung
durchgeführt
wird, die in 12 durch einen Pfeil angezeigt
wird, wird mit der Übertragung
von Daten an den Druckkopf begonnen, und die Übertragungszeitgaben für die Daten
werden so versetzt, dass der zuvor beschriebene Farbdruck bereitgestellt werden
kann.
-
In 12 entspricht
der Abschnitt d' dem Speicherwert,
welcher der vorbestimmten Distanz d entspricht, welche die Düsenmatrizen
trennt, die in 11 dargestellt sind,
und der reale Bild(druck)bereich im Speicher ist so, wie in 12 dargestellt.
-
13 ist ein Flussdiagramm für die Verarbeitung,
die durch einen herkömmlichen
seriellen Farbdrucker zum Übertragen
von Daten an den Druckkopf unter Verwendung eines Programms durchgeführt wird.
-
Wie
in 13(a) bis 13(d) dargestellt, sind
unabhängige
Zeiger und Zähler
für die
vier Farben C, M, Y und K erforderlich, obwohl ein Programm zum
Verwalten der Zeiger für
einzelne Farben verwendet wird.
-
Da
die Menge von Bilddaten in letzter Zeit in Übereinstimmung mit einer Zunahme
von Druckdichten zugenommen hat, ist das Verkürzen der Übertragungsperioden, welche
demgemäß erweitert
wurden, wichtig geworden.
-
In
der herkömmlichen
Technik, die während der
Bezugnahme auf 10 erörtert wurde, wird im Übertragungsprozess 111 ein
Satz einer Mehrzahl von Bytes, welche in der Richtung von Reihen
angeordnet sind und welche der Punktbildungselementmatrix entsprechen,
aus dem Bildpuffer 67 ausgelesen. Die Bytes, die in der
Richtung von Reihen angeordnet sind, werden in Speicherbereichen
in Adressen gespeichert, die im Bildpuffer 67 voneinander
getrennt sind. Im Übertragungsprozess 111 muss
daher eine Berechnung der getrennten Adressen für jedes Datenlesen durchgeführt werden.
-
Im Übertragungsprozess 111 muss
die Zeit, zu welcher ein Satz der Bytes vom Bildpuffer 67 an den
Druckkopf übertragen
wird, in Übereinstimmung mit
der Zeit, zu welcher die Punktbildungselementmatrix an den einzelnen
Pixelpositionen ankommt, festgelegt werden. Tatsächlich wird der Übertragungsprozess
als ein Unterbrechungsprozess durchgeführt, für welchen ein periodisches
Signal, das durch ein Schlittenbewegungssystem erzeugt wird, als
ein Auslöser
verwendet wird. Obwohl der Übertragungsprozess
bei einer Zeitgabe durchgeführt
werden muss, die rigoros gesteuert wird, erhöht die Durchführung der
zuvor beschriebenen, komplizierten Adressberechnung die Last, die
der CPU auferlegt wird, und verschlechtert den Durchsatz.
-
Mit
dem herkömmlichen
Verfahren, das zum Speichern von Daten im Bildpuffer verwendet wird und
für den
seriellen Farbdrucker erörtert
wurde, wird der Bildpuffer in Speicherbereiche für vier Farben C, M, Y und K
getrennt, wie in 12 dargestellt, und Bilddaten
für vier
Farben werden für
einzelne C-, M-, Y- und K-Düsenmatrizen
diskontinuierlich gespeichert.
-
Wenn
die Daten im Übertragungsprozess
an den Druckkopf zu übertragen
sind, muss auf die diskontinuierlichen Adressen eine Anzahl von
Malen zugegriffen werden, die der Anzahl von Farben entspricht.
Außerdem
müssen,
wie in 13 dargestellt, die Zeiger
für die
Farben C, M, Y und K unabhängig
verwaltet werden. Wenn die Daten an das Programm zu übertragen
sind, ist daher viel Aufwand für
die Verwaltung der Zeiger zur Extraktion von Daten erforderlich.
-
Ein
DMA kann für
eine Hochgeschwindigkeitsdatenübertragung
eingesetzt werden. Die Anzahl von Düsenmatrizen im seriellen Drucker
beträgt jedoch
drei oder kann so viel wie zehn betragen und, wenn zum Beispiel
die Daten für
die C-, M-, Y- und K-Düsenmatrizen
diskontinuierlich gespeichert werden, sind wenigstens vier DMA-Übertragungsleitungen
(Kanäle)
zum Übertragen
von Daten an den Druckkopf notwendig.
-
Da
in diesem Fall jedoch nur zwei DMA-Übertragungsleitungen
(Kanäle)
in einer vergleichsweise billigen CPU eingebaut sind, wird das DMA-Verfahren
eigentlich nicht voll für
die Übertragung
von Daten an den Druckkopf eingesetzt.
-
Die
europäische
Patentanmeldung 0 690 410 A, die am 3. Januar 1996 veröffentlicht
wurde, beschreibt einen Drucker, der eine Abtasteinheit zum Abasten
eines Druckkopfs in einer von der Anordnungsrichtung verschiedenen
Richtung der Aufzeichnungselemente, die den Druckkopf bilden, einen Speicher
zum Speichern von Druckdaten, eine Schreibeinheit zum Schreiben
der Druckdaten in den Speicher und eine Leseeinheit zum Auslesen
der Druckdaten, die in den Speicher eingeschrieben sind, synchron
mit der Abtastung des Druckkopfs durch die Abtastmittel zum Liefern
der Druckdaten an den Druckkopf umfasst. Der Speicher weist kontinuierliche
Adressen in Bezug auf die Anordnung der Druckdaten entsprechend
der Anordnungsrichtung der Aufzeichnungselemente auf.
-
EP 0 574 199 A ,
veröffentlicht
am 15. Dezember 1992, betrifft ein Verfahren zum Umwandeln von Bilddaten
in einem Drucker. Das Verfahren wandelt Bilddaten von einem ersten
(Reihen-) Format in ein zweites (Spalten-) Format um. Eine CPU schreibt ein
Bild des ersten Formats in einen Adressraum, und eine Umwandlungsschaltung
wandelt sie dann in das zweite Format um. Die CPU schreibt dann
Bilddaten in einen zweiten Adressraum, und ein Ausgabemittel, das
auf diese Bilddaten im zweiten Adressraum anspricht, gibt in Abhängigkeit
von einer Auswahl, die durch ein Wählmittel getroffen wird, entweder
die Bilddaten, die in den zweiten Adressraum geschrieben sind, oder
die umgewandelten Daten aus.
-
Die
japanische Patentanmeldung 58195359, die am 14. November 1983 veröffentlicht
wurde, beschreibt ein Drucksystem, welches die Notwendigkeit eines
Seitenspeichers beseitigt und ein Steuermittel, z.B. einen Befehlszähler, durch
Schreiben von Daten in einem Pufferspeicher in der Reihenfolge von Adressen,
die mit einem Aufzeichnungskopfabtastwortteil basierend auf einer
Anfangsadresse hinzugefügt
werden, und Auslesen der Daten in der Reihenfolge von kontinuierlichen
Adressen vereinfacht.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Es
ist daher eine erste Aufgabe der vorliegenden Erfindung, einen seriellen
Drucker bereitzustellen, der kontinuierliche Bilddaten erhält, die
bei derselben Druckzeitgabe für
Punktbildungselementmatrizen in einem Druckkopf eingestellt werden;
die Anzahl von Malen verringert, die Adressberechnungen und Speicherzugriffszeiten
durch Übertragen von
Sätzen
von Bilddaten erforderlich machen; die Last verringert, die der
CPU während
der Datenübertragung
auferlegt wird; und den Durchsatz verbessert.
-
Eine
zweite Aufgabe der vorliegenden Erfindung ist es, einen seriellen
Drucker bereitzustellen, der die Adressberechnungen verringert,
die für
einen Prozess benötigt
werden, durch welchen Bilddaten von einem Bildpuffer an einen Druckkopf übertragen werden,
derart dass die Zeit, die für
einen Prozess benötigt
wird, dem eine Beschränkung
bezüglich
der Zeit auferlegt ist, verkürzt
wird und der Durchsatz verbessert wird.
-
Konkret
wird gemäß der Erfindung
ein serieller Drucker mit den Merkmalen bereitgestellt, die in Anspruch
1 angeführt
werden.
-
Der
Vorteil dieser Konfiguration ist, dass Daten aus dem zweiten Speicherbereich
(der dem Bildpuffer entspricht) einfach in der Adressreihenfolge ausgelesen
und an den Druckkopf übertragen
werden können.
Das heißt,
es werden keine komplizierten Adressberechnungen für den Übertragungsprozess
benötigt,
und die Zeit, die für
den Übertragungsprozess
benötigt
wird, wird verkürzt.
-
Stattdessen
werden Adressberechnungen im Bildgebungsprozess benötigt; da
aber im Gegensatz zum Übertragungsprozess
dem Bildgebungsprozess keine Beschränkung bezüglich der Zeit auferlegt wird,
wird die Gesamtlast, die der CPU auferlegt wird, verringert. Der
Bildgebungsprozess ist ursprünglich
ein verteilter Prozess, und für
diesen Prozess werden kontinuierliche Adressen nicht so sehr benötigt wie
für den Übertragungsprozess.
Während des Übertragungsprozesses
wird nur die Datenübertragung
zwischen Speichern durchgeführt,
welche für Datenübertragungen
geeignet ist, die für
die Blockeinheiten durchgeführt
werden.
-
Da
demgemäß die Anzahl
von Adressberechnungen und die Anzahl von Speicherzugriffen durch
die Maßnahmen,
die durch die Erfindung getroffen werden, ungeachtet dessen verringert
werden, ob eine DMA-Datenübertragung
(Hardware-Übertragung)
oder ein Programm für
einen Unterbrechungsprozess (Software-Übertragung) durchgeführt wird,
kann die Last, die der CPU während
der Datenübertragung
auferlegt wird, verringert werden, und der Durchsatz kann verbessert
werden.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Funktionsblockdiagramm, welches die Anordnung eines seriellen
Druckers gemäß einer
ersten Ausführungsform
der vorliegenden Erfindung veranschaulicht;
-
2 ist
eine schematische Darstellung, welche die Struktur eines Druckkopfs
für den
seriellen Drucker gemäß der ersten
Ausführungsform
der vorliegenden Erfindung darstellt;
-
3 ist
ein Diagramm zum Erläutern
eines Verfahrens zum Speichern von Daten in einem Bildpuffer gemäß der ersten
Ausführungsform
der vorliegenden Erfindung;
-
4 ist
ein Flussdiagramm zum Erläutern des
Verfahrens, das zum Speichern von Daten im Bildpuffer gemäß der ersten
Ausführungsform
der vorliegenden Erfindung verwendet wird;
-
5 ist
ein Zeitdiagramm, welches die Ausführung von Zeitgaben für einen Übertragungsprozess
und einen Prozess, der den anderen Hauptprozess umfasst, darstellt;
-
6 ist ein Diagramm zum Erläutern eines Verfahrens
zum Speichern von Daten im Bildpuffer gemäß einer zweiten Ausführungsform
der vorliegenden Erfindung; wobei (a) ein konzeptionelles Diagramm
ist, und (b) ein Diagramm ist, welches den Zustand darstellt, in
welchem CMYK-Daten in sequenziellen Adressen gespeichert werden;
-
7 ist
ein Diagramm zum Erläutern
sowohl eines Verfahrens zum Speichern von Daten in einem Bildpuffer
als auch eines Verfahrens zum Übertragen
von Daten vom Bildpuffer an einen Druckkopf gemäß der zweiten Ausführungsform
der vorliegenden Erfindung;
-
8 ist
ein Diagramm, welches ein Beispiel darstellt, das die zweite Ausführungsform
der vorliegenden Erfindung verwendet, wobei während eines Übertragungsprozesses
eine Übertragung
von Bilddaten an den Druckkopf durch ein Programm und eine DMA-Übertragung
durchgeführt
wird;
-
9 ist
ein Flussdiagramm, welches ein Beispiel darstellt, das die zweite
Ausführungsform der
vorliegenden Erfindung verwendet, wobei während eines Übertragungsprozesses
eine Übertragung
von Bilddaten an den Druckkopf durch ein Programm durchgeführt wird;
-
10 ist
ein Diagramm zum Erläutern
eines Verfahrens, das durch einen herkömmlichen seriellen Drucker
zum Speichern von Daten im Bildpuffer eingesetzt wird;
-
11 ist ein Diagramm zum Erläutern des Mischens
von Farben, das durch einen herkömmlichen
seriellen Drucker durchgeführt
wird; wobei (a) eine schematische Darstellung für die Anordnung eines Druckkopfs
ist, und (b) ein Diagramm ist, welches die Beziehung zwischen einer
vorbestimmten Distanz d und der Farbmischung darstellt;
-
12 ist
ein konzeptionelles Diagramm zum Erläutern eines Verfahrens, das
durch einen herkömmlichen
seriellen Drucker zum Speichern von Daten im Bildpuffer eingesetzt
wird; und
-
13 ist ein Flussdiagramm für die Verarbeitung,
die durch den herkömmlichen
seriellen Drucker zum Übertragen
von Daten an einen Druckkopf gemäß einem
Programm durchgeführt
wird; wobei (a) ein Flussdiagramm für die Übertragung von Daten C ist,
(b) ein Flussdiagramm für
die Übertragung
von Daten M ist, (c) ein Flussdiagramm für die Übertragung von Daten Y ist,
und (d) ein Flussdiagramm für die Übertragung
von Daten K ist.
-
DETAILLIERTE
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Erste Ausführungsform
-
In 1 ist
die allgemeine Anordnung eines seriellen Druckers gemäß einer
ersten Ausführungsform
der vorliegenden Erfindung dargestellt, der als ein Terminaldrucker
für ein
Rechnersystem eingesetzt wird.
-
Ein
Drucker 21 empfängt über eine
Hostschnittstelle 25 Ursprungsdaten von einem Hostrechner 23 und
speichert sie vorübergehend
in einem Daten(empfangs)puffer 27, Die Ursprungsdaten bilden einen
Strom von Befehlen, die in einer Sprache dargestellt sind, die der
Drucker 21 versteht, und die Befehle umfassen Daten, die
ein Bild unter Verwendung einer der zuvor beschriebenen Formen darstellen.
-
Eine
CPU 29 im Drucker 21 führt einen Bildgebungsprozess 35,
einen Übertragungsprozess 37 und
verschiedene andere Prozesse durch. Im Bildgebungsprozess 35 werden
die Ursprungsdaten vom Datenpuffer 27 in der Empfangsreihenfolge
ausgelesen und übersetzt,
und Rastergrafikbilddaten, bei welchen es sich um einen Satz von
binären
Werten handelt, die anzeigen, ob ein Punkt für jedes Pixel gedruckt werden
soll, werden erzeugt und in einen Bildpuffer 31 geschrieben.
Im Übertragungsprozess 37 werden
die Bilddaten 31 an einen Druckkopf 33 übertragen.
Der Übertragungsprozess
wird als ein Unterbrechungsprozess durchgeführt, in welchem ein periodisches
Signal, welches durch ein Schlittenbewegungssystem (nicht dargestellt) übertragen wird,
das den Druckkopf 33 bewegt, als ein Auslöser eingesetzt
wird.
-
2 ist
ein Diagramm, welches die Anordnung von Punktbildungselementen im
Druckkopf 33 darstellt, der in dieser Ausführungsform
verwendet wird.
-
Der
Druckkopf 33 weist fünf
Punktbildungselemente 39 auf, die in der Spaltenrichtung
angeordnet sind. Der Druckkopf 33 bewegt sich in der Richtung
von Reihen (horizontal) entlang der Oberfläche eines Bogens, und die fünf Punktbildungselemente 39 werden
gleichzeitig betätigt,
wenn sie an individuellen Pixelpositionen ankommen (d.h. ein Punkt
wird gedruckt oder nicht).
-
Ein
tatsächlicher
Druckkopf weist mehr Punktbildungselemente als jene auf, die in 2 dargestellt
sind, zum Beispiel 32 Punktbildungselemente, und zusätzlich zu
der einfachen Einmatrixanordnung kann eine Vielfalt von Anordnungen,
wie beispielsweise eine Zickzack-Anordnung, eingesetzt werden. Da
das Prinzip für diese
Anordnungen dasselbe ist, sollte für einen Durchschnittsfachmann leicht
zu erkennen sein, dass das Prinzip der vorliegenden Erfindung für einen
Druckkopf mit einer anderen Anordnung ebenso eingesetzt werden kann wie
für den
in dieser Ausführungsform.
-
In 3 ist
das Schreiben und Lesen von Daten in Bezug auf den Bildpuffer 31 gemäß dieser Ausführungsform
dargestellt.
-
Ursprungsdaten 41 sind
in einem Datenpuffer 27 gespeichert. Die Ursprungsdaten 41 umfassen verschiedene
Formen von Daten, die Bilder darstellen; in diesem Beispiel, sowie
in 10, sind die Bilddaten, die in den Ursprungsdaten 41 enthalten
sind, zum besseren Verständnis
der Bedeutung der letzten Bilddaten im Bildpuffer 31, welcher
später
beschrieben wird, Rastergrafikdaten. Blöcke, die in den Ursprungsdaten 41 mit
1, 2, 3, ... nummeriert sind, sind Bytedaten (Sätze von acht kontinuierlichen
Pixelwerten auf derselben Zeile), und die Byte-Zahl stellt die Rasterabtastreihenfolge
dar.
-
Im
Bildgebungsprozess 35 werden die Ursprungsdaten 41 vom
Datenpuffer 27 ausgelesen und übersetzt, und es werden die
letzten Rastergrafikbilddaten 43 erzeugt und in den Bildpuffer 31 geschrieben.
Zu diesem Zeitpunkt werden im Bildgebungsprozess 35 die
Bytes für
die letzten Bilddaten 43 in der Rasterabtastreihenfolge
(d.h. in der Reihenfolge der Byte-Zahlen) erzeugt.
-
Wenn
im Bildgebungsprozess 35 die Bytes, die in der Rasterabtastreihenfolge
erzeugt werden, in den Bildpuffer 31 zu schreiben sind,
wird auf den Bildpuffer 31 im Gegensatz zum herkömmlichen
Fall nicht in der Reihenfolge von Adressen zugegriffen, sondern
es wird auf eine Adresse zugegriffen, die durch Addieren der Anzahl
von Punktbildungselementen 39 (im Folgenden als die Höhe des Druckkopfs 33 bezeichnet),
welche in der Spaltenrichtung im Druckkopf 33 angeordnet
sind, zu der Adresse, in welche die Bytes für die unmittelbar vorangehende Zeile
geschrieben sind, erhalten wird.
-
Zum
Beispiel wird das erste Byte in die erste Adresse geschrieben, wie
in 3 dargestellt, das zweite Byte ist in eine Adresse
geschrieben, die durch Addieren einer Kopfhöhe von „5" zur ersten Adresse erhalten wird, und
das dritte Byte wird in eine Adresse geschrieben, die durch Addieren
einer weiteren „5" zur vorangehenden
Adresse erhalten wird. Auf diese Weise wird ein Mehrzahl von Bytes, die
kontinuierlich in derselben Zeile angeordnet sind, in Adressen im
Bildpuffer 31 gespeichert, die durch eine Distanz getrennt
sind, die der Kopfhöhe
entspricht. Wenn die Bytes für
eine Zeile gespeichert wurden, werden die Bytes für die folgende
Zeile in Adressen gespeichert, die den Adressen der Bytes für die vorangehende
Zeile folgen.
-
Wenn
zum Beispiel die Bytes 1 bis 10 für die erste Zeile gespeichert
worden sind, werden die Bytes 11 bis 20 für die zweite Zeile in Adressen
gespeichert, die jenen für
die Bytes 1 bis 10 folgen, und Bytes für die dritte Zeile werden in
Adressen gespeichert, die jenen für die Bytes der zweite Linie
folgen. Wenn die Speicherung von Bytes bis zur fünften Zeile beendet ist, ist
der Bildpuffer 31 so, wie in 3 dargestellt,
und alle kontinuierlichen Adressen sind durch Daten belegt. Danach
werden Bytes für
die sechste und die folgenden Zeilen auf dieselbe Art und Weise
in nachfolgenden leeren Bereichen (nicht dargestellt) im Bildpuffer 31 gespeichert.
-
4 ist
ein Flussdiagramm, welches die Speicherverarbeitung darstellt. Im
Bildgebungsprozess 35 werden Prozesse (Schritt S1 und S2)
zum Erzeugen von Bytes aus den Ursprungsdaten in der Rasterabtastreihenfolge
und ein Prozess (Schritt S3) zum Berechnen von Adressen, in welchen
die erhaltenen Bytes zu speichern sind, durchgeführt. Die Bytes werden dann
in die erhaltenen Adressen geschrieben (Schritt S4). Die zuvor beschriebene
Verarbeitung wird für
alle Streifen in einem Seitenbild wiederholt (Schritt S5).
-
Als
Ergebnis solch einer Bilddatenspeicherverarbeitung werden in den
kontinuierlichen Adressen im Bildspeicher 31 fünf Bytes
gespeichert, die in der Spaltenrichtung eines Bildes angeordnet
sind und die der Kopfhöhe
entsprechen, wie in 3 dargestellt. Zum Beispiel
wird ein Satz von fünf
Bytes, 1, 11, 21, 31 und 41 in den ersten sequenziellen Adressen
gespeichert; ein Satz von folgenden fünf Bytes 2, 12, 22, 32 und
42, welche benachbart zu den fünf Bytes
in der Richtung von Reihen angeordnet sind, wird in den nächsten sequenziellen
Adressen gespeichert; und ein Satz von folgenden fünf Bytes
3, 13, 23, 33 und 43 wird in den nachfolgenden sequenziellen Adressen
gespeichert. Kurz gesagt, die Bytes werden so angeordnet, dass der
Druckkopf 33 in 2 Punkte bildet, die in den
sequenziellen Adressen im Bildpuffer 31 gespeichert sind.
-
Im Übertragungsprozess 37 werden
die Bilddaten 43 aus dem Bildpuffer 31 ausgelesen
und an den Druckkopf 33 übertragen. Zu diesem Zeitpunkt wird
auf die Daten im Bildpuffer 31 in ihrer Adressreihenfolge
zugegriffen. Mit anderen Worten, während die Adresse einfach um
eins erhöht
wird, werden die Bytes in der Reihenfolge von den sequenziellen Adressen
ausgelesen.
-
Daher
werden die herkömmlicherweise
erforderlichen komplizierten Adressberechnungen nicht durchgeführt. Da
die Anordnung der Bytes im Bildpuffer 31 der Anordnung
der Punktbildungselemente entspricht, kann ein Satz von fünf Bytes
(z.B. Bytes 1, 11, 21, 31 und 41), die aus den sequenziellen Adressen
ausgelesen werden, gleichzeitig an den Druckkopf übertragen
werden.
-
Wie
bereits erwähnt,
sind die komplizierten Adressberechnungen für den Übertragungsprozess 37 nicht
erforderlich, wodurch die Zeit, die für die Übertragungsverarbeitung benötigt wird,
im Vergleich zu der, die im herkömmlichen
Fall benötigt wird,
verkürzt
wird.
-
5 ist
ein Zeitdiagramm, welches die Ausführungszeitgaben für die Übertragungsverarbeitung und
die Verarbeitung, welche die Bildgebungsverarbeitung umfasst, darstellt.
Im Vergleich zur herkömmlichen Übertragungsprozesszeit,
die durch die gestrichelte Linie angezeigt ist, ist die Übertragungsverarbeitungszeit
in dieser Ausführungsform
um die Zeit kürzer,
die für
die Adressberechnung benötigt
wird, wie durch die durchgehende Linie angezeigt. Demgemäß wird eine
längere
Zeit für
die CPU 29 bereitgestellt, die für einen anderen Prozess als
den Übertragungsprozess
zur Verfügung
steht. Da im Bildgebungsprozess Adressberechnungen zunehmen, welche
für die
herkömmliche
Technik nicht benötigt
werden, wird demgemäß auch die
Bildgebungsverarbeitungszeit verlängert.
-
Diese
Zeit ist jedoch, wie die Verarbeitungslast, die der CPU 29 auferlegt
wird, geringer als die Last, die auferlegt wird, wenn die Adressberechnungen
im Übertragungsprozess
in der herkömmlichen Technik
durchgeführt
werden. Dies ist der Fall, da der Übertragungsprozess bei einer
genauen Zeitgabe synchron mit einem periodischen Unterbrechungssignal
vom Schlittenbewegungssystem durchgeführt werden muss, während es
für den
Bildgebungsprozess keine solche Beschränkung bezüglich der Zeit gibt, sondern
zu einem gewissen Grad eine freie Zeitplanung bis möglich ist.
-
Die
Zeitplanung erfolgt durch ein Prozesszeitplanungsprogramm (nicht
dargestellt), eine der Verarbeitungseinheiten in der CPU. Folglich
ist in dieser Ausführungsform
die Last, die der CPU auferlegt wird, kleiner als die Last, die
in der herkömmlichen Technik
auferlegt wird, und der Durchsatz wird verbessert.
-
Es
ist vorzuziehen, dass die Zeitplanung so erfolgt, dass die Durchführung des
Bildgebungsprozesses so eingestellt werden kann, dass sie während eines
anderen Zeitraums stattfindet als einem Zeitraum, in welchem der Übertragungsprozess
durchgeführt
wird.
-
Zweite Ausführungsform
-
Es
erfolgt nun eine Erläuterung
für einen
seriellen Drucker gemäß einer
zweiten Ausführungsform
der vorliegenden Erfindung und ein Bildpufferzugriffsverfahren dafür.
-
Ein
serieller Drucker gemäß der zweiten Ausführungsform
ist ein Farbtintenstrahldrucker, wobei, ebenso wie in dem zuvor
beschriebenen herkömmlichen
Farbtintenstrahldrucker, ein Druckkopf eine Mehrzahl von Tintenstrahldüsenmatrizen
umfasst, welche in einer Distanz voneinander angeordnet sind und
unter Verwendung von Cyan-, Magenta-, Gelb- und Schwarz-Tintentröpfchen bei
einer vorbestimmten Druckzeitgabe an derselben Stelle Punkte bilden.
Der Drucker in der zweiten Ausführungsform wird
ebenfalls als ein Terminaldrucker für ein Rechnersystem verwendet
und, da die allgemeine Anordnung dieselbe wie jene für die erste
Ausführungsform in 1 ist,
erfolgt hier keine weitere Erläuterung
dafür.
-
In 6 ist ein Verfahren dargestellt, das durch
den seriellen Drucker in dieser Ausführungsform zum Speichern von
Daten in einem Bildpuffer eingesetzt wird.
-
Wie
in 6(a) und 6(b) dargestellt
ist, werden in dem zuvor beschriebenen Bildgebungsprozess 35,
der durch den seriellen Farbdrucker durchgeführt wird, Daten für C-, M- Y- und K-Farbdüsenmatrizen
im selben Speicherbereich in einem Bildpuffer 31' gespeichert.
Die Datengruppen, welche bei einer bestimmten Druckzeitgabe an die
C-, M-, Y- beziehungsweise K-Farbdüsenmatrizen zu übertragen
sind, werden in kontinuierlichen Adressen im Bildpuffer 31' gespeichert,
wie durch den schattierten Abschnitt in 6(a) dargestellt
ist. Mit anderen Worten, wenn eine Datengruppe, die bei derselben
Zeitgabe an die C-Düsenmatrix
zu übertragen ist,
gespeichert wird, werden auch Datengruppen gespeichert, die bei
derselben Zeitgabe an die M-, Y- und K-Farbdüsenmatrizen zu übertragen
sind.
-
In
dem zuvor beschriebenen Übertragungsprozess 37,
wie in 6(b) dargestellt, wird eine Mehrzahl
von Bytes (fünf
Bytes jeweils für
C, M, Y und K in dem Beispiel, d.h. insgesamt 20 Bytes) für die C-,
M-, Y- und K-Farbdüsenmatrizen,
welche in kontinuierlichen Adressen 1 bis 20 sind, als ein Datensatz
aus dem Bildpuffer 31' ausgelesen
und gleichzeitig an den Druckkopf 33 übertragen.
-
Wie
bereits erwähnt,
ist das Hauptmerkmal des seriellen Druckers der zweiten Ausführungsform, welcher
eine Mehrzahl von Düsenmatrizen
aufweist, dass ein Satz von Daten verwendet wird, die bei einer bestimmten
Druckzeitgabe an die einzelnen Düsenmatrizen
zu übertragen
sind, und eine Kontinuität
von Daten während
der Datenübertragung
bereitgestellt wird.
-
Die
Abschnitte d, 2d und 3d in 6(a) sind Speicherabschnitte,
die gleich definiert sind, wie in 12(a) erläutert. Wie
in 6(b) dargestellt, werden reale
Daten nicht in solchen Pseudospeicherabschnitten gespeichert (es
werden binäre „0" gespeichert), und
sie werden als Nullpuffer definiert. Obwohl die Kontinuität von Daten
auch ohne Verwenden des Nullpufferverfahrens erreicht werden kann, können die
folgenden Vorteile durch Verwenden des Nullpufferverfahrens erzielt
werden.
-
Konkret
setzt der serielle Drucker in dieser Ausführungsform, welcher eine Mehrzahl
von Düsenmatrizen
aufweist, einen Satz von Daten ein, die bei einer bestimmten Druckzeitgabe
an die einzelnen Düsenmatrizen
zu übertragen
sind, und stellt eine Kontinuität
von Daten während
der Datenübertragung
bereit. Wie in 6(a) dargestellt, kann, da die Pseudodaten
am Endabschnitt des Bildpuffers gespeichert sind, ein Satz von Daten
bei einer bestimmten Zeitgabe aus jedem Bereich des Bildpuffers
an die einzelnen Düsenmatrizen übertragen
werden, ungeachtet dessen, ob die Daten Pseudodaten sind.
-
Wenn
das Nullpufferverfahren eingesetzt wird, ist vom Gesichtspunkt des
Programmierens keine Extraverzweigung erforderlich, und die Verarbeitung
gemäß dem Programm
kann leichter durchgeführt
werden.
-
In
der zweiten Ausführungsform
brauchen reale CMYK-Daten und CMYK-Pseudodaten nur in den sequenziellen
Adressen im Bildpuffer in der Reihenfolge, die in 6(b) dargestellt ist, gespeichert zu werden, um
Daten (einschließlich
Pseudodaten) im Bildpuffer zu speichern. Wenn jedoch der Bildpuffer,
in welchem Daten (einschließlich
Pseudodaten) in derselben Reihenfolge gespeichert sind, für bidirektionales
Drucken verwendet wird, muss die Richtung, in welcher Daten (einschließlich Pseudodaten) aus
dem Bildpuffer zu extrahieren sind, gemäß der Druckrichtung umgekehrt
werden.
-
Die
Richtung zum Zugreifen auf den Bildpuffer braucht für die DMR-Übertragung
oder für
eine Datenübertragung,
die durch einen Unterbrechungsprozess durchgeführt wird, nur umgekehrt zu
werden; es sollte jedoch ein Kopfdatenregister für einen Druckkopf, d.h. in
einer Druck-ASIC, für
die Übertragung
von Daten an eine entsprechende Düsenmatrix in jeder Richtung
bestimmt werden.
-
Wenn
in einem Kopfdatenregister in der Druck-ASIC eine zu übertragende
Adresse für
jede Düsenmatrix
verschieden ist, hängt
die Speicherung von Daten nicht von der Übertragungsreihenfolge ab. Wenn
eine Übertragungszieladresse
durch die CMYK-Düsenmatrix
gemeinsam verwendet wird und wenn die Daten (einschließlich Pseudodaten)
aus dem Bildpuffer in der umgekehrten Richtung extrahiert werden,
wird auch die Speicherung von Daten im Kopfdatenregister in der
umgekehrten Richtung durchgeführt.
In diesem Fall muss ein Wählschalter für die Druck-ASIC
bereitgestellt werden, derart dass die Richtung, in welcher Daten
im Datenkopfregister zu speichern sind, geändert wird, bevor die Übertragung
von Daten eingeleitet wird.
-
Es
erfolgt nun eine spezifische Erläuterung für ein Verfahren
zum Speichern von Daten im Bildpuffer in dieser Ausführungsform
und ein Verfahren zum Übertragen
von Daten aus dem Bildpuffer an den Druckkopf.
-
Gemäß einem
der Speicherverfahren werden zunächst
Pixelwerte oder eine Pixelwertgruppe für C-Bilddaten in sequenziellen
Adressen im Bildpuffer 31' gespeichert,
deren Anzahl der Anzahl von Tintenstrahldüsen entspricht, die in der
Spaltenrichtung für
eine C-Düsenmatrix
des Druckkopfs angeordnet sind. Dann werden Pixelwerte oder Pixelwertgruppen für C-Bilddaten,
welche sequenziell erzeugt werden und welche der Anzahl von C-Tintenstrahldüsen entsprechen,
in den Adressen im Bildpuffer 31' gespeichert, die durch eine Distanz
x (die Anzahl von Düsenmatrizen – 1) getrennt
sind, die der Anzahl von Tintenstrahldüsen für den Bildpuffer 31' entspricht.
-
Konkret
werden zunächst
für die
erste Pixelwertgruppe für
C-Bilddaten Bytedaten 1 bis 5 in fünf sequenziellen Adressen 1
bis 5 im Bildpuffer 31' gespeichert,
die der Anzahl von C-Tintenstrahldüsen entsprechen. Dann werden
Daten für
eine Pixelwertgruppe für
die nächsten
C-Bilddaten, d.h.
Bytedaten 6 bis 10, welche sequenziell erzeugt werden, in fünf Adressen
21 bis 25 im Bildpuffer 31' gespeichert,
die der Anzahl von C-Tintenstrahldüsen entsprechen und die durch
eine Distanz getrennt sind, die 15 Bits entspricht und 5 (Tintenstrahldüsenzählung) × [4 (CMYK-Düsenmatrixzählung insgesamt) – 1] beträgt. Die
Speicherung von Daten wird für
die Daten Ca, Cb, Cc und Cd (nicht dargestellt) wiederholt, welche jeweils
fünf Bytes
lang sind.
-
Pixelwerte
oder eine Pixelwertgruppe für Bilddaten
für M-Tintenstrahldüsenmatrizen,
welche der Matrix C folgen, d.h. Bytedaten 101 bis 105, werden in
fünf Adressen
6 bis 10 im Bildpuffer 31' gespeichert,
die den Adressen 1 bis 5 folgen, in welchen Ca gespeichert sind,
und die der Anzahl der M-Tintenstrahldüsen entsprechen. Dann wird
eine Pixelwertgruppe für
die nächsten
M-Bilddaten, d.h. Bytedaten 106 bis 110, welche sequenziell erzeugt werden, in
fünf Adressen
26 bis 30 im Bildpuffer 31' gespeichert,
die der Anzahl von M-Tintenstrahldüsen entsprechen und die durch
eine Distanz getrennt sind, die 15 Bits entspricht und 5 (Tintenstrahldüsenzählung) × [4 (CMYK-Düsenmatrixzählung insgesamt) – 1] beträgt. Die
Speicherung von Daten wird für
die Daten Ma, Mb, Mc und Md (nicht dargestellt), welche jeweils
fünf Bytes
sind, auf dieselbe Art und Weise wiederholt.
-
Pixelwerte
oder eine Pixelwertgruppe für
Y- und K-Bilddaten
werden auf dieselbe Art und Weise wie für C und M gespeichert, und
dieser Prozess wird für
die Daten Ya, Yb, Yc und Yd (nicht dargestellt) und Ka, Kb, Kc und
Kd (nicht dargestellt) wiederholt, welche jeweils fünf Bytes
sind.
-
Im Übertragungsprozess 37 zum Übertragen von
Daten aus dem Bildpuffer 31' an
den Druckkopf 33 werden zunächst die Daten Ca, Ma, Ya und
Ka, welche jeweils fünf
Bytes, insgesamt 20 Bytes, sind, gemäß der ersten Druckzeitgabe
gleichzeitig an den Druckkopf 33 übertragen. Dann werden die
Daten Cb, Mb, Cb und Kb, welche jeweils fünf Bytes, insgesamt 20 Bytes,
sind, gemäß der zweiten
Druckzeitgabe gleichzeitig an den Druckkopf 33 übertragen.
Dieser Übertragungsprozess
wird gemäß der dritten, vierten,
... Druckzeitgabe wiederholt, und jedes Mal werden C-, M-, Y- und K-Daten, welche
jeweils fünf Bytes,
insgesamt 20 Bytes, sind, gleichzeitig übertragen.
-
Wie
aus 7 ersichtlich, wird in der zweiten Ausführungsform
im Gegensatz zur ersten Ausführungsform
nicht angenommen, dass Pixelwerte oder Pixelwertgruppen von Bilddaten
in der Rasterabtastungsreihenfolge im Bildgebungsprozess erzeugt werden.
Wenn die CMYK-Bilddaten
in der Rasterabtastungsreihenfolge erzeugt werden, werden die Werte,
welche die Bytedaten im Bildpuffer 31' in 7 darstellen,
geändert;
zum Beispiel werden die Bytedaten 1 bis 5, welche die ersten Pixelwertgruppe für Ca bilden,
auf die Werte 1, 11, 21, 31 und 41 umgeschrieben, wie in der ersten
Ausführungsform
unter Bezugnahme auf 3 erläutert.
-
In 8 ist
ein Beispiel für
die zweite Ausführungsform
dargestellt, wobei im Übertragungsprozess 37 die
Bilddaten an den Druckkopf 33 durch Verwenden eines Programms übertragen
werden und ein DMA für
ihre Übertragung
an den Druckkopf 33 eingesetzt wird.
-
Der
serielle Drucker in 8 umfasst eine Druckersteuereinheit 1 und
ein Druckwerk 2. Die Druckersteuereinheit 1 umfasst
eine Schnittstelle (im Folgenden als „I/F" bezeichnet) 4 zum Empfangen von
Bilddaten von einem Hostrechner 3; einen RAM 5,
in welchem verschiedene Daten gespeichert werden; einen ROM 6,
in welchem Routinen für
verschiedene Datenprozesse gespeichert sind; eine CPU 7; einen
Oszillator 8; eine Druck-ASIC-Steuereinheit 9 zum Übertragen
von Kopfdaten an einen Druckkopf 12, das später beschrieben
wird; und eine I/F 10 zum Übertragen von Druckdaten, die
zu Punktmusterdaten (Bitmapdaten) und Antriebssignalen entwickelt werden,
an das Druckwerk 2. Die I/F 4, der RAM 5, der
ROM 6, die CPU 7, die Druck-ASIC-Steuereinheit 9 und
die I/F 10 sind durch einen Bus 11 miteinander verbunden.
-
Die
I/F 4 empfängt
vom Hostrechner 3 Druckdaten, die zum Beispiel aus Bilddaten
bestehen. Der RAM 5 wird als ein Datenempfangspuffer 5A,
ein Bildausgabepuffer 5C und ein Arbeitsspeicher (nicht
dargestellt) verwendet. Im Datenpuffer 5A werden Druckdaten
bestehend aus Bilddaten, die durch die I/F 4 vom Hostrechner 3 empfangen
werden, vorübergehend
gespeichert. Im Bildpuffer 5C werden Punktmusterdaten entwickelt,
die durch Decodieren von Tondaten erhalten werden. Im ROM 6 sind
verschiedene Steuerprogramme gespeichert, die durch die CPU 7 auszuführen sind.
-
Diese
Programme sind ein Hauptprogramm 6a und ein Unterbrechungsprozessprogramm 6b, wie
in 8 dargestellt. Im ROM 6 sind auch Schriftdaten
(nicht dargestellt), eine Grafikfunktion und verschiedene andere
Prozesse gespeichert. Die Druck-ASIC-Steuereinheit 9 steuert
einen Kopftreiber und umfasst ein Register (Kopfdatenregister) 9a zum Übertragen
der Druckdaten an den Druckkopf 12.
-
Zunächst führt die
CPU 7 den Bildgebungsprozess 35, der in der ersten
und der zweiten Ausführungsform
beschrieben wird, gemäß dem Hauptprogramm 6a durch,
das im ROM 6 gespeichert ist. Das heißt, die CPU 7 liest
die Druckdaten aus dem Datenpuffer 5A aus und speichert
sie im Arbeitsspeicher im RAM 5.
-
Danach
analysiert die CPU 7 die Daten, die aus dem Arbeitsspeicher
ausgelesen werden, und greift auf die Punktdaten und die Grafikfunktion
im ROM 6 zurück,
um die Daten zu Punktmusterdaten zu entwickeln. Ein erforderlicher
Hilfsprozess wird für die
erhaltenen Punktmusterdaten durchgeführt, und die resultierenden
Daten werden im Bildpuffer 5C gespeichert. Außerdem führt die
CPU 7 den Bildgebungsprozess 35 und den Übertragungsprozess 37 gleichzeitig
durch. Mit anderen Worten, wenn eine Unterbrechung bei einer vorbestimmten
Druckzeitgabe (Druckauslöser)
eintritt, hält
die CPU 7 die Ausführung
des Hauptprogramms 6a an und leitet das Unterbrechungsprogramm 6b ein.
-
Bei
der Druckzeitgabe (Druckauslöser)
und gemäß dem Software-Unterbrechungsprogramm 6b, wie
zuvor beschrieben, wird ein Satz von Daten, die eine Mehrzahl von
Bytes für
C-, M-, Y- und K-Farbdüsen
umfassen, welche für
sequenzielle Adressen verwendet werden, aus dem Bildpuffer 5C ausgelesen
und gleichzeitig an das Kopfdatenregister 9a übertragen.
Die Daten werden vorübergehend
im Kopfdatenregister 9a gespeichert und dann über die I/F 10 hintereinander
an den Druckkopf 12 übertragen.
-
Das
Druckwerk 2 umfasst den Druckkopf 12, einen Schlittenmechanismus 13 und
einen Papiervorschubmechanismus 14. Der Papiervorschubmechanismus 14,
welcher einen Papiervorschubmotor und eine Papiervorschubwalze umfasst,
gibt ein Aufzeichnungsmedium, wie beispielsweise einen Aufzeichnungsbogen,
sequenziell weiter und führt
eine Nebenabtastung durch. Der Schlittenmechanismus 13 umfasst
einen Schlitten, auf welchem der Druckkopf 12 montiert
ist, und einen Schlittenmotor zum Antreiben des Schlittens entlang
eines Antriebsriemens und führt
eine Hauptverschiebung des Druckkopfs 12 durch. Der Druckkopf 12,
welcher vier Tintenstrahldüsenmatrizen 12a für C-, M- Y- und K-Farben
aufweist, wobei jede Matrix zum Beispiel 32 Mehrfachdüsen aufweist,
stößt Tintentröpfchen von den
Düsen in Übereinstimmung
mit einer vorbestimmten Zeitgabe aus.
-
Wie
bereits erwähnt,
werden Daten, welche vorübergehend
im Kopfdatenregister 9a gespeichert werden, synchron mit
einem Taktsignal (CK) vom Oszillator 8 über die I/F 10 hintereinander
an ein Schieberegister 12b im Druckkopf 12 übertragen.
Die Druckdaten, welche hintereinander übertragen werden, werden durch
eine Verriegelungsschaltung 12c verriegelt und durch einen
Pegelumsetzer (nicht dargestellt) verstärkt, und die resultierenden
Daten werden an eine Verknüpfungsschaltung übertragen,
um seinen Betrieb zu steuern.
-
Wenn
Druckdaten „1" an die Verknüpfungsschaltung übertragen
werden, wird ein Ansteuerungssignal an einen piezoelektrischen Vibrator
angelegt, der mit der Verknüpfungsschaltung
verbunden ist, und der piezoelektrische Vibrator wird als Reaktion
auf das Ansteuerungssignal gedehnt oder zusammengedrückt. Als
Ergebnis werden Tintentröpfchen
durch die entsprechenden Düsen
des Tintenstrahldüsenmatrix 12a ausgestoßen. Wenn
Druckdaten „0" an die Verknüpfungsschaltung übertragen werden,
wird die Zufuhr eines Ansteuerungssignals zum piezoelektrischen
Vibrator angehalten, und es werden keine Tintentröpfchen durch
die entsprechenden Düsen
der Tintenstrahldüsenmatrix 12a ausgestoßen.
-
9 ist
ein Flussdiagramm, welches die Verarbeitung darstellt, die durch
den seriellen Drucker in 8 zum Übertragen von Daten an den Druckkopf
gemäß dem Programm
(Software) durchgeführt
wird.
-
Konkret
werden für
eine Übertragung
von Daten unter Verwendung eines Programms Zeiger für vier Farben
von C, M, Y und K (S91) eingestellt und, wenn eine Übertragungszeitgabe
(Druckauslöser)
erzeugt wird (S92), wird ein Wert für vier Farben C, M, Y und K
in einem Zähler
eingestellt (S93). Danach werden Daten für eine Mehrzahl von Bytes für die C-,
M-, Y- und K-Farbdüsenmatrizen
an den Druckkopf 33 übertragen,
und während
dieser Übertragung
werden die Zeiger aktualisiert und der Wert, der durch den Zähler gehalten
wird, wird erniedrigt (S94). Wenn der Wert, der durch den Zähler gehalten wird,
0 erreicht (S95), kehrt die Programmsteuerung zu S92 zurück, um auf
die nächste Übertragungszeitgabe
zu warten.
-
Während, wie
bereits erwähnt,
die herkömmliche
Technik in 14 die unabhängige Verwaltung von
Zeigern für
die C- M-, Y- und
K-Farben erfordert, zeigt der Ursprungszeiger im seriellen Drucker
in der Ausführungsform,
wenn die Übertragung
von Daten für
eine bestimmte Farbe beendet ist, auf Daten (eine Adresse) für eine Farbe
oder eine Düsenmatrix,
die als Nächstes
zu übertragen
sind, so dass die Verwaltung der Zeiger für jede Düsenmatrix oder für jede Farbe,
welche herkömmlicherweise
benötigt
wird, sehr leicht ist. Mit anderen Worten, da die Anzahl von erforderlichen
Zeigern und die Anzahl von Malen, die auf den Speicher zugegriffen
wird, verringert wird, kann die Zeit, die für den Übertragungsprozess 37 benötigt wird,
verkürzt
werden.
-
Es
wird nun der Übertragungsprozess 37 für eine DMA-Übertragung von Bilddaten an
den Druckkopf 12 unter Bezugnahme auf 8 beschrieben.
-
Im
seriellen Drucker in 8 ist eine DMA-Steuereinheit 7a in
der CPU 7 enthalten, welche zwei Übertragungsleitungen (Kanäle) aufweist.
-
Die Übertragung
von Daten beginnt mit der Aktivierung der DMA-Übertragungsfunktion. Wenn ein
Signal (Druckauslöser)
an der CPU 7 gemäß der zuvor
beschriebenen Druckzeitgabe empfangen wird, erteilt die CPU 7 das
Recht zur Benutzung des Busses 11 der DMA-Steuereinheit 7a.
Dann überträgt die DMA-Steuereinheit 7a,
wie zuvor beschrieben, einen Satz von Bilddaten für eine Mehrzahl
von Bytes für
die C- M-, Y- und
K-Farbdüsenmatrizen, welche
als sequenzielle Adressen dienen, von den Adressen im Bildpuffer 5C,
in welchem die Bilddaten gespeichert sind, über den Bus 11 an
das Kopfdatenregister 9a, d.h. es wird eine DMA-Übertragung durchgeführt. Da
die DMA-Übertragung
nur eine äußerst kurze
Zeit in Anspruch nimmt, kann die CPU 7 unverzüglich einen
nachfolgenden Prozess einleiten.
-
Nach
Beendigung der DMA-Übertragung überträgt die DMA-Steuereinheit 7a ein
Auslösesignal
an den Oszillator 8. Der Oszillator 8 setzt einen Oszillator
ein, um einen Takt mit einer Frequenz zu erzeugen, die der Höchstgeschwindigkeit
des Schieberegisters 12b des Druckkopfs 12 entspricht.
Nach Beendigung der DMA-Übertragung
wird der Oszillator 8 bei Empfang des Auslösesignals
aktiviert und gibt einen Takt mit Bits aus, die einer Zählung der
Anzahl von Düsen
für jede
Tintenstrahldüsenmatrix 12a entsprechen.
Synchron mit dem Takt werden die Kopfdaten als serielle Daten vom
Kopfdatenregister 9a an das Schieberegister 12b des
Druckkopfs 12 übertragen.
Die zuvor beschriebene Verarbeitung für Daten wird für acht horizontal
angeordnete Bits (ein Byte) wiederholt.
-
Da
gemäß der zweiten
Ausführungsform, wie
bereits erwähnt,
Daten, die bei einer bestimmten Druckzeitgabe an die CMYK-Düsenmatrizen
zu übertragen
sind, im Voraus in sequenziellen Adressen im Bildpuffer 5C gespeichert
werden, kann die zuvor beschriebene DMA-Übertragung über dieselbe Übertragungsleitung
(Kanal) durchgeführt
werden, wodurch, wenn wenigstens ein Übertragungsleitungskanal vorhanden
ist, die DMA-Übertragung
eingesetzt werden kann.
-
Daher
kann eine DMA-Steuereinheit, wie beispielsweise die DMA-Steuereinheit 7a,
die in die CPU eingebaut ist und nur ein paar Übertragungsleitungen (Kanäle) aufweist,
verwendet werden, um eine DMA-Übertragung
an einen Druckkopf durchzuführen,
und der Prozess, der gemäß dem Programm durchgeführt wird,
kann mit hoher Geschwindigkeit für
einen längeren
Zeitraum durchgeführt
werden.
-
Die
Ausführungsformen
der vorliegenden Erfindung sind erläutert worden; die Erfindung
ist jedoch nicht auf die Ausführungsformen
beschränkt, die
erläutert
worden sind, sondern kann für
andere Ausführungsformen
angewendet werden, die in den Rahmen der Ansprüche der Erfindung fallen.
-
Obwohl
ein Farbdrucker mit CMYK-Farbdüsenmatrizen
in der zweiten Ausführungsform
beschrieben worden ist, ist die Erfindung nicht auf den Farbdrucker
beschränkt,
sondern sie kann für
einen monochromen Drucker mit einer Mehrzahl von Düsenmatrizen,
die voneinander getrennt sind, verwendet werden.
-
In
der ersten Ausführungsform
sind die Rastergrafikbilddaten eingesetzt worden. Das heißt, es wurde
ein Beispiel beschrieben, in welchem im Bildgebungsprozess Pixelwerte
oder Pixelwertgruppen für
Bilddaten in der Rasterabtastreihenfolge erzeugt werden und von
der Rasterabtastreihenfolge in die Reihenfolge neu angeordnet werden,
in welcher sie durch den Druckkopf gedruckt werden. Die vorliegende
Erfindung ist jedoch nicht auf dieses Beispiel beschränkt, und
die zweite Ausführungsform
kann insbesondere für
ein Beispiel verwendet werden, in welchem Daten als ein Bitabbildungsbefehl
vom Hostrechner übertragen
werden.
-
Außerdem kann
die vorliegende Erfindung nicht nur für einen Tintenstrahldrucker,
sondern auch für
andere serielle Drucker mit Punktbildungselementmatrizen, wie beispielsweise
Punktanschlagdrucker, verwendet werden.
-
In
der zweiten Ausführungsform
führt die DMA-Steuereinheit in
der CPU die DMA-Übertragung
der Kopfdaten durch. Diese Ausführungsform kann
für einen
Drucker verwendet werden, der eine getrennte DMA-Steuereinheit umfasst, die nicht als Teil
einer CPU enthalten ist.
-
Wie
bereits erwähnt,
werden gemäß der vorliegenden
Erfindung Pixelwerte oder eine Pixelwertgruppe für Bilddaten, welche für eine bestimmte Punktbildungselementmatrix
eines Druckkopfs bei derselben Druckzeitgabe eingestellt werden,
in sequenziellen Adressen in einem Bildpuffer gespeichert. Da daher
die Kontinuität
von Bilddaten erreicht und ein Satz von Daten übertragen werden kann, werden
die Anzahl von Adressberechnungen und die Anzahl von Speicherzugriffen
verringert und, da auch die Last, die der CPU während der Datenübertragung auferlegt
wird, verringert werden kann, kann der Durchsatz verbessert werden.
-
Da
außerdem
die Speicherung von Daten in den sequenziellen Adressen im Bildgebungsprozess durchgeführt wird,
kann die Anzahl von Adressberechnungen während des Übertragungsprozesses verringert
werden und, da auch die Zeit, die für den Prozess benötigt wird
und die sehr begrenzt ist, verkürzt
werden kann, kann der Durchsatz erhöht werden.