一種多路圖像采集系統(tǒng)的軟件設(shè)計(jì)
4.3 LCD/VGA顯示控制器
本模塊主要是用FPGA來產(chǎn)生LCD/VGA顯示時(shí)所需要的時(shí)鐘信號(hào)CLK(像素時(shí)鐘信號(hào))、VSYNC(幀同步信號(hào))、HSYNC(行同步信號(hào))和使能信號(hào)(VDEN),并在相應(yīng)控制時(shí)序的作用下,依次將顯示緩存即SRAM中的數(shù)據(jù)依次讀出,輸出到LCD上的過程。
LCD顯示所需的主要時(shí)序信號(hào)的關(guān)系如圖7所示。
圖7 LCD時(shí)序信號(hào)圖
在系統(tǒng)中,LCD屏幕分辨率為640x480,像素時(shí)鐘CLK為25MHz,由于FPGA的主時(shí)鐘輸入選用了20 MHz的有源時(shí)鐘,那么就要求利用Cyclone芯片的內(nèi)部邏輯資源來實(shí)現(xiàn)時(shí)鐘倍頻,以產(chǎn)生所需要的CLK(25 MHz)、用Verilog語言編寫參數(shù)化的時(shí)序生成模塊,產(chǎn)生HSYNC(32 kHz)及VHY-NC(60 Hz)時(shí)鐘信號(hào),如圖8所示。
圖8 時(shí)序驗(yàn)證
VGA顯示原理與LCD相似,除了在硬件上正確連接ADV7125芯片電路外根據(jù)需要的分辨率來生成相應(yīng)時(shí)鐘信號(hào)即可。
5 圖像抖動(dòng)的分析與解決
在系統(tǒng)完成后軟硬件聯(lián)調(diào)時(shí),出現(xiàn)畫面抖動(dòng)現(xiàn)象,其中以RTSO為基準(zhǔn)而產(chǎn)生乒乓切換的那一路圖像穩(wěn)定,其他三路都出現(xiàn)不同程度的抖動(dòng)現(xiàn)象。對此我們做了深入的分析和實(shí)驗(yàn),分析整個(gè)系統(tǒng)的結(jié)構(gòu)可知,系統(tǒng)在多個(gè)時(shí)鐘控制下共同工作,也就是所說的典型的異步系統(tǒng)。我們知道,數(shù)據(jù)在異步系統(tǒng)傳輸時(shí)對時(shí)鐘要求非常嚴(yán)格,稍微的一點(diǎn)時(shí)鐘偏差都會(huì)帶來對有效像素截取的偏差,最終影響圖像的顯示質(zhì)量。
解決的辦法有兩個(gè),一是加入緩沖機(jī)制,利用FIFO對數(shù)據(jù)存儲(chǔ)的特性來實(shí)現(xiàn)數(shù)據(jù)在異步時(shí)鐘之間的無縫傳輸;二是同步時(shí)鐘,利用狀態(tài)機(jī)等方法使得異步系統(tǒng)的時(shí)鐘能夠盡可能同步。采用第二種方法對系統(tǒng)進(jìn)行改進(jìn),首先系統(tǒng)中所有的分頻、倍頻盡量使用Quartus 6.0自帶的PLL
PLL
pll是鎖相環(huán)(Phase-Locked Loop)的英文簡稱,用來使外部的輸入信號(hào)與內(nèi)部的振蕩信號(hào)同步。pll是用于振蕩器中的反饋控制電路。 [全文]
產(chǎn)生,并且使用專用時(shí)鐘引腳進(jìn)行時(shí)鐘輸出;其次把寫時(shí)鐘write_clk降為54M,也就是每隔一個(gè)像素采集一次。最終,四路圖像都能穩(wěn)定顯示。
6 結(jié)束語
本文實(shí)現(xiàn)了一種結(jié)合Altera公司生產(chǎn)的CycloneII系列FPGA與視頻解碼芯片ADV7181B的嵌入式圖像采集系統(tǒng)。系統(tǒng)具有低功耗、低成本、高可靠和靈活性好等特點(diǎn)?;贔PGA的多路圖像采集系統(tǒng)采用兩片F(xiàn)PGA作為主控芯片,完成四路視頻畫面的同時(shí)顯示和切換,實(shí)現(xiàn)兩個(gè)FPGA的級聯(lián)配置,采用Verilog語言編寫的控制邏輯解決了畫面抖動(dòng)問題。系統(tǒng)軟件集成度高,硬件結(jié)構(gòu)清晰簡單,即可滿足一般監(jiān)控場合對多處位置進(jìn)行實(shí)時(shí)監(jiān)控的需求,又能為功能更復(fù)雜的圖像處理、壓縮、傳輸系統(tǒng)提供前端圖像數(shù)據(jù)采集。
評論