DE60312539T2 - Einrichtung mit mitteln zum transferieren von informationen, die angeben, ob die einrichtung dma unterstützt oder nicht - Google Patents

Einrichtung mit mitteln zum transferieren von informationen, die angeben, ob die einrichtung dma unterstützt oder nicht Download PDF

Info

Publication number
DE60312539T2
DE60312539T2 DE60312539T DE60312539T DE60312539T2 DE 60312539 T2 DE60312539 T2 DE 60312539T2 DE 60312539 T DE60312539 T DE 60312539T DE 60312539 T DE60312539 T DE 60312539T DE 60312539 T2 DE60312539 T2 DE 60312539T2
Authority
DE
Germany
Prior art keywords
host
data structure
descriptor
predetermined data
usb
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
DE60312539T
Other languages
English (en)
Other versions
DE60312539D1 (de
Inventor
Richard Petrie
Jan Guildford GUNDORF
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.)
Nokia Oyj
Original Assignee
Nokia Oyj
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 Nokia Oyj filed Critical Nokia Oyj
Application granted granted Critical
Publication of DE60312539D1 publication Critical patent/DE60312539D1/de
Publication of DE60312539T2 publication Critical patent/DE60312539T2/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
    • 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/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4081Live connection to bus, e.g. hot-plugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]

Description

  • Die vorliegende Erfindung bezieht sich auf einen Host und eine Vorrichtung, die für eine serielle Datenkommunikation verbunden sind. Insbesondere bezieht sie sich auf die Erweiterung der Norm des universellen seriellen Busses (USB) "Universal Serial Bus Specification Revision 2.2".
  • Die Erfinder haben ein Gebiet identifiziert, in welchem die aktuelle USB-Spezifikation verbessert werden könnte. Aktuell muss, wenn ein USB-Host Daten an ein Ziel in einer angeschlossenen USB-Vorrichtung sendet, der Prozessor der Vorrichtung unterbrochen werden, um die Daten vom Puffer, in dem sie temporär gespeichert sind, wenn sie empfangen werden, an ihre Ziel zu übertragen. Der USB-Host kann somit zur Verarbeitungsbelastung der angeschlossenen Vorrichtung beitragen. Somit kann ein Datentransfer dazu führen, dass eine Anwendung, die auf dem Prozessor läuft, hängen bleibt, oder dass es andere unerwünschte Effekte gibt.
  • Es würde wünschenswert sein, den Mechanismus, mit dem Daten zwischen Host und Vorrichtung übertragen werden, zu verbessern.
  • Es würde wünschenswert sein, einen Mechanismus zu liefern, mit dem der Host unerwünschte Konsequenzen, die sich in der Vorrichtung aus dem Datentransfer ergeben, reduzieren kann.
  • Gemäß einem ersten Aspekt der Erfindung wird eine Vorrichtung für ein Anschließen an einen Host für eine serielle Datenkommunikation geliefert, umfassend:
    eine vorbestimmte Datenstruktur, die anzeigt, ob die Vorrichtung einen direkten Speicherzugriff unterstützt oder nicht; und Mittel für das Übertragen der vorbestimmten Datenstruktur an den Host.
  • Die Mittel für das Übertragen können auf eine Anfrage vom Host reagieren, beispielsweise kann bei USB die Vorrichtung durch den Host abgefragt werden. Die vorbestimmte Datenstruktur kann eine aus einer Vielzahl von Datenstrukturen sein, die zu einem Zeitpunkt an den Host übertragen werden. Diese Datenstrukturen liefern vorzugsweise die Fähigkeiten der Vorrichtung an den Host. Die Vorrichtung kann eine USB-Vorrichtung sein, der Host kann ein USB-Host sein, und die Datenstrukturen können eine Serie von USB-Deskriptoren sein, die bei der Spezifikation der Vorrichtung geliefert werden. Die vorbestimmte Datenstruktur kann ein nicht standardmäßiger Deskriptor sein, der einen anderen, vorzugsweise vorhergehenden, Deskriptor erweitert.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird ein Host für ein Anschließen an eine Vorrichtung für eine serielle Datenkommunikation geliefert, umfassend:
    Übertragungsmittel für das Übertragen einer Datenstruktur von der Vorrichtung an den Host, dadurch gekennzeichnet, dass sie Identifikationsmittel umfasst, die betriebsfähig sind, um eine übertragene Datenstruktur als eine vorbestimmte Datenstruktur zu identifizieren, die anzeigt, dass die Vorrichtung einen direkten Speicherzugriff unterstützt.
  • Die Übertragungsvorrichtung kann ausgebildet sein, um, die Vorrichtung aufzufordern, mindestens die vorbestimmte Datenstruktur zu senden, beispielsweise wird beim USB die Vorrichtung vom Host abgefragt. Die vorbestimmte Datenstruktur kann eine aus einer Vielzahl von Datenstrukturen sein, die zum gleichen Zeitpunkt zum Host übertragen wurden. Diese Datenstrukturen liefern vorzugsweise die Fähigkeiten der Vorrichtung an den Host. Die Vorrichtung kann eine USB-Vorrichtung sein, der Host kann ein USB-Host sein, und die Datenstruktur kann eine Serie von USB-Deskriptoren sein, die bei der Spezifizierung der Vorrichtung geliefert werden. Die vorbestimmte Datenstruktur kann ein nicht standardmäßiger Deskriptor sein, der einen anderen, vorzugsweise vorausgehenden, Deskriptor erweitert. Der Host kann weiter Zuweisungsmittel für das Zuweisen von Aufgaben, die sich auf den Datentransfer von/zu der Vorrichtung beziehen, in Abhängigkeit vom Inhalt der vorbestimmte Datenstruktur umfassen.
  • Gemäß einem dritten Aspekt der vorliegenden Erfindung wird ein System geliefert, das einen Host, eine Vorrichtung, die eine vorbestimmte Datenstruktur umfasst, und serielle Daten, die zwischen dem Host und der Vorrichtung verbunden sind, aufweist, umfassend:
    Mittel für das Übertragen der vorbestimmten Datenstruktur van der Vorrichtung an den Host über die seriellen Datenverbindung, wobei die vorbestimmte Datenstruktur anzeigt, ob die Vorrichtung einen direkten Speicherzugriff unterstützt oder nicht.
  • Ausführungsformen der Erfindung liefern einen Mechanismus, mit dem ein Host bestimmt, ob die angeschlossene-Vorrichtung einen direkten Speicherzugriff (DMA) für gewisse Funktionen unterstützt. Mit dieser Information kann der Host wählen, ob er mit einer Schnittstelle/einem Endpunkt der Vorrichtung, die DMA unterstützt, oder mit einer Schnittstelle/einem Endpunkt der Vorrichtung, die DMA nicht unterstützt, kommuniziert. Dies ermöglicht eine Flexibilität des Hosts beim zeitlichen Steuern des Transfers der Daten über den Bus, der den Host und die Vorrichtung verbindet, und ermöglicht es dem Host, die Verwendung der Vorrichtung zu optimieren. Die Verwendung einer Schnittstelle/eines Endpunkts, die oder der DMA unterstützt, durch den Host reduziert die Belastung des Prozessors der Vorrichtung, da Prozessorunterbrechungen nicht länger erforderlich sind, um die Daten an ihr Ziel zu übertragen. Dies ist insbesondere vorteilhaft für mobile Vorrichtung, wie mobile zellulare Telefone, die Prozessoren niedriger Leistung haben können, die verwendet werden, um gleichzeitig Anwendungen des Benutzers ablaufen zu lassen.
  • In den meisten USB-Vorrichtungen wird, wenn ein DMA unterstützt wird, dieser sowohl durch die inneren als auch äußeren Endpunkte unterstützt. In einer bevorzugten Ausführungsform bestimmt der Host, ob eine Schnittstelle DMA unterstützt, wobei angenommen wird, dass wenn die Schnittstelle DMA unterstützt, dann sowohl die inneren als auch äußeren Endpunkte DMA unterstützten. Dies liefert eine vereinfachte Implementierung der Erfindung.
  • Für ein besseres Verständnis der vorliegenden Erfindung und um zu verstehen, wie diese zur Wirkung gebracht werden kann, wird nun beispielhaft auf die begleitenden Zeichnungen Bezug genommen:
  • 1 ist eine schematische Darstellung eines USB-Systems; und
  • 2 zeigt die Information, die von der Vorrichtung an den Host übertragen wird.
  • 1 zeigt eine Vorrichtung für den Anschluss eines Hosts 16 für eine serielle Kommunikation, umfassend: Mittel 27 für das Übertragen einer vorbestimmten Datenstruktur 46, 56, die anzeigt, ob die Vorrichtung einen direkten Speicherzugriff unterstützt oder nicht, an den Host. Sie zeigt auch einen Host 16 für das Anschließen an eine Vorrichtung 14 für eine serielle Datenkommunikation, umfassend: Übertragungsmittel 26 für das Übertragen einer vorbestimmten Datenstruktur 46, 56, die anzeigt, ob die Vorrichtung einen direkten Speicherzugriff auf den Speicher 29 unterstützt oder nicht, von der Vorrichtung 14 an den Host 16.
  • Der universelle serielle Bus (USB) ist ein Kabelbus, der einen Datenaustausch zwischen einem Host-Computer 20 und einem großen Bereich von gleichzeitig zugänglichen peripheren Geräten 14 unterstützt. Die angeschlossenen peripheren Geräte 14 teilen die USB-Bandbreite durch ein vom Host zeitlich gesteuertes, auf einem Token basierendes Protokoll. Der Bus 12 erlaubt es, dass periphere Geräte angeschlossen, konfiguriert, verwendet, gelöst werden können, während der Host und andere periphere Geräte in Betrieb sind.
  • 1 ist eine schematische Darstellung eines universellen seriellen Bussystems (USB-System) 10, das eine USB-Verbindung 12, die ein USB-Gerät 14 mit einem USB-Host 16 verbindet, umfasst. Der USB-Host kann ein Computer 20 sein, der einen Bus 22 aufweist, der einen Prozessor 24 mit einer USB-Host-Steuerurg 26 und einem Speicher 28 verbindet. Die USB-Host-Steuerurg 26 verbindet den Computer 20 mit der USB-Verbindung 12.
  • In diesen Beispiel umfasst die Vorrichtung 14 eine Schnittstelle 27, die mit der Verbindung 12 einen Bus 23 verbindet, der die Schnittstelle 27 mit einem Prozessor 25 und einem Speicher 29 verbindet. Die Schnittstelle kann auf den Speicher 29 zugreifen, um unter Verwendung eines- direkten Speicherzugriffs (DMA) direkt zu lesen oder zu schreiben, oder dies unter Verwendung des Busses 23 tun, der sich unter der Steuerung des Prozessors 25 befindet.
  • Das USB-System 10 überträgt Daten in einem bitseriellen Format zwischen dem USB-Host 16 und dem USB-Gerät 14. Es gibt nur einen Host in einem USB-System und dieser ist der Master des Busses. Der USB ist ein abgefragter Bus und der Host initiiert alle Datenübertragungen, die von einem Endpunkt gelesen oder zu ihm geschrieben werden.
  • Ein Endpunkt ist eine Quelle oder Senke von Daten. Jeder Endpunkt weist einen Speicherpuffer auf, der die Daten puffert, bevor er sie an ihr endgültiges Ziel bringt. Der Host kann Daten an den Speicherpuffer senden oder Daten vom Speicherpuffer anfordern.
  • Die Datenübertragung zwischen einem Host 16 und einer Vorrichtung 14 geschieht zwischen dem Host 16 und einem Datenendpunkt und wird als eine Pipe bezeichnet. Die Pipe bestimmt die Richtung des Datenflusses, den Typ des Datenflusses, beispielsweise Masse (bulk), isochron oder Steuerung, und wie viel Bandbreite der Datenübertragung zugewiesen wird.
  • Wenn die USB-Vorrichtung 14 anfänglich mit dem System 10 verbunden wird, so findet eine Busspezifizierung statt. Dies ist das Verfahren, bei dem der Vorrichtung eine Adresse zugewiesen wird, und bei der Daten von der Vorrichtung an den Host gesendet werden, die die Fähigkeiten der Vorrichtung identifizieren und eine Kommunikation zwischen dem Host und der Vorrichtung ermöglichen.
  • Der USB-Host 16 kommuniziert mit einer USB-Vorrichtung 14 durch das Senden von Paketen an die USB-Vorrichtung 14, die unter Verwendung der zugeordneten Adresse adressiert sind.
  • Alle USB-Vorrichtungen müssen eine speziell bezeichnete Pipe am Endpunkt null unterstützen. Verbunden mit dem Endpunkt Null ist die Information, die erforderlich ist, um die Vorrichtung dem Host bei der Spezifizierung vollständig zu beschreiben. Diese Information umfasst die Vorrichtungs-, Konfigurations-, Schnittstellen- und Endpunkt-Deskriptoren. Die Deskriptoren geben die Attribute der USB-Vorrichtung an den Host weiter.
  • Ein Deskriptor ist eine Datenstruktur mit einem definierten Format. Jeder Deskriptor beginnt mit einem bytebreiten Feld, das die Gesamtzahl der Bytes im Deskriptor enthält, gefolgt von einem byte-breiten Feld, das den Deskriptortyp identifiziert.
  • Ein Vorrichtungs-Deskriptor identifiziert die Vorrichtung eindeutig und informiert den Host über die Anzahl der Konfigurationen, die die Vorrichtung aufweist.
  • Ein Konfigurations-Deskriptor informiert den Host über die verschiedenen mögliche Konfigurationen der Vorrichtung, beispielsweise mit eigener Energieversorgung und/oder über den Bus mit Energie versorgt. Er informiert den Host auch über die Anzahl der Schnittstellen, die sie hat.
  • Jede Schnittstelle ist eine Gruppierung von Endpunkten in eine funktionale Gruppe, die ein einziges Merkmal der Vorrichtung ausführt. Beispielsweise würde in einer kombinierten Fax/Scanner/Drucker-Vorrichtung eine Schnittstelle und ein Schnittstellen-Deskriptor für jeweils die Faxfunktion, die Scannerfunktion und die Druckerfunktion bestehen. Der Fax-Schnittstellen-Deskriptor spezifiziert den inneren Endpunkt und den äußeren Endpunkt, der für das Faxen verwendet wird. Der Scanner-Schnittstellen-Deskriptor spezifiziert. die verschiedenen Endpunkte, die für das- Scannenverwendet werden. Der Drucker-Schnittstellen-Deskriptor spezifiziert die zusätzlichen Endpunkte, die für das Drucken verwendet werden.
  • Gemäß einer ersten Ausführungsform der Erfindung wird ein neuer nicht standardmäßiger DMA-Deskriptor definiert. Dieser Deskriptor wird verwendet, um den Schnittstellen-Deskriptor zu erweitern, und er gibt dem Host an, ob ein DMA auf dieser Schnittstelle verfügbar ist oder nicht. Der DMA-Deskriptor folgt dem Schnittstellen-Deskriptor, den er erweitert, sofort während der Spezifizierung.
  • 2 zeigt die Information, die von der Vorrichtung an den Host während des Spezifizierungsverfahrens übertragen und am Endpunkt Null der Vorrichtung gespeichert wird. Die Information 30 umfasst im dargestellten Beispiel einen Vorrichtungs-Deskriptor 32, einen Konfigurations-Deskriptor 34, einen ersten Schnittstellen-Deskriptor 40 und einen zweiten Schnittstellen-Deskriptor 50, erste und zweite Endpunkt-Deskriptoren 42 und 44, die mit der ersten Schnittstelle verbunden sind, und dritte und vierte Schnittstellen-Deskriptoren 52 und 54, die mit der zweiten Schnittstelle verbunden sind. Der erste Endpunkt-Deskriptor 42 und der zweite Endpunkt-Deskriptor 44 folgen dem Deskriptor 40 der Schnittstelle, mit der sie verbunden sind. Der dritte Endpunkt-Deskriptor 52 und der vierte Endpunkt-Deskriptor 54 folgen dem Deskriptor 50 der Schnittstelle, mit der sie verbunden sind. Ein erster DMA-Deskriptor 46, der mit der ersten Schnittstelle verbunden ist, folgt sofort und erweitert den ersten Schnittstellen-Deskriptor 40. Ein zweiter DMA-Deskriptor 56, der mit der zweiten Schnittstelle verbunden ist, folgt sofort und erweitert den zweiten Schnittstellen-Deskriptor 50.
  • Ein DMA-Deskriptor ist eine Datenstruktur mit einem definierten Format. Er beginnt mit einem byte-breiten Feld, das die Gesamtzahl der Bytes im Deskriptor enthält, gefolgt von- einem byte-breiten Feld, das den Typ des Deskriptor identifiziert.
  • Das Format des Deskriptors ist folgendes:
    bFunktionLänge 0 × 04
    bDeskriptorTyp 0 × 24
    bDeskriptorUntertyp O × FD
    bDMA verfügbar 0 × 00/0 × 01
  • Der Wert für bFunktionLänge wird durch die Spezifikation des universellen seriellen Busses bestimmt. Der Wert für bDeskriptorTyp wird auch durch die Spezifikation des universellen seriellen Busses bestimmt und identifiziert die Kommunikationsvorrichtungsklasse. Der Wert bDeskriptorUntertyp ist einer von vielen definierten Werten in der Kommunikationsvorrichtungsklasse, die zur freien Verwendung stehen. Er wird verwendet, um den DMA-Deskriptor zu identifizieren. Der Wert von bDMAverfügbar zeigt an, ob ein DMA von der Schnittstelle unterstützt wird oder nicht (0 × 00 zeigt an: kein DMA, 0 × 01 zeigt an, dass der DMA eine Vorrichtungsklasse ist, die frei für die Verwendung ist). Sie wird verwendet, um den DMA-Deskriptor zu identifizieren. Der Wert von bDMA verfügbar zeigt an, ob der DMA von der Schnittstelle unterstützt wird oder nicht (0 × 00 zeigt an: kein DMA, 0 × 01 zeigt an: DMA ist verfügbar).
  • Der Host identifiziert eindeutig den empfangenen Deskriptor als einen DMA-Deskriptor aus den Feldern bDeskriptorTyp und bDeskriptorUntertyp.
  • In dieser Ausführungsform wird angenommen, dass wenn eine Schnittstelle den DMA unterstützt, jeder der Endpunkte, die mit diesem Endpunkt verbunden sind, auch den DMA unterstützt. Der Host bestimmt, welche Schnittstellen fähig sind, DMA zu unterstützen. Der Host weist eine Intelligenz auf, die unterschiedliche Datentransferaufgaben an verschiedene Schnittstellen zuweist, so dass der Transfer der Daten optimiert wird, ohne den Prozessor der Vorrichtung zu überlasten.
  • Gemäß einer alternativen Ausführungsform wird der DMA-Deskriptor verwendet, um einen Endpunkt-Deskriptor statt einen Schnittstellen-Deskriptor zu erweitern. In dieser Ausführungsform folgt ein Endpunkt-Deskriptor sofort auf den Schnittstellen-Deskriptor, und der DMA-Deskriptor, der mit einem Endpunkt verbunden ist, folgt direkt auf den Endpunkt-Deskriptor und erweitert ihn. Jeder Endpunkt-Deskriptor weist vorzugsweise einen zugehörigen DMA-Deskriptor auf. In dieser alternativen Ausführungsform wird angenommen, dass die Tatsache, ob ein Endpunkt einer Schnittstelle einen DMA unterstützt oder nicht, unabhängig davon ist, ob die anderen Endpunkte der Schnittstelle den DMA unterstützen.

Claims (16)

  1. Vorrichtung (14) zum Anschließen an einen Host (16) für serielle Datenkommunikation gekennzeichnet durch: eine vorbestimmte Datenstruktur (46, 56), die angibt, ob die Vorrichtung (14) direkten Speicherzugriff unterstützt, oder nicht; und durch ein Mittel (27) zum Übertragen der vorbestimmten Datenstruktur (46, 56) an den Host (16).
  2. Vorrichtung (14) gemäß Anspruch 1, wobei das Mittel (27) zum Übertragen auf eine Anfrage vom Host (16) anspricht.
  3. Vorrichtung (14) gemäß Anspruch 1 oder 2, wobei die vorbestimmte Datenstruktur (46, 56) eine aus einer Vielzahl von Datenstrukturen ist, die zu einem Zeitpunkt an den Host (16) übertragen werden.
  4. Vorrichtung (14) gemäß irgendeinem der vorhergehenden Ansprüche, wobei die Vorrichtung (14) eine USB-Vorrichtung ist, und die vorbestimmte Datenstruktur (46, 56) ein Deskriptor ist.
  5. Vorrichtung (14) gemäß Anspruch 4, wobei der Deskriptor (46, 56) ein nichtstandardmäßiger Deskriptor ist.
  6. Vorrichtung (14) gemäß Anspruch 4 oder 5, wobei die vorbestimmte Datenstruktur (46, 56) einen vorhergehenden Deskriptor (40, 50) erweitert.
  7. Vorrichtung (14) gemäß Anspruch 4, 5 oder 6, wobei die vorbestimmte Datenstruktur (46, 56) während der Vorrichtungs-Enumeration übertragen wird.
  8. Host (16) zum Anschließen an eine Vorrichtung (14) für serielle Datenkommunikation umfassend: Übertragungsmittel (26) zum Übertragen einer Datenstruktur (46, 56) von der Vorrichtung (14) zum Host (16), dadurch gekennzeichnet, dass es Identifikationsmittel umfasst, die betriebsfähig sind, eine übertragene Datenstruktur (46, 45) als eine vorbestimmte Datenstruktur (46, 56) zu identifizieren, die angibt, dass die Vorrichtung (14) direkten Speicherzugriff unterstützt.
  9. Host (16) gemäß Anspruch 8, wobei das Übertragungsmittel (26) eingerichtet ist, bei der Vorrichtung (14) anzufordern, mindestens die vorbestimmte Datenstruktur (46, 56) zu senden.
  10. Host (16) gemäß Anspruch 8 oder 9, wobei die vorbestimmte Datenstruktur (46, 56) eine aus einer Vielzahl von Datenstrukturen ist, die zu einem Zeitpunkt an den Host übertragen werden.
  11. Host (16) gemäß Anspruch 8, 9 oder 10, wobei der Host (16) ein USB-Host ist und die vorbestimmte Datenstruktur (46, 56) ein Deskriptor ist.
  12. Host (16) gemäß Anspruch 11, wobei der Deskriptor ein nicht-standardmäßiger Deskriptor ist.
  13. Host (16) gemäß Anspruch 11 oder 12, wobei die vorbestimmte Datenstruktur (46, 56) einen zuvor übertragenen Deskriptor erweitert.
  14. Host (16) gemäß irgendeinem der Ansprüche von 8 bis 13, des Weiteren umfassend Zuweisungsmittel (24) zur Zuweisung von Aufgaben in Bezug auf die Datenübertragung von/zu der Vorrichtung in Abhängigkeit von dem Inhalt der vorbestimmten Datenstruktur (46, 56).
  15. Host (16) gemäß Anspruch 11, 12, 13, 14, wobei die vorbestimmte Datenstruktur (46, 56) während der Enumeration der Vorrichtung durch den Host übertragen wird.
  16. System, umfassend: einen Host (16), eine Vorrichtung (14), die eine vorbestimmte Datenstruktur (46, 56) umfasst, und eine serielle Datenverbindung (12) zwischen dem Host (10) und der Vorrichtung (14), umfassend: Mittel (26, 27) zum Übertragen der vorbestimmten Datenstruktur (46, 56) von der Vorrichtung (14) an den Host (16) mittels der seriellen Datenverbindung (12), wobei die vorbestimmte Datenstruktur (46, 56) angibt, ob die Vorrichtung (14) direkten Speicherzugriff unterstützt oder nicht.
DE60312539T 2002-10-09 2003-10-01 Einrichtung mit mitteln zum transferieren von informationen, die angeben, ob die einrichtung dma unterstützt oder nicht Expired - Lifetime DE60312539T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB0223371A GB2394152B (en) 2002-10-09 2002-10-09 DMA Detection
GB0223371 2002-10-09
PCT/IB2003/004365 WO2004034268A1 (en) 2002-10-09 2003-10-01 A device including means for transferring information indicating wether or not the device supports dma

Publications (2)

Publication Number Publication Date
DE60312539D1 DE60312539D1 (de) 2007-04-26
DE60312539T2 true DE60312539T2 (de) 2007-11-29

Family

ID=9945532

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60312539T Expired - Lifetime DE60312539T2 (de) 2002-10-09 2003-10-01 Einrichtung mit mitteln zum transferieren von informationen, die angeben, ob die einrichtung dma unterstützt oder nicht

Country Status (8)

Country Link
US (1) US7444441B2 (de)
EP (1) EP1550044B1 (de)
KR (1) KR100763039B1 (de)
CN (1) CN1703686B (de)
AU (1) AU2003266495A1 (de)
DE (1) DE60312539T2 (de)
GB (1) GB2394152B (de)
WO (1) WO2004034268A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1591906A1 (de) * 2004-04-27 2005-11-02 Texas Instruments Incorporated Effiziente Datenübertragung von einem ASIC zu einem host unter Verwendung von DMA
CN106325377B (zh) * 2015-07-08 2019-06-28 华为技术有限公司 外部设备扩展卡及输入输出外部设备的数据处理方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW276312B (de) * 1992-10-20 1996-05-21 Cirrlis Logic Inc
US5845151A (en) * 1996-04-08 1998-12-01 Vlsi Technology, Inc. System using descriptor and having hardware state machine coupled to DMA for implementing peripheral device bus mastering via USB controller or IrDA controller
US5948085A (en) * 1996-08-08 1999-09-07 Thomson Consumer Electronics, Inc. Bus voltage detection and protection
JP3134821B2 (ja) * 1997-09-02 2001-02-13 日本電気株式会社 通信システム
US6298396B1 (en) * 1998-06-01 2001-10-02 Advanced Micro Devices, Inc. System for loading a current buffer desciptor register with a value different from current value to cause a previously read buffer descriptor to be read again
US6202107B1 (en) * 1998-11-19 2001-03-13 Sun Microsystems, Inc. Host controller interface descriptor fetching unit
US6216183B1 (en) * 1998-11-20 2001-04-10 Compaq Computer Corporation Apparatus and method for securing information entered upon an input device coupled to a universal serial bus
EP1059586B1 (de) * 1999-06-09 2004-09-08 Texas Instruments Incorporated Verteilter Speicher mit programmierbarer Grösse
JP3641169B2 (ja) * 1999-08-06 2005-04-20 株式会社エヌ・ティ・ティ・ドコモ Usb対応電子機器
US6598097B1 (en) * 2000-02-29 2003-07-22 International Business Machines Corporation Method and system for performing DMA transfers using operating system allocated I/O buffers
AU6420001A (en) * 2000-06-02 2001-12-11 Mellanox Technologies Ltd. Dma doorbell
US7089344B1 (en) 2000-06-09 2006-08-08 Motorola, Inc. Integrated processor platform supporting wireless handheld multi-media devices
JP2004078823A (ja) * 2002-08-22 2004-03-11 Oki Data Corp 画像形成システム及び画像形成装置
US8037229B2 (en) * 2002-11-21 2011-10-11 Sandisk Technologies Inc. Combination non-volatile memory and input-output card with direct memory access

Also Published As

Publication number Publication date
CN1703686A (zh) 2005-11-30
CN1703686B (zh) 2011-05-25
GB0223371D0 (en) 2002-11-13
AU2003266495A1 (en) 2004-05-04
US20060101165A1 (en) 2006-05-11
US7444441B2 (en) 2008-10-28
EP1550044B1 (de) 2007-03-14
EP1550044A1 (de) 2005-07-06
DE60312539D1 (de) 2007-04-26
GB2394152B (en) 2005-11-02
GB2394152A (en) 2004-04-14
WO2004034268A1 (en) 2004-04-22
KR100763039B1 (ko) 2007-10-04
KR20050057635A (ko) 2005-06-16

Similar Documents

Publication Publication Date Title
DE69930490T2 (de) Kommunikationsverfahren, Sendungsverfahren und Empfangsverfahren und Geräte zu ihrer Durchführung
DE60212626T2 (de) Endknotenunterteilung mittels lokaler identifikatoren
EP1456722B1 (de) Datenübertragungsverfahren, serielles bussystem und anschalteinheit für einen passiven busteilnehmer
DE69723726T2 (de) Anwendungsprogrammierungsschnittstelle für Datenübertragung und Busverwaltung einer Busstruktur
DE102008035120B4 (de) Prozessorauswahl für einen Interrupt, die einen Prozessorcluster identifiziert
DE69737919T2 (de) Verfahren zur Zuordnung von Systembetriebsmitteln in einer hierarchischen Busstruktur
DE69836778T2 (de) Vorrichtung und Verfahren zur Fernpufferspeicherzuordnung und Verwaltung für Nachrichtenübertragung zwischen Netzknoten
DE69936225T2 (de) Gleichzeitige serielle verbindung zur integrierung von funktionellen blöcken in eine integrierte schaltungsvorrichtung
DE69836426T2 (de) Steuergerät für einen universellen seriellen Bus
DE69932400T2 (de) Steuerungsvorrichtung für einen Portverwalter zur Verbindung von verschiedenen Funktionsmodulen
DE102005014727B4 (de) Hardwarekoordination von Power Management-Aktivitäten
DE69731421T2 (de) Verfahren zum Verknüpfen eines Datenpaketes mit einem Kanal in einem IEEE1394-Datenübertragungssystem
DE102008030587B4 (de) Verfahren und Vorrichtung zur Erhöhung der Effizienz der Interrupt-Lieferung zur Laufzeit in einem Netzwerksystem
DE69822221T2 (de) Umleitung von interruptzielen unterstützende transaktionen sowie niveauabhängigeinterruptsemantik
DE69824355T2 (de) Informationsübertragungsgerät und Verfahren
DE602004004442T2 (de) Kartenidentifikationssystem
DE69929142T2 (de) Verfahren zur Bilddatenübertragung unter Verwendung von einem IEEE 1394 Bus
DE102008049018A1 (de) Filtern und Routen in einer Management Component Transport Protocol-Zwischenverbindung
DE102004042170B4 (de) Nachrichtenbasierte Interrupttabelle
DE112006001167T5 (de) Simulieren mehrerer virtueller Kanäle in Switching-Fabric-Netzwerken
DE602005006338T2 (de) Vorrichtung und Verfahren zur Datenübertragungsverarbeitung
DE112021003094T5 (de) System und verfahren zum planen von gemeinsam nutzbaren pcie-endpunktvorrichtungen
DE10208598B4 (de) USB-Steuerschaltung mit automatischer Leitweg-Schaltfunktion
DE69918053T2 (de) Datenübertragungs-steuervorrichtung und elektronische vorrichtung
DE102004046822A1 (de) Verfahren zum Übertragen von Daten zwischen einem Speicher und mehreren peripheren Einheiten mit Hilfe einer Direct Memory Access-Steuerung sowie entsprechende Direct Memory Access-Steuervorrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition