02-第一章-TMS320C54x原理及应用绪论-2
TMS320C54X芯片概述
• 2.流水线操作。TMS320系列处理器的 流水线深度从2-6级不等,也就是说,处 理器可以并行处理2-6条指令,每条指令 处于流水线上的不同阶段。例如在一个 三级流水线操作中,取指,译码和执行 操作可以独立地处理,这可使指令执行 能够完全重叠。这样就增强了处理器的 处理能力。
• 3.专用的硬件乘法器。在一般形式 的FIR滤波器中,乘法是DSP的重要组成 部分。在TMS320系列中,由于具有专用 的硬件乘法器,乘法可以在一个指令周 期内完成。这样可以大量降低FIR的计算 时间。
• 3.多处理器DSP芯片。它内部集成了 多个DSP芯片以获得更好的性能。如TM S320C8X。
• 在这些芯片中,TMS320C54X是为实现 低功耗,高性能而专门设计的定点DSP 芯片,它主要应用于无线系统中,下来 我们对它做一个较为详细的介绍。
TMS320C54X的基本特点
• 1.中央处理单元 • 先进的多总线结构,有一条程序总线 (PB),三条数据总线(CB,DB和EB) 和四条地址总线(PAB,CAB,DAB和 EAB)
1149.1标准的 边界扫描逻辑接口,即JTAG扫描逻
辑电路,用于仿真和测试,可以实现在 线仿真。
TMS320C54X的BOOT设计
• 由于直接将程序写入DSP芯片非常困难, 所以TMS320C54X DSP芯片都在片内设 置有BOOT程序,它的主要作用是在开机 时将用户程序从外部装入到程序存储器。
• 5.军事---如保密通信,雷达处理,声 纳处理,导航,导弹制导等; • 6.仪器仪表---如频谱分析,函数发生, 锁相环,地震处理等; • 7.自动控制---如引擎控制,声控,自 动驾驶,机器人控制,磁盘控制等;
• 8.医疗---如助听,超声设备,诊断工 具,病人监护等; • 9.家用电器---如高保真音响,音乐合 成,音调控制,玩具与游戏,数字电话/ 电视等。
TMS320C54X DSP原理及应用(第二版) (1)
第1章 绪论 第二代DSP芯片的典型代表是TMS32020、TMS320C25/26/28。
在这些芯片中,TMS32020是一个过渡产品,其指令周期为200 ns, 与TMS32010相当,而其硬件结构则与TMS320C25一致。在第二代 DSP芯片中,TMS320C25是一个典型的代表,其他芯片都是由 TMS320C25派生出来的。TMS320C2xx是第二代DSP芯片的改进型, 其指令周期最短为25 ns,运算能力达40 MIPS。
了飞速的发展,已经在信号处理、音/视频、通信、消费、军事 等诸多领域得到了广泛的应用。随着DSP芯片性价比的不断提高 和单位运算量功耗的显著降低,DSP芯片的应用领域将会不断扩 大。表1-1列出了TMS320系列DSP的典型应用。
21
第1章 绪论
22
第1章 绪论 TI作为全球DSP的领导者,目前主推三个DSP平台:
第1章 绪论
第1章 绪
论
1.1 引言 1.2 DSP芯片概述 1.3 运算基础
1
第1章 绪论 1.1 引 言
1.数字信号处理概述 数字信号处理,利用计算机或专用的数字设备对数字信号进 行采集、变换、滤波、估值、增强、压缩和识别等加工处理,以 得到符合人们需要的信号形式并进行有效的传输与应用。数字信 号处理以许多经典的理论作为自己的理论基础(如随机过程、信 号与系统等),同时又使自己成为一系列新兴学科(如模式识别、 神经网络等)的基础。
27
第1章 绪论 2.小数 在16位定点DSP中,小数表示为S.xxxxxxxxxxxxxxx,最高位
S为符号位,其他的各位采用2的补码表示,小数点紧接着符号位, 无整数位,数的范围为(-1,1)。小数的最小分 辨率为2−15。
TMS320C54x系列DSP概述
第一章TMS320C54x系列DSP概述1.1DSP芯片概述1.什么是DSP芯片2.DSP芯片的基本结构1.2TMS320C54x系列DSP的结构和特点1.2.1TMS320C54x系列DSP的概述1.2.2 TMS320C54x系列DSP的特点.1.2.3 TMS320C54x系列DSP的内部硬件结构1.3 总线结构1.4 CPU状态和控制寄存器1.4.1 状态寄存器ST0和ST11.4.2 处理器工作模式状态(PMST)寄存器1.5 算数逻辑单元(ALU)1.5.1 ALU的输入1.5.2 溢出处理1.5.3 进位位1.5.4 双16位模式1.6 累加器A和B1.6.1 保存累加器的内容1.6.2 累加器移位和循环操作1.6.3 饱和处理累加器内容1.6.4 专用指令1.7 桶式移位器1.8 乘法器/加法器单元1.8.1 乘法器的输入源1.8.2 乘法/加法(MAC)指令1.8.3 MAC和MAS乘法运算的饱和处理1.9 比较、选择和存储单元1.10 指数编码器第二章存储器和I/O空间操作TMS320C54x DSP存储器概述存储器空间程序存储器程序存储器的可配置性片内ROM的组织程序存储器地址映射和片内ROM内容片内ROM的代码内容和映射扩展程序存储器数据存储器数据存储器的可配置性片内RAM的组织存储器映射寄存器I/O空间及其访问第三章寻址方式和程序控制3.1立即寻址3.2绝对寻址3.2.1数据存储器地址(dmad)寻址3.2.2程序存储器地址(pmad)寻址3.2.3端口地址(PA)寻址3.2.4*(lk)寻址3.3累加器寻址3.4直接寻址3.4.1基于DP的直接寻址3.4.2基于SP的直接寻址3.5间接寻址3.5.1单操作数寻址3.5.2ARAU和地址产生操作3.5.3单操作数地址的修改1.增加/减少地址(MOD=0、1、2或3)2.偏移地址修改(MOD=12或13)3.变址地址修改(MOD=5或6)4.循环地址修改(MOD=8、9、10、11或14)5.位反向寻址(MOD=4或7)3.5.4双操作数寻址3.5.5修正(ARP)模式3.6存储器映射寄存器寻址3.7堆栈寻址3.8数据类型3.9产生程序存储器地址3.10程序计数器(PC)3.11程序控制3.11.1分支转移1. 无条件分支转移2. 条件分支转移3. 远分支转移3.11.2 调用1.无条件调用2.条件调用3.远调用3.11.3 返回1.无条件返回2.条件返回3.远返回3.11.4 条件操作1.使用多个条件2.条件执行(XC)指令3.条件存储指令3.11.5 重复单条指令3.11.6 重复一个指令快3.12 复位操作3.13 TMS320C54x DSP的中断系统3.13.1 TMS320C54x DSP中断系统概述1. 中断分类2. 处理中断的步骤3.13.2 中断标志寄存器(IFR)3.13.3 中断屏蔽存储器(IMR)3.13.4 接收中断请求3.13.5 应答中断3.13.6 执行中断服务程序(ISR)3.13.7 保存中断上下文3.13.8 中断等待时间3.13.9 中断操作流程3.13.10 重新映射中断向量地址3.13.11 中断和中断向量表3.14 节电模式3.14.1 IDLE1模式3.14.2 IDLE2模式3.14.3 IDLE3模式3.14.4 保持(Hold)模式3.14.5 其他节电性能第四章流水线4.1流水线操作4.1.1 流水线的分支转移指令1. 分支转移指令B2. 延时分支转移指令BD4.1.2 流水线中的调用指令1. 调用指令CALL和CALLD2. 中断指令INTR4.1.3 流水线中的返回指令4.1.4 流水线中的条件执行4.1.5 流水线中的条件调用和分支转移1. 条件调用2. 条件分支转移4.2 中断和流水线4.3 双访问存储器和流水线4.3.1 解决取指和读操作数之间的冲突4.3.2 解决写操作数和读双操作数之间的冲突4.3.3 解决写操作数、写操作数和读双操作数的冲突4.4 单访问存储器和流水线4.5 流水线等待4.5.1 访问存储器映射寄存器的推荐指令4.5.2 更新ARx、BK或SP-解决冲突第五章汇编程序设计应用软件开发流程和工具COFF文件概述COFF文件的基本单元-段汇编器对段的处理1.未初始化段2.初始化的段3.自定义段4.子段(Subsections)5.段程序计数器6.使用段伪指令的简单实例链接器对段的处理重新定位运行时重新定位加载程序COFF文件中的符号1.外部符号2.符号表汇编语言程序格式汇编程序格式1.标号区2.助记符指令域3.代数指令域4.注释汇编语言的数据格式1.常数2.符号表达式1.算术操作符2.表达式上溢和下溢3.有效定义的表达式4.条件表达式5.可重定位的符号和合法表达式5.3.4 内置函数5.3.5 加载值到扩展程序存储器5.4 汇编伪指令5.4.1 定义段的伪指令5.4.2 初始化常数的伪指令5.4.3 对准段程序计数器的伪指令5.4.4 格式化输出清单文件的伪指令5.4.5 引用其他文件的伪指令5.4.6 条件汇编伪指令5.4.7 汇编时符号伪指令5.4.8 混和伪指令5.4.9 常用伪指令及其语法格式5.5 程序汇编5.5.1 运行汇编程序5.5.2 条件汇编5.5.3 列表文件5.5.4 交叉引用清单5.6 程序链接5.6.1 链接器的调用5.6.2 链接器的选项5.6.3 链接器命令文件(.cmd文件)5.7 编写链接器命令文件(.cmd文件)5.7.1 MEMORY指令5.7.2 SECTIONS指令1. SECTINS指令的使用方法2. 为输出段指定地址5.7.3 MEMORY和SECTIONS指令的默认算法5.7.4 命令文件编写及链接实例1. 命令文件2. 链接文件5.8 宏定义和调用宏5.8.1 宏定义5.8.2 调用宏5.8.3 使用递归和嵌入宏第六章汇编语言指令指令集概述算数操作逻辑操作程序控制加载和存储指令6.2 指令集的符号和缩写第七章C/C++编译器概述7.1C/C++编译器命令解释程序7.2调用编译器解释命令程序7.3改变编译器的选项7.3.1常用的选项7.3.2指定文件名7.3.3修改编译器对文件名的解释7.3.4修改编译器对文件名扩展的解释和命名7.3.5指定目录7.3.6控制汇编器的选项7.4 使用环境变量改变编译器特性7.4.1 制定文件目录(C_DIR和C54X_C_DIR)7.4.2 设置默认编译器选项(C_OPTION 或C54_C_OPTION) 7.5 控制预处理器7.5.1 预定义的宏名7.5.2 #include 文件的搜索路径7.5.3 用-i选项改变#include 文件的搜索路径7.5.4 产生预处理的列表文件(-ppo选项)7.5.5 预处理后继续编译(-ppa选项)7.5.6 产生一个带注释的预处理列表文件(-ppc选项)7.5.7 产生一个具有行控制信息的预处理列表文件(-ppl选项)7.5.8 产生#include伪指令包含的文件列表(-ppi选项)7.6 使用直接插入函数展开7.6.1 直接插入内部操作数7.6.2 无保护的定义控制直接插入7.6.3 使用预处理器符号_INLINE的保护直接插入7.6.4 直接插入限制7.7 使用交互列表工具7.8 编译错误简介7.8.1 控制诊断消息7.8.2 如何使用诊断选项第八章优化C/C++代码8.1使用C编译优化器8.2使用-O3选项8.2.1 控制文件级优化(-O1n选项)8.2.2 创建优化信息文件(-On n选项)8.3 执行程序级优化8.3.1 控制程序级优化(-Op n选项)8.3.2 混和C/C++语言和汇编的优化考虑因素8.4 自动直接插入扩展(-Oi选项)8.5 使用交互列表工具8.6 访问优化代码中的别名变量8.7 调试优化得代码和优化类型8.7.1 调试优化的代码8.7.2 压缩优化的代码(-gp和-O选项)8.7.3 可执行的优化类型1. 基于重要程度的寄存器分配2. 消除别名的歧义3. 分支转移优化和控制流简化4. 数据流优化5. 表达式简化6. 函数的直接插入展开7. 循环归纳变量优化和强度降低8. 循环不变代码的移动9. 循环旋转10. 尾部合并11. 自动增量寻址12. 重复块13. 延迟、转移、调用和返回14. 算数重排、符号简化和常数合并第九章链接C/C++代码9.1调用链接器9.1.1 单步调用链接器9.1.2 作为编译的步骤调用链接器9.2 禁用链接器(-c编译器选项)9.3 控制链接过程9.3.1 链接运行时支持库9.3.2 运行时初始化9.3.3 全局对象构造器9.3.4 指定初始化类型9.3.5 指定段在存储器中的分配9.3.6 链接器命令文件实例第十章TMS320C54x C/C++语言10.1 TMS320C54x C/C++语言的特点10.1.1 TMS320C54x C语言特点1. 标志符和常数2. 数据类型3. 数据转换4. 表达式5. 声明6. 预处理器10.1.2 TMS320C54x C++语言特点10.2 数据类型10.3 关键词10.3.1 const关键词10.3.2 ioport关键词10.3.3 interrupt关键词10.3.4 near 和far关键词10.3.5 volatile关键词10.4 寄存器变量和全局寄存器变量10.4.1 寄存器变量10.4.2 全局寄存器变量1. 何时使用全局变量寄存器2. 避免破坏寄存器的值3. 禁止编译器使用AR1和AR6 10.5 Pragma伪指令1. CODE_SECTION指令2. DA TA_SECTION指令3. FUNC_CANNOT_INLINE指令4. FUNC_EXT_CALLED指令5. FUNC_IS_PURE指令6. FUNC_IS_SYSTEM指令7. FUNC_NEVER_RETURNS指令8. FUNC_NO_ASG指令9. FUNC_NO_IND_ASG指令10. IDENT指令11. INTERRUPT指令12. NO_INTERRUPT指令10.6 初始化静态和全局变量10.7 C/C++和汇编语言混和编程10.7.1 用/C++代码调用汇编语言模块10.7.2 在C语言中插入汇编语句10.7.3 在程序中访问汇编语言变量10.7.4 访问汇编语言的常数第十一章运行时环境和支持库11.1存储器模式11.1.1 段11.1.2 C系统堆栈11.1.3 分配.const到程序存储器11.1.4 动态存储器分配11.1.5 变量初始化11.1.6 为静态和全局变量分配存储器11.1.7 子段/结构体定位11.1.8 字符串常数11.2 寄存器规定11.2.1 状态寄存器的位11.2.2 寄存器变量11.3 函数结构和调用规定11.3.1 函数如何进行调用11.3.2 被调用函数如何响应11.3.3 访问变量和局部变量11.3.4 分配帧和使用32位存储器读指令11.4 中断处理11.4.1 C语言中中断的基本知识11.4.2 使用C/C++中断程序11.4.3保存中断入口点的上下文11.5 系统初始化11.5.1 变量自动初始化11.5.2 全局构造器11.5.3 初始化表11.5.4 运行时变量的自动初始化11.5.5 在加载时变量的初始化11.6 运行时支持库函数11.6.1 库11.6.2 C的I/O函数1. 低级I/O的执行2. 为C的I/O添加一个设备3. 低级函数11.6.3 头文件1. 诊断消息头文件(assert.h/cassert)2. 字符测试和转换(ctype.h cctype)3. 错误报告(error.h/cerrno)4. 扩展寻址函数(extaddr.h)5. 低级输入/输出函数(file.h)6. 限制头文件(float.h/cfloat和limits.h/climits)7. 浮点数学函数(math.h/cmath)8. 非局部转移(set jump.h/cset jump)9. 变量可变头文件(stdarg.h/cstdarg)10. 标准定义头文件(stddef.h/cstddef)11. 输入/输出函数(stdio.h/cstdio)12. 通用工具头文件(stdlib.h/cstdlib)13. 字符串函数头文件(string.h/cstring)14. 时间函数头文件(time.h/ctime)15. 异常事件的处理(exception和stdexcept)16. 动态存储器管理(new)17. 运行时类型信息(typeinfo)第十二章集成开发环境(CCS)12.1CCS2.0系统的安装和配置S2.0系统的安装2.系统配置3.运行CCS2.012.2建立工程文件1.建立一个新的工程项目文件2.向工程项目中添加文件12.3设置工程项目选项12.3.1 编译器环境参数设置1. 设置结果显示2. 具体选项的设置12.3.2 链接器环境参数设置1. 设置结果显示2. 具体选项的设置12.4 编译、链接和运行目标文件12.4.1 编译和链接12.4.2 仿真运行输出目标文件12.5 查看存储器信息12.6 查看寄存器信息1. 查看CPU寄存器2. 查看外设寄存器12.7 修改存储器和寄存器内容1. 修改存储器内容2. 修改寄存器内容3. 修改变量内容12.8 设置断点和探测点1. 设置断点2. 设置探测点12.9 图形显示12.9.1 定义探测点和输入数据12.9.2 将探测点与数据文件链接起来12.9.3 建立幅值-时间图形1. 建立图形2. 链接图形到数据源激活图形12.9.4 建立“眼(Eye)”图形1. 建立图形2. 链接图形到数据源激活图形12.9.5 建立“合成(Constellation)”图形1. 建立图形2. 链接图形到数据源激活图形第十三章应用程序开发实例13.1提高系统性能的几种方法13.1.1 有效存储器分配的建议1. 安排SARAM和DARAM的数据分配2. 对于随即访问的变量,使用直接寻址,并将他们分配到同一个128字的页面3. 为中断而保留专用的CPU资源13.1.2 存储器定位要求13.1.3 堆栈初始化13.1.4 重叠管理13.1.5 存储取之间的移动13.2 算术运算13.2.1 除法和求模运算13.2.2 正弦和余弦运算13.2.3 扩展精度运算13.2.4 浮点运算13.3 快速傅立叶变换(FFT)的DSP实现13.3.1 离散傅立叶变换(DFT)13.3.2 快速傅立叶变换(FFT)13.3.3 快速傅立叶变换的DSP实现1. 实数FFT运算序列的存储分配2. 基2实数FFT运算的算法3. 计算所求信号的功率13.4 FIR滤波器的DSP实现1. FIR滤波器实现方法2. FIR的DSP实现程序代码13.5 IIR滤波器的DSP实现1. 无限脉冲响应(IIR)滤波器结构2. 双二次IIR滤波器的实例程序13.6 自适应滤波的DSP实现13.7 CODEC应用程序的DSP实现1. 编写汇编程序2. 链接命令文件。
DSP原理及应用-绪论
1982年问世的第一个定点DSP芯片是TMS320C10 同一代TMS320系列DSP产品的CPU结构是相同的, 但片内存储器及外设电路的配置不一定相同
15
TI的三大主力芯片
TMS320C2000系列 用于数字控制系统 TMS320C5000系列 用于低功耗、便携的无线通信终端产品 TMS320C6000系列
2
要求:
不迟到、不早退、更不能无故旷课 按时完成作业,决不容许抄袭现象
课堂上积极回答问题,积极参与讨论
3Leabharlann 第1章 绪论1.1 数字信号处理概述
4
数字信号处理:滤波、参数提取、频谱分析、压缩等
Digital Signal Processing 广义理解 DSP Digital Signal Processor 狭义理解
美国Inmos公司的:IMSA100卷积/相关器
14
TMS320 DSP芯片(通用型)
定点型
TMS320C1x、 TMS320C2x、 TMS320C2xx、 TMS320C5x、 、 TMS320C54x、 TMS320C62x
浮点型
TMS320C3x、 TMS320C4x、 TMS320C67x
外部可扩展的程序和数据空间,总线接口,I/O接口等。
不同的DSP芯片所提供的硬件资源是不相同的,应根据系统的 实际需要,考虑芯片的硬件资源。
27
4.DSP芯片的运算精度
运算精度取决于DSP芯片的字长。定点DSP芯片的字长通常
为16位和24位。浮点DSP芯片的字长一般为32位。
5.DSP芯片的开发工具 快捷、方便的开发工具和完善的软件支持是开发大型、复杂 DSP应用系统的必备条件。
TMS320C54x
TMS320C54xDSP CPU外设第一章综述1 总线结构C54x包括8条16比特宽度的总线,其中:●一条程序总线(PB)●三条数据总线(CB、DB、EB)●四条地址总线(PAB、CAB、DAB、EAB)2CPUC54x的CPU结构包括:●40比特的ALU,其输入来自16比特立即数、16比特来自数据存储器的数据、暂时存储器、T中的16比特数、数据存储器中两个16比特字、数据存储器中32比特字、累加器中40比特字。
●2个40比特的累加器,分为三个部分,保护位(39-32比特)、高位字(31-16比特)、低位字(15-0比特)。
●桶型移位器,可产生0到31比特的左移或0到16比特的右移。
●17×17比特的乘法器●40比特的加法器●比较选择和存储单元CSSU●数据地址产生器DAGEN●程序地址产生器PAGEN3外设C54x包括:●通用I/O引脚,XF和BIO●定时器●PLL时钟产生器●HPI口,8比特或16比特●同步串口●带缓存串口,BSP●多路带缓存串口,McBSP●时分复用串口,TDM●可编程等待状态产生器●可编程bank-switching模块●外部总线接口●IEEE1149.1标准JTAG口第二章 存储器一般而言,C54x 的存储空间可达192K16比特字,64K 程序空间,64K 数据空间,64KI/O 空间。
依赖其并行的工艺特性和片上RAM 双向访问的性能,在一个机器周期内,C54x 可以执行4条并行并行存储器操作:取指令,两操作数读,一操作数写。
使用片内存储器有三个优点:高速执行(不需要等待),低开销,低功耗。
1 存储空间分配图(以C549为例)复位后,中断矢量表位于程序区FF80H 位置,可重新定位于程序空间任何一个128字的页面(其地址高9比特即页号由PMST 中IPTR 确定)。
2 程序存储区C54x 有片内ROM 、DARAM 、SARAM ,这些区域可以通过软件配置到程序空间。
TMS320C54XDSP原理、编程及应用
4.2 汇编源程序格式
汇编语言是DSP应用软件的基础,编写汇编语言必须要符合 相的格式,这样汇编器才能将源文件转换为机器语言的目标 文件。汇编语言指令书写形式有两种:助记符形式和代数式 形式,本章以助记符指令系统为主介绍。TMS320C54X汇编语 言源程序由源说明语句组成,包括汇编语言指令、汇编伪指 令(汇编命令)、宏指令(宏命令)和注释等,一般一句程序占 据编辑器的一行。汇编器每行最多只能读200个字符,因此源 语句的字符数不能超过200个。一旦长度超过200个字符,汇 编器将自行截去行尾的多余字符并给出警告信息。
1.1 指令系统概述
符号 意义
SHFT
4位移位数(0≤SHFT≤15)
SHIFT 5位移位数(-16≤SHFT≤15) Sind Smem SP src ST0 ST1 SXM 使用间接寻址的单数据存储器操作数 16位单数据存储器操作数 堆栈指针 源累加器(A或B) 状态寄存器0 状态寄存器1 ST1中的符号扩展方式位
4.2.2 汇编语言常量
C54X汇编器支持7种类型的常量:二进制整数、八进制整数、十进 制整数、十六进制整数、字符常量、汇编时间常量和浮点数常量。
汇编器在内部把常量作为32位量常量不能进行符号扩展。例如,常量 FFH等同于00FFH(16进制)或255(10进制),但不是-1。
1. 二进制整数常量 二进制整数常量最多由16个二进制数字组成,其后缀为B(或b)。 如果少于16位,汇编器将向右对齐并在左面补零。下列二进制整 数常量都是有效的。
4.2.1 汇编语言语句格式
1. 标号域
标号供本程序的其他部分或其他程序调用。对于所有C54X汇编指令和 大多数汇编伪指令,标号都是可选项,但伪指令.set和.equ除外,二 者需要标号。标号值和它所指向的语句所在单元的值(地址或汇编时 段程序计数器的值)是相同的。 使用标号时,必须从源语句的第一列开始。一个标号允许最多有32个 字符:A~Z、a~z、0~9、_和$,第一个字符不能是数字。标号对大 小写敏感,如果在启动汇编器时,用到了-c选项,则标号对大小写不 敏感。标号后可跟一个冒号“:”,也可不跟。如果不用标号,则第 一列上必须是空格、分号或星号。
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处理器将程序代码和数据的存储空间分开,各空间有自己独立的地址总线和数据总线,可独立编址和独立访问,可对程序和数据进行独立传输,这就是哈佛结构。
以奔腾为代表的通用微处理器,其程序代码和数据共用一个公共的存储空间和单一的地址和数据总线,取指令和取操作数都是通过一条总线分时进行的,这样的结构称为冯·诺伊曼结构。
采用哈佛结构,可同时取指令和取操作数,并行地进行指令和数据的处理,从而可以大大地提高运算的速度,非常适合于实时的数字信号处理。
而冯·诺伊曼结构当进行高速运算时,取指令和取操作数是分时操作的,这样很容易造成数据传输通道的瓶颈现象,其工作速度较慢。
1绪论《TMS320C54XDSP结构、原理及应用》
第一章 绪论
DSP的理论基础
以众多的经典理论体系作为自己的理论基础,同时 它又是新兴学科理论基础。
经典理论体系
➢微积分,概率统计,随机过程,数值分析,网络理论, 通信理论,控制论。
新兴学科
➢人工智能,模式识别,神经网络等。
DSP的实现方法
➢DSP芯片提供高速计算平台,可实现复杂的信号处理算 法。
接口简单、方便
➢电气特性简单,数据流采用标准协议
集成度高,保密性强
➢可编程芯片的采用,隐蔽内部逻辑及总线
可编程DSP芯片
DSP芯片的结构特点
(1)哈佛结构
程序存储器/ 数据存储器
ADB
CPU
冯.诺依曼结构
AB
AB
程序存储器
CPU
第一章 绪论
知识要点
本章主要对数字信号处理进行简要介绍
数字信号处理
➢DSP基本知识;
可编程DSP芯片
➢发展、特点、分类、应用和发展趋势;
DSP系统
➢构成、特点、设计过程以及芯片的选择;
DSP产品
第一章 绪论
什么是DSP?
DSP (Digital Signal Processing)
内部结构
➢ 多处理单元,多总线,多级流水线,接口完善
运算速度
➢ 指令周期400ns → 10ns,速度 2.5MIPS → 2000MIPS以上
集成规模
➢ 集成A/D,D/A,滤波 → 模拟混合式DSP
运算精度
➢ 字长8 → 16 → 24 → 32位;累加器40位
开发工具
➢ Simulator → Emulator → C-Compiler → CCS
第1章 TMS320C54x的结构原理
TMS320C5402 TMS320C5402 TMS320C5402 TMS320C5402
007Fh 0080h
007Fh 0080h
存 储 器 空 间 分 配 图
3FFFh 4000h
3FFFh 4000h EFFFh F000h FFEFh FF00h FF7Fh FF80h FFFFh
§2 存储器:程序存储器
• 程序存储器:高2K字的利用 程序存储器: 2K字的利用
§2 存储器:数据器存储器
• 数据存储器:分类 RAM(SARAM) RAM(SARAM) 数据存储器类型 RAM(DARAM) RAM(DARAM) 片内ROM 片内ROM
§2 存储器:数据器存储器
分块目的? 分块目的?
• 存储空间的交叉划分
片内存储器 类型
使能 禁止
• DARAM • SARAM • ROM
程序 数据 片内存储器空间
空间 交叉 的条件
MP/MC位 MP/MC位 OVLY位 OVLY位 DROM位 DROM位
§2 存储器:存储器空间分配图
•
0000h
存储器空间分配图
第0页程序存储器 保留(OVLY=1) 保留(OVLY=1) 或 外部(OVLY=0) 外部(OVLY=0) 片内DARAM 片内DARAM (OVLY=1) 或 外部(OVLY=0) 外部(OVLY=0) 0000h 第0页程序存储器 保留(OVLY=1) 保留(OVLY=1) 或 外部(OVLY=0) 外部(OVLY=0) 片内DARAM 片内DARAM (OVLY=1) 或 外部(OVLY=0) 外部(OVLY=0) 外部 片内ROM(4K字 片内ROM(4K字) ROM(4K 保留 中断(片内) 中断(片内) 0000h 005Fh 0060h 007Fh 0080h 数据存储器 MRM SPRAM 片内DARAM 片内DARAM 16K*16 3FFFh 4000h EFFFh F000h FFEFh FF00h FFFFh 外部
DSP原理及应用(乔瑞萍)(TMS320C54X)详解
法(如卷积运算、FFT、DFT、矩阵乘法等)。
第1章
绪论
DSP芯片与单片机的主要区别在于数值处理和高速 控制。 DSP有硬件乘法器,存储容量大得多。DSP采用的 是改进的哈佛结构并广泛采用流水线技术,多个控制 和运算部件并行工作,从而大大提高了运算速度。
会不断扩大。表1-1列出了TMS320系列DSP的典型应用。
第1章
绪论
表1-1 TMS320系列DSP的典型应用
第1章
绪论
TI作为全球DSP的领导者,目前主推三个DSP平台: TMS320C2000、TMS320C5000和TMS320C6000。其中 包括多个子系列,数十种 DSP 器件,为用户提供广泛 的选择,以满足各种不同应用的需求。
它是20世纪60年代发展起来的并广泛应用于许多领域
的新兴学科。数字信号处理系统是以数字信号处理为 基础的。图1-1所示为一个典型的DSP系统。
第1章
绪论
A/D
1001010011
DSF
D/A
1001010111010100101 100101011 10101001011000 10010001110100000C8x
Future 多 处 理 器 DSP
Future
TMS 320C3x TMS 320C4x
浮 点 DSP TMS 320C6x
TMS 320C1x
TMS 320C2x
TMS TMS 320C2xx 320C5x
TMS 320C54x
Future 定 点 DSP
图1-2 TMS320系列DSP发展示意图
的最小分辨率为1。
DSP原理及应用TMS320C54x片内外设及应用实例
应用领域拓展
随着数字信号处理技术的不断发展,DSP的应用领 域也在不断拓展,需要不断探索新的应用场景和市 场需求。
人才培养和生态系统建设
为了推动DSP技术的发展和应用,需要加强 人才培养和生态系统建设,建立完善的开发 环境和工具链。
06
参考文献
参考文献
1
[1] 张雄伟, 杨吉斌. 数字信号处理——原理、算 法与实现[M]. 北京: 清华大学出版社, 2011.
应用场景
在音频处理、信号测量、控制系统 等领域广泛应用。
存储器和I/O引脚
存储器和I/O引脚功能
01
TMS320C54x芯片具有外部存储器和多个I/O引脚,用于扩展外
部存储空间和连接外设。
工作原理
02
通过读写外部存储器实现数据存储,I/O引脚用于输入输出电平
信号。
应用场景
03
在数据存储、外设控制、信号采集等方面具有广泛应用。
FFT在TMS320C54x上的实现
TMS320C54x的硬件结构支持FFT运算,其乘法器和累加器运算单元可以高效地完成 FFT计算。在实现FFT时,需要注意数据的位序和存储方式。
FFT应用实例
通过FFT算法,可以分析语音、图像、雷达等信号的频谱成分,从而实现信号的频域分 析、滤波、调制解调等功能。
TMS320C54x的优势与局限性
• 丰富的外设接口:TMS320C54x系列DSP具有多种外设接口, 如串行通信接口、并行输入输出接口等,方便与外部设备进行 数据交换。
TMS320C54x的优势与局限性
价格较高
由于TMS320C54x系列DSP采用高性能的制程技术和复杂的内 部结构,导致其价格较高,增加了应用成本。
DSP原理及应用TMS320C54x片内外设及应用实例
数字信号处理是如何工作的?TMS320C54x提供了强大的处理能力和片内外 设,可以帮助我们实现各种各样的应用,本次演示将带您深入了解高效的 DSP应用。
DSP原理介绍
1 DSP快速傅里叶变换
用于信号频谱分析及滤波。
3 数字模拟转换器
将模拟信号转换为数字信号。
片内外设介绍
1
高速串行接口
用于连接其他高速设备以及DSP的外
可编程外设接口
2
设模块。
可以实现各种外设和DSP之间的灵活
通讯。
3
嵌入式闪存
可储存程序代码、数据,提高运行速 度。
应用实例1
声音信号处理
实现语音信号的压缩、降 噪和增强等功能。
医疗电子设备
通过DSP对医疗设备信号 进行处理,实现医疗仪器 的精准度和效率的高度提 升。
应用实例3
1
机器视觉
基于DSP的运算速度和精度,可以实时处理图像和视频等信号。
2
雷达信号处理
通过DSP实现雷达信号的识别、追踪和跟踪等功能。
3
电力控制系统
通过嵌入式闪存存储电力控制程序,实现高效电力控制和管理。
应用实例4
1 无线通信
通过DSP实现信号调制、解调等关键功能,提高通讯效率和可靠性。
2 车载信息娱乐系统
自控制
配合传感器实现智能化控 制,提高生产效率、节约 资源。
应用实例2
数字音频工作站
通过数字信号处理技术和DSP 实现音频采集、混音、修剪等 功能。
噪音控制
对噪声信号进行频谱分析和滤 波处理,实现噪音消除和降噪 功能。
音乐制作
DSP可以高效处理各种乐器的 信号,帮助音乐家实现更加理 想的音乐作品。
绪论《TMS320C54XDSP结构、原理及应用》
如JPEG、MC54xDSP可以用于实现各种图像识别算法,如人脸识别、手势
识别等。
在自动控制系统中的应用
控制系统建模与仿真
利用TMS320C54xDSP的高速运算能力,可以实现各 种控制系统的建模与仿真。
控制系统分析与优化
利用TMS320C54xDSP的高速运算能力,可以对控制 系统进行分析和优化,提高控制系统的性能。
音频处理
音频压缩、音频分析、音频合 成等。
控制与自动化
电机控制、智能仪表、自动控 制系统等。
TMS320C54xDSP的主要特点
高性能
采用哈佛结构,流水线作业,运算速度快。
低功耗
采用低功耗设计,适合于电池供电和便携式 设备。
定点运算
采用定点运算,无需浮点运算器,降低了成 本和功耗。
可扩展性
具有可扩展的外部存储器和I/O接口,方便 系统集成和升级。
存储器结构
1
TMS320C54xDSP具有内部和外部存储器两种类 型的存储器结构。
2
内部存储器包括程序存储器和数据存储器,用于 存储程序代码和临时数据。
3
外部存储器通过外部总线接口与DSP相连,提供 更大的存储空间。
输入/输出(I/O)接口
01
I/O接口是TMS320C54xDSP与外部设备进行通信的桥梁。
02 TMS320C54xDSP的结 构
中央处理单元(CPU)
01
CPU是TMS320C54xDSP的核心部分,负责执行指令和控制数 据流。
02
它包括算术逻辑单元(ALU)、累加器、程序计数器、指令寄
存器等组件。
CPU通过指令集架构(ISA)与外部组件进行通信,以执行各种
03
第1章 TMS320C54x的结构原理
(2) 存储器 192K可寻址存储空间 片内ROM,可配置为程序/数据存储器 片内SARAM和DARAM (3) 丰富的指令系统 32位长操作数指令 同时读入2或3个操作数指令 并行存储和并行加载的算术指令 (4) 片外围电路
3
16位可编程定时器 全双工串行口 McBSP 8/16位并行主机接口 6通道DMA控制器 (5) 电源 (6) 在片仿真接口 (7) 速度
1.2.2 TMS320C54x的组成框图
4
5
1.3 总线结构
程序总线(PB):1条,传送取自程序存储器的指令代码 和立即操作数 数据总线:3条,CB、DB传送读自数据存储器的操作 数,EB传送写到存储器的数 地址总线:4条,PAB、CAB、DAB、EAB,传送指令 所需地址 C54x可利用两个辅助寄存器算术单元(ARAU0和 ARAU1)在每个周期内产生两个数据存储器的地址
工作方式状态寄存器(PMST)中3个状态位进行使能控制
8
• MP/MC 位(微处理器/微型计算机工作方式) 若 MP/MC =0, 则片内 ROM 安排到程序空间 若 MP/MC=1, 则片内 ROM 不安排到程序空间 • OVLY 位(片内RAM占位位) 若 OVLY=1, 则片内 RAM 安排到程序和数据空间 若 OVLY=0, 则片内 RAM 只安排到数据存储空间 • DROM 位(数据ROM位) 当 DROM=1, 则部分片内 ROM 安排到数据空间 当 DROM=0, 则片内 ROM 不安排到数据空间
6
7
1.4 存储器
特点:26-27个映像到数据存储器空间的CPU寄存器以 及一批映像到数据存储空间的外围电路寄存器;能在一个 给定的机器周期内执行4次存储器操作(1次取指、2次读操 作数、1次写操作数)
TMS320C54xDSP原理及应用课程设计
TMS320C54x DSP原理及应用课程设计1. 引言本课程设计旨在通过对TI(德州仪器)公司生产的TMS320C54x系列DSP的学习和实践,使学生掌握该系列DSP的基本原理和应用方法,提高学生的分析、设计和实践能力。
2. TMS320C54x DSP的基本原理TMS320C54x DSP是TI公司推出的具有高速运算能力和广泛应用领域的数字信号处理器。
其主要特点如下:1.高性能:TMS320C54x DSP采用流水线结构,具有非常高的指令执行速度和低的指令延迟。
2.广泛应用:TMS320C54x DSP可广泛应用于图像处理、声音处理、通信、控制等领域。
3.易于开发和应用:TMS320C54x DSP具有丰富的开发、调试工具和成熟的应用方案,使开发者能够更加便捷地进行开发和应用。
3. TMS320C54x DSP的应用TMS320C54x DSP的广泛应用领域包括:3.1 图像处理领域TMS320C54x DSP具有强大的图像处理能力,可用于数字摄像机、数字照相机、机器视觉等领域。
3.2 声音处理领域TMS320C54x DSP具有丰富的数字信号处理功能,特别是对于音频信号的处理,具有很高的效率和质量。
3.3 通信领域TMS320C54x DSP可以用于数字通信领域,如移动通信、卫星通信等,可以提高通信速度和质量。
3.4 控制领域TMS320C54x DSP可以广泛应用于各种控制系统,如电机控制、自动控制等,具有很高的控制精度和稳定性。
4. TMS320C54x DSP的应用实践本课程设计要求学生使用TMS320C54x DSP开发一个数字信号处理系统,并完成如下任务:1.设计算法:自行设计一个数字信号处理算法,并编写代码实现。
2.调试系统:使用开发工具,对设计的数字信号处理系统进行调试和测试。
3.文档撰写:完成课程设计文档的撰写,包括设计思路、实验步骤、测试结果等内容。
5. 实验步骤本课程设计的实验步骤如下:1.硬件准备:按照实验要求,准备好TMS320C54x DSP芯片和配套硬件。
TMS320C54DSP原理应用第2章_图文.
TMS320C54DSP原理应用第2章_图文.第2章TMS320C54x的CPU结构和存储器配置2.1 TMS320C54x DSP的结构2.2 TMS320C54x的总线结构2.3 TMS320C54x的CPU结构2.4 TMS320C54x存储器和I/O空间2.1 TMS320C54x DSP的结构2.1.1 TMS320C54x DSP的基本结构图2-1和图2-2给出了TMS320C54x的两种结构框图。
图2-1 TMS320C54x 的组成框图PAB PB CAB CB DAB DB EAB EB MUX T Register EXP Encoder Miltiplier FractionalZero Sat RoundA(40B(40COMP TRN TCMSW/LSW SelectBarrel ShifterARAU0.ARAU1AR0~AR7ARP.BK.DP.SPPC.IPTR.RC.BRC.RSA.REASystem Control interface Program Address Generation Logic(PAGENData Address Generation Logic (PAGEN Memory and External Interface Peripheral InterfaceX D ABSign ctrSign ctrT DA AB CD A B 0MUXAdder (40MUXAMU BALU (40Sign ctr Sign ctrT ABCDSAB MUXB A CD Sign ctrSLegend:A Accumulator AB Accumulator BC CB Data BusD DB Data BusE EB Data Bus M MAC UnitP PB Program Bus S Barrel Shifter T T Register U ALUE图2-2 TMS320C54x 的功能框图BufferedSerial Port(BSPTimer TDM Serial PortStandard Serial Port Host PortInterface(HPI16/8Multi -channel Buffere Serial Port(McBSP PLL Clock Generator S/W Waitstate GeneratorPower ManagementJATG Emulation Control Program Data/RAMProgram Data/ROMP e r i p h e r a l B u sDMACh0Ch1Ch2Ch3Ch4Ch5C54x DSP CPU40bit ALU CMPS Operator(VITE RBIEXP Encoder ALU17*17 MPY40bit Adder RND ,SAT MAC 40bit ACCA Accumulators(-16,31Shifter40bit ACCB40bit Barrel 8 Auxiliary Register Addressing Unit2 Addessing Units D(15~0A(22~0TMS320C54x是16位定点DSP。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
定点数格式的选择
在具体应用中,为保证在整个运算过 程中数据不会溢出,应选择合适的数据格式。 例如,对于Q.15格式,其数据范围(-1,1), 这样就必须保证在所有运算中,其结果都不 能超过这个范围,否则,芯片将结果取-1或 l,而不管其真实结果为多少。
定点格式数据的转换
同一个用二进制表示的定点数,当采用 不同的Qm.n表示方法时,其代表的十进制数 是不同的。
例9. 1.5×0.75 = 1.125
01.10000000000000 ( 1.5 ) ;Q1.14 × 00.11000000000000 ( 0.75 ) ;Q1.14 0001.0010000000000000000000000000 = 1.125 ;Q2.13
由 于 Q1.14 的 最 大 值 不 大 于 2 , 因 此 , 2 个 Q1.14数相乘得到的乘积不大于4。
定点算术运算
1.两个定点数的加/减法 定点数的加 / 减法必须保证两个操作数 的格式一致。如果两个数的Q值不同,可将 Q 值小的数调整为与另一个数的 Q 值一样大, 但必须在保证数据精度不变的前提下。另外, 注意有符号和无符号数加 / 减运算的溢出问 题。
例3. 若x、y为正数,x=4.125,y=0.125,求x+y。
许多情况下,运算过程中为了既满足 数值的动态范围,又保证一定的精度,就 必须采用Q15.0与Q.15之间的Q表示法,即 混合表示。例如,数值 1.0125 显然用 Q.15 格式无法表示,而若用 Q15.0 格式表示, 则最接近的数是 1 ,精度无法保证。因此, 数1.0125最佳的表示法是Q1.14格式。
例2. 若字长n=8,求以下带符号小数的二进制和 十进制之间的转换。 0101 0000B=2-1+2-3=0.5+0.125=0.625 1101 0000B=-1+2-1+2-3=-1+0.5+0.125=-0.375
对于求负小数的十进制真值,也可先求数值位 的原码,即对1101 0000B求补,然后再求真值, 即:
- DSPs概述 - DSPs运算基础
1. 数据格式
DSPs 有 定 点 DSPs 和 浮 点 DSPs 两 种 。 TMS320C54x 是 16 位定点 DSPs 。在定点 DSPs 中,数据有两种基本的表示方法:整数表示 方法和小数表示方法。
整数
DSP芯片和所有微处理器一样,以2的补 码形式表示有符号数。16位定点DSP整型数格 式为:Sxxxxxxxxxxxxxxx,其中最高位S为符 号位,0代表正数,l代表负数,其余位为数据 位。 数的范围为-32 768~32 767。整数的最大 取值范围取决于DSP的字长,字长越长,所能 表示的数据范围越大,精度越高。假定一个 整数字长为n,则其取值范围为-2n~2n -1。整 数的最小分辨率为1。
解 x=4.125,采用Q3.12格式表示的十六进制码为 x×212=4.125×212=4200H; y=0.125,采用Q.15格式表示的十六进制码为 x×215=0.125×215=1000H。 由于Q3.12格式与Q.15格式的整数位相差3位,因此将 y的Q.15格式表示的十六进制码1000H右移3位;由于 1000H为正数,因此将整数部分补零,得到用Q3.12格 式 表 示 的 0.125 为 0200H 。 将 4200H 加 上 0200H 得 到 4400H,该数的格式为Q3.12,x+y=4.25。
11111111111111111111111111000100 (-60) ;Q30.0
3) 混合表示法 两个 16 位整数相乘,乘积总是“向左增 长”,积为32位,难于进行后续的递推运算; 两个小数相乘,乘积总是“向右增长”,且存 储高 16 位乘积,用较少资源来保存结果 ( 这是 DSP芯片采用小数乘法的原因)用于递推运算。
两个定点数的乘法
两个16位定点数的乘法分以下几种情况: 1) 纯小数乘以纯小数(数据用Q.15表示)
Q.15×Q.15=Q.30 Sxxxxxxxxxxxxxxx Syyyyyyyyyyyyyyy ;Q.15 ;Q.15
×
——————————————————————————————————————————————————
在TMS320C54x DSPs中,整数一般 用于控制操作、地址计算和其他非 信号处理的应用
例1. 若字长n=8,求以下带符号整数的二进 制、十六进制和十进制之间的转换。
0100 1011B 1111 1101B
例1. 若字长n=8,求以下带符号整数的二进 制、十六进制和十进制之间的转换。
0100 1011B=4BH=26+23+21+20=64+8+2+1=75 1111 1101B=FDH=-3
两个定点数的除法
在通用 DSP 芯片中,一般不提供单周期 的除法指令,为此必须采用除法子程序来实现。 二进制除法是乘法的逆运算。乘法包括一系列 的移位和加法,而除法可分解为一系列的减法 和移位。下面说明除法的实现过程。 设累加器为 8 位,且除法运算为 91 除以 4 。 除的过程就是除数逐步移位并与被除数比较的 过程。在这过程中,每一步都进行减法运算, 如果够减,则将1插入商中,否则补0。
例 5. 若 x 、 y 为负数, x=-1.625 , y=-0.125 , 求x+y。 解: x=-1.625,采用Q3.12格式表示的十 六进制码为E600H; y=-0.125 ,采用 Q.15 格式表示的十六进制码 为F000H。 将 y 表示为 Q3.12 格式后,其十六进制码为 FE00H 。 将 FE00H 加 到 E600H 上 , 结 果 为 E400H,x+y的Q3.12格式的值等于-1.75。
其中,m表示数的补码的整数部分,n表示 数的2补码的小数部分,再加上1位符号位,数 的总字长为m+n+l位。
表示数的整数范围为-2m~2m -1,小数的最 小分辨率为2- n。
Q表示法及其表示的十进制数范围
1) Q15.0格式 Q15.0格式的字长为16位,其每位的具体 表示为:Sxxxxxxxxxxxxxxx。 2) Q3.12格式 Q3.12格式的字长为16位,其每位的具体 表示为:Sxxxyyyyyyyyyyyy。 3) Q0.15(或Q.15)格式 Q.15 格式的字长为 16 位,其每位的具体 表示为:S.xxxxxxxxxxxxxxx。
2) 整数乘整数(数据用Q15.0表示) Q15.0×Q15.0 = Q30.0 例8. 12×(-5)= -60。 0000000000001100 × 1111111111111011
(12) (-5) ;Q15.0 ;Q15.0
____________________________________________________________________________________________________________________
SSzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz ;Q.30
例7. 0.5×0.5 = 0.25
0.100000000000000 ;Q.15 ×0.100000000000000 ;Q.15 ______________________________________ 00.010000000000000000000000000000 = 0.25 ;Q.30
小数
在16位定点DSP中,小数表示为: S.xxxxxxxxxxxxxxx,最高位S为符号位,其 他的各位采用2的补码表示,小数点紧接着 符号位,无整数位,数的范围为[-1,1)。 小数的最小分辨率为2E-15。
在TMS320C54x DSPs中,小数主要用 于数字和各种信号处理算法的计算。
例2. 若字长n=8,求以下带符号小数的二进制和 十进制之间的转换。 0101 0000B= 1101 0000B=
例4. 若x为正数,y为负数,x=5.625,y=-0.625, 求x+y。 解: x=5.625,采用Q3.12格式表示的十六进制 码为5A00H; y=-0.625 ,采用 Q.15 格式表示的十六进制码 为B000H。 将 y 表示为 Q3.12 格式时,将它右移 3 位,因 为是负数,所以整数部分符号位扩展后结果 为 F600H 。将 F600H 加到 5A00H 上,结果为 5000H,x+y的Q3.12格式的值等于5。
用Q15.0表示方法,十六进制数 3000H= 用Q0.15表示方法,十六进制数 3000H= 用Q3.12表示方法,十六进制数 3000H=
定点格式数据的转换
同一个用二进制表示的定点数,当采用 不同的Qm.n表示方法时,其代表的十进制数 是不同的。
用Q15.0表示方法,十六进制数 3000H=12 288; 用Q0.15表示方法,十六进制数 3000H=0.375; 用Q3.12表示方法,十六进制数 3000H=3。
例6. 若x为负数,y为正数,x=-4.025, y=0.425,求x+y。 解: x=-4.025,采用Q3.12格式表示的 十六进制码为BF9AH; y=0.425 ,采用 Q.15 格式表示的十六进制码 为3666H。 将 y 表示为 Q3.12 格式后,其十六进制码为 06CCH 。将 06CCH 加到 BF9AH 上,结果为 C666H , x+y 的 Q3.12 格式的值等于 -3.6 ,结 果正确。
除法一般用有规律的减法去做,如:
TMS320C54x 利用带条件减法 SUBC 来 实现除法运算,除数不动,被除数、商左移。 TMS320 没有专门的除法指令,但使用条件 减法指令 SUBC 加上重复指令 RPT 就可以完 成有效灵活的除法功能。使用 SUBC 的惟一 限制是两个操作数必须为正。程序员必须事 先了解其可能的运算数的特性,如其商是否 可以用小数表示及商的精度是否可被计算出 来。这里每一种考虑都会影响到如何使用 SUBC指令的问题。