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