Isochronous Data Stream Control via Drift Compensation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional USB systems face challenges in handling variable data streams, particularly audio and video transmissions, due to the need for substantial buffering and complex algorithms at the application layer, which are exacerbated by different speeds, clock synchronization schemes, and sampling rates, leading to inefficiencies and potential power consumption issues.
Innovation Solution
The solution involves calculating drift between the USB host system time and device clock to synthesize a timestamp for jitter correction, allowing for the assembly of uniformly-sized packets that eliminate the need for buffers in the application layer, thereby improving audio quality and potentially reducing power consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If substantial buffering and complex algorithms are used at the application layer to handle variable data streams, then USB compatibility and flexibility are improved, but device complexity and power consumption increase
Solution Approach 1:
The patent extracts the buffering and complex algorithm functions from the application layer and relocates them to a dedicated data regulator component. This separation allows the application layer to handle only simple uniform data packets while the data regulator manages the complex timing drift compensation and buffering operations, thus reducing application layer complexity while maintaining USB compatibility.
Solution Approach 2:
The data regulator acts as an intermediary component between the USB interface and the application layer. It receives variable data streams from the USB interface, performs drift compensation and buffering operations, then outputs uniform data packets to the application layer. This intermediary handles the complexity of USB protocol variations, shielding the application layer from these complexities.
2Adaptability or versatility
If substantial buffering is implemented at the application layer to accommodate different speeds and sampling rates, then USB compatibility is improved, but latency increases and audio quality deteriorates
Solution Approach 1:
The buffering function is extracted from the application layer and placed in the data regulator, which is optimized for this purpose. The data regulator uses smaller, more efficient buffers with optimized timing, reducing the overall latency while maintaining the ability to handle different USB speeds and sampling rates.
Solution Approach 2:
The system dynamically adjusts timing parameters and buffer sizes in the data regulator based on the specific USB speed and sampling rate being used. This allows optimization of buffer timing for each configuration, minimizing latency while maintaining compatibility across different USB modes.
3Adaptability or versatility
If extensive buffering and complex algorithms are used at the application layer, then USB compatibility is improved, but power consumption increases
Solution Approach 1:
The power-intensive buffering and algorithm operations are extracted from the application layer (which runs on the main application processor) and transferred to the data regulator (which can use a separate, optimized processor). This separation allows the application processor to enter lower-power states while the data regulator handles the computationally intensive tasks.
Solution Approach 2:
The data regulator serves as an intermediary that handles the power-intensive USB data stream processing, allowing the main application processor to consume less power. The data regulator is optimized for this specific function and can operate more efficiently with lower power consumption for the same computational tasks.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Systems and methods for controlling isochronous data streams are disclosed. Particular aspects of the present disclosure are designed to be used with almost any isochronous data stream, but are well-suited for use with the Universal Serial Bus (USB) protocol. Further, aspects of the present disclosure are flexible to accommodate existing configuration possibilities within the USB protocol as well as accommodate proposed future changes in the USB protocol. The flexibility of the systems and methods is provided by calculating: (1) drift between a USB host system time and the application and (2) drift between the USB host system and a USB device clock. Based on these two drift calculations, a time stamp may be synthesized to program a next delivery schedule. Using this time stamp, jitter correction can take place and uniformly-sized packets may be assembled to pass to an application processor.