基于DSP的數字頻率計設計
軟件設計部分主要包括以下四部分:
·初始化:對變量參數、系統時(shí)鐘、PIE、EV、Flash、GPIO等進(jìn)行配置。
·中斷模塊:SCI中斷和定時(shí)器T2、T3上溢中斷。
·數據處理模塊:分段+取算術(shù)平均值。
·輸出操作模塊:數據經(jīng)RS-232傳給上位機。
圖5為測頻率、周期軟件流程圖,圖6為定時(shí)器2的溢出中斷流程圖。
圖5 測頻率、周期流程圖
圖6 定時(shí)器T2溢出中斷流程圖
在該部分初始化時(shí),要進(jìn)行以下配置:通用定時(shí)器T1時(shí)鐘輸入為外部定時(shí)器時(shí)鐘,通用定時(shí)器T2時(shí)鐘輸入為內部時(shí)鐘輸入,用來(lái)對標準脈沖進(jìn)行計數,該標準脈沖由外部30MHz的有源晶振提供;捕獲單元1設置為上升沿捕獲,用來(lái)捕獲T1PWM引腳輸出PWM波的上升沿,在每次比較匹配時(shí)讀取定時(shí)器T2的計數值T2CNT,該值保存在CAP1FIFO內。初始化時(shí)要將捕獲單元1的狀態(tài)寄存器中的FIFO堆棧狀態(tài)設置成空堆棧;將定時(shí)器T1的定時(shí)周期設置為4個(gè)被測信號的周期長(cháng)度,通過(guò)測得的定時(shí)器T1的一個(gè)定時(shí)周期內的標準脈沖的個(gè)數,計算出被測信號頻率,然后對被測信號進(jìn)行分段,分別為低頻段(小于46.875Hz),中頻段(大于46.875Hz,小于2343.75KHz),以及高頻段(大于2343.75 KHz),其中分段的依據是定時(shí)器的計數飽和值為65536和計數個(gè)數應大于等于1。若信號頻率為中高頻段則重新配置定時(shí)器T1,定時(shí)器T2的寄存器,來(lái)改變定時(shí)周期以及每個(gè)門(mén)閘時(shí)間內的高頻填充脈沖的個(gè)數。在定時(shí)器T1的下一個(gè)定時(shí)周期內計算出頻率和周期。另外,定時(shí)器T2的溢出次數要在第一次發(fā)生比較匹配時(shí)清零,而是否是第一次發(fā)生比較匹配則通過(guò)設置一個(gè)標志來(lái)判斷。當溢出次數清零后才開(kāi)始記溢出次數,直到第二次發(fā)生比較匹配。
下一步改進(jìn)意見(jiàn)
該方法的測量誤差主要來(lái)自硬件部分,整形電路的優(yōu)劣直接關(guān)系到測量精度的高低。所以我們下一步的工作就是改進(jìn)整形電路的整形效果和抗干擾性能,盡最大可能減小信號整形帶來(lái)的誤差。
由于DSP定時(shí)器在計數時(shí)存在計數飽和的情況,因此在實(shí)現該等精度測量時(shí)存在上限,即當被測信號頻率高于高頻填充脈沖的頻率時(shí),該方法就不能實(shí)現等精度了??梢栽谠摲桨傅幕A上進(jìn)行以下處理:選擇定時(shí)器T1定時(shí)周期內被測信號的個(gè)數固定,可設置T1PR為65529,同時(shí)將定時(shí)器T2的時(shí)鐘修改為75MHz,這樣就能保證每個(gè)門(mén)閘時(shí)間內高頻填充脈沖的個(gè)數,從而在對高頻信號實(shí)現頻率和周期測量時(shí)保證了精度。
但選擇定時(shí)器T1時(shí)鐘輸入為外部時(shí)鐘時(shí)對被測信號的輸入范圍存在限制,如果要進(jìn)一步提高測量的信號的范圍,使得范圍達到上百兆或上G赫茲,可以考慮相位測量的方法,將被測信號設為360度,根據被測信號與標準信號之間的X度相位差,計算被測信號頻率。
評論