DE602004008060T2 - Usb host controller mit speicher für transferdeskriptoren - Google Patents

Usb host controller mit speicher für transferdeskriptoren Download PDF

Info

Publication number
DE602004008060T2
DE602004008060T2 DE602004008060T DE602004008060T DE602004008060T2 DE 602004008060 T2 DE602004008060 T2 DE 602004008060T2 DE 602004008060 T DE602004008060 T DE 602004008060T DE 602004008060 T DE602004008060 T DE 602004008060T DE 602004008060 T2 DE602004008060 T2 DE 602004008060T2
Authority
DE
Germany
Prior art keywords
transfer
host controller
host
memory
bus
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
DE602004008060T
Other languages
English (en)
Other versions
DE602004008060D1 (de
Inventor
Chee Y. Ng
Yeow K. Chang
Kawshol Sharma
Bart Vertenten
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.)
NXP BV
Original Assignee
NXP BV
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 NXP BV filed Critical NXP BV
Publication of DE602004008060D1 publication Critical patent/DE602004008060D1/de
Application granted granted Critical
Publication of DE602004008060T2 publication Critical patent/DE602004008060T2/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/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

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)

Description

  • Die Erfindung bezieht sich auf ein Bus-System, insbesondere auf einen Bus-Controller, und auf ein Gerät mit dem Bus-Controller.
  • Die Erfindung bezieht im besonderen auf eine integrierte Schaltung, die als ein Host-Controller innerhalb eines elektronischen Gerätes benutzt werden kann, um den Wirkungsgrad des Betriebes des Gerätes zu verbessern.
  • In einem konventionellen elektronischen Gerät, das als USB-Host arbeitet, ist der Prozessor in der Lage, Daten in einen Systemspeicher zu schreiben. Eine integrierte Schaltung als Host-Controller ist dann in der Lage, die Daten direkt aus dem Systemspeicher zu lesen. Um dies durchzuführen, muss der Host-Controller die Master-Funktion für den Systemspeicher übernehmen. Da der Systemspeicher jedoch von der integrierten Schaltung des Host-Controllers und dem Systemprozessor gemeinsam benutzt wird, ergibt diese Forderung, dass der Host-Controller in der Lage sein solle, die Master-Funktion über den Systemspeicher zu übernehmen, die Benutzung eines Bus-Masters, der spezifisch für den Systemprozessor ist. Während der Host-Controller die Master-Funktion über den Systemspeicher übernimmt, kann darüber hinaus die Kernfunktion des Gerätes, das unter Steuerung durch den Systemprozessor läuft, unterbrochen werden.
  • US 2002/0116565 beschreibt einen USB-Host-Controller für die Benutzung in eingebetteten Systemen, in denen bis zu 16 Transaktionen zusammengefasst werden, um die Häufigkeit von Interrupts des Mikroprozessors zu reduzieren.
  • Nach einem Aspekt der vorliegenden Erfindung ist eine integrierte Schaltung als Host-Controller nicht in der Lage, die Master-Funktion über den Systemspeicher übernehmen, sondern arbeitet statt dessen nur als Folgegerät. Der eingebettete Prozessor ist dann dazu ausgebildet, die Daten in die integrierte Schaltung des Host-Controllers in der Form von transfer-basierten Transaktionen zu schreiben.
  • Gemäß der vorliegenden Erfindung ist ein Host-Controller zur Benutzung in einem Bus-Kommunikationsgerät, welches einen Host-Mikroprozessor und einen Systemspeicher enthält, vorgesehen. Der Host-Controller enthält: eine erste Schnittstelle zur Verbindung mit einem Speicherbus, der den Host-Mikroprozessor und den Systemspeicher derart verbindet, dass der Host-Controller in der Lage ist, nur als Folgegerät auf dem Speicherbus zu arbeiten. Es ist ein interner Speicher zum Speichern einer Mehrzahl von transfer-basierten Transfer-Deskriptoren vorgesehen, die durch die erste Schnittstelle empfangen wurden, und eine zweite Schnittstelle zur Verbindung mit einem externen Bus. Der Host-Controller ist dazu ausgebildet, gespeicherte transfer-basierte Transfer-Deskriptoren auszuführen, den Inhalt der gespeicherten transfer-basierten Transfer-Deskriptoren bei deren Ausführung zu aktualisieren und die aktualisierten, gespeicherten transfer-basierten Transfer-Deskriptoren in den Systemspeicher zu kopieren. Der interne Speicher ist in zwei Teile geteilt und dazu ausgebildet, transfer-basierte Transfer-Deskriptoren-Header in einem ersten Teil zu speichern und transfer-basierte Transfer-Deskriptoren-Nutzdaten in einem zweiten Teil zu speichern. Der erste Teil des internen Speichers ist in zwei Sub-Teile unterteilt und speichert Transfer-Deskriptoren-Header, welche sich auf periodische Übertragungen beziehen, in einem ersten Sub-Teil, und Transfer-Deskriptoren-Header, welche sich auf asynchrone Übertragungen beziehen, in einem zweiten Sub-Teil. Gemäß einem zweiten Aspekt der Erfindung ist ein Bus-Kommunikationsgerät mit einem Host-Controller, wie oben beschrieben, vorgesehen.
  • Die Erfindung wird nachfolgend unter Bezug auf die beigefügten Zeichnungen beschrieben.
  • 1 zeigt ein Blockschaltbild eines USB-Hosts nach einem Aspekt der vorliegenden Erfindung,
  • 2 zeigt ein schematisches Diagramm eines Host-Controllers nach einem anderen Aspekt der vorliegenden Erfindung,
  • 3 zeigt ein Blockschaltbild einer alternativen Form eines Host-Controllers nach einem Aspekt der vorliegenden Erfindung.
  • 4 zeigt die Struktur des Speichers in dem Host-Controller der 2 oder 3.
  • 5 zeigt eine Darstellung, die das Format der Software in dem Gerät nach 1 darstellt.
  • 6 stellt das Format der von dem Host-Mikroprozessor in den Host-Controller geschriebenen Daten dar.
  • 7 zeigt die Struktur eines Transfer-Deskriptor-Headers, mit dem Daten übertragen werden.
  • 8 ist eine schematische Darstellung von zu übertragenden Daten, die in dem Speicher der 4 gespeichert sind.
  • 9 stellt ein Verfahren dar, durch das die Daten nach 8 übertragen werden können.
  • 1 ist ein Blockdiagramm der relevanten Teile eines elektronischen Gerätes 10, das als USB-Host arbeitet. Die Erfindung ist insbesondere anwendbar auf Geräte wie Mobiltelefone oder PDAs, in denen funktionale Grenzen des Mikroprozessors und des Systemspeichers relevanter sind als etwa in Personalcomputern (PCs). Die Erfindung ist jedoch in beliebigen anderen Geräten anwendbar, die als USB-Hosts arbeiten können.
  • Es ist offensichtlich, dass das Gerät 10 viele Merkmale haben wird, die nicht in 1 gezeigt sind, da sie zum Verständnis der Erfindung nicht relevant sind.
  • Das Gerät 10 weist einen Mikroprozessor 20 auf, der einen Prozessorkern 22 hat, der über einen Standard-Systembus 23 mit einer LCD-Steuerung 24, einem DMA-Master 25 und einer Speichersteuerung 26 verbunden ist. Die Speichersteuerung 26 ist mit einem Systemspeicher 30 mittels eines peripheren Busses 32 verbunden.
  • Ein Host-Controller 40 ist auch über den peripheren Bus oder Speicherbus 32 mit dem Host-Mikroprozessor 20 und dem Systemspeicher 30 verbunden. Der Host-Controller 40 weist eine Schnittstelle für einen USB-Bus 42 auf, durch die er mit mehreren USB-Einheiten verbunden werden kann. In der dargestellten Ausführungsform ist der Host-Controller 40 ein USB 2.0-Host-Controller.
  • Wie es üblich ist, ist der Host-Controller dazu ausgebildet, Daten abzurufen, die von dem Prozessor 20 in geeignetem Format vorbereitet wurden, um diese Daten über die Bus-Schnittstelle zu übertragen. In USB-Übertragungen existieren zwei Kategorien von Daten-Transfers, nämlich asynchroner Transfer und periodischer Transfer. Steuer- und Massendaten werden unter Benutzung des asynchronen Transfers übertragen, während ISO- und Interrupt-Daten unter Benutzung des periodischen Transfers übertragen werden. Eine Queue-Transaction-Deskriptor (qTD) Datenstruktur wird für den asynchronen Transfer benutzt, und eine Isochronous-Transaction-Deskriptor (iTD)-Datenstruktur wird für den periodischen Transfer benutzt.
  • Der Prozessor 20 bereitet die Daten in der geeigneten Struktur vor und speichert sie in dem Systemspeicher 30, und der Host-Controller 40 muss dann die Daten aus dem Systemspeicher abrufen.
  • 2 zeigt eine detailliertere Darstellung der Struktur des eingebetteten USB-Host-Controllers 40.
  • Wie schon oben erwähnt, hat der Host-Cotroller 40 eine Verbindung für den Speicherbus 32, der mit einer Schnittstelle 44 verbunden ist, die einen Memory-Mapped-Input/Output, eine Memory-Management-Unit und einen Slave-DMA-Controller aufweist. Die Schnittstelle 44 hat auch eine Verbindung 46 für Steuer- und Interrupt-Signale sowie Register 48, die die RAM-Struktur und die Arbeitsregister des Host-Controllers 40 unterstützen.
  • Die Schnittstelle 44 ist mit dem auf dem Chip angeordneten RAM 50 des Host-Controllers verbunden; es handelt sich hier in der bevorzugten Ausführung um ein Zwei-Anschluss-RAM, wie nachfolgend noch im Einzelnen beschrieben wird. Der Speicher 50 ist mit der Steuerlogikeinheit 52 des Host-Controllers verbun den, die auch eine Schnittstelle für den USB-Bus 42 enthält. Steuersignale können von den Registern 48 über einen internen Bus 54 an die Logikeinheit 52 gesendet werden.
  • Wie oben erwähnt, ist der auf dem Chip angeordnete Speicher 50 in diesem Fall ein Zwei-Anschluss-RAM, der ein gleichzeitiges Schreiben und Lesen von Daten in dem Speicher ermöglicht.
  • 3 zeigt eine alternative Ausführungsform der Erfindung, in der gemeinsame Bezugszeichen die gleichen Merkmale wie in 2 anzeigen. In diesem Fall ist der Speicher 56 auf dem Chip ein Einzel-Anschluss-RAM, und zu schreibende und zu lesende Daten in dem Speicher 56 werden durch einen Arbitrierer 58 übertragen, der wiederum effektiv einen gleichzeitigen Zugriff zu dem Speicher 56 ermöglicht.
  • 4 zeigt die Struktur des auf dem Chip angeordneten Speichers. Soweit es um die in 4 gezeigte Struktur geht, ist diese die gleiche, unabhängig davon, ob der auf dem Chip angeordnete Speicher ein Zwei-Anschluss-RAM 50 der 2 oder ein Einzel-Anschluss-RAM 56 der 3 ist.
  • Wie 4 zeigt, ist der RAM effektiv in zwei Teile aufgeteilt, nämlich einen ersten Teil 70, der Header- und Statusinformationen für die gespeicherten Transfer-Deskriptoren TD1, TD2, ..., TDn enthält, und einen zweiten Teil 76, der die Nutzdaten für solche gespeicherten Transfer-Deskriptoren TD1, TD2, ..., TDn enthält. Der erste Teil ist noch einmal unterteilt in einen Abschnitt 72, der sich auf asynchrone (Massen-)Transfers bezieht, und einen Abschnitt 74, der sich auf periodische (isochrone und Interrupt-)Transfers bezieht.
  • Diese Struktur des RAMs hat den Vorteil, dass der Host-Mikroprozessor 20 auf einfache Weise die Transfer-Deskriptor-Header zusammen schreiben und lesen kann. Diese Struktur erleichtert es auch, dass die sich auf die periodischen Transfers beziehenden Header nur einmal in jedem Mikro-Frame abgetastet werden, während sich auf asynchrone Transfers beziehende Header in einem Mikro-Frame kontinuierlich abgetastet werden.
  • Dies bedeutet, dass die Zeit zwischen Transaktionen kurz ist und, was gleichermaßen wichtig ist, sie ist von einer Transaktion zur anderen gleich.
  • 5 ist eine schematische Darstellung, die zum Teil die auf dem Host-Controller 40 laufende Software zeigt, um das Arbeitsverfahren des Gerätes gemäß der Erfindung zu erläutern.
  • Der Host-Controller 40 läuft mit der USB-Treiber-Software 80 und mit der USB-Enhanced-Host-Controller-Schnittstellen-Software 82, die im allgemeinen üblich sind.
  • Gemäß der vorliegenden Erfindung läuft der Host-Controller jedoch auch mit USB-EHCI-Schnittstellen-Software 84, die eine Liste von transfer-basierten Transfer-Deskriptoren für jeden Endpunkt vorbereitet, an den Daten zu übertragen sind.
  • Die EHCI-Schnittstellen-Software 84 wird so geschrieben, dass sie die Parameter benutzt, die durch den EHCI-Host-Stapel 82 für die existierenden periodischen und asynchronen Headers erzeugt werden, und sie kann für alle verschiedenen Formen von USB-Transfers benutzt werden, insbesondere USB-Transfers mit hoher Geschwindigkeit wie isochrone, Massen-, Interrupt- und Steuer- sowie Start/Stop-Split-Transaktionen.
  • Der Host-Mikroprozessor 20 schreibt die tranfer-basierten Transfer-Deskriptoren über den peripheren Bus 32 in den RAM 50 oder 58 des Host-Controllers, ohne dass der Host-Controller 40 die Masterfunktion für den Bus 32 übernehmen muss. In anderen Worten, der Host-Controller 40 arbeit nur in untergeordneter Position. Die tranfer-basierten Transfer-Deskriptoren können dann in den RAM 50 oder 58 des Host-Controllers 40 gespeichert und gelisted werden.
  • In vorteilhafter Weise wird der einbebaute Speicher 50 oder 58 des Host-Controllers 40 in dem Host-Mikroprozessor 20 abgebildet, was es dem Host-Mikroprozessor 20 erleichtert, die Transaktionen zu planen.
  • Wie oben beschrieben wurde, bedeutet darüber hinaus die Benutzung eines Zwei-Anschluss-RAMs 50 oder eines Einzel-Anschluss-RAMs 56 und eines Arbitrierers 58, dass der Host-Mikroprozessor 20 Daten in einen anderen Blockraum einschreiben kann, während ein transfer-basierter Transfer-Deskriptor durch den Host-Controller 40 ausgeführt wird.
  • 6 stellt das Format eines USB-Rahmens dar, der in mehrere Mikro-Rahmen unterteilt ist, in die Daten vom Host-Controller 40 über den USB-Bus 42 übertragen werden. Wie bekannt, können Mehrfach-Transaktionen, einschließlich Transaktionen verschiedener Transferarten, innerhalb eines Mikro-Rahmens ausgesendet werden. Wiederum, wie allgemein bekannt, wird ein isochroner Transfer mit hoher Geschwindigkeit immer zuerst durchgeführt, gefolgt von einem Interrupt-Transfer mit hoher Geschwindigkeit und Start-Split und Complete-Split-Transfers mit voller und niedriger Geschwindigkeit, wobei Massendaten mit hoher Geschwindigkeit die restliche Zeit des Mikro-Rahmens einnehmen.
  • Das transfer-basierte Protokoll erlaubt es dem Host-Mikroprozessor 20, einen 1 ms langen Rahmen von Daten in den RAM 50 oder 58 des Host-Controllers einzuschreiben (vorausgesetzt, dass der RAM groß genug ist, um diese Daten zu halten), so dass dieser über den USB-Bus 42 ohne weitere Intervention vom Host-Mikroprozessor übertragen werden kann.
  • 7 stellt das transfer-basierte Protokoll zur Unterstützung von USB-Übertragungen mit hoher Geschwindigkeit dar, wobei 7a das Format eines 16-Byte-Headers eines transfer-basierten Transfer-Deskriptors für einen Endpunkt in Übereinstimmung mit dem Protokoll zeigt und 7b und 7c die Inhalte der Header-Felder beschreiben. Der transfer-basierte Protokoll-Header besteht aus Parametern, die dieselbe Definition wie die konventionelle USB-EHCI-Software haben, wodurch die Transfer-Deskriptoren auf einfache Weise konstruiert werden können.
  • Das transfer-basierte Protokoll stellt außerdem sicher, dass Daten auf einer fairen Basis an jeden Endpunkt gesendet werden können.
  • 8 zeigt eine Situation, in der die einem ersten Transfer-Deskriptor TD1 zugeordneten Nutzdaten in drei Pakete PL1, PL2 und PL3 von je 64 Bytes eingeteilt werden. Die einem zweiten Transfer-Deskriptor TD2 zugeordneten Nutzdaten enthalten nur ein Paket PL1 von 32 Bytes. Die einem dritten Transfer-Deskriptor TD3 zugeordneten Nutzdaten werden in zwei Pakete PL1 und PL2 von je 8 Bytes eingeteilt, und die einem vierten Transfer-Deskriptor TD4 zugeordneten Nutzdaten werden in vier Pakete PL1, PL2, PL3 und PL4 von je 16 Bytes eingeteilt.
  • 9 stellt das Verfahren dar, durch das diese Datenpakete aus dem RAM 50 oder 56 zu ihren entsprechenden Endpunkten in entsprechenden Geräten transferiert werden, die mit dem Host verbunden sind.
  • Wie durch den Pfeil 90 in 8 angedeutet wird, tritt ein zyklischer Prozess auf. Zum Ersten, im Schritt 91, wird das dem ersten Transfer-Deskriptor TD1 zugeordnete erste Paket PL1 transferiert. Der Transfer-Deskriptor enthält eine Aktive Flag, die HOCH gesetzt wird, um anzuzeigen, dass diesem Transfer-Deskriptor noch weitere Daten zugeordnet sind.
  • Zum Zweiten, im Schritt 92, wird das dem zweiten Transfer-Deskriptor TD2 zugeordnete erste Paket PL1 transferiert. Dieser Transfer-Deskriptor enthält nun eine Aktive Flag, die durch den Host-Controller 40 NIEDRIG gesetzt wird, um anzuzeigen, dass der Transfer der diesem zweiten Transfer-Deskriptor TD2 zugeordneten Nutzdaten abgeschlossen ist.
  • Als nächstes, in den Schritten 93 und 94, werden die ersten Nutzdaten-Pakete PL1, die den dritten und vierten Transfer-Deskriptoren TD3 bzw. TD4 zugeordnet sind, transferiert. Wiederum enthält je der dieser Transfer-Deskriptoren eine Aktive Flag, die HOCH gesetzt wird, um anzuzeigen, dass noch mehr Nutzdaten zu übertragen sind, die jedem dieser Transfer-Deskriptoren zugeordnet sind.
  • Als nächstes, im Schritt 95, wird das dem ersten Transfer-Deskriptor TD1 zugeordnete zweite Paket PL2 von Nutzdaten transferiert. Die Aktive Flag bleibt HOCH, weil immer noch mehr der Nutzdaten übertragen werden müssen, die diesem Transfer-Deskriptor zugeordnet sind.
  • Der Transfer von Nutzdaten, die dem zweiten Transfer-Deskriptor TD2 zugeordnet sind, wurde abgeschlossen, so dass im Schritt 96 das dem dritten Transfer-Deskriptor TD3 zugeordnete zweite Paket PL2 von Nutzdaten transferiert wird. Dieses Mal wird die Aktive Flag in dem Transfer-Deskriptor NIEDRIG gesetzt, um anzuzeigen, dass der Transfer der diesem dritten Transfer-Deskriptor TD3 zugeordneten Nutzdaten abgeschlossen ist.
  • In Schritt 97 wird das dem vierten Transfer-Deskriptor TD4 zugeordnete zweite Paket PL2 von Nutzdaten transferiert und die Aktive Flag bleibt HOCH.
  • Im Schritt 98 wird das dem ersten Transfer-Deskriptor TD1 zugeordnete dritte Paket PL3 von Nutzdaten transferiert und die Aktive Flag wird auf NIEDRIG gesetzt, um anzuzeigen, dass der Transfer der diesem ersten Transfer-Deskriptor zugeordneten Nutzdaten abgeschlossen ist.
  • In den Schritten 99 und 100 werden die dritten und vierten Nutzlast-Pakete PL3 und PL4, die dem vierten Transfer-Deskriptor TD4 zugeordnet sind, transferiert, wobei die Aktive Flag im Schritt 100 NIEDRIG gesetzt wird, um anzuzeigen, dass der Transfer der diesem vierten Transfer-Deskriptor TD4 zugeordneten Nutzdaten abgeschlossen ist.
  • Während der Ausführung der transfer-basierten Transfer-Deskriptoren wird der Inhalt der transfer-basierten Transfer-Deskriptoren durch die Logikeinheit 52 des Host-Controllers aktualisiert. Zum Beispiel wird die Aktive Flag innerhalb des Transfer-Deskriptor-Headers NIEDRIG gesetzt, wenn der Transfer der dem Transfer-Deskriptor zugeordneten Nutzdaten abgeschlossen ist. Die USB-EHCI-Schnittstellen-Software 84 formatiert die aktualisierten transfer-basierten Transfer-Deskriptoren wieder in ein Format, das durch den konventionellen EHCI-Host-Stapel 82 verarbeitet werden kann, und die aktualisierten transfer-basierten Transfer-Deskriptoren werden wieder zurück in den Systemspeicher 30 kopiert.
  • Es wurde ein Host-Controller geschaffen, der den Einschluss einer USB-Host-Funktionalität mit hoher Geschwindigkeit ermöglicht, insbesondere in Systemen, die nicht mit einem PC aufgebaut sind.

Claims (10)

  1. Host-Controller zur Benutzung in einem Bus-Kommunikationsgerät, welches einen Host-Mikroprozessor und einen Systemspeicher enthält, wobei der Host-Controller enthält: eine erste Schnittstelle zur Verbindung mit einem Speicherbus, welcher den Host-Mikroprozessor und den Systemspeicher verbindet, derart, dass der Host-Controller ausgebildet ist, nur als Folgegerät auf dem Speicherbus zu arbeiten; einen internen Speicher zum Speichern einer Mehrzahl von transferbasierten Transfer-Deskriptoren, welche durch die erste Schnittstelle empfangen wurden; und eine zweite Schnittstelle zur Verbindung mit einem externen Bus, wobei der Host-Controller ausgebildet ist, gespeicherte transfer-basierte Transfer-Deskriptoren auszuführen; den Inhalt der gespeicherten transfer-basierten Transfer-Deskriptoren bei deren Ausführung zu aktualisieren; und die aktualisierten, gespeicherten transfer-basierten Transfer-Deskriptoren in den Systemspeicher zu kopieren, wobei der interne Speicher in zwei Teile geteilt ist und ausgebildet ist, transfer-basierte Transfer-Deskriptoren-Header in einem ersten Teil zu speichern und transfer-basierte Transfer-Deskriptoren-Nutzdaten in einem zweiten Teil zu speichern, und dadurch gekennzeichnet, dass der erste Teil des internen Speichers in zwei Sub-Teile unterteilt ist und ausgebildet ist, Transfer-Deskriptoren-Header, welche sich auf periodische Übertragungen in einem ersten Sub-Teil beziehen, und Transfer-Deskriptoren-Header, welche sich auf asynchrone Übertragungen in einem zweiten Sub-Teil beziehen, zu speichern.
  2. Host-Controller nach Anspruch 1, bei dem der interne Speicher ein Zwei-Anschluss-RAM ist.
  3. Host-Controller nach Anspruch 1, bei dem der interne Speicher ein Einzel-Anschluss-RAM ist und der Host-Controller weiterhin einen Arbitrierer enthält, um zu ermöglichen, dass Daten im wesentlichen gleichzeitig in den RAM geschrieben und aus dem RAM gelesen werden können.
  4. Host-Controller nach Anspruch 1, bei dem der Host-Controller ausgebildet ist, den ersten Sub-Teil des internen Speichers einmal in jedem Mikro-Rahmen abzufragen, und ausgebildet ist, den zweiten Sub-Teil kontinuierlich während jedes ganzen Mikro-Rahmens abzufragen.
  5. Host-Controller nach Anspruch 1, bei dem der Host-Controller ein USB-Host-Controller ist und die zweite Schnittstelle eine USB-Bus-Schnittstelle ist.
  6. Host-Controller nach Anspruch 1, bei dem der interne Speicher ausgebildet ist, mehrere Mikro-Rahmen von Transfer-Deskriptoren zu speichern und die gespeicherten Transfer-Deskriptoren ohne Eingriff des Host-Mikroprozessors auszuführen.
  7. Host-Controller nach Anspruch 6, bei dem jeder der mehreren Mikro-Rahmen der Transfer-Deskriptoren Nutzdaten speichern kann, welche sich auf einen oder mehrere isochrone Interrupt- und Massendatenübertragungen beziehen.
  8. Bus-Kommunikationsgerät, umfassend: einen Host-Mikroprozessor; einen Systemspeicher; einen Speicherbus, welcher den Host-Mikroprozessor und den Systemspeicher verbindet; und einen Host-Controller nach Anspruch 1, wobei der Host-Mikroprozessor ausgebildet ist, transfer-basierte Transfer-Deskriptoren zu bilden, und die transfer-basierten Transfer-Deskriptoren in den Systemspeicher und in den Host-Controller zu schreiben.
  9. Bus-Kommunikationsgerät nach Anspruch 8, bei dem die zweite Schnittstelle des Host-Controllers eine USB-Bus-Schnittstelle ist, und das Bus-Kommunikationsgerät ausgebildet ist, als USB-Host zu arbeiten.
  10. Bus-Kommunikationsgerät nach Anspruch 8, bei dem der Host-Mikroprozessor ausgebildet ist, eine Vielzahl von Mikro-Rahmen der Transfer-Deskriptoren in den Systemspeicher und den Host-Controller zu schreiben, und der Host-Controller ausgebildet ist, die Vielzahl von Mikro-Rahmen der Transfer-Deskriptoren ohne Eingriff des Host-Mikroprozessors auszuführen.
DE602004008060T 2003-05-15 2004-05-12 Usb host controller mit speicher für transferdeskriptoren Expired - Lifetime DE602004008060T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SG0300128 2003-05-15
WOPCT/SG03/00128 2003-05-15
PCT/IB2004/050640 WO2004102406A1 (en) 2003-05-15 2004-05-12 Usb host controller with memory for transfer descriptors

Publications (2)

Publication Number Publication Date
DE602004008060D1 DE602004008060D1 (de) 2007-09-20
DE602004008060T2 true DE602004008060T2 (de) 2008-04-17

Family

ID=33448781

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004008060T Expired - Lifetime DE602004008060T2 (de) 2003-05-15 2004-05-12 Usb host controller mit speicher für transferdeskriptoren

Country Status (7)

Country Link
US (1) US7747808B2 (de)
EP (1) EP1625506B1 (de)
JP (1) JP4696199B2 (de)
CN (1) CN100476775C (de)
AT (1) ATE369587T1 (de)
DE (1) DE602004008060T2 (de)
WO (1) WO2004102406A1 (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7035948B1 (en) * 2001-03-19 2006-04-25 Transdimension, Inc. System and method for USB controllers
CN100476775C (zh) * 2003-05-15 2009-04-08 Nxp股份有限公司 用于总线通信设备的主机控制器以及总线通信设备
WO2005125093A2 (en) * 2004-06-15 2005-12-29 Koninklijke Philips Electronics N.V. Bus controller for handling split transactions
GB2423165B (en) * 2005-02-14 2007-01-10 Elan Digital Systems Ltd Host controller device and method
US7281074B2 (en) * 2005-06-29 2007-10-09 Intel Corporation Method and apparatus to quiesce USB activities using interrupt descriptor caching and asynchronous notifications
US8564252B2 (en) 2006-11-10 2013-10-22 Cypress Semiconductor Corporation Boost buffer aid for reference buffer
KR101029074B1 (ko) * 2007-01-10 2011-04-18 삼성전자주식회사 호스트 컨트롤러에서의 디스크립터 추적 장치 및 그 추적방법
US8035401B2 (en) 2007-04-18 2011-10-11 Cypress Semiconductor Corporation Self-calibrating driver for charging a capacitive load to a desired voltage
US8756557B2 (en) * 2007-05-09 2014-06-17 Synopsys, Inc. Techniques for use with automated circuit design and simulations
CN101266584B (zh) * 2008-05-13 2011-05-11 威盛电子股份有限公司 通用串行总线主机控制器及其控制方法
TW201140325A (en) * 2010-05-14 2011-11-16 Realtek Semiconductor Corp Memory access apparatus and method thereof
CN102467471A (zh) * 2010-11-04 2012-05-23 瑞昱半导体股份有限公司 存储器存取装置及方法
US9667240B2 (en) 2011-12-02 2017-05-30 Cypress Semiconductor Corporation Systems and methods for starting up analog circuits
KR101468677B1 (ko) * 2013-12-27 2014-12-05 (주)실리콘화일 아비터를 이용한 메모리의 억세스 제어회로
US20160018995A1 (en) * 2014-07-17 2016-01-21 Lsi Corporation Raid system for processing i/o requests utilizing xor commands
US9977619B2 (en) 2015-11-06 2018-05-22 Vivante Corporation Transfer descriptor for memory access commands

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2572292B2 (ja) 1990-05-14 1997-01-16 株式会社小松製作所 非同期データ伝送装置
NL9301129A (nl) 1993-06-29 1995-01-16 Nederland Ptt Processorcircuit omvattende een eerste processor, en systeem omvattende het processorcircuit en een tweede processor.
JP3358045B2 (ja) 1995-06-14 2002-12-16 オムロン株式会社 プログラマブルコントローラ
US6119190A (en) * 1996-11-06 2000-09-12 Intel Corporation Method to reduce system bus load due to USB bandwidth reclamation
US6470409B1 (en) 1996-11-26 2002-10-22 Xilinx Inc. Interface system having a programmable number of channels and methods of implementing same
US5974486A (en) * 1997-08-12 1999-10-26 Atmel Corporation Universal serial bus device controller comprising a FIFO associated with a plurality of endpoints and a memory for storing an identifier of a current endpoint
US6496869B1 (en) 1998-03-26 2002-12-17 National Semiconductor Corporation Receiving data on a networked computer in a reduced power state
US7003613B1 (en) * 1999-01-26 2006-02-21 Transdimension Inc. System for transferring data using a USB host system with a dedicated processor
US6742076B2 (en) * 2000-01-03 2004-05-25 Transdimension, Inc. USB host controller for systems employing batched data transfer
US7035948B1 (en) * 2001-03-19 2006-04-25 Transdimension, Inc. System and method for USB controllers
US7093118B2 (en) * 2001-06-27 2006-08-15 Intel Corporation System and method for external bus device support
US6748466B2 (en) * 2001-06-29 2004-06-08 Intel Corporation Method and apparatus for high throughput short packet transfers with minimum memory footprint
US6728801B2 (en) * 2001-06-29 2004-04-27 Intel Corporation Method and apparatus for period promotion avoidance for hubs
US6721815B1 (en) * 2001-09-27 2004-04-13 Intel Corporation Method and apparatus for iTD scheduling
EP1433069B1 (de) 2001-09-27 2010-11-10 Nxp B.V. Bussytem und busschnittstelle zum anschliessen an einen bus
US7007119B2 (en) * 2001-09-28 2006-02-28 Intel Corporation System and method for supporting split transactions on a bus
KR100944892B1 (ko) 2001-09-28 2010-03-03 에스티 에릭슨 에스에이 버스 시스템 및 버스 인터페이스
JP3636157B2 (ja) * 2002-04-19 2005-04-06 セイコーエプソン株式会社 データ転送制御装置、電子機器及びデータ転送制御方法
CN100476775C (zh) * 2003-05-15 2009-04-08 Nxp股份有限公司 用于总线通信设备的主机控制器以及总线通信设备
US7340554B2 (en) * 2003-05-15 2008-03-04 Nxp B.V. USB host controller with DMA capability
WO2005125093A2 (en) * 2004-06-15 2005-12-29 Koninklijke Philips Electronics N.V. Bus controller for handling split transactions
EP1759297B1 (de) * 2004-06-15 2008-12-10 Nxp B.V. Interruptschema für bus-controller
US7281074B2 (en) * 2005-06-29 2007-10-09 Intel Corporation Method and apparatus to quiesce USB activities using interrupt descriptor caching and asynchronous notifications

Also Published As

Publication number Publication date
CN1788261A (zh) 2006-06-14
CN100476775C (zh) 2009-04-08
JP2007501472A (ja) 2007-01-25
EP1625506B1 (de) 2007-08-08
ATE369587T1 (de) 2007-08-15
US20070011386A1 (en) 2007-01-11
EP1625506A1 (de) 2006-02-15
WO2004102406A1 (en) 2004-11-25
US7747808B2 (en) 2010-06-29
DE602004008060D1 (de) 2007-09-20
JP4696199B2 (ja) 2011-06-08

Similar Documents

Publication Publication Date Title
DE602004008060T2 (de) Usb host controller mit speicher für transferdeskriptoren
DE102009061252B3 (de) Vorrichtung, Verfahren und System zur Verarbeitung einer Transaktion auf einem PCI-Bus mittels eines Root-Komplexes
DE19580990C2 (de) Verfahren und Einrichtung zum Ausführen verzögerter Transaktionen
DE69825915T2 (de) Verfahren und vorrichtung zur umschaltung zwischen quellen-synchron-takt/- und gemeinsam-takt-datenübertragungs-modi in einem mehragent-übertragungs-system
DE3704056A1 (de) Peripherer dma-controller fuer datenerfassungssysteme
DE69433130T2 (de) Rechnersystem mit verändertem lokalen Datenbus
DE112010003762B4 (de) Flash-Speicher-Steuereinheit
DE102007029833B4 (de) Mikrocontroller mit Datenmodifikationsmodul und System umfassend ein Datenmodifikationsmodul
DE102008055892A1 (de) Abspeichern von Abschnitten eines Datenübertragungsdeskriptors in einem gecachten und einem nicht gecachten Adressbereich
DE3508640A1 (de) Computersystem zur implementierung eines ereignisgesteuerten simulationsalgorithmus
DE102015102135A1 (de) Unterbrechbares Exklusivspeichern
DE112012004926B4 (de) Gemeinsame Speichernutzung durch Prozessoren
DE10030148A1 (de) Brückenvorrichtung
DE102012219059A1 (de) Effizientes Befehlsabbildungsschema für Kurze-Datenburstlängen- Speichervorrichtungen
DE102017124078A1 (de) Ordinale modifikation der dienstgüte
DE112017001118T5 (de) Verfahren und Vorrichtung zum Bereitstellen eines zusammenhängend adressierbaren Speicherbereichs durch Neuabbildung eines Adressraums
DE10234990A1 (de) Steuerung der Ersetzung im voraus geholter Deskriptoren in einem Cache
DE202017103915U1 (de) Zweiphasige Befehlspuffer zum Überlappen von IOMMU-Abbildung und Lesevorgängen zweitrangiger Datenspeicher
DE10224163B4 (de) Transaktionsdauermanagement in einem USB-Hostcontroller
DE102007006508B4 (de) Mikrocontroller mit Speicher-Trace-Modul
DE2539929A1 (de) Rechnersystem mit busstruktur
DE102020118022A1 (de) Erzeugen verschiedener traces für grafikprozessorcode
DE69729598T2 (de) Verfahren und Vorrichtung zur Adressenparitätsprüfung für mehrfache überlappende Addressbereiche auf einem gemeinsamen Bus
DE10306285A1 (de) Mikrocomputersystem
EP1308846B1 (de) Datenübertragungseinrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition