DSP综合应用技术 第4章

合集下载

《DSP应用技术》课件

《DSP应用技术》课件

DSP芯片的硬件资源
运算单元
DSP芯片包含多个运算单元,如加法器、乘法器、累加器等,以提 高运算能力。
存储器
DSP芯片具有各种类型的存储器,如程序存储器、数据存储器、缓 存等,以满足不同存储需求。
外设接口
DSP芯片通过外设接口与其他硬件设备进行通信,如串行通信接口、 并行通信接口等。
04
DSP开发工具与环 境
数字信号处理优势
数字信号处理具有精度高、稳定性好、易于实现等优点。
信号的采样与量化
采样
采样是把时间连续的模拟信号转换成时间离散、幅度连续的 信号。换句话说,采样是用每隔一定时间的信号样值序列, 代替原来在时间上连续的信号,也就是在时间上将模拟信号 离散化。
量化
量化是将幅度上连续取值(模拟量)的每一个样本转换为离 散值(数字量)表示,通常是用取样点的值(样值)近似以 其邻近的整数值表示。
总结词
编译器与汇编器是DSP开发中的重要工具,用于将高级语言编写的代码转换成DSP可执 行的机器码。
详细描述
编译器与汇编器是DSP开发中的重要工具,用于将高级语言编写的代码转换成DSP可执 行的机器码。编译器通常将高级语言代码转换成汇编语言代码,然后再由汇编器将其转
换成机器码。这些工具大大提高了DSP应用程序的开发效率。
高效性能
DSP技术具有高效性能,能够快速处理大量的数 据,提高信号处理的效率。
DSP技术的应用领域
通信领域
DSP技术在通信领域中广泛应用于信号调制 、解调、频谱分析等方面。
图像处理
DSP技术可以用于图像信号的处理,如图像 滤波、图像增强等。
音频处理
DSP技术可以用于音频信号的处理,如音频 压缩、音频特效等。

第四章 DSP开发环境

第四章  DSP开发环境

CCS简介 简功能: 包含如下基本功能
1.可视化代码编辑界面。可编写C、汇编、.H文件、.cmd文件等。 可视化代码编辑界面。可编写C 汇编、.H文件、.cmd文件等。 文件 文件等 集成代码生成工具。如汇编器、 编译器、链接器等。 2.集成代码生成工具。如汇编器、C编译器、链接器等。 基本调试工具。跟踪、查看程序执行、存储器、寄存器等。 3.基本调试工具。跟踪、查看程序执行、存储器、寄存器等。 断点工具。 4.断点工具。 探针工具。用于算法仿真、数据监视等。 5.探针工具。用于算法仿真、数据监视等。 分析工具。评估代码执行的时钟数。 6.分析工具。评估代码执行的时钟数。 数据的图形显示工具。如绘制时域/频域波形、眼图、星座图等。 7.数据的图形显示工具。如绘制时域/频域波形、眼图、星座图等。 GEL工具 用户可以自行修改控制面板、菜单,方便直观修改变量,配置参数等。 工具。 8.GEL工具。用户可以自行修改控制面板、菜单,方便直观修改变量,配置参数等。 支持RTDX 实时数据交换)技术。可以在不中断系统运行的情况下,实现DSP RTDX( DSP与其 9.支持RTDX(实时数据交换)技术。可以在不中断系统运行的情况下,实现DSP与其 他应用程序的数据交换。 他应用程序的数据交换。 10.开放式Plug in技术 支持第三方的ActiveX插件( Plug- 技术, ActiveX插件 10.开放式Plug-in技术,支持第三方的ActiveX插件(一种支持软件组件网络交互的 工具),支持包括软仿真在内的各种仿真器(只需安装驱动)。 ),支持包括软仿真在内的各种仿真器 工具),支持包括软仿真在内的各种仿真器(只需安装驱动)。 11.提供DSP/BIOS工具。增强了对代码的实时分析、运行调度、资源管理的能力,减 11.提供DSP/BIOS工具。增强了对代码的实时分析、运行调度、资源管理的能力, DSP/BIOS工具 少了用户对硬件熟悉程度的依赖。 少了用户对硬件熟悉程度的依赖。 12.支持多DSP调试。 DSP调试 12.支持多DSP调试。

DSP芯片的原理与开发技术课后题部分答案

DSP芯片的原理与开发技术课后题部分答案

DSP课后习题答案总结第一章:概述1.2 简述DSP应用系统的典型结构和特点答:DSP系统的典型结构和工作过程:①对输入信号进行带限滤波和抽样;②进行A/D变换,将信号变换成数字比特流;③根据系统要求,DSP芯片对输入信号按照特定算法进行处理;④D/A转换,将处理后的数字样值转换为模拟信号;⑤平滑滤波,得到连续的模拟信号波形。

DSP系统的特点:接口方便、编程方便、稳定性好、精度高、可重复性好、集成方便等。

1.3 简述DSP应用系统的一般设计过程。

答:1.定义系统性能指标2.采用高级语言进行性能模拟3.设计实时DSP应用系统4.借助开发工具进行软硬件调试5.系统集成与独立系统运行1.8 设计DSP应用系统时,如何选择合适的DSP芯片。

答:根据实际应用系统的需要选择,以达到系统的最优化设计。

一般来说,需要考虑:DSP芯片的运算速度:DSP芯片的运算速度衡量指标:①指令周期;②MAC时间;③FFT执行时间;④MIPS;⑤MOPS;⑥MFLOPS;⑦BOPSDSP芯片的价格:DSP芯片的硬件资源DSP芯片的运算精度:一般字长为16bits,浮点芯片一般为32bitsDSP芯片的开发工具DSP芯片的功耗其他因素:例如,DSP芯片的封装形式、质量标准、供货情况、生命周期等。

1.11 中英文全称对照:DSP:Digital Signal ProcessingTI:Texa InstrumentsMAC:Multillier and AccumulatorMIPS:Million Istructions Per SecondMOPS: Million Operations Per SecondMFLOPS: Million Floating-point Operations Per SecondBOPS:Billion Operations Per secondDIP:Dual In-line PackagePGA:Pin Grid ArryPLCC:Plastic Leaded Chip CarrierPQFP:Plastic Quad Flat PackPWM:Pulse Width Modulation第二章:DSP芯片的基本结构和特性2.2 ALU和累加器的区别。

DSP技术原理及应用教程

DSP技术原理及应用教程
跨学科融合
加强与数学、物理学、生物学等其他学科的交叉融合,以开拓DSP技 术在更多领域的应用。
注重实际应用
在研究过程中,注重与实际应用的结合,以提高DSP技术的实用性和 市场竞争力。
THANKS
感谢观看
应用前景
通信领域
DSP技术将在通信领域发挥重 要作用,如调制解调、信号编
解码等。
音频处理
DSP技术在音频信号处理方面 具有天然优势,如音频编解码 、音频效果处理等。
图像处理
DSP技术也可应用于图像信号 处理,如图像增强、目标检测 等。
工业控制
DSP技术将应用于工业控制领 域,实现智能化、高精度的信
号处理。
06
结论
主要观点总结
DSP技术原理
数字信号处理(DSP)是一门跨学科的综合性技术,涉及数学、电路、计算机等多个领域。其主要原理是将模拟信号转换 为数字信号,然后通过计算机进行运算处理,以达到改善信号质量或提取有用信息的目的。
应用领域
DSP技术在通信、雷达、声呐、图像处理、语音识别、生物医学工程等领域有着广泛的应用。通过DSP技术,可以实 现信号的滤波、频谱分析、参数估计、模式识别等功能。
FFT算法将DFT的计算复杂度从 $O(N^2)$降低到$O(Nlog N)$,大 大提高了计算效率。
03
DSP技术的应用领域
通信领域
调制解调
频谱分析
信道均衡
语音压缩
在数字通信中,调制解调是 将基带信号转换为频带信号 的过程,反之亦然。DSP技 术可以快速实现各种调制解 调算法,如QPSK、QAM等 ,提高通信速率和抗干扰能 力。
DSP芯片采用先进的制程技术,具有低功耗 的特点,延长了设备的待机时间。

《DSP技术及应用》PPT课件

《DSP技术及应用》PPT课件

32
一、主要的DSP芯片种类
1.TI公司的DSP芯片
TI公司常用的DSP芯片可以归纳为三大系列: ( 1 ) TMS320C2000 系 列 , 称 为 DSP 控 制 器 , 集 成了flash存储器、高速A/D转换器以及可靠的CAN 模块及数字马达控制的外围模块,适用于三相电动 机、变频器等高速实时工控产品等需要数字化的控 制领域。 ( 2 ) TMS320C5000 系 列 , 这 是 16 位 定 点 DSP 。 主要用于通信领域,如IP电话机和IP电话网关、数 字式助听器、便携式声音/数据/视频产品、调制解 调器、手机和移动电话基站、语音服务器、数字无 线202电1/6/1、0 小型办公室和家庭办公室的语音和数据系统33 。
工作频率 内 存 容 量 位 长 ( 8 位 /16 位 /32 位) 接口方式(串行/并行)、 工 作 电 压 ( 5V/3.3V 或 其 他 ) 。
2021/6/10
20
器件的选型原则
逻辑控制
2021/6/10
先 确 定 所 用 器 件 , 如 PLD 、 EPLD或FPGA;
再根据自己的特长和公司芯片 的特点决定采用哪家公司的哪一 系列产品;
1.总体方案设计 DSP应用
DSP系统设计前:
定义系统性能指标
•明确设计任务 •给出设计任务书
选择DSP芯片
功能描述准确
软件编程
硬件设计
功能描述清楚 描述的方式
软件调试
硬件调试
人工语言
系统集成
流程图 算法描述
系统调试
•将2021设/6/10计任务书转化为量化的技术指标。 12
技术指标的确定
系统采样 频率
13系统采样频率信号频率最复杂的算法所需最大时间对实时程度的要求ram的容量数量及程序的长短1632位定点浮点运算系统所要求的精度输入输出端口要求计算控制选定dsp芯片型号16源程序汇编器汇编目标文件链接器连接调试器调试代码转换c语言汇编语言混合语言代码写入eeprom可执行文件软件仺真17性能指标工期成本等dsp芯片adda内存电源逻辑控制通信人机接口总线等18根据是用于控制还是计算目的选择

TMS320C55X_dsp原理及应用_第4章NEW

TMS320C55X_dsp原理及应用_第4章NEW
编译结果如下: _foo: MOV #10 , port(#_i) ; 将10存在_i中 MOV #_i , port( #_iop_ptr_to_ioport ) ; 存储_i的地址 MOV port(#_iop_ptr_to_ioport),AR3 ; 载入_i的地址 MOV *AR3 , AR1 ; 载入 _i MOV AR1 , port(# _j) ; 将10存到 _ j中 return
32位数据
AC0、AC1、AC2

( 2 ) 函数调用规则
父函数收集返回值,子函数的返回值也根据返回参数的 类型 使用不同的寄存器。
表4-5 C语言函数调用中返回参数所使用的寄存器表 子函数返回类型 Void char、unsigned char、 short int 、int long int 、float 、 double struct T0 AC0 所使用的寄存器 说明 无返回参数 返回16位数据 返回32位数据

挂起状态


被中断状态

任务状态转换
信号量

两种类型

二进制型—看做一个只有一位的计数器型信号量 计数器型 单向同步


两个任务之间利用信号量来取得同步

任务用一个信号量触发另一个任务

双向同步
通信


通信途径:全局变量或消息 消息邮箱:初始化邮箱内的消息;将消息 放入邮箱;等待消息进入邮箱;从邮箱中 取得消息。 消息队列:消息队列初始化,即将消息队 列清空;将一个消息放到消息队列之中; 等待消息到来;得到消息。
采用直接嵌套的方法要十分小心,这是因为C 语言编译器并不检查的分析所嵌入的汇编语言。如 果采用嵌套汇编语句,在编译时不应采用优化功能。 如果采用该方法实现较复杂的功能,会造成 程序的可读性较差,并影响程序的可移植性,因此 更可行的方法数独立编写C语言程序和汇编程序, C语言通过函数调用汇编子程序,这样既提高了程 序的运行效率,有保证了程序的可移植性,这样做 的优点还有程序的结构性较好,并不影响C语言编 译器的优化功能。

DSP原理及应用-(修订版)--课后习题答案

DSP原理及应用-(修订版)--课后习题答案

第一章:1、数字信号处理的实现方法一般有哪几种?答:数字信号处理的实现是用硬件软件或软硬结合的方法来实现各种算法。

(1) 在通用的计算机上用软件实现;(2) 在通用计算机系统中加上专用的加速处理机实现;(3) 用通用的单片机实现,这种方法可用于一些不太复杂的数字信号处理,如数字控制;(4)用通用的可编程 DSP 芯片实现。

与单片机相比,DSP 芯片具有更加适合于数字信号处理的软件和硬件资源,可用于复杂的数字信号处理算法;(5) 用专用的 DSP 芯片实现。

在一些特殊的场合,要求的信号处理速度极高,用通用 DSP 芯片很难实现( 6)用基于通用 dsp 核的asic 芯片实现。

2、简单的叙述一下 dsp 芯片的发展概况?答:第一阶段, DSP 的雏形阶段( 1980 年前后)。

代表产品: S2811。

主要用途:军事或航空航天部门。

第二阶段, DSP 的成熟阶段( 1990 年前后)。

代表产品: TI 公司的 TMS320C20主要用途:通信、计算机领域。

第三阶段, DSP 的完善阶段( 2000 年以后)。

代表产品:TI 公司的 TMS320C54 主要用途:各个行业领域。

3、可编程 dsp 芯片有哪些特点?答: 1、采用哈佛结构( 1)冯。

诺依曼结构,( 2)哈佛结构( 3)改进型哈佛结构2、采用多总线结构 3.采用流水线技术4、配有专用的硬件乘法-累加器5、具有特殊的 dsp 指令6、快速的指令周期7、硬件配置强8、支持多处理器结构9、省电管理和低功耗4、什么是哈佛结构和冯。

诺依曼结构?它们有什么区别?答:哈佛结构:该结构采用双存储空间,程序存储器和数据存储器分开,有各自独立的程序总线和数据总线,可独立编址和独立访问,可对程序和数据进行独立传输,使取指令操作、指令执行操作、数据吞吐并行完成,大大地提高了数据处理能力和指令的执行速度,非常适合于实时的数字信号处理。

冯。

诺依曼结构:该结构采用单存储空间,即程序指令和数据共用一个存储空间,使用单一的地址和数据总线,取指令和取操作数都是通过一条总线分时进行。

第4章TMS320x28xx系列DSP综述

第4章TMS320x28xx系列DSP综述

电气工程学院
DSP应用技术
帧同步和数据时钟的极性都是可编程的;可编程的内部
时钟和同步帧; 能同CODEC、AIC(Analog Interface Chips)等标准 串行A/D和D/A器件接口; 两个16× 16深度的发送通道FIFO; 两个16× 16深度的接收通道FIFO。
20
盐城工学院
电气工程学院
DSP应用技术
4.3.1 事件管理器(281x处理器)
在281x DSP上有EVA和EVB两个事件管理器,它们 是数字电机控制应用所使用的非常重要的外设,能够实 现机电设备控制的多种必要功能。 每个事件管理器模块包括定时器、比较器、捕捉单 元、PWM逻辑电路、正交编码脉冲电路以及中断逻辑电 路等。
4. 专门的分支跳转(Branch-look-)硬件减少了条件指令执行的 反应时间,条件存储操作更进一步提高了28xx的性能。 5. 28xx控制器具有许多独特的功能,如可在任何内存位置进 行单周期读一修改一写操作供了高性能和代码高效编程,还提
供了许多其他原始指令。
6. F28xx系列控制器在1个闪存上可以提供150 MIPS的性能。 7. F2808、F2806和F2801可以提供经济高效的基于闪存的数 字信号控制器,并且运行速度达100 MIPS。
27
盐城工学院
电气工程学院
DSP应用技术
4.3.6 CAN总线通信模块
CAN总线是一种串行通信协议,具有较强的抗干扰能力,
可以应用在电磁噪声比较大的场合。 F281x的CAN总线接口模块是增强型的CAN接口,完全支 持CAN2.0B总线规范。它有32个可配置的接收/发送邮箱, 支持消息的定时邮递功能。最高通信速率可以达到1Mbps, 可以使用该接口构建高可靠的CAN总线控制或检测网络。

DSP应用技术教程 部分习题答案

DSP应用技术教程 部分习题答案

《TMS320C54x DSP应用技术教程》部分习题答案注意:未提供的参考答案习题(因考试为开卷形式,部分在课堂讲过,部分需要自行思考归纳总结或编程),请参考PPT和书上示例,自行解答。

第1章绪论1.简述Digital Signal Processing 和Digital Signal Processor 之间的区别与联系。

答:前者指数字信号处理的理论和方法,后者则指用于数字信号处理的可编程微处理器,简称数字信号处理器。

数字信号处理器不仅具有可编程性,而且其数字运算的速度远远超过通用微处理器,是一种适合于数字信号处理的高性能微处理器。

数字信号处理器已成为数字信号处理技术和实际应用之间的桥梁,并进一步促进了数字信号处理技术的发展,也极大地拓展了数字信号处理技术的应用领域。

2.什么是DSP技术?答:DSP技术是指使用通用DSP处理器或基于DSP核的专用器件,来实现数字信号处理的方法和技术,完成有关的任务。

5.数字信号处理的实现方法有哪些?答:参见P3-4 1.1.3节。

6.DSP的结构特点有哪些?答:哈佛结构和改进的哈佛结构、多总线结构、流水线技术、多处理单元、特殊的DSP指令、指令周期短、运算精度高、硬件配置强。

7.什么是哈佛结构和冯洛伊曼结构?它们有什么区别?答:参见P5-6 1.2.2节。

8.什么是哈佛结构和冯.诺依曼结构?它们有什么区别?答:DSP处理器将程序代码和数据的存储空间分开,各空间有自己独立的地址总线和数据总线,可独立编址和独立访问,可对程序和数据进行独立传输,这就是哈佛结构。

以奔腾为代表的通用微处理器,其程序代码和数据共用一个公共的存储空间和单一的地址和数据总线,取指令和取操作数都是通过一条总线分时进行的,这样的结构称为冯·诺伊曼结构。

采用哈佛结构,可同时取指令和取操作数,并行地进行指令和数据的处理,从而可以大大地提高运算的速度,非常适合于实时的数字信号处理。

而冯·诺伊曼结构当进行高速运算时,取指令和取操作数是分时操作的,这样很容易造成数据传输通道的瓶颈现象,其工作速度较慢。

DSP技术及应用习题答案

DSP技术及应用习题答案

《DSP技术及应用》习题答案第1章绪论1.1 DSP的概念是什么?本书说指的DSP是什么?答:DSP有两个概念。

一是数字信号处理(Digital Signal Processing),指以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理;二是数字信号处理器(Digital Signal Processor),指是一种特别适合于进行数字信号处理运算的微处理器,其主要应用是实时快速地实现各种数字信号处理算法。

本书中的DSP主要指后者,讲述数字信号处理器的应用。

1.2 什么是哈佛结构和冯•诺伊曼结构?它们有什么区别?答:(1)冯·诺伊曼(Von Neuman)结构该结构采用单存储空间,即程序指令和数据共用一个存储空间,使用单一的地址和数据总线,取指令和取操作数都是通过一条总线分时进行.当进行高速运算时,不但不能同时进行取指令和取操作数,而且还会造成数据传输通道的瓶颈现象,其工作速度较慢。

(2)哈佛(Harvard)结构该结构采用双存储空间,程序存储器和数据存储器分开,有各自独立的程序总线和数据总线,可独立编址和独立访问,可对程序和数据进行独立传输,使取指令操作、指令执行操作、数据吞吐并行完成,大大地提高了数据处理能力和指令的执行速度,非常适合于实时的数字信号处理.1.3 已知一个16进制数3000H,若该数分别用Q0、Q5、Q15表示,试计算该数的大小.答:3000H=12288。

若用Q0表示,则该数就是12288;若用Q5表示,则该数就是12288*2—5=384;若用Q15表示,则该数就是12288*2—15=0。

3751。

4 若某一个变量用Q10表示,试计算该变量所能表示的数值范围和精度。

答:Q10能表示的数值范围是-32~31.9990234,其精度为2-101.5 若x=0.4567,试分别用Q15、Q14、Q5将该数转换为定点数.答:Q15:x*215=int(0。

dsp_第4章_simulator和CCS集成开发工具的使用方法

dsp_第4章_simulator和CCS集成开发工具的使用方法

2020年8月14日
DSP原理及应用
2
4.1 Simulator和CCS集成开发 工具的使用方法
4.1.1软件仿真器概述 4.1.2仿真命令 4.1.3仿真器初始化命令文件 4.1.4仿真外部中断
2020年8月14日
DSP原理及应用
3
第4章 simulator和CCS集成开发工具的使用方

4.2 什么是CCS
4.4.3 CCS的常用工具栏 (1) 标准工具条
—— 剪切按钮。用来剪切文本,将标记文本放入 剪切板。
—— 复制按钮。用来复制文本,将标记文本放 入剪切板。
2020年8月14日
DSP原理及应用
24
第4章 simulator和CCS集成开发工具的使用方 法
4.4.3 CCS的常用工具栏
(1) 标准工具条
4.3.2 CCS的安装与设置 CCS的配置文件用来定义DSP芯片和目标板类
型。为了使CCS能工作在不同的硬件或仿真目标板 上,必须为CCS系统配置相应的配置文件。
CCS的系统配置有两种方法:
利用系统提供的标准配置文件进行配置;
按用户自己建立的配置文件来配置系统结构。
2020年8月14日
DSP原理及应用
先,对CCS开发软件作了简要地说明,并介绍了该软
件的安装及配置;其次,介绍了CCS的基本操作,包
括:CCS的窗口和工具条、文件的编辑、反汇编窗口、
存储器窗口、寄存器窗口、观察窗口和其他有关的基
本操作等;然后,介绍了CCS工程项目的建立和调试。

在工程项目的建立中,讲述了工程项目的管理、建立
及构建等内容,而在工程项目的调试中,介绍了程序
⑫ 支持RTDX技术,可在不中断目标系统运行 的情况下,实现DSP与其他应用程序的数据交换;

DSP技术与应用技术习题库及答案

DSP技术与应用技术习题库及答案

一、填空题第一章1.数字信号处理特点大量的实时计算(FIR IIR FFT),数据具有高度重复(乘积和操作在滤波、卷积和FFT中等曲见)。

2.信号处理的作用信号改善;信号检测、估计尊3.信号处理的方法信号波形分析陵换. 滤波.现代谱估计/分析、自适应滤波等。

4.信息系统包括采集.传输、处理、 __________________________ 等。

5.数字信号处理常用算法有FIR滤波、IIR滤波、离散傅里叶变换、卷积、离散余弦变换等6.处理器速度的提高得益于器件水平、处理器结构、并行技术等。

7.DSP结构特点包括采用哈佛结构体系、采用流水线技术、硬件乘法器、多处理单元、特殊的DSP指令。

8.DSP芯片按用途分为通用型DSP、专用型DSP °9.DSP芯片按数据格式分为浮点型、定点型。

第二章1.C28x芯片具有C27X. C 2 8 X、C 2 XLP操作模式。

2.C28x芯片模式选择由£ T 1中的AMODE和OBJMOD E位组合来选定模式。

3.CPU内核由CPU.仿真逻辑、接口组成。

独立寄存器空间算术逻辑单元(ALU)、地址寄存器算术单4. CPU主要特性是保护流水线、元(ARAU)、循环移位器乘法器。

5.CPU信号包括存储器接口信号、时钟和控制信号、复位和中断信号、仿真信号°6.TMS320F2812组成特点是32位、定点、改进哈佛结构、循环的寻址方式。

7.存储器接口有组地址总线。

&存储器接口有3组数据总线。

9.存储器接口地址总线有PAB、DRABDWAB.10.CPU中断控制寄存器有IFR、IER、DBGIER °11.ACC黒加器是3 2位的,可表示为ACC 、AH、AL 。

12.被乘数寄存器是32位的,可表示为XT、_!、虫。

13.乘数结果寄存器是空位的,可表示为E_、PH. _PL <.14.数据页指针寄存器乂位的,有65536页,每页有64个存储单元。

第4章 数字波形的合成

第4章  数字波形的合成

0x0000 7041
0x0000 7042 0x0000 7044 0x0000 7046 0x0000 7047 0x0000 7048 0x0000 7049 0x0000704A 0x0000 704B 0x0000 705C 0x0000 705F
1
1 1 1 1 1 1 1 1 1 1
SPI操作控制寄存器
void InitSpi(void) { EALLOW; GpioMuxRegs.GPFMUX.all = 0x000F; //SPI引脚配置为外设模式 EDIS; SpiaRegs.SPICCR.all = 0x0F; //软件复位,上升沿输出,字符长度16位 SpiaRegs.SPICTL.all = 0x0F; //时钟延迟半个周期,主模式,发送与中断使能 SpiaRegs.SPIBRR = 0x07; //波特率=150/4/8=4.69MHz SpiaRegs.SPICCR.all = 0x8F; //退出复位状态,准备接收、发送字符 PieCtrl.PIEIER6.bit.INTx1 = 1; //使能SPI接收中断 PieCtrl.PIEIER6.bit.INTx2 = 1; //使能SPI发送中断,(仅用于FIFO模式) IER |= M_INT6; //使能PIE组6中断 ClearSPI[0]=0x01; //*ClearSPI=(volatile unsigned int *)0x80006;
V UT A O
2
VOUTB
7
VDD
GND REF
SYNC
DIN SCLK 6 5
SPISTE SPISIMO SPICLK
3 4
AD7303
TMS320F2812
C28

DSP原理及应用课后答案

DSP原理及应用课后答案

第二章3、处理器工作方式状态寄存器PMST 中的MP/MC、OVLY 和DROM 三个状态位对C54x的存储空间结构各有何影响?当OVLY= 0 时,程序存储空间不使用内部RAM。

当OVLY= 1 时,程序存储空间使用内部RAM。

内部RAM 同时被映射到程序存储空间和数据存储空间。

当MP/ MC=0 时,4000H~EFFFH 程序存储空间定义为外部存储器;F000H~FEFFH 程序存储空间定义为内部ROM;当MP/ MC=1 时,4000H~FFFFH 程序存储空间定义为外部存储。

DROM=0:0000H~3FFFH——内部RAM ;4000H~FFFFH——外部存储器;DROM=1 :0000H~3FFFH——内部RAM;4000H~EFFFH——外部存储器;F000H~FEFFH——片内ROM;FF00H~FFFFH——保留。

4 、TMS320C54x 芯片的片内外设主要包括哪些电路?①通用I/O 引脚②定时器③时钟发生器④主机接口HPI⑤串行通信接口⑥软件可编程等待状态发生器⑦可编程分区转换逻辑5、TMS320C54x 芯片的流水线操作共有多少个操作阶段?每个阶段执行什么任务?完成一条指令都需要哪些操作周期?六个操作阶段:①预取指P;将PC 中的内容加载PAB ②取指F; 将读取到的指令字加载PB③译码D; 若需要,数据1 读地址加载DAB;若需要,数据2 读地址加载CAB;修正辅助寄存器和堆栈指针④寻址A; 数据1 加载DB;数据2 加载CB;若需要,数据3 写地址加载EAB⑤读数R; 数据1 加载DB;数据2 加载CB;若需要,数据3 写地址加载EAB;⑥执行X。

执行指令,写数据加载EB。

6、TMS320C54x 芯片的流水线冲突是怎样产生的?有哪些方法可以避免流水线冲突?答:’C54x 的流水线结构,允许多条指令同时利用CPU 的内部资源。

由于CPU 的资源有限,当多于一个流水线上的指令同时访问同一资源时,可能产生时序冲突。

DSP的基本原理及应用--第四讲

DSP的基本原理及应用--第四讲

DSP的基本原理及应⽤--第四讲第6章 DSP55xx芯⽚的指令系统及编程TMS320C55xx DSP指令集可分为六⼤类操作类型:①装载和存储指令:交换、数据移动、堆栈操作及复制(DELAY)②算术指令:加法、减法、加减、减加、乘法、乘累加、乘累减、移位、带条件加减、带条件移位,⽐较指令等③程序控制指令:条件转移、⽆条件转移、重复、条件执⾏、CALL等④bit控制指令:bit Test、Set、Clear、Complement⑤扩展辅助寄存器指令:辅助寄存器数据移动、堆栈操作⑥逻辑操作指令:与、或、⾮、异或、取反、逻辑移位⑦其它操作指令:mmap、port§6.1装载和存储指令语法并⾏使能bit长度周期流⽔线执⾏单元Accumulator, Auxiliary, or Temporary Register ContentSwapA unit ALUSWAP ARx, Tx Yes 2 1 AD A unit register file SWAP Tx, Ty Yes 2 1 AD A unit register file SWAP ARx, ARy Yes 2 1 AD A unit register file SWAP ACx, ACy Yes 2 1 X D unit register file SWAPP ARx, Tx Yes 2 1 AD A unit register file SWAPP T0, T2Yes 2 1 AD A unit register file SWAPP AR0, AR2Yes 2 1 AD A unit register file SWAPP AC0, AC2 Yes 2 1 X D unit register file SWAP4 AR4, T0 Yes 2 1 AD A unit register file Accumulator, Auxiliary, or Temporary Register LoadMOV k4, dst Yes 2 1 X A or D unit register file MOV –k4, dst Yes 2 1 X A or D unit register file MOV K16, dst No 4 1 X A or D unit register file MOV Smem, dst No 2 1 X A or D unit register file MOV [uns()high_byte(Smem)[]], dst No 3 1 X A or D unit register file MOV [uns()low_byte(Smem)[]], dst No 3 1 X A or D unit register file MOV K16 << #16, ACx No 4 1 X D unit ALUMOV K16 << #SHFT, ACx No 4 1 X D unit shifterMOV [rnd()Smem << Tx[]], ACx No 3 1 X D unit shifterMOV low_byte(Smem) << #SHIFTW, ACx No 3 1 X D unit shifterMOV [uns()Smem[]] << #SHIFTW, ACx No 4 1 X D unit shifterMOV[40] dbl(Lmem), ACx No 3 1 X D unit register file MOV Xmem, Ymem, ACx No 3 1 1 D unit register file MOV dbl(Lmem), pair(HI(ACx)) No 3 1 X D unit register file MOV dbl(Lmem), pair(LO(ACx)) No 3 1 X D unit register file MOV dbl(Lmem),pair(TAx) No 3 1 X A unit register file Accumulator, Auxiliary, or Temporary RegisterMOV src, dst Yes 2 1 X A or D unitAL U MOV HI(ACx), TAx Yes 2 1 X A unitAL UMOV TAx, HI(ACx) Yes 2 1 X D unitAL U Accumulator, Auxiliary, or Temporary RegisterMOV src, Smem No 2 1 X A or D unit register file MOV src, high_byte(Smem) No 3 1 X A or D unit register file MOV src,low_byte(Smem) No 2 1 X A or D unit register file MOV HI(ACx), Smem No 2 1 X D unit register file MOV [rnd()HI(ACx)[]], Smem No 3 1 X D unit register file MOV ACx << Tx, Smem No 3 1 X D unit register file MOV [rnd(]HI(ACx << Tx)[)], Smem No 3 1 X D unit register file MOV ACx << #SHIFTW, Smem No 3 1 X D unit register file MOV HI(ACx << #SHIFTW), Smem No 3 1 X D unit register file MOV [rnd()HI(ACx << #SHIFTW)[]], Smem No 4 1 X D unit register file MOV [uns(][rnd(]HI(saturate(ACx))[))], Smem No 3 1 X D unit register file MOV [uns(] [rnd(]HI(saturate(ACx << Tx))[))], Smem No 3 1 X D unit register file MOV [uns()(rnd()HI(saturate(ACx << #SHIFTW))[])], No 4 1 X D unit register file MOV ACx, dbl(Lmem) No 3 1 X D unit register file MOV [uns(]saturate(ACx)[)], dbl(Lmem) No 3 1 X D unit register file MOV ACx >> #1, dual(Lmem) No 3 1 X D unit register file MOV pair(HI(ACx)), dbl(Lmem) No 3 1 X D unit register file MOV pair(LO(ACx)), dbl(Lmem) No 3 1 X A unit register file MOV pair(TAx), dbl(Lmem) No 3 1 X D unit register file MOV ACx, Xmem, Ymem No 3 1 X D unit register file Memory DelayDELAY Smem No 3 1 X A or D unit register file Memory-to-Memory Move/Memory Initialization A or D unit register file MOV Cmem, Smem No 3 1 XMOV Smem, Cmem No 3 1 XMOV K8, Smem No 3 1 XMOV K16, Smem No 4 1 XMOV Cmem,dbl(Lmem) No 3 1 XMOV dbl(Lmem), Cmem No 3 1 XMOV dbl(Xmem), dbl(Ymem) No 3 1 XMOV Xmem, Ymem No 3 1 XPop Top of Stack (TOS) A or D unit register file POP dst1,dst2 Yes 2 1 XPOP Smem No 2 1 XPOP dbl(Lmem) No 2 1 XPush to Top of Stack (TOS) A or D unit register file PSH src1,src2 Yes 2 1 XPSH src Yes 2 1 XPSH src,Smem No 3 1 XPSH dbl(ACx) Yes 2 1 XPSH Smem No 2 1 XPSH dbl(Lmem) No 2 1 XSpecific CPU Register Load A or D unit register file MOV k12, BK03 Yes 3 1 ADMOV k12, BK47 Yes 3 1 ADMOV k12, BKC Yes 3 1 ADMOV k12, BRC0 Yes 3 1 ADMOV k12, BRC1 Yes 3 1 ADMOV k12, CSR Yes 3 1 ADMOV k7, DPH Yes 3 1 ADMOV k9, PDP Yes 3 1 ADMOV k16, BSA01 No 4 1 ADMOV k16, BSA23 No 4 1 ADMOV k16, BSA45 No 4 1 ADMOV k16, BSA67 No 4 1 ADMOV k16, BSAC No 4 1 ADMOV k16, CDP No 4 1 ADMOV k16, DP No 4 1 AD A or D unit register MOV k16, SP No 4 1 AD MOV k16, SSP No 4 1 ADMOV Smem, BK03No 3 1 XMOV Smem, BK47No 3 1 XMOV Smem, BKC No 3 1 XMOV Smem, BSA01 No 3 1 XMOV Smem, BSA23 No 3 1 XMOV Smem, BSA45 No 3 1 XMOV Smem, BSA67 No 3 1 XMOV Smem, BSAC No 3 1 XMOV Smem, BRC0 No 3 1 XMOV Smem, BRC1 No 3 1 XMOV Smem, CDP No 3 1 XMOV Smem, CSR No 3 1 XMOV Smem, DP No 3 1 XMOV Smem, DPH No 3 1 XMOV Smem, PDP No 3 1 XMOV Smem, SP No 3 1 XMOV Smem, SSP No 3 1 XSpecific CPU Register Move A unit ALUMOV TAx, BRC0Yes 2 1 XMOV TAx, BRC1Yes 2 1 XMOV TAx, CDP Yes 2 1 XMOV TAx, CSR Yes 2 1 XMOV TAx, SP Yes 2 1 XMOV TAx, SSP Yes 2 1 XMOV BRC0, TAx Yes 2 1 XMOV BRC1, TAx Yes 2 1 XMOV CDP, TAx Yes 2 1 XMOV RPTC, TAx Yes 2 1 XMOV SP, TAx Yes 2 1 XMOV SSP, TAx Yes 2 1 XSpecific CPU Register Store A or D unit register MOV BK03, Smem No 3 1 XMOV BK47, Smem No 3 1 XMOV BKC, Smem No 3 1 XMOV BSA01, Smem No 3 1 XMOV BSA23, Smem No 3 1 XMOV BSA45, Smem No 3 1 XMOV BSA67, Smem No 3 1 XMOV BSAC, Smem No 3 1 XMOV BRC0, Smem No 3 1 XMOV BRC1, Smem No 3 1 XMOV CDP, Smem No 3 1 XMOV CSR, Smem No 3 1 XMOV DP, Smem No 3 1 XMOV DPH, Smem No 3 1 XMOV PDP, Smem No 3 1 XMOV SP, Smem No 3 1 XMOV SSP, Smem No 3 1 XMOV TRN0, Smem No 3 1 XMOV TRN1, Smem No 3 1 XMOV RETA, dbl(Lmem) No 3 5 X§6.2算术指令语法并⾏使能bit长度周期流⽔线执⾏单元(⽮量距离)Absolute DistanceABDST Xmem, Ymem, ACx, ACy No 4 1 X(绝对值)Absolute ValueABS [src,] dst Yes 2 1 X A or D unit ALUADD Smem, [src,] dst No 3 1 X A or D unit ALU ADD ACx << Tx, ACy Yes 2 1 X D unit ALU & shifter ADD ACx <<#SHIFTW, ACy Yes 3 1 X D unit ALU & shifter ADD K16 << #16, [ACx,] ACy No 4 1 X D unit ALU ADD K16 << #SHFT, [ACx,] ACy No 4 1 X D unit ALU & shifter ADD Smem << Tx, [ACx,] ACy No 3 1 X D unit ALU & shifter ADD Smem << #16, [ACx,] ACy No 3 1 X D unit ALU ADD [uns(]Smem[)], CARRY, [ACx,] ACy No 3 1 X D unit ALU ADD [uns(]Smem[)], [ACx,]ACy No 3 1 X D unit ALU ADD [uns(]Smem[)] << #SHIFTW, [ACx,] ACy No 4 1 X D unit ALU & shifter ADD dbl(Lmem), [ACx,] ACy No 3 1 X D unit ALU ADD Xmem, Ymem, ACx No 3 1 X D unit ALU ADD K16, Smem No 4 1 X D unit ALU ADDV [ACx,] ACy Yes 2 1 X D unit MAC (⽐较)Compare and Select Extremum D unit ALU MAXDIFF ACx, ACy, ACz, ACw Yes 3 3 XDMAXDIFF ACx, ACy, ACz, ACw, TRNx Yes 3 1 XMINDIFF ACx, ACy, ACz, ACw Yes 3 1 XXDMINDIFF ACx, ACy, ACz, ACw, TRNx Yes 3 1 X(带条件加减法)Conditional Addition/SubtractionADDSUBCC Smem, ACx, TC1, ACy No 3 1 X D unit ALU ADDSUBCC Smem, ACx, TC2, ACy No 3 1 X D unit ALU ADDSUBCC Smem, ACx, TC1, TC2, ACy No 3 1 X D unit ALU ADDSUB2CC Smem, ACx, Tx, TC1, TC2, ACy No 3 1 X D unit shifter (带条件移位)Conditional ShiftSFTCC ACx, TCx Yes 2 1 X D unit shifter (带条件减法)Conditional SubtractSUBC Smem, [ACx,] ACy No 3 1 X D unit ALU 双16bit加减法Dual 16-Bit Arithmetic D unit ALU ADDSUB Tx, Smem, ACx No 3 1 XSUBADD Tx, Smem, ACx No 3 1 XADD dual(Lmem), [ACx,] ACy No 3 1 XSUB dual(Lmem), [ACx,] ACy No 3 1 XSUB ACx, dual(Lmem), ACy No 3 1 XSUB dual(Lmem), Tx, ACx No 3 1 XADD dual(Lmem), Tx, ACx No 3 1 XSUB Tx, dual(Lmem), ACx No 3 1 XADDSUB Tx, dual(Lmem), ACx No 3 1 XSUBADD Tx, dual(Lmem), ACx No 3 1 X并⾏乘法(Accumulate/Subtract) D unit MACs MPY[R][40] [uns()Xmem[]], [uns()Cmem[]], Acx∷MPY[R][40] [uns()Ymem[]], [uns()Cmem[)], ACy No 4 1 XMAC[R][40] [uns()Xmem[]], [uns()Cmem[]], AcxNo 4 1 X∷MPY[R][40] [uns()Ymem[]], [uns()Cmem[]], ACyMAS[R][40] [uns()Xmem[]], [uns()Cmem[]], AcxNo 4 1 X∷MPY[R][40] [uns()Ymem[]], [uns()Cmem[]], ACyAMAR XmemNo 4 1 X∷∷MAC[R][40] [uns()Ymem[]], [uns()Cmem[]], ACyAMAR XmemNo 4 1 X∷MAC[R][40] [uns()Ymem[]], [uns()Cmem[]], ACxMAS[R][40] [uns()Xmem[]], [uns()Cmem[]], AcxNo 4 1 X∷MAS[R][40] [uns()Ymem[]], [uns()Cmem[]], ACyAMAR XmemNo 4 1 X∷MAS[R][40] [uns()Ymem[]], [uns()Cmem[]], ACxMAC[R][40] [uns()Xmem[]], [uns()Cmem[]], ACx >> #16 ∷No 4 1 XMAC[R][40] [uns()Ymem[]], [uns()Cmem[]], ACyMPY[R][40] [uns()Xmem[]], [uns()Cmem[]], ACx∷MAC[40] [uns()Ymem[]], [uns()Cmem[]],ACy >> #16MAC[R][40] [uns()Xmem[]], [uns()Cmem[]], ACx >> 16∷No 4 1 XMAC[40] [uns()Ymem[]],[uns()Cmem[]],ACy >> #16MAS[R][40] [uns()Xmem[]], [uns()Cmem[]], ACxNo 4 1 X∷MAC[40] [uns()Ymem[]], [uns()Cmem[]],ACy >>#16 AMAR XmemNo 4 1 X∷MAC[40] [uns()Ymem[]], [uns()Cmem[]],ACx >> #16 AMAR Xmem, Ymem, Cmem No 4 1 XFinite Impulse Response Filter, Symmetrical/Antisymmetrical FIRSADD Xmem, Ymem, Cmem, ACx, ACyFIRSSUB Xmem, Ymem, Cmem, ACx, ACyImplied Paralleled InstructionsMPYM[R] [T3 = ]Xmem, Tx, ACyD unit MAC∷MOV HI(ACx << T2), Ymem No 4 1 XMACM[R] [T3 = ]Xmem, Tx, ACyD unit MAC∷MOV HI(ACx << T2), Ymem No 4 1 XMASM[R] [T3 = ]Xmem, Tx, ACyD unit MAC∷MOV HI(ACx << T2), Ymem No 4 1 XADD Xmem << #16, ACx, ACyD unit ALU∷MOV HI(ACy << T2), Ymem No 4 1 XSUB Xmem << #16, ACx, ACyD unit ALU∷MOV HI(ACy << T2), Ymem No 4 1 XMOV Xmem << #16, ACyD unit ALU∷MOV HI(ACx << T2), Ymem No 4 1 XMACM[R] [T3 = ]Xmem, Tx, AcxD unit MAC∷MOV Ymem << #16, ACy No 4 1 XMASM[R] [T3 = ]Xmem, Tx, AcxD unit MAC∷MOV Ymem << #16, ACy No 4 1 XLeast Mean Square (LMS)LMS Xmem, Ymem, ACx, ACy No 4 1 X D unit MAC &ALU Maximum Comparison MAX [src,] dst X A or D unit ALU Minimum ComparisonMIN [src,] dst X A or D unit ALU Memory Comparison A unit ALUCMP Smem == K16, TC1 No 4 1 XCMP Smem == K16, TC2 No 4 1 XAMOV TAx, TAy Yes 3 1 ADAADD k8, TAx Yes 3 1 ADASUB k8, TAx Yes 3 1 ADAMOV k8, TAx Yes 3 1 ADAMOV D16, TAx No 4 1 ADAMAR Smem No 2 1 ADModify Data Stack Pointer (SP)AADD K8, SP Yes 2 1 AD A unit ALUMultiply D unit MACSQR[R] [ACx,] ACy Yes 2 1 XMPY[R] [ACx,] ACy Yes 2 1 XMPY[R] Tx, [ACx,] ACy Yes 2 1 XMPYK[R] K8, [ACx,] ACy Yes 3 1 XMPYK[R] K16, [ACx,] ACy No 4 1 XMPYM[R] [T3 = ]Smem, Cmem, ACx No 3 1 XSQRM[R] [T3 = ]Smem, ACx No 3 1 XMPYM[R] [T3 = ]Smem, [ACx,] ACy No 3 1 XMPYMK[R] [T3 = ]Smem, K8, ACx No 4 1 XMPYM[R][40] [T3 = ][uns(]Xmem[)], [uns(]Ymem[)], ACx No 4 1 X MPYM[R][U] [T3 = ]Smem, Tx, ACx No 3 1 XMultiply and Accumulate (MAC) D unitMAC SQA[R] [ACx,] ACy Yes 2 1 XMAC[R] ACx, Tx, ACy[, ACy]Yes 2 1 XMAC[R] ACy, Tx, ACx, ACy Yes 2 1 XMACK[R] Tx, K8, [ACx,] ACy Yes 3 1 XMACK[R] Tx, K16, [ACx,] ACy N0 4 1 XMACM[R] [T3 = ]Smem, Cmem, ACx N0 3 1 XMACM[R]Z [T3 = ]Smem, Cmem, ACx N0 3 1 XSQAM[R] [T3 = ]Smem, [ACx,] ACy N0 3 1 XMACM[R] [T3 = ]Smem, [ACx,] ACy N0 3 1 XMACM[R] [T3 = ]Smem, Tx, [ACx,]N0 3 1 XMACMK[R] [T3 = ]Smem, K8, [ACx,] ACy N0 4 1 XMACM[R][40] [T3 = ][uns()Xmem[]], [uns()Ymem[]][ACx,]N0 4 1 XACyMACM[R][40] [T3 = ][uns()Xmem[]], [uns()Ymem[]]ACx >>N0 4 1 X#16[, ACy]Multiply and Subtract (MAS) D unitMAC SQS[R] [ACx,] ACy Yes 2 1 XMAS[R] Tx, [ACx,] ACy Yes 2 1 XMASM[R] [T3 = ]Smem, Cmem, ACx N0 3 1 XSQSM[R] [T3 = ]Smem, [ACx,] ACy N0 3 1 XMASM[R] [T3 = ]Smem, [ACx,] ACy N0 3 1 XMASM[R] [T3 = ]Smem, Tx, [ACx,] ACy N0 3 1 XMASM[R][40] [T3 = ][uns()Xmem[]], [uns()Ymem[]][ACx,]N0 4 1 XACyNormalization ALU& D unit shifter MANT ACx, ACyYes 3 1 XCMP[U] src RELOP dst, TCx Yes 3 1 XCMPAND[U] src RELOP dst, TCy, TCx Yes 3 1 XCMPAND[U] src RELOP dst, !TCy, TCx Yes 3 1 XCMPOR[U] src RELOP dst, TCy, TCx Yes 3 1 XCMPOR[U] src RELOP dst, !TCy, TCx Yes 3 1 XRoundROUND [ACx,] ACy Yes 2 1 X D unit ALU SaturateSAT[R] [ACx,] ACy Yes 2 1 X D unit ALU Signed ShiftSFTS dst, #–1 Yes 2 1 X ALU or D unitshifter SFTS dst, #1 Yes 2 1 X ALU or D unitshifter SFTS ACx, Tx[, ACy] Yes 2 1 X D unit shifter SFTSC ACx, Tx[, ACy] Yes 2 1 X D unit shifter SFTS ACx, #SHIFTW[, ACy] Yes 3 1 X D unit shifter SFTSC ACx, #SHIFTW[, ACy] Yes 3 1 X D unit shifter Square DistanceSQDST Xmem, Ymem, ACx, ACy No 4 1 X D unit MAC & ALU SubtractionSUB [src,] dst Yes 2 1 X A or D unit ALU SUB k4, dst Yes 2 1 X A or D unit ALU SUB K16, [src,] dst No 4 1 X A or D unit ALU SUB Smem, [src,] dst No 3 1 X A or D unit ALU SUB src, Smem, dst No 3 1 X A or D unit ALU SUB ACx << Tx, ACy Yes 2 1 X D unit ALU & shifter SUB ACx << #SHIFTW, ACy Yes 3 1 X D unit ALU,shifter SUB K16 << #16, [ACx,] ACy No 4 1 X D unit ALUSUB K16 << #SHFT, [ACx,] ACy No 4 1 X D unit ALU, shifter SUB Smem << Tx, [ACx,] ACy No 3 1 X D unit ALU, shifter SUB Smem << #16, [ACx,] ACy No 3 1 X D unit ALUSUB ACx, Smem << #16, ACy No 3 1 X D unit ALUSUB [uns(]Smem[)], BORROW, [ACx,] ACy No 3 1 X D unit ALUSUB [uns(]Smem[)], [ACx,] ACy No 3 1 X D unit ALUSUB [uns(]Smem[)] << #SHIFTW, [ACx,] ACy No 4 1 X D unit ALU,shifter SUB dbl(Lmem), [ACx,] ACy No 3 1 X D unit ALU SUB ACx, dbl(Lmem), ACy No 3 1 X D unit ALUSUB Xmem, Ymem, ACx No 3 1 X D unit ALU§6.3程序控制指令语法并⾏使能bit长度周期流⽔线Branch ConditionallyBCC l4, cond No 2 6/5 R BCC L8, cond Yes 3 6/5 R BCC L16, cond No 4 6/5 RB ACx No 2 10 X B L7 Yes 2 6?AD B L16 Yes 2 6?AD B P24 No 4 5 D Branch on Auxiliary Register Not ZeroBCC L16, ARn_mod ! = #0 No 4 6/5 AD Call ConditionallyCALLCC L16, cond No 4 6/5 R CALLCC P24, cond No 5 5/5 R Call UnconditionallyCALL ACx No 2 10 X CALL L16 Yes 36AD CALL P24 No45D Compare and BranchBCC[U] L8, src RELOP K8 No 4 7/6 X Execute ConditionallyXCC [label, ]cond No 2 1 AD XCCPART [label, ]cond No21X IdleIDLE No 4 ? D No Operation (NOP)NOP Yes 1 1 D NOP_16 Yes21D Repeat Block of Instructions UnconditionallyRPTBLOCAL pmad Yes 2 1 AD RPTB pmad Yes31AD Repeat Single Instruction ConditionallyRPTCC k8, cond Yes3 1 AD Repeat Single Instruction UnconditionallyRPT CSR Yes 2 1 AD RPTADD CSR, TAx Yes 2 1 X RPT k8 Yes 2 1 AD RPTADD CSR, k4 Yes 2 1 X RPTSUB CSR, k4Yes 2 1 X RPT k16 Yes 3 1 AD Return ConditionallyRETCC cond Yes 3 5/5 R Return UnconditionallyRET Yes 2 5 D Return from InterruptRETI Yes 2 5 D Software InterruptINTR k5 No 2 3 DTRAP k5 No 2 ? D疑难指令描述Absolute Distance (ABDST)ABDST Xmem,Ymem,ACx,Acy 并⾏完成以下操作ACy = ACy + |HI(ACx)|>>16ACx = (Xmem << #16) – (Ymem << #16)影响状态bit位:FRCT, C54CM, M40, SATD, SXMD Affects ACOVx, ACOVy, CARRY ABDST *AR0+,*AR1,AC0,AC1 Before AfterAC0 00 1234 0000 AC0 00 4500 0000AC1 00 E800 0000 AC1 00 E800 1234AR0 202 AR0 203AR1 302 AR1 302202 3400 202 3400302 EF00 302 EF00●MAXDIFF ACx, ACy, ACz, AcwTRN0 = TRN0 >> #1TRN1 = TRN1 >> #1ACw(39–16) = ACy(39–16) – ACx(39–16) ←分段减ACw(15–0) = ACy(15–0) – ACx(15–0)←分段减If (ACx(31–16) > ACy(31–16)) { bit(TRN0, 15) = #0 ; ACz(39–16) = ACx(39–16) }else { bit(TRN0, 15) = #1 ; ACz(39–16) = ACy(39–16) }if (ACx(15–0) > ACy(15–0)) { bit(TRN1, 15) = #0 ; ACz(15–0) = ACx(15–0) }else { bit(TRN1, 15) = #1 ; ACz(15–0) = ACy(15–0) }MAXDIFF AC0, AC1, AC2, AC1Before AfterAC0 10 2400 2222 AC0 10 2400 2222AC1 90 0000 0000 AC1 7F DC00 DDDEAC2 00 0000 0000 AC2 10 2400 2222TRN0 1000 TRN0 0800TRN1 0100 TRN1 0080●DMAXDIFF ACx, ACy, ACz, AcwIf M40 = 0:TRNx = TRNx >> #1ACw(39–0) = ACy(39–0) – ACx(39–0)If (ACx(31–0) > ACy(31–0)) { bit(TRNx, 15) = #0 ; ACz(39–0) = ACx(39–0) }else { bit(TRNx, 15) = #1 ; ACz(39–0) = ACy(39–0) }ACw(39–0) = ACy(39–0) – ACx(39–0)If (ACx(39–0) > ACy(39–0)) { bit(TRNx, 15) = #0 ; ACz(39–0) = ACx(39–0) } else { bit(TRNx, 15) = #1 ; ACz(39–0) = ACy(39–0) }ADDV [ACx,] ACyACx⾼16bit(32-16)的绝对值与ACy的值相加,结果存于ACy中。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
总体 方案设计 代码设计 编辑、编译 程序 调试、分析 实时分析 跟踪、统计 代码评价
DSP的软件开发流程
CCS的安装和设置
CCS的安装与通常的Windows程序的安装 是一样的。
CCS基本操作
• • • • • • • • • • • • • • • 使用CCS的窗口和工具条 使用反汇编窗口 使用存储器窗口 CPU寄存器 装入COFF文件 单步与多步运行 运行、暂停、动画和自由运行 复位目标处理器 复制数据值 填充存储器位置 编辑变量 命令行编辑 刷新窗口 观察调用堆栈 保存和恢复工作空间
TI公司的CCS(Code Composer Studio)是一种针对TM320系列 DSP调试接口的集成开发环境,即:IDE(Integrated Development Environment)。它包含了源代码编辑工具、代 码调试工具、可执行代码生成工具和实时分析工具,并将这 些工具集成在一个统一的开发平台中,而且对设计和开发的 整个流程提供非常好的支持。 利用CCS进行DSP的软件开发的流程主要原理框图如图所示:
第4章 CCS集成开发环境使用方法
4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 CCS的安装和设置 CCS基本操作 CCS集成编辑器 CCS工程管理工具 CCS的断点和探测点 文件输入和输出 图形窗口 存储器映射 监视窗口 CCS的评价器 通用扩展语言GEL
通用扩展语言GEL
通用扩展语言(GEL)是一种与C语言类似的解释 性语言,它使开发人员能够生成函数来扩展CCS集 成开发环境的应用。开发人员可以使用GEL语法生 成GEL函数,然后载入到CCS中。通过使用GEL,开 发人员可以存取实际的或仿真的目标存储器,并 在CCS的GEL菜单中增加一些选项。GEL对自动程序 测试和定制用户空间非常有用。GEL函数可以在任 何输入表达式的地方调用,也可以将GEL函数加入 到观察窗口,这样可在每个断点处可以执行。
利用探测点可进行以下工作:
• 从PC主机的文件传输输入数据到目标板的缓冲区中,作为 算法开发的模拟数据。 • 从目标板的缓冲区传输输出数据到PC主机的文件中以便进 行分析。 • 更新窗口,例如图形、数据等。 • 探测点与断点类似,二者都通过暂停目标处理器来执行它 们各自的行动。但探测点在以下方面与断点不同。 • 探测点瞬时地停止目标处理器,执行单步操作,然后继续 目标处理器的执行。 • 断点停止CPU直到手工继续,并引起所有打开的窗口更新。 • 探测点允许自动执行文件的输入或输出,断点则不能。
数据文件的格式:
DSP系统可以从计算机的文件中读写以下两种文件格式: –公共目标文件格式(COFF:Common Object File Format),是一种二进制文件格式;
–②CCS数据文件格式,实际上是一种文本文件。
图形窗口
CCS IDE提供了将程序处理的数据图形化的方法, 大大方便了程序的调试。CCS提供有显示时间/ 频率图形(time/frequency)、星座图形 (constellation)、眼图(eyediagram)和图像 (image)等4种功能。每一种功能都有相应的显 示对话框,用以输入显示图形的各种参数。
CCS集成编辑器
CCS的编辑器的基本功能: • 句法增强亮度显示;
• • • • • 寻找和替换; 在源文件中进行上下文相关的帮助; 分裂窗口; 编辑工具条; 鼠标右键。
ቤተ መጻሕፍቲ ባይዱCS工程管理工具
• • • • • 工程的创建、打开和关闭 使用工程观察窗口 加入文件到工程 扫描文件的相关性 设置生成选项
监视窗口:
监视窗口(watchwindow)可用来监视局部变量和全局变量以 及C/C++表达式的值。
﹡ ﹡ ﹡ ﹡ ﹡
在监视窗口中加入和删除表达式; 展开或缩并监视变量 ; 在监视窗口编辑变量;
监视窗口的显示格式;
快速监视。
CCS的评价器
评价器(profiler)是CCS的优化工具,它通过采 集在指定的代码区间程序执行的统计性能,来帮 助确定一段程序所花费的处理器时间,从而帮助 识别并消去性能发挥的瓶颈,减少程序的执行时 间,使程序更有效。
文件输入和输出
文件输入/输出: ﹡ CCS可在实际或模拟目标上的数据与PC主机的文件之
间进行通信,或者作为数据流进行传输。 ﹡ 文件I/O功能使用探测点的概念,可以通过在代码中 的任何点设置探测点,然后将它与文件相连,从而实现文 件I/O功能。 ﹡ 可以使文件与某个输入或输出信号相联系。在指定的 探测点,可以从指定文件中读出数据或者将数据写入文件。 ﹡ 文件的传输过程可以通过一个控制窗口控制,并在其 中的显示文件传输进展的区域观察文件传输的进展情况。
• 生成程序
CCS的断点和探测点
断点:
断点是任何调试工作的一个基本内容,它 暂停 程序的执行。当程序被暂停时,可以考察程序的 状态,检查或修正变量,考察调用的堆栈等等。
探测点:
探测点(probepoint)在算法开发过程中是一个有 用的工具,可用来与PC主机进行数据通信。探测 点允许使用特殊的窗口从文件中为算法的指定点 更新或读写数据的采样。
存储器映射
存取存储器映射:
可按如下的方法给应用目标定义一个有效的存储 器映射:
–在使用调试器时,交互式地输入命令。 –可以使用GEL内部函数定义存储器映射。调试器提供了 一组完整的存储器映射命令,可以通过GEL和菜单条来 调用。实现存储器映射最容易的方法是将存储器映射 命令放置在一个GEL文本文件中,并在启动时执行该文 件。
相关文档
最新文档