《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 基于DSP數(shù)字振蕩器的移相正弦波發(fā)生器設(shè)計(jì)
基于DSP數(shù)字振蕩器的移相正弦波發(fā)生器設(shè)計(jì)
鄭留平,朱衛(wèi)華 南華大學(xué)
摘要: 本文利用DSP技術(shù),通過(guò)數(shù)值迭代方法,,即用DSP數(shù)字振蕩器的實(shí)現(xiàn)原理獲得兩路正弦波信號(hào),。通過(guò)仿真,硬件實(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芯片中,,此后可通過(guò)兩片。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)無(wú)相位差,。當(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ù)的偏差可以通過(guò)外部微處理器來(lái)獲得相應(yīng)的數(shù)字量輸入,這個(gè)數(shù)值對(duì)應(yīng)著正弦信號(hào)的移相角度,。直接頻率合成方法具有頻率轉(zhuǎn)換時(shí)間短,、相位噪聲性能好、精度高,,產(chǎn)生的信號(hào)頻率范圍寬等優(yōu)點(diǎn),,但由于需要采用地址、相位計(jì)算,、訪問(wèn)存儲(chǔ)器操作等環(huán)節(jié),導(dǎo)致直接頻率合成器結(jié)構(gòu)復(fù)雜,、成本高,、移相分辨率低。本文利用DSP技術(shù),,通過(guò)數(shù)值迭代方法,,即用DSP數(shù)字振蕩器的實(shí)現(xiàn)原理獲得兩路正弦波信號(hào)。通過(guò)仿真,,硬件實(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通過(guò)運(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)的差分方程為

    通過(guò)疊代可由差分方程求出系統(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ì)中,,主程序通過(guò)鍵盤(pán)輸入頻率及相位差等數(shù)據(jù),在初始化時(shí)依輸出信號(hào)頻率,、采樣速率及相位差等數(shù)據(jù)先計(jì)算出兩路正弦信號(hào)的初始值y1(1),、y1(2)和y2(1)y2(2),然后開(kāi)放定時(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)的中央處理單元采用美國(guó)TI(德州儀器)公司的高性能定點(diǎn)數(shù)字信號(hào)處理芯片TMS320VC5416,,TMS 320 VC54.16是TI公司專(zhuān)門(mén)針對(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)存訪問(wèn)控制器(DMA),、3個(gè)多通道緩沖串口(McBSP)、8位增強(qiáng)型HPI接口等,。此外,,TMS320VC5416支持C和匯編語(yǔ)言混合編程,高效的流水線操作和靈活的尋址方式使其特別適合高速實(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è)備,,通過(guò)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無(wú)縫串行連接進(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通過(guò)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通過(guò)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控制器,。控制信息則是通過(guò)控制通道以時(shí)鐘和幀同步信號(hào)的形式傳送,。

3 系統(tǒng)軟件設(shè)計(jì)及CCS仿真結(jié)果
    系統(tǒng)軟件主要由BootLoader下載程序,、系統(tǒng)初始化、鍵盤(pán)顯示,、定時(shí)中斷處理等幾個(gè)模塊構(gòu)成,。系統(tǒng)開(kāi)始上電時(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é)束語(yǔ)
    本文提出了一種基于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)載,。