DSP数据存储器和程序存储器实验
- 格式:doc
- 大小:34.50 KB
- 文档页数:5
[《DSP原理及应用》课程实验报告](软、硬件实验)实验名称:[《DSP原理及应用》实验]专业班级:[ ]学生姓名:[ ]学号:[ ]指导教师:[ ]完成时间:[ ]目录第一部分.基于DSP系统的实验 (1)实验3.1:指示灯实验 (1)实验3.2:DSP的定时器 (3)实验3.5 单路,多路模数转换(AD) (5)第二部分.DSP算法实验 (13)实验5.1:有限冲击响应滤波器(FIR)算法实验 (13)实验5.2:无限冲激响应滤波器(IIR)算法 (17)实验5.3:快速傅立叶变换(FFT)算法 (20)第一部分.基于DSP系统的实验实验3.1:指示灯实验一.实验目的1.了解ICETEK–F2812-A评估板在TMS320F2812DSP外部扩展存储空间上的扩展。
2.了解ICETEK–F2812-A评估板上指示灯扩展原理。
1.学习在C语言中使用扩展的控制寄存器的方法。
二.实验设备计算机,ICETEK-F2812-A实验箱(或ICETEK仿真器+ICETEK–F2812-A系统板+相关连线及电源)。
三.实验原理1.TMS320F2812DSP的存储器扩展接口存储器扩展接口是DSP扩展片外资源的主要接口,它提供了一组控制信号和地址、数据线,可以扩展各类存储器和存储器、寄存器映射的外设。
-ICETEK–F2812-A评估板在扩展接口上除了扩展了片外SRAM外,还扩展了指示灯、DIP开关和D/A设备。
具体扩展地址如下:C0002-C0003h:D/A转换控制寄存器C0001h:板上DIP开关控制寄存器C0000h:板上指示灯控制寄存器详细说明见第一部分表1.7。
-与ICETEK–F2812-A评估板连接的ICETEK-CTR显示控制模块也使用扩展空间控制主要设备:108000-108004h:读-键盘扫描值,写-液晶控制寄存器108002-108002h:液晶辅助控制寄存器2.指示灯扩展原理3.实验程序流程图开始初始化DSP时钟正向顺序送控制字并延时四.实验步骤1.实验准备连接实验设备:请参看本书第三部分、第一章、二。
姓名:班级:自动化15 学号:2015实验一数据存储实验一实验目的1。
掌握TMS320F2812程序空间的分配;2。
掌握TMS320F2812数据空间的分配;3。
能够熟练运用TMS320F2812数据空间的指令。
二实验步骤与内容实验步骤1.在进行DSP实验之前,需先连接好仿真器、实验箱及计算机,连接方法如下所示:2.F2812CPU板的JUMP1的1和2脚短接,拨码开关SW1的第二位置ON;其余OFF3.E300底板的开关SW4的第2位置ON,其余位置OFF.其余开关设置为OFF.4.上电复位在硬件安装完成后,确认安装正确、各实验部件及电源连接无误后,启动计算机,接通仿真器电源,此时,仿真器上的指示灯应点亮,否则DSP开发系统与计算机连接存在问题。
5.运行CCS程序1)待计算机启动成功后,实验箱220V电源置“ON",实验箱上电2)启动CCS5.5,工作环境的路径选择:E:\E300Program\E300TechV-2812\normal ;6.成功运行CCS5.5程序后,出现如下图所示界面:7.右键点击Project Explorer窗口下的工程文件“e300_01_mem”,选择“Open Project"命令打开该工程,如下图所示,可以双击才看左侧源文件;8.点击菜单栏Project/Build All命令编译整个工程,编译完成后点击按钮进入仿真模式,完全进入后如下图所示:9.用“View"下拉菜单中的“Memory/Browser”查看内存单元,参数设置如下图:注意:下面的参数设置都是以16进制。
此时可以观测到以0x003F9020为起始地址的存储单元内的数据;10.单击按钮,开始运行程序,一段时间后,单击按钮,停止程序运行,0x003F9020H~ 0x3F902FH单元的数据的变化,如下图所示:11.关闭Memory Browser窗口,点击按钮,退出仿真模式。
DSP实验实验一存储器访问实验修改程序中指针room和room2指向的地址,分别改为0x0080、0x008F,0x0100、0x010F,0x0400、0x040F,查看view-memory 中结果如何?并思考为什么?答:将程序中0x0060; 0x006F; 分别改为0x0080、0x008F,0x0100、0x010F,0x0400、0x040F即可。
观察view-memory发现:1)改成0x0080、0x008F时,view-memory 中从0x0080开始的地址没有变化,因为从0x0080到0x00FF之间属于非法区域,不可以读写数据。
2)改成0x0100、0x010F时,view-memory 中从0x0100开始的地址没有变化,而是会跳到0x0200到0x020F,即从0x0200到0x020F的数据都显示0xAAAA,因为x0200到0x020F属于保留区域。
3)改成0x0400、0x040F时,view-memory 中从0x0400开始的地址没有变化,而是会跳到0x0300到0x030F,即从0x0300到0x030F的数据都显示0xAAAA,因为0x0400到0x040F属于保留区域。
程序如下:/*;***********************************************************************;* 北京达盛科技有限公司;* 研发部;*;* ;*;*--------------------------------------------- 文件信息---------------*文件名称:mem.c*文件标示:*摘要:本文件内容为tms320lf2407 dsp的存贮器操作练习程序把* 数据空间从0x0060开始的8个地址空间,填写入0xAAAA的* 数值,然后读出,并存储到0X0068开始的8个地址空间**************************************************************//************************文件预处理***************************/#include "e100_2407.h"/*************************************************************//********************全局变量定义与初始化*********************//*************************************************************//*******************函数、子程序声明与定义********************/void sys_ini() //系统初始化子程序{/*关总中断*/asm(" setc INTM");/*抑制符号位扩展*/asm(" clrc SXM");/*累加器中结果正常溢出*/asm(" clrc OVM");/*禁止看门狗*/* WDCR=0x00E8;/*CLKIN=15M,CLKOUT=30M*/* SCSR1=0x0200;}/*************************************************************//*****************中断服务子程序声明与定义********************/ interrupt void nothing() //哑中断子程序{return;}/*************************************************************//**************************主程序*****************************/void main(void){int i;volatile unsigned int *room = (volatile unsigned int *)0x0060;volatile unsigned int *room2= (volatile unsigned int *)0x006F;sys_ini();/*将0xAAAA写入从数据空间的地址0x0060开始的8个单元中*/for(i=0;i<8;i++){*room=0xAAAA;room++;}/*从0x0060开始的8个空间读出数据依次写入从0x0068开始的8个单元中*/ for(i=0;i<8;i++){*room2=*(room-1);room--;room2--;}}/***************************结束******************************/实验二I/O端口控制实验1)将提供的实验程序运行,并观察实验结果2)修改程序使得可以将开关的状态保存到数据存储空间0x0060单元3)让数据存储空间0x0061单元的低八位来控制发光二极管的显示答:1)实验结果:八个开关控制的发光二极管亮灭为:0x00AA=10101010(1代表亮,0代表灭)2)在sys_ini();的前面加上一段程序:volatile unsigned int *room = (volatile unsigned int *)0x0060; 并将port0004=port0004;改成*room=port0004;3)在sys_ini();的前面加上一段程序:volatile unsigned int *room = (volatile unsigned int *)0x0061; 并将port0004=port0004;改成port0004=*room;程序如下:/*;***********************************************************************;* 北京达盛科技有限公司;* 研发部;*;* ;*;*--------------------------------------------- 文件信息---------------*文件名称:io.c*文件标示:*摘要:本文件内容为tms320lf2407 dsp的IO空间操作练习程序*************************************************************//************************文件预处理***************************/#include "e100_2407.h"/*************************************************************//********************全局变量定义与初始化*********************/ioport short port0004; //输入端口地址定义/*************************************************************//*******************函数、子程序声明与定义********************/void sys_ini() //系统初始化子程序{/*关总中断*/asm(" setc INTM");/*抑制符号位扩展*/asm(" clrc SXM");/*累加器中结果正常溢出*/asm(" clrc OVM");/*禁止看门狗*/* WDCR=0x00E8;/*CLKIN=15M,CLKOUT=30M*/* SCSR1=0x0200;}/*************************************************************/ /*****************中断服务子程序声明与定义********************/ interrupt void nothing() //哑中断子程序{return;}/*************************************************************/ /**************************主程序*****************************/ void main(void){sys_ini();for(;;){/*将io空间的0004地址的值赋予io空间的0004地址*/port0004=port0004;}}/***************************结束******************************/实验三定时器实验1)阅读程序,理解程序,预测实验结果。
实验一数字IO应用实验—、实验目的1. 了解DSP开发系统的组成和结构2. 在实验设备上完成I/O硬件连接,编写I/O实验程序并运行验证。
3. 内存观察工具的使用二、实验设备计算机,CCS3.1版本软件,DSP仿真器,教学实验箱三、实验原理2.键值读取程序:该部分有两种方法进行键值的判断。
方法1:利用内存观察工具进行观察方法2:利用LED1-LED8的亮灭对应显示键值。
a)外部中断1的应用参照实验五;b)内存观察键值:程序中定义了三个变量“W”“row”和“col”。
“W”代表是CPLD中键盘的扫描数值,“row”和“col”分别代表键盘的行和列,由行和列可以判定按键的位置。
上述三个变量可以在观察窗口中观察的。
c)利用LED灯显示键值原理,参看实验一。
具体的LED灯显示值以查表的形式读出,请参看“”库文件。
本实验的CPLD地址译码说明:基地址:0x0000,当底板片选CS0为低时,分配有效。
CPU的IO空间:基地址+0x0200 LED灯output 8位外部中断用XINT1:由CPLD分配,中断信号由键盘按键产生。
中断下降沿触发。
KEY_DAT_REG(R):基地址+0x0004;四、实验步骤和内容1.2407CPU板JUMP1的1和2脚短接,拨码开关S1的第一位置ON,其余置OFF;2.E300板上的开关SW4的第一位置ON,其余OFF;SW3的第四位置ON其余的SW置OFF“DEBUG→Connect”)4.打开系统项目文件 \e300.test\ normal \05_key interface \;“\Debug\”文件“Debug\Go Main”跳到主程序的开始;7.指定位置设置断点;8.View--〉Watch Window打开变量观察窗口;9. 将变量“w”“row”和“col”添加到观察窗口中,改变变量观察窗口的显示方式为HEX显示。
“Debug--〉Animate”全速运行,然后点击E300板上键盘按键,观察窗口中变量变化,同时LED1-LED8灯也相应变化,指示键值。
第三章DSP芯片系统实验实验3.1 :数据存取实验一.实验目的1.了解TMS320F2812A的内部存储器空间的分配及指令寻址方式。
2.了解ICETEK-F2812-A评估板扩展存储器空间寻址方法,及其应用。
3.了解ICETEK-F2812-EDU实验箱扩展存储器空间寻址方法,及其应用。
4.学习用Code Composer Studio修改、填充DSP内存单元的方法。
5.学习操作TMS32028xx内存空间的指令。
二.实验设备计算机,ICETEK-F2812-A-EDU实验箱(或ICETEK仿真器+ICETEK-F2812-A评估板+相关连线及电源)。
三.实验内容在外部SARAM的0x80000~0x8000f单元置数0~0xf,将该单元块存储的数据复制到0x80100~0x8010f处,最后通过“Memory”查看窗口观察各存储区中的数据。
四.实验原理TMS32028xx DSP内部存储器资源介绍:TMS32028xx系列DSP基于增强的哈佛结构,可以通过三组并行总线访问多个存储空间。
它们分别是:程序地址总线(PAB)、数据读地址总线(DRAB)和数据写地址总线(DW AB)。
由于总线工作是独立的,所以可以同时访问程序和数据空间。
TMS32028xx系列DSP的地址映象请参考第一章1.2.4节ICETEK-F2812-A评估板的存储空间定义及寄存器映射说明中的介绍。
五.实验步骤1.实验准备连接实验设备。
参见第一章1.3.1节中的“硬件连接方法”。
连接仿真器USB口接线,打开实验箱电源开关,接通评估板电源(关闭实验箱上的扩展模块和信号源电源开关)。
2.设置Code Composer Studio 2.21在硬件仿真(Emulator)方式下运行。
参见第一章1.4.2节中的“设置CCS工作在硬件仿真环境”。
3.启动Code Composer Studio 2.21选择菜单Debug→Reset CPU。
一基础实验:CCS 的使用与简单应用程序的调试1.1 实验目的1. 熟悉CCS 集成开发环境,掌握工程的生成方法;2. 熟悉SEED-DEC5416 实验环境;3. 掌握CCS 集成开发环境的调试方法;1.2 实验内容1. DSP源文件的建立;2. DSP程序工程文件的建立;3. 学习使用CCS集成开发工具的调试工具;1.3 实验知识背景1.3.1 CCS 简介S 提供了配置、建立、调试、跟踪和分析程序的工具,它便于实时、嵌入式信号处理程序的编制和测试,它能够加速开发进程,提高工作效率。
CCS提供了基本的代码生成工具,它们具有一系列的调试、分析能力。
CCS 支持如下所示的开发周期的所有阶段S窗口介绍1.3.2 CCS 常用文件介绍使用CCS时,经常遇见下述扩展名文件:1. project.mak: CCS使用的工程文件2. program.c: C程序源文件3. program.asm: 汇编程序源文件4. filename.h: C程序的头文件,包含DSP/BIOS API模块的头文件5. filename.lib: 库文件6. project.cmd: 连接命令文件7. program.obj: 由源文件编译或汇编而得的目标文件8. program.out: (经完整的编译、汇编以及连接的)可执行文件9. project.wks: 存储环境设置信息的工作区文件保存配置文件时将产生下列文件:1. programcfg.cmd: 连接器命令文件2. programcfg.h54: 汇编头文件3. programcfg.s54: 汇编源文件1.3.3 CCS 常用指令简介1.设置断点。
将光标放置在需要设置断点的程序行前,选择Debug→Breakpoints,即完成可一个断点的设置。
2.CCS 提供3 种方法复位目标板1) Reset DSP:Debug →Reset D,初始化所有的寄存器内容并暂停运行中的程序。
我不应把我的作品全归功于自己的智慧,还应归功于我以外向我提供素材的成千成万的事情和人物!——采于网,整于己,用于民2021年5月12日dsp实验报告总结篇一:dsp课程设计实验报告总结DSP课程设计总结(XX-XX学年第2学期)题目:专业班级:电子1103 学生姓名:万蒙学号:指导教师:设计成绩:XX 年6 月目录一设计目的----------------------------------------------------------------------3 二系统分析----------------------------------------------------------------------3 三硬件设计3.1 硬件总体结构-----------------------------------------------------------3 3.2 DSP模块设计-----------------------------------------------------------4 3.3 电源模块设计----------------------------------------------------------4 3.4 时钟模块设计----------------------------------------------------------5 3.5 存储器模块设计--------------------------------------------------------6 3.6 复位模块设计----------------------------------------------------------6 3.7 JTAG模块设计--------------------------------------------------------7 四软件设计4.1 软件总体流程-----------------------------------------------------74.2 核心模块及实现代码---------------------------------------8五课程设计总结-----------------------------------------------------14一、设计目的设计一个功能完备,能够独立运行的精简DSP硬件系统,并设计简单的DSP控制程序。
实验1.1 : Code Composer Studio入门一.实验目的1.掌握Code Composer Studio 3.3的安装和配置步骤过程。
2.了解DSP开发系统和计算机与目标系统的连接方法。
3.了解Code Composer Studio3.3软件的操作环境和基本功能,了解TMS320C55xx软件开发过程,包括:⑴学习创建工程和管理工程的方法。
⑵了解基本的编译和调试功能。
⑶学习使用内存与变量观察窗口。
⑷了解图形功能的使用。
二.实验设备1.PC兼容机一台;操作系统为WindowsXP。
2.ICETEK-VC5509-A实验箱一台。
如无实验箱则配备ICETEK-USB仿真器和ICETEK –VC5509-A或ICETEK-VC5509-C评估板,+5V电源一只。
3.USB连接电缆一条。
三.实验原理*开发TMS320C55xx应用系统一般需要以下几个调试工具来完成:-软件集成开发环境(Code Composer Studio 3.3):完成系统的软件开发,进行软件和硬件仿真调试。
它也是硬件调试的辅助手段。
-开发系统(ICETEK 5100-USB):实现硬件仿真调试时与硬件系统的通信,控制和读取硬件系统的状态和数据。
-评估模块(ICETEK VC5509-A或ICETEK VC5509-C等):提供软件运行和调试的平台和用户系统开发的参照。
*Code Composer Studio 3.3主要完成系统的软件开发和调试。
它提供一整套的程序编制、维护、编译、调试环境,能将汇编语言和C语言程序编译连接生成COFF (公共目标文件)格式的可执行文件,并能将程序下载到目标DSP上运行调试。
*用户系统的软件部分可以由CCS建立的工程文件进行管理,工程一般包含以下几种文件:-源程序文件:C语言或汇编语言文件(*.C或*.ASM)-头文件(*.H)-链接命令文件(*.CMD) -库文件(*.LIB,*.OBJ)四.实验步骤1.实验准备连接实验设备:请参看本书第二部分、第一章、二.ICETEK DSP教学实验箱的硬件连接。
DSP器件及应用实验指导手册西安文理学院机械电子工程系目录实验一 CCS 操作实验 (2)实验二存储器实验 (5)实验三发光二极管循环点亮实验 (10)实验四数码显示实验 (12)实验五硬件中断实验 (14)实验六液晶显示实验 (16)实验七定时器实验 (18)实验八步进电机控制实验 (20)实验九用DSP芯片生成正弦信号发生器 (23)附录:数据流程图及端口地址 (24)实验一 CCS 操作实验一、实验目的1、熟悉CCS2.0软件的使用。
2、了解SZ-DSPF开发教学平台的使用。
二、实验设备计算机、DSP硬件仿真器、SZ-DSPF开发教学平台。
三、实验原理了解怎样连接DSP仿真器、对CCS的仿真配置及怎样在CCS内新建工程并生成*.out文件。
四、实验步骤安装CCS2.0的Simulator方式:双击桌面上的Setup CCS2(…C5000)图标,关闭Import Configuration窗口,在System Configuration中的My System的下面可看到一个类似板卡的图标,如果该图标的名称是“tisim54x”的话,就可直接关闭该窗口,不存盘退出。
如果该图标的名称不是“tisim54x”的话,在该图标上单击右键,选择remove 删除该结构,然后在Available Board Types中双击“tisim54x”的图标(如果有的话),弹出Board Properties的对话框点击“next”、“finish”然后关闭Code Composer Setup窗口,存盘退出即可。
如果在Available Board Types中没有“tisim54x”的图标,则在右边框内单击“Install a Device Driver”,在路径“c:\ti\driver\”(此目录为CCS的安装目录)中打开tisim54x.dvr 文件,在Available Board Types中可看到“tisim54x”的图标,然后按上述操作。