AD9833波形发生器
该模块为可编程波形发生器,能够产生正弦 波、三角波和方波输出。各种类型的检测、信号激励和时 域反射(TDR)应用都需要波形发生器。输出频率和相位可 通过软件进行编程,调整简单。无需外部元件。频率寄存 器为28位:时钟速率为25 MHz时,可以实现0.1 Hz的分辨 率;而时钟速率为1 MHz时,则可以实现0.004 Hz的分辨率。
模块来源
规格参数
工作电压:2.3 V至5.5 V电源供电
工作电流:12.65 mW(3 V时)
通信方式:3线SPI接口
芯片引脚数量:10引脚MSOP封装
硬件连接
c
AD9833 引脚 -> 开发板引脚
VCC -> 5V
GND -> GND
SDATA -> 11
SCK -> 13
FSYNC -> 10
1
2
3
4
5
6
2
3
4
5
6
使用方法
安装库
在库管理中,搜索AD9833,找到"MD_AD9833"并安装。
编写代码
c
/******************************************************************************
* 测试硬件:ColorEasyDuino开发板
* 版 本 号: V1.0
* 修改作者: www.lckfb.com
* 修改日期: 2024年04月11日
* 功能介绍:
*****************************************************************************
* 开发板软硬件资料与相关项目软硬件资料官网全部开源
* 开发板官网:www.lckfb.com
* 技术支持常驻论坛,任何技术问题欢迎随时交流学习
* 立创论坛:club.szlcsc.com
* 关注bilibili账号:【立创开发板】,掌握我们的最新动态!
* 不靠卖板赚钱,以培养中国工程师为己任
******************************************************************************/
#include <MD_AD9833.h>
#include <SPI.h>
// 与AD9833的SPI通信引脚
const uint8_t PIN_DATA = 11; ///< SPI Data pin number
const uint8_t PIN_CLK = 13; ///< SPI Clock pin number
const uint8_t PIN_FSYNC = 10; ///< SPI Load pin number (FSYNC in AD9833 usage)
MD_AD9833 AD(PIN_FSYNC); // Hardware SPI
// MD_AD9833 AD(PIN_DATA, PIN_CLK, PIN_FSYNC); // 任意SPI引脚设置
void setup(void)
{
AD.begin();
}
void loop(void)
{
static uint8_t m = 0;
static MD_AD9833::mode_t modes[] =
{
MD_AD9833::MODE_TRIANGLE,
MD_AD9833::MODE_SQUARE2,
MD_AD9833::MODE_SINE,
MD_AD9833::MODE_SQUARE1
};
AD.setMode(modes[]);
delay(500);
AD.setFrequency(MD_AD9833::CHAN_0, 2000);
m++;
if (m >= 4 ) m = 0;
delay(10000);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
使用验证
每隔5秒输出不同类型的2KHz波形。