DE69912017T2 - Peripheriegerät und Steuerverfahren dafür - Google Patents

Peripheriegerät und Steuerverfahren dafür Download PDF

Info

Publication number
DE69912017T2
DE69912017T2 DE69912017T DE69912017T DE69912017T2 DE 69912017 T2 DE69912017 T2 DE 69912017T2 DE 69912017 T DE69912017 T DE 69912017T DE 69912017 T DE69912017 T DE 69912017T DE 69912017 T2 DE69912017 T2 DE 69912017T2
Authority
DE
Germany
Prior art keywords
host
status information
data
transmission
transmission mode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69912017T
Other languages
English (en)
Other versions
DE69912017D1 (de
Inventor
Keigo Suwa-shi Ejiri
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Publication of DE69912017D1 publication Critical patent/DE69912017D1/de
Application granted granted Critical
Publication of DE69912017T2 publication Critical patent/DE69912017T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1236Connection management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Information Transfer Systems (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Description

  • Die vorliegende Erfindung betrifft ein Peripheriegerät, wie einen Drucker oder Scanner, das geeignet ist, um mit einem Hostgerät verbunden zu werden und mit diesem zu kommunizieren, sowie ein Steuerungsverfahren für das Peripheriegerät.
  • Der Universal Serial Bus (nachfolgend vereinfacht als „USB" bezeichnet) ist eine Schnittstelle, um Peripheriegeräte, wie Drucker und Scanner, und einen Host, wie z. B. einen Personalcomputer, miteinander zu verbinden, um den Austausch von Nutz- und Steuerdaten zwischen den Peripheriegeräten und dem Host zu ermöglichen. Der USB wird zusehends zur Standardschnittstelle, um solche Peripheriegeräte (nachfolgend vereinfacht als „Gerät" bezeichnet) mit Personalcomputern (nachfolgend vereinfacht als „PC" bezeichnet) zu verbinden.
  • Insbesondere ist USB ein Bus-Standard für eine serielle Kabelverbindung, die es einem PC ermöglicht, gleichzeitig auf zahlreiche Geräte mit einer hohen Datenzuverlässigkeit zuzugreifen und auch ein „In-Betrieb-Auswechseln" ermöglicht, das ist die Fähigkeit, ein Gerät in die USB-Kette einzufügen oder es aus der USB-Kette zu entfernen, während der Host und/oder andere Geräte in Betrieb sind, ohne den Zugriff auf die Geräte, die an dem Bus verbleiben, zu verlieren. Wegen dieser Kombination aus hoher Datenzuverlässigkeit und Auswechselbarkeit im laufenden Betrieb wird erwartet, daß USB die Industrie-Standardschnittstelle für PC-Peripherie-Anschlüsse wird.
  • Datenübertragungen zwischen Geräten mit USB-Schnittstellen beginnen damit, daß der Host ein Zeichenpaket zu einem Gerät sendet. Um gleichzeitigen Zugriff auf mehrere Geräte zu ermöglichen, enthält das Zeichenpaket eine eindeutige Geräteadresse und eine Endpunktinformation. Die Geräteadresse legt fest, welches Gerät am USB angesprochen wird und die Endpunktinformation identifiziert die Quelle der Daten oder der Datenübertragung, oder den Empfänger der Daten oder den Verbraucher (Senke). Nach dem Zeichenpaket folgt ein Datenpaket, das die zu übertragenden Daten enthält sowie ein Handshake-Paket, das den Übertragungsstatus anzeigt.
  • USB verwendet die folgenden vier Übertragungsarten und überträgt Daten, indem ein entsprechender logischer Kanal zwischen dem Host und dem Gerät aufgebaut wird.
    • – Massenübertragungen und der Massenübertragungskanal werden verwendet, um relativ große Mengen an Daten, wie z. B. Drucker- und Anzeigedaten zu übertragen;
    • – Unterbrechungsübertragungen und der Unterbrechungsübertragungskanal werden für kleine Datenmengen mit einer kurzen Gültigkeitsdauer verwendet;
    • – Steuerübertragungen und der Steuerübertragungskanal werden verwendet, wenn ein Gerät erstmals an den Bus angeschlossen wird, um das logische Vorhandensein des Gerätes einzustellen;
    • – Isochron-Übertragungen und der Isochron-Übertragungskanal werden für Audiodaten und andere Datentypen verwendet, die Daten erfordern, die innerhalb bestimmter Zeitgrenzen geliefert werden müssen.
  • Einen Datenstrom in einem dieser Übertragungsverfahren zu senden, wird als eine „Transaktion" bezeichnet und umfasst die oben beschriebene Paketabfolge. Rahmen, die in 1 ms Intervallen gesendet werden, enthalten eine Vielzahl von Transaktionen. Eine gleichzeitige Kommunikation zwischen einem Host und mehreren Geräten wird erreicht, indem diese Rahmen nacheinander gesendet werden. Das Handshake-Paket bietet eine Wiederholungsfunktion für den Fall, daß ein Fehler während der Übertragung auftritt. Dadurch wird es ermöglicht, große Datenmengen zuverlässig mit hoher Geschwindigkeit zu übertragen.
  • Wenn das mit dem Host kommunizierende USB-Gerät beispielsweise ein Drucker ist, enthalten die Daten, die zwischen dem Host und dem Gerät übertragen werden, Statusinformationen, die den Betriebsstatus des Druckers anzeigen, zusätzlich zu den Prozeßdaten wie Bitmap-Daten oder anderen Druckdaten sowie Steuerbefehlen, um den Druckvorgang zu steuern. Typische Statusinformationen umfassen den Online- oder Offline-Status des Druckers, ob Papier vorhanden ist, ob die Abdeckung geöffnet ist, ob der Puffer gefüllt ist, ob Tinte vorhanden ist und andere Fehlermeldungen. Die Statusinformation wird normalerweise von dem Drucker an den Host als Antwort auf einen Statusanforderungsbefehl mit Hilfe des gleichen Massen-Übertragungsverfahren gesendet, mit dem auch Druck- und Befehlsdaten vom Host zum Drucker gesandt werden.
  • Ein USB-Massenübertragungskanal wird jedoch nur auf Anforderung geöffnet, d. h. wenn (1) der Host Daten an das Gerät senden oder Daten von dem Gerät empfangen will und (2) die Buskapazität (Bandbreite), die für das Übertragen der Daten innerhalb einer bestimmten Zeiteinheit benötigt wird, verfügbar ist. D. h., daß es keinen Weg gibt, sicherzustellen, wann die Daten gesendet werden. Dies bedeutet auch, daß Informationen nicht sofort übertragen werden können, wenn die Statusinformation mit Hilfe eines Massenübertragungskanals übertragen werden und dadurch vielfältige Probleme auftreten können. Z. B. kann der Host fortfahren, Prozeßdaten zu senden, selbst wenn der Puffer gefüllt ist und Daten somit verloren gehen können. Der Host könnte auch fortfahren, Daten zu senden, wenn die Druckerabdeckung geöffnet ist, und folglich könnten Druckverzögerungen auftreten.
  • Der Unterbrechungsübertragungskanal wird andererseits periodisch in regelmäßigen kurzen Intervallen geöffnet und ermöglicht einem Gerät, Daten an einen Host sofort zu senden, falls Daten beim Aufrufen des Gerätes gesendet werden sollen. Dem Unterbrechungsübertragungskanal wird somit die höchste Priorität eingeräumt, um gute Echtzeitleistungsfähigkeit zu erreichen. Die Datenzuverlässigkeit ist auch deswegen extrem hoch, weil die Übertragung bei der nächsten Periode erneut versucht wird, falls ein Busfehler auftritt und eine Transaktion verloren geht. Es ist daher möglich, Statusinformationen als Unterbrechungsübertragungstyp zu senden und dadurch Unmittelbarkeit und Datenzuverlässigkeit zu gewährleisten.
  • Jedoch ist die Größe der Datenpakete, die durch die Unterbrechungsübertragung gesendet werden können, begrenzt, um die Bandbreitenverfügbarkeit sicher zustellen. Es ist auch vorzuziehen, Bandbreite für Massenübertragungen zu reservieren, um eine annehmbare Übertragungsgeschwindigkeit der Prozeßdaten zu gewährleisten. Als ein Ergebnis ist es auch wünschenswert, die Datenübertragungen mit Hilfe des Unterbrechungsübertragungskanals zu begrenzen.
  • Aufgabe dieser Erfindung ist es demzufolge, ein Peripheriegerät und ein Steuerungsverfahren dafür so auszugestalten, daß die Unmittelbarkeit der Übertragung der Statusinformation sichergestellt werden kann, daß eine ausreichende Bandbreite für eine effiziente Übertragung von Prozeßdaten und Befehlen garantiert werden kann und daß eine hohe Datenrate gewährleistet werden kann.
  • Diese Aufgabe wird durch ein Gerät nach Anspruch 1, ein Verfahren nach Anspruch 5 und ein Speichermedium nach Anspruch 9 gelöst. Bevorzugte Ausführungsformen dieser Erfindung sind Gegenstand der abhängigen Ansprüche.
  • Um die oben genannte Aufgabe zu lösen, bietet ein Peripheriegerät gemäß der vorliegenden Erfindung eine unverzügliche Antwort nahezu in Echtzeit, während die verfügbare Bandbreite für solche Übertragungen, wie die Massenübertragung des USB maximiert wird, indem Statusinformationen entweder mit Hilfe eines ersten Übertragungsmodus, z. B. über einen Massenübertragungskanal des USB, oder mit Hilfe eines zweiten Übertragungsmodus, z. B. über einen Unterbrechungsübertragungskanal des USB, übertragen werden, statt einfach nur die gesamten Statusinformationen entweder mittels des ersten oder des zweiten Übertragungsverfahren zu senden. Die Entscheidung zwischen diesen beiden Übertragungsmodi wird abhängig vom Typ der Statusinformation oder vom Grund der Übertragung der Statusinformation getroffen.
  • Die meisten Fälle, in denen Statusinformationen als Antwort auf eine Anforderung des Hosts gesendet werden, sind Fälle, in denen der nächste Ablaufschritt ausgeführt wird, nachdem die angeforderte Statusinformation vom Host bestätigt wurde und eine unverzügliche Antwort nicht notwendig ist. Falls die angeforderte Statusinformation dringend benötigt wird, weiß der Host, daß die Statusinformation unverzüglich benötigt wird und kann daher die benötigte Statusinformation über den ersten Übertragungsmodus, im Falle des USB den Massenübertragungskanal, in der angemessenen Zeit erhalten.
  • Auf der anderen Seite weiß der Host aber nicht, wann Statusinformationen automatisch vom Peripheriegerät generiert werden, und diese selbstständigen Statusinformationen sind deshalb dringend. Die Dringlichkeit und die rechtzeitige Übertragung solcher selbstständiger Statusinformationen können in diesem Fall dadurch sichergestellt werden, daß sie mittels des zweiten Übertragungsmodus zum Host gesendet werden, im Falle des USB des Unterbrechungsübertragungskanals.
  • Wenn die Statusinformation somit durch eine Schnittstelle übertragen wird, die mindestens zwei verschiedene Übertragungskanäle nutzt, wie es bei USB der Fall ist, übertragen ein Peripheriegerät und ein Peripheriegerätesteuerungsverfahren gemäß dieser Erfindung nur die Statusinformation mit der größten Dringlichkeit (Unmittelbarkeit) in dem zweiten Übertragungsmodus, das ist der Übertra gungsmodus, der über die kürzeste Reaktionszeit verfügt (z. B. über den USB-Unterbrechungsübertragungskanal), während sie den ersten Übertragungsmodus (z. B. über den USB-Massenübertragungskanal) benutzen, um die Informationen in allen anderen Fällen zu senden.
  • Es ist deshalb möglich, Statusinformationen in einem Übertragungsmodus in Abhängigkeit von der Unmittelbarkeit der Information zu übertragen, um so Statusinformationen zu übertragen, ohne unnötig USB-Bandbreite zu blockieren und trotzdem die notwendige Übertragungsgeschwindigkeit für die Prozeßdaten sicherzustellen, indem der Massenübertragungskanal benutzt wird.
  • Es ist gleichermaßen möglich, die Unmittelbarkeit der Statusinformationen zufriedenstellend zu gewährleisten, ohne die Leistung eines Peripheriegerätes zu beeinträchtigen, das eine Verarbeitungseinheit wie einen Druckmechanismus oder einen Lesemechanismus zur Ausgabe oder zur Aufnahme von Daten von einer externen Quelle und eine Steuerung aufweist, um durch die Verarbeitungseinheit verarbeitete Prozeßdaten in dem ersten Übertragungsmodus zu senden oder zu empfangen.
  • Andere Aufgaben und Vorteile zusammen mit einem umfassenderen Verständnis der Erfindung werden offensichtlich und klarer, durch den Verweis auf die nachfolgende Beschreibung der bevorzugten Ausführungsformen in Zusammenhang mit den beigefügten Zeichnungen, in denen:
  • 1 ein Blockdiagramm des POS-Systems gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung darstellt;
  • 2 ein typisches Blockdiagramm eines Druckers ist, der in 1 dargestellt, ist;
  • 3 eine typische USB-Paket-Struktur zeigt wobei (a) ein Zeichenpaket, (b) ein Datenpaket und (c) ein Handshake-Paket zeigen;
  • 4 die typische USB-Rahmenstruktur zeigt; und
  • 5 ein Ablaufdiagramm des grundlegenden Statusinformations-Übertragungsverfahrens des in 1 dargestellten Druckers zeigt.
  • 1 ist ein Blockdiagramm eines typischen POS-Systems 11 (das ein Beispiel eines Datenübertragungssystems darstellt), bei dem (Peripherie-)Geräte gemäß der vorliegenden Erfindung untereinander sowie mit einem Host über USB-Schnittstellen verbunden sind. Wie in 1 dargestellt, umfasst das beispielhafte POS-System 11 einen Drucker 15, einen Kundenbildschirm 16, einen Kartenleser 17 und einen Barcodeleser 18, die mit einem Personalcomputer-Host 12 über einen Hub 13 verbunden sind. Der Drucker 15, der Kundenbildschirm 16, der Kartenleser 17 und der Barcodeleser 18 weisen jeweils eine USB-Schnittstelle 14 auf, die die Datenübertragung über den USB zum Host 12 ermöglicht.
  • Eine bevorzugte Ausführungsform dieser Erfindung wird mit dem Drucker 15 als Beispiel für jedes beliebige anschließbare Gerät nachfolgend beschrieben. Die typische Zusammensetzung des Druckers 15 in dieser bevorzugten Ausführungsform ist weiter unten beschrieben mit Bezug auf das Blockdiagramm in 2. Dieser Drucker 15 umfasst einen Druckmechanismus 31 zum Drucken und eine programmgesteuerte Steuerungseinrichtung 32, um den Druckmechanismus 31 zu steuern. Die Steuerungseinrichtung 32 beinhaltet typischerweise eine CPU, ein ROM, um die Programmdaten und/oder vielfältigen Druckereinstellungen zu speichern, und ein RAM als Arbeitsspeicher für die Druckdaten und die Steuerbefehle. Die CPU, ROM und RAM sind in den Figuren nicht gezeigt.
  • Die USB-Schnittstelle 14 ist mit der Steuerungseinrichtung 32 über einen Client-Treiber 33 verbunden. Die USB-Schnittstelle 14 umfaßt einen Anschluss 21, einen Universalcontroller 22 und einen USB-Treiber 23. Der Anschluss 21 bildet die Hardwareverbindungsumgebung der USB-Schnittstelle. Der Universalcontroller 22 ist für die Hardwaresteuerung der Kommunikation über den Anschluss 21 zuständig, z. B. um Signalleitungen in einer vorgegebenen Reihenfolge anzusteuern. Der USB-Treiber 23 ist für die Softwaresteuerung der Kommunikation zuständig, z. B. um die Übertragungsdaten in Pakete zu packen. Der USB-Treiber 23 umfaßt eine CPU, ein ROM, um das Programm zu speichern, daß die CPU steuert, und ein RAM als Arbeitsspeicher. Die Steuerungseinrichtung 32 empfängt somit Druckdaten und Steuerbefehle vom Host 12 über den Client-Treiber 33 und den USB-Treiber 23. Zu beachten ist, daß der Client-Treiber als Software ausgeführt ist, die auf Hardware läuft welche in der Steuerungseinrichtung 32 enthalten ist.
  • Der USB-Treiber 23 umfasst eine erste Übertragungseinheit 24 für einen Massenübertragungskanal, eine zweite Übertragungseinheit 25 für einen Unterbrechungsübertragungskanal, eine dritte Übertragungseinheit 26 für einen Steuerungsübertragungskanal und eine vierte Übertragungseinheit 27 für einen Isochron-Übertragungskanal. Diese Übertragungskanäle werden von einem Zeichenpaket 51 geöffnet, das vom Host 12 gesendet wird. Wie in 3 dargestellt, beinhaltet dieses Zeichenpaket: eine Paket-ID (PID) 61, die den Pakettyp anzeigt, d. h., ob der Host die Daten in dem Datenpaket sendet oder empfängt; eine Adresse 62, um ein spezielles Gerät auf dem USB zu identifizieren; einen Endpunkt 63, der das Ziel in dem Gerät angibt, wo die Daten gebraucht werden oder woher sie kommen, sowie einen zyklischen Redundanz-Code (CRC) 64 für die Fehlerkontrolle.
  • Durch die Angabe der Adresse und des Endpunktes in dem Zeichenpaket sowie das Zuordnen eines Gerätes zu jedem Kanal, können die Daten zwischen dem Host 12 und mehreren Geräten, die die USB-Schnittstelle nutzen, im wesentlichen gleichzeitig übermittelt werden. Die Datenübertragung findet in Einheiten von Rahmen statt, wobei jeder Rahmen mehrere Übertragungskanäle enthält. Die Art und Weise, wie Transaktionen auf diesen Kanälen stattfinden, wird im folgenden beschrieben:
    Wenn der Host 12 Daten zu einem Gerät senden will, sendet er von seiner USB-Schnittstelle 14 ein Zeichenpaket 51, das eine PID 61 beinhaltet, die anzeigt, daß der Host sendet; die Adresse 62 des Geräts zu dem der Host 12 die Daten sendet (in diesem Beispiel ist es die Adresse des Druckers 15) und einen Endpunkt 63, der das Ziel der Daten in dem adressierten Gerät anzeigt, in diesem Beispiel die Steuerungseinrichtung 32. Die USB-Schnittstelle 14 des Druckers 15 entschlüsselt dann die Information in dem Zeichenpaket 51. Wenn die Adresse 62 die Adresse (Nummer) ist, die dem Drucker 15 zugewiesen wurde, und der Endpunkt 63 in dem Zeichenpaket 51 die Steuerungseinrichtung 32 des Druckers 15 bezeichnet, dann akzeptiert der Drucker 15 das Zeichenpaket 51 und das Datenpaket 52, das dem Zeichenpaket 51 folgt. Ein Datenpaket 52 enthält eine PID 61, die Daten 65 und einen CRC 64.
  • Wenn der Host 12 Daten eines Gerätes empfangen will, z. B. vom dem Drucker 15, dann sendet der Host 12 ein Zeichenpaket 51 zum Drucker 15, das eine PID 61 enthält, die anzeigt, daß die Daten gesendet werden können (nachfolgend „IN-Zeichen" genannt). Wenn dieses IN-Zeichen vom USB-Treiber 23 empfangen wird, sendet er die Ausgabedaten, die von der Steuerungseinrichtung 32 bereitgestellt wurden.
  • Daher kann das vom Host benutzte Zeichenpaket 51, um eine Kommunikation mit einem Gerät herzustellen, als Eingabe/Ausgabe-Befehl betrachtet werden, der das Gerät anweist, Daten vom Host zu empfangen (Eingabe) oder Daten an den Host zu senden (Ausgabe).
  • Wenn das Senden oder Empfangen des Datenpaketes 52 beendet ist, wird ein Handshake-Paket 53 ausgetauscht. Das Handshake-Paket 53 beinhaltet nur eine PID 61, die es ermöglicht, daß einer der drei Zustände zurückgesendet wird: ACK, zur Bestätigung, daß die Daten fehlerfrei empfangen wurden, NAK, zur Angabe, daß die Daten nicht empfangen wurden; und STALL, zur Angabe, daß die empfangende Seite unterbrochen hat (z. B. daß die Datenübertragung aufgrund eines Fehlers nicht möglich war). Wenn der Host 12 NAK in dem Handshake-Paket 53 erkennt, ist es möglich, das gleiche Datenpaket 52 erneut zu senden und somit die Funktionssicherheit des Datenübertragung zu erhöhen. Wenn STALL erkannt wird, dann kann der Host versuchen, den Grund für den Abbruch durch das Gerät herauszufinden.
  • Wie 4 zeigt, überträgt der Host 12 Daten in Rahmen F in einem Abstand von 1 ms, wobei es sich um die Rahmenperiode bzw. -dauer des USB-Standards handelt (USB Time). Ein Rahmen F beginnt mit dem "Start eines Rahmens" (SOF) Zeichen 54. Auf das SOF Zeichen 54 folgen Unterbrechungsübertragungs-Transaktionen 55, falls vorhanden. Die Unterbrechungsübertragungszeit kann für jedes Gerät festgelegt werden. Falls sie auf die kürzest mögliche Zeit für jedes Gerät eingestellt ist, wird eine Unterbrechungsübertragungs-Transaktion 55 für jedes Gerät eingefügt (vier Geräte in dem beschrieben Beispiel) und, wenn der Rahmen F noch über ausreichend Platz verfügt, wird eine Massenübertragungs-Transaktion 56 eingefügt. Falls die Daten eine isochrone Übertragung benötigen, folgt eine Ischronübertragungs-Transaktion mit Hilfe der Unterbrechungsübertragungs-Transaktion 55.
  • Bei einer Unterbrechungsübertragungs-Transaktion 55 werden Pakete auf die gleiche Art und Weise ausgetauscht wie oben für die Massenübertragungs-Transaktion beschrieben. Dabei geschieht folgendes: Vom Host 12 wird zuerst ein IN-Zeichen 51 ausgegeben und, falls ein Gerät Daten als Antwort auf das IN-Zeichen 51 zu versenden hat, werden diese sofort in ein Datenpaket 52 verpackt und gesendet. Der Host antwortet mit einem Handshake-Paket 53, woran das Gerät erkennt, ob die Daten fehlerfrei empfangen wurden. Falls keine Daten zum Versenden vorliegen, antwortet das Gerät dem Host 12 mit einem NAK Handshake-Paket 53 und der Host 12 gibt dann den Unterbre chungsübertragungskanal frei, der für dieses Gerät geöffnet war. Das Ergebnis ist, daß jedes Gerät im Takt der Rahmenperiode durch eine Unterbrechungsübertragungs-Transaktion 55 aufgerufen wird, wenn die Aufrufperiode die kürzeste ist, und somit unverzüglich beliebige Daten versenden kann, die der Host 12 benötigt.
  • Bezugnehmend auf 2, empfängt ein Drucker 15 gemäß der bevorzugten Ausführungsform Druckerdaten sowie Steuerbefehle vom Host und sendet Statusinformationen, die den Druckerstatus anzeigen, über die USB-Schnittstelle 14 an den Host 12. Statusinformationen, die durch die Steuerungseinrichtung 32 ermittelt wurden, werden an den Client-Treiber 33 weitergeleitet, und mittels der USB-Schnittstelle 14 zu geeigneter Zeit an den Host 12 gesandt.
  • Von den vier Kanälen, die von der USB-Schnittstelle benutzt werden und oben beschrieben wurden, kann man sich vorstellen, Statusinformation über jeden der folgenden drei zu übertragen: Massenübertragung, Unterbrechungsübertragung und Isochron-Übertragung.
  • Ein bestimmter Teil der USB-Bandbreite (Rahmen) ist für die Isochron-Übertragung reserviert, um die Verzögerung so gering wie möglich zu halten und den Isochronismus zu gewährleisten. Ein erneuter Versand der Daten wird aber nicht versucht, selbst wenn die Daten verloren gehen. Die Datenzuverlässigkeit ist deshalb nicht groß. Der Isochron-Übertragungskanal ist deshalb für den Versand von Statusinformationen nicht geeignet.
  • Der Massenübertragungskanal ist gut geeignet für die Übertragung großer Datenmengen, kann aber nur geöffnet werden, wenn ausreichend USB-Bandbreite zur Verfügung steht. Die Datenübertragungsgeschwindigkeit und die Zeitsteuerung sind deshalb nicht garantiert. Die Datenzuverlässigkeit ist hingegen hoch, weil der Datenempfang durch das Handshake-Paket bestätigt wird und im Falle eines Datenverlustes ein erneutes Senden der Daten mit der nächsten Massenübertragung versucht wird.
  • Wenn die Unterbrechungsübertragungszeit auf das kürzest mögliche Intervall für das jeweilige Gerät eingestellt ist, dann wird dieses Gerät mit jedem Rahmen F abgefragt. Daten können damit im wesentlichen unverzüglich vom Gerät zum Host 12 gesandt werden. Das Gerät versucht ebenfalls erneut im nächsten Zeitabschnitt zu senden, falls Daten verloren gegangen sind. Die Datenzuverlässigkeit ist deshalb hoch. Es soll jedoch angemerkt werden, daß der USB-Standard dem periodischen Zugriff, wie der Unterbrechungsübertragung und der Isochron-Übertragung, Priorität einräumt. Das bedeutet, daß in dem Falle, daß die Bandbreite, die einer Unterbrechungsübertragung zugewiesen wird, zuviel von Rahmen F belegt, es nicht mehr möglich ist, ausreichend Bandbreite für Massenübertragungs-Transaktionen bereitzustellen. Die Übertragungsgeschwindigkeit von Druckdaten kann deshalb sinken.
  • Der Client-Treiber 33 in dem Beispieldrucker 15 ist deshalb so ausgelegt, daß er wahlweise entweder den Massenübertragungsmodus oder den Unterbrechungsübertragungsmodus nutzt. Man kann sich den Client-Treiber 33 somit als zwei verschiedene Übertragungsmittel oder -funktionen enthaltend vorstellen: eine erste Übertragungsfunktion 34, um Statusinformationen im Massenüber tragungsmodus zu senden, d. h. als Antwort auf einen On-Demand-Eingabe/Ausgabe-Befehl vom Host, und eine zweite Übertragungsfunktion 35, um Statusinformationen im Unterbrechungsübertragungsmodus zu senden, d. h. ein regelmäßiger Eingabe/Ausgabe-Befehl des Hosts. Statusinformationen werden einem bestimmten Übertragungsmodus (Kanal) zur Übertragung zu dem Host 12 zugeordnet, abhängig von vom Typ der Information. Folglich ermöglicht dies sowohl eine unverzügliche Übertragung von Statusinformationen, falls nötig, als auch die Sicherstellung einer ausreichenden Bandbreite für Massenübertragungen.
  • Es gibt drei Gründe (Ursachen), die den Drucker 15 veranlassen können, Statusinformationen an den Host 12 zu senden.
  • Erstens, der Drucker 15 sendet Statusinformationen als Antwort auf einen Statusanforderungsbefehl, d. h. einen Steuerbefehl des Hosts. Dieser Statusanforderungsbefehl wird vorübergehend zwischengespeichert und dann in der Eingangsreihenfolge verarbeitet, in ähnlicher Weise wie Druckdaten und andere normale Steuerbefehle. Statusinformation, die als Antwort auf diesen Statusanforderungsbefehl gesendet werden, haben deshalb eine relativ geringe Dringlichkeit und können deshalb mittels Massenübertragungsmodus gesendet werden, ohne Probleme zu verursachen. Außerdem erwartet der Host 12 die Statusinformation vom Drucker 15, weil der Statusanforderungsbefehl vom Host 12 an den Drucker 15 gesandt wurde. Demzufolge kann der Host 12 nach Bedarf die Statusinformation zum passenden Zeitpunkt anfordern, indem er die Adresse des Druckers 15 auswählt und ein IN-Zeichen 51 sendet. Als Ergebnis nutzt der Beispieldrucker 15 den Massenübertragungsmodus, d. h. die erste Übertragungsfunktion 34 zur Statusinformationsübertragung.
  • Zweitens, der Drucker sendet Statusinformationen als Antwort auf einen Echtzeit-Statusanforderungsbefehl. Ein Echtzeitbefehl, der vom Host 12 gesendet und vom Drucker 15 empfangen wird, wird sofort verarbeitet, bevor bzw. anstatt daß er in einem Puffer gespeichert wird. Echtzeitbefehle sind solche mit hoher Dringlichkeit und werden vor anderen Befehlen und Druckdaten bevorzugt verarbeitet. Es ist deshalb notwendig, daß der Drucker 15 Statusinformationen zum Host 12 sobald als möglich sendet. Weil der Statusinformationsanforderungsbefehl vom Host 12 kommt, kann dieser auch in diesem Fall jedoch häufig IN-Zeichen 51, mit dem Versuch Statusinformationen zu erhalten, an den USB aussenden. Der Host 12 kann deshalb den Übertragungszeitpunkt oder die -geschwindigkeit auch für Statusinformationen beeinflussen, die von einem Gerät als Antwort auf einen dringenden Echtzeit-Statusanforderungsbefehl gesandt wurden. Als Ergebnis verwendet der Beispieldrucker 15 den Massenübertragungsmodus, d. h. die erste Übertragungsfunktion 34, auch für Antworten auf Echtzeit-Statusanforderungsbefehle.
  • Drittens, der Drucker 15 stößt den Versand einer Statusinformation an. Die Funktion, die den Statusinformationsversand anstößt, wird „Auto Status Back Funktion" (ASB) genannt und ermöglicht dem Drucker 15, automatisch bestimmte Statusinformationen zum Host 12 zu senden, wenn vom Host 12 vorher festgelegte Bedingungen eintreten (ein bestimmter Wechsel im Druckstatus).
  • Wenn zum Beispiel eine offene Druckerabdeckung eine der vorher festgelegten Bedingungen ist, wird der Drucker eine Statusinformation erzeugen und diese Statusinformation an den Host 12 senden, sobald die Druckerabdeckung aus irgendwelchen Gründen geöffnet wird. Dieser Typ einer Statusinformation kann zu einem nicht behebbaren Fehler, wie zum Beispiel dem Verlust von Druckdaten, führen. Der Druck kann nicht fortgesetzt werden, wenn während des Druckens oder, während Druckdaten vom Host 12 gesendet werden, z. B. die Druckerabdeckung geöffnet wird. Darum ist es notwendig, den Druckauftrag zu unterbrechen. Wenn der Host dennoch weiterhin Druckdaten sendet, obwohl der Druckauftrag unterbrochen ist, kann es zu einem Pufferüberlauf kommen, und Daten können verloren gehen. Es ist deswegen vorzuziehen, daß der Drucker 15 selbstständig erstellte Statusinformationen in Echtzeit an den Host 12 sendet. Überdies hätte der Host 12 keine Möglichkeit festzustellen, ob eine solche selbstständige Statusinformation erstellt ist, und könnte demzufolge kein IN-Zeichen 51 zu geeigneter Zeit senden, um die Statusinformation vom Drucker 15 abzurufen. Ein Beispieldrucker 15 gemäß dieser bevorzugten Ausführungsform nutzt deshalb eine zweite Übertragungsfunktion 35, um solche selbstständige Statusinformationen über den Unterbrechungsübertragungskanal an den Host 12 zu senden. Wie oben beschrieben, wird über den Unterbrechungsübertragungskanal das Gerät mit jedem Rahmen abgefragt, wenn diese auf den kürzesten möglichen Abstand eingestellt sind, und der Drucker 15 kann dadurch solche Statusinformationen nahezu in Echtzeit an den Host 12 senden.
  • 5 zeigt ein Ablaufdiagramm der wichtigsten Schritte in einem Prozeß, bei dem der Beispieldrucker 15 Statusinformationen an den Host sendet.
  • Sobald der Ablauf startet und die Steuerungseinrichtung 32 die Statusmeldung erstellt (Schritt 71), wird in Schritt 72 entschieden, ob die Statusinformation selbstständig erstellt wurde, also ob die Statusinformation von der ASB-Funktion erstellt wurde. Wenn das der Fall ist, wartet der Ablauf auf ein IN-Zeichen für eine Unterbrechungsübertragung (Schritt 73). Auf die Erkennung eines solchen IN-Zeichens, sofern ein Unterbrechungsüberragungskanal aufgebaut wurde, wird die Statusinformation versandt (Schritt 74). Wie oben beschrieben, kann die Unterbrechungsübertragungszeit auf die kürzeste mögliche Reaktionszeit, in diesem Fall eine Rahmenlänge, festgelegt werden. Mit einer solchen Einstellung besteht mit jedem Rahmen die Möglichkeit, Statusinformationen zu versenden, was praktisch heißt, daß die ASB Statusinformation sofort, nachdem sie erstellt ist, an den Host gesendet werden kann, d. h. in Echtzeit.
  • Wenn Schritt 72 jedoch zeigt, daß die Statusinformation nicht von der ASB-Funktion erstellt wurde, schreitet der Ablauf zu Schritt 75 voran. Dieser wartet auf ein IN-Zeichen für Massenübertragung. Auf die Erkennung eines solchen IN-Zeichens und den Aufbau eines Massenübertragungskanals wird die Statusinformation in Schritt 76 versandt.
  • Der Drucker 15, der eine USB-Schnittstelle nutzt, um Statusinformationen an einen Host zu senden, wie es bei der beispielhaften Ausführungsform der Fall ist, nutzt somit einen Unterbrechungsübertragungskanal, um selbstständig erstellte (ASB-Funktion) Statusinformationen an den Host zu senden und einen Massenübertragungskanal, um Statusinformationen als Antwort auf Statusanforderungsbefehle des Host zu senden. Dringende Statusinformationen, die vom Drucker selbstständig erstellt werden und von deren Existenz im Moment ihrer Entstehung der Host keine Möglichkeit hat, Kenntnis zu erlangen, können dadurch in Echtzeit vom Drucker an den Host gesandt werden. Auf den anderen Seite können Statusinformationen, die nicht eilig sind und deren Übertragungszeitpunkt der Host festlegen kann, über den Massenübertragungskanal gesandt werden. Dadurch wird die Belastung des Unterbrechungsübertragungskanals reduziert, eine Überlastung der von Unterbrechungsübertragungen belegten Brandbreite vermieden und eine ausreichende Bandbreite für Massenübertragung garantiert.
  • Es ist somit mittels der vorliegenden Erfindung möglich, einen Drucker und ein Druckersteuerungsverfahren zu schaffen, bei denen die sofortige Echtzeit-Datenübertragung von Statusinformationen, eine ausreichende Bandbreitenkapazität sowie eine schnelle Datenübertragungsrate sichergestellt werden können.
  • Das in 5 gezeigte Ablaufdiagramm des Steuerungsverfahrens wird vorzugsweise als ein Steuerungsprogramm ausgeführt, das die CPU des Druckers steuert. Das Programm kann auf einer magnetischen Diskette oder einem anderen maschinenlesbaren Speichermedium inklusive CD-ROM gespeichert werden. Wenn es in den Drucker geladen wird, führt der Drucker das Programm aus und arbeitet dabei den oben beschriebenen Ablauf ab. Das Laden eines solchen Programms vom Speichermedium, in Abhängigkeit vom Typ des Speichermediums, kann auf vielfältige bekannte Arten und Weisen durch den Fachmann erfolgen.
  • Wie bereits erwähnt, ist der Drucker nur ein Beispiel für ein Gerät entsprechend der Erfindung. Die Lehre der Erfindung kann auf verschiedene andere Geräte angewendet werden, die geeignet sind, mit einem Datenverarbeitungssystem verbunden zu werden. Genauer gesagt, können der Ablauf und der Aufbau, die oben für den Drucker 15 beschrieben wurden, auch genutzt werden, um Status- oder vergleichbare Informationen von einem anderen Gerät, wie z. B. vom Kundenbildschirm 16, dem Kartenleser 17 oder dem Barcodeleser 18, zu einem Host zu senden.
  • Für Statusinformationen, die vom Host angefordert wurden, wurde oben beschrieben, sie mittels des Massenübertragungsmodus zu versenden. Aber es ist genauso möglich, Statusinformationen als Antwort auf eilige Echtzeit-Statusbefehle vom Host über den Unterbrechungsübertragungsmodus zu senden und nur Statusinformationen als Antwort auf normale (nicht dringende) Statusanforderungsbefehle mit Hilfe des Massenübertragungsmodus zu senden. Dieses Verfahren des Versendens von Statusinformationen stellt bedeutend mehr Bandbreite für die Massenübertragung zur Verfügung, als sonst übrig bliebe, wenn der Unterbrechungsübertragungskanal genutzt würde, um alle Statusinformationen zu versenden. Dazu sichert sie die Echtzeitübertragung von Statusinformationen als Antwort auf Echtzeit-Statusanforderungsbefehle.
  • Der USB ist jedoch ein Bus, auf dem sowohl die Sendezeitsteuerung als auch die Empfangszeitsteuerung vom Host gesteuert wird. Selbst wenn der Massenübertragungsmodus für ein Gerät eingesetzt wird, um Statusinformationen an den Host zu senden, ist es deshalb möglich, Statusinformationen als Antwort auf Anforderung durch den Host zu geeigneter Zeit zu senden. Der USB kann hierfür optimal gesteuert werden, um die Unmittelbarkeit der Statusinformation zu sichern und die Übertragungseffizienz für andere Daten mit Hilfe eines Unterbrechungsübertragungskanals für das Versenden von selbstständig erstellten Statusinformationen, deren Zeitsteuerung nicht vom Host gesteuert werden kann, und mit Hilfe eines Massenübertragungskanals für alle anderen Statusinformationen, deren Zeitsteuerung vom Host gesteuert werden, zu maximieren.
  • Wie aus der obigen Beschreibung offensichtlich ist, können, wann immer ein Host und ein Peripheriegerät über einen Bus mit einer Vielzahl von Übertragungsmodi für die Kommunikation zwischen Host und den Peripheriegeräten verbunden sind, die Struktur und das Verfahren der dargestellten Erfindung so eingesetzt werden, daß Statusinformationen (oder vergleichbare Informationen) zu dem Host entweder über den ersten oder den zweiten Übertragungsmodus gesendet werden, anhängig davon, welcher Natur die zu sendenden Daten sind. Es ist selbstverständlich, daß der USB-Bus nur als ein Beispiel für solch eine Bus-Verbindung zwischen einem Peripheriegerät und einem Hostgerät beschrieben ist.

Claims (9)

  1. Gerät zum Anschließen als ein Peripheriegerät an einen Host (12) umfassend: einen Statusübertragungsabschnitt (32, 33) zum Erhalt einer Statusinformation, die einen Betriebszustand des Gerätes angibt und zum Senden von Statusinformation an den Host, und eine Schnittstelle (14) zum Aufbauen einer Kommunikationsverbindung mit dem Host über ein busartiges Kommunikationsmedium, wobei die Schnittstelle ausgeführt ist, um Daten mit Hilfe eines von mehreren Übertragungsmodi, umfassend wenigstens einen ersten und einen zweiten Übertragungsmodus, zu senden und zu empfangen, wobei in dem ersten Übertragungsmodus das Senden und das Empfangen von Daten als Antwort auf einen On-Demand-Eingabe/Ausgabe-Befehl durch einen Host möglich ist, und bei dem zweiten Übertragungsmodus das Senden und das Empfangen von Daten als Antwort auf einen periodischen Eingabe/Ausgabe-Befehl eines Hosts möglich ist, dadurch gekennzeichnet, daß der Statusübertragungsabschnitt (32, 33) umfasst: eine erste Sendeeinrichtung (34), um die Statusinformation mittels des ersten Übertragungsmodus zu übertragen; eine zweite Sendeeinrichtung (35), um die Statusinformation mittels des zweiten Übertragungsmodus zu übertragen, und eine Auswahleinrichtung, um die erste oder die zweite Sendeeinrichtung abhängig vom Grund der Statusinformationsübertragung auszuwählen.
  2. Gerät nach Anspruch 1, wobei die erste Sendeeinrichtung (34) geeignet ist, die Statusinformation als Antwort auf eine Anforderung eines Hosts (12) zu senden und die zweite Sendeeinrichtung (35) geeignet ist, selbstständig die Statusinformation zu senden.
  3. Gerät nach Anspruch 1 oder 2, umfassend: eine Verarbeitungseinrichtung (32) zum Ausgeben von Daten an oder Empfangen von Daten von einer externen Quelle; und eine Steuerungseinrichtung (32) zum Versenden oder Empfangen von in der Verarbeitungseinrichtung bearbeiteten Prozeßdaten in dem ersten Datenübertragungsmodus.
  4. Gerät nach einem der Ansprüche 1 bis 3, wobei das busartige Kommunikationsmedium der Universal Serial Bus und die Schnittstelle eine USB-Schnittstelle ist, wobei der erste Übertragungsmodus der Massenübertragungsmodus und der zweite Übertragungsmodus der Unterbrechungsübertragungsmodus ist.
  5. Verfahren zum Steuern eines Gerät wie es in einem der Ansprüche 1 bis 4 definiert ist, umfassend: (a) Erfassen von Statusinformation des Gerätes; (b) Auswählen eines der genannten ersten und zweiten Übertragungsmodi in Abhängigkeit von dem Grund der Statusinformationsübertragung; und (c) Senden der Statusinformation an den Host (12) in dem in Schritt (b) ausgewählten Übertragungsmodus.
  6. Verfahren nach Anspruch 5, wobei im ersten Übertragungsmodus die Statusinformation auf Anforderung des Hosts (12) versendet wird und in dem zweiten Übertragungsmodus die Statusinformation selbstständig versendet wird.
  7. Verfahren nach Anspruch 5 oder 6, weiterhin umfassend: Erzeugen von Prozeßdaten und Senden derselben an den Host (12) mit Hilfe des ersten Übertragungsmodus und/oder Empfangen von Prozeßdaten vom Host mit Hilfe des ersten Übertragungsmodus und Verarbeiten der empfangenen Prozeßdaten.
  8. Verfahren nach einem der Ansprüche 5 bis 7, wobei der erste Übertragungsmodus der Massenübertragungsmodus und der zweite Übertragungsmodus der Unterbrechungsübertragungsmodus ist, so wie sie von der USB-Schnittstelle unterstützt werden.
  9. Speichermedium, welches in maschinenlesbarer Form ein Steuerungsprogramm enthält, welches bei seiner Ausführung in dem Gerät nach einem der Ansprüche 1 bis 4 ein Verfahren nach einem der Ansprüche 5 bis 8 implementiert.
DE69912017T 1998-04-15 1999-04-15 Peripheriegerät und Steuerverfahren dafür Expired - Fee Related DE69912017T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP10497798A JP3711432B2 (ja) 1998-04-15 1998-04-15 周辺処理装置およびその制御方法
JP10497798 1998-04-15

Publications (2)

Publication Number Publication Date
DE69912017D1 DE69912017D1 (de) 2003-11-20
DE69912017T2 true DE69912017T2 (de) 2004-08-05

Family

ID=14395164

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69912017T Expired - Fee Related DE69912017T2 (de) 1998-04-15 1999-04-15 Peripheriegerät und Steuerverfahren dafür

Country Status (8)

Country Link
US (1) US6434643B1 (de)
EP (1) EP0950958B1 (de)
JP (1) JP3711432B2 (de)
KR (1) KR100456180B1 (de)
CN (1) CN1137445C (de)
DE (1) DE69912017T2 (de)
HK (1) HK1022754A1 (de)
TW (1) TW432318B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011075096A1 (de) * 2011-05-02 2012-11-08 Testo Ag Datenkommunikation über USB-Mass-Storage-Interface

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000347980A (ja) * 1999-03-29 2000-12-15 Canon Inc 周辺装置、周辺装置の制御方法、記憶媒体、及び、情報処理システム
JP3409749B2 (ja) * 1999-09-09 2003-05-26 エヌイーシーマイクロシステム株式会社 Usbファンクションの評価装置及びその方法
US6934789B2 (en) * 1999-11-24 2005-08-23 Via Technologies, Inc. Interface, structure and method for transmitting data of PCI bus which uses bus request signal for judging whether a device supporting dual transmission mode
US7000018B1 (en) * 1999-12-22 2006-02-14 Intel Corporation Voice data streaming control in a network
US6839771B1 (en) * 2000-04-13 2005-01-04 Hewlett-Packard Development Company, L.P. Method and system for using a universal serial bus (USB) as a peer-to-peer network
JP2001337911A (ja) * 2000-05-25 2001-12-07 Hitachi Ltd Usb−atapiインターフェイスシステムとこれに用いるatapi−usb変換機器
US20010056406A1 (en) * 2000-06-20 2001-12-27 Kenji Nagoya Information processing apparatus and storage medium storing programs for controlling the apparatus
FR2817058B1 (fr) * 2000-11-21 2003-01-24 St Microelectronics Sa Dispositif et procede de traitement des interruptions dans une transmission d'informations sur un bus
JP4524912B2 (ja) * 2000-12-20 2010-08-18 セイコーエプソン株式会社 端末装置及びその制御方法
JP4480909B2 (ja) * 2001-02-22 2010-06-16 株式会社沖データ データ送受信システム
US7073006B2 (en) * 2001-08-02 2006-07-04 Intel Corporation Implementing hardware interrupt event driven mechanism to offer soft real-time universal serial bus
US20040249985A1 (en) * 2001-10-18 2004-12-09 Toshiaki Mori Host network interface device and drive network interface device
WO2003075149A1 (fr) * 2002-03-01 2003-09-12 Seiko Epson Corporation Systeme de sortie d'images equipe de plusieurs dispositifs en communication selon une relation maitre/esclave
JP2003326809A (ja) * 2002-05-13 2003-11-19 Canon Inc プリンタ
JP3787535B2 (ja) * 2002-06-18 2006-06-21 キヤノン株式会社 画像処理装置及びその制御方法
US7437439B2 (en) * 2002-12-03 2008-10-14 Hewlett-Packard Development Company, L.P. System and method for the hybrid harvesting of information from peripheral devices
US20040109193A1 (en) * 2002-12-04 2004-06-10 Brett Smith Image forming device having a transmission control and method of operating an image forming device
US20040158582A1 (en) * 2003-02-11 2004-08-12 Shuichi Takagi Method and apparatus for synchronously transferring data from a local storage medium to a remote storage medium, and method and system for managing transfer of data from a source storage medium to a repository storage medium
JP2005071273A (ja) * 2003-08-27 2005-03-17 Canon Inc 電子機器及びそのインターフェース制御方法
US20050097198A1 (en) * 2003-10-08 2005-05-05 Getler Robert M. Printer monitoring system and method
TWI318357B (en) * 2003-12-05 2009-12-11 Faraday Tech Corp Data transfer method for universal serial bus device
JP2005176233A (ja) * 2003-12-15 2005-06-30 Canon Inc 通信装置及び通信システム
JP4750379B2 (ja) 2004-05-31 2011-08-17 キヤノン株式会社 電子機器
KR100729203B1 (ko) * 2004-12-21 2007-06-19 삼성전자주식회사 프린터에 연결하여 프린트 가능한 휴대용 단말기
US20060253639A1 (en) * 2005-05-05 2006-11-09 Aten International Co., Ltd. Control system for controlling a plurality of target computers through portable computer
JP4688822B2 (ja) * 2005-06-15 2011-05-25 パナソニック株式会社 外部デバイスアクセス装置およびシステムlsi
US7978357B2 (en) * 2006-01-30 2011-07-12 Marvell International Technology Ltd. Printing system and method that uses a universal serial bus (USB) high-speed interrupt out pipe to transfer print data from the host computer to the printer
CN100390766C (zh) * 2006-03-14 2008-05-28 威盛电子股份有限公司 通用串行总线装置与其进行数据交换的方法
JP4477599B2 (ja) * 2006-04-28 2010-06-09 ブラザー工業株式会社 原稿読取装置、画像形成装置及び原稿読取システム
US8200856B2 (en) * 2006-05-25 2012-06-12 Qualcomm Incorporated Flow control for universal serial bus (USB)
JP2008027386A (ja) * 2006-07-25 2008-02-07 Dainippon Printing Co Ltd Icカード通信方法、icカード端末及びコンピュータプログラム
CN101132377B (zh) * 2006-08-23 2010-06-23 中兴通讯股份有限公司 一种收发串行申请装置及其方法
US8131890B1 (en) * 2007-03-23 2012-03-06 Cypress Semiconductor Corporation Circuit and method for increasing universal serial bus (USB) device endpoints
JP2009205637A (ja) * 2008-02-29 2009-09-10 Seiko Epson Corp Usb装置、印刷装置、usb装置の制御方法及びそのプログラム
US8423697B2 (en) * 2008-04-24 2013-04-16 American Reliance, Inc. Device interface module
US20100011055A1 (en) * 2008-07-09 2010-01-14 Chih-Hua Lin Remote desktop control system using usb cable and method thereof
US8082369B2 (en) * 2008-12-08 2011-12-20 Symbol Technologies, Inc. System and method for configuring an electronic device
TWI408557B (zh) * 2010-03-18 2013-09-11 Faraday Tech Corp 高速輸入輸出系統及其節能控制方法
KR101670055B1 (ko) * 2010-08-30 2016-11-09 삼성전자 주식회사 디지털 영상 처리 장치의 제어 방법, 상기 방법을 적용한 디지털 영상 처리 장치, 상기 디지털 영상 처리 장치를 포함하는 통신 시스템
KR101595153B1 (ko) * 2012-06-28 2016-02-17 세이코 엡슨 가부시키가이샤 데이터 처리 장치, pos 시스템 및 pos 시스템의 제어 방법
KR102082891B1 (ko) * 2012-10-11 2020-02-28 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 사용자 단말 장치 및 상태 정보 표시 방법
US9251105B2 (en) * 2012-11-20 2016-02-02 Intel Corporation Transmitting an interrupt packet
US10165130B2 (en) 2014-02-13 2018-12-25 Emerge Print Management, Llc System and method for the passive monitoring and reporting of printer-related data on USB cables
JP6575208B2 (ja) * 2015-08-04 2019-09-18 ブラザー工業株式会社 処理装置
JP7192204B2 (ja) * 2017-09-29 2022-12-20 株式会社ニデック 眼科撮影装置
CN110659229B (zh) * 2018-06-29 2022-11-08 群联电子股份有限公司 存储器管理方法、存储器存储装置及存储器控制电路单元
JP7248941B2 (ja) * 2018-09-13 2023-03-30 京セラドキュメントソリューションズ株式会社 印刷ジョブ送信装置、印刷ジョブ送信プログラムおよび印刷システム
CN114490489B (zh) * 2020-11-13 2024-08-20 大唐联仪科技有限公司 请求处理方法、装置及存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61150434A (ja) 1984-12-24 1986-07-09 Matsushita Electric Ind Co Ltd バス・アクセス制御システム
US4809217A (en) * 1985-10-31 1989-02-28 Allen-Bradley Company, Inc. Remote I/O port for transfer of I/O data in a programmable controller
US5065314A (en) * 1988-09-23 1991-11-12 Allen-Bradley Company, Inc. Method and circuit for automatically communicating in two modes through a backplane
US5038275A (en) * 1988-10-07 1991-08-06 Advanced Micro Devices, Inc. Status transfer structure within a data processing system with status read indication
EP0363087A3 (de) 1988-10-07 1991-08-21 Advanced Micro Devices, Inc. Zustandsübertragung in einem Datenverarbeitungssystem
US5097410A (en) * 1988-12-30 1992-03-17 International Business Machines Corporation Multimode data system for transferring control and data information in an i/o subsystem
US5287523A (en) * 1990-10-09 1994-02-15 Motorola, Inc. Method for servicing a peripheral interrupt request in a microcontroller
US5313584A (en) * 1991-11-25 1994-05-17 Unisys Corporation Multiple I/O processor system
JPH0656601B2 (ja) * 1991-11-28 1994-07-27 インターナショナル・ビジネス・マシーンズ・コーポレイション データ転送制御用インタフェース回路
US5566351A (en) * 1994-06-20 1996-10-15 International Business Machines Corporation Adaptive polling system by generating sequence of polling signals whose magnitudes are functionally related to the occurrence of the busy signal
DE19639845C1 (de) * 1996-09-27 1998-04-02 Philips Patentverwaltung Lokales Netzwerk mit Sende- und Empfangsvorrichtung
US5987526A (en) * 1998-04-06 1999-11-16 At&T Corp. Asynchronous transfer mode layer automatic protection switching mechanism for ATM permanent virtual connections

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011075096A1 (de) * 2011-05-02 2012-11-08 Testo Ag Datenkommunikation über USB-Mass-Storage-Interface

Also Published As

Publication number Publication date
JPH11296316A (ja) 1999-10-29
EP0950958A1 (de) 1999-10-20
US6434643B1 (en) 2002-08-13
EP0950958B1 (de) 2003-10-15
CN1236134A (zh) 1999-11-24
DE69912017D1 (de) 2003-11-20
KR100456180B1 (ko) 2004-11-09
HK1022754A1 (en) 2000-08-18
CN1137445C (zh) 2004-02-04
KR19990083207A (ko) 1999-11-25
JP3711432B2 (ja) 2005-11-02
TW432318B (en) 2001-05-01

Similar Documents

Publication Publication Date Title
DE69912017T2 (de) Peripheriegerät und Steuerverfahren dafür
DE69827747T2 (de) Druckersystem und Übertragungsvorrichtung um Druckersteuerungsprogramm zu übertragen
DE60035882T2 (de) Protokoll einer zerteilten transaktion für ein bussystem
DE10052945B4 (de) Agenten/Vollmacht-Verbindungssteuerung über eine Brandmauer
DE69833923T2 (de) Datenübertragung mit Datenvorschau
DE69932400T2 (de) Steuerungsvorrichtung für einen Portverwalter zur Verbindung von verschiedenen Funktionsmodulen
DE69526794T2 (de) Virtueller drucker
DE69228675T2 (de) Jobverteiler für Barcode-Drucker
DE69936960T2 (de) Seitendrucker und Seitendrucksystem
DE69930490T2 (de) Kommunikationsverfahren, Sendungsverfahren und Empfangsverfahren und Geräte zu ihrer Durchführung
DE69115152T2 (de) Verfahren und Vorrichtung zur Verwendung von dynamischer Datenverdichtung.
DE68925474T2 (de) Verriegelungsrechnersysteme
DE69837122T2 (de) Multifunktionales Druckersystem mit Warteschlangenverwaltung
DE69914425T2 (de) Modulare Übertragungssteuerung und -Verfahren
DE60203571T2 (de) Druckvorrichtung und dessen Verfahren zum Aktualisieren der Betriebsdaten
DE69929142T2 (de) Verfahren zur Bilddatenübertragung unter Verwendung von einem IEEE 1394 Bus
DE602004004706T2 (de) Verfahren und System zur Kommunikationssteuerung
DE60125988T2 (de) Verfahren und vorrichtung zur asynchronen berichtübertragung
DE69617299T2 (de) Übertragungsverfahren mit Protokolländerung und Datenverarbeitungsgerät dafür
DE60122085T2 (de) Datenverarbeitungsgerät für serielles Kommunikationssystem
DE112008000598T5 (de) Relaisschaltungseinheit für ein Fahrzeug
DE3103786A1 (de) Datenuebertragungssystem
DE69319081T2 (de) Übertragungsverfahren und -vorrichtung
DE60027633T2 (de) Datenkommunikations-Gerät
DE60023429T2 (de) Geräteregistrierung in einem Netzwerk

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee