您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > DSP技术及应用课程实验指导手册
DSP技术及应用课程实验指导手册通信与电子工程学院2009-2010(1)实验一卷积运算(含VisualDSP++基础练习)1、实验目的(1)熟悉VisualDSP++集成开发调试环境的使用(2)理解并调试卷积运算的编程实现2、实验设备安装了VisualDSP++软件的PC机,VisualDSP++版本为4.5以上。3、实验内容及原理(1)熟悉VisualDSP++的使用,主要内容包括:创建、打开和维护工程;编译链接并执行程序;设置断点、观察变量和寄存器值的变化等。(2)理解并调试卷积运算程序:对于离散线性时不变系统,设输入为x[m][n],单位脉冲响应为h[m][n],则系统的输出y[m][n]可表示为x与h的卷积,可用公式表示如下:21]][[]][[]][[2121kkknkmhkkxnmy要求在VisualDSP++环境下对例程进行编译、运行和调试。4、实验步骤第一部分:(1)创建一个工程(以自己姓名的全拼命名),选择BF533作为处理器。(2)生成一个打印HelloDSP!的带main函数的c文件,并加入工程中。(3)关闭当前工程,然后再次打开该工程。(4)生成一个新的Session并选中它,选用软件模拟器(simulator)作为目标平台。(5)完成编译、链接并执行,观察执行结果(在输出窗口打印出HelloDSP!)。第二部分:(1)在VisualDSP++下打开工程conv_2d_533.dpj,将其设置为活动工程(在该工程名上点击邮件,选中SetAsActiveProject)。(2)利用菜单项'Session'-'SelectSession',选择一个ADSP-BF533模拟器session,没有的话则创建一个。(3)执行菜单项'Project''BuildProject'(或用F7)编译该项目,这将自动加载可执行文件,程序会停在主程序的入口处。(4)执行菜单项'Debug''Run'(或用F5),程序执行到程序末尾的断点___lib_prog_term处,此时程序处于暂停状态。(5)执行菜单项'View''DebugWindows''ImageViewer…',打开ImageConfiguration窗口,按下图分别对input和output分别进行配置,然后点击OK。则在ImageViewer窗口可以观察到输入图像与输出图像。(6)执行菜单项'Debug''Reset',停止程序执行。然后在重复第(3)步,接下来执行'Register''Core''DataRegisterFile'、'Register''Core''DAGRegister'、'Register''Core''PRegister',打开寄存器窗口;再执行'View''DebugWindows''Expressions'打开表达式计算窗口,添加input、output、buffer等变量以便观察其值的变化。还可执行'Memory''BlackfinMemory'来观察内存,在其输入框中输入input、buffer等即可看到其地址和内容。(7)做好第六步的准备后,反复执行'Debug''Stepinto'(或F11键)进行单步执行,注意观察寄存器和变量的变化情况,理解每条语句的作用。(8)根据实验结果,结合代码阅读,理解conv_2d.asm文件main函数每个部分的功能(如第31行到37行将input中8-bit对齐的数据变换成16位存放到buffer中)。5、实验报告内容要求(1)记下output的最终结果(2)解释第31行到37行零开销循环的执行流程和作用(3)请描述input图和output图的区别,并结合3×3低通滤波算子解释其原因。实验二数字滤波器实现1、实验目的(1)理解并调试数字滤波器的编程实现(2)理解并掌握函数参数的传递机理(3)理解并掌握c程序调用汇编实现的函数的方法2、实验设备安装了VisualDSP++软件的PC机,VisualDSP++版本为4.5以上。3、实验内容及原理有限冲激响应FIR滤波器是在数字信号处理中经常使用的两种基本的滤波器之一,另一个为无限冲激响应IIR滤波器。FIR滤波器有以下特点:(1)系统的单位冲激响应h(n)在有限个n值处不为零;(2)系统函数H(z)在处收敛,极点全部在z=0处(因果系统);(3)结构上主要是非递归结构,没有输出到输入的反馈。在程序实现上,用汇编语言实现,共有四个参数,分别为输入序列、输出序列、输入样本的数目(必须是偶数)、fir_state_r16结构指针(指向滤波器参数)。该函数的测试则是用c程序来调用。在此遵从的协议是:汇编语言中声明函数体__fir,c程序中则调用_fir(*)。从函数体__fir中可以了解参数的压栈与出栈过程。4、实验步骤(1)在VisualDSP++下打开工程fir.dpj,将其设置为活动工程(在该工程名上点击邮件,选中SetAsActiveProject)。(2)利用菜单项'Session'-'SelectSession',选择一个ADSP-BF533模拟器session,没有的话则创建一个。(3)执行菜单项'Project''BuildProject'(或用F7)编译该项目,这将自动加载可执行文件,程序会停在主程序的入口处。(4)执行菜单项'Debug''Run'(或用F5),程序执行到程序末尾并停在指令IDLE处,此时程序处于暂停状态。(5)执行菜单项'View''DebugWindows''Plot''New…',打开PlotConfiguration窗口,按下图分别对input和output分别进行配置,然后点击Add添加。然后即可在Plot窗口观察到输入与输出数据。(6)执行'View''DebugWindows''Expressions'打开表达式计算窗口,在该窗口中可以添加IN、OUT、h、delay等变量名,观察其值。(7)执行菜单项'Debug''Reset',停止程序执行。然后在重复第(3)步,接下来在调用_fir的函数处设置断点,或反复执行'Debug''Stepinto'(或F11键)进行单步执行。当进入__fir函数体后,注意观察参数的出栈过程,并利用第一个实验提供的方法来观察寄存器和变量的变化情况,理解每条语句的作用。(8)记录实验结果,特别是OUT的结果。5、实验报告内容要求(1)记下OUT的最终结果(2)记录Plot窗口中IN和OUT的曲线(3)总结函数参数的入栈和出栈操作实验三4×4键盘实验1、实验目的(1)学习键盘扫描原理,学习基于ADSP-BF53x处理器的I/O扩展键盘程序设计方法。(2)理解并掌握ADSP的中断处理机制2、实验设备安装了VisualDSP++软件的PC机,VisualDSP++版本为4.5以上。ADSP_BF533_EZ_KIT_Lite实验台DM-KIT-EXBSSK-BF533(DM-KIT-EXBSSK模块、DM-KIT-EXBCMOS-130mp模块、DM-KIT-EXBTFT模块)4×4键盘3、实验内容及原理内容:利用ADSP-BF53x处理器EBIU读取CPLD内部的键盘控制器键值寄存器,并将相应的键值信息打印出来。原理:BF53x通过EBIU接口和CPLD连接,利用CPLD在内部设计出键盘控制器,进行键值的行列扫描,将键值返回给键值寄存器,BF53x通过读取键值寄存器获得键盘的键值,根据键值做相应的处理。下图是矩阵键盘的硬件连接图,PA3~PA0为行线输入端,PA7~PA4为列线输出端,PA0-PA7全部接上拉电阻。PA7~PA4向所有的列线分别且循环输出低电平即0111,1011,1101,1110;读取各行线PA3~PA0的状态,若行线状态全为高电平,则表明无键按下,若行线状态中有低电平,则表明有键按下。即:PA7~PA4四条列扫描线在每次输出低电平期间,同时读取各行线PA3~PA0的状态,确定键值。例如:PA7~PA4输出1011,此时若读取PA3~PA0的状态为1110,则表明按键S2被按下。将键盘8条扫描线与BF53x地址空间的0x203E0000相连接,对应如下表(逻辑1表示高电平,逻辑0表示低电平)。在程序中不断向该地址循环写入0xfe,0xfd,0xfb,0xf7,经短暂延时后,再读取该地址的值。最后根据得到的值,判断被按下的键4、实验步骤(1)在DM-KIT-EXBSSK-BF5xx上插入4×4按键。(2)DM-KIT-EXBSSK-BF5xx采用内部供电模式,直接为DM-KIT-CBBF53x上电。(3)运行VisualDSP++,根据实际情况,将DM-EDU-SSKBF53x板与VisualDSP++连接。(4)加载DM_BF53x_KEYBOARD.dpj工程文件,编译并运行(5)将4×4键盘接入DM-KIT-EXBSSK-BF53x上的键盘接口,编译并运行。观察输出窗口的内容。5、实验报告内容要求(1)记录自己的按键过程和输出窗口对应的输出。(2)解释函数Init_timer0_Interrupts中语句的功能(3)列出按键’0’~’9’、’A’~’F’对应的键值实验四图像采集与处理1、实验目的(1)学习基于ADSP-BF533处理器PPI接口的CMOS图像采集原理(2)理解并掌握ADSP的中断处理机制及DMA配置及使用方法2、实验设备安装了VisualDSP++软件的PC机,VisualDSP++版本为4.5以上ADSP_BF533_EZ_KIT_Lite实验台DM-KIT-EXBSSK-BF533(DM-KIT-EXBSSK模块、DM-KIT-EXBCMOS-130mp模块、DM-KIT-EXBTFT模块)3、实验内容及原理利用ADSP-BF533处理器PPI总线接口单元与DM-KIT-EXBCMOS-130mp连接,通过对CMOS配置实现图像采集和处理功能。系统整体框图如下:系统硬件包括DM-KIT-EXBCMOS-130mp模块,它能驱动三款CMOS摄相头模组,分别为CN00303R0FD030万像素,CN01305Z3HH4130万像素,TGA130V10130万像素,它们选用的图像传感器分别为PO3030K,PO3130D,OV9653。本实验采用OmniVision公司的OV9653图像传感器为核心的型号为TGA130V10的CMOS摄相头模块。OV9653CMOSSensor,输出130万像素,支持SXGA、VGA、QVGA、QQVGA、CIF、QCIF、QQCIF输出模式;数据输出格式:YCbCr4:2:2、YUV4:2:2、8BitBayerdata、5:6:5RGB、5:5:5RGB、CCIR656;寄存器读写采用标准I2C总线结构。4、实验步骤(1)将DM-KIT-EXBCMOS-130mp与DM-KIT-EXBSSK连接,CMOS模组朝向外侧。(2)将EZKIT和计算机连接好。(详细操作请参照EZKIT手册说明)。(3)为DM-KIT-EXBSSK-BF533选择合适的供电方式,为EZKIT上电。(4)运行VisualDSP++,根据实际情况,将EZKIT板与VisualDSP++连接。(5)加载DM_BF53x_CMOS_OV9653.dpj工程文件,编译并运行,等待中断。(6)产生中断后会打印如图2信息,说明捕捉图象成功。待打印出如图2的信息后,选择菜单栏中的Debug菜单下的Halt,将程序停下。(7)运行菜单项View-DebugWindows-Imageviewer,弹出如下会话框,如下图设置,设置结束后点击OK,在ImageViewer窗口观察拍摄到的图像。(8)(可选步骤)要采集1280*1024大小的图片,把dm_bf5xx.h头文件中的下面这段注释掉的代码还原,定义CAPTURE_MODE_SXGA。即将//#defineCAPTURE_MODE_SXGA//定义摄像头采集图片的大小为1280*1024更改
本文标题:DSP技术及应用课程实验指导手册
链接地址:https://www.777doc.com/doc-2871090 .html