新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于AMBA-AHB總線的SDRAM控制器設計方案

        基于AMBA-AHB總線的SDRAM控制器設計方案

        作者: 時間:2016-12-20 來源:網絡 收藏

          4.2 總線地址譯碼

          AHB 總線可以掛多個從設備,如圖3 所示的從機A,從機B.因此在一次讀寫操作中,需要對來自總線的讀寫地址進行譯碼,以判斷總線是對哪個從設備進行訪問,并產生相應的內部片選信號。

          4.3 SDRAM控制器

          SDRAM 控制器由5個模塊組成:SDRAM 控制器模塊、控制接口模塊、命令解析模塊、地址數據復用總線模塊和數據通路模塊。SDRAM 控制器模塊是頂層模塊,通過例化其他4個子模塊將其連成一個整體。

          4.3.1 控制接口模塊

          控制接口模塊對來自AHB 總線信號和SDRAM 控制寄存器的信號解碼并寄存,傳送已經解碼的NOP、WRITEA、READA、REFRESH、PRECHARGE 和LOAD_MODE命令和ADDR給命令解析模塊。

          控制接口模塊還含有一個用于給命令解析模塊產生周期刷新命令的刷新電路,用于給命令模塊發送刷新請求。收到命令模塊的刷新請求后,減法計數器重新裝入數值,重復以上過程。

          本設計所使用的MT48LC16M4A2 型號SDRAM 存儲器具有每64 ms刷新4 096次的要求,因此由64 ms/4 096=15.625 09 μs知,器件必須至少每15.625 09 μs刷新一次。假如存儲器和SDRAM控制器工作在100 MHz的時鐘周期下,那么刷新間隔周期的最大數值是15.625 μs/0.01 μs=1 562 d.

          4.3.2 命令解析模塊

          命令解析模塊接收控制接口模塊輸出的已經解碼的命令和周期性輸出的刷新請求,產生合適的命令給SDRAM器件。從刷新控制邏輯電路發出的刷新請求比主機接口的命令的優先級別高,因此模塊還含有一個簡易的仲裁電路,用于仲裁主機的命令和刷新控制邏輯所產生的刷新請求。

          在仲裁電路已經接受主機命令后,命令被送到模塊的命令發生器部分,命令模塊使用3個移位寄存器來產生命令之間的時序,一個移位寄存器用于控制ACT 命令;第二個用于控制讀或寫命令發出的時間;第三個用于對命令的持續時間定時,這樣仲裁其就可以判斷最近請求的操作是否已經完成。

          命令解析模塊所產生的輸出信號OE用于控制數據通路模塊的輸入數據通路的三態緩沖。

          4.3.3 地址數據復用總線模塊

          該模塊實現SDRAM的地址復用,地址的行部分在ACT(RAS)命令時復用到SDRAM輸出的A[11:0],地址的列部分在讀(CAS)或寫命令時復用到SDRAM地址線上。

          4.3.4 數據通路模塊

          數據通路模塊提供了SDRAM和主機之間的數據接口,負責SDRAM控制器與外部SDRAM存儲器之間的數據交換,具體說就是在對SDRAM寫操作時將來自AHB總線的數據放到外部數據線上,在對SDRAM讀操作時,將來自SDRAM的數據正確送到AHB總線上。

          5 設計實現與仿真結果

          本文使用Micron 公司提供的型號為MT48LC16M4A2 的Verilog 仿真模型進行仿真驗證,證明了設計的正確性。仿真結果如圖4,圖5所示,圖4是SDRAM寫操作的仿真時序圖,即將AHB總線控制操作轉化成SDRAM 寫操作指令;圖5 表示的是將寫入SDRAM的數據連續讀出的仿真時序。

          SDRAM寫操作時序

          6 結語

          本方案設計了一個基于AMBA-AHB 總線的SDRAM控制器,將AMBA-AHB 總線的控制操作轉化成了符合SDRAM 操作規范的控制指令,最后的仿真波形證實了該設計的正確性。


        上一頁 1 2 下一頁

        關鍵詞: AMBA總線SDRAM控制

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 田林县| 沙湾县| 连南| 昌都县| 普格县| 资溪县| 罗平县| 庆阳市| 开平市| 来宾市| 姚安县| 尼勒克县| 故城县| 肃南| 额敏县| 山丹县| 会同县| 贵溪市| 乌审旗| 喀什市| 临颍县| 太谷县| 家居| 四川省| 龙游县| 湟中县| 海口市| 金寨县| 江孜县| 溧水县| 师宗县| 隆尧县| 保山市| 天水市| 林甸县| 永兴县| 德保县| 砚山县| 开江县| 子长县| 吐鲁番市|