USB On-The-Go Controller With Hardware Software State Machine

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Implementing On-The-Go (OTG) functionality in USB controller devices is complex and requires modifications to conventional USB circuits, leading to increased development and manufacturing costs.

Innovation Solution

A USB controller device with OTG functionality is designed, comprising an EHCI compliant host controller and an OTG control unit that implements the OTG state machine partly in hardware and partly in software, using a port multiplexer to assign physical ports and OTG control and status registers accessible by software to control the OTG state machine.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional USB circuits are modified to implement OTG functionality, then OTG capability is achieved, but development and manufacturing costs increase

Engineering Contradiction:
ImproveOTG functionalityVSAvoiddevelopment and manufacturing costs
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The OTG state machine is divided into hardware-implemented portions (for basic state transitions and port multiplexing) and software-implemented portions (for higher-level protocol handling). This segmentation allows the use of standard USB host controller hardware while adding OTG capability through a modular state machine that can be configured via software, reducing the need for complete hardware redesign and lowering manufacturing costs.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The USB host controller is designed to serve multiple functions: it operates as a conventional USB host controller for standard USB devices and as an OTG host controller for OTG-capable devices. The port multiplexer enables the same physical port to be dynamically assigned to different control units (host control unit or device control unit) based on the connection type, making the hardware universally applicable to both USB 1.1 and USB 2.0 OTG scenarios without requiring separate dedicated hardware for each mode.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If a complete hardware OTG state machine is implemented, then OTG functionality is achieved, but device complexity increases

Engineering Contradiction:
ImproveOTG functionalityVSAvoidhardware complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The OTG state machine is segmented between hardware and software implementations. Critical, time-sensitive state transitions and port multiplexing logic are implemented in hardware to ensure timely response, while higher-level protocol states and device-specific handling are implemented in software. This hybrid approach reduces hardware complexity compared to a complete hardware implementation while maintaining the necessary responsiveness for USB communication.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically switches between different control modes (host mode and device mode) using the port multiplexer, which can assign the physical port to either the host control unit or the device control unit based on the current connection scenario. This dynamic reconfiguration capability allows a single hardware platform to adapt to different OTG scenarios without requiring multiple dedicated hardware paths, thereby reducing overall device complexity.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8180947B2USB on-the-go controller
Publication Date: 2012.05.15 ADVANCED MICRO DEVICES INC
  • US8180947B2 patent drawing
  • US8180947B2 patent drawing
  • US8180947B2 patent drawing

AI summary

A USB (Universal Serial Bus) controller technique for implementing OTG (On-The-Go) functionality is provided. The device may have an EHCI (Enhanced Host Controller Interface) compliant host control unit, and an OTG control unit to implement an OTG state machine partly in hardware and partly in software. The OTG control unit may have an OTG control register and an OTG status register which are accessible by software. Further, the USB controller device may have a device control unit to implement device functionality and a port multiplexer to assign a physical port to either the host or the device control unit. The OTG control unit may be comprised in the port multiplexer. Further, a software driver may read the OTG status register in response to receiving an interrupt from the USB controller device, and write to the OTG control register to force the USB controller device to change its OTG state.