国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于STM32的光譜采集系統(tǒng)設(shè)計(jì)

2017-03-07 10:16王毅磊高鵬飛郭漢明
電子科技 2017年2期
關(guān)鍵詞:時(shí)序上位串口

王毅磊,高鵬飛,黃 斐,周 鄭,郭漢明

(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)

基于STM32的光譜采集系統(tǒng)設(shè)計(jì)

王毅磊,高鵬飛,黃 斐,周 鄭,郭漢明

(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)

針對(duì)微型光譜數(shù)據(jù)采集電路的設(shè)計(jì)要求,設(shè)計(jì)了一種基于STM32的光譜數(shù)據(jù)采集系統(tǒng)。該設(shè)計(jì)由單芯片STM32F407內(nèi)部的TIMER、ADC、DMA、RAM組成替代傳統(tǒng)的多芯片設(shè)計(jì),完成對(duì)線陣CCD TCD1304DG的驅(qū)動(dòng)及信號(hào)采集,并能夠通過串口與上位機(jī)測(cè)試軟件進(jìn)行通信,實(shí)時(shí)顯示采集光譜。測(cè)試結(jié)果表明,該方案具有很好的驅(qū)動(dòng)CCD工作能力,并具有良好的光譜采集效果、簡(jiǎn)單易行、成本低、集成度高等優(yōu)點(diǎn),還可拓展到其他型號(hào)CCD的驅(qū)動(dòng),實(shí)際應(yīng)用價(jià)值高。

光譜采集;STM32;線陣CCD

光譜檢測(cè)分析技術(shù)在食品、醫(yī)療、化學(xué)等諸多領(lǐng)域得到廣泛應(yīng)用[1]。隨著光譜檢測(cè)應(yīng)用需求進(jìn)一步擴(kuò)展,其核心部件電荷耦合元件(Charge-Coupled Device, CCD),具有光電轉(zhuǎn)換、信息存儲(chǔ)和傳輸?shù)裙δ埽驯粡V泛應(yīng)用于眾多檢測(cè)領(lǐng)域[2-4],尤其是在光譜檢測(cè)方面。在實(shí)際應(yīng)用中,線陣CCD驅(qū)動(dòng)信號(hào)一般為復(fù)雜的周期信號(hào),CCD信號(hào)采集電路的設(shè)計(jì)重點(diǎn)在于對(duì)CCD驅(qū)動(dòng)設(shè)計(jì)及對(duì)CCD輸出信號(hào)的調(diào)理、模數(shù)轉(zhuǎn)換器(A/D轉(zhuǎn)換)、數(shù)據(jù)傳輸和存儲(chǔ)等[5-6]。常見的光譜數(shù)據(jù)采集電路通常由微控制器、時(shí)序發(fā)生器、模數(shù)轉(zhuǎn)換器、數(shù)據(jù)存儲(chǔ)器等組成[7-9],涉及芯片較多,電路復(fù)雜,集成度差。為此本系統(tǒng)設(shè)計(jì)了基于STM32的光譜數(shù)據(jù)采集系統(tǒng),采用單芯片STM32F407作為時(shí)序控制、A/D轉(zhuǎn)換、數(shù)據(jù)傳輸和存儲(chǔ)中心,實(shí)現(xiàn)光譜的快速采集。

1 線陣CCD的工作原理和時(shí)序

線陣CCD 采用Toshiba公司的TCD1304DG,具有3 648個(gè)像素,需要三路驅(qū)動(dòng)控制信號(hào)ΦM、SH、ICG,其中ΦM為主時(shí)鐘脈沖信號(hào),SH是轉(zhuǎn)移柵信號(hào),ICG是積分控制信號(hào)[10]。CCD的驅(qū)動(dòng)電路有嚴(yán)格的工作時(shí)序要求,在電荷讀出時(shí),ICG下降沿要比SH上升沿最少提前100 ns,以保證光敏元和模擬移位寄存器完全導(dǎo)通,讓光敏元里面的電荷信號(hào)全部進(jìn)入模擬移位寄存器;SH脈沖寬度最少1 000 ns,讓光敏元里面的電荷信號(hào)充分轉(zhuǎn)移;ICG上升沿要比SH下降沿延遲最少1 000 ns,以充分接受光敏元里的電荷;ICG上升沿要比ΦM下降沿最多提前20 ns。TCD1304DG有兩種驅(qū)動(dòng)模式,第一種模式是采用電子快門,第二種模式是不采用電子快門,兩種模式的主要區(qū)別是一個(gè)CCD工作周期內(nèi)SH脈沖的個(gè)數(shù)及SH脈沖控制光信號(hào)的有效采集時(shí)間。本設(shè)計(jì)要求采用第二種模式,其工作時(shí)序如圖1所示。

圖1 CCD工作時(shí)序圖

CCD的典型驅(qū)動(dòng)脈沖為2 MHz,采用STM32F4能夠產(chǎn)生波形較好的驅(qū)動(dòng)信號(hào)[11]。當(dāng)CCD主驅(qū)動(dòng)時(shí)鐘為2 MHz時(shí),其數(shù)據(jù)輸出頻率為500 kHz,而STM32F4內(nèi)部的模數(shù)轉(zhuǎn)換器最高轉(zhuǎn)換頻率可達(dá)36 MHz[12],能夠滿足A/D轉(zhuǎn)換要求。

2 基于STM32的光譜采集實(shí)現(xiàn)

STM32F407具有集成度高、速度快、可靠性好、硬件電路易于編程實(shí)現(xiàn)等特點(diǎn)[12]。如果更改邏輯設(shè)計(jì),不需更改任何硬件電路,只將STM32F407內(nèi)部邏輯重新編程即可。因此適合CCD驅(qū)動(dòng)電路的設(shè)計(jì)、制作、調(diào)試和進(jìn)一步開發(fā)、升級(jí)。

2.1 總體設(shè)計(jì)方案

系統(tǒng)驅(qū)動(dòng)電路框圖如圖2所示,STM32F407產(chǎn)生CCD 時(shí)序,驅(qū)動(dòng)CCD工作,CCD輸出經(jīng)信號(hào)調(diào)理電路反向、放大后,將CCD輸出的電壓信號(hào)變換到0~VREF間的電壓信號(hào),通過A/D對(duì)每一個(gè)像素進(jìn)行AD轉(zhuǎn)換后存儲(chǔ)到內(nèi)存中。當(dāng)一幀3 648個(gè)數(shù)據(jù)全部采集完畢后,通過串口傳給上位機(jī)進(jìn)行數(shù)據(jù)處理,繪制出相對(duì)光譜強(qiáng)度分布曲線。

圖2 系統(tǒng)驅(qū)動(dòng)電路框圖

2.2 CCD驅(qū)動(dòng)程序設(shè)計(jì)

CCD三路驅(qū)動(dòng)信號(hào)同步方式如下[12]:將STM32F407內(nèi)部TIM2配置為主模式,每次發(fā)生更新事件(UEV)時(shí)輸出一個(gè)周期性觸發(fā)信號(hào),同時(shí)將TIM3和TIM4配置為從模式,并使用內(nèi)部觸發(fā),然后將從模式控制器設(shè)為外部時(shí)鐘模式,最后使能相關(guān)定時(shí)器即可做到同步。

CCD三路驅(qū)動(dòng)信號(hào)產(chǎn)生方式如下:將主定時(shí)器TIM2時(shí)鐘頻率設(shè)置為84 MHz的內(nèi)置模式,配置TIM2預(yù)裝載值(ARR)分頻出8.4 MHz的工作頻率,然后通過TIM2觸發(fā)從定時(shí)器TIM3和TIM4,通過配置TIM4通道1的ARR和捕獲/比較值(CCR)產(chǎn)生占空比為50%的2.1 MHz PWM波,通過配置TIM3通道1與通道2的ARR和CCR產(chǎn)生占空比26/14 592的525 kHz和10/14 592的525 kHz的PWM波。通過示波器觀察產(chǎn)生的驅(qū)動(dòng)時(shí)序波形如圖3所示,該波形為每個(gè)周期內(nèi)SH、ICG、ΦM的對(duì)應(yīng)關(guān)系。

圖3 TCD1304DG驅(qū)動(dòng)時(shí)序圖

2.3 CCD輸出信號(hào)調(diào)理電路設(shè)計(jì)

由于CCD的飽和輸出壓降約為600 mV,而CCD輸出中又含有固有噪聲和隨機(jī)噪聲,因此,為了提高信噪比和信號(hào)靈敏度,在A/D轉(zhuǎn)換前,需要對(duì)CCD輸出信號(hào)進(jìn)行調(diào)理[13]。在電路設(shè)計(jì)中,選用4片低功率、低失真度、高效率運(yùn)算放大器對(duì)CCD信號(hào)進(jìn)行反向、放大、緩沖處理,將CCD輸出的電壓信號(hào)變換到0-VREF間的電壓信號(hào),如圖4中(a)~圖4(c)所示。

反相電路原理圖如圖4(a)所示,U1為穩(wěn)壓芯片,輸出為VREF,電路輸出VOUT與輸入VIN的關(guān)系如式(1)所示

(1)

其中,R3為可變電阻,通過上式可知,在無光的情況下,VIN為最大值,此時(shí)可通過調(diào)節(jié)R3阻值的大小使得VOUT輸出電壓幅值為零。隨著光信號(hào)的增強(qiáng),VIN值變小,VOUT值變大,從而達(dá)到反相的目的。

放大電路原理圖如圖4(b)所示,R2為可變電阻,調(diào)節(jié)R2的阻值大小可改變放大電路的放大倍數(shù),從而改變測(cè)量電路的靈敏度。其輸出與輸入的關(guān)系如式(2)所示

(2)

電壓緩沖電路原理圖如圖4(c)所示,作為與前后級(jí)電路間的緩沖器,避免后級(jí)電路對(duì)CCD 信號(hào)輸出和前級(jí)電路對(duì)A/D轉(zhuǎn)換造成干擾,輸出與輸入信號(hào)相等。

圖4 CCD信號(hào)調(diào)理

2.4 CCD輸出信號(hào)A/D轉(zhuǎn)換和DMA傳輸

其中Margalet物種豐富度指數(shù)計(jì)算公式:D=(S-1)/lnN。其中,S為群落中的物種總數(shù),N為觀察到的全部物種的個(gè)體總數(shù)。

調(diào)理后的CCD輸出信號(hào)還需要ADC轉(zhuǎn)換成數(shù)字信號(hào)才能被STM32F407處理,選用STM32F407內(nèi)部12位高速ADC完成模數(shù)轉(zhuǎn)換工作。ADC最大轉(zhuǎn)換速率為2.4 MHz,而TCD1304DG最大輸出525 kHz,完全可以滿足采集速度的要求。經(jīng)過信號(hào)調(diào)理電路輸出的信號(hào)電壓范圍為0~3.3 V,因此選擇ADC參考電壓VREF+=3.3 V。ADC的輸出如式(3)所示

(3)

根據(jù)上式可知,ADC的輸出與輸入信號(hào)的幅值成正比,與VREF的幅值大小成反比,其準(zhǔn)確性與VREF電壓參考芯片的輸出精度和噪聲水平相關(guān)。為使所選擇的ADC有較好的輸出結(jié)果,需要重點(diǎn)考慮基準(zhǔn)電壓源和模擬輸入信號(hào)與ADC接口的前端。所以選擇TI公司的輸出3.3 V、精度高達(dá)0.2%的串聯(lián)基準(zhǔn)REF3033作為基準(zhǔn)電壓源,并在ADC前端放置一個(gè)低阻抗緩沖器,減少前級(jí)對(duì)A/D轉(zhuǎn)換干擾。

為保證CCD輸出的每個(gè)像素都能被正確采集,采用直接內(nèi)存訪問(Directional Memory Access, DMA)原理設(shè)計(jì)了一種數(shù)據(jù)傳輸系統(tǒng)[14]。DMA傳輸?shù)幕咎攸c(diǎn)是不經(jīng)過CPU,直接實(shí)現(xiàn)存儲(chǔ)器與外設(shè)之間的數(shù)據(jù)傳輸,不僅提高了CPU的利用率,而且實(shí)現(xiàn)了數(shù)據(jù)的快速傳輸。在使能ADC規(guī)則通道外部上升沿觸發(fā)單次轉(zhuǎn)換和轉(zhuǎn)換完成后的DMA請(qǐng)求后,每當(dāng)CCD采集的電荷要向外轉(zhuǎn)移時(shí),ADC會(huì)在ICG上升沿前被ADC控制轉(zhuǎn)換信號(hào)觸發(fā),準(zhǔn)備對(duì)輸出信號(hào)進(jìn)行轉(zhuǎn)換。在每完成ADC規(guī)則通道組中的一次轉(zhuǎn)換后,都會(huì)生成一個(gè)DMA請(qǐng)求,DMA控制器接受到ADC發(fā)出的DMA請(qǐng)求后,DMA2數(shù)據(jù)流0通道2會(huì)將轉(zhuǎn)換結(jié)果從ADC數(shù)據(jù)寄存器實(shí)時(shí)地傳輸?shù)絻?nèi)存中。

2.5 串口通信設(shè)計(jì)

采用STM32F407內(nèi)部串口與上位機(jī)進(jìn)行數(shù)據(jù)通信[15]。STM32F407通過串口接收到上位機(jī)開始采集的指令后,產(chǎn)生CCD所需的時(shí)序和A /D控制信號(hào)。STM32F407接收到ADC控制信號(hào)后,使能ADC和DMA,并將ADC轉(zhuǎn)換后的電壓值轉(zhuǎn)化成光強(qiáng)值。完成CCD數(shù)據(jù)采集、轉(zhuǎn)換和存儲(chǔ)后,STM32F407使用內(nèi)部的串口將采集到的數(shù)據(jù)傳輸至上位機(jī)進(jìn)行處理,上位機(jī)通過相關(guān)算法對(duì)數(shù)據(jù)進(jìn)行處理、顯示。

3 實(shí)驗(yàn)結(jié)果與分析

為了驗(yàn)證設(shè)計(jì)方案的正確性,可通過上位機(jī)軟件繪制CCD采集到的相對(duì)光譜強(qiáng)度分布曲線來判斷。當(dāng)CCD飽和時(shí),經(jīng)12位ADC轉(zhuǎn)換后輸出光譜強(qiáng)度應(yīng)約為4 096;當(dāng)CCD無光照時(shí),考慮CCD暗電流等干擾輸出光譜強(qiáng)度應(yīng)約為100。測(cè)試方法如下:在一片白紙上貼數(shù)條不透光的黑膠帶,并且每條膠帶的寬度遞減,將CCD垂直于膠帶扣在白紙上,均勻移動(dòng)CCD,采集光譜數(shù)據(jù),通過上位機(jī)實(shí)時(shí)顯示采集到的光譜。

圖5是CCD信號(hào)采集實(shí)物圖,通過上位機(jī)可測(cè)得,在光照飽和狀態(tài)下CCD輸出光譜強(qiáng)度約在4 000,在無光狀態(tài)下CCD輸出光譜強(qiáng)度約在100。

圖5 CCD信號(hào)采集實(shí)物圖

圖6是CCD通過白紙透光部分和遮光部分采集到的光譜數(shù)據(jù),圖中橫坐標(biāo)為CCD像元數(shù)值,縱坐標(biāo)為相對(duì)光譜強(qiáng)度。圖中的凹陷部分是CCD經(jīng)過遮光區(qū)域的像素未采集到光信號(hào)形成的,凸起部分是CCD經(jīng)過透光區(qū)域的像素采集到光信號(hào)形成的,這與本設(shè)計(jì)的預(yù)期符合。但遮光區(qū)域邊緣漏光,造成系統(tǒng)采集的光譜在遮光邊緣處譜線緩慢的上升或下降。

4 性能總結(jié)與結(jié)論

通過實(shí)驗(yàn)可知,所設(shè)計(jì)的光譜采集系統(tǒng)能夠良好的完成光譜采集,總體性能較好,上位機(jī)能夠正確顯示采集到的CCD光譜,噪聲在允許的范圍內(nèi),在不同的工作環(huán)境下,系統(tǒng)性能穩(wěn)定。由此可見,采用單芯片STM32F407完成時(shí)序控制、A/D轉(zhuǎn)換、數(shù)據(jù)傳輸和存儲(chǔ)的方案是可行的,而且簡(jiǎn)單易行、成本低。本設(shè)計(jì)具有一定的擴(kuò)展性,在數(shù)據(jù)傳輸方面,不僅可以使用STM32F407內(nèi)部串口與上位機(jī)進(jìn)行數(shù)據(jù)通迅,也可以采用內(nèi)部的CAN、USB2.0通迅接口與上位機(jī)進(jìn)行數(shù)據(jù)傳輸,以滿足不同用戶的需求。此外,還可以針對(duì)不同型號(hào)的CCD編寫不同的驅(qū)動(dòng)時(shí)序,驅(qū)動(dòng)其他型號(hào)CCD工作。

[1] 李銳,代本才,趙永德,等.光譜法在分子間非共價(jià)相互作用中的應(yīng)用及進(jìn)展[J].光譜學(xué)與光譜析,2009,29(1):240-243.

[2] 王慶友.圖像傳感器應(yīng)用技術(shù)[M].北京:電子工業(yè)出版社,2003.

[3] 徐宏宇,趙行,孫彥超,等.基于STM32的光功率實(shí)時(shí)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J].電子科技,2014,27(12):85-89.

[4] 郭偉,楊牧,王青獅,等.基于面陣CCD的鋼板幾何尺寸測(cè)量系統(tǒng)[J].電子科技,2013,26(7):47-50.

[5] 梁忠望.線陣CCD數(shù)據(jù)采集電路研究[D].湖南:湖南大學(xué),2010.

[6] 張俊.光譜數(shù)據(jù)采集與處理技術(shù)研究[D].天津:天津理工大學(xué),2014.

[7] 李剛,王焱,李海蘭,等.基于CPLD的線陣CCD光譜檢測(cè)數(shù)據(jù)采集系統(tǒng)的研究[J].光譜學(xué)與光析,2007,27(10):1905-1909.

[8] 竇建華,王英,李長(zhǎng)凱,等.基于CPLD和DSP的線陣CCD數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].合肥工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2010,33(5):690-693.

[9] 董杰,苗長(zhǎng)云,楊彥利,等.基于FPGA和ARM的線陣CCD信號(hào)采集器的設(shè)計(jì)[J]. 儀表技術(shù)與傳感器,2015 (5):20-23.

[10] Toshiba.TCD1304DG data sheets[M].Japan:Toshiba,2004.

[11] 李寧.基于MDK的STM32處理器開發(fā)應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2008.

[12] ST.STM32F4xx data sheet[M].Switzerland:ST Microelectronics,2013.

[13] 唐嘉銘,朱金福.基于AD8334的光聲信號(hào)調(diào)理電路設(shè)計(jì)與噪聲分析[J].福建師范大學(xué)學(xué)報(bào),2014,30(5):49-54.

[14] 張?zhí)?基于STM32單片機(jī)DMA機(jī)制的多通道數(shù)據(jù)采集[J].黑龍江科技信息,2013,10(30):27-27.

[15] 周陽,周美嬌.基于C#的串口通信系統(tǒng)的研究與設(shè)計(jì)[J].電子測(cè)量技術(shù),2015,38(7):135-140.

Design of the Spectrum Acquisition System Based on STM32

WANG Yilei, GAO Pengfei, HUANG Fei, ZHOU Zheng, GUO Hanming

(School of Optical-Electrical and Computer Engineering, University of Shanghai for Science and Technology, Shanghai 20093, China)

According to the design requirements of micro-spectrometer data acquisition circuit, a spectral data acquisition system based on STM32 is proposed. The internal TIMER, ADC, DMA, RAM of single-chip STM32F407 instead of the traditional multi-chip design are employed for a linear CCD TCD1304DG drive and the signal acquisition. Communication with the test software of host computer is achieved via the serial port to display the acquired spectrum in real time. The test results show that the CCD can be driven to acquire good spectra data. This project not only has the advantages of simple design, low cost and high integration, but also has a good practical value.

spectrum acquisition; STM32; linear CCD

2016- 04- 05

國家自然科學(xué)基金資助項(xiàng)目(61178079);上海市教育委員會(huì)科研創(chuàng)新基金資助項(xiàng)目(13SG47)

王毅磊(1991-),男,碩士研究生。研究方向:光電檢測(cè),嵌入式應(yīng)用等。

10.16180/j.cnki.issn1007-7820.2017.02.001

TN873;TH744

A

1007-7820(2017)02-001-04

猜你喜歡
時(shí)序上位串口
清明
淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
基于不同建設(shè)時(shí)序的地鐵互聯(lián)互通方案分析
特斯拉 風(fēng)云之老阿姨上位
基于FPGA 的時(shí)序信號(hào)光纖傳輸系統(tǒng)
“三扶”齊上位 決戰(zhàn)必打贏
基于ZigBee和VC上位機(jī)的教室智能監(jiān)測(cè)管理系統(tǒng)
基于模體演化的時(shí)序鏈路預(yù)測(cè)方法
數(shù)字電源內(nèi)部數(shù)據(jù)傳輸?shù)拇谕ㄐ欧椒▽?shí)現(xiàn)
USB接口的多串口數(shù)據(jù)并行接收方法探索