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