DSP原理与实训指导第四章 TMS320系列DSP芯片

合集下载

TMS320系列DSP原理、结构及应用

TMS320系列DSP原理、结构及应用
(3)信号处理 信号处理是指将信号从一种形式变成另一种形式的算法或结构,比
如将信号从时域转化为频域,从模拟信号转换为数字信号等。信号处理 的内容涉及广泛,尤其信号的数字处理为信号处理带来了广阔的前景。
由信号、系统和信号处理的定义,可以清晰地看到它们之间的关系, 即信号分析是基础,系统分析是桥梁,信号处理是手段,系统综合是目的。 信号处理作为手段,贯穿信号分析、系统分析、系统综合的始终。
第一章号处理是利用计算机或专用处理设备,以数字的形式对信号进 行分析、采集、合成、变换、滤波、估算、压缩、识别等加工处理,以便 提取有用的信息并进行有效的传输与应用。与模拟信号处理相比,数字信 号处理具有精确、灵活、抗干扰能力强、可靠性高、体积小、易于大规模 集成等优点。
第一章 绪论
1.1信号处理技术基础——数字信号处理
数字信号处理包括算法研究和实现方法两个方面的内容:
1.算法研究。算法研究是指如何以最小的运算量和存储器的 使用量来完成指定的任务。20世纪60年代出现的快速傅里叶变 换(FFT),使数字信号处理技术发生了革命性的变化。近几年 来,数字信号处理的理论和方法得到了迅速的发展,诸如:语音 与图像的压缩编码、识别与鉴别,信号的调制与解调、加密和解 密,信道的辨识与均衡,智能天线,频谱分析等各种快速算法都 成为研究的热点,并取得了长足的进步,为各种实时处理的应用 提供了算法基础。
第一章 绪论
1.2 DSP芯片概述
1. DSP 芯片的发展概况
DSP 芯片诞生于 20 世纪 70 年代末,至今已经得到了突飞猛进的发 展,并经历了以下三个阶段:
第一阶段,DSP 的雏形阶段(1980 年前后)。 1978 年 AMI公司生产出第一片 DSP 芯片 S2811。 1979 年美国 Intel 公司发布了商用可编程 DSP器件 Intel2920。 代表性器件主要有:Intel2920(Intel)、 PD7720(NEC)、 TMS320C10(TI)、DSP16(AT&T)、S2811(AMI)、ADSP-21 (AD公司)等

第4章 TMS320F28x系列DSP的寻址方式及指令系统

第4章 TMS320F28x系列DSP的寻址方式及指令系统
第4章 TMS320F28x系列DSP的寻址方式及 指令系统
4.1 TMS320F28x系列DSP的寻址方式 4.1.1 寻址方式选择位AMODE 4.1.2 直接寻址方式 4.1.3 堆栈寻址方式 4.1.4 间接寻址方式 4.1.5 寄存器寻址方式 4.1.6 其他寻址方式 4.1.7 32位操作数的定位 4.2 TMS320F28x系列DSP指令系统概述
在 F2812间接寻址方式中,使用哪个辅助寄存器指针在指令中并不 被明确指出。而在 C2xLP的间接寻址方式中,3位长度的辅助寄存器指 针被用来选择当前使用哪个辅助寄存器以及下次操作将使用哪个辅助寄 存器。
汇编器/编译器对AMODE位的追踪
编译器总是假定AMODE=0,所以它只使用对AMODE=0 有效的寻址模式。而汇编器可以通过设置命令行选项实现默认 AMODE=0或者AMODE=1。 √ – v28 ;假定AMODE=0(C28x寻址方式) – v28 – m20 ;假定AMODE=1(与C2xLP全兼容的寻址方式) √ 在文件中使用内嵌伪指令
器使用的方式。这种方式与C2xLP CPU的寻址方式不完全兼容。数据页指针 偏移量是6位(在C2xLP CPU中是7位),并且不支持所有的间接寻址方式。
▲ AMODE=1——该方式包括的寻址方式完全与C2xLP 器件的寻址方式
兼容。数据页指针的偏移量是7位并支持所有C2xLP 支持的间接寻址方式。
周鹏 安徽工程大学电气工程学院
周鹏 安徽工程大学电气工程学院
寻址方式是指CPU根据指令中给出的地址信息
来寻找指令中操作数物理地址的方式,即获得操作
数的方式。指令系统即各种指令的集合,或称指令
集 。 本 章 简 要 介 绍 C28x 系 列 ( TMS320F2812 属 于 C28x系列)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和累加器的区别。

TMS320C54x系列DSP概述

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教程4.TMS320C55x的指令系统

DSP教程4.TMS320C55x的指令系统
直接和间接寻址方式可以用于对寄存器位的寻址。
例4-12,@bitoffset用于对寄存器位的寻址。
(1)BSET @0,AC3
;CPU将AC3的位0置为1
例4-13,*ARn用于对寄存器位的寻址,设AR0=0。
(1)BSET *AR0,AC3
;CPU将AC3的位0置为1
11
4.1.7 I/O空间的寻址
Baddr Bitin BitOut
BORROW
CARRY
符号 Cmem cond CSR Cycles dst Dx kx Kx lx Lx
含义 系数间接寻址操作数 条件表述 单指令重复计数寄存器 指令执行的周期数 目的操作数:累加器,或辅助寄存器的低16位,或临时寄存器 X位长的数据地址
X位长的无符号常数
表4-5 循环寻址
指针 线性/循环 寻址配置位 支持主数据页 缓冲区首地址寄 缓冲区大小寄存 存器 器
AR0
AR1 AR2 AR3 AR4 AR5 AR6 AR7 CDP
ST2_55(0)=AR0LC
ST2_55(1)=AR1LC ST2_55(2)=AR2LC ST2_55(3)=AR3LC ST2_55(4)=AR4LC ST2_55(5)=AR5LC ST2_55(6)=AR6LC ST2_55(7)=AR7LC ST2_55(8)=CDPLC
符号 【】 40 含义 可选的项 若选择该项,则该指令执行时M40=1 累计器溢出状态位:ACOV0~ACOV3 累计器AC0~AC3 辅助寄存器:AR0~AR7 寄存器位地址 移进的位:TC2或CARRY 移出的位:TC2或CARRY CARRY位的补 进位位
16
ACOVx Acx,Acy,Acz, ACw ARx,ARy

4-DSP原理与应用:基于TMS320F2833x的实践-杨家强-清华大学出版

4-DSP原理与应用:基于TMS320F2833x的实践-杨家强-清华大学出版

4.1CPU内部总线
当所有的外设和存储器同时访问存储器总线时,应优先考 虑存储器访问。 访问存储器总线的优先级列表如下: 最髙级: ➢ 数据写(数据和程序的同时写不会发生在存储器总线上); ➢ 程序写(数据和程序的同时写不会发生在存储器总线上) ➢ 数据读 ➢ 程序读(程序的同时读和取指令不会发生在存储器总线
4.1CPU内部总线
TMS320F2833x的内部资源框图如图2-2所示。程 序总线和数据总线连接DSP芯片的各个模块。 F2833x的存储器空间可分成两大部分: 一部分为用于存放程序代码的程序空间; 另一部分为用于存放各种数据的数据空间。 无论是程序空间还是数据空间,都需要借助于两 种总线——地址总线和数据总线,来传送相关的 信息。 其使用多条总线来处理存储器、外设与CPU之间 的数据。
上); 最低级: ➢ 取地址(程序的同时读和取指令不会发生在存储器总线
上)。
4.2ห้องสมุดไป่ตู้储器结构
TMS320F2833x的CPU中本身不含存储器,但是 DSP内部本身集成了片内的存储器,CPU可以读 取片内集成与片外扩展的存储。 F2833x的存储器一般可以划分成如下几个部分: 1. 单周期访问RAM 2. Flash 存储器 3. OTP(One Time Programmable)存储器 4. Boot ROM 5. 片外存储
0x00D000
L4 SARAM (4K x 16, DMA访问)
➢ 同时Boot ROM中也包含一些常用的标准表数 据,如数学算法中的sin/cos函数表,IQMath库 等,使用这些表能缩短相关算法的执行时间。
4.2存储器结构
5. 片外存储 ➢当DSP芯片内部存储资源不够时,可以外扩
FLASH和RAM ➢相关独立的FLASH/RAM产品可供选择的种

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原理与应第四章.ppt

DSP原理与应第四章.ppt

1.HPI与主机的连接
HCNTL0、
主机控制信号,与主机地址线
HCN或TL控1:制线连接,用来选择主机所要寻址的寄
存器。
HCNTL0 HCNTL1
功能说明
0
0
主机可以读/写HPIC寄存器。
主机可以读/写HPID寄存器。
0
1
每读1次,HPIA事后增1;
每写1次,HPIA事先增1。
1
0
主机可以读/写HPIA寄存器。 这个寄存器指向HPI存储器。
可以访问HPI RAM,而’C54x则配置为最小功耗
。 2021年2月25日
DSP原理及应用
4
第4章 TMS320C54x的片内外设、接口及应用
4.1 ’C54x的主机接口
HPI口可以支持主设备与’C54x之间的高速 数据传送。
在SAM工作方式时,若HPI每5个CLKOUT周 期传送一个字节,则主机的运行频率可达(fd×n)/5 。 f在d—H—OM’方C5式4x时的,C主LK机O可UT以频获率得;更高的速度。 即每5n—0n—s寻主址机一每个进字行节一(次即外16部0寻M址bp的s)周,期且数与,通 常 ’nC是543x(的或时4)钟。速度无关。
1.HPI与主机的连接
HPI与主机连接的信号名称和功能:
HD0~HD 双向并行三态数据总线,与主机数据总
7:
线相连。
当不传送数据(HDSx或HCS=1)或EMU1/OFF=0(切 断所有输出)时,HD7~HD0均处于高阻状态。
HCS: 片选信号,与主机地址线或控制线相连。
作为HPI的使能输入端,在每次寻址期间必须 为低电平,而两次寻址之间也可以停留在低电平。
第4章 TMS320C54x片内外设、接口及应用
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

4.1
4.1.3 片内资源
1
位 15~13
TMS320C2xx系列 DSP
寄存器及相关功能说明
状态寄存器ST0
名称 ARP 说明 当前ARx寄存器号,x=0~7
12
11
OV
OVM
算术逻辑单元ALU溢出时为1
溢出模式位,OVM=0时,对溢出不作处理,OVM= 1时,将溢出数据置为最大正数/负数,即饱和
4.1
TMS320C2xx系列 DSP
4.1.1 TMS320F206的结构特点
7) 程序空间和数据空间之间可进行数据搬移; 8) 8级内部硬件堆栈,存放调用/中断返回地址; 9) 片内设备: 16bit定时器;片上软等待产生器:可以分别为PS、DS、 IS空间产生0~7个等待;片上振荡器和锁相环,有倍频和分频 功能:乘1、乘2、乘4、除2;6个通用I/O引脚;全双工异步串 口UART;增强的同步串口,带4级FIFO。 10) 硬件等待; 11) 休眠的IDLE模式,低功耗; 12) 标准的IEEE1149.1仿真口; 13) 100脚表贴器件。
4.1
1
TMS320C2xx系列 DSP
4.1.2 TMS320F206引脚与兼容性
TMS320F206 的引脚 A12~A15 A8~A11 A7 A4~A6 A0~A3 71~74 O/Z 66~69 64 60~62 55~58 ... ... 地址线,对片外的数据空间、I/O空 间访问时,F206驱动地址线, OFF= 0时为高阻。
4.1
4.1.3 片内资源
1

TMS320C2xx系列 DSP
模式寄存器PMST
寄存器及相关功能说明
名称 说明
15
2 1
FRDN
DON PON
为1时, RD 将引脚定义为R/ W 的反相;为0时为正常信 号,复位后为0
与PON共同决定SARAM映射方式 DON: PON=0:0时,SAPAM不用,对此地址访问时当作 对片外的访问 DON:PON=0:1时,SAPAM映射为程序空间8000h DON:PON=1:0时,SAPAM映射为数据空间800h DON:PON=1:1时,SAPAM同时映射为程序空间8000h 和数据空间800h。复位为1:1
第四章 TMS320系列DSP芯片
4.1 TMS320C2xx系列DSP 4.2 TMS320C3x系列DSP 4.3 TMS320C5000系列DSP
4.1
TMS320C2xx系列 DSP
TMS320C2XX是TI公司推出的继TMS320C2X和 TMS320C5X之后的一种低价格、高性能的定点DSP芯片, 也 称为C2000系列。TMSC2000系列DSP主要用于代替MCU, 应用于各种工业控制领域和消费电子产品,尤其是电机控制 领域。
...
...
4.1
2
TMS320C2xx系列 DSP
兼容性
4.1.2 TMS320F206引脚与兼容性
C2xx系列的所有不同型号的DSP具有相同的CPU结构 (包括相同的指令系统)和不同的CPU外围电路配置,指令 集兼容。C2xx与早期的C2x、C5x型号或C2xx之间各型号的 指令兼容,但由于片内资源不同,程序移植时,必须考虑是 否有这些功能以及这些资源的地址是否一致。
4.1
1
TMS320C2xx系列 DSP
4.1.2 TMS320F206引脚与兼容性
TMS320F206 的引脚
引脚名
引脚 类型 说明 号 D0~D2 38~41 I/O/ 并行数据总线D15[最高有效位 (MSB)] 到D0[最低有效位(LSB)]。 D3~D6 26~29 Z 多路转换TMS320F206和外部数据 D7~D10 31~34 空间/程序空间或I/O空间之间的数 D11 36 据。当无输出(R/ W 为高)、 RS 保 D12~D15 38~41 持, OFF =0时变成高阻。
12
CNF
片内RAM设置,CNP=0时,片内双存取RAM的B0块和 B1块映射为数据空间。CNF=1,则B0和B1映射为程序 空间。复位后,CNP=0
测试/控制位,当BIT,BITT, CMPR, NORM指令测的条 件成立时,TC=1, 否则,TC=0。可用于条件跳转、调用 和返回。
11
TC
4.1
C2000系列DSP芯片具有如下特点: (1)处理能力强。指令周期最短是25ns,运算能力达40MIPS。 (2)片内具有较大的闪速存储器。 (3)芯片的功耗低。 (4)资源配置灵活。
4.1
TMS320C2xx系列 DSP
4.1.1 TMS320F206的结构特点
1) 5V工作电压,20MHz主频时,指令周期50ns; 2) 3个外部中断引脚; 3) 片内存储器:544×16bit双寻址RAM,分为B0,B1,B2 三块,其容量分别为256,256,32,统称为DARAM; 32K×16bit用户可编成Flash,作为程序空间;4K×16bit单寻 址RAM,可作为程序和数据空间,称为SARAM。 4) 寻址空间共244k×16bit 64K程序(PS)空间 64K数据(DS)空间 64K I/O(IS)空间 5) 32bit算术逻辑单元(ALU)/累加器(ACC); 6) 16×16bit 乘法器,乘积结果寄存器32bit;
9
8 ~0
INTM
DP
全局中断屏蔽,INTM=1时,屏蔽所有可屏蔽中断, 复位时为1
页指针,此9bit和直接寻址指令的低7bit形成 16bit地址
4.1
4.1.3 片内资源
1
TMS320C2xx系列 DSP
寄存器及相关功能说明
状态寄存器ST1

15~13
名称
ARB
说明
在不执行LST指令时,当ARP装入新值时,ARB保存旧 的ARP值,但LST#1指令将同一值放入ARP和ARB
4.1.3 片内资源
1
10 9 4 1Байду номын сангаас0
TMS320C2xx系列 DSP
寄存器及相关功能说明
SXM C XF PM 符号扩展,SXM=1能使符号扩展,SXM=0禁止符号扩 展,累加器高位受影响 进位。当加法有进位或减法有借位时为1,否则为0。复 位时为1 XF引脚状态位,通过指令SETC XF置位,CLRC XT复 位。复位后为1 乘法结果移位模式。PM=00时,PREG不移位就装入 ACC,PM=01, PREG先左移1位再进ACC; PM=10, PREG先左移4位再进ACC; PM=11, PREG先右移6位再 进ACC。左移时,低位填0;右移时,高位符号扩展, PREG内容不变。复位后,PM=00
相关文档
最新文档