0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

stm32驅(qū)動ad9854程序分享_ad9854構(gòu)成信號發(fā)生器電路

姚小熊27 ? 來源:網(wǎng)絡整理 ? 2018-05-17 09:23 ? 次閱讀

AD9854概述

AD9854數(shù)字合成器是高集成度的器件,它采用先進的DDS技術(shù),片內(nèi)整合了兩路高速、高性能正交D/A轉(zhuǎn)換器通過數(shù)字化編程可以輸出I、Q兩路合成信號。在高穩(wěn)定度時鐘的驅(qū)動下,AD9854將產(chǎn)生一高穩(wěn)定的頻率、相位、幅度可編程的正弦和余弦信號,作為本振用于通信,雷達等方面。AD9854的DDS核具有48位的頻率分辨率(在300M系統(tǒng)時鐘下,頻率分辨率可達1uHZ)。輸出17位相位截斷保證了良好的無雜散動態(tài)范圍指標。AD9854允許輸出的信號頻率高達150MHZ,而數(shù)字調(diào)制輸出頻率可達100MHZ。通過內(nèi)部高速比較器正弦波轉(zhuǎn)換為方波輸出,可用作方便的時鐘發(fā)生器。

ad9854優(yōu)勢和特點

00MHz內(nèi)部時鐘速率

FSK、BPSK、PSK、線性調(diào)頻、AM操作

兩個集成式12位數(shù)模轉(zhuǎn)換器DAC

超高速比較器,均方根抖動:3ps

出色的動態(tài)性能:80dBSFDR(100MHz±1MHzAOUT)

4×至20×可編程基準時鐘乘法器

兩個48位可編程頻率寄存器

兩個14位可編程相位偏移寄存器

12位可編程振幅調(diào)制和開關(guān)輸出形鍵控功能

單引腳FSK和BPSK數(shù)據(jù)接口

通過輸入/輸出接口提供PSK功能

線性或非線性FM線性調(diào)頻功能,具有單引腳頻率保持功能

ad9854構(gòu)成的信號發(fā)生器電路

鍵盤共設有16個鍵,由P1.0~P1.3四條行線和P1.4~P1.7四條列線構(gòu)成。其中包括數(shù)字鍵、單位鍵及功能鍵,用來對所需信號的頻率、幅度及功能進行控制,最后輸出的信號頻率、幅度等信息通過液晶顯示屏顯示出來。顯示部分采用國顯公司的GXM1602NSL液晶模塊,它的核心是HD44780。與W78E58的數(shù)據(jù)傳輸采用8位并行傳輸,可顯示兩行共32個點陣字符。HD44780支持用戶自定義字符,故可以通過編程將頻率、幅度、波形等漢字及數(shù)字信息顯示出來。還采用了通信接口RS232)與PC機相聯(lián),PC機的控制命令可以通過TXD(Pin10)和RXD(Pin11)與W78E58進行交互,控制信號源的輸出。

stm32驅(qū)動ad9854程序分享_ad9854構(gòu)成信號發(fā)生器電路

stm32驅(qū)動ad9854程序分享

#include <stm32f10x_lib.h》

#include “sys.h”

#include “delay.h”

#define AD9854_DATA GPIOC-》ODR

#define AD9854_ADDR GPIOC-》ODR

#define ad9854_reset PBout(12)

#define ad9854_rd PBout(13)

#define ad9854_wr PBout(14)

#define ad9854_updata PBout(15)

unsigned char ControlRegister[]={0x14,0x4f,0x00,0x60}; //AD9852控制寄存器初始值, Mode 0

unsigned char FTW[]={0x00,0x00,0x37,0xec}; //Frequency Tuning Word 1 倍頻 300MHz 后輸出頻率 對應的 FTW 值

unsigned char PAR[]={0x00,0x00}; //Phase Adjust Register 1

unsigned char OSK[]={0x0a,0xff}; //Output shaped keying multiplier, 650mv

voidsingle_wave(unsigned long intfre);

void Init_AD9854(void);

void AD9854_Set_Mode0(void);

void AD9852_Send(unsigned char addr,unsigned char data);

voidchange_frequency(unsigned long intfre_temp); voidInit_Port(void);

int main( void )

{

Stm32_Clock_Init(9); // 9倍頻

delay_init(72); // 72M晶振時延時

delay_ms(200);

Init_Port();

Init_AD9854();

single_wave(1000000);

while(1);

}

voidInit_Port(void)

{

RCC-》APB2ENR |= 1<<3 ;

GPIOB-》CRH &= 0x0000ffff ;

GPIOB-》CRH |= 0x33330000 ;

GPIOB-》ODR |= 0xf000 ;

RCC-》APB2ENR |= 1<<4 ;

GPIOC-》CRL &= 0x00000000 ;

GPIOC-》CRL |= 0x33333333 ;

GPIOC-》CRH &= 0x00000000 ;

GPIOC-》CRH |= 0x33333333 ;

GPIOC-》ODR |= 0xffff ;

}

void AD9852_Send(unsigned char addr,unsigned char data) //按照并行輸入時序

{

ad9854_wr = 1; // AD9854_WR_SET;

AD9854_ADDR &= 0x00ff|addr<<8;

AD9854_ADDR |= 0xff00&addr<<8;

ad9854_wr = 1; // AD9854_WR_SET;

AD9854_DATA &= 0xff00|data;

AD9854_DATA |= 0x00ff&data;

ad9854_wr = 0; // AD9854_WR_CLR; ad9854_wr = 1; // AD9854_WR_SET; ad9854_updata = 1; //

AD9854_UPDATA_SET;

ad9854_updata = 0; //

AD9854_UPDATA_CLR;

}

void Init_AD9854(void)

{

unsigned char addr;

unsigned char i;

ad9854_reset = 0 ; // AD9854_RESET_CLR;

ad9854_wr = 1 ; // AD9854_WR_SET; ad9854_rd = 0 ; // AD9854_RD_CLR; ad9854_updata = 0 ; // AD9854_UPDATA_CLR;

addr = 0x1d;

for(i=4;i》0;i--)

{

AD9852_Send(addr,ControlRegister[4-i]);

addr++;

}

}

void AD9854_Set_Mode0(void) //Mode 0 設置

{

unsigned char addr;

unsigned char counter;

for(addr=0x00,counter=2;counter》0;counter--) //設 置 Phase Adjust Register 1

{

AD9852_Send(addr,PAR[2-counter]);

addr++;

}

for(addr=0x04,counter=4;counter》0;counter--) //設 置 Frequency Tuning Word 1

{

AD9852_Send(addr,F(xiàn)TW[4-counter]);

addr++;

}

for(addr=0x21,counter=2;counter》0;counter--) //設 置 Output shaped keying multiplier

{

AD9852_Send(addr,OSK[2-counter]);

addr++;

}

}

voidsingle_wave(unsigned long intfre)

{

unsigned char addr,i;

unsigned long intff;

unsigned char *p;

ff=(unsigned long int)(4294967296*fre/300000000); p=(unsigned char*)&ff;

for(addr=0x04,i=0;i<4;i++) //設 置 Frequency Tuning Word 1

{AD9852_Send(addr,*(p+3-i));

addr++;

}

for(addr=0x00,i=0;i<2;i++) //設 置 Phase Adjust Register 1

{

AD9852_Send(addr,PAR[i]);

addr++;

}

for(addr=0x21,i=2;i》0;i--) //設

置 Output shaped keying multiplier

{

AD9852_Send(addr,OSK[2-i])

addr++;

}

}

voidchange_frequency(unsigned long intfre_temp) {

unsigned char addr,counter;

unsigned char *p;

p=(unsigned char*)&fre_temp;

for(addr=0x04,counter=0;counter<4;counter++) //設置 Frequency Tuning Word 1

{

AD9852_Send(addr,*(p+3-counter));

addr++;

}

}

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • STM32
    +關(guān)注

    關(guān)注

    2257

    文章

    10828

    瀏覽量

    352468
  • AD9854
    +關(guān)注

    關(guān)注

    12

    文章

    50

    瀏覽量

    28031
收藏 人收藏

    評論

    相關(guān)推薦

    基于AD9854數(shù)控信號發(fā)生器的設計

    跪求《基于AD9854數(shù)控信號發(fā)生器的設計》。畢業(yè)設計,實在不會啊
    發(fā)表于 04-15 23:42

    使用AD9854設計函數(shù)信號發(fā)生器

    請問有沒有人對于使用AD9854設計函數(shù)信號發(fā)生器有研究?如果誰研究過這方面東西的話能不能分享點資料給我?不勝感激{:23:}
    發(fā)表于 04-30 11:55

    【DIY信號發(fā)生器AD9854方案

    位相位截斷保證了良好的無雜散動態(tài)范圍指標。AD9854允許輸出的信號頻率高達150MHZ,而數(shù)字調(diào)制輸出頻率可達波轉(zhuǎn)換為方波輸出,可用作方便的時鐘發(fā)生器。器件有兩個14位相位寄存和一
    發(fā)表于 06-17 17:13

    AD9854波形發(fā)生器模塊配套各種資料

    AD9854信號發(fā)生器模塊的配套資料。
    發(fā)表于 03-16 10:29

    基于AD9854的高精度高頻信號發(fā)生器

    基于AD9854的高精度高頻信號發(fā)生器:摘要:本文介紹利用ACEX1K50 控制AD9854 的高頻信號
    發(fā)表于 10-27 18:28 ?166次下載

    AD9854驅(qū)動程序設計

    AD9854數(shù)字合成器是高集成度的器件,它采用先進的DDS技術(shù),片內(nèi)整合了兩路高速、高性能正交D/A轉(zhuǎn)換通過數(shù)字化編程可以輸出I、Q兩路合成信號。在高穩(wěn)定度時鐘的驅(qū)動下,
    發(fā)表于 11-03 11:03 ?67次下載
    <b class='flag-5'>AD9854</b><b class='flag-5'>驅(qū)動程序</b>設計

    DDS工作原理及基于AD9854信號發(fā)生器的設計

    等特點。文中詳細分析了該信號發(fā)生器的系統(tǒng)結(jié)構(gòu)、軟硬件設計和具體實現(xiàn)電路。 DDS 工作原理 AD9854 中使用的 DDS 技術(shù)是根據(jù)奈奎斯特采樣定律, 從連續(xù)
    發(fā)表于 11-16 14:49 ?46次下載
    DDS工作原理及基于<b class='flag-5'>AD9854</b>的<b class='flag-5'>信號</b><b class='flag-5'>發(fā)生器</b>的設計

    基于AD9854信號發(fā)生器設計

    AD9854數(shù)字合成器是高集成度的器件,它采用先進的DDS技術(shù),片內(nèi)整合了兩路高速、高性能正交D/A轉(zhuǎn)換通過數(shù)字化編程可以輸出I、Q兩路合成信號。在高穩(wěn)定度時鐘的驅(qū)動下,
    發(fā)表于 12-09 11:38 ?8212次閱讀

    ad9854中文資料匯總(ad9854引腳圖及功能_內(nèi)部結(jié)構(gòu)及應用電路

    本文首先介紹了AD9854特征與內(nèi)部結(jié)構(gòu)框圖,其次介紹了AD9854引腳功能和AD9854的編程,最后介紹了兩款ad9854應用電路圖。
    發(fā)表于 05-16 15:17 ?2.5w次閱讀
    <b class='flag-5'>ad9854</b>中文資料匯總(<b class='flag-5'>ad9854</b>引腳圖及功能_內(nèi)部結(jié)構(gòu)及應用<b class='flag-5'>電路</b>)

    基于AD9854產(chǎn)生MSK調(diào)制信號詳細說明

    AD9854數(shù)字合成器是高集成度的器件。本文首先介紹了AD9854的特征,其次介紹了AD9854構(gòu)成信號
    發(fā)表于 05-16 15:50 ?4734次閱讀
    基于<b class='flag-5'>AD9854</b>產(chǎn)生MSK調(diào)制<b class='flag-5'>信號</b>詳細說明

    16位單片機對AD9854控制的探討

    本文首先介紹了AD9854的優(yōu)勢和特點,其次介紹了AD9854高精度頻率信號發(fā)生器電路圖,最后詳細介紹了16位單片機對
    的頭像 發(fā)表于 05-16 16:16 ?6459次閱讀
    16位單片機對<b class='flag-5'>AD9854</b>控制的探討

    STM32AD9854 DDS模塊調(diào)試總結(jié)

    本文首先介紹了DDS的基本原理和特點,其次介紹了DDS芯片AD9854的概念,最后詳細介紹了STM32AD9854 DDS模塊調(diào)試經(jīng)驗總結(jié)。
    發(fā)表于 05-16 16:43 ?1.8w次閱讀
    <b class='flag-5'>STM32</b>的<b class='flag-5'>AD9854</b> DDS模塊調(diào)試總結(jié)

    ad9854應用電路圖大全(五款ad9854信號發(fā)生/頻率發(fā)生器/正交信號電路

    本文介紹了五款ad9854的應用電路圖。其中包括了ad9854信號發(fā)生電路
    發(fā)表于 05-16 17:33 ?9245次閱讀
    <b class='flag-5'>ad9854</b>應用<b class='flag-5'>電路</b>圖大全(五款<b class='flag-5'>ad9854</b><b class='flag-5'>信號</b><b class='flag-5'>發(fā)生</b>/頻率<b class='flag-5'>發(fā)生器</b>/正交<b class='flag-5'>信號</b>源<b class='flag-5'>電路</b>)

    ad9854單片機程序詳細說明(ad9854結(jié)構(gòu)框圖及電路

    本文首先介紹了ad9854的結(jié)構(gòu)框圖及特點,其次介紹了ad9854的兩個應用電路圖,最后介紹了ad9854單片機程序詳情。
    的頭像 發(fā)表于 05-17 08:32 ?2.2w次閱讀
    <b class='flag-5'>ad9854</b>單片機<b class='flag-5'>程序</b>詳細說明(<b class='flag-5'>ad9854</b>結(jié)構(gòu)框圖及<b class='flag-5'>電路</b>)

    AD9854參考代碼

    AD9854參考代碼
    發(fā)表于 03-18 11:07 ?42次下載
    <b class='flag-5'>AD9854</b>參考代碼