IP Library Granted Patent US 9,772,956
Granted Patent B2
US 9,772,956 · App. 14/213,620 · Granted Sep 26, 2017

Universal serial bus emulation of a host connection

Inventors: Daniel A. Christian (Longmont, CO); Baird Jonathan Ramsey (Westminster, CO)
Assignee: Google Inc.
G06F13/107G06F13/105G06F13/385G06F2221/034
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,772,956
App. No.
14/213,620
Filed
Mar 14, 2014
Granted
Sep 26, 2017
Kind
B2
Examiner
HANN, JAY B
Art Unit
2123
USPC
703/25
Abstract

A system and method for emulating a universal serial bus device is disclosed. An example embodiment may include an emulated USB (EUP) device that can emulate a host side of a USB connection. This device may have a microcontroller that is programmable with software to emulate a host connection of a physical USB device. In order to emulate a host connection of a USB device, the EUP device may configure USB host mode bus signals, initiate USB frames on the bus, indicate device status to an emulation process, and relay packets between a device and the emulation process.

Claims (33)

1. An emulating universal serial bus (USB) hardware device that emulates a host connection of a USB device in a computing system, the emulating USB hardware device comprising:

a memory to store configuration descriptors;

a USB to serial interface chip; and

one or more microcontrollers with USB support that are programmable with software to emulate a host connection of a physical USB device by receiving software that:

configures USB host mode bus signals,

initiates USB frames on a serial bus,

indicates a device connection status to a device emulation process, and

relays packets between a physical USB device and the device emulation process,

wherein the one or more microcontrollers is further configured to receive a software command to set a control signal that dictates the state of a switching device, connecting either a physical USB host device or the emulated USB hardware device to the physical USB device.

2. The emulating USB hardware device of claim 1 , further comprising:

one or more input/output ports on the one or more microcontrollers that provides functionality for the emulating USB hardware device.

3. The emulating USB hardware device of claim 2 , wherein the one or more input/output ports controls power to the emulating USB hardware device.

4. The emulating USB hardware device of claim 2 , wherein the one or more input/output ports is a serial port for non-USB peripheral devices.

5. The emulating USB hardware device of claim 2 , wherein the one or more input/output ports is a Point of Sale (POS) cash drawer port that communicates with a POS cash drawer.

6. The emulating USB hardware device of claim 2 , wherein the one or more input/output ports connects to an expansion card that can add additional functionality to the emulating USB hardware device.

7. The emulating USB hardware device of claim 1 further configured to:

receive a set of specific descriptors to emulate a physical USB peripheral device without re-writing firmware.

8. A computer system for testing peripheral device interaction and host connections, the computing system comprising:

a test executor computing device configured to run a testing framework, host connections, and emulating USB hardware device communication drivers;

a computing device under test;

a physical USB peripheral device;

at least one emulating universal serial bus (USB) hardware device that is programmable with software to emulate a host connection of a physical USB device, wherein the at least one emulating universal serial bus hardware device is configured to:

configure USB host mode bus signals;

initiate USB frames on a serial bus;

indicate a device connection status to a device emulation process; and

relay packets between the physical USB peripheral device and the device emulation process; and

a USB switching device that allows a USB connection with the physical USB peripheral device to be switched between the emulating USB hardware device and a physical host connection.

9. The computer system of claim 8 , wherein the test executor computing device monitors received data and filters and displays the received data.

10. The computer system of claim 8 , wherein the at least one emulating universal serial bus hardware device is further configured with one or more input/output ports that provides functionality for the at least one emulating USB hardware device.

11. The computer system of claim 10 , wherein the one or more input/output ports controls power to the at least one emulating USB hardware device.

12. The computer system of claim 10 , wherein the one or more input/output ports is a serial port for non-USB peripheral devices.

13. The computer system of claim 10 , wherein the one or more input/output ports is a Point of Sale (POS) cash drawer port that communicates with a POS cash drawer.

14. The computer system of claim 10 , wherein the one or more input/output ports connects to an expansion card that can add functionality to the at least one emulating USB hardware device.

Assignments (2)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2014
From: CHRISTIAN, DANIEL A.; RAMSEY, BAIRD JONATHAN
To: GOOGLE INC.
Reel/Frame 033158/0718 →
Continuity (1)
Related Publication 20150261697A1 · Sep 17, 2015