基于FPGA的實時視頻圖像采集與顯示系統的設計與實
SAA7121芯片主要由I2C總線控制單元、數據管理單元、編碼單元、同步時鐘單元和D/A轉換器組成。主要通過I2C總線對芯片的內部寄存器進行設置,也就是完成對芯片的工作屬性的設置。輸出數據的格式有兩種:復合視頻輸入信號(CVBS)或分離視頻信號,輸出的制式可以為NTSC制式或PAL制式,支持隔行掃描和連續(xù)掃描方式,并具有Y、C和CVBS三個信號的數膜轉換器。本文引用地址:http://www.ex-cimer.com/article/189495.htm
SAA7121主要由數據管理模塊,總線接口模塊,編碼模塊,D/A模塊組成。MP0~MP7是MPEG端口,輸入CCIR.656的Cb—Y—Cr的編碼數據;RCV1為柵控制端,輸入或輸出各種類型的信號;LLC為線性鎖定時鐘,為芯片提供27 MHz的主頻;CVBS為模擬CVBS信號輸出,C為模擬色度信號輸出,Y為模擬亮度輸出。SAA7121通過設置內部寄存器,對其進行初始化。SAA7121的芯片結構圖如圖3所示。
2 系統軟件實現
通過在FPGA開發(fā)平臺上,使用QuartusⅡ9.0對系統進行硬件語言編程。本系統主要由SAA7113H解碼芯片初始化模塊、SAA7121編碼芯片初始化模塊、FPGA視頻圖像采集與顯示模塊組成。
2.1 SAA7113H初始化模塊
SAA7113H的初始化模塊主要分為I2C控制核模塊,I2C命令模塊,ROM模塊。I2C控制核心模塊完成數據的并/串轉換以及將命令轉換位為I2C總線的SCL/SDA信號線的啟動、停止、寫、應答等具體操作的時序關系;I2C命令模塊則是通過狀態(tài)機(FSM)的方式進行I2C接口間狀態(tài)的轉換以及從ROM模塊中將配置好的數據輸出給I2C控制核模塊,ROM模塊存儲的是配置好的SAA7113H的數據。當啟動I2C開始配置時,從ROM中讀取配置的內容送出即可。
2.2 SAA7121初始化模塊
SAA7121編碼芯片的初始化和SAA7113H有些類似,都是通過I2C總線來控制芯片內部寄存器實現初始化的目的。SAA7113H解碼芯片中的I2C控制模塊分為核心模塊和命令模塊,而SAA7121編碼芯片則只包含一個I2C模塊。
在SAA7121的寄存器配置模塊中,首先,上電復位,確保SDA,SCL為高電平,隨后將SDA從高電平拉到低電平,發(fā)出I2C總線起始信號,開始I2C總線操作。接著向I2C總線寫芯片的從地址,SAA7121芯片地址也與輸入引腳SA電平及讀寫操作有關。SAA7121芯片的輸入引腳SA是接地的,因此芯片地址為SA低電平時的地址。在寫入芯片地址后,再讀應答,并確認有應答時,再寫寄存器的子地址。同樣在確認有應答時,再寫入寄存器數據通過循環(huán)將要配置寄存器的所有數據依次寫入到I2C總線上。最后,在全部數據寫完后,發(fā)出I2C總線中止信號。
2.3 FPGA圖像采集與顯示模塊
系統中最核心的地方就是圖像的采集與顯示,包括FPGA采集與存儲模塊,FPGA顯示模塊兩塊內容。視頻圖像采集模塊的主要作用是接收來自CCD攝像頭的模擬信號,經視頻輸入處理芯片SAA7113H,輸出ITU656 4:2:2格式的數字圖像。完成視頻信號從模擬信號到數字信號的轉換,最終提供后端可以處理的數字視頻數據,存儲到SDRAM中。
3 功能實現與測試
系統連接圖如圖4所示。通過對系統進行編程,完成系統的軟件設計,按照FPGA的設計流程完整的測試了系統的可行性,包括:系統的輸入輸出環(huán)路測試(能否實時的顯示圖像),系統的按鍵調控亮度測試(解碼芯片功能)。測試圖如圖5所示。
4 結語
結合國內實時圖像采集處理系統的現狀,本設計在硬件上采用FPGA作為核心運算器來實現圖像的采集、存儲和顯示;在硬件實現上使用FPGA硬件描述語言Verilog對系統各個功能模塊進行設計。采用FPGA可編程邏輯設計技術實現視頻圖像采集與顯示系統不僅擁有極大的靈活性,可編程性,而且也加快了圖像采集與顯示的速度。由于本文設計的系統中未涉及到復雜的算法,而是用專用的編碼芯片代替了,所以在本文中,圖像的算法未能加入到系統中。下一步的工作就是學習將高端FPGA芯片運用到圖像處理技術當中去,結合網絡技術,研究更新的視頻圖像采集與顯示技術。
fpga相關文章:fpga是什么
晶振相關文章:晶振原理 數字濾波器相關文章:數字濾波器原理
評論