《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的氣溶膠粒徑信息存儲系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
基于FPGA的氣溶膠粒徑信息存儲系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
來源:電子技術(shù)應(yīng)用2011年第5期
朱傳雨, 劉建國, 陸亦懷, 桂華僑, 黃書華
中國科學(xué)院安徽光學(xué)精密機(jī)械研究所 環(huán)境光學(xué)與技術(shù)重點(diǎn)實(shí)驗(yàn)室, 安徽 合肥 230031
摘要: 利用電子學(xué)時(shí)間多道存儲技術(shù),結(jié)合大規(guī)模可編程邏輯控制器FPGA和高速大容量雙端口內(nèi)存芯片,設(shè)計(jì)了一種高速大容量氣溶膠粒子信息分類計(jì)數(shù)存儲系統(tǒng),實(shí)現(xiàn)了氣溶膠粒子的快速識別與分類存儲。時(shí)間多道系統(tǒng)存儲容量高達(dá)32 768道,每道計(jì)數(shù)深度65 536個(gè)(16 bit)。
中圖分類號: TP274
文獻(xiàn)標(biāo)識碼:A
文章編號: 0258-7998(2011)05-0086-04
Design and implementation of storage system for aerosol particle diameter based on FPGA
Zhu Chuanyu, Liu Jianguo, Lu Yihuai, Gui Huaqiao, Huang Shuhua
Key Laboratory of Environment Optical and Technology, Anhui Institute of Optics and Fine Mechanics, Chinese Academy of Science, Hefei 230031, China
Abstract: Based on large-scale programmable logic controller FPGA and high-speed large-capacity dual-port memory chip, a high-speed and large-capacity storage system of aerosol particles classification counting is designed using multi-channel storage technology. It can be competent for the identification and storage aerosol particles by classification fleetly. The memory’s capacity is up to 32 768 channels and to count 65 635 particles for each channel.
Key words : aerosol; aerodynamic particle diameter; FPGA; multi-channel storage technology


 大氣氣溶膠在大氣輻射、空氣污染、大氣物理化學(xué)性質(zhì)、人類健康狀況等方面扮演著重要角色,是衡量大氣污染狀況的重要指標(biāo)[1]。研究表明,氣溶膠粒子因其空氣動力學(xué)粒徑不同而滯留在人體呼吸道的不同部位,大于5 μm的氣溶膠粒子滯留在上呼吸道,小于5 μm多滯留在氣管、支氣管和肺泡內(nèi),對人類的健康危害很大[2]。因此,持續(xù)有效地監(jiān)測氣溶膠粒子粒徑分布信息具有重要意義。為了連續(xù)、實(shí)時(shí)、在線測量氣溶膠粒徑分布,本課題組開展了基于飛行時(shí)間ToF(Time-of-Flight)測量原理[2]的氣溶膠空氣動力學(xué)粒徑譜儀系統(tǒng)的研制。
 空氣動力學(xué)粒徑是一當(dāng)量概念,它是指在低雷諾數(shù)的氣流中與單位密度球(ρ=1 g/cm3)具有相同終末沉降速度的顆粒直徑,也就是指在較平穩(wěn)的氣流中被測顆粒物的直徑相當(dāng)于與其具有相同終末沉降速度的密度為1 g/cm3的球形標(biāo)準(zhǔn)顆粒物的直徑[3]。氣溶膠空氣動力學(xué)粒譜儀不僅可以精確測量氣溶膠顆粒物的空氣動力學(xué)粒徑,還可以記錄、統(tǒng)計(jì)相同粒徑大小的粒子數(shù)目。系統(tǒng)設(shè)計(jì)要求粒徑0.5 μm的氣溶膠粒子檢測濃度最高可達(dá)1 500 pt/cm3,當(dāng)儀器的采樣氣流量控制在1 L/min時(shí),粒徑0.5 μm的粒子數(shù)目每分鐘最高可達(dá)到1.5×106個(gè),則每秒鐘需要檢測的氣溶膠顆粒物最高達(dá)25 000個(gè)。為了實(shí)現(xiàn)連續(xù)、實(shí)時(shí)、在線測量,大量粒子的快速識別和存儲對電子學(xué)信號處理提出了較高的要求。這里以FPGA(Filed-Programmable Gate Array)為核心控制器來設(shè)計(jì)高速大容量數(shù)據(jù)存儲系統(tǒng)。FPGA技術(shù)已廣泛應(yīng)用于當(dāng)今數(shù)字電路設(shè)計(jì)領(lǐng)域,而基于FPGA的數(shù)據(jù)采集存儲系統(tǒng)就是其典型應(yīng)用[4]。
 當(dāng)前,數(shù)字系統(tǒng)的核心控制芯片通常為單片機(jī)、DSP和FPGA等[4],單片機(jī)的速度較慢,效率低,DSP不擅長對外圍復(fù)雜電路的控制,與單片機(jī)和DSP相比,采用FPGA作為控制芯片具有明顯的優(yōu)點(diǎn),F(xiàn)PGA時(shí)鐘頻率高,硬件邏輯可編程,運(yùn)行速度快,且功耗低、能夠控制較為復(fù)雜的外圍器件等[5],因此FPGA成為目前高性能數(shù)據(jù)采集存儲系統(tǒng)主要使用的控制芯片。
 本文針對空氣動力學(xué)粒譜儀系統(tǒng)研制的需要,采用電子學(xué)多道存儲技術(shù)設(shè)計(jì)了一種基于大規(guī)??删幊踢壿嬁刂破鱂PGA和雙口RAM的高速大容量存儲系統(tǒng),實(shí)現(xiàn)了對氣溶膠粒子快速識別和空氣動力學(xué)粒徑信息的分類計(jì)數(shù)存儲。
1 系統(tǒng)總體設(shè)計(jì)
 氣溶膠空氣動力學(xué)粒譜儀通過復(fù)雜的光學(xué)系統(tǒng)與精確的時(shí)序控制技術(shù)的結(jié)合來完成其測量過程。氣溶膠顆粒物經(jīng)過根據(jù)空氣動力學(xué)原理設(shè)計(jì)的噴口加速進(jìn)入如圖1所示的光學(xué)整形部件中,光學(xué)整形部件產(chǎn)生兩束距離約為100 μm的激光。顆粒物垂直飛行通過,發(fā)生光散射形成雙峰信號,如圖1。基于飛行時(shí)間測量方法的空氣動力學(xué)粒譜儀就是通過測量雙峰信號的峰峰間隔,即飛行時(shí)間 ToF,從而計(jì)算出該氣溶膠粒子的飛行速度。因?yàn)椴煌諝鈩恿W(xué)粒徑的顆粒物具有不同的飛行速度[2],通過對顆粒物飛行時(shí)間的直接測量,計(jì)算出該顆粒物的飛行速度,進(jìn)而實(shí)現(xiàn)該粒子空氣動力學(xué)粒徑大小的測量。

 通過對氣溶膠粒子采樣系統(tǒng)中的殼氣流量和總氣流量的控制[3],可以使氣溶膠粒子經(jīng)空氣動力學(xué)噴口加速后絕大多數(shù)單個(gè)依次通過目標(biāo)光斑測量區(qū),粒子散射產(chǎn)生連續(xù)雙峰信號,此即為有效粒子,其波形如圖2(a)所示??赡苡行┝W雍苄∑渖⑸鋸?qiáng)度不夠大,所產(chǎn)生的信號不能穩(wěn)定在檢測線以上,因此造成單峰信號和虛假的飛行時(shí)間,其轉(zhuǎn)換成電脈沖波形如圖2(b)所示。偶爾也會有粒子重疊產(chǎn)生多于兩峰的情況,所謂粒子重疊就是指在測量時(shí)2個(gè)或多個(gè)粒子同時(shí)進(jìn)入檢測區(qū)域,其波形如圖2(c)所示。重疊事件的結(jié)果產(chǎn)生會干擾粒徑信息并導(dǎo)致粒子濃度測量結(jié)果偏低。同時(shí)儀器還有粒徑測量范圍,對粒子粒徑很大(或者在檢測器內(nèi)紊流或弧線飛行),所需要的飛行時(shí)間超過儀器自身的檢測時(shí)鐘(4 096 ns),造成單獨(dú)的寬峰譜圖,波形圖如圖2(d)所示。單峰、粒子重疊多峰以及大粒子超過檢測時(shí)鐘的粒子都被認(rèn)為是無效粒子,只有雙峰信號是關(guān)心和檢測的重點(diǎn)。為此電子學(xué)系統(tǒng)的設(shè)計(jì)需增加對有效粒子的識別,剔除干擾。粒子識別之后,方可進(jìn)行飛行時(shí)間的快速轉(zhuǎn)化與存儲,進(jìn)而進(jìn)行粒徑大小反演。

    如前所述,1 s內(nèi)需檢測和存儲上萬個(gè)粒子,且粒子的飛行時(shí)間在納秒級,為此作為主控制器的FPGA,要進(jìn)行粒子的快速識別和存儲。系統(tǒng)電子學(xué)整體設(shè)計(jì)框圖如圖3所示。

 


    粒子的散射光信號通過光信號采集電路由信號調(diào)理電路[3]進(jìn)行調(diào)理轉(zhuǎn)換成數(shù)字信號(GATE、DIFF),波形如圖4所示,GATE信號為高電平時(shí)有效,表示有粒子經(jīng)過。圖4為有效粒子的波形情況。相應(yīng)的,如果單峰、多峰情況,轉(zhuǎn)化成數(shù)字信號時(shí),在GATE為高電平期間,DIFF信號分別為單脈沖和多脈沖,此作為粒子識別的依據(jù),對于超大粒子,超過儀器檢測范圍的情況,可以通過定時(shí)計(jì)數(shù)器最高位的溢出進(jìn)行識別。GATE和DIFF分別送至FPGA和高速計(jì)時(shí)邏輯單元。高速計(jì)時(shí)邏輯單元由500 MHz時(shí)鐘電路、計(jì)數(shù)器控制、ECL-TTL高速計(jì)數(shù)器電路所組成,用來測定氣溶膠粒子的飛行時(shí)間,由于時(shí)鐘頻率為500 MHz,計(jì)時(shí)的時(shí)間分辨可達(dá)2 ns物理精度,將測量ECL電平的飛行時(shí)間經(jīng)電平轉(zhuǎn)換成TTL電平后,送至大規(guī)模可編程邏輯控制器FPGA。

    GATE和DIFF信號,一方面送至FPGA作為粒子識別依據(jù),當(dāng)有粒子經(jīng)過時(shí),即GATE為高電平有效時(shí),便對DIFF信號計(jì)數(shù),如果有單個(gè)脈沖識別為事件1,如果有兩個(gè)脈沖識別為事件2,多于兩個(gè)脈沖識別為事件3,另一方面送至高速計(jì)時(shí)邏輯單元,在GATE信號有效期間,當(dāng)?shù)谝粋€(gè)DIFF信號到來時(shí),啟動計(jì)數(shù)器,第二個(gè)DIFF信號關(guān)閉計(jì)數(shù)器。在計(jì)數(shù)器沒有溢出的情況下(如果是超大粒子,計(jì)數(shù)器溢出,識別為事件4),所記錄的飛行時(shí)間(定時(shí)器值),在GATE的下降沿被鎖存,作為FPGA的輸入信號,由FPGA將其轉(zhuǎn)化成相應(yīng)存儲器地址,以便完成電子學(xué)道道存儲[3]。
 具有同一飛行時(shí)間的粒子是具有同一電子學(xué)特征的粒子,反之不同飛行時(shí)間的粒子對應(yīng)不同電子學(xué)特征。所謂電子學(xué)多道存儲是指對具有不同電子學(xué)特征信號的氣溶膠粒子進(jìn)行分類計(jì)數(shù),在所分析信號特征范圍內(nèi),將粒子的特征信號按一定規(guī)則分類,每一類稱為一道,每一道有一個(gè)相應(yīng)的子存儲單元,用來記錄具有該類特征信號的粒子個(gè)數(shù)。一個(gè)子存儲單元對應(yīng)一種飛行時(shí)間的粒子,而子存儲單元的內(nèi)容存儲了該飛行時(shí)間的粒子數(shù)目,因此一個(gè)子存儲單元以及子存儲單元里的內(nèi)容則記錄了該粒子的全部信息。設(shè)計(jì)要求記錄的氣溶膠粒子電子學(xué)特征種數(shù)為32 768種,故至少需具有32 768道(即32 k,地址線數(shù)據(jù)寬度為15位)存儲容量的存儲器來存儲這些氣溶膠粒子信息。因此作為高速核心控制器的FPGA完成的功能如下:
   (1)高速粒子模式識別邏輯;
   (2)飛行時(shí)間與電子學(xué)多道地址信息的高速轉(zhuǎn)換;
   (3)高速存儲器控制信號邏輯,控制高達(dá)32 768道計(jì)數(shù)存儲器以便按空氣動力粒徑大小分類計(jì)數(shù)存儲。
 可見,不同飛行時(shí)間對應(yīng)存儲器RAM的不同存儲單元,具有相同飛行時(shí)間的粒子被統(tǒng)計(jì)在同一存儲單元中。FPGA先快速將不同的電子學(xué)特征粒子信息鎖存在雙口RAM中,然后單片機(jī)從另外一端定時(shí)(單片機(jī)的定時(shí)器2實(shí)現(xiàn))讀取,通過RS232串口傳至上位機(jī),由上位機(jī)完成數(shù)據(jù)實(shí)時(shí)顯示、保存,加以雙端口可以簡化硬件電路的設(shè)計(jì)。同時(shí)單片機(jī)還完成獲取儀器狀態(tài)參數(shù)和進(jìn)行相應(yīng)的控制,以及中斷等。
2 電路實(shí)現(xiàn)
    核心控制器FPGA選用ALTERA公司Cyclone Ⅱ系列EP2C8T144C8N芯片,配置芯片為EPCS4,開發(fā)環(huán)境為Quartus II,設(shè)計(jì)采用硬件編程語言VHDL。整個(gè)邏輯控制分為4個(gè)模塊進(jìn)行設(shè)計(jì),分別為時(shí)鐘分頻模塊(Freq)、粒子事件識別模塊(ShiBie)、飛行時(shí)間地址轉(zhuǎn)換模塊(T-Address)和雙端口RAM的存儲控制模塊(SRAMCtrl)。頂層電路的設(shè)計(jì)如圖5所示。

 時(shí)鐘分頻模塊(Freq):時(shí)鐘輸入clk為50 MHz的有源晶振提供,經(jīng)分頻轉(zhuǎn)化合適時(shí)鐘clock供給存儲控制模塊使用。
 粒子事件識別模塊:在GATE為有效電平期間,對DIFF信號計(jì)數(shù),識別出事件1、事件2和事件3。
 飛行時(shí)間地址轉(zhuǎn)換模塊:ECL-TTL高速計(jì)數(shù)器的最高位T[12]位為1時(shí),飛行時(shí)間為4 096 ns,被認(rèn)為是超大粒子,超出儀器的測量范圍,該信號是以O(shè)RR作為飛行時(shí)間地址轉(zhuǎn)換模塊的一個(gè)輸入信號,用于識別事件4。該模塊在識別出事件1、事件2、事件3和事件4之后轉(zhuǎn)換成相應(yīng)的地址,其中事件2為有效粒子情況,識別為該事件時(shí),將不同飛行時(shí)間T[11..0]輸入轉(zhuǎn)換成不同的存儲器地址信號輸出,識別為事件1、事件3和事件4時(shí)為少數(shù)粒子的干擾情況,分別產(chǎn)生一固定的存儲器地址信號輸出。
    雙端口RAM的存儲控制模塊:該模塊的主要功能是完成對內(nèi)存RAM的控制[6-10]。由于兩粒子之間的時(shí)間間隔很短(GATE為低電平期間),在納秒量級,在如此短的時(shí)間內(nèi)完成內(nèi)存的讀寫控制以及復(fù)位等,是存儲器設(shè)計(jì)的一個(gè)難點(diǎn)。CYPRESS公司研制的64 K×16位高速低功耗CMOS型靜態(tài)雙口RAM芯片CY7C028可以滿足存儲設(shè)計(jì)的要求,一方面其存儲器的最大訪問時(shí)間12/15/20 ns,另一方面由于其容量高達(dá)64 KB,可以滿足存儲具有32 768種電子學(xué)特征信號的粒子信息,同時(shí)數(shù)據(jù)總線寬度為16位,故每一內(nèi)存單元可以記錄的同一特征粒子數(shù)高達(dá)65 535個(gè)。而且配有雙端口,可以不必修改已設(shè)計(jì)完成的單片機(jī)端而擴(kuò)展存儲器訪問控制功能,縮短開發(fā)周期[11]。出于儀器開發(fā)成本的考慮,下一目標(biāo)是在FPGA內(nèi)部實(shí)現(xiàn)雙口RAM的功能,節(jié)省硬件雙口RAM成本消耗。目前,為縮短開發(fā)周期,使用外部雙口RAM,在FPGA內(nèi)部采用狀態(tài)機(jī)進(jìn)行內(nèi)存的訪問控制。雙口RAM訪問控制時(shí),首先要注意最重要的問題是RAM兩端的控制器同時(shí)訪問同一內(nèi)存單元而產(chǎn)生的競爭問題,其次就是要注意由于FPGA端與RAM連接的數(shù)據(jù)總線是雙向的,在空閑和讀取之前要注意賦值為高阻態(tài)。整個(gè)系統(tǒng)設(shè)計(jì)的流程如圖6所示。

     Quartus II仿真波形結(jié)果如圖7所示。

    在GATE信號為高電平期間對DIFF信號進(jìn)行計(jì)數(shù),如果DIFF脈沖數(shù)為2,粒子識別為事件2,便在DATE信號的下降沿鎖存飛行時(shí)間T,由T-Address模塊將其轉(zhuǎn)換成地址信號的輸出ADDR(如圖7中的192和512),然后由存儲控制模塊完成讀寫控制后,發(fā)出復(fù)位信號對時(shí)間T進(jìn)行清零,從而完成一次操作。如果GATE為高電平時(shí),DIFF脈沖的個(gè)數(shù)為1或者3時(shí),分別產(chǎn)生一固定地址輸出。如圖7中所示,DIFF為3時(shí),地址固定輸出為1 023,盡管T值為384,DIFF為1時(shí)同理??梢?,仿真波形結(jié)果與實(shí)際設(shè)計(jì)要求結(jié)果一致。
3 實(shí)驗(yàn)結(jié)果分析
    目前,該存儲系統(tǒng)已運(yùn)行于本研究所自行研發(fā)的空氣動力學(xué)粒譜儀中。圖8給出了實(shí)測的顆粒物飛行時(shí)間譜分布結(jié)果,測量時(shí)間為2010年6月18日,地點(diǎn)為安徽省合肥市科學(xué)島中科院安徽光機(jī)所大樓室內(nèi),圖中橫坐標(biāo)代表氣溶膠粒子的飛行時(shí)間,單位為納秒(ns),縱坐標(biāo)代表各個(gè)不同飛行時(shí)間對應(yīng)的氣溶膠粒子數(shù),單位為個(gè)(pt)。其中,采樣氣流1 L/min(總氣流51 L/min,殼氣流41 L/min),采樣時(shí)間為30 s,將各個(gè)飛行時(shí)間粒子的粒子數(shù)相加求和得粒子總數(shù)為233 047個(gè)。圖中,實(shí)測氣溶膠粒子飛行時(shí)間譜的分布符合大氣氣溶膠常規(guī)分布這一特征,即氣溶膠粒子粒徑分布不完全是正態(tài)分布,而只是接近正態(tài)分布的特征[4]。


    針對空氣動力學(xué)粒譜儀系統(tǒng)研制的需要,采用電子學(xué)多道存儲技術(shù)設(shè)計(jì)了一種基于核心控制器FPGA和雙口RAM的高速大容量存儲系統(tǒng),實(shí)現(xiàn)了對氣溶膠粒子的識別和空氣動力學(xué)粒徑信息的分類計(jì)數(shù)、存儲,存儲容量高達(dá)32 768道,每道計(jì)數(shù)深度達(dá)65 535個(gè)(16 bit),完全滿足氣溶膠粒子的特征和個(gè)數(shù)要求。FPGA時(shí)鐘頻率高達(dá)50 MHz,完全能夠?qū)崿F(xiàn)對大量粒子的快速識別和飛行時(shí)間在納秒級的地址轉(zhuǎn)換存儲,另外FPGA采用內(nèi)部硬件電路完成邏輯控制,所以工作穩(wěn)定可靠,且功耗低。經(jīng)過實(shí)際運(yùn)行驗(yàn)證,該存儲系統(tǒng)完全滿足儀器連續(xù)、實(shí)時(shí)、在線監(jiān)測的要求,工作穩(wěn)定可靠,實(shí)現(xiàn)了對氣溶膠粒徑測量,廣泛應(yīng)用于環(huán)境空氣質(zhì)量監(jiān)測、潔凈室檢測、氣溶膠特性研究及對大氣傳輸特性的研究等領(lǐng)域。
參考文獻(xiàn)
[1] 李學(xué)彬,宮純文,徐青山,等.氣溶膠細(xì)粒子與能見度的相關(guān)性[J]. 光學(xué)精密工程,2008,16(7):1177-1180.
[2] 黃書華,劉建國,劉文青,等.基于微分法精確測量氣溶膠飛行時(shí)間的新方法[J]. 光學(xué)學(xué)報(bào),2009,29(9):2347-2350.
[3] 連悅.氣溶膠粒譜分布于熒光特性測量的關(guān)鍵技術(shù)研究[D].合肥:中國科學(xué)院安徽光學(xué)精密機(jī)械研究所,2005.
[4] 熊小川,常進(jìn),張昆峰.基于PPGA的高精度數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)[J].微計(jì)算機(jī)信息,2009,25(82):136-138.
[5] 楊海鋼,孫嘉斌,王慰.FPGA器件設(shè)計(jì)技術(shù)發(fā)展綜述[J].電子與信息學(xué)報(bào),2010,32(3):714-727.
[6] 李曉坤,劉百玉,歐陽嫻.基于FPGA和SRAM的智能點(diǎn)膠控制系統(tǒng)設(shè)計(jì)[J]. 儀器儀表學(xué)報(bào),2009,30(7):1378-1384.
[7] 佟力永,肖山竹.基于FPGA和SRAM的數(shù)控振蕩器的設(shè)計(jì)與實(shí)現(xiàn)[J].國外電子元器件,2006,(1):22-25.
[8] 劉耀,梅大成,于珍珠.QDR SRAM 控制器的設(shè)計(jì)與FPGA實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2007,30(2):11-16.
[9] 黎玉剛,張英敏,付強(qiáng)文.雙口RAM在組合導(dǎo)航系統(tǒng)中的應(yīng)用[J].電子技術(shù)應(yīng)用,2005,31(9):71-74.
[10] 李樂,熊志輝,王斌,等. DSP+FPGA折反射全景視頻處理系統(tǒng)中雙高速核數(shù)據(jù)通信[J].電子與信息學(xué)報(bào),2010,32(3):649-654.
[11] 朱飛,楊平.AVR單片機(jī)C語言開發(fā)入門與典型實(shí)例[M].北京:人民郵電出版社,2001:14-15.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。