【E144】模拟设备AD9833 DDS芯片库

2021-08-15 20:56:37      索炜达电子      520     

项目编号:E144

文件大小:5K

源码说明:带中文注释

开发环境:C编译

简要概述:

这是一个模拟设备AD9833 DDS芯片库。

在我的项目中,我使用了STM32F030F4P6和基于STM32CubeMX的HAL库。我试图编写简单的库,以便您可以将其移植到其他微控制器上。它使用基于软件的SPI,因此不需要在微控制器上配置SPI寄存器。我在IAR的ARM和Eclipse中用GCC-ARM对其进行了测试,结果很好。此外,我还使用了AD9833的FREQ0和PHASE0寄存器。如果需要,您可以轻松地将其更改为FREQ1和PHASE1。


如何使用

您必须分配控制器的3 GPIO。在我的例子中,我使用了PA5、PA6和PA7,并在STM32CubeMX中将它们配置为输出。之后,必须在AD9833.h中定义输出引脚。

【E144】模拟设备AD9833 DDS芯片库

【E144】模拟设备AD9833 DDS芯片库

There are three functions to change the behavior of AD9833 that you can use :

void AD9833_Init(uint16_t Wave,float FRQ,float Phase);   // Initializing AD9833void AD9833_SetWave(uint16_t Wave);                      // Sets Output Wave Typevoid AD9833_SetWaveData(float Frequency,float Phase);    // Sets Wave Frequency & Phase

考虑到这个库使用延迟来执行软件SPI的事实,它可以对不同的微控制器进行不同的操作。这取决于uC上的主时钟。如果此库不适用于您,则必须更改Write SPI函数中的延迟时间。通过添加一些程序集编号,您可以通过反复试验来实现这一点。当然,您可以使用硬件SPI并将函数添加到库中以避免计时问题。

【E144】模拟设备AD9833 DDS芯片库

【E144】模拟设备AD9833 DDS芯片库

【E144】模拟设备AD9833 DDS芯片库

【E144】模拟设备AD9833 DDS芯片库

文件列表:

目录│文件列表:

 └ AD9833-STM32

    └ AD9833

       │ AD9833.c

       └ AD9833.h

TAGAD9833DDS
  • 7 次
  • 1 分