【正文】
ounter is needed. The traditional multicycle measurement method is bined with the same precision measurement method to implement the wide range and highprecision measurements of the frequency, cycle, pulse width and duty cycle. A novel same precision measurement method is proposed using the rich software of TMS320F2812 DSP chip without any external hardware control. It calculates the frequency of measured signal according to the number of high frequency pulses in a standard gate time and the detected signals whose number is set by us. And the final results are obtained by averaging multitime measurements. The system testing results show that our design is feasible. Key words: Digital frequency meter, same precision measurement, DSP 4 1 引 言 設計的要求是制作一臺簡易數(shù)字頻率計,可以用來對方波、正弦波信號頻率、周期以及周期性脈沖波信號的脈寬和占空比進行測量,同時要求 DSP 與計算機通訊,將結果顯示在計算機上。數(shù)字頻率計是用數(shù)字顯示被測信號頻率的儀器,被測信 號可以是正弦波,方波或其它周期性變化的信號。 另外, 數(shù)字頻率計 還廣泛應 用于通訊設備、廣播電視設備、電子儀表及家電產品的測量調試 中, 是一種應用 相當 廣泛的儀器 。本設計基于 TMS320F2812 DSP平臺,完成了頻率計的制作與測試。 5 2 系統(tǒng)指標 本設計達到了該題目要求的所有基本指標和發(fā)揮部分指標,并在此基礎上進行了擴展?,F(xiàn)將題目的要求指標(包括基本要求指標和發(fā)揮部分指標)和本設計所達到的各項指標在表 1中進行比較。 6 3 系統(tǒng)方案 總體介紹 本設計是以設計盡量簡 單,測量精度盡量高為目標,在盡量發(fā)揮 DSP 軟件資源的驅動下完成的。測量時主要使用了該 DSP 芯片的 EV 模塊。通訊使用了 SCI 單元 A,使用 RS232 與計算機進行通訊。 被 測 信 號 T M S 3 2 0 F 2 8 1 2鍵 盤與顯 示整 形 電 路標 準 頻 率 信 號發(fā) 生 電 路S C I模 塊T C L K I N AX C L K I N AT 1 P W MC A P 1C A P 4C A P 5電 源 模 塊+ 1 2 V 1 2 VG N D1 . 8 V3 . 3 V+ 5 V 5 V圖 總體框圖 頻率 /周期測量原理 本部分主要實現(xiàn)了對被測信號頻率和周期的測量。該等精度測量基于 DSP 比較匹配時 T1PWM 引腳輸出電平的跳變作為門閘信號的開啟和關閉,由于比較匹配發(fā)生在被測信號的上升沿,從而實現(xiàn)了門閘時間與被測信號的同步(本等精度測量與傳統(tǒng)等精度測量原理的相似性分析在 節(jié))。 7 被 測 信 號整 形 電 路C A P 1T 1 P W MT C L K I N AD S P F 2 8 1 2 整 形 后 被 測信 號定 時 器 T 1 計數(shù) 器 的 值T 1 P W M 輸出 端 波 形總 數(shù) N y高 頻 標 準填 充 脈 沖12300123比 較 匹 配 比 較 匹 配 圖 頻率測量原理 通用定時器 T1 時鐘輸入選擇外部定時器時鐘,此處用調理后的被測信號作為定時器 T1 的時鐘輸入,定時器 T2 時鐘輸入選擇內部 CPU 時鐘,用來產生高頻標準填充脈沖。捕獲單元 CAP1 設置為上升沿捕獲, T1PWM 輸出的 PWM 波上升沿被捕獲單元 1 捕獲到,該上升沿作為門閘時間開啟信號,下一次上升沿到達作為該門閘時間的停止信號。 從圖中可以看出該門閘時間的值與通用定時器 T1的定時周期相等,因此只要保證該門閘時間內標準脈沖的個數(shù)一定,就可以實現(xiàn)門閘時間一定,從而實現(xiàn)等精度測量。從下一個周期開始即可獲得理想的精度。 脈寬測量原理 該部分主要實現(xiàn)對周期性脈沖波實現(xiàn)脈沖寬度的測量,原理圖如圖 所示。如圖 所示,整形后的被測信號直接送入 DSP CAP CAP5 引 9 腳,對被測信號的上升沿和下降沿分別捕獲 , 首先使能 CAP4 為上升沿捕獲,當CAP4 捕獲上升沿時,立即使能 CAP5 為下降沿捕獲,在每次的 CAP5 捕獲中斷中計算脈寬。 周期脈沖信號占空比測量原理 該部分主要實現(xiàn)對周期性脈沖信號占空比的測量。 基 準 信 號預 置 門被 測 信 號清 零 信 號E NC L KC L RE NC L KC L RC N T 1O U T P U TC N T 2O U T P U TS T A R TD QC L R TT ’定 閘 門 信 號實 際 閘 門 信 號被 測 頻 率 信 號標 準 頻 率 信 號 圖 傳統(tǒng)的等精度測量原理 10 傳統(tǒng)的等精度測量一般像圖 所示由硬件控制計數(shù)的門閘時間,當預置們信號(即定閘門信號)為高電平時,基準信號計數(shù)器 CNT1 和被測信號計數(shù)器 CNT2 并不啟動,而是等被測信號的上升沿來到時才同時開始計數(shù),當預置們信號為低電平時,兩個計數(shù)器并不馬上關閉,同樣要等到被測信號上升沿,于是實際閘門時間就是被測信號周期的整數(shù)倍,從而實現(xiàn)了閘門與被測信號的同步。 T 1 計 數(shù) 值高 頻 標 準 時 鐘被 測 信 號門 閘 1 門 閘 2N y nN y ≥ n比 較 匹 配 圖 本等精度測量原理圖 本設計的等精度測量原理如圖 所示,其基于 DSP比較匹配時 T1PWM 引腳輸出電平的跳變作為門閘信號的開啟和關閉,由于比較匹配發(fā)生在被測信號的上升沿,從而實現(xiàn)了門閘時間與被測信號的同步。其中被測信號的個數(shù)為整數(shù),并且是由我們自己任意設定的。設定捕獲單元 CAP1 為上升沿捕獲,當其捕獲到上升沿時讀取堆棧 CAPFIFO 內的值,在下一次捕獲到時再讀堆棧內的值,計算出標準填充脈沖的個數(shù) Ny,保證 Ny 的個數(shù) 不小于一定的值,即可保證門閘時間大于一定的值。 T1PR+1 = n Ny由于不一定為整數(shù),假設 1a n Ny a? ? ?( a 為整數(shù)) , 則取 n Ny 1a??,表現(xiàn)在被測信號上,則與傳統(tǒng)的用硬件控制一樣,用下一個被測信號的上升沿作為門閘信號的關閉信號,只不 過該上升沿發(fā)生在下一次的比較匹配時。但在本設計中,定時器T1并不關閉,前一門閘時間的關閉信號同時作為下一門閘信號的開啟信號。而本設計采用逆向思維,由被測信號自己產生門閘信號,若希望誤差不大于二十萬分之一。 ( 2)從測量結果上,傳統(tǒng)的等精度測量第一次測量結果就能滿足等精度,而本方法第一次測量的數(shù)據(jù)往往是不準確的,從第二次測量的數(shù)據(jù)開始滿足了等精度,但由于每次測量的時間非常短,故該方法仍是可行的。 fx計數(shù)的啟停時間都是由該信號的上升沿觸發(fā)的,在一次測量時間內 fx的計數(shù)無誤差;在此時間內標準頻率脈沖的計數(shù)個數(shù) Ny 最多相差一個脈沖,即 1et?? fx Nx fs Ny? ( 31) 而 0 ( )fx e Nx f Ny et? ? ? ( 32) 由式( 31)和式( 32)可得 ( 0 )fx f Ny Nx?? (33) [ ( ) ]fx e fs N y et N x? ? ? ? (34) 根據(jù)相對誤差公式有 fx e fx e fx e fx fx e? ? ? ? ? (35) 將式( 33)、( 34)代入式( 35)經(jīng)整理得 fxe fxe et Ny? ? ? (36) ∵ 1et?? ∴ 1et Ny Ny?? (37) 12 即 1fx e fx e Ny? ? ? ? 顯然,測量精度僅僅與 Ny 有關,只要保證 Ny的值,就能保證精度。為了使系統(tǒng)快速響應,在程序開始時,先把定時器 T1的周期值設為 4, T2CLK 設定為 150/64MHz。如果周期值設為很大的話,若輸入信號頻率很低,就會等待很長的時間才得出結果,不利于實時測量。分段依據(jù)如下:設變量 Ny 為該固定時間內測得的標準脈沖數(shù),若 Ny 小于 13 個,則定義為高 頻段,需重新配置定時器 T1的定時周期為 65530個被測信號周期長度,并且修改定時器 2 的時鐘頻率為 150/2MHz;若 202000Ny? ,定義為低頻段;若 Ny 小于 202000 個而大于 13 個,定義為中頻段。 (b)對于中頻段,本設計采用等精 度測量。若 12Ny? ,則200 000 12 166 163 83N ? ? ?,此時 N 不 可 取 ; 若 13Ny? ,200 000 13 153 85 163 83N ? ? ?,此時 N 可取。對于被測信號頻率小于等于 767953 Hz時,采用等精度測量,即周期匹配值設為 4* 3N? ,同時為了提高精度,把定時器T2 的內部時鐘分頻數(shù)設為 8 分頻,即以 15016 MHz 的頻率作為內部時鐘頻率。但由于高頻選擇的標準脈沖頻率非常高,故高頻部分精度基本保持在百萬級別不變。要進行以下處理:把定時器 T1,定時器 T2 的寄存器配置重新設置為系統(tǒng)初始化時的狀態(tài),即把定時器 T1的周期寄存器的值 T1PR 設為3,定時器 T2 的內部時鐘分頻系數(shù)設為 64 分頻,重新 計算頻率。 如何判斷信號頻率發(fā)生變化了呢?本設計中,根據(jù)定時器 T2 溢出次數(shù)是否超出了本頻率段最低頻率時應該對應的溢出次數(shù)來判斷。因此如果開始在高頻段,現(xiàn)在溢出次數(shù)大于 98 次,表示被測信號頻率的確是由高變低了,但并不能區(qū)分信號頻率到底變?yōu)橹蓄l段,還是低頻段,所以重新初始化,重新測信號頻率。其他頻率變化情況也是如此判斷處理,這里不再贅述。 (b)把控制寄存器的位改為“立即重載”,這樣只要重載初始化時的值,就可以立即裝載,然后再把控制寄存器的位改回原來的值。 (3)取算術平均值進行濾波 為了進一步提高測量計算精度,本設計采用平均值的方法進一步提高精度。當數(shù)組存滿后,對這 7 個數(shù)進行從小到大的冒泡排序,然后去掉數(shù)組中排序前兩個和排序最后兩個值,把剩下的三個值進行平均,這樣不僅去除了系統(tǒng)偶爾受外界干擾得到的不 14 穩(wěn)定值,而且可以提高測量精度。經(jīng)調試發(fā)現(xiàn)這樣能夠很好的去除干擾數(shù)值,而且由于高頻本身測試速度就很快,所以不會影響實時性 測量。經(jīng)若干次(大于 30 次)測量發(fā)現(xiàn),在信號頻率大于200Hz 時,測量誤差基本恒定,為百萬分之十八,為了進一步提高精度,在測得的結果中統(tǒng)一乘以一個系數(shù) a, 1 18 100 000 0a ?? ,即 ? ,去除該誤差,得到了更高的精度。它在環(huán)境溫度為 0℃ 50℃時,精度為177。 ( 1)在低頻段(被測信號頻率小于 ),采用一個被測信號周期里至少50000 個標準填充脈沖,每次測量共 4個被測信號周期長度,所以理論上被測信號頻率的測量誤差應小于 61 200 000 5e?? ? ?。 ( 3)在高頻段,被測信號周期長度為 65530 個周期,在頻率為 3MHz 時精度最低,理論上為 7( 1 ( 7 5 0 0 0 0 0 0 3 0 0 0 0 0 0 * 6 5 5 3 0 ) ) 6 .1 e ?? ? ?,由于信號發(fā)生器的精度限制,理論上測量誤差應小于 61e? 。測占空比的精度取決于測周期和脈寬的精度 。 整形電路 +T L 3 0 1 6I D 5 V1 3 K5 1 0+ 5 V1 0 KI N P U T1 0 03 . 3 VS N 7 4 L V C 1 G 1 40 . 1 181。為了使電路不僅能夠測量雙極性信號,還能夠測量單極性的信號,將參考端電壓適當?shù)奶Ц撸瑓?