SEEDDTK2812实验讲义.docx

上传人:b****8 文档编号:29810830 上传时间:2023-07-27 格式:DOCX 页数:65 大小:1.69MB
下载 相关 举报
SEEDDTK2812实验讲义.docx_第1页
第1页 / 共65页
SEEDDTK2812实验讲义.docx_第2页
第2页 / 共65页
SEEDDTK2812实验讲义.docx_第3页
第3页 / 共65页
SEEDDTK2812实验讲义.docx_第4页
第4页 / 共65页
SEEDDTK2812实验讲义.docx_第5页
第5页 / 共65页
点击查看更多>>
下载资源
资源描述

SEEDDTK2812实验讲义.docx

《SEEDDTK2812实验讲义.docx》由会员分享,可在线阅读,更多相关《SEEDDTK2812实验讲义.docx(65页珍藏版)》请在冰豆网上搜索。

SEEDDTK2812实验讲义.docx

SEEDDTK2812实验讲义

 

DSP原理及应用

实验讲义

(SEED-DTK2812)

黄山学院信息工程学院

2012-2

目录

第一章实验系统介绍

1.1SEED-DTK2812的原理框图……….……....…...….……………..…...3

1.2试验箱的整体配置与特点………………….……...…………………….4

1.3实验箱功能实现…………………………….….……..…………………5

1.3.1SEED-DTK2812…………………………….…………………….5

1.3.2SEED-Mboard….……………………….………………………..5

 

第二章实验

2.1CCS使用实验

实验一CCS使用和调试…..……….……..…………………………….7

2.2片上资源应用实验

实验二SRAM读写实验……………….…………..…………………..19

实验三定时器控制实验……………………….……..………………..22

2.3DEC板卡应用实验

实验四交通灯实验……….………………….…..…….…...…….……26

2.4DSP算法实验

实验五线性卷积算法的实现……….……………....……...……..……30

实验六快速傅立叶变换(FFT)算法实验……...….…………………35

实验七无限冲击响应滤波器(IIR)算法实验………….….………….…40

实验八有限冲击响应滤波器(FIR)算法实验……………..……………46

第1章

实验系统介绍

1.1系统概述

SEED-DTK(DSPTeachingKit)是一套可以满足大学本科、研究生和教师科研工作的综合实验设备。

SEED-DTK是我公司在总结以往产品的基础上,以独特的多DSP结构、强大的DSP主板功能、丰富的外围实验电路、精心设计的实验程序、精湛的产品工艺形成的高性能产品。

本文档主要介绍的是SEED-DTK2812实验箱,它由SEED-DEC2812板卡以及SEED-DTK_MBoard构成;其中主控板是我公司生产的SEED-DEC2812,母板是我公司生产的SEED-DTK_MBoard板卡。

此外,该款实验箱还可配置DSK板卡、图像处理卡等多种子卡。

1.1.1SEED-DTK2812实验箱实验例程

ØSEED_DEC2812板卡实验例程

1.CCS软件应用实验:

介绍CCS的使用,编写简单的实验例程。

2.DSP片上资源应用实验

本部分例程介绍的是DSP的片上资源。

3.SEED_DEC2812板卡应用实验

SEED_DEC2812板卡与实验箱资源的应用实验。

包括:

异步、同步串口通讯;扩展I/O口使用;AD/DA的使用。

4.算法实验

包括FFT,滤波(FIR、IIR),卷积,自适应滤波器算法实验

5.参考实验

包括USB使用实验、自举程序的编写以及SEED-DEC2812板卡与SEED-DTK_MBoard板卡之间数据传递实验。

Ø母板实验例程

1.DSP5402片上资源应用实验

本部分例程主要是DSP片上资源的使用介绍。

2.实验箱外设实验

实验箱母板资源的应用实验。

包括:

键盘、液晶、信号源的使用。

Ø其他板卡实验程序

该部分程序将根据实验箱的具体配置提供。

1.1.2SEED-DTK2812的原理框图如下:

1.2实验箱整体配置与特点

1.2.1实验箱整体配置

SEED-DTK2812实验箱由以下几部分构成:

1.SEED-DEC2812实验箱DSP基本系统

◆高性能DSP:

TMS320F2812,主频150MHz

◆外扩SRAM,最大容量为512K×16位,基本配置为256K×16位

◆512字节的EEPROM+RTC实时时钟

◆16路AD输入

◆4路DA输出

◆12路PWM输出,6路捕捉输入

◆双路URAT接口,接口标准为RS232/RS422/RS485,可配置

◆符合USB2.0标准的高速Host端接口

◆1路CAN总线接口,符合CAN2.0协议

2.SEED-Mboard实验箱人机接口模块

◆处理器为TMS320C5402

◆SRAM:

64K×16-位(可扩展至256K×16位)

◆Flash:

256K×16-位(用于存放二级标准汉字库及驻留实验程序)

◆提供手动复位

◆1路RS232接口

◆4路12位10μS建立时间±10V输出D/A

◆17键薄膜键盘

◆240*128大屏幕液晶显示

◆交通灯演示模块

以上只介绍实验箱所用到资源,如想使用其他资源请参考各个模块的用户手册。

1.3实验箱功能实现

1.3.1SEED-DEC2812

实验箱中SEED-DEC2812工作状态如下:

1.Boot模式:

直接将MP/MC接地,工作在MC模式下,将SCITXDA上拉,工作在“JumptoFlash”自举模式下。

2.输入时钟源:

外部30M时钟晶体,通过对软件寄存器PLLCR设置,使PLL锁相环倍频,最后产生150M系统时钟。

1.3.2SEED-Mboard

实验箱中本模块工作状态如下

1.工作方式的选择

SEED-Mboard的工作模式为MC工作方式。

2.BOOT模式

当SEED-Mboard处于MC工作方式时,只能用FLASH引导方式,既程序存放在FLASH中,上电或复位后,DSP将FLASH中的程序BOOTLOAD到SRAM中,程序在SRAM中运行。

3.工作频率

使用10MHz外部频率输入;当复位后,PLL硬件初始化设置为5倍频。

其芯片管脚CLKMD3~CLKMD1设置为010;便于DSP读取FLASH的程序。

系统工作正常后,可通过设置CPU的寄存器CLKMD,将PLL设为需要的倍频数。

4.串口通讯

MCBSP0用于UART通讯,因MCBSP是一种同步串口,而UART是一种异步串口,所以VC5402没有直接和UART通讯的片内外设,只有通过软件方式,用MCBSP和DMA来完成UART通讯功能,在硬件电路上,BDX0作为数据发送端,BDR0和BFSR0作为数据接收端。

MCBSP1用于与SEED_DEC2812的MCBSP串口通讯。

5.增强型HPI口

SEED-Mboard使用HPI口作为GPIO口,用做键盘扫描,HPI口的HD0-HD3,XF做输出,工作时置为0,而HD4-HD7,BIO做输入,工作时接上拉电阻,实现键盘操作

使用时,请注意以下几个方面:

1.上电后正常情况是,SEED-DEC5502板卡的D1常亮,D5灯闪烁,电源指示灯D2,D4常亮。

SEED-DTK_Mboard板的电源指示灯都亮。

2.各个实验程序的编译环境如下:

CCS版本为2.20.18。

3.各实验使用到资源可参考本书的附录内容。

注意:

运行FLASH读写程序有可能会破坏SEED-DEC5502板卡的固化的自举程序,这样会使实验箱的自检程序无法正常运行。

如果想运行实验箱自检程序,要重新烧录SEED-DEC5502的FLASH程序。

即运行光盘中的BOOT文件夹中的DEC5502_FLASHBOOT程序。

具体烧录方法见SEED-DTK5502实验箱使用手册的第四章。

 

实验一CCS使用和调试

一、实验目的:

1.熟悉CCS集成开发环境,掌握工程的生成方法;

2.熟悉SEED-DEC2812实验环境;

3.掌握CCS集成开发环境的调试方法。

二、实验内容:

1.DSP源文件的建立;

2.DSP程序工程文件的建立;

3.学习使用CCS集成开发工具的调试工具。

三、实验要求

1.了解CCS常见文件。

2.掌握CCS常用指令。

四、实验仪器

1.PC机

2.DSP实验箱

3.DSP仿真器

五、实验原理

1、CCS简介

CCS提供了配置、建立、调试、跟踪和分析程序的工具,它便于实时、嵌入式信号处理程序的编制和测试,它能够加速开发进程,提高工作效率。

CCS提供了基本的代码生成工具,它们具有一系列的调试、分析能力。

CCS支持如下所示的开发周期的所有阶段

CCS构成及接口见下图

CCS窗口介绍:

2、使用CCS常遇见文件简介

1.program.c:

C程序源文件

2.program.asm:

汇编程序源文件

3.filename.h:

C程序的头文件,包含DSP/BIOSAPI模块的头文件

4.filename.lib:

库文件

5.project.cmd:

连接命令文件

6.program.obj:

由源文件编译或汇编而得的目标文件

7.program.out:

经完整的编译、汇编以及连接后生成可执行文件

8.program.map:

经完整的编译、汇编以及连接后生成空间分配文件

9.project.pjt:

存储环境设置信息的工作区文件

保存配置文件时将产生下列文件:

1.programcfg.cmd:

连接器命令文件

2.programcfg.h54:

汇编头文件

3.programcfg.s54:

汇编源文件

(一)CMD文件简介

cmd文件用于DSP代码的定位。

由3部分组成:

1.输入/输出定义:

.obj文件:

链接器要链接的目标文件。

.lib文件:

链接器要链接的库文件。

.map文件:

链接器生成的交叉索引文件。

.out文件:

链接器生成的可执行代码;链接器选项。

2.MEMORY命令:

描述系统实际的硬件资源。

3.SECTIONS命令:

描述"段"如何定位。

下面例子则可说明其基本格式:

-osample.out

-msample.map

-stack100

sample.objmeminit.obj

-lrts.lib

MEMORY

{

  PAGE0:

VECT:

origin=0xff80,length0x80

  PAGE0:

PROG:

origin=0x2000,length0x400

  PAGE1:

DATA:

origin=0x800,length0x400

}

SECTIONS

{

  .vectors:

{}>PROGPAGE0

  .text:

{}>PROGPAGE0

 .data:

{}>PROGPAGE0

  .cinit:

{}>PROGPAGE0

  .bss:

{}>DATAPAGE1

}

下面介绍一下CMD文件中常用的程序段名与含义

1..cinit存放C程序中的变量初值和常量;

2..const存放C程序中的字符常量、浮点常量和用const声明的常量;

3..text存放C程序的代码;

4..bss为C程序中的全局和静态变量保留存储空间;

5..far为C程序中用far声明的全局和静态变量保留空间;

6..stack为C程序系统堆栈保留存储空间,用于保存返回地址、函数间的参数传递、存储局部变量和保存中间结果;

.sysmem用于C程序中malloc、calloc和realloc函数动态分配存储空间。

(二)vecs.asm文件简介

vecs.asm是DSP的中断向量表文件。

中断服务程序的地址(中断向量)要装载到存储器的合适区域。

一般中断向量表文件是采用汇编语言编写;在文件中一般汇编指令.sect来生成一个表。

这个表包含中断向量的地址和跳转指令。

因为中断读物的标志符在汇编语言模块外部使用,所以标志符用.ref或.global。

(三)GEL文件简介

GEL文件的功能同cmd文件的功能基本相同,用于初始化DSP。

但它的功能比cmd文件的功能有所增强,GEL在CCS下有一个菜单,可以根据DSP的对象不同,设置不同的初始化程序。

以下面的例子介绍一下GEL文件的构成。

例:

#defineDEC2812_CTL0x60000//定义DEC2812_CTL寄存器

#defineDEC2812_INT0x60001//定义DEC2812_INT寄存器

#defineDEC2812_STA0x60002//定义DEC2812_STA寄存器

StartUp();开始函数

{

GEL_MapReset();;存储空间复位

GEL_MapAdd(0x0000,0,0x7fff,1,1);定义程序空间0000-7fff可读写

GEL_MapAdd(0x8000,0,0x7000,1,1);定义程序空间8000-f000可读写

GEL_MapAdd(0x0000,1,0x1000,1,1);定义数据空间0000-f000可读写

GEL_MapAdd(0xffff,2,1,1,1);定义I/O空间0xffff可读写

GEL_MapOn();存储空间打开

GEL_MemoryFill(0xffff,2,1,0x40);在I/O空间添入数值40h

}

3、CCS常用指令简介

1.设置断点。

将光标放置在需要设置断点的程序行前,选择Debug→Breakpoints,即完成可一个断点的设置。

2.CCS提供3种方法复位目标板

1)ResetDSP:

Debug→ResetD,初始化所有的寄存器内容并暂停运行中的程序。

使用此命令后,要重新装载.out文件后,再执行程序。

2)Restart:

Debug→Restart,将PC值恢复到当前载入程序的入口地址。

3)Gomain:

Debug→Gomain,将程序运行到主程序的入口处暂停。

3.CCS提供4种执行操作

1)执行执行:

Debug→Run,程序运行直到遇到断点为止。

2)暂停执行:

Debug→Halt,程序停止运行。

3)动画执行:

Debug→Animate,用户反复运行程序,直到遇到断点为止。

4)自由执行:

Debug→RunFree,禁止所有断点运行程序。

4.CCS提供4种单步执行操作

1)单步进入:

快捷键F8,Debug→stepinto,当调试语句不是基本的汇编指令时,此操作进入语句内部。

2)单步执行:

Debug→stepOver,此命令将函数或子函数当作一条语句执行,不进入内部调试。

3)单步跳出:

Debug→stepOut,此命令作用为从子程序中跳出

4)执行到光标处:

快捷键crtl+F10,Debug→RuntoCursor,此命令作用为将程序运行到光标处。

5.内存、寄存器与变量的操作

1)查看变量:

使用view→WatchWindow命令

2)查看寄存器:

使用view→Registers→CPURegisters命令

3)查看内存:

使用view→memory命令

6.Graph的设置即图形显示

1)选择View→Graph→Time/Frequency。

2)在弹出的GraphPropertyDialog对话窗中,将GraphTitle,StartAddress,AcquisitionBufferSize,DisplayDataSize,DSPDataType等的属性可改变为如下图所示(也可根据具体需要设置属性)。

向下滚动右侧的滚动条或调整dialog框的大小可看到所有的属性。

示例(A)将起始地址为0x2c28的数组进行图形显示

3)点击OK,将出现所设的图形窗口。

如:

在滤波实验中,用以上方法设定的图形窗口,在运行滤波程序后,最终的显示结果如下图所示

4)可以在图形上单击右键,选择“FloatInMainTable”,这时图形将浮现在主窗口中,以便观察。

六、实验准备及步骤

实验准备:

1.将DSP仿真器与计算机连接好;

2.将DSP仿真器的JTAG插头与SEED-DEC2812单元的J1相连接;

3.启动计算机,当计算机启动后,打开SEED-DTK2812的电源。

观察SEED-DTK_MBoard单元的+5V,+3.3V,+15V,-15V的电源指示灯灯及SEED-DEC2812的电源指示灯D2是否均亮;若有不亮,请断开电源,检查电源。

实验步骤:

a)创建源文件

1.双击

图标进入CCS环境。

2.打开CCS选择File→New→SourceFile命令

3.编写源代码并保存

4.保存源程序名为math.c,选择File→Save

5.创建其他源程序(如.cmd)可重复上述步骤。

b)创建工程文件

1.打开CCS,点击Project-->New,创建一个新工程,其中工程名及路径可任意指定

弹出如下对话框:

2.在Project中填入工程名,Location中输入工程路径;其余按照默认选项,点击完成即可完成工程创建;

3.点击Project选择addfilestoproject,添加工程所需文件;

4.在弹出的对话框中的下拉菜单中分别选择.c点击打开,即可添加源程序math.c添加到工程中;

5.同样的方法可以添加文件math.cmd、rts.lib到工程中;在下面窗口中可以看到math.c、math.cmd、rts.lib文件已经加到工程文件中。

c)设置编译与连接选项

1.点击Project选择BuildOpitions;

2.在弹出的对话框中设置相应的编译参数,一般情况下,按默认值就可以;

3.在弹出的对话框中选择连接的参数设置,设置输出文件名(可执行文件与空间分配文件),堆栈的大小以及初始化的方式。

 

d)工程编译与调试

1.点击Project→Buildall,对工程进行编译,如正确则生成out文件;若是修改程序,可以使用Project→Build命令,进行编译连接,它只对修改部分做编译连接工作。

可节省编译与连接的时间。

编译通过,生成.out文件;

2.点击File→loadprogram,在弹出的对话框中载入debug文件夹下的.out可执行文件;

3.装载完毕;

4.点击debug→GoMain回到C程序的入口;

5.打开File→Workspace→SaveWorkspace保存调试环境,以便下次调试时不需要重新进行设置。

只要File→Workspace→LoadWorkspace即可恢复当前设置。

七、实验报告要求

1.叙述利用CCS集成开发环境,生成工程的方法;

2.叙述CCS集成开发环境的调试过程。

3.请参阅CCS的在线帮助或CCS使用指南,进一步学习关于ProbePoints、Graph、Animation和GEL文件的知识并进行总结。

实验二、SRAM读写实验

一、实验目的:

1.熟悉SEED-DEC2812的实验环境;

2.解SRAM存储空间的分配。

二、实验内容

1.DSP的初始化;

2.DARAM上写数据;

3.检查并读取SRAM上的数据。

三、实验要求

1.了解TMS320VC2812的内部存储器空间的分配与使用。

四、实验仪器

1.PC机

2.DSP实验箱

3.DSP仿真器

五、实验原理

TMS320F2812片内包括5段SARAM,M0、M1、L0、L1和H0段。

所有基于C28x内核的数字信号处理器都包含两个单周期快速访问的存储器,M0和M1。

每个空间的长度都是1K字,其中M0映射到0x000000~0x0003F空间,M1映射到0x000400~0x0007F空间。

在复位状态下,堆栈指针指向M1模块的起始位置。

MO和M1既可以执行程序也可以存放数据变量。

其中,M0和M1段大小都为1K×16位的SARAM,当复位后,堆栈指针指向M1段的开头。

M0和M1段都可以映射到程序区和数据区。

L0、L1和H0段大小总和为16K×16位的SARAM,分为3块(4K+4K+8K),分别是L0(4K),L1(4K),H0(8K)。

每块可以单独使用,都可以映射到程序区和数据区。

1、实验程序,包含文件:

1.sram.c:

这是实验的主程序,包含了系统初始化,SRAM读写程序等。

2.DSP28_GlobalVariableDefs.c:

定义各模块的全局变量。

3.DSP28_SysCtrl.c:

系统初始化函数。

4.DSP28_DefaultIsr.c:

系统中断向量表初始化

5.2812.cmd:

声明了系统的存储器配置与程序各段的连接关系。

6.2812.gel:

系统初始化

 

2、程序流程图

六、实验步骤及注意事项

实验准备:

首先将光盘下03.ExamplesofProgram\04.SEED_DEC2812实验程序目录下的3.2.2onchip_sram的文件夹拷贝到D:

盘根目录下。

1.将DSP仿真器与计算机连接好;

2.将DSP仿真器的JTAG插头与SEED-DEC2812单元的J1相连接;

1.打开SEED-DTK2812的电源。

观察SEED-DEC-MBoard单元的+5V,+3.3V,+15V,-15V的电源指示灯以及SEED_DEC2812的电源指示灯D2是否均亮;若有不亮的,请断开电源,检查电源

实验步骤:

1.打开CCS,进入CCS的操作环境。

2.装入sram.pjt工程文件,添加2812.gel文件。

3.装载sram.out文件,进行调试。

4.在sram.c程序的第34行“Errcount=0;”与第42行;”for(;;)”处设置断点。

5.运行程序,程序会停在断点处,观察SourData[i]的值。

6.继续运行程序,观察结果。

七、实验报告要求

1.叙述TMS320VC2812的内部存储器空间的分配。

2.在整个工程中程序初始化包括哪几个部分,各自的作用?

3.总结调试运行情况及所遇到的问题的解决方法。

 

实验三、定时器控制实验

一、实验目的

1.熟悉如何编写2812的中断服务程序;

2.掌握长时间间隔的定时器的处理。

3.掌握片内外设的设置方法。

二、实验内容

1.系统初始化;

2.DSP的初始设置;

3.定时中断的编写;

三、实验要求

通过本实验,熟悉中断的结构及用中断程序控制程序流程,掌握定时器的应用。

四、实验仪器

1.PC机

2.DSP实验箱

3.DSP仿真器

五、实验原理

TMS320F2812片内有3个32位时钟。

其中定时器1和定时器2预留给适时操作系统使用(例如DSPBIOS),只有CPU定时器0用户可以在应用程序中使用。

这些时钟有一个32位计数器,当计数器到达0时,产生一个中断。

其中,TIMER0中断为PIE中断,TIMER1中断直接连到CPU的INT13,TIMER2中断直接连到CPU的INT14。

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

3个定时器的中断信号(

)在处理器内部连接不尽相同,如下图所示:

定时器在工作过程中,首先用32位计数寄存器(TIMH:

TIM)装载周期寄存器(PRDH:

PRD)内部的值。

计数寄存器

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1