DE202015009308U1 - Universelle Serienbus-Emulation von Peripheriegeräten - Google Patents

Universelle Serienbus-Emulation von Peripheriegeräten Download PDF

Info

Publication number
DE202015009308U1
DE202015009308U1 DE202015009308.6U DE202015009308U DE202015009308U1 DE 202015009308 U1 DE202015009308 U1 DE 202015009308U1 DE 202015009308 U DE202015009308 U DE 202015009308U DE 202015009308 U1 DE202015009308 U1 DE 202015009308U1
Authority
DE
Germany
Prior art keywords
usb
emulating
hardware device
physical
test
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.)
Active
Application number
DE202015009308.6U
Other languages
English (en)
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.)
Google LLC
Original Assignee
Google LLC
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
Priority claimed from US14/213,472 external-priority patent/US9811480B2/en
Priority claimed from US14/213,620 external-priority patent/US9772956B2/en
Application filed by Google LLC filed Critical Google LLC
Publication of DE202015009308U1 publication Critical patent/DE202015009308U1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/10Program control for peripheral devices
    • G06F13/105Program control for peripheral devices where the programme performs an input/output emulation function
    • 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/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
    • 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/261Functional testing by simulating additional hardware, e.g. fault simulation
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Systems (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Bus Control (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Ein emulierendes universelles Serienbus-Hardwaregerät (USB), das ein physisches Peripheriegerät in einem Rechensystem emuliert, wobei das emulierende USB-Hardwaregerät umfasst: einen Speicher zum Speichern von Konfigurationsdeskriptoren; einen USB-zu-seriellen Schnittstellenchip; und einen oder mehrere Mikrocontroller mit USB-Unterstützung, die mit Software programmiert werden können, um eine Vielzahl von physischen USB-Peripheriegeräten zu emulieren, indem mehrere USB-Profile unterstützt werden; wobei der eine oder die mehreren Mikrocontroller konfiguriert ist um: ein bestimmtes physischen USB-Peripheriegeräts durch Empfangen spezifischer Deskriptoren einschließlich Geräteidentifikatoren zu emulieren, die sich auf das bestimmte physische USB-Peripheriegerät beziehen, das emuliert wird; mit einem USB-Protokoll auf ein Rechnergerät unter der Prüfung zu antworten; und unter Verwendung eines zweiten Protokolls mit einem Testausführungsrechengerät zu kommunizieren, dass die USB-Interaktionen des physischen USB-Peripheriegeräts simuliert.

Description

  • HINTERGRUND
  • Rechengeräte können mit Peripheriegeräten wie Mäusen, Tastaturen, Druckern, Lautsprechern, Scannern, Mikrofonen und Webkameras über den universellen Serienbus (USB) verbinden, der ein Industriestandard ist, der die Kommunikationsprotokolle zwischen Rechengeräten und Peripheriegeräten definiert. Bei USB verwendet ein Hostrechner (105) einen Busaufzählungsprozess, um den Zustand von USB-Geräten (107) zu identifizieren und zu verwalten, wenn die USB-Geräte (107) an einem USB-Port, der mit (oder auf) dem Hostrechner (105) verbunden ist, angeschlossen sind oder von diesem entfernt werden. Die Host-/Gerätebeziehung ist in 1a dargestellt. Jedes Gerät (107) identifiziert sich unter Verwendung einer Reihe von Deskriptor-Nachrichten in dem Aufzählungsprozess. Die Deskriptor-Nachrichten verwenden ein wohldefiniertes Protokoll und können mit einem USB-Analysator aufgezeichnet werden, wie dargestellt in 1b (101). 1b zeigt verschiedene Befehle, die zwischen einem USB-Gerät und einem Hostrechner gesendet werden, um zu kommunizieren. Typischerweise enthält ein Gerätedeskriptor eine Geräte-ID, Zeichenfolgen und Berichtsdeskriptoren. Ein beispielhafter Gerätsdeskriptor ist in 4a (401) gezeigt. Zusätzliche Meldungen können die Eingänge, Ausgänge und Zustände der Geräte definieren.
  • Unter Schutz gestellt werden und Gegenstand des Gebrauchsmusters sind dabei, entsprechend den Vorschriften des Gebrauchsmustergesetzes, lediglich Vorrichtungen wie in den beigefügten Schutzansprüchen definiert, jedoch keine Verfahren. Soweit nachfolgend in der Beschreibung gegebenenfalls auf Verfahren Bezug genommen wird, dienen diese Bezugnahmen lediglich der beispielhaften Erläuterung der in den beigefügten Schutzansprüchen unter Schutz gestellten Vorrichtung oder Vorrichtungen.
  • Viele herkömmliche Rechensysteme wie Point-of-Sale-Systeme (POS) erfordern mehrere USB-Peripheriegeräte, um ordnungsgemäß zu funktionieren. Beispielsweise können Rechensysteme eine USB-Tastatur, eine USB-Maus und einen USB-Scanner/Drucker umfassen. Es ist kritisch, das Rechensystem und die Interaktionen mit allen Peripheriegeräten zu testen, um zu bestimmen, ob das Rechensystem korrekt funktioniert. Diese Systeme können eine physische Verbindung zwischen einem USB-Gerät und einem Rechengerät erfordern, um die USB-Gerät/Host-Interaktion zu testen.
  • Tests sollten überprüfen, wie ein Rechensystem oder -gerät in der Prüfung auf Peripheriegeräte reagiert und auch überprüft, dass Anwendungen und/oder Systeme, die bestimmte Peripheriegeräte benötigen, ordnungsgemäß funktionieren. Um die Interaktion eines Systems mit Peripheriegeräten zu testen und zu überprüfen, ist es üblich, manuelle Dateneingabe- und Verifizierungsprozeduren für jedes Peripheriegerät, das mit dem System verbunden werden kann, durchzuführen. Für jedes Gerät ist eine manuelle Eingabe erforderlich, da jedes Gerät sich mit einzigartigen USB-Identifikationen präsentiert und ein einfaches generisches Schnittstellen-Testen die spezifischen Eigenschaften der einzelnen Geräte nicht überprüft. Außerdem ist es beim Testen eines Systems oder einer Anwendung, die bestimmte USB-Peripheriegeräte erfordert, wie beispielsweise spezielle Tastaturen, üblich, eine manuelle Prüfung und Validierung unter Verwendung des vollständigen Systems durchzuführen. Diese Prüfverfahren sind fehleranfällig und müssen möglicherweise wiederholt werden, um die Genauigkeit zu gewährleisten.
  • Wie von den Erfindern anerkannt, sollte es eine Möglichkeit geben, Peripheriegeräte in zu testenden Systemen automatisch zu emulieren, während Fehler minimiert und die Genauigkeit gewährleistet wird.
  • ZUSAMMENFASSUNG
  • Diese Spezifikation beschreibt Technologien zum Testen der Interaktion zwischen USB-Peripheriegeräten innerhalb von Rechensystemen im Allgemeinen und speziell für Verfahren und Systeme, die mehrere USB-Peripheriegeräte beim Testen von Rechengeräten und/oder -systemen emulieren können. Die Spezifikation beschreibt auch Technologien, zum Testen von USB-Hardware-Geräteinteraktion innerhalb von Rechensystemen im Allgemeinen und speziell auf Verfahren und Systeme, die mehrere USB-Host-Verbindungen beim Testen von Rechengeräten und/oder -systemen emulieren können
  • Im Allgemeinen kann ein Aspekt des Gegenstandes, der in dieser Beschreibung beschrieben ist, in einem emulierenden universeller Serienbus(USB)-Hardwaregerät, das ein physisches Peripheriegerät in einem Rechensystem emuliert, und in einem Rechensystem zum Testen von Peripheriegeräte-Interaktion verkörpert werden.
  • Ein beispielhaftes emulierendes USB-Hardwargerät umfasst: einen Speicher zum Speichern von Konfigurationsdeskriptoren; einen USB zu serieller Schnittstelle Chip; und einen oder mehrere Mikrocontroller mit USB-Unterstützung, die mit Software programmierbar sind, um eine Vielzahl von physischen USB-Peripheriegeräten zu emulieren, indem mehrere USB-Profile unterstützt werden. Der eine oder die mehreren Mikrocontroller sind konfiguriert um: ein bestimmtes physisches USB-Peripheriegerät zu emulieren, indem spezifische Deskriptoren einschließlich Geräteidentifikatoren in Bezug auf das bestimmte physische USB-Peripheriegerät, das emuliert wird, empfangen werden; mit einem USB-Protokoll auf ein zu testendes Rechengerät zu reagieren; und unter Verwendung eines zweiten Protokolls mit einem Testausführungsrechengerät zu kommunizieren, das die USB-Interaktionen des physischen USB-Peripheriegeräts simuliert.
  • Ein beispielhaftes Rechensystem umfasst: ein Testausführungsrechengerät, das konfiguriert ist, um einen Testrahmen, eine Geräteemulation und einen emulierende Kommunikationstreiber des USB-Hardwaregerätes auszuführen; ein Rechengerät unter der Prüfung; und mindestens ein Hardwaregerät eines emulierenden universellen Serienbusses (USB), das mit Software programmiert werden kann, um eine Vielzahl von physischen USB-Peripheriegeräten durch Unterstützung mehrerer USB-Profile zu emulieren, und die USB-Interaktionen eines ersten physischen USB-Peripheriegeräts mit dem Rechengerät unter Prüfung zu simulieren. Mindestens ein emulierendes USB-Hardwaregerät ist so konfiguriert, dass es ein bestimmtes physisches USB-Peripheriegerät emuliert, indem spezifische Deskriptoren einschließlich Gerätekennungen in Bezug auf das bestimmte physische USB-Peripheriegerät empfangen werden, das emuliert wird; mit einem USB-Protokoll auf ein Rechengerät unter der Prüfung reagiert; und unter Verwendung eines zweiten Protokolls mit einem Testausführungsrechengerät kommuniziert, das die USB-Interaktionen des physikalischen USB-Peripheriegeräts simuliert.
  • Diese und andere Ausführungsformen können als Option ein oder mehrere der folgenden Merkmale beinhalten. Ein oder mehrere Mikrocontroller können so konfiguriert werden, dass sie eine Anwendung der Geräteemulation ausführen, die mit einem Testausführungsrechengerät interagiert und ermöglicht, dass das emulierende USB-Hardwaregerät durch das Testausführungsrechengerät rekonfiguriert wird, um ein anderes physisches USB-Peripheriegerät zu emulieren, ohne die Firmware neu zu schreiben, die auf dem Mikrocontroller gespeichert ist. Ein oder mehrere Mikrocontrollern können so konfiguriert sein, dass sie einen Softwarebefehl empfangen, um ein Kontrollsignal einzustellen, das den Zustand eines Schaltgeräts vorschreibt, das entweder das bestimmte physische USB-Peripheriegerät oder das emulierte USB-Hardwaregerät mit dem Rechengerät unter der Prüfung verbindet. Ein beispielhaftes Hardwaregerät kann einen oder mehrere Eingangs-/Ausgangsanschlüsse an dem einen oder den mehreren Mikrocontrollern umfassen, die zusätzliche Funktionen für das emulierende USB-Hardwargerät bereitstellen. Der eine oder die mehreren Eingangs-/Ausgangsanschlüsse können den Strom zu dem emulierenden USB-Hardwargerät steuern. Der eine oder die mehreren Eingangs-/Ausgangsanschlüsse können ein serieller Anschluss für nicht-USB-Peripheriegeräte sein. Der eine oder die mehreren Eingans-/Ausgangsanschlüsse können ein Point-of-Sale(POS)-Kassenladenanschlusssein, der mit einem POS-Kassenladegerät kommuniziert. Der eine oder die mehreren Eingangs-/Ausgangsanschlüsse können mit einer Erweiterungskarte in Verbindung stehen, die dem emulierenden USB-Hardwaregerät zusätzliche Funktionalität hinzufügt. Ein beispielhaftes emulierendes USB-Hardwaregerät kann so konfiguriert werden, dass es einen nachfolgenden Satz von spezifischen Deskriptoren empfängt, um ein zweites physisches USB-Peripheriegerät zu emulieren, ohne Firmware neu zu schreiben. Ein beispielhaftes emulierendes USB-Hardwargerät kann so konfiguriert werden, dass es automatisch auf bestimmte Nachrichten reagiert, die von dem Rechengerät unter der Prüfung empfangen werden, ohne dass eine Interaktion von der Testausführungsrechengerät erforderlich ist. Ein beispielhaftes Rechensystem kann ein zweites emulierendes USB-Hardwargeräts umfassen, die ein zweites physikalisches USB-Peripheriegerät emuliert und die USB-Interaktionen des zweiten physikalischen Geräts mit dem Rechengerät unter der Prüfung simuliert. Daten von einem ersten emulierenden USB-Hardwarngeräten können verwendet werden, um eine Antwort von der zweiten emulierenden USB-Hardwargerät festzulegen oder auszuwählen. Ein Testrahmen der Testausführungsrechengerät kann eine Erfassung der Vortestdaten, eine Testfallausführung und eine Efassung und Validierung der Nachtestdaten umfassen. Ein USB-Schaltgerät kann ermöglichen, dass eine USB-Verbindung mit dem Rechengerät unter der Prüfung zwischen dem emulierenden USB-Hardwaregerät und dem bestimmten physischen USB-Peripheriegerät, das das emulierende USB-Gerät emuliert, geschaltet wird.
  • Ein zusätzlicher Aspekt des in dieser Spezifikation beschriebenen Gegenstandes kann in einem emulierenden universellen Serienbus-Hardwaregerät, das eine Host-Verbindung eines USB-Geräts in einem Rechensystem emuliert, und in einem Rechensystem zum Testen von Interaktionen der Peripheriegeräte und Hostverbindungen verkörpert werden.
  • Ein beispielhaftes emulierendes USB-Hardwaregerät umfasst: einen Speicher zum Speichern von Konfigurationsdeskriptoren; von USB zu serieller Schnittstelle Chip; und einen oder mehrere Mikrocontroller mit USB-Unterstützung, die mit Software programmierbar sind, um eine Hostverbindung eines physischen USB-Geräts zu emulieren, indem Software empfangen wird, die USB-Hostmodus-Bussignale konfiguriert, USB-Rahmen auf einem Serienbus initiiert, einen Geräteverbindungsstatus für einen Geräteemulationsprozess anzeigt und Pakete zwischen einem physischen USB-Gerät und dem Emulationsprozess des Geräts weiterleitet.
  • Ein beispielhaftes Rechengerät zum Testen von Peripheriegeräte-Interaktion und Hostverbindungen umfasst: ein Testausführungsrechengerät, das konfiguriert ist, um einen Testrahmen, Hostverbindungen und Emulierung von Kommunikationstreibern des USB-Hardwaregeräts auszuführen; ein Rechengerät unter der Prüfung; ein physisches USB-Peripheriegerät; und mindestens ein emulierendes universelles Serienbus(USB)-Hardwaregeerät, das mit Software programmierbar ist, um eine Hostverbindung eines physischen USB-Geräts zu emulieren, wobei das mindestens ein emulierende universelle serienbus-Hardwaregerät konfiguriert ist, um USB-Hostmodus-Bus-Signale zu konfigurieren; USB-Rahmen auf einem Serienbus zu initiieren; den Verbindungsstatus des Geräts für einen Geräteemulationsprozess anzuzeigen; und Pakete zwischen dem physischen USB-Peripheriegerät und dem Emulationsprozess des Geräts weiterzuleiten.
  • Diese und andere Ausführungsformen können als Option ein oder mehrere der folgenden Merkmale beinhalten. Ein beispielhaftes emulierendes USB-Hardwaregerät kann einen oder mehrere Eingangs-/Ausgangsanschlüsse an dem einen oder den mehreren Mikrocontrollern umfassen, die zusätzliche Funktionen für das emulierende USB-Hardwaregerät bereitstellen. Der eine oder die mehreren Eingangs-/Ausgangsanschlüsse können den Strom zu dem emulierenden USB-Hardwargerät steuern. Der eine oder die mehreren Eingangs-/Ausgangsanschlüsse können ein serieller Anschluss für nicht-USB-Peripheriegeräte sein. Der eine oder die mehreren Eingans-/Ausgangsanschlüsse können ein Point-of-Sale(POS)-Kassenladenanschlusssein, der mit einem POS-Kassenladegerät kommuniziert. Der eine oder die mehreren Eingangs-/Ausgangsanschlüsse können mit einer Erweiterungskarte in Verbindung stehen, die dem emulierenden USB-Hardwaregerät zusätzliche Funktionalität hinzufügt. Der eine oder die mehreren Mikrocontroller können konfiguriert werden, um einen Softwarebefehl zu empfangen, um ein Steuersignal zu setzen, das den Zustand einem Schaltgerät vorschreibt und entweder ein physisches USB-Hostgerät oder das emulierte USB-Hardwaregerät mit dem physischen USB-Gerät verbindet. Das emulierende USB-Hardwaregerät kann so konfiguriert werden, dass einen Satz von spezifischer Deskriptoren empfängt, um ein physisches USB-Peripheriegerät zu emulieren, ohne Firmware neu zu schreiben. Ein Testausführungsrechengerät kann empfangene Daten überwachen und die empfangenen Daten filtern und anzeigen. Ein USB-Schaltgerät kann in dem Rechensyastem enthalten werden, das es ermöglicht, dass eine USB-Verbindung mit dem physischen USB-Peripheriegerät zwischen dem emulierenden USB-Hardwaregerät und einer physischen Hostverbindung, das das emulierende USB-Gerät emuliert, geschaltet wird.
  • Die Einzelheiten einer oder mehrerer Ausführungsformen der Erfindung werden in den beigefügten Zeichnungen ausgeyogen, die nur zur Veranschaulichung gegeben werden, und die Beschreibung wie unten. Andere Merkmale, Aspekte und Vorteile der Erfindung werden aus der Beschreibung, den Zeichnungen und den Ansprüchen deutlich. Entsprechende Referenznummern und Kennzeichnungen in den verschiedenen Zeichnungen zeigen entsprechende Elemente an.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1a ist ein Blockdiagramm, das einen üblichen Aufzählungsprozess zwischen einem Hostrechen und einem physischen USB-Peripheriegerät veranschaulicht.
  • 1b stellt verschiedene Befehle dar, die zwischen einer USB-Gerät und einer Hostrechen gesendet werden, um zu kommunizieren
  • 2 ist ein schematisches Diagramm eines beispielhaften emulierten USB-Hardwaregeräts.
  • 3 ist ein schematisches Diagramm eines beispielhaften emulierten USB-Hardwaregeräts mit einem USB-Schaltgerät.
  • 4a ist ein beispielhafter Pseudocode, der verwendet wird, um einen beispielhaften Mikrocontroller zum Emulieren eines bestimmten USB-Peripheriegeräts zu programmieren.
  • 4b ist eine Fortsetzung des beispielhaften Pseudocodes von 4a ist, um einen beispielhaften Mikrocontroller zum Emulieren eines bestimmten USB-Peripheriegeräts zu programmieren.
  • 5a ist ein Flussdiagramm eines beispielhaften Verfahrens zum Emulieren einem universellen Serienbus-Peripheriegerät.
  • 5b ist ein Flussdiagramm eines beispielhaften Verfahrens zum Emulieren einer universellen Serienbusverbindung.
  • 6a ist ein Beispiel für einen POS-Testfall.
  • 6b ist ein beispielhaftes Blockdiagramm von Komponenten für einen POS-Test.
  • 7 ist ein schematisches Diagramm eines beispielhaften emulierten USB-Hardwaregerät, das eine Hostseite einer USB-Verbindung emuliert.
  • 8 ist ein Blockdiagramm, das ein beispielhaftes Rechengerät darstellt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Nach einer beispielhaften Ausführungsform, um Systemen zu testen, die mindestens ein USB-Peripheriegerät benötigen, kann es ein emuliertes USB-Peripheriegerät (EUP) vorhanden sein, Peripheriegeräten und/oder Hostverbindungen zu emulieren. Das beispielhafte Hardwaregerät kann sich auf mehrere Begriffe, wie ”ein emuliertes USB-Peripheriegerät (EUP)”, ”emuliertes USB-Peripheriegerät” und ”emuliertes USB-Hardwaregerät”, bezeichnet werden. Diese Begriffe beziehen sich alle auf dasselbe Gerät, das die Möglichkeit haben kann, je nach Konfiguration des Geräts im Host- oder Gerätemodus zu funktionieren.
  • Ein Beispiel eines EUP-Gerätes kann zwischen zwei Modi, wie Gerätemodus und Hostmodus, umshalten sein. Im Gerätemodus kann ein EUP-Gerät in der Lage sein, eine Anzahl verschiedener Peripheriegeräte zu emulieren. Im Host-Modus kann ein EUP-Gerät eine Hostseite einer USB-Verbindung emulieren. Es kann auch ein emuliertes USB-Peripherievalidierungsrahmen, der ein EUP-Gerät, eine Testausführungsrechengerät umfasst, Testskripts und ein System auszuführen, für das die peripheren Interaktionen getestet werden (z. B. das Rechengerät unter der Prüfung), vorhanden sein.
  • EUP GERÄT IN GERÄTEMODUS
  • Ein beispielhaftes emuliertes USB-Peripherie-Hardwaregerät (EUP) kann einen oder mehrere Mikrocontroller (203) mit USB-Unterstützung und einen USB- zuseriellen Schnittstellenchip (202), wie gezeigt in 2 umfassen. USB-Unterstützung kann eingebaut werden oder einen externen Chip verwenden. Ein EUP-Gerät kann einen Mikrocontroller pro USB-Kanal verfügen, aber kann mehrere Mikrocontroller und USB-Kanäle haben. Der serielle Chip (202) kann eine Verbindung mit dem Testausführungsrechengerät (201) herstellen. Ein Testausführungsrechengerät (201) ist das Gerät, das die Testanwendung ausführt, und einen EUP-Treiber, so dass ein EUP-Gerät mit einem Rechengerät unter der Prüfung interagieren kann (204).
  • In einigen Ausführungsformen kann das EUP-Gerät im Gerätemodus für Testzwecke nicht ausschließlich verwendet werden. Beispielsweise kann ein EUP-Gerät verwendet werden, um Peripheriegeräte zu emulieren, die möglicherweise nicht verfügbar sind oder eine Schnittstelle zu Vermächtnis-Rechengerät aufweisen. In diesen Fällen kann das EUP-Gerät noch mit einem Testausführungsrechengerät verbunden sein, um Befehle zu empfangen und mit einem Rechengerät zu verbinden. Das EUP-Gerät interagiert dann mit dem Rechengerät als Peripheriegerät, das nicht verfügbar oder griffbereit ist, oder als Schnittstelle zu einem Vermächtnis-Rechengerät.
  • Die USB-Unterstützung in dem Mikrocontroller kann es dem Mikrocontroller ermöglichen, aus dem USB anzubringen/abzunehmen, Resets zu erkennen, Anfragen oder Nachrichten zu empfangen und Nachrichten zu senden. Im Gerätemodus kann jeder Mikrocontroller jeweils eine Instanz eines USB-Peripheriegeräts emulieren. Eine USB-Schnittstelle kann nur Pakete, die an das EUP-Gerät adressiert sind, automatisch empfangen und brechen eingehende Pakete durch Endpunkte ab. In üblichen USB-Geräten werden alle Befehle und Antworten in der Firmware programmiert und ausgewählte Teile der Nachrichten werden zu und von dem Rechnergerät unter der Prüfung weitergeleitet. In einer beispielhaften Ausführungsform führt ein EUP-Gerät eine Anwendung aus, die mit dem Rechengerät unter der Prüfung interagiert, um ein gegebenes USB-physisches Gerät zu emulieren. Da das EUP-Gerät eine Anwendung über die Firmware ausführt, kann das EUP-Gerät so konfiguriert werden, emuliert unterschiedliche Geräte, ohne die auf dem Mikrocontroller gespeicherte Firmware neu zu schreiben.
  • In einigen Ausführungsformen kann es eine USB-Schaltgerät (300) sein, die durch das EUP-Gerät (310) gesteuert wird, wie dargestellt in 3 sein. Eine beispielhafte Schaltgerät (301) kann als Hardwarekomponente, die ein physisches Peripheriegerät (305) mit einem beispielhaften System verbindet oder entfernt, implementiert sein. Diese Schaltgerät (300) kann eine USB-Verbindung, die zwischen dem EUP-Gerät (emuliertes USB-Peripheriegerät) (310) und dem physischen Gerät (305) (USB-Peripheriegerät) geschalten wird, ermöglichen, das das EUP-Gerät darstellt, um beide Interaktionen innerhalb des Rechengerät zu testen. Eine beispielhafte Schaltgerät (300) kann über angetriebene USB-Anschlüsse für das physische Gerät (305) und Energieeingangsverbindungen, die mit dem Testsystem verbunden werden, aufweisen. Die Schaltgerät (300) kann nur die USB-Signalverbindungen schalten. Ein Softwarebefehl von einer Testanwendung kann an den Mikrocontroller (303) des EUP-Geräts (310) gesendet werden, ein Steuersignal zu setzen, das den Zustand dem Schaltgerät vorgibt, um zu zeigen, ob das physische USB-Peripheriegerät oder das emulierte Peripheriegerät zu einem festgelegten Zeitpunkt verbunden wird. Ein beispielhaftes Schaltgerät (300) kann mit dem physischen Gerät (305) standardmäßig verbunden sein, wenn das EUP-Testausführungsrechengerät (301) nicht verbunden ist oder nicht für Tests verwendet wird. Wenn das EUP-Gerät (310) für die Verwendung konfiguriert ist, kann die EUP-Treibersoftware das EUP-Gerät (310) in das System schalten. Wenn die Testanwendung nicht die Software zur Steuerung der Schalteinrichtung (300) führt aus oder das EUP-Gerät (310) wird nicht eingeschaltet, kehrt das Schaltgerät (300) zum Durchgang durch die Verbindung zur Durchreihefassung um.
  • Ein beispielhaftes EUP-Gerät kann zusätzliche Eingangs-/Ausgangsanschlüsse (IO) auf dem Mikrocontroller umfassen, um eine Funktionalität bereitzustellen, wie beispielsweise das Verwalten von Energie für das Rechengerät oder -system unter der Prüfung und die Bereitstellung serieller Anschlüsse für nicht-USB-periphere Prüfungen. Jeder EUP-Mikrocontroller kann zu einem bestimmten Zeitpunkt ein physisches USB-Peripheriegerät emulieren. Zusätzlich kann der Mikrocontroller während des Emulierens des physischen USB-Peripheriegeräts auch eine Emulation von einem oder mehreren seriellen Geräten und einer oder mehreren physischen Kontaktschaltgerät bereitstellen. In einigen Ausführungsformen kann ein Eingangs-/Ausgangsanschlüsse eine POS-Kassenlade emulieren, die ein Signal erkennen kann, das zum Öffnen der Schublade auffordert und ein Signal erzeugt, das angibt, dass die Schublade öffnet u. a. Ferner kann ein Eingangs-/Ausgangsanschlüsse verwendet werden, eine Erweiterungskarte zu dem EUP-Gerät hinzuzufügen, um eine zusätzliche Funktionalität bereitzustellen, die noch definiert werden muss.
  • Damit ein EUP-Gerät ein Peripheriegerät emulieren kann, kann ein beispielhafter Mikrocontroller des EUP-Gerät mit einer generischen Software programmiert werden, der das Standard-USB-Protokoll für die Interaktion mit einem Rechengerät unter der Prüfung interpretieren und darauf reagieren kann, sowie ein serielles Protokoll für die Interaktion mit dem Testausführungsgerät. Der Beispielcode, der zum Konfigurieren des Mikrocontrollers verwendet wird, wie dargestellt in 4A und 4B ausführlicher dargestellt. Eine Testausführungsrechengerät kann diesen Code verwenden, um jedes USB-Profil einschließlich spezifischer Deskriptoren, die sich auf ein bestimmtes USB-Peripheriegerät beziehen, auf einen EUP-Mikrocontroller zu laden. Spezifische Deskriptoren können eine Geräte-ID, Zeichenfolgen und Berichtsdeskriptoren enthalten; so dass das EUP-Gerät ein bestimmtes Modell und eine Instanz des bestimmten Gerätes emulieren kann. Beispielsweise kann eine Testausführungsrechengerät des EUP-Geräts spezifische Deskriptorinformationen für ein bestimmtes Tastaturmodell bereitstellen, wie in 4a (401) gezeigt. Wenn die Deskriptorinformationen auf das EUP-Gerät geladen werden, emuliert das EUP-Gerät die Funktionalität des bestimmten Tastaturmodells, für das der Deskriptor geladen wurde. Es kann ein Kommunikationsprotokoll zwischen dem Testausführungsrechengerät und dem EUP-Gerät vorhanden sein, das die Pakete definiert, dass das Gerät entweder auf das Testausführungsrechengerät automatisch reagieren oder weiterleiten soll. Jeder Befehl, der nicht angegeben ist, wird keine Antwort ausgeben, da das physische Gerät möglicherweise nicht auf alle Befehle reagieren kann.
  • Eine Testausführungsrechengerät kann spezifizieren, dass ein Mikrocontroller auf bestimmte Nachrichten automatisch reagieren kann. Ein Testausführungsrechengerät kann auch bestimmte USB-Pakete, die gesendet wird an sich selbst, konfigurieren, so dass die Antwort durch einen Geräteemulationsprozess berechnet werden kann, der auf das Testausführungsrechengerät führt aus. Die Verwendung eines Geräteemulationsprozesses auf der Testausführungsrechengerät ermöglicht eine komplizierte Emulation, die auf dem Gerät zu erfolgen ist.
  • Ein EUP-Gerät kann jeder Benachrichtigung emulieren, das das reale USB-Peripheriegerät im normalen Betrieb senden würde. Da die Deskriptorinformationen auf das EUP-Gerät geladen werden, kann der Aufzählungsprozess ohne die Interaktion eines Testausführungsrechengeräts abgeschlossen werden. Der USB-Standard erfordert ein Gerät, um eine Zählung innerhalb einer bestimmten Zeitspanne, wie z. B. zehn Millisekunden, durchzuführen. Durch Laden der Aufzählungsdaten in den Speicher eines beispielhaftes EUP-Geräts ist das EUP-Gerät in der Lage, die Aufzählung innerhalb der erforderlichen Zeitabschaltungsperiode abzuschließen, ohne von einer Testläuferanwendung abhängig zu sein, die innerhalb des erwarteten Zeitrahmens antwortet. Andere Nachrichten, die ein längeres Antwortzeitabschaltung aufweisen, können durch einen Geräteemulationsprozess erzeugt werden, der auf der Testausführungsrechengeröt ausgeführt wird.
  • Die Standard-USB-Bus-Enumeration umfasst mehrere Schritte. Zuerst warnt der Port, an den ein USB-Gerät angeschlossen ist, ein Hostrechengerät an, das ein USB-Gerät angeschlossen und das USB-Gerät in einem angeschalten Zustand ist. Als nächstes sendet der USB-Host Befehle an den Anschluss und weist dem USB-Gerät eine eindeutige Adresse zu. Der Zustand des USB-Geräts wechselt in den adressierten Zustand. Der USB-Host liest Konfigurationsinformationen vom USB-Gerät und entscheidet, wie das USB-Gerät verwendet wird. Anschließend weist der USB-Host dem Gerät einen Konfigurationswert zu und setzt den Zustand des Geräts auf ”Konfiguriert”.
  • Ein EUP-Gerät reagiert auf die Aufzählungsbefehle von der Rechengerät unter Testaufzählung durch Daten, die zuvor durch die Testausführungsrechengerät gespeichert wird. Der Aufzählungsprozess kann ähnlich dem tatsächlichen physischen Peripheriegerät sein.
  • Nach der Aufzählung werden Befehle von der Testanwendung über das EUP-Gerät an das Rechnergerät oder System unter der Prüfung gesendet. Antworten von dem Rechengerät unter der Prüfung werden an das EUP-Gerät zurückgesendet, das dann die Antworten an die Testanwendung zurückgibt. Mit diesem Prozess kann die Testanwendung weiterhin angemessen reagieren und emuliert das durch das EUP-Gerät zu testende Gerät.
  • In einigen Ausführungsformen kann ein beispielhaftes emuliertes USB-Peripherievalidierungsrahmen auf einer Testführungsrechengerät vorhanden sein. Dieserr Rahmen kann mindestens ein EUP-Gerät konfigurieren, um ein peripheres USB-Gerät zu emulieren. Der Rahmen kann dann eine Sequenz von Testfällen ausführen, behandelt unerwartete Ausgabe aus den Testfällen, wenn möglich und validieren dass erwartete Ergebnisse von jedem Testfall erzeugt wurden, und zeigt den Erfolg oder Misserfolg jedes Testfalls an. Beispielsweise kann ein beispielhaftes Validierungsrahmen bereitgestellt werden, um ein Point-of-Sale(POS)-System zu emulieren. Um einen POS-Systemtest durchzuführen, kann eine beispielhafte Ausführungsform zusätzlich ein Point-of-Sale(POS)-Endgerät und einen POS-Kontroller zusammen mit mehreren EUP-Geräte umfassen, um Peripheriegeräte, wie beispielsweise eine Tastatur und einen Scanner, zu emulieren. In einigen Fällen können das Endgerät und die Steuerung das gleiche System sein. Zusätzlich können mehrere Terminals und mehrere Controller vorhanden sein. Ein API-Simulationsserver kann auch verwendet werden, um eine End-to-End-Testumgebung zu erstellen. Tests können mit der Testanwendung, die das Verhalten des Systems unter der Prüfung auf der Grundlage der bereitgestellten Eingaben und des Verhaltens der Anwendungen auf dem System validiert, durchgeführt werden.
  • Der Rahmen kann Systemkonfigurationen lesen und einen Test zur Ausführung auswählen, Dann kann das POS-Terminal initialisiert werden. Der Test kann sequenziert und dann ausgeführt werden. Protokolle können Transaktionen und Antworten aufgezeichnet, wenn der Test ausgeführt wird. Das Testprogramm kann dann die gesammelten Daten nehmen, die gesammelt wurden und stellt die Daten in eine Form zur einfachen Validierung um. Gesammelte Daten und Ergebnisse können für Folgeuntersuchungen protokolliert werden. In einigen Fällen, wenn ein Test nicht richtig ausgeführt, kann manuelle Eingriffe erlaubt werden, um Probleme mit dem System zu korrigieren.
  • Ein Beispielverfahren beginnt in einem Testausführungsrechengerät durch Verbinden der Testausführungsrechengerät mit einem Mikrocontroller auf einem emulierten USB-Peripheriegerät (EUP), das eine USB-Unterstützung und einen USB-zu-seriellen Schnittstellenchip aufweist. Der Mikrocontroller kann mit einer Software, wie einer Geräteemulationsanwendung, konfiguriert werden, die eine Vielzahl von physischen USB-Peripheriegeräten emulieren kann, indem mehrere USB-Profile unterstützt, wie gestellt in 5a (501) dar. Eine nicht-spezifische USB-Anwendung kann im Flash-Speicher des Mikrocontrollers gespeichert werden. Die Software kann ein Standard-USB-Protokoll für die Interaktion mit einem Rechengerät unter der Prüfung und ein serielles Protokoll zum Interagieren mit einem Testausführungsrechengerät interpretieren und darauf antworten. Der Mikrocontroller kann unter Verwendung des seriellen Protokolls mit dem Testausführungsrechengerät kommunizieren, das USB-Interaktionen eines bestimmten physischen USB-Peripheriegeräts simuliert, das emuliert wird (502). Spezifische Deskriptoren, die ein USB-Profil definieren, werden in den Mikrocontroller des EUP-Geräts geladen (503). Die durch die spezifischen Deskriptoren definierte Gerätekonfiguration kann im RAM des Mikrocontrollers gespeichert werden. Diese Deskriptoren umfassen eine Gerätekennung, die sich auf das eigentliche USB-Gerät bezieht, dass der Mikrocontroller emulieren sollte. In diesem Beispiel wird der Mikrocontroller mit der Geräte-ID eines POS-Scanners geladen. Dann können Nachrichten zwischen dem emulierten Gerät an das Rechengerät unter der Prüfung gesendet werden, um tatsächliche Nachrichten zwischen dem realen USB-Peripheriegerät und dem Rechengerät unter der Prüfung zu emulieren (506). Der Ausgang für das Peripheriegerät kann von dem Rechengerät unter der Prüfung durch dem Mikrocontroller empfangen werden und an das Testausführungsrechengerät weitergeleitet werden.
  • 6a stellt einen beispielhaften Testfall für ein POS-System dar. In diesem Testfall wird eine Loyalitätskarte als gescannt simuliert, und dann werden zwei Universal-Product-Codes (UPCs) simuliert, da der Gegenstand//das Objekt gekauft wurde. 6b stellt das beispielhafte System dar. Ein Testausführungsrechengerät (601) kann einen Prozess ausführen, der ein Testrahmenwerk, Geräteemulationen und einen EUP-Gerätekommunikationstreiber enthält. Alternativ kann ein Testausführungsrechengerät (601) verschiedene Prozesse für die Rahmen-, Emulations- und Kommunikationstreiber ausführen. Ein beispielhafte Testrahmen kann umfasst: Vortestdatenerfassung, Testfallausführung und Nachtestdatenerfassung und Validierung. In einem beispielhaften System, wie stellt in 6b dar, kann es mehr als eine EUP-Gerät (610a, 610b) geben, um mehrere Peripheriegeräte in dem System zu einer festgelegten Zeit zu emulieren. Wie beispielsweise in FIG dargestellt. 6b kann ein EUP-Gerät ein Barcode-Scanner-USB-Gerät (610a) emulieren und ein anderes EUP-Gerät kann eine POS-Tastatur (610b) emulieren. Geräteemulationen können gespeichert und über die Testausführungsrechengerät gesendet werden. Eine Testausführungsrechengerät (601) hat einen EUP-Gerätekommunikationstreiber, um mit den EUP-Geräten zu kommunizieren. Es kann ein Thread der Ausführung für jedes EUP-Gerät geben, und es kann eine Koordination/Kommunikation zwischen den EUP-Geräte unter Verwendung von Eingangs-/Ausgangsdaten geben. In einigen Ausführungsformen kann eine EUP-Gerät Daten ausgeben, die zur Zeit verwendet werden oder wählt eine Antwort von einer zweiten EUP-Gerät aus. Beispielsweise kann in einem beispielhaften POS-System eine WAIT-Leuchte auf der Tastatur vorhanden sein, wenn es aktiviert, den Scanner daran hindert, keine weiteren Scans zu akzeptieren. Die Software verwendet diese Beziehung, um ein Überlaufen des POS-Eingangspuffers zu vermeiden. Alternativ kann ein Ausführungsbeispiel die Anzeige eines POS-Systems lesen, um den nächsten zu sendenden Schlüssel zu bestimmen, wenn eine Fehlermeldung oder eine Aufforderung vorliegt.
  • In diesem Testfall wird den EUP-Gerät, das den Scanner (610a) emuliert, korrekt Nachrichten erwartet, sendet Nachrichten, dass Loyalitätskarte durch einen numerischen Identifizierer und die Identifizierer der beiden gescannten Produkte identifizieren. Das EUp-Gerät emuliert die Testatur (610b), die erwartet wird, sendet Eingabesignale entsprechend den Tasten der Tastatur korrekt, die gedrückt werden und gibt für ”QTY” und ”TOTAL” frei. CashOut kann eine intelligente Routine sein, die auf die Anzeige schaut und sendet dann den richtigen Eintrag über die Tastatur. Die Validierung kann bestimmen, dass ein Test durchgeführt wurde, wie erwartet. Die Validierung kann umfassen: Überprüfen, ob die Transaktionen stattgefunden haben, wie erwartet, dass die Anzahl der angewendeten Coupons korrekt ist oder die vom Peripheriegerät erkannte Kundennummer richtig ist.
  • Ein EUP-Gerät kann zu einem bestimmten Zeitpunkt ein Peripheriegerät pro Mikrocontroller emulieren. Wenn ein EUP-Gerät mehr als einen Mikrocontroller enthält, kann das EUP-Gerät verschiedene Peripheriegeräte gleichzeitig emulieren und ordnet jedem Mikrocontroller ein Peripheriegerät zu.
  • Wie in dem POS-Systembeispiel diskutiert, müssen Rechensysteme mehrere Peripheriegeräte-Interaktionen testen. Ein Rechensystem muss die Funktionalität mit einer Maus, einer Tastatur und einem Drucker testen. In einer Ausführungsform kann eine EUP-Gerät verwendet werden, um jedes Gerät seriell zu testen. Das EUP-Gerät kann so programmiert werden, um es jedes Peripheriegerät zu einem anderen Zeitpunkt emuliert. Beispielsweise kann das EUP-Gerät zuerst eine Maus, dann eine Tastatur und dann einen Drucker emulieren. Alternativ können mehrere EUP-Geräte verwendet werden, um mehrere Peripheriegeräte innerhalb des Rechensystems zu emulieren. Beispielsweise können drei EUP-Geräte verwendet werden, um jeweils die Maus, die Tastatur und den Drucker zu emulieren. Das Rechensystem kann dann ein paralleles Testen mehrerer Interaktionen mit Peripheriegeräten durchführen. Durch Emulieren mehrerer Peripheriegeräte können Indikatoren des Betriebssystems des Rechengeräts unter die Prüfung, wie beispielsweise Statuslichter, verwendet werden, um die auf andere Peripheriegeräte wie z. B. Tastaturen oder Scanner eingestellte Informationsrate zu regeln.
  • EUP-GERÄT IM HOST-MODUS
  • In einigen Ausführungsformen kann ein EUP-Gerät eine Hostseite einer USB-Verbindung emulieren, wie stellt in 7 dar. Ein EUP-Gerät kann alle oben in Bezug auf den Gerätemodus erörterten Merkmale enthalten. Zusätzlich kann ein Mikrocontrolleranschluss eines EUP-Geräts USB unterwegs implementieren, so dass das Gerät als Peripheriegerät im Gerätemodus oder als Hostende eines USB-Geräts im Host-Modus fungieren kann.
  • Um eine Hostverbindung zu emulieren, kann ein EUP-Mikrocontroller Software empfangen, die USB-Hostmodus-Bussignale (510) konfiguriert, initiiert USB-Rahmen auf dem Bus (512), zeigt den Gerätestatus (Verbindung oder Trennung) zu einem Emulationsprozess (513) an und leitet Pakete zwischen einem Gerät und dem Emulationsprozess (516) weiter, wie stellt in 5b Die Hostmodus-Bussignalleitungen D+ und D– können mit 15 k Widerständen heruntergezogen und USB-Rahmenpakete können bei 1 kHz oder 8 kHz erzeugt werden. Die USB-Schnittstelle eines EUP-Gerätes im Host-Modus kann Pakete an ein bestimmtes Gerät und einen Endpunkt senden. Paketpuffer können daher im Host-Modus anders behandelt werden, dann sie im Geräte-Modus sind. In einem beispielhaften EUP-Gerät kann ein Mikrocontroller eine Pufferdeskriptortabelle (BDT) aufweisen, um den Speicher zu verfolgen, der für jeden Endpunkt (jedes Gerät) oder ausgehende Pakete (Host) verwendet wird. Wenn ein Paket gesendet wird und feste Daten ist, kann es von einer Tabelle im Programmraum anstelle von RAM gesendet werden. Zusätzlich kann das Gerät auch in der Lage sein, um zwischen dem Gerätemodus und dem Hostmodus dynamisch zu wechseln.
  • Eine Schaltgerät kann das Umschalten entweder eines bestimmten physischen USB-Hostgeräts oder eines emulierten USB-Hardwaregeräts, das mit einem physischen USB-Peripheriegerät verbunden zu werden, ermöglichen. Dieses Schaltgerät kann ähnlich oder dieselbe, wie die Schaltvorrichtung, die oben mit Bezug auf das EUP-Gerät beschrieben wurde, das ein physisches USB-Peripheriegerät emuliert, sein.
  • Es kann ein zusätzliches Schaltgerät zum Verbinden eines physischen Peripheriegerätes mit einem im USB-Hostmodus konfigurierten EUP-Gerät vorhanden sein. Wie in 7 gezeigt, kann ein Mikrocontroller des EUP-Geräts im Host-Modus und mit einem Testausführungsrechengerät verbunden werden, das ebenfalls mit einem zweiten Mikrocontroller des EUP-Geräts verbunden ist, das ein USB-Gerät (Gerätemodus) emuliert. Der Mikrocontroller des EUP-Geräts im Gerätemodus kann mit einem Rechnergerät unter der Prüfung verbunden werden. Diese Konfiguration kann Daten ermöglichen, die durch das System ähnlich einem Busanalyser verfolgt werden. Daten zum Emulieren eines neuen Geräts können über das EUP-Gerät ohne zusätzliche Hardware gesammelt werden. Ein Testausführungsrechengerät kann empfangene Daten überwachen und die empfangenen Daten filtern und anzeigen. Die Systemkonfiguration von 7 kann auch Daten von einem USB-Peripheriegerät, dass Daten von einem USB-Peripheriegerät durch die Software modifiziert werden, die das EUP-Gerät ausführt. Beispielsweise kann ein emulierendes USB-Gerät die gemeldeten Bewegungsrichtungen einer USB-Maus umkehren, so dass die Maus umgedreht und als Trackball verwendet werden kann. Zusätzlich oder alternativ kann die Kombination der beiden Mikrocontroller (oder zwei EUP-Geräte) verwendet werden, um Daten abhängig von der beabsichtigten Funktion selektiv durchzulassen. Obwohl 7 zeigt ein EUP-Gerät mit zwei Mikrocontrollern auf: ein im Gerätemodus und ein im Hostmodus, eine ähnliche Konfiguration kann unter Verwendung von zwei EUP-Geräten oder einem EUP-Gerät mit mehr Mikrocontrollern implementiert werden. Beispielsweise kann ein EUP-Gerät im Host-Modus konfiguriert und das andere EUP-Gerät kann im Gerätemodus konfiguriert werden. Alternativ kann ein EUP-Gerät vier Kanäle mit jeweils einem Mikrocontroller pro Kanal aufweisen. Dieses Beispielgerät kann zwei Instanzen des Busanalysatormodus bereitstellen, wobei jede Instanz einen Host- und Gerätekanal benötigt.
  • Umschalten zwischen Host- und Gerätemodus
  • Wenn die USB-Schnittstelle für den Host-Modus konfiguriert ist, werden die richtigen USB-Pulldown-Widerstände konfiguriert und USB-Rahmen werden auf dem Bus erzeugt. Wenn ein Gerät angeschlossen ist, wird eine Nachricht an den Ausführende gesendet, die dann den Aufzahlungsprozess initiiert. Ein Softwarebefehl vom Ausführerende kann den Mikrocontroller anweisen, ob er sich im Geräte- oder Hostmodus befinden soll.
  • Blockschaltbild auf höchster Ebene
  • 8 ist ein Blockdiagramm auf höchster Ebene eines beispielhaften Computers (800), der zum Emulieren eines universellen Serienbusgerät in einem Rechnersystem eingerichtet ist. In einer sehr grundlegenden Konfiguration (801) umfasst das Rechengeät (800) typischerweise einen oder mehrere Prozessoren (810) und Systemspeicher (820). Ein Speicherbus (830) kann für die Kommunikation zwischen dem Prozessor (810) und dem Systemspeicher (820) verwendet werden.
  • Abhängig von der gewünschten Konfiguration kann der Prozessor (810) von irgendeinem Typ einschließlich sein, aber beschränkt nicht auf einen Mikroprozessor (μP), einen Mikrocontroller (μC), einen digitalen Signalprozessor (DSP) oder einen beliebigen Kombination davon. Der Prozessor (810) kann einen weiteren Cachepegel, wie einen Cachespeicher der Ebene 1 (811) und einen Cachespeicher der Ebene 2 (812), einen Prozessorkern (813) und Register (814), umfassen. Der Prozessorkern (813) kann eine arithmetische Logikeinheit (ALU), eine Gleitkonunaeinheit (FPU), einen Digitalsignalverarbeitungskern (DSP Kern) oder eine beliebige Kombination davon umfassen. Eine Speichersteuerung (816) kann auch mit dem Prozessor (810) verwendet werden, oder in einigen Implementierungen kann der Speicherkontroller (815) ein interner Teil des Prozessors (710) sein.
  • Abhängig von der gewünschten Konfiguration kann der Systemspeicher (820) von irgendeinem Typ einschließlich sein, aber beschränkt nicht auf flüchtigen Speicher (wie RAM), nicht-flüchtigen Speicher (wie ROM, Flash-Speicher, usw.) oder irgendeine Kombination davon. Der Systemspeicher (820) umfasst typischerweise ein Betriebssystem (821), eine oder mehrere Anwendungen (822) und Programmdaten (824). Die Anwendung (822) kann ein Verfahren zum Emulieren einer universellen Serienbus-Hardwaregerät umfassen. Die Programmdaten (824) umfassen das Speichern von Anweisungen, wenn sie von der einen oder mehreren Verarbeitungsgeräten ausgeführt werden, implementieren ein Verfahren zum Emulieren einer universellen Serienbus-Hardwaregerät in einer Rechengerät unter der Prüfung. (823). In einigen Ausführungsformen kann die Anwendung (822) eingerichtet werden, mit Programmdaten (824) auf einem Betriebssystem (821) zu arbeiten.
  • Die Rechengerät (800) kann zusätzliche Merkmale oder Funktionalität und zusätzliche Schnittstellen aufweisen, um die Kommunikation zwischen der Grundkonfiguration (801) und allen erforderlichen Geräten und Schnittstellen zu erleichtern.
  • Der Systemspeicher (820) ist ein Beispiel für Rechenspeichermedien//Computerspeichermedien. Rechenspeichermedien umfassen, aber sie sind nicht beschränkt auf RAM, ROM, EEPROM, Flash-Speicher oder andere Speichertechnologie, CD-ROM, Digitalversatile-Disks (DVD) oder andere optische Speicher, Magnetkassetten, -bänder, -plattenspeicher oder andere magnetische Speichergeräte oder jedes andere Medium, das verwendet werden kann, um die gewünschte Information zu speichern, die auf die durch die Rechengerät 800 zugegriffen werden kann. Jedes derartige Rechenspeichermedium kann Teil der Gerät (800) sein.
  • Die Rechengerät (800) kann als ein Teil einer mobilen elektronischen Gerät eines kleinen Formfaktors, wie beispielsweise eines Mobiltelefons, eines Smartphones, eines PDA (Minicomputer), eines persönlichen Media-Player, eines Tablet-Computer (Tablet), eines drahtlosen Web-Watch-Geräts, eines persönlichen Headset-Geräts, eines anwendungsspezifischen Geräts oder eines Hybrid-Geräts implementieren werden, dass eine der oben genannten Funktionen umfasst. Das Rechengerät (800) kann auch als ein Personalcomputer implementiert werden, der sowohl tragbarer Rechner als auch Nichttragbarer Rechner-Konfigurationen umfasst.
  • Die vorstehende detaillierte Beschreibung hat verschiedene Ausführungsformen der Geräten und/oder Prozessen über die Verwendung von Blockdiagrammen, Flussdiagrammen und/oder Beispielen. Insoweit wie solche Blockdiagramme, Flußcharts und/oder Beispiele eine oder mehrere Funktionen und/oder Operatione beinhalten, werden sie verstanden von denen in der Wissenschaft, das jede Funktion und/oder Operation mit solchen Blockdiagrammen, Flußcharts oder Beispielen implementiert werden können, individuell und/oder kollektiv, durch ein weites Angebot von Hardware, Software, Firmware der irgendeiner virtuellen Kombination davon. In einer Ausführung können verschiedene Bestandteile des hier beschriebenen Themas über anwendungsspezifische, integrierte Schaltkreise (ASICs), feldprogrammierbare Gate-Arrays (FPGAs), digitale Signalprozessoren (DSPs), sonstige integrierte Formate oder als Web-Service enthalten. Dennoch werden die Fachkundigen feststellen, dass einige Aspekte der hier dargelegten Ausführungen, teilweise oder gänzlich, ebenso in integrierten Kreisläufen implementiert werden können, als ein oder mehrere Computerprogramme, die auf einem oder mehreren Computer ausgeführt werden, als ein oder mehrere Programme, die auf einem oder mehreren Prozessoren ausgeführt werden, als Firmware oder irgend eine Kombination davon; und dass ein Entwurf der Kreisläufe und/oder des Schreibens des Codes für die Software und/oder Firmware unter Berücksichtigung der vorliegenden Veröffentlichung eine große Leistung wäre. Darüber hinaus schätzen die Experten, dass die Mechanismen des hierin beschriebenen Gegenstands als Programmprodukt in einer Vielzahl von Formen verteilt werden können und eine veranschaulichende Ausführungsform des hierin beschriebenen Gegenstands unabhängig von dem bestimmten Typ des nicht-transitorischen Signal tragenden Mediums gilt, das zur tatsächlichen Ausführung der Verteilung verwendet wird. Beispiele für ein nicht flüchtiges, signaltragendes Medium beinhalten unter anderem folgendes: ein beschreibbares Medium wie Floppy Disk, ein Hard Disk Drive, eine Compact Disc (CD), eine Digitale Video Disk (DVD), ein digitales Band, ein Computerspeicher etc.; und ein Übertragungsmedium wie ein digitales und/oder analoges Kommunikationsmedium (z. B. Glasfaserkabel, Hohlleiter, verkabelte Nachrichtenverbindung, kabellose Nachrichtenverbindung etc.)
  • Im Hinblick auf die Verwendung von wesentlichen beliebigen pluralen und/oder singulären Ausdrücken können die Fachleute im Kunstbereich aus dem Plural in den Singular und/oder aus dem Singular in den Plural übersetzen, wenn dies den Kontext und/oder die Anwendung geeignet ist. Die verschiedenen Einzahl/Mehrzahl Permutationen können hier ausgedrückt werden aus Gründen der Klarheit.
  • Folglich wurden bestimmte Ausführungsformen des Gegenstands beschrieben. Weitere Ausführungsformen gehören zum Umfang der folgenden Ansprüche. In einigen Fällen können die in den Ansprüchen beschriebenen Handlungen in einer anderen Reihenfolge durchgeführt werden und dennoch erwünschte Ergebnisse erzielen. Zusätzlich erfordern die in den beigefügten Figuren dargestellten Prozesse nicht notwendigerweise die bestimmte gezeigte Reihenfolge oder aufeinanderfolgende Reihenfolge, um erwünschte Ergebnisse zu erzielen. In bestimmten Implementierungen können Multitasking und eine Parallelbearbeitung vorteilhaft sein.

Claims (36)

  1. Ein emulierendes universelles Serienbus-Hardwaregerät (USB), das ein physisches Peripheriegerät in einem Rechensystem emuliert, wobei das emulierende USB-Hardwaregerät umfasst: einen Speicher zum Speichern von Konfigurationsdeskriptoren; einen USB-zu-seriellen Schnittstellenchip; und einen oder mehrere Mikrocontroller mit USB-Unterstützung, die mit Software programmiert werden können, um eine Vielzahl von physischen USB-Peripheriegeräten zu emulieren, indem mehrere USB-Profile unterstützt werden; wobei der eine oder die mehreren Mikrocontroller konfiguriert ist um: ein bestimmtes physischen USB-Peripheriegeräts durch Empfangen spezifischer Deskriptoren einschließlich Geräteidentifikatoren zu emulieren, die sich auf das bestimmte physische USB-Peripheriegerät beziehen, das emuliert wird; mit einem USB-Protokoll auf ein Rechnergerät unter der Prüfung zu antworten; und unter Verwendung eines zweiten Protokolls mit einem Testausführungsrechengerät zu kommunizieren, dass die USB-Interaktionen des physischen USB-Peripheriegeräts simuliert.
  2. Das emulierende USB-Hardwaregerät nach Anspruch 1, wobei der eine oder die mehreren Mikrocontroller ferner konfiguriert ist um: eine Geräteemulationsanwendung zu konfigurieren, die mit der Testausführungsrehengerät interagiert, wobei die Geräteemulationsanwendung es ermöglicht, dass die emulierende USB-Hardwarerechengerät durch die Testausführungsrechengerät rekonfiguriert wird, um ein anderes physisches USB-Peripheriegerät zu emulieren, ohne die auf dem Mikrocontroller gespeicherte Firmware neu zu schreiben.
  3. Das emulierende USB-Hardwaregerät nach Anspruch 1, weiter umfassend: einen oder mehrere Eingangs-/Ausgangsanschlüsse an dem einen oder den mehreren Mikrocontrollern, die zusätzliche Funktionen für das emulierende USB-Hardwaregerät bereitstellt.
  4. Das emulierende USB-Hardwaregerät nach Anspruch 3, wobei der eine oder die mehreren Eingangs-/Ausgangsanschlüsse die Stromversorgung des emulierenden USB-Hardwaregerät steuert.
  5. Das emulierende USB-Hardwaregerät nach Anspruch 3, wobei der eine oder mehrere Eingangs-/Ausgangsanschlüsse ein serieller Anschluss für Nicht-USB-Peripheriegeräte ist.
  6. Das emulierende USB-Hardwaregerät nach Anspruch 3, wobei der eine oder die mehreren Eingangs-/Ausgangsanschlüsse ein Point-of-Sale (POS) Kassenladen-Anschluss ist, der mit einer POS-Kassenlade kommuniziert.
  7. Das emulierende USB-Hardwaregerät nach Anspruch 3, wobei der eine oder die mehreren Eingangs-/Ausgangsanschlüsse mit einer Erweiterungskarte verbunden ist, die das emulierenden USB-Hardwaregerät zusätzliche Funktionalität hinzufügen kann.
  8. Das emulierende USB-Hardwaregerät nach Anspruch 1, wobei der eine oder die mehreren Mikrocontroller ferner konfiguriert ist um: einen Softwarebefehl zu empfangen um ein Steuersignal einzustellen, das den Zustand eines Schaltgerät vorschreibt und entweder das bestimmte physische USB-Peripheriegerät oder das emulierte USB-Hardwaregerät mit dem unter Prüfung Rechengerät verbindet.
  9. Rechensystem zum Testen von Peripheriegeräteinteraktionen, wobei das Rechensystem umfasst: eine Testausführungsrechengerät, die konfiguriert ist, um ein Testrahmen, eine Geräteemulation und Emulierung von USB-Hardware-Gerätetreibern auszuführen; eine Rechengerät unter der Prüfung; und mindestens eine emulierende universelle Serienbus-Hardwaregerät (USB), die mit Software programmierbar ist, um eine Vielzahl von physischen USB-Peripheriegeräten durch Unterstützung mehrerer USB-Profile zu simulieren und die USB-Interaktionen eines ersten physischen USB-Peripheriegeräts mit dem Rechnergerät unter der Prüfung zu simulieren, wobei die mindestens ein emulierendes universelles Serienbus-Hardwaregerät konfiguriert ist zu: ein bestimmtes physischen USB-Peripheriegeräts durch Empfangen spezifischer Deskriptoren einschließlich Geräteidentifikatoren zu emulieren, die sich auf das bestimmte physische USB-Peripheriegerät beziehen, das emuliert wird; mit einem USB-Protokoll auf ein Rechnergerät unter der Prüfung zu antworten; und unter Verwendung eines zweiten Protokolls mit einem Testausführungsrechengerät zu kommunizieren, dass die USB-Interaktionen des physischen USB-Peripheriegeräts simuliert.
  10. Das Rechnersystem nach Anspruch 9, wobei die mindestens ein emulierendes universelles Serienbus-Hardwaregerät ferner konfiguriert ist um: einen nachfolgenden Satz spezifischer Deskriptoren zu empfangen um ein zweites physisches USB-Peripheriegerät zu emulieren, ohne Firmware neu zu schreiben.
  11. Das Rechnersystem nach Anspruch 9, wobei die mindestens ein emulierendes universelles Serienbus-Hardwaregerät ferner konfiguriert ist, um auf bestimmte Nachrichten, die von dem Rechengerät unter der Prüfung empfangen werden, automatisch zu reagieren, ohne dass eine Interaktion von dem Testausführungsrechengerät benötigt.
  12. Das Rechnersystem nach Anspruch 9, wobei die mindestens ein emulierendes universelles Serienbus-Hardwaregerät ferner konfiguriert ist, um einen oder mehrere Eingangs-/Ausgangsanschlüsse an dem einen oder den mehreren Mikrocontrollern aufzuweisen, die eine zusätzliche Funktionalität für mindestens ein emulierendes USB-Hardwaregerät bereitstellt.
  13. Das Rechnersystem nach Anspruch 12, wobei der eine oder die mehreren Eingangs-/Ausgangsanschlüsse die Stromversorgung des emulierenden USB-Hardwaregerät steuert.
  14. Das Rechnersystem nach Anspruch 12, wobei der eine oder die mehreren Eingangs-/Ausgangsanschlüsse ein serieller Anschluss für Nicht-USB-Peripheriegeräte ist.
  15. Das Rechnersystem nach Anspruch 12, wobei der eine oder die mehreren Eingangs-/Ausgangsanschlüsse ein Point-of-Sale (POS) Kassenladen-Anschluss ist, der mit einer POS-Kassenlade kommuniziert.
  16. Das Rechnersystem nach Anspruch 12, wobei der eine oder die mehreren Eingangs-/Ausgangsanschlüsse mit einer Erweiterungskarte verbunden ist, die der mindestens ein emulierendes USB-Hardwaregerät zusätzliche Funktionalität hinzufügen kann.
  17. Das Rechnersystem nach Anspruch 9, weiter umfassend zusätzliches emulierendes USB-Hardwaregerät, die ein zweites physisches USB-Peripheriegerät emuliert und die USB-Interaktionen des zweiten physischen USB-Peripheriegeräts mit dem Rechnergerät unter der Prüfung simuliert.
  18. Das Rechensystem nach Anspruch 17, weiter umfassend ein Koordination zwischen des zusätzlichen emulierenden USB-Hardwaregeräts umfasst und den mindestens ein emulierenden USB-Hardwaregerät, wobei Daten von mindestens eines emulierenden USB-Hardwaregerät verwendet werden, um eine Antwort von dem zusätzlichen emulierenden USB-Hardwaregerät zeitlich festzulegen oder auszuwählen.
  19. Das Rechensystem nach Anspruch 9, wobei das Testrahmen der Testausführungsrechengerät eine Vortest-Datenerfassung, eine Testfallausführung und eine Nachtest-Datenerfassung und -validierung umfasst.
  20. Das Rechensystem nach Anspruch 9, weiter umfassend ein USB-Schaltgerät, das eine USB-Verbindung mit dem Rechnergerät unter der Prüfung zwischen dem emulierenden USB-Hardwaregerät und dem bestimmten physischen USB-Peripheriegerät, welches das emulierende USB-Gerät emuliert, ermöglicht.
  21. Ein emulierendes universelles Serienbus-Hardwaregerät (USB), die eine Host-Verbindung eines USB-Geräts in einem Rechnersystem emuliert, wobei das emulierende USB-Hardwaregerät umfasst: einen Speicher zum Speichern von Konfigurationsdeskriptoren; einen USB-zu-seriellen Schnittstellenchip; und einen oder mehrere Mikrocontroller mit USB-Unterstützung, die mit Software programmierbar sind, um eine Hostverbindung eines physischen USB-Geräts zu emulieren, indem sie Software empfängt: die USB-Hostmodus-Bussignale konfiguriert, die USB-Rahmen auf einem Seriellenbus initiiert, die einen Geräteverbindungsstatus für ein Geräteemulationsprozess zeigt an, und die Pakete zwischen einem physischen USB-Gerät und dem Emulationsprozess des Geräts leitet weiter
  22. Das emulierende USB-Hardwaregerät nach Anspruch 1, weiter umfassend: einen oder mehrere Eingangs-/Ausgangsanschlüsse an dem einen oder den mehreren Mikrocontrollern, die zusätzliche Funktionen für das emulierende USB-Hardwaregerät bereitstellt.
  23. Das emulierende USB-Hardwaregerät nach Anspruch 3, wobei der eine oder die mehreren Eingangs-/Ausgangsanschlüsse die Stromversorgung des emulierenden USB-Hardwaregerät steuert.
  24. Das emulierende USB-Hardwaregerät nach Anspruch 3, wobei der eine oder mehrere Eingangs-/Ausgangsanschlüsse ein serieller Anschluss für Nicht-USB-Peripheriegeräte ist.
  25. Das emulierende USB-Hardwaregerät nach Anspruch 3, wobei der eine oder die mehreren Eingangs-/Ausgangsanschlüsse ein Point-of-Sale (POS) Kassenladen-Anschluss ist, der mit einer POS-Kassenlade kommuniziert.
  26. Das emulierende USB-Hardwaregerät nach Anspruch 3, wobei der eine oder die mehreren Eingangs-/Ausgangsanschlüsse mit einer Erweiterungskarte verbunden ist, die das emulierenden USB-Hardwaregerät zusätzliche Funktionalität hinzufügen kann.
  27. Das emulierende USB-Hardwaregerät nach Anspruch 1, wobei der eine oder die mehreren Mikrocontroller ferner konfiguriert ist um: empfangen einen Softwarebefehl, um ein Steuersignal einzustellen, dass den Zustand eines Schaltgerätes vorschreibt, das entweder ein physisches USB-Hostgerät oder das emulierte USB-Hardwaregerät mit dem physischen USB-Gerät verbindet.
  28. Ferner ist das emulierende USB-Hardwaregerät nach Anspruch 1: eine Reihe spezifischer Deskriptoren empfangen, um ein physisches USB-Peripheriegerät zu emulieren, ohne Firmware neu zu schreiben.
  29. Ein Rechnersystem zum Testen von Peripheriegeräteinteraktionen und Hostverbindungen, wobei das Rechensystem umfasst: eine Testausführungsrechengerät, die konfiguriert ist, um ein Testrahmen, Hostverbindungen und Emulierung von USB-Hardwaregerätetreibern auszuführen; ein Rechnergerät unter der Prüfung; ein physisches USB-Peripheriegerät; und mindestens ein emulierendes universelles Serienbus-Hardwaregerät (USB), die mit Software programmierbar ist, um eine Hostverbindung eines physischen USB-Geräts zu emulieren, wobei die mindestens ein emulierendes universelles Serienbus-Hardwaregerät konfiguriert ist um: USB-Hostmodus-Bussignale zu konfigurieren; USB-Rahmen auf einem Serienbaus zu initiieren; einen Geräteverbindungsstatus zu einem Geräteemulationsprozesss anzuzeigen; und Pakete zwischen dem physischen USB-Peripheriegerät und dem Emulationsprozess des Geräts weitezuleiten.
  30. Das Rechnersystem nach Anspruch 9, wobei das Testausführungsrechengerät die empfangenen Daten überwacht und filtert und zeigt die empfangenen Daten an.
  31. Das Rechnersystem nach Anspruch 9, weiter umfassend ein USB-Schaltgerät, dass ermöglicht dass eine USB-Verbindung mit dem physischen USB-Peripheriegerät geschaltet wird zwischen des emulierenden USB-Hardwaregerät und einer physischen Hostverbindung, die das emulierende USB-Gerät emuliert. geschaltet wird.
  32. Das Rechnersystem nach Anspruch 9, wobei die mindestens ein emulierendes universelles Serienbus-Hardwaregerät ferner konfiguriert ist, um einen oder mehrere Eingangs-/Ausgangsanschlüsse an dem einen oder den mehreren Mikrocontrollern aufzuweisen, die eine zusätzliche Funktionalität für mindestens ein emulierendes USB-Hardwaregerät bereitstellt.
  33. Das Rechnersystem nach Anspruch 12, wobei der eine oder die mehreren Eingangs-/Ausgangsanschlüsse die Stromversorgung des emulierenden USB-Hardwaregerät steuert.
  34. Das Rechnersystem nach Anspruch 12, wobei der eine oder die mehreren Eingangs-/Ausgangsanschlüsse ein serieller Anschluss für Nicht-USB-Peripheriegeräte ist.
  35. Das Rechnersystem nach Anspruch 12, wobei der eine oder die mehreren Eingangs-/Ausgangsanschlüsse ein Point-of-Sale (POS) Kassenladen-Anschluss ist, der mit einer POS-Kassenlade kommuniziert.
  36. Das Rechnersystem nach Anspruch 12, wobei der eine oder die mehreren Eingangs-/Ausgangsanschlüsse mit einer Erweiterungskarte verbunden ist, die der mindestens ein emulierendes USB-Hardwaregerät zusätzliche Funktionalität hinzufügen kann.
DE202015009308.6U 2014-03-14 2015-03-13 Universelle Serienbus-Emulation von Peripheriegeräten Active DE202015009308U1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US14/213,620 2014-03-14
US14/213,472 US9811480B2 (en) 2014-03-14 2014-03-14 Universal serial bus emulation of peripheral devices
US14/213,620 US9772956B2 (en) 2014-03-14 2014-03-14 Universal serial bus emulation of a host connection
US14/213,472 2014-03-14

Publications (1)

Publication Number Publication Date
DE202015009308U1 true DE202015009308U1 (de) 2017-02-01

Family

ID=52774597

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202015009308.6U Active DE202015009308U1 (de) 2014-03-14 2015-03-13 Universelle Serienbus-Emulation von Peripheriegeräten

Country Status (7)

Country Link
EP (1) EP3117327B1 (de)
JP (1) JP6483142B2 (de)
KR (1) KR101874416B1 (de)
CN (1) CN105940384B (de)
BR (1) BR112016021112B1 (de)
DE (1) DE202015009308U1 (de)
WO (1) WO2015138912A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11226891B2 (en) * 2017-04-21 2022-01-18 Razer (Asia-Pacific) Pte. Ltd. Testing devices and methods for testing a device driver software
CN107590067A (zh) * 2017-08-01 2018-01-16 百富计算机技术(深圳)有限公司 通过pos模拟器进行测试的方法及装置
CN108763001A (zh) * 2018-05-25 2018-11-06 郑州云海信息技术有限公司 一种通用串行总线测试发包方法
CN109614332B (zh) * 2018-12-07 2021-11-02 中国航空工业集团公司洛阳电光设备研究所 一种硬件虚拟化分层建模方法
CN110532140B (zh) * 2019-08-28 2022-12-13 北京国科环宇科技股份有限公司 一种1553b总线的仿真测试系统
CN113868044B (zh) * 2021-09-01 2024-05-31 中科可控信息产业有限公司 信号测试方法、装置、计算机设备和存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7464044B2 (en) * 1998-12-08 2008-12-09 International Business Machines Corporation Method and system for using emulation objects for developing point of sale
JP3750467B2 (ja) * 2000-02-28 2006-03-01 横河電機株式会社 Usbシミュレーション装置、及び、記憶媒体
JP2001244599A (ja) * 2000-02-28 2001-09-07 Ando Electric Co Ltd Icの実装構造及びbga形ic用位置固定シート
JP2004102716A (ja) * 2002-09-10 2004-04-02 Seiko Epson Corp シリアルインターフェースを有する電子装置
US7383547B1 (en) * 2004-12-03 2008-06-03 Lecroy Corporation Apparatus and technique for device emulation
US20060190238A1 (en) * 2005-02-24 2006-08-24 Autor Jeffrey S Methods and systems for managing a device
US7752029B2 (en) * 2006-06-23 2010-07-06 Kyocera Mita Corporation Method to change USB device descriptors from host to emulate a new device
US7660937B2 (en) * 2006-06-28 2010-02-09 Hewlett-Packard Development Company, L.P. Emulating a USB host controller
US20080021693A1 (en) * 2006-07-21 2008-01-24 Microsoft Corporation Storage Device Simulator
US8069359B2 (en) * 2007-12-28 2011-11-29 Intel Corporation System and method to establish and dynamically control energy consumption in large-scale datacenters or IT infrastructures
US20090216517A1 (en) * 2008-02-27 2009-08-27 Ophir Herbst Dedicated simulator for testing a usb host solution
US20110307847A1 (en) * 2010-06-10 2011-12-15 Global Unichip Corporation Hybrid system combining TLM simulators and HW accelerators

Also Published As

Publication number Publication date
EP3117327A1 (de) 2017-01-18
BR112016021112B1 (pt) 2022-09-20
WO2015138912A1 (en) 2015-09-17
EP3117327B1 (de) 2021-03-03
JP2017508202A (ja) 2017-03-23
BR112016021112A2 (pt) 2018-05-15
KR20160108456A (ko) 2016-09-19
KR101874416B1 (ko) 2018-07-04
JP6483142B2 (ja) 2019-03-13
CN105940384A (zh) 2016-09-14
CN105940384B (zh) 2019-09-03

Similar Documents

Publication Publication Date Title
DE202015009308U1 (de) Universelle Serienbus-Emulation von Peripheriegeräten
DE102015101238B4 (de) Authentifizierung und Betrieb eines tragbaren Gerätes
US9454423B2 (en) SAN performance analysis tool
DE60009185T2 (de) "Universal serial bus" Interpreter
DE112011103411B4 (de) Einheitenemulation in einer virtualisierten Datenverarbeitungsumgebung
US9811480B2 (en) Universal serial bus emulation of peripheral devices
DE112012004499T5 (de) Testen von Transaktionsanwendungen
DE19747396A1 (de) Verfahren und Anordnung zur Schaffung einer Ferndiagnose für ein elektronisches System über ein Netz
JP2005521947A5 (de)
DE102007039156A1 (de) EFI-basierter Mechanismus zum Exportieren von Plattform-Verwaltungsfähigkeiten in das Betriebssystem
DE112012005209T5 (de) Brückenfunktion zwischen Virtual Machine Monitor und Bare-Metal-Bootvorgang
DE102005010900A1 (de) Modellspezifische Registeroperationen
US20150261697A1 (en) Universal serial bus emulation of a host connection
DE112013000485T5 (de) Automatische Synthese von Einheitentests für Sicherheitstests
DE112006000634T5 (de) Verfahren und Vorrichtung zur unabhängigen und gleichzeitigen Datenübertragung auf Host-Controller
DE102012224276B4 (de) Verzögerte Ausführung auf mehreren Prozessoren
CN104461854A (zh) 一种舰船装备软件通用仿真测试平台及其构建方法
DE102016119738A1 (de) Selektives Laden von Komponenten in einem Knoten zum Beschleunigen von Wartungsmaßnahmen
DE102008015980A1 (de) Kooperatives Simulationssystem
DE19960574B4 (de) Peripheral Component Interconnection-(PCI) Debuggingvorrichtung und -verfahren
DE112019007610T5 (de) Eine automatische testausrüstung zum testen eines testobjekts, das eine verarbeitungseinheit und einen programm- und/oder datenspeicher aufweist, eine automatische testausrüstung, die eine teststeuerung, eine oder mehrere schnittstellen zu dem testobjekt und einen gemeinschaftlich verwendeten speicher aufweist, und ein verfahren zum testen eines testobjekts
DE102011055276A1 (de) Statusaustausch zwischen einem Basisgerät und einem abnehmbaren Gerät
DE112013007676T5 (de) Informationsvorrichtung
EP3848763B1 (de) Qualifizierung eines gerätetreibers für ein gerät
DE102013205252A1 (de) Verwalten der Hardwarekonfiguration eines Computerknotens

Legal Events

Date Code Title Description
R207 Utility model specification
R081 Change of applicant/patentee

Owner name: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUN, US

Free format text: FORMER OWNER: GOOGLE INC., MOUNTAIN VIEW, CALIF., US

R082 Change of representative

Representative=s name: BETTEN & RESCH PATENT- UND RECHTSANWAELTE PART, DE

R150 Utility model maintained after payment of first maintenance fee after three years
R151 Utility model maintained after payment of second maintenance fee after six years
R152 Utility model maintained after payment of third maintenance fee after eight years