DSPF2812实验

更新时间:2023-10-14 01:18:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验1 :CCS环境下的程序设计

一.实验目的

1.掌握Code Composer Studio 3.3的配置过程;

2.掌握DSP开发系统及计算机与目标系统的连接方法;

3.了解Code Composer Studio 3.3软件的操作环境和基本功能,了解TMS320F2812软件开发过程;

4.学习用标准C语言编制程序,了解常用的C语言程序设计方法和组成部分; 5.熟悉使用软件仿真方式调试程序。 二.实验设备

1.PC机一台,操作系统为WindowsXP;

2.SEED-DEC2812开发板、XDS510PLUS仿真器。

三.实验内容

应用CCS集成开发环境在软件仿真方式下,建立、配置、编译、下载和运行一个简单工程:应用C语言编写程序,完成z=x+y功能,并且通过“Memory”窗口观察x、y、z值的变化。

四.实验原理

1.开发TMS320C28xx应用系统一般需要以下几个调试工具来完成:

? 软件集成开发环境(Code Composer Studio 3.3):完成系统的软件开发,进行软件和

硬件仿真调试。它也是硬件调试的辅助手段。

? 仿真器(XDS510PLUS等):实现硬件仿真调试时与硬件系统的通信,控制和读取

硬件系统的状态和数据。

? 开发板(DEC-F2812等):提供软件运行和调试的平台和用户系统开发的参照。 2.Code Composer Studio 3.3主要完成系统的软件开发和调试。它提供一整套的程序编制、维护、编译、调试环境,能将汇编语言和C语言程序编译连接生成COFF (公共目标文件)格式的可执行文件,并能将程序下载到目标DSP上运行调试。

3.用户系统的软件部分可以由CCS建立的工程文件进行管理,工程一般包含以下几种文件:

? 源程序文件:C语言或汇编语言文件(*.ASM或*.C) ? 头文件(*.H)

? 命令文件(*.CMD) ? 库文件(*.LIB) 五.实验步骤

1.实验准备:由于本实验采用软仿真模式,可以不用连接仿真器及开发板。 2.设置Code Composer Studio 3.3在软仿真(Simulator)方式下运行。 3.启动Code Composer Studio 3.3。 4.创建工程。

5.在工程文件中添加程序文件。 6.编译连接工程。 7.装载程序。 8.调试。

9.使用观察窗口观察x、y、z值的变化。

六.实验结果

通过实验可以发现,cmd文件可以安排程序和数据在DSP内存资源中的分配和位置。 C语言编制的程序经过编译器编译后,在主函数中的无限循环中持续运行。 七.问题与思考

1.一个完整的工程需要那些必备的文件?

实验2 :F2812数据存取实验

一.实验目的

1.了解TMS320F2812的内部存储器空间的分配及指令寻址方式。

2.学习用Code Composer Studio 3.3修改、填充DSP内存单元的方法。 3.学习操作TMS320F2812内存空间的指令。 二.实验设备

1.PC机一台,操作系统为WindowsXP;

2.SEED-DEC2812开发板、XDS510PLUS仿真器。

三.实验内容

在内部SARAM的0x600~0x60f单元置数0~0xf,将该单元块存储的数据复制到0x610~0x61f处,最后通过“Memory”查看窗口观察各存储区中的数据。

四.实验原理

TMS320F2812 DSP内部存储器资源介绍:

TMS320F2812系列DSP基于增强的哈佛结构,可以通过3组并行总线访问多个存储空间。它们分别是:程序地址总线(PAB)、数据读地址总线(DRAB)和数据写地址总线(DWAB)。由于总线工作是独立的,所以可以同时访问程序和数据空间。

TMS320F2812系列DSP的地址映象请参考教材第3章存储器映射。 五.实验步骤

1.实验准备:由于本实验采用软仿真模式,可以不用连接仿真器及开发板。 2.设置Code Composer Studio 3.3在软仿真(Simulator)方式下运行。 3.启动Code Composer Studio 3.3。

4.打开工程。工程文件为:C:\\DSP281x_examples\\memory\\memory.pjt。 5.编译、下载程序。如图2-1所示。 ①点击File ③选择Debug文件夹 ②选择Load Program… ④双击 Memory.out 图2-1 手动下载程序

6.调试程序。

(1)运行到main函数入口 选择菜单Debug?Go Main,当程序运行并停止在main函数入口时,展开“Disassembly”反汇编窗口,发现main函数入口地址为0x3F8285H,也就是说从此地址开始存放主函数的程序代码。 (2)显示存储器

①选择菜单项

图2-2 存储器

(3)观察修改数据区

数据区单元的内容可以用手动方式修改。 ①显示数据存储区: 输入起始地址0x600。

②修改数据单元:数据单元可以单个进行修改,只需双击想要改变的数据单元即可, (4)运行程序观察结果

①打开Memory.c,在有注释的行上加软件断点。

②按“F5”键运行到各断点,注意观察存储器窗口中数据的变化。

六.实验结果

实验程序运行之后,位于数据区地址0x600开始的16个单元的数值被复制到了数据区0x610开始的16个单元中。

七.问题与思考

修改数据单元内容和修改程序单元内容的操作方式是否一样?

实验3:CPU定时器实验

一.实验目的

1.通过实验熟悉F2812A的定时器; 2.掌握F2812A定时器的控制方法;

3.掌握F2812A的中断结构和对中断的处理流程;

4.学会C语言中断程序设计,以及运用中断程序控制程序流程。 二.实验设备

1.PC机一台,操作系统为WindowsXP;

2.SEED-DEC2812开发板、XDS510PLUS仿真器。

三.实验内容

应用CCS集成开发环境在硬件仿真方式下,以定时器中断方式实现定时功能,并观察LED灯的状态变化。

四.实验原理

1.TMS320F2812片内定时器

TMS320F2812片内有3个32位时钟。其中定时器1、2预留给适时操作系统使用(例 如DSPBIOS),只有CPU定时器0用户可以在应用程序中使用。

定时器功能框图如下所示:

3个定时器的中断信号(TINT0,TINT1,TINT2)在处理器内部连接不尽相同,如下图所示:

定时器在工作过程中,首先用32位计数寄存器(TIMH:TIM)装载周期寄存器(PRDH:PRD)内部的值。计数寄存器根据SYSCLKOUT时钟递减计数。当计数寄存器等于0时,定时器中断输出产生一个中断脉冲。

定时器计数器(TIMH:TIM):TIM寄存器保存当前32位定时器计数值的低16位,TIMH寄存器保存高16位。每隔(TDDRH:TDDR+1)个时钟周期TIMH:TIM减1,当TIMH:TIM递减到0时,TIMH:TIM寄存器重新装载PRDH:PRD寄存器保存的周期值,

本文来源:https://www.bwwdw.com/article/qw1f.html

Top