DSP实验箱_嵌入式教学实验箱_操作教程:2-17 AD9833波形发生器实验

一、实验目的

了解AD9833的芯片特性和输出波形的原理,并实现基于AD9833产生正弦波输出。

二、实验原理

StarterWare

StarterWare是一个免费的软件开发包,它包含了示例应用程序。StarterWare提供了一套完整的GPIO寄存器配置接口,简化了开发步骤,程序开发时只需要调用相应接口即可。

安装StarterWare 后,可在安装目录下找到 C6748 所有通用库函数和对应的源码(StarterWare的 drivers 目录下,部分位于其他相关目录下),同时可在安装目录docs 文件夹内找到所有库函数的使用方法。

image.png

硬件原理图

控制AD9833的管脚分别为:GPIO5[4]、GPIO5[6]和GPIO5[9]。

image.png

image.png

波形发生器

TL6748-PlusTEB实验箱采用板载波形信号发生器,波形信号发生器采用的芯片是AD9833。

AD9833是一款低功耗、可编程波形发生器,能够产生正弦波、三角波和方波输出。各种类型的检测、信号激励和时域反射应用都需要波形发生器。输出频率和相位可通过软件进行编程,调整简单。频率寄存器为28位,时钟速率为25MHz时,可以实现0.1Hz的分辨率;而时钟速率为1MHz时,则可以实现0.004Hz的分辨率。AD9833的输出电压范围是38mV~650mV。

AD9833

AD9833具有一个标准串行接口,使得该器件可以直接与微处理器进行通信。该器件采用外部串行总线向器件中写入配置信息,支持通过程序控制AD9833产生正弦波、三角波和方波输出。

image.png

程序流程

程序流程设计中首先要进行外设使能配置,接着进行GPIO管脚复用,配置GPIO管脚为输出,然后初始化AD9833,最后在设置AD9833的输出波形。

image.png

源码

方向配置源码

管脚方向配置。

使用StarterWare 库函数将 GPIO 口配置为输出模式。

相关函数通过“gpio.h”文件引用。

StarterWare API 接口。

GPIODirModeSet(SOC_GPIO_0_REGS, 1, GPIO_DIR_OUTPUT);

image.png

数据配置源码

数据寄存器配置。

使用 StarterWare 库函数设置GPIO输出值。

相关函数通过“gpio.h”文件引用。

StarterWare API 接口。

GPIOPinWrite(SOC_GPIO_0_REGS, 3, GPIO_PIN_LOW);

image.png

三、操作现象

实验设备

本实验使用的硬件接口为波形发生器接口,所需硬件为实验板、仿真器、BNC公头转SMA公头转接线、示波器和电源。

image.png

硬件连接

(1)通过BNC公头转SMA公头转接线连接实验板波形发生器的输出口至示波器。

(2)连接仿真器和电脑的USB接口,

(3)将拨码开关拨到DEBUG模式01111,

(4)连接实验箱电源,拨动电源开关上电。

image.png

软件操作

导入工程

编译工程

将CCS连接开发板并加载程序

点击运行程序

程序运行完成后自动停止,可通过示波器查看波形。

实验结束后,点击红色按钮退出CCS与实验箱的连接,最后实验箱断电即可。

image.png

  • 25
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的流水灯汇编程序,可在EL-DSP-E300实验上运行。请注意,这只是一个示例程序,您可以根据需要进行修改和优化。 ``` ;******************************************************************************* ;* 功能说明:EL-DSP-E300实验流水灯程序 ;* 系统平台:EL-DSP-E300实验 ;* 编译环境:Keil uVision5 ;* 文件名称:led.asm ;* 修改记录:无 ;******************************************************************************* ; 定义LED灯数量和端口 #define LED_NUM 8 ; LED灯数量 #define LED_PORT P0 ; LED灯端口 ; 定义延时函数 DELAY PROC PUSH AR0 ; 保存寄存器 PUSH AR1 MOV AR0, #2000 ; 延时参数,可根据需要调整 L1: MOV AR1, #1000 L2: SUB AR1, #1 JNZ L2 SUB AR0, #1 JNZ L1 POP AR1 ; 恢复寄存器 POP AR0 RET DELAY ENDP ; 主程序 MAIN PROC MOV LED_PORT, #0 ; 初始化LED端口 MOV R0, #0 ; 初始化计数器 LOOP: ADD R0, #1 ; 计数器加1 MOV A, #1 ; 将A寄存器设为1 MOV R1, #0 ; 初始化循环计数器 LED_LOOP: MOV LED_PORT, A ; 将A寄存器中的值写入LED端口 CALL DELAY ; 延时一段时间 MOV A, A LSL 1 ; 左移一位,相当于乘以2 ADD R1, #1 ; 循环计数器加1 CMP R1, #LED_NUM ; 判断是否达到LED灯数量 JNC END_LOOP ; 如果达到,跳转到程序结束 JMP LED_LOOP ; 如果没有达到,继续循环 END_LOOP: MOV A, #1 ; 将A寄存器设为1 MOV R1, #0 ; 初始化循环计数器 LED_LOOP2: MOV LED_PORT, A ; 将A寄存器中的值写入LED端口 CALL DELAY ; 延时一段时间 MOV A, A LSR 1 ; 右移一位,相当于除以2 ADD R1, #1 ; 循环计数器加1 CMP R1, #LED_NUM ; 判断是否达到LED灯数量 JNC LOOP ; 如果达到,跳转到程序开始 JMP LED_LOOP2 ; 如果没有达到,继续循环 END MAIN ENDP ``` 请注意,此程序是使用Keil uVision5编译器编写的,如果您使用其他编译器,请相应地进行更改。此外,如果您需要将程序下载到EL-DSP-E300实验上,请使用适当的下载工具和方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值