
www.ti.com
EDMA Operation
2.3.2 Display EDMA Event Generation
Display EDMA events are generated based on the amount of room available in the FIFO. The VDTHRLDn value indicates the level at which the FIFO has room to receive another EDMA. If the FIFO has at least VDTHRLDn locations available, a EDMA event is generated. Once an E EDMA event has been requested, another EDMA event may not be generated until the servicing of the first EDMA event has begun (as indicated by the first write to the FIFO by the EDMA event service). If there is at least 2x the threshold space still available in the FIFO after the first EDMA service is begun (and the display event counter has not expired) then another EDMA event may be generated. Thus, up to one EDMA request may be outstanding.
An incoming data counter is loaded with the VDTHRLDn (or VDTHRLDn/2 for Cb and Cr FIFOs) value at the beginning of each EDMA event service and counts down the incoming EDMA double words When the counter reaches 0, the EDMA event is complete.
An EDMA event counter is used to track the number of EDMA events generated in each field as programmed in the VDDISPEVT register. The DISPEVT1 or DISPEVT2 value (depending on the current display field) is loaded at the start of each field. The event counter then decrements with each EDMA event generation until it reaches 0, at which point no more EDMA events are generated until the next field begins. Once the last line of data for a field has been requested, the EDMA logic stops generating events until the field is complete in case the CPU needs to modify the EDMA address pointers.
For BT.656 and Y/C modes, there are three FIFOs, one for each of the Y, Cb, and Cr color components. Each FIFO generates its own EDMA event; therefore, the EDMA event state and FIFO thresholds for each FIFO are tracked independently. (The Cb and Cr FIFOs use a threshold value of 1/2 VDTHRLD).
2.3.3 EDMA Size and Threshold Restrictions
The video port FIFOs are
(1/2 VCTHRLDx/VDTHRLD) are always rounded up to the double word.
For example, in
If a
Similarly if a
=(624/3)/8 = 26 double words and the Cb/Cr threshold is 26/2 = 13 double words. 3 x 13 = 39 double words, which is exactly the Cb/Cr line length.)
SPRUEM1 | Video Port | 33 |