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