關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 多端口SDRAM控制器的設計與實現

        多端口SDRAM控制器的設計與實現

        作者: 時間:2009-10-15 來源:網絡 收藏

          將數據采集模塊得到的兩組數據同時存貯到各自的寫緩存FIFO 里,只要寫緩存里的數據達到了 每頁的數據大小,就產生對 的寫請求,因為每個緩存的大小是兩頁 ,所以此時數據采集模塊還可以繼續存數據。類似的,VGA 所顯示的數據也是從兩個讀緩存 FIFO 得到的,只要讀緩存里的數據小于SDRAM 每頁的數據,就產生對SDRAM 的讀請求,這樣每個緩存里的兩頁輪流操作。關鍵代碼如下:

          2.2 地址生成模塊:

          該模塊用來自動生成對SDRAM進行存取操作的Bank地址,起始地址和突發長度。由于30位的像素數據等分各存入兩個Bank里,所以在Bank里它們的對應地址是相同變化的,這樣存取數據時,對兩個Bank的讀寫地址的控制就是統一增減的,降低了使用一個Bank時讀寫控制的繁雜性。

          2.3 自動刷新模塊:

          SDRAM需要不斷的刷新操作,同一行的存儲單元每隔64m s 需要刷新一次,對于本芯片的一個Bank 中的4096 行存儲單元,則每15. 625us 就需要發出一個刷新命令,由于本設計采取緩存的辦法,所以應該按讀寫SDRAM到緩存FIFO的時間為準來設計刷新計數器的初始值。以頁模式進行讀寫,讀數據的整個時間過程是tRCD+ tCL+mLENGTH ,寫數據的整個時間過程是tRCD+mLENGTH ,其中tRCD是激活命令到讀或寫命令期間的延遲,tCL是讀命令發出后到第一個有效數據之間的間隔,mLENGTH 是SDRAM 的頁長,本設計中tRCD =3, tCL=3,mLength=256 。因此刷新計數器的初始值設置為2X(256+3+3)+ 2X(256+3)=1042 ,經計算遠遠小于所要求的刷新周期,初值設置合理。開始工作后,每當刷新計數器值減為0, 便會發出刷新命令,保證SDRAM內的數據不丟失,自動刷新之后直接進行預充電來關閉工作行。

          2.4 命令產生模塊:該模塊主要負責命令仲裁、命令生成以及時序控制等。SDRAM 優先級仲裁算法通常有兩種:一種是固定優先級算法,另一種是循環優先級算法。本文設計的SDRAM 是應

          用在實時圖像處理系統中的,對數據處理效率要求很高,因此設計中選用固定優先級算法。本文規定優先級如下:初始化請求>刷新請求>讀請求>寫請求>其他。



        關鍵詞: SDRAM 多端口 控制器

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 合川市| 新绛县| 织金县| 宾阳县| 夏津县| 衡水市| 新乡市| 余江县| 岗巴县| 庆阳市| 乳山市| 剑川县| 航空| 吉木萨尔县| 清新县| 岳阳市| 商水县| 平乐县| 闽清县| 探索| 双柏县| 吉安县| 子洲县| 永川市| 滁州市| 林周县| 龙泉市| 砚山县| 邳州市| 宣威市| 林甸县| 田阳县| 卢龙县| 五常市| 岳阳市| 信宜市| 攀枝花市| 平乡县| 临漳县| 阳泉市| 故城县|