新聞中心

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

嵌入式系統(tǒng)中DRAM控制器的CPLD解決方案

作者: 時(shí)間:2010-01-25 來源:網(wǎng)絡(luò) 收藏
二、80C186XL 的設(shè)計(jì)與運(yùn)行

本文引用地址:http://www.butianyuan.cn/article/152121.htm

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

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

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

嵌入式系統(tǒng)中DRAM控制器的CPLD解決方案

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

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

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

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

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

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

  在T3的下降沿,狀態(tài)機(jī)B采樣狀態(tài)機(jī)A。如果狀態(tài)機(jī)A處于狀態(tài)A2(DRAM訪問)或狀態(tài)A3(存儲(chǔ)器讀或?qū)?,但不是DRAM訪問),狀態(tài)機(jī)B從狀態(tài)B0轉(zhuǎn)到B1。如果總線周期是一個(gè)DRAM訪問周期,XC95C36繼續(xù)保持RAS有效。CAS邏輯采樣MUX的狀態(tài)、鎖存地址A0、BHE和總線周期狀態(tài)。如果MUX有效(指示DRAM讀或?qū)懀?,并且訪問低字節(jié),則XC95C36插入LCAS;如果MUX有效,并且微處理器訪問高字節(jié),XC95C36插入U(xiǎn)CAS。DRAM讀訪問和DRAM刷新訪問不同之處在于:對(duì)刷新來說,不需要MUX、UCAS和LCAS。

  在T3的上升沿,狀態(tài)機(jī)A等待狀態(tài)機(jī)B中斷此序列。如果MUX有效(DRAM讀或?qū)懀?,它將保持有效?/span>

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評(píng)論


相關(guān)推薦

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

關(guān)閉