sdram之乒乓操作


在實時顯示時,為了保證畫面顯示的完整性需要對SDRAM進行乒乓操作。

SDRAM 中有 4 個bank ,地址分別為00 01 10 11,后面將用 0 1 2 3來描述

bank 0和1 作為第一個乒乓塊,簡稱 P_1

bank 2和3 作為第二個乒乓塊,簡稱 P_2

乒乓操作的步驟

1、將第 1 幀數據存入 P_2 中, 當 P_2 中完整的存儲了第 1 幀圖像數據后,然后進入乒乓操作。

2、將第 2 幀數據存入 P_1 , 同時從 P_2 中讀取存儲的第 1 幀數據。

此時共有3種狀態

第 1 幀數據已經讀取完畢,但是第 2 幀數據還沒有存儲完成 

第 1 幀數據沒有讀取完成,但是第 2 幀數據已經存儲完成

第 1 幀數據讀取完成、第 2 幀數據存儲完成

該怎么辦呢?如何處理?總結如下

對於存儲:只要一幀圖像數據存儲完成,則立刻切換到另一個乒乓塊繼續存儲,而與是否讀取完成無關。(因此如果存儲的速度和讀取的速度不相同,就會出現存儲和讀取位於同一個乒乓塊,或者位於不同乒乓塊)

對於讀取:讀取一幀數據完成后,只要存儲數據和讀取數據同時處於一個乒乓塊,則切換到另一個乒乓塊繼續進行讀取,否則不切換,繼續在原乒乓塊進行讀取。


 

SDRAM每次只能操作一個命令,存儲和讀取需要交替進行,否則會給 SDRAM 外部的緩存fifo或者ram造成很大的壓力,因此進行設計的時候需要對讀寫進行優先級的判斷

讀請求和寫請求不是同時的,則是什么請求就執行什么請求

如果讀請求和寫請求是同時的,則就要看上一次的狀態,上一次是讀,則執行寫,上一次是寫則執行讀。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM