您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > DSP实验指导书----实验报告部分
实验一数据寻址一、实验目的1.熟悉DSP集成开发环境CCS5000的使用方法(教材第九章9.3节~9.6节)。2.熟悉TMS320C54xDSP的七种数据寻址方式。二、实验条件本实验为上机实验,只需要PC机及集成开发环境CCS5000仿真器即可。三、实验内容编辑数据寻址实验所需的三个文件。按实验步骤完成实验,并将实验结果填写在有关指令的右侧。七种数据寻址方式的参考代码;********************************;实验1数据寻址方式;********************************.titleaddressing.asm.mmregsSTACK.usect.STACK,10hddate.sect.ddate.word22h,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,SWWSRSTM#STACK+10h,SPSSBXSXMSSBXFRCT;********************************;ImmediateAddressing;********************************LD#100,A;A=100(64H)LD#10h,4,B;B=100HLD#-1,A;A=FFFFFFFFH1LD#4000h,8,B;B=400000H;********************************;AbsoluteAddressing;********************************SAMPLE.set0088h.bsssa,1LD#4AB8h,ASTLA,*(SAMPLE);SAMPLE中内容为:4AB8HSTLA,*(sa);sa中内容为:4AB8HSTM#x,AR2;AR2=60HRPT#4MVPDtable,*AR2+;从x开始的5个数据为:1,2,3,4,5;AR2=65HSTM#y,AR2;AR2=6AHRPT#4MVKDddate,*AR2+;从y开始的5个数据为:22H,33H,44H,55H,66H;AR2=6FH;********************************;AccumulatorAddressing;********************************LD#table,A;A=FFFFFFE06FHSTM#y,AR2;AR2=6AHRPT#4READA*AR2+;从y开始的5个数据为1,2,3,4,5;AR2=6FH;********************************;DirectAddressing;********************************ST#0001h,*(x);(0060H)=0001HST#400h,*(x+1);(0061)=0400HST#1000h,*(x+127);(00DF)=1000HST#500h,*(x+129);(00E1)=500HLD#x,DP;DP=0000HLD@x,A;A=0001HADD@(x+129),A;A=0401HLD@x,A;A=0001HLD#(x+129),DP;DP=0001HADD@(x+129),A;A=0501H;****************************************;IndirectAddressing;****************************************2ST#1000h,*(0060h);(0060h)=1000HST#2000h,*(0061h);(0061h)=2000HST#3000h,*(0062h);(0062h)=3000HST#4000h,*(0063h);(0063h)=4000HLD#1000h,A;A=1000HSTM#0060h,AR1;AR1=0060HLD*AR1+,A;A=1000H;AR1=0061HSTM#0063h,AR1;AR1=0063HLD*AR1-,A;A=4000H;AR1=0062HSTM#2,AR0;AR0=0002HSTM#0062h,AR1;AR1=0062HLD*AR1-0,A;A=3000H;AR1=0060HLD*AR1,B;B=1000H;****************************************;Memory-MappedRegisterAddressing;****************************************STM#1234h,AR1;AR1=1234HSTM#5678h,AR2;AR2=5678HSTM#2,SWWSR;SWWSR=0002HLDMAR1,A;A=1234HMVMMAR2,AR3;AR3=5678HSTLMA,AR4;AR4=1234H;********************************;StackAddressing;********************************ST#1234h,*(x);(0060h)=1234HST#5678h,*(x+1);(0061h)=5678HST#9abch,*(x+2);(0062h)=9ABCHSTM#x,AR1;AR1=0060HSTM#x+3,AR2;AR2=0063HRPT#2PSHD*AR1+;(008FH)=1234H,(008EH)=5678H,(008DH)=9ABCHRPT#2POPD*AR2+;(x+3)=9ABCH(x+4)=5678H(x+5)=1234HPSHD*(x+5);(008FH)=1234HPOPD*(x+6);(x+6)=1234HhereBhere.end3.end链接命令文件链接命令文件说明DSP系统的存储器配置及各段在存储器中的定位情况。必须根据实验箱上DSP的型号(C5416)正确设置。C5416的片内DARAM存储器共64K字,可配置成数据或程序存储器。片内SARAM存储器共64K字,分为两段,只能配置成程序存储器。另外,C5416片外还扩展了128KRAM作为片外数据存储器,可以通过CPLD控制页选。改变CPLD的RamState寄存器(这个寄存器在I/O空间的0001)的值,就可以分别选择外部RAM的第一个32K、第二个32K、第三个32K或者第四个32K作为数据空间的后32K。数据空间共64K,其中前32K是DSP片内的DARAM的前32K;而后32K是可变动的,可以在片内DARAM的后32K和片外RAM的四个32K之间通过程序选择。数据存储器地址可从0000h到ffffh,可用程序存储器为片内64KDARAM及片内128KSARAM,DARAM地址从0000h到ffffh,SARAM地址从28000h到3ffffh,38000h到4ffffh。注:关于5416DSP程序空间的配置在5416的数据手册或者电子工业出版社出版、张雄伟主编的《DSP芯片的原理与开发应用》一书的P69均可查到。参考链接命令文件代码如下:MEMORY{PAGE0:EPROM:org=0E000h,len=100hVECS:org=0FF80h,len=80hPAGE1:SPRAM:org=0060h,len=20hDARAM:org=0080h,len=100h}SECTIONS{.text:EPROMPAGE0.vectors:VECSPAGE0.bss:SPRAMPAGE1.data:EPROMPAGE0.STACK:DARAMPAGE1.ddate:DARAMPAGE1}3.头文件头文件主要内容是系统的复位及其它中断的向量表。参考头文件如下:.ref_c_int00.sect.vectorsB_c_int00.end四、实验步骤(1)开机:打开计算机电源,进入Win2000系统,双击桌面上的CCS2图标,选择4open——c54xsimulator,进入DSP软件集成开发环境,或者选择open——c5416XDS进入DSP硬件集成开发环境(使用实验箱做实验,先连接好实验箱及仿真器等方可开机)。(2)编辑文件:选择File-New—SourceFile菜单(或使用其它文本编辑器)编辑好主程序(*.asm)、头文件(*.asm)及链接命令文件(*.cmd),并保存在D盘DSPLAB\LAB1文件夹中。(3)创建工程项目:选择Project-New,出现—对话框,在project栏(第一行)填写项目名称,并选定项目的位置(D:\DSPLAB\LAB1),然后单击“完成”按钮,这样就新建了一个工程项目,该项目用来管理各种文件,便于编译、调试。注意:文件夹、文件名中不能含有汉字,且文件名第一个字母不能是数字。(4)添加文件:将编辑好的三个文件添加到刚建好的工程项目中,选择Project-AddFilestoProject,出现一个对话框,选择文件夹(D:\DSPLAB\LAB1)并选中主程序、头文件、cmd文件,单击“打开”按钮就将这三个文件添加到该工程中了。注:此步骤可一次加入三个文件,也可重复三次,每次加入一个文件。(5)编译汇编程序:选择Project—CompileFile,分别编译主程序及头文件,修改程序中的错误,再编译,直到无错误出现。编译后的文件为OBJ文件。(6)链接:选择Project—Build或RebuildAll,链接各OBJ文件,若有错误出现应修改错误(错误应在cmd文件中),再链接,直到无错误出现。链接生成可执行的out文件。(7)下载out文件:选择File—LoadProgram,在debuge文件夹中选中out文件(文件名与工程项目同名),单击“打开”按钮,这样out文件就下载到DSP中了。(8)调试:选择debuge—StepInto单步执行代码或者选择debuge—Run连续运行代码(debuge—Halt停止运行)。单步运行或运行结束后选择View-Memory和View-Registers-CPURegisters/PeripheralRegs查看存储器和寄存器中的数据。如果最后的结果有错误,则应查找原因修改程序并重复步骤5~步骤8,直到结果正确为止。五.思考题1.头文件与主程序为什么要分为两个文件?能合为一个文件吗?2.链接命令文件包含哪两项?各有什么作用?请试着修改链接命令文件,并编译、运行,看段、变量等的位置是否改变。3.在单步执行程序中,为什么有些指令执行了,但是结果却没有出来,要等下面一条或几条指令执行了才能得到正确结果?六.实验报告要求1.简述实验步骤,填写程序运行中的结果。2.简述七种数据寻址方式。3.简要回答思考题。5实验三FIR滤波器设计一、实验目的1.掌握FIR滤波器DSP实现的编程方法。2.测试FIR滤波器的单位冲击响应,检查FIR滤波器的频率特性。二、实验条件1.PC机及集成开发环境CCS5000仿真器(软件、硬件仿真器均可)。2.线性相位带通FIR滤波器的参数如下:通带:0.2~0.8,带内波动0.5db过渡带:0.2~0.275,0.725~0.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,0x0
本文标题:DSP实验指导书----实验报告部分
链接地址:https://www.777doc.com/doc-2871073 .html