国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

SDRAM控制器簡(jiǎn)易化設(shè)計(jì)

2011-10-09 09:44:04劉浩淼卞樹(shù)檀朱守保
電子設(shè)計(jì)工程 2011年19期
關(guān)鍵詞:預(yù)充電命令芯片

劉浩淼,卞樹(shù)檀,朱守保

(第二炮兵工程學(xué)院 陜西 西安 710025)

SDRAM(Synchronous DRAM)是一種大容量快速讀寫(xiě)存儲(chǔ)器,因?yàn)槠渥x寫(xiě)速度快、容量大、價(jià)格低廉,被廣泛應(yīng)用到音頻、視頻處理[1],數(shù)據(jù)采集,手持電子設(shè)備,雷達(dá)設(shè)備[2-3]等方面。這里使用SDRAM作為視頻回波模擬器的回波數(shù)據(jù)高速緩存。

工控機(jī)PC104產(chǎn)生相關(guān)的模擬回波數(shù)據(jù),以FPGA為中介將數(shù)據(jù)存儲(chǔ)于I/Q兩路SDRAM,并進(jìn)行數(shù)據(jù)處理和數(shù)據(jù)輸出操縱。由于回波脈沖有一定間隔,所以方案使用SDRAM以單字讀寫(xiě)模式工作。

1 SDRAM特性

這里使用的SDRAM芯片是現(xiàn)代公司生產(chǎn)的HY57V561620型號(hào)芯片[4],擁有4個(gè)Bank,每個(gè)Bank容量為4,194,304×16 bit,B0~B1 是 2 根 Bank 選擇線,A0~A12 的 13根地址線是行地址,RA0~RA12與列地址 CA0~CA8復(fù)用,D0~D15是16根數(shù)據(jù)線。地址線還可以對(duì)工作模式進(jìn)行設(shè)置,A10控制預(yù)充電模式等功能。工作時(shí)鐘能達(dá)到133 MHz(7.5 ns),是一種高速存儲(chǔ)器。

采用Ateral公司颶風(fēng)系列的EP1C6Q240芯片[5],對(duì)SDRAM控制器進(jìn)行設(shè)計(jì)和實(shí)現(xiàn)。這種設(shè)計(jì)節(jié)省PCB空間,又增加了系統(tǒng)穩(wěn)定性。FPGA有重復(fù)可編程的特征,使得SDRAM控制器可以方便地進(jìn)行功能擴(kuò)展。

2 SDRAM控制操作

SDRAM 操作[3-4,6-7]包括初始化、讀寫(xiě)、預(yù)充電和刷新等操作。初始化過(guò)程如下:上電等待200 μs,隨后完成1次預(yù)充電,隨后連續(xù)進(jìn)行8次刷新操作,最后對(duì)模式寄存器進(jìn)行設(shè)置。至此初始化完畢,SDRAM進(jìn)入正常工作狀態(tài)。

SDRAM芯片內(nèi)部嵌有一個(gè)控制模塊操作底層的存儲(chǔ)單元,所以SDRAM工作狀態(tài)是通過(guò)命令控制的。這些命令包括:預(yù)充電(Precharge)和自動(dòng)預(yù)充電(Auto Precharge)、激活(Active)、讀(Read)、寫(xiě)(Write)、自動(dòng)刷新(Auto Refresh)和自刷新(Self Refresh)等。這里介紹幾個(gè)相關(guān)的命令:刷新、預(yù)充電、激活、讀寫(xiě)。

刷新是對(duì)SDRAM內(nèi)的數(shù)據(jù)進(jìn)行更新的操作。SDRAM存儲(chǔ)單元實(shí)質(zhì)是使用電容存儲(chǔ)數(shù)據(jù)的,電容有漏電現(xiàn)象,所以需要每隔一段時(shí)間對(duì)其進(jìn)行一次重新充電,芯片手冊(cè)要求在每64 ms對(duì)內(nèi)部所有行213=8 192進(jìn)行一次刷新。刷新包括:自動(dòng)刷新和自刷新。自刷新是在低功耗下芯片內(nèi)部自動(dòng)完成的。自動(dòng)刷新是由控制器發(fā)起的,它必須在SDRAM沒(méi)有激活行時(shí)才能進(jìn)行,每次提出刷新命令芯片內(nèi)部會(huì)通過(guò)行自加器對(duì)行數(shù)加一。對(duì)芯片刷新的實(shí)現(xiàn)方法有:集中刷新和定時(shí)刷新。由于模擬數(shù)據(jù)擁有固定時(shí)序,且沒(méi)有大塊的空閑時(shí)間,所以選擇定時(shí)刷新。

預(yù)充電是對(duì)讀寫(xiě)的行進(jìn)行關(guān)閉操作。這里選擇預(yù)充電而沒(méi)有使用自動(dòng)預(yù)充電,是出于掌握對(duì)時(shí)序的主動(dòng)控制考慮,每次對(duì)全部模塊進(jìn)行預(yù)充電。

激活是對(duì)某一行的激活,這樣才能對(duì)這一行進(jìn)行讀寫(xiě)操作。激活過(guò)程實(shí)質(zhì)上是對(duì)行地址的鎖存。

讀寫(xiě)是在激活行上進(jìn)行的,讀寫(xiě)命令與列地址同時(shí)發(fā)出??梢酝话l(fā)讀寫(xiě),其長(zhǎng)度是在初始化時(shí)通過(guò)對(duì)模式寄存器時(shí)設(shè)置實(shí)現(xiàn)。本設(shè)計(jì)使用突發(fā)讀/單一寫(xiě)的模式,突發(fā)長(zhǎng)度為1。

表1 命令真值表Tab.1 Command truth table

Mode Code設(shè)置為220 H,即突發(fā)讀/單一寫(xiě),讀操作潛伏期為2 clk,順序突發(fā),突發(fā)長(zhǎng)度為1。

3 模塊化設(shè)計(jì)

SDRAM控制器采用模塊化設(shè)計(jì),可以進(jìn)行功能模塊化調(diào)試,便于設(shè)計(jì)。設(shè)計(jì)模塊由4部分組成:狀態(tài)控制機(jī)(State Control Machine)、命令控制機(jī)(Command Control Machine)、刷新機(jī)(Refresh Machine)、雙向鎖存器(Latch)。 控制器總體設(shè)計(jì)如1所示。

圖1 SDRAM控制器結(jié)構(gòu)框圖Fig.1 SDRAM controller block diagram

3.1 狀態(tài)控制器

狀態(tài)控制機(jī)是控制模塊的核心,它接收請(qǐng)求信號(hào)并通過(guò)狀態(tài)分析控制其他模塊的工作。狀態(tài)控制機(jī)的設(shè)計(jì)主要通過(guò)設(shè)計(jì)狀態(tài)機(jī)[8]來(lái)完成,SDRAM的控制狀態(tài)主要分為:初始化、正常工作狀態(tài),狀態(tài)圖分別如圖2、圖3所示。

設(shè)備加電后狀態(tài)控制機(jī)先進(jìn)入初始化狀態(tài)(Initial),依次完成:等待200 μs、預(yù)充電、8次刷新、模式寄存器設(shè)置(MRS)。隨后進(jìn)入正常工作狀態(tài),工作狀態(tài)首先進(jìn)入空閑狀態(tài)(Idel),此時(shí)可能會(huì)有讀寫(xiě)、刷新請(qǐng)求,因此需要制定一個(gè)優(yōu)先級(jí)判別機(jī)制。使用SDRAM讀取數(shù)據(jù)模擬脈沖回波,數(shù)據(jù)不能被中斷,因此設(shè)置讀寫(xiě)操作優(yōu)先級(jí)高于刷新,這樣刷新操作必須在空閑狀態(tài)時(shí)才響應(yīng)。如果當(dāng)讀寫(xiě)操作正在進(jìn)行時(shí)刷新定時(shí)到來(lái),可以設(shè)置一個(gè)標(biāo)志記錄變量,在完成讀寫(xiě)操作進(jìn)入空閑狀態(tài)后再通過(guò)刷新標(biāo)志變量來(lái)判定是否進(jìn)入刷新?tīng)顟B(tài)(Refresh)。VerilogHDL部分實(shí)現(xiàn)程序如下:

圖2 初始化狀態(tài)圖Fig.2 Initialization state diagram

圖3 工作狀態(tài)圖Fig.3 Work state diagram

在讀寫(xiě)操作狀態(tài)(Read/Write)時(shí),也不知道刷新請(qǐng)求會(huì)什么時(shí)候到來(lái),所以采用每次回到空閑狀態(tài)前進(jìn)行一次對(duì)所有Bank的預(yù)充電(Precharge),為空閑狀態(tài)的刷新做好準(zhǔn)備。讀寫(xiě)模式為單一讀寫(xiě),每次間隔與發(fā)射脈沖頻率相關(guān)為500 ns,因此也有足夠的時(shí)間完成預(yù)充電。狀態(tài)控制機(jī)內(nèi)部有兩個(gè)分別控制讀寫(xiě)的地址譯碼器,譯碼器自動(dòng)遞增讀寫(xiě)的地址,因此設(shè)計(jì)了讀寫(xiě)激活狀態(tài)(Active Read/Active Write)來(lái)判斷是激活讀地址還是寫(xiě)地址。

狀態(tài)控制機(jī)還輸出dat脈沖信號(hào)去鎖存雙端口鎖存器的數(shù)據(jù),保證數(shù)據(jù)在操作時(shí)的穩(wěn)定性。

3.2 命令控制器

狀態(tài)控制機(jī)通過(guò)分析狀態(tài)給出相應(yīng)的命令信號(hào),命令信號(hào)輸入到命令控制機(jī)(Command Control Machine)。命令控制機(jī)輸出端直接去控制SDRAM,對(duì)輸入端命令信號(hào)的分析和輸出以真值表1為依據(jù),部分實(shí)現(xiàn)代碼如下:

命令的譯碼操作主要是根據(jù)輸入判斷輸出。在讀寫(xiě)操作時(shí),當(dāng)讀寫(xiě)完一行數(shù)據(jù)29×16=512×16 bit后需要對(duì)行地址加一,對(duì)列地址再加一為零,從下次開(kāi)始讀寫(xiě)下一行數(shù)據(jù)。

3.3 刷新機(jī)

刷新機(jī)(RefreshMachine)的實(shí)質(zhì)是定時(shí)器,它以固定時(shí)間間隔輸出刷新脈沖。芯片手冊(cè)要求在64 ms內(nèi)對(duì)所用行進(jìn)行一次刷新,計(jì)算每次刷新的間隔為7812.5 ns,片上時(shí)鐘頻率為100 MHz,即每計(jì)781個(gè)數(shù)進(jìn)行一次刷新,這里考慮到刷新的優(yōu)先級(jí)低,可能被推遲執(zhí)行,所以設(shè)置每記512個(gè)數(shù)提出一次刷新請(qǐng)求。

3.4 雙向鎖存器

PC104通過(guò)ISA總線和SDRAM通過(guò)數(shù)據(jù)線傳輸?shù)臄?shù)據(jù)是雙向的,雙向鎖存器(Latch)[9]為滿足數(shù)據(jù)流通提供了橋梁。數(shù)據(jù)的輸入采用鎖存機(jī)制,使輸出端得到的數(shù)據(jù)穩(wěn)定。DA[15..0]與PC104的數(shù)據(jù)總線相連;DB[15..0]與SDRAM的數(shù)據(jù)線相連;控制數(shù)據(jù)的流向,高電平時(shí)數(shù)據(jù)從DA[15..0]流向DB[15..0],反之則流向相反;dat脈沖對(duì)數(shù)據(jù)進(jìn)行鎖存。

4 實(shí)驗(yàn)分析

對(duì)各個(gè)模塊進(jìn)行聯(lián)合實(shí)驗(yàn)的時(shí)序仿真如圖4所示。

圖4 控制器整體時(shí)序圖Fig.4 Control the overall timing diagram

實(shí)驗(yàn)對(duì)控制器的初始化、寫(xiě)操作、讀操作和刷新操作進(jìn)行了仿真。實(shí)驗(yàn)結(jié)果表明SDRAM控制器對(duì)于各個(gè)操作都有正確的時(shí)序輸出。在設(shè)計(jì)刷新操作實(shí)驗(yàn)時(shí),特意同時(shí)給出讀脈沖和刷新脈沖來(lái)測(cè)試控制器對(duì)優(yōu)先級(jí)的判定能力,實(shí)驗(yàn)結(jié)果表明在控制器完成讀操作并回到空閑狀態(tài)后才去響應(yīng)刷新請(qǐng)求正確地執(zhí)行了優(yōu)先級(jí)操縱。在時(shí)間軸上對(duì)每個(gè)響應(yīng)操作的時(shí)間進(jìn)行分析,發(fā)現(xiàn)操作響應(yīng)存在一定的延時(shí),這是硬件電路的性能和時(shí)鐘頻率所決定的,延時(shí)在可接受范圍內(nèi)。實(shí)驗(yàn)證明使用模塊化設(shè)計(jì)SDRAM控制器的方法可行。

5 結(jié)束語(yǔ)

筆者從實(shí)際應(yīng)用出發(fā)設(shè)計(jì)了單一長(zhǎng)度讀寫(xiě)的SDRAM控制器,使用了狀態(tài)機(jī)和模塊化設(shè)計(jì),使設(shè)計(jì)簡(jiǎn)潔明了,簡(jiǎn)化了設(shè)計(jì)流程,并通過(guò)了時(shí)序仿真,可以被視頻回波模擬器設(shè)計(jì)所使用。下一步要從設(shè)計(jì)上和時(shí)鐘上做一些改進(jìn)盡量減小操作響應(yīng)的延時(shí)。

[1]王騫,丁鐵夫.高速圖像存儲(chǔ)系統(tǒng)中SDRAM控制器的實(shí)現(xiàn)[J].液晶與顯示,2006,21(1):48-52.

WANG Qian,DING Tie-fu.High-speedimagestorage system SDRAM controller implementation[J].Chinese Journal of Liquid Crystals and Display,2006,21(1):48-52.

[2]余卜一.基于磁盤(pán)陣列的雷達(dá)回波模擬器的研制[D]成都:電子科技大學(xué),2006.

[3]鄭哲,李加琪,吳嗣亮.引信體目標(biāo)視頻回波模擬器SDRAM控制器的FPGA設(shè)計(jì)[J]微電子學(xué), 2005,35(1):102-104.

ZHENG Zhe, LI Jia-qi, WU Si-liang.FPGA design of SDRAM controllerforwirelessfuseebody-targetvideo frepuenty echo simulator[J].Microelectronics, 2005,35(1):102-104.

[4]Hynix公司.HY57V561620DataSheet[EB/OL].[2011-07-20].www.datasheet.com.

[5]altera公司.Cyclone FPGA Family[EB/OL][2011-07-12].www.altera.com.cn/literature.jsp.

[6]楊映輝.基于FPGA的SDRAM控制器設(shè)計(jì)及應(yīng)用[D]蘭州:蘭州大學(xué),2007.

[7]程方敏,黃啟俊,向守坤,等.基于FPGA的高速SDRAM控制器的視頻應(yīng)用[J]應(yīng)用設(shè)計(jì),2009,36(7):22-24.

CHENG Fang-min, HUANG Qi-jun, XIANG Shou-kun,et al.The video application of high speed SDRAM controller based on FPGA[J].Application Design,2009,36(7):22-24.

[8]姚遠(yuǎn),李辰.FPGA應(yīng)用開(kāi)發(fā)入門(mén)與典型實(shí)例[M].北京:人民郵電出版社,2010.

[9]杜志傳,鄭建立.基于CPLD/FPGA的VHDL語(yǔ)言電路優(yōu)化設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2010(03):191-193.

DU Zhi-chuan,ZHENG Jian-li.Optimized design of circuits in VHDL based on CPLD/FPGA[J].Modern Electronics Technique,2010(03):191-193.

猜你喜歡
預(yù)充電命令芯片
動(dòng)力電池預(yù)充設(shè)計(jì)及溫升特性研究
只聽(tīng)主人的命令
電動(dòng)汽車(chē)預(yù)充電保護(hù)設(shè)計(jì)
電動(dòng)汽車(chē)分級(jí)預(yù)充電回路及預(yù)充電阻選型匹配方法研究
移防命令下達(dá)后
芯片測(cè)試
這是人民的命令
多通道采樣芯片ADS8556在光伏并網(wǎng)中的應(yīng)用
基于變頻器的新型預(yù)充電電路的研究
74HC164芯片的應(yīng)用
河南科技(2014年10期)2014-02-27 14:09:18
江川县| 安多县| 苗栗市| 巴青县| 株洲县| 措勤县| 望城县| 准格尔旗| 台中市| 涟源市| 赣榆县| 泸定县| 栾川县| 吉木萨尔县| 江华| 奉贤区| 双鸭山市| 博白县| 景洪市| 新源县| 澎湖县| 中宁县| 西乌珠穆沁旗| 田东县| 沭阳县| 涿鹿县| 荣昌县| 云阳县| 黄梅县| 上蔡县| 宁国市| 林周县| 抚顺市| 资源县| 清河县| 诸城市| 堆龙德庆县| 华蓥市| 吉木萨尔县| 武乡县| 榆社县|