显存安排在DDR2中,大小为800*600PCLK为50MHZ;
寄存器设置:
单帧;
TH_FIFO_READY = 5(256 dwords);
BURST_SIZE = 4(Burst size of 16);
FIFO_DMA_DELAY = 0;
数据通过MDA传输;
经常会产生“FIFO Underflow”事件,特别是在整屏刷新时;但未刷新屏幕时不会产生此事件。
我猜想大概的原因应该是DMA请求未被及时响应(或CPU访问DDR2与DMA请求冲突?)导致FIFO中数据为空,不知道是否正确,应该如何解决?
注:
1.以上刷新频率大概为81帧/秒,因为实际产品屏是1024*768;这个时钟频率在1024*768下再配置其他时间可以达到50帧/秒。
2.如果配置为1024*768,其他不变,则刷新部分即会引起“FIFO Underflow”事件。
3.刷新频率至少得50帧/秒