杜偉寧, 王 冕, 蔡 印, 王 歡
(1. 空軍航空大學(xué) 飛行訓(xùn)練基地, 長春 130062; 2. 吉林大學(xué) 儀器科學(xué)與電氣工程學(xué)院, 長春 130026;3. 空軍航空大學(xué) 社會(huì)科學(xué)系, 長春 130062)
電荷耦合器件CCD(charge-coupled device)是一種可直接將光信號轉(zhuǎn)換為電信號的新型器件, 具有體積小、 重量輕、 功耗低、 靈敏度高和響應(yīng)速度快等優(yōu)點(diǎn)[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位低功耗單片機(jī)MSP430F1611IPM[6]為核心, 使用其內(nèi)部AD轉(zhuǎn)換器與通用異步串口UART模塊設(shè)計(jì)一個(gè)2 160像元的線陣CCD采集系統(tǒng). 該采集系統(tǒng)的圖像刷新率可達(dá)5幀/s, 工作穩(wěn)定, 可廣泛應(yīng)用于產(chǎn)品尺寸測量和非接觸尺寸測量.
本文設(shè)計(jì)的線陣CCD數(shù)據(jù)采集系統(tǒng)由線陣CCD、 驅(qū)動(dòng)器、 放大器、 單片機(jī)數(shù)據(jù)采集、 通信接口和上位機(jī)顯示軟件組成, 如圖1所示.

圖1 線陣CCD采集系統(tǒng)的組成Fig.1 Linear CCD array data acquisition system
驅(qū)動(dòng)器主要產(chǎn)生線陣CCD工作所需的脈沖序列, 放大器對線陣CCD輸出的電荷信號進(jìn)行放大并轉(zhuǎn)換為電壓Uo輸出. 單片機(jī)數(shù)據(jù)采集模塊收到通信接口傳來的采集指令后, 按照驅(qū)動(dòng)器輸出的行同步脈沖FC、 像元同步脈沖SP對Uo進(jìn)行同步采集, 采集完畢后將數(shù)據(jù)上傳至上位機(jī). 上位機(jī)軟件收到數(shù)據(jù)后, 實(shí)時(shí)地繪出線陣CCD的電壓曲線、 曝光量曲線、 灰度圖和直方圖.
2.1 線陣CCD與放大器 本文選用日本東芝公司生產(chǎn)的線陣CCD圖像傳感器TCD1200D及其配套的驅(qū)動(dòng)器, TCD1200D像元數(shù)目為2 160, 相鄰像元中心距離為14 μm. TCD1200D在驅(qū)動(dòng)器的作用下, 從信號輸出OS及補(bǔ)償輸出DOS引腳移位輸出各個(gè)像元的信息. 信號OS和DOS要通過如圖2所示的放大器后才能得到可供單片機(jī)采集的電壓信號Uo. 電位器W1用于對比度調(diào)節(jié), 電位器W2用于調(diào)整CCD的暗電流補(bǔ)償.
Uo與驅(qū)動(dòng)器輸出的行同步脈沖FC及像元同步脈沖SP的時(shí)序圖如圖3所示.

圖2 TCD1200D的輸出放大器Fig.2 Amplifier of TCD1200D

圖3 Uo與FC及SP的時(shí)序圖Fig.3 Timing diagram of Uo & SP and FC
2.2 單片機(jī)數(shù)據(jù)采集與上傳 單片機(jī)數(shù)據(jù)采集以單片機(jī)MSP430F1611IPM為核心, 電路原理如圖4所示, 待采集的電壓信號Uo連接到內(nèi)部AD輸入端P6.0, FC和SP均連接到可中斷的IO口P1.1和P1.0. 通信接口由單片機(jī)內(nèi)部的通用異步串口UART和Max232電平轉(zhuǎn)換電路構(gòu)成, 電路原理如圖5所示. 單片機(jī)在收到采集指令后, 根據(jù)FC和SP的時(shí)序完成對Uo的采集, 采集完畢后將數(shù)據(jù)上傳.

圖4 數(shù)據(jù)采集電路Fig.4 Scheme of data acquisition
3.1 單片機(jī)程序 單片機(jī)程序由主程序、 通信程序和中斷采集程序組成. 主程序完成對各模塊的初始化和指令執(zhí)行等工作, 其流程如圖6所示; 通信程序完成單片機(jī)與上位機(jī)間的指令和數(shù)據(jù)傳送; 中斷采集程序在由FC和SP觸發(fā)的中斷服務(wù)程序中完成對Uo的采集.
主程序先初始化各模塊, 等待收到啟動(dòng)采集命令后開始檢測FC上升沿, 在FC上升沿到來時(shí)開啟SP中斷允許. 每個(gè) SP脈沖引發(fā)的中斷服務(wù)程序完成對Uo的一次采集, 采集到的數(shù)據(jù)依次放入內(nèi)存中的數(shù)組中. 主程序等待1幀數(shù)據(jù)采集完畢后一次性將數(shù)據(jù)上傳給上位機(jī).

圖5 Max232電平變換電路Fig.5 Scheme of Max232

圖6 主程序流程Fig.6 Flow chart of main program
3.2 上位機(jī)程序 上位機(jī)程序采用Visual Basic 6.0編寫, 通過通信接口與單片機(jī)進(jìn)行通信[7-8]. 當(dāng)要進(jìn)行1幀圖像采集時(shí), 上位機(jī)程序先發(fā)出啟動(dòng)采集指令, 等待收到采集數(shù)據(jù)后顯示即可.
上位機(jī)程序具有單次采集、 連續(xù)采集兩種工作模式. 采集到的數(shù)據(jù)以電壓曲線、 曝光量曲線、 灰度圖和直方圖4種方式實(shí)時(shí)顯示.
采集1幀圖像數(shù)據(jù)的時(shí)間為10 ms(即FC的高電平持續(xù)時(shí)間), 其間至少需要進(jìn)行2 160次AD轉(zhuǎn)換, 需將內(nèi)部AD轉(zhuǎn)換速率設(shè)置為最高工作頻率200 kHz. 1幀的數(shù)據(jù)量約為2.1 Kb, 以波特率115 200 波特傳輸時(shí), 需耗時(shí)187 ms. 本文線陣CCD采集系統(tǒng)的最大刷新率為5幀/s, 滿足尺寸測量應(yīng)用的要求.
本文分別用帶有單縫、 雙縫的黑紙板對該線陣CCD采集系統(tǒng)進(jìn)行測試. 圖7為本文設(shè)計(jì)軟件對帶單縫黑紙板輸出的測量結(jié)果, 明亮部分像元數(shù)量為504個(gè), 單縫寬度為7 056 μm. 圖8為本文設(shè)計(jì)軟件對帶雙縫黑紙板的輸出測量結(jié)果, 左縫隙像元數(shù)量為486個(gè), 縫隙寬度為6 804 μm, 右縫隙像元數(shù)量為454個(gè), 縫隙寬度為6 356 μm.

圖7 單縫測試Fig.7 Single slit test

圖8 雙縫測試Fig.8 Double-slit test
多次測試結(jié)果表明, 該低成本線陣CCD數(shù)據(jù)采集系統(tǒng)工作可靠, 可用于產(chǎn)品尺寸測量和非接觸尺寸測量及條形碼讀取. 由于光線在縫隙邊緣處的發(fā)散會(huì)直接影響像元數(shù)量的讀取, 進(jìn)而影響尺寸測量的精度, 因此在精度要求較高的場合可配備相應(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é)報(bào), 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傳感器工作原理及光強(qiáng)分布的測量 [J]. 陜西師范大學(xué)學(xué)報(bào): 自然科學(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ì) [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. (張化朋. 用單片機(jī)驅(qū)動(dòng)線陣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é)報(bào): 自然科學(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ì) [J]. 江蘇電器, 2004(2): 15-16.)