哈理工电技专业DSP实验报告

合集下载

DSP综合实验报告

DSP综合实验报告

基于DSP的三段式电流保护综合实验基于DSP的三段式电流保护一、实验目的:1.通过DSP程序的设计模拟继电保护跳闸实验,进一步了解DSP在继电保护中的应用。

2.理论与实践相结合,强化学生的工程实际能力。

3.通过具体电路的设计和调试,加深对电力系统微机保护整个流程的理解,锻炼运用常用算法编程解决问题的能力。

4.通过实验线路的设计,计算及实际操作,使理论与实践相结合,增加感性认识,使书本中的知识更加巩固。

培养动手能力,增强对DSP运用的能力,培养分析查找故障的能力。

二、硬件电路:2·1实验设备DSP板、仿真器、直流电源、吸锡器、电烙铁、万用表,示波器、调压器、灯泡、螺丝刀、导线若干2·2 DSP芯片F2812介绍DSP2812功能比单片机强大的多,TMS320F2812 是美国TI 公司推出的C2000 平台上的定点32 位DSP 芯片,适合用于工业控制,电机控制等,用途广泛,应该相当于单片的升级版。

运行时钟也快可达150MHz,处理性能可达150MIPS,每条指令周期6.67ns。

IO口丰富,对用户一般的应用来说足够了。

两个串口。

具有12位的0~3.3v的AD转换等。

具有片内128k×16位的片内FLASH,18K ×16 位的SRAM,一般的应用系统可以不要外扩存储器。

(1).ADC编程TMS320F2812带有两个8选1多路切换器和双采样/保持器的12位ADC,模拟量输入范围为 0~3V,最快转换速率为80ns,选用10kSPS采样率,并采用EVA 的定时器(0.1ms)自动触发方式,可同时采样4个通道,并采用每次转换结束的中断方式来纪录采样结果(右移4位)。

转换结果=(212-1)×(输入的模拟信号-ADCLO)/3 ADC转换时,首先初始化DSP系统,然后设置PIE中断矢量表,再初始化ADC模块,接着将ADC中断的入口地址装入中断矢量表并开中断,然后再启动0.1ms定时器,同时等待ADC中断,最后在ADC中断中读取ADC转换结果,并用软件启动下一次中断。

dsp实验报告哈工大实验二异步串口通信实验

dsp实验报告哈工大实验二异步串口通信实验

dsp实验报告哈工大实验二异步串口通信实验异步串口通信实验一. 实验目的1. 了解*****F2407A DSP 片内串行通信接口(SCI)的特点。

2. 学会设置SCI 接口进行通信。

3. 了解ICETEK-LF2407-A 板上对SCI 接口的驱动部分设计。

4. 学习设计异步通信程序。

二. 实验设备计算机,ICETEK-LF2407-EDU 实验箱(或ICETEK 仿真器+ICETEK-LF2407-A 系统板+相关连线及电源)。

三. 实验原理1. *****F2407A DSP 串行通信接口模块*****F240x 器件包括串行通信接口SCI 模块。

SCI 模块支持CPU 与其他使用标准格式的异步外设之间的数字通信。

SCI 接收器和发送器是双缓冲的,每一个都有它自己单独的使能和中断标志位。

两者都可以独立工作,或者在全双工的方式下同时工作。

2. ICETEK-LF2407-A 板异步串口设计由于DSP 内部包含了异步串行通信控制模块,所以在板上只需加上驱动电路部分即可。

驱动电路主要完成将SCI 输出的0-3.3V 电平转换成异步串口电平的工作。

转换电平的工作由MAX232 芯片完成,但由于它是5V 器件所以它同DSP 间的信号线必须有电平转换,此板采用的是74LS245。

3. 串行通信接口设置CPU 进行串行通信时可以采用两种方式,一种是轮询方式,即CPU 不断查询串口状态进行接收和发送,缺点是占用CPU 时间太多;另一种是中断方式,SCI 的接收和发送都可以产生中断信号,这样CPU 可以在完成其他一些工作的同时进行串行通信。

串行通信接口波特率计算,内部生成的串行时钟由系统时钟SYSCLK 频率和波特率选择寄存器决定。

串行通信接口使用16 位波特率选择寄存器,数据传输的速度可以被编程为***** 多种不同的方式。

不同通信模式下的串行通信接口异步波特率由下列方法决定:BRR=1―***** 时的串行通信接口异步波特率:SCI 异步波特率=SYSCLK/ [( BRR+1)*8]其中,BRR=SYSCLK/(SCI 异步波特率*8)-1;BRR=0 时的串行通信接口异步波特率:SCI 异步波特率=SYSCLK/16这里BRR 等于波特率选择寄存器的16 位值。

实验一DSP实验报告书

实验一DSP实验报告书

实验 步骤 及源 程序
1 新建一个 m 文件 stepseq.m,保存到 D: /matlab6p5/work 路径下。 function [x,n]=stepseq(n0,n1,n2) n=[n1:n2]; x=[(n-n0)>=0]; 2 新建一个 m 文件 lin1.m ,保存到 D: /matlab6p5/work 路径下。 n=[0:20]; x1=n.*(stepseq(0,0,20)-stepseq(10,0,20)); x2=10*exp(-0.3*(n-10)).*(stepseq(10,0,20)-stepseq(20,0,20)); x=x1+x2; subplot(2,1,1);stem(n,x); xlable('n');ylabel('x(n)');axis([0,20,-1,11]); 3 新建两个函数文件 sigshift.m 和 sigadd.m,保存到 D :/matlab6p5/work 路径下。 function [y,n]=sigadd(x1,n1,x2,n2); m=[min(n1),min(n2)]; p=[max(n1),max(n2)]; n=min(m):1:max(p); y1=zeros(1,length(n)); y2=y1; y1(find(n>=min(n1)&(n<=max(n1))==1))=x1; y2(find(n>=min(n2)&(n<=max(n2))==1))=x2; y=y1+y2; 4 运用上述两个函数完成实验内容 2。 n=-4:2;x=[1,-2,4,6,-5,8,10]; [x21,n21]=sigshift(5*x,n,-5); [x22,n22]=sigshift(4*x,n,-4); [x23,n23]=sigadd(x21,n21,x22,n22); [x2,n2]=sigadd(x23,n23,3*x,n); subplot(2,1,1);stem(n2,x2); xlabel('n');ylabel('x_1(n)');

DSP实验报告(综合)

DSP实验报告(综合)

实验报告||实验名称 D SP课内系统实验课程名称DSP系统设计||一、实验目的及要求1. 掌握用窗函数法设计FIR数字滤波器的原理和方法。

熟悉线性相位FIR 数字滤波器特性。

了解各种窗函数对滤波器特性的影响。

2. 掌握设计IIR数字滤波器的原理和方法。

熟悉IIR数字滤波器特性。

了解IIR数字滤波器的设计方法。

3.掌握自适应数字滤波器的原理和实现方法。

掌握LMS自适应算法及其实现。

了解自适应数字滤波器的程序设计方法。

4.掌握直方图统计的原理和程序设计;了解各种图像的直方图统计的意义及其在实际中的运用。

5.了解边缘检测的算法和用途,学习利用Sobel算子进行边缘检测的程序设计方法。

6.了解锐化的算法和用途,学习利用拉普拉斯锐化运算的程序设计方法。

7.了解取反的算法和用途,学习设计程序实现图像的取反运算。

8.掌握直方图均衡化增强的原理和程序设计;观察对图像进行直方图均衡化增强的效果。

二、所用仪器、设备计算机,dsp实验系统实验箱,ccs操作环境三、实验原理(简化)FIR:有限冲激响应数字滤波器的基础理论,模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器)。

数字滤波器系数的确定方法。

IIR:无限冲激响应数字滤波器的基础理论。

模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器)。

数字滤波器系数的确定方法。

、自适应滤波:自适应滤波器主要由两部分组成:系数可调的数字滤波器和用来调节或修正滤波器系数的自适应算法。

e(n)=z(n)-y(n)=s(n)+d(n)-y(n)直方图:灰度直方图描述了一幅图像的灰度级内容。

灰度直方图是灰度值的函数,描述的是图像中具有该灰度值的像素的个数,其横坐标表示像素的灰度级别,纵坐标是该灰度出现的频率(像素个数与图像像素总数之比)。

图像边缘化:所谓边缘(或边沿)是指其周围像素灰度有阶跃变化。

经典的边缘提取方法是考察图像的每个像素在某个邻域内灰度的变化,利用边缘临近一阶或二阶方向导数变化规律,用简单的方法检测边缘。

DSP第二次实验报告

DSP第二次实验报告

DSP实验报告(第二次实验)实验四、正弦信号发生器学院:信息工程学院班级:11级通信工程3班姓名:李慧学号:2011551309指导老师:姚志强完成日期:2014.4.12验四、正弦信号发生器一、 实验目的1. 掌握利用DSP 产生正弦信号的原理2. 熟悉子程序调用的程序结构以及堆栈的使用3. 掌握CCS 的图形输出操作二、 实验设备1. 集成开发环境Code Composer Studio (简称CCS )2. 实验代码Sin.s54、Lab.cmd 和Lab.gel三、实验内容1. 阅读理解多项式逼近正弦的文档2. 阅读和理解Sin.s543. 调试正弦波发生器4. 加入断点,并选取图形观测,利用动画及时更新5. 试利用迭代的方法来实现正弦信号发生器四、实验结果和提示1.2345sin()= 3.140625 + 0.02026367 - 5.325196 + 0.5446778 + 1.800293x x x x x x ,x 为第一象限内的弧度值。

因为sin()sin(),sin()sin()x x x x π-=-=-,所以只需将第二,三,四象限内的弧度值转换到第一象限即可计算出相应的正弦函数值。

由于有限精度,规定弧度值从~ππ-,其中π=0x7FFF ,π/2=0x4000,π-=0x8000。

利用级数展开产生正弦波,必须在调用计算子程序之前备份好累加器A 中的当前弧度值,以便计算结束后实现x 增量。

正弦波的频率可以通过增幅的大小来进行控制,如果假定程序循环一次为一个时间单位,则正弦波的周期为65536/步长,频率为周期倒数。

x 自动增长时要注意当x 超过π后必须调整到~ππ-的范围内才能调用计算子程序,即若,2x x x ππ>=-则。

2. 需要使用临时数据时,必须用frame 语句留出所需空间,使用结束后要将堆栈指针还原以防堆栈内存泄漏。

要注意的是frame 的下一条指令不能使用直接寻址。

DSP实验报告(一)

DSP实验报告(一)

实验一 信号系统及系统响应一、实验目的1、 熟悉理想采样的性质,了解信号采样前后的频谱变化,加深对采样定理的理解。

2、 熟悉离散信号和系统的时域特性。

3、 熟悉线性卷积的计算编程方法:利用卷积的方法,观察、分析系统响应的时域特性。

4、 掌握序列傅氏变换的计算机实现方法,利用序列的傅氏变换对离散信号、系统及系统响应进行频域分析。

二、实验原理(一)连续时间信号的采样采样是指按一定的频率从模拟信号抽样获得数字信号。

采样是从连续时间信号到离散时间信号的过渡桥梁。

对一个连续时间信号进行理想采样的过程可以表示为该信号的一个周期冲激脉冲的乘积,即()()()ˆa a x t x t M t =(1)其中连续信号的理想采样,是周期冲激脉冲()()n M t t n T d +=-=-å(2)它也可以用傅立叶级数表示为:1()s jm tn M t eT+W =-=å(3)其中T 为采样周期,Ω是采样角频率。

设是连续时间信号的双边拉氏变换,即有:()()ata a X s x t edt+--=ò(4)此时理想采样信号的拉氏变换为()ˆˆ()()1ˆ()1ˆ()1()s s ataa jm tsta m s jm ta m a s m X s x t e dtxt ee dtTxt e dtT X s jm T+--++W -=--++--W =- -++=--====-W òåòåòåò(5)作为拉氏变换的一种特例,信号理想采样的傅立叶变换1ˆ()[()]aa s m X j X j m T+=-W =W-W å(6)由式(5)和式(6)可知,信号理想采样后的频谱是原信号频谱的周期延拓,其延拓周期等于采样频率。

根据Shannon 取样定理,如果原信号是带限信号,且采样频率高于原信号最高频率分量的2倍,则采样以后不会发生频谱混淆现象。

dsp实验报告总结doc

一、 设计目的
设计一个功能完备,能够独立运行的精简DSP硬件系统,并设计简单的DSP控制程序。
二、 系统分析
1.1设计要求 硬件要求:
(1)使用TMS320VC5416作为核心芯片。 (2)具有最简单的led控制功能。 (3)具有存放程序的外部Flash芯片。 (4)外部输入+5V电源。 (5)绘制出系统的功能框图。
4.1 软件总体流程-----------------------------------------------------7
4.2 核心模块及实现代码---------------------------------------8
五 课程设计总结-----------------------------------------------------14
3.1 硬件总体结构
3.2 DSP设计
3.5 存储器模块设计
3.6复位模块设计
篇二:DSP实验报告
DSP课程设计 实 验 报 告
语音压缩、存储和回放
学 院:电子信息工程学院电子科学与技术专业 设计人员: 吴莲梅 08214085电子0803班 杨 莹 08214088电子0803班指导老师: 日 期:
使用多种算法进行语音的压缩、存储和解压缩,比较它们之间的优缺点。
目标
1.学习并掌握A/D、D/A转换器的初始化设置;
2.通过试验的设计和操作,掌握在CCS的软件环境下进行编辑、编译链接、调试和数据分析等工作;
3.了解DSP片上外设多通道缓冲串行口McBSP结构及工作原理;4.利用C语言对McBSP的编程方法;
-delta过采样技术,可以在8K到96K的频率范围内提供16bit、20bit、24bit和32bit的采样,ADC和DAC的输出信噪比分别可以达到90dB和100dB。与此同时,AD50还具有很低的能耗,回放模式下功率仅为23mW,省电模式下更是小于15uW。由于具有上述优点,使得AD50是一款非常理想的音频模拟I/O器件,可以很好的应用在随声听(如CD,MP3??)、录音机等数字音频领域[2]。由TLC320AD50C组成的语音输入与输出模块不仅采样率高最高可达96K,且外围电路简单,性价比高。 2.语音编码

dsp实验报告(1)

DSP实验报告小组杜筱佳0904210204薛茜茜0904210215学院电子工程与光电技术学院班级0904210204指导老师刘明实验日期2012.11——2012.12实验一DSP开发基础一、实验目的1、了解DSP开发系统的基本配置2、掌握DSP集成开发环境(CCS)3、掌握C语言开发的基本流程4、熟悉代码调试的基本方法二、实验仪器计算机,C2000 DSP教学实验箱,XDS510USB仿真器,示波器三、实验内容建立工程,对工程进行编译、链接,载入可执行程序,在DSP硬件平台上进行实时调试,利用代码调试工具,查看程序运行结果四、实验要求及实验结果1、项目的编译、链接、调试2、dataIO()子程序入口地址0x003F81F5processing()子程序入口地址0x003F81DBcurrentBuffer.input所在存储器地址0x008480currentBuffer.output所在存储器地址:0x0085003、图形方式显示数据空间currentBuffer.input和current.Buffer.output缓冲存储区的波形currentBuffer.input:图1.1currentBuffer.output:图1.24、.map文件中,.text段在存储空间的地址003f8000长度0000012b;位于TMS320F2812 程序存储空间,物理存储块名称H0_PM.data段在存储空间的地址00000040长度00000001;位于TMS320F2812 数据存储空间,物理存储块名称M0_RAM.bss段在存储空间的地址00000000长度00000000;实验二任意信号发生器一、实验目的1、熟悉DSP硬件开发平台2、熟悉DSP集成开发环境(CCS)3、熟悉TMS320F2812的存储器配置表4、学习DMS320F2812的编程开发5、熟悉代码调试的基本方法二、实验仪器计算机,C2000 DSP教学实验箱,XDS510USB仿真器,示波器三、实验内容建立工程,编写DSP主程序,并对工程进行编译、链接,利用现有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实验报告哈工大实验一定时器实验

dsp实验报告哈工大实验一定时器实验实验一定时器实验一. 实验目的1. 通过实验熟悉LF2407A 的定时器;2. 掌握LF2407A 定时器的控制方法;3. 掌握LF2407A 的中断结构和对中断的处理流程;4. 学会运用中断程序控制程序流程。

二. 实验设备计算机,ICETEK-LF2407-EDU 实验箱(或ICETEK 仿真器+ICETEK-LF2407-A系统板+ 相关连线及电源)。

三. 实验原理1. 通用定时器介绍及其控制方法⑴.事件管理器模块(EV)TMS320LF2407A DSP 片内包括两个事件管理模块EVA 和EVB ,每个事件管理器模块包括通用定时器(GP)、比较单元以及正交编码脉冲电路。

每个事件管理模块都包含两个通用定时器,用以完成计数、同步、定时启动ADC、定时中断等功能。

⑵.通用定时器(GP)每个通用定时器包括:一个16 位的定时器增/减计数的计数器TxCNT,可读写;一个16 位的定时器比较寄存器(双缓冲,带影子寄存器)TxCMPR,可读写;一个16 位的定时器周期寄存器(双缓冲,带影子寄存器)TxPR,可读写;一个16 位的定时器控制寄存器TxCON,可读写;可选择的内部或外部输入时钟;用于内部或外部时钟输入的可编程的预定标器(Prescaler);控制和中断逻辑,用于4 个可屏蔽中断—下溢、溢出、定时器比较和周期中断;可选择方向的输入引脚TDIRx,用于双向计数方式时选择向上或向下计数。

通用定时器之间可以彼此独立工作或相互同步工作,完成复杂的任务。

通用定时器在中断标志寄存器EVAIFRA,EVAIFRB,EVBIFRA 和EVBIFRB中有12 个中断标志位。

每个通用定时器可根据以下事件产生4 个中断:上溢—TxOFINF(x=1,2,3 或4);下溢—TxUFINF(x=1,2,3 或4);比较匹配--TxCINT(x=1,2,3 或4);周期匹配--TxPINT(x=1,2,3 或4)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

哈尔滨理工大学实验报告课程名称:DSP应用技术学院:自动化学院专业班级:电技13-3学生姓名:李万崇学号:1312020308指导教师:马静实验一实验名称CCS基本操作实验时间2016.6.17实验类型地点新主楼C212姓名李万崇学号1312020308班级电技13-3同实验者学号班级一.实验目的:1.掌握Code Composer Studio2.21的安装和配置步骤过程。

2.了解DSP开发系统和计算机与目标系统的连接方法。

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

⑴学习创建工程和管理工程的方法。

⑵了解基本的编译和调试功能。

⑶学习使用观察窗口。

⑷了解图形功能的使用。

二.实验原理:*开发TMS320C55xx应用系统一般需要以下几个调试工具来完成:-软件集成开发环境(Code Composer Studio2.21):完成系统的软件开发,进行软件和硬件仿真调试。

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

-开发系统(ICETEK5100-USB或ICETEK5100-PP):实现硬件仿真调试时与硬件系统的通信,控制和读取硬件系统的状态和数据。

-评估模块(ICETEK VC5509-A或ICETEK VC5509-C等):提供软件运行和调试的平台和用户系统开发的参照。

*Code Composer Studio2.21主要完成系统的软件开发和调试。

它提供一整套的程序编制、维护、编译、调试环境,能将汇编语言和C语言程序编译连接生成COFF(公共目标文件)格式的可执行文件,并能将程序下载到目标DSP上运行调试。

*用户系统的软件部分可以由CCS建立的工程文件进行管理,工程一般包含以下几种文件:-源程序文件:C语言或汇编语言文件(*.C或*.ASM)-头文件(*.H)-命令文件(*.CMD)-库文件(*.LIB,*.OBJ)三.实验设备:1.PC机一台;2.ICETEK-VC5509-A-USB-EDU实验箱一台。

3.USB连接电缆一条四.实验内容:1.实验准备:连接实验设备。

2.设置Code Composer Studio2.21在硬件仿真(Emulator)方式下运行3.启动Code Composer Studio2.21选择菜单Debug→Reset CPU。

成功地启动了CCS后会出现如下窗口:⑴创建新的工程文件:选择菜单“Project”的“New…”项。

弹出下图,按编号顺序操作建立volume.pjt工程文件:⑵在工程文件中添加程序文件:选择菜单“Project”的“Add Files to Project…”项;在“Add Files to Project”对话框中选择文件目录为C:\ICETEK-VC5509-EDULab\Lab0101-UseCCS,改变文件类型为“C Source,Files(*.c;*.ccc)”,选择显示出来的文件“volum.c”;重复上述各步骤,添加volume.cmd文件到volume工程中;添加C:\ti\C5500\cgtools\lib\rts55.lib文件到工程中。

⑶编译链接工程:选择菜单“Project”的“Rebuild All”项,或单击工具条中的按钮;注意编译过程中CCS 主窗口下部的“Build”提示窗中显示编译信息,最后将给出错误和警告的统计数。

5.编辑修改工程中的文件:⑴查看工程文件:展开CCS主窗口左侧工程管理窗中的工程各分支,可以看到“volume.pjt”工程中包含“volume.h”、“rts55.lib”、“volume.c”和“volume.cmd”文件,其中第一个“volume.h”为程序在编译时根据程序中的“include”语句自动加入的。

⑵查看源文件:*双击工程管理窗中的“volume.c”文件,可以查看程序内容。

可以看到,用标准C语言编制的程序,大致分成几个功能块:-头文件。

描述标准库程序的调用规则和用户自定义数据、函数头、数据类型等。

具体包含哪一个头文件,需要根据程序中使用了哪些函数或数据而定。

比如:如果程序中使用了printf 函数,它是个标准C提供的输入/输出库函数,选中“printf”关键字,按Shift+F1会启动关于此关键字的帮助,在帮助信息中可发现其头函数为stdio.h,那么在此部分程序中需要增加一条语句:#include“stdio.h”。

-工作变量定义。

定义全局变量。

-子程序调用规则。

这部分描述用户编制的子程序的调用规则。

也可以写到用户自己编制的.h 文件中去。

-主程序。

即main()函数。

它可分为两部分:变量定义和初始化部分、主循环部分。

主循环部分完成程序的主要功能。

-用户自定义函数。

这个程序是一个音频信号采集、处理输出的程序。

程序的主循环中调用自定义的函数read_signals来获得音频数据并存入输入缓存inp_buffer数组;再调用自定义函数write_buffer来处理音频数据并存入输出缓存;output_signals将输出缓冲区的数据送输出设备;最后调用标准C的显示信息的函数printf显示进度提示信息。

整个系统可以完成将输入的音频数据扩大volume倍后再输出的功能。

read_signals子程序中首先应有从外接AD设备获得音频数据的程序设计,但此例中由于未采用实际AD设备,就未写相应控制程序。

此例打算用读文件的方式获得数据,模拟代替实际的AD输入信号数据。

write_buffer子程序中首先将输入缓冲区的数据进行放大处理,即乘以系数volume,然后放入输出缓冲区。

output_signals函数完成将处理后的设备输出的功能,由于此例未具体操作硬件输出设备,所以函数中未写具体操作语句。

*双击工程管理窗中的“volume.h”文件,打开此文件显示,可以看到其中有主程序中要用到的一些宏定义如“BUF_SIZE”等。

*volume.cmd文件定义程序所放置的位置,此例中描述了ICETEK-VC5509-A评估板的存储器资源,指定了程序和数据在内存中的位置。

比如:它首先将ICETEK-VC5509-A评估板的可用存储器分为五个部分,每个区给定起始地址和长度(区域地址空间不允许重叠);然后指定经编译器编译后产生的各模块放到哪个区。

这些区域需要根据评估板硬件的具体情况来确定。

⑶编辑修改源文件及编译程序:打开“volume.c”,找到“main()”主函数,将语句“input=inp_buffer;”最后的分号去掉,这样程序中就出现了一个语法错误;重新编译连接工程,可以发现编译信息窗口出现发现错误的提示;双击红色错误提示,CCS自动转到程序中出错的地方;将语句修改正确(将语句末尾的分号加上);重新编译;注意,重新编译时修改过的文件被CCS自动保存。

⑷修改工程文件的设置:通过以上设置操作,重新编译后,程序中的用户堆栈的尺寸被设置成1024个字。

6.基本调试功能:⑴下载程序:执行File Load Program,在随后打开的对话框中选择刚刚建立的C:\ICETEK-VC5509-EDULab\Lab0101-UseCCS\Debug\volume.out文件。

⑵设置软件调试断点:在项目浏览窗口中,双击volume.c激活这个文件,移动光标到main()行上,单击鼠标右键选择Toggle Breakpoint或按F9设置断点(另外,双击此行左边的灰色控制条也可以设置或删除断点标记)。

⑶利用断点调试程序:选择Debug Run或按F5运行程序,程序会自动停在main()函数上。

①按F10执行到write_buffer()函数。

②再按F8,程序将转到write_buffer函数中运行。

③此时,为了返回主函数,按shift-F7完成write_buffer函数的执行。

④再次执行到write_buffer一行,按F10执行程序,对比与F8执行的不同。

提示:在执行C语言的程序时,为了快速的运行到主函数调试自己的代码,可以使用Debug Go main命令,上述实验中的使用的是较为繁琐的一种方法。

7.使用观察窗口:⑴执行View Watch Window打开观察窗口。

⑵在volume.c中,用鼠标双击一个变量(比如num),再单击鼠标右键,选择“Quick Watch”,CCS将打开Quick Watch窗口并显示选中的变量。

⑶在volume.c中,选中变量num,单击鼠标右键,选择“Add to Watch Window”,CCS将把变量添加到观察窗口并显示选中的变量值。

⑷在观察窗口中双击变量,则可以在这个窗口中改变变量的值。

⑸把str变量加到观察窗口中,点击变量左边的”+”,观察窗口可以展开结构变量,并且显示结构变量的每个元素的值。

⑹把str变量加到观察窗口中;执行程序进入write_buffer函数,此时num变量超出了作用范围,可以利用Call Stack窗口察看在其他函数中的变量:①选择菜单View Call Stack打开堆栈窗口。

②双击堆栈窗口的main()选项,此时可以察看num变量的值。

8.文件输入/输出:下面介绍如何从PC机上加载数据到DSP上。

Code Composer Studio的Probe(探针)断点允许用户在指定位置提取/注入数据。

当程序运行到Probe断点时,与Probe断点相关的事件将会被触发,当事件结束后,程序会继续执行。

在这一节里,Probe断点触发的事件是:将PC机存储的数据文件中的一段数据加载到DSP 的缓冲区中。

⑴在真实的系统中,read_signals函数用于读取A/D模块的数据并放到DSP缓冲区中。

在这里,代替A/D模块完成这个工作的是Probe断点。

当执行到函数read_signals时,Probe断点完成这个工作。

①在程序行read_signals(input);上单击鼠标右键,选择“Toggle breakpoint”,设置软件断点。

②再在同一行上单击鼠标右键,选择“Toggle Probe Point”,设置Probe断点。

⑵执行上图操作:此时,已经配置好了Probe断点和与之关联的事件。

进一步的结果在下面实验中显示。

9.图形功能简介:下面我们使用CCS的图形功能检验上一节的结果。

首先进行下面设置操作:-在弹出的图形窗口中单击鼠标右键,选择“Clear Display”。

-按F12运行程序。

观察Input窗口的内容。

10.选择菜单File→workspace→save workspacs As…,输入文件名SY.wks。

11.退出CCS。

五.实验结果与分析:(1)实验结果:启动Code Composer Studio2.21选择菜单Debug→Reset CPU,打开反汇编窗口。

相关文档
最新文档