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