新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 市場(chǎng)分析 > 基于FPGA的高分辨率視頻圖像處理的SDRAM控制器設(shè)計(jì)

基于FPGA的高分辨率視頻圖像處理的SDRAM控制器設(shè)計(jì)

作者: 時(shí)間:2014-06-29 來(lái)源:網(wǎng)絡(luò) 收藏

  本文介紹了一種基于的用于視頻圖像處理的控制器的設(shè)計(jì)方法。通過(guò)設(shè)置的工作狀態(tài),使其工作在猝發(fā)模式。在視頻時(shí)序信號(hào)控制下,用多行連續(xù)的存儲(chǔ)空間,存取視頻數(shù)據(jù)。并在數(shù)據(jù)接口部分增加FIFO,緩存一行視頻,在像素時(shí)鐘控制下,實(shí)現(xiàn)視頻數(shù)據(jù)實(shí)時(shí)的存儲(chǔ)和讀取。通過(guò)改變相關(guān)參數(shù),能對(duì)所有VESA分辨率視頻流進(jìn)行操作。具有通用性強(qiáng)、系統(tǒng)復(fù)雜度低、可靠性高、可擴(kuò)展等特點(diǎn)。在某型號(hào)的機(jī)載大屏顯示器系統(tǒng)中,用該SDRAM控制器實(shí)現(xiàn)了圖像的翻轉(zhuǎn)等功能,也驗(yàn)證了該控制器的實(shí)用性。

本文引用地址:http://www.butianyuan.cn/article/248971.htm

  0引言

  隨著人們對(duì)視頻圖像的清晰度和細(xì)節(jié)顯示要求的不斷提高,、高bit位的視頻標(biāo)準(zhǔn)相繼被推出。

  造成了數(shù)據(jù)處理速度和數(shù)據(jù)處理量極大的增加,也給數(shù)據(jù)緩存的容量和控制提出較高的要求。在常用的存儲(chǔ)器中,SDRAM具有大容量和高速度的特點(diǎn),并且價(jià)格也比較便宜,在視頻圖像處理中被廣泛的用于圖像緩存。在基于視頻圖像處理系統(tǒng)中,不可避免地會(huì)涉及到用實(shí)現(xiàn)SDRAM控制器的方法。但由于SDRAM的操作方式較復(fù)雜,常見(jiàn)的控制器支持的視頻分辨率普遍都不高。在高分辨率的視頻圖像已經(jīng)普及的今天,支持高分辨率的SDRAM控制器的設(shè)計(jì)也已經(jīng)被越來(lái)越多的視頻圖像處理人士關(guān)注。本文介紹的這種控制器,采用的是Micron公司的MT48LC4M32B2TG(1M×32×4 banks)SDR SDRAM,在Altera的StratixⅡ系列FPGA EP2S60F1020I4上進(jìn)行的開(kāi)發(fā)。

  在此平臺(tái)上采用VHDL語(yǔ)言開(kāi)發(fā)了SDRAM的控制器。

  該控制器實(shí)現(xiàn)了最高分辨率為1 600×1 200@60 Hz的視頻流的緩存和圖像翻轉(zhuǎn)的功能。

  1 SDRAM基本操作

  SDRAM主要包括初始化、讀/寫(xiě)操作、刷新、激活、預(yù)充電等操作。以MICRON公司的MT48LC4M32B2TG型號(hào)SDRAM為例分別介紹。

  1.1初始化

  SDRAM在上電后必須執(zhí)行初始化操作,主要流程為:首先在電源電壓和時(shí)鐘穩(wěn)定后,經(jīng)過(guò)100μs的延時(shí),執(zhí)行一次空操作;然后進(jìn)行預(yù)充電操作,使所有BANK都進(jìn)入空閑狀態(tài);再然后執(zhí)行兩個(gè)自動(dòng)刷新命令;執(zhí)行完自動(dòng)刷新后進(jìn)入模式設(shè)置狀態(tài),通過(guò)地址總線A[11:0]發(fā)送數(shù)據(jù)來(lái)設(shè)置模式寄存器。模式寄存器設(shè)置定義如圖1所示。

  

 

  1.2讀/寫(xiě)操作

  首先激活具體的BANK和行;然后發(fā)出讀或?qū)懨?,和所要訪問(wèn)的起始列。在讀命令發(fā)出后,要等待CAS延遲時(shí)間,有效數(shù)據(jù)才會(huì)出現(xiàn)在數(shù)據(jù)總線上。在寫(xiě)命令發(fā)出后,有效數(shù)據(jù)立即出現(xiàn)在數(shù)據(jù)總線上。讀寫(xiě)命令可分為單個(gè)模式和猝發(fā)模式,猝發(fā)模式根據(jù)猝發(fā)長(zhǎng)度分為1,2,4,8和全頁(yè)模式。猝發(fā)操作可用猝發(fā)終止命令(BURST TERMINATE)結(jié)束。

  1.3刷新

  由于SDRAM的內(nèi)部電路特點(diǎn),必須執(zhí)行刷新命令,以防止數(shù)據(jù)丟失。要求64 ms內(nèi)至少刷新4 096次。

  1.4激活

  在讀/寫(xiě)命令之前都要發(fā)出激活命令,激活特定BANK中的某一行。激活后此行一直處于有效狀態(tài),直到接收到預(yù)充電命令。

  1.5預(yù)充電

  預(yù)充電命令用于關(guān)閉特定BANK中的某一行,或者所有BANK.

  各種操作命令對(duì)應(yīng)的SDRAM管腳電平狀態(tài)如表1所示。

  

 

  2 SDRAM控制器的設(shè)計(jì)

  在視頻圖像處理中SDRAM主要用作數(shù)據(jù)緩存,也就是FPGA對(duì)SDRAM操作最頻繁的為讀命令、寫(xiě)命令,在這兩個(gè)命令中間插著激活、預(yù)充電、猝發(fā)終止、刷新等命令。對(duì)于高分辨率的視頻流,分辨率都在1 280×1 024以上,也就是每行的點(diǎn)像素都要大于1 280個(gè),數(shù)據(jù)量非常的龐大。

  為了降低SDRAM的操作時(shí)鐘的頻率和提高視頻處理的實(shí)時(shí)性,采用猝發(fā)的模式對(duì)SDRAM進(jìn)行操作。對(duì)于SDRAM MT48LC4M32B2TG地址為A[7:0],猝發(fā)操作的最大長(zhǎng)度為256.也就是說(shuō)為了存儲(chǔ)和讀出一行的視頻數(shù)據(jù)要對(duì)SDRAM的多行進(jìn)行操作。如1 280×1 024分辨率,需要5行SDRAM空間(256×5=1 280)。

  對(duì)于不能被256整除的列數(shù)如1 600,就要采用控制猝發(fā)長(zhǎng)度的方式,為了控制方便采用8行SDRAM空間存儲(chǔ)一行視頻數(shù)據(jù)(200×8=1 600)。標(biāo)準(zhǔn)的VESA分辨率都可以用此方式存儲(chǔ)。在SDRAM控制器中設(shè)置了SDRAM的猝發(fā)長(zhǎng)度的選擇功能,只要修改需要的猝發(fā)長(zhǎng)度即可,不要重新設(shè)計(jì)代碼。

  為了保證SDRAM的刷新要求,在每一行的SDRAM操作完成后就進(jìn)行一次刷新操作,此操作經(jīng)由輸入的視頻行同步信號(hào)(HSY)的觸發(fā),如果外部視頻信號(hào)突然無(wú)輸入,為了保證最后存儲(chǔ)的數(shù)據(jù)不丟失,進(jìn)入自刷新模式。一當(dāng)控制器檢測(cè)到HSY無(wú)變化就會(huì)啟用自刷新模式,周期對(duì)SDRAM刷新。

fpga相關(guān)文章:fpga是什么



上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: FPGA SDRAM 高分辨率

評(píng)論


相關(guān)推薦

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

關(guān)閉