System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及頻率測量,尤其涉及一種基于時間戳循環隊列的頻率檢測方法及檢測系統。
技術介紹
1、硅諧振壓力傳感器廣泛應用于航空航天領域,其輸出頻率信號需要精度測量以保證壓力測量精度。目前,頻率信號精確測量的主流技術路線為“等精度測頻法”,該方法測量精度保持恒定,不隨所測信號的變化而變化,硬件實現主要以fpga為基礎,能夠滿足高精度、多通道的要求,但是fpga芯片一般成本較高,且在單片機為主控的系統中引入fpga會增加系統的復雜程度。而僅基于單片機實現高精度、多通道測頻具有一定局限性,主要難點在于單片機為串行處理器,某個時刻僅能執行一條指令,難以嚴格保證實時監測到被測信號的沿跳變,引起低頻計數±1誤差。該誤差是目前制約單片機測頻精度提升的瓶頸。如果要實現單片機多通道測頻,會對軟硬件系統提出極為嚴苛的考驗。目前尚未在公開文獻中找到能夠完美解決基于單片機實現高精度、多通道頻率測量的方法。
技術實現思路
1、本專利技術提供了一種基于時間戳循環隊列的頻率檢測方法及檢測系統,能夠解決現有技術中無法基于單片機實現高精度、多通道頻率測量的技術問題。
2、根據本專利技術的一方面,提供了一種基于時間戳循環隊列的頻率檢測方法,方法包括:
3、根據待測頻率信號的路數選定單片機最小系統板中定時器的一個或多個第一預設通道作為待測頻率信號的輸入通道,第一預設通道的數量與待測頻率信號的路數相等且各路待測頻率信號與各個第一預設通道一一對應;
4、根據第一預設通道的數量選定單片機最
5、配置第一預設通道的模式為捕獲模式,配置dma為自動傳輸模式,并且配置第二預設通道的傳輸方向為從dma到單片機最小系統板中的內存且內存存儲地址遞增;
6、配置第二預設通道與第一預設通道的一一對應關系以及每個第二預設通道對應的內存起始地址、傳輸位寬和傳輸數據個數上限;
7、待測頻率信號通過第一預設通道輸入,當第一預設通道捕獲到一次待測頻率信號的上升沿時,定時器自動觸發一次dma傳輸以通過對應的第二預設通道將當前時刻定時器的計數值作為一個時間戳打標至內存中,所有計數值根據前述配置的第二預設通道與第一預設通道的一一對應關系以及每個第二預設通道對應的內存起始地址、傳輸位寬和傳輸數據個數上限緩存在內存中;
8、按照主任務周期循環讀取內存中的計數值并將其壓入隊列,將隊列中的計數值移出以解算得到對應的待測頻率信號的頻率。
9、進一步地,將隊列中的計數值移出以解算得到對應的待測頻率信號的頻率包括:
10、將隊列中的計數值移出以得到隊列中計數值的總數量以及隊列中的第一個計數值和最后一個計數值;
11、根據定時器的頻率、隊列中計數值的總數量、隊列中的第一個計數值和最后一個計數值解算得到對應的待測頻率信號的頻率。
12、進一步地,通過以下公式根據定時器的頻率、隊列中計數值的總數量、隊列中的第一個計數值和最后一個計數值解算得到對應的待測頻率信號的頻率:
13、
14、上式中,f表示待測頻率信號的頻率,a表示隊列中計數值的總數量,c2表示隊列中的最后一個計數值,c1表示隊列中的第一個計數值,fd表示定時器的頻率。
15、進一步地,方法還包括將待測頻率信號通過所第一預設通道輸入之前將待測頻率信號經電阻分壓至預設閾值以下。
16、進一步地,方法還包括將待測頻率信號通過所第一預設通道輸入之前配置第一預設通道的管腳復用推挽輸出并懸空。
17、進一步地,單片機最小系統板中的單片機選用arm處理器。
18、根據本專利技術的另一方面,提供了一種基于時間戳循環隊列的頻率檢測系統,檢測系統包括:
19、單片機最小系統板,單片機最小系統板包括單片機、定時器、dma和內存,定時器用于根據待測頻率信號的路數選定一個或多個第一預設通道作為待測頻率信號的輸入通道,第一預設通道的數量與待測頻率信號的路數相等且各路待測頻率信號與各個第一預設通道一一對應,dma用于根據第一預設通道的數量選定一個或多個第二預設通道作為時間戳輸出通道,第二預設通道的數量與第一預設通道的數量相等;
20、配置模塊,配置模塊用于配置第一預設通道的模式為捕獲模式,配置dma為自動傳輸模式,并且配置第二預設通道的傳輸方向為從dma到單片機最小系統板中的內存且內存存儲地址遞增;配置第二預設通道與第一預設通道的一一對應關系以及每個第二預設通道對應的內存起始地址、傳輸位寬和傳輸數據個數上限;
21、定時器還用于當第一預設通道捕獲到一次待測頻率信號的上升沿時,自動觸發一次dma傳輸以通過對應的第二預設通道將當前時刻定時器的計數值作為一個時間戳打標至內存中,所有計數值根據前述配置的第二預設通道與第一預設通道的一一對應關系以及每個第二預設通道對應的內存起始地址、傳輸位寬和傳輸數據個數上限緩存在內存中;
22、解算模塊,解算模塊用于按照主任務周期循環讀取內存中的計數值并將其壓入隊列,將隊列中的計數值移出以解算得到對應的待測頻率信號的頻率。
23、應用本專利技術的技術方案,提供了一種基于時間戳循環隊列的頻率檢測方法及檢測系統,該方法摒棄了傳統測頻方案中的待測信號+參考(標準)信號的硬件框架,僅需一個單片機最小系統板,主控芯片僅有待測信號輸入,參考信號為芯片內部定時器自身的時鐘,也就是以芯片內部定時器的主頻作為標準頻率信號,不需要增加其余外圍電路,硬件組成極為簡潔,易于實現小型化,且成本較低;再者通過軟件的巧妙設計,利用定時器在待測頻率信號上升沿來臨時刻自動觸發dma傳輸一個時間戳保存到內存中的循環隊列,能夠實現對多路被測的信號的高效同步,從原理上解決傳統測頻方案中待測信號難以同步導致的±1誤差,極大提升測頻精度,并通過使用循環隊列存儲大量時間戳,能夠有效緩解處理器運行負擔,不需要專門增加中斷,為多通道測頻提供了可能,滿足絕大多數場景下的測頻需求。
本文檔來自技高網...【技術保護點】
1.一種基于時間戳循環隊列的頻率檢測方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,將所述隊列中的計數值移出以解算得到對應的待測頻率信號的頻率包括:
3.根據權利要求2所述的方法,其特征在于,通過以下公式根據所述定時器的頻率、所述隊列中計數值的總數量、所述隊列中的第一個計數值和最后一個計數值解算得到對應的待測頻率信號的頻率:
4.根據權利要求1所述的方法,其特征在于,所述方法還包括將所述待測頻率信號通過所第一預設通道輸入之前將待測頻率信號經電阻分壓至預設閾值以下。
5.根據權利要求1所述的方法,其特征在于,所述方法還包括將所述待測頻率信號通過所第一預設通道輸入之前配置所述第一預設通道的管腳復用推挽輸出并懸空。
6.根據權利要求1至5中任一項所述的方法,其特征在于,所述單片機最小系統板中的單片機選用arm處理器。
7.一種基于時間戳循環隊列的頻率檢測系統,其特征在于,所述檢測系統包括:
【技術特征摘要】
1.一種基于時間戳循環隊列的頻率檢測方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,將所述隊列中的計數值移出以解算得到對應的待測頻率信號的頻率包括:
3.根據權利要求2所述的方法,其特征在于,通過以下公式根據所述定時器的頻率、所述隊列中計數值的總數量、所述隊列中的第一個計數值和最后一個計數值解算得到對應的待測頻率信號的頻率:
4.根據權利要求1所述的方法,其特征在于,所述方法還包括...
【專利技術屬性】
技術研發人員:牛光星,趙瑩,柏楠,王希洋,
申請(專利權)人:北京自動化控制設備研究所,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。