第3章DSP新技术_第1页
第3章DSP新技术_第2页
第3章DSP新技术_第3页
第3章DSP新技术_第4页
第3章DSP新技术_第5页
已阅读5页,还剩130页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2021-7-4 信息学科立体化教材 1 第第3章章 DSPDSP新技术新技术 3.1 DSPDSP新技术概述新技术概述 3.2 DSPDSP开发设计开发设计 3.3 DSPDSP新技术展望新技术展望 2021-7-4 信息学科立体化教材 2 3.1 DSP DSP新技术概述新技术概述 3.1.1 平台介绍平台介绍 3.1.2 DSPDSP开发环境及工具开发环境及工具 3.1.3 DSPDSP应用领域应用领域 2021-7-4 信息学科立体化教材 3 3.1.1 平台介绍平台介绍 数字信号处理分为硬件实现和软件实现两大类。数字信号处理分为硬件实现和软件实现两大类。 所谓硬件实现是指采用通用或专

2、用芯片以及所谓硬件实现是指采用通用或专用芯片以及 构成满足数字信号处理任务要求的目标系统。构成满足数字信号处理任务要求的目标系统。 目前主要目前主要DSPDSP芯片生产商是美国德州仪器公司(芯片生产商是美国德州仪器公司(Texas Texas InstrumentsInstruments,TITI),广泛使用的),广泛使用的TI DSPTI DSP有三个系列:有三个系列: C2000C2000,C5000C5000,C6000C6000。 2021-7-4 信息学科立体化教材 4 3.1.1 平台介绍平台介绍 TMS320C2000TMS320C2000系列系列 C2000 C2000系列面向

3、量大面广的工业产品控制系列面向量大面广的工业产品控制, , 高性能低价位。高性能低价位。 C24x C24x系列是系列是16bit16bit定点定点DSP, C28xDSP, C28x系列是系列是32 bit32 bit定点定点DSP, C28xDSP, C28x 系列具有更高的精度。系列具有更高的精度。 C24x C24x系列的时钟在系列的时钟在202030MHz30MHz之间之间, , 运算能力为运算能力为202040MI/s, 40MI/s, C28xC28x的时钟可达的时钟可达150MHz, 150MHz, 运算能力也可高达运算能力也可高达400MI/s400MI/s。 C24x C2

4、4x系列片上系列片上RAMRAM最大可达最大可达2.52.5千字千字, Flash, Flash最大可达最大可达3232千字千字, , C28xC28x系列片上系列片上RAMRAM最大可达最大可达1818千字千字, Flash, Flash最大可达最大可达128128千字。千字。 C24x C24x系列片上集成有系列片上集成有8 8或或1616通道、通道、10bit10bit的的A/DA/D转换器,转换器,8 81616 通道的脉宽调制器,通道的脉宽调制器,C28xC28x系列片上集成的系列片上集成的A/DA/D转换器是转换器是12bit12bit,均,均 为为1616通道,脉宽调制器也均为通

5、道,脉宽调制器也均为1616通道。通道。 C2000 C2000系列片上均有加法器、乘法器、各种寄存器,除了通用系列片上均有加法器、乘法器、各种寄存器,除了通用 的定时器外,还有监视定时器,并具有的定时器外,还有监视定时器,并具有JTAGJTAG仿真控制器。仿真控制器。 2021-7-4 信息学科立体化教材 5 3.1.1 平台介绍平台介绍 TMS320C5000TMS320C5000系列系列 C5000 C5000定位于通信类应用,在保持高性能的前提下尽可能降低定位于通信类应用,在保持高性能的前提下尽可能降低 芯片的功耗,从而有利于便携式通信产品的推出。芯片的功耗,从而有利于便携式通信产品的

6、推出。 C54x C54x是是16bit16bit定位定位DSPDSP,时钟频率为,时钟频率为40/50/66/80MHz, 40/50/66/80MHz, 运算能运算能 力为力为40/50/66/80MI/s40/50/66/80MI/s;大部分;大部分C54xC54x产品的产品的I/OI/O口的供电为口的供电为3.3V, 3.3V, CPUCPU核的供电也为核的供电也为3.3V3.3V,最近推出的产品如,最近推出的产品如C5402C5402的核则采用的核则采用1.8V1.8V 供电,大大降低了功耗。供电,大大降低了功耗。 C55x C55x是建立在是建立在C54xC54x硬件结构基础上的,

7、因此也是硬件结构基础上的,因此也是16bit16bit定位定位 DSPDSP,它的最大特点是在提高,它的最大特点是在提高DSPDSP能力的同时进一步降低了功耗,能力的同时进一步降低了功耗, 因为它采用了先进的自动电源管理技术,对所有外围设备、存储因为它采用了先进的自动电源管理技术,对所有外围设备、存储 器阵列、器阵列、CPUCPU的各个单元进行监视,暂时不工作的部分则停止对的各个单元进行监视,暂时不工作的部分则停止对 其供电。其供电。 2021-7-4 信息学科立体化教材 6 3.1.1 平台介绍平台介绍 TMS320C6000TMS320C6000系列系列 C6000 C6000系列定位于高

8、档次的应用,如多媒体、图像及其他超高系列定位于高档次的应用,如多媒体、图像及其他超高 速信号处理的场合。速信号处理的场合。 C6000 C6000系列能独立地从寄存器文件读取系列能独立地从寄存器文件读取/ /存储数据,而且可以存储数据,而且可以 实现实现8 8个功能单元并行工作。个功能单元并行工作。 C62x C62x是是32bit32bit定点定点DSPDSP,支持,支持8/16/328/16/32位数据运算;位数据运算;C67xC67x是是 32bit32bit浮点浮点DSPDSP,但它具有单精度(,但它具有单精度(3232位)和双精度(位)和双精度(6464位)位)IEEEIEEE 浮点

9、操作的硬件支持,浮点操作的硬件支持,C64xC64x是是TITI公司最高性能的公司最高性能的DSPDSP,整体性能,整体性能 比比C62xC62x系列提高了近十倍,但是功耗仅是系列提高了近十倍,但是功耗仅是C62xC62x的的1/31/3,并且在软,并且在软 件上和件上和C62xC62x完全兼容。完全兼容。 2021-7-4 信息学科立体化教材 7 3.1.1 平台介绍平台介绍 所谓软件实现,是指在通用的计算机上,用软件来实所谓软件实现,是指在通用的计算机上,用软件来实 现信号处理的某一方面的理论。现信号处理的某一方面的理论。 在与处理器无关的设计中,通常采用在与处理器无关的设计中,通常采用C

10、 C或或C+C+之类的高之类的高 级语言;处理器相关软件需要编写汇编程序。级语言;处理器相关软件需要编写汇编程序。 2021-7-4 信息学科立体化教材 8 3.1.2 DSP DSP开发环境及工具开发环境及工具 1.1.开发环境工具开发环境工具CCSCCS 代码集成开发环境代码集成开发环境Code Composer StudioCode Composer Studio(CCSCCS)是开)是开 发发TI DSPTI DSP的必备软件平台,它是一个完整的的必备软件平台,它是一个完整的DSPDSP集成开发集成开发 环境,也是目前使用得最为广泛的环境,也是目前使用得最为广泛的DSPDSP开发软件之

11、一。开发软件之一。 2021-7-4 信息学科立体化教材 9 3.1.2 DSP DSP开发环境及工具开发环境及工具 运行主窗口运行主窗口 Document windows 2021-7-4 信息学科立体化教材 10 3.1.2 DSP DSP开发环境及工具开发环境及工具 TI TI的的DSPDSP的开发环境和工具主要包括以下三个部的开发环境和工具主要包括以下三个部 分:分: (1 1)代码生成工具(编译器,连接器,优化)代码生成工具(编译器,连接器,优化C C编编 译器,转换工具等);译器,转换工具等); (2 2)系统集成及调试环境与工具;)系统集成及调试环境与工具; (3 3)实时操作系

12、统。)实时操作系统。 2021-7-4 信息学科立体化教材 11 3.1.2 DSP DSP开发环境及工具开发环境及工具 CCSCCS所包含功能有:所包含功能有: (1)(1)集成可视化代码编辑界面,可直接编写集成可视化代码编辑界面,可直接编写C C、汇编、汇编、.H.H文文 件、件、.cmd.cmd文件等。文件等。 (2)(2)集成代码生成工具,包括汇编器、优化集成代码生成工具,包括汇编器、优化C C编译器、连接器等。编译器、连接器等。 (3)(3)基本调试工具,如装入执行代码基本调试工具,如装入执行代码(.out(.out文件文件) ),查看寄存器,查看寄存器 窗口,存储器窗口,反汇编窗口

13、,变量窗口等,支持窗口,存储器窗口,反汇编窗口,变量窗口等,支持C C源代码源代码 级调试。级调试。 (4)(4)支持多支持多DSPDSP调试。调试。 (5)(5)断点工具,包括硬件断点、数据空间读断点工具,包括硬件断点、数据空间读/ /写断点,条件断点写断点,条件断点 等。等。 (6)(6)探针工具探针工具(probe points)(probe points),可用于算法仿真,数据监视等。,可用于算法仿真,数据监视等。 2021-7-4 信息学科立体化教材 12 3.1.2 DSP DSP开发环境及工具开发环境及工具 (7)(7)剖析工具剖析工具(profile points)(profi

14、le points),可用于评估代码执行的时钟,可用于评估代码执行的时钟 数。数。 (8)(8)数据的图形显示工具,可绘制时域数据的图形显示工具,可绘制时域/ /频域波形、眼图、星座频域波形、眼图、星座 图、图像等,并可自动刷新。图、图像等,并可自动刷新。 (9)(9)提供提供GELGEL工具,令用户可以编写自己的控制面板工具,令用户可以编写自己的控制面板/ /菜单。菜单。 (10)(10)支持实时数据交换支持实时数据交换(RTDX)(RTDX)技术,利用该技术可在不中断目技术,利用该技术可在不中断目 标系统运行的情况下,实现标系统运行的情况下,实现DSPDSP与其它应用程序与其它应用程序(O

15、LE)(OLE)实现数据实现数据 交换。交换。 (11)(11)开放式的插入开放式的插入(plug-ins)(plug-ins)技术,支持其它第三方的技术,支持其它第三方的 ActiveXActiveX插件,支持各种仿真器包括软仿真。插件,支持各种仿真器包括软仿真。 (12)(12)提供提供DSP/BIOSDSP/BIOS工具,利用该工具可增强对代码的实时分析工具,利用该工具可增强对代码的实时分析 能力。能力。 2021-7-4 信息学科立体化教材 13 3.1.2 DSP DSP开发环境及工具开发环境及工具 . .开发环境工具开发环境工具DSP BuilderDSP Builder DSP

16、BuilderDSP Builder是数字信号处理开发工具之一,可以是数字信号处理开发工具之一,可以 实现基于实现基于DSP BuilderDSP Builder的的FPGAFPGA设计。该工具实现了设计。该工具实现了 Quartus IIQuartus II软件和软件和The MathWorks MATLAB/SimulinkThe MathWorks MATLAB/Simulink工工 具之间的接口。具之间的接口。 2021-7-4 信息学科立体化教材 14 3.1.2 DSP DSP开发环境及工具开发环境及工具 DSP BuilderDSP Builder设计流程设计流程 2021-7-

17、4 信息学科立体化教材 15 3.1.3 DSP DSP应用领域应用领域 DSPDSP芯片的应用主要有:芯片的应用主要有: (1) (1) 信号处理信号处理如数字滤波、自适应滤波、快速傅立叶变换、如数字滤波、自适应滤波、快速傅立叶变换、 相关运算、谱分析、卷积、模式匹配、加窗、波形产生等;相关运算、谱分析、卷积、模式匹配、加窗、波形产生等; (2) (2) 通信通信如调制解调器、自适应均衡、数据加密、数据压如调制解调器、自适应均衡、数据加密、数据压 缩、回波抵消、多路复用、传真、扩频通信、纠错编码、可缩、回波抵消、多路复用、传真、扩频通信、纠错编码、可 视电话、软件无线电、波形合成器、检测等;

18、视电话、软件无线电、波形合成器、检测等; (3) (3) 语音语音如语音编码、语音合成、语音识别、语音增强、如语音编码、语音合成、语音识别、语音增强、 说话人辨认、说话人确认、语音邮件、语音存储、三维音频说话人辨认、说话人确认、语音邮件、语音存储、三维音频 合成器、环绕音效处理、音响效果发生器等;合成器、环绕音效处理、音响效果发生器等; (4) (4) 图形图形/ /图像图像如二维和三维图形处理、图像压缩与传输、如二维和三维图形处理、图像压缩与传输、 图像增强、数码相机、动画、模式识别、三维旋转、机器人图像增强、数码相机、动画、模式识别、三维旋转、机器人 视觉等;视觉等; 2021-7-4 信

19、息学科立体化教材 16 3.1.3 DSP DSP应用领域应用领域 (5) (5) 军事军事如保密通信、雷达处理、声纳处理、导航、导弹如保密通信、雷达处理、声纳处理、导航、导弹 制导等;制导等; (6) (6) 仪器仪表仪器仪表如频谱分析、测量设备、函数发生、锁相环、如频谱分析、测量设备、函数发生、锁相环、 地震处理等数字滤波、模式匹配、瞬态分析等;地震处理等数字滤波、模式匹配、瞬态分析等; (7) (7) 自动控制自动控制如引擎控制、声控、自动驾驶、机器人控制、如引擎控制、声控、自动驾驶、机器人控制、 磁盘控制、激光打印控制、电动机控制、数字控制、安全访磁盘控制、激光打印控制、电动机控制、数

20、字控制、安全访 问等;问等; (8) (8) 医疗医疗如数字助听、超声设备、诊断工具、胎儿监护、如数字助听、超声设备、诊断工具、胎儿监护、 病人监护等;病人监护等; (9) (9) 家用电器家用电器如高保真音响、音乐合成、音调控制、玩具如高保真音响、音乐合成、音调控制、玩具 与游戏、数字电话与游戏、数字电话/ /电视等。电视等。 2021-7-4 信息学科立体化教材 17 3.2 DSP DSP开发设计开发设计 3.2.1 3.2.1 软件开发过程及开发工具软件开发过程及开发工具 3.2.2 3.2.2 汇编语言程序实现汇编语言程序实现DSPDSP设计设计 3.2.3 3.2.3 用用C C语

21、言和汇编语言混合编程语言和汇编语言混合编程 3.2.4 3.2.4 用用C C语言开发语言开发DSPDSP嵌入式系统嵌入式系统 3.2.5 3.2.5 基于基于MatlabMatlab的系统级的设计方法的系统级的设计方法 3.2.6 3.2.6 结合的设计结合的设计 2021-7-4 信息学科立体化教材 18 3.1.2 软件开发过程及开发工具软件开发过程及开发工具 1 1集成开发环境集成开发环境 编译器(编译器(CompilerCompiler) 包括分析器、优化器和代码产生器,它接收包括分析器、优化器和代码产生器,它接收C/C+C/C+源源 代码并产生代码并产生TMS320C54xTMS3

22、20C54x汇编语言源代码。汇编语言源代码。 汇编器(汇编器(AssemblerAssembler) 将汇编语言源程序转换成机器语言目标文件,这些目将汇编语言源程序转换成机器语言目标文件,这些目 标文件都是公共目标文件格式(标文件都是公共目标文件格式(COFFCOFF)。)。 链接器链接器 (1 1)根据链接命令文件()根据链接命令文件(.cmd.cmd文件)将一个或多个文件)将一个或多个COFFCOFF目目 标文件链接起来,生成存储器映象文件(标文件链接起来,生成存储器映象文件(.map.map)和可执行)和可执行 的输出文件(的输出文件(.out.out文件)。文件)。 (2 2)将段定位

23、于实际系统的存储器中,给段、符号指定实)将段定位于实际系统的存储器中,给段、符号指定实 际地址。际地址。 (3 3)解决输入文件之间未定义的外部符号引用。)解决输入文件之间未定义的外部符号引用。 2021-7-4 信息学科立体化教材 19 3.1.2 软件开发过程及开发工具软件开发过程及开发工具 2 2用用CCSCCS开发简单的程序开发简单的程序 创建新的工程文件创建新的工程文件 在在CCSCCS的安装目录的的安装目录的myprojectsmyprojects子目录下创建一个子目录下创建一个volume1volume1 目录。目录。 启动启动CCSCCS,在,在ProjectProject菜单

24、中选择菜单中选择NewNew项,在项,在ProjectProject中输入中输入 volume1volume1,CCSCCS将创建一个名为将创建一个名为volume1.pjtvolume1.pjt的工程。的工程。 2021-7-4 信息学科立体化教材 20 3.1.2 软件开发过程及开发工具软件开发过程及开发工具 将文件添加到工程中将文件添加到工程中 在在PROJECTPROJECT菜单中选取菜单中选取ADDADD Files to Project,Files to Project,可以可以 将事先创建的文件添加到将事先创建的文件添加到 该工程文件中。该工程文件中。 察看工程的结构。察看工程的

25、结构。 逐层打开工程视窗,双击逐层打开工程视窗,双击 load.asmload.asm或或vectors.asm,vectors.asm, 可以观察和修改扩展名可以观察和修改扩展名 为为.asm.asm文件的内容。文件的内容。 工程视窗工程视窗 2021-7-4 信息学科立体化教材 21 3.1.2 软件开发过程及开发工具软件开发过程及开发工具 生成和运行程序生成和运行程序 选择菜单命令选择菜单命令ProjectRebuild AllProjectRebuild All,对工程重新编译、,对工程重新编译、 汇编和链接,主窗口下方的信息窗口将显示汇编和链接,主窗口下方的信息窗口将显示buildb

26、uild进行汇进行汇 编、编译和链接的相关信息。编、编译和链接的相关信息。 选择菜单命令选择菜单命令FileLoad ProgramFileLoad Program,在当前目录的,在当前目录的DebugDebug 目录下选择目录下选择volume1.outvolume1.out并打开,将并打开,将BuildBuild生成的程序加载生成的程序加载 到到DSPDSP中。中。 选择菜单命令选择菜单命令DebugRunDebugRun或在或在DebugDebug工具栏上单击工具栏上单击RunRun按钮,按钮, 运行该程序。运行该程序。 2021-7-4 信息学科立体化教材 22 3.1.2 软件开发过

27、程及开发工具软件开发过程及开发工具 改变改变BuildBuild选项并修改程序语法错误选项并修改程序语法错误 选择菜单命令选择菜单命令ProjectBuild OptionsProjectBuild Options,弹出,弹出Build Build OptionsOptions窗口,选择窗口,选择CompilerCompiler标签,在类(标签,在类(CategoryCategory)列)列 表中选择预处理(表中选择预处理(PreprocessorPreprocessor)。在)。在Define SymbolsDefine Symbols域域 中键入中键入FILEIOFILEIO,定义符号,定

28、义符号FILEIOFILEIO。此时,在命令输入和显。此时,在命令输入和显 示窗口看到示窗口看到-dFILEIO-dFILEIO。 2021-7-4 信息学科立体化教材 23 3.1.2 软件开发过程及开发工具软件开发过程及开发工具 2021-7-4 信息学科立体化教材 24 3.1.2 软件开发过程及开发工具软件开发过程及开发工具 断点和观察窗口的应用断点和观察窗口的应用 选择菜单命令选择菜单命令FileReload ProgramFileReload Program,重新加载程序,即,重新加载程序,即 加载加载volum1.outvolum1.out。 在工程视图中双击在工程视图中双击vo

29、lume.cvolume.c,打开源文件编辑窗口,将光,打开源文件编辑窗口,将光 标放在标放在dataIO()dataIO()行上,并按行上,并按F9F9键或在工具栏中单击键或在工具栏中单击“设置设置 断点断点”按钮。按钮。 选择菜单命令选择菜单命令ViewWatch WindowViewWatch Window,弹出,弹出WatchWatch窗口,可窗口,可 观察结构体变量的值。观察结构体变量的值。 2021-7-4 信息学科立体化教材 25 3.1.2 软件开发过程及开发工具软件开发过程及开发工具 在在CCSCCS中读取数据和数据的图形显示中读取数据和数据的图形显示 . .探点的设置及从探

30、点的设置及从PCPC机文件中读取数据机文件中读取数据 选择菜单命令选择菜单命令FileLoad ProgramFileLoad Program,选择,选择Volume1.outVolume1.out并并 打开。打开。 在工程视图中双击在工程视图中双击Volume.cVolume.c,源代码将显示在右边的编辑,源代码将显示在右边的编辑 窗口中。窗口中。 将光标放在主函数中的将光标放在主函数中的dataIO()dataIO()那一行上。那一行上。 单击图标,该行旁边将产生一个蓝色标志,表示设置了一单击图标,该行旁边将产生一个蓝色标志,表示设置了一 个探点。个探点。 在在FileFile菜单中选择菜

31、单中选择File I/OFile I/O,打开,打开File I/OFile I/O对话框。对话框。 点击点击File InputFile Input标签,然后单击标签,然后单击“Add File”Add File”按钮。按钮。 选择选择sine.datsine.dat文件,单击文件,单击“Open”Open”按钮,出现按钮,出现sine.datsine.dat文文 件控制窗口,可在运行程序时使用这个窗口来控制数据文件控制窗口,可在运行程序时使用这个窗口来控制数据文 件的开始、停止、前进、后退等操作。件的开始、停止、前进、后退等操作。 2021-7-4 信息学科立体化教材 26 3.1.2 软

32、件开发过程及开发工具软件开发过程及开发工具 在在File I/OFile I/O对话框中,在对话框中,在AddressAddress域中填入域中填入inp_bufferinp_buffer,在,在 LengthLength域中填入域中填入100100,同时选中,同时选中Wrap AroundWrap Around复选框。复选框。 在在File I/OFile I/O对话框中单击对话框中单击“Add Probe Point”Add Probe Point”按钮,弹出按钮,弹出 Break/Probe PointsBreak/Probe Points对话框。对话框。 在在ConnectConnec

33、t域中,单击下拉箭头,并从列表中选择域中,单击下拉箭头,并从列表中选择sine.datsine.dat。 单击单击“Replace”Replace”按钮,按钮,Probe PointProbe Point列表指示列表指示Probe PointProbe Point已已 与与sine.datsine.dat文件相关联。文件相关联。 单击单击“确定确定”按钮。注意,按钮。注意,File I/OFile I/O对话框对话框ProbelProbel栏已变为栏已变为 ConnectedConnected,表示文件已连至一个探点。,表示文件已连至一个探点。 1313)单击)单击“确定确定”按钮,关闭按钮,

34、关闭File I/OFile I/O对话框。对话框。 2021-7-4 信息学科立体化教材 27 3.1.2 软件开发过程及开发工具软件开发过程及开发工具 Break/Probe PointsBreak/Probe Points对话框对话框 2021-7-4 信息学科立体化教材 28 3.1.2 软件开发过程及开发工具软件开发过程及开发工具 .静态图形显示静态图形显示 选择菜单命令选择菜单命令ViewGraphTime/FrequencyViewGraphTime/Frequency,弹出,弹出Graph Graph PropertyProperty(图形属性)对话框。(图形属性)对话框。 在

35、在Graph PropertyGraph Property对话框中更改图形的标题、起始地址、缓冲对话框中更改图形的标题、起始地址、缓冲 区大小、显示数据大小、区大小、显示数据大小、DSPDSP数据类型、自动标尺属性及最大数据类型、自动标尺属性及最大Y Y值。值。 单击单击“OK”OK”按钮,将出现按钮,将出现InputInput图形窗口。图形窗口。 在图形窗口中右击,从弹出的菜单中选择在图形窗口中右击,从弹出的菜单中选择Clear DisplayClear Display,清,清 除已有显示波形。除已有显示波形。 再次执行菜单命令再次执行菜单命令ViewGraphTime /Frequency

36、ViewGraphTime /Frequency。这次将。这次将 Graph TitleGraph Title改为改为outputoutput,开始地址栏改为,开始地址栏改为out_bufferout_buffer。其他设。其他设 置不变。置不变。 单击单击“OK”OK”按钮,出现一个显示按钮,出现一个显示out_bufferout_buffer波形的图形窗口,波形的图形窗口, 同样单击右键,从弹出菜单中选同样单击右键,从弹出菜单中选Clear DisplayClear Display,清除已有显示,清除已有显示 波形。波形。 2021-7-4 信息学科立体化教材 29 3.1.2 软件开发过

37、程及开发工具软件开发过程及开发工具 更改后的更改后的Graph PropertyGraph Property 2021-7-4 信息学科立体化教材 30 3.1.2 软件开发过程及开发工具软件开发过程及开发工具 . .动态图形显示动态图形显示 在在Volume.cVolume.c窗口,将光标放在调用窗口,将光标放在调用dataIOdataIO行上。行上。 在在ProjectProject工具栏上单击图标设置断点,此时该行有两种工具栏上单击图标设置断点,此时该行有两种 颜色显示,表明该行上同时设有一个断点和一个探点。颜色显示,表明该行上同时设有一个断点和一个探点。 调整窗口以便能同时看到两个图形

38、窗口。调整窗口以便能同时看到两个图形窗口。 在在DebugDebug工具栏中单击工具栏中单击“Animate”Animate”按钮或按按钮或按F12F12键。键。 2021-7-4 信息学科立体化教材 31 3.1.2 软件开发过程及开发工具软件开发过程及开发工具 代码执行时间分析(代码执行时间分析(ProfilerProfiler的使用)的使用) 选择菜单命令选择菜单命令FileReload ProgramFileReload Program,重新加载程序,重新加载程序V Volume1.outolume1.out。 选择菜单命令选择菜单命令ProfilerStart New Session

39、ProfilerStart New Session,在打开的对话框中,在打开的对话框中 输入输入Volume1_profileVolume1_profile作为代码分析统计观察窗口的名称,然后单击作为代码分析统计观察窗口的名称,然后单击 OKOK按钮,则打开分析(按钮,则打开分析(ProfilerProfiler)窗口,单击)窗口,单击FunctionsFunctions标签。标签。 2021-7-4 信息学科立体化教材 32 3.1.2 软件开发过程及开发工具软件开发过程及开发工具 在工程视图中双击在工程视图中双击volume.cvolume.c以显示文件内容。以显示文件内容。 程序运行约程

40、序运行约1 1分钟后停止,看到如下图所示的分析结果。分钟后停止,看到如下图所示的分析结果。 2021-7-4 信息学科立体化教材 33 3.1.2 软件开发过程及开发工具软件开发过程及开发工具 例如,例如,某段程序执行时间分析某段程序执行时间分析 在分析窗口中单击在分析窗口中单击RangesRanges标签,在工程视图中双击标签,在工程视图中双击volume.cvolume.c 显示源程序。显示源程序。 将将loadload(processingLoadprocessingLoad)行到)行到returnreturn(TRUETRUE)行高亮显示)行高亮显示 并拖曳至分析窗口。并拖曳至分析窗口

41、。 选择菜单命令选择菜单命令ViewDisassemblyViewDisassembly打开打开disassemblydisassembly窗口,在窗口,在 disassemblydisassembly窗口中右击,选择窗口中右击,选择Start AddressStart Address,然后输入,然后输入 c_int00c_int00作为起始地址。作为起始地址。 在在disassemblydisassembly窗口将窗口将c_int00c_int00下面的四行拖曳到分析窗口,下面的四行拖曳到分析窗口, 如下图所示。如下图所示。 2021-7-4 信息学科立体化教材 34 3.1.2 软件开发过

42、程及开发工具软件开发过程及开发工具 分析窗口的分析窗口的RangesRanges标签标签 2021-7-4 信息学科立体化教材 35 3.1.2 软件开发过程及开发工具软件开发过程及开发工具 选择菜单命令选择菜单命令DebugRestart.DebugRestart.,然后选择,然后选择DebugRunDebugRun。程。程 序运行约序运行约1 1分钟后停止,看到如下图所示的分析结果。分钟后停止,看到如下图所示的分析结果。 某段程序执行时间分析结果某段程序执行时间分析结果 2021-7-4 信息学科立体化教材 36 3.2.2 汇编语言程序实现汇编语言程序实现DSP设计设计 1. FIR1.

43、 FIR滤波器的滤波器的DSPDSP实现实现 数字滤波是数字滤波是DSPDSP的最基本应用,利用的最基本应用,利用MACMAC(乘、累加)指(乘、累加)指 令和循环寻址可以方便地完成滤波运算。令和循环寻址可以方便地完成滤波运算。 下面是两种常用的数字滤波器:下面是两种常用的数字滤波器:FIRFIR(有限冲激响应)(有限冲激响应) 滤波器和滤波器和IIRIIR(无限冲激响应)滤波器的(无限冲激响应)滤波器的DSPDSP实现。实现。 设设FIRFIR滤波器的系数为滤波器的系数为h(0)h(0),h(1)h(1), .,h(N-1)h(N-1),x(n)x(n) 表示滤波器在表示滤波器在n n时刻的

44、输入,则时刻的输入,则n n时刻的输出为时刻的输出为 1 0 )()()1() 1() 1() 1 ()() 0 ()( N i inxihNnxNhnxhnxhny 其对应的滤波器传递函数为其对应的滤波器传递函数为 i N i zihzH 1 0 )()( 2021-7-4 信息学科立体化教材 37 3.2.2 汇编语言程序实现汇编语言程序实现DSP设计设计 下图所示为横截型(又称直接型或卷积型)下图所示为横截型(又称直接型或卷积型)FIRFIR数字滤波数字滤波 器的结构图。器的结构图。 2021-7-4 信息学科立体化教材 38 3.2.2 汇编语言程序实现汇编语言程序实现DSP设计设计

45、线性缓冲区法又称延迟线法。其方法是:对于线性缓冲区法又称延迟线法。其方法是:对于n=Nn=N的的 FIRFIR滤波器,在数据存储器中开辟一个滤波器,在数据存储器中开辟一个N N单元的缓冲区,存单元的缓冲区,存 放最新的放最新的N N个样本;滤波时从最老的样本开始,每读一个个样本;滤波时从最老的样本开始,每读一个 样本后,将此样本向下移位;读完最后一个样本后,输入样本后,将此样本向下移位;读完最后一个样本后,输入 最新样本至缓冲区的顶部。以上过程,可以用最新样本至缓冲区的顶部。以上过程,可以用N=6N=6的线性的线性 缓冲区示意图来说明,如下图所示。缓冲区示意图来说明,如下图所示。 2021-7

46、-4 信息学科立体化教材 39 3.2.2 汇编语言程序实现汇编语言程序实现DSP设计设计 下图说明了使用循环寻址实现下图说明了使用循环寻址实现FIRFIR滤波器的方法。对于滤波器的方法。对于N N 级级FIRFIR滤波器,在数据存储区开辟一个称为滑窗的具有滤波器,在数据存储区开辟一个称为滑窗的具有N N个单个单 元的缓冲区,滑窗中存放最新的元的缓冲区,滑窗中存放最新的N N个输入样本值。每次输入个输入样本值。每次输入 新的样本时,新的样本将改写滑窗中最老的数据,其他数据新的样本时,新的样本将改写滑窗中最老的数据,其他数据 则不需要移动。则不需要移动。 2021-7-4 信息学科立体化教材 4

47、0 3.2.2 汇编语言程序实现汇编语言程序实现DSP设计设计 例例3.1 3.1 用循环缓冲区和双操作数寻址方法编写实现用循环缓冲区和双操作数寻址方法编写实现FIRFIR滤滤 波的程序。波的程序。 FIRFIR滤波器设计滤波器设计 设计一个设计一个FIRFIR低通滤波器,通带边界频率为低通滤波器,通带边界频率为1500Hz1500Hz, 通带波纹小于通带波纹小于1dB1dB;阻带边界频率为;阻带边界频率为2000Hz2000Hz,阻带衰减,阻带衰减 大于大于40dB40dB;采样频率为;采样频率为8000Hz8000Hz。FIRFIR滤波器的设计可以滤波器的设计可以 用用MATLABMATL

48、AB窗函数法进行。窗函数法进行。 2021-7-4 信息学科立体化教材 41 3.2.2 汇编语言程序实现汇编语言程序实现DSP设计设计 产生滤波器输入信号的文件产生滤波器输入信号的文件 按照通常的程序调试方法,先用按照通常的程序调试方法,先用SimulatorSimulator逐步调试各逐步调试各 子程序模块,再用硬件仿真器在实际系统中与硬件仪器联子程序模块,再用硬件仿真器在实际系统中与硬件仪器联 调。使用调。使用CCSCCS的的SimulatorSimulator进行滤波器特性测试时,需要输进行滤波器特性测试时,需要输 入时间信号入时间信号x(n)x(n)。本例设计一个采样频率。本例设计一

49、个采样频率FsFs为为8000Hz8000Hz,输,输 入信号频率为入信号频率为1000Hz1000Hz和和2500Hz2500Hz的合成信号,通过设计的低的合成信号,通过设计的低 通滤波器将通滤波器将2500Hz2500Hz信号滤掉,余下信号滤掉,余下1000Hz1000Hz信号。信号。 编写编写FIRFIR数字滤波器的汇编源程序数字滤波器的汇编源程序 2021-7-4 信息学科立体化教材 42 3.2.2 汇编语言程序实现汇编语言程序实现DSP设计设计 FIR数字滤波器汇编程序数字滤波器汇编程序fir.asm如下如下 .mmregs .global start .def start,_c_

50、int00 INDEX .set 1 KS .set 256 ;输入样本数据个数输入样本数据个数 COEF_FIR .sect COEF_FIR “ ;FIR滤波器系数滤波器系数 N.set 17 ;FIR滤波器阶数滤波器阶数 .word 0,158,264,-290,-1406,-951,3187,9287,12272 .word9287,3187,-951,-1406,-290,264,158,0 .data INPUT .copy firin.inc ;输入数据在数据区输入数据在数据区0 x2400 OUTPUT .space 1024 ;输出数据在数据区输出数据在数据区0 x2500

51、2021-7-4 信息学科立体化教材 43 3.2.2 汇编语言程序实现汇编语言程序实现DSP设计设计 COEFTAB .usect FIR_COEF,N DATABUF .usect FIR_BFR,N BOS.usect STACK,0Fh TOS.usect STACK,1 .text .asgAR0,INDEX_P .asgAR4,DATA_P;输入数据输入数据x(n)循环缓冲区指针循环缓冲区指针 .asgAR5,COEF_P;FIR系数表指针系数表指针 .asg AR6,INBUF_P;模拟输入数据指针模拟输入数据指针 .asgAR7,OUTBUF_P ;FIR滤波器输出数据指针滤波

52、器输出数据指针 _c_int00 2021-7-4 信息学科立体化教材 44 3.2.2 汇编语言程序实现汇编语言程序实现DSP设计设计 b start nop nopstart: SSBx FRCT ;小数乘法编程时,设置小数乘法编程时,设置FRCT位位 MVPD #COEF_FIR,*COEF_P+ STM #INDEX,INDEX_P STM #DATABUF,DATA_P ;数据循环缓冲区清零数据循环缓冲区清零 RPTZ A,#N-1 STLA,*DATA_P+ STM#(DATABUF+N-1),DATA_P ;数据循环缓冲区指针指向数据循环缓冲区指针指向xn-(N-1) 2021-

53、7-4 信息学科立体化教材 45 3.2.2 汇编语言程序实现汇编语言程序实现DSP设计设计 STM#COEFTAB,COEF_P STM #COEFTAB,COEF_P ;将将FIR系数从程序存储器移到数据存储器系数从程序存储器移到数据存储器 RPT #N-1 FIR_TASK: STM#INPUT,INBUF_P STM #OUTPUT,OUTBUF_P STM#KS-1,BRC RPTBD LOOP-1 STM#N,BK ;FIR循环缓冲区大小循环缓冲区大小 LD*INBUF_P+,A ;装载输入数据装载输入数据 FIR_FILTER: ;FIR滤波运算滤波运算 STLA,*DATA_P

54、+% ;用最新的样本值替代最旧的样本值用最新的样本值替代最旧的样本值 2021-7-4 信息学科立体化教材 46 3.2.2 汇编语言程序实现汇编语言程序实现DSP设计设计 RPTZ A,N-1 MAC *DATA_P+0%,*COEF_P+0%,A STHA,*OUTBUF_P+ LOOP: EEND B EEND .end 2021-7-4 信息学科立体化教材 47 3.2.2 汇编语言程序实现汇编语言程序实现DSP设计设计 编写编写FIR滤波器链接命令文件滤波器链接命令文件 对应以上汇编程序的链接命令文件对应以上汇编程序的链接命令文件fir.cmd如下:如下: fir.obj -m fi

55、r.map -o fir.out MEMORY PAGE 0:ROM1(RIX) :ORIGIN=0080H,LENGTH=100H PAGE 1:INTRAM1(RW) :ORIGIN=2400H,LENGTH=0200H INTRAM2(RW) :ORIGIN=2600H,LENGTH=0100H 2021-7-4 信息学科立体化教材 48 3.2.2 汇编语言程序实现汇编语言程序实现DSP设计设计 INTRAM3(RW) :ORIGIN=2700H,LENGTH=0100H B2B(RW) :ORIGIN=0070H,LENGTH=10H SECTIONS .text :ROM1PAGE

56、 0 .data : INTRAM1 PAGE 1 FIR_COEF : INTRAM2 PAGE 1 FIR_BFR : INTRAM3 PAGE 1 .stack : B2B PAGE 1 2021-7-4 信息学科立体化教材 49 3.2.2 汇编语言程序实现汇编语言程序实现DSP设计设计 CCSCCS集成开发环境下上机操作过程集成开发环境下上机操作过程 在在CCSCCS上建立上建立firfir工程并运行工程并运行fir.outfir.out程序程序, ,在在GraphGraph属性设属性设 置窗口置窗口GraphGraph属性值,如下图所示。属性值,如下图所示。 2021-7-4 信息

57、学科立体化教材 50 3.2.2 汇编语言程序实现汇编语言程序实现DSP设计设计 观察输入信号的波形及频谱。观察输入信号的波形及频谱。 输入信号的时域波形输入信号的时域波形 输入信号的频谱图输入信号的频谱图 2021-7-4 信息学科立体化教材 51 3.2.2 汇编语言程序实现汇编语言程序实现DSP设计设计 观察输出信号的波形及频谱。观察输出信号的波形及频谱。 滤波器滤波器输出信号时域波形输出信号时域波形 滤波器滤波器输出信号频谱图输出信号频谱图 2021-7-4 信息学科立体化教材 52 3.2.2 汇编语言程序实现汇编语言程序实现DSP设计设计 例例3.2 3.2 系数对称系数对称FIR

58、FIR滤波器的滤波器的DSPDSP实现。实现。 在数据存储器中开辟两个循环缓冲区。在数据存储器中开辟两个循环缓冲区。NewNew循环缓冲区中存循环缓冲区中存 放放N/2=4N/2=4个新数据(设个新数据(设N=8N=8););OldOld循环缓冲区中存放循环缓冲区中存放4 4个老数据。个老数据。 循环缓冲区的长度为循环缓冲区的长度为N/2N/2。缓冲区指针。缓冲区指针AR2AR2指向指向NewNew缓冲区中最新的缓冲区中最新的 数据;数据;AR3AR3指向指向Old Old 缓冲区中最老的数据,并在程序存储器中设置缓冲区中最老的数据,并在程序存储器中设置 系数表。系数表。 (AR2)+(AR3

59、)AH(AR2)+(AR3)AH(累加器(累加器A A的高位)的高位) (AR2)-1AR2 (AR2)-1AR2,(AR3)-1AR3(AR3)-1AR3 将累加器将累加器B B清清0 0,重复执行以下操作,重复执行以下操作N/2N/2次(次(i=0i=0,1 1,2 2,3 3):): (AH)(AH)系数系数ai+(B)Bai+(B)B,系数指针(,系数指针(PARPAR)加)加1 1 (AR2)+(AR3)AH(AR2)+(AR3)AH,AR2AR2和和AR3AR3减减1 1 并保存或输出结果(结果在并保存或输出结果(结果在BHBH中)。中)。 2021-7-4 信息学科立体化教材 5

60、3 3.2.2 汇编语言程序实现汇编语言程序实现DSP设计设计 修正数据指针。将修正数据指针。将AR2AR2和和AR3AR3分别指向分别指向NewNew缓冲区中最新缓冲区中最新 的数据和的数据和Old Old 缓冲区中最老的数据。用缓冲区中最老的数据。用New New 缓冲区最老的数缓冲区最老的数 据替代据替代Old Old 缓冲区中最老的数据,缓冲区中最老的数据,Old Old 缓冲区指针减缓冲区指针减1 1。 输入一个新的数据替代输入一个新的数据替代New New 缓冲区中最老的数据,缓冲区中最老的数据,重复重复 执行步骤执行步骤2 25 5。 2021-7-4 信息学科立体化教材 54

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论