SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
The IPIPEIF module generates an IPIPEIF event through the IPIPEIF_IRQ interrupt at the end of each frame. This interrupt is set through the ISP5_IRQENABLE_SET_i[9] IPIPEIF_IRQ bit. The input interrupt source generation is selected through the IPIPEIF_CFG2[0] INTSW bit in a certain configuration. The following pseudo code describes INTSW.
if (IPIPEIF_CFG2[0] INTSW==0) // Interrupt source from VP
if (IPIPEIF_CFG1[15:14] INPSRC1==1,2 or 3)
if (CFG1.ONESHOT==1) // In one shot mode
Interrupt happens at the end of frame
else // In continuous mode
Interrupt is the start position of VD which is generated by IPIPEIF timing generator
else // IPIPEIF_CFG1[15:14] INPSRC1==0, data is from VP
Interrupt is the start position of VD from VP
else // Interrupt source from ISIF: IPIPEIF_CFG2[0] INTSW==1
if (IPIPEIF_CFG1[3:2] INPSRC2==1,2 or 3)
if (CFG1.ONESHOT==1) // In one shot mode
Interrupt happens at the end of frame
else
Interrupt is the start position of VD which is generated by IPIPEIF timing generator
else // IPIPEIF_CFG1[3:2] INPSRC2==0, data is from ISIF
Interrupt is the start position of VD from ISIF
In addition to this interrupt, the host must check the IPIPEIF_DTUF status flag of the ISP5_IRQSTATUS_RAW2_i[1] IPIPEIF_UDF bit (if this is enabled and mapped to the ISP IRQ lines) to see if an underflow occurred.
If IPIPEIF reads image data from memory, IPIPEIF stalls data output by masking the clock at underflow. When the next data is available at the input side, IPIPEIF restarts sending data. Underflow does not occur in this operation.
In DFS operation (see Section 9.3.3.4.7, ISS ISP IPIPEIF Dark-Frame Subtraction Functionality for more information), if the data read from memory are not available before they are required, the behavior of IPIPEIF is as follows: