賈明娜 呂攀 王瑋
摘 要:介紹了一種基于TMS320F2812的音頻頻率掃頻儀的設計方法,對各模塊的設計原理進行了介紹,詳細分析了掃頻信號發生模塊中SGEN軟件模塊的工作原理和使用方法,并給出了整個系統的軟件設計流程。通過某帶阻網絡對系統的測試表明,設計的音頻掃頻儀具有準確度高、靈活性高、實時性強和成本低的特點,可完全滿足一般應用需要。
關鍵詞:DSP;掃頻儀;SGEN;SPWM
中圖分類號:TM935.1 文獻標識碼:A DOI:10.15913/j.cnki.kjycx.2015.08.008
在電子測量中,經常要對某未知網絡的傳輸特性,特別是對網絡幅頻特性進行測量。掃頻儀是完成該工作的主要工具,目前的掃頻儀大多使用基于DDS技術的專用芯片實現掃頻信號的發生和利用峰峰值檢測電路對信號進行檢測。該方法輸出的掃頻信號具有頻率分辨率高、輸出頻點多和頻率切換速度快等優點,但基于該技術的產品硬件較復雜、成本較高、靈活性較差。本文提出了一種基于DSP芯片的全新的掃頻儀設計方案,使用TI公司的TMS320F2812(以下簡稱F2812)實現了音頻范圍(20~20 k)的數字掃頻儀設計。用C28x的SGEN軟件模塊設計掃頻信號源,掃頻信號經過待測網絡后,再利用F2812的片上AD模塊對掃頻信號采樣,同時,利用F2812強大的數字處理能力對采樣信號進行實時處理,最后通過F2812的SCI接口將處理后的數據發送給上位機,由上位機實時顯示被測網絡的幅頻特性曲線?;贒SP的設計方法,使本設計幾乎成為一個單芯片硬件平臺。本文設計的掃頻儀可測量未知網絡音頻范圍的幅頻特性,除具有基于DDS技術的掃頻儀的優點外,還具有精度高、靈活性高、硬件簡單和成本低的特點。
1 TMS320F2812處理器
TMS320F2812是TI公司推出的功能強大的32位定點DSP芯片,既具有強大的數字信號處理能力,又有強大的事件管理能力和嵌入式控制功能,特別適用于大批量數據處理的測控場合。TMS320F2812的主頻最高達150 MHz,采用改進型的哈佛結構,運行于四級流水線方式,具有強大的數據處理能力;芯片內部集成了大量的SRAM、ROM和Flash等存儲器。此外,芯片還集成了大量的外設接口模塊,比如兩個事件管理器模塊EVA和EVB、AD、同步串口SPI、異步串口SCI和多通道緩沖口McBSP等。利用該芯片開發的測控系統可極大地減少外圍電路設計和降低系統成本。
2 系統設計原理
系統設計原理如圖1所示。
圖1 系統功能框圖
如圖1所示,系統由掃頻信號發生模塊、信號接收處理模塊和通信顯示模塊三部分構成。掃頻信號發生模塊用來產生頻率在20~20 k,幅值為0~3 V的正弦信號,該模塊在收到通信顯示模塊中上位機部分發來的“啟動掃頻”命令后開始工作,具體產生的掃頻頻率點根據通信顯示模塊設置的“掃頻步進”決定。
掃頻信號經過待測網絡后,不同頻點的信號會有不同程度的衰減。此時,可利用信號接收處理模塊對各頻點信號的衰減程度進行測試。該模塊首先用F2812的ADC對各頻點信號采樣,并計算出各頻點采樣信號的峰峰值。為了提高系統測量的精確度,采用多次測量取平均值的方式減小噪聲的影響,提高信噪比。測量次數由通信顯示模塊中上位機軟件設置。
信號接收處理模塊將各頻點的峰峰值計算完畢后,將該數據發送給通信顯示模塊。通信顯示模塊包括F2812上的SCI通信部分和上位機軟件兩部分。F2812的SCI通信部分通過SCI接口將當前掃頻信號的頻點值和經過待測網絡后的峰峰值發送給上位機。上位機軟件接收各頻點的數據和峰峰值數據,并實時顯示待測網絡的幅頻特性曲線。
2.1 掃頻信號發生模塊設計
本模塊使用SPWM方法,先用EVA的通用定時器產生頻率為1 MHz的PWM波作為載波,再利用SGEN模塊產生正弦數據對載波的占空比進行控制,由此產生SPWM波形,最后將SPWM信號通過截止頻率可調的低通濾波器得到20~20 kHz的標準穩定正弦信號。
PWM載波使用EVA的通用定時器1產生,如圖2所示,設置定時器為“連續增”模式,定時器1的計數器T1CNT從0開始遞增計數,當T1CNT與設定的比較寄存器值T1CMP匹配時,相應的輸出引腳發生電平跳變;當T1CNT計數增加到與周期寄存器T1PR匹配時,則發生第二次電平跳變。因此,通過設置T1PR可控制PWM波的頻率和設置T1CMPR,可控制每個PWM載波的占空比,并由此輸出幅值固定、寬度可變的脈沖信號。
圖2 用EVA的通用定時器1產生的PWM載波
正弦數據使用C28x的SGEN模塊得到,利用該模塊可方便實現所設定頻率范圍內的正弦信號。SGEN模塊為正弦信號的發生設計了標準THD模塊、低THD模塊和高精度模塊三個正弦信號模塊,其均使用基于256點的直接查表法得到正弦數據,又各有區別。標準THD模塊使用16位的模計數器;低THD模塊使用16位的模計數器,并在直接查表法的基礎上使用了線性插值技術;高精度模塊除了使用了線性插值技術,還使用了32位的模計數器。本文使用高精度單路正弦模塊SGENHP_1實現20~20 kHz的單路正弦信號的生成。
使用SGENHP_1模塊產生的數據一部分可通過“SINTBL”段查表得到,該表包含256點的正弦數據;另一部分則由模塊自身利用線性插值運算得到,插值數據生成原理如圖3所示。
x與y的關系為:
. (1)
本文使用1 MHz的PWM信號作為載波,因此,對20~20 kHz的不同信號生成每周期波形所用的數據點數由多變少,如表1所示。
表1 產生單周期正弦信號所用的數據點數
信號頻率/Hz 所用總點數 正弦查表點數 插值運算點數
20 50 000 256 49 744
500 2 000 256 1 744
1 k 1 000 256 744
10 k 100 100 0
20 k 50 50 0
SGENHP_1模塊使用模算術計數器的方法實現對頻率的精確控制,模算術計數器工作于遞增方式,SGENHP_1定義如下:
typedef struct
{
unsigned int freq;
unsigned int step_max;
unsigned int alpha;
int gain;
int offset;
int out;
void (*calc)(void *);
} SGENT_1;
參數freq的值為0~Fmax間的頻率值,相對于Fmax的歸一化值,使用Q31定標,取值為[0,1]。其中,Fmax為設定的最
大輸出頻率,freq取值為 ;offset為直流偏移量,使用
Q15定標;gain為信號增益,使用Q15定標;step_max為設置要生成的最大信號頻率,使用Q0定標,且:
. (2)
式(2)中:Fs為模算術計數器的更新頻率。
out為最終輸出的正弦數據,使用Q15定標;函數void(*calc out)(void *)使用查表和插值技術實現正弦數據的生成。
SGENHP_1模塊設置完畢后,每調用一次calc函數,模算術計數器的計數值則按照特定的步進增加一次,而函數會將此時用查表或線性插值法得到的正弦數據輸出到out,當計數器達到溢出值232時,一個周期的正弦數據輸出完畢,即一周期的正弦信號發生完畢。通常對calc函數的調用是在中斷子程序中完成的。由此可見,計數器的溢出時間由中斷子程序的調用頻率和計數器的遞增步進決定,即溢出時間為:
. (3)
式(3)中:T為溢出時間;step為計數器的遞增步進。
所產生信號的頻率為溢出時間的倒數,即:
. (4)
溢出后計數器從0開始重新計數,從而產生周期信號。
模算術計數器計數步進的設置要通過對freq的設置間接實現,因此,通過修改freq,可控制[0,Fmax]間任意頻率的正弦信號的發生。
為了產生1 MHz的PWM載波,設置定時器1每1 us產生一次定時中斷,即TISR=1 us,Fs=106 Hz,在中斷子程序中調用calc函數。要想產生20~20 kHz的信號,即Fmax=20 kHz,則:
. (5)
由此可見,本設計的頻率分辨率為 ≤1 Hz,從而達到
高頻率分辨率的要求。
通用定時器1每發生一次定時中斷,在中斷服務子程序中會將SGENHP_1模塊得到的正弦數據更新到比較寄存器T1CMP中,即由每個區間開始端的正弦值決定當前PWM載波的占空比,由此生成SPWM波。
SPWM信號經過低通濾波器即可得到最終的掃頻信號。由于不同頻率的正弦信號對應的SPWM所含諧波不同,因此,本設計未采用固定截止頻率的低通濾波器,而采用了截止頻率可動態改變的低通濾波器,使用TI的開關電容濾波器TLC04可實現該目的。
TLC04為四階巴特沃斯開關電容低通濾波器,采用施密特觸發器振蕩器自定時的雙電源供電。TLC04截止頻率的穩定性只與時鐘頻率的穩定性相關,截止頻率時鐘可調,可接TTL或CMOS時鐘,直流增益為0 dB,其時鐘-截止頻率比為50∶1,濾波電路如圖4所示。
圖4 基于TLC04的低通濾波電路
掃頻信號發生時,可用程序控制EVB的通用定時器3輸出特定頻率的方波作為TLC04的時鐘輸入,由此實現精確濾波。如圖5所示,用正弦值控制PWM載波的占空比,用低通濾波器濾除特定頻率信號的高頻諧波,最終得到標準的正弦掃頻信號,信號峰峰峰值為3 V。
圖5 SPWM及濾波后的正弦信號
2.2 信號接收處理模塊設計
經過待測網絡后,掃頻信號的各頻點峰峰值會有不同程度的變化。本模塊即利用F2812的ADC模塊對各頻點信號進行采樣,以得到數字信號,從而從采樣數據中找出各頻點對應的峰峰值。峰峰值最終被送往通信顯示模塊,以得到最終的幅頻特性曲線。
ADC模塊具有16個采集通道,輸入信號范圍為0~3 V,最高采樣速度為12.5 Msps,采樣精度為12位,可完全滿足系統的設計需要。本文使用ADC模塊的單通道順序采樣模式,采樣速度設置為400 kHz。每次AD中斷時將轉換值右移4位作為無符號數進行處理。轉換值ADCRESULT與模擬輸入電壓INPUT的關系為:
. (6)
僅對信號進行單周期采樣的精度較低,特別在待測系統衰減較大時,系統信噪比也較低。可通過多周期測量求均值的辦法提高系統信噪比,從而提高測量精度。對同一頻率信號的采樣周期數越多,則測量精度越高。
對采樣信號中峰峰值的檢測可使用軟件方法實現,DSP具有的數據處理能力使其不用峰峰值檢測電路也能實時實現。檢測出各頻點信號采樣的最大和最小值即可得到各頻點信號的峰峰值。此時,可使用Iqmath庫提高程序的執行速度。各頻點信號峰峰值最終會被送至通信顯示模塊。
2.3 通信顯示模塊
本模塊包含F2812的SCI通信部分和上位機軟件部分。SCI部分接收信號接收處理模塊送來的峰峰值,并將該峰峰值與掃頻信號的頻率值發送給上位機;上位機軟件部分用于對系統的控制和最終的結果顯示。
SCI模塊支持雙工通信,其最大波特率達12.5 M。SCI模塊的波特率要根據上位機串口的情況設置,外圍電路選用MAX232進行電平轉換,并通過9針RS232口連接上位機。
上位機軟件采用Visual C++設計,界面如圖9所示。使用時,先根據SCI接口的配置設置串口數據格式,包括波特率、數據位、校驗位和停止位,再設置掃頻步進和信號接收處理模塊對每個頻點的測量周期數,點擊“啟動掃頻”按鈕可控制DSP按設定的參數開始掃頻。同時,上位機將SCI模塊發送來的各頻點頻率值作為橫坐標,將檢測信號峰峰值Vo與原始信號峰峰
值Vi(3 V)進行 運算作為縱坐標,從而實時繪制被測
網絡的幅頻特性曲線。
3 程序總流程
系統程序流程如圖6所示。
圖6 系統程序流程圖
由圖6可見,F2812首先完成有關的初始化工作,包括將F2812時鐘倍頻設置為150 MHz,配置EVA的通用定時器1生成1 MHz的PWM1信號作為載波,設置ADC模塊采樣模式和采樣頻率,中斷SCI模塊進行數據格式設置,并根據本文中PWM1載波的中斷頻率和最大掃頻信號(20 k)對SGENHP_1模塊進行設置。當SCI用中斷方式收到上位機發來的“啟動掃頻”命令和系統參數后,開啟PWM和AD中斷,根據生成的當前頻點信號頻率對SGENHP_1模塊進行設置,同時,根據該頻率對EVB的通用定時器3進行相關設置,以生成PWM2作為TLC04的時鐘輸入,隨后等待所設置頻率信號的生成。
PWM1中斷發生后,在中斷處理程序中調用calc函數,以更新輸出正弦值,同時,將該正弦數據更新到通用定時器1的T1CMP中,由此完成SPWM波形的產生。通過對PWM1脈沖軟件計數,并根據PWM1頻率和當前頻點信號頻率算出的脈沖數可判斷一個周期的信號是否生成,同時,可判斷系統設定的信號周期數是否生成完畢。當前頻點信號生成完畢后,根據要求的步進值計算下一個頻點頻率值,從而重新設置SGENHP_1模塊的有關參數,以產生新的頻點信號。當頻點到達20 kHz時,關閉PWM1和AD中斷,停止掃頻信號發生。
AD采樣中斷完成對各頻點信號的采樣,對當前頻點信號的設定周期數采樣完畢后,先計算各周期信號對應采樣點的平均值,再找出最大和最小值以計算峰峰值,最后通過SCI接口將該峰峰值和對應的頻點值發送至上位機。
4 系統測試
測試用帶阻網絡如圖7所示。
圖7 測試用帶阻網絡
使用圖7所示的Sallen_Key結構的二階有源帶阻網絡進行測試,有源運放使用OPA363。SIN_IN為掃頻信號輸入端,SIN_OUT為掃頻信號輸出端。
利用信號發生器輸出峰峰值為3 V的特定頻點信號輸入帶阻網絡測試,用示波器對網絡輸出進行測試,3次測量取平均值后,得到該網絡的幅頻特性,如圖8所示。
圖8 示波器實測帶阻網絡幅頻特性
使用本文方法的測試結果如圖9所示。掃頻步進設置為10,各頻點測量次數設置為3.對比圖8與圖9可知,用示波器實測和利用本系統實測的帶阻網絡中心頻率均為10.9 kHz。由此可
見,本系統對測試網絡陷波中心頻率的測量無誤。此外,帶阻網絡的理想最大衰減為 ,圖8中受示波器觀察誤差和精度的影響,測得的最大衰減值為31.5 dB,而用本系統測得的最大衰減值為64 dB。因此,本系統對該參數的測量要優于信號發生器和示波器的測量結果。
圖9 上位機顯示的被測網絡幅頻特性
5 結束語
本文從系統設計的角度出發,介紹了一種基于F2812的音頻頻率掃頻儀的設計方法。本文中設計的掃頻儀可測量未知網絡音頻范圍的幅頻特性。該系統小巧、靈活、成本低,具有實時性強、精度高等特點。此外,該系統還具有良好的可擴展性,關鍵系統參數軟件可調,并可通過算法設計實現相頻特性的測量,用戶可通過上位機界面方便、靈活地控制整個系統,查看數據和觀察測試曲線,并可進一步處理數據,比如計算網絡的Q值、阻帶寬度和文件操作等。本系統可作掃頻儀器的通用平臺,利用該設計框架可設計功能更強、應用面更廣的儀器,具有很廣的應用前景。
參考文獻
[1]毛敏.新型直接數字合成式掃頻儀的原理和研制[J].儀器儀表學報,2004(04).
[2]蘇奎峰.TMS320F2812原理與開發[M].北京:電子工業出版社,2005.
[3]欒天.基于DSP的三相SPWM波形設計及實現[J].通信電源技術,2010(05).
[4]余圣發.單片機開關電容濾波器TLC04原理與應用[J].國外電子元器件,1998(06).
————————
作者簡介:賈明娜(1968—),女,畢業于西安交通大學,現工作于山東科匯電力自動化股份有限公司,高工,研究方向為嵌入式系統設計和配電自動化。
〔編輯:張思楠〕