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