USB Host Controller Using Pre-Generated Commands and DMA
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Fully compliant USB controllers are complex and costly, making them inefficient for applications that only require simple USB functionalities, such as battery charging, as they consume system resources unnecessarily.
Innovation Solution
A reduced functionality USB host system that includes pre-generated USB data and commands, stored in memory, allowing direct transmission and processing without additional processing, and utilizing a direct memory access controller for efficient data transfer, eliminating the need for real-time USB packet processing hardware.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a fully compliant USB controller is used, then USB functionality and versatility are improved, but device complexity and cost increase
Solution Approach 1:
The USB controller functionality is segmented into two parts: a simplified hardware controller that handles only basic USB protocol operations (packet transmission and reception), and a software component that handles complex USB processing tasks. This segmentation allows the hardware to be much simpler while still supporting full USB functionality through software assistance.
Solution Approach 2:
A buffer memory structure acts as an intermediary between the simplified USB controller hardware and the host system. The buffer stores USB packets temporarily, allowing the controller to operate independently without requiring complex real-time processing hardware, while still enabling full USB functionality through coordinated software management.
2Adaptability or versatility
If a fully compliant USB controller is used, then USB functionality is improved, but manufacturing cost increases
Solution Approach 1:
The controller is divided into minimal hardware components (serializer/deserializer, buffer memory interface) and software components. This segmentation dramatically reduces hardware manufacturing costs while maintaining full USB functionality through software-based processing that can be implemented in existing host systems.
Solution Approach 2:
The patent uses a simple, inexpensive USB controller design that sacrifices hardware complexity in favor of software-based functionality. The simplified hardware can be manufactured at much lower cost, while the software component (which can be updated or replaced more easily) provides the necessary USB compliance and functionality.
3Speed
If real-time USB packet processing hardware is used, then processing speed is improved, but device complexity and cost increase
Solution Approach 1:
USB packets are buffered in advance in memory before being processed by the host system. This preliminary storage of data in the buffer allows the simplified controller to transmit and receive packets at full speed without requiring complex real-time processing hardware, as the actual processing can occur at convenient times.
Solution Approach 2:
The patent replaces complex hardware-based real-time USB packet processing with a software-based processing system. The simplified hardware controller handles the time-critical transmission and reception operations, while the host system's software processor handles the less time-critical processing tasks, substituting mechanical/hardware complexity with software intelligence.
Data Source
AI summary
An apparatus comprises a memory device to store a pre-generated Universal Serial Bus (USB) command before a USB peripheral device is coupled to a USB. The apparatus also includes a processing device to retrieve the pre-generated USB command from the memory device and transmit the pre-generated USB command to the USB peripheral device over the USB. A method comprises identifying a Universal Serial Bus (USB) peripheral device is coupled to a USB. The USB peripheral device is coupled to the universal serial bus after a pre-generated USB command is stored in a memory device. The method further includes transmitting the pre-generated USB command to the USB peripheral device over the USB in response to identifying the USB peripheral device is coupled to the USB.


