文獻標識碼:A
文章編號: 0258-7998(2011)05-0086-04
大氣氣溶膠在大氣輻射、空氣污染、大氣物理化學性質、人類健康狀況等方面扮演著重要角色,是衡量大氣污染狀況的重要指標[1]。研究表明,氣溶膠粒子因其空氣動力學粒徑不同而滯留在人體呼吸道的不同部位,大于5 μm的氣溶膠粒子滯留在上呼吸道,小于5 μm多滯留在氣管、支氣管和肺泡內,對人類的健康危害很大[2]。因此,持續有效地監測氣溶膠粒子粒徑分布信息具有重要意義。為了連續、實時、在線測量氣溶膠粒徑分布,本課題組開展了基于飛行時間ToF(Time-of-Flight)測量原理[2]的氣溶膠空氣動力學粒徑譜儀系統的研制。
空氣動力學粒徑是一當量概念,它是指在低雷諾數的氣流中與單位密度球(ρ=1 g/cm3)具有相同終末沉降速度的顆粒直徑,也就是指在較平穩的氣流中被測顆粒物的直徑相當于與其具有相同終末沉降速度的密度為1 g/cm3的球形標準顆粒物的直徑[3]。氣溶膠空氣動力學粒譜儀不僅可以精確測量氣溶膠顆粒物的空氣動力學粒徑,還可以記錄、統計相同粒徑大小的粒子數目。系統設計要求粒徑0.5 μm的氣溶膠粒子檢測濃度最高可達1 500 pt/cm3,當儀器的采樣氣流量控制在1 L/min時,粒徑0.5 μm的粒子數目每分鐘最高可達到1.5×106個,則每秒鐘需要檢測的氣溶膠顆粒物最高達25 000個。為了實現連續、實時、在線測量,大量粒子的快速識別和存儲對電子學信號處理提出了較高的要求。這里以FPGA(Filed-Programmable Gate Array)為核心控制器來設計高速大容量數據存儲系統。FPGA技術已廣泛應用于當今數字電路設計領域,而基于FPGA的數據采集存儲系統就是其典型應用[4]。
當前,數字系統的核心控制芯片通常為單片機、DSP和FPGA等[4],單片機的速度較慢,效率低,DSP不擅長對外圍復雜電路的控制,與單片機和DSP相比,采用FPGA作為控制芯片具有明顯的優點,FPGA時鐘頻率高,硬件邏輯可編程,運行速度快,且功耗低、能夠控制較為復雜的外圍器件等[5],因此FPGA成為目前高性能數據采集存儲系統主要使用的控制芯片。
本文針對空氣動力學粒譜儀系統研制的需要,采用電子學多道存儲技術設計了一種基于大規模可編程邏輯控制器FPGA和雙口RAM的高速大容量存儲系統,實現了對氣溶膠粒子快速識別和空氣動力學粒徑信息的分類計數存儲。
1 系統總體設計
氣溶膠空氣動力學粒譜儀通過復雜的光學系統與精確的時序控制技術的結合來完成其測量過程。氣溶膠顆粒物經過根據空氣動力學原理設計的噴口加速進入如圖1所示的光學整形部件中,光學整形部件產生兩束距離約為100 μm的激光。顆粒物垂直飛行通過,發生光散射形成雙峰信號,如圖1。基于飛行時間測量方法的空氣動力學粒譜儀就是通過測量雙峰信號的峰峰間隔,即飛行時間 ToF,從而計算出該氣溶膠粒子的飛行速度。因為不同空氣動力學粒徑的顆粒物具有不同的飛行速度[2],通過對顆粒物飛行時間的直接測量,計算出該顆粒物的飛行速度,進而實現該粒子空氣動力學粒徑大小的測量。
通過對氣溶膠粒子采樣系統中的殼氣流量和總氣流量的控制[3],可以使氣溶膠粒子經空氣動力學噴口加速后絕大多數單個依次通過目標光斑測量區,粒子散射產生連續雙峰信號,此即為有效粒子,其波形如圖2(a)所示。可能有些粒子很小其散射強度不夠大,所產生的信號不能穩定在檢測線以上,因此造成單峰信號和虛假的飛行時間,其轉換成電脈沖波形如圖2(b)所示。偶爾也會有粒子重疊產生多于兩峰的情況,所謂粒子重疊就是指在測量時2個或多個粒子同時進入檢測區域,其波形如圖2(c)所示。重疊事件的結果產生會干擾粒徑信息并導致粒子濃度測量結果偏低。同時儀器還有粒徑測量范圍,對粒子粒徑很大(或者在檢測器內紊流或弧線飛行),所需要的飛行時間超過儀器自身的檢測時鐘(4 096 ns),造成單獨的寬峰譜圖,波形圖如圖2(d)所示。單峰、粒子重疊多峰以及大粒子超過檢測時鐘的粒子都被認為是無效粒子,只有雙峰信號是關心和檢測的重點。為此電子學系統的設計需增加對有效粒子的識別,剔除干擾。粒子識別之后,方可進行飛行時間的快速轉化與存儲,進而進行粒徑大小反演。
如前所述,1 s內需檢測和存儲上萬個粒子,且粒子的飛行時間在納秒級,為此作為主控制器的FPGA,要進行粒子的快速識別和存儲。系統電子學整體設計框圖如圖3所示。
粒子的散射光信號通過光信號采集電路由信號調理電路[3]進行調理轉換成數字信號(GATE、DIFF),波形如圖4所示,GATE信號為高電平時有效,表示有粒子經過。圖4為有效粒子的波形情況。相應的,如果單峰、多峰情況,轉化成數字信號時,在GATE為高電平期間,DIFF信號分別為單脈沖和多脈沖,此作為粒子識別的依據,對于超大粒子,超過儀器檢測范圍的情況,可以通過定時計數器最高位的溢出進行識別。GATE和DIFF分別送至FPGA和高速計時邏輯單元。高速計時邏輯單元由500 MHz時鐘電路、計數器控制、ECL-TTL高速計數器電路所組成,用來測定氣溶膠粒子的飛行時間,由于時鐘頻率為500 MHz,計時的時間分辨可達2 ns物理精度,將測量ECL電平的飛行時間經電平轉換成TTL電平后,送至大規模可編程邏輯控制器FPGA。
GATE和DIFF信號,一方面送至FPGA作為粒子識別依據,當有粒子經過時,即GATE為高電平有效時,便對DIFF信號計數,如果有單個脈沖識別為事件1,如果有兩個脈沖識別為事件2,多于兩個脈沖識別為事件3,另一方面送至高速計時邏輯單元,在GATE信號有效期間,當第一個DIFF信號到來時,啟動計數器,第二個DIFF信號關閉計數器。在計數器沒有溢出的情況下(如果是超大粒子,計數器溢出,識別為事件4),所記錄的飛行時間(定時器值),在GATE的下降沿被鎖存,作為FPGA的輸入信號,由FPGA將其轉化成相應存儲器地址,以便完成電子學道道存儲[3]。
具有同一飛行時間的粒子是具有同一電子學特征的粒子,反之不同飛行時間的粒子對應不同電子學特征。所謂電子學多道存儲是指對具有不同電子學特征信號的氣溶膠粒子進行分類計數,在所分析信號特征范圍內,將粒子的特征信號按一定規則分類,每一類稱為一道,每一道有一個相應的子存儲單元,用來記錄具有該類特征信號的粒子個數。一個子存儲單元對應一種飛行時間的粒子,而子存儲單元的內容存儲了該飛行時間的粒子數目,因此一個子存儲單元以及子存儲單元里的內容則記錄了該粒子的全部信息。設計要求記錄的氣溶膠粒子電子學特征種數為32 768種,故至少需具有32 768道(即32 k,地址線數據寬度為15位)存儲容量的存儲器來存儲這些氣溶膠粒子信息。因此作為高速核心控制器的FPGA完成的功能如下:
(1)高速粒子模式識別邏輯;
(2)飛行時間與電子學多道地址信息的高速轉換;
(3)高速存儲器控制信號邏輯,控制高達32 768道計數存儲器以便按空氣動力粒徑大小分類計數存儲。
可見,不同飛行時間對應存儲器RAM的不同存儲單元,具有相同飛行時間的粒子被統計在同一存儲單元中。FPGA先快速將不同的電子學特征粒子信息鎖存在雙口RAM中,然后單片機從另外一端定時(單片機的定時器2實現)讀取,通過RS232串口傳至上位機,由上位機完成數據實時顯示、保存,加以雙端口可以簡化硬件電路的設計。同時單片機還完成獲取儀器狀態參數和進行相應的控制,以及中斷等。
2 電路實現
核心控制器FPGA選用ALTERA公司Cyclone Ⅱ系列EP2C8T144C8N芯片,配置芯片為EPCS4,開發環境為Quartus II,設計采用硬件編程語言VHDL。整個邏輯控制分為4個模塊進行設計,分別為時鐘分頻模塊(Freq)、粒子事件識別模塊(ShiBie)、飛行時間地址轉換模塊(T-Address)和雙端口RAM的存儲控制模塊(SRAMCtrl)。頂層電路的設計如圖5所示。
時鐘分頻模塊(Freq):時鐘輸入clk為50 MHz的有源晶振提供,經分頻轉化合適時鐘clock供給存儲控制模塊使用。
粒子事件識別模塊:在GATE為有效電平期間,對DIFF信號計數,識別出事件1、事件2和事件3。
飛行時間地址轉換模塊:ECL-TTL高速計數器的最高位T[12]位為1時,飛行時間為4 096 ns,被認為是超大粒子,超出儀器的測量范圍,該信號是以ORR作為飛行時間地址轉換模塊的一個輸入信號,用于識別事件4。該模塊在識別出事件1、事件2、事件3和事件4之后轉換成相應的地址,其中事件2為有效粒子情況,識別為該事件時,將不同飛行時間T[11..0]輸入轉換成不同的存儲器地址信號輸出,識別為事件1、事件3和事件4時為少數粒子的干擾情況,分別產生一固定的存儲器地址信號輸出。
雙端口RAM的存儲控制模塊:該模塊的主要功能是完成對內存RAM的控制[6-10]。由于兩粒子之間的時間間隔很短(GATE為低電平期間),在納秒量級,在如此短的時間內完成內存的讀寫控制以及復位等,是存儲器設計的一個難點。CYPRESS公司研制的64 K×16位高速低功耗CMOS型靜態雙口RAM芯片CY7C028可以滿足存儲設計的要求,一方面其存儲器的最大訪問時間12/15/20 ns,另一方面由于其容量高達64 KB,可以滿足存儲具有32 768種電子學特征信號的粒子信息,同時數據總線寬度為16位,故每一內存單元可以記錄的同一特征粒子數高達65 535個。而且配有雙端口,可以不必修改已設計完成的單片機端而擴展存儲器訪問控制功能,縮短開發周期[11]。出于儀器開發成本的考慮,下一目標是在FPGA內部實現雙口RAM的功能,節省硬件雙口RAM成本消耗。目前,為縮短開發周期,使用外部雙口RAM,在FPGA內部采用狀態機進行內存的訪問控制。雙口RAM訪問控制時,首先要注意最重要的問題是RAM兩端的控制器同時訪問同一內存單元而產生的競爭問題,其次就是要注意由于FPGA端與RAM連接的數據總線是雙向的,在空閑和讀取之前要注意賦值為高阻態。整個系統設計的流程如圖6所示。
Quartus II仿真波形結果如圖7所示。
在GATE信號為高電平期間對DIFF信號進行計數,如果DIFF脈沖數為2,粒子識別為事件2,便在DATE信號的下降沿鎖存飛行時間T,由T-Address模塊將其轉換成地址信號的輸出ADDR(如圖7中的192和512),然后由存儲控制模塊完成讀寫控制后,發出復位信號對時間T進行清零,從而完成一次操作。如果GATE為高電平時,DIFF脈沖的個數為1或者3時,分別產生一固定地址輸出。如圖7中所示,DIFF為3時,地址固定輸出為1 023,盡管T值為384,DIFF為1時同理。可見,仿真波形結果與實際設計要求結果一致。
3 實驗結果分析
目前,該存儲系統已運行于本研究所自行研發的空氣動力學粒譜儀中。圖8給出了實測的顆粒物飛行時間譜分布結果,測量時間為2010年6月18日,地點為安徽省合肥市科學島中科院安徽光機所大樓室內,圖中橫坐標代表氣溶膠粒子的飛行時間,單位為納秒(ns),縱坐標代表各個不同飛行時間對應的氣溶膠粒子數,單位為個(pt)。其中,采樣氣流1 L/min(總氣流51 L/min,殼氣流41 L/min),采樣時間為30 s,將各個飛行時間粒子的粒子數相加求和得粒子總數為233 047個。圖中,實測氣溶膠粒子飛行時間譜的分布符合大氣氣溶膠常規分布這一特征,即氣溶膠粒子粒徑分布不完全是正態分布,而只是接近正態分布的特征[4]。
針對空氣動力學粒譜儀系統研制的需要,采用電子學多道存儲技術設計了一種基于核心控制器FPGA和雙口RAM的高速大容量存儲系統,實現了對氣溶膠粒子的識別和空氣動力學粒徑信息的分類計數、存儲,存儲容量高達32 768道,每道計數深度達65 535個(16 bit),完全滿足氣溶膠粒子的特征和個數要求。FPGA時鐘頻率高達50 MHz,完全能夠實現對大量粒子的快速識別和飛行時間在納秒級的地址轉換存儲,另外FPGA采用內部硬件電路完成邏輯控制,所以工作穩定可靠,且功耗低。經過實際運行驗證,該存儲系統完全滿足儀器連續、實時、在線監測的要求,工作穩定可靠,實現了對氣溶膠粒徑測量,廣泛應用于環境空氣質量監測、潔凈室檢測、氣溶膠特性研究及對大氣傳輸特性的研究等領域。
參考文獻
[1] 李學彬,宮純文,徐青山,等.氣溶膠細粒子與能見度的相關性[J]. 光學精密工程,2008,16(7):1177-1180.
[2] 黃書華,劉建國,劉文青,等.基于微分法精確測量氣溶膠飛行時間的新方法[J]. 光學學報,2009,29(9):2347-2350.
[3] 連悅.氣溶膠粒譜分布于熒光特性測量的關鍵技術研究[D].合肥:中國科學院安徽光學精密機械研究所,2005.
[4] 熊小川,常進,張昆峰.基于PPGA的高精度數據采集系統的設計[J].微計算機信息,2009,25(82):136-138.
[5] 楊海鋼,孫嘉斌,王慰.FPGA器件設計技術發展綜述[J].電子與信息學報,2010,32(3):714-727.
[6] 李曉坤,劉百玉,歐陽嫻.基于FPGA和SRAM的智能點膠控制系統設計[J]. 儀器儀表學報,2009,30(7):1378-1384.
[7] 佟力永,肖山竹.基于FPGA和SRAM的數控振蕩器的設計與實現[J].國外電子元器件,2006,(1):22-25.
[8] 劉耀,梅大成,于珍珠.QDR SRAM 控制器的設計與FPGA實現[J].現代電子技術,2007,30(2):11-16.
[9] 黎玉剛,張英敏,付強文.雙口RAM在組合導航系統中的應用[J].電子技術應用,2005,31(9):71-74.
[10] 李樂,熊志輝,王斌,等. DSP+FPGA折反射全景視頻處理系統中雙高速核數據通信[J].電子與信息學報,2010,32(3):649-654.
[11] 朱飛,楊平.AVR單片機C語言開發入門與典型實例[M].北京:人民郵電出版社,2001:14-15.