陳國(guó)童
(寧德師范學(xué)院 物理與電氣工程系,福建 寧德 352100)
基于DDS技術(shù)相位可調(diào)的低頻信號(hào)源硬件實(shí)現(xiàn)
陳國(guó)童
(寧德師范學(xué)院 物理與電氣工程系,福建 寧德 352100)
本文提出了一種新型相位可調(diào)的低頻信號(hào)源設(shè)計(jì)方法.采用DDS(Direct Digital Synthesis)技術(shù)產(chǎn)生數(shù)字式移相正弦波信號(hào).信號(hào)生成由CPLD實(shí)現(xiàn),主要包括相位累加器和波形查找表.以單片機(jī)為控制芯片,產(chǎn)生頻率控制字和相位控制字傳送給CPLD,可大幅減輕對(duì)單片機(jī)速度的要求.
DDS;單片機(jī);CPLD;低頻信號(hào)源;相位調(diào)節(jié)
在科學(xué)研究、生產(chǎn)實(shí)踐中,常常需要產(chǎn)生穩(wěn)定的重復(fù)波形,如正弦波或者方波.在許多情況下,要求產(chǎn)生波形的頻率穩(wěn)定,能夠準(zhǔn)確調(diào)節(jié),還要求能夠產(chǎn)生多路輸出信號(hào),這些信號(hào)之間的相位保持確定的關(guān)系[1].目前使用的信號(hào)發(fā)生器絕大部分都是由模擬電路構(gòu)成,這會(huì)使頻率達(dá)數(shù)百兆赫茲,在高頻范圍內(nèi)其頻率穩(wěn)定性與可調(diào)性較好.但是用于低頻信號(hào)輸出時(shí),其需要RC值很大,大電阻、大電容在制造上很困難,參數(shù)準(zhǔn)確度難以保證[2,3],而且體積大,漏電損耗也大,加上傳統(tǒng)的模擬移相(如:阻容移相,變壓器移相等)有許多不足[4].對(duì)此,本系統(tǒng)設(shè)計(jì)了一種基于DDS技術(shù)相位可調(diào)的低頻信號(hào)源.通過結(jié)合單片機(jī)和CPLD技術(shù),利用DDS的方法來實(shí)現(xiàn)頻率、幅度、相位均可調(diào)節(jié)的低頻信號(hào)源實(shí)現(xiàn)方法.
基于DDS技術(shù)相位可調(diào)的低頻信號(hào)源系統(tǒng)框圖如圖1所示.
圖1 系統(tǒng)組成框圖
利用CPLD、單片機(jī)與電子線路技術(shù)設(shè)計(jì)一個(gè)可調(diào)相位低頻信號(hào)源.單片機(jī)主要實(shí)現(xiàn)輸出信號(hào)的頻率、相位差和幅度的設(shè)置,輸出信號(hào)的頻率、相位和幅度的顯示,向CPLD提供頻率控制字和相位控制字.CPLD主要實(shí)現(xiàn)DDS技術(shù),利用CPLD中相位累加器輸出的數(shù)據(jù)作為波形存儲(chǔ)器的相位取樣地址,通過相位累加器輸出的數(shù)據(jù)讀取波形存儲(chǔ)器中的數(shù)據(jù),再經(jīng)過模/數(shù)轉(zhuǎn)換電路、幅度調(diào)節(jié)電路、低通濾波器電路,最后產(chǎn)生兩路頻率、相位差和幅度都可調(diào)的正弦信號(hào).
2.1 DDS技術(shù)原理
DDS技術(shù)將輸出波形的一個(gè)完整周期的幅度值按順序地存放在波形存儲(chǔ)器中,通過控制相位增量產(chǎn)生頻率、相位可控制的波形.DDS電路包括基準(zhǔn)時(shí)鐘、相位增量寄存器、相位累加器、波形存儲(chǔ)器、D/A轉(zhuǎn)換器和低頻濾波器(LPF)等模塊.DDS的基本原理如圖2所示[5].
圖2 DDS的基本原理圖
圖中,相位增量寄存器用于寄存頻率控制數(shù)據(jù),相位累加器能夠完成相位累加的功能,波形存儲(chǔ)器存儲(chǔ)波形數(shù)據(jù)的一個(gè)完整周期幅度值數(shù)據(jù),D/A轉(zhuǎn)換器實(shí)現(xiàn)數(shù)字量轉(zhuǎn)換成模擬量的功能,它將數(shù)字量形式的波形幅值數(shù)據(jù)轉(zhuǎn)化為所要求合成頻率的模擬量形式信號(hào),低通濾波器起到濾除高次諧波分量的功能.為保證合成信號(hào)的精確度,整個(gè)系統(tǒng)必須在統(tǒng)一的時(shí)鐘下工作.累加器由N位加法器輸出的累加寄存器級(jí)聯(lián)構(gòu)成.每來一個(gè)時(shí)鐘脈沖fcp,加法器將頻率控制字M與累加寄存器輸出的累加相位數(shù)據(jù)相加一次,把相加后的結(jié)果送至累加寄存器的數(shù)據(jù)輸入端.累加寄存器將加法器在上一個(gè)時(shí)鐘脈沖作用后所產(chǎn)生的新相位數(shù)據(jù)反饋到加法器的輸入端,以使加法器在下一個(gè)時(shí)鐘脈沖作用下繼續(xù)與頻率控制字相加.所以,相位累加器在時(shí)鐘作用下,不斷對(duì)頻率控制字進(jìn)行線性相位累加.由此,相位累加器在每來一個(gè)時(shí)鐘脈沖輸入時(shí),把頻率控制字M累加一次,相位累加器輸出的數(shù)據(jù)就是合成信號(hào)的相位,當(dāng)相位累加器累加滿量時(shí)就會(huì)產(chǎn)生一次溢出,完成一個(gè)周期的動(dòng)作,這個(gè)周期就是DDS合成信號(hào)的周期,累加器的溢出頻率就是DDS輸出的信號(hào)頻率.
相位累加器中的數(shù)據(jù)設(shè)為24位,把輸出數(shù)據(jù)的前11位作為波形存儲(chǔ)器的相位采樣地址,當(dāng)相位累加器加一個(gè)頻率控制字(頻率控制字也為24位),通過相位累加器數(shù)據(jù)的前11位讀取波形存儲(chǔ)器中的數(shù)據(jù),這樣就可把存儲(chǔ)在波形存儲(chǔ)器內(nèi)的波形抽樣值(二進(jìn)制編碼)讀出,完成相位到幅度值的轉(zhuǎn)換.波形存儲(chǔ)器的輸出送到D/A轉(zhuǎn)換器,D/A轉(zhuǎn)換器將數(shù)字量形式的波形幅度值轉(zhuǎn)換成所要求合成頻率的模擬量形式信號(hào).低通濾波器用于濾除不需要的取樣分量,以便輸出頻譜純凈的正弦波信號(hào).
DDS在相對(duì)帶寬、頻率轉(zhuǎn)換時(shí)間、高分辨率、相位連續(xù)性、正交輸出以及集成化等一系列性能指標(biāo)方面遠(yuǎn)遠(yuǎn)超過了傳統(tǒng)頻率合成技術(shù)所能達(dá)到的水平,為系統(tǒng)提供了優(yōu)于模擬信號(hào)源的性能.DDS輸出的信號(hào)頻率可以由下式給定:
式中:f0為輸出信號(hào)頻率,M為頻率控制字,fcp為系統(tǒng)時(shí)鐘頻率,△f為信號(hào)分辨率,N為相位累加器的位數(shù).
通過分別設(shè)定頻率控制字M、相位累加器的位數(shù)N和系統(tǒng)時(shí)鐘頻率fcp,就可以按要求產(chǎn)生任意頻率的輸出信號(hào).基于DDS技術(shù)的數(shù)字式移相信號(hào)發(fā)生器的主要模塊如圖3所示.
圖3 DDS技術(shù)的數(shù)字式移相信號(hào)發(fā)生器主要模塊框圖
2.2 DDS系統(tǒng)參數(shù)確定
2.2.1 確定系統(tǒng)時(shí)鐘頻率fcp
不妨設(shè)輸出信號(hào)最高頻率為fmax、最高頻率fmax下的最少采樣點(diǎn)數(shù)為Smin,則有
由式(2)確定系統(tǒng)時(shí)鐘頻率fcp的下限值.同時(shí)又要滿足輸出信號(hào)頻率分辨率計(jì)算公式
fmax·Smin=1kHz×2048=2.048MHz,fcp≥2.048MHz,為了方便獲得時(shí)鐘脈沖,取fcp=24MHz.
2.2.2 確定相位累加器的位數(shù)N
因?yàn)樾盘?hào)頻率分辨率△f=fcp/2N,所以2N=fcp/△f,即2N=10MHz/20Hz=24×106/10=10×105=2400000
因?yàn)?20=1048576,221=2097152,而220﹤2400000﹤221,所以,相位累加器的位數(shù)N的最小值應(yīng)為21bit.
一方面,N的最小值21bit已大于2Byte,另一方面,考慮適當(dāng)提高系統(tǒng)的頻率分辨率,所以綜合這兩個(gè)方面,取N=24.由此可見,系統(tǒng)的頻率分辨率為△f=24MHz/224=1.4304Hz.
此時(shí)輸出信號(hào)的頻率分辨率為1.4304Hz,可滿足精度的設(shè)計(jì)要求.
2.2.3 確定頻率控制字M的位數(shù)
由式(1)可以求得頻率控制字為
由上式可知,頻率控制字M的最大值出現(xiàn)在輸出信號(hào)頻率f0max=1kHz的時(shí)候,則Mmax=224×1× 103/24000000=699.050667
由于29=512,210=1024,而29<699.050667<210,因此取頻率控制字M的位數(shù)為10bit.
系統(tǒng)中的24bit相位累加器實(shí)現(xiàn)對(duì)頻率控制字的累加,為了實(shí)現(xiàn)這種累加而將10bit的頻率控制字?jǐn)U展成24bit,擴(kuò)展的具體方法是在上述10bit頻率控制字前面(左邊)添加14個(gè)邏輯0即可.
2.2.4 確定波形存儲(chǔ)器的地址位數(shù)W
本系統(tǒng)決定存儲(chǔ)信號(hào)一個(gè)周期的幅度值采樣點(diǎn)數(shù)為2048,因此波形存儲(chǔ)器的地址位數(shù)W=11.
2.2.5 確定量化字長(zhǎng)D
信號(hào)一個(gè)周期的幅度值采樣量化字長(zhǎng)D對(duì)輸出信號(hào)的失真度影響很大,本系統(tǒng)決定取量化字長(zhǎng)D=8bit.這樣的話,系統(tǒng)中的D/A轉(zhuǎn)換器的字長(zhǎng)也應(yīng)該是8bit.
2.2.6 確定相位控制字K的位數(shù)
如果“相位加法器”采用10bit加法器實(shí)現(xiàn),既以“相位累加器”的輸出結(jié)果之高10位,作為被加數(shù),則有360︰2048=θ︰K
則
式中:θ是相位差,K是相位差為θ時(shí)對(duì)應(yīng)的相位控制字.K的最大值出現(xiàn)在θ取最大值359°時(shí),即
則相位控制字K的位數(shù)取11bit就能滿足設(shè)計(jì)任務(wù)關(guān)于移相的要求(分辨率為0.2°,移相范圍是0~359°).
若“相位加法器”采用24bit加法器實(shí)現(xiàn),則上述11bit的相位控制字應(yīng)擴(kuò)展成24bit,具體擴(kuò)展方法是在上述11bit相位控制字后面(右邊)添加13個(gè)邏輯0即可.
3.1 幅度調(diào)節(jié)電路設(shè)計(jì)
電路由DAC0832和LM324N組成,通過控制DAC0832的基準(zhǔn)電壓VREF來控制輸出信號(hào)的幅度.通過單片機(jī)發(fā)出的數(shù)字量不同,來控制調(diào)幅的這塊DAC0832的輸出電流Iout1,使其輸出電壓改變.DAC0832的輸出端V0作為后兩塊D/A轉(zhuǎn)換器的DAC0832的基準(zhǔn)電壓VREF,所以通過基準(zhǔn)電壓VREF的大小可以控制后兩塊DAC0832輸出端V0的大小.因此可實(shí)現(xiàn)幅度調(diào)節(jié)的功能.幅度調(diào)節(jié)電路如圖4所示.
圖4 幅度調(diào)節(jié)電路
3.2 相位調(diào)節(jié)電路設(shè)計(jì)
相位調(diào)節(jié)電路可以用來檢測(cè)兩路輸入正弦波的相位差.電路有兩路正弦信號(hào)輸出通道,通過單片機(jī)提供的相位控制字調(diào)節(jié)另一路信號(hào)的相位,從而調(diào)節(jié)兩路信號(hào)的相位差,當(dāng)?shù)谝宦沸盘?hào)調(diào)節(jié)好頻率輸出時(shí),使相位控制字與其相位累加器中的數(shù)據(jù)相加,可以改變相位累加器前11位的數(shù)據(jù),從而改變讀取波形存儲(chǔ)器中的數(shù)據(jù),實(shí)現(xiàn)了改變第二路信號(hào)的相位.電路由同相放大電路、遲滯比較器和反向器構(gòu)成,其實(shí)現(xiàn)電路如圖5所示.
圖5 相位調(diào)節(jié)電路
3.3 RS232電路設(shè)計(jì)
Max232產(chǎn)品是由德州儀器公司(TI)推出的一款兼容RS232標(biāo)準(zhǔn)的芯片.該器件包含2驅(qū)動(dòng)器、2接收器和一個(gè)電壓發(fā)生器電路提供TIA/EIA -232-F電平.該器件符合TIA/EIA-232-F標(biāo)準(zhǔn),每一個(gè)接收器將TIA/EIA-232-F電平轉(zhuǎn)換成5-V TTL/CMOS電平.每一個(gè)發(fā)送器將TTL/CMOS電平轉(zhuǎn)換成TIA/EIA-232-F電平.計(jì)算機(jī)與單片機(jī)的串行通信通過MAX232電路來實(shí)現(xiàn),單片機(jī)通訊電平是TTL0-5V,計(jì)算機(jī)是-12V,通訊電平不同需要轉(zhuǎn)換.MAX232電路如圖6所示.
圖6 RS232電路
3.4 頻率調(diào)節(jié)設(shè)計(jì)
相位累加器中的數(shù)據(jù)設(shè)為24位,把前11位作為波形存儲(chǔ)器的地址,用芯片2716作為波形存儲(chǔ)器(2716的內(nèi)存為2K,地址位為11位,所以正好存儲(chǔ)2048的采樣點(diǎn)數(shù)據(jù)),后13位起始時(shí)為0.晶振用24M的,所以來一個(gè)脈沖的時(shí)間間隔為1/(24×106)秒.
當(dāng)相位累加器加一個(gè)頻率控制字(頻率控制字也為24位),就這樣通過相位累加器數(shù)據(jù)的前11位讀取波形存儲(chǔ)器中的數(shù)據(jù),通過頻率控制字的大小來控制讀取波形存儲(chǔ)器中數(shù)據(jù)及兩個(gè)采樣點(diǎn)之間的時(shí)間間隔,從而控制產(chǎn)生信號(hào)的頻率.如果頻率控制字很小,相位累加器的后13位很長(zhǎng)時(shí)間加不到前11位,前11長(zhǎng)時(shí)間不變,所以讀取波形存儲(chǔ)器中數(shù)據(jù)長(zhǎng)時(shí)間不變,因此頻率就很小.如果頻率控制字很大時(shí)則相反.因此實(shí)現(xiàn)了頻率調(diào)節(jié)的功能.
為實(shí)現(xiàn)相位、頻率、幅度均可調(diào)的低頻信號(hào)源,提出了一種采用DDS技術(shù)的低頻數(shù)字信號(hào)源設(shè)計(jì)方法.結(jié)合單片機(jī)和CPLD實(shí)現(xiàn)對(duì)信號(hào)源的控制,介紹了DDS技術(shù)的基本原理和參數(shù)配置方法,主要介紹了系統(tǒng)的相位調(diào)節(jié)電路、幅度調(diào)節(jié)電路和通信接口電路的實(shí)現(xiàn)方法,同時(shí)介紹了頻率調(diào)節(jié)的基本原理,通過對(duì)系統(tǒng)的硬件配置實(shí)現(xiàn)了相位、頻率、幅度均可調(diào)的數(shù)字電源設(shè)計(jì).
〔1〕薛延俠,赫建國(guó).CPLD實(shí)現(xiàn)DDS信號(hào)源的設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2005,210(19):73-76.
〔2〕彭建亮,朱凡.基于單片機(jī)和CPLD的數(shù)字式移相信號(hào)發(fā)生器的設(shè)計(jì)[J].儀器儀表用戶,2005,12 (3):19-21.
〔3〕廖建慶,梁國(guó)祥.基于DSP的高壓容型電氣設(shè)備介質(zhì)損耗測(cè)量?jī)x設(shè)計(jì)[J].陜西科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2012,30(4):102-105,109.
〔4〕王慶,劉滌塵.基于CPLD的高精度可程控多路信號(hào)源[J].儀表技術(shù)與傳感器,2005,(3):36-38.
〔5〕李小波,孫志勇,劉春生.基于CPLD和單片機(jī)的低頻信號(hào)源設(shè)計(jì)[J].儀表技術(shù)與傳感器,2005,(11):46-48.
TN98
A
1673-260X(2014)02-0042-03
赤峰學(xué)院學(xué)報(bào)·自然科學(xué)版2014年4期