高清晰AD9854中文資料附帶51程序(共29頁(yè))_第1頁(yè)
高清晰AD9854中文資料附帶51程序(共29頁(yè))_第2頁(yè)
高清晰AD9854中文資料附帶51程序(共29頁(yè))_第3頁(yè)
高清晰AD9854中文資料附帶51程序(共29頁(yè))_第4頁(yè)
高清晰AD9854中文資料附帶51程序(共29頁(yè))_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上DDS模塊設(shè)計(jì)DDS模塊的設(shè)計(jì)是本系統(tǒng)的重點(diǎn),也是本章闡述的重點(diǎn)。DDS模塊主要是圍繞芯片AD9854進(jìn)行設(shè)計(jì)的,設(shè)計(jì)要求既要滿足性能指標(biāo),還要求優(yōu)化電路,減小電路面積,否則13路DDS共同存在會(huì)使系統(tǒng)體積顯得較大。下面先介紹AD9854的基本特性。4.2.1 AD9854介紹圖4-2 AD9854功能結(jié)構(gòu)框圖chart4-2 AD9854 function and structure 如圖4-2所示,AD9854內(nèi)部包括一個(gè)具有48位相位累加器、一個(gè)可編程時(shí)鐘倍頻器、一個(gè)反sinc濾波器、兩個(gè)12位300MHz DAC,一個(gè)高速模擬比較器以及接口邏輯電路。其主要性能

2、特點(diǎn)如下:1. 高達(dá)300MHz的系統(tǒng)時(shí)鐘;2. 能輸出一般調(diào)制信號(hào),F(xiàn)SK,BPSK,PSK,CHIRP,AM等;3. 100MHz時(shí)具有80dB的信噪比;4. 內(nèi)部有4*到20*的可編程時(shí)鐘倍頻器;5. 兩個(gè)48位頻率控制字寄存器,能夠?qū)崿F(xiàn)很高的頻率分辨率。6. 兩個(gè)14位相位偏置寄存器,提供初始相位設(shè)置。7. 帶有100MHz的8位并行數(shù)據(jù)傳輸口或10MHz的串行數(shù)據(jù)傳輸口。AD9854的芯片封裝圖如下:圖4-3 AD9854芯片封裝圖chart4-3 AD9854 chip encapsulationAD9854有40個(gè)程序寄存器,對(duì)AD9854的控制就是對(duì)這些程序寄存器寫數(shù)據(jù)實(shí)現(xiàn)的。

3、表4-1 AD9854并行接口寄存器功能Table 4-1 AD9854 parallel interface registers function 并行地址寄存器功能默認(rèn)值0x000x01相位寄存器#1<13:8>(15,14位無效)相位寄存器#1<7:0>0x000x000x020x03相位寄存器#2<13:8>(15,14位無效)相位寄存器#2<7:0>0x000x000x040x050x060x070x080x09頻率轉(zhuǎn)換字#1<47:40>頻率轉(zhuǎn)換字#1<39:32>頻率轉(zhuǎn)換字#1<31:24>頻率轉(zhuǎn)

4、換字#1<23:16>頻率轉(zhuǎn)換字#1<15:8>頻率轉(zhuǎn)換字#1<7:0>0x000x000x000x000x000x000x0A0x0B0x0C0x0D0x0E0x0F頻率轉(zhuǎn)換字#1<47:40>頻率轉(zhuǎn)換字#1<39:32>頻率轉(zhuǎn)換字#1<31:24>頻率轉(zhuǎn)換字#1<23:16>頻率轉(zhuǎn)換字#1<15:8>頻率轉(zhuǎn)換字#1<7:0>0x000x000x000x000x000x000x100x110x120x130x140x15三角頻率字<47:40>三角頻率字<39:32&

5、gt;三角頻率字<31:24>三角頻率字<23:16>三角頻率字<15:8>三角頻率字<7:0>0x000x000x000x000x000x000x160x170x180x19更新時(shí)鐘計(jì)數(shù)器<31:24>更新時(shí)鐘計(jì)數(shù)器<23:16>更新時(shí)鐘計(jì)數(shù)器<15:8>更新時(shí)鐘計(jì)數(shù)器<7:0>0x000x000x000x400x1A0x1B0x1C邊沿速率計(jì)數(shù)器<19:16>(23,22,21,20不起作用)邊沿速率計(jì)數(shù)器<15:8>邊沿速率計(jì)數(shù)器<7:0>0x000x000

6、x000x1D0x1E0x1F0x20節(jié)電控制時(shí)鐘倍頻控制器DDS模式控制與累加器清零控制傳輸模式,和OSK控制0x000x640x200x200x210x22輸出幅度乘法器I<11:8>(15,14,13,12不起作用)輸出幅度乘法器I<7:0>0x000x000x230x24輸出幅度乘法器Q<11:8>(15,14,13,12不起作用)輸出幅度乘法器Q<7:0>0x000x000x25輸出邊沿變化率控制器<7:0>0x800x260x27QDAC,Q通道D/A輸入<11:8>QDAC,Q通道D/A輸入<7:0&g

7、t;0x000x00表4-2 AD9854控制寄存器功能Table 5-2 AD9854 control registers function 地址默認(rèn)值0x1D N NN比較器0控制DACI通道DAC數(shù)字部分0x00 0x1E NPLL范圍PLL低通倍頻位倍頻位倍頻位倍頻位倍頻位0x64 0x1F ACC1清零ACC清零Triangle N模式位 2模式位 2模式位 2 內(nèi)部更新0x01 0x20 N開輸出濾波OSK使能OSK模式 NN串行地位字節(jié)優(yōu)先SDO有效0x20 通過并行總線將數(shù)據(jù)寫入程序寄存器時(shí),實(shí)際上只是暫存在I/O緩沖區(qū)中,只有提供更新信號(hào),這些數(shù)據(jù)才會(huì)更新到程序寄存器。AD9

8、854提供兩種更新方式,內(nèi)部更新和外部更新。內(nèi)部更新通過更新時(shí)鐘計(jì)數(shù)器完成,當(dāng)計(jì)數(shù)器計(jì)自減為零后會(huì)產(chǎn)生一個(gè)內(nèi)部更新信號(hào);外部更新需要在外部更新管腳上給與一個(gè)高電平脈沖。默認(rèn)的更新模式為內(nèi)部更新,可以通過設(shè)置控制寄存器0x1F的0位進(jìn)行修改。4.4.2 多AD9854應(yīng)用原理與方法多路相位可控信號(hào)源的設(shè)計(jì)關(guān)鍵是實(shí)現(xiàn)多路DDS模塊的相位的同步控制。要實(shí)現(xiàn)多路DDS相位同步,只需要在各DDS設(shè)置完成相位偏置后,提供一個(gè)使各路DDS同步工作的外部更新信號(hào)。根據(jù)這樣的工作原理,以AD9854為例,給出多路相位可控信號(hào)源的基本結(jié)構(gòu)。 圖4-4 多路DDS組成相位可控信號(hào)原理圖chart4-4 mult-D

9、DS constitution and principium 圖4-4中左半部分是一個(gè)正確多路DDS的結(jié)構(gòu),由一個(gè)統(tǒng)一時(shí)鐘源提供參考時(shí)鐘,相位偏置通過并行或串行總線設(shè)置,其值保存于各路AD9854的緩沖寄存器中。通過統(tǒng)一的外部更新信號(hào)啟動(dòng)各路DDS同步工作,從而實(shí)現(xiàn)了各路DDS信號(hào)之間以固定的相位差同步工作。參考時(shí)鐘的連線方式很重要,圖4-4右半部分給出了種錯(cuò)誤的連接方式。參考時(shí)鐘到各DDS的距離不等,這就會(huì)引起各路DDS的參考時(shí)鐘不同步,從而也無法保證各路DDS的同步。此外外部更新信號(hào)Update雖然沒有必要嚴(yán)格的等長(zhǎng),但最好要與參考時(shí)鐘保證正確的時(shí)序,因?yàn)閁pdate信號(hào)送入AD9854后

10、會(huì)在內(nèi)部系統(tǒng)時(shí)鐘(由外部時(shí)鐘倍頻和鎖相得到)的上升沿觸發(fā)更新。各路DDS的Update信號(hào)與內(nèi)部系統(tǒng)時(shí)鐘有可能出現(xiàn)一個(gè)時(shí)鐘周期的抖動(dòng),在這個(gè)系統(tǒng)時(shí)鐘的前后兩個(gè)時(shí)間點(diǎn)產(chǎn)生更新。Update信號(hào)與系統(tǒng)時(shí)鐘的時(shí)序要求如下:圖4-5a 單端外部參考時(shí)鐘輸入模式下更新信號(hào)時(shí)序chart 4-5a Update scheduling in single refer clock mode 圖4.5b 差分外部參考時(shí)鐘輸入模式時(shí)序更新信號(hào)時(shí)序chart 4-5a Update scheduling in differnece refer clock mode對(duì)于AD9854而言,其真正的相位值,是相位偏置值和

11、相位累加器的輸出值的和,在對(duì)相位偏置值更新時(shí),一定要保證相位累加器的值是確定的。最簡(jiǎn)單的方法是在設(shè)置相位前,將所有AD9854通過Master Reset信號(hào)重置,此時(shí)AD9854的寄存器恢復(fù)到默認(rèn)值(見表4-1)。下面步驟可完成對(duì)多個(gè)AD9854實(shí)現(xiàn)相位可控同步輸出:1,上電后給所有AD9854的復(fù)位信號(hào)管腳MasterRest提供一個(gè)長(zhǎng)達(dá)10個(gè)系統(tǒng)時(shí)鐘的復(fù)位信號(hào),此時(shí)所有AD9854的程序寄存器都恢復(fù)為默認(rèn)值。2,使用并行總線設(shè)置AD9854的特殊功能寄存器:a,更新模式設(shè)置為外部信號(hào)更新模式,且DDS工作在Single模式下,即寄存器0x1F=0x00;b,參考時(shí)鐘為30MHz,這里要獲

12、得210MHz的系統(tǒng)時(shí)鐘,所以倍頻數(shù)設(shè)置為,由于超過200MHz,要開PLL低通,即寄存器0x1e=0x3d;c,電源只打開I通道DAC和數(shù)字部分,寄存器0x1D=0x14;d,開輸出濾波,不用OSK功能,寄存器0x20=0x40;設(shè)置內(nèi)部更新時(shí)鐘,也可以不設(shè)置。3,所有的AD9854完成模式設(shè)置后,內(nèi)部更新時(shí)鐘寄存器計(jì)數(shù)到0時(shí),步驟2的設(shè)置才真正更新。此時(shí)由于頻率控制字為0,因此相位累加器不工作,始終為0。4,按以上步驟完成所有AD9854的初始設(shè)置后,使用并行傳輸向各AD9854寫入頻率轉(zhuǎn)換字#1和相位偏置寄存器#1。5,完成所有AD9854的頻率和相位設(shè)置后,給一個(gè)全局的外部更新信號(hào)Up

13、date,此時(shí)各路AD9854就開始同步工作。注意Update信號(hào)的時(shí)序要求非常嚴(yán)格,最好滿足圖4.5的時(shí)序。完成各路AD9854的初次同步輸出后,若改變頻率控制字,就不能在保證相位的正確設(shè)置了,此時(shí)可以設(shè)置特殊寄存器位ACC0(0x1F的6,7位)強(qiáng)制清零,然后再同步恢復(fù)的方式實(shí)現(xiàn)相位累加器輸出的同步。/=/ AD9854 驅(qū)動(dòng)程序設(shè)計(jì)/硬件連接: P0 Data; / P2 Adr; / RESET P37; / UDCLK P36; / WR P3.5; / RD p3.4; / FDATA P33; / OSK P32; / VDD-邏輯電源(3.3V)/ VSS-GND(0V) /A

14、D9854.c/writer:谷雨 2008年8月22日24日于EDA實(shí)驗(yàn)室/說明:本程序基于硬件的外接晶振為20MHZ/=#include <STC89C51RC.h> /STC單片機(jī)頭文件#include <intrins.h> #define uint unsigned int#define uchar unsigned char#define ulong unsigned longuchar FreqWord6; /6個(gè)字節(jié)頻率控制字/*以下為系統(tǒng)時(shí)鐘以及其相關(guān)變量設(shè)置*/* 此處根據(jù)自己的需要設(shè)置系統(tǒng)時(shí)鐘以及與其相關(guān)的因子,一次需且只需開啟一個(gè) CLK_Set

15、為時(shí)鐘倍頻設(shè)置,可設(shè)置420倍倍頻,但最大不能超過300MHZ Freq_mult_ulong和Freq_mult_doulle均為2的48次方除以系統(tǒng)時(shí)鐘,一個(gè)為長(zhǎng)整形,一個(gè)為雙精度型*/*#define CLK_Set 4const ulong Freq_mult_ulong = ;const double Freq_mult_doulle = .;*/*#define CLK_Set 5const ulong Freq_mult_ulong = ;const double Freq_mult_doulle = .;*/#define CLK_Set 6const ulong Freq_m

16、ult_ulong = ;const double Freq_mult_doulle = .;/*#define CLK_Set 7const ulong Freq_mult_ulong = ;const double Freq_mult_doulle = .;*/*#define CLK_Set 8const ulong Freq_mult_ulong = ;const double Freq_mult_doulle = .;*/*#define CLK_Set 9const ulong Freq_mult_ulong = ;const double Freq_mult_doulle = .

17、;*/*#define CLK_Set 10const ulong Freq_mult_ulong = ;const double Freq_mult_doulle = .;*/*#define CLK_Set 11const ulong Freq_mult_ulong = ;const double Freq_mult_doulle = .;*/*#define CLK_Set 12const ulong Freq_mult_ulong = ;const double Freq_mult_doulle = .;*/*#define CLK_Set 13const ulong Freq_mul

18、t_ulong = ;const double Freq_mult_doulle = .;*/*#define CLK_Set 14const ulong Freq_mult_ulong = ;const double Freq_mult_doulle = .;*/*#define CLK_Set 15const ulong Freq_mult_ulong = ;const double Freq_mult_doulle = .;*/*修改硬件時(shí)要修改的部分*#define AD9854_DataBus P0#define AD9854_AdrBus P2sbit AD9854_RST = P

19、37; /AD9854復(fù)位端口sbit AD9854_UDCLK = P36; /AD9854更新時(shí)鐘sbit AD9854_WR = P35; /AD9854寫使能,低有效sbit AD9854_RD = P34; /AD9854讀使能,低有效sbit AD9854_FDATA = P33; /AD9854 FSK,PSK控制sbit AD9854_OSK = P32; /AD9854 OSK控制端/*以下部分為函數(shù)定義*static void AD9854_WR_Byte(uchar addr,uchar dat); extern void AD9854_Init(void); stati

20、c void Freq_convert(long Freq); extern void AD9854_SetSine(ulong Freq,uint Shape); static void Freq_double_convert(double Freq); extern void AD9854_SetSine_double(double Freq,uint Shape);extern void AD9854_InitFSK(void);extern void AD9854_SetFSK(ulong Freq1,ulong Freq2); extern void AD9854_InitBPSK(

21、void); extern void AD9854_SetBPSK(uint Phase1,uint Phase2);extern void AD9854_InitOSK(void); extern void AD9854_SetOSK(uchar RateShape); extern void AD9854_InitAM(void); extern void AD9854_SetAM(uint Shape);extern void AD9854_InitRFSK(void); extern void AD9854_SetRFSK(ulong Freq_Low,ulong Freq_High,

22、ulong Freq_Up_Down,ulong FreRate);static void delay (uint us);/=/函數(shù)名稱:void AD9854_WR_Byte(uchar addr,uchar dat)/函數(shù)功能:AD9854并行口寫入數(shù)據(jù)/入口參數(shù):addr 6位地址/ dat 寫入的數(shù)據(jù)/出口參數(shù):無/=void AD9854_WR_Byte(uchar addr,uchar dat)AD9854_AdrBus = (addr&0x3f) | (P2&0xc0);AD9854_DataBus = dat;AD9854_WR = 0;AD9854_WR =

23、 1;/=/函數(shù)名稱:void AD9854_Init(void)/函數(shù)功能:AD9854初始化/入口參數(shù):無/出口參數(shù):無/=void AD9854_Init(void)AD9854_WR=1;/將讀、寫控制端口設(shè)為無效 AD9854_RD=1; AD9854_UDCLK=0; AD9854_RST=1; /復(fù)位AD9854 AD9854_RST=0;AD9854_WR_Byte(0x1d,0x10); /關(guān)閉比較器AD9854_WR_Byte(0x1e,CLK_Set); /設(shè)置系統(tǒng)時(shí)鐘倍頻 AD9854_WR_Byte(0x1f,0x00); /設(shè)置系統(tǒng)為模式0,由外部更新AD9854_

24、WR_Byte(0x20,0x60); /設(shè)置為可調(diào)節(jié)幅度,取消插值補(bǔ)償AD9854_UDCLK=1; /更新AD9854輸出 AD9854_UDCLK=0;/=/函數(shù)名稱:void Freq_convert(long Freq)/函數(shù)功能:正弦信號(hào)頻率數(shù)據(jù)轉(zhuǎn)換/入口參數(shù):Freq 需要轉(zhuǎn)換的頻率,取值從0SYSCLK/2/出口參數(shù):無 但是影響全局變量FreqWord6的值/說明: 該算法位多字節(jié)相乘算法,有公式FTW = (Desired Output Frequency × 2N)/SYSCLK/ 得到該算法,其中N=48,Desired Output Frequency 為所

25、需要的頻率,即Freq,SYSCLK/ 為可編程的系統(tǒng)時(shí)鐘,F(xiàn)TW為48Bit的頻率控制字,即FreqWord6/=void Freq_convert(long Freq) ulong FreqBuf; ulong Temp=Freq_mult_ulong; uchar Array_Freq4; /將輸入頻率因子分為四個(gè)字節(jié)Array_Freq0=(uchar)Freq;Array_Freq1=(uchar)(Freq>>8);Array_Freq2=(uchar)(Freq>>16);Array_Freq3=(uchar)(Freq>>24);FreqBu

26、f=Temp*Array_Freq0; FreqWord0=FreqBuf; FreqBuf>>=8; FreqBuf+=(Temp*Array_Freq1); FreqWord1=FreqBuf; FreqBuf>>=8; FreqBuf+=(Temp*Array_Freq2); FreqWord2=FreqBuf; FreqBuf>>=8;FreqBuf+=(Temp*Array_Freq3); FreqWord3=FreqBuf; FreqBuf>>=8; FreqWord4=FreqBuf; FreqWord5=FreqBuf>&g

27、t;8; /=/函數(shù)名稱:void AD9854_SetSine(ulong Freq,uint Shape)/函數(shù)功能:AD9854正弦波產(chǎn)生程序/入口參數(shù):Freq 頻率設(shè)置,取值范圍為0(1/2)*SYSCLK/ Shape 幅度設(shè)置. 為12 Bit,取值范圍為(04095) ,取值越大,幅度越大 /出口參數(shù):無/=void AD9854_SetSine(ulong Freq,uint Shape)uchar count;uchar Adress;Adress = 0x04; /選擇頻率控制字地址的初值Freq_convert(Freq); /頻率轉(zhuǎn)換for(count=6;count

28、>0;) /寫入6字節(jié)的頻率控制字 AD9854_WR_Byte(Adress+,FreqWord-count); AD9854_WR_Byte(0x21,Shape>>8); /設(shè)置I通道幅度AD9854_WR_Byte(0x22,(uchar)(Shape&0xff);AD9854_WR_Byte(0x23,Shape>>8); /設(shè)置Q通道幅度AD9854_WR_Byte(0x24,(uchar)(Shape&0xff);AD9854_UDCLK=1; /更新AD9854輸出 AD9854_UDCLK=0;/=/函數(shù)名稱:void Freq_

29、doublt_convert(double Freq)/函數(shù)功能:正弦信號(hào)頻率數(shù)據(jù)轉(zhuǎn)換/入口參數(shù):Freq 需要轉(zhuǎn)換的頻率,取值從0SYSCLK/2/出口參數(shù):無 但是影響全局變量FreqWord6的值/說明: 有公式FTW = (Desired Output Frequency × 2N)/SYSCLK得到該函數(shù),/ 其中N=48,Desired Output Frequency 為所需要的頻率,即Freq,SYSCLK/ 為可編程的系統(tǒng)時(shí)鐘,F(xiàn)TW為48Bit的頻率控制字,即FreqWord6/注意: 該函數(shù)與上面函數(shù)的區(qū)別為該函數(shù)的入口參數(shù)為double,可使信號(hào)的頻率更精確/

30、 谷雨建議在100HZ以下用本函數(shù),在高于100HZ的情況下用函數(shù)void Freq_convert(long Freq)/=void Freq_double_convert(double Freq) ulong Low32;uint High16; double Temp=Freq_mult_doulle; /23ca99為2的48次方除以120MFreq*=(double)(Temp);/1 0000 0000 0000 0000 0000 0000 0000 0000 = High16 = (int)(Freq/); /232 = Freq -= (double)High16*;Low3

31、2 = (ulong)Freq; FreqWord0=Low32; FreqWord1=Low32>>8; FreqWord2=Low32>>16; FreqWord3=Low32>>24; FreqWord4=High16; FreqWord5=High16>>8; /=/函數(shù)名稱:void AD9854_SetSine_double(double Freq,uint Shape)/函數(shù)功能:AD9854正弦波產(chǎn)生程序/入口參數(shù):Freq 頻率設(shè)置,取值范圍為01/2*SYSCLK/ Shape 幅度設(shè)置. 為12 Bit,取值范圍為(0409

32、5) /出口參數(shù):無/=void AD9854_SetSine_double(double Freq,uint Shape)uchar count=0;uchar Adress;Adress=0x04; /選擇頻率控制字1地址的初值Freq_double_convert(Freq); /頻率轉(zhuǎn)換 for(count=6;count>0;) /寫入6字節(jié)的頻率控制字 AD9854_WR_Byte(Adress+,FreqWord-count); AD9854_WR_Byte(0x21,Shape>>8); /設(shè)置I通道幅度AD9854_WR_Byte(0x22,(uchar)(

33、Shape&0xff);AD9854_WR_Byte(0x23,Shape>>8); /設(shè)置Q通道幅度AD9854_WR_Byte(0x24,(uchar)(Shape&0xff);AD9854_UDCLK=1; /更新AD9854輸出 AD9854_UDCLK=0;/=/函數(shù)名稱:void AD9854_InitFSK(void)/函數(shù)功能:AD9854的FSK初始化/入口參數(shù):無/出口參數(shù):無/=void AD9854_InitFSK(void)AD9854_WR=1; /將讀、寫控制端口設(shè)為無效 AD9854_RD=1; AD9854_UDCLK=0; AD9

34、854_RST=1; /復(fù)位AD9854 AD9854_RST=0;AD9854_WR_Byte(0x1d,0x10); /關(guān)閉比較器AD9854_WR_Byte(0x1e,CLK_Set); /設(shè)置系統(tǒng)時(shí)鐘倍頻AD9854_WR_Byte(0x1f,0x02); /設(shè)置系統(tǒng)為模式1,由外部更新AD9854_WR_Byte(0x20,0x60); /設(shè)置為可調(diào)節(jié)幅度,取消插值補(bǔ)償AD9854_UDCLK=1; /更新AD9854輸出 AD9854_UDCLK=0;/=/函數(shù)名稱:void AD9854_SetFSK(ulong Freq1,ulong Freq2)/函數(shù)功能:AD9854的FS

35、K設(shè)置/入口參數(shù):Freq1 FSK頻率1 / Freq2 FSK頻率2/出口參數(shù):無/=void AD9854_SetFSK(ulong Freq1,ulong Freq2) uchar count=6;uchar Adress1,Adress2;const uint Shape=4000; /幅度設(shè)置. 為12 Bit,取值范圍為(04095)Adress1=0x04; /選擇頻率控制字1地址的初值A(chǔ)dress2=0x0a; /選擇頻率控制字2地址的初值Freq_convert(Freq1); /頻率轉(zhuǎn)換1for(count=6;count>0;) /寫入6字節(jié)的頻率控制字 AD98

36、54_WR_Byte(Adress1+,FreqWord-count); Freq_convert(Freq2); /頻率轉(zhuǎn)換2for(count=6;count>0;) /寫入6字節(jié)的頻率控制字 AD9854_WR_Byte(Adress2+,FreqWord-count); AD9854_WR_Byte(0x21,Shape>>8); /設(shè)置I通道幅度AD9854_WR_Byte(0x22,(uchar)(Shape&0xff);AD9854_WR_Byte(0x23,Shape>>8); /設(shè)置Q通道幅度AD9854_WR_Byte(0x24,(uc

37、har)(Shape&0xff);AD9854_UDCLK=1; /更新AD9854輸出 AD9854_UDCLK=0;/=/函數(shù)名稱:void AD9854_InitBPSK(void)/函數(shù)功能:AD9854的BPSK初始化/入口參數(shù):無/出口參數(shù):無/=void AD9854_InitBPSK(void)AD9854_WR=1; /將讀、寫控制端口設(shè)為無效 AD9854_RD=1; AD9854_UDCLK=0; AD9854_RST=1; /復(fù)位AD9854 AD9854_RST=0;AD9854_WR_Byte(0x1d,0x10); /關(guān)閉比較器AD9854_WR_Byte

38、(0x1e,CLK_Set); /設(shè)置系統(tǒng)時(shí)鐘倍頻AD9854_WR_Byte(0x1f,0x08); /設(shè)置系統(tǒng)為模式4,由外部更新AD9854_WR_Byte(0x20,0x60); /設(shè)置為可調(diào)節(jié)幅度,取消插值補(bǔ)償AD9854_UDCLK=1; /更新AD9854輸出 AD9854_UDCLK=0;/=/函數(shù)名稱:void AD9854_SetBPSK(uint Phase1,uint Phase2)/函數(shù)功能:AD9854的BPSK設(shè)置/入口參數(shù):Phase1 調(diào)制相位1/ Phase2調(diào)制相位2/出口參數(shù):無/說明: 相位為14Bit,取值從016383,谷雨建議在用本函數(shù)的時(shí)候?qū)

39、hase1設(shè)置為0,/ 將Phase1設(shè)置為8192,180°相位/=void AD9854_SetBPSK(uint Phase1,uint Phase2)uchar count;const ulong Freq=60000; const uint Shape=4000;uchar Adress;Adress=0x04; /選擇頻率控制字1地址的初值A(chǔ)D9854_WR_Byte(0x00,Phase1>>8); /設(shè)置相位1AD9854_WR_Byte(0x01,(uchar)(Phase1&0xff);AD9854_WR_Byte(0x02,Phase2>

40、;>8); /設(shè)置相位2AD9854_WR_Byte(0x03,(uchar)(Phase2&0xff);Freq_convert(Freq); /頻率轉(zhuǎn)換for(count=6;count>0;) /寫入6字節(jié)的頻率控制字 AD9854_WR_Byte(Adress+,FreqWord-count); AD9854_WR_Byte(0x21,Shape>>8); /設(shè)置I通道幅度AD9854_WR_Byte(0x22,(uchar)(Shape&0xff);AD9854_WR_Byte(0x23,Shape>>8); /設(shè)置Q通道幅度AD9

41、854_WR_Byte(0x24,(uchar)(Shape&0xff);AD9854_UDCLK=1; /更新AD9854輸出 AD9854_UDCLK=0;/=/函數(shù)名稱:void AD9854_InitOSK(void)/函數(shù)功能:AD9854的OSK初始化/入口參數(shù):無/出口參數(shù):無/=void AD9854_InitOSK(void)AD9854_WR=1; /將讀、寫控制端口設(shè)為無效AD9854_RD=1;AD9854_UDCLK=0;AD9854_RST=1; /復(fù)位AD9854AD9854_RST=0; AD9854_WR_Byte(0x1d,0x10); /關(guān)閉比較器AD9854_WR_Byte(0x1e,CLK_Set); /設(shè)置系統(tǒng)時(shí)鐘倍頻AD9854_WR_Byte(0x1f,0x00); /設(shè)置系統(tǒng)為模式0,由外部更新AD9854_WR_Byte(0x20,0x

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論