《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 基于DSP數(shù)字振蕩器的移相正弦波發(fā)生器設(shè)計(jì)
基于DSP數(shù)字振蕩器的移相正弦波發(fā)生器設(shè)計(jì)
鄭留平,朱衛(wèi)華 南華大學(xué)
摘要: 本文利用DSP技術(shù),,通過數(shù)值迭代方法,,即用DSP數(shù)字振蕩器的實(shí)現(xiàn)原理獲得兩路正弦波信號(hào),。通過仿真,,硬件實(shí)現(xiàn),能得到設(shè)定參數(shù)的兩路正弦波輸出,,達(dá)到了設(shè)計(jì)目的,,并具有調(diào)整方便靈活、分辨率高等特點(diǎn),。數(shù)值迭代方法能精確計(jì)算角度的正弦值,,只需較小的存儲(chǔ)空間,選擇正弦周期中的樣點(diǎn)數(shù),、改變樣點(diǎn)間的延遲,,能產(chǎn)生不同頻率的波形,可利用軟件改變波形幅度及相位,。
Abstract:
Key words :


0 引 言
    產(chǎn)生數(shù)字式移相信號(hào)的方法有很多,。傳統(tǒng)的直接數(shù)字頻率合成(DDS)移相原理是先將正弦波信號(hào)數(shù)字化,并形成一張數(shù)據(jù)表存入兩片ROM芯片中,,此后可通過兩片。D/A轉(zhuǎn)換芯片在計(jì)數(shù)器的控制下連續(xù)地循環(huán)輸出該數(shù)據(jù)表,,就可獲得兩路正弦波信號(hào),。當(dāng)兩片D/A轉(zhuǎn)換芯片所獲得的數(shù)據(jù)序列完全相同時(shí),則轉(zhuǎn)換所得到的兩路正弦波信號(hào)無相位差,。當(dāng)兩片D/A轉(zhuǎn)換芯片所獲得的數(shù)據(jù)序列不同時(shí),,則轉(zhuǎn)換所得到的兩路正弦波信號(hào)就存在著相位差。相位差的值與數(shù)據(jù)表中數(shù)據(jù)的總個(gè)數(shù)及數(shù)據(jù)地址的偏移量有關(guān),。這種處理方式的實(shí)質(zhì)是將數(shù)據(jù)地址的偏移量映射為信號(hào)間的相位值,。數(shù)據(jù)的偏差可以通過外部微處理器來獲得相應(yīng)的數(shù)字量輸入,這個(gè)數(shù)值對(duì)應(yīng)著正弦信號(hào)的移相角度,。直接頻率合成方法具有頻率轉(zhuǎn)換時(shí)間短,、相位噪聲性能好、精度高,,產(chǎn)生的信號(hào)頻率范圍寬等優(yōu)點(diǎn),,但由于需要采用地址、相位計(jì)算,、訪問存儲(chǔ)器操作等環(huán)節(jié),,導(dǎo)致直接頻率合成器結(jié)構(gòu)復(fù)雜、成本高,、移相分辨率低,。本文利用DSP技術(shù),,通過數(shù)值迭代方法,即用DSP數(shù)字振蕩器的實(shí)現(xiàn)原理獲得兩路正弦波信號(hào),。通過仿真,,硬件實(shí)現(xiàn),能得到設(shè)定參數(shù)的兩路正弦波輸出,,達(dá)到了設(shè)計(jì)目的,,并具有調(diào)整方便靈活、分辨率高等特點(diǎn),。數(shù)值迭代方法能精確計(jì)算角度的正弦值,,只需較小的存儲(chǔ)空間,選擇正弦周期中的樣點(diǎn)數(shù),、改變樣點(diǎn)間的延遲,,能產(chǎn)生不同頻率的波形,可利用軟件改變波形幅度及相位,。


1 波形及移相波形發(fā)生器的DSP實(shí)現(xiàn)原理
    利用DSP通過運(yùn)算,,用疊代的方法產(chǎn)生正弦信號(hào),即數(shù)字振蕩器,。數(shù)字振蕩器的單位沖擊響應(yīng)為sin(nωT+θ)·u(n)即系統(tǒng)在δ(n)的激勵(lì)下,,產(chǎn)生振蕩,輸出相位為θ的正弦序列,,該系統(tǒng)的系統(tǒng)函數(shù)就是沖擊響應(yīng)的Z變換,,即
   
    則該系統(tǒng)所對(duì)應(yīng)的差分方程為

    通過疊代可由差分方程求出系統(tǒng)的沖擊響應(yīng)。系統(tǒng)的輸入為x(n)=δ(n),,初始條件為零,。則由差分方程可得:

   
    當(dāng)n≥3時(shí)有:y(n)=2cosωT·y(n-1)-y(n-2)。在n≥3以后,,y(n)能用y(n-1)和y(n-2)算出,,這是一個(gè)遞歸的差分方程。因此得到如下結(jié)論:只要已知系統(tǒng)輸出正弦信號(hào)角頻率ω和采樣周期T就可以得到系統(tǒng)差分方程,,系統(tǒng)只需每隔T秒時(shí)間計(jì)算一次差分方程,,就可得到當(dāng)前正弦采樣序列y(n)的值。設(shè)定的y(1),、y(2)初值不同,,初始相位就不同。在設(shè)計(jì)中,,主程序通過鍵盤輸入頻率及相位差等數(shù)據(jù),,在初始化時(shí)依輸出信號(hào)頻率、采樣速率及相位差等數(shù)據(jù)先計(jì)算出兩路正弦信號(hào)的初始值y1(1),、y1(2)和y2(1)y2(2),,然后開放定時(shí)器中斷,。以后每次進(jìn)入定時(shí)器中斷服務(wù)程序時(shí),利用前面的y1(1),、y1(2)和y2(1)y2(2),,計(jì)算出新的y1(0)和y2(0)。雖然兩次計(jì)算并輸出y1(0)和y2(0)有一定的延遲,,但由于DSP的高速流水線運(yùn)行及McBSP高速串行輸出,,所引起誤差將很小。


2 系統(tǒng)硬件實(shí)現(xiàn)方案
    基于TMS320VC5416 DSP的兩路輸出移相正弦波的系統(tǒng)結(jié)構(gòu)如圖1所示,。該系統(tǒng)的中央處理單元采用美國TI(德州儀器)公司的高性能定點(diǎn)數(shù)字信號(hào)處理芯片TMS320VC5416,,TMS 320 VC54.16是TI公司專門針對(duì)便攜式設(shè)備設(shè)計(jì)的一款低功耗、高性能定點(diǎn)數(shù)字信號(hào)處理器,,同C54系列其它處理器相比運(yùn)行速度達(dá)到160MPIS,,片內(nèi)RAM達(dá)到128K,程序可尋址空間達(dá)到8M,,為大量數(shù)據(jù)處理提供了豐富條件,。特別是VC5416提供了多種片內(nèi)外設(shè)資源;軟件可編程等待狀態(tài)產(chǎn)生器,、可編程鎖相環(huán)時(shí)鐘產(chǎn)生器,、1個(gè)16位計(jì)時(shí)器、6通道直接內(nèi)存訪問控制器(DMA),、3個(gè)多通道緩沖串口(McBSP),、8位增強(qiáng)型HPI接口等。此外,,TMS320VC5416支持C和匯編語言混合編程,高效的流水線操作和靈活的尋址方式使其特別適合高速實(shí)時(shí)信號(hào)處理,。由于系統(tǒng)有兩路正弦信號(hào)輸出,,系統(tǒng)采用兩路信號(hào)分時(shí)傳輸方式。TLC320AD50C是TI公司出品的一塊將A/D和D/A轉(zhuǎn)換功能集成在一起的模擬接口芯片,,采用∑-△技術(shù)在低系統(tǒng)成本下實(shí)現(xiàn)了高精度的A/D和D/A轉(zhuǎn)換,。該芯片由一對(duì)16 b同步串行轉(zhuǎn)換通道組成,在ADC之后有一個(gè)抽取濾波器,,在DAC之前有一個(gè)插值濾波器,。TLC320AD50C支持主從兩種工作方式,并且最多支持三個(gè)從設(shè)備,。利用該特點(diǎn),,系統(tǒng)將兩片TLC320AD50C串聯(lián),使其中一個(gè)為主設(shè)備另一個(gè)為從設(shè)備,,通過TMS320VC5416的多通道緩沖串口McBSP實(shí)現(xiàn)與兩片TLC320AD50C間的串行通信,。TMS320VC54.16控制兩片TLC320AD50C以時(shí)分復(fù)用方式將數(shù)據(jù)傳送給兩片TLC320AD50C進(jìn)行D/A轉(zhuǎn)換輸出,。其中AD50C1的M/S接高電平,AD50C2的M/S接低電平,,并且利用VC5416的XF引腳為AD50C提供主,、次通信選擇信號(hào)。TLC320AD50被廣泛應(yīng)用于音頻數(shù)據(jù)采集處理中,,它可以與TMS320C54xDSP的McBSP無縫串行連接進(jìn)行數(shù)據(jù)采集,、存儲(chǔ)和處理。SCLK輸出時(shí)鐘,,DIN串行輸入,,DOUT串行輸出,F(xiàn)S幀同步信號(hào)輸出,,對(duì)應(yīng)DSP的各相應(yīng)引腳,。MCBSP具有特點(diǎn):①串口的接收,發(fā)送時(shí)鐘既可由外部設(shè)備提供,,又可由內(nèi)部時(shí)鐘發(fā)生器提供,;②幀同步信號(hào)和數(shù)據(jù)時(shí)鐘信號(hào)的極性可編程,內(nèi)部時(shí)鐘和幀信號(hào)發(fā)生器也可由軟件編程控制,;③串口的信號(hào)發(fā)送和接收部分既可單獨(dú)運(yùn)行,,又可以在一起配合工作;④CPU的中斷信號(hào)和DMA的同步信號(hào)使得McBSP串口可由CPU控制運(yùn)行,,還可脫離CPU通過DMA直接存取內(nèi)存單獨(dú)運(yùn)行,;⑤多通道選擇部分使得串口具備了多通道信號(hào)的通信能力,他的多通道接收和發(fā)送能力可達(dá)128個(gè)信道,;⑥數(shù)據(jù)寬度可在8b,、12b、16b,、20b,、24b、32b中任意選擇,,并可對(duì)數(shù)據(jù)進(jìn)行A律和U律壓縮和擴(kuò)展,。McBSP串口包括一個(gè)數(shù)據(jù)通道和一個(gè)控制通道,數(shù)據(jù)通道完成數(shù)據(jù)的發(fā)送和接收,。McBSP通過DX引腳發(fā)送數(shù)據(jù),、DR引腳接收數(shù)據(jù)??刂仆ǖ劳瓿傻娜蝿?wù)包括內(nèi)部時(shí)鐘的產(chǎn)生,、幀同步信號(hào)的產(chǎn)生、對(duì)這些信號(hào)的控制以及多通路的選擇等,??刂仆ǖ肋€負(fù)責(zé)產(chǎn)生中斷信號(hào)送往CPU,,產(chǎn)生同步事件信號(hào)通知DMA控制器??刂菩畔t是通過控制通道以時(shí)鐘和幀同步信號(hào)的形式傳送,。

3 系統(tǒng)軟件設(shè)計(jì)及CCS仿真結(jié)果
    系統(tǒng)軟件主要由BootLoader下載程序、系統(tǒng)初始化,、鍵盤顯示,、定時(shí)中斷處理等幾個(gè)模塊構(gòu)成。系統(tǒng)開始上電時(shí)首先執(zhí)行BootLoader程序,,將目標(biāo)程序從外部FLASH中調(diào)入片內(nèi)RAM中執(zhí)行,。

   系統(tǒng)初始化程序完成對(duì)TMS320VC5416各控制寄存器,McBSP串口控制寄存器,,定時(shí)器以及TLC320AD50C相應(yīng)寄存器的初始化設(shè)置,。主程序及定時(shí)中斷服務(wù)程序流程圖如圖2所示。

    設(shè)定正弦波頻率為2 kHz,,采樣頻率40 kHz,,移相60度的CCS仿真波形如3所示。

4 結(jié)束語
    本文提出了一種基于DSP數(shù)字振蕩器產(chǎn)生移相正弦波的設(shè)計(jì)方法,。實(shí)驗(yàn)結(jié)果表明系統(tǒng)產(chǎn)生的波形穩(wěn)定,,抗干擾能力強(qiáng),頻率,、相位和幅度調(diào)節(jié)方便,,精度高,輸出頻率范圍為20 Hz~20 kHz,,相移0~360°,,移相分辨率可高達(dá)0.001度。另外系統(tǒng)若連接高速DA轉(zhuǎn)換芯片,,可大大提高輸出頻率范圍,。該設(shè)計(jì)方案簡(jiǎn)單可行、新穎實(shí)用,,有推廣應(yīng)用價(jià)值。

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