王雷陽,李正生,馮曉偉
(第二炮兵工程學院101室陜西西安710025)
作為一種一維高精度圖像傳感器,線陣電荷耦合器件(charge coupled device,CCD)由于具有高分辨率、高靈敏度、像素位置信息強等優(yōu)點,被廣泛地應用于圖像傳感及非接觸無損尺寸測量等領域[1-2]。在測量兩設備間的縫隙時,與傳統的機械式手工測量相比,應用線陣CCD這種光電測量方法,有著測量速度快、精度高的優(yōu)勢,從而被廣泛地應用于現代測試場合。
CCD測隙裝置原理框圖如圖1所示。整個裝置由光信號處理、線陣CCD、電信號處理及計算機構成。恒流源為裝置提供穩(wěn)定的光信號,通過物鏡將縫隙成像在線陣CCD的光敏面上。線陣CCD在CPLD的驅動下,將光信號轉換為電信號,以電壓形式輸出,經輸出信號處理電路二值化處理轉換為二值化脈沖,通過單片機采集數據,經USART串口通訊發(fā)送給計算機,并計算出縫隙的大小,完成縫隙尺寸的測量。
線陣CCD測隙原理如圖2所示,將光源、物鏡和線陣CCD置于被測縫隙同側。光源發(fā)出的光線有兩部分:有效光和干擾光。有效光照射到被測物體表面發(fā)生反射,經物鏡將物體間的縫隙成像在CCD的光敏面上,由于光線直接穿過物體間的縫隙,并沒有反射到CCD,因而只有一部分光線反射到CCD,這樣,便在CCD上產生了一段較暗的區(qū)域,這段區(qū)域的長度就是該被測縫隙的大小,即CCD上光敏面上光敏元的個數與縫隙尺寸成一定的正比,所以根據成像物鏡的放大倍數即可計算出縫隙的實際尺寸。被測縫隙尺寸D的計算公式為:
圖1 CCD測隙系統結構框圖Fig.1 Diagram of CCD clearance measurement system
圖2 CCD測隙原理圖Fig.2 Schematic of CCD clearance measurement
式(1)中,h為光敏元的尺寸;n為穿過縫隙的光敏元個數;β為成像物鏡的橫向放大率。
干擾光直接通過透鏡照射到線陣CCD,由于該光沒有反映被測縫隙的尺寸,而且能淹沒有效光,因而該光越少越好。本裝置選擇高指向性的光源,以便能夠有效減少干擾光。
線陣CCD是光電轉換器件,選擇的合適光源對于測隙裝置至關重要。光源一般分為自然光源和人工光源兩類,典型的自然光源是太陽,常見的人工光源有鎢絲白熾燈、鹵鎢燈、氣體放電燈、激光光源、發(fā)光二極管光源等。裝置中,要求光源有一定的穩(wěn)定性、單色性、高指向性及足夠的亮度。由于發(fā)光二極管具有體積小、功耗低、使用壽命長、利于驅動及控制的優(yōu)點,因而選擇高亮度、高指向性的發(fā)光二極管作為光源。本裝置采用高亮度、高指向性的白光LED,額定工作電流為20 mA,工作電壓3.2~3.8 V。為了保證發(fā)光二極管發(fā)出的光保持一定的穩(wěn)定,設計了恒流電路。
測量范圍和測量精度是選擇線陣CCD的主要依據。本裝置選擇TCD1252AP型線陣CCD,其有效像元數為2 700個,有效空間分辨率達11μm,并且具有高靈敏性、低暗電流的特點,滿足了常用的應用場合。該器件的主要技術指標為[3]:
像元單元數:2 700;
像元總長為:29.7 mm;
光敏元尺寸:11 mm;
圖像識別區(qū)域:高靈敏性低暗電流;
時鐘:2相(5 V);
TCD1525AP是以電荷作為信號,其基本功能就是電荷的存儲和轉移。從結構來看,TCD1525AP主要由線陣光敏區(qū)、轉移柵、模擬移位寄存器、偏置電荷電路、輸出柵和信號讀出電路等組成。光敏區(qū)由摻雜多晶硅-二氧化硅-硅的MOS電容陣列構成,通過溝阻擴散結構分隔成一個個感光單元;模擬移位寄存器與光敏單元陣列一一對應并行排列,兩者用轉移柵進行控制;偏置電荷電路、輸出柵和信號讀出電路的作用是將CCD中最后一個移位寄存器單元下的勢阱中的電荷信號引出,并檢出電荷所輸送的光信號信息。
依據數據手冊,要使TCD1525AP正常工作,必須正確提供如下4種驅動信號:時鐘脈沖Φ1、Φ2,復位脈沖RS和轉移脈沖SH。CCD工作周期有2個階段:電荷轉移階段和光積分階段。在電荷轉移階段,轉移脈沖SH為高電平,轉移柵和模擬移位寄存器相互導通,輸出端沒有信號輸出;在光積分階段,轉移脈沖SH為低電平,模擬移位寄存器向輸出端轉移信號。
在設計驅動脈沖時,根據TCD1525AP的工作時序,必須滿足3個條件:1)時鐘脈沖Φ1在轉移脈沖SH為高電平期間,保持高電平,同時SH上升沿和下降沿位于時鐘脈沖Φ1高電平期間[4];2)在有效信號輸出前后共有52個暗電流脈沖,因而轉移脈沖SH其低電平至少要保持2 752個轉移脈沖RS,且其高電平保持至少1 000 ns;3)正確設計時鐘脈沖Φ1、Φ2和復位脈沖RS的頻率,保證時鐘脈沖Φ1與Φ2反相。
常用的CCD驅動方法有如下4種:EPROM驅動法、IC驅動法、單片機驅動法及可編程邏輯器件(PLD)驅動法。其中前3種方法較為傳統,隨著CCD采集速度的迅速提升和功能的不斷增強,已經不能適應對其驅動能力的要求,而通過可編程邏輯器件驅動則很好地解決了傳統方法的弊端[5]。驅動中CPLD選用EPM7128SLC84-15,其有128個邏輯單元,I/O口輸出電平是5 V,能夠直接驅動線陣CCD。
線陣CCD在時鐘的正確驅動下,在輸出端可以獲得被測對象的信號。信號中的電壓信號大小對應于光敏像元上的光強,信號輸出的時序對應于該光敏像元在CCD上的空間位置,從而確定了被測縫隙的尺寸大小及空間位置。
在CCD輸出信號中,暗電流和光照像元間有明顯的抖動變化。在1 MHz的復位脈沖下工作時,有效像元輸出的時間為2.7 ms。再者,輸出信號含有5 V的直流電壓,并且有效信號呈負極性、幅值較小以及受周期性復位脈沖的影響,根據這些特性,先將輸出信號進行差分放大,便可有效地去除復位噪聲,然后通過二值化處理將信號轉換為方波脈沖,此脈沖通過單片機計數便可計算出所測縫隙的大小。
根據對線陣CCD應用的不同,對CCD輸出信號有2種不同的方法。一是硬件二值化處理,將信號轉換為二值化脈沖,此方法側重于硬件實現;二是進行A/D采樣,然后編碼量化,將信號轉換為數字信號,此方法側重于軟件實現。一般來講硬件處理方法處理速度快,延遲時間少,適用于工業(yè)現場;軟件處理方法相對復雜,有一定時間延遲響應,適用于圖像處理[6]。在不要求圖像灰度的情況下,為提高處理速度及降低成本采用二值化處理的方法,比如尺寸測量、位置的檢測等,本文便采用此方法。
所謂二值化處理就是采用高低電平將有效信號和背景信號分開。由于被測縫隙和背景在光源照射下線陣CCD輸出信號中會有明顯的電平變化,通過二值化方法便把信號中的縫隙部分與背景部分分離成二值電平。二值化處理通常有固定閾值法、浮動閾值法和微分法3種方法[7]。由于為光源加入了恒流源,保證了光源的穩(wěn)定性,因而在裝置中使用了固定閾值法,簡化了電路的復雜度。
圖3 二值化處理電路圖Fig.3 Binarization circuit
圖3是二值化處理電路圖。整個電路由3級構成,前級是共集電極放大電路,中間級是差分放大電路,后級是固定閾值電路。由于CCD輸出的信號,電流較小,不足以驅動后置電路,因而由三極管2SC1815構成的共集電極放大電路,增大輸出信號的電流,以增強其帶負載能力。TCD1525AP有兩路輸出端,OS(有效輸出信號)端和DOS(補償輸出信號)端,將DOS信號與OS信號接入LM358進行差分放大,便可有效去除復位噪聲帶來的影響,并能去除信號中的直流電壓及將有效信號轉換為正極性。然后將放大后的信號送入電壓比較器LM393的同相輸入端,在反相端接入電位器,選取合適的閾值電平。當CCD的信號大于閾值時,電壓比較器輸出高電平;當CCD的信號小于固定閾值時,電壓比較器輸出低電平。便在電壓比較器的輸出端輸出反應CCD信息的高低電平,通過對高電平的脈沖數進行計數,便可計算出被測尺寸的大小,從而確定被測縫隙的大小。
以Altera公司的Quartus II軟件為開發(fā)環(huán)境,利用Verilog-HDL語言進行設計,按照上文要求設計相關時序。從上文要求可看出,時鐘脈沖和轉移脈沖的設計是驅動設計的難點。轉移脈沖SH由系統時鐘分頻而來,低電平保持2 800個RS周期,高電平保持4 200 ns,從而滿足了設計的第二個條件;為了保證時鐘脈沖Φ1滿足前文驅動設計的第一個條件,設計了周期等于轉移脈沖SH,但高電平時間大于SH的脈沖,該脈沖與對系統8分頻得到的脈沖進行與運算產生時鐘脈沖Φ1,對Φ1取反產生Φ2。
圖4 TCD1525AP驅動設計原理圖Fig.4 Schematic of TCD1525AP driven design
各驅動時序的設計是以系統輸入脈沖4 MHz有源晶振為基礎,對其進行分頻計數。圖4中,sys_clk為系統輸入4 MHz的脈沖,在其后增加非門,對輸入的正弦波進行整形。div_2模塊用來產生占空比為25%、頻率為1 MHz的RS脈沖,div_8和div_clk進行與運算產生時鐘脈沖,div_SH產生SH周期為2.8 ms的SH脈沖。并在圖中設計了div_ref模塊,此模塊以SH脈沖信號的上升沿為觸發(fā)條件,產生周期為5.6 ms的ref信號,應用于后續(xù)的單片機計數部分。
驅動設計好后,將其進行編譯,然后給輸入輸出分配器件管腳,之后進行時序仿真,用來初步驗證設計的程序能否滿足要求。其仿真圖如圖5所示,從仿真波形中可以看出,驅動時序符合設計中所要求的關鍵點。
線陣CCD輸出的信號經調理后,轉換為二值脈沖,本部分便以單片機為核心,對二值脈沖進行計數,并通過串口將數據發(fā)送至計算機。單片機選用ATMEL公司的ATmega16,該芯片是ATmega系列中一種高性能、低功耗的8位AVR RISC微處理器。通過在一個時鐘周期執(zhí)行一條指令,AT-mega16可以獲得接近1 MIPS/MHz的性能。該單片機具有16 kB的系統內可編程Flash(具有同時讀/寫的能力)、512 B EEPROM、1 kB SRAM、32個通用I/0口、一個全雙工同步/異步串行口和3個可編程定時/計數器,ATmega16功能強大,是一款性價比很高的單片機[]。本裝置中時鐘源選用11.0592 MHz外部晶振。
程序主要由兩大部分構成,即數據的采集和發(fā)送。數據的采集使用定時器0對二值化信號進行計數,初始值設定為0xfe,每計數2次時,產生溢出中斷,在溢出中斷服務程序中,對中斷的次數進行計數。前文設計了ref信號,使用單片機的外部中斷0敏感ref信號上升沿,當觸發(fā)中斷時,將計數值清零,開始新的計數,計數過程發(fā)生在該信號的高電平期間。數據的發(fā)送使用USART,同樣采用中斷發(fā)送方式,以減輕MCU運行負擔。
經過上文的設計,搭建電路,來測量縫隙為20 mm的縫隙。實驗中通過TDO2102A示波器觀察各部分波形,以驗證所設計的驅動及二值化電路是否正確。然后分析了選取不同的閾值電平對輸出信號的影響。
圖5 驅動時序仿真圖Fig.5 Th e chart of driven timing simulation
從圖6至圖8可以得到,時鐘脈沖幅值為4.00 V,頻率為0.5 MHz,占空比為50%;復位脈沖幅值為4.48 V,頻率為1 MHz,占空比為24.25%;轉移脈沖幅值為3.92 V。通過實際數據,所設計的脈沖符合TCD1525AP的驅動要求。
圖6 時鐘脈沖波形圖Fig.6 The clock pulse waveform
圖7 復位脈沖波形Fig.7 The reset pulse waveform
圖8 轉移脈沖波形圖Fig.8 The transfer pulse waveform
從圖9中可以看出,在LED作為光源照射下,信號的幅值為1 V左右,頻率為1 MHz,經固定閾值處理后,閾值電平為0.5 V,二值化脈沖如圖10所示,通過對此波形計數,便可得知縫隙的寬度。選取固定閾值電平較為關鍵,不同的光照強度對應于不同的閾值電平,這需要在實驗調試中確定,本裝置中,經調試,閾值電平選在0.3~0.6 V范圍內能正常輸出二值化波形,若小于或大于此范圍,輸出保持為低或高電平。
圖9 CCD輸出信號波形圖Fig.9 CCD output signal waveform
圖10 輸出信號與二值化波形圖Fig.10 CCD output signal and binarization waveforms
單片機將測量的數據發(fā)送給計算機,連續(xù)記錄30次測量結果,如圖11所示。
在30次測量數據中,從圖11可以看出,由于存在著干擾形成的偽數據,在計算縫隙大小時,需要進行濾除干擾數據。對此,使用限幅濾波技術,幅度定為20±0.1 mm,濾除干擾后測量的脈沖數n的均值為1 822個,縫隙尺寸D均值為20.042 mm,方差為2.954。系統測量分辨率可達±0.011 mm,滿足設計要求。
裝置通過CPLD完成了對TCD1525AP的正確驅動,及通過ATmega16對二值化信號進行采集并實現了與計算機之間的數據通訊,通過調試結果可知,達到了設計預期的要求,結果誤差小,精準度高,適用于0~25 mm的小尺寸縫隙測量。
圖11 縫隙測量結果圖Fig.11 The chart of clearanc measurement
[1]張殿富,趙源.基于FPGA的線陣CCD驅動時序及模擬信號處理的設計[J].電子設計工程,2009,17(1):41-43.
ZHANG Dian-fu,ZHAO Yuan.Design of the time driving and analog signal processing for linear CCD based on FPGA[J].Electronic Design Engineering,2009,17(1):41-43.
[2]王慶有.CCD應用技術[M].天津:天津大學出版社,2000.
[3]TOSHIBA TCD1252AP Data sheet[EB/OL].http://www.datasheetcatalog.com.(2001-10-15)[2011-04-10].http://www.datasheetcatalog.org/datasheet/toshiba/1966.pdf.
[4]Xu T X.Design of FPGA based on linear array CCD driver circuit[C]//ICEMI 2009 Proceedings of 9th International Conference on Electronic Measurement and Instruments.Piscataway,New Jersey,United States:IEEE Computer Society,2009:2766-2769.
[5]章琦,陳惠明,毛玉兵,等.線陣CCD驅動時序及信號采集系統的設計[J].儀表技術與傳感器,2010,(2):75-77.
ZHANG Qi,CHEN Hui-ming,MAO Yu-bing,et al.Design of linear CCD driving generator and signal acquisition system[J].Instrment Technique and Sensor,2010(2):75-77.
[6]Kozo Ohtani.A fast edge location measurement with subpixel accuracy using a CCD image[C].IEEE Instrumentation and Measurement Technology Conference,2001(21-23):2087-2092.
[7]郭華,邵東向,楊淑華.CCD輸出信號的電處理方法[J].傳感器技術,1999,18(1):39-41.
GUOHua,SHAODong-xiang,YANGShu-hua.Electric handling method of CCD output signals[J].Journal of transducer technology,1999,18(1):39-41.
[8]江海波,王卓然,耿德根.深入淺出AVR單片機[M].北京:中國電力出版社,2008.