<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 嵌入式系統中DRAM控制器的CPLD解決方案

嵌入式系統中DRAM控制器的CPLD解決方案

作者: 時(shí)間:2010-01-25 來(lái)源:網(wǎng)絡(luò ) 收藏
二、80C186XL 的設計與運行

本文引用地址:http://dyxdggzs.com/article/152121.htm

  存在著(zhù)大量、復雜的時(shí)序要求,其中訪(fǎng)問(wèn)時(shí)間的選擇、等待狀態(tài)以及刷新方法是至關(guān)重要的。必須正確響應80C186XL的所有總線(xiàn)周期,必須能將DRAM的部周期和其它訪(fǎng)問(wèn)周期分辨出來(lái),其訪(fǎng)問(wèn)速度必須足夠快,以避免不必要的等待周期。

  在設計時(shí),我們采用XC95C36-15 [2]以及4Mbits的V53C8258[3]DRAM作范例。15ns的,速度相對較高,價(jià)格比較便宜。用它設計成的DRAM允許80C186XL的工作速度高達20MHz,并且XC95C36有異步時(shí)鐘選擇項。這種特性對本設計有很大的好處。

  圖3是80C186XL DRAM控制器和存儲器的功能框圖。

嵌入式系統中DRAM控制器的CPLD解決方案

  DRAM控制器由80C186XL狀態(tài)信號S2、S1和S0的解碼來(lái)檢測總線(xiàn)的開(kāi)始、類(lèi)型和結束。這些狀態(tài)線(xiàn)是在CLKOUT的上升沿開(kāi)始有效,在CLKOUT的下降沿失效的。DRAM控制器發(fā)出的RAS和CAS信號應該在CLKOUT的下降沿同時(shí)有效,行列地址應該在CLKOUT上升沿附近提供。

  DRAM控制器應該在CLKOUT的兩個(gè)沿都應能正常操作。通過(guò)啟用XC95C36的異步時(shí)鐘選擇項,每個(gè)XC95C36宏單元可以從可編程與陣列獲得時(shí)鐘。DRAM控制器使用80C186XL的CLKOUT信號作時(shí)鐘輸入。

  DRAM控制器主要由兩個(gè)相互聯(lián)的狀態(tài)機構成。這兩個(gè)狀態(tài)機,使得DRAM的控制與80C186XL是否進(jìn)行等待狀態(tài)無(wú)關(guān)。狀態(tài)機A和地址多路控制信號(MUX)在CLKOUT的上升沿鎖存。狀態(tài)機B和RAS及CAS的邏輯在CLKOUT的下降沿鎖存。DRAM控制器完整的VHDL語(yǔ)言的源代碼可Email給cnhsx@sina.com索取。

  DRAM控制器的狀態(tài)圖如圖4所示,狀態(tài)機A和B的起始條件分別是A0和B0。狀態(tài)機A初始化DRAM控制器的序列,狀態(tài)機B終止該序列。

  在T2的下降沿,RAS邏輯采樣狀態(tài)機A的狀態(tài),鎖存的地址線(xiàn)和總經(jīng)狀態(tài)信號。如果狀態(tài)機A在A(yíng)1狀態(tài)(存儲器讀、寫(xiě)或刷新周期)并且總線(xiàn)周期為DRAM使用,則XC95C36插入RAS信號。

  在T2的上升沿,狀態(tài)機A也采樣鎖存的地址線(xiàn)。如果總線(xiàn)周期被DRAM占用,狀態(tài)機A將從狀態(tài)A1轉移到A2,否則狀態(tài)機A轉換到A3。至此控制轉移到狀態(tài)機B。MUX邏輯采樣RAS和BHE引腳的狀態(tài)。如果RAS有效(指示DRAM在訪(fǎng)問(wèn)),并且總線(xiàn)周期下是刷新周期,XC95C36將插入MUX。MUX在行列地址之間切換,以便進(jìn)行DRAM的讀寫(xiě)操作。

  在T3的下降沿,狀態(tài)機B采樣狀態(tài)機A。如果狀態(tài)機A處于狀態(tài)A2(DRAM訪(fǎng)問(wèn))或狀態(tài)A3(存儲器讀或寫(xiě),但不是DRAM訪(fǎng)問(wèn)),狀態(tài)機B從狀態(tài)B0轉到B1。如果總線(xiàn)周期是一個(gè)DRAM訪(fǎng)問(wèn)周期,XC95C36繼續保持RAS有效。CAS邏輯采樣MUX的狀態(tài)、鎖存地址A0、BHE和總線(xiàn)周期狀態(tài)。如果MUX有效(指示DRAM讀或寫(xiě)),并且訪(fǎng)問(wèn)低字節,則XC95C36插入LCAS;如果MUX有效,并且微處理器訪(fǎng)問(wèn)高字節,XC95C36插入UCAS。DRAM讀訪(fǎng)問(wèn)和DRAM刷新訪(fǎng)問(wèn)不同之處在于:對刷新來(lái)說(shuō),不需要MUX、UCAS和LCAS。

  在T3的上升沿,狀態(tài)機A等待狀態(tài)機B中斷此序列。如果MUX有效(DRAM讀或寫(xiě)),它將保持有效。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>