DE102005009021A1 - Unified USB OTG control unit - Google Patents

Unified USB OTG control unit Download PDF

Info

Publication number
DE102005009021A1
DE102005009021A1 DE102005009021A DE102005009021A DE102005009021A1 DE 102005009021 A1 DE102005009021 A1 DE 102005009021A1 DE 102005009021 A DE102005009021 A DE 102005009021A DE 102005009021 A DE102005009021 A DE 102005009021A DE 102005009021 A1 DE102005009021 A1 DE 102005009021A1
Authority
DE
Germany
Prior art keywords
port
control unit
port handler
unit
functionality
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.)
Ceased
Application number
DE102005009021A
Other languages
German (de)
Inventor
Kay Hesse
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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Priority to DE102005009021A priority Critical patent/DE102005009021A1/en
Priority to US11/158,512 priority patent/US7506077B2/en
Publication of DE102005009021A1 publication Critical patent/DE102005009021A1/en
Ceased 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/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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

Die vorliegende Erfindung umfasst eine USB(Universal Serial Bus)OTG-(On-The-Go)-Steuerungseinheit und insbesondere einen Steuerungsschaltungschip für einen seriellen Bus mit verbesserten Port Handler-Ausführungen. In einem Beispiel können verschiedene Handler-Einheiten bereitgestellt werden, die wahlweise Leitrechner und Peripheriegerätefunktionalität an den bereffenden Ports unterstützen. In einem anderen Beispiel werden ein erster Port Handler mit Leitrechnerfunktionalität und ein zweiter Port Handler mit beschränkter Leitrechnerfunktionalität bereitgestellt, die im Wesentlichen die gleiche Hardwarestruktur aufweisen. In einem weiteren Beispiel wird mindestens ein Port Handler bereitgestellt, der ein Modul, operierend auf niedriger Protokollebene, um Aussemblierung und/oder Disassemblierung von Datenpaketen zu bewältigen, ein Übertragungspuffermodul zum Puffern von eingehenden und ausgehenden Daten und die Systemspeicherlatenzen zu mitteln, und ein Speicherzugangsmodul zur Herstellung von Speicheranforderungen gemäß einer Leitrechner- und/oder Peripheriegerätefunktionalität umfasst.The present invention includes a Universal Serial Bus (OTG) OTG (on-the-go) control unit and, more particularly, a serial bus control circuit chip with improved port handler designs. In one example, various handler units may be provided to selectively support host computers and peripheral device functionality at the ports being deployed. In another example, a first port handler with host functionality and a second port handler with limited host functionality are provided that have substantially the same hardware structure. In another example, at least one port handler is provided that is capable of handling a low protocol level module to handle packet data assembly disassembly and / or disassembly, a transmit buffer module to buffer incoming and outgoing data, and system memory latencies, and a memory access module to Manufacture of memory requirements according to a master computer and / or peripheral device functionality includes.

Description

HINTERGRUND DER ERFINDUNGBACKGROUND THE INVENTION

1. Gebiet der Erfindung1st area the invention

Die Erfindung bezieht sich im Allgemeinen auf USB (universeller serieller Bus) OTG (On-The-Go) Steuerungseinheiten und insbesondere auf integrierte Schaltungsbausteine, die einen Schaltkreis zum Steuern der Datenübertragung zu und/oder von mindestens einem Peripheriegerät aufweisen, das wahlweise Peripheriegeräte- oder Leitrechnerfunktionalität besitzt und mit einem seriellen Bus verbunden ist.The This invention generally relates to USB (universal serial Bus) OTG (On-The-Go) control units and more particularly to integrated circuit devices having a Circuit for controlling data transmission to and / or from at least one peripheral device which optionally has peripheral or host functionality and connected to a serial bus.

Der universelle serielle Bus wurde ursprünglich im Jahre 1995 entwickelt, um einen externen Erweiterungsbus, der die Anbindung von zusätzlichen Peripheriegeräten an ein Computersystem erleichtert, zu definieren. Die USB-Technik wird bei PC (Personalcomputer) Leitrechnersteuerungshardware und -software und bei für Peripheriegeräte geeignete Master-Slave-Protokolle zur Anwendung gebracht und ist in der Lage robuste Verbindungen und Verbindungskabelanordnungen zu schaffen. USB-Systeme sind mittels Mehrfachverteiler bzw. multi-port hubs erweiterbar.Of the universal serial bus was originally developed in 1995 to an external expansion bus, the connection of additional peripherals to a computer system makes it easier to define. The USB technology becomes in PC (personal computer) host control hardware and software and at for peripherals suitable master-slave protocols is applied and is capable of rugged connections and connection cable arrangements to accomplish. USB systems are multi-distribution or multi-port hubs expandable.

In USB-Systemen besteht die Aufgabe der Systemsoftware darin, eine vereinheitlichte Gliederung der Eingangs- und Ausgangsarchitektur für alle Anwendungsprogramme bereitzustellen, indem die Ausführungsdetails der Hardware verborgen werden. Insbesondere, ist sie in der Lage, die dynamische Anbindung und Abkopplung von Peripheriegeräten zu verwalten und mit den Peripheriegeräten zu kommunizieren, um deren Identität festzustellen. Während der Laufzeit initiiert der Leitrechner Transaktionen zu speziellen Peripheriegeräten, und jedes Peripheriegerät nimmt seine Transaktionen an und antwortet dementsprechend.In USB systems, the task of the system software is to have a unified structure of the input and output architecture for all To provide application programs by the execution details hidden from the hardware. In particular, she is able to to manage the dynamic connection and disconnection of peripheral devices and with the peripherals communicate to determine their identity. During the At runtime, the host computer initiates transactions to specific peripherals, and every peripheral device accepts his transactions and responds accordingly.

Die Verteilerknotenknoten bzw. hubs sind in das System eingebaut um eine zusätzliche Verbindungsfähigkeit für USB-Peripheriegeräte zu schaffen, und um die angeschlossenen Geräten mit einer gesteuerten Leistung zu versorgen. Die Peripheriegeräte sind unterge ordnete Einheiten bzw. slaves, die auf die Anforderungstransaktionen, die vom Leitrechner gesandt wurden, reagieren müssen. Derartige Anforderungstransaktionen beinhalten Abfragen zu detaillierten Informationen über das Gerät und seine Konfiguration.The Distribution node nodes or hubs are built into the system an additional connectivity to create for USB peripherals and the connected devices to provide a controlled power. The peripherals are subordinate units or slaves that are based on the request transactions, which have been sent by the master computer must respond. Such request transactions Include queries for detailed information about the Device and his configuration.

Während diese Funktionen und Protokolle bereits in der USB 1.1 Spezifikation eingerichtet waren, wurde diese Technik weiter verbessert, um eine Schnittstelle mit höherer Leistung bereitzustellen. 1 zeigt ein Beispiel eines USB 2.0 Systems, das eine Leitrechnersteuerungseinheit 100, eine Reihe von USB-Geräten 115, 120, 125, 130 und zwei Verteilerknoten 105, 110 umfasst. In dem System aus 1 werden die Verteilerknoten 105, 110 zur Steigerung der Verbindungsfähigkeit eingefügt, jedoch können in anderen USB-Systemen die USB-Geräte direkt an die Leitrechnersteuerungseinheit 100 angeschlossen werden.While these features and protocols were already established in the USB 1.1 specification, this technique has been further enhanced to provide a higher performance interface. 1 shows an example of a USB 2.0 system, which is a host control unit 100 , a series of USB devices 115 . 120 . 125 . 130 and two distribution nodes 105 . 110 includes. In the system off 1 become the distribution nodes 105 . 110 However, in other USB systems, the USB devices can be connected directly to the master control unit 100 be connected.

Wie zuvor erwähnt, stellt USB 2.0 eine Schnittstelle mit höhere Leistung bereit, und die Verbesserung hinsichtlich der Geschwindigkeit kann bis zu einem Faktor 40 betragen. Des weiteren, wie in 1 ersichtlich, ist der USB 2.0 rückwärts kompatibel mit dem USB 1.1, denn es ermöglicht die angeschlossenen USB 1.1 Geräte 120, 125, 130 von der gleichen Leitrechnersteuerungseinheit 100 gesteuert zu werden. Es können auch USB 1.1 Verteilerknoten 110 verwendet werden.As previously mentioned, USB 2.0 provides a higher performance interface, and the speed improvement can be up to a factor of 40. Furthermore, as in 1 As you can see, the USB 2.0 is backwards compatible with the USB 1.1, because it enables the connected USB 1.1 devices 120 . 125 . 130 from the same host control unit 100 to be controlled. It can also USB 1.1 distribution nodes 110 be used.

Wie aus 1 ersichtlich, kann ein USB 1.1 Gerät 120 direkt an einen USB 2.0 Verteilerknoten 105 angeschlossen werden. Des weiteren kann das Gerät auch direkt an die Leitrechnersteuerungseinheit 100 angeschlossen werden. Dies wird durch die Fähigkeit der USB 2.0 Leitrechnersteuerungseinheit und Verteilerknoten, höhere sowie auch niedrige Übertragungsgeschwindigkeiten zwischen den einzelnen Geräten zu übertragen, ermöglicht.How out 1 can be seen, a USB 1.1 device 120 directly to a USB 2.0 distribution node 105 be connected. Furthermore, the device can also directly to the master computer control unit 100 be connected. This is made possible by the ability of the USB 2.0 host control unit and hub to transmit higher and lower transmission speeds between devices.

In 2 ist die Systemsoftware und Hardware eines USB 2.0 Systems dargestellt. Die Systembestandteile können hierarchisch angeordnet sein, indem mehrere Ebenen definiert werden.In 2 is the system software and hardware of a USB 2.0 system shown. The system components can be arranged hierarchically by defining multiple levels.

In der obersten Ebene wird das Kliententreiberprogramm 200 auf einem Leitrechner-PC ausgeführt und ist einem bestimmten USB-Gerät 230 zugeordnet. Die Klientensoftware ist typischerweise Teil eines Betriebssystems oder wird von dem Gerät bereitgestellt.At the top level becomes the client driver program 200 running on a host PC and is a particular USB device 230 assigned. The client software is typically part of an operating system or provided by the device.

Der USB-Treiber 205 ist ein Systemsoftwarebustreiber, der die Details des bestimmten Leitrechnersteuerungseinheitstreibers 210, 220 für ein bestimmtes Betriebssystem zusammengefasst aufweist. Die Leitrechnersteuerungseinheitstreiber 210, 220 bilden eine Softwareebene zwischen einer speziellen Hardware 215, 225, 230 und dem USB-Treiber 205, um eine Treiber-Hardware-Schnittstelle bereitzustellen.The USB driver 205 is a system software bus driver that provides the details of the particular host computer control device driver 210 . 220 summarized for a particular operating system. The host controller drivers 210 . 220 form a software layer between a special hardware 215 . 225 . 230 and the USB driver 205 to provide a driver hardware interface.

Während die bis jetzt besprochenen Ebenen durch Software implementiert sind, beinhaltet die oberste Ebene der Hardwarekomponenten die Leitrechnersteuerungseinheiten 215, 225. Diese Steuerungseinheiten sind mit dem USB-Gerät 230, das die Endanwenderfunktion ausführt, verbunden.While the levels discussed so far are implemented by software, the top level of the hardware components includes the host control units 215 . 225 , These controllers are with the USB device 230 Connecting the end user function connected.

Wie aus der Figur ersichtlich ist, gibt es eine Leitrechnersteuerungseinheit 225, die eine erweiterte Leitrechnersteuerungseinheit (EHC) für die Hochgeschwindigkeits-USB 2.0-Funktionalität ist. Diese Leitrechnersteuerungseinheit arbeitet entsprechend der EHCI (Enhaced Host Controller Interface, i.e., erweiterte Leitrechnersteuerungseinheitsschnittstelle) Spezifikation für USB 2.0. Auf der Softwareseite wird der Leitrechnersteuerungseinheit 225 ein spezieller Leitrechnersteuerungseinheitstreiber (EHCD) 220 zugeordnet.As can be seen from the figure, there is a host control unit 225 , which is an advanced host control unit (EHC) for high-speed USB 2.0 functionality. This host control unit operates according to the EHCI (Enhanced Host Controller Interface) specification for USB 2.0. On the software side, the control computer control unit 225 a special master control unit driver (EHCD) 220 assigned.

Des weiteren gibt es Leitrechnersteuerungseinheiten 215 für Arbeitsvorgänge mit voller und geringer Geschwindigkeit. Die UHCI (Universal Host Controller Intertace, i.e., universelle Leitrechnersteuerungseinheitsschnittstelle) oder OHCI (Open Host Controller Interface, i.e., offene Leitrechnersteuerungseinheitsschnittstelle) sind die zwei Industriestandards, die in den universellen oder offenen Leitrechnersteuerungseinheiten (UHC/OHC) 215 zur Bereitstellung von USB 1.1 Leitrechnersteuerungseinheitsschnittstellen angewendet werden. Die Leitrechnersteuerungseinheiten 215 besitzen ihnen zugeteilte universelle/offene Leitrechnersteuerungseinheitstreiber (UHCD/OHCD) 210 in der untersten Softwareebene.Furthermore, there are master control units 215 for full and low speed operations. The UHCI (Universal Host Controller Intertace) or OHCI (Open Host Controller Interface) are the two industry standards used in the Universal or Open Host Control Units (UHC / OHC). 215 to provide USB 1.1 host control unit interfaces. The host control units 215 own them assigned universal / open host control unit drivers (UHCD / OHCD) 210 in the lowest software level.

Deshalb umfasst das USB 2.0-verträgliche Leitrechnersteuerungseinheitssystem eine Treibersoftware und Leitrechnersteuerungseinheitshardware, die mit der EHCI-Spezifikation verträglich sein muss. Während diese Spezifikation die Schnittstelle auf Registerebene und dazugehörige im Speicher abgelegte Datenstrukturen definiert, definiert sie nicht, noch beschreibt sie, die Hardwarearchitektur, die zum Aufbau einer verträglichen Leitrechnersteuerungseinheit notwendig ist.Therefore includes the USB 2.0 compliant Control computer control unit system driver software and host controller unit hardware, which must be compatible with the EHCI specification. While these Specification the interface at the register level and associated in the Memory defines stored data structures, does not define them, nor does it describe the hardware architecture used to build a acceptable Control computer control unit is necessary.

Mit Bezug auf 3 sind die Hardwarekomponenten eines typischen Hauptplatinenaufbaus dargestellt. Die grundlegenden Bauelemente, die auf einer Hauptplatine ausgebildet sind, können die CPU (Central Processing Unit, i.e., zentrale Recheneinheit) 300, eine Nordbrücke 305, eine Südbrücke 310 und einen Systemspeicher 315 beinhalten. Die Nordbrücke 305 ist für gewöhnlich ein einzelner Chip in einem Kernlogikchipsatz, der den Prozessor 300 mit dem Systemspeicher 315 und dem AGP (Accelerated Graphic Port, i.e., beschleunigter Graphikport) und dem PCI (Peripheral Component Interface, i.e., periphere Komponentenschnittstelle) Bus verbindet. Der PCI-Bus wird für gewöhnlich in Personalcomputern zur Bereitstellung eines Datenpfades zwischen dem Prozessor und dem Peripheriegeräten, wie zum Beispiel Videokarten, Klangkarten, Netzwerkschnittstellenkarten und Modems verwendet. Der AGP-Bus ist ein Graphikerweiterungsbus mit hoher Geschwindigkeit, der den Anzeigeadapter und den Systemspeicher 315 direkt verbindet. Der AGP arbeitet unabhängig vom PCI-Bus. Es ist zu beachten, dass es auch andere Hauptplatinenkonfigurationen gibt, die keine Nordbrücke beinhalten, oder die eine Nordbrücke ohne AGP- oder PCI-Optionen beinhalten.Regarding 3 The hardware components of a typical motherboard setup are shown. The basic components that are formed on a motherboard, the CPU (Central Processing Unit, ie, central processing unit) 300 , a north bridge 305 a south bridge 310 and a system memory 315 include. The north bridge 305 is usually a single chip in a core logic chip set that is the processor 300 with the system memory 315 and the AGP (Accelerated Graphic Port) and the PCI (Peripheral Component Interface) bus. The PCI bus is commonly used in personal computers to provide a data path between the processor and peripheral devices such as video cards, sound cards, network interface cards, and modems. The AGP bus is a high-speed graphics extension bus containing the display adapter and system memory 315 connects directly. The AGP works independently of the PCI bus. It should be noted that there are other motherboard configurations that do not include a north bridge, or that include a north bridge without AGP or PCI options.

Die Südbrücke 310 ist für gewöhnlich der Chip in einem Systemkernlogikchipsatz, der den IDE (Integrated Drive Elektronics, i.e., integrierte Treiberelektronik) oder den EIDE (Enhanced IDE, i.e., erweiterte integrierte Treiberelektronik) Bus, und den USB-Bus, der eine plug-n-play-Funktion bereitstellt, steuert, steuert eine PCI-ISA (Instrustry-Standard-Architecture, i.e., Industriestandardarchitektur) Brücke, verwaltet die Tastatur/Maus-Steuerung, stellt die Leistungsverwaltungsfunktion bereit, und steuert andere Peripheriegeräte.The south bridge 310 is usually the chip in a kernel logic chipset that includes the IDE (Integrated Drive Electronics) or the EIDE (Enhanced IDE) bus, and the USB bus, which has a plug-n-play Provides, controls, controls a PCI-ISA (Instrustry Standard Architecture, ie, industry standard architecture) bridge, manages the keyboard / mouse control, provides the power management function, and controls other peripherals.

Die USB-Funktionalität wird oft in einer Südbrückeneinheit oder in anderen damit verbundenen Chips, die Teil eines Personalcomputerchipsatzes sein können, eingerichtet. Wie zuvor beschrieben, liefert diese Funktionalität eine anwenderfreundliche Schnittstelle zum Datenaustausch zwischen dem Computer, in dem die Südbrücke oder damit verbundenen Chips eingebaut sind, und den Peripheriegeräten.The USB functionality is often in a south bridge unit or in other associated chips that are part of a personal computer chipset could be, set up. As previously described, this functionality provides a user-friendly Interface for data exchange between the computer in which the South bridge or associated chips are installed, and the peripherals.

Um Geräte mit niedriger Leistung begrenzte Leitrechnerfähigkeiten zuzuerkennen, wurde „On-The-Go"-Ergänzung zu der USB 2.0 Spezifikation konzipiert. Die Ergänzung definiert zwei Protokolle: ein SRP (Session Request Protocol, i.e., Sitzungsanforderungsprotokoll), das ein Peripheriegerät beim Leitrechneranfragen läßt, die USB-Leistungsversorgung einzuschalten, und ein HNP (Host Negotiation Protocol, i.e., Leitrechnerverhandlungsproto koll), das es einem Peripheriegerät erlaubt ein USB-Leitrechner wird. Deshalb erlaubt die Ergänzung zur USB 2.0 Spezifikation einem tragbaren Gerät die Rolle eines beschränkten USB-Leitrechners zu übernehmen, ohne die Last für die Unterstützung aller USB-Funktionen eines Personalcomputers zu tragen.Around equipment Putting low power limited host capabilities on was "on-the-go" addition The USB 2.0 specification is designed. The supplement defines two protocols: a session request protocol (SRP), this is a peripheral device when host computer requests, the Turn on USB power, and a HNP (Host Negotiation Protocol, i.e., host computer negotiation protocol), which makes it a peripheral allowed a USB host becomes. Therefore, the addition to the USB 2.0 specification a portable device the role of a limited USB host computer to take over, without the burden for support all USB functions to carry a personal computer.

Unter anderem spezifiziert die OTG-ErgänzungGeräte mit einer Doppelrolle, die mit voller Geschwindigkeit (und optional mit hoher Geschwindigkeit) als Peripheriegeräte betrieben werden können, und des weiteren mit voller Geschwindigkeit (und optional mit geringer und hoher Geschwindigkeit) als Leitrechner betrieben werden können. Des weiteren ist ein A-Gerät als Leitrechner zu Beginn einer Sitzung spezifiziert. Unter bestimmten Voraussetzungen wird das A-Gerät die Rolle des Leitrechners einem B-Gerät mit Doppelrolle überlassen. Ein B-Gerät ist zu Beginn einer Sitzung ein Peripheriegerät. Wenn das Gerät Doppelrollencharakter besitzt, kann ihm die Rolle des Leitrechners vom A-Gerät erteilt werden.Under The OTG supplement specifies devices with one Dual role, the full speed (and optional high Speed) can be operated as peripheral devices, and furthermore at full speed (and optionally at lower speed) and high speed) can be operated as a host computer. Of Another is an A-device as a host computer specified at the beginning of a session. Under certain circumstances becomes the A-device Leave the role of the master computer to a dual-role B-machine. A B-device is a peripheral device at the beginning of a session. If the device is double roller character owns the role of the host computer from the A-device become.

Ein Weg eine USB 2.0 OTG Gerätesteuerung mit Doppelrolle zu bilden, wurde in der deutschen Patentanmeldung Nr. 10 2004 057 756.0 mit dem Titel „USB On-The-Go Controller", eingereicht am 30. November 2004, beschrieben. Eine ähnliche Anordnung wird in 4 gezeigt.One way to form dual role USB 2.0 OTG device control has been described in German Patent Application No. 10 2004 057 756.0 entitled "USB On-The-Go Controller" filed on Nov. 30, 2004. A similar arrangement is described in US Pat 4 shown.

Das USB-Steuerungseinheit 400 in der 4 weist Leitrechnersteuerungseinheiten 225, 215, eine Gerätesteuerungseinheit 410, eine Brücke 405 und eine OTG-Steuerung 415 auf. Die Leitrechnersteuerungseinheiten bilden eine EHC/UHC/OHC-Kombination und die OTG-Steuerung 415 richtet eine OTG-Funktionalität zum USB-Steuerungseinheit 400 ein. Des weiteren gibt es einen Portrouter 420, um den Zugang der Leitrechnersteuerungseinheiten 225, 215 und der Gerätesteuerungseinheit 410 zum gemeinsam benutzten Port zu steuern.The USB control unit 400 in the 4 has master computer control units 225 . 215 , a device control unit 410 , a bridge 405 and an OTG controller 415 on. The host control units form an EHC / UHC / OHC combination and OTG control 415 sets up an OTG functionality to the USB control unit 400 one. Furthermore, there is a port router 420 to the access of the host control units 225 . 215 and the device control unit 410 to control the shared port.

Diese Vorgehensweise mit Informationsbündelung hat bestimmte Vorteile, da sie wohldefinierte, teilweise sogar in Silizium integrierte bewährte Funktionseinheiten verwenden kann und sie die Verwendung bestehender Treibersoftware, mit nur einigen zusätzlichen Modifikationen den OTG-Steuerungstreiber betreffend, erlaubt. Ferner kann die Anordnung in 4 eventuell in relativ kurzer Entwicklungszeit eingerichtet werden.This information bundling approach has certain advantages because it can use well-defined, sometimes even silicon-integrated, proven functional units, and it allows the use of existing driver software, with only a few additional modifications to the OTG controller driver. Furthermore, the arrangement in 4 may be set up in a relatively short development time.

Diese Verfahrensweise kann jedoch zu einer nicht-integrierten, nicht-kohärenten Anhäufung von Bauformen mit unterschiedlichen Busschnittstellen für jeden Teil führen, und kann des weiteren einen hohen Grad an Redundanz aufweisen, was zu einem beachtlichen die Größe betreffenden Nachteil führt. So kann, zum Beispiel, die Gesamtgröße eines USB-Steuerungseinheites, wie in 4 gezeigt, schätzungsweise in einem Bereich von 330 bis 390 kgates liegen. Ferner, sofern die Verfahrensweise in 4 eine bestehende Bauform, die nicht für einen niedrigen Leistungsverbrauch optimiert wurde, verwendet, kann das Gerät eine Weiterentwicklung der Schaltung erfordern, um den Leistungsverbrauch zu reduzieren. Außerdem kann zumindest die konventionelle EHCI-Softwareschnittstelle eine erhebliche Menge redundanten Datenverkehrs auf dem Systembus bilden, und die Vorgehensweise mit Informationsbündelung in 4 kann ferner in bestimmten Situationen zu langen Verbindungspfaden führen.However, this approach can result in a non-integrated, non-coherent cluster of designs with different bus interfaces for each part, and can also have a high degree of redundancy, resulting in a significant size-related disadvantage. So, for example, the overall size of a USB control unit, as in 4 estimated to be in a range of 330 to 390 kgates. In addition, provided that the procedure in 4 If an existing design that has not been optimized for low power consumption is used, the device may require further development of the circuit to reduce power consumption. In addition, at least the conventional EHCI software interface may constitute a significant amount of redundant traffic on the system bus, and the information bundling approach in FIG 4 may also lead to long connection paths in certain situations.

ZUSAMMENFASSUNG DER ERFINDUNGSUMMARY THE INVENTION

Es wird ein USB-OTG-Steuerungseinheit und ein entsprechender integrierter Schaltungschip bereitgestellt, die eine verbesserte Dichte aufweisen, und somit zu einer geringeren Größe, weniger Vorlauf (i.e., Overhead), und einem reduzierten Leistungsverbrauch führen.It becomes a USB OTG control unit and a corresponding integrated Provided circuit chip having an improved density, and thus to a smaller size, less Advance (i.e., overhead) and reduced power consumption to lead.

In einer Ausführungsform umfasst ein USB-OTG-Steuerungseinheit eine erste Port Handler Einheit, die so gebaut ist, um eine USB-OTG-Funktionalität an einem ersten Port zu bilden und eine zweite Port Handler Einheit, die so gebaut ist, um eine USB-OTG-Funktionalität an einem zweiten Port zu bilden. Jede der ersten und zweiten Port Handler Einheiten ist so gebaut, um wahlweise Leitrechner- und Peripheriegerätefunktionalität am ersten und zweiten Port zu unterstützen.In an embodiment A USB OTG control unit includes a first port handler unit, the is built to form a USB OTG functionality on a first port and a second port handler unit that is built to be one USB OTG functionality on one second port to form. Each of the first and second port handlers Units are built to selectively host and peripheral functionality on the first and second port support.

In einer weiteren Ausführungsform weist ein integrierter Schaltungschip ein Schaltungsschema auf, das so ausgebildet ist, um die Datenübertragung zu und/oder von mindestens einem Peripheriegerät, welches wahlweise Peripheriegeräte- oder Leitrechnerfunktionalität aufweist und das mit einem seriellen Bus verbunden ist, zu steuern. Der Schaltkreis weist eine erste Port Handler Schaltung auf, die so gebaut ist, um die Datenübertragung zu und/oder von einem Peripheriegerät, das an einem ersten Port des integrierten Schaltungschips angeschlossen ist, zu steuern. Des weiteren weist der Schaltkreis eine zweite Port Handler Schaltung auf, die so gebaut ist, die Datenübertragung zu und/oder von einem Peripheriegerät, das an einen zweiten Port des integrierten Schaltungschips angeschlossen ist, zu steuern. Jede der ersten und zweiten Port Handler Schaltungen ist so gebaut, um wahlweise Leitrechner- und Peripheriegerätefunktionalität am entsprechenden ersten oder zweiten Port zu unterstützen.In a further embodiment For example, an integrated circuit chip has a circuit schematic that is designed to transfer data to and / or from at least one peripheral device, which optionally Peripheriegeräte- or Leitrechnerfunktionalität and which is connected to a serial bus to control. The circuit has a first port handler circuit which so is built to data transfer to and / or from a peripheral device attached to a first port the integrated circuit chip is connected to control. Furthermore, the circuit has a second port handler circuit, which is so built, the data transfer to and / or from a peripheral device connected to a second port of the integrated circuit chip is connected to control. each The first and second port handler circuits are built to be optional Host computer and peripheral device functionality at the corresponding first or second port support.

Gemäß einer weiteren Ausführungsform wird ein USB-OTG-Steuerungseinheit bereitgestellt, das eine erste Port Handler Einheit, ausgebildet um eine USB-Leitrechnerfunktionalität zu einem ersten OTG-fähigen Peripheriegerät, welches an einen ersten Port des USB-OTG-Steuerungseinheites angeschlossen ist, bereitzustellen, und eine zweite Port Handler Einheit, ausgebildet, um eine USB-Funktionalität zu einem zweiten OTG-fähigen Peripheriegerät, das an einen zweiten Port des USB-OTG-Steuerungseinheites angeschlossen ist, bereitzustellen, umfasst. Die erste Port Handler Einheit und die zweite Port Handler Einheit weisen im Wesentlichen die gleiche Hardwarestruktur auf.According to a further embodiment, a USB OTG control unit is provided which has a first port handler unit configured to provide USB host functionality to a first OTG-enabled peripheral device connected to a first port of the USB OTG control unit, and a second port handler unit configured to provide USB functionality a second OTG capable peripheral device connected to a second port of the USB OTG control unit. The first port handler unit and the second port handler unit have substantially the same hardware structure.

In noch einer weiteren Ausführungsform wird ein integrierter Schaltungschip bereitgestellt, der einen Schaltkreis aufweist, welcher so ausgebildet ist, um die Datenübertragung zu und/oder von mindestens eine Peripheriegerät, welches wahlweise Peripheriegeräte- oder Leitrechnerfunktionalität aufweist und welches an einen seriellen Bus angeschlossen ist, zu steuern. Der Schaltkreis weist eine erste Port Handler Schaltung auf, die so ausgebildet ist, um Leitrechnersteuerungsfunktionalität zu einem ersten Peripheriegerät, das an einen ersten Port des integrierten Schaltungschips angeschlossen ist, bereitzustellen. Des weiteren weist der Schaltkreis eine zweite Port Handler Schaltung auf, die so ausgebildet ist, um Peripheriegerätesteuerungsfunktionalität zu einem zweien Peripheriegerät, das an einen zweiten Port des integrierten Schaltungschips angeschlossen ist, bereitzustellen. Die erste Port Handler Schaltung und die zweite Port Handler Schaltung weisen im Wesentlichen die gleiche Hardwarestruktur auf.In yet another embodiment An integrated circuit chip is provided which includes a circuit which is adapted to the data transmission to and / or from at least one peripheral device, which optionally peripheral devices or Leitrechnerfunktionalität and which is connected to a serial bus, too Taxes. The circuit has a first port handler circuit designed to provide host control functionality first peripheral device, which is connected to a first port of the integrated circuit chip is to provide. Furthermore, the circuit has a second one Port handler circuitry designed to provide peripheral device control functionality two peripherals, that is connected to a second port of the integrated circuit chip is to provide. The first port handler circuit and the second Port handler circuits have essentially the same hardware structure on.

In noch einer weiteren Ausführungsform umfasst ein USB-OTG Steuerungseinheit mit Doppelrolle mindestens eine Port Handler Einheit, die so gebaut ist, um eine USB-Leitrechner- und/oder Peripheriegerätefunktionalität an einem Port, an dem ein OTG-fähiges Gerät anschließbar ist, bereitzustellen. Die mindestens eine Port Handler Einheit weist ein Modul operierend auf einer unteren Protokollebene auf, das so ausgebildet ist um die Assemblierung und/oder Disassemblierung von Datenpaketen zu bewältigen, ein Übertragungspuffermodul, das so ausgebildet ist, um eingehende und ausgehende Daten zu puffern, um Systemspeicherlatenzen zu mitteln, und ein Speicherzugangsmodul, das so ausgebildet ist, um Speicheranforderungen gemäß der USB-Leitrechner- und/oder Peripheriegerätefunktionalität zu bilden.In yet another embodiment includes a USB-OTG control unit with dual role at least a port handler unit built to provide USB host and / or peripheral device functionality Port on which an OTG-enabled Device is connectable, provide. The at least one port handler unit points a module operating on a lower log level, so is trained to the assembly and / or disassembly of Coping with data packets, a transmission buffer module, which is designed to buffer incoming and outgoing data, to average system memory latencies, and a memory access module, which is designed to meet storage requirements according to the USB host computer and / or peripheral device functionality.

Gemäß einer noch weiteren Ausführungsform wird ein integrierter Schaltungschip bereitgestellt, der einen Schaltkreis aufweist, der so ausgebildet ist, um die Datenübertragung zu und/oder von einem Peripheriegerät, welches wahlweise Peripheriegeräte- oder Leitrechnerfunktionalität aufweist und welches an einen seriellen Bus angeschlossen ist, zu steuern. Der Schaltkreis umfasst mindestens eine Port Handler Schaltung, die so ausgebildet ist, um eine Leitrechner- und/oder Peripheriegerätesterungsfunktionalität an einem Port, an dem ein Peripheriegerät anschließbar ist, bereitzustellen. Die mindestens eine Port Handler Schaltung weist eine Schaltung operierend auf unterer Protokollebene auf, die so ausgebildet ist, um den Assemblierung und/oder Disassemblierung von Datenpaketen zu bewältigen, eine Übertragungspuffereinheit, die so ausgebildet ist, um die eingehenden und ausgehenden Daten zu puffern, um Systemspeicherlatenzen zu mitteln, und eine Speicherzugangsschaltung, die so ausgebildet ist, um die Speicheranforderungen gemäß der Leitrechner- und/oder Peripheriegerätesteuerungsfunktionalität zu bilden.According to one yet another embodiment An integrated circuit chip is provided which includes a circuit , which is adapted to the data transfer to and / or from a peripheral device, which optionally has peripheral device or host functionality and which is connected to a serial bus, too Taxes. The circuit includes at least one port handler circuit, the is configured to be a host computer and / or peripheral device testing functionality on a Port on which a peripheral device connectable is to provide. The at least one port handler circuit has a circuit operating at the lower protocol level, which is designed to assemble and / or disassemble to handle data packets, a transfer buffer unit, which is designed to handle the incoming and outgoing data to buffer system memory latencies, and a memory access circuit, which is designed to meet the memory requirements according to the host computer and / or peripheral device control functionality.

Des weiteren wird ein computerlesbares Speichermedium in einer weiteren Ausführungsform bereitgestellt, das Anweisungen speichert, die, wenn von einem Prozessor ausgeführt, den Prozessor dazu veranlassen, jedes beliebige der oben erwähnten Steuerungseinheite oder integrierten Schaltungschips anzutreiben.Of another is a computer-readable storage medium in another embodiment which stores instructions that, when from a processor executed cause the processor to run any of the above mentioned control units or drive integrated circuit chips.

KURZE BESCHREIBUNG DER ZEICHNUNGENSHORT DESCRIPTION THE DRAWINGS

Die beigefügten Zeichnungen sind in die Spezifikationen eingebaut und bilden einen Teil derselben mit der Absicht, die Grundsätze der Erfindung zu erklären. Die Zeichnungen sollen die Erfindung nicht nur auf die gezeigten und beschriebenen Beispiele, wie die Erfindung praktiziert und verwendet werden kann, einschränken.The attached Drawings are built into the specifications and form one Part thereof with the intention of explaining the principles of the invention. The Drawings are not intended to limit the invention to those shown and described examples of how the invention practiced and used can restrict.

Weitere Merkmale und Vorteile gehen aus der folgenden ausführlicheren Beschreibung der Erfindung hervor, wie sie in den begleitenden Zeichnungen dargestellt ist, wobei:Further Features and benefits go from the more detailed below Description of the invention as shown in the accompanying drawings is shown, wherein:

1 ein Beispiel eines USB 2.0 kompatiblen Systems zeigt; 1 shows an example of a USB 2.0 compliant system;

2 die Schichten der Hardware- und Softwarekomponenten in einem System der 1 zeigt; 2 the layers of hardware and software components in a system of 1 shows;

3 eine typische Hauptplatinenkonfiguration darstellt; 3 a typical motherboard configuration represents;

4 ein Blockdiagramm zeigt, das die Komponenten eines USB-Steuerungseinheites mit Informationsbündelungsansatz, das OTG-Funktionalität aufweist, zeigt; 4 shows a block diagram showing the components of an information bundling USB control unit having OTG functionality;

5 ein Blockdiagramm eines USB-OTG-Steuerungseinheites gemäß einer Ausführungsform zeigt; und 5 shows a block diagram of a USB OTG control unit according to an embodiment; and

6 ein Blockdiagramm eines USB-OTG-Steuerungseinheites gemäß einer weiteren Ausführungsform zeigt. 6 shows a block diagram of a USB OTG control unit according to another embodiment.

DETAILLIERTE BESCHREIBUNG DER ERFINDUNGDETAILED DESCRIPTION OF THE INVENTION

Es werden nun die anschaulichen Ausführungsformen der vorliegenden Erfindung mit Bezug auf die Zeichnungen beschrieben, wobei gleiche Elemente und Strukturen durch gleiche Bezugszeichen angegeben sind.It Now, the illustrative embodiments of the present invention will be described Invention described with reference to the drawings, wherein the same Elements and structures are indicated by the same reference numerals.

Es sei nun auf die Zeichnungen und insbesondere auf 5 verwiesen, die ein USB-OTG-Steuerungseinheit 500 gemäß einer Ausführungsform zeigt, wobei die dargestellte Anordnung nicht mehr als 3 Ports aufweist. Für jeden Port gibt es eine individuelle Port Handler Einheit 550, die mit einem Busarbiter (i.e., Busvermittler) 525 verbunden ist. Der Busarbiter 525 vermittelt Busmasterzugänge von internen Einheiten zum Systembus. Der Busarbiter 525 kann eine Art von Prioritätsbearbeitung anwenden.Let's look at the drawings and especially at 5 referenced a USB OTG control unit 500 according to one embodiment, wherein the illustrated arrangement has no more than 3 ports. There is an individual port handler unit for each port 550 using a busarbiter (ie, bus broker) 525 connected is. The Busarbiter 525 provides bus master access from internal units to the system bus. The Busarbiter 525 can apply some kind of priority editing.

Des weiteren wird ein Registerordner 505, der ein Portstatusregister 510, ein Leitrechnerstatusregister 515 und ein Peripheriegerätestatusregister 520 aufweist, bereitgestellt. Der Registerordner 505 der vorliegenden Ausführungsform ist ein „slave" auf dem Systembus und wird dazu verwendet, mit der Software zu kommunizieren, z. B., um Steuerungsdaten zu speichern und Statusinformationen zu liefern.Furthermore, a register folder 505 , which is a port status register 510 , a host status register 515 and a peripheral device status register 520 provided. The register folder 505 In the present embodiment, a "slave" is on the system bus and is used to communicate with the software, eg, to store control data and provide status information.

Ein Scheduler 545 (i.e., Steuerprogramm) wird als zentrale Steuerungsinstanz für alle Leitrechneroperationen bereitgestellt, d. h., für alle Port Handler 550 im Leitrechnermodus, ungeachtet dessen, ob der entsprechende Port Handler im Hochgeschwindigkeitsmodus oder im vollem/geringem Geschwindigkeitsmodus arbeitet.A scheduler 545 (ie, control program) is provided as a centralized controller for all host operations, that is, for all port handlers 550 in host mode, regardless of whether the corresponding port handler is operating in high speed mode or in full / low speed mode.

Die Deskriptorabrufseinheit 550, wie sie in 5 gezeigt wird, kann durch das Steuerprogramm 545 angesteuert werden, um Leitrechnerdatenverkehrsdeskriptoren für hohe Geschwindigkeit und für volle/geringe Geschwindigkeit abzurufen und zu decodieren. Die Deskriptorabrufseinheit 530 kann ferner den DMA (Direct Memory Access) Maschinen 555 der Port Handler Einheiten 550 Puffer-Zeiger zuordnen.The descriptor retrieval unit 550 as they are in 5 can be shown through the control program 545 to retrieve and decode host computer traffic descriptors for high speed and full / low speed. The descriptor retrieval unit 530 can also use the DMA (Direct Memory Access) machines 555 the port handler units 550 Assign buffer pointer.

Des weiteren weist das USB-OTG-Steuerungseinheit 500 in der 5 einen optionalen Deskriptorspeicher 535 für die Leitrechnerdatenverkehrsdeskriptoren auf. Der Deskriptorspeicher 535 kann den Vorlaufsdatenverkehr auf dem Systembus beachtlich reduzieren.Furthermore, the USB OTG control unit has 500 in the 5 an optional descriptor memory 535 for the host data traffic descriptors. The descriptor memory 535 can significantly reduce the forward traffic on the system bus.

Außerdem wird eine OTG-Einheit 540 bereitgestellt, die die Steuerung für die OTG-Funktionalität ist. In der vorliegenden Ausführungsform besteht die OTG-Einheit 540 hauptsächlich aus einigen Registern und Zählern, da die vorliegende Ausführungsform die meisten Protokolle in Form von Software bearbeitet.It also becomes an OTG unit 540 which is the controller for the OTG functionality. In the present embodiment, the OTG unit exists 540 mainly from some registers and counters, since the present embodiment handles most of the protocols in the form of software.

Wieder bezugnehmend auf die Port Handler Einheiten 550, weist die vorliegende Ausführungsform einen Port Handler 550 für jeden Port auf. Es ist zu beachten, dass die vorliegende Ausführungsform mit nicht mehr als 3 Ports ausgestattet ist, aber gibt auch andere Ausführungsformen mit höherer oder geringerer Portanzahl.Again referring to the Port Handler units 550 The present embodiment includes a port handler 550 for each port. It should be noted that the present embodiment is equipped with no more than 3 ports, but there are other embodiments with higher or lower port number.

Jede Port Handler Einheit 550 unterstützt alle drei Portmodi: den Leitrechnermodus mit hoher Geschwindigkeit, den Leitrechnermodus mit voller/geringer Geschwindigkeit und den Peripheriegerätemodus (für hohe, volle und geringe Geschwindigkeit). In der vorliegenden Ausführungsform, wenn sich mehr als ein Port im Hochgeschwindigkeitsleitrechnermodus befindet, wird einer von ihnen der Master, d. h. der Port bildet die eigentlichen Datenpakte, während der andere/die anderen Ports) nur diesen Datenverkehr kopieren. Dieser Vorgang wird in 5 durch die horizontalen, in zwei Richtungen zeigenden Pfeile, die die Port Handler 550 miteinander verbinden, dargestellt.Each port handler unit 550 supports all three port modes: high speed host mode, full / low speed host mode, and high, full, and low speed peripheral mode. In the present embodiment, when more than one port is in high-speed host mode, one of them becomes the master, ie, the port forms the actual data packets, while the other (or other ports) only copy that traffic. This process is in 5 through the horizontal, bidirectional arrows that make up the port handler 550 connect with each other, shown.

In der vorliegenden Ausführungsform weist jede Port Handler Einheit 550 im Wesentlichen die gleiche Hardwarestruktur auf. In diesem Zusammenhang bedeutet „im Wesentlichen", dass die Gesamthardwarestruktur die gleiche ist, aber dass es kleinere Unterschiede im Entwurf geben kann, wie der Größe von bestimmten Schaltungen, der Taktungsgeschwindigkeit, oder ähnliches, geben kann. Die Port Handler besitzen drei untergeordnete Module 555 bis 565.In the present embodiment, each port has handler unit 550 essentially the same Hardware structure up. In this context, "essentially" means that the overall hardware structure is the same, but that there may be minor differences in design, such as the size of particular circuits, the clocking speed, or the like.The port handlers have three subordinate modules 555 to 565 ,

Die Maschine, operierend auf unterer Protokollebene, ist ein Modul zur Bearbeitung von Datenpaketassemblierung und/oder -disassemblierung. Ferner sorgt die Maschine 565 operierend auf unterer Protokollebene für eine CRC (Cyclic Redundancy Check) Bildung und/oder Überprüfung.The machine, operating at the lower protocol level, is a module for handling data packet assembly and / or disassembly. Further, the machine provides 565 operating at lower protocol level for CRC (cyclic redundancy check) education and / or review.

Die Übertragungspuffereinheit 560 kann eine FIFO (First in First Out) Struktur aufweisen, die dazu verwendet wird, Systemspeicherlatenzen zu mitteln. Des weiteren können die Übertragungspuffereinheiten 560 der Protokoll Handler Einheiten 550 zum Übertragen der Kerntaktung in die Peripheriegerätetaktungsbereiche verwendet werden.The transfer buffer unit 560 may include a first in first out (FIFO) structure used to average system memory latencies. Furthermore, the transmission buffer units 560 the protocol handler units 550 for transmitting the core clock to the peripheral device clocking areas.

Die DMA-Maschinen 555 sind Module zur Bildung der geeigneten Speicheranforderungen, um die USB-Daten abzurufen und/oder zu speichern. DMA-Maschinen 555 können des weiteren für das Durchführen von Beschränkungen im Systembus, z. B. Signalfolgedauer, verantwortlich sein.The DMA machines 555 are modules for forming the appropriate memory requirements to retrieve and / or store the USB data. DMA engines 555 may also be used to enforce restrictions in the system bus, e.g. As signal duration, be responsible.

Es zeigt sich, dass die Struktur in der 5 derart ausgeführt werden kann, dass die Gesamtinformationsblockgröße in einem Bereich von 200 bis 230 kgates liegt, was erheblich weniger ist, als für obige Vorgehensweise mit Informationsbündelung angenommen wurde.It turns out that the structure in the 5 can be made such that the total information block size is in a range of 200 to 230 kgates, which is considerably less than assumed for the above information bundling approach.

Wenn mehr als drei physikalische Ports unterstützt werden, kann die Struktur in der 5 noch immer verwendet werden. Tatsächlich würde dies maximale Flexibilität für gleichzeitig ablaufende Operationen von jeglichen Leitrechner/Peripheriegeräte-Zuordnungen liefern, d. h., jeder Port könnte ein Peripheriegerät werden, oder jeder Port könnte seinen eigenen Leitrechnerteil mit voller/geringer Geschwindigkeit unterstützen.If more than three physical ports are supported, the structure in the 5 still be used. In fact, this would provide maximum flexibility for concurrent operations from any host / peripheral device allocations, ie, each port could become a peripheral, or each port could support its own full / low speed host computer part.

In einer anderen Ausführungsform kann die Anzahl der Ports, die gleichzeitig in Peripheriegerätemodus oder Leitrechnermodus mit voller/geringer Geschwindigkeit sind, auf weniger als die Anzahl der physikalischen Ports eingeschränkt werden. Ein Beispiel für eine derartige Anordnung ist in 6 gezeigt. Anders als in 5, ist die Anzahl der physikalischen Ports in dieser Vorgehensweise größer als die Anzahl der Port Handler Einheiten 605, 625, 645 und 665.In another embodiment, the number of ports that are concurrently in peripheral / full / low speed host mode may be limited to less than the number of physical ports. An example of such an arrangement is in 6 shown. Unlike in 5 , the number of physical ports in this procedure is greater than the number of port handler units 605 . 625 . 645 and 665 ,

Ferner sind die Port Handler Einheiten 605, 625, 645, 665 des Peripheriegerätes 600, wie in 6 gezeigt, in ihrer Funktionalität eingeschränkt. Zum Beispiel ist die Port Handler Einheit 605 dem Hochgeschwindigkeitsleitrechnermodus (HS) gewidmet, sind die Port Handler 625 den Leitrechnermodi mit voller/geringer Geschwindigkeit (FS/LS) gewidmet, und sind die Port Handler 545 und 665 den Peripheriegerätemodi gewidmet. Die Einschränkung der Funktionalität kann z. B. derart sein, dass die entsprechenden Übertragungspuffereinheiten 615, 635, 655 und 675 auf die kleinste Größe, die für den entsprechenden Portmodus notwendig ist, zugeschnitten sind, und die entsprechenden Maschinen 620, 640, 660, 680, operierend auf unterer Protokollebene, so gebaut sind, um nur die Zeichen, die für den entsprechenden Modus gebraucht werden, zu bearbeiten.Further, the port handler units 605 . 625 . 645 . 665 of the peripheral device 600 , as in 6 shown restricted in their functionality. For example, the port handler unit 605 Dedicated to high-speed host mode (HS), the port handlers 625 dedicated to full / low speed host modes (FS / LS), and are the port handlers 545 and 665 dedicated to peripheral device modes. The restriction of the functionality can z. B. be such that the corresponding transmission buffer units 615 . 635 . 655 and 675 to the smallest size necessary for the corresponding port mode, and the corresponding machines 620 . 640 . 660 . 680 operating on lower protocol level, are built to handle only the characters needed for the corresponding mode.

Ferner weist das Gerät 600 in der 6 einen Port Router 685 auf, der als Querriegel-Schalter ausgeführt sein kann, um jedem physikalischen Port den entsprechenden Port Handler zuzuordnen. Es ist zu beachten, dass die vorliegende Ausführungsform das Bearbeiten von mehr als einem physikalischen Port durch eine Port Handler Einheit 605, 625, 645, 665 gewährleistet.Furthermore, the device points 600 in the 6 a port router 685 which may be implemented as a cross bar switch to associate each physical port with the corresponding port handler. It should be noted that the present embodiment involves editing more than one physical port through a port handler unit 605 . 625 . 645 . 665 guaranteed.

Es zeigt sich, dass das Gerät in der 6, wenn es nur einen Port Handler 625 in vollem/geringem Geschwindigkeitsmodus und nur einen der Port Handler 645, 665 in Peripheriegerätemodus aufweist, wahrscheinlich eine kleinere Größe besitzt, als das Gerät 500 in der 5. Im Allgemeinen kann angenommen werden, dass die Einrichtung in der 6 kleiner ist als die Anordnung der 5, solange die Anzahl der physikalischen Ports größer ist als die Anzahl der Port Handler.It turns out that the device in the 6 if there is only one port handler 625 in full / low speed mode and only one port handler 645 . 665 in peripheral device mode, is likely to be smaller in size than the device 500 in the 5 , In general, it can be assumed that the device in the 6 is smaller than the arrangement of 5 as long as the number of physical ports is greater than the number of port handlers.

Die 5 und 6 lassen die physikalischen Geräte weg, da diese -seien sie extern oder intern – nicht Teil des Kerns der Steuerungseinheit in der vorliegenden Ausführungsform sind. Abhängig von der entsprechenden Portgeschwindigkeit bestimmt jedoch das individuelle physikalische Gerät die Schnittstellentaktung zur Steuerungseinheit. Das ist der Grund, warum es nicht nur einen gemeinsamen Kerntaktungsbereich in der vorliegenden Ausführungsform gibt, sondern individuelle physikalische Gerätetaktungsbereiche.The 5 and 6 do not omit the physical devices because they are external or internal to them-not part of the core of the control unit in the present embodiment. However, depending on the appropriate port speed, the individual physical device determines the interface timing to the control unit. This is the reason why there is not only a common core clock area in the present embodiment, but individual physical device clock areas.

In jeder der oben beschriebenen Ausführungsformen gibt es eine Anzahl von nützlichen Portverbindungen. Diese Kombinationen können sich in der Anzahl der Ports und wie die Unterstützung durch den Entwurf der Steuerungseinheit bewerkstelligt wird, unterscheiden. Die folgende Tabelle führt Musterkonfigurationen und deren Erscheinungsbild für den Endanwender für bis zu drei Ports auf, die an das Endprodukt ansteckbar sind, z. B., einen PDA (Personal Digital Assistant). Die Beschränkung auf drei Stück ist exemplarisch gewählt, da die Anzahl als ausreichend angenommen werden kann, um alle wesentlichen unterschiedlichen Konfigurationen zu diskutieren. Es wird angenommen, dass ein Port einen A/B-Anschluss aufweist, wie durch die OTG-Spezifizierung definiert, während der andere Port/die anderen Ports zusätzliche Verbindungsfähigkeit bereitstellt/bereitstellen. Es sollte betont werden, dass in Fällen, wo mehr als ein Port Leitrechnerfunktionalität liefert, auch jene gültige Konfiguration enthalten sein kann, dass der Anwender eine Mischung aus Geräten mit voller/geringer Geschwindigkeit (USB 1.1 verträglicher Datenverkehr) und mit hoher Geschwindigkeit (USB 2.0 verträglicher Datenverkehr) angeschlossen hat.In There are a number of each of the above-described embodiments of useful ones Port connections. These combinations can vary in the number of Ports and how the support distinguished by the design of the control unit. The following table leads Pattern configurations and their appearance to the end user for until to three ports, which are attachable to the final product, eg. B., a PDA (Personal Digital Assistant). The restriction on three pieces is chosen as an example, because the number can be considered sufficient to all essential to discuss different configurations. It is believed, a port has an A / B port as specified by the OTG specification defined while the other port (s) provide / provide additional connectivity. It should be emphasized that in cases where more than one port Provides host functionality, also that valid one Configuration can be included that the user a mixture from devices at full / low speed (USB 1.1 more compatible Traffic) and at high speed (USB 2.0 more compatible Data traffic).

Figure 00130001
Figure 00130001

Figure 00140001
Figure 00140001

In der Tabelle bezeichnet „Entwurf" die Funktionalität, die in Entwurfszeit eingerichtet werden muss, z. B. der RTL (Registered Transfer Level) Code. „HD1" bedeutet die Funktionalität für gleichzeitigen Leitrechner- und Einzelgerätegebrauch zu liefern. „HDn" bedeutet die Funktionalität für gleichzeitigen Leitrechner- und Mehrfachgerätegebrauch zu liefern.In the table, design refers to the functionality that must be set up at design-time, such as: B. the RTL (Registered Transfer Level) code. "HD1" means to provide the functionality for simultaneous host and single-device use. "HDn" means to provide the functionality for simultaneous host and multi-device use.

In der Spalte „Anordnung/Bond-out" wird eine Funktionalität angezeigt, die vom Entwurf auf die Hardwareplattform entweder mittels nicht Herausführen aller Ports die der Chip bereitstellt oder durch nicht Verwenden aller Ports, die als Stifte auf dem Gehäuse verfügbar sind, übertragen wird.In the column "Arrangement / Bond-out" displays a functionality either from the design to the hardware platform either by not lead out all ports that the chip provides or by not using all ports that are available as pins on the chassis.

Beide Möglichkeiten die Anzahl der Ports, die für den Anwender verfügbar sind, einzuschränken, kann sich als nützlich erweisen, um die Gesamtsystemkosten zu kontrollieren.Both options the number of ports for available to the user are to restrict, can come in handy prove to control the overall system cost.

Unter Verwendung unterschiedlicher Verbindungsversionen des Chips, ist es möglich, SoC (System on Chip) Chips auf unterschiedliche Teile zuzuschneiden, während die Vorteile der Serienfertigung nicht aufgegeben werden. Zum Beispiel kann man einen Chip mit zwei USB-Ports und zwei Ethernet-Ports haben – aber zwei Gehäuse bieten: eines mit zwei USB und einem Ethernet-Port und ein anderes Gehäuse mit einem USB und zwei Ethernet- Ports. Wenn man diese Vorgehensweise anwendet, kann man Verbindungskontakte verwenden, um die Hardware-Resourcen für die Software sichtbar zu machen, in Übereinstimmung mit den Ports auf dem Gehäuse.Under Using different connection versions of the chip, is it is possible To cut SoC (System on Chip) chips to different parts, while the benefits of mass production are not abandoned. For example you can have a chip with two USB ports and two Ethernet ports - but two casing offer: one with two USB and one Ethernet port and another casing with one USB and two Ethernet ports. Using this procedure, you can use connection contacts around the hardware resources for to make the software visible, in accordance with the ports on the case.

Durch die Einschränkung der Portanzahl, indem man nicht alle Stifte mit entsprechender PCB (Printed Circuit Board) verwendet, kann eine Verdrahtung von den Designern von Anwendungsplattformen verwendet werden, um die Gesamtsystemkosten zu kontrollieren. Es ist z. B. nicht unbedingt notwendig, PDAs mit drei Ports zu haben, wodurch man mechanische Bauteile und Platz sparen kann.By the restriction the number of ports, by not all pins with appropriate PCB (Printed Circuit Board), a wiring of the Designers of application platforms are used to calculate the total system cost to control. It is Z. B. not necessarily, PDAs with to have three ports, giving you mechanical components and space can save.

In dieser Spalte wird mit „A/B" der arteigene OTG-Anschluss bezeichnet, der es ermöglicht, das sowohl Leitrechner als auch Peripheriegeräte angeschlossen werden können (A- und B-Geräte). Es sollte bemerkt werden, dass sich auf diesem Port die Rolle der Steuerungseinheit dynamisch zwischen Leitrechner und Peripheriegerät ändern kann, indem das oben erwähnte HNP-Protokoll verwendet wird. „A" bezeichnet einen Anschluss, an dem nur Peripheriegeräte angeschlossen werden können und „B" bezeichnet einen Anschluss an dem nur Leitgeräte angeschlossen werden können. „B" kann auch ein angeschlossenes Kabel mit einem B-Stecker sein.In this column is labeled "A / B" of the species OTG connector designated, which makes it possible that both master computers and peripherals can be connected (A- and B devices). It should be noted that on this port the role of Control unit can change dynamically between host computer and peripheral device, by the above mentioned HNP protocol is used. "A" denotes a port, on the only peripherals can be connected and "B" indicates one Connection to the only control devices can be connected. "B" can also be a connected Cable with a B-plug.

In der oben angeführten Tabelle bezeichnet man mit „Anschlusskonfiguration" jene Konfiguration, die der Anwender zusammenschließt. Mit „H" bezeichnet man den Chip, der als Leitrechner fungiert, während man mit „D" den Chip bezeichnet, der als Peripheriegerät fungiert. Auch diese Anschlusskonfiguration kann sich dynamisch ändern.In the above Table is called "connection configuration" that configuration, which the user unites. With "H" one calls the Chip, which acts as a host, while "D" denotes the chip, as a peripheral device acts. This port configuration can also change dynamically.

Die Spalte „Anwendungen" zeigt nur einige Beispiele, wie die betreffenden Konfiguration genutzt werden kann.The The Applications column shows just a few Examples of how the configuration in question can be used.

In jeder der oben beschriebenen Ausführungsformen halten die Steuerungseinheiten die unterschiedlichen Datenverkehrsgeschwindigkeiten getrennt. Eine Vorgehensweise, um dies zu erreichen, umfasst den eingehenden Datenverkehr mit hoher Geschwindigkeit vom vorgeordneten Port (in Richtung Leitrechner) in einen Datenverkehr mit voller/geringer Geschwindigkeit hinunter zum nachgeordneten Port (in Richtung Peripheriegerät) mit einer Art von Transaktionsübersetzer zu übertragen. Für einen verbundenen Leitrechner würde dies bedeuten, die Datenpaket-Handler, operierend auf niedriger Ebene, um einen Puffer mit ausreichender Größe und um eine geeignete Steuerungslogik zu erweitern. Der Puffer kann mit Pseudoteilungstransaktionen gefüllt und/oder geleert werden, da kein eigentlicher Hochgeschwindigkeitsdatenverkehr mit ihnen verbunden ist, da der Übersetzer für die Pseudotransaktionen auf dem Leitrechner selbst angebracht ist. Ein Vorteil dieser Verfahrensweise liegt im Gebrauch der bereits vorhandenen Infrastruktur (oder nur leicht erweiterter Infrastruktur), um die entsprechenden Deskriptoren abzurufen und zu decodieren, wie auch für die DMA-Daten. Das gleiche gilt für die Software: die vorhandene Software kann dafür verwendet werden, ein Peripheriegerät mit voller/geringer Geschwindigkeit zu steuern, das an den Leitrechner angeschlossen ist, genauso wie wenn es an einen Hochgeschwindigkeitsverbindungsknoten irgendwo später in der Verbindung angeschlossen wäre.In Each of the above-described embodiments holds the control units the different traffic speeds separated. A How to do this involves incoming traffic at high speed from the upstream port (towards the host computer) down to full / low speed traffic to the downstream port (towards the peripheral device) with a Type of transaction translator transferred to. For one connected host computer would this means the data packet handlers operating on lower Level, a buffer of sufficient size, and appropriate control logic to expand. The buffer may be filled with pseudorandom transactions and / or emptied, as no actual high-speed traffic connected with them, as the translator for the Pseudo transactions is mounted on the host itself. One Advantage of this procedure lies in the use of the already existing Infrastructure (or only slightly extended infrastructure) to the retrieve and decode corresponding descriptors, as well for the DMA data. The same applies the software: the existing software can be used for a full / low peripheral device Speed control connected to the host computer is, just like when it connects to a high-speed connection node somewhere later would be connected in the connection.

Mit dieser Vorgehensweise kann man eine Bandbreite vs. Flächenoptimierung herstellen. Es ist möglich, entweder einen Übersetzer für Pseudotransaktionen für alle Portperipheriegeräte mit voller/geringer Geschwindigkeit zu verwenden oder jedem dieser Ports seinen eigenen Transaktionsübersetzer zuzuordnen.With This approach can be considered as a bandwidth vs. space optimization produce. It is possible, either a translator for pseudo-transactions for all Port Peripherals to use at full / low speed or any of these Assign ports to its own transaction translator.

Mit Bezug auf den Gerätekern, werden die SoC Träger für jedes Peripheriegerät (beispielsweise kann jedes dieser Geräte 31 Endpunkte haben) an einen unterschiedlichen USB-Teil angeschlossen. Das heißt, dass sich ein SoC-Gerät in der vorliegenden Ausführungsform keinen USB-Teil mit dem Leitrechner teilt, noch würde es das mit einem anderen internen Gerät tun (obwohl das nicht verbindlich ist). Deshalb sind die DMA-Datenströme, die von einer Peripheriegerätesteuerungseinheit ausgegeben werden, asynchron zu jenen aller anderen Ports. Als eine vorteilhafte Konsequenz verursacht das Peripheriegerät eigentlich keinen Vorlaufsdatenverkehr im Systemspeicher (wie ein Leitrechner mit seinen Deskriptorenzugängen). Deshalb kann ein gemeinsamer Port für die Steuerungseinheit von Peripheriegeräten und des Leitrechnern am USB-Port liegen, was entweder über die Entwurfszeit oder die Anschlusszeit bestimmt wird. Beide Steuerungseinheiten können ihre individuelle Verbindung zum Systembus haben. Alternativ kann (wie in den 5 und 6 dargestellt) eine interne Arbitration für den Systembus und einen Speichervorgang für den Leitrechner und das Peripheriegerät verwendet werden. Dies kann zu einem einfacheren Entwurf für die oberer Ebene ohne Verluste führen, da der Datenverkehr vom System zum Speicher für die Leitrechner und die Peripheriegeräte ohnedies asynchron ist und der Punkt des Wettstreits um diese Ressource nur in das Steuerungseinheit-Gerät verlagert ist.With respect to the device core, the SoC carriers can be used for any peripheral device (for example each of these devices have 31 endpoints) connected to a different USB part. That is, a SoC device in the present embodiment does not share a USB part with the host computer, nor would it do so with another internal device (although that is not mandatory). Therefore, the DMA data streams output from a peripheral device controller are asynchronous with those of all other ports. As an advantageous consequence, the peripheral device does not cause raw data traffic in system memory (such as a host with its descriptor accesses). Therefore, there may be a common port for the peripherals controller and the host computer on the USB port, which is determined either at design time or at connection time. Both control units can have their individual connection to the system bus. Alternatively, as in the 5 and 6 shown) an internal arbitration for the system bus and a memory operation for the host computer and the peripheral device are used. This may result in a simpler upper-level design without losses, since the traffic from the system to the memory for the hosts and peripherals is anyway asynchronous and the point of competition for that resource is only relocated to the controller unit.

Eine zusätzliche Synergie kann dadurch erreicht werden, dass die Gerätefunktionalität noch weiter in den Leitrechnerkern hinein verflochten ist. Wie zuvor beschrieben, kann die verbundene Leitrechnersteuerungseinheit einen internen Puffer 560, 615, 635, 655, 675 für einen Übersetzer von Pseudotransaktionen benötigen. Dieser Puffer kann sehr gut in Peripheriegerätemodus als DNA-Puffer verwendet werden, wie schon zuvor beschrieben. Des weiteren kann die Bearbeitung von Datenpaketen auf unterer Ebene geteilt werden, wie z. B. Assemblierung/Disassemblierung und CRC.An additional synergy can be achieved in that the device functionality is further intertwined into the main computer core. As described above, the connected host control unit may have an internal buffer 560 . 615 . 635 . 655 . 675 for a translator of pseudo-transactions. This buffer can be used very well in peripheral device mode as a DNA buffer, as previously described. Furthermore, the processing of data packets can be shared at the lower level, such. Assembly / disassembly and CRC.

Da drei verschiedene Portmodi unterstützt werden (Hochgeschwindigkeitsleitrechner, Leitrechner mit voller/geringer Geschwindigkeit, Peripheriegerät), wird durch deren Verbinden in einem gemeinsamen Portkern auch einiges an Platz für Anwendungen mit weniger als drei Ports gespart (denn dann wäre mindestens eine modusspezifische Steuerungseinheit ungenutzt). Andererseits kann Flexibilität für den Plattformentwurf geschaffen werden, da jeder Port, der auf dem SoC verfügbar ist, jeden Portmodus unterstützen könnte (was einem weiteren Anwendungsbereich für den gleichen Chip gewährleistet).There three different port modes are supported (high speed master, Full / Low Speed Host, Peripheral Device) by connecting them in a common port core also some in place for Saved applications with less than three ports (because then at least one would be mode-specific control unit unused). On the other hand can flexibility for the Platform design to be created since every port on the SoC available is to support any port mode could (which ensures a wider scope for the same chip).

Ungeachtet dessen, welche der oben erwähnten Gerätestrukturen verwendet werden, insbesondere die in den 5 und 6 dargestellten, gibt es mehrere Möglichkeiten, den Leistungsverbrauch zu minimieren. Die Vereinheitlichung und Verkbindung der Steuerungseinheitsfunktionalität des Leitrechners und des Peripheriegerätes an sich minimiert die Gesamtentwurfsgröße und daher auch den Leistungsverbrauch im Vergleich zu einem Bündel von individuellen Steuerungseinheiten. Dese weiteren kann eine grobe Leistungsteuerung mittels Softwaresteuerung eingerichtet und ausgeführt werden, z. B., indem unbenutzte Ports und deren betreffende Steuerungslogik und/oder Statusregister abgeschaltet werden. Zusätzlich kann eine hardwarebezogene feine Leistungssteuerungseinheit eingerichtet werden, die Techniken, wie optimierte Zustandscodierung, automatisierte Taktung, die vom Steuerungseinheitszustand abhängt, etc., verwendet. Des weiteren beachtet man, dass die Wahl des Taktungsbereiches das Bearbeiten der Mehrheit der Entwürfe bei den entsprechenden niedrigster Frequenz gewährleistet (die Portgeschwindigkeit bestimmt die Taktungsbereiche der Peripheriegeräte).Regardless of which of the above-mentioned device structures are used, in particular those in the 5 and 6 There are several ways to minimize power consumption. The standardization and interconnection of the control unit functionality of the host computer and the peripheral per se minimizes the overall design size, and hence power consumption, as compared to a bundle of individual controllers. Dese further, a coarse power control can be set up and executed by software control, for. By disabling unused ports and their respective control logic and / or status registers. In addition, a hardware-related fine power control unit may be set up using techniques such as optimized state coding, automated timing, which depends on the control unit state, etc. It should also be noted that choosing the clocking range will allow editing of the majority of the designs at the corresponding lowest frequency (the port speed determines the timing ranges of the peripherals).

Indem man einige Überlegungen bezüglich der Bandbreite anstellt, kann man annehmen, dass alle Ports in Hochgeschwindigkeitsleitrechnermodus, d. h, alle Ports an denen Hochgeschwindigkeitsperipheriegeräte angeschlossen sind, sich den gleichen logischen USB- Teilabschnitt und folglich auch den gleichen Datenstrom, d. h. einen DMA-Kanal, teilen. Des weiteren wird angenommen, dass jeder Port in Leitrechnermodus mit voller/geringer Geschwindigkeit, d.h. jeder Port an dem ein Peripheriegerät mit voller Geschwindigkeit oder geringer Geschwindigkeit angeschlossen ist, sich innerhalb seines eigenen logischen USB-Teilabschnitts befindet. Des weiteren wird angenommen, dass alle Ports in Leitrechnermodus, ungeachtet der Geschwindigkeit, zur gleichen Steuerungseinheitssoftwareschnittstelle gehören, so dass die Software den Hochgeschwindigkeitsdatenverkehr und den Datenverkehr mit voller/geringer Geschwindigkeit innerhalb der gleichen Steuerprogrammstrukturen, d. h. Deskriptoren, bearbeitet. Außerdem kann man annehmen, dass jeder Port im Peripheriegerätemodus, d. h. jeder Port, an dem ein externer Leitrechner angeschlossen ist, sich innerhalb seines eigenen logischen USB-Teilabschnitts, ungeachtet der Geschwindigkeit, befindet.By doing some considerations in terms of bandwidth, one can assume that all ports are in high-speed host mode, d. h, all ports where high-speed peripherals are connected are the same logical USB subsection and therefore also the same data stream, d. H. a DMA channel, sharing. Furthermore It is assumed that each port in host mode with full / low Speed, i. every port on which a peripheral device is full Speed or low speed is connected, is located within its own logical USB subsection. Furthermore It is assumed that all ports are in host mode, regardless speed, to the same controller software interface belong, so the software can handle the high speed traffic and the Full / low speed traffic within the same Control program structures, d. H. Descriptors, edited. In addition, can assume that each port is in peripheral device mode, i. H. every port, where an external host is connected, within its own USB logical section, regardless of speed, located.

Unter diesen Annahmen ist die durchschnittliche Gesamtbandbreite-zu-Systemspeicher gegeben durch: Bandbreite = HAT + n·FLT + HO + m·DTwobei HT den Leitrechnerdatenverkehr mit hoher Geschwindigkeit bezeichnet, FLT den Leitrechnerdatenverkehr mit voller/geringer Geschwindigkeit bezeichnet, HO den Leitrechnervorlauf bezeichnet und DT den Peripheriegerätedatenverkehr bezeichnet. Diese Größen können wie folgt berechnet werden: HT = 30 MB/s (z. B. Kamera plus Festplatte), FLT: 1.0 MB/s, HO = 1.9 MB/s (descriptor read, status update, moderate NAK rate, i.e., nonacknowledgement rate) und DT = 8 MB/s (1 high speed isochronous end point).Under these assumptions, the average total bandwidth-to-system memory is given by: Bandwidth = HAT + n * FLT + HO + m * DT where HT designates high-speed host data traffic, FLT designates full / low-speed host computer traffic, HO indicates host computer advance, and DT designates peripheral device traffic. These sizes can be calculated as follows: HT = 30 MB / s (eg camera plus HDD), FLT: 1.0 MB / s, HO = 1.9 MB / s (descriptor read, status update, moderate NAK rate, ie, nonacknowledgement rate) and DT = 8 MB / s (1 high speed isochronous end point).

Die fortwährende Spitzenbandbreit kann dann mit einem Wert von ungefähr 60 MB/s errechnet werden, während der Übertragung von maximal einem Hochgeschwindigkeitsdatenpaket von 1 kB (kBytes) auf jeden individuellen USB-Teilabschnitt. Alternativ kann die globale Spitzenbandbreite des Systembusses auf Kosten von größeren lokalen Puffern (1 kB pro Port im Extremfall) eingeschränkt werden.The ongoing Peak bandwidth can then be around 60 MB / s be calculated while the transmission of a maximum of 1 kB (kBytes) of high-speed data packet on each individual USB subsection. Alternatively, the global Peak bandwidth of system bus at the expense of larger local Buffers (1 kB per port in extreme cases).

Ein anderes Problem ist die Systemspeicherlatenz in Verbindung mit der maximalen Signalfolgedauer. Wenn die maximale Signalfolgedauer weniger als 1 kB beträgt, dann werden vielfache Zugänge benötigt, um ein USB-Datenpaket zu/von dem Systemspeicher zu trans portieren. Die dafür angefallene Latenz kann die interne Puffergröße bestimmen. Alternativ kann ein Systembus, der mehrfache ausstehende Anforderungen gewährleistet, verwendet werden.One Another problem is the system memory latency in conjunction with the maximum signal duration. When the maximum signal duration is less than 1 kB, then multiple accesses needed to port a USB data packet to / from the system memory. The one for it incurred latency can determine the internal buffer size. Alternatively, you can a system bus that ensures multiple outstanding requirements be used.

Zum Beispiel, wenn die maximale Signalfolgedauer 64 Bytes und die Latenz 2 Mikrosekunden beträgt kann eine Puffergröße von ungefähr 0.5 kB erforderlich sein, indem man eine Übertragung von 1 kB auf den USB in ungefähr 16 μs und eine Gesamtlatenz von 1 k/64·2 μs = 32 μs annimmt, so dass der Puffer ein Äquivalent von 8 Speicherzugängen in sich birgt. Im Gegensatz dazu kann die Puffergröße auf ungefähr eine Signalfolgedauer von 64 Bytes beschränkt werden, indem man annimmt, dass die eigentliche Übertragung dieser Daten weniger als 1 µs braucht, wenn die mehrfachen ausstehenden Anforderungen am Systembus unterstützt werden. Der Grund dafür ist, dass der USB ungefähr 1 µs benötigten kann, um eine so große Menge Daten zu übertragen und es kann deshalb ausreichen jede Mikrosekunde eine Speicheranforderung auszugeben. Folglich kann es für jeden bestimmten Zeitpunkt zwei Speicheranforderungen (im Flug) geben.To the Example, if the maximum signal duration is 64 bytes and the latency 2 microseconds can be a buffer size of about 0.5 kB be required by sending a 1KB transfer to the USB in about 16 μs and assumes a total latency of 1 k / 64 · 2 μs = 32 μs so the buffer is an equivalent of 8 memory accesses harbors in itself. In contrast, the buffer size can be reduced to about one Signal duration of 64 bytes by assuming that the actual transmission this data is less than 1 μs needs, if the multiple outstanding requirements on the system bus supports become. The reason for this is that the USB is about 1 μs may be needed such a big one Amount of data to transfer and therefore, every microsecond may be enough for a memory request issue. Consequently, it may be for two storage requirements at any given time (in flight) give.

In jeder der oben angeführten Ausführungen können die von der OTG-Spezifizierung für SRP benötigten Komparatoren nicht in einem Periperhiegeräteentwurf enthalten sein, sondern können einzelne Anschlusszellen darstellen.In each of the above versions can that of the OTG specification for Needed SRP Comparators are not included in a Periperhiegeräteentwurf, but can represent individual connection cells.

Bezogen auf die oben beschriebenen Ausführungsformen kann sich auch die Softwareschnittstelle von konventionellen Steuerungseinheiten unterscheiden. Der Grund dafür ist, dass die ganze Funktionalität in einer Steuerungseinheit zusammengefasst ist, was durch ein typisches Speicherabbild wiedergespiegelt werden kann. Für das SoC kann des weiteren die Altfunktionalität abgesenkt werden, z.B., mag es keinen Bedarf für PCI-Konfigurationsregister oder Tastaturemulation geben. Die Ausführungsformen können des weiteren die Schwierigkeiten früherer Schnittstellen überwinden, indem zum Beispiel hardware/softwarebezogene Wettlaufbedingungen verhindert werden, wie sie für das EHCI auftreten können. Außerdem kann das Disponieren von Datenstrukturen bezüglich dem Wirkungsgrad und bezüglich der kleinen Speicheranschlussflächen optimiert werden. Die Registerordner und Datenstrukturen können an die Randbedingungen des SoC-Systembusses angepasst werden, z. B. im Hinblick auf die Speicherleitungsgrenzen. Außerdem kann der Gebrauch von Systemressourcen (z. B. Interrupt-Quellen und Frequenz) ausgeglichen werden.Based to the embodiments described above can also be the software interface of conventional control units differ. The reason for this is that all the functionality is summarized in a control unit, what by a typical Memory image can be reflected. For the SoC can further the old functionality For example, there may be no need for PCI configuration registers or keyboard emulation give. The embodiments can furthermore overcome the difficulties of earlier interfaces, by, for example, hardware / software-related race conditions be prevented as they are for the EHCI can occur. Furthermore can be the scheduling of data structures in terms of efficiency and in terms of the small storage pads be optimized. The register folders and data structures can the boundary conditions of the SoC system bus are adapted, eg B. with regard to the storage line boundaries. In addition, the use of system resources (eg interrupt sources and frequency).

Es gibt noch weitere Gründe für Veränderungen in der Softwareschnittstelle: z. B. kann das Interface an andere Architekturen angeschlossen werden, was Veränderungen in der Adressenbreite mit sich bringen kann. Diese anderen Architekturen gewährleisten flexiblere Bemessungen der Speicherseiten. Das kann die Reduzierung der Anzahl der physikalischen Seitenanzeiger in den Deskriptoren und somit auch die Reduzierung der Vorlaufsbandbreite ermöglichen.It There are other reasons for change in the software interface: z. B. the interface to others Architectures are connected, causing changes in the address width can bring with it. These other architectures ensure more flexible dimensioning of the memory pages. That can be the reduction the number of physical page indicators in the descriptors and thus also allow the reduction of the feed-forward bandwidth.

Darauf basierend können die Ausführungsformen eine neue Softwareschnittstelle verwenden, das des weiteren dazu führen kann, dass auch eine neue Treibersoftware, operierend auf unterem Niveau, entwickelt wird.Thereon based the embodiments use a new software interface that further to lead can that also be a new driver software, operating on lower Level, is developed.

Wie zuvor erwähnt, können Architekturen, deren physikalische Seiten größer als die üblichen 4 kB sind, vorteilhafterweise angewandt werden, um Systemspeicher und Bandbreite auf dem Systembus zu sparen. Die Deskriptorengrößen, die für die Leitrechnerschnittstelle verwendet werden, können auf natürlichem Wege und über die Datenladungen ihres betreffenden Datenverkehrs bestimmt werden.As previously mentioned, can Architectures whose physical sides are larger than the usual ones 4 KB are advantageously applied to system memory and to save bandwidth on the system bus. The descriptor sizes that for the Host interface can be used in a natural way and over the data charges of their respective traffic are determined.

Für einen isochronen USB 2.0 Datenverkehr kann sich ein Peripheriegerät mit hoher Bandbreite bis zu 3 kB pro USB Mikrorahmen(125 µs) hinauf bewegen. Die Software muss dann in der Lage sein, zwischen den in jeder der Mikrorahmen bewegten Daten zu unterscheiden. Um die Notwendigkeit der Softwareaktualisierung in den Steuerprogrammstrukturen zu minimieren, kann es nützlich sein, eine Beschreibung des Datenverkehrs für acht aufeinanderfolgende Mikrorahmen zu sammeln, d.h., ein Rahmen von 1 ms in einen Deskriptor, was den zusätzlichen Vorteil haben kann, die gleiche Zeit zu umfassen, wie sie üblicherweise für einen USB 1.1 Datenverkehr verwendet wird. Folglich kann ein EHC-Deskriptor für isochronen Datenverkehr aus 8 Längen/Offset und Zähler auf 7 Seiten bestehen um die notwendigen 24 kB mit beliebigen Abstand innerhalb eines 28 kB-Fensters zu bilden. Unter Verwendung einer Seitengröße von 16 kB, wie sie von der MIPS-Architektur bereitgestellt wird, würde eine Größenreduzierung des Deskriptors um 5 dwords (Doppelwörter) ermöglicht, und somit der Vorlaufsdatenverkehr auf ca. 30% herabgesetzt, da nun zwei Seitenzähler ein 32 kB-Fenster bereitstellen, um dort das Maximum von 24 kB Datenverkehr zu platzieren.For isochronous USB 2.0 traffic, a high bandwidth peripheral device can move up to 3 kB per USB micro-frame (125 μs). The software then needs to be able to switch between to distinguish the data moved in each of the micro-frames. To minimize the need for software update in the control program structures, it may be useful to collect a description of the traffic for eight consecutive micro-frames, ie, a 1 ms frame into a descriptor, which may have the added benefit of covering the same time as it is commonly used for USB 1.1 traffic. Thus, an EHC descriptor for isochronous traffic may consist of 8 lengths / offset and 7-page counters to form the necessary 24 kBs with arbitrary spacing within a 28 kB window. Using a page size of 16KB, as provided by the MIPS architecture, would allow the descriptor to be reduced in size by 5 dwords (double words), thus reducing the forward traffic to about 30% since two page counters now have a 32KB Provide window to place the maximum of 24 kB traffic there.

Ein ähnliches Bild ergibt sich für den eigentlichen Hauptdatenverkehr und Steuerungsdatenverkehr. Der EHC-Deskriptor kann 5 Seitenzähler verwenden, um einen Platz von 16 kB bereitzustellen, das in einem 20 kB-Fenster platziert ist. Die eigentlichen Größen können mehr oder weniger beliebig sein und so gewählt, um die Softwareaktualisierungsrate mit der Deskriptorengröße auszugleichen. Es soll bemerkt werden, dass die Vorlaufsbandbreite fast ausschließlich durch die Tatsache bestimmt wird, dass für jede USB-Übertragung einer dieser Deskriptoren gelesen und aktualisiert wird, und nicht durch die Tatsache, dass nach maximal 20 kB ein neuer Deskriptor gelesen werden muss.A similar Picture emerges for the actual main traffic and control traffic. Of the EHC descriptor can be 5 page counters use to provide a space of 16 kb that is in a 20 kB window is placed. The actual sizes can be more or less arbitrary be and so chosen to to balance the software update rate with the descriptor size. It should be noted that the lead bandwidth is almost exclusively due to the fact that for each USB transmission one of these descriptors is determined read and updated, and not by the fact that after a maximum of 20 kB a new descriptor must be read.

Tatsächlich kann das die Rate, mit der ein Deskriptorspeicher aktualisiert werden muss, beeinflussen. Auf Grund der Entscheidung, den Hauptdatenverkehr und den Steuerungsdatenverkehr in der selben Steuerprogrammsschlange für den EHC zu halten, ist ein Speicher jedoch bei weitem nicht so nützlich wie er sein könnte, da er erheblich oft geleert werden muss, um nicht neu verbundene Steuerungsdeskriptoren auszulassen. Im Gegensatz dazu kann die OHC-Softwareschnittstelle in dieser Hinsicht besser geeignet sein, da sie nicht nur Haupt- und Steuerungsdispositionslisten einzeln hält, sondern auch einen Weg für die Software bereitstellt, die Steuerungseinheit zu verständigen, dass neue Deskriptoren hinzugefügt wurden, wodurch die Steuerungseinheit vom durchforsten der inaktiven Deskriptoren befreit wird.In fact, can the rate at which a descriptor store is updated must, influence. Due to the decision, the main traffic and the control traffic in the same control program queue for the However, keeping a memory EHC is not nearly as useful as a memory he could be since it has to be emptied considerably, in order not to be newly connected Omit control descriptors. In contrast, the OHC software interface be better suited in this respect as they not only and control disposition lists individually, but also a way for the Software provides to notify the control unit that added new descriptors which causes the controller to crawl through the inactive ones Descriptors is released.

In einer Ausführungsform kann der Hauptdaten-Deskriptor auf eine Seite mit einer Länge von 16 kB beschränkt sein. Entweder ist die Software im Stande einen Startoffset von 0 zu gewährleisten oder die Aktualisierungsrate dieser neuen Deskriptoren ist etwas größer. Das kann jedoch mehr sein als durch die Minimierung von mindestens 25% (eine Reduzierung von drei Doppelwörtern, die Doppelwortbreite des Vierseitenzählers trägt andere Informationen, die nicht unbedingt in den Rest des Deskriptors passen) ausgeglichen werden kann.In an embodiment The main data descriptor may be on a page with a length of 16 kB limited be. Either the software is capable of a startoffset of 0 to ensure or the refresh rate of these new descriptors is something greater. The but can be more than minimizing at least 25% (a reduction of three double words, the double word width of the four-page counter carries others Information that does not necessarily fit in the rest of the descriptor) can be compensated.

Mit Bezug auf die oben erwähnten vielen Ausführungsformen kann ein Entwurf für eine integrierte OTG-Steuerungseinheit mit Doppelrolle fast von Anfang an eingerichtet werden, indem nur untergeordnete Module existierender Datenblocks wiederverwendet werden. Das kann vorteilhafterweise integrierte, zugeschnittene, altlastfreie Lösungen für eingebettete SoC-Anwendungen gewährleisten. Ein weiterer Vorteil kann sein, dass es eine einzelne Bussystemschnittstelle geben kann. Des weiteren können die Chipgröße, der Leistungsverbrauch, die Systemressourcen wie Buszugänge oder Interrupts, reduziert werden. Zu sätzlich können die Ausführungsformen die beste Übereinstimmung zu den (internen) Peripheriegeräten als auch die beste Übereinstimmung zu der Treibersoftware, operierend auf unterer Ebene, liefem.With Reference to the above many embodiments can be a design for an integrated OTG control unit with dual role almost of Beginning to be established by existing only subordinate modules Data blocks are reused. That can be advantageous integrated, tailored, legacy-free solutions for embedded SoC applications guarantee. Another advantage may be that it is a single bus system interface can give. Furthermore, you can the chip size, the Power consumption, the system resources such as bus access or Interrupts, be reduced. Addition to the embodiments the best match to the (internal) peripherals as well as the best match to the driver software operating at lower level.

Obwohl die Erfindung mit Bezug auf die physikalischen Ausführungsformen, die in Übereinstimmung damit aufgebaut sind, beschrieben ist, so erkennt der Fachmann, dass verschiedene Modifikationen, Variationen und Verbesserungen der vorliegenden Erfindung im Lichte der oben angeführten Lehren und im Bereich der angefügten Patentansprüche durchgeführt werden können, ohne von dem Grundgedanken und beabsichtigten Schutzbereich der Erfindung abzuweichen. Zusätzlich sind jene Bereiche, von denen angenommen wird, dass sie dem Fachmann bekannt sind, hierin nicht weiter beschrieben, um die Erfindung nicht unnötigerweise zu verdunkeln. Dem gemäß ist die Erfindung als nicht durch die bestimmten anschaulichen Ausführungsformen eingeschränkt zu sehen, sondern lediglich durch den Schutzbereich der angefügten Patentansprüche definiert.Even though the invention with reference to the physical embodiments, in accordance with it are constructed, the expert recognizes that different Modifications, variations and improvements of the present Invention in the light of the above teachings and in the field of appended claims carried out can be without departing from the basic idea and intended scope of the Deviate from the invention. additionally are those areas that are believed to be the skilled person are not further described herein to the invention not unnecessarily too darken. Accordingly, the Invention as not by the specific illustrative embodiments limited but merely defined by the scope of the appended claims.

Claims (60)

Eine USB (universeller-serieller Bus) OTG (On-The-Go) Steuerungseinheit mit: einer ersten Port Handler Einheit (550), die so aufgebaut ist, um eine USB OTG Funktionalität an einem ersten Port bereitzustellen; und einer zweiten Port Handler Einheit (550), die so aufgebaut ist, um eine USB OTG Funktionalität an einem zweiten Port bereitzustellen, wobei jede der ersten und zweiten Port Handler Einheit so aufgebaut ist, um wahlweise Leitrechner- und Peripheriegerätefunktionalität am entsprechenden ersten oder zweiten Port zu unterstützen.A USB (Universal Serial Bus) OTG (On-The-Go) control unit with: a first port handler unit ( 550 ) configured to provide USB OTG functionality at a first port; and a second port handler unit ( 550 ), which is built around a USB OTG functionality on a two Each port of the first and second port handler unit is configured to selectively support host and peripheral functionality at the corresponding first or second port. Die Steuerungseinheit nach Anspruch 1, wobei die Leitrechnerfunktionalität eine USB 1.1 verträgliche Leitrechnerfunktionalität mit voller Geschwindigkeit und/oder geringer Geschwindigkeit und eine USB 2.0 verträgliche Leitrechnerfunktionalität mit hoher Geschwindigkeit umfasst.The control unit of claim 1, wherein the Leitrechnerfunktionalität a USB 1.1 compliant host functionality with full Speed and / or low speed and a USB 2.0 compatible Leitrechnerfunktionalität at high speed. Die Steuerungseinheit nach Anspruch 1, wobei eine der ersten und zweiten Port Handler Einheiten so aufgebaut ist, um als Master betrieben zu werden, während die andere der ersten und zweiten Port Handler Einheiten so aufgebaut ist, um als Slave betrieben zu werden, wenn die erste und zweite Port Handler Einheit wahlweise so konfiguriert sind, dass sie die gleiche Leitrechnerfunktionalität unterstützen.The control unit of claim 1, wherein a the first and second port handler units is constructed so to be operated as a master while the other of the first and second port handler units is constructed to act as a slave to be operated when the first and second port handler unit optional are configured to support the same host functionality. Die Steuerungseinheit nach Anspruch 3, wobei die Master Port Handler Einheit so aufgebaut ist, um Datenpakte zu erzeugen und die Slave Port Handler Einheit so aufgebaut ist, um die Datenpakete, die vom Master Port Handler erstellt wurden, zu kopieren.The control unit of claim 3, wherein the Master Port Handler unit is constructed to generate data packets and the slave port handler unit is constructed to handle the data packets, which were created by the master port handler. Die Steuerungseinheit nach Anspruch 1, wobei die erste Port Handler Einheit und die zweite Port Handler Einheit im Wesentlichen die gleiche Hardwarestruktur aufweisen.The control unit of claim 1, wherein the first port handler unit and the second port handler unit in the Essentially have the same hardware structure. Die Steuerungseinheit nach Anspruch 1, wobei jede der ersten und zweiten Port Handler Einheiten umfasst:: ein Modul operierend auf niedriger Protokollebene (565, 620, 640, 660, 680), das so ausgebildet ist, um Assemblierung und/oder Disassemblierung von Datenpaketen zu bewältigen; ein Übertragungspuffermodul (560, 615, 635, 655, 675), das so ausgebildet ist, um eingehende oder ausgehende Daten zu puffern, um Systemspeicherlatenzen zu mitteln; und ein Speicherzugangsmodul (555, 610, 630, 650, 670) der so ausgebildet ist, um Speicheranforderungen gemäß der USB-Leitrechner- und/oder Peripheriegerätefunktionalität zu bilden.The control unit of claim 1, wherein each of the first and second port handler units comprises: a low protocol level module ( 565 . 620 . 640 . 660 . 680 ) adapted to handle assembly and / or disassembly of data packets; a transmission buffer module ( 560 . 615 . 635 . 655 . 675 ) configured to buffer incoming or outgoing data to average system memory latencies; and a memory access module ( 555 . 610 . 630 . 650 . 670 ) configured to provide memory requirements in accordance with the USB host and / or peripheral functionality. Die Steuerungseinheit nach Anspruch 6, wobei das Modul operierend auf niedriger Protokollebene weiter ausgebildet ist, um eine CRC (Cyclic Redundancy Check) Bildung und/oder Überprüfung auszuführen.The control unit of claim 6, wherein the Module further developed at low protocol level is to perform a CRC (Cyclic Redundancy Check) formation and / or verification. Die Steuerungseinheit nach Anspruch 6, wobei das Übertragungspuffermodul ein FIFO (First In First Out) Übertragungspuffermodul ist.The control unit of claim 6, wherein the transmission buffer module a FIFO (First In First Out) transmission buffer module is. Die Steuerungseinheit nach Anspruch 6, wobei das Übertragungspuffermodul weiter ausgebildet ist, um eine Taktungsübertragung zwischen dem Kerntaktungsbereich und dem Peripheriegerättaktungsbereich auszuführen.The control unit of claim 6, wherein the transmission buffer module is further adapted to a clock transmission between the core clock area and the peripheral device clock area perform. Die Steuerungseinheit nach Anspruch 6, wobei das Speicherzugangsmodul ein DMA (Direkt Memory Access) Speicherzugangsmodul ist.The control unit of claim 6, wherein the Memory access module a DMA (Direct Memory Access) memory access module is. Die Steuerungseinheit nach Anspruch 6, wobei das Speicherzugangsmodul weiter ausgebildet ist, um Beschränkungen im Systembus durchzuführen.The control unit of claim 6, wherein the Memory access module is further adapted to restrictions in the system bus. Die Steuerungseinheit nach Anspruch 1, die so ausgebildet ist, um den Datenverkehr bei einer vorbestimmten Anzahl von Ports zu steuern, und das eine vorbestimmte Anzahl von Port Handler Einheiten einschließlich der ersten und der zweiten Port Handler Einheit umfasst, wobei die vorbestimmte Anzahl von Ports gleich der vorbestimmten Anzahl von Port Handler Einheiten ist.The control unit according to claim 1, which is so formed is to traffic at a predetermined number of ports and a predetermined number of port handler units including the first and the second port handler unit comprises, the predetermined number of ports equal to the predetermined number of Port handler units is. Die Steuerungseinheit nach Anspruch 12, wobei die vorbestimmte Anzahl der Ports und die vorbestimmte Anzahl von Port Handler Einheiten drei Stück umfassen.The control unit of claim 12, wherein the predetermined number of ports and the predetermined number of ports Handler units three pieces include. Einen integrieren Schaltungschip, der ein Schaltschema umfasst, das so ausgebildet ist, um den Datentransfer zu und/oder von mindestens einem Peripheriegerät, das wahlweise Leitrechner- oder Peripheriegerätefunktionalität aufweist und an einen seriellen Bus angeschlossen ist, zu steuern, wobei das Schaltschema umfasst: eine erste Port Handler Einheit (550), die so gebaut ist, um die Datenübertragung zu und/oder von einem Peripheriegerät, das an einen ersten Port des integrierten Schaltungschips angeschlossen ist, zu steuern; und eine zweite Port Handler Einheit (550), die so gebaut ist, um die Datenübertragung zu und/oder von einem Peripheriegerät, das an einen zweiten Port des integrierten Schaltungschips angeschlossen ist, zu steuern, wobei jede der ersten und zweiten Port Handler Schaltungen so gebaut ist, um wahlweise Leitrechner- und Peripheriegerätefunktionalität am entsprechenden ersten und zweiten Port zu unterstützen.An integrated circuit chip comprising a circuit diagram adapted to control data transfer to and / or from at least one peripheral device having optional host or peripheral functionality connected to a serial bus, the circuit diagram comprising: a first port handler unit ( 550 ) configured to control data transmission to and / or from a peripheral device connected to a first port of the integrated circuit chip; and a second port handler unit ( 550 ) built to transfer data to and / or from a pe control peripheral device connected to a second port of the integrated circuit chip, each of the first and second port handler circuits being constructed to selectively support host and peripheral functionality at the respective first and second ports. Eine USB (universeller serieller Bus) OTG (On-The-Go) Steuerungseinheit mit: einer ersten Port Handler Einheit (550, 605, 625, 645, 665), die so ausgebildet ist, um eine USB-Leitrechnerfunktionalität zu einem ersten OTG-fähigen Gerät, das an einem ersten Port der Steuerungseinheit angeschlossen ist, zu bilden; und einer zweiten Port Handler Einheit (550, 605, 625, 645, 665), der so ausgebildet ist, um eine USB-Peripheriegerätefunktionalität zu einem zweiten OTG-fähigen Gerät, das an einem zweiten Port der Steuerungseinheit angeschlossen ist, zu bilden, wobei die erste Port Handler Einheit und die zweite Port Handler Einheit im Wesentlichen die selbe Hardwarestruktur aufweisen.A USB (Universal Serial Bus) OTG (On-The-Go) control unit with: a first port handler unit ( 550 . 605 . 625 . 645 . 665 ) adapted to form a USB host functionality to a first OTG enabled device connected to a first port of the controller; and a second port handler unit ( 550 . 605 . 625 . 645 . 665 ) configured to form a USB peripheral device functionality to a second OTG enabled device connected to a second port of the control unit, wherein the first port handler unit and the second port handler unit have substantially the same hardware structure exhibit. Die Steuerungseinheit nach Anspruch 15, wobei die erste Port Handler Einheit geeignet ist so gebaut zu werden, um USB-Peripheriegerätefunktionalität zu unterstützen und die zweite Port Handler Einheit geeignet ist, so gebaut zu werden, um USB-Leitrechnerfunktionalität zu unterstützen.The control unit of claim 15, wherein the first port handler unit is suitable to be built in order Support USB peripheral device functionality and the second port handler unit is suitable to be built so to support USB host functionality. Die Steuerungseinheit nach Anspruch 15, wobei die Leitrechnerfunktionalität eine USB 1.1 verträgliche Leitrechnerfunktionalität mit voller Geschwindigkeit und/oder geringer Geschwindigkeit und eine USB 2.0 verträgliche Leitrechnerfunktionalität mit hoher Geschwindigkeit umfasst.The control unit of claim 15, wherein the Leitrechnerfunktionalität a USB 1.1 compliant host functionality with full Speed and / or low speed and a USB 2.0 compatible Leitrechnerfunktionalität at high speed. Die Steuerungseinheit nach Anspruch 15, des weiteren umfassend: eine dritte Port Handler Einheit (550, 605, 625), die so gebaut ist, um eine USB-Leitrechnerfunktionalität zu einem dritten OTG-fähigen Gerät, das an einem dritten Port der Steuerungseinheit angeschlossen ist, zu bilden, wobei eine der ersten und dritten Port Handler Einheiten so gebaut ist, um als Master betrieben zu werden, während die andere der ersten und dritten Port Handler Einheiten so aufgebaut ist, um als Slave betrieben zu werden, wenn die erste und dritte Port Handler Einheit wahlweise so konfiguriert sind, dass sie die gleiche Leitrechnerfunktionalität unterstützen.The control unit of claim 15, further comprising: a third port handler unit ( 550 . 605 . 625 ) configured to form a USB host functionality to a third OTG enabled device connected to a third port of the controller, wherein one of the first and third port handler units is constructed to operate as a master while the other of the first and third port handler units is configured to operate as a slave when the first and third port handler units are selectively configured to support the same host functionality. Die Steuerungseinheit nach Anspruch 18, wobei die Master Port Handler Einheit so aufgebaut ist, um Datenpakte zu erzeugen und die Slave Port Handler Einheit so aufgebaut ist, um die Datenpakete, die vom Master Port Handler erstellt wurden, zu kopieren.The control unit of claim 18, wherein the Master Port Handler unit is constructed to generate data packets and the slave port handler unit is constructed to handle the data packets, which were created by the master port handler. Die Steuerungseinheit nach Anspruch 15, wobei jede der ersten und zweiten Port Handler Einheiten umfasst:: ein Modul operierend auf niedriger Protokollebene (565, 620, 640, 660, 680), das so ausgebildet ist, um Assemblierung und/oder Disassemblierung von Datenpaketen zu bewältigen; ein Übertragungspuffermodul (560, 615, 635, 655, 675), das so ausgebildet ist, um eingehende oder ausgehende Daten zu puffern, um Systemspeicherlatenzen zu mitteln; und ein Speicherzugangsmodul (555, 610, 630, 650, 670) der so ausgebildet ist, um Speicheranforderungen gemäß der USB-Leitrechner- und/oder Peripheriegerätefunktionalität zu bilden.The control unit of claim 15, wherein each of the first and second port handler units comprises: a low protocol level module ( 565 . 620 . 640 . 660 . 680 ) adapted to handle assembly and / or disassembly of data packets; a transmission buffer module ( 560 . 615 . 635 . 655 . 675 ) configured to buffer incoming or outgoing data to average system memory latencies; and a memory access module ( 555 . 610 . 630 . 650 . 670 ) configured to provide memory requirements in accordance with the USB host and / or peripheral functionality. Die Steuerungseinheit nach Anspruch 20, wobei das Modul operierend auf niedriger Protokollebene weiter ausgebildet ist, um eine CRC (Cyclic Redundancy Check) Bildung und/oder Überprüfung auszuführen.The control unit of claim 20, wherein the Module further developed at low protocol level is to perform a CRC (Cyclic Redundancy Check) formation and / or verification. Die Steuerungseinheit nach Anspruch 20, wobei das Übertragungspuffermodul ein FIFO (First In First Out) Übertragungspuffermodul ist.The control unit of claim 20, wherein the transmission buffer module a FIFO (First In First Out) transmission buffer module is. Die Steuerungseinheit nach Anspruch 20, wobei das Übertragungspuffermodul weiter ausgebildet ist, um eine Taktungsübertragung zwischen dem Kerntaktungsbereich und dem Peripheriegerättaktungsbereich auszuführen.The control unit of claim 20, wherein the transmission buffer module is further adapted to a clock transmission between the core clock area and the peripheral device clocking area. Die Steuerungseinheit nach Anspruch 20, wobei die Puffergröße des Übertragungspuffermoduls der ersten Port Handler Einheit unterschiedlich der Puffergröße des Übertragungspuffermoduls der zweiten Port Handler Einheit ist.The control unit of claim 20, wherein the Buffer size of the transfer buffer module The first port handler unit is different from the buffer size of the transmit buffer module the second port handler unit is. Die Steuerungseinheit nach Anspruch 20, wobei das Speicherzugangsmodul ein DMA (Direct Memory Access) Speicherzugangsmodul ist.The control unit of claim 20, wherein the Memory access module a DMA (Direct Memory Access) memory access module is. Die Steuerungseinheit nach Anspruch 20, wobei das Speicherzugangsmodul weiter ausgebildet ist, um Beschränkungen im Systembus durchzuführen.The control unit of claim 20, wherein the memory access module is further configured to Restrictions in the system bus. Die Steuerungseinheit nach Anspruch 15, die so ausgebildet ist, um den Datenverkehr bei einer vorbestimmten Anzahl von Ports zu steuern, und das eine vorbestimmte Anzahl von Port Handler Einheiten einschließlich der ersten und der zweiten Port Handler Einheit umfasst, wobei die vorbestimmte Anzahl von Ports gleich der vorbestimmten Anzahl von Port Handler Einheiten ist.The control unit according to claim 15, which is so formed is to traffic at a predetermined number of ports and a predetermined number of port handler units including the first and the second port handler unit comprises, the predetermined number of ports equal to the predetermined number of Port handler units is. Die Steuerungseinheit nach Anspruch 27, wobei die vorbestimmte Anzahl der Ports und die vorbestimmte Anzahl von Port Handler Einheiten drei Stück umfassen.The control unit of claim 27, wherein the predetermined number of ports and the predetermined number of ports Handler units three pieces include. Die Steuerungseinheit nach Anspruch 15, die so ausgebildet ist, um den Datenverkehr bei einer vorbestimmten Anzahl von Ports zu steuern, und das eine vorbestimmte Anzahl von Port Handler Einheiten einschließlich der ersten und der zweiten Port Handler Einheit umfasst, wobei die vorbestimmte Anzahl von Ports größer als die vorbestimmte Anzahl der Port Handler Einheiten ist.The control unit according to claim 15, which is so formed is to traffic at a predetermined number of ports and a predetermined number of port handler units including the first and the second port handler unit comprises, the predetermined number of ports greater than is the predetermined number of port handler units. Die Steuerungseinheit nach Anspruch 29, wobei die vorbestimmte Anzahl der Port Handler Einheiten mehr als drei Stück umfasst.The control unit of claim 29, wherein the predetermined number of port handler units comprises more than three pieces. Das Steuerungseinheit nach Anspruch 15, wobei die erste Port Handler Einheit in ihrer Funktionalität auf entweder USB 1.1 verträgliche Leitrechnerfunktionalität mit voller Geschwindigkeit und/oder geringer Geschwindigkeit und eine USB 2.0 verträgliche Leitrechnerfunktionalität mit hoher Geschwindigkeit beschränkt ist.The control unit of claim 15, wherein the first Port Handler unit in its functionality on either USB 1.1 compliant host functionality with full Speed and / or low speed and a USB 2.0 compatible Leitrechnerfunktionalität is limited to high speed. Die Steuerungseinheit nach Anspruch 15, weiter umfassend: eine dritte Port Handler Einheit (550, 605, 625), die so gebaut ist, um eine USB-Leitrechnerfunktionalität zu einem dritten OTG-fähigen Gerät, das an einem dritten Port der Steuerungseinheit angeschlossen ist, zu bilden, wobei die USB-Leitrechnerfunktionalität, die von der ersten Port Handler Einheit bereitgestellt wird, eine USB 1.1 verträgliche Leitrechnerfunktionalität mit voller Geschwindigkeit und/oder geringer Geschwindigkeit ist und die USB-Leitrechnerfunktionalität, die von der dritten Port Handler Einheit bereitgestellt wird, eine USB 2.0 verträgliche Leitrechnerfunktionalität mit hoher Geschwindigkeit ist.The control unit of claim 15, further comprising: a third port handler unit ( 550 . 605 . 625 ) configured to form a USB host functionality to a third OTG enabled device connected to a third port of the controller, the USB host functionality provided by the first port handler unit USB 1.1 compatible full-speed and / or low-speed host functionality, and the USB host functionality provided by the third port handler unit is high-speed USB 2.0 compliant host functionality. Die Steuerungseinheit nach Anspruch 32, wobei jeder der ersten und dritten Port Handler Einheiten ein Übertragungspuffermodul (650, 615, 635, 655, 675) umfasst, das so ausgebildet ist, um die eingehenden und ausgehenden Daten zu puffern, um Systemspeicherlatenzen zu mitteln, wobei die Puffergröße des Übertragungspuffermoduls der ersten Port Handler Einheit unterschiedlich der Puffergröße des Übertragungspuffermoduls der dritten Port Handle Einheit ist.The control unit of claim 32, wherein each of the first and third port handler units comprises a transmission buffer module (16). 650 . 615 . 635 . 655 . 675 ) configured to buffer the incoming and outgoing data to average system memory latencies, wherein the buffer size of the transmission buffer module of the first port handler unit is different than the buffer size of the transmission buffer module of the third port handle unit. Die Steuerungseinheit nach Anspruch 15, weiter umfassend: einen Port Router (685), der so ausgebildet ist, um die ersten und zweiten Ports den ersten und zweiten Port Handler Einheiten zuzuordnen.The control unit of claim 15, further comprising: a port router ( 685 ) configured to associate the first and second ports with the first and second port handler units. Die Steuerungseinheit nach Anspruch 15, weiter umfassend: eine Busarbitrationseinheit (525), die so ausgebildet ist, um Busmasterzugänge von der ersten Port Handler Einheit aber nicht von der zweiten Port Handler Einheit zum Systembus zu vermitteln.The control unit of claim 15, further comprising: a bus arbitration unit ( 525 ) designed to provide bus master access from the first port handler unit but not from the second port handler unit to the system bus. Die Steuerungseinheit nach Anspruch 15, weiter umfassend: eine Busarbitrationseinheit (525), die so ausgebildet ist, um Busmasterzugänge von der ersten Port Handler Einheit und von der zweiten Port Handler Einheit zum Systembus zu vermitteln.The control unit of claim 15, further comprising: a bus arbitration unit ( 525 ) configured to communicate bus master accesses from the first port handler unit and from the second port handler unit to the system bus. Ein integrierter Schaltungschip, der ein Schaltschema umfasst, das so ausgebildet ist, um die Datenübertragung zu und/oder von mindestens einem Peripheriegerät, das wahlweise Peripheriegeräte- oder Leitrechnerfunktionalität aufweist und an einen Serienbus angeschlossen ist, zusteuern, wobei das Schaltschema umfasst: eine erste Port Handler Schaltung (550, 605, 625, 645, 665), die so ausgebildet ist, um Leitrechnersteuerungsfunktionalität zu einem ersten Peripheriegerät, das an einen ersten Port des integrierten Schaltungschips angeschlossen ist, zu bilden; und eine zweite Port Handler Schaltung (550, 605, 625, 645, 665), die so ausgebildet ist, um beschränkte Leitrechnersteuerungsfunktionalität zu einem zweiten Peripheriegerät, das an einen zweiten Port des integrierten Schaltungschips angeschlossen ist, zu bilden, wobei die erste Port Handler Schaltung und die zweite Port Handler Schaltung im Wesentlichen die gleiche Hardwarestruktur aufweisen.An integrated circuit chip comprising a circuit diagram adapted to control data transfer to and / or from at least one peripheral device having optional peripheral or host functionality connected to a serial bus, the circuit scheme comprising: a first port Handler circuit ( 550 . 605 . 625 . 645 . 665 ) adapted to form host control functionality to a first peripheral device connected to a first port of the integrated circuit chip; and a second port handler circuit ( 550 . 605 . 625 . 645 . 665 ) configured to provide limited host control functionality to a second peripheral device connected to a second port of the integrated circuit chip, the first port handler circuit and the second port Handler circuit essentially have the same hardware structure. Ein USB (Universial Serial Bus) OTG (On-The-Go) Steuerungseinheit mit Doppelrolle umfassend: mindestens eine Port Handler Einheit (550, 605, 625, 645, 665), die so ausgebildet ist, eine USB-Leitrechner- und/oder Peripheriegerätefunktionalität an einem Port bereitzustellen, an die ein OTG-fähiges Gerät angeschlossen ist, wobei die mindestens eine Port Handler Einheit umfasst: ein Modul operierend auf niedriger Protokollebene (565, 620, 640, 660, 680), das so ausgebildet ist, um Assemblierung und/oder Disassemblierung von Datenpaketen zu bewältigen; ein Übertragungspuffermodul (560, 615, 635, 655, 675), das so ausgebildet ist, um eingehende oder ausgehende Daten zu puffern, um Systemspeicherlatenzen zu mitteln; und ein Speicherzugangsmodul (555, 610, 630, 650, 670) der so ausgebildet ist, um Speicheranforderungen gemäß der USB-Leitrechner- und/oder Peripheriegerätefunktionalität zu bilden.A USB (Universial Serial Bus) OTG (on-the-go) double role control unit comprising: at least one port handler unit ( 550 . 605 . 625 . 645 . 665 ) configured to provide USB host and / or peripheral functionality at a port to which an OTG-enabled device is attached, the at least one port handler unit comprising: a low-protocol-level module ( 565 . 620 . 640 . 660 . 680 ) adapted to handle assembly and / or disassembly of data packets; a transmission buffer module ( 560 . 615 . 635 . 655 . 675 ) configured to buffer incoming or outgoing data to average system memory latencies; and a memory access module ( 555 . 610 . 630 . 650 . 670 ) configured to provide memory requirements in accordance with the USB host and / or peripheral functionality. Die Steuerungseinheit nach Anspruch 38, wobei mindestens eine Port Handler Einheit so gebaut ist, um wahlweise Leitrechner und Peripheriegerätefunktionalität am Port zu unterstützen.The control unit of claim 38, wherein at least A port handler unit is built to host computers and peripherals functionality on the port to support. Die Steuerungseinheit nach Anspruch 38, wobei die mindestens eine Port Handler Einheit eine erste Port Handler Einheit umfasst, die geeignet ist, so gebaut zu werden, um USB Peripheriegerätefunktionalität zu unterstützen und eine zweite Port Handler Einheit umfasst, die geeignet ist, so gebaut zu werden, um USB-Leitrechnerfunktionalität zu unterstützen.The control unit of claim 38, wherein the At least one port handler unit has a first port handler unit which is designed to be built to support USB peripheral device functionality and includes a second port handler unit that is suitable, so built to support USB host functionality. Die Steuerungseinheit nach Anspruch 40, wobei die USB Leitrechnerfunktionalität eine USB 1.1 verträgliche Leitrechnerfunktionalität mit voller Geschwindigkeit und/oder geringer Geschwindigkeit und eine USB 2.0 verträgliche Leitrechnerfunktionalität mit hoher Geschwindigkeit umfasst.The control unit of claim 40, wherein the USB host computer functionality a USB 1.1 compliant Leitrechnerfunktionalität at full speed and / or low speed and a USB 2.0 compliant Leitrechnerfunktionalität at high speed. Die Steuerungseinheit nach Anspruch 40, wobei die mindestens eine Port Handler Einheit des weiteren eine dritte Port Handler Einheit (550, 605, 625) umfasst, die so ausgebildet ist, um eine USB-Leitrechnerfunktionalität zu bereitzustellen, wobei eine der ersten und dritten Port Handler Einheiten so gebaut ist, um als Master betrieben zu werden, während die andere der ersten und dritten Port Handler Einheiten so aufgebaut ist, um als Slave betrieben zu werden, wenn die erste und dritte Port Handler Einheit wahlweise so konfiguriert sind, dass sie die gleiche Leitrechnerfunktionalität unterstützen.The control unit of claim 40, wherein the at least one port handler unit further comprises a third port handler unit ( 550 . 605 . 625 ) configured to provide a USB host functionality, wherein one of the first and third port handler units is constructed to operate as a master while the other of the first and third port handler units is so constructed, to operate as a slave when the first and third port handler units are optionally configured to support the same host functionality. Die Steuerungseinheit nach Anspruch 42, wobei die Master Port Handler Einheit so aufgebaut ist, um Datenpakte zu erzeugen und die Slave Port Handler Einheit so aufgebaut ist, um die Datenpakete, die vom Master Port Handler erstellt wurden, zu kopieren.The control unit of claim 42, wherein the Master Port Handler unit is constructed to generate data packets and the slave port handler unit is constructed to handle the data packets, which were created by the master port handler. Die Steuerungseinheit nach Anspruch 38, wobei das Modul operierend auf niedriger Protokollebene weiter ausgebildet ist, um eine CRC (Cyclic Redundancy Check) Bildung und/oder Überprüfung auszuführen.The control unit of claim 38, wherein the Module further developed at low protocol level is to perform a CRC (Cyclic Redundancy Check) formation and / or verification. Die Steuerungseinheit nach Anspruch 38, wobei das Übertragungspuffermodul ein FIFO (First In First Out) Übertragungspuffermodul ist.The control unit of claim 38, wherein the transmission buffer module a FIFO (First In First Out) transmission buffer module is. Die Steuerungseinheit nach Anspruch 38, wobei das Übertragungspuffermodul weiter ausgebildet ist, um eine Taktungsübertragung zwischen dem Kerntaktungsbereich und dem Peripheriegerättaktungsbereich auszuführen.The control unit of claim 38, wherein the transmission buffer module is further adapted to a clock transmission between the core clock area and the peripheral device clocking area. Die Steuerungseinheit nach Anspruch 38, wobei die Puffergröße des Übertragungspuffermoduls der ersten Port Handler Einheit unterschiedlich der Puffergröße des Übertragungspuffermoduls der zweiten Port Handler Einheit ist.The control unit of claim 38, wherein the Buffer size of the transfer buffer module The first port handler unit is different from the buffer size of the transmit buffer module the second port handler unit is. Die Steuerungseinheit nach Anspruch 38, wobei das Speicherzugangsmodul ein DMA(Direct Memory Access) Speicherzugangsmodul ist.The control unit of claim 38, wherein the Memory access module a DMA (Direct Memory Access) memory access module is. Die Steuerungseinheit nach Anspruch 38, wobei das Speicherzugangsmodul weiter ausgebildet ist, um Beschränkungen im Systembus durchzuführen.The control unit of claim 38, wherein the Memory access module is further adapted to restrictions in the system bus. Die Steuerungseinheit nach Anspruch 38, die so ausgebildet ist, um den Datenverkehr bei einer vorbestimmten Anzahl von Ports zu steuern, und das eine vorbestimmte Anzahl von Port Handler Einheiten einschließlich der ersten und der zweiten Port Handler Einheit umfasst, wobei die vorbestimmte Anzahl von Ports gleich der vorbestimmten Anzahl der Port Handler Einheiten ist.The control unit of claim 38 which is so constructed is to traffic at a predetermined number of ports and a predetermined number of port handler units including the first and the second port handler unit comprises, the predetermined number of ports equal to the predetermined number of Port handler units is. Das Steuerungseinheit nach Anspruch 50, wobei die vorbestimmte Anzahl der Ports und die vorbestimmte Anzahl der Port Handler Einheiten drei Stück umfasst.The control unit of claim 50, wherein the predetermined number of ports and the predetermined number of ports Handler units three pieces includes. Das Steuerungseinheit nach Anspruch 38, die so ausgebildet ist, um den Datenverkehr bei einer vorbestimmten Anzahl von Ports zu steuern, und das eine vorbestimmte Anzahl von Port Handler Einheiten einschließlich der ersten und der zweiten Port Handler Einheit umfasst, wobei die vorbestimmte Anzahl von Ports größer als die vorbestimmte Anzahl der Port Handler Einheiten ist.The control unit according to claim 38, which is so formed is to traffic at a predetermined number of ports and a predetermined number of port handler units including the first and the second port handler unit comprises, the predetermined number of ports greater than is the predetermined number of port handler units. Das Steuerungseinheit nach Anspruch 52, wobei die vorbestimmte Anzahl der Port Handler Einheiten mehr als drei Stück umfasst.The control unit of claim 52, wherein the predetermined number of port handler units comprises more than three pieces. Die Steuerungseinheit nach Anspruch 38, wobei mindestens eine Port Handler Einheit in ihrer Funktionalität auf entweder USB 1.1 verträgliche Leitrechnerfunktionalität mit voller Geschwindigkeit und/oder geringer Geschwindigkeit und eine USB 2.0 verträgliche Leitrechnerfunktionalität mit hoher Geschwindigkeit beschränkt ist.The control unit of claim 38, wherein at least a port handler unit in its functionality on either USB 1.1 compliant host functionality with full Speed and / or low speed and a USB 2.0 compatible Leitrechnerfunktionalität limited to high speed is. Die Steuerungseinheit nach Anspruch 38, die mindestens zwei Port Handler Einheiten umfasst, die so ausgebildet sind, um eine USB-Leitrechnerfunktionalität bereitzustellen, wobei die USB-Leitrechnerfunktionalität, die von einer ersten der mindestens zwei Port Handler Einheiten gebildet wird, eine USB 1.1 verträgliche Leitrechnerfunktionalität mit voller Geschwindigkeit und/oder geringer Geschwindigkeit ist und die USB-Leitrechnerfähigkeit, die von einer zweiten der mindestens zwei Port Handler Einheiten gebildet wird, eine USB 2.0 verträgliche Leitrechnerfunktionalität mit hoher Geschwindigkeit ist.The control unit according to claim 38, which is at least Includes two port handler units that are designed to work a USB host functionality with the USB host functionality provided by a first of the at least two port handler units formed Become a USB 1.1 compliant host with full functionality Speed and / or low speed and the USB host capability, that of a second of the at least two port handler units high USB 2.0 compliant host functionality Speed is. Die Steuerungseinheit nach Anspruch 55, wobei jede der ersten und zweiten Port Handler Einheiten eine Übertragungspuffermodul (560, 615, 635, 655, 675) umfasst, das so ausgebildet ist, um die eingehenden und ausgehenden Daten zu puffern, um Systemspeicherlatenzen zu mitteln, wobei die Puffergröße des Übertragungspuffermoduls der ersten Port Handler Einheit unterschiedlich der Puffergröße des Übertragungspuffermoduls der zweiten Port Handler Einheit ist.The control unit of claim 55, wherein each of the first and second port handler units comprises a transmission buffer module (16). 560 . 615 . 635 . 655 . 675 ) configured to buffer the incoming and outgoing data to average system memory latencies, wherein the buffer size of the transmission buffer module of the first port handler unit is different than the buffer size of the transmission buffer module of the second port handler unit. Die Steuerungseinheit nach Anspruch 38, weiter umfassend: einen Port Router (685), die so ausgebildet ist, um mindestens einen Port der mindestens einen Port Handler Einheit zuzuordnen.The control unit of claim 38, further comprising: a port router ( 685 ) configured to associate at least one port with the at least one port handler unit. Die Steuerungseinheit nach Anspruch 38, weiter umfassend: eine Busarbitrationseinheit (525), die so ausgebildet ist, die Busmasterzugänge von der mindestens einen Port Handler Einheit an den Systembus zu vermitteln.The control unit of claim 38, further comprising: a bus arbitration unit ( 525 ) configured to communicate the bus master accesses from the at least one port handler unit to the system bus. Ein integrierter Schaltungschip, der ein Schaltschema umfasst, das so ausgebildet ist, um die Datenübertragung zu und/oder von einem Peripheriegerät, das wahlweise Peripheriegeräte- oder Leitrechnerfunktionalität aufweist und an einen Serienbus angeschlossen ist, zusteuern, wobei das Schaltschema umfasst: mindestens eine Port Handler Schaltung (550, 605, 625, 645, 665) so gebaut, um Leitrechner- und/oder Peripheriegerätefunktionalität an einem Port zu bilden, an die das Peripheriegerät angeschlossen ist, wobei die mindestens eine Port Handler Schaltung umfasst: ein Modul operierend auf niedriger Protokollebene (565, 620, 640, 660, 680), das so ausgebildet ist, um Assemblierung und/oder Disassemblierung von Datenpaketen zu bewältigen; ein Übertragungspuffermodul (560, 615, 635, 655, 675), das so ausgebildet ist, um eingehende oder ausgehende Daten zu puffern, um Systemspeicherlatenzen zu mitteln; und ein Speicherzugangsmodul (555, 610, 630, 650, 670) der so ausgebildet ist, um Speicheranforderungen gemäß der USB-Leitrechner- und/oder Peripheriegerätefunktionalität zu bilden.An integrated circuit chip comprising a circuit diagram adapted to control data transmission to and / or from a peripheral device having optional peripheral or host functionality connected to a serial bus, the circuit diagram comprising: at least one port handler Circuit ( 550 . 605 . 625 . 645 . 665 ) to form host and / or peripheral device functionality on a port to which the peripheral device is attached, the at least one port handler circuit comprising: a low protocol level module (FIG. 565 . 620 . 640 . 660 . 680 ) adapted to handle assembly and / or disassembly of data packets; a transmission buffer module ( 560 . 615 . 635 . 655 . 675 ) configured to buffer incoming or outgoing data to average system memory latencies; and a memory access module ( 555 . 610 . 630 . 650 . 670 ) configured to provide memory requirements in accordance with the USB host and / or peripheral functionality. Ein computerlesbares Speichermedium, das Anweisungen speichert, die speziell dafür ausgerichtet sind, einem Prozessor, wenn die Instruktionen von dem Prozessor ausgeführt werden, dazu zu bringen, die Steuerungseinheit nach einem der Ansprüche 1 bis 13, 15 bis 36 und 38 bis 58, oder den integrierten Schaltungschip nach einem der Ansprüche 14, 37 und 59, anzutreiben.A computer-readable storage medium containing instructions stores that are special for that a processor, if the instructions of the Processor executed to bring to the control unit according to one of claims 1 to 13, 15 to 36 and 38 to 58, or the integrated circuit chip according to one of the claims 14, 37 and 59, to drive.
DE102005009021A 2005-02-28 2005-02-28 Unified USB OTG control unit Ceased DE102005009021A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102005009021A DE102005009021A1 (en) 2005-02-28 2005-02-28 Unified USB OTG control unit
US11/158,512 US7506077B2 (en) 2005-02-28 2005-06-22 Unified controller having host and device functionality

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102005009021A DE102005009021A1 (en) 2005-02-28 2005-02-28 Unified USB OTG control unit

Publications (1)

Publication Number Publication Date
DE102005009021A1 true DE102005009021A1 (en) 2006-09-07

Family

ID=36847980

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005009021A Ceased DE102005009021A1 (en) 2005-02-28 2005-02-28 Unified USB OTG control unit

Country Status (2)

Country Link
US (1) US7506077B2 (en)
DE (1) DE102005009021A1 (en)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100678905B1 (en) * 2005-09-27 2007-02-06 삼성전자주식회사 Wireless usb host, wireless usb device, method for providing function of drd host and functioning as a drd host
IL178466A (en) * 2005-10-21 2011-05-31 Inventio Ag Passenger transportation system, especially an escalator or moving walk
US20070174034A1 (en) * 2006-01-04 2007-07-26 Andriy Naydon Transparent intellectual network storage device
US20100017189A1 (en) * 2006-01-04 2010-01-21 Andriy Naydon Transparent Intellectual Network Storage Device
US8061360B2 (en) 2006-09-19 2011-11-22 Kci Licensing, Inc. System and method for locating fluid leaks at a drape of a reduced pressure delivery system
US8366690B2 (en) 2006-09-19 2013-02-05 Kci Licensing, Inc. System and method for determining a fill status of a canister of fluid in a reduced pressure treatment system
US7876546B2 (en) * 2006-09-19 2011-01-25 Kci Licensing Inc. Component module for a reduced pressure treatment system
ES2642043T3 (en) 2006-09-19 2017-11-15 Kci Licensing, Inc. Reduced pressure treatment system that has possibilities of clearing obstruction and double zone pressure protection
US20080178011A1 (en) * 2007-01-18 2008-07-24 Nokia Corporation Method and apparatus for usb/otg connection providing active hnp requests and saving host power
US20080222581A1 (en) 2007-03-09 2008-09-11 Mips Technologies, Inc. Remote Interface for Managing the Design and Configuration of an Integrated Circuit Semiconductor Design
EP2073598B1 (en) * 2007-12-21 2017-10-04 Telefonaktiebolaget LM Ericsson (publ) Technique for providing network access to different entities
JP2011081769A (en) * 2009-09-14 2011-04-21 Ricoh Co Ltd Apparatus, device and method for transferring data
JP5551512B2 (en) 2010-05-21 2014-07-16 ルネサスエレクトロニクス株式会社 COMMUNICATION CONTROL DEVICE, DATA COMMUNICATION METHOD, AND PROGRAM
CN101976230B (en) * 2010-09-30 2014-04-23 威盛电子股份有限公司 Transaction translator of universal serial bus and input request isochronous transaction method
CN101968779A (en) * 2010-09-30 2011-02-09 威盛电子股份有限公司 Universal serial bus transmission transaction translator and microframe synchronous method
US8572306B2 (en) * 2010-12-02 2013-10-29 Via Technologies, Inc. USB transaction translator and USB transaction translation method
US9009380B2 (en) 2010-12-02 2015-04-14 Via Technologies, Inc. USB transaction translator with SOF timer and USB transaction translation method for periodically sending SOF packet
US9490791B2 (en) 2013-08-29 2016-11-08 Advanced Micro Devices, Inc. Method and circuit for detecting USB 3.0 LFPS signal
US9817468B2 (en) 2014-02-03 2017-11-14 Dell Products, Lp System and method for automatic detection and switching between USB host and device rolls on a type-A connector
CN104317756B (en) * 2014-10-27 2018-04-27 北京元隆雅图文化传播股份有限公司 A kind of multifunctional portable data card and data transmission method
KR102628011B1 (en) * 2016-01-29 2024-01-22 삼성전자주식회사 Universal serial bus power delivery device and system including the same
TWI620068B (en) * 2016-05-13 2018-04-01 景相科技股份有限公司 Universal serial bus hub with multiple hosts supported and automobile head unit using the same
US11138116B2 (en) * 2019-07-29 2021-10-05 Xilinx, Inc. Network interface device supporting multiple interface instances to a common bus

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004029817A1 (en) * 2002-09-24 2004-04-08 Koninklijke Philips Electronics N.V. Bus connection system
US6732218B2 (en) * 2002-07-26 2004-05-04 Motorola, Inc. Dual-role compatible USB hub device and method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5951667A (en) * 1997-01-02 1999-09-14 Intel Corporation Method and apparatus for connecting expansion buses to a peripheral component interconnect bus
CA2356572A1 (en) * 2001-08-30 2003-02-28 Heng Liao Transmit virtual concatenation processor
JP2005504393A (en) * 2001-09-27 2005-02-10 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Bus system and bus interface
DE102004057756B4 (en) * 2004-11-30 2009-08-06 Advanced Micro Devices Inc., Sunnyvale USB control device with OTG control unit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6732218B2 (en) * 2002-07-26 2004-05-04 Motorola, Inc. Dual-role compatible USB hub device and method
WO2004029817A1 (en) * 2002-09-24 2004-04-08 Koninklijke Philips Electronics N.V. Bus connection system

Also Published As

Publication number Publication date
US7506077B2 (en) 2009-03-17
US20060195625A1 (en) 2006-08-31

Similar Documents

Publication Publication Date Title
DE102005009021A1 (en) Unified USB OTG control unit
DE69836426T2 (en) Control unit for a universal serial bus
DE102009032581B4 (en) Management of the timing of a protocol stack
DE102018006756A1 (en) Accelerator Fabric
DE69936060T2 (en) Method and apparatus for an improved interface between computer components
DE19580606C2 (en) Disk drive connector interface for use on a PCI bus
DE102004057756B4 (en) USB control device with OTG control unit
DE69828074T2 (en) DIRECT MEMORY ACCESS / TRANSACTIONS TO A BUS WITH A LOW PIN IN NUMBER
DE602004012563T2 (en) Multi-threaded DMA
DE102008055892A1 (en) Storing sections of a data transfer descriptor in a cached and uncached address space
DE112007000862T5 (en) Multiplexing a parallel bus interface and a flash memory interface
DE102004033445A1 (en) Integrated circuit device has interface to convert advanced microcontroller bus architecture format into interface format e.g. static RAM format compatible to access resources of slave chip by master chip, according to request
DE69724884T2 (en) Device and method for positive and subtractive address decoding on a bus
DE112013005044T5 (en) Execute incoming PCIE write operations to a memory and partner devices via dualcast
DE60132424T2 (en) Clock protection for common components of a multiprocessor DSP device
DE60029118T2 (en) ASYNCHRONOUS CENTRALIZED MULTICANAL DMA CONTROL
DE112013003766T5 (en) Fast equalization upon exiting a low energy split width high speed connection state
DE10255937B4 (en) Order-controlled command storage
DE102005041312A1 (en) Memory access to virtual target device
DE10030148A1 (en) Bridging device for connecting main processor to secondary buses in personal computer system has first-on-first out memories providing asynchronous data paths between primary bus terminal and secondary bus terminals
DE10239814A1 (en) Extended test mode support for host controllers
DE102018005759A1 (en) CONNECTING ACCELERATOR RESOURCES USING EINESSWITCHES
DE112021003094T5 (en) SYSTEM AND METHOD FOR PLANNING SHARING PCIE ENDPOINT DEVICES
DE19882975B4 (en) Access a message exchange unit from a secondary bus
DE10214067B4 (en) Integrated circuit chip with high-speed data interface and associated southbridge device and method

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final