How to use two frame buffers in ping pong mode in TMS320C6748. There is no control in the LCD registers to tell which of the two buffers is used for refreshing LCD. When I can change buffers.
My Email : visweswaraiah@datasol-india.com
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
How to use two frame buffers in ping pong mode in TMS320C6748. There is no control in the LCD registers to tell which of the two buffers is used for refreshing LCD. When I can change buffers.
My Email : visweswaraiah@datasol-india.com
The FRAME_MODE bit in the LCDDMA_CTRL register lets you select if you want to use one frame buffer, or two frame buffers in ping pong mode. The software would just update the frame buffer not currently being used, and the controller takes care of the rest.
Jeff
Hello Mr.Jeff,
There is no bit in LCDDMA_CTRL register to tell me which frame buffer is not being currently used. So, how do you decide which frame buffer software has to update.
Further, if software takes more time than one frame time, DMA will switch the frame buffers without waiting for the software to complete the update.
So, there should have been one more bit in LCDDMA_CTRL register to tell which frame buffer DMA is using and which frame buffer can be used by software.
There should have been one more bit to tell DMA controller to switch frame buffer, this bit could be set by software after updating the frame buffer.
M.S.Visweswaraiah.
You can use the frame interrupt to determine when the frame buffer has switched. As long as you keep track of how many times this occurred you will know which frame buffer is being used.
In order to use ping pong mode, you must be able to update the frame buffer within one frame period. Otherwise like you said the DMA will switch frame buffers before it is ready. In Raster mode, data must be sent out to the panel every clock cycle, so the DMA cannot wait to grab the frame data.
Jeff
Now I am able to operate in ping pong mode with frame interrupt.
I have to generate more complex page and see if I can update the frame buffer within one frame period.
I am using C6748 to replace MPC5200 @ 400MHz. MPC5200 is taking about 35 msecs for a complex page.
I have to generate the same page on C6748 and see how much time it will take.
If it takes more than one frame time of 16 msecs then I have to rework on the logic.
So, it would have been better, if one bit was provide in LCD DMA control register so that if that bit was set by software, DMA controller could have switched the frame buffers instead of switching every frame.
Visweswaraiah.