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