引言
隨著現(xiàn)代科學(xué)技術(shù)的日益發(fā)展,顆粒尺寸及其分布在諸如石油、冶金、制藥、建材等領(lǐng)域占據(jù)著越來越重要的地位。激光粒度儀就是用來測量微小顆粒尺寸及其分布的儀器,其基本原理是光的衍射理論。數(shù)據(jù)采集系統(tǒng)對激光粒度儀的光電探測器上光能信號的采集速度是激光粒度儀的性能指標(biāo)之一,一般來說采集速度越快測量結(jié)果的準(zhǔn)確性、重復(fù)性和穩(wěn)定性越好[2]。隨著各種新型光電探測器的不斷出現(xiàn),原有的數(shù)據(jù)采集系統(tǒng)需要重新設(shè)計升級。在新的設(shè)計方案中,數(shù)據(jù)采集系統(tǒng)的模擬通道容量增加到了 112路,并且系統(tǒng)的采集速度也有了大幅度的提高。
FPGA具有硬件資源豐富、設(shè)計靈活等特點,適用于數(shù)據(jù)通訊、數(shù)據(jù)采集和系統(tǒng)控制中,特別是它的并行結(jié)構(gòu)和算術(shù)運算的特點,已越來越受到科技開發(fā)人員的青睞,被廣泛應(yīng)用到數(shù)據(jù)信號處理當(dāng)中。對本系統(tǒng)而言, FPGA作為一種可編程、可重配置的數(shù)字集成電路,為實現(xiàn)系統(tǒng)的設(shè)計目標(biāo)提供了有力的保證。
1 系統(tǒng)硬件設(shè)計
根據(jù)激光粒度儀的應(yīng)用場合,本數(shù)據(jù)采集系統(tǒng)采用單通道采集的方案,它主要由模擬部分、數(shù)字部分和接口部分三部分組成。其中模擬部分包括光電探測器、電信號放大、多路選通、信號調(diào)理和 12位 AD轉(zhuǎn)換,數(shù)字部分則完全在 FPGA內(nèi)部實現(xiàn),接口部分主要是計算機的 PCI總線接口。系統(tǒng)組成框圖如圖 1所示。
光電探測器電信號放大
激光粒度儀所用的光電探測器是由多個同心的光敏環(huán)組成的,每一光敏環(huán)輸出的模擬電信號反映了照射到該環(huán)上的光能量大小。隨著對激光粒度測量研究的不斷深入,天津大學(xué)研制的 LSA系列激光粒度儀的光電探測器組件,其模擬輸出已經(jīng)發(fā)展到 96路之多[3]。為實現(xiàn)對這么多路模擬信號的采集,多路選通采用七片 16選 1模擬開關(guān) DG406和一片 8 選 1模擬開關(guān) MAX308組成雙層級聯(lián)結(jié)構(gòu),共可容納 112路模擬信號,它的地址信號是由 FPGA提供的。AD轉(zhuǎn)換芯片是數(shù)據(jù)采集系統(tǒng)的關(guān)鍵器件,采用 ADI公司的 12位逐次逼近型模數(shù)轉(zhuǎn)換芯片 AD7321,在本文中該芯片使用其內(nèi)部的 2.5V參考電壓,模擬輸入范圍選擇為 0~10V,它使用由 FPGA分頻產(chǎn)生的 8.3MHz時鐘信號,這樣該芯片可在 2μs內(nèi)完成一次模數(shù)轉(zhuǎn)換。若連續(xù)兩次采樣間隔的時間設(shè)置為 2μs,則系統(tǒng)的數(shù)據(jù)平均傳輸速率可達(dá)到3Mbps。
2 系統(tǒng)軟件設(shè)計
2.1 FPGA內(nèi)部邏輯設(shè)計
本文采用了片上系統(tǒng)的設(shè)計理念,在 FPGA內(nèi)部設(shè)計了所有所需的數(shù)字邏輯,可以實現(xiàn)數(shù)據(jù)采集控制、數(shù)據(jù)存儲和 PCI接口方式的數(shù)據(jù)傳輸?shù)裙δ堋T诒痉桨钢校到y(tǒng)初始化后,首先上位機將采集的參數(shù)信息(模擬通道數(shù)、采樣方式、AD7321工作模式等等)通過 PCI總線送給 FPGA中,F(xiàn)PGA再根據(jù)這些參數(shù)信息控制多路開關(guān)和 AD7321的工作,完成數(shù)據(jù)采集任務(wù)。采集過程中 FPGA將 AD轉(zhuǎn)換得到的數(shù)據(jù)存入其內(nèi)部的 FIFO中,當(dāng) FIFO快滿時,它向上位機產(chǎn)生中斷,上位機再通過 PCI總線讀取 FIFO中的數(shù)據(jù)。
根據(jù)以上的設(shè)計思想,整個 FPGA內(nèi)部邏輯的設(shè)計框圖如圖 2所示。本文中 FPGA選用 ALTERA公司的 EP2C5Q208C7芯片,采用自頂向下的設(shè)計方法,使用 Quartus II 7.0 等相關(guān)軟件進(jìn)行硬件代碼的開發(fā)。下面給出各模塊的設(shè)計過程。
1)PCI_t32模塊。該模塊是采用 ALTERA公司的 32位 PCI TARGET接口宏核邏輯,它支持 PCI配置空間讀寫、內(nèi)存方式讀寫和 I/O方式讀寫,支持可參數(shù)化的配置寄存器,具有奇偶校驗功能,能提供靈活的本地端接口,可以將復(fù)雜的、電氣和時序要求高的 PCI總線邏輯轉(zhuǎn)換為易于操作的本地接口邏輯[4]。
2)本地控制模塊。該模塊主要由一個能根據(jù) PCI_t32的控制信號和 FIFO的狀態(tài)跳轉(zhuǎn)的有限狀態(tài)機實現(xiàn)。它主要負(fù)責(zé)控制 PCI_t32和 FIFO之間的數(shù)據(jù)傳送以及協(xié)調(diào)數(shù)據(jù)傳輸路徑上其它相關(guān)模塊的工作。當(dāng) FIFO快滿時,該模塊將產(chǎn)生中斷信號通知上位機讀取 FIFO中的數(shù)據(jù)。
3)命令寄存器模塊。該模塊用來保存并譯碼由計算機傳來的 16位命令字,配置 AD轉(zhuǎn)換控制模塊和地址輸出模塊的工作方式。這 16位命令字包含要采集的模擬通道數(shù)、AD7321工作模式和是否允許硬件中斷等信息。 4)AD轉(zhuǎn)換控制模塊。該模塊可輸出 AD7321所需的 SPI總線接口、片選信號和 8.3MHz時鐘信號,其內(nèi)部主要由一個狀態(tài)機和兩個 16位移位寄存器組成。其中移位寄存器可以將 AD7321送來的 16位串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)存入 FIFO中,也可以將命令寄存器模塊中的配置數(shù)據(jù)串行的發(fā)送給 AD7321芯片,狀態(tài)機將兩次 AD轉(zhuǎn)換的間隔時間設(shè)置為 2μs。
5)地址輸出模塊。該模塊提供多路模擬開關(guān)的片選和地址信號,其內(nèi)部主要由一個地址計數(shù)器組成,當(dāng) AD轉(zhuǎn)換控制模塊完成一路數(shù)據(jù)的采集時它會自動加 1。 6)PLL和四分頻模塊。 PLL是 FPGA的模擬鎖相環(huán),它工作于 Normal模式下,給其他模塊提供全局時鐘信號。四分頻模塊用來對 33MHz的時鐘信號四分頻,產(chǎn)生 AD轉(zhuǎn)換控制模塊所需的 8.3MHz時鐘。
在設(shè)計中需要特別注意的是異步時鐘域之間的數(shù)據(jù)同步問題,尤其是 AD轉(zhuǎn)換控制模塊和 FIFO之間的數(shù)據(jù)傳遞。本文中參考了通常所說的用寄存器打兩次的方法,在 33MHz的時鐘域中采用兩個寄存器采樣 AD轉(zhuǎn)換控制模塊的控制信號,并利用一個同或門檢測兩個寄存器輸出是否一致,再根據(jù)同或門的輸出信號就可以實現(xiàn)這兩個模塊之間的數(shù)據(jù)傳遞。
2.2 PCI驅(qū)動程序設(shè)計
硬件系統(tǒng)一般都需要軟件的支持才能實現(xiàn)系統(tǒng)的設(shè)計功能,驅(qū)動程序就是控制硬件設(shè)備的一組函數(shù)。本系統(tǒng)的驅(qū)動程序的開發(fā)使用的是 Jungo公司的 WinDriver集成開發(fā)包,它可以自動生成設(shè)備的信息定向文件.INF和系統(tǒng)文件 WINPNP.SYS。利用 WinDriver 9.01開發(fā)設(shè)備驅(qū)動程序時,驅(qū)動程序中的所有函數(shù)都是工作在用戶態(tài)下的,因此不需要熟悉操作系統(tǒng)的內(nèi)核。本文在 Visual C++ 6.0的平臺下,通過一個動態(tài)鏈接庫 wdapi901.dll調(diào)用 WinDriver提供的 API函數(shù)來編寫設(shè)備的驅(qū)動程序,實現(xiàn)了用戶程序?qū)τ布牟僮鳌F滠浖鞒虉D如圖 3所示。
3實驗結(jié)果與分析
由天津大學(xué)研制的 LSA-III型激光粒度儀可測粒徑范圍為 6μm-2000μm,其光電探測器由 32個同心光敏環(huán)和 1個位于中心的光敏點組成。由于本系統(tǒng)可以軟件選擇模擬通道數(shù),因此只要將計算機發(fā)送到命令寄存器模塊中的命令的模擬通道數(shù)改為 33就可以應(yīng)用到該儀器上。在 LSA-III型激光粒度儀上使用焦距為 300mm的傅立葉物鏡對標(biāo)準(zhǔn)粒子板進(jìn)行測試,利用 R-R分布模型處理得到的數(shù)據(jù),對標(biāo)準(zhǔn)粒子板測量 5次的試驗結(jié)果如表 1所示。其中 D50表示小于該直徑的粒子體積占粒子總體積的 50%,D10和 D90的意義與此類似 [5]。變異系數(shù) Cv和相對誤差△是 ISO13320標(biāo)準(zhǔn)的指標(biāo),其中 Cv用來衡量測量的重復(fù)性,△用來衡量測量的準(zhǔn)確性。
由表 1數(shù)據(jù)可知, D50的變異系數(shù)和相對誤差均在1.5%以內(nèi), D10和 D90的變異系數(shù)和相對誤差均在3.5%以內(nèi),符合 ISO13320標(biāo)準(zhǔn)對重復(fù)性和準(zhǔn)確性的規(guī)定。試驗表明該系統(tǒng)在對顆粒粒徑的測量中表現(xiàn)穩(wěn)定,結(jié)果準(zhǔn)確,完全滿足了激光粒度測試系統(tǒng)的要求。
4結(jié)語
本文創(chuàng)新點:本文以 FPGA為核心為 LSA系列激光粒度儀量身定制的數(shù)據(jù)采集系統(tǒng),實現(xiàn)了 PCI總線方式的數(shù)據(jù)采集與傳輸。系統(tǒng)可在 0-112路范圍內(nèi)軟件選擇模擬通道的采集路數(shù)和 AD7321芯片的工作方式,這使得系統(tǒng)具有了一定的通用性,適應(yīng)了目前光電探測器越來越復(fù)雜的趨勢。將該系統(tǒng)應(yīng)用到 LSA-III型激光粒度儀上時,系統(tǒng)對光電探測器的采樣速率可達(dá)到 7.5Ksps,數(shù)據(jù)平均傳輸速率可達(dá)到 3Mbps。另外,由于設(shè)計中貫穿了 SOC的設(shè)計理念,系統(tǒng)還具有集成度高、成本低、升級方便、使用靈活等優(yōu)點。該項目已經(jīng)在激光粒度儀中得到應(yīng)用,產(chǎn)生的直接經(jīng)濟(jì)效益達(dá) 6萬元。
-
FPGA
+關(guān)注
關(guān)注
1629文章
21742瀏覽量
603538 -
測試儀
+關(guān)注
關(guān)注
6文章
3737瀏覽量
54875 -
數(shù)據(jù)采集
+關(guān)注
關(guān)注
39文章
6114瀏覽量
113681
發(fā)布評論請先 登錄
相關(guān)推薦
評論