專利名稱:基于fpga的時(shí)間間隔測(cè)量?jī)x的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于數(shù)據(jù)采集技術(shù)領(lǐng)域,具體涉及一種基于FPGA的時(shí)間間隔測(cè)量?jī)x,用于測(cè)量一 個(gè)起始脈沖和多個(gè)停止脈沖之間的時(shí)間間隔以及停止脈沖的脈沖寬度。
背景技術(shù):
精密時(shí)間間隔測(cè)量廣泛地應(yīng)用于各種科學(xué)試驗(yàn)中,用作時(shí)間間隔測(cè)量的儀器包括通用計(jì) 數(shù)器、數(shù)字存儲(chǔ)示波器、多通道時(shí)間間隔測(cè)量?jī)x都有各自的特點(diǎn)。通用計(jì)數(shù)器價(jià)格昂貴,操 作不便、測(cè)量通道很少,已逐漸退出時(shí)間間隔測(cè)量的場(chǎng)合。示波器一直在電子測(cè)量?jī)x器中占 領(lǐng)著主要的地位,但獨(dú)立的測(cè)試點(diǎn)數(shù)量達(dá)到幾十幾百個(gè)時(shí),示波器的通道數(shù)量就顯得過少, 幾百個(gè)測(cè)試點(diǎn)就需要購(gòu)買上百臺(tái)示波器,價(jià)格相當(dāng)昂貴。示波器雖然有強(qiáng)大的功能,但在作 專門用來作多路時(shí)間間隔測(cè)量時(shí),它的其他絕大部分功能都難以用上,這在資金上就造成了 浪費(fèi)。示波器數(shù)量過多, 一定程度上會(huì)降低實(shí)驗(yàn)的可靠性,也增加了整個(gè)實(shí)驗(yàn)系統(tǒng)集成化的 困難。法國(guó)湯姆遜公司的TSN-632型多通道精密數(shù)字測(cè)量?jī)x,國(guó)產(chǎn)的32路時(shí)間間隔測(cè)量?jī)x, 因操作簡(jiǎn)單、測(cè)量準(zhǔn)確和測(cè)量通道數(shù)多而在科研實(shí)驗(yàn)中被大量使用。但隨著技術(shù)的發(fā)展和實(shí) 驗(yàn)的要求越來越高,時(shí)間間隔測(cè)量?jī)x仍需要進(jìn)一步改進(jìn), 一是它的串行接口不能滿足測(cè)試系 統(tǒng)自動(dòng)化的要求;二是電路部分多為分立式元件,集成度不高,因而結(jié)構(gòu)復(fù)雜,安裝不便, 可靠性還需要提高;三是機(jī)箱過于笨重,強(qiáng)度不夠,承重能力較差,且拆卸不便,給維修帶 來了困難。
中國(guó)專利文獻(xiàn)公開號(hào)101013304A公開了名稱為《一種高精度時(shí)間間隔測(cè)量PCI卡》的專 利申請(qǐng)技術(shù),該技術(shù)由于釆用專用芯片,測(cè)量通道較少,可擴(kuò)展性較差;由于采用PCI作為 數(shù)據(jù)接口,可靠性和抗干擾性較差,不適合用于高可靠性、多通道等測(cè)量要求高的場(chǎng)合。
發(fā)明內(nèi)容
本發(fā)明提供一種基于FPGA的時(shí)間間隔測(cè)量?jī)x。
本發(fā)明的一種基于FPGA的時(shí)間間隔測(cè)量?jī)x由硬件系統(tǒng)和控制軟件組成虛擬儀器,其中硬 件系統(tǒng)包括用于時(shí)間間隔測(cè)量的板卡和PXI系統(tǒng),板卡以FPGA為時(shí)間間隔測(cè)量的核心,板卡 由前端信號(hào)調(diào)理單元、時(shí)間/數(shù)據(jù)轉(zhuǎn)換單元、數(shù)據(jù)接口單元組成;安裝設(shè)置在PXI系統(tǒng)的控制 軟件包括以Windriver為開發(fā)平臺(tái)的驅(qū)動(dòng)程序和以VB為開發(fā)平臺(tái)控制程序。
本發(fā)明的一種基于FPGA的時(shí)間間隔測(cè)量?jī)x,以PXI接口為平臺(tái)設(shè)計(jì)成為虛擬儀器, 一個(gè)
3PXI系統(tǒng)可插多個(gè)PXI板卡,每個(gè)板卡可對(duì)1個(gè)起始通道與多個(gè)停止通道的信號(hào)進(jìn)行時(shí)間間
隔測(cè)量,同時(shí)測(cè)量停止脈沖的脈沖寬度。本發(fā)明的時(shí)間間隔測(cè)量?jī)x利用鎖相環(huán)倍頻和時(shí)鐘分
相技術(shù),測(cè)量分辨率可達(dá)到lns,測(cè)量范圍可達(dá)20ns 200ms。本發(fā)明的基于FPGA的時(shí)間間 隔測(cè)量?jī)x的每個(gè)板卡上的測(cè)時(shí)功能僅在一片F(xiàn)PGA中實(shí)現(xiàn),由于采用虛擬儀器結(jié)構(gòu),利用PXI 平臺(tái)與計(jì)算機(jī)結(jié)合組成自動(dòng)測(cè)試系統(tǒng),不僅結(jié)構(gòu)簡(jiǎn)單,使用方便,而且可靠性高,可擴(kuò)展性 強(qiáng),極大地提高了測(cè)量效率。
圖1本發(fā)明的一種基于FPGA的時(shí)間間隔測(cè)量?jī)x的原理框圖
圖2本發(fā)明的一種基于FPGA的時(shí)間間隔測(cè)量?jī)x實(shí)施例的四級(jí)時(shí)鐘分相時(shí)序示意圖 圖3本發(fā)明的一種基于FPGA的時(shí)間間隔測(cè)量?jī)x的硬件結(jié)構(gòu)框圖 圖4本發(fā)明的一種基于FPGA的時(shí)間間隔測(cè)量?jī)x的軟件結(jié)構(gòu)框圖 圖5本發(fā)明的一種基于FPGA的時(shí)間間隔測(cè)量?jī)x的前端信號(hào)調(diào)理結(jié)構(gòu)框圖 圖6本發(fā)明的一種基于FPGA的時(shí)間間隔測(cè)量?jī)x的時(shí)鐘倍頻和時(shí)鐘分相設(shè)計(jì)原理圖 圖7本發(fā)明的一種基于FPGA的時(shí)間間隔測(cè)量?jī)x的四個(gè)計(jì)數(shù)器對(duì)分相時(shí)鐘分別計(jì)數(shù)的設(shè)計(jì) 原理圖
圖8本發(fā)明的一種基于FPGA的時(shí)間間隔測(cè)量?jī)x在FPGA中數(shù)據(jù)處理及數(shù)據(jù)傳輸框圖 圖9本發(fā)明的一種基于FPGA的時(shí)間間隔測(cè)量?jī)x的控制軟件總流程圖 圖10本發(fā)明的一種基于FPGA的時(shí)間間隔測(cè)量?jī)x的應(yīng)用軟件界面
具體實(shí)施例方式
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說明。
圖1是本發(fā)明的一種基于FPGA的時(shí)間間隔測(cè)量?jī)x的提高測(cè)量分辨率的一種量化時(shí)延方法 -時(shí)針分相。精確測(cè)量時(shí)間間隔的方法包括直接計(jì)數(shù)法、內(nèi)插法、時(shí)間電壓變換法等。從結(jié)構(gòu) 盡量簡(jiǎn)單同時(shí)兼顧測(cè)量精度的角度出發(fā),本發(fā)明采用了一種基于延遲線技術(shù)的時(shí)間間隔測(cè)量 方法一量化時(shí)延法。量化時(shí)延法是隨著近年來大規(guī)模集成電路的應(yīng)用而發(fā)展起來的,它是將 信號(hào)或時(shí)鐘作一定延時(shí)后分別測(cè)量,從而提高測(cè)量精度的方法。量化時(shí)延思想的實(shí)現(xiàn)依賴于 延時(shí)單元的延時(shí)穩(wěn)定性,其分辨率取決于單位延時(shí)單元的延遲時(shí)間。量化時(shí)延法的基本原理
是"串行延遲,并行計(jì)數(shù)",而不同于傳統(tǒng)計(jì)數(shù)器的串行計(jì)數(shù)方法。其實(shí)現(xiàn)方法有兩種,一 種是讓信號(hào)通過一系列的延時(shí)單元,依靠延時(shí)單元的延時(shí)穩(wěn)定性,利用高穩(wěn)時(shí)鐘對(duì)各延時(shí)信 號(hào)分別計(jì)數(shù),這種方法被稱為信號(hào)延時(shí); 一種是讓時(shí)鐘通過一系列的延時(shí)單元,利用各延時(shí)時(shí)鐘對(duì)信號(hào)分別計(jì)數(shù)再做數(shù)據(jù)處理,這種方法被稱為時(shí)鐘分相,如圖1。信號(hào)延時(shí)和時(shí)鐘分 相在本質(zhì)上是一樣的,只是實(shí)現(xiàn)方法略有不同,并且有時(shí)為了實(shí)現(xiàn)更高的分辨率,兩種方法 還被結(jié)合起來用在一個(gè)測(cè)時(shí)系統(tǒng)中。本發(fā)明從設(shè)計(jì)和使用范圍方面考慮,采用了時(shí)針分相技 術(shù)。
圖2是本發(fā)明的一種基于FPGA的時(shí)間間隔測(cè)量?jī)x的四級(jí)時(shí)鐘分相時(shí)序圖,將250MHz時(shí) 鐘頻率經(jīng)四級(jí)延遲,每級(jí)相位滯后9(T,即每級(jí)延遲時(shí)間都為lns,單用一個(gè)時(shí)鐘CLK1對(duì)起 始停止信號(hào)的時(shí)間間隔測(cè)量時(shí),記到4個(gè)時(shí)鐘周期,得到的結(jié)果為16ns,分辨率為化s。若 采用時(shí)鐘分相技術(shù),由于從CLK1到CLK3記到的時(shí)鐘個(gè)數(shù)為4, CLK4記到時(shí)鐘個(gè)數(shù)為3,可 得到的結(jié)果為12 ns + l nsX3-15 ns,分辨率為1 ns,這實(shí)際上是將測(cè)量分辨率提高了 4倍。
作為延時(shí)單元的器件可以是無源導(dǎo)線,有源門器件或其它電路。其中,導(dǎo)線(同軸線) 的延遲時(shí)間較短,可實(shí)現(xiàn)接近光速傳播的延遲,但是為了實(shí)現(xiàn)高精度測(cè)量,需要數(shù)目眾多的 抽頭,因而電路龐大,使得這個(gè)技術(shù)在早期無法推廣,隨著半導(dǎo)體技術(shù)的發(fā)展,特別是大規(guī) 模集成電路的發(fā)展,這種方法被移植到集成電路上,才得到迅速推廣。門電路的延遲時(shí)間相 對(duì)較長(zhǎng)。隨著電子技術(shù)的快速發(fā)展,有人把計(jì)數(shù)器設(shè)計(jì)在ASIC中,實(shí)現(xiàn)對(duì)時(shí)間的直接數(shù)字編 碼,但其造價(jià)很高。相對(duì)廉價(jià)得多的大規(guī)模集成電路的出現(xiàn)為我們提供了新的選擇。本發(fā)明 完成時(shí)間間隔的主要轉(zhuǎn)換電路就是再現(xiàn)場(chǎng)可編程門陣列(FPGA)中實(shí)現(xiàn)的。
圖3是本發(fā)明的一種基于FPGA的時(shí)間間隔測(cè)量?jī)x的硬件結(jié)構(gòu)框圖。精密時(shí)間間隔測(cè)量?jī)x 系統(tǒng)結(jié)構(gòu)采用典型的虛擬儀器結(jié)構(gòu)。虛擬儀器一般由完成數(shù)據(jù)采集功能的硬件部分和完成數(shù) 據(jù)分析功能的軟件部分組成。硬件部分一般為各種形式的數(shù)據(jù)采集設(shè)備,將采集到的各種形 式的信號(hào)轉(zhuǎn)換為電信號(hào)后輸入計(jì)算機(jī)內(nèi)。計(jì)算機(jī)通過軟件實(shí)現(xiàn)從計(jì)算機(jī)的各類接口中讀取數(shù) 據(jù),并用軟件實(shí)現(xiàn)信號(hào)的分析處理過程,將處理結(jié)果顯示出來。精密時(shí)間間隔測(cè)量?jī)x的硬件 基礎(chǔ)就是一塊基于PXI接口的數(shù)據(jù)采集卡,結(jié)構(gòu)如圖3所示。待測(cè)脈沖信號(hào)輸入后經(jīng)信號(hào)調(diào) 理送入FPGA模塊轉(zhuǎn)換,轉(zhuǎn)換后的數(shù)據(jù)送到接口芯片PLX9054,經(jīng)PXI總線傳到PC機(jī),等待 軟件作后期處理。
圖4是本發(fā)明的一種基于FPGA的時(shí)間間隔測(cè)量?jī)x的軟件結(jié)構(gòu)框圖。其中基于WinDriver 開發(fā)工具的硬件驅(qū)動(dòng)程序完成由硬件和軟件的數(shù)據(jù)接口功能,基于VB開發(fā)工具的數(shù)據(jù)處理程 序完成對(duì)硬件的配置和數(shù)據(jù)的轉(zhuǎn)換等功能,基于VB的用戶界面程序完成處理用戶事件和測(cè)量 結(jié)果的顯示等功能。由于測(cè)量系統(tǒng)很多的工作都交給計(jì)算機(jī)完成,因而不但系統(tǒng)的智能化程 度和可擴(kuò)展性提高,同時(shí)設(shè)計(jì)的復(fù)雜程度和設(shè)計(jì)周期都大大減小圖5是本發(fā)明的一種基于FPGA的時(shí)間間隔測(cè)量?jī)x的前端信號(hào)調(diào)理結(jié)構(gòu)框圖。前端信號(hào)調(diào) 理單元完成信號(hào)衰減,鉗位,幅度比較和電平轉(zhuǎn)換功能,其結(jié)構(gòu)框圖如圖5所示。幅度衰減 采用電阻電容網(wǎng)絡(luò)實(shí)現(xiàn),幅度鉗位采用快速二極管實(shí)現(xiàn),比較器選用MAXIM公司的電壓快速 比較器MAX9602,以慮除小于閾值電壓的無效信號(hào)。MAX9602是四通道的PECL比較器,500ps 的傳輸延時(shí)而且精度可以達(dá)到30ps,另外還具有Latch使能和可調(diào)回滯功能。Latch控制功 能可以實(shí)現(xiàn)操作的跟蹤和保持功能,回滯功能可以消除噪聲的影響而且可以降低輸入信號(hào)的 擺動(dòng)。比較器的閾值電壓由電阻網(wǎng)絡(luò)分壓或AD5235提供,AD5235是AD公司生產(chǎn)的雙通道數(shù) 字電位器,其設(shè)置由軟件通過接口控制。采用AD5235可在線調(diào)節(jié)比較器的閾值電壓,使用方 便靈活,但會(huì)增加電路復(fù)雜性;采用電阻網(wǎng)絡(luò)只能通過改變電阻阻值或電壓基準(zhǔn)大小來調(diào)節(jié) 比較器的閾值電壓,但設(shè)計(jì)簡(jiǎn)單可靠??紤]使用的實(shí)際情況,需要在線改變閾值電壓的使用 場(chǎng)合很少,因此本設(shè)計(jì)中采用電阻網(wǎng)絡(luò)實(shí)現(xiàn)。
圖6是本發(fā)明的一種基于FPGA的時(shí)間間隔測(cè)量?jī)x在QuartusII中的時(shí)鐘倍頻和時(shí)鐘分 相設(shè)計(jì)原理圖。本發(fā)明實(shí)現(xiàn)主要時(shí)間間隔測(cè)量功能的途徑是利用FPGA自行研發(fā)專用芯片。 FPGA可采用Altera公司Cylone系列的EP1C6Q240C6,內(nèi)嵌存儲(chǔ)器,時(shí)鐘管理方便且性價(jià)比 高。FPGA的設(shè)計(jì)軟件利用了 Altera公司的QuartusII。我們采用20MHz高穩(wěn)定度恒溫晶振, 并利用FPGA中的兩個(gè)鎖相環(huán)(PLL)將時(shí)鐘頻率倍頻到320MHz,將時(shí)鐘分CLK1、 CLK2、 CLK3、 CLK4四路輸出,每路相位差為90°,四個(gè)固定延遲量之和剛好覆蓋一個(gè)時(shí)鐘周期。直接計(jì)數(shù) 可使測(cè)量分辨率達(dá)到3.125ns。
圖7是本發(fā)明的一種基于FPGA的時(shí)間間隔測(cè)量?jī)x在QuartusII中的四個(gè)計(jì)數(shù)器對(duì)分相時(shí) 鐘分別計(jì)數(shù)的設(shè)計(jì)原理圖。利用時(shí)鐘分相方法,利用4個(gè)4位計(jì)數(shù)器,將倍頻后的CLK1、CLK2、 CLK3、 CLK4這四路時(shí)鐘獨(dú)立對(duì)同一時(shí)間間隔timechannell (即將起始停止脈沖時(shí)間間隔表現(xiàn) 為timecharmell的脈沖寬度,該脈沖上升沿以起始信號(hào)上升沿同步,下降沿與停止脈沖上升 沿同步)計(jì)數(shù),利用時(shí)鐘分相方法可使測(cè)量分辨率達(dá)到0.78125ns。
圖8是本發(fā)明的一種基于FPGA的時(shí)間間隔測(cè)量?jī)x在FPGA中數(shù)據(jù)處理及數(shù)據(jù)傳輸框圖。
本發(fā)明為降低線路抖動(dòng),將8路停止通道信號(hào)在前端信號(hào)調(diào)理電路中被分為16路,F(xiàn)PGA實(shí)
際上是將接收到的16路停止信號(hào)進(jìn)行獨(dú)立處理。起始通道信號(hào)與各停止通道信號(hào)進(jìn)入FPGA
后首先按兩者上升沿被處理為時(shí)間間隔脈沖,再和停止信號(hào)一起分別送入32組計(jì)數(shù)器計(jì)數(shù),
每組包含1個(gè)32位粗計(jì)數(shù)器和4個(gè)4位細(xì)計(jì)數(shù)器,因此組計(jì)數(shù)器輸出的數(shù)據(jù)為48位。 一次
測(cè)量包括16個(gè)時(shí)間間隔數(shù)據(jù)和16個(gè)停止脈沖寬度數(shù)據(jù),這32個(gè)48位的時(shí)間數(shù)據(jù)在地址映射單元中被拆分192個(gè)8位數(shù)據(jù)并被映射到RAM中按地址順序存儲(chǔ)起來,通過FPGA與接口芯 片PLX9054的本地總線,按照PLX9054接口協(xié)議實(shí)現(xiàn)本地?cái)?shù)據(jù)通信。本系統(tǒng)中,本地?cái)?shù)據(jù)總 線和地址總線都為8位。
圖9是本發(fā)明的一種基于FPGA的精密時(shí)間間隔測(cè)量?jī)x控制軟件總流程圖??刂栖浖诨?于VB下的框架程序下開發(fā),通過驅(qū)動(dòng)程序提供的庫(kù)函數(shù)訪問底層硬件,完成時(shí)間間隔和脈沖 寬度數(shù)據(jù)的采集,并實(shí)現(xiàn)算法程序的編寫,控制系統(tǒng)的運(yùn)行。主要功能有數(shù)據(jù)采樣、觸發(fā)中 斷、系統(tǒng)自檢、數(shù)據(jù)的導(dǎo)入導(dǎo)出。其中-
數(shù)據(jù)采樣利用WinDriver提供的Plx905[ReadByte函數(shù)讀取數(shù)據(jù),將數(shù)據(jù)存放到數(shù)組 中,根據(jù)算法進(jìn)行計(jì)算,計(jì)算得到的時(shí)間間隔數(shù)據(jù)或脈沖寬度顯示在表格中。
觸發(fā)中斷使能中斷函數(shù),硬件每次產(chǎn)生中斷,中斷由WinDriver內(nèi)核自動(dòng)調(diào)用,在中 斷函數(shù)處理例程中調(diào)用數(shù)據(jù)采樣功能。
系統(tǒng)自檢對(duì)測(cè)量系統(tǒng)進(jìn)行檢測(cè),對(duì)硬件發(fā)送自檢信號(hào),硬件系統(tǒng)收到該信號(hào)后執(zhí)行自 檢功能并將自檢數(shù)據(jù)返回控制軟件。
數(shù)據(jù)的導(dǎo)入導(dǎo)出數(shù)據(jù)的導(dǎo)入是將本次采集的所有數(shù)據(jù)導(dǎo)入到電子表格excel里并保存 起來,數(shù)據(jù)的導(dǎo)出是從己有的excel文件導(dǎo)出數(shù)據(jù)顯示在當(dāng)前表格里。
圖10是本發(fā)明的一種基于FPGA的精密時(shí)間間隔測(cè)量?jī)x應(yīng)用軟件界面。分為時(shí)間間隔測(cè) 量,脈沖寬度測(cè)量和校準(zhǔn)值設(shè)置三個(gè)選項(xiàng)卡。時(shí)間間隔測(cè)量選項(xiàng)卡如圖IO所示。脈沖寬度測(cè) 量選項(xiàng)卡與此界面基本一致,都包括通道序號(hào),均方根o值,最大值,最小值和各次測(cè)量值, 測(cè)量值在界面上可顯示10次,測(cè)量超過10次后,第11次的數(shù)據(jù)將覆蓋第1次的數(shù)據(jù),依此 類推。通道的順序和板卡插入PXI機(jī)箱擴(kuò)展槽的順序有關(guān),不同板卡的通道號(hào)碼用不同顏色 區(qū)分,利用滾動(dòng)條可顯示35號(hào)以后的通道。
權(quán)利要求
1. 一種基于FPGA的時(shí)間間隔測(cè)量?jī)x,其特征在于所述的時(shí)間間隔測(cè)量?jī)x由硬件系統(tǒng)和控制軟件組成虛擬儀器,其中硬件系統(tǒng)包括用于時(shí)間間隔測(cè)量的板卡和PXI系統(tǒng),板卡以FPGA為時(shí)間間隔測(cè)量的核心,板卡由前端信號(hào)調(diào)理單元、時(shí)間/數(shù)據(jù)轉(zhuǎn)換單元、數(shù)據(jù)接口單元組成;安裝設(shè)置在PXI系統(tǒng)的控制軟件包括以Windriver為開發(fā)平臺(tái)的驅(qū)動(dòng)程序和以VB為開發(fā)平臺(tái)控制程序。
2. 根據(jù)權(quán)利要求1所述的基于FPGA的時(shí)間間隔測(cè)量?jī)x,其特征是在所述的FPGA中采用鎖 相環(huán)倍頻和時(shí)鐘分相技術(shù)。
全文摘要
本發(fā)明提供了一種基于FPGA的時(shí)間間隔測(cè)量?jī)x。本發(fā)明的時(shí)間間隔測(cè)量?jī)x以PXI接口為平臺(tái)設(shè)計(jì)成為虛擬儀器,一個(gè)PXI系統(tǒng)可插多個(gè)PXI板卡,每個(gè)板卡可對(duì)1個(gè)起始通道與多個(gè)停止通道的信號(hào)進(jìn)行時(shí)間間隔測(cè)量,同時(shí)測(cè)量停止脈沖的脈沖寬度。本發(fā)明的時(shí)間間隔測(cè)量?jī)x利用鎖相環(huán)倍頻和時(shí)鐘分相技術(shù),測(cè)量分辨率可達(dá)到1ns,測(cè)量范圍可達(dá)20ns~200ms。由于采用虛擬儀器結(jié)構(gòu),利用PXI平臺(tái)與計(jì)算機(jī)結(jié)合組成自動(dòng)測(cè)試系統(tǒng),本發(fā)明的時(shí)間間隔測(cè)量?jī)x具有結(jié)構(gòu)簡(jiǎn)單、使用方便、可靠性高、可擴(kuò)展性強(qiáng),測(cè)量效率高的特點(diǎn)。
文檔編號(hào)G04F10/00GK101520640SQ20081004652
公開日2009年9月2日 申請(qǐng)日期2008年11月8日 優(yōu)先權(quán)日2008年11月8日
發(fā)明者莉 馮, 超 葉 申請(qǐng)人:中國(guó)工程物理研究院流體物理研究所