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

評論