基于dsp的音频信号发生器的设计与实现

来源:百度知道 编辑:UC知道 时间:2024/06/04 04:06:37
希望朋友们给点帮助
一.实验目的
通过实验学习使用5416DSP 的扩展I/O 端口控制外围设备信息的方法,掌握使用
5416DSP 通用计时器的控制原理及中断服务程序的编程方法;了解蜂鸣器发声原理和音
乐发生方法。
二.实验设备
计算机,ICETEK-VC5416-EDU实验箱。
三.实验原理:
ICETEK-VC5416-A 是一块以TMS320VC5416DSP 为核心的DSP 扩展评估板,它通
过扩展接口与实验箱的显示/控制模块连接,可以控制其各种外围设备。
蜂鸣器由DSP 通用I/O 管脚BDX0 输出控制,可将此管脚上的频率输出转换成声音
输出。5416 的通用I/O 口控制蜂鸣器的输出频率。
控制的方法是使用DSP 通用定时器设置BDX0 以一定的频率改变高低状态,输出方
波。对于通用定时器周寄存器的设置,计数值为所需频率计数值的二分之一。
音乐的频率(C 调):
C D E F G A B ^C
1 2 3 4 5 6 7 ^1
C: 264, 297, 330,352, 396, 440,495, 528
*蜂鸣器的连接:由于选用的蜂鸣器所需电流较小,所以采用将DSP 通用I/O 引脚直接
驱动的方式。
四.实验步骤
1.实验准备
① 连接设备
①关闭计算机和实验箱电源。
②如使用PP 型仿真器则用附带的并口连线连接计算机并口和仿真器相应接
口。
③检查ICETEK-VC5416-A 板上拨动开关MP/MC 的位置,应设置在位置(靠
近复位按钮一侧),即设置DSP 工作在MP 方式。
④关闭实验箱上三个开关。
② 开启设备
①打开计算机电源。
② 打开实验箱电源开关, ICETEK-CTR 板上J2 、J3 灯亮; 注意
ICETEK-VC5416-A 板上指示灯D1 和D2 亮。
③如使用USB型仿真器用附带的USB电缆连接计算机和仿真器相应接口,注
意仿真器上两个指示灯均亮。
③ 设置Code Com

首先根据说明确认控制BDX0的address或者register,通过直接向这个address或者向register写入值即可实现向BDX0输入。如果实验指示书没有给出,或者需要你们自己查找DSP的datasheet。

然后确认系统的主时钟频率。计算出主时钟频率与发声的音频的比例。
例如主时钟除以声音的值是100,那么就每五十个周期改变一次BDX0的值。这样BDX0的频率就变成了主时钟的1/100。
这种延迟可以用循环语句来实现,用汇编或者C语言都可以。但应注意每条语句所用的周期数。