80C186XL嵌入式系統(tǒng)中DRAM控制器的CPLD解決方案_第1頁
80C186XL嵌入式系統(tǒng)中DRAM控制器的CPLD解決方案_第2頁
80C186XL嵌入式系統(tǒng)中DRAM控制器的CPLD解決方案_第3頁
80C186XL嵌入式系統(tǒng)中DRAM控制器的CPLD解決方案_第4頁
80C186XL嵌入式系統(tǒng)中DRAM控制器的CPLD解決方案_第5頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、【W(wǎng)ord版本下載可任意編輯】 C186XL嵌入式系統(tǒng)中DRAM控制器的CPLD解決方案介紹怎樣在嵌入式CPU 80C186XL DRAM刷新控制單元的根底上,利用CPLD技術和80C196XL的時序特征設計一個低價格、功能完整的DRAM控制器的方法,并采用VHDL語言編程實現(xiàn)。 80C186XL16位嵌入式微處理器是Intel公司在嵌入式微處理器市場的上導產品之一,已廣泛應用于電腦終端、程控交換和工控等領域。在該嵌入式微處理器片內,集成有DRAM RCU單元,即DRAM刷新控制單元。RCU單元可以自動產生DRAM刷新總線周期,它工作于微處理器的增益模式下。經適當編程后,RCU將向將處理器的B

2、IU(總線接口)單元產生存儲器讀請求。對微處理器的存儲器范圍編程后,BIU單元執(zhí)行刷新周期時,被編程的存儲器范圍片選有效。 存儲器是嵌入式計算機系統(tǒng)的重要組成部分之一。通常采用靜態(tài)存儲器,但是在系統(tǒng)需要大容量存儲器的情況下,這種方式將使成本猛增。如果采用DRAM存儲器,則可以大幅度降低系統(tǒng)設計成本;但DRAM有復雜的時序要求,給系統(tǒng)設計帶來了很大的困難。 為了方便地使用DRAM,降低系統(tǒng)成本,本文提出一種新穎的解決方案:利用80C186XL的時序特征,采用CPLD技術,并使用VHDL語言設計實現(xiàn)DRAM控制器。 一、80C186XL RCU單元的資源 80C186XL的BIU單元提供20位地址

3、總線,RCU單元也為刷新周期提供20位地址總線。80C186XL能夠產生刷新功能,并將刷新狀態(tài)編碼到控制信號中。 圖1是RCU單元的方框圖。它由1個9位遞減定時計數(shù)器、1個9位地址計數(shù)器、3個控制存放器和接口邏輯組成。當RCU使能時,遞減定時計數(shù)器每一個CLKOUT周期減少1次,定時計數(shù)器的值減為1時,則產生刷新總線請求,遞減定時計數(shù)器重載,操作繼續(xù)。刷新總線周期具有高優(yōu)先級,旦80C186XL總線有空,就執(zhí)行刷新操作。 設計者可將刷新總線周期看成是“偽讀”周期。刷新周期像普通讀周期一樣出現(xiàn)在80C186XL總線上,只是沒有數(shù)據(jù)傳輸。從引腳BHE/RFSH和A0的狀態(tài)可以判別刷新周期,如下表1

4、所列。刷新總線周期的時序要求如圖2所示。 表1 刷新周期的引腳狀態(tài) 80C186XL引腳BHE/RFSHA0引腳狀態(tài)11 二、80C186XL DRAM控制器的設計與運行 DRAM存在著大量、復雜的時序要求,其中訪問時間的選擇、等待狀態(tài)以及刷新方法是至關重要的。DRAM控制器必須正確響應80C186XL的所有總線周期,必須能將DRAM的部周期和其它訪問周期分辨出來,其訪問速度必須足夠快,以防止不必要的等待周期。 在設計時,我們采用XC95C36-15 CPLD以及4Mbits的V53C8258DRAM作范例。15ns的CPLD,速度相對較高,價格比較便宜。用它設計成的DRAM控制器允許80C1

5、86XL的工作速度高達20MHz,并且XC95C36有異步時鐘選擇項。這種特性對本設計有很大的好處。 圖3是80C186XL DRAM控制器和存儲器的功能框圖。 DRAM控制器由80C186XL狀態(tài)信號S2、S1和S0的解碼來檢測總線的開始、類型和結束。這些狀態(tài)線是在CLKOUT的上升沿開始有效,在CLKOUT的下降沿失效的。DRAM控制器發(fā)出的RAS和CAS信號應該在CLKOUT的下降沿同時有效,行列地址應該在CLKOUT上升沿附近提供。 DRAM控制器應該在CLKOUT的兩個沿都應能正常操作。通過啟用XC95C36的異步時鐘選擇項,每個XC95C36宏單元可以從可編程與陣列獲得時鐘。DRA

6、M控制器使用80C186XL的CLKOUT信號作時鐘輸入。 DRAM控制器主要由兩個相互聯(lián)的狀態(tài)機構成。這兩個狀態(tài)機,使得DRAM的控制與80C186XL是否開展等待狀態(tài)無關。狀態(tài)機A和地址多路控制信號(MUX)在CLKOUT的上升沿鎖存。狀態(tài)機B和RAS及CAS的邏輯在CLKOUT的下降沿鎖存。DRAM控制器完整的VHDL語言的源代碼可Email給cnhsx索取。 DRAM控制器的狀態(tài)圖如圖4所示,狀態(tài)機A和B的起始條件分別是A0和B0。狀態(tài)機A初始化DRAM控制器的序列,狀態(tài)機B終止該序列。 在T2的下降沿,RAS邏輯采樣狀態(tài)機A的狀態(tài),鎖存的地址線和總經狀態(tài)信號。如果狀態(tài)機A在A1狀態(tài)(

7、存儲器讀、寫或刷新周期)并且總線周期為DRAM使用,則XC95C36插入RAS信號。 在T2的上升沿,狀態(tài)機A也采樣鎖存的地址線。如果總線周期被DRAM占用,狀態(tài)機A將從狀態(tài)A1轉移到A2,否則狀態(tài)機A轉換到A3。至此控制轉移到狀態(tài)機B。MUX邏輯采樣RAS和BHE引腳的狀態(tài)。如果RAS有效(指示DRAM在訪問),并且總線周期下是刷新周期,XC95C36將插入MUX。MUX在行列地址之間切換,以便開展DRAM的讀寫操作。 在T3的下降沿,狀態(tài)機B采樣狀態(tài)機A。如果狀態(tài)機A處于狀態(tài)A2(DRAM訪問)或狀態(tài)A3(存儲器讀或寫,但不是DRAM訪問),狀態(tài)機B從狀態(tài)B0轉到B1。如果總線周期是一個D

8、RAM訪問周期,XC95C36繼續(xù)保持RAS有效。CAS邏輯采樣MUX的狀態(tài)、鎖存地址A0、BHE和總線周期狀態(tài)。如果MUX有效(指示DRAM讀或寫),并且訪問低字節(jié),則XC95C36插入LCAS;如果MUX有效,并且微處理器訪問高字節(jié),XC95C36插入UCAS。DRAM讀訪問和DRAM刷新訪問不同之處在于:對刷新來說,不需要MUX、UCAS和LCAS。 在T3的上升沿,狀態(tài)機A等待狀態(tài)機B中斷此序列。如果MUX有效(DRAM讀或寫),它將保持有效。 有下一個降沿,狀態(tài)機B采樣總線狀態(tài)信號。如果狀態(tài)信號仍然有效,則此狀態(tài)為等待狀態(tài)Tw,狀態(tài)機B保持在狀態(tài)B1。如果這個狀態(tài)是等待狀態(tài),并且RA

9、S有效(DRAM訪問),RAS保持有效;如果狀態(tài)為等待狀態(tài),并且UCAS和LCAS有效(DRAM讀或寫),UCAS和LCAS保持有效。 在等待狀態(tài)的上升沿,狀態(tài)機A繼續(xù)等待狀態(tài)機B來中斷此序列。如果MUX有效(DRAM讀或寫),則它在T3狀態(tài)里保持有效。 如果微處理器狀態(tài)信號無效,這個狀態(tài)則是一個T4狀態(tài),狀態(tài)機B從B1轉到B2.如果狀態(tài)是一個T4狀態(tài),并且RAS有效(DRAM訪問),則RAST4狀態(tài),并且RAS有效(DRAM訪問),則RAS邏輯也檢測無效狀態(tài)信號,并且XC95C36關閉RAS信號;如果狀態(tài)是一個T4狀態(tài),并且UCAS和LCAS有效(DRAM讀或寫),則CAS邏輯也采樣總線狀態(tài)

10、信號;如果狀態(tài)信號無效,則XC95C36關閉UCAS和LCAS信號。 在T4的上升沿,狀態(tài)機A采樣狀態(tài)機B的狀態(tài)。在狀態(tài)機B處于B2狀態(tài)的情況下,狀態(tài)機A從A2狀態(tài)(DRAM訪問)或A3狀態(tài)(存儲器讀或寫,但不是DRAM訪問)轉到A0。如果MUX有效,MUX邏輯檢查RAS的狀態(tài);如果RAS無效(指示一個終止周期),XC95C36關閉MUX。 在下一個CLKOUT下降沿,狀態(tài)機B無條件地從狀態(tài)B2轉到B0,終止DRAM序列??刂妻D移給狀態(tài)機A。 三、80C186XL RCU單元的編程 要使DRAM正常工作,就必須對80C186XL中與DRAM刷新有關的存放器開展正確編程。這些存放器包括:刷新時鐘

11、間隔存放器(RFTIME存放器)、刷新基地址存放器(RFBASE存放器)和刷新控制存放器(RFCON存放器)。 刷新時鐘間隔存放器(RFTIME存放器)的編程公式為:Trefreshfcpu/(Rrow+Rrows補償因子)。V53C8258的技術參數(shù)規(guī)定,其刷新周期Trefresh為8ms,存儲陣列行數(shù)Rrows為512??紤]到RCU取得總線控制權的延時,補償因子取0.05。因此,微處理器在fcpu=20MHz工作頻率下,RFTIME存放器的取值為:0.0082010 6/(512+5120.05),約為297. 刷新基地址存放器(RFBASE存放器)的編程。該存放器的高7位,規(guī)定了DRAM

12、容量大小。系統(tǒng)使用兩片V53C8258情況下,RFBASE的取值為00H,DRAM占用微處理器的存儲空間的00000H7FFFFH(512KB)。 通過將刷新控制存放器(RFCON存放器)的REN位置位,來啟動刷新控制單元。 若使用80C186XL的節(jié)電模式,則要求重新編程這些值。在寫節(jié)電控制存放器前,必須先用要時鐘分頻值去除原先設置在刷新間隔存放器的值,來重新設置存放器。 結束語 現(xiàn)在DRAM、CPLD的價格非常低,這樣設計者有時機在嵌入式計算機系統(tǒng)設計中考慮采用DRAM。80C186XL嵌入式微處理器廣泛應用于嵌入式計算機、程控通信和工業(yè)控制系統(tǒng)中,具有良好的性價比,其性能和功能是80C31、80C196等單片機無法比較的,并能充分利用大量的PC平臺軟件。本解決方案已在家庭電子證券產品中采用,獲得了良好的經濟效益和社會效益。 掌握CPLD技術和VHDL語言設計技巧是提升產品技術含量的重要途徑。上述CPLD還留在一些引腳和內部資源未使用,只要設計

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論