柳陽 黃斐 鄭思旭 郭漢明
摘 要:針對特定的多通道光譜采集要求,設(shè)計一套使用線陣CCD TCD1304的多通道光譜采集電路系統(tǒng)。該系統(tǒng)以STM32F407為主控芯片,由多通道16位精度的ADS8555芯片完成對CCD輸出信號的A/D模數(shù)轉(zhuǎn)換,采用FPGA(現(xiàn)場可編程門陣列)完成CCD時序與A/D模數(shù)轉(zhuǎn)換時序驅(qū)動,最終通過串口與上位機進(jìn)行通信,實時顯示采集光譜數(shù)據(jù)。實驗測試結(jié)果表明,在同等噪聲水平下,CCD的積分時間為Is,以四通道采集進(jìn)行有效性驗證,該系統(tǒng)實現(xiàn)了四通道的光譜采集及數(shù)據(jù)傳輸,達(dá)到了預(yù)期設(shè)計要求。基于FPGA與STM32的光譜采集系統(tǒng)不僅具有良好的驅(qū)動CCD工作能力,而且具有較好的光譜采集效果,精度高、數(shù)據(jù)傳輸量大,可拓展到其它型號的CCD,具有較高的應(yīng)用價值。
關(guān)鍵詞:FPGA;STM32;線陣CCD;多通道;光譜采集
DOI: 10. 11907/rjdk.192254
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
中圖分類號:TP319
文獻(xiàn)標(biāo)識碼:A
文章編號:1672-7800(2020)001-0160-04
0 引言
隨著現(xiàn)代科技的發(fā)展,光譜檢測技術(shù)在環(huán)境、食品、醫(yī)療、化學(xué)等領(lǐng)域的應(yīng)用越來越廣泛[1-2]。近年來,由于計算機輔助技術(shù)(CAD、CAM等)發(fā)展,作為新一代光電轉(zhuǎn)換器件的核心部件一電荷耦合元件( Charge-Coupled Device.CCD)因其精度高、性能穩(wěn)定、功耗低、壽命長等優(yōu)點得到迅速發(fā)展[3-5],在眾多領(lǐng)域有著廣泛應(yīng)用,尤其在光譜檢測方面[6-7]。
CCD驅(qū)動信號一般為較復(fù)雜的周期信號,因此,設(shè)計的關(guān)鍵在于產(chǎn)生正確合理的驅(qū)動信號[8]。常見的光譜采集系統(tǒng)用單個CCD只能采集單通道的光譜數(shù)據(jù),傳輸數(shù)據(jù)量小,不利于當(dāng)下寬范圍光譜儀應(yīng)用[9]。在數(shù)據(jù)處理及通訊方面,僅用單一的MCU(Micro-controller Unit,微控制單元)如STM32或FPCA等,同時完成時序驅(qū)動和數(shù)據(jù)傳輸?shù)萚10-11],而STM32和FPCA兩種技術(shù)在處理數(shù)據(jù)及產(chǎn)生驅(qū)動時序方面優(yōu)勢各異,故常見的光譜采集系統(tǒng)在數(shù)據(jù)傳輸和采集精度等方面具有一定的局限性[12]。
本系統(tǒng)采用FPCA作為時序發(fā)生器[13],STM32作為數(shù)據(jù)傳輸、存儲和控制中心,保證了驅(qū)動時序的時間精度,能快速進(jìn)行通訊及數(shù)據(jù)處理,16位高精度的ADS8555 AD轉(zhuǎn)換芯片提高了采集精度。
1 系統(tǒng)總體方案設(shè)計
系統(tǒng)主要由STM32、FPCA、線陣CCD、A/D模數(shù)轉(zhuǎn)換、上位機等部分組成,總體結(jié)構(gòu)設(shè)計如圖1所示。線陣CCD功能是實現(xiàn)光電轉(zhuǎn)換,將光譜信息轉(zhuǎn)換為相應(yīng)的模擬電壓信息;FPCA產(chǎn)生了CCD的驅(qū)動時序,保證線陣CCD正常工作,與此同時也產(chǎn)生了相應(yīng)的AD模數(shù)轉(zhuǎn)換的驅(qū)動時序,使之能正常轉(zhuǎn)換模擬數(shù)據(jù)為數(shù)字?jǐn)?shù)據(jù),并將數(shù)據(jù)傳輸給MCU;MCU的功能是發(fā)送采集命令給FPGA并接收采集結(jié)束的信號,同時與上位機通訊并進(jìn)行數(shù)據(jù)傳輸。
在應(yīng)用到多通道CCD時,F(xiàn)PGA輸出時序可經(jīng)過分線器輸出多路CCD驅(qū)動時序,本系統(tǒng)使用4路CCD驅(qū)動時序同時工作,A/D模數(shù)轉(zhuǎn)換的同時采集4通道CCD的輸出數(shù)據(jù)。最終經(jīng)過STM32的DMA( Directional Memorv Ac-cess,直接內(nèi)存訪問)觸發(fā)接收到的4路采集數(shù)據(jù)并傳輸?shù)缴衔粰C顯示。
2 采集系統(tǒng)實現(xiàn)
2.1 線陣CCD工作時序與原理
系統(tǒng)采用TOSHIBA公司的TCD1304DC線陣CCD傳感器。該型號CCD具有靈敏度高、暗電流低的優(yōu)點,具有3648個像素,需要3路驅(qū)動控制信號中M、ICG、SH,其中中M為主時鐘脈沖信號,ICC是積分控制信號,SH是轉(zhuǎn)移柵信號[14]。CCD有兩種驅(qū)動模式:①一個CCD采集周期內(nèi)只有兩個SH脈沖,有效積分時間為兩個SH的下降沿之間的時間;②一個CCD采集周期內(nèi)有多個SH脈沖,有效積分時間是最后兩個SH的下降沿之間的時間。兩種模式的主要區(qū)別是一個CCD工作周期內(nèi)SH脈沖數(shù)的個數(shù)以及控制采集的有效積分時間。模式設(shè)計采用第①種驅(qū)動模式,其工作驅(qū)動時序如圖2所示。
為使CCD正常輸出采集信號,應(yīng)保證FPGA輸入正確的CCD驅(qū)動時序。本設(shè)計中的TCD1304DG有較為嚴(yán)格的驅(qū)動時序:ICC下降沿要求比SH上升沿至少提前l(fā)OOns,以保證在電荷轉(zhuǎn)移之前光敏元件和模擬移位寄存器能夠?qū)ǎ构饷粼邮盏焦鈴娦盘柖a(chǎn)生的光生電子全部進(jìn)入模擬移位寄存器;ICC的上升沿要求比SH下降沿延遲至少1 000ns,以保證每次在積分結(jié)束時,轉(zhuǎn)移至模擬移位寄存器里的電荷都是完整的光信號;SH的脈沖寬度至少需要1 000ns,以保證光敏元中的電荷信號充分轉(zhuǎn)移至模擬移位寄存器中;ICG上升沿比中M下降沿至多提前20ns。通過示波器觀察產(chǎn)生的驅(qū)動時序波形如圖3所示。該波形為每個采集周期內(nèi)SH、ICG、中M的對應(yīng)關(guān)系,F(xiàn)PGA輸出CCD時鐘信號中M采用典型的2MHz,此時數(shù)據(jù)的輸出頻率為500KHz。
2.2 AD模數(shù)轉(zhuǎn)換時序
系統(tǒng)采用Texas Instruments公司的ADS8555模數(shù)轉(zhuǎn)換AD芯片,該型AD支持6通道采樣,16bit高精度,高速采集低功耗,并且有串行和并行兩種輸出工作模式。對于并行輸出模式只需兩種時序就可使其工作,分別是轉(zhuǎn)換選通時序CONVST_X和讀出時序RD,如圖4所示。其中,CONVST_X作為各通道的轉(zhuǎn)換選通端,高電平選擇相應(yīng)采樣通道;RD作為讀取端,低電平讀取采樣數(shù)據(jù);CS作為傳輸模式選擇輸入端,在轉(zhuǎn)換結(jié)束后拉低并行輸出,拉高串行輸出。
本設(shè)計使用4通道采集和并行輸出模式,轉(zhuǎn)換選通時序由FPGA產(chǎn)生,硬件接入A/D模數(shù)轉(zhuǎn)換芯片的AC通道,并行輸出16引腳端接入STM32。在時序設(shè)計中,RD讀數(shù)低電平脈沖需要在tCONV時間后進(jìn)行,這是因為采集讀數(shù)需要等待足夠的模數(shù)轉(zhuǎn)換時間。本設(shè)計tCONV設(shè)定為最大轉(zhuǎn)換時間1.26us,保證了每次RD在讀數(shù)期間采集到的都是完全轉(zhuǎn)換后的數(shù)字?jǐn)?shù)據(jù);對于RD讀數(shù)時序,需要充足的讀數(shù)時間tRD以保證每次讀到的數(shù)據(jù)不會丟失,經(jīng)驗證,tRD的最小值為30ns;cs拉低持續(xù)并行輸出。使用仿真工具M(jìn)od-elsim SE對AD驅(qū)動時序進(jìn)行時序仿真,如圖5所示。clk時鐘為50MHz,時鐘周期20ns,相鄰CONVST_X的上升沿周期為2us,對應(yīng)于線陣CCD的輸出速率,保證每次采集能與CCD的輸出同步。
2.3 FPGA時序?qū)崿F(xiàn)
FPCA程序使用OuartusⅡ軟件以VHDL硬件描述語言編寫,采用自上而下模塊化的編程方法[15-16],設(shè)計為串口接收、積分時間校驗、CCD時序產(chǎn)生和AD時序產(chǎn)生4個功能模塊,如圖6所示。
上位機發(fā)送指令到MCU,MCU將指令返還到上位機中,反饋給客戶用于判讀是否發(fā)送成功;FPGA需要接收到MCU(即STM32)發(fā)送的指令,讀取出積分時間和采集像素個數(shù),隨后發(fā)送積分時間到校驗?zāi)K;在讀取指令完成并通過校驗后,開始產(chǎn)生CCD的積分時序,硬件會通過時序分路器輸出到4個通道的CCD傳感器;在積分時間結(jié)束并且4路CCD電荷開始轉(zhuǎn)移時,產(chǎn)生AD時序,經(jīng)過模數(shù)轉(zhuǎn)換以及AD采集完成后,觸發(fā)DMA,STM32開始接收AD采集的數(shù)據(jù)。
2.4 多通道采集與DMA傳輸
系統(tǒng)采用4路CCD作為光信號傳感器,分別對應(yīng)AD采集的4個通道,每一個通道完成一路CCD的模數(shù)轉(zhuǎn)換工作,轉(zhuǎn)換完成后經(jīng)過DMA觸發(fā)傳輸至STM32F407處理。ADC最大采樣率是800kSPS(最大采樣速率是800kHz),而CCD的輸出速率是500kHz,能夠滿足采集速度要求。ADC的采集范圍是-5V-+5V,故參考電壓VREF=5 -(一5)=10V。CCD傳感器輸出范圍是0.5V-2.6V,與光強呈負(fù)相關(guān),即當(dāng)光強越強時,輸出電壓越低,反之輸出電壓越高。為使光強與電壓成正相關(guān),需在MCU中進(jìn)行數(shù)據(jù)處理。ADC輸出關(guān)系如下:
根據(jù)式(1)可知,ADC的輸出與參考電壓VREF成反比,為保證ADC有較好結(jié)果,需要考慮基準(zhǔn)電壓的穩(wěn)定性[17]。CCD參考電壓選用Texas Instruments公司的IC-TPS5430作為基準(zhǔn)電壓源,輸出為+5V,精度為1.5%,負(fù)載電流高至3A。
為保證AD采集信號傳輸至MCU中的速度,系統(tǒng)利用DMA的直接內(nèi)存訪問原理設(shè)計一種數(shù)據(jù)傳輸方式。DMA主要用于外設(shè)和存儲器之間,以及存儲器與存儲器之間提供的高速數(shù)據(jù)傳輸通道。在數(shù)據(jù)傳輸過程中,CPU只參與DMA的初始化工作,整個數(shù)據(jù)傳輸過程完全由DMA自身實現(xiàn),從而提升了CPU的利用率和傳輸速度[18]。在AD完成一次采集時,F(xiàn)PGA產(chǎn)生一個上升沿觸發(fā)信號,觸發(fā)一次DMA,生成一個DMA請求,使AD輸出的16bits數(shù)據(jù)轉(zhuǎn)移至STM32F407的寄存器中。系統(tǒng)使用6通道采集,共6路CCD,每個CCD共3 648個像素,一共需要觸發(fā)次數(shù)為6x3 648=21 888次。在采集完成時,F(xiàn)PCA產(chǎn)生一個上升沿觸發(fā)信號,觸發(fā)一次DMA,生成一個DMA請求,表示DMA2的數(shù)據(jù)流轉(zhuǎn)移完成。
3 實驗結(jié)果與分析
為了驗證設(shè)計方案的正確性,使用上位機軟件繪制出CCD采集到的相對光譜強度分布曲線,并通過不同通道CCD的相對光譜強度分別驗證設(shè)計方案的合理性。
本次系統(tǒng)測試對4通道的CCD同時進(jìn)行光照測試,方法如下:用一條不透光的黑膠帶粘貼在CCD上,對不同通道的CCD,黑色膠帶粘貼在不同位置,圖7依次為4個通道的CCD。與此同時,對這4個通道的光譜數(shù)據(jù)進(jìn)行采集,通過上位機顯示出采集到的相對光譜。
系統(tǒng)采集實驗結(jié)果如圖8所示,圖中橫坐標(biāo)為CCD的3 648個像素值,縱坐標(biāo)為采集到的相對光譜強度。凹陷是由于CCD被遮光處理而形成的,反之凸起的是未被遮光處理形成的,與預(yù)期相符。經(jīng)測試,光飽和時,MCU上傳到上位機的數(shù)值約為13 760(式(1)換算得到0.50V);無光照時,考慮到CCD具有暗電流,MCU上傳到上位機的數(shù)值約為900(式(1)換算得到2.46V)。由于遮光區(qū)域的邊緣漏光,導(dǎo)致采集的光譜緩慢上升或下降。
4 結(jié)語
由實驗結(jié)果可知,系統(tǒng)設(shè)計的多通道光譜采集系統(tǒng)能夠較好地完成多通道光譜采集,CCD能正確采集并輸出采集的光譜數(shù)據(jù),ADS8555能精確實現(xiàn)光譜數(shù)據(jù)的模數(shù)轉(zhuǎn)換,并在上位機中正確顯示CCD光譜數(shù)據(jù),總體性能良好。因此,本設(shè)計采用ADS8555的模數(shù)轉(zhuǎn)換、FPCA的時序控制、STM32F407作為MCU的多通道采集方案是可行的。同時,本設(shè)計具有可拓展性。在CCD信號輸出方面,可用一個CCD的信號調(diào)理電路模塊對CCD的輸出進(jìn)行信號調(diào)理,同時對輸出結(jié)果進(jìn)行降噪及濾波;在通訊方面,可使用USB 2.0與上位機進(jìn)行數(shù)據(jù)通訊,提升通信速率,滿足不同客戶需求。
參考文獻(xiàn):
[1] 潘宇,羅永道.線陣CCD光譜采集系統(tǒng)的自適應(yīng)濾波降噪[J]光學(xué)儀器,2016,38(2):167-168.
[2] 馮為蕾,王福娟,曾萬祺,等.應(yīng)用于LIBS的CCD光譜測量系統(tǒng)[J].激光與光電子學(xué)進(jìn)展,2013,50(1):1-7.
[3] 葉培德.CCD應(yīng)用技術(shù)新進(jìn)展[J].激光與紅外,1990,20(2):16-18.
[4]王世和,陳遠(yuǎn)金,劉斌.CCD與CMOS圖像傳感器的現(xiàn)狀及發(fā)展趨勢[J].內(nèi)燃機與配件,2017( 13):112-114.
[5] 馬華平,劉磊,顏嘉俊,等.多片CCD采集系統(tǒng)設(shè)計與應(yīng)用[J]半導(dǎo)體光電,2019,40(3):424-427.
[6] 曲國哲.便攜式光柵光譜測量系統(tǒng)的研究[D].長春:長春理工大學(xué),2017.
[7] 劉珍珍,汪濤,鄭雪麗.基于STM32的便攜式線陣CCD測量系統(tǒng)設(shè)計[J].微型機與應(yīng)用,2016,35( 11):97-100.
[8] 程瑤,趙建,米曾真.基于線陣CCD的光學(xué)測角嵌入式系統(tǒng)設(shè)計[J].應(yīng)用光學(xué),2018,36(5):650-653.
[9] 徐丹陽,杜春年.基于面陣CCD的高靈敏度微型光譜儀的設(shè)計與實現(xiàn)[J].光電工程,2018,45( 11):33-43.
[10]倪樹標(biāo),張冠文,陳云,等.線陣CCD高速實時數(shù)據(jù)采集系統(tǒng)設(shè)計[J].廣東化工,2017,44(6):135-136.
[11] 瑚琦,石彬彬,吳瑩.近景線陣CCD數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)[J].電子測量技術(shù),2017,40(7):161-162.
[12]李亞威,陸永華,劉斌.STM32嵌入式線陣CCD數(shù)據(jù)采集系統(tǒng)研究[J].制造業(yè)信息化,2015(4):7-8.
[13]沈斌,王先培,田猛,等.基于FPGA的模式可調(diào)線陣CCD驅(qū)動電路設(shè)計[J].儀表技術(shù)與傳感器,2018,4(20):20-23.
[ 14]
TEXAS INSTRUMENTS.TPS5430 data sheets[ Z]. TI, 2006.
[15] 馬鳳銘,張毅寧.基于FPGA的多通道采樣系統(tǒng)的設(shè)計[J].鞍山師范學(xué)院學(xué)報,2003,5( 4):95-97.
[16] 楊勇奇,王典洪,徐朝玉,等.基于FPCA和USB的面陣CCD圖像采集系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2018,41( 16):22-25.
[17]王志強開關(guān)電源設(shè)計[M].北京:電子工業(yè)出版社,2005.
[18] 魏琳,田波.基于STM32F4系列的串口DMA數(shù)據(jù)處理傳輸研究[J].自動化應(yīng)用,2016(8):92-93.
(責(zé)任編輯:杜能鋼)
基金項目:國家自然科學(xué)基金項目( 61178079);上海市教育委員會科研創(chuàng)新基金項目(13SC47)
作者簡介:柳陽(1995-),男,上海理工大學(xué)光電信息與計算機工程學(xué)院碩士研究生,研究方向為嵌入式應(yīng)用、光電檢測技術(shù);黃斐(1992-),男,上海理工大學(xué)光電信息與計算機工程學(xué)院博士研究生,研究方向為嵌入式應(yīng)用、光電檢測技術(shù)、信號處理; 鄭思旭(1994-),男,上海理工大學(xué)光電信息與計算機工程學(xué)院碩士研究生,研究方向為嵌入式應(yīng)用、微弱信號檢測、光電檢測技術(shù);郭漢明(1977-),男,博士,上海理工大學(xué)光電信息與計算機工程學(xué)院教授、博士生導(dǎo)師,研究方向為納米光學(xué)顯微成像及檢測、拉曼光譜儀及光譜數(shù)據(jù)分析算法、光學(xué)矢量衍射及其應(yīng)用、光電檢測技術(shù)。本文通訊作者:郭漢明。