基于CPLD和接觸式圖像傳感器的圖像采集系統(tǒng)
接觸式圖像傳感器cis(contact image sensor)是繼ccd之后于20世紀(jì)90年代研究和開發(fā)的一種新型光電耦合器件[1]。它將光電傳感陣列、led光源陣列、柱狀透鏡陣列、移位寄存器和模擬開關(guān)等集成在一個條狀方形盒內(nèi),其工作原理與ccd較為相似,但與ccd相比,cis具有體積小、價格低、結(jié)構(gòu)簡單、安裝方便等優(yōu)點(diǎn),目前在傳真機(jī)、掃描儀及條碼解碼器等領(lǐng)域可完全取代ccd圖像傳感器。
本文介紹一種基于復(fù)雜可編程邏輯器件cpld(complex programmable logic device)使用接觸式圖像傳感器實(shí)現(xiàn)的圖像采集系統(tǒng)。
1 系統(tǒng)概述
圖像采集模塊的框圖如圖1所示,cis圖像傳感器在cpl的控制下,將每一個像素的灰度值以模擬電壓值的形式通過串行移位方式傳輸出來,某個像素的電信號再經(jīng)過差動放大器電路進(jìn)行信號調(diào)理后,由a/d轉(zhuǎn)換器將模擬電壓轉(zhuǎn)換數(shù)字量,通過總線的切換實(shí)現(xiàn)雙存儲區(qū)輪換工作,然后在cpld的控制下,將轉(zhuǎn)換后的數(shù)字信號暫存在存儲器ram中。
cpld是系統(tǒng)的核心部件,主要完成cis圖像傳感器的時序驅(qū)動、a/d轉(zhuǎn)換器的控制、總線切換的控制、地址的產(chǎn)生,數(shù)據(jù)的存儲以及與dsp處理器的協(xié)調(diào)。
總線切換是采集的關(guān)鍵部分,實(shí)現(xiàn)了圖像數(shù)據(jù)存儲的兩幀輪換結(jié)構(gòu)[2]。當(dāng)cpld向存儲器ram1寫一幀圖像時,dsp向存儲器ram2讀取另一幀圖像,當(dāng)存儲器ram1寫滿且存儲器ram2讀完時,由cpld控制讀寫總線相互切換,由cpld繼續(xù)向存儲器ram2寫下一幀圖像,dsp向存儲器ram1讀取前一幀圖像,采用這種兩幀輪換的設(shè)計(jì)方法使得采集和處理可以同時進(jìn)行,提高了數(shù)據(jù)采集和處理的效率。
2 硬件構(gòu)成
2.1 cis接觸式圖像傳感器
在本文的應(yīng)用中,接觸式圖像傳感器的有效掃描寬度為216mm。其光電檢測單元及柱狀透鏡分別對應(yīng)的排成線陣,共有1728個傳感單元、能夠以紅、綠及紅外三種光源對圖像進(jìn)行掃描,時鐘頻率為4m赫茲,型號為c2r2166289。
2.2 a/d轉(zhuǎn)換器
tlc5510是美國ti公司生產(chǎn)的高速模數(shù)轉(zhuǎn)換器件[3],它是一種采用cmos工藝制造的8位高阻抗并行a/d芯片,最大采樣可達(dá)20msps。由于tlc5510不僅具有高速的a/d轉(zhuǎn)換功能,而且?guī)в袃?nèi)部采樣保持電路,因此大大簡化了外圍電路的設(shè)計(jì),由于其內(nèi)部帶有標(biāo)準(zhǔn)分壓電阻,從而可以從+5v的供電電源中獲得2v滿刻度的基準(zhǔn)電壓。
2.3 cpld及dsp處理器
cpld芯片選用altera公司的max7000s系列器件epm7128slc84,此芯片可以通過jtag在線編程,由128個邏輯宏單元和2500個可用邏輯門。在max+plusⅱ軟件中,使用高級硬件描述語言編程將設(shè)計(jì)好的硬件邏輯下載到芯片中,使得對硬件的設(shè)計(jì)如同軟件設(shè)計(jì)一樣方便快捷。
緩沖存儲器由2片is61c1024芯片構(gòu)成,is61c1024是8位128kb的高速cmos靜態(tài)ram,最小存儲時間為12ns,能夠滿足高速數(shù)據(jù)讀寫的要求,同時也適合大容量圖像數(shù)據(jù)的暫存。
dsp芯片采用ti公司的tms320c5402芯片,采用改進(jìn)的哈佛結(jié)構(gòu),具有低功耗、高速實(shí)時信號處理的特點(diǎn)。
3 cpld硬件邏輯功能的設(shè)計(jì)
cpld是圖像采集的核心部分,它直接控制cis圖像傳感器和a/d轉(zhuǎn)換器,完成數(shù)字圖像數(shù)據(jù)采集、轉(zhuǎn)換和存儲,以及與dsp處理器的握手協(xié)調(diào)。
cpld模塊總體功能的設(shè)計(jì)原理如圖2所示,cpld產(chǎn)生cis圖像傳感器的時鐘信號clk(4m赫茲),選通信號輸入si,紅色光源選通ledr,綠色光源選通信號ledg,紅外光源選通ledir。當(dāng)cpld控制這幾個信號產(chǎn)生相應(yīng)時序時,cis傳感器通過模擬信號輸出引腳sig向a/d轉(zhuǎn)換器串行移位輸出對應(yīng)像素的灰度。
cpld控制a/d轉(zhuǎn)換器的輸出選通oe信號,使a/d轉(zhuǎn)換器可以輸出轉(zhuǎn)換后的數(shù)據(jù),同時,cpld產(chǎn)生數(shù)據(jù)的存儲地址ad[0..16]和寫信號wr,將a/d轉(zhuǎn)換器的數(shù)字圖像數(shù)據(jù)存儲在相應(yīng)的存儲區(qū)中。
總線切換與雙存儲區(qū)模塊實(shí)現(xiàn)了兩個數(shù)據(jù)存儲區(qū)的輪換工作,其原理圖如圖3所示,cpld通過控制存儲選擇信號e來實(shí)現(xiàn)雙存儲區(qū)的輪換工作,在上電初始時,選擇信號e為高電平,存儲區(qū)ram1為寫狀態(tài),同時ram2受dsp處理器的控制,改變e的狀態(tài),實(shí)現(xiàn)總線的切換。
en、next和ready是dsp與cpld之間的握手信號,en為cpld工作的使能信號,當(dāng)en為低電平時cpld才開始工作。此時,若dsp處理器next端上產(chǎn)生一個脈沖信號,cpld控制cis圖像傳感器采集一行(1728個像素)圖像,同時,ready置0,表示正在采集,當(dāng)一行圖像采集完成時,ready信號恢復(fù)為高電平,當(dāng)en恢復(fù)為高電平時,cpld停止工作,并將選擇信號e取反來實(shí)現(xiàn)總線切換,將當(dāng)前存儲器由cpld寫狀態(tài)切換為dsp讀狀態(tài),實(shí)現(xiàn)雙存儲區(qū)的輪換工作。
4 總線切換的實(shí)現(xiàn)
在本文的應(yīng)用中,要求高速實(shí)時的進(jìn)行圖像的采集和處理,要求40ms以內(nèi)就要處理一幀圖像,如果采集與存儲圖像數(shù)據(jù)占用了太多的時間,則后面的圖像處理就無法完成了,為了盡可能縮短采集和存儲的時間,在系統(tǒng)中采用了兩組存儲器進(jìn)行輪換存儲。
在系統(tǒng)中,采用總線切換的方式達(dá)到兩存儲器交替讀寫的功能,當(dāng)cpld將a/d轉(zhuǎn)換器輸出的圖像數(shù)據(jù)寫入ram1時,dsp可以讀取ram2中的數(shù)據(jù)并處理前一幀圖像的數(shù)據(jù),當(dāng)cpld寫完一幀圖像數(shù)據(jù),并且dsp完成前一幀圖像的處理后,改為cpld向ram2寫數(shù)據(jù),dsp和cpld交換一次存儲器,如此循環(huán),使得dsp的圖像處理和cis的圖像采集可以并行獨(dú)立工作,保證了圖像的實(shí)時和和高速性。
圖3中,ram1和ram2為2片is61c1024,構(gòu)成雙數(shù)據(jù)緩沖存儲區(qū),m1-m4分別是由74hc16245所構(gòu)成的,實(shí)現(xiàn)地址總線切換控制,n1-n4是由74hc245所實(shí)現(xiàn)的數(shù)據(jù)總線切換控制,c1和c2實(shí)現(xiàn)了存儲器控制線(rd讀信號、wr寫信號等)的切換控制,當(dāng)選擇線e為高電平時,m1、m4、n1、n3及c1處于工作狀態(tài),而m2、m3、n2、n4及c2處于高阻狀態(tài)。因此ram1的數(shù)據(jù)總線、地址總線及控制總線只有總線與cpld相連接,ram2的全部總線與dsp相連接。從而實(shí)現(xiàn)由cpld向ram1寫數(shù)據(jù),dsp從ram2讀數(shù)據(jù),當(dāng)選擇線e為低電平時,則情況相反,dsp從ram1讀數(shù)據(jù),cpld向ram2寫數(shù)據(jù)。
結(jié)語
本文依靠接觸式圖像傳感器,采用cpld與dsp相結(jié)合設(shè)計(jì)實(shí)現(xiàn)了適用于實(shí)時高速圖像處理的圖像采集系統(tǒng)。在系統(tǒng)中,采用兩幀輪換存儲的方式,消除了dsp的等待時間,使采集系統(tǒng)和處理系統(tǒng)可以并行獨(dú)立工作,采用復(fù)雜可編程邏輯器件,使系統(tǒng)集成度高,通用性強(qiáng),接口簡單,并且可以重復(fù)編程和系統(tǒng)升級,為實(shí)現(xiàn)一個高速實(shí)時的圖像處理系統(tǒng)提供了基礎(chǔ)。
評論