你的位置:首頁 > 互連技術 > 正文

如何讓DSP數(shù)字振蕩器產生移相正弦波?

發(fā)布時間:2019-01-11 責任編輯:lina

【導讀】產生數(shù)字式移相信號的方法有很多。傳統(tǒng)的直接數(shù)字頻率合成(DDS)移相原理是先將正弦波信號數(shù)字化,并形成一張數(shù)據(jù)表存入兩片ROM芯片中,此后可通過兩片。D/A轉換芯片在計數(shù)器的控制下連續(xù)地循環(huán)輸出該數(shù)據(jù)表,就可獲得兩路正弦波信號。
  
引 言
 
產生數(shù)字式移相信號的方法有很多。傳統(tǒng)的直接數(shù)字頻率合成(DDS)移相原理是先將正弦波信號數(shù)字化,并形成一張數(shù)據(jù)表存入兩片ROM芯片中,此后可通過兩片。D/A轉換芯片在計數(shù)器的控制下連續(xù)地循環(huán)輸出該數(shù)據(jù)表,就可獲得兩路正弦波信號。當兩片D/A轉換芯片所獲得的數(shù)據(jù)序列完全相同時,則轉換所得到的兩路正弦波信號無相位差。

當兩片D/A轉換芯片所獲得的數(shù)據(jù)序列不同時,則轉換所得到的兩路正弦波信號就存在著相位差。相位差的值與數(shù)據(jù)表中數(shù)據(jù)的總個數(shù)及數(shù)據(jù)地址的偏移量有關。這種處理方式的實質是將數(shù)據(jù)地址的偏移量映射為信號間的相位值。數(shù)據(jù)的偏差可以通過外部微處理器來獲得相應的數(shù)字量輸入,這個數(shù)值對應著正弦信號的移相角度。直接頻率合成方法具有頻率轉換時間短、相位噪聲性能好、精度高,產生的信號頻率范圍寬等優(yōu)點,但由于需要采用地址、相位計算、訪問存儲器操作等環(huán)節(jié),導致直接頻率合成器結構復雜、成本高、移相分辨率低。

本文利用DSP技術,通過數(shù)值迭代方法,即用DSP數(shù)字振蕩器的實現(xiàn)原理獲得兩路正弦波信號。通過仿真,硬件實現(xiàn),能得到設定參數(shù)的兩路正弦波輸出,達到了設計目的,并具有調整方便靈活、分辨率高等特點。數(shù)值迭代方法能精確計算角度的正弦值,只需較小的存儲空間,選擇正弦周期中的樣點數(shù)、改變樣點間的延遲,能產生不同頻率的波形,可利用軟件改變波形幅度及相位。
 
 
1. 波形及移相波形發(fā)生器的DSP實現(xiàn)原理
 
利用DSP通過運算,用疊代的方法產生正弦信號,即數(shù)字振蕩器。數(shù)字振蕩器的單位沖擊響應為sin(nωT+θ)·u(n)即系統(tǒng)在δ(n)的激勵下,產生振蕩,輸出相位為θ的正弦序列,該系統(tǒng)的系統(tǒng)函數(shù)就是沖擊響應的Z變換,即
 
如何讓DSP數(shù)字振蕩器產生移相正弦波?
 
當n≥3時有:y(n)=2cosωT·y(n-1)-y(n-2)。在n≥3以后,y(n)能用y(n-1)和y(n-2)算出,這是一個遞歸的差分方程。因此得到如下結論:只要已知系統(tǒng)輸出正弦信號角頻率ω和采樣周期T就可以得到系統(tǒng)差分方程,系統(tǒng)只需每隔T秒時間計算一次差分方程,就可得到當前正弦采樣序列y(n)的值。設定的y(1)、y(2)初值不同,初始相位就不同。在設計中,主程序通過鍵盤輸入頻率及相位差等數(shù)據(jù),在初始化時依輸出信號頻率、采樣速率及相位差等數(shù)據(jù)先計算出兩路正弦信號的初始值y1(1)、y1(2)和y2(1)y2(2),然后開放定時器中斷。以后每次進入定時器中斷服務程序時,利用前面的y1(1)、y1(2)和y2(1)y2(2),計算出新的y1(0)和y2(0)。雖然兩次計算并輸出y1(0)和y2(0)有一定的延遲,但由于DSP的高速流水線運行及McBSP高速串行輸出,所引起誤差將很小。
 
2. 系統(tǒng)硬件實現(xiàn)方案
 
基于TMS320VC5416 DSP的兩路輸出移相正弦波的系統(tǒng)結構如圖1所示。該系統(tǒng)的中央處理單元采用美國TI(德州儀器)公司的高性能定點數(shù)字信號處理芯片TMS320VC5416,TMS 320 VC54.16是TI公司專門針對便攜式設備設計的一款低功耗、高性能定點數(shù)字信號處理器,同C54系列其它處理器相比運行速度達到160MPIS,片內RAM達到128K,程序可尋址空間達到8M,為大量數(shù)據(jù)處理提供了豐富條件。特別是VC5416提供了多種片內外設資源;軟件可編程等待狀態(tài)產生器、可編程鎖相環(huán)時鐘產生器、1個16位計時器、6通道直接內存訪問控制器(DMA)、3個多通道緩沖串口(McBSP)、8位增強型HPI接口等。此外,TMS320VC5416支持C和匯編語言混合編程,高效的流水線操作和靈活的尋址方式使其特別適合高速實時信號處理。
 
由于系統(tǒng)有兩路正弦信號輸出,系統(tǒng)采用兩路信號分時傳輸方式。TLC320AD50C是TI公司出品的一塊將A/D和D/A轉換功能集成在一起的模擬接口芯片,采用∑-△技術在低系統(tǒng)成本下實現(xiàn)了高精度的A/D和D/A轉換。該芯片由一對16 b同步串行轉換通道組成,在ADC之后有一個抽取濾波器,在DAC之前有一個插值濾波器。TLC320AD50C支持主從兩種工作方式,并且最多支持三個從設備。利用該特點,系統(tǒng)將兩片TLC320AD50C串聯(lián),使其中一個為主設備另一個為從設備,通過TMS320VC5416的多通道緩沖串口McBSP實現(xiàn)與兩片TLC320AD50C間的串行通信。TMS320VC54.16控制兩片TLC320AD50C以時分復用方式將數(shù)據(jù)傳送給兩片TLC320AD50C進行D/A轉換輸出。
 
其中AD50C1的M/S接高電平,AD50C2的M/S接低電平,并且利用VC5416的XF引腳為AD50C提供主、次通信選擇信號。TLC320AD50被廣泛應用于音頻數(shù)據(jù)采集處理中,它可以與TMS320C54xDSP的McBSP無縫串行連接進行數(shù)據(jù)采集、存儲和處理。SCLK輸出時鐘,DIN串行輸入,DOUT串行輸出,F(xiàn)S幀同步信號輸出,對應DSP的各相應引腳。MCBSP具有特點:①串口的接收,發(fā)送時鐘既可由外部設備提供,又可由內部時鐘發(fā)生器提供;②幀同步信號和數(shù)據(jù)時鐘信號的極性可編程,內部時鐘和幀信號發(fā)生器也可由軟件編程控制;③串口的信號發(fā)送和接收部分既可單獨運行,又可以在一起配合工作;④CPU的中斷信號和DMA的同步信號使得McBSP串口可由CPU控制運行,還可脫離CPU通過DMA直接存取內存單獨運行;⑤多通道選擇部分使得串口具備了多通道信號的通信能力,他的多通道接收和發(fā)送能力可達128個信道;⑥數(shù)據(jù)寬度可在8b、12b、16b、20b、24b、32b中任意選擇,并可對數(shù)據(jù)進行A律和U律壓縮和擴展。
 
McBSP串口包括一個數(shù)據(jù)通道和一個控制通道,數(shù)據(jù)通道完成數(shù)據(jù)的發(fā)送和接收。McBSP通過DX引腳發(fā)送數(shù)據(jù)、DR引腳接收數(shù)據(jù)??刂仆ǖ劳瓿傻娜蝿瞻▋炔繒r鐘的產生、幀同步信號的產生、對這些信號的控制以及多通路的選擇等。控制通道還負責產生中斷信號送往CPU,產生同步事件信號通知DMA控制器??刂菩畔t是通過控制通道以時鐘和幀同步信號的形式傳送。
 
如何讓DSP數(shù)字振蕩器產生移相正弦波?
 
3. 系統(tǒng)軟件設計及CCS仿真結果
 
系統(tǒng)軟件主要由BootLoader下載程序、系統(tǒng)初始化、鍵盤顯示、定時中斷處理等幾個模塊構成。系統(tǒng)開始上電時首先執(zhí)行BootLoader程序,將目標程序從外部FLASH中調入片內RAM中執(zhí)行。
 
系統(tǒng)初始化程序完成對TMS320VC5416各控制寄存器,McBSP串口控制寄存器,定時器以及TLC320AD50C相應寄存器的初始化設置。主程序及定時中斷服務程序流程圖如圖2所示。
 
如何讓DSP數(shù)字振蕩器產生移相正弦波?
 
設定正弦波頻率為2 kHz,采樣頻率40 kHz,移相60度的CCS仿真波形如3所示。
 
如何讓DSP數(shù)字振蕩器產生移相正弦波?
 
4. 結束語
 
本文提出了一種基于DSP數(shù)字振蕩器產生移相正弦波的設計方法。實驗結果表明系統(tǒng)產生的波形穩(wěn)定,抗干擾能力強,頻率、相位和幅度調節(jié)方便,精度高,輸出頻率范圍為20 Hz~20 kHz,相移0~360°,移相分辨率可高達0.001度。另外系統(tǒng)若連接高速DA轉換芯片,可大大提高輸出頻率范圍。該設計方案簡單可行、新穎實用,有推廣應用價值。
 
 
 
推薦閱讀:
詳解電阻加熱的方法有哪幾種?
簡析電容傳感器原理 
在RF檢波器中的二極管為何是不可替代的?
意法半導體在CES 2019上展示下一代先進應用技術和解決方案
壓敏電阻比浪涌保護器有哪些優(yōu)勢?
要采購振蕩器么,點這里了解一下價格!
特別推薦
技術文章更多>>
技術白皮書下載更多>>
熱門搜索
?

關閉

?

關閉