DSP
实验报告
实验一
1、
实验目的
本次实验主要熟悉CCS开发环境搭建及其配置并对基本的汇编命令进行学习验证。
2、 实验过程
按照老师给的例子运行程序,并观察程序如何运行,运行过程中各个值的变化情况。
程序:RSBX CPL NOP NOP LD #1234h,A ;立即数寻址 ST #5678h,*(DDAT1)
程序:LD #PDAT1,A READA DAT2
;累加器寻址
程序:ST #3210h,DAT3 ;直接寻址(DP指针)
程序:SSBX CPL NOP NOP NOP ST #9876h,DAT3
;直接寻址(SP指针)MM
程序:STM #DDAT3,AR0 ST #9876h,*AR0
;间接寻址
实验二汇编的数据访问
一、 实验目的
1. 了解DSP结构 2. 熟悉CCS开发环境
3. 熟悉TDB-C54X plus DSP 试验箱的硬件环境 4. 掌握C54X plus 存储区数据访问方法
二、 实验内容
1. C54X plus 汇编初始化程序
2. C54X plus 存储区数据访问的源程序
三、 实验要求
在程序去预留2个数据块,每块大小为128字;在数据去预留4个数据块,每块大小为128字,分别将数据区的数据移动到程序区,将程序区的数据移动到数据区,将数据区的数据移动到数据区,运行程序,通过CCS-View-CPU Registers,观察各寄存器的值;通过CCS-View-Memory,观察片内程序和数据区的值,上述各值应与源程序的结果一样。
四、 实验环境
DSP仿真器、TDB-C54X plus DSP实验箱、CCS软件。
五、 实验步骤
1. 将DSP仿真器与计算机并口连接;
2. 将DSP仿真器JTAG头插入DSP实验箱JTAG接口上;
3. 打开计算机电源,当计算机启动完毕后,打开仿真器和TDB-C54X plus
DSP实验箱电源,实验箱上3.3V、1.8V电源指示灯均亮,若不亮,请立即关闭电源检查连线和电源电压; 4. 双击桌面CCS,进入CCS操作环境;
5. 按实验一的步骤创建一个工程和源文件,并调试。
6. 在Projet-Build Options中设置添加文件路径。
六、 实验结果
① LD
#40H,DP
;问题1:数据指针指向的地址是????
答:数据指针指向的地址40H SSBX INTM
;禁止中断
;置外部等待时间
;问题2:外部数
STM #07FFFH,SWWSR 据存储区延迟几个周期?
答:因为SWWSR中段设置值为“1”,所以设置的延迟周期为7个。 ② _main: CALL INIT_DATA
;初始化程序区为0,数据区为0-127 ;
问题3:CALL指令执行需要几个周期? 答:执行周期为4个 ③ STM
#127,BRC
RPTB _INIT_DATA1-1
;问题4:RPTB指令如何执行执行?
STL ADD NOP NOP
_INIT_DATA1: ················
答:RPTB是块重复操作指令,根据程序重复执行程序块128次,每次程序运行到INIT_DATA1-1的前一句就调回到rptb的下一句开始执行。 ④ RPT
#127
A,*AR2+ #1,0,A
;Move 128 value. MVDD
*AR2+,*AR3+ ;
问题5:MVDD指令执行需要几个周期,循环后指令输出周期变为多少? 答:MVDD指令执行需要1个机器周期,循环后输出128个周期。
MVDD 数据存储器内部传送数据
⑤ RPT
#127 ;Move 128 to program memory space.
问题6:MVDP指令是如何执行的?
MVDP *AR1+,#PADD+80H ;
答:从2080H开始的128个单元,将数据存储器中数据传给程序存储器1F80H后的单元中。 ⑥ RPT
#127
;Move 128 words from external
;program to internal data memory. ;
READA *AR1+
问题7:READA指令是如何执行的?
答:按累加器A直接寻址1F00H后128单元中数据,并将其传给数据存储器AR1(2080H)后128单元中 ⑦ RPT
#127
;Move 128 words from external
实验三汇编的算术逻辑运算
一、 实验目的
1.了解DSP结构 2.熟悉CCS开发环境
3.熟悉TDB-C54X plus DSP 试验箱的硬件环境 4.熟悉汇编语言的逻辑和算术运算
二、 实验内容
1.C54X plus 汇编初始化程序;
2.C54X plus 汇编语言的逻辑和算术运算源程序。
三、 实验要求
在程序去预留2个数据块,每块大小为1024字,分别为源数据和目的数据块,将源数据块初始化为表1所示,在初始化程序中需用到循环和跳转指令,然后将源数据块复制到目的数据块,需用跳转指令;运行程序,通过CCS-View-CPU Registers,观察各寄存器的值,通过CCS-View-Memory,观察片内各数据地址的值,上述各值应与源程序计算结果一致。
四、 实验环境
计算机、DSP仿真器、TDB-C54X plus DSP实验箱、CCS软件。
五、 实验步骤
1. 将DSP仿真器与计算机并口连接;
2. 将DSP仿真器JTAG头插入DSP实验箱JTAG接口上;
3. 打开计算机电源,当计算机启动完毕后,打开仿真器和TDB-C54X plus DSP实验箱电源,实验箱上3.3V、1.8V电源指示灯均亮,若不亮,请立即关闭电源检查连线和电源电压; 4. 双击桌面CCS,进入CCS操作环境;
5. 按实验一的步骤创建一个工程和源文件,并调试。 6. 在Projet-Build Options中设置添加文件路径。
六、 实验结果
① SSBX INTM ;禁止中断问题1:该语句禁止了那种类型的中断?答:SSBX将INTM位置1,禁止所有可屏蔽中断。 ② RSBX CPL
;问题2:该语句的功能是什么
答:对ST1状态寄存器中的直接寻址编辑方式位进行复位为0,选用数据页指针DP的直接寻址方式。 ③ SSBX INTM
;问题3:该语句的功能是什么?
答:对ST1状态寄存器中中断屏蔽位进行置位成“1”,关闭所有屏蔽中断。
④ ST #0055h,DATA0 ;问题4:采用了什么寻址方式? 答:直接寻址 ⑤ 逻辑运算 AND #00ffh,A OR #00ffh,A XOR #00ffh,A
;逻辑与操作,实现A(and)#00ffh ;逻辑或操作,实现A(or)#00ffh ;逻辑异或操作,实现A(xor)#00ffh
实验四汇编的循环与分支
一、 实验目的
1.了解DSP结构; 2.熟悉CCS开发环境;
3.熟悉TDB-C54X plus DSP 试验箱的硬件环境; 4.熟悉汇编语言的循环与分支结构。
二、 实验内容
1. C54X plus 汇编初始化程序; 2. C54X plus 数据区初始化程序; 3. C54X plus 各种汇编循环源程序; 4. C54X plus 各种汇编分支源程序。
三、 实验要求
运行程序,通过CCS-View-CPU Registers,观察各寄存器的值,通过CCS-View-Memory,观察片内各数据地址的值,上述各值应与源程序计算结果一致。
四、 实验环境
计算机、DSP仿真器、TDB-C54X plus DSP实验箱、CCS软件。
五、 实验步骤
1. 将DSP仿真器与计算机并口连接;
2. 将DSP仿真器JTAG头插入DSP实验箱JTAG接口上;
3. 打开计算机电源,当计算机启动完毕后,打开仿真器和TDB-C54X plus DSP实验箱电源,实验箱上3.3V、1.8V电源指示灯均亮,若不亮,请立即关闭电源检查连线和电源电压; 4. 双击桌面CCS,进入CCS操作环境;
5. 按实验一的步骤创建一个工程和源文件,并调试。 6. 在Projet-Build Options中设置添加文件路径。
六、 实验结果
STM
#DDAT0,AR2
STM #3FFH,BRC ;描述从这个语句到_INIT_DATA2-1语句的功能
RPTB STL LDM AND ADD
_INIT_DATA2-1
A,*AR2+
AR2,B #7,0,B #1,0,A
BC _INIT_DATA2-1,BNEQ LDM AND AND ADD XC AND XC ADD NOP
_INIT_DATA2:
AR2,B #0FFF8H,0,A #3FH,0,B #0F8H,0,A
2,BEQ
#078H,0,A
2,BEQ
#8,0,A
RET
答:设置块重复的范围,从RPTB句后一句开始到_INIT_DATA2前一句作为块重复内容,重复次数为BRC中次数为3FFH次;块中嵌套一次分支转移,
当满足不相等时,分支跳转至_INIT_DATA2的前一句,完成一次块重复,条件不满足时,连续执行程序,不进行跳转。
实验5数字滤波器设计
1.实验目的
1 熟悉CCS开发环境;
2 熟悉TDB-C54X plus DSP实验箱的硬件环境; 3 掌握数字滤波器的设计过程; 4 了解FIR、IIR数字滤波器的特性;
5 熟悉设计FIR、IIR数字滤波器的原理和方法; 6 了解DSP滤波器的特殊寻址方式。
2.实验内容
1 DSP初始化; 2确定滤波器系数; 3 滤波器程序。
3.实验要求
将输入波形通过设计好的数字滤波器,结果用CCS的view Graph示,分析数字滤波器的性能。
显
4.实验环境
计算机、TDB-C54X plus DSP实验箱、CCS软件。
5.实验原理
1 有限冲击响应数字滤波器的基础理论; 2 无限冲击响应数字滤波器的基础理论;
3 模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝赛尔滤波器); 4 数字滤波器系数的确定方法; 5 双线性变换的设计原理。
6.实验步骤
1 将DSP仿真器与计算机并口(打印机口)或USB接口连接好; 2 将DSP仿真器JTAG头插入DSP实验箱JTAG接口上;
3 打开计算机电源,当计算机启动完毕后,打开仿真器和TDB-C54X plus DSP实验箱电源,实验箱上3.3V、1.8V电源指示灯均亮,若不亮,请立即关闭实验箱电源,检查连线和电源电压;
4 双击桌面上CCS图标,进入CCS操作环境;
5 在“TDB-C54Xplus LAB\\LAB08”文件目录下,打开工程文件“fir.pjt”; 6 编译、链接并运行该工程,然后实验要求观察记录实验数据;
注意:如果对实验比较熟练,建议采样如下实验步骤代替上述5、6步: (1)确定滤波器模型,设计滤波器,确定滤波器系数; (2)调用初始化程序,初始化DSP; (3)编写滤波器子程序;
(4)建立工程,编译调试程序;
(6)在Project Build Options中设置添加文件的路径;
(7)通过CCS的View Graph下Time/Frequency察看输入输出
波形;
(8)比较分析滤波器性能。
7 向实验指导教师提交记录的实验数据; 8 根据实验及其记录的实验数据撰写实验报告。
7.实验数据记录
1、记录FIR滤波运算输入数据波形图截图:
2、记录FIR滤波运算输出数据波形图截图:
数据执行后截图
实验时的相关代码
实验总结:
通过DSP课程学习和课程实验,对DSP技术算是有了入门级别的了解,学到了很多知识,个人认为DSP用处很大,在很多工业芯片上应用很多,也很有效的解决了工业生产中的问题,以后当一个DSP工程师很有潜力。
最后,谢谢老师,老师辛苦了。
因篇幅问题不能全部显示,请点此查看更多更全内容