USB On-The-Go Controller With Hardware Software State Machine
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Adaptability or versatility
If a complete hardware OTG state machine is implemented, then OTG functionality is achieved, but device complexity increases
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.
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.
Data Source
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.


