云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > DSP实验报告

DSP实验报告

  • 62 次阅读
  • 3 次下载
  • 2025/12/2 19:49:15

文件名,比如可以输入UseCMD.map (3)单击“确定”,完成设置。

(4)选择菜单“Project”→“Rebuild All”,重新编译工程,生成新设置的map 文件。

8.对照观察map 文件和cmd 文件的内容

(1)选择菜单“File” →“Open?”,将找到F:\\ UseCMD 目录,将文件类型改为“Memory Map Files”,选择刚刚生成的UseCMD.map 文件、打开。

(2)展开工程管理窗中的UseCMD.pjt,双击其中的UseCMD.cmd 文件。 (3)程序的入口地址:cmd 文件的SECTION 中指定.text 段放到程序区(PAGE 0)的PRAM

中,在MEMORY 中指定PRAM 从内存地址100h 开始,长度为1f00h;再看map 文件中“ENTRY POINT SYMBOL”中说明了“start”标号的地址为十六进制0000100,两者相符。

(4)内存的占用情况:通过观察map 文件中的“MEMORY CONFIGURATION”段可以了解内存的使用情况,可以看到,程序所占用的长度为十六进制b,即11 个字长,而数据区因开设了3 个变量,所以占用了3 个字的地址空间

9.改变内存分配

修改cmd 文件中的 PRAM : o=100h,l=1f00h 改为 PRAM : o=200h,l=1e00h 重新编译工程,观察map 文件中有何变化。

四.实验条件

PC一台安装Code Composer Studio 3.0软件。

五、实验心得

进一步了解了CCS软件的应用,对工程文件的应用更加熟悉,能简单的验证程序的正确性。

实验三:定点数除法实验

一.实验目的

1.熟悉’C54x 指令系统,掌握常用汇编指令,学习设计程序和算法的技巧。 2.学习用减法和移位指令实现除法运算。

二.实验原理

由内置的硬件模块支持,数字信号处理器可以高速的完成加法和乘法运算。但

TMS320 系列DSP 不提供除法指令,为实现除法运算,需要编写除法子程序来实现。二进制除法是乘法的逆运算。乘法包括一系列的移位和加法,而除法可分解为一系列的减法和移位。本实验要求编写一个16 位的定点除法子程序。 1.除法运算的过程

设累加器为8 位,且除法运算为10 除以3,除的过程包括与除数有关的除数逐步移位,然后进行减法运算,若所得商为正,则在商中置1,否则该位商为0。 例如:4 位除法示例:

(1)数的最低有效位对齐被除数的最高有效位 00001010 - 00011000 11110010

(2)由于减法结果为负,丢弃减法结果,将被除数左移一位再减 00010100 - 00011000 11111000

(3)结果仍为负,丢弃减法结果,将被除数左移一位再减 00101000 - 00011000 00010000

(4)结果为正,将减法结果左移一位后把商置1,做最后一次减 00100001 - 00011000 00001001

(5)结果为正,将减法结果左移一位加1 得最后结果,高4 位是余数,低4 位商:00010011

2.除法运算的实现

为了尽量提高除法运算的效率,’C54x 系列提供了条件减指令SUBC 来完成除法操作。SUBC 指令的功能如下:

若(ACC)≥0 且(数据存储器地址)≥0 PC+1 然后(ACC)-[(数据存储器地址)×215] →ALU 输出。

若ALU 输出≥0 则:(ALU 输出)×2+1 → ACC 否则:(ACC×2) → ACC实际上,SUBC 指令完成的是除法中的减除数求商的过程,即余数末位补0,减去除数,若结果为正,该位商为1,否则商为0。

SUBC 指令实现条件减,可以用于如下除法:把16位的正被除数放在累加器的低16位,累加器的高16位清0,16位的正除数放在数据存储单元中。执行SUBC指令16次,最后一次SUBC 指令完成后,累加器的低16 位是除法的商,高16位是余数。若累加器和/或数据存储单元的内容为负,则不能用SUBC 指令实现除法。为了完成多次的SUBC 指令,还需要用到循环指令RPT,它可以使RPT 后的一条指令重复1—256 次。

SUBC 指令仅能对正数除法进行运算,因此,要扩展到所有数值的除法,还需要:在程序开头对被除数和除数做乘法,并保存到临时变量,除数和被除数分别取绝对值,在除法运算完成后,根据临时变量的值修改商的符号。 3.除法运算程序流程:

三.实验内容

1.编写程序实现16348÷512; 2. 编写程序实现0.4÷(-0.8)

四.实验条件

PC一台:安装Code Composer Studio 2.0软件。

五.实验步骤

1.用Simulator 方式启动Code Composer。

2. 执行Project→New 建立新的项目,输入div 作为项目的名称,将程序定位在F:\\Division 目录。

3.执行File→New→Source File 建立新的程序文件,为创建新的程序文件命名为div.asm 并保存;执行Project→Add Files to Project,把div.asm 加入项目中。 4.执行File→New→Source File 建立新的文件并保存为div.cmd;执行Project→Add Files to Project,把div.cmd 加入项目中。 5.将实现除法的程序编辑到div.asm中并保存。 6.编辑div.cmd, 加入如下内容 MEMORY {

PAGE 0: VECT : o=0ff80h,l=0040h EX_ROM : o = 1000h , l = 1000h PAGE 1: B2 : o=0060h,l=0020h B1 : o=0300h,l=0100h }

SECTIONS {

.text : {}> EX_ROM PAGE 0 .data : {}> EX_ROM PAGE 0 .bss : {}> B2 PAGE 1

.MYSTACK : {}> B1 PAGE 1 }

7.执行Project?Rebuild All 编译链接;编译错误如下: warning:entry point symbol _c_int0 undefined

出错原因:缺省时Code Composer Studio 设置项目程序为C 语言编译,因此当我们编译汇编程序时,要对项目作适当配置。

8.执行Project→Build Options? 打开编译选项;在linker 属性页上单击,把Autoinit Model 栏选择为No Autoinitialization ;按“确定”保存对配置的修改。

(1)执行File?Load Program 装载程序,装载完程序后,Code Composer Studio 把指针指向程序区0000 处。为了执行我们的程序代码,需要修改DSP 的PC 值;执行View?CPU Registers?CPU Registers 打开寄存器窗口;双击窗口中的PC 标号,CC 弹出修改对话框供修改寄存器;在对话框中输入”start“, 程序将处于我们的程序入口点上。

(2)在观察窗口中添加相应的变量,查看结果。

六.实验心得

能使用CCS软件进行实验,完成有意思的实验案例,但对整个软件的使用仍然不是很熟悉。

搜索更多关于: DSP实验报告 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

文件名,比如可以输入UseCMD.map (3)单击“确定”,完成设置。 (4)选择菜单“Project”→“Rebuild All”,重新编译工程,生成新设置的map 文件。 8.对照观察map 文件和cmd 文件的内容 (1)选择菜单“File” →“Open?”,将找到F:\\ UseCMD 目录,将文件类型改为“Memory Map Files”,选择刚刚生成的UseCMD.map 文件、打开。 (2)展开工程管理窗中的UseCMD.pjt,双击其中的UseCMD.cmd 文件。 (3)程序的入口地址:cmd 文件的SECTION 中指定.text 段放到程序区(PAGE 0)的PRAM 中,在MEMORY 中指定PRAM 从内存地址100h 开始,长度为1f00h;再看map 文件中“ENTRY POIN

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com