SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
The OCM controller requires both read and write accesses to a virtual frame buffer to be performed in the positive raster scan order, that is, successive write or read accesses should be to a higher address except on a new frame start for which the address jumps back down to the beginning of the virtual frame buffer. The OCM controller checks to make sure that a virtual address meets one of the following conditions:
Based on these constraints, the OCM controller generates an write/read address sequence error interrupt and invalidates the access, that is, writes are disabled and reads return unknown data, if the following two conditions are met:
The random accesses within the current CBUF slice are permited to allow some variations in the line width of the captured video which often happens with weak video signal conditions.
To avoid illegal CBUF slice backward switching, the modules capturing the input video and sending it to the CBUF of the OCM controller should limit the maximum width of a line width to be less than the stride size (in pixels). This guarantees that a start of a new line does not point back to the previous CBUF slice.
If a write or read address sequence error event is detected on an access, the OCM controller will simply invalidate the accesses and will not update the CBUF status registers.
The bits in the STATUS_CBUF_WR_ADDR_SEQ_ERROR[11:0] CBUF_ERR bit field indicate write address sequence error event.
The bits in the STATUS_CBUF_RD_ADDR_SEQ_ERROR[11:0] CBUF_ERR bit field indicate read address sequence error event.
In both the registers each bit is associated only with one CBUF.
The INTR0_STATUS_RAW_SET[7] CBUF_WRITE_SEQUENCE_ERR_FOUND/INTR1_STATUS_RAW_SET[7] CBUF_WRITE_SEQUENCE_ERR_FOUND bit is asserted if at least one of the bits in the STATUS_CBUF_WR_ADDR_SEQ_ERROR[11:0] CBUF_ERR bit field is set to 0x1.
The INTR0_STATUS_RAW_SET[10] CBUF_READ_SEQUENCE_ERR_FOUND/INTR1_STATUS_RAW_SET[10] CBUF_READ_SEQUENCE_ERR_FOUND bit is asserted if at least one of the bits in the STATUS_CBUF_RD_ADDR_SEQ_ERROR[11:0] CBUF_ERR bit field is set to 0x1.