版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、dsp技术大作业姓名: 赵艳花 班级: 电信111班 学号: 110407101 2014年12月第1部分 概述 1.1 简介 数字信号处理(digital signal processing,简称dsp)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。数字信号处理是将信号以数字方式表示并处理的理论和技术。数字信号处理与模拟信号处理是信号处理的子集。 数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波,因此在进行数字信号处理之前需要将信号从模拟域
2、转换到数字域,这通常通过模数转换器实现,而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。 数字信号处理的算法需要利用计算机或专用处理设备如数字信号处理器(dsp)和专用集成电路(asic)等。数字信号处理技术及设备具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等突出优点,这些都是模拟信号处理技术与设备所无法比拟的。1.2 概况 数字信号处理是围绕着数字信号处理的理论、实现和应用等几个方面发展起来的。数字信号处理在理论上的发展推动了数字信号处理应用的发展。反过来,数字信号处理的应用又促进了数字信号处理理论的提高,而数字信号处理的实现则是理论和应用之间的桥梁。 数字信号处
3、理是以众多学科为理论基础的,它所涉及的范围极其广泛。例如,在数学领域,微积分、概率统计、随机过程、数值分析等都是数字信号处理的基本工具,与网络理论、信号与系统、控制论、通信理论、故障诊断等也密切相关。近来新兴的一些学科,如人工智能、模式识别、神经网络等,都与数字信号处理密不可分。可以说,数字信号处理是把许多经典的理论体系作为自己的理论基础,同时又使自己成为一系列新兴学科的理论基础。1.3 实现方法 (1) 在通用的计算机(如pc机)上用软件(如c语言)实现; (2) 在通用计算机系统中加上专用的加速处理机实现; (3) 用通用的单片机(如mcs-51、96系列等)实现,这种方法可用于一些不太复
4、杂的数字信号处理,如数字控制等; (4) 用通用的可编程dsp实现。与单片机相比,dsp芯片具有更加适合于数字信号处理的软件和硬件资源,可用于 复杂的数字信号处理算法; (5) 用专用的dsp芯片实现。在一些特殊的场合,要求的信号处理速度极高,用通用dsp芯片很难实现,例如专用于fft、数字滤波、卷积、相关等算法的dsp芯片,这种芯片将相应的信号处理算法在芯片内部用硬件实现,无需进行编程。在上述几种方法中,第1种方法的缺点是速度较慢,一般可用于dsp算法的模拟;第2种和第5种方法专用性强,应用受到很大的限制,第2种方法也不便于系统的独立运行;第3种方法只适用于实现简单的dsp算法;只有第4种方
5、法才使数字信号处理的应用打开了新的局面。第2部分 硬件结构及硬件系统2.1 tms320c54x数字信号处理器结构简介tms320c54x简称c54x,它是ti公司于1996年推出的新一代定点数字信号处理器。其采用先进的修正哈佛结构,片内有8条总线(1条程序存储器总线、3条数据存储器总线和4条地址总线)、1个cpu、1个在片存储器和1个在片外围电路等硬件以及高度专业化的指令系统。c54x具有功耗小、高度并行等优点,可以满足电信等众多领域的实时处理的要求。2.2 tms320c54x的组成框图tms320c54xdsp具有独立的程序和数据总线,允许同时访问程序存储器和数据存储器,进行高度的并行操
6、作。例如,可以在一条指令中可同时执行3次读操作和1次写操作。此外,还允许在数据总线与程序总线之间相互传送数据,从而使处理器可以在单个周期内同时执行算术运算、逻辑运算、移位操作、乘法累加运算以及访问程序和数据存储器,可见tms320c54x的功能是十分强大的。2.3 tms320vc5402的主要功能结构 (1)cpu由1条程序总线、3条数据总线和4条地址总线构成的先进的多总线结构,用于读写程序、数据和地址。由1个40位桶形移位寄存器和2个独立的40位累加器组成的40位算术逻辑运算单元(alu),用于进行补码数的加法运算和减法运算。17位17位并行乘法器与40位专用加法器相连,用于非流水线式单周
7、期乘法累加(mac)运算。 比较、选择、存储单元(cssu),用于加法比较选择。指数编码器,可以在单个周期内计算40位累加器中数值的指数。双地址生成器,包括8个辅助寄存器和2个辅助寄存器算术运算单元(arau)。(2)存储器1m字程序存储器、64 k字数据存储器以及64 k字io空间。4k16bit片内rom,可配置为程序数据存储器。16k16bit片内双寻址ram(daram)。在每个机器周期内,tms320c54x允许对同一daram块寻址(访问)2次,因此cpu可以在一个机器周期内对同一daram块读出1次和写入1次。当daram映象到数据存储器空间,主要用于存放数据。当他映象到程序存储
8、器空间,用来存放程序代码。通常情况下,daram映射到数据空间。(3)指令系统单指令重复操作和块指令重复操作。块存储器传送指令。32位长操作数指令。同时读入2或3个操作数的指令。能并行存储和并行加载的算术指令。条件存储指令。从中断快速返回。(4)在片外围电路软件可编程等待状态发生器。可编程分区转换逻辑电路。带有内部振荡器或用外部时钟源的片内锁相环(pll)时钟发生器。时分多路(tdm)串行口。缓冲串行口(bsp)。2个16位定时器。8位并行主机接口(hpl)。外部总线关断控制,以断开外部的数据总线、地址总线和控制信号。数据总线具有总线保持器特性。(5)电源工作电压:3.3vi/o电压,1.8v
9、核电压可用idlel、idle2和idle3指令控制功耗,以工作在省电方式。clkout输出信号可以关断。 (6)在片仿真接口 具有符合ieeell491标准的在片(jtag)仿真接口。 (7)速度单周期定点指令的执行时间为10ns,100mips。2.4 tmc320vc5402的引脚tmc320vc5402的引脚如图2-1 所示。图2-1 tmc320vc5402的引脚2.5 tms320vc5402存储器分配tms320c54xc54xx的各种型号片内存储器容量大小不等,片外寻址空间差别也很大,主要表现在数据空间()、io空间()都是64k,而程序空间()随地址线不同而不同。地址线的数目
10、对相应的程序空间大小,分别为16根地址线对应64k、20根地址线对应对应1m、23根地址线对应对应8m。tms320vc5402有20根地址线,它的存储器地址分布如图2-2所示。图2-2 存储器地址分布片内16k字ram可同时映射到数据空间和程序空间。片内rom是预先做好用户不能改变,但可以使用,其分布如下: f000f7ffh 保留;f800fbffh 装载引导程序,上电复位后,dsp执行此引导程序,从外部读入用户代码,拼装好后放在用户指定的地址; fc00fcffh 律扩展表;fd00fdffa a律扩展表;fe00feffh sine表;ff00ff7fh 保留;ff80ffffh 中断
11、矢量表,ff80h是复位向量,dsp复位后,首先执行ff80h的指令。当dsp复位时,若管脚接低电平,则程序执行片内ff80h的指令,若跳转到f800h,则执行f800h的引导程序,并将区分不同的引导方式,把用户代码从外设读来拼装后放在用户指定地址,然后跳转到用户指定的程序入口。2.6 tms320vc5402的片内资源tms320vc5402的片内资源按功能包括运算单元、寄存器、片内ram和rom、片外存储器接口、dma控制器、主机接口、串口、定时器、时钟产生器和中断控制器。第3部分 指令系统3.1 算术运算指令 c54x的算术运算指令包括加法指令、减法指令、 的算术运算指令包括加法指令、减
12、法指令、 的算术运算指令包括加法指令 乘法指令、乘累加指令与乘法减法指令、双字/双 乘法指令、乘累加指令与乘法减法指令、双字 双 精度运算指令及专用指令。1) 加法指令 指令中表示整数时,指令中表示整数时,有有符号数和无符 号数两种格式。tms320c54x提供了多条用于加 号数两种格式。tms320c54x提供了多条用于加法的指令, add、addc、addm和adds.【例1】 addm #0f088h,*ar2+ 指令执行前 vom sxm ar2 数据存储器 0105h 8007h 0105h 1 1 0105h vom sxm ar2指令执行后 1 1 0106h8000h2) 减法
13、指令 tms320c54x 中减法指令有许多,sub、subb、tms320c54x中减法指令有许多,如 sub、subb、320 subc和subs,其中,subs是无符号 subc 和 subs,其中subs 是无符号数的减法运算,subb是带借位的减法运算。3) 乘法指令 tms320c54x 中有大量的乘法运算指令,其结果都是32位放在a或累加器中,其结果放在b累加器中,乘数在tms320c54x的乘法指令中的乘法指令中的使用很灵活,可以是t寄存器立即数、寄存器、的使用很灵活,可以是寄存器、立即数、存储单元以及a或累加器的高累加器的高16位存储单元以及或b累加器的高位。如果是无符号数相
14、乘,符号数相乘,则使用一条专用于无符号数相乘 的指令,即mpyu指令,其他指令都是有符号指令数的乘法。4) 乘加和乘减指令 乘加指令完成一个乘法运算,乘加指令完成一个乘法运算,将乘积再与源累加器的内容相加。指令中使用r后缀的 后缀的, 加器的内容相加。指令中使用 后缀的,其运 算结果要进行凑整。乘减指令完成从累加器b或源累加器 乘减指令完成从累加器 或源累加器或目的累加器中减去寄存器或一个操作数与另一减去t寄存器或一个操作数与另一累加器中减去操作数的乘积,结果存放在累加器b或dst或src中。【例2】 macr *ar3+,*ar4+,a,b 】 , , ,指令执行前 a b t frct a
15、r3 ar4 00 0000 1000h 00 0000 0004h 0008h 1 0100h 0200h a b t frct ar3 ar4 指令执行后 00 0000 1000h 00 0c4c 0000h 5678h 1 0101h 0201h数据存储器 0100h 0200h 5678h 1234h 0100h 0200h 5678h 1234h3.2 逻辑运算指令 逻辑指令包括与、异或(按位)逻辑指令包括与、或、异或(按位)、移位和测试指令。3.3程序控制指令 程序控制指令包括分支转移指令、程序控制指令包括分支转移指令、子程序调用指中断指令、返回指令、重复指令、堆栈操作 指令及混
16、合程序控制指令。3.4 加载和存储指令 加载和存储指令包括加载指令、存储指令、 加载和存储指令包括加载指令、存储指令、条件 存储指令、并行加载和存储指令、 存储指令、并行加载和存储指令、并行加载和乘 法指令、并行存储和加/减法指令 减法指令、 法指令、并行存储和加 减法指令、混合加载和存 储指令。载指令是将存储器内容或立即数赋给目的寄存器; 载指令是将存储器内容或立即数赋给目的寄存器; 存储指令是把源操作数或立即数存入存储器或寄存器。第4部分 软件开发及ccs集成开发环境4.1 ccs软件简单介绍ccs(code composer studio)代码调试器是一种针对tms320系列dsp的集成
17、开发环境。在windows操作系统下,采用图形接口界面,包含了一整套用于开发和调试嵌入式应用的工具。它包含适用于每个ti器件系列的编译器、源码编辑器、项目构建环境、调试器、描述器、仿真器以及多种其它功能。ccs有两种工作模式,即(1)软件仿真器模式:可以脱离dsp芯片,在pc机上模拟dsp的指令集和工作机制,主要用于前期算法的实现和调试。(2)硬件在线编程模式:可以实时运行在dsp芯片上,与硬件开发板相结合在线编程和调试应用程序。4.2 dsp程序开发过程结合ccs中simulator(软件模拟器)的软仿真来介绍使用ccs开发dsp应用程序的几个基本过程,同时还将介绍在程序开发调试过程中一些常
18、用工具的使用方法。(1)创建一个新工程 1) 在运行ccs v3.3之前先要选择一个合适的环境配置。软仿真应添加相应的simulator环境配置,这里使用的是c5402 device simulator。2) 进入ccs v3.3主窗口后,选择菜单栏中project下的new项,将弹出新建工程窗口(如图4-1),键入工程名example1。在location一栏处设置要存放的位置,这里选择默认路径。下面接着在project一栏处选择工程文件类型,可以选择执行文件(.out),也可以选择库文件(.lib)。可执行文件表示工程生成一个可执行文件,库文件表示生成一个目标库文件,这里也选择默认。最后在
19、target一栏中选择目标板,当工具有多个目标板时,这个选择是必要的,同样选择默认。完成后系统将在默认的目录下(d:ccs3.3myprojects)新建一个名为example1的文件夹并在此文件夹中创建一个名为example1.pjt的工程文件,此文件保存了工程的设置信息及工程中的文件引用情况。图4-1 创建工程窗口3) 可以新建文件来编写程序以及相关文件,最后以相应的格式保存在对应的目录之下。ccs v3.3自带的程序的主要功能是求数组中数值的最大值、最小值和步长(最大值减去最小值)。将d:ccs3.3tutorialsim54xx datedisplay目录下所有需要文件复制到新建的ex
20、ample1目录中。 (2)将文件添加到工程中1) 在project菜单中选择add files to project选项,选择前面所创建的example1文件夹中的testapp.c文件,双击打开按钮将其添加到工程中。2) 将rts500.lib库文件和子函数库文件maxminlibrary.lib按同样的方法加入到工程中。rts500.lib文件是c运行支持库,它在程序启动时完成c运行环境的初始化,如果用c语言开发程序,就必须链接这个库文件。3) 将mainapplication.cmd添加入example1.prj工程中,此文件作用是用于dsp代码的定位。由于dsp 的编译器的编译结果是
21、未定位的,dsp没有操作系统来定位执行代码, 每个客户设计的dsp 系统的配置也不尽相同,因此需要用户自己定义代码的安装位置。安装位置是指,编译完成的代码是存放在dsp的那个位置,程序空间ram或者数据空间ram,起始地址以及长度。4) 在工程视图中双击所有“+”号,即可看到整个工程的结构,如图4-2所示。如果没有看到工程视图,则需在view菜单下选择project,打开工程视图。还应双击工程视图左下角的file view图标以确保能观察到工程结构。图4-2 工程结构视图如果需要从工程中移除一个文件,可将该文件选中,按delete键即可。也可单击右键,在弹出菜单中选择remove from p
22、roject将该文件从工程中移除。 当build一个程序时,ccs会自动依次从以下路径中查找工程需要的文件。包括源文件的目录。project-options下complier和assembler选项的include search path域中定义的路径。 c54x_c_dir(c编译器)和c54x_a_dir(汇编器)环境变量中声明的路径。c54x_c_dir指向的路径中包括含有rts500.lib文件的目录。(3)查看代码双击工程结构视图中的testapp.c,将会在右边窗口中打开文件代码编辑查看窗口。可以在option菜单下的font命令设置字体大小,color命令可以设置颜色。其它文件的
23、源代码的查看方法是相同的。(4)编译调试程序1) 执行菜单选项project-rebuild all或在工具栏上点击rebuild all图标,对工程重新汇编、编译和链接,output窗口将显示进行汇编、编译和链接的相关信息。如果编译、链接有误,软件将通过红色字符显示错误的相关信息。2)编译信息输出区提示有两个警告如图4-3所示。图4-3 output窗口3)选择project菜单下的build options选项将弹出创建选项对话框,选择linker选项卡在heap size栏和stack size栏中分别填入0x400并点击确定,如图4-4所示4)重新编译连接生成(.out)可执行文件5)
24、 执行菜单选项file-load program,找到example1.out并打开,也就是将build生成的(.out)可执行程序加载到dsp中。ccs将自动打开一个反汇编窗口,显示加载程序的反汇编指令。6) 在反汇编窗口中单击汇编指令,按f1键将切换至在线帮助窗口,显示光标所在行的汇编指令的帮助信息。例如,将光标放在ssbx的那一行上,按f1键将显示ssbx汇编指令的帮助信息。7) 选择菜单选项option-disassembly style options,在弹出窗口中选择不同的选项,确定后查看反汇编窗口的变化。例如在disassembly style下选择algebraic并确认,则反
25、汇编窗口将以代数指令形式显示反汇编代码。8) 执行菜单选项debug-run或在debug工具栏上单击run按钮。监视窗口中将显示图4-4创建选项对话框程序运行的结果。如图4-5所示。图4-5 监视窗口(6)使用断点和watch window断点和watch window都是在程序调试时常用到的调试工具。我们在调试代码时如果想看看某一行或者某几行代码是否执行,或者想看看代码执行前后变量的一些变化,这时我们就需要用到断点了。watch window是用来观察程序运行过程中的各个变量的值下面将介绍如何使用watch window查看变量的值。1)选择file菜单下的reload program选项
26、,重新加载example1.out可执行程序。2)在工程视图中双击testapp.c文件,打开源文件编辑查看窗口。 3)选择view菜单下的watch window选项,将出现watch窗口,如图4-6所示。图4-6 watch窗口4)在源程序中选择要查看的变量符号,右单击在弹出的选项卡中选择add to watch window,此时将在watch window中看到所要查看的变量,如图4-7,这里添加的变量是max_value和min_value。此时程序没有运行,所以显示的变量值为“identifier not found”。 图4-7 watch窗口添加的变量显示5) 选择view菜单
27、下的mixed source/asm选项,这样既能看到源文件中代码的执行情况,又能看到汇编指令的执行情况。6)在源程序中printf一行上双击设置断点或者点击。去除断点的方法相同。7)点击run按钮运行,在watch窗口中将看到变量的值。如图4-8所示。 图4-8 watch窗口中的变量显示8) 可按halt按钮,alt+f11(source step into),alt+f10(source step over),alt+shift+f11(assembly step into),alt+shift+f10(assembly step over),shift+f11(step out)等键进
28、行其他方式的调试。在watch窗口中单击右键,在弹出菜单中还可选择移除一个被选的变量、关闭watch窗口等。在进行以后的步骤之前,执行debug菜单下的breakpoints选项,在breakpoints菜单栏单击remove all按钮将所有断点删除。第5部分 dsp应用实例5.1 dsp实例(dsp与单片机串口通信的设计与实现)概述 dsp实例选用dsp与单片机串口通信的设计与实现。文章概述:结合实际工程应用重点介绍了tms320vc5416与单片机89c51之间串行通信的实现方法。通过dsp的输入接口对89c51的输出串行进行高速采样和判决达到单片机对dsp的数据传输,而通过将dsp所发送的数据进行数据变换达到89c51串口接收的标准来实现dsp对单片机的串口通信。串行接口与并行接口相比,最大的优点就是减少了使用dsp的引脚数目,降低了接口电路设计的复杂性。同时充分利用dsp多功能串行接口和dma搬移数据的能力,使dsp在处理串口通
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年试用期员工转正考核标准
- 生物技术操作与安全管理手册
- 2026年户外广告牌匾设置规范与违规拆除程序问答
- 2026年零售巨头客服经理全渠道服务能力考核重点
- 2026年离退休干部服务管理政策练习题
- 2026年考试答题规范及评分标准解读
- 2026年中国能建集团招聘面试题
- 电力系统安全运行与维护手册
- 2026贵州经贸职业技术学院引进高层次、高技能人才11人考试备考试题及答案解析
- 2026中国建筑一局(集团)有限公司校园招聘考试备考题库及答案解析
- GB/T 44092-2024体育公园配置要求
- 《插花基础知识》课件
- U型桥台计算书
- 社会体育指导员工作规范课件
- 人教版 七年级下册 历史 期中测试(一)
- ICD-9-CM3编码与手术分级目录
- 八年级数学-张美玲-海伦公式
- 探究物联网的技术特征-说课
- 2022年浙江杭州市中考英语试卷真题及答案详解(含作文范文)
- GB/T 18804-2022运输工具类型代码
- YY/T 0681.2-2010无菌医疗器械包装试验方法第2部分:软性屏障材料的密封强度
评论
0/150
提交评论