資料介紹
DDS AD9959應(yīng)用電路和配置源程序
AD9959是一款有四個(gè)DDS通道,最高達(dá)500M SPS的數(shù)字頻率合成芯片。
常用電路接法:

主要程序:
#include "config.h"
void delay(void)
{
unsigned int i;
for(i=0;i<10;i++);
}
/*****************************************************************************
功能描述: 加載寄存器,上升延有效
*****************************************************************************/
void run(void)
{
CLR_IOUPDATE;
CLR_IOUPDATE;
CLR_IOUPDATE;
CLR_IOUPDATE;
CLR_IOUPDATE;
CLR_IOUPDATE;
CLR_IOUPDATE;
SET_IOUPDATE;
SET_IOUPDATE;
}
/*****************************************************************************
函數(shù)名: write_a_byte
功能描述: 通過串口寫一個(gè)字節(jié),MSB first,上升延有效
*****************************************************************************/
void write_a_byte(uint8 w_data)
{
uint8 i;
for(i=0;i<8;i++)
{
if(w_data & 0x80)
{
SET_SDIO0;
}
else
{
CLR_SDIO0;
}
w_data <<= 1;
SET_DDSSCLK;
CLR_DDSSCLK;
}
}
/*****************************************************************************
函數(shù)名: write_CSR
功能描述: 寫CSR寄存器:
*****************************************************************************/
void write_CSR(uint8 w_data)
{
CLR_SDIO3;
CLR_DDSCS;
write_a_byte(0x00); //write address 0. CSR's address is 0.
write_a_byte(w_data);
SET_DDSCS;
SET_SDIO3;
}
void write_FR1(uint8 w_data1,uint8 w_data2,uint8 w_data3)
{
CLR_SDIO3;
CLR_DDSCS;
write_a_byte(0x01); //write address 1. FR1's address is 0x01
write_a_byte(w_data1);
write_a_byte(w_data2);
write_a_byte(w_data3);
SET_DDSCS;
SET_SDIO3;
}
void write_FR2(uint8 w_data1,uint8 w_data2)
{
CLR_SDIO3;
CLR_DDSCS;
write_a_byte(0x02); //write address 2
write_a_byte(w_data1);
write_a_byte(w_data2);
SET_DDSCS;
SET_SDIO3;
}
void write_CFR(uint8 w_data1,uint8 w_data2,uint8 w_data3)
{
CLR_SDIO3;
CLR_DDSCS;
write_a_byte(0x03);
write_a_byte(w_data1);
write_a_byte(w_data2);
write_a_byte(w_data3);
SET_DDSCS;
SET_SDIO3;
}
void write_CTW0(uint32 F_word) //Channel Frequency Tuning Word (CTW0)
{
CLR_SDIO3;
CLR_DDSCS;
write_a_byte(0x04);
write_a_byte(((unsigned char *)(&F_word))[3]);
write_a_byte(((unsigned char *)(&F_word))[2]);
write_a_byte(((unsigned char *)(&F_word))[1]);
write_a_byte(((unsigned char *)(&F_word))[0]);
SET_DDSCS;
SET_SDIO3;
}
void write_CPW0(uint16 P_word) //Channel Phase1 Offset Word (CPW0) (0x05)
{
CLR_SDIO3;
CLR_DDSCS;
write_a_byte(0x05);
write_a_byte(((unsigned char *)(&P_word))[1]&0x3F);
write_a_byte((((unsigned char *)(&P_word))[0]));
SET_DDSCS;
SET_SDIO3;
}
void write_ACR(uint32 A_word)
{
CLR_SDIO3;
CLR_DDSCS;
write_a_byte(0x06);
write_a_byte(((unsigned char *)(&A_word))[3]);
write_a_byte(((unsigned char *)(&A_word))[2]);
write_a_byte(((unsigned char *)(&A_word))[1]);
SET_DDSCS;
SET_SDIO3;
}
void write_LSR(uint8 rising,uint8 falling)
{
CLR_SDIO3;
CLR_DDSCS;
write_a_byte(0x07);
write_a_byte(rising);
write_a_byte(falling);
SET_DDSCS;
SET_SDIO3;
}
void write_RDW(uint32 rising)
{
CLR_SDIO3;
CLR_DDSCS;
write_a_byte(0x08);
write_a_byte(((unsigned char *)(&rising))[3]);
write_a_byte(((unsigned char *)(&rising))[2]);
write_a_byte(((unsigned char *)(&rising))[1]);
write_a_byte(((unsigned char *)(&rising))[0]);
SET_DDSCS;
SET_SDIO3;
}
void write_FDW(uint32 falling)
{
CLR_SDIO3;
CLR_DDSCS;
write_a_byte(0x09);
write_a_byte(((unsigned char *)(&falling))[3]);
write_a_byte(((unsigned char *)(&falling))[2]);
write_a_byte(((unsigned char *)(&falling))[1]);
write_a_byte(((unsigned char *)(&falling))[0]);
SET_DDSCS;
SET_SDIO3;
}
void write_CTWn(uint8 n,uint32 w_data)
{
CLR_SDIO3;
CLR_DDSCS;
write_a_byte(n+0x09); //CTWn's address is n+0x09.n>=1 and n<=15.
write_a_byte(((unsigned char *)(&w_data))[3]);
write_a_byte(((unsigned char *)(&w_data))[2]);
write_a_byte(((unsigned char *)(&w_data))[1]);
write_a_byte(((unsigned char *)(&w_data))[0]);
SET_DDSCS;
SET_SDIO3;
}
#define PLL_DIV 5
#define systemp_frequency (22.1184*1000000*PLL_DIV)
void set_frequency(uint32 f)
{
unsigned long int temp;
temp=(unsigned long int)f*(0xFFFFFFFF/(float)systemp_frequency+1.0/systemp_frequency);
write_CTW0(temp);
}
uint32 change(uint32 f)
{
unsigned long int temp;
temp=(unsigned long int)f*(0xFFFFFFFF/(float)systemp_frequency+1.0/systemp_frequency);
return temp;
}
void AD9959_init(void)
{
uint16 i;
DDS_DDR = 0xff;
CLR_DDSRESET;
for(i=0;i<10000;i++);
SET_DDSCS;
CLR_DDSSCLK;
SET_SDIO3;
SET_DDSRESET;
for(i=0;i<10000;i++);
CLR_DDSRESET;
for(i=0;i<100;i++);
}
- 完整源程序分享 30次下載
- EVAD959 AD9959 評(píng)估板
- OLED源程序免費(fèi)下載 5次下載
- AD9959評(píng)估板數(shù)據(jù)手冊(cè)
- AD9959:內(nèi)置10位DAC的4通道500 MSPS DDS評(píng)估板。
- AD9959參考代碼
- FT4未來時(shí)鐘的正式版的源程序和電路原理圖免費(fèi)下載 0次下載
- 4通道500MSPS DDS 10位數(shù)模轉(zhuǎn)換器AD9959數(shù)據(jù)表 29次下載
- 蜂鳴器實(shí)驗(yàn)_電路圖+源程序 53次下載
- PLC電路板源程序 75次下載
- 基于AD9959的高精度多通道雷達(dá)信號(hào)源設(shè)計(jì) 117次下載
- AD9959,pdf datasheet (4-Channe
- ad9958/ad9959參考電路圖
- 一種基于DDS芯片AD9959的高精度信號(hào)發(fā)生器
- ds1302的應(yīng)用電路和匯編源程序
- AD9959內(nèi)置四通道10 bit DAC的500 MSPS直接數(shù)字頻率合成器技術(shù)手冊(cè) 1.2k次閱讀
- Xilinx DDS IP核的使用和參數(shù)配置 5.9k次閱讀
- 什么是DDS?車載以太網(wǎng)—DDS篇詳解 7.7k次閱讀
- e2 studio環(huán)境下添加源程序到當(dāng)前工程的注意事項(xiàng) 1.8k次閱讀
- 如何擴(kuò)展DDS頻率上限和改善DDS雜散電平的問題 8.4k次閱讀
- I2C總線驅(qū)動(dòng)的C語言源程序詳細(xì)說明 5.9k次閱讀
- 四通道高速直接數(shù)字頻率合成器AD9959的功能特點(diǎn)和應(yīng)用 1.3w次閱讀
- 利用FPGA器件FLEX EP10K50芯片實(shí)現(xiàn)DDS電路的設(shè)計(jì) 1.8k次閱讀
- 連接器是怎么讀懂C源程序的 1.9k次閱讀
- LDC1000在STM32的程序 LDC1000的STM32驅(qū)動(dòng)源程序 4.6k次閱讀
- cc2541中文數(shù)據(jù)手冊(cè)及cc2541藍(lán)牙源程序 2.8w次閱讀
- TLV3501應(yīng)用電路及其電路圖 4.3w次閱讀
- FPGA和DDS在信號(hào)源中的應(yīng)用 9.7k次閱讀
- 基于DDS的多通道信號(hào)源設(shè)計(jì) 5.6k次閱讀
- 報(bào)警應(yīng)用電路圖 7k次閱讀
下載排行
本周
- 1PD取電芯片 ECP5702規(guī)格書
- 0.88 MB | 3次下載 | 免費(fèi)
- 2氮化鎵GaN FET/GaN HEMT 功率驅(qū)動(dòng)電路選型表
- 0.10 MB | 2次下載 | 免費(fèi)
- 3EMC PCB設(shè)計(jì)總結(jié)
- 0.33 MB | 2次下載 | 免費(fèi)
- 41節(jié)電池用電池保護(hù)IC S-8261D系列數(shù)據(jù)手冊(cè)
- 3.07 MB | 1次下載 | 1 積分
- 5PD取電芯片,可取5/9/12/15/20V電壓ECP5702數(shù)據(jù)手冊(cè)
- 0.88 MB | 1次下載 | 免費(fèi)
- 6飛騰FT2000-4 COM Express核心板技術(shù)手冊(cè)0603
- 1.22 MB | 1次下載 | 免費(fèi)
- 7飛騰S5000C-64雙路服務(wù)器系列應(yīng)用宣傳冊(cè)--一乘科技
- 945.81 KB | 1次下載 | 免費(fèi)
- 8IP2345支持PD3.0等多種快充協(xié)議 支持4~6節(jié)串聯(lián)電池最大充電功率30W異步升降壓充電IC
- 1.41 MB | 次下載 | 免費(fèi)
本月
- 1美的電磁爐電路原理圖資料
- 4.39 MB | 22次下載 | 10 積分
- 2反激式開關(guān)電源設(shè)計(jì)解析
- 0.89 MB | 16次下載 | 5 積分
- 3耗盡型MOS FET產(chǎn)品目錄選型表
- 0.14 MB | 3次下載 | 免費(fèi)
- 4PD取電芯片 ECP5702規(guī)格書
- 0.88 MB | 3次下載 | 免費(fèi)
- 5氮化鎵GaN FET/GaN HEMT 功率驅(qū)動(dòng)電路選型表
- 0.10 MB | 2次下載 | 免費(fèi)
- 6EMC PCB設(shè)計(jì)總結(jié)
- 0.33 MB | 2次下載 | 免費(fèi)
- 7PC5200 700V_10A GaN HEMT驅(qū)動(dòng)器數(shù)據(jù)手冊(cè)
- 1.63 MB | 1次下載 | 免費(fèi)
- 81節(jié)電池用電池保護(hù)IC S-8261D系列數(shù)據(jù)手冊(cè)
- 3.07 MB | 1次下載 | 1 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233095次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191457次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183360次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81605次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73831次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評(píng)論