杜偉寧, 王 冕, 蔡 印, 王 歡
(1. 空軍航空大學(xué) 飛行訓(xùn)練基地, 長春 130062; 2. 吉林大學(xué) 儀器科學(xué)與電氣工程學(xué)院, 長春 130026;3. 空軍航空大學(xué) 社會科學(xué)系, 長春 130062)
電荷耦合器件CCD(charge-coupled device)是一種可直接將光信號轉(zhuǎn)換為電信號的新型器件, 具有體積小、 重量輕、 功耗低、 靈敏度高和響應(yīng)速度快等優(yōu)點[1-4]. 線陣CCD是CCD的一種, 已廣泛應(yīng)用于產(chǎn)品的尺寸測量、 非接觸尺寸測量、 條形碼讀取等領(lǐng)域[5]. 通常, CCD數(shù)據(jù)采集系統(tǒng)以FPGA和高速AD為核心, 并配備數(shù)據(jù)處理系統(tǒng), 多用于面陣CCD圖像采集, 成本高, 不易推廣. 本文以美國TI公司生產(chǎn)的16位低功耗單片機MSP430F1611IPM[6]為核心, 使用其內(nèi)部AD轉(zhuǎn)換器與通用異步串口UART模塊設(shè)計一個2 160像元的線陣CCD采集系統(tǒng). 該采集系統(tǒng)的圖像刷新率可達5幀/s, 工作穩(wěn)定, 可廣泛應(yīng)用于產(chǎn)品尺寸測量和非接觸尺寸測量.
本文設(shè)計的線陣CCD數(shù)據(jù)采集系統(tǒng)由線陣CCD、 驅(qū)動器、 放大器、 單片機數(shù)據(jù)采集、 通信接口和上位機顯示軟件組成, 如圖1所示.
圖1 線陣CCD采集系統(tǒng)的組成Fig.1 Linear CCD array data acquisition system
驅(qū)動器主要產(chǎn)生線陣CCD工作所需的脈沖序列, 放大器對線陣CCD輸出的電荷信號進行放大并轉(zhuǎn)換為電壓Uo輸出. 單片機數(shù)據(jù)采集模塊收到通信接口傳來的采集指令后, 按照驅(qū)動器輸出的行同步脈沖FC、 像元同步脈沖SP對Uo進行同步采集, 采集完畢后將數(shù)據(jù)上傳至上位機. 上位機軟件收到數(shù)據(jù)后, 實時地繪出線陣CCD的電壓曲線、 曝光量曲線、 灰度圖和直方圖.
2.1 線陣CCD與放大器 本文選用日本東芝公司生產(chǎn)的線陣CCD圖像傳感器TCD1200D及其配套的驅(qū)動器, TCD1200D像元數(shù)目為2 160, 相鄰像元中心距離為14 μm. TCD1200D在驅(qū)動器的作用下, 從信號輸出OS及補償輸出DOS引腳移位輸出各個像元的信息. 信號OS和DOS要通過如圖2所示的放大器后才能得到可供單片機采集的電壓信號Uo. 電位器W1用于對比度調(diào)節(jié), 電位器W2用于調(diào)整CCD的暗電流補償.
Uo與驅(qū)動器輸出的行同步脈沖FC及像元同步脈沖SP的時序圖如圖3所示.
圖2 TCD1200D的輸出放大器Fig.2 Amplifier of TCD1200D
圖3 Uo與FC及SP的時序圖Fig.3 Timing diagram of Uo & SP and FC
2.2 單片機數(shù)據(jù)采集與上傳 單片機數(shù)據(jù)采集以單片機MSP430F1611IPM為核心, 電路原理如圖4所示, 待采集的電壓信號Uo連接到內(nèi)部AD輸入端P6.0, FC和SP均連接到可中斷的IO口P1.1和P1.0. 通信接口由單片機內(nèi)部的通用異步串口UART和Max232電平轉(zhuǎn)換電路構(gòu)成, 電路原理如圖5所示. 單片機在收到采集指令后, 根據(jù)FC和SP的時序完成對Uo的采集, 采集完畢后將數(shù)據(jù)上傳.
圖4 數(shù)據(jù)采集電路Fig.4 Scheme of data acquisition
3.1 單片機程序 單片機程序由主程序、 通信程序和中斷采集程序組成. 主程序完成對各模塊的初始化和指令執(zhí)行等工作, 其流程如圖6所示; 通信程序完成單片機與上位機間的指令和數(shù)據(jù)傳送; 中斷采集程序在由FC和SP觸發(fā)的中斷服務(wù)程序中完成對Uo的采集.
主程序先初始化各模塊, 等待收到啟動采集命令后開始檢測FC上升沿, 在FC上升沿到來時開啟SP中斷允許. 每個 SP脈沖引發(fā)的中斷服務(wù)程序完成對Uo的一次采集, 采集到的數(shù)據(jù)依次放入內(nèi)存中的數(shù)組中. 主程序等待1幀數(shù)據(jù)采集完畢后一次性將數(shù)據(jù)上傳給上位機.
圖5 Max232電平變換電路Fig.5 Scheme of Max232
圖6 主程序流程Fig.6 Flow chart of main program
3.2 上位機程序 上位機程序采用Visual Basic 6.0編寫, 通過通信接口與單片機進行通信[7-8]. 當(dāng)要進行1幀圖像采集時, 上位機程序先發(fā)出啟動采集指令, 等待收到采集數(shù)據(jù)后顯示即可.
上位機程序具有單次采集、 連續(xù)采集兩種工作模式. 采集到的數(shù)據(jù)以電壓曲線、 曝光量曲線、 灰度圖和直方圖4種方式實時顯示.
采集1幀圖像數(shù)據(jù)的時間為10 ms(即FC的高電平持續(xù)時間), 其間至少需要進行2 160次AD轉(zhuǎn)換, 需將內(nèi)部AD轉(zhuǎn)換速率設(shè)置為最高工作頻率200 kHz. 1幀的數(shù)據(jù)量約為2.1 Kb, 以波特率115 200 波特傳輸時, 需耗時187 ms. 本文線陣CCD采集系統(tǒng)的最大刷新率為5幀/s, 滿足尺寸測量應(yīng)用的要求.
本文分別用帶有單縫、 雙縫的黑紙板對該線陣CCD采集系統(tǒng)進行測試. 圖7為本文設(shè)計軟件對帶單縫黑紙板輸出的測量結(jié)果, 明亮部分像元數(shù)量為504個, 單縫寬度為7 056 μm. 圖8為本文設(shè)計軟件對帶雙縫黑紙板的輸出測量結(jié)果, 左縫隙像元數(shù)量為486個, 縫隙寬度為6 804 μm, 右縫隙像元數(shù)量為454個, 縫隙寬度為6 356 μm.
圖7 單縫測試Fig.7 Single slit test
圖8 雙縫測試Fig.8 Double-slit test
多次測試結(jié)果表明, 該低成本線陣CCD數(shù)據(jù)采集系統(tǒng)工作可靠, 可用于產(chǎn)品尺寸測量和非接觸尺寸測量及條形碼讀取. 由于光線在縫隙邊緣處的發(fā)散會直接影響像元數(shù)量的讀取, 進而影響尺寸測量的精度, 因此在精度要求較高的場合可配備相應(yīng)的光學(xué)系統(tǒng).
[1] WANG Jing-cun, XU Guo-hai, HU Wen-jiang. The Principle and Application of Linear Array CCD Image Sensor [J]. Journal of Baotou University of Iron and Steel Technology, 1993, 12(3): 72-78. (王景存, 徐國海, 胡文江. 線陣CCD圖象傳感器的原理與應(yīng)用 [J]. 包頭鋼鐵學(xué)院學(xué)報, 1993, 12(3): 72-78.)
[2] HAN Jing, WU Jun-lin. Principle of CCD and the Measurement of Luminous Intensity Distribution [J]. Journal of Shaanxi Normal University: Natural Science Edition, 2006, 34(Suppl 1): 44-45. (韓靜, 吳俊林. CCD傳感器工作原理及光強分布的測量 [J]. 陜西師范大學(xué)學(xué)報: 自然科學(xué)版, 2006, 34(增刊1): 44-45.)
[3] HE She-yang, HUANG Xiao-dong, HE Kui, et al. The Width Measuring Instrument for Steel Plate by Linear CCD Technology [J]. Technology and Test, 2007(5): 64-66. (何社陽, 黃曉東, 何奎, 等. 基于CCD技術(shù)的鋼板測寬儀 [J]. 工藝與檢測, 2007(5): 64-66.)
[4] WU Shao-hua. A New Distance Measuring System of CCD on the Foundation of MSP430F149 [J]. Modern Electronics Technique, 2008(1): 118-120. (吳少華. 基于MSP430F149的新型CCD測距系統(tǒng) [J]. 現(xiàn)代電子技術(shù), 2008(1): 118-120.)
[5] CHEN Ji, GUO Chao. Design of High-Speed Data Acquisition and USB Data Transmission System for Linear CCD Sensor [J]. Instrument Technique and Sensor, 2010(12): 106-110. (陳驥, 郭超. 線陣CCD的高速信號采集與USB數(shù)據(jù)傳輸系統(tǒng)設(shè)計 [J]. 儀表技術(shù)與傳感器, 2012(12): 106-110.)
[6] ZHANG Hua-peng. Study of Driving Linear CCD Using Single-Chip Processor [J]. Optical Technique, 2000, 26(4): 342-343. (張化朋. 用單片機驅(qū)動線陣CCD的探討 [J]. 光學(xué)技術(shù), 2000, 26(4): 342-343.)
[7] XU Shao-yuan, JIANG Xin-hua, DING Li-qiu. Drawing Fractal Figures with Visual Basic [J]. Journal of Huaibei Coal Industry Teachers College: Natural Science, 2008, 29(3): 48-52. (許紹元, 蔣新華, 丁立秋. 用Visual Basic繪制分形圖 [J]. 淮北煤炭師范學(xué)院學(xué)報: 自然科學(xué)版, 2008, 29(3): 48-52.)
[8] LU Jun, ZHU Hai-jun. Design of the Serial Communication Based on MSP430F149 [J]. Jiangsu Electrical Apparatus, 2004(2): 15-16. (陸軍, 朱海君. 基于MSP430F149的串口通訊設(shè)計 [J]. 江蘇電器, 2004(2): 15-16.)