欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    DSP实验指导书----实验报告部分.doc

    • 资源ID:78789937       资源大小:174.50KB        全文页数:13页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    DSP实验指导书----实验报告部分.doc

    实验一 数据寻址一、实验目的1熟悉DSP集成开发环境CCS 5000的使用方法(教材第九章9.3节9.6节)。2熟悉TMS320C54x DSP的七种数据寻址方式。二、实验条件本实验为上机实验,只需要PC机及集成开发环境CCS5000仿真器即可。三、实验内容编辑数据寻址实验所需的三个文件。按实验步骤完成实验,并将实验结果填写在有关指令的右侧。七种数据寻址方式的参考代码;*; 实验1 数据寻址方式;*.title "addressing.asm".mmregsSTACK .usect".STACK",10hddate .sect".ddate" .word 22h,33h,44h,55h,66h,77h,88h,99h .bssx,10 .bssy,10 .datatable: .word1,2,3,4,5,6,7,8.def_c_int00;start.text_c_int00: STM #0,SWWSR STM#STACK+10h,SP SSBX SXM SSBX FRCT;*; Immediate Addressing;* LD #100,A ;A=100(64H)LD#10h,4,B;B=100HLD#-1,A;A=FFFFFFFFHLD#4000h,8,B;B=H;*; Absolute Addressing;* SAMPLE .set 0088h .bss sa,1LD #4AB8h,A STL A,*(SAMPLE);SAMPLE中内容为:4AB8H STL A,*(sa);sa中内容为:4AB8HSTM #x,AR2 ;AR2=60H RPT #4 MVPDtable,*AR2+ ;从x开始的5个数据为:1,2,3,4,5 ;AR2=65H STM #y,AR2 ;AR2=6AH RPT #4 MVKD ddate,*AR2+ ;从y开始的5个数据为:22H,33H,44H,55H,66H ;AR2=6FH;*; Accumulator Addressing;*LD#table,A ;A=FFFFFFE06FHSTM#y,AR2 ;AR2=6AHRPT#4READA*AR2+;从y开始的5个数据为 1,2,3,4,5 ;AR2=6FH;*; Direct Addressing;*ST#0001h,*(x) ;(0060H)=0001HST#400h,*(x+1);(0061)=0400HST#1000h,*(x+127);(00DF)=1000HST#500h,*(x+129);(00E1)=500HLD#x,DP ;DP=0000HLDx,A ;A=0001HADD(x+129),A;A=0401HLDx,A ;A=0001H LD#(x+129),DP;DP=0001HADD(x+129),A;A=0501H;*; Indirect Addressing;* ST#1000h,*(0060h);(0060h)=1000HST#2000h,*(0061h);(0061h)=2000HST#3000h,*(0062h);(0062h)=3000HST#4000h,*(0063h);(0063h)=4000HLD#1000h,A;A=1000HSTM#0060h,AR1 ;AR1=0060H LD *AR1+,A;A=1000H;AR1=0061H STM#0063h,AR1 ;AR1=0063H LD *AR1-,A;A=4000H;AR1=0062H STM #2,AR0 ;AR0=0002H STM#0062h,AR1 ;AR1=0062H LD *AR1-0,A;A=3000H;AR1=0060HLD*AR1,B;B=1000H;*; Memory-Mapped Register Addressing;*STM #1234h,AR1;AR1=1234HSTM#5678h,AR2;AR2=5678H STM#2,SWWSR;SWWSR=0002HLDMAR1,A;A=1234HMVMMAR2,AR3;AR3=5678H STLMA,AR4;AR4=1234H;*; Stack Addressing;*ST#1234h,*(x) ;(0060h)=1234HST#5678h,*(x+1);(0061h)=5678HST#9abch,*(x+2);(0062h)=9ABCHSTM#x,AR1 ;AR1=0060HSTM#x+3,AR2 ;AR2=0063HRPT#2 PSHD*AR1+ ;(008FH)=1234H,(008EH)=5678H,(008DH) =9ABCH RPT #2POPD*AR2+;(x+3)=9ABCH (x+4)=5678H (x+5)=1234HPSHD*(x+5) ;(008FH)=1234HPOPD *(x+6) ;(x+6)=1234Hhere B here .end .end链接命令文件链接命令文件说明DSP系统的存储器配置及各段在存储器中的定位情况。必须根据实验箱上DSP的型号(C5416)正确设置。C5416的片内DARAM存储器共64K字,可配置成数据或程序存储器。片内SARAM存储器共64K字,分为两段,只能配置成程序存储器。另外,C5416片外还扩展了128K RAM作为片外数据存储器,可以通过CPLD控制页选。改变CPLD的RamState寄存器(这个寄存器在I/O空间的0001)的值,就可以分别选择外部RAM的第一个32K、第二个32K、第三个32K或者第四个32K作为数据空间的后32K。数据空间共64K,其中前32K是DSP片内的DARAM的前32K;而后32K是可变动的,可以在片内DARAM的后32K和片外RAM的四个32K之间通过程序选择。数据存储器地址可从0000h到ffffh,可用程序存储器为片内64K DARAM及片内128K SARAM,DARAM地址从0000h到ffffh,SARAM地址从28000h到3ffffh,38000h到4ffffh。注:关于5416DSP程序空间的配置在5416的数据手册或者电子工业出版社出版、张雄伟主编的DSP芯片的原理与开发应用一书的P69均可查到。参考链接命令文件代码如下:MEMORY PAGE 0: EPROM : org=0E000h, len=100h VECS : org=0FF80h, len=80h PAGE 1: SPRAM : org=0060h, len=20h DARAM : org=0080h, len=100hSECTIONS .text : >EPROM PAGE 0 .vectors :>VECS PAGE 0 .bss : >SPRAM PAGE 1 .data : >EPROM PAGE 0 .STACK : >DARAM PAGE 1 .ddate : >DARAM PAGE 13头文件头文件主要内容是系统的复位及其它中断的向量表。参考头文件如下: .ref _c_int00 .sect ".vectors" B _c_int00 .end 四、实验步骤(1) 开机:打开计算机电源,进入Win2000系统,双击桌面上的CCS2图标,选择openc54x simulator ,进入DSP软件集成开发环境,或者选择openc5416 XDS进入DSP硬件集成开发环境(使用实验箱做实验,先连接好实验箱及仿真器等方可开机)。(2) 编辑文件:选择FileNewSource File菜单(或使用其它文本编辑器)编辑好主程序(*.asm)、头文件(*.asm)及链接命令文件(*.cmd),并保存在D盘DSPLABLAB1文件夹中。(3) 创建工程项目:选择ProjectNew,出现对话框,在project栏(第一行)填写项目名称,并选定项目的位置(D:DSPLABLAB1),然后单击“完成”按钮,这样就新建了一个工程项目,该项目用来管理各种文件,便于编译、调试。注意:文件夹、文件名中不能含有汉字,且文件名第一个字母不能是数字。(4) 添加文件:将编辑好的三个文件添加到刚建好的工程项目中,选择ProjectAdd Files to Project,出现一个对话框,选择文件夹(D:DSPLABLAB1)并选中主程序、头文件、cmd文件,单击“打开”按钮就将这三个文件添加到该工程中了。注:此步骤可一次加入三个文件,也可重复三次,每次加入一个文件。(5) 编译汇编程序:选择ProjectCompile File,分别编译主程序及头文件,修改程序中的错误,再编译,直到无错误出现。编译后的文件为OBJ文件。(6) 链接:选择ProjectBuild或Rebuild All,链接各OBJ文件,若有错误出现应修改错误(错误应在cmd文件中),再链接,直到无错误出现。链接生成可执行的out文件。(7) 下载out文件:选择FileLoad Program,在debuge文件夹中选中out文件(文件名与工程项目同名),单击“打开”按钮,这样out文件就下载到DSP中了。(8) 调试:选择debugeStep Into 单步执行代码或者选择debugeRun连续运行代码(debugeHalt停止运行)。单步运行或运行结束后选择ViewMemory和ViewRegistersCPU Registers/Peripheral Regs查看存储器和寄存器中的数据。如果最后的结果有错误,则应查找原因修改程序并重复步骤5 步骤8,直到结果正确为止。五思考题1头文件与主程序为什么要分为两个文件?能合为一个文件吗?2链接命令文件包含哪两项?各有什么作用?请试着修改链接命令文件,并编译、运行,看段、变量等的位置是否改变。3在单步执行程序中,为什么有些指令执行了,但是结果却没有出来,要等下面一条或几条指令执行了才能得到正确结果?六实验报告要求1简述实验步骤,填写程序运行中的结果。2简述七种数据寻址方式。3简要回答思考题。实验三 FIR滤波器设计一、实验目的1掌握FIR滤波器DSP实现的编程方法。2测试FIR滤波器的单位冲击响应,检查FIR滤波器的频率特性。二、实验条件1PC机及集成开发环境CCS5000仿真器(软件、硬件仿真器均可)。2线性相位带通FIR滤波器的参数如下:通带:0.20.8,带内波动<0.5db过渡带:0.20.275,0.7250.8,带内衰减>68db滤波器级数:N=80滤波器系数(偶对称,已转换成定点数,前40个系数h(0)h(39):0xFFDC,0x001F,0x0051,0xFFE9,0xFFE6,0xFFBA,0xFFB4,0x004B,0xFFF9,0x0069,0x00A2,0xFF6F,0xFFFE,0xFF70,0xFEF4,0x00CB,0x000B,0x00E6,0x0187,0xFEE5,0x000B,0xFE7F,0xFDBF,0x0192,0xFFB5,0x026A,0x0368,0xFDC2,0x00C0,0xFC0A,0xFAA3,0x0347,0xFE3D,0x0747,0x09BB,0xFA3D,0x052B,0xEB59,0xDC2A,0x2D57 3线性相位低通FIR滤波器的参数如下:通带:00.35,阻带:04滤波器级数:N=40滤波器系数(偶对称,只列出前20个h(0)h(19):-7*32768/10000, 3*32768/10000, 14*32768/10000, 10*32768/10000, -16*32768/10000,-38*32768/10000, -8*32768/10000, 64*32768/10000, 81*32768/10000, -30*32768/10000,-169*32768/10000,-118*32768/10000, 162*32768/10000, 353*32768/10000, 83*32768/10000,-515*32768/10000,-689*32768/10000, 247*32768/10000, 2051*32768/10000,3523*32768/10000注:以上两个滤波器至少做一个,还可以用MATLAB中的数字滤波器设计工具得到其它滤波器的系数表。 三、实验内容除编写头文件、cmd文件外,还要采用混合编程技术编写C语言主程序及FIR滤波器汇编子程序,在C程序中调用汇编子程序(函数),函数有三个参数,即输入、输出序列的首地址及长度,函数返回值为void。1 编写滤波器汇编程序采用循环缓冲区及FIRS指令编写系数对称的FIR滤波器汇编程序,入口参数为输入序列首地址及长度、滤波器输出序列的首地址。2 滤波器单位脉冲响应测试在C程序中用定义一个长度为240的int型数组,其第一个单元为32768,其余全为0。用该数组作为滤波器的单位脉冲输入,测试滤波器的单位脉冲响应特性。3 检查滤波器的频率特性在C程序中编程产生不同频率的序列sin(wn),w=0.1,0.2,0.9,调用FIR滤波子程序(函数),对之进行滤波处理,对比滤波器的输入、输出序列的幅度比,检查滤波器的频率特性。4编写头文件和cmd文件。5学会使用CCS的图形观察窗查看输入、输出序列的波形,具体使用方法见教材第381页图形属性对话框的设置,主要是显示类型(single time)、起始地址(即数组首地址或变量名)、数据类型(16bit signed int)、缓冲区大小(240)、显示数据大小(240)这几栏要设置。四、实验步骤 CCS的使用方法见教材第九章(9.3节到9.6节)或有关参考书。(1) 开机:打开计算机电源,进入Win2000系统,双击桌面上的CCS2图标,选择openc54x simulator ,进入DSP软件集成开发环境,或者选择openc5416 XDS进入DSP硬件集成开发环境(使用实验箱做实验,先连接好实验箱及仿真器等方可开机)。(2) 编辑文件:选择FileNewSource File菜单(或其它编辑器)编辑好C程序(*.c)、滤波器子程序(*.asm)、头文件(*.asm)及链接命令文件(*.cmd),并保存在D盘DSPLABLAB3文件夹中。(3) 创建工程项目:选择ProjectNew,出现对话框,在project栏(第一行)填写项目名称(FIRxxx),并选定项目的位置(D:DSPLABLAB3),然后单击“完成”按钮,这样就新建了一个工程项目。注意:文件夹、文件名中不能含有汉字,且文件名第一个字母不能是数字。(4)将编辑好的四个文件添加到刚建好的工程项目中:选择ProjectAdd Files to Project,出现一个对话框,选择文件夹(D:DSPLABLAB3)并选中各个文件,单击“打开”按钮就将这四个文件就添加到该工程中了。(5) 编译C及汇编程序:选择ProjectCompile File,分别编译C程序、滤波器汇编子程序及头文件,修改程序中的错误,再编译,直到无错误出现。编译后的文件为obj文件。(6) 链接:选择ProjectBuild或Rebuild All,链接各obj文件,若有错误出现应修改错误(错误应在cmd文件中),再链接,直到无错误出现。链接生成可执行的out文件。(7) 下载out文件:选择FileLoad Program,在debuge文件夹中选中out文件(文件名与工程项目同名),单击“打开”按钮,这样out文件就下载到DSP中了。(8) 调试:选择debugeStep Into 单步执行代码或者选择debugeRun连续运行代码(debugeHalt停止运行)。单步运行或运行结束后选择ViewGraphTime/Frequency和ViewRegistersCPU Registers/Peripheral Regs查看序列的波形和寄存器中的数据。由于算法循环次数较多,单步运行耗时太长,因此可在C程序或汇编程序中适当语句(指令)上设置断点(光标移到某行,鼠标点击工具栏一“手”形按钮),然后连续运行(run),这样程序运行到断点时暂停,此时可查看中间的一些结果。再次运行(run),将从断点继续运行。可用ViewGraphTime/Frequency观察滤波前后序列的时域波形(single time)及频域幅度特性(FFT magnitude)。通过时域波形或幅度特性分析系统的单位脉冲响应及频率特性。如果最后的结果有错误,则应查找原因修改程序并重复步骤5步骤8,直到结果正确为止。五、思考题1比较滤波器的系数与滤波器的单位脉冲响应,看二者是否相同?为什么?2混合编程时,C与汇编之间如何传递参数的?哪几个寄存器要进行现场保护?3循环缓冲区的起始地址与其长度有何关系?在链接命令文件中如何指明?4本实验中是对一个序列进行连续的滤波,即调用一次滤波函数就完成了N个数据的滤波,而有时需要每采集一个数据x(n)就调用一次滤波函数,得到一个输出数据y(n),此时滤波器汇编程序如何修改?六、实验报告要求1简述FIR滤波器的特点,写出系数对称滤波器的差分方程。2简述实验步骤。1 编写FIR滤波器的汇编程序。4记录输入、输出序列的时域波形及幅度特性,分析实验结果。5简要回答思考题。实验五 语音信号滤波一、实验目的1、了解音频编解码器TLC320AIC23的接口和使用方法。2、了解DSP的多通道缓冲串口(MCBSP)通信方法。3、了解一个完整的语音输入、输出系统的设计。4、利用C语音及DSP汇编语音综合实现语音信号的采集、滤波及回放。二、实验设备计算机、DSP硬件仿真器、DSP图像处理实验箱、麦克风等。三、实验原理1. 实验箱音频输入输出通道简介立体声音频编解码芯片TLV320AIC23是TI生产的一种模拟接口电路,用于音频信号的输入/输出。音频采样频率为8kHz 96kHz,可用16至32位量化,码率128Kbps 3072Kbps,输入包括麦克风输入和线性输入两个通道,输出一个耳机输出通道,片内集成了立体声耳机功率放大器。TLV320AIC23与TMS320VC5416的接口有命令接口和数据接口,如图5.1所示。命令接口是IIC总线,DSP的第二个MCBSP作为GPIO模拟IIC总线,对TLV320AIC23进行初始化。数据接口是多通道缓冲串口(MCBSP),DSP的MCBSP0与TLV320AIC23与进行数据传输。图5.1 TLV320AIC23与TMS320VC5416的接口2. 音频通道的命令接口TLV320AIC23命令接口主要功能是初始化TLV320AIC23内部控制寄存器。本系统使用DSP的第二个MCBSP作为GPIO模拟IIC总线对TLV320AIC23内部的控制寄存器进行操作。IIC总线上的数据格式为:8bit的设备地址,本系统中TLV320AIC23的设备地址固定为0x34;7bit的片内寄存器地址,TLV320AIC23片内有15个控制寄存器,其功能见下表;9bit的数据。 表5.1 AIC23片内部分控制寄存器序号地址寄存器0左声道线性输入音量控制寄存器1右声道线性输入音量控制寄存器2左声道耳机输出音量控制寄存器3右声道耳机输出音量控制寄存器4模拟音频通道控制寄存器5数字音频通道控制寄存器6电源管理控制寄存器7数字音频格式控制寄存器8音频采样率控制寄存器9数字音频接口使能寄存器10复位寄存器3. 音频通道的数据接口TLV320AIC23数据接口主要功能是DSP接收、输出由TLV320AIC23模/数、数/模转换的数字音频数据。在本系统中,在MCBSP总线上TLV320AIC23工作在主模式,DSP工作在从模式。MCBSP每一帧两个数据,每个数据16位,分别为左声道数据和右声道数据。TLV320AIC23和DSP之间可以通过MCBSP进行无缝连接。图5.1中,DIN为AIC23数字音频输入端,DOUT为AIC23数字音频输出端,LRCIN、LRCOUT分别为输入、输出的帧同步信号,BCLK是同步时钟。4. 语音信号的采集、滤波及回放音频实时回放(滤波)程序流程图见图2。初始化TLV320AIC23(1)初始化TLV320AIC23首先要初始化TLV320AIC23,函数为IIC_Write_B(),初始化DSP的MCBSP0三个参数,第一个参数为设备地址,第二个参数为片内寄存器地址,第三个参数为数据。我们需要对TLV320AIC23内部的左声道线性输入音量、采样20个输入音频数据,同时输出上次循环中已滤波的数据右声道线性输入音量、模拟音频通道、数字音频通道、电源管理、数字音频格式、音频采样率、数字音频接口,使能控制寄存器进对本次循环中采样的20个数据滤波,得到新的滤波后的数据行写操作,只要在此函数的第二个参数带入不同的寄存器地址就可以了;配置各个寄存器的数据,由第三个参数带入,详细请参阅TLV320AIC23的数据手册。 图5.2 音频采集、滤波回放流程图(2)初始化DSP的多通道缓冲串口在mcbsp54.h头文件中,定义了许多实用的宏函数,我们可以直接调用这些宏函数对MCBSP进行配置。需要配置DSP内部的相关寄存器:SPCR1,RCR1,RCR2,XCR1,XCR2,PCR。MCBSP总线上的数据格式为:单数据相,数据长度为16位,每相2个数据,具体配置方法请参阅TMS320C54x DSP Reference Set Vol 5:Enhanced Peripherals。(3)采样MIC输入的音频数据本系统MCBSP总线上,TLV320AIC23为主设备,DSP为从设备,也就是音频的采样频率完全是由TLV320AIC23控制的。DSP不需要控制采样率,可以通过中断或者查询的方式从MCBSP上取得采样数据。例程中,采用查询方式,mcbsp54.h中定义了MCBSP_RRDY宏函数,可以判断MCBSP中是否接收到完整的一帧数据。如果接收完成,我们可以调用宏函数DRR1_ADDR,此函数的返回值即为采样数据。(4)输出音频数据到耳机调用宏函数DXR2_ADDR和DXR1_ADDR,即可从耳机输出音频数据。注意必须先调用DXR2_ADDR,再调用DXR1_ADDR。这两个函数分别输出左声道和右声道音频数据。(5)语音信号滤波在firfun2.asm定义了一个FIR低通滤波器。调用函数firfunc2()需要三个参数,第一个原始序列的首地址,第二个为滤波后序列的首地址,第三个序列的长度。四、实验步骤1 在断电状态下,用USB线将实验箱的USB口与PC机的USB口相连,将仿真器与DSP 的JTAG口相连。打开PC机电源及实验箱的12伏电源。2打开CCS,选择openc5416 XDS进入DSP硬件集成开发环境(使用实验箱做实验,先连接好实验箱及仿真器等方可开机)。进入CCS集成硬件开发环境(应能找到实验箱,否则重新开始)。3打开项目codec.pjt(D:DSPLABLAB5),编译、链接后下载out文件到dsp,运行代码,接上耳麦,应能听到说话声。4将lab3文件夹中的firfun.asm或firfun2.asm文件添加到本工程中,修改codec.c文件及链接命令文件,实现语音信号的采集、滤波及回放。比较滤波前后声音频率特性。5. 采用滤波器级联的方法对语音信号进行多级滤波,滤波后的信号送AIC23再输出,再比较输入与输出信号的差别。五、实验报告要求1、 简述语音处理的实验原理。2、 如何在采集语音的同时输出语音数据?3、 模拟滤波器的截止频率与数字滤波器的截止频率之间有何关系?如何编程实现:降低模拟低通滤波器的截止频率?

    注意事项

    本文(DSP实验指导书----实验报告部分.doc)为本站会员(飞****2)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开