《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > 基于DSP2812設計的簡易數(shù)字頻率計
基于DSP2812設計的簡易數(shù)字頻率計
摘要: 采用TMS320F2812DSP芯片為控制單元,在無需任何門控器件控制的情況下,利用DSP2812豐富的軟件資源實現(xiàn)了等精度測量.根據(jù)每個門閘時間內高頻標準脈沖的個數(shù)與已知被測信號的個數(shù),求得被測信號頻率,再通過多次平均得到最終結果.
Abstract:
Key words :

  采用TMS320F2812 DSP芯片為控制單元,,在無需任何門控器件控制的情況下,,利用DSP 2812豐富的軟件資源實現(xiàn)了等精度測量,。根據(jù)每個門閘時間內高頻標準脈沖的個數(shù)與已知被測信號的個數(shù),,求得被測信號頻率,再通過多次平均得到最終結果,。

  * 本作品獲得2008年德州儀器(TI) C2000 DSP大獎賽命題組一等獎,,并得到合肥工業(yè)大學2008年大學生創(chuàng)新性實驗計劃項目的資助

  作品的意義與概況

  隨著微電子技術和計算機技術的飛速發(fā)展, 各種電子測量儀器在原理、功能,、精度及自動化水平等方面都發(fā)生了巨大的變化, 特別是DSP技術誕生以后,,電子測量技術更是邁進了一個全新的時代。近年來,,DSP逐漸成為各種電子器件的基礎器件,,逐漸成為21世紀最具發(fā)展?jié)摿Φ某栃袠I(yè),甚至被譽為信息化數(shù)字化時代革命旗手,。在電子測量技術中,,頻率是最基本的參數(shù)之一,,它與許多電參量和非電量的測量都有著十分密切的關系。例如,,許多傳感器就是將一些非電量轉換成頻率來進行測量的,因此頻率的測量就顯得更為重要,。數(shù)字頻率計是用數(shù)字來顯示被測信號頻率的儀器,,被測信號可以是正弦波、方波或其它周期性變化的信號,。

  數(shù)字頻率計廣泛采用了高速集成電路和大規(guī)模集成電路,,使得儀器的體積更小、耗電更少,、精度和可靠性更高,。而傳統(tǒng)的頻率計測量誤差較大,范圍也較窄,,因此逐漸被新型的數(shù)字頻率計所代替,。基于DSP的等精度頻率計以其測量準確,、精度高,、方便、價格便宜等優(yōu)勢將得到廣泛的應用,。

  我們設計的簡易數(shù)字頻率計在未采用任何門控器件控制的情況下,,在很寬的范圍內實現(xiàn)了等精度頻率測量,0.5Hz~10MHz的范圍內測量方波的最大相對誤差小于2e-6,,測量正弦波的最大相對誤差小于3.5e-5,;結果通過RS232通訊顯示在計算機上,可以很方便地監(jiān)測數(shù)據(jù),。

  方案設計

  總體介紹

  傳統(tǒng)的等精度測頻法使用門控器件產(chǎn)生門控信號,,從而實現(xiàn)實際門閘信號與被測信號同步,消除對被測信號計數(shù)產(chǎn)生的一個脈沖的誤差,,其原理圖如圖1所示,。

傳統(tǒng)的等精度測量原理

圖1 傳統(tǒng)的等精度測量原理

  由硬件控制計數(shù)的門閘時間,當預置們信號(即定閘門信號)為高電平時,,基準信號計數(shù)器CNT1和被測信號計數(shù)器CNT2并不啟動,,而是等被測信號的上升沿來到時才同時開始計數(shù);當預置們信號為低電平時,,兩個計數(shù)器并不馬上關閉,,同樣要等到被測信號上升沿來到后再關閉;于是,,實際閘門時間就是被測信號周期的整數(shù)倍,,從而實現(xiàn)了閘門與被測信號的同步,。但是,實際的門閘時間并不固定,,與被測信號的頻率有關,。此外,無論是采用計數(shù)器還是單片機,,在實現(xiàn)等精度測量時總是離不開門控器件,。

  本設計基于DSP豐富的軟件資源,經(jīng)過判斷和處理,,完成了對被測信號頻率的等精度測量,。硬件上無需任何門控器件,簡化了電路,。系統(tǒng)框圖如圖2所示,,信號處理部分以TMS320F2812 DSP芯片作為控制和測量的核心;信號調理部分主要是完成對信號的放大,、整形和限幅,;標準頻率信號由30MHz有源晶振產(chǎn)生,作為高頻標準填充脈沖,;通過DSP的SCI模塊與上位機實現(xiàn)通信,,結果顯示在上位機上。

圖2 系統(tǒng)框圖

圖2 系統(tǒng)框圖

  頻率/周期測量

  在對被測信號頻率和周期的測量中,,等精度測量是基于DSP比較匹配時T1PWM引腳輸出電平的跳變作為門閘信號的開啟和關閉,,由于比較匹配發(fā)生在被測信號的上升沿,從而實現(xiàn)了門閘時間與被測信號的同步,。原理圖如圖3所示,。

圖3 本等精度頻率測量原理

圖3 本等精度頻率測量原理

  通用定時器T1時鐘輸入選擇外部定時器時鐘,此處用調理后的被測信號作為定時器T1的時鐘輸入,,定時器T2時鐘輸入選擇內部CPU時鐘,,用來產(chǎn)生高頻標準填充脈沖。F2812片上EVA中通用定時器T1在發(fā)生比較匹配事件時,,其比較輸出引腳T1CMP輸出信號會自動改變電平狀態(tài),,產(chǎn)生PWM波。捕獲單元CAP1設置為上升沿捕獲,,T1PWM輸出的PWM波上升沿被CAP1捕獲到,,讀取此時定時器T2的計數(shù)值,同理在下一次比較匹配時再次讀取定時器T2的計數(shù)值,。通過兩次T2CNT值的相減,,即可獲得該門閘時間內標準填充脈沖的個數(shù),然后求出被測信號頻率,。

   基于DSP比較匹配時T1PWM引腳輸出電平的跳變作為門閘信號的開啟和關閉,,由于比較匹配發(fā)生在被測信號的上升沿,,從而實現(xiàn)了門閘時間與被測信號的同步。兩個相鄰的比較匹配產(chǎn)生的PWM波的上升沿分別作為門閘信號的開啟和關閉信號,,其中被測信號的個數(shù)為整數(shù),,并且是由我們自己任意設定的。定時器T2時鐘輸入選擇內部CPU時鐘,,用來產(chǎn)生標準填充脈沖,。設定捕獲單元CAP1為上升沿捕獲,當其捕獲到上升沿時讀取堆棧CAPFIFO內的值,,在下一次捕獲到時再讀堆棧內的值,計算出標準填充脈沖的個數(shù)Ny,,保證Ny的個數(shù)不小于一定的值,,即可保證門閘時間大于一定的值。假設現(xiàn)在希望一個門閘時間內高頻填充脈沖的總數(shù)不小于n,,當Ny>n時,,就增大定時器T1的定時周期,即增大定時器T1周期寄存器TIPR的值,。存在公式T1PR+1=n/Ny,,由于n/Ny不一定為整數(shù),假a

  周期測量與頻率測量的基本原理完全相同,測出信號頻率,,根據(jù)公T=1/f即可得出被測信號的周期,。

  誤差分析

  定時器T1計數(shù)的啟停時間都是由該信號的上升沿觸發(fā)的,在一次測量時間內對被測信號的計數(shù)無誤差,;在此時間內標準頻率脈沖的計數(shù)個數(shù)Ny,,最多相差一個脈沖,故理論誤差為:

  |d|≤1/Ny

  顯然,,測量精度僅僅與Ny有關,,只要Ny值足夠大,就能保證精度,。

  硬件設計

  如圖4所示,,將被測信號經(jīng)過高速運放OPA2690進行放大,在經(jīng)過高速比較器TL3016進行整形[3],,由于比較器在對低頻正弦波信號進行整形時,,輸出波形的邊沿有比較嚴重的抖動,影響測量,。解決辦法是對比較器加入正反饋,,加速信號邊沿,同時形成滯環(huán),,可有效消除抖動,。整形后的信號經(jīng)過高速施密特觸發(fā)SN74LVC1G14進行限幅和進一步整形。測量部分主要使用DSP2812芯片上定時器T1的時鐘輸入引腳TCLKINA,、定時器T1的比較輸出引腳T1PWM和捕獲單元CAP1的輸入引腳CAP1,,即可完成頻率測量。通訊部分選擇MAX3221作為RS-232電平轉換器件,,通過9芯標準RS-232口與上位機進行串行通信,。主要使用了DSP的串行通信發(fā)送引腳SCIRXD和串行通信接收引腳SCITXD。

圖4  硬件電路連接圖

圖4  硬件電路連接圖

  軟件設計

  軟件設計部分主要包括以下四部分:

·初始化:對變量參數(shù),、系統(tǒng)時鐘,、PIE、EV,、Flash,、GPIO等進行配置。
·中斷模塊:SCI中斷和定時器T2,、T3上溢中斷,。
·數(shù)據(jù)處理模塊:分段+取算術平均值,。
·輸出操作模塊:數(shù)據(jù)經(jīng)RS-232傳給上位機。

  圖5為測頻率,、周期軟件流程圖,,圖6為定時器2的溢出中斷流程圖。

圖5  測頻率,、周期流程圖

圖5  測頻率,、周期流程圖

 定時器T2溢出中斷流程圖

圖6  定時器T2溢出中斷流程圖

  在該部分初始化時,要進行以下配置:通用定時器T1時鐘輸入為外部定時器時鐘,,通用定時器T2時鐘輸入為內部時鐘輸入,,用來對標準脈沖進行計數(shù),該標準脈沖由外部30MHz的有源晶振提供,;捕獲單元1設置為上升沿捕獲,,用來捕獲T1PWM引腳輸出PWM波的上升沿,在每次比較匹配時讀取定時器T2的計數(shù)值T2CNT,,該值保存在CAP1FIFO內。初始化時要將捕獲單元1的狀態(tài)寄存器中的FIFO堆棧狀態(tài)設置成空堆棧,;將定時器T1的定時周期設置為4個被測信號的周期長度,,通過測得的定時器T1的一個定時周期內的標準脈沖的個數(shù),計算出被測信號頻率,,然后對被測信號進行分段,,分別為低頻段(小于46.875Hz),中頻段(大于46.875Hz,,小于2343.75KHz),,以及高頻段(大于2343.75 KHz),其中分段的依據(jù)是定時器的計數(shù)飽和值為65536和計數(shù)個數(shù)應大于等于1,。若信號頻率為中高頻段則重新配置定時器T1,,定時器T2的寄存器,來改變定時周期以及每個門閘時間內的高頻填充脈沖的個數(shù),。在定時器T1的下一個定時周期內計算出頻率和周期,。另外,定時器T2的溢出次數(shù)要在第一次發(fā)生比較匹配時清零,,而是否是第一次發(fā)生比較匹配則通過設置一個標志來判斷,。當溢出次數(shù)清零后才開始記溢出次數(shù),直到第二次發(fā)生比較匹配,。

  下一步改進意見

  該方法的測量誤差主要來自硬件部分,,整形電路的優(yōu)劣直接關系到測量精度的高低。所以我們下一步的工作就是改進整形電路的整形效果和抗干擾性能,,盡最大可能減小信號整形帶來的誤差,。

  由于DSP定時器在計數(shù)時存在計數(shù)飽和的情況,,因此在實現(xiàn)該等精度測量時存在上限,即當被測信號頻率高于高頻填充脈沖的頻率時,,該方法就不能實現(xiàn)等精度了,。可以在該方案的基礎上進行以下處理:選擇定時器T1定時周期內被測信號的個數(shù)固定,,可設置T1PR為65529,,同時將定時器T2的時鐘修改為75MHz,這樣就能保證每個門閘時間內高頻填充脈沖的個數(shù),,從而在對高頻信號實現(xiàn)頻率和周期測量時保證了精度,。

  但選擇定時器T1時鐘輸入為外部時鐘時對被測信號的輸入范圍存在限制,如果要進一步提高測量的信號的范圍,,使得范圍達到上百兆或上G赫茲,,可以考慮相位測量的方法,將被測信號設為360度,,根據(jù)被測信號與標準信號之間的X度相位差,,計算被測信號頻率。

 

此內容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權禁止轉載,。