USB Endpoint 0 Control Transfer Timeout Resolution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
USB control transfer at Endpoint 0 often results in timeouts due to the inability to respond within the 500 ms deadline, particularly in image processing apparatuses using general-purpose OS like Linux, where CPU resources are not prioritized for real-time tasks.
Innovation Solution
Implementing a separate thread mechanism within the driver layer to pre-acquire and hold response data for control transfer commands, allowing for timely transmission to the host PC without CPU load dependency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a general-purpose OS (e.g., Linux) is used for USB device control, then system versatility and ease of operation are improved, but the ability to guarantee response within 500 ms for control transfer is worsened due to even CPU time division
Solution Approach 1:
The patent creates a separate thread that performs preliminary actions by acquiring and holding response data in advance before the host PC issues the IN request. This pre-computed data is stored in a buffer, ensuring that when the request arrives, the response is already prepared and can be transmitted within the 500 ms deadline regardless of CPU scheduling decisions by the general-purpose OS.
2Reliability
If CPU processing priority is raised for real-time tasks, then response time within 500 ms is improved, but device complexity and scheduling complexity are worsened
Solution Approach 1:
The patent segments the USB control transfer processing into two independent parts: a separate thread responsible for acquiring and holding response data, and the main USB processing thread that handles incoming requests. This segmentation allows the response data preparation to occur independently of CPU scheduling priorities, simplifying the overall system design while ensuring timely responses.
3Productivity
If interrupt transfer is used to notify host PC of buffer status, then communication efficiency is improved, but it cannot be applied to Endpoint 0 control transfer protocol
Solution Approach 1:
The patent implements a universal solution that works for Endpoint 0 control transfer by using a separate thread to pre-acquire response data. This approach provides the same functionality as interrupt transfer (ensuring timely data availability) but is applicable to control transfer protocols where interrupt transfer cannot be used, thereby achieving multi-functionality across different USB communication modes.
Data Source
AI summary
An information processing apparatus is capable of communicating via a universal serial bus (USB) cable with a USB host device configured to transmit a first control transfer command at a start of communication. The information processing apparatus includes one or more controllers configured to function as a unit configured to acquire and hold predetermined data in response to having received the first control transfer command from the USB host device and a unit configured to transmit the held predetermined data to the USB host device on the basis of having received a second control transfer command from the USB host device.


