DSPF2812实验_第1页
DSPF2812实验_第2页
DSPF2812实验_第3页
DSPF2812实验_第4页
DSPF2812实验_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验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集成开发环境在软件仿真方式下,建立、配置、编译、下载和运行一个简单工程

2、:应用C语言编写程序,完成zxy功能,并且通过“Memory”窗口观察x、y、z值的变化。四实验原理1.开发TMS320C28xx应用系统一般需要以下几个调试工具来完成:Ø 软件集成开发环境(Code Composer Studio 3.3):完成系统的软件开发,进行软件和硬件仿真调试。它也是硬件调试的辅助手段。Ø 仿真器(XDS510PLUS等):实现硬件仿真调试时与硬件系统的通信,控制和读取硬件系统的状态和数据。Ø 开发板(DEC-F2812等):提供软件运行和调试的平台和用户系统开发的参照。2.Code Composer Studio 3.3主要完成系统的软

3、件开发和调试。它提供一整套的程序编制、维护、编译、调试环境,能将汇编语言和C语言程序编译连接生成COFF (公共目标文件)格式的可执行文件,并能将程序下载到目标DSP上运行调试。3.用户系统的软件部分可以由CCS建立的工程文件进行管理,工程一般包含以下几种文件:Ø 源程序文件:C语言或汇编语言文件(*.ASM或*.C)Ø 头文件(*.H)Ø 命令文件(*.CMD)Ø 库文件(*.LIB)五实验步骤1.实验准备:由于本实验采用软仿真模式,可以不用连接仿真器及开发板。2.设置Code Composer Studio 3.3在软仿真(Simulator)方式下

4、运行。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.学

5、习操作TMS320F2812内存空间的指令。二实验设备1.PC机一台,操作系统为WindowsXP; 2.SEED-DEC2812开发板、XDS510PLUS仿真器。三实验内容在内部SARAM的0x6000x60f单元置数00xf,将该单元块存储的数据复制到0x6100x61f处,最后通过“Memory”查看窗口观察各存储区中的数据。四实验原理TMS320F2812 DSP内部存储器资源介绍:TMS320F2812系列DSP基于增强的哈佛结构,可以通过3组并行总线访问多个存储空间。它们分别是:程序地址总线(PAB)、数据读地址总线(DRAB)和数据写地址总线(DWAB)。由于总线工作是独立的,

6、所以可以同时访问程序和数据空间。TMS320F2812系列DSP的地址映象请参考教材第3章存储器映射。五实验步骤1.实验准备:由于本实验采用软仿真模式,可以不用连接仿真器及开发板。2.设置Code Composer Studio 3.3在软仿真(Simulator)方式下运行。3.启动Code Composer Studio 3.3。4.打开工程。工程文件为:C:DSP281x_examplesmemorymemory.pjt。5.编译、下载程序。如图2-1所示。双击Memory.out选择Debug文件夹选择Load Program点击File图2-1 手动下载程序6.调试程序。(1)运行到

7、main函数入口选择菜单DebugàGo Main,当程序运行并停止在main函数入口时,展开“Disassembly”反汇编窗口,发现main函数入口地址为0x3F8285H,也就是说从此地址开始存放主函数的程序代码。(2)显示存储器选择菜单项 图2-2 存储器(3)观察修改数据区数据区单元的内容可以用手动方式修改。显示数据存储区:输入起始地址0x600。修改数据单元:数据单元可以单个进行修改,只需双击想要改变的数据单元即可, (4)运行程序观察结果打开Memory.c,在有注释的行上加软件断点。按“F5”键运行到各断点,注意观察存储器窗口中数据的变化。六实验结果实验程序运行之后,

8、位于数据区地址0x600开始的16个单元的数值被复制到了数据区0x610开始的16个单元中。七问题与思考修改数据单元内容和修改程序单元内容的操作方式是否一样?实验3:CPU定时器实验一实验目的1.通过实验熟悉F2812A的定时器;2.掌握F2812A定时器的控制方法;3.掌握F2812A的中断结构和对中断的处理流程;4.学会C语言中断程序设计,以及运用中断程序控制程序流程。二实验设备1.PC机一台,操作系统为WindowsXP; 2.SEED-DEC2812开发板、XDS510PLUS仿真器。三实验内容应用CCS集成开发环境在硬件仿真方式下,以定时器中断方式实现定时功能,并观察LED灯的状态变

9、化。四实验原理1.TMS320F2812片内定时器TMS320F2812片内有3个32位时钟。其中定时器1、2预留给适时操作系统使用(例如DSPBIOS),只有CPU定时器0用户可以在应用程序中使用。定时器功能框图如下所示:3个定时器的中断信号(,)在处理器内部连接不尽相同,如下图所示:定时器在工作过程中,首先用32位计数寄存器(TIMH:TIM)装载周期寄存器(PRDH:PRD)内部的值。计数寄存器根据SYSCLKOUT时钟递减计数。当计数寄存器等于0时,定时器中断输出产生一个中断脉冲。定时器计数器(TIMH:TIM):TIM寄存器保存当前32位定时器计数值的低16位,TIMH寄存器保存高1

10、6位。每隔(TDDRH:TDDR1)个时钟周期TIMH:TIM减1,当TIMH:TIM递减到0时,TIMH:TIM寄存器重新装载PRDH:PRD寄存器保存的周期值,并产生定时器中断信号。定时器周期寄存器(PRDH:PRD):PRD寄存器保存32位周期值的低16位,PRDH保存高16位。当TIMH:TIM递减到零时,在下次定时周期开始之前TIMH:TIM寄存器重新装载PRDH:PRD寄存器保存的周期值;当用户将定时器控制寄存器(TCR)的定时器重新装载位(TRB)置位时,TIMH:TIM也会重新装载PRDH:PRD寄存器保存的周期值。定时器控制寄存器TCR:主要有TIF位:定时器中断标志,当定时

11、器计数器递减到0时,该位置1。可以通过软件向TIF写1将TIF位清零,但只有计数器递减到0时才会将该位置位;TIE位:CPU定时器中断使能;如果定时器计数器递减到零,TIE置位,定时器将会向CPU产生中断;TRB位:定时器重新装载控制位,当向TCR的TRB位写1时,TIMH:TIM会重新装载PRDH:PRD寄存器保存的周期值,并且预定标计数器(PSCH:PSC)装载定时器分频寄存器(TDDRH:TDDR)中的值;定时器停止状态位TSS,要停止定时器TSS位置1。2.中断响应过程(1)接受中断请求。必须由软件中断(从程序代码)或硬件中断(从一个引脚或一个基于芯片的设备)提出请求去暂停当前主程序的

12、执行。(2)响应中断。必须能够响应中断请求。如果中断是可屏蔽的,则必须满足一定的条件,按照一定的顺序去执行。而对于非可屏蔽中断和软件中断,会立即作出响应。(3)准备执行中断服务程序并保存寄存器的值。(4)执行中断服务子程序。调用相应得中断服务程序ISR,进入预先规定的向量地址,并且执行已写好的ISR。3.中断类别可屏蔽中断:这些中断可以用软件加以屏蔽或解除屏蔽。不可屏蔽中断:这些中断不能够被屏蔽,将立即响应该类中断并转入相应的子程序去执行。所有软件调用的中断都属于该类中断。4.中断的优先级如果多个中断被同时激发,将按照他们的中断优先级来提供服务。中断优先级是芯片内部已定义好的,不可修改。5.实

13、验程序流程 主程序及中断服务程序流程如下图所示: 开始初始化DSP时钟初始化中断向量等待中断产生初始化定时器改变指示灯状态中断服务开始中断服务结束五实验步骤1.实验准备:由于本实验采用硬件仿真模式,需要利用XDS510Plus仿真器,并连接开发板。2.设置Code Composer Studio 3.3在硬件仿真(Emulator)方式下运行。3.启动Code Composer Studio 3.3。4.打开工程。工程文件为:C:DSP281x_examplesCpuTimerCpuTimer.pjt。5.编译、下载程序。6.运行程序,程序停在第一个断点处,表明已进入定时器中断。观察指示灯D1

14、、D3。7.继续运行程序,程序会停在第二个断点处。观察指示灯D1、D3。8.若取消断点,连续运行程序会看到SEED_DEC2812板卡上D1和D3交替闪烁。9.实验者可根据自己的需要改变周期寄存器的值,从而控制每次进中断的时间。六实验结果1.指示灯在定时器的定时中断中按照设计定时闪烁。2.使用定时器和中断服务程序可以完成许多需要定时完成的任务,比如DSP定时启动A/D转换,日常生活中的计时器计数、空调的定时启动和关闭等。3.在调试程序时,有时需要指示程序工作的状态,可以利用指示灯的闪烁来达到,指示灯灵活的闪烁方式可表达多种状态信息。七问题与思考如果要改变LED灯的闪烁频率,应该怎么实现?实验4

15、 :片内外设SCI应用实验一实验目的1.了解SEED-DEC2812开发板标准RS-232串行通信接口的原理和方法。2.学会对串行通信芯片的配置编程。3.学习设计异步通信程序。二实验设备1.PC机一台,操作系统为WindowsXP; 2.SEED-DEC2812开发板、XDS510PLUS仿真器。三实验内容应用TMS320F2812A芯片自带的标准RS-232串行通信接口(SCI)模块,实现与PC机串口的通讯。四实验原理1. SEED-DEC2812开发板串行接口在SEED-DEC2812 模板上配置有二个通用异步串口,采用MAX3160 多协议收发器,接口标准可配置为RS232、RS422、

16、RS485,用它可以与计算机及其它设备进行串行通信。在RS232 接口标准时,采用4 线制(RXD、TXD、RTS、CTS),而在RS422RS485 接口标准时,采用2 线制(RXD、TXD)。在RS232 接口标准时,RTS 和CTS 由UART 控制状态寄存器实现。MAX3160 上的引脚RS485/RS232 用于选择工作在RS422/RS485 还是RS232 接口标准;引脚HDPLX 则用于选择是RS422 还是RS485;引脚FAST 用于控制信号转换率;引脚DE485 用于控制RS422/RS485 方式时,发送器是否使能,DE485 和RS232 方式时的RTS 信号复用。S

17、EED-DEC2812 上设计了一个UART工作模式控制寄存器(UART_MODE)用来产生这些信号,所以UART 工作模式的控制可通过F2812 编程设置。UART_MODE寄存器映射到F2812 的Zone 1 的0x00 4010 存储单元,其定义如下:RS485/RS232B:异步串口通道 B 接口标准选择,复位值为00:选择 RS232 标准 1:选择 RS422/RS485 标准RS485/RS232A:异步串口通道 A 接口标准选择,复位值为00:选择 RS232 标准 1:选择 RS422/RS485 标准FASTB:异步串口通道 B 接口信号转换率控制,复位值为00:低转换率

18、,可以有效控制 EMI 1:高转换率,可以工作在较高的传输率下FASTA:异步串口通道 A 接口信号转换率控制,复位值为00:低转换率,可以有效控制 EMI 1:高转换率,可以工作在较高的传输率下HDPLXB:异步串口通道 B 接口标准RS422RS485 选择,复位值为00:选择全双工方式,即RS422方式 1:选择半双工方式,即 RS485 方式HDPLXA:异步串口通道 A 接口标准RS422RS485 选择,复位值为00:选择全双工方式,即RS422方式 1:选择半双工方式,即 RS485 方式DE485/RTSB:异步串口通道 B 控制引脚,复位值为00:RS232时为RTSB 功能

19、;RS422/RS485时为发送禁止1:RS232时为RTSB功能;RS422/RS485时为发送使能DE485/RTSA:异步串口通道 A 控制引脚,复位值为00:RS232时为RTSA功能;RS422/RS485时为发送禁止1:RS232时:为RTSA 功能;RS422/RS485时为发送使能2.实验程序流程图:开始初始化:DSP时钟初始化:SCI各控制寄存器串口是否有输入信息?发送启动信息到串口将接收到的信息回发否是 3.串行通信波特率计算内部生成的串行时钟是由低速的外部时钟LSPCLK频率和波特率选择寄存器决定的。对于一个给定的设备时钟,SCI通过波特率选择器的16位值从64k开始的不同串行时钟频率中选择一个时钟。常用波特率BRR值

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论