秦 剛,李 韓
(西安工業(yè)大學電子信息工程學院,陜西西安 710021)
線陣CCD(charge coupled devices)電荷耦合器件是圖像傳感器的一種,該器件可將光學信號直接轉換為模擬的電流信號,轉換之后的模擬電流信號經過放大和模數轉換,可實現(xiàn)圖像的采集、存儲、傳輸、處理和顯示。線陣CCD具有體積小、功耗低、靈敏度高、響應速度快、像素集成度高、成本低等特點,其光效率可達到70%(能捕捉到入射光的70%),優(yōu)于傳統(tǒng)菲林(底片)的2%,因此,線陣CCD 成為測試技術和現(xiàn)代光電子學的應用器件中最富有成果、最活躍的器件之一。為了得到有效的信噪比較高的CCD信號,文中設計出了一套可靠且高效的線陣CCD信號采集系統(tǒng)[1]。
ARM是一種16/32位的低成本、低功耗、高性能的嵌入式RISC(Reduced Instruction Set Computer,精簡指令集計算機)微處理器。鑒于ARM微控制器的高速度和強大的片內功能,設計選用微控制器的IO接口來直接驅動CCD,內部AD來進行AD采集,USB接口等資源直接將采集到的CCD信號傳輸到PC端,在PC上的采集軟件里顯示出來。
設計選用具有 ARM920T 核的 16/32 位多功能、低功耗的嵌入式處理器 S3C2440作為微控制器,該芯片有片內FLASH、片內AD,能夠滿足設計的方案需求。線陣CCD選用TCD1200D,該器件工作在12 V電壓下,典型工作頻率為1 MHz,具有光譜響應范圍寬、靈敏度高、工作速度快等特點,有2 160個有效像元,作用是接收照射到CCD硅片上的光,并將之轉換為信號電荷。每個光敏元尺寸為14 μm,中心間距亦為14 μm.其正常工作所需的控制脈沖有:RS、SH、Φ1,Φ2,輸出信號為:OS.系統(tǒng)架構如圖1所示[4]。
圖1 CCD信號采集系統(tǒng)的整體構架
由主控制器S3C2440產生驅動脈沖,通過電平轉換電路進行電壓匹配,然后驅動線陣CCD器件TCD1200D采集所需圖像信息,之后將輸出的信息通過放大濾波電路進行差模放大和低通濾波,進入主處理器內部的A/D轉換模塊進行模數轉換,之后將圖像信息上傳到PC機,進行應用軟件編寫并顯示出采集到的CCD信號。
CCD是靠驅動電路提供的驅動電壓和驅動時鐘來運行的,所以線陣CCD運行精度的高低就由驅動電路設計的優(yōu)良直接決定[2]。線陣CCD的驅動由5個部分組成:積分、轉移、傳輸、輸出和計數。單片機驅動電路、EPROM驅動電路、數字驅動電路是目前使用較多的驅動線陣CCD的方法。
在設計中采用微處理軟件驅動配合輔助電路法來驅動線陣CCD,通過ARM微處理器S3C2440的GPIO口(general purpose input output)輸出軟件實現(xiàn)的驅動時序給CCD,采用這種方式產生時序可以利用微控制器通過軟件編程直接在GPIO口上輸出所需的各路驅動脈沖,硬件簡單、調試方便、可在線調整驅動頻率。但由于是依靠程序來產生時序,如果程序設計不合理,會造成時序不均勻,通常驅動頻率不高,所以要求必須采用高速微處理器[3]。
TCD1200D的典型驅動頻率為1 MHz,最高可達到20 MHz,在設計中選用其典型驅動頻率1 MHz.而ARM微處理器S3C2440通過一個片內PLL可實現(xiàn)最大為400 MHz的CPU操作頻率,其GPIO速度能達到5 M以上,所以驅動TCD1200D完全符合要求。
TCD1200D采用雙相時鐘驅動,依TCD1200D的時序要求,需要4路驅動信號:即SH轉移脈沖信號,它的下降沿便是每行輸出的起始點。RS復位脈沖信號,為保證下一個單元電荷電壓的正確輸出,該信號可清除輸出端輸出一個單元電荷后所剩電荷。Φ1,Φ2雙相脈沖信號,可定向轉移驅動信號電荷。如果這四路脈沖能夠正確驅動,該圖像傳感器便會產生補償信號DOS和有效的光電信號OS[7]。圖2即為TCD1200D各路驅動信號的時序關系。
圖2 TCD1200D驅動脈沖波形圖
TCD1200D驅動電路脈沖寬度與延時關系如圖3所示,SH與Φ1的脈沖間隔t1、t5最小值為0,典型值為100 ns;SH脈沖上升和下降時間t2、t4最小值為0,典型值為50 ns;SH脈沖寬度t3最小值為200 ns,典型值為1000 ns;Φ1,Φ2脈沖上升和下降時間t6、t7最小值為0,典型值為60 ns;RS脈沖寬度t8最小值為40 ns,典型值為250 ns;Φ1,Φ2與RS脈沖間隔t9最小值為100 ns,典型值為125 ns.
圖3 TCD1200D驅動電路脈沖寬度與延時關系
由手冊中提供的時序要求可知,Φ1,Φ2互為反相,RS信號可以當作是Φ1信號的微分。因此,設計的輔助電路如圖4所示,該電路用來配合軟件模擬時序的工作,進而產生CCD需要的各路時序信號,配合軟件用于兩相時鐘Φ1、Φ2、RS、CP的同步,設計主要靠微分電路和基本的反相電路來完成。電路原理為:從輸入的CLK信號中得到反相的Φ1、Φ2提供給TCD1200D,再經過微分電路得到RS信號。此外,輸入信號CLK和SH需要經過電平轉換后,才可直接用于TCD1200D,并且由于S3C2440的AD參考電壓是3.3 V,CCD輸出的5V CCD信號不能直接被S3C2440的片內AD讀取,所以需要在TCD1200D信號輸出端加一個電平轉換電路,實現(xiàn)5 V到3.3 V的模擬電壓變換。
圖4 CCD驅動輔助電路框圖
S3C2440的GPIO輸出為3.3 V的LVTTL電平,而CCD器件需要5 V的驅動電壓,因此需要一個電平轉換電路來輸出適合CCD工作的驅動電平。設計中采用的是LM1117芯片來完成由3.3 V到5 V的電平轉換電路。LM1117是一個低壓差電壓調節(jié)器系列。其壓差在1.2 V輸出,負載電流為800mA時為1.2 V.LM1117有可調電壓的版本,通過2個外部電阻可實現(xiàn)1.25~13.8 V輸出電壓范圍。另外還有5個固定電壓輸出(1.8 V、2.5 V、2.85 V、3.3 V和5 V)的型號[8]。此處選用的是輸出可調電壓的版本。電平轉換電路如圖5所示。
圖5 電平轉換電路
對線陣CCD圖像采集系統(tǒng)的軟件設計思路為:系統(tǒng)開始后,禁止和清除所有中斷,然后再檢查是否成功打開采集卡,若未打開返回第一步,若打開,設置頻率和光積分時間,進行數據采集,之后保存數據,再構建位圖,進而進行位
圖顯示,最后退出程序[6]。系統(tǒng)軟件工作流程圖如圖6所示。
圖6 系統(tǒng)軟件工作流程圖
線陣CCD圖像采集系統(tǒng)的采集控制軟件從功能和結構上主要分為采集和顯示兩個部分。軟件采用VC++語言在VC6.0開發(fā)環(huán)境下基于MFC框架編程實現(xiàn),該軟件能實現(xiàn)CCD上2160個像元的模擬顯示,同時能調整窗口大小和窗口位置來放大或縮小局部特征[5]。如圖7所示為采集的條形碼信號柱狀圖。
圖7 CCD信號采集軟件界面采集的光柵條形碼信號圖
現(xiàn)場測試表明,系統(tǒng)圖像分辨為0.2 mm.該線陣CCD數據采集系統(tǒng)硬件簡單實用,開發(fā)周期短,采集到的條碼信號信噪比高,穩(wěn)定可靠,具有提高采集精度的潛力,并且可修改性強,在結合實際條件下對設備的硬件進行擴展和對程序做適當調整,就可以實現(xiàn)不同實際環(huán)境下的應用。隨著CCD器件性能大幅度提高,其在圖像采集及處理領域占據了越來越重要的地位,本設計在將來必然會得到更加廣泛的應用。
參考文獻:
[1]王慶有.CCD應用技術.天津:天津大學出版社,2000.
[2]胡渝,榮?。瓹CD的發(fā)展現(xiàn)狀及展望.儀器儀表學報,2005,26(8):718-720.
[3]蔡文貴、李永遠、許振華.CCD技術及應用.北京:電子出版社,1992.
[4]田澤.嵌入式系統(tǒng)開發(fā)與應用.北京:北京航空航天大學出版社,2004.
[5]劉仁普.數據采集系統(tǒng)應用手冊.北京:機械工業(yè)出版社,1997.
[6]李紅梅,陳敏聰,沈激.線陣CCD數據獲取方法研究與設計.電子測量技術,2008,31(6):1-4.
[7]Universal Serial Bus Specification,Rev 1.1,1998.
[8]TOSHIBA Corp.TCD1200D datasheet,1999.