DE60122085T2 - Datenverarbeitungsgerät für serielles Kommunikationssystem - Google Patents

Datenverarbeitungsgerät für serielles Kommunikationssystem Download PDF

Info

Publication number
DE60122085T2
DE60122085T2 DE60122085T DE60122085T DE60122085T2 DE 60122085 T2 DE60122085 T2 DE 60122085T2 DE 60122085 T DE60122085 T DE 60122085T DE 60122085 T DE60122085 T DE 60122085T DE 60122085 T2 DE60122085 T2 DE 60122085T2
Authority
DE
Germany
Prior art keywords
interrupt
data
interrupt mode
bus
unit
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 - Lifetime
Application number
DE60122085T
Other languages
English (en)
Other versions
DE60122085D1 (de
Inventor
Kazunobu Yokosuka-shi Kimura
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.)
Panasonic Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of DE60122085D1 publication Critical patent/DE60122085D1/de
Application granted granted Critical
Publication of DE60122085T2 publication Critical patent/DE60122085T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)
  • Bus Control (AREA)

Description

  • Hintergrund der Erfindung
  • Die vorliegende Erfindung bezieht sich auf eine Datenverarbeitungsvorrichtung, die in einem seriellen Kommunikationssystem benutzt wird, in welchem eine Datenübertragung mit einem Host-Computer über eine serielle Schnittstelle durchgeführt wird.
  • Eine Datenübertragung durch eine USB (Universal Serial Bus)-Schnittstelle entsprechend einer Art von seriellen Schnittstellen wird konventionell zwischen einem Host-Computer (wird nachfolgend als ein "USB-Host" bezeichnet) und einer Datenverarbeitungsvorrichtung (wird nachfolgend als "USB-Vorrichtung" bezeichnet) errichtet, die durch diesen USB-Host kontrolliert wird. Der USB-Host besitzt solch eine Funktion als ein Datenübertragungs-/Verwaltungs-Master. Grundsätzlich wird ein in dieser USB-Vorrichtung ausgeführter Datenverarbeitungsvorgang entsprechend einem Interrupt durchgeführt, der durch ein Ereignis eines Bus-Ereignisses, wenn ein Token, Daten, ein Bus-Signal und dergleichen von dem USB-Host empfangen werden, oder wenn Daten und dergleichen zu dem USB-Host übertragen werden, ausgelöst wird. Im Hinblick auf große Datenmengen oder auf solche Daten, welche sehr häufig periodisch erzeugt werden, wird eine vorbestimmte Menge dieser Daten gepuffert und folglich ein Interrupt erzeugt.
  • 4 ist ein Zeitdiagramm zum Erläutern eines Beispiels eines Interruptvorgangs in einer konventionellen USB-Vorrichtung. In 4 ist durch die USB-Spezifikation definierter 1-Frame 113 (1 ms) als eine Dauer (Zeitdauer) zwischen SOF (Start of Frame)-Signalen 111 und 112 angezeigt, welche von dem USB-Host empfangen werden. In diesem 1-Frame 113 (K:tn-Frame) enthält ein auf einem USB-Bus eingetroffenes Bus-Ereignis 100 ein Bus-Rücksetzsignal 101, Daten 102 einer Übertragung 1, Daten 103 einer Übertragung 2 und Daten 104 einer Übertragung 3. Diese Signal und Daten sind Zeit-Sequentiell eingerichtet. Eine durch eine CPU (Zentraleinheit) ausgelöste Datenverarbeitung 105 enthält Verarbeitungen 106 bis 109, welche Zeit-Sequentiell eingerichtet sind. Einen Interrupt 110 (in dieser Zeichnung als "Interrupt-Modus A" bezeichnet) tritt bei jedem Bus-Ereignis ein. Dieser Interrupt 110 wird zum Benachrichtigen des Bus- Ereignisses 100 in dem USB-Bus zu der CPU benutzt. Jedes Mal, wenn dieser Interrupt 110 auftritt, wird die Datenverarbeitung 105 durch die CPU ausgelöst. Mit anderen Worten werden die Verarbeitung 106 in Bezug auf das Bus-Rücksetzsignal 101, die Verarbeitung 107 in Bezug auf die Daten 102 der Übertragung 1, die Verarbeitung 108 in Bezug auf die Daten 103 der Übertragung 2 und die Verarbeitung 109 in Bezug auf die Daten 104 der Übertragung 3 sequentiell durchgeführt.
  • Bei der oben beschriebenen konventionellen Datenverarbeitungsvorrichtung, die in dem seriellen Kommunikationssystem benutzt wird, verwaltet der USB-Host alle Übertragungsvorgänge betreffend die Daten und dergleichen und plant den Übertragungsablauf. Als ein Ergebnis kann auf Seite der USB-Vorrichtung eine Interrupt-Gesamtzeit, welche direkt proportional zu den Ereigniszeiten der Bus-Ereignisse ist, während die Bus-Signale und die Daten übertragen/empfangen werden, nicht reguliert werden.
  • In solch einem Fall, bei dem eine USB-Schnittstelle in ein zusammengesetztes System eingebaut wird, würden die Arten von Übertragungsvorgängen und eine Gesamtanzahl von Endpunkten erhöht werden, da die Kommunikationsapplikationssoftware erhöht ist, so dass eine Gesamtzeit der Interrupts erhöht werden würde. Mit anderen Worten wird die Arbeitsbelastung in Bezug auf eine CPU erhöht, was zu nachteiligen Bedingungen führt.
  • US-A-6 115 779 beschreibt ein Interrupt-Verwaltungssystem, welches einem Nutzer ermöglicht, Interrupt-Ereignisse entweder in einem Echtzeit-Verwaltungsmodus oder in einem Batch-Verwaltungsmodus zu bearbeiten. In dem Echtzeit-Modus wird ein Interrupt-Anforderungssignal in Antwort auf jedes Interrupt-Ereignis durchgesetzt. In dem Batch-Modus wird ein Interrupt-Anforderungssignal verzögert bis eine vorbestimmte Anzahl von Interrupt-Ereignissen erfasst worden ist oder bis ein vorbestimmtes Zeitintervall vergangen ist, seit das letzte Interrupt-Ereignis erfasst wurde. In Antwort auf ein Interrupt-Ereignis wird das entsprechende Bit in einem Interrupt-Register in einen aktiven Zustand versetzt. Ein Interrupt-Kontrollbit ist in einem Interrupt-Kontrollregister für jedes Interrupt bereitgestellt, um die Aktivierung von einem Interrupt-Anforderungspin in Antwort zu dem Interrupt-Ereignis zu ermöglichen. Ein Batch-Freigabebit ist in einem Batch-Register für jedes Interrupt-Ereignis bereitgestellt, um das Batching des Interrupt-Ereignisses zu ermöglichen.
  • US-A-6 119 195 beschreibt ein Verfahren und eine Vorrichtung zum Virtualisieren einer seriellen Bus-Informationsquelle/Senke (sink point) einer seriellen Bus-Vorrichtung zu einem Adressraum eines Prozessors. Eine Registereinheit ist mit einer parallelen Anschlussvorrichtung verbunden, um eine serielle Bus-Transaktion zwischen dem Prozessor und der seriellen Bus-Vorrichtung zu unterstützen. Die Registereinheit hat eine Vielzahl von Registern, welche in dem Adressraum des Prozessors über die parallele Anschlussvorrichtung abgebildet werden, eines der Vielzahl von Registern entspricht der seriellen Bus-Informationsquelle/Senke. Ein Steuerkreis ist mit der Registereinheit gekoppelt, um dem Prozessor die Informationsquelle/Senke über die parallele Anschlussvorrichtung zugänglich zu machen.
  • Zusammenfassung der Erfindung
  • Die vorliegende Erfindung wurde gemacht, um die oben erläuterten Probleme zu lösen und hat deshalb die Aufgabe zum Bereitstellen solch einer Datenverarbeitungsvorrichtung, die in einem seriellen Kommunikationssystem benutzt wird, welche in der Lage ist, in ein zusammengesetztes System einer USB-Schnittstelle (serielle Schnittstelle) eingebaut zu werden, während eine Interrupt-Gesamtzeit auf der Seite einer USB-Vorrichtung (und zwar die Datenverarbeitungsvorrichtung) angepasst werden kann und außerdem eine CPU-Arbeitsbelastung reduziert werden kann.
  • Die oben beschriebene Aufgabe wird mit den Merkmalen von Anspruch 1 erzielt. Bevorzugte Ausführungsformen sind in den Unteransprüchen angegeben.
  • Kurze Zusammenfassung der Zeichnungen
  • 1 ist ein Zeitdiagramm zum Erläutern eines Beispiels eines in einer USB-Vorrichtung ausgeführten Interruptvorgangs gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 2 ist ein Blockdiagramm zum Veranschaulichen einer Struktur der USB-Vorrichtung gemäß der vorliegenden Erfindung;
  • 3 ist ein Diagramm zum schematischen Anzeigen einer Struktur von jedem der Endpunktpuffer, welche einen Datenpuffer bilden, und auch einer Struktur eines in Zusammenhang mit diesen Endpunktpuffern eingesetzten Zustandsregister; und
  • 4 ist ein Zeitdiagramm zum Erläutern eines Beispiels des Interrupt-Vorgangs ausgeführt in der konventionellen USB-Vorrichtung.
  • Detaillierte Beschreibung der bevorzugten Ausführungsform
  • In Bezug auf die Zeichnungen wird nun eine Ausführungsform der vorliegenden Erfindung detailliert beschrieben.
  • Zuerst wird ein Beispiel eines in einer USB-Vorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung ausgeführten Interrupt-Vorgangs in Bezug auf 1 beschrieben. In 1 wird 1-Frame (ein Frame) 213 als eine zwischen einem SOF-Signal 211 und einem weiteren SOF-Signal 212 definierte Zeitdauer festgelegt, in anderen Worten, eine Zeitdauer (5 ms) entsprechend 5 Aufzählungen von SOF-Signalen, die von einem USB-Host abgeleitet sind. In diesem 1-Frame 213 (K:tn Frame) enthält ein in einem USB-Bus auftretendes Bus-Ereignis 200 ein Bus-Rücksetzsignal 201, Daten 202 einer Übertragung 1, Daten 203 einer Übertragung 2 und Daten 204 einer Übertragung 3, welche in einer Zeit-Sequentiellen Art und Weise eingerichtet sind. Eine von einer CPU ausgeführten Datenverarbeitung 205 enthält Verarbeitungen 206 bis 208, welche Zeit-Sequentiell eingerichtet sind.
  • In diesem Fall sind zwei Arten von Interrupts zur Benachrichtigung des Eintritts des Bus-Ereignisses 200 in dem USB-Bus zu der CPU vorgesehen, d. h. sowohl ein Interrupt 209 (angezeigt als ein "Interrupt-Modus A" in der Zeichnung) als auch ein weiterer Interrupt 210 (angezeigt als "Interrupt-Modus B" in der Zeichnung). Ähnlich wie bei dem konventionellen System wird das durch den Interrupt-Modus A erzeugte Interrupt 209 jedes Mal, wenn ein Bus-Ereignis eintritt, erzeugt. Dann wird jedes Mal wenn dieser Interrupt 209 erzeugt wird, die Datenverarbeitung 205 durch die CPU ausgeführt. Andererseits wird das durch den Interrupt-Modus B erzeugte Interrupt 210 für jeden 1-Frame 213 im Gleichlauf mit dem SOF-Signal erzeugt. Zu diesem Zeitpunkt wird die Datenverarbeitung 205 durch die CPU durchgeführt. Das heißt, der Interrupt 210 wird erzeugt, während der 1-Frame 213 als eine Interrupt-Zeitdauer festgelegt wird. Mit anderen Worten sowohl die Verarbeitung 206 in Bezug auf das Bus-Rücksetzsignal 201 als auch die Verarbeitung 207 in Bezug auf die Daten 202 der Übertragung 1 werden sequentiell in dem K:tn Frame ausgeführt, wobei die Verarbeitung 208 bezüglich sowohl der Daten 203 der Übertragung 2 als auch der Daten 204 der Übertragung 3 in einem (K+1)- Frame nachfolgend zu dem K:tn Frame ausgeführt wird. Es soll beachtet werden, dass obwohl die durch den Interrupt-Modus B erzeugte Interrupt-Zeitdauer auf 5 ms, welche 5 Aufzählungen der SOF-Signale in dieser Ausführungsform entspricht, festgelegt ist, so kann diese Interrupt-Zeitdauer auf eine willkürlich ausgewählte Zeit festgelegt werden.
  • Der oben beschriebene Interrupt-Modus "A" wird beispielsweise in solch einem Übertragungsvorgang eines Bus-Signals, Kontrollsystemdaten und dergleichen verwendet, beispielsweise bei Kabel-Aufschnitt (cable cut-out) und Rückstellen eines USB-Bus. Diese Ereignisse treten nicht allzu häufig auf, erfordern aber sehr dringende, d. h. unverzügliche Verarbeitungsvorgänge sind erforderlich. In dem Beispiel gemäß 1 wird der Interrupt-Modus A sowohl für das Bus-Rücksetzsignal 201 als auch für die Daten 202 der Übertragung 1 angewandt. Ähnlich wie bei der konventionellen Vorgehensweise entspricht dieser Interrupt-Modus A solch einem Interrupt-Modus, welcher nicht auf Zeitbasis verwaltet wird. Der oben beschriebene Interrupt-Modus B entspricht andererseits solch einem Interrupt-Modus, welcher Zeit gesteuert ist, und wird für einen Übertragungsvorgang in Bezug auf Sprachdaten, die in einem sehr häufigen Maß erzeugt werden, und auch für Paketkommunikationsdaten angewandt, deren Kapazität groß ist und welche lokal in einem sehr häufigen Maß erzeugt werden. In dem Beispiel gemäß 1 wird dieser Interrupt-Modus "B" für sowohl die Daten 203 der Übertragung 2 als auch der Daten 204 der Übertragung 3 angewandt. Es ist somit erforderlich, dass eine Entscheidung, ob der Interrupt-Modus "A" oder der Interrupt-Modus "B" für ein bestimmtes Ereignis angewandt werden kann, im Voraus in Bezug auf jedes Bus-Ereignis (Endpunkt und Bus-Signal) festgelegt werden sollte.
  • Als Nächstes wird nun eine Struktur einer USB-Vorrichtung gemäß dieser Ausführungsform in Bezug auf 2 beschrieben. In 2 ist ein USB-Host 300 über ein USB-Kabel 301 gegenseitig mit einer USB-Vorrichtung 302 verbunden. In der USB-Vorrichtung 302 ist eine Puffer-Steuereinheit 304, welche einen SIE (Serial Interface Engine) 303 steuert, und ein Daten-Puffer (wird nachfolgend beschrieben) 306 gegenseitig über einen Bus 319 mit einem Decoder 305, welcher eine Endpunktadresse analysiert, verbunden. Der Daten-Puffer 306 entsprechend zu jedem der Endpunkte, eine Zeitein heit 307, eine Signal-Kontrolleinheit 308, ein in dem Daten-Puffer 306 benutztes Zustandsregister 309, eine CPU 310 zum Ausführen von Datenverarbeitungsvorgängen und dergleichen und auch andere periphere Schaltkreise 318 sind gegenseitig über einen Bus 320 miteinander verbunden. Die Zeiteinheit 307 misst eine vorher ausgewählte Zeitdauer, welche die Interrupt-Zeitdauer von dem Interrupt-Modus "B" bildet. Bei dieser Ausführungsform misst die Zeiteinheit 307 5 ms (Millisekunden) oder zählt 5 Mengen von SOF-Signalen. Die Signal-Kontrolleinheit 308 gibt ein Interrupt-Signal 317 in Antwort auf ein von dem Daten-Puffer 306 zugeführtes Signal ab.
  • Der Daten-Puffer 306 enthält eine Vielzahl von Endpunkt-Puffern 306-1, 306-2, ..., 306-n (das Symbol "n" ist eine natürliche Zahl), welche den jeweiligen Endpunkten entsprechen. Diese Endpunkt-Puffer 306 sind mit der Puffer-Steuereinheit 304 verbunden. Die Endpunkt-Puffer 306-1, 306-2, ..., 306-n sind jeweils auch mit der Signal-Steuereinheit 308 verbunden und jeweils auch mit der Zeiteinheit 307 verbunden. Als ein Ergebnis werden Benachrichtigungssignale 311 bis 313 in Verbindung mit einem Puffer-Zustand jedes Endpunktes zu sowohl der Signal-Kontrolleinheit 308 als auch zu der Zeiteinheit 307 von dem jeweiligen Endpunkt-Puffern 306-1, 306-2, ..., 306-n zugeführt. Auch ein Bus 319 ist mit sowohl der Signal-Kontrolleinheit 308 als auch der Zeiteinheit 307 verbunden. Als ein Ergebnis wird ein Signal 314 zu jeweils der Signal-Kontrolleinheit 308 und der Zeiteinheit 307 zugeführt. Dieses Signal 314 wird benutzt, um anzuzeigen, dass ein USB-Kabel angeschlossen/getrennt ist, und USB-Bus-Signale wie beispielsweise ein USB-Rücksetzen, ein USB-Aussetzen und ein USB-Wiederaufnehmen werden erzeugt. Außerdem ist der Bus 319 mit der Zeiteinheit 307 verbunden, so dass ein weiteres Signal 316 zum Benachrichtigen eines SOF-Signals zu der Zeiteinheit 307 gesendet wird.
  • Die Zeiteinheit 307 ist mit der Signal-Steuereinheit 308 verbunden. Als ein Ergebnis wird ein Signal 315 von der Zeiteinheit 307 zu der Signal-Steuereinheit 308 zugeführt. Dieses Signal 315 zeigt eine solche Tatsache an, dass eine vorbestimmte Zeitdauer gemessen ist, welche die Interrupt-Zeitdauer des Interrupt-Modus B begründet. Ferner ist die Signal-Steuereinheit 308 mit der CPU 310 verbunden. Als ein Ergebnis wird ein Interrupt-Signal 317, erzeugt auf Basis von entweder den Signalen 311 bis 313 oder dem Signal 314, von der Signal-Steuereinheit 308 zu der CPU 310 geliefert. In Antwort auf dieses Interrupt-Signal 317 wird ein Interrupt, der entweder durch den oben erläuterten Interrupt-Modus "A" oder den oben beschriebenen Interrupt-Modus "B" erzeugt wurde, in Bezug auf die CPU 310 ausgeführt. Außerdem sind andere periphere Schaltkreise 318 auf ähnliche Art und Weise mit der CPU 310 verbunden. Als ein Ergebnis werden unterschiedliche Arten von Signalen zu der CPU 310 zugeführt. Es sollte auch berücksichtigt werden, dass eine Entscheidung, ob der Interrupt-Modus "A" oder der Interrupt-Modus "B" für ein bestimmtes Ereignis angewandt werden könnte, vorab in Bezug auf jedes der Bus-Ereignisse (Endpunkte und Bus-Signale) in der Signal-Steuereinheit 308 festgelegt werden sollte. Dieser Einstellungsvorgang kann programmierbar ausgeführt werden.
  • Nachfolgend werden nun Vorgänge der USB-Vorrichtung 302 erläutert. Wenn die USB-Vorrichtung 302 ein Bus-Ereignis, welches in dem USB-Kabel 301 eintrifft, erfasst, analysieren sowohl die SIE 303 als auch der Decoder 305 dieses Bus-Ereignis. Wenn das analysierte Bus-Ereignis einem USB-Bussignal entspricht, meldet die USB-Vorrichtung 302 diese Tatsache der Signal-Steuereinheit 308 durch Einsetzen des Signals 314. Wenn das analysierte Bus-Ereignis einem Bus-Ereignis entspricht, welches sich auf Übertragung/Empfang von Übertragungsdaten im Hinblick auf jeden der Endpunkte bezieht, überträgt die USB-Vorrichtung 302 über die Puffer-Steuereinheit 304 Daten zu dem Daten-Puffer 306 und meldet dann einen Zustand betreffend jeden der Endpunkte zu der Signal-Steuereinheit 308 durch Nutzung der Signale 311 bis 313. In diesem Fall kann der Daten-Puffer 306 eine Puffergröße hiervon in programmierbarer Weise ändern.
  • Wenn die Zeiteinheit 307 eine vorher ausgewählte Zeitdauer, entsprechend der Interrupt-Zeitdauer des Interrupt-Modus B misst, meldet diese Zeiteinheit 307 diese Tatsache der Signal-Steuervorrichtung 308 durch Nutzung des Signals 315. In diesem Fall werden als die Eingabesignale zu der Zeiteinheit 307 die Signale 311 bis 313, abgeleitet von dem Daten-Puffer 306, das Signal 314, verwendet zum Anzeigen des USB-Bussignals, und das Signal 316, verwendet zum Anzeigen des SOF-Signals, benutzt. Diese Signale können genutzt werden, um den Zeitvorgang zu starten und können auch als ein Aufzählungsfaktor in der Zeitmessungsvorrichtung 307 benutzt werden. Es soll auch verstanden werden, dass das Zeitintervall (Zeitdauer), die Aufzählungsnummer und die Auswahlvorgänge der hierzu verwandten Signale als die Auslöser in der Zeiteinheit 307 programmierbar ausgeführt werden können. Beispielsweise sind die folgenden Benachrichtigungsverfahren denkbar. Wenn ein SOF-Signal als ein Aufzählungsfaktor verwendet wird, wird jedes Mal, wenn 5 Aufzählungen gezählt worden sind, diese Tatsache der Signal-Steuerungseinheit 308 gemeldet. Wenn eine Vervollständigung einer Datenübertragung durch den Endpunk-Puffer 306 als ein Auslöser zum Starten des Zeitvorgangs benutzt wird, so wird solch eine Tatsache der Signal-Steuerungseinheit 308 nach 3 ms gemeldet.
  • Die Signal-Steuerungseinheit 308 steuert den Zeitablauf, bei welchem das Interrupt-Signal 317 in Antwort auf ein aufgetretenes Bus-Ereignis ausgegeben wird. Mit anderen Worten, wenn solch ein Bus-Ereignis, für welches der Interrupt-Modus A angewandt wird, eintritt, führt die Signal-Steuerungseinheit 308 das Interrupt-Signal 317 unverzüglich zu der CPU 310. Wenn solch ein Bus-Ereignis, für welches der Interrupt-Modus B angewandt wird, eintritt, führt andererseits die Signal-Steuereinheit 308 das Interrupt-Signal 317 zu der CPU 310 in Antwort auf (in Synchronismus mit) das von der Zeiteinheit 307 zugeführte Signal 315.
  • Bezug nehmend auf 3 wird nun eine Struktur von jedem der Endpunkt-Puffer beschrieben, welche den Daten-Puffer 306 bilden, und auch eine Struktur eines Zustandsregisters 309, welches diesem entspricht. In 3 besitzen die jeweiligen Endpunkt-Puffer, welche den Daten-Puffer 306 bilden, einen Datenspeicherbereich 402. Das Statusregister 309 beinhaltet Register 405 bis 411, ein Register 403, um darin alle Größen von Daten, die in jedem der Endpunkt-Puffer gespeichert sind, zu speichern, und ein Register 404, um darin eine Gesamtanzahl von effektiven Paketen zu speichern. Die Register 405 bis 411 speichern darin eine Datenspeichergröße jedes Daten-Paketes entsprechend jedem der Endpunkt-Puffer.
  • In diesem Fall werden nun Vorgänge beschrieben, welche ausgeführt werden, wenn die Daten empfangen werden. Zuerst wird angenommen, dass die Übertragung 2 innerhalb des K:tn Frame, wie in 1 gezeigt, einem Übertragungsvorgang von Paket-Kommunikationsdaten entspricht. Um einen Interrupt 210, erzeugt durch den Interrupt-Modus B, auszuführen, misst die Zeiteinheit 307 eine vorgewählte Zeitdauer (5 ms bei dieser Ausführungsform), welche einer Interrupt-Zeitdauer entspricht. In der Annahme, dass die Übertragung 2 durch 5 Daten-Pakete gebildet wird, definiert sich die Datengröße der zugehörigen Daten-Pakete jeweils mit 64 Byte, 0 Byte, 64 Byte, 48 Byte und 64 Byte. In diesem Fall entsprechen 0-Byte-Daten solchen Daten, bei denen eine Datenregion gleich 0 Byte ist, und diese Daten besitzen nur einen Anfangbereich, welcher auf ein Übertragungsziel und dergleichen hinweist. Diese Daten werden gepuffert bis diese Daten durch den Interrupt 210 in einem Batch-Modus verarbeitet werden, und Informationen bezüglich der Datengröße und dergleichen werden in jedem dieser in dem Zustandsregister 309 eingesetzten Register gespeichert. Eine willkürlich ausgewählte Nummer dieser Register 405 bis 411, welche darin die Speicherdatengrößen jedes Daten-Paketes speichern, kann zum Einsatz kommen. Da eine Massenübertragung zum Übertragen von Kommunikationsdatenpaketen in einer nicht-periodischen Art und Weise erfolgt und ferner 0-Byte-Daten gemäß der USB-Spezifikation übertragen werden können, wird solch ein Register 404 benötigt, welches darin eine Gesamtanzahl von effektiven Paketen speichert, nämlich Informationen, welche in der Lage sind, anzuzeigen, welcher Teil des Registers 405 bis 411 gültig ist.
  • Das Beispiel von 3 zeigt, dass 5 Pakete empfangen werden und 208-Byte-Daten werden als Gesamtdaten erzeugt. Es ist erkennbar, dass obwohl in dem Register 406 gespeicherte 0-Byte-Daten gültig sind, die in den beiden Registern 410 und 411 gespeicherte 0-Byte-Daten ungültig sind. Wie oben erläutert, können die Daten auf flexible Art und Weise zusammengestellt werden, weil die Aufteilung der Vielzahl von Paketen klar durch das Zustandsregister 309 definiert ist, wenn der Interruptvorgang durchgeführt wird, der durch den Interrupt-Modus B, verwaltet auf Basis der Zeit, erzeugt wird. Ferner kann das Register 403, benutzt um darin die Datengrößen von allen Daten zu speichern, in solch einem Fall benutzt werden, dass die Daten zwischen dem Endpunkt-Puffer und einem weiteren Speicher in dem DMA-Übertragungsmodus übertragen werden. Es soll auch beachtet werden, dass während der Übertragung der Daten ausgeführte Vorgänge auf eine ähnliche Art und Weise durchgeführt werden, wie solche, die durchgeführt werden, wenn die Daten empfangen werden.
  • Wie aus der oben erläuterten Beschreibung ersichtlich, kann gemäß der Datenverarbeitungsvorrichtung, die in dem seriellen Kommunikationssystem der vorliegenden Erfindung benutzt wird, eine Gesamtzeit der Interrupt-Vorgänge auf der Seite der USB-Vorrichtung (Datenverarbeitungsvorrichtung) geregelt werden, während die zwei Arten von Interrupt-Modi miteinander kombiniert werden, und zwar der Interrupt-Modus "A" (erster Interrupt-Modus) wird mit dem Interrupt-Modus "B" (zweiter Interrupt-Modus) kombiniert. Da die an der CPU angelegte Arbeitsbelastung reduziert ist, kann die USB-Schnittstelle (serielle Schnittstelle) mit dem zusammengestellten System bestückt oder kombiniert werden. Zusätzlich kann die Datenübertragungsrate gleich der des konventionellen Systems beibehalten werden, sogar wenn der Interrupt-Modus B benutzt wird, welcher basierend auf der benutzten Zeit verwaltet wird.

Claims (3)

  1. Datenverarbeitungsvorrichtung, die in einem seriellen Kommunikationssystem zum Kommunizieren mit einem Host-Computer (300) über eine serielle Schnittstelle (301) eingesetzt wird, wobei sie umfasst: eine zentrale Verarbeitungseinheit (310) zum Ausführen eines Verarbeitungsvorgangs in Bezug auf ein Bus-Ereignis (200); eine Interrupt-Modus-Einstelleinheit (308), die im Voraus einen ersten Interrupt-Modus (209) oder einen zweiten Interrupt-Modus (210) für jedes Bus-Ereignis (200) einstellt, wobei der erste Interrupt-Modus (209) in Reaktion auf ein Bus-Ereignis (200) sofort einen Interrupt in Bezug auf die zentrale Verarbeitungseinheit (310) erzeugt, so dass die zentrale Verarbeitungseinheit (310) einen Verarbeitungsvorgang (205) in Bezug auf das eine Bus-Ereignis (200) ausführen kann, und der zweite Interrupt-Modus (210) das eine Bus-Ereignis (200) bis zu einem Zeitpunkt puffert, der auf Basis eines vorgegebenen Interrupt-Zeitraums bestimmt wird, und anschließend einen Interrupt (210) in Bezug auf die zentrale Verarbeitungseinheit (310) erzeugt, so dass die zentrale Verarbeitungseinheit (310) den Verarbeitungsvorgang (205) in Bezug auf das eine Bus-Ereignis (200) ausführen kann, und eine Verarbeitungs-Ausführeinheit (308) zum Ausführen entweder einer Verarbeitung (206, 207), die durch den ersten Interrupt-Modus (209) erzeugt wird, oder einer Verarbeitung (208), die durch den zweiten Interrupt-Modus (210) erzeugt wird, auf Basis des Inhaltes, der zuvor durch die Interrupt-Modus-Einstelleinheit (308) eingestellt wird, wenn ein Bus-Ereignis (200) auftritt, dadurch gekennzeichnet, dass der vorgegebene Interrupt-Zeitraum, der in dem zweiten Interrupt-Modus (210) definiert ist, auf Basis eines Signals (310) bestimmt wird, dass einen vorgegebenen Zeitraum hat und von dem Host-Computer zugeführt wird.
  2. Datenverarbeitungsvorrichtung, die in einem seriellen Kommunikationssystem eingesetzt wird, nach Anspruch 1, wobei sie des Weiteren umfasst: eine Puffer-Einheit (306), die das Bus-Ereignis (200) speichert; und eine Register-Einheit (309), die eine Datengröße (405, ... 411) jedes der Datenpakete, die das Bus-Ereignis (200) bilden, alle Datengrößen (403) des Bus-Ereignisses (200) und eine Gesamtzahl der Daten-Pakete (404), die das Bus-Ereignis (200) bilden, speichert, wobei die Puffer-Einheit (306) und die Register-Einheit (309) Puffern des Bus-Ereignisses (200) in dem zweiten Interrupt-Modus (210) durchführen.
  3. Datenverarbeitungsvorrichtung, die in einem seriellen Kommunikationssystem eingesetzt wird, nach Anspruch 1, wobei der Modus-Einstellvorgang durch die Interrupt-Modus-Einstelleinheit (308) programmierbar ausgeführt wird.
DE60122085T 2000-10-19 2001-10-18 Datenverarbeitungsgerät für serielles Kommunikationssystem Expired - Lifetime DE60122085T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2000319557 2000-10-19
JP2000319557A JP3568118B2 (ja) 2000-10-19 2000-10-19 シリアル通信用データ処理装置

Publications (2)

Publication Number Publication Date
DE60122085D1 DE60122085D1 (de) 2006-09-21
DE60122085T2 true DE60122085T2 (de) 2006-12-07

Family

ID=18797998

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60122085T Expired - Lifetime DE60122085T2 (de) 2000-10-19 2001-10-18 Datenverarbeitungsgerät für serielles Kommunikationssystem

Country Status (4)

Country Link
US (1) US20020049874A1 (de)
EP (1) EP1199641B1 (de)
JP (1) JP3568118B2 (de)
DE (1) DE60122085T2 (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050132081A1 (en) * 2003-12-11 2005-06-16 International Business Machines Corporation Efficient protocol processing to increase bandwidth in interrupt mode
US7936861B2 (en) * 2004-07-23 2011-05-03 At&T Intellectual Property I, L.P. Announcement system and method of use
US7580837B2 (en) 2004-08-12 2009-08-25 At&T Intellectual Property I, L.P. System and method for targeted tuning module of a speech recognition system
US20060050865A1 (en) * 2004-09-07 2006-03-09 Sbc Knowledge Ventures, Lp System and method for adapting the level of instructional detail provided through a user interface
US7657005B2 (en) 2004-11-02 2010-02-02 At&T Intellectual Property I, L.P. System and method for identifying telephone callers
US20060167886A1 (en) * 2004-11-22 2006-07-27 International Business Machines Corporation System and method for transmitting data from a storage medium to a user-defined cluster of local and remote server blades
US7242751B2 (en) 2004-12-06 2007-07-10 Sbc Knowledge Ventures, L.P. System and method for speech recognition-enabled automatic call routing
US7864942B2 (en) * 2004-12-06 2011-01-04 At&T Intellectual Property I, L.P. System and method for routing calls
US7751551B2 (en) 2005-01-10 2010-07-06 At&T Intellectual Property I, L.P. System and method for speech-enabled call routing
US7450698B2 (en) * 2005-01-14 2008-11-11 At&T Intellectual Property 1, L.P. System and method of utilizing a hybrid semantic model for speech recognition
US7627096B2 (en) * 2005-01-14 2009-12-01 At&T Intellectual Property I, L.P. System and method for independently recognizing and selecting actions and objects in a speech recognition system
US7627109B2 (en) 2005-02-04 2009-12-01 At&T Intellectual Property I, Lp Call center system for multiple transaction selections
US8005204B2 (en) * 2005-06-03 2011-08-23 At&T Intellectual Property I, L.P. Call routing system and method of using the same
US7657020B2 (en) 2005-06-03 2010-02-02 At&T Intellectual Property I, Lp Call routing system and method of using the same
AU2008251024B2 (en) 2007-05-15 2013-01-24 Chronologic Pty Ltd USB based synchronization and timing system
US8566495B2 (en) * 2009-11-06 2013-10-22 Qualcomm Incorporated Systems, methods and apparatus for data communication
CN101711051B (zh) * 2009-11-20 2012-05-30 深圳市中兴移动通信有限公司 一种移动终端及降低移动终端待机功耗的方法
TW201216069A (en) * 2010-10-13 2012-04-16 Asix Electronic Corp Universal serial bus device and bulk transfer control circuit and control method thereof
CN103631747B (zh) * 2013-11-20 2016-05-25 飞天诚信科技股份有限公司 一种通讯模式的识别方法
CN112416447A (zh) * 2020-12-03 2021-02-26 深圳市国科亿道科技有限公司 一个usb端口实现多个复合功能设备的方法及复合设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0656601B2 (ja) * 1991-11-28 1994-07-27 インターナショナル・ビジネス・マシーンズ・コーポレイション データ転送制御用インタフェース回路
US5797037A (en) * 1995-03-31 1998-08-18 Cirrus Logic, Inc. Interrupt request control logic reducing the number of interrupts required for I/O data transfer
US5708817A (en) * 1995-05-31 1998-01-13 Apple Computer, Inc. Programmable delay of an interrupt
US5881296A (en) * 1996-10-02 1999-03-09 Intel Corporation Method for improved interrupt processing in a computer system
US6185639B1 (en) * 1998-06-05 2001-02-06 International Business Machines Corporation System and method to reduce a computer system's interrupt processing overhead
US6065089A (en) * 1998-06-25 2000-05-16 Lsi Logic Corporation Method and apparatus for coalescing I/O interrupts that efficiently balances performance and latency
US6119195A (en) * 1998-08-04 2000-09-12 Intel Corporation Virtualizing serial bus information point by address mapping via a parallel port
US6115779A (en) * 1999-01-21 2000-09-05 Advanced Micro Devices, Inc. Interrupt management system having batch mechanism for handling interrupt events
US6574694B1 (en) * 1999-01-26 2003-06-03 3Com Corporation Interrupt optimization using time between succeeding peripheral component events
US6477600B1 (en) * 1999-06-08 2002-11-05 Intel Corporation Apparatus and method for processing isochronous interrupts
US6389526B1 (en) * 1999-08-24 2002-05-14 Advanced Micro Devices, Inc. Circuit and method for selectively stalling interrupt requests initiated by devices coupled to a multiprocessor system

Also Published As

Publication number Publication date
EP1199641B1 (de) 2006-08-09
EP1199641A2 (de) 2002-04-24
JP3568118B2 (ja) 2004-09-22
US20020049874A1 (en) 2002-04-25
DE60122085D1 (de) 2006-09-21
EP1199641A3 (de) 2002-07-10
JP2002135257A (ja) 2002-05-10

Similar Documents

Publication Publication Date Title
DE60122085T2 (de) Datenverarbeitungsgerät für serielles Kommunikationssystem
DE3300262C2 (de)
DE3725343C2 (de) Vielzweck-Kanalsteuersystem
DE69912017T2 (de) Peripheriegerät und Steuerverfahren dafür
DE60036465T2 (de) Rechneradapterkarte für die kombinierung von eingang-/ausgangfertigstellungsberichten und verwendung derselben
DE60108911T2 (de) Prozessorschnittstelle mit geringem overhead
DE4135749B4 (de) Prozessormodul für eine programmierbare Steuerung mit einer intelligenten Funktionsmodulschnittstelle
DE19983628B4 (de) Verfahren und System für den effizienten Transport gepackter Daten
DE3300260C2 (de)
DE60220287T2 (de) System und verfahren zur überwachung von software-warteschlangenanwendungen
DE60223177T2 (de) Computer zur dynamischen bestimmung der unterbrechungsverzögerung
DE69825915T2 (de) Verfahren und vorrichtung zur umschaltung zwischen quellen-synchron-takt/- und gemeinsam-takt-datenübertragungs-modi in einem mehragent-übertragungs-system
DE4035837A1 (de) Bus-hauptschnittstellenschaltung mit transparenter unterbrechung einer datenuebertragungsoperation
DE4018481C2 (de)
DE102012224362B4 (de) Anpassung einer Testhäufigkeit für die Ressourcenauslastung
DE102013113262A1 (de) Auslöser-Leitwegeinheit
DE112015006192T5 (de) Kommunikationsvorrichtung, Kommunikationsverfahren und Programm
DE60310146T2 (de) System und Methode zur Überwachung, mit geringer Zusatzinformation, des Leerzustandes der Senderwarteschlange
DE19900251B4 (de) Vorrichtung und Verfahren zum Steuern eines vielseitigen USB-Endpunktkanals
DE10085501B3 (de) Ein Verfahren und eine Einrichtung für einen isochronen Datentransport über einen asynchronen Bus
EP1121645B1 (de) Elektronische steuereinrichtung mit einem parallelen datenbus und verfahren zum betreiben der steuereinrichtung
EP1308846B1 (de) Datenübertragungseinrichtung
DE19733526A1 (de) Kommunikationssystem mit einer Schnittstelle
EP0033469A1 (de) Verfahren und Schaltungsanordnung zum Übertragen von binären Signalen zwischen Anschlussgeräten
DE10056198A1 (de) Kommunikationssystem zum Austausch von Daten unter Verwendung eines zusätzlichen Prozessors

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: PANASONIC CORP., KADOMA, OSAKA, JP