YUV分離的兩種FPGA實(shí)現(xiàn)
摘要:速度與面積的互換一直是基于FPGA設(shè)計(jì)中的一個(gè)不變的主題,在此介紹了兩種YUV分離的FPGA的實(shí)現(xiàn)方式:基于面積的實(shí)現(xiàn)和基于速度的實(shí)現(xiàn)。前者僅用一片雙口RAM串行,實(shí)現(xiàn)了YUV分離數(shù)據(jù)的輸出;后者利用流水線的思想,基于兩片雙口RAM之間的乒乓操作,完成了模塊的設(shè)計(jì)。通過(guò)Verilog HDL對(duì)兩種方法進(jìn)行了實(shí)現(xiàn),并利用ModelSim完成了模塊仿真。通過(guò)對(duì)比發(fā)現(xiàn),二者各有優(yōu)勢(shì):前者消耗硬件資源與面積較后者有很大改進(jìn);后者對(duì)提高整體系統(tǒng)實(shí)時(shí)性具有重大意義。因此,兩種實(shí)現(xiàn)方式從兩個(gè)角度為YUV的分離存儲(chǔ)提供了可行的解決方案。
關(guān)鍵詞:FPGA;YUV分離;雙口RAM;流水線
0 引言
隨著視頻采集、壓縮技術(shù)以及無(wú)線傳輸技術(shù)的飛速發(fā)展,基于FPGA的設(shè)計(jì)被廣泛應(yīng)用到各個(gè)領(lǐng)域,尤其在嵌入式系統(tǒng)。傳統(tǒng)的視頻技術(shù)解決方案(如采用CPLD+CPU的結(jié)構(gòu)進(jìn)行的設(shè)計(jì))已經(jīng)不能滿足人們對(duì)于集成度與實(shí)時(shí)性的要求,而FPGA恰逢其時(shí)的出現(xiàn),以其高度集成,并行處理和豐富的片上資源,同時(shí)隨著FPGA自身性能的不斷提高,各個(gè)FPGA廠商為視頻處理提供了越來(lái)越多的高性能解決方案,使得FPGA在視頻采集壓縮以及無(wú)線傳輸領(lǐng)域的應(yīng)用越來(lái)越廣泛。
本文的研究是基于FPGA的實(shí)時(shí)視頻無(wú)線傳輸系統(tǒng)的一部分。在進(jìn)入視頻壓縮編碼器之前,需要完成視頻的采集,模/數(shù)轉(zhuǎn)換,預(yù)處理,讀/寫(xiě)SDRAM等操作,本文針對(duì)預(yù)處理過(guò)程中數(shù)字視頻的分離存儲(chǔ)進(jìn)行了研究.即YUV的分離存儲(chǔ),并采用了兩種方法實(shí)現(xiàn)了YUV的分離存儲(chǔ);一種是基于面積考慮的只用一片雙端口存儲(chǔ)器的實(shí)現(xiàn);另外一種是基于速度考慮的用兩片雙端口處理器的實(shí)現(xiàn)。
1 基于FPGA的實(shí)時(shí)視頻無(wú)線傳輸系統(tǒng)
本文的系統(tǒng)主要由視頻采集、視頻壓縮、無(wú)線傳輸3大部分組成。系統(tǒng)結(jié)構(gòu)如圖1所示。在視頻數(shù)據(jù)進(jìn)入視頻壓縮編碼器之前,視頻需要經(jīng)過(guò)CCD視頻采集、TVP5146視頻解碼、有效數(shù)據(jù)抽取、預(yù)處理、SDRAM存儲(chǔ)等操作。這些操作均屬于視頻采集前端系統(tǒng)。其中,CCD完成模擬視頻的采集,TVP5146完成對(duì)輸入模擬視頻到數(shù)字視頻的轉(zhuǎn)換,而這里需要對(duì)TVP5146進(jìn)行內(nèi)部寄存器設(shè)置,設(shè)置通過(guò)I2C總線來(lái)完成。有效
數(shù)據(jù)抽取模塊完成對(duì)有效視頻數(shù)據(jù)的抽取,1幀視頻數(shù)據(jù)由625行分屬于奇偶場(chǎng)的視頻組成,而系統(tǒng)所需要的是1幀視頻的576行有效數(shù)據(jù)中的特定像素,而這個(gè)工作就是由有效視頻抽取模塊完成;預(yù)處理模塊則是完成數(shù)字視頻的串/并轉(zhuǎn)換,即8位到16位的轉(zhuǎn)換以及YUV的分離,這也是本文所做的工作,下面將做詳細(xì)介紹;然后將視頻存儲(chǔ)在SDRAM中,實(shí)現(xiàn)了為H.264編碼器提供穩(wěn)定的視頻流供壓縮;3G模塊將壓縮模塊
送出的視頻流進(jìn)行RTP封裝,然后發(fā)送到遠(yuǎn)端接收系統(tǒng)。
本文所做的研究是基于YUV分離開(kāi)展的,前面已經(jīng)提過(guò)面積與速度是FPGA設(shè)計(jì)不變的主題。二者也是一對(duì)矛盾體,不可能同時(shí)兼顧,在系統(tǒng)設(shè)計(jì)中只能通過(guò)速度和面積的互換來(lái)使二者有機(jī)的統(tǒng)一起來(lái)。其中,基于面積的設(shè)計(jì)是利用一片雙端口RAM,利用FPGA與SDRAM之間的頻率差異來(lái)實(shí)現(xiàn)的,選定的FPGA的工作頻率為48 MHz,SDRAM的工作頻率為100 MHz,這樣就實(shí)現(xiàn)了再一行視頻數(shù)據(jù)的有效期完成對(duì)雙端口RAM的寫(xiě),然后利用一行視頻數(shù)據(jù)的行消隱期,完成對(duì)雙口RAM的讀出操作,進(jìn)而實(shí)現(xiàn)了YUV分離輸出;而另一種實(shí)現(xiàn)是基于速度的實(shí)現(xiàn),利用兩片雙端口RAM進(jìn)行乒乓操作,完成了數(shù)據(jù)的無(wú)縫緩存和處理。本文通過(guò)Verilog實(shí)現(xiàn)了兩種方法設(shè)計(jì)。通過(guò)對(duì)比仿真結(jié)果,均達(dá)到了預(yù)期結(jié)果。
電子鎮(zhèn)流器相關(guān)文章:電子鎮(zhèn)流器工作原理
評(píng)論