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

基于FPGA的USB3.0高清視頻傳輸系統(tǒng)的設(shè)計(jì)

2019-09-20 05:41:54
測(cè)控技術(shù) 2019年3期
關(guān)鍵詞:系統(tǒng)

(長(zhǎng)沙理工大學(xué) 物理與電子科學(xué)學(xué)院 湖南 長(zhǎng)沙 410114)

隨著信息化時(shí)代的到來(lái),人們對(duì)視頻畫(huà)面的細(xì)膩程度要求越來(lái)越高,因此實(shí)時(shí)傳輸高清視頻圖像成為一種趨勢(shì)[1]。USB接口作為生活中最普遍的接口,在圖像傳輸中扮演著不可或缺的角色,而傳統(tǒng)基于USB2.0接口的傳輸模塊一般將視頻壓縮后進(jìn)行傳輸,以犧牲畫(huà)面質(zhì)量完成圖像的傳輸,其傳輸效率已經(jīng)不能滿(mǎn)足市場(chǎng)的需求。隨著USB3.0協(xié)議的發(fā)布,其理論速度達(dá)到了5 Gbit/s,以?xún)?yōu)于USB2.0 480 Mbit/s 10倍的速率,成為高清視頻傳輸?shù)男聦櫋?guó)內(nèi)市場(chǎng)視頻傳輸系統(tǒng)多采用標(biāo)準(zhǔn)串行接口,而采集DVI 接口的高清視頻,以5 Gbit/s的吞吐量傳輸多種格式高清視頻的產(chǎn)品較少,因此研究一種基于USB3.0的高清視頻傳輸系統(tǒng)具有一定的應(yīng)用價(jià)值。

1 系統(tǒng)簡(jiǎn)介

整個(gè)系統(tǒng)至下而上是由DVI接口模塊、FPGA控制模塊、SDRAM、USB3.0模塊和上位機(jī)組成,系統(tǒng)框圖如圖1所示。

視頻源通過(guò)DVI接口芯片,將視頻轉(zhuǎn)換為行、場(chǎng)、同步信號(hào)和RGB數(shù)據(jù)傳輸給FPGA,F(xiàn)PGA控制一片SDRAM進(jìn)行緩存,完成與USB3.0模塊的數(shù)據(jù)交換,之后CYUSB3014芯片將數(shù)據(jù)通過(guò)USB micro-B接口和USB3.0協(xié)議發(fā)送至PC端顯示。

視頻圖像傳輸?shù)幕玖鞒炭煞譃槿剑?/p>

① 完成一幀視頻圖像數(shù)據(jù)的采集;

② 完成一幀視頻圖像數(shù)據(jù)的緩存;

③ 完成一幀視頻圖像數(shù)據(jù)的發(fā)送。

圖1 系統(tǒng)設(shè)計(jì)方案框圖

循環(huán)此基本流程即可構(gòu)成系統(tǒng)的整個(gè)工作流程,同樣,基本流程的的吞吐量就是整個(gè)系統(tǒng)的數(shù)據(jù)吞吐量。完成高清視頻傳輸?shù)年P(guān)鍵是系統(tǒng)數(shù)據(jù)傳輸吞吐量,能滿(mǎn)足高清視頻的采集速率,也就是系統(tǒng)緩存和發(fā)送吞吐量滿(mǎn)足視頻數(shù)據(jù)的采集速率。

完成定性分析之后,需要對(duì)每個(gè)模塊進(jìn)行一個(gè)準(zhǔn)確的定量分析。

吞吐量的數(shù)學(xué)計(jì)算公式[2]為

(1)

式中,Total_data為一幀圖像的比特?cái)?shù)(bit);Total_lantency為采集或傳輸一幀圖像需要的時(shí)間(s)。

顯然,直接傳輸24bit的RGB視頻數(shù)據(jù)時(shí),TP_USB3_0

高清視頻源經(jīng)DVI接口模塊采集視頻數(shù)據(jù)之后傳給FPGA進(jìn)行視頻編碼,F(xiàn)PGA將編碼后的視頻數(shù)據(jù)緩存在SDRAM中[3],并使用兩個(gè)容量為1024×32-bit的異步FIFO進(jìn)行視頻數(shù)據(jù)的跨時(shí)鐘域交換,然后通過(guò)USB3.0芯片將數(shù)據(jù)發(fā)送到PC端進(jìn)行顯示。不同模塊所處的時(shí)鐘域如圖2所示。

圖2 各模塊所處時(shí)鐘域

2 FPGA控制邏輯設(shè)計(jì)

FPGA控制邏輯設(shè)計(jì)包括采集DVI視頻數(shù)據(jù)時(shí)的視頻格式識(shí)別和編碼、控制SDRAM進(jìn)行視頻數(shù)據(jù)緩存、控制異步FIFO進(jìn)行跨時(shí)鐘域傳輸[4]。

2.1 視頻格式識(shí)別和編碼

目前主流的視頻格式如表1所示,每一種都有其固定的頻率和像素點(diǎn),可根據(jù)其有效像素頻率分別計(jì)數(shù)視頻的長(zhǎng)度和寬度,通過(guò)查表1,可識(shí)別目標(biāo)視頻格式,并產(chǎn)生相對(duì)應(yīng)的編號(hào),插入到幀頭同步碼中。在PC端解出視頻編碼,產(chǎn)生對(duì)應(yīng)的視頻格式緩存區(qū),并顯示。

2.2 帶寬計(jì)算

在SDRAM緩存一幀圖像的前提下,USB3.0模塊要在下一幀圖像到來(lái)之前將當(dāng)前圖像傳輸完。最大分辨率1920像素×1080像素視頻格式一幀的像素點(diǎn)為2200×1125個(gè),頻率為60 Hz,所以實(shí)際像素時(shí)鐘頻率為f1=2200×1125×60=148.5 MHz,一幀圖像連續(xù)傳輸2200×1125個(gè)像素點(diǎn),每個(gè)像素點(diǎn)占24-bit,而實(shí)際上每幀有效像素點(diǎn)只有1920×1080個(gè),經(jīng)過(guò)RGB轉(zhuǎn)YUV后每個(gè)像素點(diǎn)只有16-bit,F(xiàn)IFO將兩個(gè)16-bit數(shù)據(jù)合成一個(gè)32-bit數(shù)據(jù)再傳到USB3.0模塊,而且經(jīng)過(guò)FIFO存儲(chǔ)后它們不是幀數(shù)據(jù)那樣的間斷,而是連續(xù)的,所以一幀的時(shí)間內(nèi),只傳輸了1920×1080/2個(gè)32-bit數(shù)據(jù),傳輸一幀的時(shí)間T1=1/60,因此f2=(1920×1080)/(2×T1)=62.208 MHz,f2為1920×1080視頻格式的有效像素時(shí)鐘頻率,同理,其余的視頻格式的有效像素時(shí)鐘頻率也可以計(jì)算出來(lái),如表1。

表1 不同視頻格式的幀有效像素時(shí)鐘

從表1中可以看出,幀有效像素時(shí)鐘頻率最高為62.208 MHz,Slave FIFO接口速度為100 MHz,USB3.0模塊完全滿(mǎn)足傳輸條件。當(dāng)Slave FIFO運(yùn)行在100 MHz時(shí),由于使用了8B/10B編碼,USB3.0接口的傳輸速度V=100 MHz×10/8×32=4 Gbit/s,V是FX3這款芯片能達(dá)到的最高傳輸吞吐率。

2.3 SDRAM控制邏輯

SDRAM可將采集到的不連續(xù)的視頻數(shù)據(jù),按幀緩存有效視頻數(shù)據(jù),保證視頻數(shù)據(jù)的完整性和連續(xù)性。選用三星公司的K4S643232H-UC60芯片,容量為64 Mbit,其工作頻率可達(dá)到166 MHz,為保證系統(tǒng)穩(wěn)定,將其工作頻率定為150 MHz。FPGA將采集到的RGB 24-bit數(shù)據(jù)轉(zhuǎn)為YUV 16-bit后,1080p格式的視頻一幀圖像大小Total_bit=1920×1080×16-bit,而SDRAM有21-bit的行列地址線,存儲(chǔ)空間為221×32-bit,所以一片SDRAM可儲(chǔ)存2.02幀圖像;因?yàn)樵谙乱粠瑘D像到來(lái)之前,USB3.0模塊能傳完當(dāng)前圖像,因此只需一片SDRAM每次緩存一幀圖像即可實(shí)現(xiàn)圖像的傳輸[3]。

SDRAM狀態(tài)機(jī)控制器總共有4個(gè)狀態(tài):WAIT_WR_SDR、WR_SDR、WAIT_RD_SDR和RD_SDR,初始狀態(tài)為WAIT_WR_SDR,如圖3所示。SDRAM使用頁(yè)突發(fā)的方式進(jìn)行讀寫(xiě),每次讀寫(xiě)一整行256個(gè)32-bit數(shù)據(jù)。視頻傳輸?shù)年P(guān)鍵是在讀和寫(xiě)操作的同時(shí)要檢測(cè)同步碼,以保證SDRAM中緩存的為一幀完整的圖像[5]。

WAIT_WR_SDR狀態(tài):當(dāng)(WR_FIFO_RDY==1 && SDRAM_RD_REQ==0),令WR_EN=1,進(jìn)入WR_SDR狀態(tài);當(dāng)(WR_FIFO_RDY==0 && SDRAM_RD_REQ ==1),進(jìn)入WAIT_RD_SDR狀態(tài)。

圖3 SDRAM讀寫(xiě)控制狀態(tài)機(jī)

WR_SDR狀態(tài):在FPGA寫(xiě)入圖像數(shù)據(jù)到SDRAM中任一周期,如果檢測(cè)到同步碼,則令WR_EN=0,wr_addr=0,進(jìn)入到WAIT_RD_SDR狀態(tài);否則,則完成當(dāng)前寫(xiě)操作后令WR_EN=0并進(jìn)入WAIT_RD_SDR狀態(tài)。

WAIT_WR_SDR狀態(tài):當(dāng)(RD_FIFO_RDY==1 && SDRAM_WR_REQ==0),則RD_EN=1,進(jìn)入RD_SDR狀態(tài);當(dāng)(RD_FIFO_RDY==0 && SDRAM_WR_REQ ==1),進(jìn)入WAIT_WR_SDR狀態(tài)。

RD_SDR狀態(tài):在FPGA從SDRAM中讀出圖像數(shù)據(jù)的任一周期,如果檢測(cè)到同步碼,則令RD_EN=0,rd_addr=0,進(jìn)入到WAIT_WR_SDR狀態(tài);否則,則完成當(dāng)前讀操作后令RD_EN=0并進(jìn)入WAIT_WR_SDR狀態(tài)。

3 USB3.0模塊的設(shè)計(jì)

3.1 CYUSB3014固件程序設(shè)計(jì)

CYUSB3014內(nèi)集成了運(yùn)行頻率可達(dá)到200 MHz的ARM926EJ-S內(nèi)核,512 KB的嵌入式SRAM[6]。在Cypress官方SDK中的Eclipse開(kāi)發(fā)環(huán)境下進(jìn)行固件開(kāi)發(fā)。固件程序是指由內(nèi)核控制和調(diào)用芯片資源,接收并處理外部命令的代碼。固件的整體框架如圖5所示[7],主要功能為:實(shí)現(xiàn)USB3.0協(xié)議、GPIF II接口的時(shí)序配置和DMA通道的配置[7]。

圖4 USB3.0模塊連接框圖

圖5 FX3固件框架

3.2 GPIF II接口

GPIF II是一種可編程、位寬為32-bit的接口,由一套可編程的存儲(chǔ)器映射的寄存器定義,運(yùn)行頻率可達(dá)到100 MHz,可連接多種類(lèi)型外部器件[7]。本系統(tǒng)使用FPGA為控制芯片,并選用Slave FIFO接口模式。

使用Cypress提供的GPIF II designer軟件實(shí)現(xiàn)特定的GPIF II接口寄存器配置,經(jīng)過(guò)編譯,生成C頭文件,將包含GPIF II寄存器配置的C頭文件加載到Eclipse下的固件工程中,實(shí)現(xiàn)EZ-USB FX3的數(shù)據(jù)傳輸通[8]。設(shè)計(jì)流程如圖6所示[7]。

圖6 GPIF II設(shè)計(jì)流程圖

3.3 DMA通道

DMA的配置包含Socket(套接字)、DMA Descriptor(DMA描述符)、DMA Buffer(DMA緩存區(qū))以及GPIF Thread(DMA線程)四個(gè)要素。Socket是外設(shè)硬件模塊(如GPIF、USB和SPI)與 FX3 RAM之間的連接點(diǎn);DMA Descriptor是一組位于FX3 RAM的寄存器,存儲(chǔ)了DMA緩沖區(qū)的地址和數(shù)據(jù)及下一描述符的指針,以構(gòu)建成DMA描述符鏈;DMA Buffer是RAM的一部分,用來(lái)暫時(shí)存放通過(guò)FX3的數(shù)據(jù);GPIF Thread是用來(lái)將外部數(shù)據(jù)引腳連接至Socket的專(zhuān)用數(shù)據(jù)路徑。例如,將視頻數(shù)據(jù)流從GPIF II接口傳輸給USB模塊;因?yàn)椴恍枰薷臄?shù)據(jù)流中的任何數(shù)據(jù),所以配置為自動(dòng)DMA通道。傳輸視頻數(shù)據(jù)流使用FX3超高速stream模式,此時(shí)需要配置兩個(gè)DMA通道,一個(gè)是GPIF II端口到USB端口的P2U通道,一個(gè)是USB端口到GPIF II端口的U2P通道,通道的傳輸吞吐率由緩沖區(qū)的數(shù)量決定,由于FX3硬件資源有限,且主要是實(shí)現(xiàn)視頻流從下位機(jī)傳輸?shù)缴衔粰C(jī)的過(guò)程,因此將P2U通道定位優(yōu)先通道,配置8個(gè)緩存區(qū),U2P通道配置4個(gè)緩存區(qū),如圖7所示[8]。

圖7 串流輸入的DMA傳輸設(shè)置

4 上位機(jī)設(shè)計(jì)

使用Cypress官方提供的示例驅(qū)動(dòng),實(shí)現(xiàn)CYUSB3014芯片的枚舉與通信。使用Microsoft Visual Studio 2010軟件編寫(xiě)應(yīng)用程序,在Cypress公司提供的USB Control Center工具的基礎(chǔ)上[9],添加了視頻顯示界面,如圖8所示。上位機(jī)功能包括檢測(cè)并枚舉USB設(shè)備、下載固件到USB芯片RAM或Flash中、對(duì)下位機(jī)傳來(lái)的數(shù)據(jù)進(jìn)行幀頭檢測(cè)、將視頻數(shù)據(jù)去幀頭后按幀保存并顯示圖像;使用Cypress官方測(cè)速工具Streamer測(cè)試Stream_IN或Stream_OUT模式時(shí)的傳輸速率和丟包現(xiàn)象。上位機(jī)是按字節(jié)讀取CYUSB3014中的數(shù)據(jù),每次1 B,每2 B為一個(gè)像素點(diǎn)數(shù)據(jù),如果是800×600格式的視頻,則將幀頭之后的數(shù)據(jù)保存到數(shù)組RGB_buff[600,1600]中,此時(shí)數(shù)組中保存的為一幀圖像的數(shù)據(jù)。

5 仿真與系統(tǒng)測(cè)試

系統(tǒng)測(cè)試分為兩個(gè)階段,首先是分模塊進(jìn)行測(cè)試,使用Xilinx的Chipsocpe工具和示波器調(diào)試每個(gè)模塊,確保硬件電路的正常,然后進(jìn)行FPGA時(shí)序仿真,編寫(xiě)邏輯代碼,進(jìn)行系統(tǒng)聯(lián)調(diào)。

5.1 硬件與FPGA固件調(diào)試

視頻圖像在傳輸過(guò)程中不能丟失數(shù)據(jù),否則在PC端顯示時(shí),畫(huà)面會(huì)產(chǎn)生抖動(dòng)、錯(cuò)位等很明顯的問(wèn)題。因此先用FPGA產(chǎn)生DVI格式的自加數(shù)據(jù)給上位機(jī)顯示,以便于觀察圖像數(shù)據(jù)的完整性和正確性,如圖9所示,圖像正確顯示且無(wú)丟數(shù)、錯(cuò)位現(xiàn)象。

圖9 DVI測(cè)試數(shù)據(jù)

用帶DVI接口的臺(tái)式機(jī)主機(jī)播放高清視頻模擬視頻源,測(cè)試視頻格式分辨率為1920×1080@60Hz,用示波器觀察TFP401A的時(shí)鐘、行和場(chǎng)同步信號(hào)頻率輸出,經(jīng)測(cè)試TFP401A正常工作,如圖10所示。

圖10 1920×1080@60Hz的行同步信號(hào)和像素時(shí)鐘

5.2 系統(tǒng)測(cè)試

啟動(dòng)傳輸,如圖11所示,圖像正常顯示,無(wú)丟數(shù)、錯(cuò)位現(xiàn)象。

圖12為Chipscope在線邏輯分析儀抓取FPGA讀出SDRAM中同步碼的時(shí)刻,意味著一幀視頻圖像數(shù)據(jù)傳輸完成,此時(shí)對(duì)SDRAM讀地址復(fù)位清零;同步碼為0xF08421、0xAA5580、0x3BE6E6,連續(xù)3個(gè)數(shù)據(jù)是為了不與像素?cái)?shù)據(jù)重復(fù),其中0xAA5580中的8’h80代表該視頻流格式為1920×1080。使用Cypress官方測(cè)速工具Streamer測(cè)試Stream_IN模式時(shí)的傳輸速率,如圖13所示,V_Stream_IN=330800(KB/s)/1024=323.05 MB/s。

圖12 SDRAM讀出同步碼

圖13 Stream_IN模式時(shí)傳輸速率

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

為解決USB2.0帶寬不夠、速度較慢,其余接口便攜性不好而無(wú)法或不適合傳輸高清視頻的問(wèn)題,設(shè)計(jì)了基于FPGA的USB3.0的高清視頻傳輸系統(tǒng),經(jīng)過(guò)實(shí)際測(cè)試,所設(shè)計(jì)的傳輸系統(tǒng),可傳輸8種主流分辨率的視頻格式,靈活便攜,較傳統(tǒng)的USB2.0傳輸系統(tǒng)相比,極大提升了傳輸性能,滿(mǎn)足了項(xiàng)目可靠、高速、便捷的設(shè)計(jì)要求,且USB3.0模塊采用兩層板設(shè)計(jì),減少了成本。同時(shí),因?yàn)椴捎媚K化,預(yù)留了DVI輸出接口,可從上位機(jī)傳輸高清視頻到顯示器上,功能更加完善。

猜你喜歡
系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無(wú)人機(jī)系統(tǒng)
ZC系列無(wú)人機(jī)遙感系統(tǒng)
基于PowerPC+FPGA顯示系統(tǒng)
基于UG的發(fā)射箱自動(dòng)化虛擬裝配系統(tǒng)開(kāi)發(fā)
半沸制皂系統(tǒng)(下)
FAO系統(tǒng)特有功能分析及互聯(lián)互通探討
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統(tǒng) 德行天下
PLC在多段調(diào)速系統(tǒng)中的應(yīng)用
主站蜘蛛池模板: 国产成人在线无码免费视频| 亚洲性网站| 婷婷开心中文字幕| 成年人国产视频| 国产成人精品高清不卡在线| 国产一在线| 亚洲天堂2014| 国产成人精品一区二区免费看京| AV不卡在线永久免费观看| 久久亚洲高清国产| 精品视频在线观看你懂的一区| 欧美一级大片在线观看| 午夜日韩久久影院| 永久免费无码成人网站| 99精品在线看| 国产亚洲精久久久久久无码AV| 欧美精品亚洲二区| 日韩成人午夜| 美女被操91视频| 欧美色亚洲| 中文字幕不卡免费高清视频| 人妻少妇乱子伦精品无码专区毛片| 国产chinese男男gay视频网| 亚洲精品欧美日本中文字幕| 国产成人在线小视频| 久久久久亚洲精品成人网 | 欧美一区二区三区不卡免费| 在线综合亚洲欧美网站| 亚洲欧美自拍中文| 无码内射在线| 91精品久久久无码中文字幕vr| 亚洲第一色视频| 成年人国产视频| 狠狠综合久久久久综| 中文字幕永久视频| 91国内外精品自在线播放| 九九视频免费在线观看| 97国产在线观看| 亚洲国产系列| 亚洲欧美在线精品一区二区| 婷婷五月在线| 麻豆精品国产自产在线| 欧美精品在线观看视频| 98超碰在线观看| 精品国产美女福到在线不卡f| 天天做天天爱天天爽综合区| 国禁国产you女视频网站| 国产精品成人一区二区| 91精品aⅴ无码中文字字幕蜜桃| 亚洲精品在线观看91| 国产一区免费在线观看| aaa国产一级毛片| 日韩在线中文| 综合五月天网| 在线免费看黄的网站| 欧美日韩亚洲国产主播第一区| 91福利在线观看视频| 日本五区在线不卡精品| 美女免费精品高清毛片在线视| 二级特黄绝大片免费视频大片| 婷五月综合| 高清久久精品亚洲日韩Av| 国产成人高清亚洲一区久久| 久久婷婷五月综合色一区二区| 国产成本人片免费a∨短片| 91国内外精品自在线播放| 高清无码一本到东京热| 无码'专区第一页| 色播五月婷婷| 免费一级毛片在线播放傲雪网| 亚洲精品午夜天堂网页| 亚洲高清中文字幕在线看不卡| 青草免费在线观看| 久久久久亚洲av成人网人人软件 | 国产精品美女免费视频大全| 在线免费看片a| 国产噜噜在线视频观看| 色亚洲成人| 亚洲第一视频区| 亚洲日本一本dvd高清| 黄色网站在线观看无码| 日日噜噜夜夜狠狠视频|