本發(fā)明屬于頻率測量的
技術(shù)領(lǐng)域:
,特別涉及一種并行測量多路頻率的系統(tǒng)。
背景技術(shù):
:頻率測量一般是通過相應(yīng)的傳感器,將周期變化的特性轉(zhuǎn)化為電信號,再由電子頻率計(jì)顯示對應(yīng)的頻率,如工頻、聲頻、振動頻率等。除此之外,還有應(yīng)用多普勒效應(yīng)原理,對聲頻的測量。目前我們測量頻率的實(shí)現(xiàn)方法,通常是采用示波器、邏輯分析儀或mcu定時器進(jìn)行,這些測量方法存在下列幾個方面的不足:第一:示波器測量頻率不夠智能,且攜帶不方便,第二:邏輯分析儀,雖然有多通道,但精度不夠,且測量數(shù)據(jù)要手動記錄,第三:mcu定時器模塊測試不同頻率范圍誤差較大。如專利申請201610674205.7公開了一種基于片上系統(tǒng)的多通道信號頻率測量模塊,所述片上系統(tǒng)即soc芯片或系統(tǒng)級芯片,該頻率測量模塊有利于通過其高集成度在很小的面積上實(shí)現(xiàn)多通道信號頻率的精確測量,還可以通過擴(kuò)展的tcp與遠(yuǎn)程終端協(xié)同工作,通過擴(kuò)展的觸摸顯示屏幕進(jìn)行人機(jī)交互,其特征在于,包括片上系統(tǒng)主控制器,所述片上系統(tǒng)主控制器分別連接電源模塊、觸控模塊和外圍接口,所述片上系統(tǒng)主控制器包括主控制單元和分別與主控制單元互連的輔助控制單元和fpga模塊,所述fpga模塊連接測頻模塊,所述主控制單元連接通信模塊,所述測頻模塊具有被測信號接口,所述通信模塊遠(yuǎn)程終端接口,所述觸控模塊具有觸摸顯示屏接口。而這些測量方法,其測量精度將隨被測信號頻率的下降而降低,在實(shí)用中有較大的局限性,且不能滿足并行測量多路頻率的需要。技術(shù)實(shí)現(xiàn)要素:基于此,因此本發(fā)明的首要目地是提供一種高精度多線程測量頻率的系統(tǒng),該系統(tǒng)基于fpga的等精度頻率計(jì),并且通過和arm結(jié)合,由arm調(diào)用頻率測量出口來讀取頻率,能夠有效準(zhǔn)確地測量多線程的頻率。本發(fā)明的另一個目地在于提供一種高精度多線程測量頻率的系統(tǒng),該系統(tǒng)滿足對頻率測量精度的需求(0.1hz~1mhz+/-(0.01%),可同時測量32通道的數(shù)據(jù)。為實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案為:一種高精度多線程測量頻率的系統(tǒng),該系統(tǒng)包括有頻率計(jì)、arm的功能模塊和fpga的功能模塊,所述arm的功能模塊主要包括c語言實(shí)現(xiàn)的fsmc總線接口,燒錄控制驅(qū)動(pro-driver)、adc驅(qū)動、dac驅(qū)動、pmu驅(qū)動、gpib驅(qū)動、can驅(qū)動、模擬spi驅(qū)動;所述fpga實(shí)現(xiàn)的功能模塊主要包括verilog實(shí)現(xiàn)的fsmc測量接口、高速io模塊、頻率測量模塊、spi從設(shè)備接口;所述fpga與arm的互聯(lián)采用fsmc總線,即fsmc總線接口和fsmc測試接口通過fsmc總線連接。所述頻率計(jì)采用ext_counter和ref_counter兩個32位的計(jì)數(shù)器在相同的時間內(nèi)計(jì)數(shù),ext_counter使用外部配測信號作為時鐘,ref_counter使用內(nèi)部系統(tǒng)時鐘,由門控邏輯控制計(jì)數(shù)開始和結(jié)束的時間點(diǎn)。進(jìn)一步,所述ext_counter和ref_counter是兩個32位高速計(jì)數(shù)器,分別捕捉基準(zhǔn)時鐘的計(jì)數(shù)個數(shù)和待測時鐘的計(jì)數(shù)個數(shù),且所述ext_counter接有diff觸發(fā)器,diff是一個觸發(fā)器,配合門控邏輯(gatecontrollogic)用來控制計(jì)數(shù)的開始時間和結(jié)束時間,ref_counter部分是fpga內(nèi)部精準(zhǔn)的一個10m時鐘,主要作用是提供一個比較的基準(zhǔn)時鐘源。更進(jìn)一步,所述頻率計(jì)具有多路,以測量對路的頻率,從而達(dá)到并行測量多路輸入信號頻率的目的。本發(fā)明采用上述系統(tǒng),基于fpga結(jié)合等精度頻率計(jì),并且通過和arm結(jié)合,由arm調(diào)用頻率測量模塊來讀取頻率,能夠有效準(zhǔn)確地測量多線程的頻率。結(jié)合測頻功能采用等精度測量,對0.05hz~25mhz保證測量精度5ppm,1khz以上信號測量時間1ms,1khz以下信號測量時間為1~2個信號周期。滿足對頻率測量精度的需求(0.1hz~1mhz+/-(0.01%))??赏瑫r測量32通道的數(shù)據(jù)。附圖說明圖1是本發(fā)明所實(shí)施的系統(tǒng)架構(gòu)圖。圖2是本發(fā)明所實(shí)施的頻率計(jì)邏輯框圖。圖3是本發(fā)明所實(shí)施fsmc總線接口的結(jié)構(gòu)圖。圖4是本發(fā)明所實(shí)施高速io模塊的結(jié)構(gòu)圖。圖5為本發(fā)明所實(shí)施fpga的頻率測量模塊結(jié)構(gòu)圖。具體實(shí)施方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。圖1所示,為本發(fā)明所實(shí)現(xiàn)的系統(tǒng)軟件架構(gòu)圖。其中框內(nèi)的淺色部分為c代碼在arm上實(shí)現(xiàn)功能模塊,深色部分為verilog代碼在fpga/cpld上實(shí)現(xiàn)功能模塊,框外的部分為實(shí)際硬件電路模塊,該實(shí)際硬件電路模塊為現(xiàn)有技術(shù),在此不再贅述。系統(tǒng)主要包括c語言實(shí)現(xiàn)的fsmc總線接口,燒錄控制驅(qū)動(pro-driver)、adc驅(qū)動、dac驅(qū)動、pmu驅(qū)動、gpib驅(qū)動、can驅(qū)動、模擬spi驅(qū)動,這是是屬于arm的功能模塊;verilog實(shí)現(xiàn)的fsmc測試接口、高速io模塊、頻率測量模塊、spi從設(shè)備接口,這些是fpga實(shí)現(xiàn)的功能模塊。圖2所示,為頻率計(jì)邏輯框圖,圖中所示,頻率計(jì)采用等精度測量法,使用兩個32位的計(jì)數(shù)器在相同的時間內(nèi)計(jì)數(shù),ext_counter使用外部配測信號作為時鐘,ref_counter使用內(nèi)部系統(tǒng)時鐘,由門控邏輯控制計(jì)數(shù)開始和結(jié)束的時間點(diǎn)。圖2中ext_counte和ref_counter是兩個32位高速計(jì)數(shù)器,分別捕捉基準(zhǔn)時鐘的計(jì)數(shù)個數(shù)和待測時鐘的計(jì)數(shù)個數(shù),diff是一個觸發(fā)器,配合門控邏輯(gatecontrollogic)用來控制計(jì)數(shù)的開始時間和結(jié)束時間,ref_counter部分是fpga內(nèi)部精準(zhǔn)的一個10m時鐘,主要作用是提供一個比較的基準(zhǔn)時鐘源,以便在相同的時間t內(nèi),假如基準(zhǔn)時鐘計(jì)數(shù)個數(shù)為nref,待測io口的計(jì)數(shù)個數(shù)為nx,根據(jù)t=nx/fin=nref/fref,從而等到下列等式即可算出輸入信號的頻率fin=nx*fref/。通過以上等式,可以精確測量極低到高于參考頻率的信號頻率。這種結(jié)構(gòu)的最佳效果是可以復(fù)制,由于fpga的信號可以并行處理,最后的效果就是可以有多路這樣的結(jié)構(gòu)來測量對路的頻率,從而達(dá)到并行測量多路輸入信號頻率的目的。其中:fin為輸入信號的頻率;nx為ext_counter計(jì)數(shù)值;fref為輸入信號的頻率;nref為ref_counter計(jì)數(shù)值。測量時,由arm調(diào)用頻率測量模塊來讀取頻率,能夠準(zhǔn)確讀取多線程的頻率。參見圖3所示為fsmc總線接口的結(jié)構(gòu)。fsmc總線接口擁有10位地址總線,16位數(shù)據(jù)總線,采樣時鐘200mhz,設(shè)計(jì)通信速率>40mb/s。對應(yīng)的頻率測試模塊的引腳描述為:引腳名稱參考時鐘io引腳描述clk_25m-i外部振蕩器時鐘輸入bus_addr_sfr_o[9:0]clk_200mi總線地址輸入iodata[15:0]clk_200mio總線數(shù)據(jù)wrn_iclk_200mi總線寫信號rdn_iclk_200mi總線讀信號pe_dvr_enclk_200mo電子引腳輸出使能控制pe_data_oclk_200mo電子引腳數(shù)據(jù)輸出參見圖4所示為高速io模塊的結(jié)構(gòu)。高速io模塊包含4個ioports模塊,32個高速io通道,io接口速率大于20mhz。其引腳描述為:引腳名稱參考時鐘io引腳描述rst_n-i復(fù)位信號輸入bus_sfr_clkclk_200mi數(shù)據(jù)總線時鐘bus_addr_sfr_i[9:0]clk_200mio總線地址輸入bus_data_sfr_i[7:0]clk_200mi總線數(shù)據(jù)bus_wr_sfr_iclk_200mi總線讀\寫信號port_inclk_200miio信號輸入bus_data_sfr_o[7:0]clk_200mo寄存器數(shù)據(jù)輸出總線port_outclk_200moio數(shù)據(jù)輸出port_enclk_200moio輸出使能參見圖5所示為fpga的頻率測量模塊的結(jié)構(gòu),其引腳描述為:引腳名稱參考時鐘io引腳描述rst_n-i復(fù)位信號輸入bus_sfr_clkclk_200mi數(shù)據(jù)總線時鐘bus_addr_sfr_i[9:0]clk_200mio總線地址輸入bus_data_sfr_i[7:0]clk_200mi總線數(shù)據(jù)輸入bus_data_sfr_o[7:0]clk_200mo總線數(shù)據(jù)輸出bus_wr_sfr_iclk_200mi總線讀\寫信號clk_200mclk_200mi參考頻率信號輸入ext_clk_m[31:0]clk_200mo外部頻率信號輸入總之,本發(fā)明基于fpga結(jié)合等精度頻率計(jì),并且通過和arm結(jié)合,由arm調(diào)用頻率測量模塊來讀取頻率,能夠有效準(zhǔn)確地測量多線程的頻率。結(jié)合測頻功能采用等精度測量,對0.05hz~25mhz保證測量精度5ppm,1khz以上信號測量時間1ms,1khz以下信號測量時間為1~2個信號周期。滿足對頻率測量精度的需求(0.1hz~1mhz+/-(0.01%))??赏瑫r測量32通道的數(shù)據(jù)。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。當(dāng)前第1頁12