<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 多路讀寫(xiě)SDRAM接口設(shè)計(jì)

          多路讀寫(xiě)SDRAM接口設(shè)計(jì)

          作者: 時(shí)間:2009-12-02 來(lái)源:網(wǎng)絡(luò) 收藏

            2 接口電路對(duì)的主要操作路徑及操作過(guò)程

            一個(gè)完備的接口很復(fù)雜。由于本文的接口應(yīng)用于解復(fù)用,處理的事件相對(duì)來(lái)說(shuō)比較簡(jiǎn)單,因而可以簡(jiǎn)化設(shè)計(jì)而不影響性能。接口電路SDRAM的主要操作可以分為:初始化操作、讀操作、寫(xiě)操作、自動(dòng)刷新操作。

           

            (1)初始化操作

            SDRAM上電一段時(shí)間后,經(jīng)過(guò)初始化操作才可以進(jìn)入正常工作過(guò)程。初始化主要完成預(yù)充電、自動(dòng)刷新模式寄存器的配置。操作過(guò)程如圖1所示。

            (2)操作

            操作主要完成與SDRAM的數(shù)據(jù)交換。讀操作過(guò)程如圖2所示,寫(xiě)操作過(guò)程如圖3所示。

            (3)刷新操作

            動(dòng)態(tài)存儲(chǔ)器(Dynamic RAM)都存在刷新問(wèn)題。這里主要采用自動(dòng)刷新方式,每隔一段時(shí)間向SDRAM發(fā)一條刷新命令。刷新過(guò)程如圖4所示。

           
            3 接口電路的設(shè)計(jì)

            (1)解復(fù)用電路

            本解復(fù)用電路主要完成將1路高速數(shù)據(jù)流解復(fù)用為4路數(shù)據(jù)流,其結(jié)構(gòu)框圖如圖5所示。1路數(shù)據(jù)流進(jìn)入解復(fù)用器后,經(jīng)過(guò)SDRAM緩沖,解復(fù)用為4路數(shù)據(jù)流。

            由于要解復(fù)用為4路數(shù)據(jù)流,為了充分利用時(shí)隙,滿足高速的要求,采用4個(gè)bank的SDRAM,各路數(shù)據(jù)緩沖對(duì)應(yīng)不同的bank。為簡(jiǎn)化設(shè)計(jì),數(shù)據(jù)流1的緩沖區(qū)定為bank0,數(shù)據(jù)流2的緩沖區(qū)定為bank1,數(shù)據(jù)流3的緩沖區(qū)定為bank2數(shù)據(jù)流4的緩沖區(qū)定為bank3。對(duì)于每路數(shù)據(jù)實(shí)際上是以高速率集中寫(xiě)入,然后以低速率均勻讀出。

           

            由于進(jìn)行的是解復(fù)用,因此寫(xiě)入的數(shù)據(jù)只有1路,但是有可能4路數(shù)據(jù)同時(shí)都要讀出。所以對(duì)于4路數(shù)據(jù)流,其地址和讀寫(xiě)使能信號(hào)是分開(kāi)的。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();