999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA的雙端口視頻緩沖器設計

2014-02-02 08:45:58
液晶與顯示 2014年4期
關鍵詞:系統(tǒng)

唐 斌

(貴州財經大學 信息學院,貴州 貴陽 550025)

1 引 言

在多數(shù)的基于FPGA(Field Programmable Gate Arrays)的視頻處理系統(tǒng)中,通常需要使用片外大容量存儲器SDRAM(Synchronous Dynamic Random Access Memory)緩存海量視頻資料[1-2]。同時為了確保視頻流的流暢性,甚至使用多塊SDRAM內存和大容量的FIFO(First In First Out)實現(xiàn)乒乓操作以提高讀寫速度[3]。為了節(jié)省內存資源和提高系統(tǒng)的數(shù)據(jù)帶寬,本文設計了一種基于FPGA的視頻緩沖器,系統(tǒng)使用FPGA片內4塊小容量的FIFO構成雙端口緩沖器,在仲裁器合理的調度下,采用單塊SDRAM實現(xiàn)了視頻數(shù)據(jù)的實時采集和輸出。

2 系統(tǒng)結構和工作原理

本文的雙端口視頻緩沖器采用FPGA和SDRAM構成,系統(tǒng)的結構如圖1所示。由于系統(tǒng)的輸入視頻和輸出視頻像素時鐘可能不同,需要使用FPGA片內存儲資源構建FIFO完成跨時鐘域視頻數(shù)據(jù)的采集和輸出。由于FPGA片內存儲器資源有限,為了確保視頻流的流暢性,還需要借助片外存儲器與FPGA構建視頻緩沖器。本系統(tǒng)采用SDRAM暫存采集的海量視頻數(shù)據(jù),并將其內存儲單元分成兩塊分別緩存兩幀不同視頻數(shù)據(jù),以乒乓方式完成一幀數(shù)據(jù)的輸入和一幀數(shù)據(jù)的輸出。

圖1 系統(tǒng)方框圖Fig.1 Block diagram of video processing system

在本系統(tǒng)中,所采集的視頻數(shù)據(jù)來源于攝像頭OV7670,其時鐘頻率為25 MHz,視頻數(shù)據(jù)采用RGB565格式,因此采集模塊的數(shù)據(jù)帶寬為400 Mbit/s;而顯示模塊VGA的數(shù)據(jù)帶寬則是400 Mbit/s (16 bits×25 MHz)。SDRAM的工作時鐘頻率選擇為100 MHz,其數(shù)據(jù)帶寬為1 600 Mbit/s (16 bits×100 MHz),因此在理論上整個系統(tǒng)可以使用單存儲器實現(xiàn)一路視頻數(shù)據(jù)的實時采集和顯示。由于SDRAM不支持同時讀寫功能,而整個系統(tǒng)可能會同時存在讀、寫和刷新3種操作請求,因此還需要仲裁器分配SDRAM的總線使用權。

3 模塊設計

3.1 SDRAM控制器設計

SDRAM存儲器具有高速度、大容量和高性價比等優(yōu)點,廣泛應用于數(shù)據(jù)采集和處理系統(tǒng)中[1]。盡管SDRAM具有高速度優(yōu)點,但其實際帶寬往往低于其理論帶寬。原因有兩個:一是SDRAM是利用電容存取電荷的原理保存信息,由于電容介質存在漏電現(xiàn)象,因此需要周期刷新保持數(shù)據(jù),而在刷新周期中不允許讀寫SDRAM,因此刷新會降低其實際帶寬;二是因為SDRAM的行列地址線采用復用方式,每次讀寫數(shù)據(jù)操作都分為行地址準備和數(shù)據(jù)操作兩個階段,分別消耗時間長度為TREADY和TOPERATE。在列地址準備階段,需要發(fā)出激活命令,提供讀寫單元的行地址,等待TRCD時間后進入數(shù)據(jù)操作階段[1]。對于寫操作,數(shù)據(jù)操作階段發(fā)出寫命令,同時提供讀寫單元的列地址和待寫入的數(shù)據(jù);對于讀操作則需要在發(fā)出第一個讀命令和列地址后等待TCAS時間才能讀取數(shù)據(jù)。因此SDRAM的實際帶寬為:

(1)

SDRAM的讀寫機制比較復雜,支持激活和預充電等諸多操作命令[1]。為了簡化SDRAM的操作,本系統(tǒng)的SDRAM控制器只選取了激活、預充電、自刷新、空閑、模式寄存器配置、讀和寫等7條指令。為了簡化SDRAM的讀寫操作,SDRAM的操作時序封裝在控制器中,外設只需提高讀寫數(shù)據(jù)的起始地址和讀寫使能信號就能讀寫SDRAM存儲器。同時為了提高SDRAM的實際帶寬,控制器采用分塊連續(xù)讀寫方式增大操作時間TOPERATE。SDRAM控制器由外設接口電路、初始化狀態(tài)機、地址計數(shù)器、命令字解析電路和SDRAM物理接口電路構成。其工作時序如圖2所示,具體工作機制為:在SDRAM初始化時,將其猝發(fā)長度設置為1,對于讀寫數(shù)據(jù)長度為N的數(shù)據(jù)都分解為N次猝發(fā)長度設置為1的讀寫操作。當外設提出讀寫請求時,只需提供一幀視頻數(shù)據(jù)的起始地址,命令字解析電路(使用狀態(tài)機實現(xiàn))發(fā)出行激活命令后給出兩條空操作命令,在T4周期啟動地址計數(shù)器準備讀寫數(shù)據(jù)的列地址并給出第一個讀或寫命令,N個數(shù)據(jù)讀或寫命令完成后,發(fā)出預充電命令關閉當前行完成一次數(shù)據(jù)塊的連續(xù)讀寫,因此一次數(shù)據(jù)塊的讀寫時間固定為(N+4)/Tsclk。(Tsclk為SDRAM控制器時鐘周期)。為了降低地址計數(shù)器和命令字解析電路的復雜度,數(shù)據(jù)長度N和SDRAM行長度L須設置為L=K×N(K為整數(shù)),以防出現(xiàn)跨行讀寫現(xiàn)象。

圖2 讀寫時序圖Fig.2 Diagram of reading or writing timing

3.2 FIFO設計

本系統(tǒng)使用兩塊小容量的異步FIFO和同步FIFO串聯(lián)實現(xiàn)跨時鐘域視頻數(shù)據(jù)的傳輸,F(xiàn)IFO由FPGA中免費的IP核生成。對于寫緩存器而言,異步FIFO與視頻采集模塊連接,其寫端口的時鐘與視頻采集模塊的像素時鐘相同,讀端口的時鐘與SDRAM的工作時鐘相同,其主要功能是實現(xiàn)跨時鐘域數(shù)據(jù)的緩沖[4];同步FIFO與SDRAM控制器直接連接,工作時鐘與異步FIFO的讀端口時鐘一致,為了支持SDRAM控制器的分塊讀寫機制,將其深度和寬度設置成數(shù)據(jù)塊的規(guī)格,待傳輸?shù)臄?shù)據(jù)將被切成固定大小的數(shù)據(jù)塊。為確保數(shù)據(jù)塊的大小固定不變,禁止對同步FIFO進行同時讀寫操作。

讀緩存器的設計與寫緩存器稍有不同,同步FIFO連接的是顯示模塊,其工作時鐘與顯示模塊相同,主要功能是預存待顯示的視頻數(shù)據(jù)。異步FIFO 則與SDRAM控制器相連,讀端口采用顯示模塊的工作時鐘,為確保寫端口數(shù)據(jù)有足夠的建立時間和保持時間[5],工作時鐘頻率SDRAM工作時鐘相同,但相位相差180°。同樣為了支持SDRAM控制器的分塊讀寫機制,將其寬度設置成數(shù)據(jù)塊的大小,但深度設置為數(shù)據(jù)塊深度的2倍。異步FIFO的主要功能是實現(xiàn)跨時鐘域視頻數(shù)據(jù)的緩沖。在同步FIFO未寫滿的情況下,異步FIFO中的數(shù)據(jù)直通同步FIFO。

3.3 仲裁器設計

由于SDRAM的總線采用分時復用方式,不支持同時讀、寫和刷新功能,為了確保視頻流的流暢性,需要合理分配SDRAM的總線使用權。常用的仲裁方法有固定優(yōu)先級、隨機爭用和優(yōu)先級循環(huán)等算法[5]。如果采用固定優(yōu)先級算法時可能會出現(xiàn)讀請求長時間占用總線風險而導致寫緩存溢出,或是寫請求長時間占用總線風險而導致讀緩存無數(shù)據(jù)可讀。而采用優(yōu)先級循環(huán)算法可能導致刷新命令不能及時得到響應造成數(shù)據(jù)丟失。綜上考慮后,本系統(tǒng)采用固定優(yōu)先級算法和優(yōu)先級循環(huán)算法相結合的混合算法,該算法可以實現(xiàn)讀請求、寫請求優(yōu)先級循環(huán)變換,刷新請求優(yōu)先級設置為最高。

圖3 仲裁器電路圖Fig.3 Diagram of arbitrator circuit

視頻緩沖器可以結合行、場同步信號的特點使用。同步信號的周期一般由同步頭、消隱前肩、有效顯示時間和消隱后肩等4部分構成[6]。場同步頭可以用來啟動新一幀視頻數(shù)據(jù)的采集和輸出并復位視頻緩沖器。在整個行同步的周期內,只要異步FIFO讀空,便產生讀請求信號;寫緩沖器則在行同步和場同步信號均有效期間采集外設數(shù)據(jù),寫緩沖器的同步FIFO寫滿時,將產生寫請求信號;而刷新請求信號則由計數(shù)器產生,由于在讀寫數(shù)據(jù)期間不能響應刷新請求信號。為了解決這個問題,本系統(tǒng)采用了兩種方法:一是將刷新請求優(yōu)先級設置成最高,讀和寫請求優(yōu)先級設置成相等。二是將刷新周期縮短(N+10)×Tsclk時間,縮短的時間可以確保完成讀或寫任務后再執(zhí)行刷新操作而不造成數(shù)據(jù)丟失。

仲裁器電路如圖3所示,當有刷新請求時關閉兩個與門屏蔽掉讀、寫請求,因此刷新請求優(yōu)先級最高。控制器的功能之一是實現(xiàn)數(shù)據(jù)選擇器輪流查詢3個請求信號;之二是在某個請求獲得使用SDRAM總線的使用權時,禁止其他信號的請求(即不支持中斷),讀、寫任務或刷新任務執(zhí)行過程中控制器關閉數(shù)據(jù)選擇器。任務完成后釋放總線,然后控制器打開數(shù)據(jù)選擇器查詢下一個請求信號,如果請求有效,對其授權總線使用權,否則繼續(xù)查詢下一個請求信號。

3.4 設計仿真

為了防止視頻緩沖器出現(xiàn)讀空和寫滿錯誤,在設計電路時需要對視頻的流暢性分析以選定合適的參數(shù)。影響視頻流暢性的因素有:

(1)讀緩沖器的時鐘周期Trclk、寫緩沖器時鐘周期Twclk和SDRAM系統(tǒng)時鐘周期Tsclk。三者的時鐘周期必須確保SDRAM帶寬大于讀寫緩沖器帶寬之和。

(2)仲裁器的切換時間。盡量壓縮仲裁器的切換時間,本系統(tǒng)仲裁器的切換時間為3個時鐘周期。

(3)行同步信號的消隱前肩和后肩。視頻數(shù)據(jù)的采集和輸出一般在行同步信號的有效顯示期間,但讀緩沖器可以充分利用額外的行消隱前肩和后肩時間預讀取視頻數(shù)據(jù),而寫緩沖器可以利用額外的行消隱前肩和后肩時間保存數(shù)據(jù)。

(4)讀緩沖器的同步FIFO的容量和寫緩沖器中異步FIFO的容量。兩個FIFO容量的選取須考慮最壞情況。以寫緩沖的異步FIFO為例,如果同時存在讀、寫和刷新請求,但寫請求優(yōu)先級最低,此時異步FIFO 需要緩存數(shù)據(jù)以等待SDRAM完成刷新和寫任務,容量必須大于(N+18)Tsclk/Twclk。寫緩沖獲得總線后,由于本系統(tǒng)不支持同步FIFO同時讀寫,此時異步FIFO容量應大于(2N+25)Tsclk/Twclk。寫操作結束后釋放總線等待讀任務執(zhí)行,此時容量應該大于(2N+25)Tsclk/Twclk+ (N+7)Tsclk/Trclk-N。

最后本文根據(jù)上述分析對相關參數(shù)進行設置,并對設計的視頻緩沖器進行了仿真。仿真軟件采用的是XILINX[7]的ISE12.4,片外存儲器SDRAM的仿真模型選用的是MT48LC8-M16A2,其工作時鐘頻率根據(jù)初步選擇為100 MHz,F(xiàn)PGA采用的是SPARTAN3系列中的XC3S1200E芯片。數(shù)據(jù)塊設置為固定的64×16 bit格式,在仿真的過程中FIFO的寬度固定為16位,寫緩沖器的同步FIFO容量與數(shù)據(jù)塊相同,讀緩沖器的異步FIFO容量設定為數(shù)據(jù)塊的兩倍。其余FIFO的容量根據(jù)實驗結果調整為數(shù)據(jù)塊的整數(shù)倍。攝像頭OV7670和VGA分別作為輸入和輸出模塊,工作時鐘頻率都選擇為25 MHz,視頻數(shù)據(jù)采用640×480格式。最后實驗仿真結果如表1所示。

仿真結果表明:對于寫緩沖器而言,使用兩個容量為128字節(jié)的FIFO就足夠保證采集的視頻數(shù)據(jù)傳輸無丟失錯誤,增加異步FIFO的容量不能繼續(xù)提高系統(tǒng)的帶寬;對于讀緩沖而言,影響其性能的主要部件是同步FIFO的容量,適當?shù)卦黾悠髌淙萘靠梢越档蚐DRAM工作時鐘的頻率。當讀寫緩沖器的容量為640字節(jié)時,SDRAM工作頻率須大于110 MHz;當讀寫緩沖器的容量為768字節(jié)時,SDRAM工作頻率只需大于71 MHz。用戶可以根據(jù)實際需要在系統(tǒng)穩(wěn)定性和FPGA片內存儲器資源之間選擇。

表1 仿真結果表

4 結 論

使用FPGA 2塊片內同步FIFO和2塊異步FIFO結合片外存儲器SDRAM構成了一個雙端口視頻緩沖器。利用FIFO傳輸跨時鐘域數(shù)據(jù)的傳輸,并將數(shù)據(jù)切成固定大小的數(shù)據(jù)塊以支持SDRAM的分塊讀寫數(shù)據(jù)機制,在仲裁器的合理調度下,使用單塊存儲器SDRAM實現(xiàn)了視頻數(shù)據(jù)的實時采集和輸出。同時本系統(tǒng)的設計和調試簡單,用戶在保證視頻流的流暢性的前提下可以通過提高系統(tǒng)的工作時鐘減少異步FIFO容量,降低FPGA片上存儲資源的使用量;或是在增加FIFO的容量可以降低SDRAM的工作時鐘而提高系統(tǒng)的穩(wěn)定性。因此本設計具有一定的靈活性和高效率,在視頻圖像處理工程中具有一定的參考價值。

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

Wang Q,Ding T F. Realization of SDRAM controller in high-speed image storing system [J].ChineseJournalofLiquidCrystalsandDisplays,2006,21(1):48-51.( in Chinese)

[2] 吉倩倩,蘇光大,向守兵.嵌入式鄰域圖像并行處理機的液晶顯示系統(tǒng)設計[J].液晶與顯示,2011,26(6):768-773.

Ji Q Q,Su G D,Xiang S B. Design of LCD display system of embedded neighborhood image parallel computer[J].ChineseJournalofLiquidCrystalsandDisplays,2011,26(6):768-773. (in Chinese)

[3] 呂耀文,王建立,曹景太,等.移動便攜圖像存儲系統(tǒng)的設計[J].液晶與顯示,2012,27(5):697-702.

Lv Y W,Wang J L,Cao J T,etal. Design of portable image storage system [J].ChineseJournalofLiquidCrystalsandDisplays,2012,27(5):697-702. (in Chinese)

[4] 劉少華,陳明義. 基于FPGA的高速海量FIFO的設計[J].信息技術,2009,33(9):52-54.

Liu S H,Chen M Y. Design of high speed and great capacity FIFO based on FPGA [J].InformationTechnology,2009,33(9):52-54.(in Chinese)

[5] 李耀榮,王興軍,梁利平.SOC總線仲裁算法的研究[J].微計算機信息,2007,6(2):113-115.

Li Y R,Wang X J,Liang L P. Researchon SOC bus arbitration algorithm [J].MicrocomputerInformation,2007,6(2):113-115. (in Chinese)

[6] 王鳴浩,吳小霞.基于FPGA的通用液晶顯示控制器的設計與實現(xiàn)[J].液晶與顯示,2012,27(1):87-88.

Wang M H,Wu X X.Design and realization of general LCD controller base on FPGA [J].ChineseJournalofLiquidCrystalsandDisplays,2012,27(1):87-88. (in Chinese)

[7] 田耕,徐文波,胡彬. Xilinx ISE Design Suite 10.X FPGA開發(fā)指南[M].北京:人民郵電出版社,2008.

Tian G,Xu W B,Hu B.XilinxISEdesignsuite10.XFPGAdevelopmentguide[M]. Beijing:Post &Telecom Press,2008.

猜你喜歡
系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統(tǒng)
基于UG的發(fā)射箱自動化虛擬裝配系統(tǒng)開發(fā)
半沸制皂系統(tǒng)(下)
FAO系統(tǒng)特有功能分析及互聯(lián)互通探討
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統(tǒng) 德行天下
PLC在多段調速系統(tǒng)中的應用
主站蜘蛛池模板: 欧美五月婷婷| 色播五月婷婷| 四虎在线高清无码| 日韩区欧美区| 国产精品视频观看裸模| 无码一区18禁| 久无码久无码av无码| 国产一区免费在线观看| 国产在线观看91精品亚瑟| 久久无码av一区二区三区| 91无码视频在线观看| 91视频青青草| 黄色一级视频欧美| 天天躁夜夜躁狠狠躁图片| 91九色国产在线| 亚洲av无码人妻| 国产成人a在线观看视频| 伊人无码视屏| 国产在线自乱拍播放| 亚洲国产成人麻豆精品| 真人高潮娇喘嗯啊在线观看 | 精品欧美视频| 欧美日韩一区二区在线免费观看| 亚洲人成色在线观看| 中文精品久久久久国产网址| 国产欧美日韩在线一区| 91成人在线免费视频| 久操线在视频在线观看| 91原创视频在线| 91视频日本| 国产第三区| 四虎永久在线精品国产免费| 亚洲天堂777| 看av免费毛片手机播放| 国产菊爆视频在线观看| 99re66精品视频在线观看| 成人年鲁鲁在线观看视频| 一级毛片不卡片免费观看| 国产jizzjizz视频| 亚洲国语自产一区第二页| 国模极品一区二区三区| 亚洲欧洲日产国产无码AV| 麻豆国产在线观看一区二区| 欧美亚洲综合免费精品高清在线观看 | 国产永久免费视频m3u8| 大香网伊人久久综合网2020| 亚洲AV无码乱码在线观看代蜜桃 | 白浆免费视频国产精品视频| 2020亚洲精品无码| 国产乱子伦无码精品小说| 制服丝袜 91视频| 性视频一区| 免费看久久精品99| 欧美精品高清| 欧美成在线视频| 成人国产小视频| 91成人在线免费视频| 国产综合亚洲欧洲区精品无码| 色香蕉影院| 成年人国产视频| 国产小视频a在线观看| 国产精品亚洲专区一区| 亚洲无码A视频在线| 欧美精品亚洲日韩a| 欧美在线三级| 在线va视频| 国产激情在线视频| 色综合狠狠操| 免费一级毛片在线播放傲雪网| 国产99视频免费精品是看6| 美女裸体18禁网站| 精品国产一区91在线| 亚洲国产欧美国产综合久久| 久久亚洲中文字幕精品一区 | 欧美专区在线观看| 91年精品国产福利线观看久久| 亚洲人成网站在线播放2019| 波多野结衣一区二区三区四区视频| 国模沟沟一区二区三区| 69国产精品视频免费| 欧美一级黄片一区2区| 99热这里只有精品久久免费|