快速發布采購 管理采購信息

一款基于FPGA的可見光及近紅外微型光譜儀

時間:2019-8-10, 來源:互聯網, 文章類別:元器件知識庫

一款基于FPGA的可見光及近紅外微型光譜儀,介紹了其研究方案及實現功能。該微型光譜儀采用濱松公司的MS系列CMOS圖像傳感器,波長探測范圍340 nm~1 050 nm,光譜分辨率約10 nm;功耗低于600 mW,可USB直接供電,通過USB2.0與PC及手機通信,積分時間5 ms,掃描次數、積分時間可調。實驗表明,該微型光譜儀輸出光譜波形穩定,工作可靠,響應速度快,可應用于農產品無損檢測等方面。
  光譜儀是分析物質組成的重要儀器,傳統光譜儀具有較高精度,但是其體積大,價格高昂,在現場應用等方面存在便攜性差、普及困難等問題。隨著微型光機電系統和寬波段探測器的發展,微型光譜儀得到了長足的發展[1],近年來商用微型光譜儀層出不窮,通過選配不同的探測器,可以實現寬波段、高精度的光譜測量[2]。微型光譜儀集成度高、功耗低、靈活方便、性價比高,在性能上能滿足一定的要求[3],使得其得到了廣泛的重視。
1系統設計及實現
  本微型光譜儀主要由互補金屬氧化物半導體(Complementary Metal Oxide Semiconductor, CMOS)圖像傳感器、驅動與采集、通用串行總線(Universal Serial Bus,USB)通信等模塊組成,系統結構如圖1所示。光源照到被測物體,在其表面和淺層發生漫反射,帶有內部信息的反射或者透射光為圖像傳感器所接收[4],傳送至現場可編程門陣列(Field Programmable Gate Array, FPGA),經過平滑處理,再通過USB上傳至電腦或者手持設備進行顯示或作進一步處理[58]。
  圖像傳感器
  設計中采用日本濱松公司的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,其光學結構為一凸面閃耀光柵,光線經狹縫入射,經過凸面閃耀光柵分光[9],反射至CMOS傳感器上,其結構緊湊,外觀小巧,重量僅9 g,功耗低,僅有30 mW,在與手持設備連接時,低功耗有著更大的優勢。
  硬件電路設計
  本設計中的硬件電路主要包括前端信號處理電路、模數轉換電路、FPGA最小系統以及USB通信電路[7]。
  CMOS圖像傳感器輸出的光譜數據需要經過多級緩沖放大濾波后再輸入模數轉換器(Analog to Digital Converter, ADC)進行轉換,本設計中采用了三級緩沖放大電路:第一級跟隨,第二級緩沖、濾波,第三級放大、濾波
  CMOS圖像傳感器輸出的模擬信號頻率為200 kHz,最大輸出電壓為2.76 V,經過放大濾波,輸出電壓最大可達5 V,信噪比明顯提高
  設計中采用AD7671作為模數轉換器,AD7671是16位的逐次逼近型高精度模數轉換器,最大積分非線性誤差±2.5 LSB (±190 μV),采樣速率最高達1 MS/s,精度高,速度快,滿足應用要求。該ADC具有三種工作模式:Warp、正常和脈沖模式。本系統中采用正常模式,轉換速率為800 kS/s。ADC配置為主機模式,在轉換期間輸出前一次轉換結果, 
  設計中的主控芯片采用的是ALTERA公司的EP2C5T144C8N,其邏輯資源豐富,配置靈活,滿足設計需求[10]。USB通信采用Cypress公司的CY7C68013,其由集成了USB2.0收發器的增強型8051微控制器組成。在設計中將CY7C68013配置為Slave FIFO模式。USB在此模式下,CPU不參與數據傳輸,直接由內部端點進行傳輸,由外部控制器來對端點進行讀寫操作。FPGA與各模塊之間的連接示意圖如圖6所示。
  FPGA最小系統及USB通信電路均按照芯片手冊設計,最后繪制并制作PCB板。4層PCB板尺寸為45 mm×84 mm。
  程序設計
  FPGA負責整個系統的控制和傳輸,程序采用Verilog HDL語言編寫,采用自上而下的設計思路,對整個系統進行分塊設計[1112],最終整合。系統主要分為3個子模塊[13]: COMS圖像傳感器驅動模塊、AD數據緩存模塊以及USB讀寫控制模塊。COMS圖像傳感器驅動模塊負責翻譯指令并控制Sensor的工作狀態;AD緩存模塊負責接收光譜數據,進行平滑濾波處理,然后分時發送到USB讀寫模塊;USB讀寫控制模塊負責收發數據,獲取USB的狀態并建立通信[1415]
  CMOS圖像傳感器的正常使用需要施以正確的驅動時序,設計中由FPGA產生驅動時序,驅動時序須嚴格按照圖像傳感器的時序來設計,MS系列圖像傳感器驅動時鐘為800 kHz,輸出頻率200 kHz,輸出完成會給出EOS信號,ST信號控制傳感器的工作狀態。編寫好驅動程序后聯合ModelSim仿真,結果表明驅動時序符合設計要求。
  圖像傳感器在ST信號到來后開始工作,輸出光譜數據,在程序中控制ST信號的觸發次數和觸發周期就能實現對掃描次數和積分時間的控制[16]。光譜模擬量輸出后,經過緩沖放大,然后進行AD轉換,CNVST信號為AD轉換使能信號,CNVST信號節拍須與傳感器輸出頻率一致,并且在波形建立穩定后進行轉換。當CNVST信號到來后,ADC開始轉換數據,在此期間,輸出前一次的轉換結果,當BUSY信號到來時,FPGA開始以SCLK為時鐘讀取串行數據,高位在前,存于寄存器中,然后平滑濾波處理,最后告知USB讀寫模塊數據已經就緒,USB將數據輸出至上位機[1718]。
  USB讀寫模塊監視CY7C68013的狀態,FLAGA為EP2的空標識,FLAGC為EP6的滿標識,當EP2為空時,FPGA不再讀FIFO,當EP6為滿時,FPGA不再寫入FIFO
  固件程序是CY7C68013能正常運行的核心,Cypress公司提供了固件程序框架,包括fw.c、periph.c、dscr.a51、USBJmptb.OBJ、Ezusb.lib五個部分,在本設計中主要對periph.c進行了修改,使能EP2和EP6兩個端點,設置EP2端點為OUT,緩存區大小為512 B,2倍緩存,EP6端點為IN,緩存區大小為512 B,4倍緩存。端點均為塊傳輸,自動提交包方式[1920]。
  開機后系統首先處于待機狀態,Sensor沒有工作,等待上位機發送指令。指令碼為16位二進制數,包含積分時間、掃描次數、默認/用戶選擇位三個信息,FPGA收到上位機發送的指令碼之后進行判斷,然后執行相應的操作,Sensor工作,數據上傳。
  上位機連接成功后將會進入模式選擇窗口,默認模式下積分時間為100 ms,發送次數為無限,系統將會一直工作,持續探測光譜。用戶模式下可以選擇積分時間和掃描次數,掃描次數最低可以選擇1次,步進為1,用戶最多可以選擇100次,積分時間最低為5 ms,最高為100 ms,步進為5 ms。用戶配置好參數之后,上位機將指令發送到系統,系統將按照設置的參數工作。
  實驗中用LED臺燈和532 nm激光分別照射探測頭,在上位機上可以觀察到光譜
  本設計采用以FPGA為核心的系統硬件平臺,結合MS系列CMOS圖像傳感器,實現了對可見光和近紅外光譜快速準確的測量,通過USB2.0通信使光譜數據能實時傳輸。實驗表明,該微型光譜儀能夠準確地測量光譜波長,實時性好;功耗低,可通過USB與手機直連,便攜性、實用性好;其結構小巧,成本低廉,可以普及使用。

技術文章分類
相關技術文章
重庆时时彩安卓客户端