【導讀】直接數字合成技術(shù)(DDS)是一種頻率合成技術(shù),用于產(chǎn)生周期性波形。目前,從低頻到上百MHz的正弦波、三角波產(chǎn)生,絕大多數采用的是DDS芯片完成,甚至于買(mǎi)來(lái)的信號源,皆是采用DDS實(shí)現。
直接數字合成技術(shù)(DDS)是一種頻率合成技術(shù),用于產(chǎn)生周期性波形。目前,從低頻到上百MHz的正弦波、三角波產(chǎn)生,絕大多數采用的是DDS芯片完成,甚至于買(mǎi)來(lái)的信號源,皆是采用DDS實(shí)現。
為了便于大家理解,現假設DDS有一個(gè)固定的時(shí)鐘MCLK——36MHz,那么每個(gè)脈沖的周期則為27.78ns。下面再為大家附上一個(gè)正弦波的“相位—幅度”表格,它具有足夠細密的相位步長(cháng),比如0.01°,那么一個(gè)完整的正弦波表,就需要36000個(gè)點(diǎn)。
如下表1所示。N為表格中數據點(diǎn)序號,phase為該點(diǎn)對應的正弦波相位,Am對應該相位處的正弦波計算值,介于-1 ~ +1之間。Data_10為正弦波計算值轉換成10位數字量的10進(jìn)制表示,用一個(gè)10位DAC描述正弦波,sin(0°)應為DAC全部范圍的中心,即512。sin(90°)則為最大值1023,而sin(270°)則為最小值0。
表1:相位—幅度
從表1可以看出,在相位從0°開(kāi)始,一直到第12個(gè)點(diǎn)(即序號11,相位為0.11°),雖然正弦波幅度一直在增加,但始終沒(méi)有增加到全幅度的1/1024,即2/1024=0.001953125,因此用DAC表達一直為512,直到第13個(gè)點(diǎn)(序號12,相位0.12°),正弦波計算值為0.0020944,DAC才變?yōu)?13。這一段的細微變化(即前100個(gè)點(diǎn))在下圖1已給出。盡管管中窺豹,但可以想象,這36000個(gè)點(diǎn)記錄了一個(gè)標準正弦波的全部。
圖1. DDS表中36000點(diǎn)正弦波的前100點(diǎn)
下面再將此表首尾銜接。假設相位步長(cháng)為m=1,則DAC以MCLK為節拍,依序發(fā)作:第一個(gè)CLK時(shí),DAC輸出N=0時(shí)對應的DATA_OUT,即512,第2個(gè)CLK時(shí),DAC輸出N=1時(shí)對應的DATA_OUT,也是512……,可以想象,36000個(gè)CLK后,一個(gè)完整的正弦波被輸出了一遍。從36001個(gè)CLK開(kāi)始,又一次循環(huán)開(kāi)始。如此往復,一個(gè)個(gè)正弦波接連不斷被發(fā)作出來(lái)。
現在算一算,這個(gè)發(fā)作正弦波的頻率是多少?顯然,36000個(gè)CLK為正弦波的周期,(即1ms)其頻率為1kHz。公式為:
對上式參量的理解極為重要:其中,TMCLK為DDS主振時(shí)鐘周期,即1/36MHz,約為27.78ns,Nmax為表格總點(diǎn)數,m為循環(huán)增加中的步長(cháng),如果m=1則意味著(zhù)對表格一個(gè)不落的掃一遍,如果m=2,則意味著(zhù)隔一個(gè)掃一遍。m越大間隔越大,掃完需要的時(shí)間越短。那么,就代表著(zhù)完成一次表格的全掃描需要的動(dòng)作次數。DDS的核心思想就建立在上述公式上。改變步長(cháng)m,可以改變輸出頻率:
① 當m=1,則輸出最低頻率,即:
②當m每增加1,則輸出頻率增加,這也是DDS能夠提供的頻率最小分辨:
③ 當m增加到表格點(diǎn)數Nmax的1/1800,即20時(shí),說(shuō)明每次DAC發(fā)作,會(huì )跳過(guò)表格中的20個(gè)點(diǎn),或者說(shuō)一個(gè)掃完一個(gè)正弦波全表,只需要1800個(gè)點(diǎn)。此時(shí),樣點(diǎn)變化規則如圖1中的紅色圓點(diǎn)??梢运愠?,這樣輸出正弦波的頻率應為:
圖2是三種情況下掃出的正弦波圖,分別是m=1,m=30,m=300,可以看出隨著(zhù)m的增大,輸出頻率也在同比例增加。
圖2. 三種m獲得的三種頻率正弦波
④ 當m增大到全表總數Nmax的1/4,即9000時(shí),說(shuō)明只需要4個(gè)點(diǎn)就可以?huà)咄暾也ㄈ?,此時(shí)DAC輸出的正弦波,其實(shí)已經(jīng)不再是正弦波,而是一個(gè)標準的三角波了,該波形只有4個(gè)相位點(diǎn),分別是0°,90°,180°,270°。
⑤ 樣點(diǎn)總數除以m不等于整數可以嗎?答案是,可以。為了顯示清晰,我們假設兩種情況,m=40,它可以被36000除盡,為900,即每900個(gè)點(diǎn)可以?huà)呙柰暾也ū?;m=41,不能被36000除盡,為878.0487804878……。由此得到兩組數據如下表。
可以看出,對m=40的情況,第900點(diǎn)的相位為360°,即重新開(kāi)始了又一個(gè)正弦波。它的周期為:
而對m=41,第878點(diǎn),相位為359.98°,屬于第一個(gè)周期,第879點(diǎn),相位為360.39°,開(kāi)始了一個(gè)新周期,但是起點(diǎn)不再是0°,而是0.39°。這樣,它的每個(gè)正弦波,與緊鄰的另一個(gè)正弦波,其相位都是不同的。但是,這絲毫不會(huì )影響總體上呈現出如下頻率:
由此數據得到的波形如圖3所示。你能看出41kHz正弦波,其第二個(gè)周期與第一個(gè)周期有什么不同嗎?你根本看不出。
圖3. m=40和41得到的正弦波
DDS內核組成
DDS技術(shù)的核心由相位累加器PA,相位幅度表和數模轉換器DAC組成。以一個(gè)28位數的相位累加器為例,它可以計數0~228,或者說(shuō),它的相位表點(diǎn)數為228=268435456點(diǎn),遠比36000樣點(diǎn)多得多,這說(shuō)明實(shí)際的DDS在相位分辨上比前述舉例更加細密。
使用者需要輸入一個(gè)計數步長(cháng)m,當然m一定要小于228,此后外部時(shí)鐘MCLK每出現一個(gè)脈沖,則PA完成一次累加。如圖4所示,紅色秒針以m為步長(cháng),逆時(shí)針旋轉,它完成一個(gè)周期360°的旋轉,需要的時(shí)間為:而紅色秒針完成一個(gè)周期360°的旋轉,正好輸出一個(gè)完整周期正弦波,因此,正弦波頻率為:
當m取1時(shí),可以得到最低輸出頻率為:
理論上,當m取227,可以得到最高輸出頻率為:
m每增加1,則會(huì )使得輸出頻率獲得一個(gè)增量,即為最小輸出頻率:
圖4中,內部相位累加器具有28位,而外部相位累加器則不需要如此精細,一般僅需要14位即可。這就像你干活掙錢(qián),每件可以?huà)赍X(qián)1分,第一天干了272851件,折合272.851元,第二天干了291237件,折合291.237元,這可以精細計數,但到了發(fā)工資的時(shí)候,一個(gè)月累計6164.875元,可能你會(huì )得到6164.9元,就不需要如此精細了,因為這種精細是需要成本的。
圖中的相位幅度表,是靠存儲器實(shí)現的,存儲器數量太大,自然會(huì )導致DDS芯片成本升高。而累加器,做成28位,僅僅是多幾個(gè)級聯(lián)的計數器而已。另外,對DDS而言,輸出正弦波采用的DAC,也不需要位數過(guò)高,多數為10位,也有14位的。
圖4. DDS工作原理
為了用戶(hù)使用方便,DDS內部還具有相位失調寄存器,這可以讓DDS輸出從某個(gè)規定相位開(kāi)始。具體的DDS內核組成,還應以具體芯片為準,此處不一一贅述。
DDS技術(shù)的優(yōu)勢與弊端
DDS的優(yōu)勢在于可以發(fā)出從極低頻率到極高頻率范圍的正弦波,且頻率增量極低。以AD9834為例,它具有28位的超精細相位累加器,可承受最高75MHz的MCLK,因此,在75MHz主振情況下,它的頻率最小分辨為0.279Hz,可以發(fā)出從0.279Hz到37.5MHz,頻率步長(cháng)為0.279Hz的正弦波。至于輸出頻率到底是多少,完全取決于使用者設置的m。在DDS核心技術(shù)中,可以實(shí)現如下功能:
可以精細選擇輸出頻率,實(shí)現從低到高的頻率選擇。
可以快速跳頻,且能夠保證相位連續,這在模擬信號發(fā)生器中是難以實(shí)現的。
可以實(shí)現正交輸出,可以實(shí)現相位設置。
可以實(shí)現正弦波、三角波,配合比較器可以實(shí)現同頻同相方波輸出。
此外,在發(fā)出高質(zhì)量正弦波中,DDS技術(shù)無(wú)法實(shí)現超低失真度,是其最大的弊端。DDS技術(shù)中采用的DAC最高為14位,其積分非線(xiàn)性INL不可能做到很小。其次,其DAC一般均采用普通DAC,沒(méi)有為降低失真度做出更多的考慮。且目前的DDS實(shí)現的正弦波輸出,其失真度一般只能做到-80dB左右。
免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問(wèn)題,請聯(lián)系小編進(jìn)行處理。
推薦閱讀: