Circular Buffer Allocation for MIPI CSI-2 Safety Data Lines
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data acquisition systems for MIPI CSI-2 virtual channels face challenges in efficiently managing buffers for different data types and virtual channels, leading to increased memory requirements and potential data corruption during safety data insertion.
Innovation Solution
The method involves determining the required data types and virtual channels for specific applications and allocating circular buffers accordingly, allowing for dedicated buffers for safety data lines without cropping active data lines, and eliminating the need for separate BIST logic.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If buffers are allocated for all possible data types and virtual channels, then system reliability is improved, but memory usage increases
Solution Approach 1:
The patent segments buffer allocation by creating separate circular buffers for safety data lines and functional data lines. This segmentation allows the system to allocate memory efficiently - only creating buffers for safety lines when actually needed, rather than pre-allocating for all possible scenarios. The buffer management is divided into safety-critical portions and functional portions that can be independently managed.
Solution Approach 2:
The system dynamically allocates and manages buffers based on actual runtime requirements. Instead of static pre-allocation for all possible data types and virtual channels, the system creates and manages buffers dynamically - allocating safety line buffers only when safety data insertion is actually required, and managing the lifecycle of these buffers based on real-time system state.
2Reliability
If safety data lines are inserted without cropping active lines, then data integrity is improved, but buffer overhead increases
Solution Approach 1:
The patent segments the buffer structure into distinct safety line buffer regions and functional data line buffer regions. This segmentation allows safety data lines to be inserted and processed without cropping or interfering with active functional data lines, maintaining data integrity while managing buffer resources efficiently through dedicated regions.
Solution Approach 2:
The patent introduces a buffer management intermediary layer that handles the insertion and routing of safety data lines. This intermediary buffer management system coordinates between safety data insertion requirements and functional data processing, allowing both to coexist without conflict or data loss while optimizing buffer usage.
3Productivity
If dedicated buffers are allocated for safety data lines, then processing efficiency is improved, but device complexity increases
Solution Approach 1:
The patent segments buffer management into dedicated safety line buffer handling and functional data buffer handling. This segmentation improves processing efficiency by allowing safety-critical data to be processed through dedicated paths without interference from functional data processing. The complexity is managed through clear separation of concerns and defined interfaces between the segmented buffer management functions.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method of acquiring data, a computer program product for implementing the method, a system for acquiring data, and a vehicle including the system. The method includes determining one or more data types and virtual channels required for one or more applications. The method also includes allocating a plurality of circular buffers in memory according to the determined data type(s) and virtual channel(s). One or more of the circular buffers are allocated to safety data lines. The remaining circular buffers are allocated to functional data lines. The method further includes storing at least one functional data line in a circular buffer allocated to functional data lines according to a data type and virtual channel of the functional data line. The method also includes storing at least one safety data line in a circular buffer allocated to safety data lines.