SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
Data traffic for which the pixel rate is imposed by a camera interface is qualified as a hard real time traffic. Such data, once received, can be optionally processed in the CAL and then sent to SDRAM using the OCPO port.
Hard real time traffic cannot be stalled for long periods of time. Indeed, when data is sent at constant speed it can only be stalled until FIFOs on the path are filled up. When FIFOs become full, data is discarded and the frame is therefore corrupted. To minimize the risk of real time data corruption, the device supports a mechanism that is activated by the MFlag generated by real time initiators.
MFlag generation must be disabled (through CAL_CTRL[20:13] MFLAGL = 0xFF and CAL_CTRL[31:24] MFLAGH = 0xFF), when CAL does not generate any real time traffic.
Static assertion of MFlag is only supported for debug purposes and must not be enabled for normal utilization (CAL_CTRL[20:13] MFLAGL = 0x00 -> MFlag=0x11; CAL_CTRL[20:13] MFLAGL = 0xFF and CAL_CTRL[30:24] MFLAGH = 0x00 -> MFlag=0x01).
Dynamic MFlag generation is to be used when the write DMA operates on real time data. In that case, the MFlag value depends on the number of slots (n) ready to generate transactions in the write DMA:
Software must ensure that:
Optionally, the traffic from the Read DMA to the internal CAL pipeline can be stalled when MFlag is non zero via the CAL_CTRL[22] RD_DMA_STALL register bit. That mechanism shall be enabled when data read by the RD DMA translates into data written by the WR DMA (for example, RD DMA -> BYSout -> BYSin -> WR DMA). It avoids that FIFO slots continue to be filled up with non real time data when the WR FIFO reaches a critical level.