国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

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

發布時間:2010-11-8 11:35    發布者:eetech
關鍵詞: CPLD , DRAM , 方案 , 控制器 , 嵌入式
摘要:介紹怎樣在嵌入式CPU 80C186XL DRAM刷新控制單元的基礎上,利用CPLD技術和80C196XL的時序特征設計一個低價格、功能完整的DRAM控制器的方法,并采用VHDL語言編程實現。

關鍵詞:刷新控制單元(RCU) DRAM控制器 狀態機 CPLD VHDL語言

80C186XL16 位嵌入式微處理器是Intel公司在嵌入式微處理器市場的上導產品之一,已廣泛應用于電腦終端、程控交換和工控等領域。在該嵌入式微處理器片內,集成有DRAM RCU單元,即DRAM刷新控制單元。RCU單元可以自動產生DRAM刷新總線周期,它工作于微處理器的增益模式下。經適當編程后,RCU將向將處理器的 BIU(總線接口)單元產生存儲器讀請求。對微處理器的存儲器范圍編程后,BIU單元執行刷新周期時,被編程的存儲器范圍片選有效。



存儲器是嵌入式計算機系統的重要組成部分之一。通常采用靜態存儲器,但是在系統需要大容量存儲器的情況下,這種方式將使成本猛增。如果采用DRAM存儲器,則可以大幅度降低系統設計成本;但DRAM有復雜的時序要求,給系統設計帶來了很大的困難。

為了方便地使用DRAM,降低系統成本,本文提出一種新穎的解決方案:利用80C186XL的時序特征,采用CPLD技術,并使用VHDL語言設計實現DRAM控制器。

一、80C186XL RCU單元的資源

80C186XL的BIU單元提供20位地址總線,RCU單元也為刷新周期提供20位地址總線。80C186XL能夠產生刷新功能,并將刷新狀態編碼到控制信號中。

圖1 是RCU單元的方框圖。它由1個9位遞減定時計數器、1個9位地址計數器、3個控制寄存器和接口邏輯組成。當RCU使能時,遞減定時計數器每一個 CLKOUT周期減少1次,定時計數器的值減為1時,則產生刷新總線請求,遞減定時計數器重載,操作繼續。刷新總線周期具有高優先級,旦80C186XL 總線有空,就執行刷新操作。

設計者可將刷新總線周期看成是“偽讀”周期。刷新周期像普通讀周期一樣出現在80C186XL總線上,只是沒有數據傳輸。從引腳BHE/RFSH和A0的狀態可以判別刷新周期,如表1所列。刷新總線周期的時序要求如圖2所示。

表1 刷新周期的引腳狀態
80C186XL引腳BHE/RFSHA0
引腳狀態11


二、80C186XL DRAM控制器的設計與運行

DRAM存在著大量、復雜的時序要求,其中訪問時間的選擇、等待狀態以及刷新方法是至關重要的。DRAM控制器必須正確響應80C186XL的所有總線周期,必須能將DRAM的部周期和其它訪問周期分辨出來,其訪問速度必須足夠快,以避免不必要的等待周期。



在設計時,我們采用XC95C36-15 CPLD以及4Mbits的V53C8258DRAM作范例。15ns的CPLD,速度相對較高,價格比較便宜。用它設計成的DRAM控制器允許80C186XL的工作速度高達20MHz,并且XC95C36有異步時鐘選擇項。這種特性對本設計有很大的好處。

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

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

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

DRAM控制器主要由兩個相互聯的狀態機構成。這兩個狀態機,使得DRAM的控制與80C186XL是否進行等待狀態無關。

狀態機A和地址多路控制信號(MUX)在CLKOUT的上升沿鎖存。狀態機B和RAS及CAS的邏輯在CLKOUT的下降沿鎖存。DRAM控制器完整的VHDL語言[4,5]的源代碼可Email給cnhsx@sina.com索取。

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

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

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

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

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

有下一個降沿,狀態機B采樣總線狀態信號。如果狀態信號仍然有效,則此狀態為等待狀態Tw,狀態機B保持在狀態B1。如果這個狀態是等待狀態,并且RAS有效(DRAM訪問),RAS保持有效;如果狀態為等待狀態,并且UCAS和LCAS有效(DRAM讀或寫),UCAS和LCAS保持有效。

在等待狀態的上升沿,狀態機A繼續等待狀態機B來中斷此序列。如果MUX有效(DRAM讀或寫),則它在T3狀態里保持有效。

如果微處理器狀態信號無效,這個狀態則是一個T4狀態,狀態機B從B1轉到B2.如果狀態是一個T4狀態,并且RAS有效(DRAM訪問),則RAST4狀態,并且RAS有效(DRAM訪問),則RAS邏輯也檢測無效狀態信號,并且XC95C36關閉RAS信號;如果狀態是一個T4狀態,并且UCAS和 LCAS有效(DRAM讀或寫),則CAS邏輯也采樣總線狀態信號;如果狀態信號無效,則XC95C36關閉UCAS和LCAS信號。



在T4 的上升沿,狀態機A采樣狀態機B的狀態。在狀態機B處于B2狀態的情況下,狀態機A從A2狀態(DRAM訪問)或A3狀態(存儲器讀或寫,但不是DRAM 訪問)轉到A0。如果MUX有效,MUX邏輯檢查RAS的狀態;如果RAS無效(指示一個終止周期),XC95C36關閉MUX。

在下一個CLKOUT下降沿,狀態機B無條件地從狀態B2轉到B0,終止DRAM序列。控制轉移給狀態機A。

三、80C186XL RCU單元的編程

要使DRAM正常工作,就必須對80C186XL中與DRAM刷新有關的寄存器進行正確編程。這些寄存器包括:刷新時鐘間隔寄存器(RFTIME寄存器)、刷新基地址寄存器(RFBASE寄存器)和刷新控制寄存器(RFCON寄存器)。

刷新時鐘間隔寄存器(RFTIME寄存器)的編程公式為:Trefresh×fcpu/(Rrow+Rrows×補償因子)。V53C8258的技術參數規定,其刷新周期Trefresh為8ms,存儲陣列行數Rrows為512?紤]到RCU取得總線控制權的延時,補償因子取0.05。因此,微處理器在 fcpu=20MHz工作頻率下,RFTIME寄存器的取值為:0.008×20×10 6/(512+512×0.05),約為297.

刷新基地址寄存器(RFBASE寄存器)的編程。該寄存器的高7位,規定了DRAM容量大小。系統使用兩片V53C8258情況下,RFBASE的取值為00H,DRAM占用微處理器的存儲空間的00000H~7FFFFH(512KB)。

最后通過將刷新控制寄存器(RFCON寄存器)的REN位置位,來啟動刷新控制單元。

若使用80C186XL的節電模式,則要求重新編程這些值。在寫節電控制寄存器前,必須先用要時鐘分頻值去除原先設置在刷新間隔寄存器的值,來重新設置寄存器。

結束語

現在DRAM、CPLD的價格非常低,這樣設計者有機會在嵌入式計算機系統設計中考慮采用DRAM。80C186XL嵌入式微處理器廣泛應用于嵌入式計算機、程控通信和工業控制系統中,具有良好的性價比,其性能和功能是80C31、80C196等單片機無法比擬的,并能充分利用大量的PC平臺軟件。本解決方案已在家庭電子證券產品中采用,獲得了良好的經濟效益和社會效益。

掌握CPLD技術和VHDL語言設計技巧是提升產品技術含量的重要途徑。上述CPLD還留在一些引腳和內部資源未使用,只要設計者將VHDL源代碼稍微作一些修改,就可以用這些引腳控制新增加的DRAM,提供總線準備輸出信號或DMA響應信號。

如果采用引腳數和宏單元較多的XC9672或XC95108CPLD,就可以將D觸發器(74HC74)、多路地址切換器(74HC157)、數據收發器(74HC245)和地址總線鎖存器(74HC373)等其它分立邏輯器件的功能全部集成到CPLD中,這樣系統集成度和可靠性將更加提高。
本文地址:http://www.qingdxww.cn/thread-37364-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 利用模擬開發工具生態系統進行安全電路設計
  • 想要避免發生災難,就用MPLAB SiC電源仿真器!
  • 你仿真過嗎?使用免費的MPLAB Mindi模擬仿真器降低設計風險
  • Cortex-M4外設 —— TC&TCC結合事件系統&DMA優化任務培訓教程
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 在线观看精品视频一区二区三区 | 午夜精品九九九九99蜜桃 | 亚洲综合色视频 | 欧美日本中文 | 四虎剧场| 理论午夜 | 国产一在线观看 | 国产麻豆麻豆 | 在线观看国产一区二区三区 | 视频一区在线播放 | 黄色高清在线观看 | 国产成人宗合 | 高h大街上羞耻露出调教 | 日日插天天干 | 亚洲性久久久影院 | 国产精品秒播无毒不卡 | 中文字幕精品一区二区三区在线 | 日韩在线视频线视频免费网站 | 日韩美女视频在线观看 | 高清中文字幕在线 | 成人免费在线播放视频 | 亚洲天堂男人的天堂 | 噜噜噜久久久 | 日韩精品一区在线 | 欧美在线网址 | 在线观看黄免费 | 亚洲影院一区 | 四虎欧美在线观看免费 | 亚洲欧美日韩综合在线播放 | 四虎影视精品 | 日本天堂在线视频 | 男人的天堂色偷偷 | 亚洲欧美日韩久久一区 | 国产一级一级一级成人毛片 | 亚洲欧美综合在线观看 | 天堂网一区 | 在线另类视频 | 我的大乳女友小萱h文 | 国产一区二区在线不卡 | 美国一级黑人毛片 | 日本不卡一|