哈尔滨理工大学
实验报告
实验课程名称DSP应用技术
姓名班级学号孙源鸿自动化17-7 1712010715 指导教师姓名马静
实验总评成绩
实验日期
一、实验过程记录
二、预习内容(无预习内容不允许做本次实验)
1实验目的:
1.掌握Code Composer Studio 5.5 的安装和配置步骤过程。
2.了解DSP 开发系统和计算机与目标系统的连接方法。
3.了解Code Composer Studio 5.5 软件的操作环境和基本功能,了解
TMS320C28xx软件开发过程。
(1)学习创建工程和管理工程的方法。
(2)了解基本的编译和调试功能。
(3)学习使用观察窗口。
(4)了解图形功能的使用。
2实验原理:
*开发TMS320C28xx 应用系统一般需要以下几个调试工具来完成:-软件集成开发环境(Code Composer Studio 5.5):完成系统的软件开发,进行软件和硬件仿真调试。它也是硬件调试的辅助手段。
-开发系统(ICETEK 5100 USB 或ICETEK 5100 PP):实现硬件仿真调试时与硬件系统的通信,控制和读取硬件系统的状态和数据。
-评估模块(ICETEK F2812-A 等):提供软件运行和调试的平台和用户系统开发的参照。
*Code Composer Studio 5.5 主要完成系统的软件开发和调试。它提供一整套的程序编制、维护、编译、调试环境,能将汇编语言和 C 语言程序编译连接生成COFF (公共目标文件)格式的可执行文件,并能将程序下载到目标DSP 上运行调试。
*用户系统的软件部分可以由CCS 建立的工程文件进行管理,工程一般包含以下几种文件:
-源程序文件:C 语言或汇编语言文件(*.ASM 或*.C)
-头文件(*.H)
-命令文件(*.CMD)
-库文件(*.LIB,*.OBJ)
三、实验内容:
1实验方法及步骤:
1.实验准备
本实验采用软仿真模式。
2.设置Code Composer Studio 5.5 在软件仿真(Simulator)方式下运行
3.创建工程
(1)创建新的工程文件
选择菜单“Project”的“New…”项,新建工程
D:\Demo\CCS\lab1\lab1.pjt。
(2)在工程文件中添加程序文件:
选择菜单“Project”的“Add Files…”项;在“Add Files”对话框中选择文件目录为D:\Demo\CCS\down\sy1,添加目录下的3个文件到工程。
(3)编译连接工程:
选择菜单“Project”的“Rebuild All”项,或单击工具条中的按钮;注意编译过程中CCS 主窗口下部“Build”提示窗中显示编译信息,最后将给出错误和警告的统计数,有错误需要找到错误原因,并修改至无错误。
4.基本调试功能
(1)运行debug仿真,
(2)在程序行read_signals(input);双击设置软件断点,在breakpoints处设置探针。如下:
(3)在下一行程序处,双击设置软件断点,在breakpoints处设置探针。如下:
(4)选择菜单“Tools-Graph-Single Times”然后设置参数。
(5)修改曲线名称,按F12 运行程序.观察Single Time窗口的内容。5.退出CCS .
2实验数据处理(数据、曲线、图表):
四、实验结果分析(实验误差、现象、分析)
得到正弦曲线,周期是40,幅值是100。
一、实验过程记录
二、预习内容(无预习内容不允许做本次实验)
1实验目的:
1.了解ICETEK-F2812-A 评估板在TMS320F2812DSP 外部扩展存储空间上的扩展。
2.了解ICETEK-F2812-A 评估板上指示灯扩展原理。
3.学习在C 语言中使用扩展的控制寄存器的方法。
2原理图:
三、实验内容:
1实验方法及步骤:
1.新建工程文件
工程文件为:D:\Demo\CCS\lab2\LED.pjt
打开源程序LED.c 阅读程序,理解程序内容。
将所有需要的都文件添加到工程文件下。
2.编译、下载程序。
3.运行程序,debug调试,观察结果。
4.退出CCS
2实验数据处理(数据、曲线、图表):
对所需头文件进行添加齐全后,编译完成,点击debug
点击stay over,将0XC0000存入1,
逐次点击stay over,0XC0000中的数据变化为2,4,8,8 ,4,2,1
四、实验结果分析(实验误差、现象、分析)
映射在扩展存储器空间地址0xc00000上的指示灯寄存器在设置时是低 4 位有效的,数据的最低位对应指示灯 D1,次低位对应 D2,...依次类推。
对应到小灯上时,是先是最低位小灯亮起,延时一段时间后次低位小灯亮起,依次循环,亮到最高位亮起后延时一段时间后反过来亮,即第三个,第二个第一个亮,一直如此循环。
程序分析:#include "f2812a.h"
// 定义指示灯寄存器地址和寄存器类型
#define LBDS (*((unsigned int *)0xc0000))
// 子程序接口
void Delay(unsigned int nDelay); // 延时子程序
main()
{
unsigned int uLED[4]={1,2,4,8}; // 控制字,逐位置1: 0001B 0010B 0100B 1000B
int i;
InitSysCtrl(); // 初始化DSP运行时钟
while ( 1 )
{
for ( i=0;i<4;i++ )
{
LBDS=uLED[i]; // 正向顺序送控制字
Delay(256); // 延时
}
for ( i=3;i>=0;i-- )
{
LBDS=uLED[i]; // 反向顺序送控制字
Delay(256); // 延时
}
}
}
void Delay(unsigned int nDelay)
{
int ii,jj,kk=0;
for ( ii=0;ii { for ( jj=0;jj<512;jj++ ) { kk++; } } } 首先定义灯的控制字,定义变量i,正向送入控制字1,2,4,8延时长,之后再反向送入8,4,2,1.软件仿真无法观察实物的现象,用对应地址的数据代替现象。 一、实验过程记录 二、预习内容(无预习内容不允许做本次实验) 1实验目的: 1.了解TMS320F2812A 的内部存储器空间的分配及指令寻址方式。 2.了解ICETEK-F2812-EDU板扩展存储器空间寻址方法,扩展存储器空间寻址方法及其应用。 3.学习用Code Composer Studio 修改、填充DSP 内存单元的方法。 4.学习操作TMS320VC28xx 内存空间的指令。 2实验原理 TMS320VC28xx DSP 内部存储器资源介绍。 TMS320VC28xx 系列DSP 基于增强的哈佛结构,可以通过三组并行总线访问多个存储空间。它们分别是:程序地址总线(PAB)、数据读地址总线(DRAB)和数据写地址总线(DWAB)。由于总线工作是独立的,所以可以同时访问程序和数据空间。 TMS320VC28xx 系列DSP 的地址映象请参考ICETEK–VC2812 评估板硬件使用说明书第一部分第五章的介绍。 三、实验内容: 1实验方法及步骤: 1.新建工程文件,工程文件为:D:\Demo\CCS\lab3\lab3.pjt。打开源程序Memory.c 阅读程序,理解程序内容。将所有需要的头文件添加到工程文件下。2.编译、下载程序。 3.运行程序,debug调试。 4.运行程序观察结果: ⑴打开Memory.c,在有注释的行上加软件断点。 ⑵打开数据区地址为0x80000和0x80100 的观察窗口“Data2”和“Data3”。 ⑶按“F5”键运行到各断点,注意观察窗口“Data2”和“Data3”中的变化,体会用程序修改数据区语句的方法。 5.退出 CCS 2实验数据处理(数据、曲线、图表): 逐次点击单步运行,观察memory browser中地址0x80000和0x80100地址中数据的变化。 实验程序: main() { int i; unsigned int * px; unsigned int * py; unsigned int * pz; px=(unsigned int *)0x80000; py=(unsigned int *)0x80100; for ( i=0,pz=px;i<16;i++,pz++ ) (*pz)=i; for ( i=0,pz=py;i<16;i++,pz++ )// 在此加软件断点 (*pz)=0x1234; for ( i=0;i<16;i++,px++,py++ )// 在此加软件断点 (*py)=(*px); while(1) { }// 在此加软件断点 } 根据程序,执行16次,0x80000~0x8000f中一次写入0000~000f;然后从0x80100~0x8010f中都写入1234;然后0x80100~0x8010f被0000~000f覆盖。 四、实验结果分析(实验误差、现象、分析) 实验程序运行之后,位于数据区地址80000H 开始的16 个单元的数值被赋值到了数据区80100H 开始的16 个单元中。 五、实验成绩评定 (1)出勤情况(缺勤1/3次无实验成绩) 注:√出勤,○事假,×缺勤,▽其它。(2)预习情况 (3)实验过程情况 (4)实验分析及报告情况 (5)实验成绩