李 俊,譚秋林,崔永俊,李錦明
(1.中北大學(xué)電子測(cè)試技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,山西 太原 030051;2.中北大學(xué)儀器科學(xué)與動(dòng)態(tài)測(cè)試教育部重點(diǎn)實(shí)驗(yàn)室,山西 太原 030051)
傳統(tǒng)的信號(hào)發(fā)生器由于通常采用模擬元件或FPGA來(lái)實(shí)現(xiàn),往往出現(xiàn)波形不穩(wěn)定、調(diào)制頻率低等缺點(diǎn)。在信號(hào)發(fā)生器中采用 DDS(Direct Digital Synthesizer)[1-3]芯片可以克服這些缺點(diǎn),同時(shí)可以滿足系統(tǒng)實(shí)時(shí)可編程的要求,提高技術(shù)指標(biāo),在最大程度上實(shí)現(xiàn)系統(tǒng)的開(kāi)放性、數(shù)字化、標(biāo)準(zhǔn)化和可編程化。因此本文提出一種高頻多模式信號(hào)發(fā)生器方案,利用低功耗單片機(jī)MSP430F149作為控制器[4],應(yīng)用高性能 DDS 芯片 AD9910[5]作為信號(hào)發(fā)生器。AD9910可以產(chǎn)生頻率高達(dá)400 MHz的信號(hào),還可以進(jìn)行最高8級(jí)的FSK(Frequency Shift Keying)和PSK(Phase Shift Keying)調(diào)制。由于其具有波形穩(wěn)定、能進(jìn)行高頻多模式信號(hào)輸出、硬件電路簡(jiǎn)單等優(yōu)點(diǎn),可以廣泛應(yīng)用于軍事、航天、通信等領(lǐng)域。
DDS實(shí)際上是一種分頻器:通過(guò)編程頻率控制字來(lái)分頻系統(tǒng)時(shí)鐘以產(chǎn)生所需要的頻率。DDS的突出優(yōu)點(diǎn)是跳頻速率高和頻率分辨力高,跳頻速率高是因?yàn)镈DS工作在數(shù)字域,只要更新頻率控制字,輸出的頻率就相應(yīng)改變;頻率分辨力高是由于頻率控制字的寬度寬,AD9910的頻率控制字為32位,能提供0.23 Hz的調(diào)頻分辨力。
DDS主要由相位累加器、相位幅度轉(zhuǎn)換、數(shù)模轉(zhuǎn)換器(DAC)構(gòu)成,圖1是DDS的內(nèi)部結(jié)構(gòu)圖。
圖1 DDS內(nèi)部結(jié)構(gòu)圖
DDS利用了正弦波相位線性增加這一特點(diǎn)來(lái)產(chǎn)生信號(hào)。如圖2,根據(jù)DDS的頻率控制字的位數(shù)N,把360°平均分成了2N等份。
在圖2所示相位累加器中,選擇恰當(dāng)?shù)念l率控制字M,相位就以每次M×(360°/2N)進(jìn)行累加,2N/M次后完成一次周期,需要時(shí)間為(2N/M)×Fc,因此就能得到所需要的輸出頻率Fout
圖2 相位累加器原理
式中:Fc為系統(tǒng)時(shí)鐘;N為頻率控制字的位數(shù)。
在相位累加器中得到的相位信息通過(guò)相位幅度轉(zhuǎn)換器轉(zhuǎn)換為相應(yīng)的幅度值,相位到幅度的轉(zhuǎn)換通過(guò)查表完成。
數(shù)模轉(zhuǎn)換器將代表幅度的二進(jìn)制數(shù)字信號(hào)轉(zhuǎn)換成為模擬信號(hào)輸出。
整個(gè)系統(tǒng)主要由MSP430F149單片機(jī)系統(tǒng)、AD9910芯片電路、時(shí)鐘電路、電源電路等構(gòu)成,如圖3所示。
系統(tǒng)采用MSP430f149作為控制單片機(jī),單片機(jī)通過(guò)SPI接口對(duì)AD9910芯片進(jìn)行控制,還可以控制外部供電電源進(jìn)行供電,時(shí)鐘電路向AD9910提供準(zhǔn)確的時(shí)鐘,系統(tǒng)經(jīng)過(guò)放大濾波后輸出頻譜純凈的信號(hào)。
圖3 系統(tǒng)整體結(jié)構(gòu)圖
AD9910是一款完整的直接數(shù)字頻率合成器,能夠產(chǎn)生頻率分辨力高、快速跳頻、快速穩(wěn)定自動(dòng)掃頻的信號(hào)。芯片采用1 GHz基準(zhǔn)時(shí)鐘,根據(jù)抽樣定理其輸出頻率的理論值可達(dá)到500 MHz,但在實(shí)際應(yīng)用中,其輸出頻率不應(yīng)大于系統(tǒng)時(shí)鐘的40%,即400 MHz。用戶可以訪問(wèn)頻率、相位、振幅3個(gè)用于控制DDS的信號(hào)控制參數(shù),極大提高了進(jìn)行各種信號(hào)調(diào)制的功能。AD9910是通過(guò)串行I/O端口進(jìn)行內(nèi)部寄存器配置的,支持單頻調(diào)制模式、RAM調(diào)制模式、數(shù)字斜坡調(diào)制模式和并行數(shù)據(jù)端口調(diào)制模式。AD9910的硬件連接圖如圖4所示。
圖4 AD9910硬件連接圖(軟件截圖)
整個(gè)系統(tǒng)利用5 V供電,單片機(jī)需要3.3 V電源,AD9910 需要4 組電源:3.3 V 數(shù)字、3.3 V 模擬、1.8 V 數(shù)字和1.8 V模擬。在設(shè)計(jì)電路時(shí)要注意電源的要求,以提高系統(tǒng)的穩(wěn)定性。用XC6209B332芯片進(jìn)行5 V變3.3 V的電壓變換,利用TPS73718芯片進(jìn)行5 V轉(zhuǎn)1.8 V。
利用單片機(jī)的一個(gè)管腳作為AD9910芯片電源的選通管腳,當(dāng)單片機(jī)選通電源芯片時(shí),才給AD9910上電,這樣可以降低功耗,電源之間應(yīng)利用磁珠隔離。
AD9910的串行端口可與多種微處理器和微控制器連接,單片機(jī)可以很容易控制它,實(shí)現(xiàn)對(duì)AD9910內(nèi)部寄存器的讀寫功能。單片機(jī)與AD9910的接口見(jiàn)圖5。
圖5 單片機(jī)與AD9910接口圖
MASTER_RESET用來(lái)給AD9910復(fù)位,所有存儲(chǔ)元件清零,寄存器設(shè)置為默認(rèn)值;I/O_RESET可為單片機(jī)與AD9910通信出現(xiàn)故障時(shí)實(shí)現(xiàn)對(duì)I/O復(fù)位;I/O_UPDATE用于將串行I/O緩沖器中的數(shù)據(jù)傳輸?shù)狡骷挠行Ъ拇嫫髦?,因?yàn)橹淮嬖诰彌_器中的數(shù)據(jù)是無(wú)效的,所以在單片機(jī)利用串行口對(duì)AD9910內(nèi)部寄存器編程時(shí),要利用此管腳進(jìn)行更新,這樣才能完成配置寄存器過(guò)程,使寄存器配置正確,此管腳上升沿有效;CS,SCLK,SDIO為AD9910的串行I/O端口,其中CS為片選信號(hào),SCLK為串行時(shí)鐘,SDIO為串行數(shù)據(jù)輸入/輸出引腳,單片機(jī)通過(guò)串行端口配置AD9910的內(nèi)部寄存器,控制AD9910信號(hào)輸出;PROFILE0,PROFILE1,PROFILE2為 PROFILE 選擇引腳,通過(guò)選擇這3個(gè)引腳的高低電平選擇8個(gè)PROFILE,但是PROFILE引腳的選擇必須滿足SYNC_CLK上升沿的建立和保持時(shí)間的要求。串行端口寫入時(shí)序如圖6所示。
圖6 串口寫入時(shí)序圖
AD9910的時(shí)鐘可以由差分或單端信號(hào)源提供,也可以直接由無(wú)源晶振提供。通過(guò)設(shè)置控制寄存器3的相關(guān)控制位可以利用內(nèi)部鎖相環(huán)產(chǎn)生遠(yuǎn)遠(yuǎn)大于參考時(shí)鐘的系統(tǒng)時(shí)鐘。因此在本電路中可以采用25 MHz的無(wú)源晶振給AD9910提供時(shí)鐘。在利用外部時(shí)鐘的時(shí)候要注意將XTAL_SEL 引腳接1.8 V。
單片機(jī)是整個(gè)系統(tǒng)的控制核心,軟件的設(shè)計(jì)主要是單片機(jī)對(duì)AD9910寄存器的配置、電源管理等功能。AD9910串行I/O端口寄存器共有24個(gè),但是其中有2個(gè)寄存器未使用,所以只有22個(gè)可用寄存器,寄存器分配到的字節(jié)數(shù)不同,其字節(jié)容量取決于特定的功能要求。
以采用AD9910產(chǎn)生PSK信號(hào)為例。采用AD9910的RAM調(diào)制模式,信號(hào)控制參數(shù)存放在RAM寄存器中,用戶可通過(guò)和其他控制寄存器配合使用來(lái)進(jìn)行信號(hào)調(diào)制。在RAM調(diào)制方式中,通過(guò)控制CFR1的31位及CFR2的4與19位來(lái)控制選擇工作模式。在配置RAM Profile寄存器時(shí),可選擇RAM的工作模式設(shè)置RAM波形的起始和結(jié)束地址與掃描速率。其中在直接轉(zhuǎn)換模式中有可實(shí)現(xiàn)BPSK零交越調(diào)制[6]的功能位。通過(guò)外部3個(gè)PROFILE管腳可選擇需要輸出的RAM寄存器波形。
AD9910包含一個(gè)1024×32 bit的RAM。RAM有兩種基本工作模式:數(shù)據(jù)加載/讀取模式和播放模式。當(dāng)RAM數(shù)據(jù)通過(guò)串行I/O端口加載或讀取時(shí),數(shù)據(jù)加載/讀取模式有效;當(dāng)RAM將內(nèi)容發(fā)送至某一個(gè)內(nèi)部數(shù)據(jù)目的參數(shù)時(shí),播放模式有效。根據(jù)具體播放模式,可將RAM最多分成8個(gè)獨(dú)立的時(shí)域波形,最高可進(jìn)行8級(jí)PSK調(diào)制,本例進(jìn)行BPSK調(diào)制。這些波形驅(qū)動(dòng)DDS信號(hào)控制參數(shù),支持頻率、相位、振幅或極性調(diào)制信號(hào)。在控制寄存器1(CFR1)中設(shè)置RAM使能位可使能RAM操作。寄存器配置需I/O更新。圖7為系統(tǒng)軟件流程圖。
圖7 系統(tǒng)軟件流程圖
系統(tǒng)上電后,首先單片機(jī)對(duì)AD9910進(jìn)行初始化,然后對(duì)AD9910供電,MSP430控制AD9910的復(fù)位引腳對(duì)AD9910進(jìn)行復(fù)位,這樣可以清除AD9910內(nèi)部的存儲(chǔ)單元。AD9910復(fù)位后,單片機(jī)配置AD9910的控制寄存器1、控制寄存器2、控制寄存器3,特別是向AD9910的控制寄存器1的RAM使能位寫入高電平,使RAM模式使能,單片機(jī)對(duì)寄存器的配置是通過(guò)串行端口進(jìn)行的。單片機(jī)有相應(yīng)的引腳與AD9910的PROFILE選擇引腳連接,通過(guò)相應(yīng)引腳選擇需要進(jìn)行操作的PROFILE,如要選擇PROFILE0,就要將對(duì)應(yīng)AD9910的PROFILE0,1,2管腳選擇為000,選擇一個(gè)PROFILE以后,單片機(jī)配置PROFILE的地址步進(jìn)率、波形結(jié)束地址、波形起始地址,并選擇RAM直接轉(zhuǎn)換模式。在進(jìn)行PROFILE寫入時(shí)要注意起始地址和結(jié)束地址的正確寫入。本文中進(jìn)行了BPSK信號(hào)的調(diào)制,只需要用到兩個(gè)RAM PROFILE寄存器,在一個(gè)PROFILE寫完后,利用管腳選擇另一個(gè)PROFILE,繼續(xù)配置RAM。在寫寄存器的過(guò)程中,每寫完一個(gè)寄存器就要進(jìn)行I/O更新。
在所需PROFILE寫完后,接下來(lái)就可以將需要的相位控制字寫入RAM,通過(guò)外部的PROFILE管腳選擇相應(yīng)的RAM寄存器,把相位控制字寫入0x16地址,在內(nèi)部狀態(tài)機(jī)的控制下,就可以將控制字寫入DDS。AD9910的相對(duì)相位是通過(guò)16位的相位偏移字(POW)來(lái)控制的,相對(duì)相位偏移(單位為弧度)可由下式計(jì)算得出
對(duì)于任意給定的Δθ,則可利用式(2)求出POW。在BPSK調(diào)制中,相位改變180°,所以向RAM中分別寫入0x00和0x80。
在寫RAM時(shí)對(duì)時(shí)序有嚴(yán)格的要求,至SCLK最短數(shù)據(jù)建立時(shí)間不能低于5 ns,同時(shí)要注意寫RAM的時(shí)序和串口編程的時(shí)序區(qū)別,在寫RAM的時(shí)候不能對(duì)I/O端口進(jìn)行操作,否則就會(huì)破壞數(shù)據(jù)的寫入。
最后將需要產(chǎn)生波形的頻率寫入FTW(0x07)寄存器中。AD9910的輸出頻率由DDS頻率控制輸入的控制字(FTW)決定,計(jì)算公式為
式中:fSYSCLK是AD9910的系統(tǒng)時(shí)鐘,F(xiàn)TW是介于0~231-1之間的32 bit整數(shù),通過(guò)這個(gè)關(guān)系式可以很容易地計(jì)算出給定頻率的頻率控制字。但需要注意的是如果FTW大于231,所輸出的波形會(huì)產(chǎn)生混疊鏡像。
在寫完AD9910所有的寄存器后,單片機(jī)回讀寄存器的內(nèi)容,判斷是否正確輸入,如果寄存器沒(méi)有正確配置,則需要單片機(jī)復(fù)位AD9910并進(jìn)行重新的配置。如果正確輸入,單片機(jī)根據(jù)需要調(diào)制的數(shù)字信號(hào)來(lái)選擇外部PROFILE管腳進(jìn)而選擇相應(yīng)RAM PROFILE的波形輸出。
本例產(chǎn)生的BPSK信號(hào)如圖8所示。
圖8 BPSK輸出波形圖
本系統(tǒng)還可以進(jìn)行不同頻率的輸出和進(jìn)行FSK調(diào)制,輸出波形如圖9所示。
圖9 各頻率正弦輸出和2級(jí)FSK輸出波形圖
經(jīng)過(guò)實(shí)際試驗(yàn)驗(yàn)證,利用高性能DDS芯片AD9910可以在高達(dá)400 MHz的頻率下生成頻率捷變正弦波形,電路具有操作方便、結(jié)構(gòu)簡(jiǎn)單、功耗低等諸多優(yōu)點(diǎn)。本文主要進(jìn)行了RAM模式下相位鍵控調(diào)制軟件的介紹,還可以進(jìn)行高精度高頻信號(hào)輸出與多級(jí)PSK和FSK信號(hào)輸出。經(jīng)過(guò)實(shí)際驗(yàn)證,本文所設(shè)計(jì)的電路可以滿足通信系統(tǒng)中對(duì)信號(hào)發(fā)生器的要求,具有較高的應(yīng)用價(jià)值。
[1]熊慎偉.基于DDS的寬帶雷達(dá)信號(hào)產(chǎn)生系統(tǒng)[J].電子工程信息,2005(1):35-37.
[2]陳雷,汪立森,潘明海.基于DDS的低截獲概率雷達(dá)信號(hào)設(shè)計(jì)實(shí)現(xiàn)[C]//中國(guó)通信學(xué)會(huì)青年工作委員會(huì).2008通信理論與技術(shù)新發(fā)展——第十三屆全國(guó)青年通信學(xué)術(shù)會(huì)議論文集.北京:國(guó)防工業(yè)出版社,2008:112-1115.
[3]黃智偉.鎖相環(huán)與頻率合成器電路設(shè)計(jì)[M].西安電子科技大學(xué)出版社,2008.
[4]原玢,李燕杰,祖靜,等.多功能便攜式信號(hào)發(fā)生器設(shè)計(jì)[J].電視技術(shù),2011,35(15):138-140.
[5]Analog Devices Inc.AD9910 datasheet[EB/OL].[2011-09-09].http://www.analog.com/static/imported-files/data_sheets/AD9910.pdf.
[6]溫強(qiáng),張漢潤(rùn),賴志昌.無(wú)相位模糊的BPSK數(shù)字調(diào)制與解調(diào)[J].哈爾濱工程大學(xué)學(xué)報(bào),1998,19(2):82-86.