仪器社区

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

阳光的疯了一样 2008-11-27
希望朋友们给点帮助一.实验目的通过实验学习使用5416DSP的扩展I/O端口控制外围设备信息的方法,掌握使用5416DSP通用计时器的控制原理及中断服务程序的编程方法;了解蜂鸣器发声原理和... 希望朋友们给点帮助 一.实验目的 通过实验学习使用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 Composer Studio 为Emulator 方式 ④ 启动Code Composer Studio 2.0 2.打开工程并浏览程序,工程目录为C:\5416EDULab\Lab14-Speaker 3.编译并下载程序 4.运行程序 北京瑞泰创新科技有限责任公司——ICETEK-VC5416-USB/PP-EDU 教学系统说明书 70 5.将语句“delay(music[nCount][1]);”改为“delay(music[nCount][1]/2);”,重复步骤5-7, 体会音乐的节奏快了一倍。 五.实验结果 实验结果:可以听到蜂鸣器发出的音乐声(6123216)。 分析:程序中使用循环延时的方法掌握节拍,可考虑使用定时器计数改变音符,更复 杂的方法可以产生语音效果。
评论
全部评论
dalong2780
首先根据说明确认控制BDX0的address或者register,通过直接向这个address或者向register写入值即可实现向BDX0输入。如果实验指示书没有给出,或者需要你们自己查找DSP的datasheet。

然后确认系统的主时钟频率。计算出主时钟频率与发声的音频的比例。
例如主时钟除以声音的值是100,那么就每五十个周期改变一次BDX0的值。这样BDX0的频率就变成了主时钟的1/100。
这种延迟可以用循环语句来实现,用汇编或者C语言都可以。但应注意每条语句所用的周期数。
3 0 2008-11-28 0条评论 回复
您可能感兴趣的社区主题
加载中...
发布 评论