劉瑞蘭,林若愚
(1.南京郵電大學自動化學院,南京 210046;2.浙江大學生物醫(yī)學工程與儀器科學院,杭州 310000)
基于FPGA的線陣CCD光強自動采集系統(tǒng)設計*
劉瑞蘭1*,林若愚1,2
(1.南京郵電大學自動化學院,南京 210046;2.浙江大學生物醫(yī)學工程與儀器科學院,杭州 310000)
設計了基于FPGA的線陣CCD光強自動采集系統(tǒng),該系統(tǒng)主要由線陣CCD光強采集、A/D轉換和上位機通信三部分組成。FPGA產生控制信號給CCD器件,采集光強輸出模擬信號,經過A/D轉換模塊將模擬信號轉換為數字信號傳輸給FPGA,FPGA將數字信號進行處理并通過串口發(fā)至上位機。為了驗證本系統(tǒng)的光強采集效果,分別使用75%、50%和25%的衰減片對光源的光強進行衰減,然后采集衰減后的光源衍射圖像,測試結果表明,本系統(tǒng)能準確分辨不同強度的光信號,相對誤差小于0.5%。
光強采集;線陣CCD;FPGA;Verilog語言
光強采集系統(tǒng)多應用于農業(yè)、工業(yè)、科技研究以及國防等多個領域。尤其是工農業(yè)生產,光照強度的過強過弱都有可能引起質量問題,甚至引發(fā)不可挽回的災難[1-3]。因而對光照強度的了解是必不可少的,只有將光照強度控制在一定范圍內,生產生活才能正常進行。因此在國內外都有許多光強采集產品,且不斷推陳出新,但是大多僅僅是利用光敏電阻的光電導效應,即光強對光敏電阻的影響導致阻值變化來進行簡單的模擬采集,對非環(huán)境光的采集具有較大的局限性[4-7]。CCD(Charge-Coupled Device,電荷耦合元件)集成了較多的感光元件和數模轉換器以及移位寄存器,能通過芯片處理將光強信息保存并輸出,具有快速、穩(wěn)定等多種優(yōu)點。使用線陣CCD能單獨采集一個方向的光,將方向光光源轉換成電子信號,通過積分、轉移等多種方式最終將光強信號由灰度值的方式展現出來[8]。而CCD高速傳輸特性決定了使用單片機驅動方式或者使用EEPROM驅動的方式復雜且低效,而用CCD專用驅動電路則限制很大,成本較高。FPGA(Field-Programmable Gate Array,現場可編程門陣列)通過Verilog HDL硬件描述語言被設計成集成邏輯電路,在對CCD的時序控制和運行速度上有著巨大的優(yōu)勢,可以充分發(fā)揮CCD器件的特性[9-11]。鑒于此,本課題設計了基于FPGA的線陣CCD光強自動采集系統(tǒng),對方向光進行光強采集,并將采集到的光強的量化值發(fā)送至上位機,然后在上位機上進行圖像和數據的顯示,并進行簡單的儲存。
光強自動采集系統(tǒng)分為如下5個部分:光信號采集模塊、A/D轉換模塊、數字信號傳輸模塊、驅動和控制模塊和上位機顯示模塊。各模塊之間的關系如圖1所示。
圖1 CCD光強自動采集系統(tǒng)各模塊之間的關系
圖1所示的系統(tǒng)各模塊的工作過程為:FPGA產生相關信號驅動CCD器件采集光強模擬信號并傳輸給A/D轉換器,A/D轉換器將模擬信號轉換為10位數字信號傳輸給FPGA,FPGA將數字信號進行處理并通過串口發(fā)至上位機進行實時顯示。各模塊的功能及選型如下:
光信號采集模塊:該模塊包括CCD部分和電壓放大部分。分別選用芯片TSL1401R-LF和LMV358,TSL1401R-LF擁有128×1個像素點,最高支持以8M的速率進行光強采集,并將一個工作周期內采集到的128個像素點的光強信號以0~2 V電壓的形式從AO引腳按時序依次串出。LMV358將該電壓信號進行放大,使電壓信號放大為0~5 V。
A/D轉換模塊:A/D轉換模塊的主要構成部分為AD876JR,它能以與CCD器件相同的速率進行工作,內置保持轉換等功能,可以將光強采集模塊輸出的信號轉換為10位數字信號并行輸出。芯片保證不丟碼,誤差可低至±0.5 LSB。
數字信號傳輸模塊:數字信號傳輸模塊主要由芯片PL2303實現,串口領域里該芯片非常常見,該芯片支持115 200 bit/s及更高速率的波特率的數據傳輸。本設計通過串口將采集到的數據發(fā)送至上位機并顯示。
FPGA驅動和控制模塊:選為Altera公司生產的CYCLONE IV 系列 FPGA作為主控芯片,型號為EP4CE6F17C8。該模塊產生控制位脈沖和工作時序,驅動CCD模塊和A/D轉換模塊,并將A/D輸出的數字信號通過串口傳輸給上位機。
2.1 驅動器設計
軟件部分包括驅動和控制模塊以及顯示模塊:主要的驅動和控制都是通過FPGA編程來完成的,本設計的功能模塊結構如圖2所示。
圖2 FPGA內部功能模塊結構關系圖
頂層模塊:整個系統(tǒng)是建立在串口發(fā)送模塊的基礎上,此模塊為頂層模塊,負責串口收發(fā)模塊和數字處理模塊之間的信號傳遞,以及各引腳之間的連接。
數字處理部分模塊:數字處理模塊負責進行數字處理,包括驅動AD876JR與TSL1401R-LF以及配置FIFO(First Input First Output,先入先出隊列)存儲器,并將接收到的數字處理成8位以便發(fā)送至上位機。
A/D、CCD驅動模塊:AD876JR與TSL1401R-LF的驅動模塊,將50M晶振進行50分頻,即將器件的頻率控制在1 MHz。
串口數字處理模塊:將接收到的10位數據通過運算分成4個8位ASCⅡ碼數字,并依次存入FIFO中。
FIFO模塊:一個大小為512×8 bit的儲存空間。
串口發(fā)送模塊:串口發(fā)送總控制模塊。
發(fā)送控制模塊:串口控制模塊,將數字處理模塊傳來的數字發(fā)送至上位機。
波特率產生模塊:用50 M晶振進行計數以產生115 200 bit/s的波特率。
其工作流程圖如圖3所示。該模塊主要做的就是通過硬件描述語言Verilog HDL對FPGA進行編程,從而實現對每個硬件模塊進行驅動并使它們按一定的流程進行工作。同時,在FPGA內建立FIFO電路來進行數據的存儲和緩沖。
圖3 驅動和控制模塊工作流程圖
圖4 上位機運行流程圖
2.2 上位機顯示模塊
上位機顯示模塊是使用LabVIEW圖形化編程軟件設計的,工作流程如圖4所示。上位機提供數據顯示、圖表顯示和簡單存儲3個功能。數據顯示即是簡單的顯示串口接收到的數據,圖表顯示是將收到的數據處理成一組長度為128的數組,然后用圖表的形式直觀的顯示出來,簡單存儲即自定義路徑然后將一次運行期間所有采集到的數據都存入路徑制定的文件內,常用TXT文本文檔格式進行存儲。
本課題選用平場凹面光柵對白光色散,在其衍射圖像中選取零級最亮條紋作為本次測試的采集對象,并使用衰減片加在光路上,對光源的光強進行衰減,然后用設計的系統(tǒng)對衰減后的光源衍射圖像進行采集,得到相應的圖像并與直接未衰減時采集得到的數據和圖像進行對比,檢驗系統(tǒng)是否能準確定量分辨光強的強弱。光路設計簡圖如圖5所示。
圖5 光路示意圖
測試環(huán)境選擇大小為10 m2的光學實驗室,測試時間在夜晚,測試時唯一的干擾光源為記錄數據用PC屏幕發(fā)出的光。經測試,在光源不打開且僅有干擾光源的情況下,對CCD采集并無影響。
測試結果如圖6、圖7所示。
圖6 光飽和測試
圖6、圖7為上位機實際顯示結果,數據是一列128個由A/D芯片采集到的電壓值轉換為十位二進制數通過進制轉換得到的四位十進制整數組成的。圖6為光飽和測試曲線,在強光照射下的光飽和值為895(未經標定)。圖7為無衰減片和不同衰減片的光強曲線(未經標定)。由于CCD鏡頭使用的是廣角鏡頭,因此零級最亮條紋在上位機上顯示為單峰。取最明顯的峰值數據作為分析數據,通過計算實際衰減率和相對誤差來得到測試結果。實際衰減率的計算方式為:實際衰減率=(有衰減片時采集值/無衰減片時采集值)×100%。相對誤差的計算方式為:相對誤差值=(采集值-理論值)/理論值×100%,并取絕對值[12]。
測試結果統(tǒng)計如表1所示。
圖7 無衰減片和衰減率為0.75、0.50、0.25四次采集結果圖像對比
項目光飽和無衰減片0.75衰減片0.50衰減片0.25衰減片光強采集值895890667443223光強理論值—890667.5445222.5實際衰減率—100%74.94%49.77%25.05%相對誤差——0.07%0.45%0.22%
表1證明了本系統(tǒng)采集光強的準確度較高,相對誤差不超過0.5%,完全符合設計要求。誤差大致上來源于兩個方面,一是A/D轉換芯片帶來的量化誤差,二是衰減片本身的誤差[13-16]。
開發(fā)并完成了一個基于FPGA的線陣CCD光強采集系統(tǒng)。系統(tǒng)采用FPGA作為主控模塊,通過Verilog HDL語言編程完成對CCD、A/D轉換和串口等多個器件以及全局的時序控制。最后該系統(tǒng)在光學實驗室進行了實驗驗證,分別使用75%、50%和25%的衰減片對光源的光強進行衰減,然后采集衰減后的光源衍射圖像,測試結果表明,該系統(tǒng)在一定的條件下能準確地對光強進行采集和儲存,并能分辨出光強的強弱,相對誤差小于0.5%。
[1] 范世福. 光譜技術和儀器的新發(fā)展[J]. 光學儀器,2000,22(4):35-40.
[2] 王偉蘭,談圖,汪磊,等. 基于線陣 CCD的光譜信號高速數據采集系統(tǒng)設計[J]. 儀表技術與傳感器,2012(11):48-50.
[3] 張寧,劉宇龍,吳嘉輝,等. 微型光譜儀的CCD數據采集系統(tǒng)設計[J]. 紅外與激光工程,2015,44(1):141-147.
[4] 張曉鵬,董明利,劉鋒,等. 基于多級衍射及自適應補償的光纖光柵傳感器解調技術[J]. 傳感技術學報,2015,28(3):330-335.
[5] 范志永,浦國斌,張濤. 微型光譜儀的CCD 檢測系統(tǒng)設計[J]. 半導體光電,2014,35(4):718-721.
[6] 胡渝,榮健. CCD的發(fā)展現狀及展望[J]. 儀器儀表學報,2005(z1):718-720.
[7] 孫東磊. 基于FPGA的線陣CCD瞬態(tài)光譜信息采集系統(tǒng)研究[D]. 重慶:重慶大學,2013.
[8] Janesick J R. Scientific Charge-Coupled Devices[M]. Bellingham:SPIE press,2001.
[9] 郝曉明,李杰,胡陳君,等. 基于FPGA的彈載數據回讀系統(tǒng)設計[J]. 傳感技術學報,2015,28(7):1023-1028.
[10] 夏真珍. 基于FPGA的線陣CCD光強分布測量系統(tǒng)研究[D]. 重慶:重慶大學,2014.
[11] 石東新,傅新宇,張遠. CMOS與CCD性能及高清應用比較[J]. 通信技術,2010,43(12):174-179.
[12] 吳健,張志杰,王文廉. 傳感器動態(tài)誤差高速并行修正方法及其FPGA實現[J]. 傳感技術學報,2012,25(1):67-71.
[13] 馮偉昌,林玉池,何冬,等. 基于FPGA的雙通道實時圖像處理系統(tǒng)[J]. 傳感技術學報,2010,23(8):1118-1122.
[14] WANG B,OUYANG X W,LU K. Research on the Method of Transient Spectrum Detection Based on Array CCD[J]. Spectroscopy and Spectral Analysis,2012,32(4):1028-1031.
[15] Chen Ying,Xu Wanpeng,Zhao Rongsheng,et al. Design of a Hardware/Software FPGA-Based Driver System for a Large Area High Resolution CCD mage Sensor[J]. Photonic Sensors,2014,4(3):274-280.
[16] 樓維中. 高速 CCD 信號采集處理系統(tǒng)的設計與實現[D]. 西安:西安電子科技大學,2009.
Automatic Light Intensity Acquisition System Design Based on Linear CCD and FPGA*
LIURuilan1*,LINRuoyu1,2
(1.School of automation,Nanjing University of Posts and Telecommunications,Nanjing 210046,China;2.Institute of Biomedical Engineering and Instrument Science,Zhejiang University,Hangzhou 310000,China)
A linear CCD and FPGA based light intensity automatic acquisition system which contains linear CCD light intensity acquisition module,A/D conversion module and PC communication module is designed. FPGA module generates control signal to CCD for acquiring light intensity and outputting analog signal. A/D conversion module converts the analog signal to digital signal and delivers it back to FPGA module. Then the digital signal is processed and transmitted through the serial port to the host computer. In order to verify the effectiveness of the system,we use 75%,50% and 25% optical attenuation slice to deal with light source respectively diffraction images from the light source attenuated are acquired respectively. Test results show this system can distinguish the optical signals of different intensities accurately. The relative error is no more than 0.5%.
light intensity acquisition;linear CCD;FPGA;Verilog HDL
項目來源:國家自然科學基金項目(61203213)
2016-06-22 修改日期:2016-09-13
TH741.4
A
1004-1699(2017)01-0152-05
C:7230
10.3969/j.issn.1004-1699.2017.01.027