DSP数据存储器和程序存储器实验

合集下载

《DSP原理及应用》课程实验报告

《DSP原理及应用》课程实验报告

[《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.实验准备连接实验设备:请参看本书第三部分、第一章、二。

DSP实验报告

DSP实验报告

姓名:班级:自动化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实验

DSP实验

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)阅读程序,理解程序,预测实验结果。

DSP实验报告

DSP实验报告

实验一数字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实验报告.

东南大学DSP实验报告.

第三章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。

dsp实验

dsp实验

一基础实验: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,初始化所有的寄存器内容并暂停运行中的程序。

DSP实验报告最终版

DSP实验报告最终版
PLL_Init(20);
SDRAM_init();
InitCTR();
PLL_Init(20);
SDRAM_init();
InitCTR();
//直流电机
//unsigned char dbScanCode,dbOld;
//unsigned char dbOld;
dbScanCode=dbOld=0;
在PWM调速时,占空比a是一个重要参数。以下三种方法都可以改变占空比的值:
(1)定宽调频法:这种方法是保持t1不变,只改变t2,这样使周期T(或频率)也随之改变。
(2)调宽调频法:这种方法是保持t2不变,只改变t1,这样使周期T(或频率)也随之改变。
(3)定频调宽法:这种方法是使周期T(或频率)保持不变。而改变t1和变t2。
2)设置CCS软件,点击debug—connect将试验箱和CCS软件连接。
3)右键单击project添加本实验程序,编译,将对应文件夹的*.out文件下载,点击debug-run运行程序。
·按键盘“1”键,进入直流电机程序,按键盘“3-6”键可以改变直流电机转速,按“7”或“8”键改变电机旋转方向。
键盘的扫描码由DSP得CTRKEY给出,当有键盘输入时,读此端口得到扫描码,当无键按下时,读此端口的结果为0。CTRCLKEY。读取的方法如下:
nScanCode=CTRKEY;nnn=CTRCLKEY;//nScanCode中为扫描码
对于高速运行的DSP,在两次读键盘之间可能需要增加延时语句。键盘连接原理如下:
ioport unsigned int *prsc0;
int nCursorCount;
void InitInterrupt();
void InitMcBSP();

dsp实验报告总结【精品】

dsp实验报告总结【精品】

我不应把我的作品全归功于自己的智慧,还应归功于我以外向我提供素材的成千成万的事情和人物!——采于网,整于己,用于民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控制程序。

dsp实验报告1

dsp实验报告1

实验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教学实验箱的硬件连接。

试验一CCS操作试验-机械与材料工程学院-西安文理学院

试验一CCS操作试验-机械与材料工程学院-西安文理学院

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”的图标,然后按上述操作。

CCS使用和数据存储实验

CCS使用和数据存储实验

实验一 CCS使用和数据存储实验一、实验目的1. 掌握CCS的使用2. 掌握TMS320C54X 程序空间的分配;3. 掌握TMS320C54X 数据空间的分配;4. 能够熟练运用TMS320C54X 数据空间的指令。

二、实验设备计算机,CCS 3.1版软件,DSP仿真器,E300实验箱,DSP-54XP CPU板。

三、实验步骤与内容1. 在进行DSP实验之前,需先连接好仿真器、实验箱及计算机,连接方法如下所示:2. E300 底板的开关SW4 的第1位置ON,其余位置OFF。

其余开关设置为OFF。

3. 上电复位在硬件安装完成后,确认安装正确、各实验部件及电源连接无误后,启动计算机,接通仿真器电源,此时,仿真器上的“红色指示灯”应点亮,否则DSP开发系统与计算机连接存在问题。

4. 运行CCS程序1) 待计算机启动成功后,实验箱220V电源置“ON”,实验箱上电2) 启动CCS3.1,进入CCS界面后,点击“Debug—Connect”3) 此时仿真器上的“绿色指示灯”应点亮,CCS正常启动,表明系统连接正常;否则仿真器的连接、JTAG 接口或CCS 相关设置存在问题,这时需掉电检查仿真器的连接、JTAG 接口连接是否正确,或检查CCS相关设置是否存在问题。

5. 成功运行CCS 程序后,首先应熟悉CCS的用户界面;6. 学会在CCS环境下创建工程文件、添加程序文件、编写程序、编译、装载、调试,学习如何使用观察窗口等。

7. 用“Project\open”打开“\normal\ 01_mem\ mem.pjt”.编译并装载“\ 01_mem\Debug\mem.out”8.用“Edit”下拉菜单中的“Memory/Fill”编辑内存单元,参数设置如下图:单击“OK”此时以0x1000 为起始地址的16个内存单元被修改成:0x00099.用“View”下拉菜单“Memory”观察内存单元变化,输入要查看的内存单元地址,本实验要查看0x1000H~0x100FH 单元的数值变化,输入地址0x1000H;单击“OK”如下图所示:10. 点击“Debug\Go main”进入主程序,在程序中“加软件断点1”和“加软件断点2”处施加软件断点。

DSP数据存取试验报告

DSP数据存取试验报告

DSP数据存取试验报告
本文主要介绍DSP数据存取试验的相关内容和试验结果。

试验是在一个半导体公司的开发板上进行的,主要涉及到DSP芯片的数据存取性能测试。

在试验之前,我们需要先了解一些DSP芯片的相关知识。

DSP芯片在数据存取方面有两种方式:DSP本地存储器和外部存储器。

DSP本地存储器包括片上存储器(Internal Memory)和片上寄存器(Internal Registers),而外部存储器包括外部RAM(External Memory)和外部Flash(External Flash)。

DSP本地存储器具有速度快、访问方便等优点,但存储空间相对较小。

而外部存储器则存储容量大,但访问速度相对慢。

因此,在实际应用中需要根据具体情况选择合适的存储器。

试验首先测试了DSP本地存储器的读写速度。

试验采用的是32位的定点数,在DSP本地存储器中存储20000个数,接着进行读写操作。

试验结果如下:
读取速度:10.5MB/s
可以看出,DSP本地存储器的读取速度明显高于写入速度。

这是由于读取时只需要在存储器中查找数据,而写入时需要将数据写入存储器,因此速度较慢。

综上所述,本次试验主要测试了DSP芯片的数据存取性能,对比了DSP本地存储器和外部存储器的性能优劣。

试验结果表明,在数据存取方面,DSP本地存储器的速度明显优于外部存储器,但存储容量较小。

因此,在实际应用中需要根据具体需求选择不同的存储器。

dsp实验报告

dsp实验报告

dsp实验报告Dsp实验报告班级:电信08-1学号:80811121姓名:黄伟实验⼀CCS(Code Composer Studio 2.0)安装与认识⼀、实验⽬的⼆、1.掌握 Code Composer Studio 2.0 的安装和配置。

三、2.了解 Code Composer Studio 2.0 软件的操作环境和基本功能。

四、 3. 了解 CCS环境下软件⼯程的建⽴,编译、⽇案件调试运⾏的基本⽅法。

⼆、实验设备要求安装CCS2(Code Composer Studio 2)的PC机。

三、实验步骤1、安装ccs软件打开CCS软件安装⽬录(CCS 开发软件),所有的开发软件都放在这个⽬录下。

请选择 CCS 5000.EXE ⽂件,双击CCS5000进⾏安装,如图2-1,2-2,2-3,2-5,2-6所⽰。

图2-1 CCS安装⽂件夹图2-3图2-4图 2-5 CS5000 软件安装⽰意图3图 2-4 CS5000 软件安装⽰意图3图 2-3 CCS5000 软件安装⽰意图2图 2-2 5000 软件安装⽰意图 1安装完毕CCS5000,再安装升级补丁C5000-2.20.00-FULL-to-C5000-2.21.00-FULL.exe ,2、配置ccs 软件我们做的实验是使⽤c5416模拟仿真,所以配置时选择C5416 Device Simuliator 驱动程序,其图如下(启动setup ccs )图2-9确认选择c5416 Device Simulator图2-6 开发软件图标3、创建新的⼯程(截图略)4、编辑源⽂件源⽂件需要两种:⼀种是实现功能的源程序,⼀种是连接的命令⽂件(1)C 语⾔源程序volume.c#include "volume.h"int inp_buffer[BUF_SIZE]; /* BUF_SIZE 的定义见volume.h */ int out_buffer[BUF_SIZE];int *input; int *output;int volume = 1;struct PARMS str = { 2934,9432,213,9432,&str };/***************************************************************************//* */ /* NAME: read_signals() *//* *//* FUNCTION: read input signal. */ /* *//* PARAMETERS: none. */ /* */图2-10 关闭配置窗⼝/* RETURN VALUE: TRUE. */ /**//************************************************************************** */int read_signals(int *input){/* read reference signal *//* read input signal */r eturn(TRUE);}/************************************************************************** *//**//* NAME: write_buffer() */ /**//* FUNCTION: write to the output buffer. Use the volume variable */ /* to control the volume. */ /**//* PARAMETERS: input , output, num. *//**//* RETURN VALUE: TRUE. *//**//************************************************************************** */ int write_buffer(int *input,int *output,int count){w hile( count--){*output++ = (*input++) * volume;}r eturn(TRUE);}/************************************************************************** */ /**//* NAME: main() *//**//* FUNCTION: Volume Control: Read input buffer *//* multiply by volume coeficient and write to *//* output buffer.*//*/* PARAMETERS: none. *//**//* RETURN VALUE: none. */ /**//************************************************************************** */ main(){i nt num = BUF_SIZE;while(TRUE) /* loop forever */{input = &inp_buffer[0];output = &out_buffer[0];/* read input signals from PC file */read_signals(input);/* write to output buffer */write_buffer(input, output, num);}}(2)命令⽂件和命令⽂件volume.cmdMEMORY{PAGE 0:VECT : o=80h,l=80hPRAM : o=100h,l=1f00hPAGE 1:DRAM : o=2000h,l=1000h}SECTIONS{.text : {}> PRAM PAGE 0.data : {}> PRAM PAGE 0.cinit : {}> PRAM PAGE 0.switch : {}> PRAM PAGE 0.const : {}> DRAM PAGE 1.bss : {}> DRAM PAGE 1.stack : {}> DRAM PAGE 1.vectors: {}> VECT PAGE 0}5、编译源⽂件,产⽣公共⽬标⽂件源程序需要编译/汇编/链接,产⽣⽬标代码。

dps实验2实验报告

dps实验2实验报告

编写一个以C 语言为基础的DSP 程序一.实验目的1.学习用标准C 语言编制程序;了解常用的C 语言程序设计方法和组成部分。

2.学习编制连接命令文件,并用来控制代码的连接。

3.学会建立和改变map 文件,以及利用它观察DSP 内存使用情况的方法。

4.熟悉使用软件仿真方式调试程序。

二.实验设备PC 兼容机一台,操作系统为Windows2000(或Windows98,WindowsXP,以下默认为Windows2000),安装Code Composer Studio 3.1 软件。

三.实验原理1.标准C 语言程序:CCS 支持使用标准C 语言开发DSP 应用程序。

当使用标准C 语言编制程序时,其源程序文件名的后缀应为.c(如:volume.c)。

CCS 在编译标准C 语言程序时,首先将其编译成相应汇编语言程序,再进一步编译成目标DSP 的可执行代码。

最后生成的是COFF 格式的可下载到DSP 中运行的文件,其文件名后缀为.out。

由于使用C 语言编制程序,其中调用的标准C 的库函数由专门的库提供,在编译链接时编译系统还负责构建C 运行环境。

所以用户工程中需要注明使用C 的支持库。

另外,由于TMS320VC5509DSP 的存储器区域较大,程序中如果要使用大于64K 的数据空间,需要设置C 工程使用大模式、连接大模式库。

2.命令文件的作用:命令文件(文件名后缀为.cmd)为链接程序提供程序和数据在具体DSP 硬件中的位置分配信息。

通过编制命令文件,我们可以将某些特定的数据或程序按照我们的意图放置在DSP 所管理的内存中。

命令文件也为链接程序提供了DSP 外扩存储器的描述。

在程序中使用CMD 文件描述硬件存储区,可以只说明使用部分,但只要是说明的,必须和硬件匹配,也就是只要说明的存储区必须是存在的和可用的。

3.内存映射(map)文件的作用:一般地,我们设计、开发的DSP 程序在调试好后,要固化到系统的ROM 中。

DSP实验:常用指令及数据存储实验

DSP实验:常用指令及数据存储实验

DSP实验一:常用指令及数据存储实验一、实验目的1、了解DSP开发系统的组成和结构;2、熟悉DSP开发系统的连接;3、熟悉CCS的开发界面;4、熟悉C54X系列的寻址系统;5、熟悉常用C54X系统指令的用法6、掌握TMS320C54的程序空间和数据空间的分配7、熟悉操作TMS320C54数据空间的指令二、实验设备计算机、CCS2.0版软件,DSP仿真器、实验箱。

三、实验系统相关资源1、DSP芯片引脚XF连接LED5,可通过ssbx,rsbx改变XF的值来控制LED52、系统时钟频率为10MHz3、TMS320VC54存储器分配图四、实验步骤1、用仿真机将计算机与数字信号处理实验箱连接好,并依次打开实验箱电源、仿真机电源,然后运行CCS软件。

2、新建一个工程:点击Project-new,输入项目名Exp1, 并将工程文件保存在自己定义的文件夹下,注意文件夹一定要用英文名,不要将文件夹取名为中文名,因为CCS软件不能识别以中文命名的文件夹。

3、编写源程序:3.1 新建一个源文件File-New-Source File,出现文本编辑窗口3.2 复制以下代码到编辑窗口;File Name:exp01.asm;the program is compiled at no autoinitialization mode.mmregs.global _main;声明_main可被其他模块引用,程序加载到目标板后,;会自动跳转到标号为_main的汇编指令STACK: .usect ".stack",10h.text_main:stm #STACK+10h,sp ;设置堆栈指针STM #0, CLKMD ; (to divider mode before setting) TstStatu1:LDM CLKMD, AAND #01b, A ;poll STATUS bitBC TstStatu1, ANEQSTM #0xF7FF, CLKMD ; set C5402 DSP clock to 10MHz loop:ssbx xf ;将XF置1,熄灭LED5call delay ;调用延时子程序,延时rsbx xf ;将XF置0,点亮LED5call delay ;调用延时子程序,b loop ;程序跳转到"loop";延时子程序delay:stm 270fh,ar3 ; 270fh=9999loop1:stm 0f9h,ar4 ; 0f9h=249loop2:banz loop2,*ar4-banz loop1,*ar3-ret.end注意:(1)源代码的书写有一定的格式,每一行代码分为三个区:标号区、指令区和注释区。

DSP实验报告_百度文库(精)

DSP实验报告_百度文库(精)

实验0 实验设备安装才CCS调试环境实验目的:按照实验讲义操作步骤,打开CCS软件,熟悉软件工作环境,了解整个工作环境内容,有助于提高以后实验的操作性和正确性。

实验步骤:以演示实验一为例:1.使用配送的并口电缆线连接好计算机并口与实验箱并口,打开实验箱电源;2.启动CCS,点击主菜单“Project->Open”在目录“C5000QuickStart\sinewave\”下打开工程文件sinewave.pjt,然后点击主菜单“Project->Build”编译,然后点击主菜单“File->Load Program”装载debug目录下的程序sinewave.out;3.打开源文件exer3.asm,在注释行“set breakpoint in CCS !!!”语句的NOP处单击右键弹出菜单,选择“Toggle breakpoint”加入红色的断点,如下图所示;4.点击主菜单“View->Graph->Time/Frequency…”,屏幕会出现图形窗口设置对话框5.双击Start Address,将其改为y0;双击Acquisition Buffer Size,将其改为1;DSP Data Type设置成16-bit signed integer,如下图所示;6.点击主菜单“Windows->Tile Horizontally”,排列好窗口,便于观察7.点击主菜单“Debug->Animate”或按F12键动画运行程序,即可观察到实验结果:心得体会:通过对演示实验的练习,让自己更进一步对CCS软件的运行环境、编译过程、装载过程、属性设置、动画演示、实验结果的观察有一个醒目的了解和熟悉的操作方法。

熟悉了DSP实验箱基本模块。

让我对DSP课程产生了浓厚的学习兴趣,课程学习和实验操作结合为一体的学习体系,使我更好的领悟到DSP课程的实用性和趣味性。

实验二基本算数运算2.1 实验目的和要求加、减、乘、除是数字信号处理中最基本的算术运算。

dsp实验报告

dsp实验报告

DSP实验报告班级:电信09-2班学号:3090718208姓名:指导老师:实验一:编制链接控制文件一.实验目的1.学习用汇编语言编制程序;了解汇编语言程序与C 语言程序的区别和CCS 使用它们时在设置上的不同。

2 .学习编制命令文件控制代码的连接。

3 .学会建立和改变map 文件,以及利用它观察DSP 内存使用情况的方法。

4 .熟悉使用软件仿真方式调试程序。

二.实验设备PC 兼容机一台,操作系统为Windows2000( 或Windows98 ,WindowsXP ,以下默认为Windows2000) ,安装Code Composer Studio 2.0 软件三.实验原理1.内存映射(map)文件的作用一般地,我们设计、开发的DSP 程序在调试好后,要固化到系统的ROM 中。

为了更精确地使用ROM 空间,我们就需要知道程序的大小和位置,通过建立目标程序的map 文件可以了解DSP 代码的确切信息。

当需要更改程序和数据的大小和位置时,就要适当修改cmd 文件和源程序,再重新生成map 文件来观察结果。

2.源程序分析汇编语言源程序UseCMD.asm 框图:开始↓开设未初始化变量x,y,z↓赋初值:x=1,y=2↓在累加器中计算x+y↓输出结果到z↓循环四.实验步骤1.设置软件仿真模式:2 .打开工程文件3 .设置工程文件4 .编译源文件,下载可执行程序5 .打开观察窗口6 .观察程序运行结果7 .生成内存映像文件8.对照观察map 文件和cmd 文件的内容9 .改变内存分配五.实验结果通过实验可以发现,修改cmd 文件可以安排程序和数据在DSP 内存资源中的分配和位置;map 文件中描述了程序和数据所占用的实际尺寸和地址。

实验程序中计算变量的取值之和,由于取值较小,所以结果仍为16 位数,程序中仅考虑保存acc 的低16 位作为结果。

但如果计算中有进位等问题就需要考虑保存acc 的高16 位结果了。

DSP原理与应用实验2DSP 数据存取实验

DSP原理与应用实验2DSP 数据存取实验

课程名称DSP原理与应用
实验序号实验2
实验项目DSP 数据存取实验实验地点
实验学时实验类型
指导教师实验员
专业班级
学号姓名
年月日
1、装载程序memory.out,进行调试。

运行到main 函数入口:
2、修改程序区的存储单元:
修改前:
此时入口地址为10801200,数据地址为01BCD4F6
修改中:
注意:修改前面的入口地址之后,一定要重新设置数据存储地址修改后:
当前语句被改成了“NOP”。

将地址0x10801200 上的数据改回0x01BCD4F6,程序又恢
复成原样。

3、断点调试:
(1)、运行到第一个断点:
我们可以memory 窗口中从0x80000080 开始的16 个单元的值被写入0x00000000 到0x0000000。

(2)、运行到第二个断点:
我们可观察到memory 窗口中从0x80000100 开始分16 个单元中的值被均被写入0x00001234。

(3)、运行到第三个断点:
我们可以观察到0x80000080 开始的16 个单元的值复制到以0x80000100 开始的16 个单元,数据发送了变化,因此数据颜色变为红色。

DSP原理及应用的实验教学

DSP原理及应用的实验教学

TMS320C54X的数据寻址方式

立即寻址 绝对寻址 累加器寻址 直接寻址 间接寻址 存储器映象寄存器寻址 堆栈寻址
寻址指令中用到的缩写符号及其含义
缩写符号 Smem Xmem Ymem dmad 16位单数据存储器操作数 含义
在双操作数指令及某些单操作数指令中所用的16位双数据存储器操 作数,从DB总线上读出

.title "ex9“
FG_ADDR .set 1002H ;set伪指令。将一个值分 配 给一个符号。1002H I/O口地址定义。 DATA .set 60h ; ram data
LOOP:
4. 调试
输入信号的频谱图
输入信号的时域波形
输出信号频谱图
输出信号时域波形
实验课内容简介
实验参考资料

\\电子资料\\电子文档\\SZDSPⅡ型开发实验平台 54X.doc \\电子资料\\ 说明书\\ \\电子资料\\ DEVELOPMENT DATA\\5000资 料\\TMS320C54x DSP 参考(Mnemonic Instruction Set).pdf
实验安排

基础实验
\\DSP基础实验程序.rar
打开 实验箱

课程设计类实验



\\5402licheng IO实验 数码显示实验 定时器实验 交通灯实验 同步串口 语音录、放实验 语音处理综合实验
b1io b2shuma b4ds b6jt b3tongbu a12lf szSpeechFIR
目的累加器(A或令系统

TMS320C54x的指令表示方法

C54x的助记符指令是由操作码和操作数两部分组成
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DDAT3.set2007H
PDAT0.set1f00H
PDAT1.set1f01H
PDAT2.set1f02H
PDAT3.set1f03H
.sect ".vectors";中断向量表
reset:B _main;复位向量
NOP
NOP
.space 4*126
circle .usect "circle", 4
MVDP DAT1,PDAT1;D(1f00H)=D(2000H)=1234H
NOP;D(1f00H)=D(2001H)=5678H
NOP
NOP
bk4:LD #PDAT1,A;累加器寻址A=1f01H
READA DAT2;D(1f01H)=D(2002H)=5678H
NOP
NOP
NOP
bk5:ST #3210h,DAT3;直接寻址(DP指针);D(2003H)=3210H
.end
四、实验步骤
(1)以simulator方式启动CCS,打开项目文件,编译程序和加载目标代码文件。
(2)本实验需要打开6个内存窗口:Data页的0x1000起始处、0x2000起始处、Data页的0x3000起始处、0x4000起始处,Program页的0x1f00起始处和0x1000起始处。
Bk5直接寻址方式(DP为基准)
仿真器界面进行观察或通过发光二极管观察其正确性。
三、实验程序
.title"ex2"
.global reset,_main
.mmregs
.def _main
DAT0.set00H
DAT1.set01H
DAT2.set02H
DAT3.set03H
DDAT0.set2004H
DDAT1.set2005H
DDAT2.set2006H
bk12:STM #8,AR0;程序存储器到数据存储器的复制
STM #4000h,AR5
RPT #15
MVPD 1000H,*AR5+0B;绝对地址(pmad)寻址、间接寻址(位倒序)
NOP;p(1000H)—p(100FH)存到D(3500H)—D(350FH)倒叙排列单元中
bk13:B _main
SSBX INTM;禁止中断
STMXF以实现二极管闪烁D3(EXPIII+)
DELAY #0FFFFh
RSBX XF
DELAY #0FFFFh
SSBX XF
DELAY #0FFFFh
;B bk0
bk1:ST #1234h,DAT0;立即数寻址,D(2000H)=1234H,
loop:;循环的将1000H~1007H的八个单元中的数据复制到1008H~100F的
;八个存储单元中,用T寄存器暂存
LD*ar1+,t;*AR1-->T ,AR1=AR1+1
STt,*ar2+;T-->*AR2 ,AR2=AR2+1
BANZloop,*ar3-;AR3=AR3-1 ,AR3=0?
NOP
bk11: STM #1,AR0
STM #table ,AR4
STM #circle,AR2
STM #4,BK
STM #y, AR3
RPT #3
MVDD *AR4+,*AR2+0%;间接寻址(双操作数寻址、循环寻址)
RPT #7
MVDD *AR2+0%,*AR3+;间接寻址(双操作数寻址、循环寻址)
NOP
;---------------------------------------------------------------
STM 7h,ar3;AR3=0x07h
STM1000h,ar1;设置访问数据空间的地址,AR1寄存器间接寻址
STM 1008h,ar2;设置访问数据空间的地址,AR2寄存器间接寻址
ST #5678h,*(DDAT1);D(2005H)=5678H
NOP
NOP
NOP
bk2:MVDK DAT0,DDAT0;绝对地址(dmad)寻址
MVKD DDAT1,DAT1;D(2004H)=D(2004H)=1234H
NOP;D(2005H)=D(2001H)=5678H
NOP
NOP
bk3:MVDP DAT0,PDAT0;绝对地址(pmad)寻址
NOP
NOP
NOP
bk6:SSBX CPL;置位CPL=1
NOP
NOP
NOP
ST #9876h,DAT3;直接寻址(SP指针)
NOP
NOP
NOP
RSBX CPL;复位CPL=0
NOP
NOP
NOP
bk7:STM #DDAT3,AR0;间接寻址
ST #9876h,*AR0;AR0=2007H
NOP;D(2007H)=9876H
(3)按照9.3节“CCS C5000使用及DSP指令”实验的步骤设置断点,观察方法也基本相同。下面仅对各个小段程序进行简要说明:
Bk0通过对XF引脚的置位和复位实现发光二极管的闪烁
Bk1立即数寻址方式
Bk2绝对地址寻址方式——数据存储器地址寻址
Bk3绝对地址寻址方式——程序存储器地址寻址
Bk4累加器寻址方式
.bss y,8
.data
table .word 1,2,3,4
.text
DELAY.macro COUNT
STM COUNT,BRC
RPTB delay?
NOP
NOP
NOP
NOP
delay?:NOP
.endm
_main:
LD #40h,DP;置数据页为2000h~207Fh
STM #3000h,SP;置堆栈指针
数据存储器和程序存储器实验
电子073高******27
一、实验目的
了解DSP内部数据存储器和程序存储器的结构。
了解DSP指令的几种寻址方式。
二、实验要求
主要是对外扩数据存储器和程序存储器金星数据的存储和移动。该实验所需要的硬件主要是DSP、CPLD和DRAM。实验过程是:让学生通过CCSC5000的DSP仿真器对DSP进行仿真、向DSP外扩DRAM写入数据、读数据、数据块的移动,其操作结果通过CCSC5000
NOP
NOP
bk8:STM #8888h,T;存储器映射寄存器寻址T=8888H
NOP
NOP
NOP
bk9:PSHM T;堆栈寻址
POPM T
NOP
NOP
NOP
bk10:NOP
STM 1000h,ar1;设置访问数据空间的地址,AR1寄存器间接寻址
RPT#07h;下面的指令重复执行0x07h+1次
ST0aaaah,*ar1+;将数据"0AAAAH"存放到以地址1000H~1007H的八个存储单元中
相关文档
最新文档