基于USB2.0的視頻圖像處理芯片實(shí)現(xiàn)方案
1 引言
隨著計(jì)算機(jī)技術(shù)、微電子技術(shù)的高速發(fā)展,實(shí)時(shí)圖像處理在多媒體、圖像通信等領(lǐng)域有著非常廣泛的應(yīng)用。FPGA 芯片在集成度、容量和速度方面都達(dá)到了較高的水平,是實(shí)時(shí)圖像處理的理想選擇,基于FPGA 的圖像處理芯片的研究已成為信息產(chǎn)業(yè)的新熱點(diǎn)。USB2.0 接口是一個(gè)傳輸速率可以達(dá)到480Mb/s的串行接口,并由不同類型的外圍設(shè)備共享這個(gè)接口總路線,基于USB2.0 的視頻圖像處理芯片是按照USB協(xié)議進(jìn)行設(shè)計(jì)的。USB2.0 接口的面世,推動(dòng)了高清數(shù)碼攝像頭的普及應(yīng)用,加上同期寬帶的飛速發(fā)展,電腦攝像頭的本地和遠(yuǎn)程視頻效果都有了大幅度提升。國(guó)內(nèi)USB2.0 的視頻圖像處理芯片現(xiàn)在發(fā)展迅速,比如深圳的艾科創(chuàng)新、珠海的炬力等公司都相繼推出了各自的產(chǎn)品。本文介紹了一種基于USB2.0 的視頻圖像處理芯片的實(shí)現(xiàn)方案,并在搭建的仿真和驗(yàn)證平臺(tái)上,對(duì)系統(tǒng)進(jìn)行了功能仿真和FPGA 驗(yàn)證,結(jié)果證實(shí)本設(shè)計(jì)達(dá)到了設(shè)計(jì)要求。
2 基于USB2.0的視頻圖像處理芯片的整體實(shí)現(xiàn)方案
基于USB2.0 視頻圖像處理芯片在硬件上由8 個(gè)模塊組成:微處理器模塊(MCU)、MCU 總線接口模塊(MCU Bus Interface)、USB2.0 收發(fā)器模塊(USB2.0PHY)、USB2.0 串行接口引擎模塊(USB2.0 SerialInterface Engine,簡(jiǎn)稱USB2.0 SIE)、數(shù)據(jù)緩沖模塊(Data Buffer)、DMA 傳輸控制器模塊(DMA)、圖像處理單元 (PU) 、圖像預(yù)處理單元(PPU)。其結(jié)構(gòu)框圖如下圖1 所示。
圖1 基于USB2.0 的視頻圖像處理芯片結(jié)構(gòu)框圖
其中,MCU模塊、USB2.0 PHY模塊和USB2.0 SIE模塊使用已有的IP 核,而其它模塊均采用硬件描述語(yǔ)言(Verilog HDL)自行設(shè)計(jì)。
MCU 模塊負(fù)責(zé)協(xié)調(diào)控制整個(gè)系統(tǒng)的運(yùn)作;MCUBus Interface 模塊負(fù)責(zé)各模塊的部分地址譯碼及相關(guān)數(shù)據(jù)的選通,以便于MCU 統(tǒng)一管理。USB2.0 PHY 模塊負(fù)責(zé)USB 物理層的鏈接,并將USB2.0 的總線信號(hào)變成標(biāo)準(zhǔn)的UTMI 接口信號(hào);USB2.0 SIE 模塊負(fù)責(zé)處理USB 協(xié)議層的操作,完成USB 協(xié)議包生成和解析,以及接收來(lái)自DMA 的圖像數(shù)據(jù),并將其保存在數(shù)據(jù)緩沖模塊,完成與MCU 進(jìn)行的互動(dòng);DataBuffer 負(fù)責(zé)將處理后的圖像數(shù)據(jù)緩存起來(lái),以備USB 同步幀傳輸時(shí)取出后發(fā)送至PC;DMA 模塊完成將PU 處理后的圖像數(shù)據(jù)傳送給USB2.0 SIE;PPU 模塊完成獲取來(lái)自Sensor傳感器輸出的圖像數(shù)據(jù),并且對(duì)數(shù)據(jù)進(jìn)行各種圖像方面的處理,然后將處理后的圖像數(shù)據(jù)發(fā)送至PU.
3 PPU模塊中核心部件的設(shè)計(jì)
PPU 模塊所完成的功能主要是:(1) YCbCr4:2:2格式到Y(jié)CbCr4:4:4 格式的轉(zhuǎn)換;(2) RGB565 格式到RGB888 格式的轉(zhuǎn)換;(3) Bayer 數(shù)據(jù)壞點(diǎn)修正及Bayer格式到RGB888 格式的轉(zhuǎn)換。其中第三個(gè)功能是本模塊的最重要的功能,本方案中采用了"兩條線偽雙端口+六級(jí)流水線"的方案來(lái)實(shí)現(xiàn),其原理圖如圖2所示。
圖2 Bayer 數(shù)據(jù)壞點(diǎn)修正及格式轉(zhuǎn)換的硬件原理圖。
從圖2 可以知道,在本方案中把壞點(diǎn)修正算法與格式轉(zhuǎn)換算法做在了一個(gè)模塊中。壞點(diǎn)地址存儲(chǔ)模塊,主要是用來(lái)接收從MCU 輸出的壞點(diǎn)信息。偽雙端口RAM1、RAM2 是用來(lái)臨時(shí)存儲(chǔ)Bayer 圖像中的前兩行數(shù)據(jù)。而右端的六級(jí)流水線模塊,它的作用是完成相應(yīng)的壞點(diǎn)修正和格式轉(zhuǎn)換。其中,六級(jí)流水線的前面五級(jí)的作用是完成3×5 窗口的壞點(diǎn)修正,而后面三級(jí)是為了完成3×3 窗口的格式轉(zhuǎn)換。
邏輯管理模塊的主要作用是統(tǒng)一管理六級(jí)流水線的相應(yīng)操作,其內(nèi)部包含一些計(jì)數(shù)器、比較器。從圖中還可以看到,P24、P34 分別把數(shù)據(jù)寫(xiě)入了RAM1、RAM2,這主要是為了更新RAM 中的數(shù)據(jù),使得3×6 窗口能夠漫游Bayer 圖像的每一個(gè)像素點(diǎn)。同時(shí)本設(shè)計(jì)對(duì)圖像的邊緣也做了很好的處理,采用鏡像技術(shù)對(duì)邊緣做了很好的修正。
評(píng)論