基于FPGA和USB 2.0的數(shù)字圖像采集系統(tǒng)設(shè)計(jì)
摘要:隨著技術(shù)的發(fā)展,工業(yè)檢測(cè)技術(shù)受到人們的重視,其中圖像檢測(cè)由于其具有直觀,方便,信息量較全面而使得它在工業(yè)檢測(cè)方面具有重要的應(yīng)用。以FPGA作為控制核心,設(shè)計(jì)了一個(gè)小型圖像采集系統(tǒng)。通過(guò)FPGA實(shí)現(xiàn)CMOS圖像傳感器的初始化、圖像數(shù)據(jù)采集、存儲(chǔ)、USB接口芯片的控制;使用USB 2.0接口實(shí)現(xiàn)圖像數(shù)據(jù)傳輸;使用VC++編寫(xiě)上位機(jī)程序?qū)D像進(jìn)行實(shí)時(shí)顯示。經(jīng)過(guò)測(cè)試,整個(gè)系統(tǒng)能夠穩(wěn)定工作,滿足設(shè)計(jì)目標(biāo)。
關(guān)鍵詞:FPGA;CMOS圖像傳感器;USB 2.0;SCCB
0 引言
在當(dāng)今信息化的時(shí)代,在機(jī)器獲取現(xiàn)實(shí)世界信息方面,圖像由于具有信息面全、直觀、方便直接的特點(diǎn)而受到廣泛的研究。圖像采集與處理系統(tǒng)在工業(yè)檢測(cè)、智能控制、醫(yī)學(xué)成像、安全監(jiān)控、航空航天等方面得到了廣泛的應(yīng)用。人們?cè)趫D像獲取渠道上不斷的提升圖像傳感器的性能,改進(jìn)圖像獲取的硬件組件與系統(tǒng)結(jié)構(gòu);同時(shí)在圖像的處理上提出一系列的新型或是改進(jìn)的處理技術(shù)來(lái)改進(jìn)圖像的處理質(zhì)量與處理速度,以便能夠滿足當(dāng)前應(yīng)用對(duì)圖像質(zhì)量、實(shí)時(shí)性能、精準(zhǔn)控制等方面的要求。
現(xiàn)有的圖像傳感器芯片有CCD和CMOS兩種類(lèi)型。CCD圖像傳感器具有良好的性能,但其外部電路復(fù)雜,不適合于低成本系統(tǒng);而隨著CMOS集成電路工藝技術(shù)的發(fā)展,CMOS圖像傳感器得到了快速的發(fā)展,與CCD相比,它具有制造工藝成熟、易集成、低成本、低功耗、體積小以及使用簡(jiǎn)單等優(yōu)點(diǎn)。隨著集成電路工藝技術(shù)的提高,CMOS圖像傳感器在分辨率、噪聲等方面都有顯著的改善,使得它在越來(lái)越多的領(lǐng)域上得到應(yīng)用,它適用于低功耗的小型圖像采集系統(tǒng)。
目前大量的圖像采集系統(tǒng)采用CPLD或者單片機(jī)作為圖像采集的時(shí)序控制接口,如文獻(xiàn),或者是用DSP作為圖像處理的主處理器,如文獻(xiàn)。這二者在各自的方面都有各自的優(yōu)勢(shì),但它們的專(zhuān)用性太強(qiáng),CPLD與單片機(jī)在時(shí)序控制方面有優(yōu)勢(shì)而圖像處理能力弱,DSP則是圖像處理能力強(qiáng)而時(shí)序控制能力差。FPGA是介于專(zhuān)用集成電路與原有的可編程邏輯器件之間的一種半定制電路器件。它具有豐富的I/O接口、低功耗、兼容CMOS和TTL電平、可重復(fù)擦寫(xiě),易于在線調(diào)試等優(yōu)點(diǎn),可以使系統(tǒng)開(kāi)發(fā)具有周期短,風(fēng)險(xiǎn)小,費(fèi)用低的優(yōu)點(diǎn)。它的時(shí)序控制能力強(qiáng),在并行處理的算法方面具有較大優(yōu)勢(shì),具有較強(qiáng)的圖像處理能力,同時(shí)在嵌入式系統(tǒng)方面的應(yīng)用也具有較好的前景。
USB總線接口技術(shù)是一種PC與外圍設(shè)備進(jìn)行高速通信的接口,它具有可以即插即用、連接方便簡(jiǎn)單、易于擴(kuò)展外圍設(shè)備以及高速傳輸?shù)葍?yōu)點(diǎn),適用于有大量數(shù)據(jù)傳輸?shù)膱?chǎng)合,滿足圖像傳輸數(shù)據(jù)量大的特點(diǎn),同時(shí)作為一種通用串行總線,它的使用使得系統(tǒng)能夠被移植到更多的應(yīng)用場(chǎng)合當(dāng)中。
1 系統(tǒng)硬件組成
系統(tǒng)硬件的整體結(jié)構(gòu)如圖1所示,它包括有搭載有OV7620圖像傳感器的C3188模組、FPGA、SRAM存儲(chǔ)器、USB 2.0接口芯片、以及PC端上位機(jī)幾部分組成。
在系統(tǒng)上電時(shí),由FPGA通過(guò)模擬SCCB總線,完成對(duì)圖像傳感器的初始化工作;在完成初始化工作以后,F(xiàn)PGA開(kāi)始在OV7620產(chǎn)生的時(shí)序信號(hào)控制下進(jìn)行圖像數(shù)據(jù)的采集,并將之存儲(chǔ)在SRAM當(dāng)中;當(dāng)存滿一幀的圖像后,在FPGA的控制下,圖像數(shù)據(jù)由SRAM通過(guò)CY7C68013A傳送到PC端,USB芯片被設(shè)置在從模式的工作狀態(tài)下;上位機(jī)程序接收來(lái)自USB芯片的數(shù)據(jù)并將之實(shí)時(shí)的顯示,完成圖像數(shù)據(jù)的采集與傳輸。
2 OV7620的性能參數(shù)及初始化
OV7620是CMOS彩色/黑白圖像傳感器。它支持連續(xù)和隔行兩種掃描方式,VGA與QVGA兩種圖像格式;最高像素為664×492,幀速率為30 f/s;數(shù)據(jù)格式包括YUV,YCrCb,RGB三種,能夠滿足一般圖像采集系統(tǒng)的要求。OV7620具有豐富的編程功能,應(yīng)用開(kāi)發(fā)者可以通過(guò)SCCB控制總線來(lái)對(duì)芯片相關(guān)參數(shù)進(jìn)行設(shè)置,以達(dá)到控制輸出圖像大小、增益、顏色、爆光時(shí)間、輸出格式等,以使所獲得的圖像滿足應(yīng)用的需要。
SCCB接口是采用一種簡(jiǎn)單、雙向二線制的同步串行總線。它是簡(jiǎn)化的I2C協(xié)議,其中SIO-1是串行時(shí)鐘輸入線,SIO-O是串行雙向數(shù)據(jù)線,分別相當(dāng)于I2C協(xié)議的SCL和SDA。圖中其中的SDA,SCL兩根線由于是開(kāi)漏輸出,因此需要有上拉電阻,在本系統(tǒng)中接1 kΩ的上拉電阻。SCCB的總線時(shí)序與I2C基本相同,它的響應(yīng)信號(hào)ACK被稱(chēng)為一個(gè)傳輸單元的第9位,分為Don’t care和NA。Don’t care位由從機(jī)產(chǎn)生;NA位由主機(jī)產(chǎn)生,由于SCCB不支持多字節(jié)的讀寫(xiě),NA位必須為高電平。另外,SCCB沒(méi)有重復(fù)起始的概念,因此在SCCB的讀周期中,當(dāng)主機(jī)發(fā)送完片內(nèi)寄存器地址后,必須發(fā)送總線停止條件。不然在發(fā)送讀命令時(shí),從機(jī)將不能產(chǎn)生Don’t care響應(yīng)信號(hào),其二線制的控制時(shí)序與I2C相仿,如圖2所示。
在FPGA當(dāng)中,采用普通IO口模擬SCCB的時(shí)序,由于本系統(tǒng)只需要在上電時(shí)對(duì)圖像傳感器進(jìn)行初始化的參數(shù)設(shè)置,而SCCB的寫(xiě)時(shí)序與I2C的寫(xiě)時(shí)序完全兼容,因此,在程序中只需要模擬I2C的單字節(jié)寫(xiě)過(guò)程。C3188模組與FPGA的連接關(guān)系圖如圖3所示。
評(píng)論