基于FPGA的可見光及近紅外微型光譜儀研制

2016-07-01 16:10

關(guān)鍵詞: 微型光譜儀 FPGA CMOS 可見光及近紅外

  熊顯名1,2,劉國棟1,2

 ?。?.桂林電子科技大學(xué) 電子工程與自動化學(xué)院,廣西 桂林 541004;2.廣西高校光電信息處理重點實驗室,廣西 桂林 541004)

       摘要:研制了一款基于FPGA可見光及近紅外微型光譜儀,介紹了其研究方案及實現(xiàn)功能。該微型光譜儀采用濱松公司的MS系列CMOS圖像傳感器,波長探測范圍340 nm~1 050 nm,光譜分辨率約10 nm;功耗低于600 mW,可USB直接供電,通過USB2.0與PC及手機(jī)通信,積分時間5 ms,掃描次數(shù)、積分時間可調(diào)。實驗表明,該微型光譜儀輸出光譜波形穩(wěn)定,工作可靠,響應(yīng)速度快,可應(yīng)用于農(nóng)產(chǎn)品無損檢測等方面。

  關(guān)鍵詞:微型光譜儀;FPGA;CMOS;可見光及近紅外

0引言

  光譜儀是分析物質(zhì)組成的重要儀器,傳統(tǒng)光譜儀具有較高精度,但是其體積大,價格高昂,在現(xiàn)場應(yīng)用等方面存在便攜性差、普及困難等問題。隨著微型光機(jī)電系統(tǒng)和寬波段探測器的發(fā)展,微型光譜儀得到了長足的發(fā)展[1],近年來商用微型光譜儀層出不窮,通過選配不同的探測器,可以實現(xiàn)寬波段、高精度的光譜測量[2]。微型光譜儀集成度高、功耗低、靈活方便、性價比高,在性能上能滿足一定的要求[3],使得其得到了廣泛的重視。

1系統(tǒng)設(shè)計及實現(xiàn)

  本微型光譜儀主要由互補金屬氧化物半導(dǎo)體(Complementary Metal Oxide Semiconductor, CMOS)圖像傳感器、驅(qū)動與采集、通用串行總線(Universal Serial Bus,USB)通信等模塊組成,系統(tǒng)結(jié)構(gòu)如圖1所示。光源照到被測物體,在其表面和淺層發(fā)生漫反射,帶有內(nèi)部信息的反射或者透射光為圖像傳感器所接收[4],傳送至現(xiàn)場可編程門陣列(Field Programmable Gate Array, FPGA),經(jīng)過平滑處理,再通過USB上傳至電腦或者手持設(shè)備進(jìn)行顯示或作進(jìn)一步處理[58]。

001.jpg

  1.1圖像傳感器

  設(shè)計中采用日本濱松公司的MS系列CMOS圖像傳感器。MS系列包括C10822MA01(340 nm~750 nm)和C11708MA(640 nm~1 050 nm)兩款,涵蓋了可見光和近紅外的探測范圍。MS系列圖像傳感器包含256個像素點,狹縫尺寸75 μm×750 μm,像元尺寸12.5 μm×1 000 μm,其光學(xué)結(jié)構(gòu)為一凸面閃耀光柵,光線經(jīng)狹縫入射,經(jīng)過凸面閃耀光柵分光[9],反射至CMOS傳感器上,如圖2所示。其結(jié)構(gòu)緊湊,外觀小巧,重量僅9 g,功耗低,僅有30 mW,在與手持設(shè)備連接時,低功耗有著更大的優(yōu)勢。

002.jpg

  1.2硬件電路設(shè)計

  本設(shè)計中的硬件電路主要包括前端信號處理電路、模數(shù)轉(zhuǎn)換電路、FPGA最小系統(tǒng)以及USB通信電路[7]。

  CMOS圖像傳感器輸出的光譜數(shù)據(jù)需要經(jīng)過多級緩沖放大濾波后再輸入模數(shù)轉(zhuǎn)換器(Analog to Digital Converter, ADC)進(jìn)行轉(zhuǎn)換,本設(shè)計中采用了三級緩沖放大電路:第一級跟隨,第二級緩沖、濾波,第三級放大、濾波,如圖3所示。

003.jpg

  CMOS圖像傳感器輸出的模擬信號頻率為200 kHz,最大輸出電壓為2.76 V,經(jīng)過放大濾波,輸出電壓最大可達(dá)5 V,信噪比明顯提高,如圖4所示。

004.jpg

  設(shè)計中采用AD7671作為模數(shù)轉(zhuǎn)換器,AD7671是16位的逐次逼近型高精度模數(shù)轉(zhuǎn)換器,最大積分非線性誤差±2.5 LSB (±190 μV),采樣速率最高達(dá)1 MS/s,精度高,速度快,滿足應(yīng)用要求。該ADC具有三種工作模式:Warp、正常和脈沖模式。本系統(tǒng)中采用正常模式,轉(zhuǎn)換速率為800 kS/s。ADC配置為主機(jī)模式,在轉(zhuǎn)換期間輸出前一次轉(zhuǎn)換結(jié)果,電路連接圖如圖5所示?!?/p>

005.jpg

  設(shè)計中的主控芯片采用的是ALTERA公司的EP2C5T144C8N,其邏輯資源豐富,配置靈活,滿足設(shè)計需求[10]。USB通信采用Cypress公司的CY7C68013,其由集成了USB2.0收發(fā)器的增強(qiáng)型8051微控制器組成。在設(shè)計中將CY7C68013配置為Slave FIFO模式。USB在此模式下,CPU不參與數(shù)據(jù)傳輸,直接由內(nèi)部端點進(jìn)行傳輸,由外部控制器來對端點進(jìn)行讀寫操作。FPGA與各模塊之間的連接示意圖如圖6所示。

006.jpg

  FPGA最小系統(tǒng)及USB通信電路均按照芯片手冊設(shè)計,最后繪制并制作PCB板。4層PCB板尺寸為45 mm×84 mm。

  1.3程序設(shè)計

  FPGA負(fù)責(zé)整個系統(tǒng)的控制和傳輸,程序采用Verilog HDL語言編寫,采用自上而下的設(shè)計思路,對整個系統(tǒng)進(jìn)行分塊設(shè)計[1112],最終整合。系統(tǒng)主要分為3個子模塊[13]: COMS圖像傳感器驅(qū)動模塊、AD數(shù)據(jù)緩存模塊以及USB讀寫控制模塊。COMS圖像傳感器驅(qū)動模塊負(fù)責(zé)翻譯指令并控制Sensor的工作狀態(tài);AD緩存模塊負(fù)責(zé)接收光譜數(shù)據(jù),進(jìn)行平滑濾波處理,然后分時發(fā)送到USB讀寫模塊;USB讀寫控制模塊負(fù)責(zé)收發(fā)數(shù)據(jù),獲取USB的狀態(tài)并建立通信[1415]。系統(tǒng)狀態(tài)轉(zhuǎn)換簡圖如圖7所示。

007.jpg

  CMOS圖像傳感器的正常使用需要施以正確的驅(qū)動時序,設(shè)計中由FPGA產(chǎn)生驅(qū)動時序,驅(qū)動時序須嚴(yán)格按照圖像傳感器的時序來設(shè)計,MS系列圖像傳感器驅(qū)動時鐘為800 kHz,輸出頻率200 kHz,輸出完成會給出EOS信號,ST信號控制傳感器的工作狀態(tài)。編寫好驅(qū)動程序后聯(lián)合ModelSim仿真,結(jié)果表明驅(qū)動時序符合設(shè)計要求。

  圖像傳感器在ST信號到來后開始工作,輸出光譜數(shù)據(jù),在程序中控制ST信號的觸發(fā)次數(shù)和觸發(fā)周期就能實現(xiàn)對掃描次數(shù)和積分時間的控制[16]。光譜模擬量輸出后,經(jīng)過緩沖放大,然后進(jìn)行AD轉(zhuǎn)換,CNVST信號為AD轉(zhuǎn)換使能信號,CNVST信號節(jié)拍須與傳感器輸出頻率一致,并且在波形建立穩(wěn)定后進(jìn)行轉(zhuǎn)換。當(dāng)CNVST信號到來后,ADC開始轉(zhuǎn)換數(shù)據(jù),在此期間,輸出前一次的轉(zhuǎn)換結(jié)果,當(dāng)BUSY信號到來時,F(xiàn)PGA開始以SCLK為時鐘讀取串行數(shù)據(jù),高位在前,存于寄存器中,然后平滑濾波處理,最后告知USB讀寫模塊數(shù)據(jù)已經(jīng)就緒,USB將數(shù)據(jù)輸出至上位機(jī)[1718]。

  USB讀寫模塊監(jiān)視CY7C68013的狀態(tài),F(xiàn)LAGA為EP2的空標(biāo)識,F(xiàn)LAGC為EP6的滿標(biāo)識,當(dāng)EP2為空時,F(xiàn)PGA不再讀FIFO,當(dāng)EP6為滿時,F(xiàn)PGA不再寫入FIFO。USB與FPGA的連接如圖8所示。

008.jpg

  固件程序是CY7C68013能正常運行的核心,Cypress公司提供了固件程序框架,包括fw.c、periph.c、dscr.a51、USBJmptb.OBJ、Ezusb.lib五個部分,在本設(shè)計中主要對periph.c進(jìn)行了修改,使能EP2和EP6兩個端點,設(shè)置EP2端點為OUT,緩存區(qū)大小為512 B,2倍緩存,EP6端點為IN,緩存區(qū)大小為512 B,4倍緩存。端點均為塊傳輸,自動提交包方式[1920]。

2實驗驗證

  開機(jī)后系統(tǒng)首先處于待機(jī)狀態(tài),Sensor沒有工作,等待上位機(jī)發(fā)送指令。指令碼為16位二進(jìn)制數(shù),包含積分時間、掃描次數(shù)、默認(rèn)/用戶選擇位三個信息,F(xiàn)PGA收到上位機(jī)發(fā)送的指令碼之后進(jìn)行判斷,然后執(zhí)行相應(yīng)的操作,Sensor工作,數(shù)據(jù)上傳。

  上位機(jī)連接成功后將會進(jìn)入模式選擇窗口,默認(rèn)模式下積分時間為100 ms,發(fā)送次數(shù)為無限,系統(tǒng)將會一直工作,持續(xù)探測光譜。用戶模式下可以選擇積分時間和掃描次數(shù),掃描次數(shù)最低可以選擇1次,步進(jìn)為1,用戶最多可以選擇100次,積分時間最低為5 ms,最高為100 ms,步進(jìn)為5 ms。用戶配置好參數(shù)之后,上位機(jī)將指令發(fā)送到系統(tǒng),系統(tǒng)將按照設(shè)置的參數(shù)工作。

  實驗中用LED臺燈和532 nm激光分別照射探測頭,在上位機(jī)上可以觀察到光譜,如圖9所示。

009.jpg

3結(jié)論

  本設(shè)計采用以FPGA為核心的系統(tǒng)硬件平臺,結(jié)合MS系列CMOS圖像傳感器,實現(xiàn)了對可見光和近紅外光譜快速準(zhǔn)確的測量,通過USB2.0通信使光譜數(shù)據(jù)能實時傳輸。實驗表明,該微型光譜儀能夠準(zhǔn)確地測量光譜波長,實時性好;功耗低,可通過USB與手機(jī)直連,便攜性、實用性好;其結(jié)構(gòu)小巧,成本低廉,可以普及使用。

參考文獻(xiàn)

 ?。?] 王偉蘭,談圖,汪磊,等.基于線陣CCD的微型光譜儀的研制[J]. 大氣與環(huán)境光學(xué)學(xué)報,2011,6(4):299304.

 ?。?] 范志永,浦國斌,張濤,等.微型光譜儀的CCD檢測系統(tǒng)設(shè)計[J].半導(dǎo)體光電,2014,35(4):718721.

  [3] 鞠揮,吳一輝.微型光譜儀的發(fā)展現(xiàn)狀[J].光學(xué)精密工程,2001,9(4):372376.

 ?。?] 楊明,孫繼,程海林,等.線陣CCD光譜儀設(shè)計與實驗[J].天津理工大學(xué)學(xué)報,2011,27(1):3842.

 ?。?] 李明,高超,陳芳,等.一種小型光纖光譜儀的結(jié)構(gòu)設(shè)計[J].光學(xué)與光電技術(shù),2013,11(2):9598.

 ?。?] 程梁.微型光譜儀系統(tǒng)的研究及其應(yīng)用[D].杭州:浙江大學(xué),2008.