<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 基于SDRAM的視頻處理器設計與實(shí)現

基于SDRAM的視頻處理器設計與實(shí)現

作者: 時(shí)間:2006-10-23 來(lái)源:網(wǎng)絡(luò ) 收藏
引言

在信息處理中,特別是實(shí)時(shí)視頻圖像處理中,通常都要對實(shí)現視頻圖像進(jìn)行處理,而這首先必須設計大容量的存儲器,同步動(dòng)態(tài)隨機存儲器雖然有價(jià)格低廉、容量大等優(yōu)點(diǎn),但因的控制結構復雜,常用的方法是設計通用控制器,這使得很多人不得不放棄使用SDRAM而使用價(jià)格昂貴的SRAM。為此,筆者在研究有關(guān)文獻的基礎上,根據具體情況提出一種獨特的方法,實(shí)現了對SDRAM的控制,并通過(guò)利用FPGA控制數據存取的順序來(lái)實(shí)現對數字視頻圖像的旋轉,截取、平移等實(shí)時(shí)處理。SDRAM的控制原理,如圖1所示。

sdram控制原理圖


SDRAM基本操作原理

本文以三星公司的SDRAM器件K4S561632C[4]為例來(lái)是說(shuō)明SDRAM的工作原理。

SDRAM的結構特點(diǎn)

存儲器的最初結構為線(xiàn)性,它在任何時(shí)刻,地址線(xiàn)中都只能有一位有效。設容量為NM的存儲器有S0-Sn-1條地址線(xiàn);當容量增大時(shí),地址選擇線(xiàn)的條數也要線(xiàn)性增多,利用地址譯碼雖然可有效地減少地址選擇線(xiàn)的條數,但這種存儲器的長(cháng)寬比太大,顯然,這在工業(yè)上是無(wú)法實(shí)現的。而且由于連線(xiàn)的延時(shí)與連線(xiàn)的長(cháng)度成正比,這樣的設計會(huì )使存儲器的存取速度很慢。為了解決這個(gè)問(wèn)題,現在常用的存儲器都是將存儲單元設計成陣列形狀,使其長(cháng)寬比接近1:1。這樣,電路就必須增加一個(gè)列地址譯碼器,才能選出正確的存儲單元。這樣,整個(gè)存儲器的地址線(xiàn)被分為行地址線(xiàn)和列地址線(xiàn),行地址線(xiàn)要將要選擇執行讀或寫(xiě)操作的行,而列地址線(xiàn)則可從被選中的一行中再選出一個(gè)用于真正執行讀或寫(xiě)操作的存儲單元。

SDRAM的行地址線(xiàn)和列地址線(xiàn)是分時(shí)復用的,即地址線(xiàn)要分兩次送出,先送行地址線(xiàn),再送列地址線(xiàn)。這樣可進(jìn)一步減少地址線(xiàn)的數量、提高器件的性能,但尋址過(guò)程會(huì )由此變得復雜,新型的SDRAM的容量一般比較大,如果還采用簡(jiǎn)單的陣列結構,就會(huì )使存儲器的字線(xiàn)和位線(xiàn)的長(cháng)度、內部寄生電容及寄生電阻都變得很大,從而使整個(gè)存儲器的存取速度嚴重下降,實(shí)際上,現在SDRAM一般都以Bank(存儲體或存儲塊)為組織,來(lái)將SDRAM分為很多獨立的小塊,然而由Bank地址線(xiàn)BA控制Bank之間的選擇;SDRAM的行、列地址線(xiàn)貫穿所有的Bank;每個(gè)Bank的數據位寬同整個(gè)存儲器的相同。這樣,Bank內的字線(xiàn)和位線(xiàn)的長(cháng)度就可被限制合適的范圍內,從而加快存儲器單元的存取速度,另外,BA也可以使被選中的Bank處于正常工作模式,而使沒(méi)有被選中的Bank工作在低功耗模式下,這樣還可以降低SDRAM的功耗。

為了減少MOS管的數量、降低功耗、提高集成度和存儲容量,SDRAM都是利用其內部電容存儲信息,由于電容的放電作用,必須每隔一段時(shí)間給電容充電才能使存儲在電容里的數據信息不丟失,這就是刷新過(guò)程,這種機制使SDRAM的控制過(guò)程變的更加復雜,從而給應用帶來(lái)難度。

三星公司的SDRAM(K4S561632C)的外部同步時(shí)鐘速率可在一定的頻率范圍內連續變化,最高頻率可達到133MHz,每塊SDRAM內含四個(gè)獨立的Bank;它的基本存儲單元都是按照陣列排列的,它的數據位寬和整個(gè)存儲器的位寬相同,同時(shí)支持多種讀寫(xiě)模式;所有的輸入信號均以時(shí)鐘的上升沿為基準,這使得地址、控制和數據輸入到緩沖器的時(shí)間可保持一致且建立和保持的時(shí)間很??;該器件使用完全流水線(xiàn)型內部結構;另外,它還具有突發(fā)長(cháng)度可編程、延遲可編程等優(yōu)點(diǎn)。這些優(yōu)點(diǎn)使得K4S561632C能廣泛的應用于寬頻帶、高性能存儲器應用系統。

SDRAM的基本信號

SDRAM的基本信號可以分成以下幾類(lèi):

(1)控制信號:包括片選(CS)、同步時(shí)鐘(CLK)、時(shí)鐘有效(CLKEN)、讀寫(xiě)選擇(WE)、數據有效(DQM)等;
(2)地址選擇信號:包括行地址選擇(RAS)、列地址選擇(CAS)、行/列地址線(xiàn)(SA0-SA12)分時(shí)復用、Bank塊地址線(xiàn)(BA0-BA1);

(3)數據信號:包括雙向數據端口(DQ0-DQ15)、接收數據有效信號(DQM)控制等。DQM為低時(shí),寫(xiě)入/讀出有效。

對SDRAM的基本命令

要正確的對SDRAM進(jìn)行操作,就需要輸入多種命令:包括模式寄存器設置、預充電、突發(fā)停止、空操作等命令。SDRAM內部的狀態(tài)會(huì )根據表1的命令進(jìn)行轉移,其中,命令COM={CS#;RAS#;CAS#;WE#}。

模式寄存器的規定

利用模式寄存器(Mode Register)[5]可通過(guò)裝載模式寄存器命令(LOADMODE REGISTER)進(jìn)行編程,這組信息將會(huì )一直保存在模式寄存器中,直到它再次被編程或器件掉電為止;它規定了SDRAM的操作模式,包括突發(fā)長(cháng)度、突發(fā)類(lèi)型、CAS延遲時(shí)間、運行模式及寫(xiě)突發(fā)模式、具體格式如圖2所示,模式寄存器M0-M2用于規定突發(fā)長(cháng)度(Burst length)。M3用于規定突發(fā)類(lèi)型BT(Burst Type),M3=0時(shí),突發(fā)類(lèi)型是連續的;M3=1時(shí),突發(fā)類(lèi)型是交錯的,M4-M6用于規定CAS延遲的時(shí)鐘周期數,M7-M8規定運行模式,M9規定寫(xiě)突發(fā)模式WB(Write Burst Mode),當M9=0時(shí),按實(shí)際編程的突發(fā)長(cháng)度存取,當M9=1時(shí),則按單個(gè)存取單元寫(xiě)入,但可按實(shí)際編程的突發(fā)長(cháng)度讀出,M10和M11為保留位,可供未來(lái)使用。在模式寄存器裝載期間,地址A12(M12)必須被驅動(dòng)至低電平,本方案中,模式寄存器的值為ox220h。

模式寄存器格式


初始化操作

SDRAM在上電以后必須先對其進(jìn)行初始化操作,而后才能對其進(jìn)行其他操作。出初始化操作具體步驟如下:

(1)SDRAM在上電以后需要等待100-200μs,在等待時(shí)間結束后還至少要執行一條空操作命令;

(2)SDRAM執行一條預充電命令后,要執行一條空操作命令,這兩個(gè)操作會(huì )使所有的存儲單元進(jìn)行一次預充電,從而使所有陣列中的器件處于待機狀態(tài);

(3)SDRAM要執行兩條自刷新命令,每一條刷新命令之后,都要執行一條空操作命令,這些操作可使SDRAM芯片內部的刷新及計數器進(jìn)入正常運行狀態(tài),以便SDRAM為模式寄存器編程做好準備;

(4)執行加載模式寄存器(LOAD MODE REGISTER)命令,完成對SDRAM工作模式的設定。完成以上步驟后,SDRAM即可進(jìn)入正常工作狀態(tài),以等待外部命令對其進(jìn)行讀、寫(xiě)、預充電和刷新等操作。

SDRAM的基本讀寫(xiě)操作

SDRAM的基本讀操作[3]需要控制線(xiàn)和地址線(xiàn)相配合并發(fā)出一系列命令來(lái)完成。SDRAM的讀操作只有突發(fā)模式(Burst Mode);而寫(xiě)操作則可以有突發(fā)寫(xiě)和非突發(fā)寫(xiě)兩種模式,具體如下:

(1)帶有預充電的突發(fā)讀寫(xiě)模式,該模式一次能夠訪(fǎng)問(wèn)的列地址的最大數為1、2、4、8;

(2)不帶有機充電的全頁(yè)讀寫(xiě)、此模式可任意控制一次能夠訪(fǎng)問(wèn)的列地址的最大數。 根據實(shí)際情況,本設計只選取了與本方法相關(guān)的基本操作命令,并沒(méi)有設計通用的控制器,圖3是本方案的SDRAM內部狀態(tài)轉移圖。

sdram內部狀態(tài)轉移圖


Bank乒乓操作

由于Bank內的行與行之間具有關(guān)聯(lián)性,因此,當其中一個(gè)Bank的讀或寫(xiě)操作結束后,必須執行一次
預充電命令以關(guān)閉正在操作的行、預充電命令執行后,會(huì )有一個(gè)tRP的延時(shí),延時(shí)完成后才能向同一Bank行(或其他行)發(fā)出新的激活命令。由于Bank之間是相互獨立的,因此,在一個(gè)Bank進(jìn)行正常的讀或寫(xiě)操作時(shí),可以對另外幾個(gè)Bank進(jìn)行預充電或空操作;當一個(gè)Bank的進(jìn)行預充電期間也可以直接調用另一個(gè)已經(jīng)進(jìn)行預充電的Bank,而并不需要等待,具體的Bank控制過(guò)程要參考特定的器件數據手冊。三星公司的K4S561632內的Bank控制狀態(tài)如圖2所列。

常用的三種尋址方式

K4S561632C器件的常用尋址方法有以下三種:

(1)頁(yè)命令中PH(Page Hit):若尋址的行與所在的Bank的空閑的,即該Bank內所有的行是關(guān)閉的,那么此時(shí)便可直接發(fā)送行有效命令,這種情況下,數據讀取前的總耗時(shí)為tRCD+CL;(tRCD為RAS到CAS的延時(shí);CL為CAS latency)。

(2)頁(yè)快速命中PFH(Page Fast Hit)或頁(yè)直接命中PDH(Page Direct Hit):如果要尋址的行正好是在正常讀或寫(xiě),即要尋址的行正處于被選通的有效狀態(tài),那么此時(shí)可直接發(fā)送列尋址命令,這種情況下,數據讀取前的總耗時(shí)僅為CL,這就是所謂的背靠背(Back to Back)尋址;

(3)頁(yè)錯失PM(Bage Miss):若要尋址的行所在的Bank中已經(jīng)有一個(gè)行處于激活狀態(tài)(未關(guān)閉),這種現象而稱(chēng)為尋址沖突,這樣,就必須要進(jìn)行預充電來(lái)關(guān)閉正在工作的行、然后再對其他的行發(fā)送行有效命令,其總耗時(shí)為:tRP+tRCD+CL。(tRP為Row precharge time)。

在以上三種尋址方式中,PFH是最理想的尋址方式,PM則是最糟糕的尋址方式,實(shí)際應用中要盡量采用PFH尋址方式而應避免采用PM尋址方式。

減少延遲的方法

自動(dòng)預充電技術(shù)是一種有效的減少延遲的方法,它通過(guò)自動(dòng)在每次行操作之后進(jìn)行預充電操作來(lái)減少對同一Bank內的不同行尋址時(shí)發(fā)生沖突的可能性,但是,如果要在正在讀或寫(xiě)的行完成操作后馬上打開(kāi)同一Bank的另一行時(shí),仍然存在tRP的延遲。 交錯式控制是另一種更有效的減少延遲的方法,即在一個(gè)Bank工作時(shí),對另一個(gè)Bank進(jìn)行預充電或者尋址(此時(shí)要尋址的Bank是關(guān)閉的),預充電與數據的傳輸交錯執行,當訪(fǎng)問(wèn)下一個(gè)Bank時(shí),tRP已過(guò),這樣就可以直接進(jìn)入行有效狀態(tài),如果配合得比較理想,那么就可以實(shí)現無(wú)間隔的Bank交錯讀或寫(xiě),因此,Bank之間的切換可使存儲效率成倍提高,并能夠大大地提高多組SDRAM協(xié)同工作時(shí)的性能。

Bank乒乓操作寫(xiě)入

一個(gè)由行、場(chǎng)同步信號控制的計數器在預定的時(shí)刻會(huì )產(chǎn)生一個(gè)控制信號,先發(fā)出激活相應Bank的激活命令(ACTIVE),并鎖存相應的Bank地址(由BA0、BA1給出)和行地址(由A0-A12給出)。一個(gè)周期后再給出列地址和寫(xiě)入命令;在CL個(gè)周期后,便可將所需寫(xiě)入的數據依次送到數據總線(xiàn)上,當計數器的計數周期到達時(shí),系統會(huì )產(chǎn)生一個(gè)控制信號,并向SDRAM發(fā)送預充電(PRECHARGE)命令(如果使用了可編程長(cháng)度,則在這前要使用突發(fā)終止命令),以關(guān)閉已經(jīng)激活的頁(yè)。在下一個(gè)視頻行同步信號來(lái)臨時(shí),系統將重復以上操作,并如此循環(huán)下去,具體操作如圖4所示,圖中左邊的一、二、三……為所對應的視頻行同步信號,右邊1至511……則代表對應的存儲器中的列地址(即是屏幕上對應的像素的位置)。

bank乒乓操作寫(xiě)入示意圖


Bank乒乓操作讀出

由行、場(chǎng)同步信號控制的一個(gè)計數器可在預定的時(shí)刻產(chǎn)生一個(gè)控制信號,它首先發(fā)出相應的Bank激活命令(ACTIVE),并鎖存相應的Bank地址(由BA0、BA1給出)和行地址(由A0-A12)給出,然后在一個(gè)周期后給出列地址和讀命令,當計數器的計數周期到達時(shí),系統會(huì )產(chǎn)生一個(gè)控制信號,并向SDRAM發(fā)出預充電(PRECHARGE)命令,以關(guān)閉已經(jīng)激活的頁(yè)(如果使用了可編程長(cháng)度,則在這之前要使用突發(fā)終止命令)。之后,再在下一個(gè)視頻行同步信號來(lái)臨時(shí)重復以上操作,如此循環(huán)(具體操作如圖5),圖中左邊的一、二、三……為所對應的視頻行同步信號,右邊1至511……代表對應的存儲器中的列地址(即是屏幕上對應的像素的位置。

 bank乒乓操作讀出示意圖


場(chǎng)乒乓操作

為了SDRAM能正確進(jìn)行讀和寫(xiě)兩個(gè)操作,本方案選用兩場(chǎng)乒乓操作[6]來(lái)實(shí)現數據存取,實(shí)際上,就是在不同的時(shí)間對兩場(chǎng)輪換進(jìn)行讀或寫(xiě),一場(chǎng)讀而另一場(chǎng)寫(xiě),其原理如圖6所示。當開(kāi)關(guān)K1在1位置,K2在4位置是時(shí),A寫(xiě)B讀;反之,當開(kāi)關(guān)K1在3位置,K2在2位位置時(shí),A讀B寫(xiě)。如此循環(huán)往復。

兩禎乒乓操作原理圖


若以場(chǎng)同步信號的二分頻計數器F/2為讀寫(xiě)控制信號,假設SDRAM A在F/2時(shí)為1寫(xiě)、2讀,則SDRAM B在F/2時(shí)為2寫(xiě)、1讀,兩場(chǎng)即為一個(gè)場(chǎng)乒乓操作周期,讀寫(xiě)信號均在場(chǎng)同步信號為高電平時(shí)有效,由于存在消隱期,消音所以,將會(huì )有一段時(shí)間讀寫(xiě)都無(wú)效(讀寫(xiě)信號都是低電平,此時(shí)SDRAM進(jìn)入預充電狀態(tài)),其總體時(shí)序如圖7所示。

讀寫(xiě)示意圖


結束語(yǔ)

SDRAM的控制過(guò)程雖然很復雜,但如果根據實(shí)際情況進(jìn)行取舍以滿(mǎn)足實(shí)際系統要求,那么,SDRAM的控制過(guò)程還是比較簡(jiǎn)單的,在實(shí)驗中,使用ALTERA公司的Cyclone FPGA器件進(jìn)行設計時(shí),程序設計可采用Verilog語(yǔ)句來(lái)實(shí)現對實(shí)時(shí)視頻信號的采集,并通過(guò)改變計數器的周期及SDRAM的行、列地址線(xiàn)和時(shí)序就可以對任意位置的視頻圖像進(jìn)行平移、旋轉、截取等處理,此外,由于程序設計采用了化整為零和參數化設計思想,因而結構透明、簡(jiǎn)單;對于特定容量的SDRAM的特定工作模式而言,該方法只需根據器件重新設定參數而不要重新編寫(xiě)程序,因而具有較強的通用性。




關(guān)鍵詞: SDRAM 視頻處理器

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>