新聞中心

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

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

        作者: 時間:2010-01-25 來源:網絡 收藏

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

          在等待狀態的上升沿,狀態機A繼續等待狀態機B來中斷此序列。如果MUX有效(讀或寫),則它在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。

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

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

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

          如果采用引腳數和宏單元較多的XC9672或XC95108CPLD,就可以將D觸發器(74HC74)、多路地址切換器(74HC157)、數據收發器(74HC245)和地址總線鎖存器(74HC373)等其它分立邏輯器件的功能全部集成到CPLD中,這樣系統集成度和可靠性將更加提高。

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

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 阜康市| 大埔区| 梨树县| 连山| 梁平县| 洪雅县| 始兴县| 平和县| 肇东市| 长白| 蒙山县| 腾冲县| 仙游县| 伊春市| 海口市| 大丰市| 庄浪县| 吉首市| 河津市| 桦南县| 陆良县| 泽库县| 淳安县| 焦作市| 大埔区| 灵寿县| 南和县| 屏东县| 辽阳市| 漳浦县| 利川市| 肇庆市| 马山县| 剑川县| 乐至县| 广安市| 阜阳市| 杭锦后旗| 响水县| 明星| 灵川县|