于龍洋,劉曄,孫培欽,張耀勻
(西安交通大學(xué)電氣工程學(xué)院,陜西 西安 710049)
基于FPGA的納秒量級(jí)脈沖寬度精確測(cè)量研究
于龍洋,劉曄,孫培欽,張耀勻
(西安交通大學(xué)電氣工程學(xué)院,陜西 西安 710049)
為使測(cè)量光電開(kāi)關(guān)發(fā)出的數(shù)字脈沖寬度的精度達(dá)到1ns和掌握光電開(kāi)關(guān)的實(shí)時(shí)工作狀態(tài)。該文通過(guò)基于FPGA精確測(cè)量法的直接計(jì)數(shù)法和移相計(jì)數(shù)法進(jìn)行測(cè)量,得出移相計(jì)數(shù)法的測(cè)量誤差在1ns左右,并驗(yàn)證其設(shè)計(jì)的正確性和有效性。設(shè)計(jì)通信系統(tǒng)和上位機(jī)軟件進(jìn)行實(shí)時(shí)監(jiān)控,通信系統(tǒng)采用成熟的串口RS232通信方式,用PFGA設(shè)計(jì)串口通信模塊,實(shí)現(xiàn)將數(shù)據(jù)傳輸?shù)焦た貦C(jī);再用LabVIEW編寫上位機(jī)軟件,便于工作人員直觀觀察數(shù)據(jù)并存儲(chǔ)數(shù)據(jù)到Excel,實(shí)驗(yàn)結(jié)果證明測(cè)量系統(tǒng)可靠、有效。
納秒量級(jí);FPGA;串口通信;LabVIEW
隨著控制技術(shù)的發(fā)展,精確監(jiān)控光電開(kāi)關(guān)的工作狀態(tài)是工程實(shí)際急需解決的問(wèn)題,其測(cè)量精度達(dá)到納秒量級(jí)也是工業(yè)自動(dòng)化技術(shù)發(fā)展到一定階段的需求。文獻(xiàn)[1]提出的基于DSP結(jié)合混沌算法實(shí)現(xiàn)的精度測(cè)量算法雖然有著廣泛的應(yīng)用前景,但是其系統(tǒng)非常復(fù)雜,且成本高。文獻(xiàn)[2]提到利用鈮酸鋰晶體的電光效應(yīng),其研制可用于測(cè)量納秒量級(jí)脈沖電壓的傳感器,但是其誤差范圍在5~7ns,達(dá)不到1ns的誤差要求。文獻(xiàn)[3]基于移相技術(shù)的脈沖寬度測(cè)量方法能實(shí)現(xiàn)納秒量級(jí)測(cè)量,且提供了測(cè)量數(shù)字脈沖的思路,但所需晶振頻率達(dá)到250MHz,且FPGA芯片價(jià)格昂貴,因此本文在此基礎(chǔ)上進(jìn)一步改進(jìn)其移相技術(shù)算法來(lái)降低倍頻時(shí)鐘信號(hào),實(shí)現(xiàn)低成本的可靠測(cè)量系統(tǒng)。論文在脈沖寬度測(cè)量方面采用了直接計(jì)數(shù)法和移相技術(shù)法兩種算法,并且設(shè)計(jì)了FPGA與上位機(jī)之間的通信。通信系統(tǒng)采用成熟的串口RS232通信方式,LabVIEW在測(cè)量領(lǐng)域內(nèi)是比較普遍的應(yīng)用軟件,與C++等編程語(yǔ)言相比,其圖形化語(yǔ)言易理解,存在一定優(yōu)勢(shì)。
1.1 直接計(jì)數(shù)法
利用FPGA內(nèi)部鎖相環(huán)(PLL)模塊將外部輸入晶振頻率倍頻到1GHz,使得周期變?yōu)? ns,將其時(shí)鐘作為計(jì)數(shù)器時(shí)鐘對(duì)外部脈沖進(jìn)行計(jì)數(shù),這樣其計(jì)數(shù)誤差最大不會(huì)超過(guò)1ns。因此,使用FPGA內(nèi)部計(jì)數(shù)器對(duì)鎖相環(huán)(PLL)倍頻的1GHz進(jìn)行計(jì)數(shù)從而達(dá)到納秒量級(jí)的精度,再等待光電開(kāi)關(guān)產(chǎn)生的外部脈沖信號(hào)進(jìn)入[4-6]。以光電開(kāi)關(guān)產(chǎn)生的正脈沖為例,設(shè)置計(jì)數(shù)器上升沿觸發(fā)開(kāi)始以PLL模塊產(chǎn)生的1GHz進(jìn)行計(jì)數(shù),以外部脈沖的下降沿為結(jié)束。計(jì)數(shù)結(jié)果為外部脈沖寬度,其誤差在1ns左右。時(shí)鐘為1GHz,一旦外部脈沖產(chǎn)生其上升沿將觸發(fā)計(jì)數(shù)器開(kāi)始計(jì)數(shù),等待外部脈沖下降沿到來(lái)停止計(jì)數(shù)器工作,最終計(jì)數(shù)器累計(jì)數(shù)值為測(cè)得外部脈沖寬度。算法整體框圖如圖1所示。
圖1 直接計(jì)數(shù)法
由于FPGA內(nèi)部有許多IP核,如加法器、FIFO、PLL、COUNTER已經(jīng)集成,不需要進(jìn)行編程可以直接設(shè)置需要的IP核,為實(shí)現(xiàn)各種算法提供了極大便利。FPGA鎖相環(huán)模塊如圖2所示。PLL模塊的inclk0為外部輸入晶振輸入端,c0為PLL模塊倍頻輸出端口。通過(guò)對(duì)PLL模塊進(jìn)行設(shè)置使c0達(dá)到1GHz。計(jì)數(shù)器模塊如圖3所示。clock為時(shí)鐘輸入端,與c0相連,cin為外部脈沖輸入端,sclr為清除端,在外部脈沖下降沿到來(lái)之后將計(jì)數(shù)器清0,以便對(duì)下一個(gè)到來(lái)的外部脈沖重新計(jì)數(shù)。q為32位的計(jì)數(shù)寄存器,用于儲(chǔ)存計(jì)數(shù)結(jié)果。將計(jì)數(shù)器設(shè)置為上升沿使能從而達(dá)到本次實(shí)驗(yàn)所需要求[7]。為模擬產(chǎn)生一個(gè)外部脈沖,在FPGA內(nèi)部模擬了一個(gè)高脈沖來(lái)測(cè)試搭建的測(cè)量模塊,設(shè)計(jì)了一個(gè)脈沖發(fā)生器,脈沖發(fā)生模塊算法流程如圖4所示。圖中a與b為一個(gè)常量且a
圖2 PLL模塊的配置
圖3 counter模塊的配置
圖4 脈沖發(fā)生器算法
1.2 移相計(jì)數(shù)法
直接計(jì)數(shù)法使測(cè)量精度達(dá)到納秒量級(jí)就必須使用更為高端的FPGA芯片,其性價(jià)比不高。本文介紹一種基于FPGA的移相計(jì)數(shù)法,可以用中低端FPGA實(shí)現(xiàn)其精度,從而極大地降低成本[7-8]。
為實(shí)現(xiàn)外部脈沖信號(hào)納秒量級(jí)精確測(cè)量,本文結(jié)合數(shù)字移相技術(shù),設(shè)計(jì)了改進(jìn)型移相脈沖寬度測(cè)量技術(shù),其優(yōu)勢(shì)在于FPGA無(wú)需倍頻至1GHz,就能實(shí)現(xiàn)1ns的誤差精度。由于FPGA內(nèi)部鎖相環(huán)(PLL)設(shè)置時(shí)鐘多輸出功能和各輸出時(shí)鐘相位功能,使得多個(gè)時(shí)鐘信號(hào)輸出各產(chǎn)生一定的相位差來(lái)等效1GHz的時(shí)鐘信號(hào)。原理如圖5所示。
圖5 移相計(jì)數(shù)法測(cè)量原理
通過(guò)FPGA內(nèi)部鎖相環(huán)移相功能,F(xiàn)PGA的晶振所產(chǎn)生的50MHz時(shí)鐘信號(hào)進(jìn)行相鄰信號(hào)依次相差45°處理,例如以第1路輸出時(shí)鐘信號(hào)CLK相位為0°,那么其他信號(hào)則依次為CLK45°、CLK90°、CLK135°、CLK180°、CLK225°、CLK270°、CLK315°,然后用FPGA內(nèi)部鎖相環(huán)多路輸出功能產(chǎn)生這8路時(shí)鐘信號(hào),原理如圖6所示。然后將8路信號(hào)分別驅(qū)動(dòng)一個(gè)計(jì)數(shù)器,8個(gè)計(jì)數(shù)器分別用N1、N2、N3、N4、N5、N6、N7和N8表示。據(jù)此可以精確測(cè)量出外部脈沖寬度t,其計(jì)算公式為
式中f為8路時(shí)鐘信號(hào)的頻率。
對(duì)8路時(shí)鐘信號(hào)所驅(qū)動(dòng)的計(jì)數(shù)器的計(jì)數(shù)值進(jìn)行相加相當(dāng)于采用了8倍頻的時(shí)鐘頻率為8f的信號(hào)來(lái)測(cè)量外部脈沖信號(hào),即時(shí)鐘信號(hào)的周期1/8,從而在不提高時(shí)鐘頻率的情況下實(shí)現(xiàn)精度要求,其等效的時(shí)鐘信號(hào)如圖6所示。由圖可見(jiàn),在計(jì)數(shù)時(shí)鐘頻率為125MHz時(shí),這種測(cè)量方法可得到時(shí)鐘頻率為1GHz的等效時(shí)鐘,從而使測(cè)量精度達(dá)到要求,并且大部分中低端FPGA內(nèi)部鎖相環(huán)都可以實(shí)現(xiàn)125MHz的時(shí)鐘信號(hào)。文獻(xiàn)[3]提到的4路輸出移相的方法相當(dāng)于PLL模塊要輸出250MHz的輸出時(shí)鐘頻率,然而這種頻率在中低端FPGA的鎖相環(huán)倍頻不是很穩(wěn)定,從而使測(cè)量不精確,無(wú)法達(dá)到要求。
圖6 1GHz等效的8路時(shí)鐘信號(hào)
移相測(cè)量方法依然在直接計(jì)數(shù)法的基礎(chǔ)上,等待外部脈沖到來(lái),其上升沿使能8個(gè)計(jì)數(shù)器開(kāi)始計(jì)數(shù),等到外部脈沖下降沿到來(lái)停止計(jì)數(shù),將8個(gè)計(jì)數(shù)值再通過(guò)FPGA內(nèi)部的加法器相加,最終數(shù)值為數(shù)字脈沖寬度??傮w算法框圖如圖7所示。
圖7 總體算法
實(shí)驗(yàn)所使用的FPGA是在ALTERA公司的Quartus II環(huán)境下選用Cyclone IVE系列的EP4CE15F17C8芯片進(jìn)行設(shè)計(jì)并仿真[9-11],此芯片鎖相環(huán)(PLL)模塊最多有5路時(shí)鐘信號(hào)輸出,因此必須使用兩個(gè)鎖相環(huán)模塊產(chǎn)生8路時(shí)鐘信號(hào),其中每個(gè)鎖相環(huán)產(chǎn)生4路時(shí)鐘信號(hào),第3個(gè)鎖相環(huán)是為了產(chǎn)生采樣頻率而設(shè)置,由于每一路時(shí)鐘信號(hào)的頻率為125MHz,根據(jù)香農(nóng)采樣定理,采樣頻率必須不低于最大采樣信號(hào)的2倍,所以經(jīng)過(guò)多次實(shí)驗(yàn)用鎖相環(huán)3產(chǎn)生300MHz的采樣頻率。8個(gè)時(shí)鐘信號(hào)各自驅(qū)動(dòng)計(jì)數(shù)器,等待外部脈沖到來(lái)與結(jié)束,將計(jì)數(shù)結(jié)果加和后送出。
實(shí)驗(yàn)依然使用鎖相環(huán)模塊,不過(guò)這次使用2個(gè)鎖相環(huán)模塊產(chǎn)生8路依次相差45°時(shí)鐘信號(hào),并且每路信號(hào)經(jīng)鎖相環(huán)倍頻到125MHz。仿真如圖8所示。
圖8 PLL配置的8路時(shí)鐘信號(hào)
圖中inclk0為外部輸入晶振50MHz,PLL1的c0、c1、c2、c3為頻率125MHz的時(shí)鐘輸出,相位角分別為0°、45°、90°、135°,PLL2的c0、c1、c2、c3也為頻率125MHz的時(shí)鐘輸出,相位角分別為180°、225°、270°、315°,從而形成8路相位依次相差45°的時(shí)鐘輸出來(lái)驅(qū)動(dòng)計(jì)數(shù)器。其原理為在脈沖計(jì)數(shù)法基礎(chǔ)上,采用8個(gè)計(jì)數(shù)器計(jì)數(shù)。計(jì)數(shù)器的clock分別連接鎖相環(huán)的8路輸出時(shí)鐘信號(hào),然后再用加法器將計(jì)數(shù)器輸出值相加。
2.1 串口通信
經(jīng)FPGA測(cè)量出的信號(hào)可以通過(guò)串口RS232與PC機(jī)相連傳輸數(shù)據(jù),電腦上位機(jī)用LabVIEW軟件開(kāi)發(fā)平臺(tái)開(kāi)發(fā),將測(cè)得數(shù)據(jù)顯示在上位機(jī)軟件上。
實(shí)驗(yàn)的開(kāi)發(fā)板上帶有串口RS232,再接一個(gè)串口與USB的轉(zhuǎn)接線連接PC機(jī),與下位機(jī)的串口通信也使用轉(zhuǎn)接線來(lái)完成。FPGA與工控機(jī)或PC機(jī)的整體框架如圖9所示。
整體思路是將關(guān)電開(kāi)關(guān)產(chǎn)生的脈沖經(jīng)過(guò)FPGA移相脈沖計(jì)數(shù)法處理得到精確的脈沖時(shí)間,放入FPGA內(nèi)部緩沖器FIFO中,等待串口通信模塊空閑時(shí)發(fā)送FIFO內(nèi)的數(shù)據(jù)到PC機(jī)的COM端口,用LabVIEW設(shè)計(jì)上位機(jī)軟件將脈沖時(shí)間數(shù)據(jù)顯示在PC機(jī)上[12-13]。首先,必須設(shè)計(jì)一個(gè)緩存器FIFO,因?yàn)橥獠棵}沖任意時(shí)刻都可能產(chǎn)生,一旦外部脈沖產(chǎn)生會(huì)觸發(fā)8個(gè)計(jì)數(shù)器模塊開(kāi)始計(jì)數(shù)得到的計(jì)數(shù)結(jié)果直接通過(guò)串口模塊發(fā)送,PC上將顯示整個(gè)計(jì)數(shù)器計(jì)數(shù)的所有數(shù)據(jù),所以設(shè)計(jì)FIFO就是在外部脈沖下降沿到來(lái)觸發(fā)FIFO寫使能,將最終計(jì)數(shù)結(jié)果存入到FIFO中等待串口發(fā)送模塊發(fā)送給PC機(jī)。串口通信模塊如圖10所示。
圖9 系統(tǒng)結(jié)構(gòu)
圖10 串口通信模塊
圖中FIFO模塊已經(jīng)集成在串口通信模塊中,引腳CLK為125MHz,RSTn為復(fù)位引腳,Write_Reg_Sig為FIFO寫使能,F(xiàn)IFO_W rite_Data為寫入FIFO的數(shù)據(jù),TX_Pin_Out為串口232發(fā)送引腳。在串口通信方面,F(xiàn)IFO起著非常重要的數(shù)據(jù)緩沖的作用,如果串口通信沒(méi)有FIFO來(lái)緩存數(shù)據(jù),有可能測(cè)量系統(tǒng)將測(cè)量的數(shù)據(jù)傳輸?shù)酱诎l(fā)送模塊時(shí),串口發(fā)送模塊處于忙狀態(tài),導(dǎo)致傳輸?shù)臄?shù)據(jù)丟失從而導(dǎo)致測(cè)量系統(tǒng)的性能變差,這在工程設(shè)計(jì)方面是絕對(duì)不允許的。
2.2 上位機(jī)設(shè)計(jì)
首先,F(xiàn)PGA將測(cè)量數(shù)據(jù)發(fā)送至PC機(jī)COM口,使用LabVIEW搭建一個(gè)串口接收模塊,由于串口接收的是字符串,需進(jìn)行處理后再送入表格中顯示出來(lái)。編寫的軟件界面分為串口號(hào)、數(shù)據(jù)緩沖區(qū)和表格3個(gè)部分。其中串口號(hào)就是來(lái)選擇FPGA串口所連接的COM口,數(shù)據(jù)緩沖區(qū)為所選串口中的數(shù)據(jù),表格是將數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)進(jìn)行處理后顯示的顯示控件。
串口RS232每次發(fā)送一幀,每一幀為11位,包括1個(gè)起始位、1個(gè)結(jié)束位、1個(gè)校驗(yàn)位和8個(gè)數(shù)據(jù)位。一幀有效位為8位,然而光電開(kāi)關(guān)的數(shù)字脈沖寬度在幾微秒到幾百微秒之間,遠(yuǎn)超過(guò)8位數(shù)據(jù)的范圍,因此將FPGA測(cè)量數(shù)據(jù)設(shè)為32位以滿足需求,將32位測(cè)量數(shù)據(jù)分成4組8位數(shù)據(jù)放入FIFO中等待串口發(fā)送模塊傳輸。通過(guò)串口接收模塊接收FPGA串口發(fā)送模塊傳輸?shù)淖址?,String Subset模塊截取相應(yīng)的8位數(shù)據(jù),經(jīng)數(shù)值化處理過(guò)后整合成32位數(shù)字脈沖寬度,再傳輸至Build Table與Write to spread sheet File模塊中顯示。
3.1 直接計(jì)數(shù)法的結(jié)果與分析
在Quartus II環(huán)境下選用Cyclone IVE系列的EP4CE15F17C8芯片對(duì)設(shè)計(jì)進(jìn)行驗(yàn)證,并用邏輯分析儀查看結(jié)果。如圖11所示,為120 ns寬度的脈沖信號(hào)。圖中clk50m為外部輸入晶振50MHz,sync_in為外部脈沖信號(hào),add1為計(jì)數(shù)器計(jì)數(shù)值??梢钥闯觯?jì)數(shù)器最終計(jì)數(shù)的值為132 ns與設(shè)定的外部脈沖120ns相差12ns,誤差已經(jīng)遠(yuǎn)遠(yuǎn)超過(guò)了1ns范圍,說(shuō)明實(shí)驗(yàn)使用的中低端PFGA芯片無(wú)法實(shí)現(xiàn)1ns的精度,無(wú)法直接倍頻穩(wěn)定1GHz的時(shí)鐘信號(hào),對(duì)于低成本測(cè)量系統(tǒng)來(lái)說(shuō),直接計(jì)數(shù)法不適用。
3.2 移相計(jì)數(shù)法的結(jié)果與分析
用脈沖產(chǎn)生模塊產(chǎn)生60,2600,18000ns,實(shí)驗(yàn)結(jié)果見(jiàn)圖12~圖14。圖中,clk50m是外部50MHz的晶振,sync是脈沖產(chǎn)生模塊產(chǎn)生的被測(cè)量脈沖,result是8個(gè)計(jì)數(shù)器計(jì)量結(jié)果,由于選用的采樣頻率是300MHz,所以無(wú)法完整的從邏輯分析儀中看PLL模塊倍頻的125MHz,如果再提高采樣頻率由于這個(gè)型號(hào)FPGA自身的硬件設(shè)備原因?qū)o(wú)法進(jìn)行實(shí)驗(yàn)。
脈沖寬度設(shè)定值與實(shí)驗(yàn)測(cè)量值見(jiàn)表1。由表可見(jiàn),比較脈沖寬度設(shè)定值與測(cè)量值可知,其誤差為1ns左右,符合設(shè)計(jì)目標(biāo)。
表1 脈沖寬度實(shí)際值與測(cè)量值
圖11 實(shí)驗(yàn)結(jié)果
圖12 60ns脈沖波測(cè)量結(jié)果
圖13 2600ns脈沖波測(cè)量結(jié)果
圖14 18000ns脈沖波測(cè)量結(jié)果
3.3 上位機(jī)界面測(cè)試
實(shí)驗(yàn)用FPGA內(nèi)部脈沖發(fā)生器產(chǎn)生60 ns的高脈沖進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖15所示。圖中表格中顯示的數(shù)據(jù)跟Quartus II的邏輯分析儀顯示的被測(cè)數(shù)據(jù)一致,足以證明串口發(fā)送模塊設(shè)計(jì)的準(zhǔn)確性,其中數(shù)據(jù)緩沖區(qū)3B為字符串16進(jìn)制顯示,轉(zhuǎn)化成10進(jìn)制數(shù)值就是表格Table中的數(shù)據(jù)。
圖15 60ns實(shí)驗(yàn)結(jié)果
雖然本文實(shí)現(xiàn)了對(duì)FPGA測(cè)量數(shù)據(jù)可視化顯示,但是一旦關(guān)閉工控機(jī)軟件顯示在表格中的數(shù)據(jù)也會(huì)隨之消失,無(wú)法對(duì)測(cè)量數(shù)據(jù)進(jìn)行保存。LabVIEW則提供了數(shù)據(jù)保存相關(guān)的集成模塊能將測(cè)量系統(tǒng)傳輸?shù)臄?shù)據(jù)及時(shí)保存。通過(guò)編程在工控機(jī)軟件基礎(chǔ)上采用Excel來(lái)保存系統(tǒng)測(cè)量數(shù)據(jù),并且測(cè)量數(shù)據(jù)能實(shí)時(shí)傳輸?shù)紼xcel中,且在工控機(jī)軟件關(guān)閉的情況下,會(huì)將測(cè)量數(shù)據(jù)緊接著上組數(shù)據(jù)下方進(jìn)行儲(chǔ)存。實(shí)現(xiàn)保存測(cè)量數(shù)據(jù)的功能。
針對(duì)基于FPGA設(shè)計(jì)的兩種脈沖寬度測(cè)量方法,直接計(jì)數(shù)法雖然原理較為簡(jiǎn)單,但是一般中低端FPGA很難能倍頻1GHz時(shí)鐘信號(hào),高端FPGA雖然能實(shí)現(xiàn)算法,但成本過(guò)高。
在基于直接計(jì)數(shù)法的基礎(chǔ)上,改進(jìn)了第一種算法的局限性,設(shè)計(jì)了基于移相測(cè)量算法,其優(yōu)點(diǎn)為鎖相環(huán)模塊不需要直接倍頻到1GHz,通過(guò)8路時(shí)鐘信號(hào)依次相差45°來(lái)等效1GHz的時(shí)鐘信號(hào),每一路時(shí)鐘信號(hào)僅125MHz頻率,使得多數(shù)中低端FPGA的鎖相環(huán)模塊都可以得以實(shí)現(xiàn),極大地降低了整個(gè)測(cè)量系統(tǒng)的成本。
在串口通信方面,采用了簡(jiǎn)單可靠的串口RS232的數(shù)據(jù)傳輸方式,實(shí)現(xiàn)了與工控機(jī)之間的基本通信,這種方式優(yōu)點(diǎn)突出,可靠性高、成本低、易實(shí)現(xiàn),但是有線通信的局限性比較突出使得工控機(jī)必須在一定范圍內(nèi),距離過(guò)遠(yuǎn)會(huì)影響通信質(zhì)量。隨著工程需求可以進(jìn)一步將有線串口通信改成無(wú)線通信,能符合大部分工程需求。
LabVIEW是一種G語(yǔ)言編寫模式,圖形化編程對(duì)于編程人員來(lái)說(shuō)易上手,可以節(jié)約大量開(kāi)發(fā)時(shí)間,并且在做測(cè)量系統(tǒng)方面有著較大優(yōu)勢(shì),有很多集成好的模塊可以直接應(yīng)用,例如串口通信模塊,通過(guò)LabVIEW編寫工控機(jī)實(shí)現(xiàn)PFGA測(cè)量數(shù)據(jù)的傳輸,實(shí)現(xiàn)了整個(gè)測(cè)量系統(tǒng)的功能。
[1]萇凝凝,魯昌華,劉春.納秒級(jí)周期脈沖信號(hào)檢測(cè)方法的研究[J].電子測(cè)量與儀器學(xué)報(bào),2006,20(4):86-101.
[2]郭小明,蘇進(jìn)喜,羅承沐,等.納秒級(jí)脈沖電壓的電光測(cè)量[J].清華大學(xué)學(xué)報(bào)(自然科學(xué)版),1997,37(4):65-67.
[3]仵曉輝,師廷偉,金長(zhǎng)江.基于移相技術(shù)的脈沖寬度精確測(cè)量方法及FPGA實(shí)現(xiàn)[J].周口師范學(xué)院學(xué)報(bào),2012,29(2):108-109.
[4]王玨,張適昌,嚴(yán)萍,等.用自積分式羅氏線圈測(cè)量納秒級(jí)高壓脈沖電流[J].強(qiáng)激光與粒子束,2004,16(3):399-404.
[5]ZHANG Y B,JI F,LIU G M,et al.Communication between industrial computer and micro-energy pulse power supply with nanosecond pulse width[C]∥International Conference on Advanced Technology of Design and Manufacture.ATDM,2010:413-418.
[6]STENHLM T J,SOINI JT,H?NNINEN P E.A long-arm autocorelator for measurement of pico-to nanosecond laser pulse widths[J].Measurement Science and Technology,2004,15(10):1525-1531.
[7]張志剛.FPGA與SOPC設(shè)計(jì)教程:DE2實(shí)踐[M].西安:西安電子科技大學(xué)出版社,2007:57-65.
[8]陳傳波,杜娟,張智杰.WIN32下基于RS232C協(xié)議的串口通信方法及應(yīng)用研究[J].南昌大學(xué)學(xué)報(bào)(工科版),2005,27(3):71-76.
[9]楊建偉,鄭瓊?cè)A,沈昱明.基于LabVIEW的數(shù)據(jù)保存[C]∥第八屆工業(yè)儀表與自動(dòng)化學(xué)術(shù)會(huì)議論文集.上海:中國(guó)儀器儀表學(xué)會(huì),2007:485-489.
[10]陳錫輝,張銀鴻.LabVIEW 8.20程序設(shè)計(jì)從入門到精通[M].北京:清華大學(xué)出版社,2007:97-115.
[11]施雅婷,郭前崗,周西峰.一種改進(jìn)的LabVIEW串口通信系統(tǒng)的實(shí)現(xiàn)[J].電子測(cè)試,2010,8(8):64-70.
[12]HAN X H,KONG X X.The designing of serial comm unication based on RS232[C]∥ACIS International Symposium on Cryptography,and Network Security,Data Mining and Knowledge Discovery,E-Commerce and Its Applications,and Embedded Systems.IEEE,2010:382-384.
[13]MACHACEK J,DRAPELA J.Control of serial port(RS-232)communicaton in LabVIEW[J].Modern Technique and Technologies,2008(37):121-127.
(編輯:李妮)
A nanosecond level measurement method of pulse w idth based on FPGA
YU Longyang,LIU Ye,SUN Peiqin,ZHANG Yaoyun
(School of Electrical Engineering,Xi’an Jiaotong University,Xi’an 710049,China)
In order to make the width of digital pulse generated by photoelectric switch reach the precision of 1ns approximately grasp the real-time working state of the photoelectric switch.This paper proposed two FPGA-based accurate measurement methods to measure the precision,directing counting method and phase shift counting method were included.The experiments show that the error of the phase shift counting method is about 1 ns,which verifies its correctness and effectiveness.The communication system and software of IPC were also designed in this paper.The communication system used a RS232 serial interface and the serial communicationmodule transfers data to the IPC was designed by FPGA;IPC software was written by LabVIEW,which enables the data to be observed intuitively and stored to Excel easily.The experimental results show that the design of the system is correct and effective.
nanosecond;FPGA;serial communication;LabVIEW
A
1674-5124(2017)05-0005-06
10.11857/j.issn.1674-5124.2017.05.002
2016-09-18;
2016-11-20
于龍洋(1992-),男,陜西寶雞市人,碩士研究生,專業(yè)方向?yàn)榭刂评碚撆c科學(xué)。