基于FPGA的視頻信號發(fā)生器設(shè)計
摘要:目前數(shù)字相機逐步取代模擬相機應(yīng)用在光電測量設(shè)備中,因此圖像處理器也逐漸轉(zhuǎn)化為接收數(shù)字視頻的接口,對數(shù)字圖像處理器檢測的信號發(fā)生器的研制也變得十分迫切。本文介紹了一種基于FPGA的兩種數(shù)字視頻格式輸出的視頻發(fā)生器,它可以產(chǎn)生LVDS制式的數(shù)字視頻信號和CamerLink制式的數(shù)字視頻信號,而且可以通過串口對產(chǎn)生的視頻中的目標大小、運動速度、灰度及背景灰度進行實時更改。它滿足了對數(shù)字視頻輸入的圖像處理平臺的檢測,具有一定應(yīng)用前景。
關(guān)鍵詞:現(xiàn)場可編程門陣列;視頻發(fā)生器;LVDS;圖像處理平臺
0 引言
在光電測量系統(tǒng)中,需要圖像處理器進行圖像采集、處理。而為了對圖像處理器的圖像采集能力及處理能力進行評估、檢測,常常需要對圖像處理器輸入特定視頻,進行各項功能測試。目前隨著數(shù)字化相機的廣泛應(yīng)用,圖像處理器多采用數(shù)字化接口。而且對圖像處理器的檢測要求信號發(fā)生器產(chǎn)生的視頻內(nèi)容越來越豐富,幀頻越來越高,而目前檢測圖像處理器的信號發(fā)生器多是標準的模擬視頻輸出,如文獻提出的模擬視頻發(fā)生器,有的雖然能產(chǎn)生數(shù)字視頻但內(nèi)容是固定的,如果對內(nèi)容進行更改則需要對數(shù)字視頻信號發(fā)生器重新編程以達到要求,比較麻煩,不能滿足日益復(fù)雜的要求。因此靈活改變視頻內(nèi)容的數(shù)字視頻信號發(fā)生器的研制變得十分迫切。本文提出一種數(shù)字視頻信號發(fā)生器的設(shè)計方法,此方法可以同時得到LVDS和CamerLink制式的視頻,供數(shù)字化圖像處理器檢測使用。本文提出的設(shè)計方法除可以脫離計算機獨立使用外,如果想實時更改信號發(fā)生器輸出視頻的各項參數(shù),無需重新改寫程序,只需把該信號發(fā)生器通過串口連接到計算機上,即可通過人機交互的方式對視頻中的目標灰度、背景灰度,目標大小、目標運動速度進行更改。此外目標的背景還可以從板卡上的SDRAM中選取。與以往的視頻信號發(fā)生器相比,本文提出的信號發(fā)生器除能產(chǎn)生多種數(shù)字化視頻外,還能靈活更改所產(chǎn)生的視頻各項參數(shù),因此具有一定應(yīng)用價值。
1 硬件組成
數(shù)字視頻發(fā)生器主要卣FPGA模塊、單片機模塊、串行通信模塊、TTL轉(zhuǎn)L,VDS模塊、FTL轉(zhuǎn)CamerL,ink模塊、SDRAM模塊組成,整個系統(tǒng)框圖如圖1所示。
1.1 工作原理
數(shù)字式視頻信號主要由行同步、幀同步、像素時鐘、圖像數(shù)據(jù)組成。其中行同步?jīng)Q定一行的起始位置,幀同步?jīng)Q定一幀圖像的起始位置,像素時鐘決定一行有多少列圖像數(shù)據(jù)。根據(jù)數(shù)字圖像的組成,可以看出如果想要生成一幅數(shù)字圖像,必須包含上述要素。其行幀信號同圖像的關(guān)系如圖2所示,其中VSYN表示幀同步信號,HSYN表示行同步信號。
其中圖像的采集是從行同步上升沿開始后,按像素時鐘采集的。
本文根據(jù)數(shù)字視頻產(chǎn)生所需的各要素進行信號發(fā)生器的設(shè)計。主要通過FPGA產(chǎn)生行同步信號、幀同步信號、像素時鐘;通過單片機+串口通信模塊實現(xiàn)目標參數(shù)的更改,并把更改后的參數(shù)傳遞給FPGA,供FPGA產(chǎn)生相應(yīng)運動的視頻信號;通過視頻制式轉(zhuǎn)換模塊把FPGA生成的視頻數(shù)據(jù)及視頻控制信號轉(zhuǎn)換成LVDS和CamerLink制式的數(shù)字視頻信號。
2 FPGA控制模塊
FPGA具有高集成度、高可靠性以及開發(fā)工具智能化等特點,目前逐步成為復(fù)雜數(shù)字電路設(shè)計的理想首選。此外FPGA可以通過編程實現(xiàn)硬件的邏輯功能,大大減少了硬件設(shè)計的復(fù)雜程度。因此本文以FPGA為核心器件產(chǎn)生視頻信號,這里選用ALTERA公司的SycloncII系列的EP2C8 F25618N,采用VHDL語言編程生成與數(shù)字視頻有關(guān)的各個信號,與單片機通信接收視頻修改參數(shù)的模塊及得到SDRAM內(nèi)部圖像的模塊。其結(jié)構(gòu)框圖如圖3所示。
信號發(fā)生器上電后,F(xiàn)PGA通過與單片機通信的模塊得到初始視頻各項參數(shù),根據(jù)參數(shù)進行目標大小、目標灰度、目標運動速度、背景灰度的設(shè)置,然后根據(jù)各項設(shè)置產(chǎn)生視頻數(shù)據(jù),F(xiàn)PGA幀同步模塊、行同步模塊、像素時鐘模塊分別產(chǎn)生幀同步、行同步、像素時鐘,圖像數(shù)據(jù)按以上控制信號從FPGA中發(fā)送出去。
在本文中FPGA各功能模塊根據(jù)基準時鐘生成幀同步、行同步、像素時鐘。這里以50M時鐘為基準時鐘信號,根據(jù)圖像處理平臺對輸入信號的要求,設(shè)計的幀同步高電平占33ms,低電平占1.2ms,行同步高電平占35 μm,低電平占8.4μm。這里把50M基準時鐘輸入像素時鐘模塊經(jīng)過鎖相后依然以50M的時鐘頻率輸出,作為像素時鐘。由于一行較多,可在程序中進行限位,控制每行像素數(shù)。像素的產(chǎn)生主要有兩種方式,一種是通過與單片機通信得到目標像素灰度及背景像素灰度,根據(jù)這兩種灰度產(chǎn)生像素數(shù)據(jù)。另一種方式是通過從連接在FPGA上的SDRAM內(nèi)讀出圖像作為背景,從與單片機通信得到目標灰度,共同形成像素數(shù)據(jù)。
2.1 單片機控制模塊及通信模塊
在本設(shè)計中單片機作為通信管理芯片。它主要實現(xiàn)與計算機的通信,更改信號發(fā)生器所產(chǎn)生信號的各個參數(shù),把各個參數(shù)經(jīng)過整合送給FPGA,以便FPGA根據(jù)參數(shù)控制目標的運動速度、目標大小、目標灰度及背景灰度。為了保證信號發(fā)生器能夠方便地和計算連接,實現(xiàn)人機交互,實時更改產(chǎn)生的視頻信號,并且從通信穩(wěn)定可靠出發(fā),這里采用RS232通信接口。但是因為計算機每次發(fā)的數(shù)據(jù)較多,這里沒有直接應(yīng)用電平轉(zhuǎn)換芯片把計算機和單片機的串口連在一起,而是通過一片16C650把電平轉(zhuǎn)換芯片和單片機連在一起,這樣的好處在于16C650內(nèi)部具有32字節(jié)的FIFO,可起到數(shù)據(jù)緩存的作用,使單片機能夠穩(wěn)定可靠地接收數(shù)據(jù)。
2.2 視頻制式轉(zhuǎn)換模塊
因為FPGA產(chǎn)生的視頻信號為TTL電平,而目前數(shù)字視頻信號以LVDS制式和CamerLink制式為主,因此需要進行電平轉(zhuǎn)換。這里主要采用把FPGA產(chǎn)生的TTL電平的數(shù)字視頻信號接入SN75LVDS387得到LVDS制式的視頻信號,同時可把該TTL數(shù)字信號接入DS90CR285得到CamerLink制式信號。
3 軟件設(shè)計
本文軟件設(shè)計主要對單片機和FPGA進行編程。其中對單片機編程主要應(yīng)用C語言進行編程,對FPGA主要應(yīng)用VHDL語言編寫。其中單片機程序框圖如圖4所示。FPGA程序流程框圖如圖5所示。
4 結(jié)論
本文介紹了一種基于FPGA的數(shù)字視頻信號發(fā)生器,此發(fā)生器能夠同時產(chǎn)生CamerLink和LVDS制式的視頻信號,同時此視頻信號發(fā)生器可通過人機對話的方式對所產(chǎn)生的視頻信號中的目標、背景灰度、目標大小、運動速度等參數(shù)實時更改,從而達到檢測圖像處理平臺目標分辨能力、目標捕獲能力、目標捕獲目標跟蹤速度、目標跟蹤精度等指標的目的。因此具有一定應(yīng)用價值。