基于FPGA的多路圖像采集系統的軟件設計
用程序實(shí)現比較簡(jiǎn)單,設置一個(gè)地址寄存器sram_addr_reg,將它賦給SRAM的地址控制信號sram_addr。然后在對每一路圖像寫(xiě)入時(shí),將對應的SRAM的起始地址加上一個(gè)固定的基數。如:
本文引用地址:http://dyxdggzs.com/article/191256.htm
在系統中,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所示。
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產(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)?;?a class="contentlabel" href="http://dyxdggzs.com/news/listbylabel/label/FPGA">FPGA的多路圖像采集系統采用兩片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í)監控的需求,又能為功能更復雜的圖像處理、壓縮、傳輸系統提供前端圖像數據采集。
評論