DE10239814B4 - Erweiterte Testmodusunterstützung für Hostcontroller - Google Patents

Erweiterte Testmodusunterstützung für Hostcontroller Download PDF

Info

Publication number
DE10239814B4
DE10239814B4 DE10239814A DE10239814A DE10239814B4 DE 10239814 B4 DE10239814 B4 DE 10239814B4 DE 10239814 A DE10239814 A DE 10239814A DE 10239814 A DE10239814 A DE 10239814A DE 10239814 B4 DE10239814 B4 DE 10239814B4
Authority
DE
Germany
Prior art keywords
speed
usb
host controller
test
full
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE10239814A
Other languages
English (en)
Other versions
DE10239814A1 (de
Inventor
Stefan Schulze
Siegfried 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.)
GlobalFoundries 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 DE10239814A priority Critical patent/DE10239814B4/de
Priority to US10/324,782 priority patent/US7225288B2/en
Publication of DE10239814A1 publication Critical patent/DE10239814A1/de
Application granted granted Critical
Publication of DE10239814B4 publication Critical patent/DE10239814B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/267Reconfiguring circuits for testing, e.g. LSSD, partitioning

Abstract

USB-Hostcontroller umfassend:
einen erweiterten Hostcontroller (225) zum Steuern eines USB-Hochgeschwindigkeitsdatenverkehrs;
wenigstens einen Begleithostcontroller (215, 405, 410) zum Steuern eines USB-Vollgeschwindigkeits- und/oder USB-Niedergeschwindigkeitsdatenverkehrs; und
eine USB-Transceiver-Makrozelle (610), die mit dem erweiterten Hostcontroller verbunden ist, um den Datentransfer zu und von einem USB-Gerät abzuwickeln;
wobei der erweiterte Hostcontroller eine Testschaltung (620) zum Steuern der USB-Transceiver-Makrozelle umfasst, um Vollgeschwindigkeits- und/oder Niedergeschwindigkeitstestfunktionen durchzuführen.

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. Gebiet der Erfindung
  • Die Erfindung betrifft allgemein Hostcontroller wie etwa USB-Controller (USB: Universal Serial Bus) und zugehörige Verfahren und insbesondere Testschaltkreise und Verfahren in solchen Hostcontrollern.
  • 2. Beschreibung des Standes der Technik
  • USB wurde ursprünglich im Jahre 1995 entwickelt, um einen externen Erweiterungsbus zu definieren, der die Verbindung zusätzlicher Peripheriegeräte an ein Computersystem erleichtert. Die USB-Technik wird durch PC-Hostcontrollerhardware und -software (PC: Personalcomputer) implementiert, sowie durch peripheriefreundliche Master-Slave-Protokolle, und sie ermöglicht robuste Verbindungen und Kabelanordnungen. USB-Systeme sind durch Mehrport-Hubs erweiterbar.
  • In USB-Systemen besteht die Rolle der Systemsoftware darin, eine vereinheitlichte Sicht auf die Eingabe/Ausgabe-Architektur für die gesamte Anwendungssoftware dadurch bereitzustellen, dass Hardwareimplementierungsdetails verdeckt werden. Die Systemsoftware verwaltet insbesondere das dynamische Anschließen und Abtrennen von Peripheriegeräten und kommuniziert mit dem Peripheriegerät, um dessen Identität zu ermitteln. Während der Laufzeit veranlasst der Host Transaktionen zu spezifischen Peripheriegeräten, und jedes Peripheriegerät akzeptiert seine Transaktionen und antwortet demgemäß.
  • Hubs werden in das System eingefügt, um eine zusätzliche Konnektivität für periphere USB-Geräte bereitzustellen und um angeschlossene Geräte kontrolliert mit Leistung zu versorgen (Powermanagement). Die Peripheriegeräte sind Slaves, die auf vom Host gesendete Anforderungstransaktionen reagieren müssen. Solche Anforderungstransaktionen enthalten Requests (Anforderungen, Anfragen) nach detaillierten Informationen über das Gerät und dessen Konfiguration.
  • Während diese Funktionen und Protokolle bereits in der USB-1.1-Spezifikation implementiert waren, wurde diese Technik weiter verbessert, um eine höher performante Schnittstelle bereitzustellen. 1 verdeutlicht ein beispielhaftes USB-2.0-System, das einen Hostcontroller 100, eine Anzahl von USB-Geräten 115, 120, 125, 130 und zwei Hubs 105, 110 umfasst. In dem System von 1 sind die Hubs 105, 110 zur Erhöhung der Konnektivität eingefügt, jedoch können die USB-Geräte in anderen USB-2.0-Systemen direkt mit dem Hostcontroller 100 verbunden sein.
  • Wie oben erwähnt, stellt USB 2.0 eine höher performante Schnittstelle bereit, und die Geschwindigkeitsverbesserung kann bis zu einem Faktor von 40 betragen. Darüber hinaus ist USB 2.0, wie aus 1 ersichtlich, rückwärtskompatibel zu USB 1.1, da es gestattet, USB-1.1-Geräte 120, 125, 130 zu verbinden, um von demselben Hostcontroller 100 betrieben zu werden. Es können sogar USB-1.1-Hubs 110 verbunden werden.
  • Wie aus 1 gesehen werden kann, kann ein USB-1.1-Gerät 120 direkt mit einem USB-2.0-Hub 105 verbunden werden. Darüber hinaus kann das USB-1.1-Gerät auch direkt mit dem Hostcontroller 100 verbunden werden. Dies wird durch die Fähigkeit von USB-2.0-Hostcontrollern und -Hubs ermöglicht, sowohl höhere als auch niedrigere Transmissionsgeschwindigkeiten auf Zwischengerätebasis zu verhandeln.
  • Wird nun zu 2 übergegangen, so wird die Systemsoftware und -hardware eines USB-2.0-Systems verdeutlicht. Die Systemkomponenten können hierarchisch organisiert sein, indem mehrere Schichten wie in der Figur gezeigt definiert werden.
  • In der allerobersten Schicht läuft die Clienttreibersoftware 200 auf dem Host-PC, die einem bestimmten USB-Gerät 230 entspricht. Die Clientsoftware ist typischerweise Teil des Betriebssystem oder wird mit dem Gerät geliefert.
  • Der USB-Treiber 205 ist ein Systemsoftwarebustreiber, der die Details des bestimmten Hostcontrollertreibers 210, 220 für ein bestimmtes Betriebssystem abstrahiert. Die Hostcontrollertreiber 210, 220 stellen eine Softwareschicht zwischen einer speziellen Hardware 215, 225, 230 und dem USB-Treiber 205 bereit, um eine Treiberhardwareschnittstelle bereitzustellen.
  • Während die soweit diskutierten Schichten softwareimplementiert sind, enthält die alleroberste Hardwarekomponentenschicht die Hostcontroller 215, 225. Diese Controller sind mit dem USB-Gerät 230 verbunden, das die Endnutzerfunktion bereitstellt. Bei einem gegebenen USB-Gerät ist das Gerät natürlich nur mit einem der Hostcontroller 215, 225 verbunden.
  • Wie aus der Figur ersichtlich ist, gibt einen Hostcontroller 225, der ein erweiteter Hostcontroller (EHC: Enhanced Host Controller) für die Hochgeschwindigkeits-USB-2.0-Funktionalität ist. Dieser Hostcontroller arbeitet gemäß der EHCI-Spezifikation (EHCI: Enhanced Host Controller Interface) für USB 2.0. Auf der Softwareseite ist dem Hostcontroller 225 ein spezifischer Hostcontrollertreiber EHCD 220 zugeordnet.
  • Ferner gibt es Hostcontroller 215 für Voll- und Niedergeschwindigkeitsvorgänge. UHCI (Universal Host Controller Interface) oder OHCI (Open Host Controller Interface) sind die zwei Industriestandards, die in den universellen oder offenen Hostcontrollern (UHC/OHC) 215 zur Bereitstellung von USB-1.1-Hostcontrollerschnittstellen angewendet werden. Den Hostcontrollern 215 sind universelle/offene Hostcontrollertreiber (UHCD/OHCD) 210 in der untersten Softwareschicht zugeordnet.
  • Somit umfasst das USB-2.0-gemäße Hostcontrollersystem eine Treibersoftware und Hostcontrollerhardware, die der EHCI-Spezifikation genügen müssen. Während diese Spezifikation die Schnittstelle auf Registerebene sowie zugehörige speicherresidente Datenstrukturen definiert, enthält sie weder eine Definition noch eine Beschreibung der Hardwarearchitektur, die erforderlich ist, um einen entsprechenden Hostcontroller aufzubauen.
  • Wird nun auf 3 Bezug genommen, so sind die Hardwarekomponenten eines gewöhnlichen Motherboardlayouts dargestellt. Die Basiselemente, die auf einem Motherboard zu finden sind, schließen die CPU (Central Processing Unit, zentrale Verarbeitungseinheit) 300, eine Northbridge 305, eine Southbridge 310 und einen Systemspeicher 315 ein. Die Northbridge 305 ist gewöhnlicherweise ein einzelner Chip in einem Core-Logic-Chipsatz, der den Prozessor 300 mit dem Systemspeicher 315 und dem AGP-Bus (AGP: Accelerated Graphic Port) und dem PCI-Bus (PCI: Peripheral Component Interface) verbindet. Der PCI-Bus wird in Personalcomputern gewöhnlicherweise zur Bereitstellung eines Datenpfades zwischen dem Prozessor und Peripheriegeräten wie etwa Videokarten, Soundkarten, Netzwerkschnittstellenkarten und Modems verwendet. Der AGP-Bus ist ein Hochgeschwindigkeitsgrafikerweiterungsbus, der den Displayadapter und den Systemspeicher 315 direkt verbindet. AGP arbeitet unabhängig von dem PCI-Bus. Es ist anzumerken, dass andere Motherboardlayouts existieren, die keine Northbridge enthalten oder eine Northbridge ohne AGP- oder PCI-Optionen aufweisen.
  • Die Southbridge 310 ist üblicherweise der Chip in einem System-Core-Logic-Chipsatz, der den IDE-Bus (IDE: Integrated Drive Electronics) oder EIDE-Bus (EIDE: Enhanced IDE) steuert, den USB-Bus steuert, der eine Plug-and-Play-Unterstützung ermöglicht, der eine PCI-ISA-Brücke (ISA: Industry Standard Architecture) steuert, der den Tastatur/Maus-Controller verwaltet, der Powermanagementfeatures bereitstellt und andere Peripheriegeräte steuert.
  • USB-Hostcontroller und andere Hostcontroller in Southbridges oder I/O-Hubs sind Hardwarekomponenten, die extrem komplex strukturiert sind. Es können somit Fehler im Betrieb solcher Hostcontroller auftreten und es ist gewöhnlich schwierig aufzudecken, ob Fehler durch Hardwarekomponenten oder durch den Softwaretreiber oder durch irgendwelche anderen Hardware- oder Softwarekomponenten verursacht werden.
  • Aus diesem Grunde verfügen Hostcontroller, Hubs und andere Funktionen gewöhnlich über einige Testmechanismen, die es gestatten, statische und dynamische elektrische Tests durchzuführen. Solche Mechanismen sind jedoch schwierig zu implementieren und die Tests schwer auszuführen. Beispielsweise benötigen USB-1.1-gemäße Controller eine spezielle Software, die eingestellt ist, um ein physikalisches Gerät auf eine Weise zu stimulieren, dass es elektrisch charakterisiert werden kann. Bei USB-2.0-gemäßen Hostcontrollern werden verschiedene Testmoden unterstützt, um das Testen auf Kompatibilität (ein Compliance-Testing) zu erleichtern. Jedoch betreffen diese Testmoden nur den USB-2.0-Hochgeschwindigkeitsdatenverkehr.
  • Es wurde daher als nachteilig in den Systemen des Standes der Technik gefunden, insbesondere in USB-Systemen, dass in vielen Fällen viele verschiedene Testmechanismen bereitgestellt sein müssen und jede der Diagnosefunktionen ihren eigenen Implementierungsregeln genügen muss. Insbesondere in erweiterten USB-2.0-Hostcontrollern unterliegt das Testen von Voll- und Niedergeschwindigkeitsdatentransfers noch den Beschränkungen und Nachteilen der USB-1.1-gemäßen Techniken.
  • W. Talarek, „USB 2.0 Transceiver and Macrocell Tester (T&MT) Interface Specification", Version 1.0 beschreibt ein mechanisches und elektrisches Interface für den Transceiver-and-Macroceil-Tester.
  • ÜBERSICHT ÜBER DIE ERFINDUNG
  • Der Erfindung liegt die Aufgabe zugrunde, einen verbesserten Testmechanismus für Hostcontroller für einen seriellen Bus bereitzustellen, der auf der einen Seite die Testprozedur vereinfachen oder auf der anderen Seite die verfügbaren Testmoden erweitem kann, um die Zuverlässigkeit des Gesamtbetriebs der Hardware und Software zu steigern.
  • Diese Aufgabe wird durch die Gegenstände der unabhängigen Patentansprüche gelöst.
  • Bevorzugte Ausgestaltungen sind in den Unteransprüchen angegeben.
  • In einer Ausgestaltung wird ein USB-Hostcontroller bereitgestellt, der einen erweiterten Hostcontroller umfasst, der angepasst ist zum Steuern eines USB-Hochgeschwindigkeitsdatenverkehrs. Ferner umfasst der USB-Hostcontroller wenigstens einen Begleithostcontroller, der angepasst ist zum Steuern eines USB-Vollgeschwindigkeits- und/oder USB-Niedergeschwindigkeitsdatenverkehrs, und eine USB-Transceiver-Makrozelle, die mit dem erweiterten Hostcontroller verbunden ist, um den Datentransfer zu und von einem USB-Gerät abzuwickeln. Der erweiterte Hostcontroller umfasst eine Testschaltung zum Steuern der USB-Transceiver-Makrozelle, um Vollgeschwindigkeits- und/oder Niedergeschwindigkeits-Testfunktionen durchzuführen.
  • In einer anderen Ausgestaltung wird ein Southbridgebauelement bereitgestellt, das eine USB-Funktionalität aufweist. Das Southbridgebauelement umfasst einen erweiterten USB-Hostcontroller, der angepasst ist zum Steuern eines Hochgeschwindigkeitsdatenverkehrs, und eine USB-Transceiver-Makrozelle, die mit dem erweiterten USB-Hostcontroller verbunden ist, um den Datentransfer zu und von einem USB-Gerät abzuwickeln. Das Southbridgebauelement umfasst ferner eine Transceiver-Testschaltung zum Steuern der Transceiver-Makrozelle, um Vollgeschwindigkeits- und/oder Niedergeschwindigkeits-Testfunktionen durchzuführen.
  • In noch einer anderen Ausgestaltung kann ein Hostcontroller bereitgestellt werden zum Steuern des Transfers von Daten zu und von Peripheriegeräten über einen seriellen Bus. Der Hostcontroller umfasst eine erste Steuerschaltung, die angepasst ist zum Steuern eines Datentransfers bei einer ersten Datensendegeschwindigkeit, und eine zweite Steuerschaltung, die angepasst ist zum Steuern eines Datentransfers bei einer zweiten Datensendegeschwindigkeit, die niedriger als die erste Datensendegeschwindigkeit ist. Der Hostcontroller umfasst ferner eine Transceiver-Schaltung, die mit der ersten Steuerschaltung verbunden ist, um den Datentransfer zu und von den Peripheriegeräten bei der ersten und zweiten Datensendegeschwindigkeit abzuwickeln. Die erste Steuerschaltung umfasst eine Testschaltung zum Steuern der Transceiver-Schaltung, um Testfunktionen durchzuführen, um den Betrieb der Transceiver-Schaltung bei der zweiten Datensendegeschwindigkeit zu testen.
  • In noch einer anderen Ausgestaltung umfasst ein Computersystem wenigstens ein USB-Gerät und ein Southbridgebauelement. Das Southbridgebauelement umfasst einen erweiterten USB-Hostcontroller, der angepasst ist zum Steuern eines Hochgeschwindigkeitsdatenverkehrs, und eine USB-Transceiver-Makrozelle, die mit dem erweiterten USB-Hostcontroller verbunden ist, um den Datentransfer zu und von dem wenigstens einen USB-Gerät abzuwickeln. Das Southbridgebauelement umfasst ferner eine Transceiver-Testschaltung zum Steuern der USB-Transceiver-Makrozelle, um Vollgeschwindigkeits- und/oder Niedergeschwindigkeitstestfunktionen durchzuführen.
  • In noch einer anderen Ausgestaltung kann ein Verfahren zum Betreiben eines USB-Hostcontrollers bereitgestellt werden. Das Verfahren umfasst das Betreiben eines erweiterten Hostcontrollers, um einen USB-Hochgeschwindigkeitsdatenverkehr zu steuern, und das Betreiben wenigstens eines Begleithostcontrollers, um einen USB-Vollgeschwindigkeits- und/oder USB-Niedergeschwindigkeitsdatenverkehr zu steuern. Das Verfahren umfasst ferner das Abwickeln des Datentransfers zu und von einem USB-Gerät in einer USB-Transceiver-Makrozelle. Darüber hinaus umfasst das Verfahren das Betreiben einer Testschaltung in dem erweiterten Hostcontroller, um die USB-Transceiver-Makrozelle zu steuern, um Vollgeschwindigkeits- und/oder Niedergeschwindigkeitstestfunktionen durchzuführen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die beigefügten Zeichnungen sind in die Beschreibung eingefügt und bilden einen Teil derselben zum Zwecke der Erläuterung der Prinzipien der Erfindung. Die Zeichnungen sind nicht als die Erfindung nur auf die verdeutlichten und beschriebenen Beispiele, wie die Erfindung gemacht und verwendet werden kann, beschränkend zu verstehen. Weitere Merkmale und Vorteile werden aus der folgenden und genaueren Beschreibung der Erfindung ersichtlich werden, wie in den beigefügten Zeichnungen erläutert, in denen:
  • 1 ein beispielhaftes USB-2.0-gemäßes System verdeutlicht;
  • 2 die Hardware- und Softwarekomponentenschichten in dem System von 1 verdeutlicht;
  • 3 ein gewöhnliches Motherboardlayout verdeutlicht;
  • 4 die Hauptkomponenten des USB-2.0-gemäßen Hostcontrollers gemäß einer Ausgestaltung verdeutlicht;
  • 5 ein Blockdiagramm ist, das die Komponenten des erweiterten Hostcontrollers verdeutlicht, der eine Komponente der Anordnung von 4 ist;
  • 6 schematisch die Verbindung zwischen einem Southbridgebauelement gemäß einer Ausgestaltung und einem USB-Gerät verdeutlicht; und
  • 7 ein Timingdiagramm ist, das ein Beispiel eines Testpakets im Niedergeschwindigkeitsmodus gemäß einer Ausgestaltung verdeutlicht.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Die verdeutlichten Ausgestaltungen der vorliegenden Erfindung werden unter Bezugnahme auf die Zeichnungen beschrieben werden, in denen gleiche Elemente und Strukturen durch gleiche Bezugszeichen angegeben sind.
  • Bevor die erweiterte Testmodusunterstützung für Hostcontroller gemäß den Ausgestaltungen im einzelnen diskutiert wird, wird ein beispielhafter Aufbau vorgestellt, wie ein Hostcontroller gemäß einer Ausgestaltung im allgemeinen eingerichtet sein kann. Obwohl die folgenden Ausgestaltungen die USB-Technik betreffen, ist anzumerken, dass andere Ausgestaltungen möglich sind, in denen der Datentransfer zu und von Peripheriegeräten über einen seriellen Bus, der kein USB-Bus ist, gesteuert wird.
  • Wird nun auf die Zeichnungen und insbesondere auf 4 Bezug genommen, so sind die Hauptkomponenten eines USB-2.0-gemäßen Hostcontrollers 400 gemäß einer Ausgestaltung gezeigt. Im Allgemeinen umfasst der Hostcontroller drei Hauptkomponenten: den erweiterten Hostcontroller (EHC) 225, einen oder mehrere Begleithostcontroller 215 und den Port-Router 415.
  • Der erweiterte Hostcontroller 225 wickelt den USB-2.0-Hochgeschwindigkeitsverkehr ab. Zusätzlich steuert er den Port-Router 415.
  • In der Begleithostcontrollereinheit 215 der vorliegenden Ausgestaltung gibt es zwei OHCI-gemäße Hostcontroller, OHC0 405 und OHC1 410. Diese Controller wickeln den gesamten USB-1.1-gemäßen Verkehr ab und können die Legacy-Tastaturemulation für nicht USB-gemäße Umgebungen enthalten.
  • Der Port-Router 415 weist den physikalischen Portschnittstellen ihre jeweiligen Eigner zu. Die Eignerschaft wird durch EHC-Register gesteuert und standardmäßig werden alle Ports auf die Begleithostcontroller geroutet, um die Funktion eines Systems zu ermöglichen, das nur USB-1.1-gemäße Treiber aufweist. Wenn ein USB-2.0-gemäßer Treiber in dem System vorhanden ist, wird der Port-Router die Ports entweder einem Begleithostcontroller 405, 410 für Nieder- und Vollgeschwindigkeitsgeräte und -hubs (USB-1.1-Verkehr) oder dem EHC 225 für Hochgeschwindigkeitsgeräte und -hubs zuweisen.
  • Das bedeutet, dass der in 4 gezeigte USB-2.0-Hostcontroller der EHCI-Spezifikation genügt und die Verwendung bestehender OHCI-USB-1.1-Hostcontroller ermöglicht, wobei eine minimale Anpassung erforderlich ist, um eine Schnittstelle zu dem Port-Routerblock 415 anstelle zu der physikalischen USB-1.1-Treiberzelle auszubilden.
  • Eine Plug-and-Plag-Konfiguration kann von jedem Hostcontroller 405, 410, 225 separat behandelt werden. Es kann eine durch EHCI auferlegte Beschränkung geben, wonach die OHCI-Controller 215 niedrigere Funktionsnummern haben müssen als der EHCI-Controller 225.
  • Der USB-2.0-gemäße Hostcontroller von 4 kann als Hardwarearchitektur definiert sein, um einen EHCI-gemäßen Hostcontroller zur Integration in eine Southbridge 310 zu implementieren. Der Hostcontroller sitzt dann zwischen den analogen USB-2-Eingabe/Ausgabe-eins und einem Verbindungsschnittstellenmodul, um in Upstreamrichtung eine Schnittstelle in Richtung auf den Systemspeicher bereitzustellen, z.B. eine Schnittstelle zu einer Northbridge, wenn eine solche in dem System vorhanden ist. Diese Schnittstelle kann eine interne HyperTransportTM-Schnittstelle sein. Die HyperTransport-Technologie ist eine hochperformante Hochgeschwindigkeits-Punkt-zu-Punkt-Verbindung, um integrierte Schaltungen auf einem Motherboard miteinander zu verbinden. Sie kann signifikant schneller sein als ein PCI-Bus bei einer äquivalenten Anzahl von Pins. Die HyperTransport-Technologie wurde entworfen, um eine signifikant höhere Bandbreite als aktuelle Technologien bereitzustellen, um Antworten mit geringer Latenz zu verwenden, um eine geringe Pinzahl bereitzustellen, um zu Legacy-PC-Bussen kompatibel zu sein, um auf neue Systemnetzwerkarchitekturbusse erweiterbar zu sein, um für Betriebssysteme transparent zu sein, und um geringe Auswirkungen auf Peripherietreiber zu haben.
  • Somit wird in der Ausgestaltung von 4 ein HyperTransport-basierter USB-Hostcontroller bereitgestellt, bei dem ein erweiterter Hostcontroller 225 für die Abwicklung des gesamten Hochgeschwindigkeits-USB-Verkehrs sowie für die Steuerung der Porteignerschaft für sich selbst und die Begleitcontroller 215 über den Port-Router 415 verantwortlicht ist. Nach einem Rücksetzen beim Einschalten oder einem softwaregesteuerten Reset des EHC 225 kann er standardmäßig einen Zustand einnehmen, in dem alle Ports von den Begleithostcontrollern 215 besessen und gesteuert werden, alle Betriebsregister ihre jeweiligen Defaultwerte aufweisen und der EHC 225 angehalten ist, d.h. er weder Deskriptoren aus dem Systemspeicher 315 holt noch irgendeine USB-Aktivität herausgibt. Im Normalbetrieb kann der EHC 225 isosynchrone und Interrupttransfers von einer periodischen Liste verarbeiten sowie Bulk und Steuerungen von einer asynchronen Liste. Beide Listen können leer sein oder ihre Abarbeitung kann softwaregesteuert ruhen.
  • Wird nun auf 5 Bezug genommen, so werden die Komponenten des erweiterten Hostcontrollers EHC 225 in weiteren Einzelheiten gezeigt. Wie aus der Figur gesehen werden kann, kann der erweiterte Hostcontroller 225 in eine 100-MHz-Core-Taktdomäne und eine 60-MHz-Taktdomäne aufgeteilt werden. Während die 60-MHz-Taktdomäne die Schaltung für das Routen von Transaktionen auf physikalische Geräte enthält, führt die 100-MHz-Taktdomäne die eigentliche Deskriptorverarbeitung durch. Es ist anzumerken, dass die Domänen in anderen Ausgestaltungen Taktraten aufweisen können, die von den obigen Werten 100 MHz und 60 MHz abweichen. In diesen Ausgestaltungen weist der Deskriptorverarbeitungsdomänentakt noch eine Frequenz auf, die wenigstens so hoch wie die der anderen Domäne ist, oder höher.
  • In der 100-MHz-Domäne wird die Abwicklung des Datenverkehrs zu und von dem Systemspeicher durch den Stub 500 bewerkstelligt. Der Stub 500 weist die internen Quellen und Senken den jeweiligen HyperTransport-Strömen zu, d.h. Posted Requests, Non-Posted Requests, Responses (Antworten). Der Stub 500 arbitriert die interne HyperTransport-Schnittstelle zwischen allen internen Busmastern, d.h. der DMA-Empfangseinrichtung (DMA: Direct Memory Access) 510, dem Deskriptorcache 545, der Deskriptorverarbeitungseinrichtung 525 und der DMA-Sendeeinrichtung 550. Somit arbitriert der Stub 500 zwischen dem Holen eines Deskriptors, dem Zurückschreiben von Deskriptoren, dem Empfangen und dem Senden von Daten.
  • Der Stub 500 ist mit einem Register-File 505 verbunden, das die EHCI-Register enthält. In der vorliegenden Ausgestaltung speichern die EHCI-Register Daten bezüglich der PCI-Konfiguration, der Hostcontrollerfähigkeiten und der Hostcontrollerbetriebsmodi.
  • Die Deskriptorverarbeitungseinrichtung 525 ist mit dem Stub 500 verbunden und umfasst drei Untereinheiten: die Deskriptorholeinrichtung (DescrFetch) 530, die Deskriptorspeichereinrichtung (DescrStore) 535 und die Transaktionsvervollständigungsmaschine (TACM) 540. Die Deskriptorholeinrichtung 530 bestimmt basierend auf Timinginformationen und Registereinstellungen, welcher Deskriptor zu holen oder als nächster im voraus zu holen ist, und sendet die Anforderung an den Stub 500 und/oder an den Deskriptorcache 545. Wenn sie den Deskriptor empfängt, sendet sie ihn an die Deskriptorspeichereinrichtung 535.
  • Die Deskriptorspeichereinrichtung 535 hält die im voraus geholten Deskriptoren. Durch die Durchführung eines Speichermanagements liegt ihre Hauptfunktion in der Bereitstellung einer Speicherkapazität, um Speicherzugriffslegacies für Deskriptorholvorgänge zu mitteln.
  • Die Transaktionsvervollständigungsmaschine 540 ist mit der Deskriptorholeinrichtung 530 verbunden, um die Statusrückschreibung zu Deskriptoren zu managen. Zu diesem Zweck ist die Transaktionsvervollständigungsmaschine 540 mit dem Deskriptorcache 545 verbunden.
  • Der Cache hält Deskriptoren, die mittels der Deskriptorholeinrichtung 530 für schnellen wiederholten Zugriff im voraus geholt worden sind. Die in dem Deskriptorcache 545 gehaltenen Deskriptoren werden von der Transaktionsvervollständigungsmaschine 540 aktualisiert und über den Stub 500 in den Systemspeicher eventuell zurückgeschrieben. Der Deskriptorcache 545 kann vollassoziativ mit Write-Through-Eigenschaften sein. Er kann ferner das Ersetzen des Inhalts abhängig von dem Alter der gespeicherten Deskriptoren steuern.
  • Wie aus 5 ersichtlich ist, werden weiterhin die DMA-Sendeeinrichtung 550 und die DMA-Empfangseinrichtung 510 bereitgestellt. Die DMA-Sendeeinrichtung 550 umfasst eine Datenholeinrichtung (DataFetch) 555 und einen Datensendepuffer (TxBuf) 560. Die Datenholeinrichtung 555 ist der DMA-Lesebusmaster und untersucht die Einträge in der Deskriptorspeichereinrichtung 535 der Deskriptorverarbeitungseinrichtung 525. Die Datenholeinrichtung 555 holt die entsprechenden Daten im voraus und leitet sie an den Datensendepuffer 560 weiter.
  • Der Datensendepuffer 560 kann ein FIFO-Puffer (FIFO: First In First Out) sein, und seine Funktion entspricht der der Desciptorspeichereinrichtung 535 darin, dass sie es gestattet, genügend Daten für herausgehende Transaktionen im voraus zu holen, um die Speichersystemlatenz abzudecken. Der Datensendepuffer 560 kann ferner der Taktdomänenübersetzung dienen, um die verschiedenen Takte der Domänen zu behandeln.
  • Die DMA-Empfangsmaschine 510 enthält die Datenschreibeinrichtung (DataWrite) 515, die als DMA-Schreibbusmastereinrichtung dient, um die empfangenen Daten, die in dem Datenempfangspuffer (RxBuf) 520 gespeichert sind, an ihren jeweiligen Platz im Systemspeicher zu schieben. Der Datenempfangspuffer 520 kann ein einfacher FIFO-Puffer sein und ebenfalls der Taktdomänenübersetzung dienen.
  • In der 60-MHz-Taktdomäne wird eine Rahmentimingeinrichtung (FrameTiming) 565 bereitgestellt, die die USB-Masterzeitreferenz ist. Ein Taktpuls der Rahmentimingeinrichtung entspricht einem ganzzahligen Vielfachen (z.B. 8 oder 16) der USB-Hochgeschwindigkeitsbitzeiten. Die Rahmentimingeinrichtung 565 ist mit der Deskriptorspeichereinrichtung 535 und dem Paketbearbeitungsblock 570 verbunden.
  • Der Paketbearbeitungsblock 570 umfasst eine Paketaufbaueinrichtung (PktBuild) 585, die die notwendigen USB-Busoperationen zum Senden von Daten und Handshakes konstruiert, und einen Paketdekodierer (PktDecode) 575, der empfangene USB-Pakete zerlegt. Weiterhin wird eine Transaktionssteuereinrichtung (TaCtrl) 580 bereitgestellt, die die Paketaufbaueinrichtung 585 und den Paketdekodierer 575 überwacht. Weiterhin umfasst der Paketbearbeitungsblock 570 eine CRC-Einrichtung (CRC: Cyclic Redundancy Check) 590 zum Erzeugen und Überprüfen von CRC-Daten für gesendete und empfangene Daten.
  • Die Paketaufbaueinrichtung 585 und der Paketdekodierer 575 des Paketbearbeitungsblocks 570 sind mit dem Root-Hub 595 verbunden, der portspezifische Steuerregister, eine Verbindungsdetektionslogik und eine Streu/Einsammelfunktionalität für Pakete zwischen dem Paketbearbeitungsblock 570 und dem Port-Router umfasst.
  • Während die obige Beschreibung dazu diente, die Datenverarbeitung in einem USB-Hostcontroller gemäß einer Ausgestaltung in weiteren Einzelheiten zu beschreiben, wird nun die erweiterte Testmodusunterstützung für Host controller gemäß den Ausgestaltungen unter Bezugnahme auf 6 und 7 beschrieben werden.
  • 6 verdeutlicht die Verbindung zwischen einem Southbridgebauelement 600 gemäß einer Ausgestaltung und einem USB-Gerät 230. Sowohl das Southbridgebauelement 600 als auch das USB-Gerät 230 umfassen eine USB-Transceiver-Makrozelle (UTM) 610, 630. Diese Blöcke behandeln das USB-Protokoll und die Signalisierung der unteren Ebene, einschließlich von Features wie etwa der Datenseriellwandlung und Datenrückwandlung, des Bitstuffing und der Taktwiedergewinnung und Taktsynchronisation.
  • In der Ausgestaltung von 6 ist das USB-Gerät 230 als USB-2.0-Gerät gezeigt. Es ist jedoch anzumerken, dass die Southbridge 600 in einer anderen Ausgestaltung mit einem USB-1.1-Gerät verbunden sein kann. In diesem Falle wird eine USB-2.0-Transceiver-Makrozelle 610 nur innerhalb der Southbridge 600 bereitgestellt.
  • Wird nun zu der Ausgestaltung von 6 zurückgegangen, so unterstützen die USB-2.0-Transceiver-Makrozellen 610, 630 all diejenigen Transmissionsraten für serielle Daten, die in der USB-2.0-Spezifikation spezifiziert sind: die Hochgeschwindigkeitsrate von 480 Mbit/s, die Vollgeschwindigkeitsrate von 12 Mbit/s und die Niedergeschwindigkeitsrate von 1.5 Mbit/s. In dem USB-Gerät 230 verfügt die USB-2.0-Transceiver-Makrozelle 630 über eine UTM-Schnittstelle zu der seriellen Schnittstelleneinrichtung 640, die mit der gerätespezifischen Logik 650 verbunden ist, um eine Verbindung zur Gerätehardware herzustellen.
  • In der Southbridge 600 werden die Transceiver-Makrozelle 610 und der erweiterte Hostcontroller 225 bereitgestellt. Zusätzlich wird eine Testschaltung 620 bereitgestellt, die mit der Transceiver-Makrozelle 610 verbunden ist. Obwohl die Testschaltung 620 in 6 als von dem erweiterten Hostcontroller 225 getrennt gezeigt wird, ist anzumerken, dass die Testschaltung 620 auch in dem erweiterten Hostcontroller 225 umfasst sein kann. In diesem Falle wird eine Testschaltung 620 in dem erweiterten Hostcontroller 225 bereitgestellt zum Steuern der Transceiver-Makrozelle 610 der Southbridge 600, um Vollgeschwindigkeits- und/oder Niedergeschwindigkeitstestfunktionen durchzuführen.
  • Bevor zu den Einzelheiten dieser Testfunktionen übergegangen wird, ist zu erwähnen, dass die Transceiver-Makrozellen 610, 630 imstande sind, einen NRZI-Datentransfer (NRZI: Non Return to Zero Invert) zu behandeln. NRZI ist ein Verfahren zum Kodieren serieller Daten, bei dem die Einsen und Nullen durch entgegengesetzte und abwechselnde hohe und niedrige Spannungen repräsentiert sind (auf die im folgenden als K- oder J-Zustände Bezug genommen wird), wobei es zwischen den kodierten Bits keine Rückkehr zur Nullspannung gibt. Diese Technik hält den Sendetakt und Empfangstakt synchronisiert und ist insbesondere in Situationen nützlich, in denen Bitstuffing angewendet wird.
  • Wie bereits oben erwähnt, unterstützen USB-2.0-gemäße Hostcontroller verschiedene Testmoden, um in dem Hochgeschwindigkeitsdatenverkehr das Kompatibilitätstesten zu erleichtern. Diese Testmodusunterstützung ist im Abschnitt 7.1.20 der USB-2.0-Spezifikation beschrieben. In den Ausgestaltungen wird diese Technik nun auch auf Vollgeschwindigkeits- und/oder Niedergeschwindigkeitsdatentransfers angewendet.
  • Im Einzelnen steuert die Testschaltung 620, die in dem erweiterten Hostcontroller 600 enthalten sein kann, die USB-Transceiver-Makrozelle 610, um Vollgeschwindigkeits- und/oder Niedergeschwindigkeitstestfunktionen durchzuführen. Eine dieser Testfunktionen ist eine Test-J-Funktion, die die Transceiver-Makrozelle 610 zwingt, den J-Zustand einzunehmen und in diesem Zustand zu verbleiben, bis eine Beendigungsaktion stattfindet. Eine andere Testfunktion ist die Test-K-Funktion, die die Transceiver-Makrozelle 610 zwingt, den K-Zustand einzunehmen und in diesem Zustand zu verbleiben, bis eine Beendigungsaktion stattfindet. Die Test-J- und Test-K-Funktionen ermöglichen das Testen der hohen Ausgangtreiberpegel selbst in den Voll- und Niedergeschwindigkeitsmoden.
  • Eine andere Vollgeschwindigkeits- und Niedergeschwindigkeitstestfunktion ist die Single-Ended-Zero-Funktion (SE0), die die USB-Transceiver-Makrozelle 610 zwingt, einen Vollgeschwindigkeits- oder Niedergeschwindigkeitsempfangsmodus einzunehmen und in diesem Modus zu verbleiben, bis eine Beendigungsaktion stattfindet. Dies ermöglicht das Testen der Ausgangsimpedanz, der niedrigen Ausgangsspannung und der Ladecharakteristiken und stellt ferner einen allgemein verwendbaren Stimulus/Antworttest für grundlegende Funktionstests bereit.
  • Es kann eine andere Testfunktion zum Testen des Vollgeschwindigkeits- und/oder Niedergeschwindigkeitsbetriebs der Transceiver-Makrozelle 610 geben, indem Testpakete verwendet werden. Die Verwendung eines Testpakets zwingt die Transceiver-Makrozelle 610, wiederholt ein Voll- oder Niedergeschwindigkeitstestmuster zu senden, bis eine Beendigungsaktion stattfindet. Diese Testfunktion kann das Testen von Anstiegs- und Abfallzeiten, Eyepatterns, Jitter und anderen dynamischen Signalformspezifizierungen ermöglichen. Ein Beispiel der Verwendung einer Testfunktion, die ein Testpaket verwendet, ist in 7 gezeigt.
  • 7 verdeutlicht ein Niedergeschwindigkeitsmodusbeispiel, bei dem die Datensignalleitung und die Single-Ended-Zero-Signalleitung gesetzt sind, um ein Testmuster zu senden, das eine Zusammenfügung von vier KJ-Zustandspaaren, zwei Single-Ended-Zero-Signalen und zwei J-Zuständen ist. Wenn man die Leerperiode am Ende der Testpaketperiode mit einbezieht, werden 14 Taktzyklen benötigt, um das Testmuster zu senden.
  • Es ist anzumerken, dass in anderen Ausgestaltungen Testmuster verwendet werden können, die in der Abfolge von K-Zuständen, J-Zuständen und Single- Ended-Zero-Signalen von der Sequenz in dem Testmuster von 7 abweichen. Darüber hinaus können die Längen der Testmuster sogar von dem Wert von 14 Taktzyklen abweichen.
  • Nimmt man die oben diskutierten Vollgeschwindigkeits- und/oder Niedergeschwindigkeitstestfunktionen, so erweitert das Hostcontrollerbauelement nach den Ausgestaltungen die existierenden Test- und Debugfeatures, um einen erschöpfenden Test der USB-Transceiver-Makrozelle 610 zu ermöglichen.
  • Um diese Testmodusunterstützungserweiterungen zu steuern und durchzuführen, können zusätzliche Register bereitgestellt werden. Wie bereits oben erwähnt wurde, speichert das Registerfile 505 Daten bezüglich der Hostcontrollerfähigkeiten und Hostcontrollerbetriebsmoden. Oberhalb dieser EHC-Register können die folgenden zusätzlichen Register in dem Registerfile 505 bereitgestellt werden: ein Steuerregister, ein Statusregister und ein Verkäuferbefehlssteuerregister.
  • Das Steuerregister speichert Daten, die eine der Vollgeschwindigkeits- und Niedergeschwindigkeitstestfunktionen angeben. Ferner speichert das Steuerregister ein Flag, das anzeigt, ob die angegebene Testfunktion gegenwärtig durchgeführt werden soll.
  • Das Statusregister speichert Daten, die einen Status angegeben, wenn die USB-Transceiver-Makrozelle 610 gesteuert wird, um eine der Voll- oder Niedergeschwindigkeitstestfunktionen durchzuführen. Darüber hinaus kann das Statusregister ein Flag speichern, das das Auftreten eines Datensendefehlers anzeigt. Das Statusregister kann weiterhin Zusatzinformationen bezüglich der Leitungszustände und Verbindungszustände oder andere in Bezug bestehende Informationen speichern.
  • Das Verkäuferbefehlssteuerregister gestattet den direkten Zugriff auf die Verkäuferbefehlsports der USB-Transceiver-Makrozelle 610. Das Register kann einen Verkäufersteuerbefehl oder eine Indikation desselben speichern und kann ferner ein Flag speichern, das anzeigt, dass der Verkäufersteuerbefehl geladen werden soll. Wenn der Ladevorgang beendet ist, kann das Bit automatisch durch die Hardware gelöscht werden. Die Software kann das Register dann lesen, um alle benötigten Statusinformationen zu erhalten.
  • Wie bereits zuvor erwähnt wurde, erweitern die Testmoden, die von den Ausgestaltungen unterstützt werden, die Testtechniken, die bereits zum Testen des Hochgeschwindigkeitsverkehrs verfügbar waren, auf Vollgeschwindigkeits- und Niedergeschwindigkeitstransfermoden. Dies kann bewerkstelligt werden durch die Bereitstellung einer Testschaltung in dem erweiterten Hostcontroller, d.h. in der Einheit, die den Hochgeschwindigkeitsdatenverkehr steuert. Die Testschaltung in dem erweiterten Hostcontroller steuert die USB-Transceiver-Makrozelle 610, um Vollgeschwindigkeits- und/oder Niedergeschwindigkeitstestfunktionen durchzuführen.
  • Während die obigen Ausgestaltungen auf USB-2.0-gemäße Hostcontroller gerichtet waren, ist anzumerken, dass andere Ausgestaltungen Hostcontroller betreffen können, die keine USB-Hostcontroller sind. Solche Hostcontroller steuern den Datentransfer zu und von Peripheriegeräten über einen seriellen Bus. Es kann eine erste Steuerschaltung zum Steuern des Datenverkehrs bei einer ersten Geschwindigkeit und eine zweite Steuerschaltung zum Steuern des Transfers bei einer zweiten Geschwindigkeit geben, die niedriger als die erste Geschwindigkeit ist. Die erste Steuerschaltung umfasst eine Testschaltung zum Steuern einer Transceiver-Schaltung, um Testfunktionen durchzuführen, die die zweite Geschwindigkeit betreffen.
  • In weiteren Ausgestaltungen können Southbridgebauelemente bereitgestellt werden, die eine Schaltung zum Bereitstellen der oben beschriebenen erweiterten Testmodusunterstützung eingebaut haben.
  • Während die Erfindung in Bezug auf die physikalischen Ausgestaltungen beschrieben worden ist, die in Übereinstimmung damit konstruiert worden sind, wird Fachleuten ersichtlich sein, dass verschiedene Modifikationen, Variationen und Verbesserungen der vorliegenden Erfindung im Lichte der obigen Lehren und innerhalb des Umfangs der beigefügten Ansprüche gemacht werden können, ohne von der Idee und dem beabsichtigten Umfang der Erfindung abzuweichen. Zusätzlich sind solche Gebiete, in denen davon ausgegangen wird, dass sich Fachleute auskennen, hier nicht beschrieben worden, um die hier beschriebene Erfindung nicht unnötig zu verschleiern. Es ist demgemäss zu verstehen, dass die Erfindung nicht durch die spezifisch verdeutlichten Ausgestaltungen, sondern nur durch den Umfang der beigefügten Ansprüche beschränkt wird.

Claims (39)

  1. USB-Hostcontroller umfassend: einen erweiterten Hostcontroller (225) zum Steuern eines USB-Hochgeschwindigkeitsdatenverkehrs; wenigstens einen Begleithostcontroller (215, 405, 410) zum Steuern eines USB-Vollgeschwindigkeits- und/oder USB-Niedergeschwindigkeitsdatenverkehrs; und eine USB-Transceiver-Makrozelle (610), die mit dem erweiterten Hostcontroller verbunden ist, um den Datentransfer zu und von einem USB-Gerät abzuwickeln; wobei der erweiterte Hostcontroller eine Testschaltung (620) zum Steuern der USB-Transceiver-Makrozelle umfasst, um Vollgeschwindigkeits- und/oder Niedergeschwindigkeitstestfunktionen durchzuführen.
  2. USB-Hostcontroller nach Anspruch 1, wobei der erweiterte Hostcontroller ein Registerfile (505) aufweist, das umfasst: erste Register, die Daten bezüglich Hostcontrollerfähigkeiten und Hostcontrollerbetriebsmoden speichern; und zweite Register, die Daten bezüglich wenigstens einer der Vollgeschwindigkeits- und/oder Niedergeschwindigkeitstestfunktionen speichern.
  3. USB-Hostcontroller nach Anspruch 2, wobei wenigstens eines der zweiten Register ein Steuerregister ist, das Daten speichert, die eine der Vollgeschwindigkeits- und/oder Niedergeschwindigkeitstestfunktionen angeben.
  4. USB-Hostcontroller nach Anspruch 3, wobei das Steuerregister ferner ein Flag speichert, das anzeigt, ob die eine der Vollgeschwindigkeits- oder Niedergeschwindigkeitstestfunktionen gegenwärtig durchgeführt wird.
  5. USB-Hostcontroller nach Anspruch 2, wobei wenigstens eines der zweiten Register ein Statusregister ist, das Daten speichert, die einen Status angeben, wenn die USB-Transceiver-Makrozelle gesteuert wird, um eine der Vollgeschwindigkeits- und/oder Niedergeschwindigkeitstestfunktionen durchzuführen.
  6. USB-Hostcontroller nach Anspruch 5, wobei die Daten, die in dem Statusregister gespeichert sind, ein Flag umfassen, das das Auftreten eines Datensendefehlers anzeigt.
  7. USB-Hostcontroller nach Anspruch 2, wobei wenigstens eines der zweiten Register ein Verkäuferbefehlssteuerregister ist, das Daten speichert, die einen Verkäufersteuerbefehl angeben.
  8. USB-Hostcontroller nach Anspruch 7, wobei das Verkäuferbefehlssteuerregister ferner ein Flag speichert, das anzeigt, dass der Verkäufersteuerbefehl zu laden ist.
  9. USB-Hostcontroller nach Anspruch 1, wobei die USB-Transceiver-Makrozelle imstande ist, einen NRZI-Datentransfer (NRZI: Non Return to Zero Invert) von K- und J-Zuständen abzuwickeln, und die Vollgeschwindigkeits- und/oder Niedergeschwindigkeitstestfunktionen wenigstens eine der folgenden Funktionen umfasst: eine Test-J-Funktion, die die USB-Transceiver-Makrozelle zwingt, den J-Zustand einzunehmen und in diesem Zustand zu verbleiben, bis eine Beendigungsaktion stattfindet, und eine Test-K-Funktion, die die USB-Transceiver-Makrozelle zwingt, den K-Zustand einzunehmen und in diesem Zustand zu verbleiben, bis eine Beendigungsaktion stattfindet.
  10. USB-Hostcontroller nach Anspruch 1, wobei die USB-Transceiver-Makrozelle imstande ist, einen NRZI-Datentransfer (NRZI: Non Return to Zero Invert) abzuwickeln, und die Vollgeschwindigkeits- und/oder Niedergeschwindigkeitstestfunktionen eine Single-Ended-Zero-Testfunktion umfassen, die die USB-Transceiver-Makrozelle zwingt, einen Vollgeschwindigkeits- oder Niedergeschwindigkeitsempfangsmodus einzunehmen und in diesem Modus zu verbleiben, bis eine Beendigungsaktion stattfindet.
  11. USB-Hostcontroller nach Anspruch 1, wobei die USB-Transceiver-Makrozelle imstande ist, einen NRZI-Datentransfer (NRZI: Non Return to Zero Invert) von K- und J-Zuständen abzuwickeln, und die Vollgeschwindigkeits- und/oder Niedergeschwindigkeitstestfunktionen eine Testfunktion umfassen, die die USB-Transceiver-Makrozelle zwingt, wiederholt ein Vollgeschwindigkeits- oder Niedergeschwindigkeitstestmuster zu senden, bis eine Beendigungsaktion stattfindet.
  12. USB-Hostcontroller nach Anspruch 11, wobei das Vollgeschwindigkeits- oder Niedergeschwindigkeitstestmuster eine Aneinanderfügung von vier KJ-Zustandspaaren, zwei Single-Ended-Zero-Signalen und zwei J-Zuständen ist.
  13. Southbridgebauelement mit USB-Funktionalität, umfassend: einen erweiterten USB-Hostcontroller (225) zum Steuern eines Hochgeschwindigkeitsdatenverkehrs; eine USB-Transceiver-Makrozelle (610), die mit dem erweiterten USB-Hostcontroller verbunden ist, um den Datentransfer zu und von einem USB-Gerät abzuwickeln; und eine Transceiver-Testschaltung (620) zum Steuern der USB-Transceiver-Makrozelle, um Vollgeschwindigkeits- und/oder Niedergeschwindigkeitstestfunktionen durchzuführen.
  14. Southbridgebauelement nach Anspruch 13, wobei der erweiterte USB-Hostcontroller die Transceiver-Testschaltung umfasst.
  15. Southbridgebauelement nach Anspruch 13, wobei der erweiterte USB-Hostcontroller ein Registerfile (505) aufweist, das Register umfasst, die Daten bezüglich wenigstens einer der Vollgeschwindigkeits- und/oder Niedergeschwindigkeitstestfunktionen speichern.
  16. Southbridgebauelement nach Anspruch 15, wobei wenigstens eines der zweiten Register ein Steuerregister ist, das Daten speichert, die eine der Vollgeschwindigkeits- und/oder Niedergeschwindigkeitstestfunktionen angeben.
  17. Southbridgebauelement nach Anspruch 15, wobei wenigstens eines der zweiten Register ein Statusregister ist, das Daten speichert, die einen Status angeben, wenn die USB-Transceiver-Makrozelle gesteuert wird, um eine der Vollgeschwindigkeits- und/oder Niedergeschwindigkeitstestfunktionen durchzuführen.
  18. Southbridgebauelement nach Anspruch 13, wobei die USB-Transceiver-Makrozelle imstande ist, einen NRZI-Datentransfer (NRZI: Non Return to Zero Invert) von K- und J-Zuständen abzuwickeln, und die Vollgeschwindigkeits- und/oder Niedergeschwindigkeitstestfunktionen wenigstens eine der folgenden Funktionen umfassen: eine Test-J- Funktion, die die USB-Transceiver-Makrozelle zwingt, den J-Zustand einzunehmen und in diesem Zustand zu verbleiben, bis eine Beendigungsaktion stattfindet, und eine Test-K-Funktion, die die USB-Transceiver-Makrozelle zwingt, den K-Zustand einzunehmen und in diesem Zustand zu verbleiben, bis eine Beendigungsaktion stattfindet.
  19. Southbridgebauelement nach Anspruch 13, wobei die USB-Transceiver-Makrozelle imstande ist, einen NRZI-Datentransfer (NRZI: Non Return to Zero Invert) abzuwickeln, und die Vollgeschwindigkeits- und/oder Niedergeschwindigkeitstestfunktionen eine Single-Ended-Zero-Testfunktion umfassen, die die USB-Transceiver-Makrozelle zwingt, einen Vollgeschwindigkeits- oder Niedergeschwindigkeitsempfangsmodus einzunehmen und in diesem Modus zu verbleiben, bis eine Beendigungsaktion stattfindet.
  20. Southbridgebauelement nach Anspruch 13, wobei die USB-Transceiver-Makrozelle imstande ist, einen NRZI-Datentransfer (NRZI: Non Return to Zero Invert) von K- und J-Zuständen abzuwickeln, und die Vollgeschwindigkeits- und/oder Niedergeschwindigkeitstestfunktionen eine Testfunktion umfassen, die die USB-Transceiver-Makrozelle zwingt, wiederholt ein Vollgeschwindigkeits- oder Niedergeschwindigkeitstestmuster zu senden, bis eine Beendigungsaktion stattfindet.
  21. Southbridgebauelement nach Anspruch 20, wobei das Vollgeschwindigkeits- oder Niedergeschwindigkeitstestmuster eine Aneinanderreihung von vier KJ-Zustandspaaren, zwei Single-Ended-Zero-Signalen und zwei J-Zuständen ist.
  22. Hostcontroller zum Steuern des Transfers von Daten zu und von Peripheriegeräten über einen seriellen Bus, wobei der Hostcontroller umfasst: eine erste Steuerschaltung (225) zum Steuern eines Datentransfers bei einer ersten Datensendegeschwindigkeit; eine zweite Steuerschaltung (215, 405, 410) zum Steuern eines Datentransfers bei einer zweiten Datensendegeschwindigkeit, die niedriger als die erste Datensendegeschwindigkeit ist; und eine Transceiver-Schaltung (610), die mit der ersten Steuerschaltung verbunden ist, um den Datentransfer zu und von den Peripheriegeräten bei der ersten und zweiten Datensendegeschwindigkeit abzuwickeln; wobei die erste Steuerschaltung eine Testschaltung (620) zum Steuern der Transceiver-Schaltung umfasst, um Testfunktionen durchzuführen, um den Betrieb der Transceiver-Schaltung bei der zweiten Datensendegeschwindigkeit zu testen.
  23. Hostcontroller nach Anspruch 22, wobei die Transceiver-Schaltung imstande ist, einen NRZI-Datentransfer (NRZI: Non Return to Zero Invert) von K- und J-Zuständen abzuwickeln, und wobei die Testfunktionen wenigstens eine der folgenden Funktionen umfassen: eine Test-J-Funktion, die die Transceiver-Schaltung zwingt, den J-Zustand einzunehmen und in diesem Zustand zu verbleiben, bis eine Beendigungsaktion stattfindet, und eine Test-K-Funktion, die die Transceiver-Schaltung zwingt, den K-Zustand einzunehmen und in diesem Zustand zu verbleiben, bis eine Beendigungsaktion stattfindet.
  24. Hostcontroller nach Anspruch 22, wobei die Transceiver-Schaltung imstande ist, einen NRZI-Datentransfer (NRZI: Non Return to Zero Invert) abzuwickeln, und wobei die Testfunktionen eine Single-Ended-Zero-Testfunktion umfassen, die die Transceiver-Schaltung zwingt, einen Empfangsmodus bei der zweiten Geschwindigkeit einzunehmen und in diesem Modus zu verbleiben, bis eine Beendigungsaktion stattfindet.
  25. Hostcontroller nach Anspruch 22, wobei die Transceiver-Schaltung imstande ist, einen NRZI-Datentransfer (NRZI: Non Return to Zero Invert) von K- und J-Zuständen abzuwickeln, und wobei die Testfunktionen eine Testfunktion umfassen, die die Transceiver-Schaltung zwingt, ein Testmuster der zweiten Geschwindigkeit wiederholt zu senden, bis eine Beendigungsaktion stattfindet.
  26. Hostcontroller nach Anspruch 25, wobei das Testmuster der zweiten Geschwindigkeit eine Aneinanderreihung von vier KJ-Zustandspaaren, zwei Single-Ended-Zero-Signalen und zwei J-Zuständen ist.
  27. Computersystem, umfassend: wenigstens ein USB-Gerät; und ein Southbridgebauelement; wobei das Southbridgebauelement umfasst: einen erweiterten USB-Hostcontroller (225) zum Steuern eines Hochgeschwindigkeitsdatenverkehrs; eine USB-Transceiver-Makrozelle (610), die mit dem erweiterten USB-Hostcontroller verbunden ist, um den Datentransfer zu und von dem wenigstens einen USB-Gerät abzuwickeln; und eine Transceiver-Testschaltung (620) zum Steuern der USB-Transceiver-Makrozelle, um Vollgeschwindigkeits- und/oder Niedergeschwindigkeitstestfunktionen durchzuführen.
  28. Verfahren zum Betreiben eines USB-Hostcontrollers (USB: Universal Serial Bus), wobei das Verfahren umfasst: Betreiben eines erweiterten Hostcontrollers (225), um einen USB-Hochgeschwindigkeitsdatenverkehr zu steuern; Betreiben wenigstens eines Begleithostcontrollers (215, 405, 410), um einen USB-Vollgeschwindigkeits- und/oder USB-Niedergeschwindigkeits-Datenverkehr zu steuern; und Abwickeln des Datentransfers zu und von einem USB-Gerät in einer USB-Transceiver-Makrozelle (610); wobei das Verfahren weiterhin umfasst: Betreiben einer Testschaltung (620) in dem erweiterten Hostcontroller, um die USB-Transceiver-Makrozelle zu steuern, um Vollgeschwindigkeits- und/oder Niedergeschwindigkeitstestfunktionen durchzuführen.
  29. Verfahren nach Anspruch 28, weiterhin umfassend: Speichern von Daten bezüglich wenigstens einer der Vollgeschwindigkeits- und/oder Niedergeschwindigkeitstestfunktionen in einem Registerfile (505) des erweiterten Hostcontrollers.
  30. Verfahren nach Anspruch 29, wobei die Daten Steuerdaten umfassen, die eine der Vollgeschwindigkeits- und/oder Niedergeschwindigkeitstestfunktionen angeben.
  31. Verfahren nach Anspruch 30, wobei die Steuerdaten ein Flag umfassen, das anzeigt, ob die eine der Vollgeschwindigkeits- und/oder Niedergeschwindigkeitstestfunktionen gegenwärtig durchgeführt wird.
  32. Verfahren nach Anspruch 29, wobei die Daten Statusdaten umfassen, die einen Status angeben, wenn die USB-Transceiver-Makrozelle gesteuert wird, um eine der Vollgeschwindigkeits- und/oder Niedergeschwindigkeitstestfunktionen durchzuführen.
  33. Verfahren nach Anspruch 32, wobei die Statusdaten ein Flag umfassen, das das Auftreten eines Datensendefehlers anzeigt.
  34. Verfahren nach Anspruch 29, wobei die Daten Verkäuferbefehlssteuerdaten umfassen, die einen Verkäufersteuerbefehl angeben.
  35. Verfahren nach Anspruch 34, wobei die Verkäuferbefehlssteuerdaten ein Flag umfassen, das anzeigt, dass der Verkäufersteuerbefehl zu laden ist.
  36. Verfahren nach Anspruch 28, wobei das Abwickeln des Datentransfers zu und von dem USB-Gerät das Abwickeln eines NRZI-Datentransfers (NRZI: Non Return to Zero Invert) von K- und J-Zuständen umfasst und die Vollgeschwindigkeits- und/oder Niedergeschwindigkeitstestfunktionen wenigstens eine der folgenden Funktionen umfassen: eine Test-J-Funktion, die die USB-Transceiver-Makrozelle zwingt, den J-Zustand einzunehmen und in diesem Zustand zu verbleiben, bis eine Beendigungsaktion stattfindet, und eine Test-K-Funktion, die die USB-Transceiver-Makrozelle zwingt, den K-Zustand einzunehmen und in diesem Zustand zu verbleiben, bis eine Beendigungsaktion stattfindet.
  37. Verfahren nach Anspruch 28, wobei das Abwickeln des Datentransfers zu und von dem USB-Gerät das Abwickeln eines NRZI-Datentransfers (NRZI: Non Return to Zero Invert) umfasst und die Vollgeschwindigkeits- und/oder Niedergeschwindigkeitstestfunktionen eine Single-Ended-Zero-Testfunktion umfassen, die die USB-Transceiver-Makrozelle zwingt, einen Vollgeschwindigkeits- oder Niedergeschwindigkeits-Empfangsmodus einzunehmen und in dem Modus zu verbleiben, bis eine Beendigungsaktion stattfindet.
  38. Verfahren nach Anspruch 28, wobei das Abwickeln des Datentransfers zu und von dem USB-Gerät das Abwickeln eines NRZI-Datentransfers (NRZI: Non Return to Zero Invert) von K- und J-Zuständen umfasst und die Vollgeschwindigkeits- und/oder Niedergeschwindigkeitstestfunktionen eine Testfunktion umfassen, die die USB-Transceiver-Makrozelle zwingt, wiederholt ein Vollgeschwindigkeits- oder Niedergeschwindigkeitstestmuster zu senden, bis eine Beendigungsaktion stattfindet.
  39. Verfahren nach Anspruch 38, wobei das Vollgeschwindigkeits- oder Niedergeschwindigkeitstestmuster eine Aneinanderfügung von vier KJ-Zustandspaaren, zwei Single-Ended-Zero-Signalen und zwei J-Zuständen ist.
DE10239814A 2002-08-29 2002-08-29 Erweiterte Testmodusunterstützung für Hostcontroller Expired - Fee Related DE10239814B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE10239814A DE10239814B4 (de) 2002-08-29 2002-08-29 Erweiterte Testmodusunterstützung für Hostcontroller
US10/324,782 US7225288B2 (en) 2002-08-29 2002-12-20 Extended host controller test mode support for use with full-speed USB devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10239814A DE10239814B4 (de) 2002-08-29 2002-08-29 Erweiterte Testmodusunterstützung für Hostcontroller

Publications (2)

Publication Number Publication Date
DE10239814A1 DE10239814A1 (de) 2004-05-13
DE10239814B4 true DE10239814B4 (de) 2008-06-05

Family

ID=32086819

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10239814A Expired - Fee Related DE10239814B4 (de) 2002-08-29 2002-08-29 Erweiterte Testmodusunterstützung für Hostcontroller

Country Status (2)

Country Link
US (1) US7225288B2 (de)
DE (1) DE10239814B4 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009027168A1 (de) * 2009-06-24 2010-12-30 Endress + Hauser Gmbh + Co. Kg Verfahren zum Ermitteln einer übermittelten Telegramm-Datenlänge

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7181649B2 (en) * 2003-05-09 2007-02-20 Stmicroelectronics, Inc. Universal serial bus (USB) smart card having enhanced testing features and related system, integrated circuit, and methods
US7103512B2 (en) * 2004-05-26 2006-09-05 Microchip Technology Incorporated USB eye pattern test mode
US20060075164A1 (en) * 2004-09-22 2006-04-06 Ooi Eng H Method and apparatus for using advanced host controller interface to transfer data
US20060111886A1 (en) * 2004-11-23 2006-05-25 Mahesh Siddappa Method and system for modeling of a differential bus device
KR100618266B1 (ko) * 2005-03-21 2006-09-01 주식회사 팬택 Lvds를 이용한 데이터 송수신 장치 및 그를 이용한휴대용 단말기 및 그 방법
US7505331B1 (en) 2005-11-23 2009-03-17 Altera Corporation Programmable logic device with differential communications support
JP4422134B2 (ja) * 2006-09-29 2010-02-24 Okiセミコンダクタ株式会社 Usbテスト回路
KR101029074B1 (ko) * 2007-01-10 2011-04-18 삼성전자주식회사 호스트 컨트롤러에서의 디스크립터 추적 장치 및 그 추적방법
US20090063717A1 (en) * 2007-08-28 2009-03-05 Bohm Mark R Rate Adaptation for Support of Full-Speed USB Transactions Over a High-Speed USB Interface
US20090216517A1 (en) * 2008-02-27 2009-08-27 Ophir Herbst Dedicated simulator for testing a usb host solution
US8799532B2 (en) 2011-07-07 2014-08-05 Smsc Holdings S.A.R.L. High speed USB hub with full speed to high speed transaction translator
US9087158B2 (en) 2012-06-30 2015-07-21 Intel Corporation Explicit control message signaling
EP2912831B1 (de) * 2012-10-29 2018-04-11 Qualcomm Incorporated Ethernet-über-usb-schnittstellen mit vollduplex-differenzialpaaren
CN103810127B (zh) * 2012-11-13 2017-09-08 深圳市中兴微电子技术有限公司 Usb低速设备数据传输控制方法及控制器
US20140280960A1 (en) * 2013-03-15 2014-09-18 Apple, Inc. Methods and apparatus for dynamically allocating devices between multiple controllers
TWI488038B (zh) * 2013-04-09 2015-06-11 Quanta Comp Inc 通用序列匯流排測試裝置
US9081705B2 (en) 2013-06-11 2015-07-14 Apple Inc. Methods and apparatus for reliable detection and enumeration of devices
WO2016085496A1 (en) * 2014-11-26 2016-06-02 Hewlett-Packard Development Company, L.P. Data communication using a preferred transfer mode
US9825730B1 (en) * 2016-09-26 2017-11-21 Dell Products, Lp System and method for optimizing link performance with lanes operating at different speeds
JP2018057246A (ja) * 2016-09-30 2018-04-05 キヤノン株式会社 電子機器

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5958072A (en) * 1997-01-13 1999-09-28 Hewlett-Packard Company Computer-system processor-to-memory-bus interface having repeating-test-event generation hardware
TW345292U (en) * 1997-08-09 1998-11-11 Siemens Telecomm System Ltd Controller with universal serial bus
KR100272671B1 (ko) * 1998-03-09 2000-11-15 윤종용 데이터 트랜시버 및 그것을 갖는 버스 인터페이스
US6393588B1 (en) * 1998-11-16 2002-05-21 Windbond Electronics Corp. Testing of USB hub
US6343260B1 (en) * 1999-01-19 2002-01-29 Sun Microsystems, Inc. Universal serial bus test system
US6829726B1 (en) * 2000-03-06 2004-12-07 Pc-Doctor, Inc. Method and system for testing a universal serial bus within a computing device
TW479142B (en) * 2000-07-14 2002-03-11 Inventec Corp Method for testing USB port and the device thereof
US6810484B2 (en) * 2001-03-01 2004-10-26 Synopsys, Inc. Device and method for clock synchronization through extraction of data at frequency distinct from data rate of USB interface
US6901471B2 (en) * 2001-03-01 2005-05-31 Synopsys, Inc. Transceiver macrocell architecture allowing upstream and downstream operation
CA2438478C (en) * 2001-03-14 2009-03-24 British Telecommunications Public Limited Company Communications terminal using infrared link
US6721815B1 (en) * 2001-09-27 2004-04-13 Intel Corporation Method and apparatus for iTD scheduling
US7007119B2 (en) * 2001-09-28 2006-02-28 Intel Corporation System and method for supporting split transactions on a bus
DE60322702D1 (de) * 2002-06-12 2008-09-18 Nxp Bv Bussystem, station zur verwendung in einem bussystem und busschnittstelle

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Enhanced Host Controller Interface Specification for Universal Serial Bus Revision 1.0 *
SB 2.0 Tranceiver Macrocell Tester (T&MT) Inter- face Specification, Version 1.2
SB 2.0 Tranceiver Macrocell Tester (T&MT) Interface Specification, Version 1.2 *
USB 2.0 Tranceiver Macrocell Interface (UTMI) Spe- cification, Version 1.05
USB 2.0 Tranceiver Macrocell Interface (UTMI) Specification, Version 1.05 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009027168A1 (de) * 2009-06-24 2010-12-30 Endress + Hauser Gmbh + Co. Kg Verfahren zum Ermitteln einer übermittelten Telegramm-Datenlänge

Also Published As

Publication number Publication date
DE10239814A1 (de) 2004-05-13
US20040078716A1 (en) 2004-04-22
US7225288B2 (en) 2007-05-29

Similar Documents

Publication Publication Date Title
DE10239814B4 (de) Erweiterte Testmodusunterstützung für Hostcontroller
DE10234991B4 (de) Hostcontrollerdiagnose für einen seriellen Bus
DE60304455T2 (de) Usb host controller
US6353867B1 (en) Virtual component on-chip interface
DE69731917T2 (de) Datenströmung in einer Busbrücke
DE10234990B4 (de) Hostcontroller, Verfahren zum Betreiben, zugehöriges Southbridgebauelement und Computersystem zur Steuerung der Ersetzung im voraus geholter Deskriptoren in einem Cache
DE112013005090T5 (de) Steuernachrichtenübermittlung in einem mehrfach-Slot-Verbindungsschicht-Flit
DE10214700A1 (de) Kombinierter ATA/SATA-Controller
DE69333479T2 (de) Hierarchisches Verbindungsverfahren und -gerät
DE69733101T2 (de) Datenüberlaufverwaltung in einem Rechnersystem
DE102005009021A1 (de) Vereinheitliche USB OTG-Steuerungseinheit
DE69724884T2 (de) Gerät und Verfahren zur positiven und subtraktiven Adressdekodierung auf einem Bus
DE102008060790A1 (de) Einchipsystem mit einer Master/Slave-Debug-Schnittstelle
DE102007044891A1 (de) Kontrollerverknüpfung zur Bewältigbarkeit von Maschinenhintergrund
DE112016003222T5 (de) Hochleistungsfähiger repeater
DE19729618C2 (de) Mikroprozessor und Mehrprozessorsystem
DE102005041312A1 (de) Speicherzugriff auf virtuelles Targetgerät
US20040141518A1 (en) Flexible multimode chip design for storage and networking
DE19808988B4 (de) Target-Eingabe/Ausgabesystem zum Koppeln eines auf Hardwarelogik basierenden Emulators an ein Target-System
US7266490B2 (en) Apparatus and method for connecting hardware to a circuit simulation
DE10224163A1 (de) Transaktionsdauermanagement in einem USB-Hostcontroller
DE10214701A1 (de) ATA- und SATA-gemässer Controller
DE102018005759A1 (de) Verbinden von beschleunigerressourcen unter verwendung einesswitches
DE10214067A1 (de) Hochgeschwindigkeitsdatenschnittstelle auf einem Chip
DE112008001143T5 (de) Serialisierung von Daten in einer Multi-Chip-Busimplementierung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8125 Change of the main classification

Ipc: G06F 1126

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

Owner name: GLOBALFOUNDRIES INC., GRAND CAYMAN, KY

8328 Change in the person/name/address of the agent

Representative=s name: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUSSER,

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20120301