作者:賀科學
1 引言
接觸式圖像傳感器(Contact image sensor,簡稱 CIS)是由一排與掃描原稿寬度相同的光電傳感陣列、 LED光源陣列和柱狀透鏡陣列等部件組成一種新興圖像傳感器。這些部件全部集成在一個條狀方形盒內,不需要另外的光學附件,沒有調整光路和景深等問題,具有結構簡單、體積小、應用方便等優(yōu)點。在一些應用場合 CIS傳感器比 CCD或 COMS等傳感器有無法比擬的優(yōu)點。在傳真機、掃描儀、紙幣清分兌零等領域應用非常廣泛。
在本文中采用復雜可編程邏輯器件( CPLD)設計一個新型的 CIS傳感器控制器,實現了接觸式圖像傳感器的控制和圖像數據的采集。
2 硬件設計
2.1系統(tǒng)總體方案
根據 CIS傳感器的工作原理,其輸出信號是串行輸出的電壓信號。因此,本文中的圖像處理系統(tǒng)包括微處理器、CPLD模塊、CIS傳感器接口、信號差分放大電路、圖像信號的 A/D轉換、雙緩沖存儲器接口等部分,從而實現圖像的采集與處理。系統(tǒng)框圖如圖 1所示,
由于 CIS傳感器的工作速度高,如果直接由微處理器(MPU)產生 CIS傳感器的控制時序信號,則非常消耗微處理器的時間和資源。因此,本驅動電路以 CPLD為控制核心,微處理器不直接控制 CIS傳感器。微處理器只需要控制 CPLD的頁使能信號( P_EN)和線使 能信號(L_EN)兩個信號線。CPLD就能夠自動完成 CIS控制時序的產生、A/D轉換器控制時序的產生、數據的暫存和乒乓存儲的總線切換等功能。這種采用 CPLD獨立完成圖像采集和數據存儲,減少了微處理器對底層器件的控制,提高了微處理器在圖像處理中的效率。
2.2 CIS控制模塊與微處理器的接口設計
在圖 1所示的圖像處理系統(tǒng)中, CPLD主要完成兩個任務:一是完成底層器件的控制,二是實現與微處理器 MPU的外圍接口。圖 1中,外圍接口總線分為圖像采集的控制線和緩沖存儲器的讀寫總線兩類。圖像采集的控制線包括頁使能信號和線使能信號兩個信號。緩沖存儲器的讀寫總線包括 8位數據線 D[0..7]、17位地址線 A[0..16]、讀信號線 RD、寫信號線 WR和選通信號線 CS。MPU通過 CPLD實現對 IS61C1024型緩沖存儲器的讀寫。
2.3 CIS圖像傳感器的接口電路設計本文以FW2R216型CIS傳感器為例,采用 EPM7128QC160型CPLD實現圖像采集的控制。
(1)CIS圖像信號的放大
CIS輸出的圖像信號幅值比較小,通常只有幾百毫伏,而且是疊加在一個暗電流的直流信號上。因此要對信號進行放大和零點校正。采用運算放大器 LM7131構成差分放大電路實現信號的調整,如圖 2所示。圖中,電阻 R1=R2,R3=R4,因此可以得到:
Vout=(Vsig-Vref)·R3/R1+V1
V1=Vref·R5/(R5+R6)
其中,Vref是為了去掉 CIS圖像信號的暗電流分量,由基準穩(wěn)壓電源 LM285提供 1.25V
的基準電壓。V1電壓是為了零點校正,由電阻 R5和 R6對 Vref分壓后經電壓跟隨器獲得。
(3)A/D轉換器的電路設計
由于灰度圖像的灰階通常為 256級,因此選用 8位的高速并行模數轉換器 TLC5540,它的最高工作頻率高達 40MHz,依靠 5V單電源工作,而且內部帶有基準電路構成分壓電路獲得參考電壓[1]。+5V
TLC5540在其時鐘信號的下降沿對輸入模擬信號進行保持和采樣,在 2.5個時鐘周期后將轉換的數據輸出到內部總線上。當 TLC5540讀選通信號 OE有效時,數據輸出到外圍管
腳上。 TLC5540的接口電路如圖 3所示。
TLC5540 的參考電壓由精密基準電壓源 TL431、電阻 R6和 R7構成的電路提供。 TLC5540的 CLK管腳和 OE管腳由 CPLD直接控制,分別為 AD_EN和 AD_CLK。當 CPLD產生的 AD_EN為下降沿時,CPLD使能 TLC5540的 OE腳將數據 AD[0..7]讀取到 CPLD的內部寄存器中,實現信號由模擬到數字的轉換過程。 3 軟件設計
3.1 CPLD的邏輯功能模塊設計
CPLD是 CIS控制模塊的核心部件。根據 CPLD需要完成的任務,將 CPLD的邏輯功能劃分為不同的模塊,包括時序控制模塊、 A/D數據讀取模塊、數據暫存地址發(fā)生器、乒乓存儲的總線切換和 MPU接口模塊等。CPLD邏輯功能的模塊如圖 4所示。
3.2時序控制模塊
時序控制模塊是 CPLD在外部時鐘信號 CLK控制下,根據 MPU提供的 P_EN與 L_EN信號,產生 CIS的控制時序、A/D轉換器的控制時序、數據暫存的讀寫信號。
(1)CIS傳感器和 AD轉換器的控制時序產生
根據 CIS傳感器的控制時序特性, CPLD為 CIS傳感器提供時鐘信號 CIS_CLK、選通信號 CIS_SI和光源控制信號 CIS_LED等。當微處理器將 P_EN置為高電平時,CPLD處于初始化狀態(tài)。當 P_EN為低電平后,CPLD處于準備階段。此時,一旦微處理器給 L_EN管腳上產生一個脈沖信號,CPLD就隨后自動產生 CIS_SI信號啟動 CIS,同時 CPLD的內部計數器對外部 CLK進行計數。在根據計數值 CPLD產生 AD轉換器的控制信號。這一時序電路的硬件描述如下,其中 CNT是一個 0到 647的計數器。
if P_EN =1 then
CNT<=0; AD_EN<=1; CIS_SI<=0;
elsif (CLK event and CLK =1) then
if L_EN =1 then CNT<=1;
elsif CNT=647 or CNT=0 then CNT<=0;
else CNT<=CNT+1; end if;
if CNT=2 then CIS_SI <=1;
else CIS_SI <=0;end if;
if CNT>=64 and CNT<=640 then AD_EN<=0;
else AD_EN<=1; end if; end if;
3.3 A/D數據讀取模塊
A/D數據讀取模塊將模數轉換器的輸出數據暫存在 CPLD內部寄存器中。在 A/D轉換器的讀使能信號有效,即 AD_EN為 0時, CPLD為 ADC產生時鐘 AD_CLK。CPLD在 AD_CLK的下降沿將 ADC的轉換結果暫存在寄存器 D1中,其硬件的描述如下。
if AD_CLKEVENT and AD_CLK =0 then D1(7 downto 0)<=AD(7 downto 0); end if;
3.4數據暫存的地址發(fā)生器
CIS傳感器是按照一個個像素逐次串行輸出。因此必須將圖像數據按照地址逐次增一的格式存儲在存儲器 IS61C1024中。其寫信號 A1_WR是由 A/D轉換器的讀使能信號 AD_EN和外部時鐘 CLK進行邏輯與得到的,其硬件描述如下。
A1_WR<=AD_EN and CLK;
存儲地址的產生是由一個 17位計數器 A1完成,當 P_EN=1時表示圖像采集沒有開始,地址計數器 A1初始化為0。當 P_EN=0時,在寫信號 A1_WR的上升沿地址增 1,為下一個數據的存儲提供地址。這一過程的硬件描述如下。
If P_EN =1 then A1<=(others=>0); elsif A1_WRevent and A1_WR =1 then A1<=A1+1; end if;
3.5乒乓存儲功能的總線切換
為了提高系統(tǒng)的效率,當 CPLD在采集數據時,微處理器同時完成前幅圖像數據的處理,因此在系統(tǒng)中采用雙緩沖存儲區(qū)[2]。當 CPLD向 RAM1寫數據時,緩沖區(qū) RAM2的總線控制權交給微處理器。當微處理器完成 RAM2中數據的處理且 CPLD完成當前幅圖像的采集后,總線進行切換,使 CPLD將下一幅圖像的數據寫入 RAM2,此時 RAM1的總線控制權切換給微處理器??偩€切換由 P_EN的上升沿觸發(fā) EXCH信號取反。下面的程序是 EXCH信號在不同情況下,各總線工作狀態(tài)的硬件描述。雙向數據總線的 VHDL硬件描述如下。
D<=R1D when EXCH=0 and RD=0 else
R2D when EXCH=1 and RD=0 else
"ZZZZZZZZ";
R1D<=D when EXCH=0 and WR=0 else
D1 when EXCH=1 and A1_WR=0 else
"ZZZZZZZZ";
R2D<=D1 when EXCH=0 and A1_WR=0else
D when EXCH=1 and WR= 0 else
"ZZZZZZZZ";
地址總線和控制總線切換過程的硬件描述如下。
if EXCH =0 then
R1A<=A;R1_WR<=WR;R1_RD<=RD;
R1_CE<=CS;R2A<=A1;R2_WR<=A1_WR;
R2_RD<=1;R2_CE<=0;
else
R1A<= A1;R1_WR<= A1_WR; R1_RD<=1;
R1_CE<=0; R2A<= A;R2_WR<= WR;
R2_RD<=RD; R2_CE<= CS;
end if;
4 結論圖 5給出了在 Quartus II 6.0中采用 EPM7128QC160型 CPLD對上述方案的仿真時序波形圖,仿真結果與設計思想完全吻合。此驅動電路已在紙幣清分設備中得到較好的應用。
本文作者創(chuàng)新點:以 CPLD為核心實現 CIS傳感器時序驅動、A/D轉換器控制、雙緩沖區(qū)的乒乓總線切換以及微處理器接口等功能;微處理器不直接控制底層器件,提高了微處理器的效率;采用雙緩沖區(qū)的乒乓工作方式,圖像采集和圖像處理實現并行工作,提高了圖像處理系統(tǒng)的性能。
參考文獻
[1]俞宗佐.基于 FPGA的高速 A/D轉換控制模塊的設計[J].內蒙古大學學報, 2006,7:455-457.
[2]溫淑鴻.基于雙處理器圖像采集與處理的同步 [J].微計算機信息,2005,5-1:71-72.