




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
试验一CCS一、试验目的1、把握CCS软件的根本功能和作用;2、把握CCS软件的安装、配置过程;3、了解DSP开发系统与PC4、生疏CCS开发环境和根本操作,了解TMS320C55x软件开发过程;学习创立工程和治理工程的方法;了解根本的编译和调试功能;学习使用观看窗口;了解图形功能的使用;5、软件仿真的作用、步骤和根本原理。二、试验设备PC兼容机一台,操作系统为Windows2023,安装CodeComposerStudio2.2软件。三、试验原理1、调试工具开发TMS320C55x应用系统一般需要以下几个调试工具来完成:软件集成开发环境CCS〔CodeComposerStudio2.2〕:完成系统的软件开发,进展软件和硬件仿真调试,它也是硬件调试的关心手段。开发系统、仿真器〔ICETEK5100-USB〕:实现硬件仿真调试时与硬件系统的通信,掌握和读取硬件系统的状态和数据。评估模块即评估板CS-DSP5509A:供给软件运行和调试的平台和用户目标系统开发的参照。2、CCS的作用CCS主要完成系统的软件开发和调试。它供给一整套的程序编制、维护、编译、调试环境,能将汇编语言和C语言程序编译连接生成COFF〔公共目标文件〕格式的可执行文件,并能将程序下载到目标DSP上运行调试。3、CCS工程文件用户系统的软件局部可以由CCS建立的工程文件进展治理,工程一般包含以下几种文件:源程序文件:C语言或汇编语言文件〔*.c或*.asm〕;头文件〔*.h〕:各种构造体和变量的定义,宏的定义,函数的声明等;命令文件〔*d〕:内存的使用状况,各个段的放置、地址和大小等状况;库文件〔*.lib,*.obj〕:TI或用户自己定义的库文件,TI供给很多特定DSP〔rts55x.lib、55xdsp.lib〕的库文件。用户自己编写的算法库文件。CCS既可以生成可执行工程文件,也可以生成库文件。内存映射文件〔*.map〕:CCS编译连接后,生成的内存映射文件,开发人员可以依据此文件把握内存的使用状况。〔*.ouDSCC的Loadprogram功能把此文件灌入到DSP芯片中。四、试验内容CCS如没有EVM或DSK、目标板等硬件设备。软件仿真通常用于调试纯软件的算法和进展效率分析等。由CCS软件在PC机内存中构造一个虚拟的DSP环境,可以调试、运行程序。在某种程度上,软件仿真是可信的。但是在有些状况下,如使用了外设DMA或算法格外简单等,则软件仿真的结果就不行信了,甚至结果错误,由于一般软件无法构造DSP中的外设。在使用软件仿真方式工作时,无需连接板卡和仿真器等硬件。1CCS双击桌面上的 ,进入CCS设置窗口“ImportConfiguratio。在消灭的窗口中按标号挨次进展如下设置:2CCS初始化配置窗口接着在下面消灭的窗口中选择“否〔N〕”。此时CCS已经被设置成Simulator方式〔软件仿真TMS320VC5509A器件的方式〕,假设始终使用这一方式就不需要重进展以上设置操作了。启动CCS:启动软件仿真Simulator方式,双击桌面上的图标: 。2、启动CCS后的窗口为便利介绍CCS各个功能,这里截取了一个有用工程的开发界面,假设依据以上步骤操作的话,界面要简洁的多。图3为CCS工作环境,图4为一个典型开发工程的开发界面。23CCS工作环境图4 典型有用开发工程CCS界面3、创立工程〔1〕创立的工程文件:选择菜单“Project”的“New…”项。35建立工程操作弹出以下图,按编号挨次操作建立volume.pjt工程文件:①输入建工程名volume名目为C:\ti\myproject③单击完成设置图6开放主窗口左侧工程治理窗口中“Projects”下建立的“volume.pjt”,其中各项均为空。在工程文件中添加程序文件:ProjecAddFilestoProjcAddFilestoProjec”对话框中选择文件名目为D:\5509\program\UseCCS,转变文件类型为“CSourceFiles〔*.c〕”,选择显示出来的文件“volum.c”;重复上述各步骤,添加volumed文件到volume工程中;添加C:\ti\C5500\cgtools\lib\rts55.lib文件到工程中。编译链接工程:选择菜单“Project”的“RebuildAll”项,或单击工具条中的 按钮;留意编译过程中CCS主窗口下部的“Build”提示窗中显示编译信息,最终将给出错误和警告的统计数。4、编辑修改工程中的文件:查看工程文件:开放CCS主窗口左侧工程治理窗中的工程各分支,可以看到“volume.pjt”工程中包含“volume.h”、“rts55.lib”、“volume.c”和“volumed”文件,其中第一个“volume.h”为程序在编译时依据程序中的“include”语句自动参加的。查看源文件:双击工程治理窗中的“volume.cC语言编制的程序,大致分成几个功能块:-头文件。描述标准库程序的调用规章和用户自定义数据、函数头、数据类型等。具体包含printf函数,它是个标准C供给的输入/输出库函数,选中“printf”关键字,按Shift+F1会启动关于此关键字的帮助,在帮助信息中可觉察其头函数为stdio.h,那么在此局部程序中需要增4加一条语句:#include“stdio.h”-工作变量定义。定义全局变量。-.h文件中去。-主程序。即main〔〕函数。它可分为两局部:变量定义和初始化局部、主循环局部。主循环局部完成程序的主要功能。-用户自定义函数。read_signals来获得音频数据并存入输入缓存inp_buffer数组;再调用自定义函数write_buffer来处理音频数据并存入输出缓存;output_signalsC的显示信息的函数printf显示进度提示信息。整个系统可以完成将输入的音频数据扩大volume倍后再输出的功能。read_signals〔〕子程序中首先应有从外接AD设备获得音频数据的程序设计,但此例中由于未承受实际ADAD输入信号数据。write_buffer〔〕子程序中首先将输入缓冲区的数据进展放大处理,即乘以系数volume,然后放入输出缓冲区。output_signals〔〕函数完成将处理后的设备输出的功能,由于此例未具体操作硬件输出设备,所以函数中未写具体操作语句。双击工程治理窗中的“volume.h”文件,翻开此文件显示,可以看到其中有主程序中要用到的一些宏定义如“BUF_SIZE”等。volumed文件定义程序所放置的位置,此例中描述了CSDSPVC5509A评估板的存储器资源,指定了程序和数据在内存中的位置。比方:它首先将CSDSPVC5509A评估板的可用存储器分为五个局部,每个区给定起始地址和长度〔区域地址空间不允许重叠〕;然后指定经编译器编译后产生的各模块放到哪个区。这些区域需要依据评估板硬件的具体状况来确定。编辑修改源文件及编译程序:翻开“volume.c”,找到“main〔〕”主函数,将语句“input=inp_buffer;”最终的分号去掉,这样程序中就消灭了一个语法错误;重编译连接工程,可以觉察编译信息窗口消灭觉察错误的提示;双击红色错误提示,CCS自动转到程序中出错的地方;将语句修改正确〔将语句末尾的分号加上〕;重编译;留意,重编译时修改正的文件被CCS自动保存。修改工程文件的设置:5图7BuildOptions对话框通过以上设置操作,重编译后,程序中的用户堆栈的尺寸被设置成1024个字。5、根本调试功能:下载程序:执行FileLoadProgram,在随后翻开的对话框中选择刚刚建立的C:\ti\myprojects\UseCCS\Debug\volume.out文件。volume.cmain〔〕行上,单击鼠标右键选择ToggleBreakpoint或按F9设置断点〔另外,双击此行左边的灰色掌握条也可以设置或删除断点标记〕。利用断点调试程序:选择DebugRun或按F5运行程序,程序会自动停在main〔〕函数上。①按F10执行到write_buffer〔〕函数。②再按F8,程序将转到write_buffer函数中运行。③此时,为了返回主函数,按shift-F7完成write_buffer函数的执行。④再次执行到write_buffer一行,按F10执行程序,比照与F8执行的不同。提示:在执行CDebugGomain命令,上述试验中的使用的是较为繁琐的一种方法。6、使用观看窗口:执行ViewWatchWindow翻开观看窗口。在volume.c〔比方num〕QuickWatch”,CCS将翻开QuickWatch窗口并显示选中的变量。在volume.c中,选中变量num,单击鼠标右键,选择“AddtoWatchWindow”,CCS将把变量添加到观看窗口并显示选中的变量值。在观看窗口中双击变量,则可以在这个窗口中转变变量的值。str构造变量的每个元素的值。6把strwrite_buffer函数,此时num变量超出了作用范围,可以利用CallStack窗口观察在其他函数中的变量:①选择菜单ViewCallStack翻开堆栈窗口。②双击堆栈窗口的main选项,此时可以观察num变量的值。7、文件输入/输出:下面介绍如何从PC机上加载数据到DSP上。用于利用的数据流测试算法。在完成下面的操作以前,先介绍CodeComposerStudio的Probe〔探针〕断点,这种断点允许用户在指定位置提取/注入数据。Probe断点可以设置在程序的任何位置,当程序运行到Probe断点时,与ProbeProbe断点触发的大事是:将PC机存储的数据文件中的一段数据加载到DSP的缓冲区中。在真实的系统中,read_signals函数用于读取A/D模块的数据并放到DSP缓冲区中。在这里,代替A/D模块完成这个工作的是Probe断点。当执行到函数read_signals时,Probe断点完成这个工作。①在程序行read_signals〔input〕Togglebreakpoint”,设置软件断点。②再在同一行上单击鼠标右键,选择“ToggleProbePoint”,设置Probe断点。执行以下操作:图8 设置探点此时,已经配置好了Probe断点和与之关联的大事。进一步的结果在下面试验中显示。8、图形功能简介:下面我们使用CCS的图形功能检验上一节的结果。首先进展下面设置操作:7-在弹出的图形窗口中单击鼠标右键,选择“ClearDisplay”。-按F12运行程序。观看Input窗口的内容。-退出CCS。五、试验报告要求1、试验报告中不能和试验内容中的文字雷同,用自己的话描述;2、总结CCS3、画图说明Input和Output4、画出CCS六、思考题1、报告中阐述软件仿真和硬件仿真的区分、工作过程等;2、阐述配置和启动CCS3、阐述探点的使用过程;4、看到的波形是连续的,则程序中的数据是模拟信号吗?七、留意事项1、自己建立的工程和文件不要放置在CD2、运行CCS前,必需先配置SetupCCS;3、在观看波形的时候,留意变量地址的引用:&;4、加探点的时候须留神,确保探点设置成功。8试验二混合编程设计一、试验目的1、在了解纯C语言程序工程和汇编语言程序工程构造的根底上,学习在C工程中参加汇编编程的混合编程方法;2、了解混合编程的留意事项;3、把握混合编程的调试方法。二、试验设备PC兼容机一台,操作系统为Windows2023,安装CodeComposerStudio2.2软件。三、试验内容1、启动CCS,配置为软件仿真工作环境。2、运行CCS,建立一个工程,取名exp3a,并保存到c:\ti\myprojects\exp3a\名目下。3、编辑如下C文件,取名exp3a.c并保存到c:\ti\myprojects\exp3a\名目下。/*Assemblyroutine*/externintsum(int*);/*definex[]、s asglobalarray*/intx[2]={0x1234,0x4321};ints;main{s=sum(x);}4、编辑如下汇编文件,取名exp3a_sum.asm并保存到c:\ti\myprojects\exp3a\名目。*****************************exp3a_sum.asmSUMsubroutinecalledbyexp3a.cInput:ArraypointerOutput:ReturnsumresultinT0*****************************.global_sum_sumMOV*AR0+,AC0 ;AC0=x[1]ADD*AR0+,AC0 ;AC0=x[1]+x[2]MOVAC0,T0RET ;ReturnT0.end5、编辑如下链接命令文件,取名linkd并保存到c:\ti\myprojects\exp3a\名目。MEMORY{DARAM:o=0x100,l=0x7f00VECT:o=0x8000,l=0x1009DARAM2:o=0x8100, l=0x7f00SARAM:o=0x10000, l=0x30000SDRAM: o=0x40000,l=0x3e0000}SECTIONS{.text: {}>DARAM.vectors:{}>VECT.trcinit:{}>DARAM.gblinit:{}>DARAMfrt: {}>DARAM.cinit: {}>DARAM.pinit: {}>DARAM.sysinit:{}>DARAM.bss: {}>DARAM2.far: {}>DARAM2.const: {}>DARAM2.switch:{}>DARAM2.sysmem:{}>DARAM2.cio: {}>DARAM2.MEM$obj:{}>DARAM2.sysheap:{}>DARAM2.sysstack:{}>DARAM2.stack: {}>DARAM2}6、选择Project-Options-Linker-Library标签,添加实时支持库rts55.lib。7、编译并链接工程,下载exp3a.out,并选择Go-Main命令。8、观看并记录CPU存放器窗口中AC0、AR0、T0的值,观看memory中s和x的内容,并记录s的值。9、重单步执行C代码和汇编代码,观看C编译器产生的汇编代码exp3a.asm,留意汇编程序的返回值是如何被传递到C调用程序的。四、试验报告要求1、记录试验内容中要求的观看结果;2、简述C3、假设将exp3a中的s定义放入main()函数中,应到哪个位置观看其内容?为什么?4、对本次试验作出小结。五、思考题使用混合编程法完成计算5i1
A(iX(i。六、留意事项1、汇编程序在被C2、混合编程的接口考虑。10试验三FIR一、试验目的1、生疏FIR滤波器工作原理及其编程。2、生疏线性相位FIR数字滤波器特性。二、试验设备PC兼容机一台,操作系统为Windows2023,安装CodeComposerStudio2.2软件。三、试验原理1、有限冲击响应数字滤波器的根底理论(请参考相关书籍)。2、模拟滤波器原理〔巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器〕。3、数字滤波器系数确实定方法。4、依据要求设计低通FIR滤波器。要求:通带边缘频率10kHz,阻带边缘频率22kHz,阻带衰减75dB,采样频率50kHz。设计:过渡带宽度=阻带边缘频率-通带边缘频率=22-10=12kHz采样频率:f1=通带边缘频率+(过渡带宽度)/2=10000+12023/2=16kHzΩ1=2πf1/fs=0.64π抱负低通滤波器脉冲响应:h1[n]=sin(nΩ1)/n/π=sin(0.64πn)/n/π依据要求,选择布莱克曼窗,窗函数长度为:N=5.98fs/过渡带宽度=5.98*50/12=24.9选择N=25,窗函数为:w[n]=0.42+0.5cos(2πn/24)+0.8cos(4πn/24)滤波器脉冲响应为:h[n]=h1[n]w[n]|n|≤12h[n]=0|n|>12依据上面计算,各式计算出h[n],然后将脉冲响应值移位为因果序列。完成的滤波器的差分方程为:y[n]=-0.001x[n-2]-0.002x[n-3]-0.002x[n-4]+0.01x[n-5]-0.009x[n-6]-0.018x[n-7]-0.049x[n-8]-0.02x[n-9]+0.11x[n-10]+0.28x[n-11]+0.64x[n-12]+0.28x[n-13]-0.11x[n-14]-0.02x[n-15]+0.049x[n-16]-0.018x[n-17]-0.009x[n-18]+0.01x[n-19]-0.002x[n-20]-0.002x[n-21]+0.001x[n-22]5、程序流程图:11参数选取:试验程序承受64阶滤波参数,低通滤波,汉明窗(HammingWindow)函数,截止频率为2400Hz,采样频率为48000Hz,增益40dB。四、试验步骤1、试验预备:-设置软件仿真模式,-启动CCS,选择菜单Debug→ResetCPU。2、翻开工程,c:\ti\myprojects\FIR55\Fir.pjt。3、编译并下载程序。4、设置断点:在有注释“breakpoint”的语句设置软件断点。5、翻开观看窗口,观看滤波效果显示:*选择菜单View->Graph->Time/Frequency…,进展如下设置:选择“Debug”菜单的“Animate”项,或按F12键运行程序。观看窗口中各波形的时域波形。12将各观看窗口参数中“DisplayType”项分别改成“FFTMagnitude”。观看窗口中各波形的频域波形。理解滤波效果。6、退出CCS:五、试验报告要求1、报告中的内容阐述不得和上述内容雷同;2、画出FIR3、给出滤波算法的主观效果评价。六、思考题1、自己编写FIR2、dsplib中的FIR3、FIR13试验四定时器使用试验一、试验目的1、通过试验把握和生疏VC5509A的定时器的工作原理;2、把握VC5509A定时器的掌握方法、存放器的配置;3、把握VC5509A的中断构造和对中断的处理流程;4、学会C语言中断程序设计,以及运用中断程序掌握程序流程;5、把握试验箱的工作配置过程、仿真器的连接和配置等。二、试验设备计算机;DSP硬件仿真器;CS-DSP5509A试验开发系统。在做试验之前,需要接通该试验所需的硬件电路,先连接仿真器,再给核心板供电,然后翻开试验箱的电源开关,试验中不要再按复位键,以免试验由于DSP复位而失败。三、试验原理1、通用定时器介绍及其掌握方法〔详见spru595b.pdf〕:TMS320VC5509A内部有两个20位通用定时器〔GP〕,每个通用定时器包括:一个16位的减计数的计数器TIM;一个16位的定时器周期存放器PRD;一个16位的定时器掌握存放器TCR;一个16位的定时器预定标存放器PRSC;PRSC存放器说明:PSC:4位的预定标值,与TIM共同组成20位的定时计数器.TDDR:预定标周期存放器(在需要时重装入PSC的值)TCR存放器说明〔详见spru595b.pdf〕2、中断响应过程〔详见spru595b.pdf〕:外设大事要引起CPU中断,必需保证:IER中相应使能位被使能,IFR相应中断也被使能。在软件中,当设置好相应中断标志后,开中断,进入等待中断发生的状态;外设〔如定时器〕中断发生时,首先跳转到相应中断高级的效劳程序中〔1会引起TINT中断〕,程序在进展效劳操作之后,应将本外设的中断标志位去除以便能连续中断,然后返回。3、中断程序设计:程序中应包含中断向量表,VC5509A默认向量表从程序区0地址开头存放,依据IPVD和IPVH的值确定向量表的实际地址。留意观看程序中INTR_init函数的定义局部,其中IPVD和IPVH的值都为0x0d0;同时观看配置文件ICETEK-VC5509-Ad中的VECT段描述中o=0x0d000。向量表中每项为8第一个向量表的首项为复位向量,即CPU复位操作完成后自动进入执行的程序入口。效劳程序在效劳操作完成后,去除相应中断标志,返回,完成一次中断效劳。4、试验程序流程图:14开头初始化DSP开头初始化DSP时钟EMIF接口初始化中断向量初始化定时器等待中断产生中断效劳开头转变指示灯状态中断效劳完毕5、试验程序分析:本试验设计的程序是:掌握指示灯闪耀的延时掌握,假设用循环计算方法得到的,延时不准确也不均匀,而承受中断方式可以实现指示灯的定时闪耀,时间更加准确。Cvector.asm汇编语言文件中,利于直观地掌握存储区安排。在工程中只需将它们添加进来即可,编译系统会自动识别分别处理完成整合工作。试验程序的C语言主程序中包含了内嵌汇编语句,供给一种在需要更直接掌握DSP状态时的方法,同样的方法也能提高C语言局部程序的计算效率。四、试验内容1、连接设备12、配置CCS13、启动CCS详见附录1Debug→ResetCPU。4、翻开工程文件:翻开菜单“Project”的“Open”项;选择C:\ti\myprojects\Timer名目中的“Timer.pjt”。在工程扫瞄器中,双击main.c,激活main.c文件,扫瞄该文件的内容,理解各语句作用。翻开timerd,比照vector.asm源程序学习中断向量表的写法。5并能够修改程序,敏捷地掌握等的闪耀方式:修改程序,掌握等闪耀频率。即修改定时器的周期,或其他方法;15理解PLL的掌握过程,确认CPU当前的工作频率;理解命令连接文件*D,清楚存储器的使用状况;SDRAM的初始化过程;EMIF的配置等;一个简洁的DSP系统软件的必需具有的模块:时钟电路、复位电路、DPLL、中断、定时器、存储器等。各自的配置使用等。6、编译、下载程序。7DSP的CPU,然后再下载程序运行。8、转变TIMER_init*prd0=0x0ffff为“=0x0ff重复步骤,6。9、退出CCS。五、试验报告要求1、具体记录和分析试验过程;2、试验结果要有数据,并分析缘由;3、总结试验体会。六、思考题1、定时器产生中断的过程;2、VC5509A3、CPU工作主频怎样设置;4、EMIF七、留意事项1、清楚试验箱的功能模块;2、清楚程序掌握第一个LED3、当程序出错或仿真器失去连接时,关闭电源复位后,再启动CCS;4、运行的程序前,猛烈建议复位CPU16试验五 A/D转换试验一、试验目的1、通过试验生疏和把握VC5509A的定时器的工作过程;2、把握VC5509A3、把握VC5509A片内ADC的掌握方法;4、了解ADC各个参数的计算并在程序中表达其配置。二、试验设备计算机;DSP硬件仿真器;CS-DSP5509A试验开发系统。在做试验之前,需要接通该试验所需的硬件电路,先连接仿真器,再给核心板供电,然后翻开试验箱的电源开关,试验中不要再按复位键,以免试验由于DSP复位而失败。三、试验原理1、TMS320VC5509A模数转换模块特性:〔10AD500ns21.5kH。〔2〕2个模拟输入通道〔AIN0—AIN1〕〔3〕采样和保持猎取时间窗口有单独的预定标掌握。2、模数转换工作过程:模数转换模块接到启动转换信号后,开头转换第一个通道的数据。经过一个采样时间的延迟后,将采样结果放入转换结果存放器保存。转换
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年十一月份全屋降噪工程实施后录音棚租赁合同
- 语音练习的普通话考试试题及答案
- 小学安全教育教学课件
- 二零二四年份三月装修合同智能门锁应急供电接口条款
- 初中爱国卫生月活动总结
- 2025企业合同范本下载2
- 灭火器采购合同范本
- 2025年商丘道路客货运输从业资格证模拟考试下载
- 案防培顺课件
- 临时便道施工合同标准文本
- 第4章 LS DYNA输出控制、分析和调试课件
- 公路工程结算表
- 南京网架加固加固施工方案拆换杆件
- 举升机每日维护检查表
- 装饰装修隐蔽工程验收记录文本表全套范例
- 益智区故事:小动物住几楼
- 医疗机构相关法律法规培训PPT课件(医疗卫生与健康促进法、医师法、处方管理办法、传染病防治法、职业病防治法、医疗纠纷)
- 中国文学理论批评史全套教学课件
- 餐饮业成本核算 全套课件
- 三相异步电动机的速度控制
- 供电所线损的基本概念和管理
评论
0/150
提交评论