基于CPLD和接觸式圖像傳感器的圖像采集系統
接觸式圖像傳感器cis(contact image sensor)是繼ccd之后于20世紀90年代研究和開發的一種新型光電耦合器件[1]。它將光電傳感陣列、led光源陣列、柱狀透鏡陣列、移位寄存器和模擬開關等集成在一個條狀方形盒內,其工作原理與ccd較為相似,但與ccd相比,cis具有體積小、價格低、結構簡單、安裝方便等優點,目前在傳真機、掃描儀及條碼解碼器等領域可完全取代ccd圖像傳感器。
本文介紹一種基于復雜可編程邏輯器件cpld(complex programmable logic device)使用接觸式圖像傳感器實現的圖像采集系統。
1 系統概述
圖像采集模塊的框圖如圖1所示,cis圖像傳感器在cpl的控制下,將每一個像素的灰度值以模擬電壓值的形式通過串行移位方式傳輸出來,某個像素的電信號再經過差動放大器電路進行信號調理后,由a/d轉換器將模擬電壓轉換數字量,通過總線的切換實現雙存儲區輪換工作,然后在cpld的控制下,將轉換后的數字信號暫存在存儲器ram中。

cpld是系統的核心部件,主要完成cis圖像傳感器的時序驅動、a/d轉換器的控制、總線切換的控制、地址的產生,數據的存儲以及與dsp處理器的協調。
總線切換是采集的關鍵部分,實現了圖像數據存儲的兩幀輪換結構[2]。當cpld向存儲器ram1寫一幀圖像時,dsp向存儲器ram2讀取另一幀圖像,當存儲器ram1寫滿且存儲器ram2讀完時,由cpld控制讀寫總線相互切換,由cpld繼續向存儲器ram2寫下一幀圖像,dsp向存儲器ram1讀取前一幀圖像,采用這種兩幀輪換的設計方法使得采集和處理可以同時進行,提高了數據采集和處理的效率。
2 硬件構成
2.1 cis接觸式圖像傳感器
在本文的應用中,接觸式圖像傳感器的有效掃描寬度為216mm。其光電檢測單元及柱狀透鏡分別對應的排成線陣,共有1728個傳感單元、能夠以紅、綠及紅外三種光源對圖像進行掃描,時鐘頻率為4m赫茲,型號為c2r2166289。
2.2 a/d轉換器
tlc5510是美國ti公司生產的高速模數轉換器件[3],它是一種采用cmos工藝制造的8位高阻抗并行a/d芯片,最大采樣可達20msps。由于tlc5510不僅具有高速的a/d轉換功能,而且帶有內部采樣保持電路,因此大大簡化了外圍電路的設計,由于其內部帶有標準分壓電阻,從而可以從+5v的供電電源中獲得2v滿刻度的基準電壓。
2.3 cpld及dsp處理器
cpld芯片選用altera公司的max7000s系列器件epm7128slc84,此芯片可以通過jtag在線編程,由128個邏輯宏單元和2500個可用邏輯門。在max+plusⅱ軟件中,使用高級硬件描述語言編程將設計好的硬件邏輯下載到芯片中,使得對硬件的設計如同軟件設計一樣方便快捷。
緩沖存儲器由2片is61c1024芯片構成,is61c1024是8位128kb的高速cmos靜態ram,最小存儲時間為12ns,能夠滿足高速數據讀寫的要求,同時也適合大容量圖像數據的暫存。
dsp芯片采用ti公司的tms320c5402芯片,采用改進的哈佛結構,具有低功耗、高速實時信號處理的特點。
3 cpld硬件邏輯功能的設計
cpld是圖像采集的核心部分,它直接控制cis圖像傳感器和a/d轉換器,完成數字圖像數據采集、轉換和存儲,以及與dsp處理器的握手協調。
cpld模塊總體功能的設計原理如圖2所示,cpld產生cis圖像傳感器的時鐘信號clk(4m赫茲),選通信號輸入si,紅色光源選通ledr,綠色光源選通信號ledg,紅外光源選通ledir。當cpld控制這幾個信號產生相應時序時,cis傳感器通過模擬信號輸出引腳sig向a/d轉換器串行移位輸出對應像素的灰度。


cpld控制a/d轉換器的輸出選通oe信號,使a/d轉換器可以輸出轉換后的數據,同時,cpld產生數據的存儲地址ad[0..16]和寫信號wr,將a/d轉換器的數字圖像數據存儲在相應的存儲區中。
總線切換與雙存儲區模塊實現了兩個數據存儲區的輪換工作,其原理圖如圖3所示,cpld通過控制存儲選擇信號e來實現雙存儲區的輪換工作,在上電初始時,選擇信號e為高電平,存儲區ram1為寫狀態,同時ram2受dsp處理器的控制,改變e的狀態,實現總線的切換。
en、next和ready是dsp與cpld之間的握手信號,en為cpld工作的使能信號,當en為低電平時cpld才開始工作。此時,若dsp處理器next端上產生一個脈沖信號,cpld控制cis圖像傳感器采集一行(1728個像素)圖像,同時,ready置0,表示正在采集,當一行圖像采集完成時,ready信號恢復為高電平,當en恢復為高電平時,cpld停止工作,并將選擇信號e取反來實現總線切換,將當前存儲器由cpld寫狀態切換為dsp讀狀態,實現雙存儲區的輪換工作。
4 總線切換的實現
在本文的應用中,要求高速實時的進行圖像的采集和處理,要求40ms以內就要處理一幀圖像,如果采集與存儲圖像數據占用了太多的時間,則后面的圖像處理就無法完成了,為了盡可能縮短采集和存儲的時間,在系統中采用了兩組存儲器進行輪換存儲。
在系統中,采用總線切換的方式達到兩存儲器交替讀寫的功能,當cpld將a/d轉換器輸出的圖像數據寫入ram1時,dsp可以讀取ram2中的數據并處理前一幀圖像的數據,當cpld寫完一幀圖像數據,并且dsp完成前一幀圖像的處理后,改為cpld向ram2寫數據,dsp和cpld交換一次存儲器,如此循環,使得dsp的圖像處理和cis的圖像采集可以并行獨立工作,保證了圖像的實時和和高速性。
圖3中,ram1和ram2為2片is61c1024,構成雙數據緩沖存儲區,m1-m4分別是由74hc16245所構成的,實現地址總線切換控制,n1-n4是由74hc245所實現的數據總線切換控制,c1和c2實現了存儲器控制線(rd讀信號、wr寫信號等)的切換控制,當選擇線e為高電平時,m1、m4、n1、n3及c1處于工作狀態,而m2、m3、n2、n4及c2處于高阻狀態。因此ram1的數據總線、地址總線及控制總線只有總線與cpld相連接,ram2的全部總線與dsp相連接。從而實現由cpld向ram1寫數據,dsp從ram2讀數據,當選擇線e為低電平時,則情況相反,dsp從ram1讀數據,cpld向ram2寫數據。
結語
本文依靠接觸式圖像傳感器,采用cpld與dsp相結合設計實現了適用于實時高速圖像處理的圖像采集系統。在系統中,采用兩幀輪換存儲的方式,消除了dsp的等待時間,使采集系統和處理系統可以并行獨立工作,采用復雜可編程邏輯器件,使系統集成度高,通用性強,接口簡單,并且可以重復編程和系統升級,為實現一個高速實時的圖像處理系統提供了基礎。
評論