?

基于FPGA與TW2867的實時圖像采集系統設計

2016-02-26 01:56付深圳孫運強
單片機與嵌入式系統應用 2016年1期

付深圳,孫運強

(中北大學 儀器科學與動態測試教育部重點實驗室,太原 030051)

?

基于FPGA與TW2867的實時圖像采集系統設計

付深圳,孫運強

(中北大學 儀器科學與動態測試教育部重點實驗室,太原 030051)

摘要:核心板主要由FPGA+兩片DDR2構成,負責實現視頻圖像處理的核心算法。系統充分利用了FPGA并行處理的能力,加上兩片DDR2構建32位總線,整個系統的帶寬高達10 Gbps;兩片DDR2容量高達2 Gb,滿足視頻處理過程中對高緩沖區的需求。選用的FPGA為Altera公司Cyclone IV系列的EP4CE30F23C6N芯片,針對視頻解碼芯片TW2867、實現了I2C總線配置、VGA顯示模塊的設計。實驗結果顯示,本設計具有成本低、速度高、易于集成的優點。

關鍵詞:CCD攝像頭;FPGA;視頻解碼芯片;視頻采集;實時處理

引言

視頻圖像采集系統是多媒體信息處理、視頻監控等系統的前端子系統,視頻圖像采集系統的實現是進行數字圖像處理、多媒體和網絡傳輸的前提,它可以為各種圖像處理算法提供待處理的原始數字圖像[1],隨著FPGA性能和集成度的提高,用一片FPGA來實現整個系統成為一個新的發展方向。本設計使用一片FPGA控制視頻解碼芯片TW2867進行模擬視頻信號的數字化,并在FPGA芯片內部進行視頻圖像采集控制和存儲操作,從而實現了視頻圖像采集和數據處理的連續性和實時性。

1視頻采集系統的基本構成

圖1為視頻圖像采集系統構成圖,在系統中采用FPGA作為整個系統的核心控制芯片,其可控制外圍芯片并對采集到的圖像數據進行處理。系統通過模擬攝像頭獲得前段視頻的采集,把采集到的數據送入視頻解碼芯片中,視頻數據進入TW2867,并經過A/D轉換器轉換為YCbCr 4∶2∶2格式的數據,通過FPGA芯片寫入SDRAM中,完成存儲。需要時再從SDRAM中讀取,并對數據進行處理,最后通過VGA顯示出來。

圖1 視頻圖像采集系統基本構成圖

2硬件設計

(1) 模擬攝像頭

采用索尼CCD攝像機,紅外發射燈,940 nm波段,人眼不可見。在黑暗的環境里,也可實時視頻監控,夜視距離為1~10 m。

(2) 視頻解碼芯片

選用了Techwell公司的TW2867, 可輸入4路復合視頻信號,PAL/NTSC/SECAM自動識別,輸出BT656,可多路復用總線,FPGA端解復用,節省I/O接口。

(3) FPGA芯片選擇

接口選用Cyclone IV系列的EP4CE30F23C6N器件,采用了與Cyclone系列器件相同的核心架構。內部有28 848個LE,內含嵌入式存儲器、NiosII處理器、外部存儲I/O口、鎖相環以及時鐘管理電路等。

(4) SDRAM選擇

使用MICRON公司的MT47H64M16HR這款DDR2芯片,容量為1 Gb;兩片DDR2構建32位總線模式,2G容量,帶寬高達10 Gb。這樣的配置,可以滿足2路1080p視頻處理的需求。

(5) 視頻D/A轉換器

選取ANALOG公司的高速視頻轉換芯片ADV7123。芯片集成了3路高速D/A轉換器;具有330 Mbps的數據吞吐量、80 MHz的流水線、10位數據寬度;另外有視頻控制信號復合同步SYNC和復合消隱BLAN;D/A轉換器送出的模擬視頻信號可直接送至VGA顯示。

3TW2867接口配置

(1) I2C總線的配置

TW2876的I2C總線配置按照I2C總線規范與標準時序來進行,其時序關系如圖2所示。采用硬件描述語言設計時,該接口的功能可以由兩個模塊來實現。其中I2C_ctr用來控制產生I2C總線的時序,I2C_cmd用來配置TW2876的命令參數的配置。

為了對總線上的設備進行控制,必須制定一個特定的協議(I2C總線協議)。

圖2 I2C總線時序圖

首先,I2C總線控制器建立一個數據傳輸的開始條件:SCLK保持為高,SDATA從高到低轉變。外圍設備監控SDATA和SCLK,等待開始條件和正確的傳輸地址。開始條件到達以后,緊接著送出一個8位的設備地址,所有的外圍設備響應開始條件并轉換下一個8位寄存器地址(7位地址和1位讀寫信號)。當SCLK為高、SDATA從低到高轉變時,表示一次傳輸完成,等待下一次傳輸開始。I2C總線的讀寫時序如圖2所示。

(2) TW2867寄存器配置

可通過TW2867的內部寄存器來設定、實現TW2867的各種功能。本設計中的TW2867功能是采集PAL制式的模擬信號,并在27 MHz頻率下進行模/數轉換,以輸出8位寬、格式為YCbCr 4∶2∶2的數字信號。寄存器配置如表1所列。I2C_cmd模塊的功能是將表1中需要配置的每一個寄存器的數據以查找表算法給出,并構造成符合I2C總線規范的數據結構,再順序送給I2C_ctr模塊。

4數字圖像采集

攝像頭采集到的視頻數據經解碼芯片進行A/D轉換后,得到8位的4∶2∶2視頻數據流。ITU656解碼模塊根據ITU656標準將4∶2∶2的數據流解碼成ITU656標準視頻流。ITU656并行接口除了傳輸4∶2∶2的YCbCr視頻流外,還有行、場同步所用的控制信號。PAL制式的圖像一幀有625行,每秒掃描25幀;NTSC制式為一幀525行,每秒掃描30幀,每行數據由1728字節的數據塊組成。

表1 TW2867寄存器配置

其中,PAL制式23~311行是偶數場視頻數據,312~552行是奇數場視頻數據,其余為垂直控制信號。NTSC制式20~264行是偶數場視頻數據,283~525行是奇數場視頻數據,其余為垂直控制信號[2]。

圖3為ITU656每行的數據結構,每行數據包含水平控制信號和YCbCr視頻數據信號。視頻數據字是以27 mb/s的速率傳送的,其順序是:Cb、Y、Cr、Y、Cb、Y、Cr……其中,Cb、Y、Cr這3個字指的是同址的亮度和色差信號取樣, 后面的Y字對應于下一個亮度取樣。每行開始的288字節為行控制信號,開始的4字節為EAV信號(有效視頻結束),緊接著280個固定填充數據,最后是4字節的SAV信號(有效視頻起始)。

圖3 ITU656每行的數據結構

圖4 視頻解碼流程

SAV和EAV信號有3字節的前導:FF、00、或EAV信號,提取H、F、V信號,然后發送00;最后1字節XY表示該行位于整個數據幀的位始命令,同時開啟行列計數器,開始對接下來的位置區分SAV、EAV。在每個時鐘的上升沿圖像數據進行解碼,讀取從解碼芯片傳來的8位數據。若檢測到一行信息,判斷該數據為Y、Cr還是Cb,得到數據的開始標志FF0000XY,從而檢測到SAV信號 Y、Cr、Cb各分量的值[3]。視頻解碼流程如圖4所示。

表2為定時基準信號格式。

其中,F為場標志位,第一場為“0”,第二場為“1”;V為“0”表示處于有效數據期,為“1”表示處于場消隱期;H為“0”,則為SAV信號,表示一個數據塊的開始,為“1”則是EAV信號,指示一個數據塊 的結束;P2、P1、P0是保護比特位,其值取決于F、H、V的值。根據這個特征,接收模塊可以建立狀態機,僅當狀態嚴格完成FF-00-00的轉換才開始采集有效數據,送入SDRAM進行存儲。

5SDRAM控制工作原理

SDRAM的價格低、速度快、體積小、容量大,是理想的存儲器件,SDRAM的輸入和輸出緩存電路一般有3種方式:FIFO結構、雙口RAM結構、乒乓存儲結構。如圖5所示,把SDRAM設置為4個端口模式,兩個端口用于把FIFO中的數據送入SDRAM,另兩個讀端口用于把數據從SDRAM中讀到FIFO中。讀和寫操作所采用的時鐘頻率不同,寫用的是解碼芯片的27 MHz時鐘,而讀出采用VGA的25 MHz時鐘。

表2 定時基準信號格式

FPGA對SDRAM進行控制時,首先是對SDRAM的初始化進行配置,也就是寫寄存器,即確定CAS的潛伏期、突發傳輸模式等;然后經過激活命令激活對應地址的bank,同時輸入行地址,最后,通過讀命令或者寫命令輸入列地址,將相應數據讀出或者寫入到對應的地址。操作完成后用相關命令中止讀或寫操作,SDRAM啟動時,第一個有效命令必須在時鐘穩定100 μs之后給出,然后對所有bank執行預充電,緊接著進行第2次刷新。

SDRAM的存儲單元每隔一段時間需刷新以保持數據穩定,否則數據丟失的可能性加大。兩個SDRAM循環地讀寫切換,分別為:在一幀時間內顯示器接收的圖像信號,以及顯卡端輸出的RGB信號。Switch是讀寫切換信號,它的產生是在同步信號(即VS,周期是2倍場)經過二分頻后,若VS為低電平,向SDRAM1中寫入數據,反之則從SDRAM1中讀取數據。在完成讀寫地址的信號切換后,數據輸出切換也是必須實現的。

圖5 SDRAM控制器

6VGA顯示模塊

SDRAM中存儲的是4∶2∶2格式的視頻數據,由于該格式視頻的每個像素點不都包含色度分量和亮度分量,從中讀取數據后,必須將格式轉換成4∶4∶4的視頻數據格式,因此轉化后Y、Cb、Cr是全面的。為了使得VGA顯示器能夠顯示該視頻,首先VGA使用的是RGB的色彩空間,必須將數據經過YCbCr到RGB模塊的轉換,其次是將之前轉換好的YCbCr空間再轉換為RGB空間,再次輸出到VGA控制器,在此過程中,輸出24位RGB數據到編碼芯片ADV7123,輸出的數據還包括VGA的同步信號VGA_HS、VGA_VS[4]。

結語

參考文獻

[1] 王誠,蔡海寧,吳繼華.Altera FPGA/CPLD 設計(基礎篇)[M] .2版.北京:人民郵電出版社,2011:50-58.

[2] 劉延飛,郭鎖利,王曉戒,等.基于Altera FPGA/CPLD 的電子系統設計及工程實踐[M] .北京:人民郵電出版社,2009:253-288.

[3] 夏良正.數字圖像處理[M] .南京:東南大學出版社,1999:154-160.

[4] 夏宇聞.從算法設計到硬線邏輯的實現:實驗練習與Verilog 語法手冊[M] .北京:高等教育出版社,2001:112-115.

Real-time Image Acquisition System Based on FPGA and TW2867

Fu Shenzhen,Sun Yunqiang

(Key Laboratory of Instrumentation&Dynamic Measurement,Ministry of Education,North University of China,Taiyuan 030051,China)

Abstract:The core board is composed of FPGA and two pieces of DDR2,which can undertake the core algorithms of the video image processing.The design takes the full advantages of FPGA parallel processing capability,the system bandwidth is up to 10 Gbps by the construction of 32 bit bus with two pieces of DDR2.The capacity of the two pieces of DDR2 is up to 2Gb,that meets the demand for high-buffer of the video processing.The system takes EP4CE30F23C6N of Altera Cyclone IV series as the FPGA chip.The design achieves the I2C bus configuration,VGA display module design for the video decoder chip TW2867.The experiment results show that the design has the advantages of low cost,high speed,easy integration and so on.

Key words:CCD camera;FPGA;video decoder chip;video collection;real-time processing

收稿日期:(責任編輯:楊迪娜2015-07-22)

中圖分類號:TP332

文獻標識碼:A

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合