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