描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302510437丛书名: 高等学校电子信息类专业系列教材

? 教学课件 配书教案(PPT)可到清华大学出版社网站本书页面下载。
?本书从应用的角度出发,注重激发学生的兴趣,循序渐进地从基础理论和应用两个方面介绍了TMS320DM6437的体系结构、原理、软硬件开发与程序设计,并结合作者在教学、科研实践中的丰富经验,系统、全面地论述了基于TMS320DM6437 DSP系统的开发过程,精选的每个案例都给出了原理介绍及C语言源程序。通过这些案例的学习,读者可较为容易地掌握TMS320DM6437嵌入式系统综合设计与开发技巧。
本书内容全面、实用,讲解通俗易懂,旨在使读者了解TMS320DM6437的体系结构和基本原理,掌握DSP系统的设计和开发过程,书中提供的案例便于读者学习理解DSP的程序开发方法。本书可作为高等院校电子工程、通信工程、自动化、计算机、电气工程和电力电子等专业的高年级本科生和研究生学习DSP的教材,也可供从事DSP应用系统设计开发的技术人员参考。
第1章绪论
1.1DSP概述
1.1.1DSP的发展概况及趋势
1.1.2DSP的特点
1.1.3DSP的分类
1.1.4DSP的应用
1.1.5DSP芯片的选择
1.2DSP系统
1.2.1DSP系统的构成
1.2.2DSP系统的特点
1.2.3DSP系统的设计过程
1.3DSP芯片
1.3.1TI公司的DSP芯片
1.3.2其他公司的DSP芯片
1.4TMS320C6x(6000)概述
1.4.1TMS320C6x简介
1.4.2TMS320C6x结构
1.4.3TMS320C6x特点
1.4.4TMS320C6x的应用
本章小结
思考与练习题
第2章TMS320DM6437的硬件结构
2.1TMS320DM6437的基本结构
2.2TMS320DM6437 CPU结构
2.2.1CPU的组成
2.2.2CPU数据通路
2.2.3CPU状态控制寄存器
2.3片内存储器
2.3.1片内存储器结构
2.3.2存储器空间分配
2.3.3一级片内程序存储器
2.3.4一级片内数据存储器
2.3.5二级片内存储器
本章小结
思考与练习题
第3章TMS320DM6437的指令系统
3.1TMS320DM6437指令集概述
3.1.1指令和功能单元之间的映射
3.1.2延迟间隙
3.1.3指令操作码映射图
3.1.4并行操作
3.1.5条件操作
3.1.6寻址方式
3.2TMS320DM6437指令集
3.2.1加载/存储指令
3.2.2算术运算指令
3.2.3逻辑及位域运算指令
3.2.4数据传送指令
3.2.5程序转移指令
3.2.6资源对公共指令集的限制
3.3汇编、线性汇编和伪指令
3.3.1汇编代码结构
3.3.2汇编伪指令
3.3.3汇编语言程序设计
3.3.4线性汇编
3.3.5链接器命令文件的编写和使用
本章小结
思考与练习题
第4章软件开发环境及程序优化
4.1DSP软件开发过程及开发工具
4.2CCS集成开发环境
4.2.1CCS安装与设置
4.2.2创建CCS工程项目
4.2.3工程导入
4.2.4CCS 6.0仿真与烧写
4.3DSP/BIOS实时操作系统
4.3.1DSP/BIOS的组件构成
4.3.2基于DSP/BIOS的程序开发
4.4DSP的C/C 语言程序设计
4.4.1面向TMS320C64x的C/C 语言
4.4.2面向DSP的C/C 语言程序设计流程
4.4.3C语言源代码的优化
4.4.4汇编代码的优化
4.4.5C语言和汇编语言混合编程
本章小结
思考与练习题
第5章TMS320DM6437流水线与中断
5.1流水线
5.1.1流水线概述
5.1.2流水线操作
5.1.3指令对流水线性能的影响
5.1.4存储器对流水线性能的影响
5.2DSP的中断系统
5.2.1中断的基础知识
5.2.2中断控制寄存器
5.2.3中断响应过程
5.2.4中断嵌套
5.2.5中断向量程序
本章小结
思考与练习题
第6章TMS320DM6437主机接口与多通道缓冲串口
6.1主机接口
6.1.1HPI概述
6.1.2HPI的结构与功能
6.1.3HPI的读/写时序
6.1.4HPI的操作
6.1.5HPI寄存器
6.1.6HPI的中断申请
6.1.7HPI应用实例
6.2多通道缓冲串口
6.2.1McBSP概述
6.2.2McBSP结构与对外接口
6.2.3McBSP寄存器
6.2.4McBSP的操作
6.2.5McBSP的应用
本章小结
思考与练习题
第7章TMS320DM6437通用输入/输出接口与定时器
7.1通用输入/输出接口(GPIO)
7.1.1GPIO接口概述
7.1.2GPIO功能
7.1.3中断和事件产生
7.1.4GPIO寄存器
7.2定时器
7.2.1定时器结构
7.2.2定时器的工作模式控制
7.2.3定时器寄存器
本章小结
思考与练习题
第8章TMS320DM6437应用程序设计
8.1DSP基本算法
8.1.1有限冲激响应(FIR)数字滤波器设计
8.1.2无限冲激响应(IIR)数字滤波器设计
8.1.3快速傅里叶变换(FFT)算法
8.1.4卷积算法
8.1.5自适应滤波算法
8.2语音信号采集与分析
8.2.1回声实验
8.2.2音频滤波
8.3图像处理
8.3.1图像点处理
8.3.2图像的几何变换
8.3.3图像增强
8.3.4图像边缘检测
本章小结
思考与练习题
附录ADSP系统配置及初始化程序
附录BGPIO接口与ZWT封装引脚的对应关系
附录C音频芯片TLV320AIC23B介绍
参考文献
TMS320C6000系列DSP是当前多处理通道、多功能和高数据处理速度DSP芯片的代表,其中TMS320C62x/C64x处理器为定点DSP,TMS320C67x处理器为浮点DSP。TMS320C62x、TMS320C64x及TMS320C67x间代码兼容,且均采用高性能、支持超长指令字(VLIW)的VelociTI处理器结构。TMS320DM64x/C64x是TI公司开发的第六代高性能DSP芯片,该器件的关键特性,如VLIW架构、两级存储器/高速缓存体系和EDMA引擎使其成为计算密集型视频/图像应用领域的理想选择。TMS320DM6437是TI公司在2006年推出的定点DSP芯片,是TMS320C6000平台中专门为高性能、低成本视频应用开发,支持达芬奇技术的一款重要的单核DSP处理器芯片,低廉的开发套件与芯片价格使其可以面向低成本应用场合,在图像处理和流媒体领域得到了广泛的应用。
本书以TMS320DM6437为描述对象,以应用系统设计为主线,系统介绍了TMS320DM6437的体系结构、原理、软硬件开发与程序设计,并给出了设计实例,便于读者学习DSP系统的设计方法。
全书共8章,其内容如下。
第1章: 绪论。首先对DSP的发展、特点、分类、应用及选择进行了概述; 然后对DSP系统构成和设计过程进行了介绍,并简单分析了TI及其他公司生产的一些常用DSP芯片的型号和特点; 最后重点介绍了高性能TMS320C6x系列DSP的结构组成、特点和应用。
第2章: TMS320DM6437的硬件结构。介绍TMS320DM6437的基本硬件结构,包括CPU体系结构、数据通路及状态控制寄存器,片内一级程序和数据存储器、片内二级存储器的基本构造及工作方式等。
第3章: TMS320DM6437的指令系统。首先对TMS320DM6437的指令集进行概述,包括指令和功能单元之间的映射、延迟间隙、指令操作码映射图、并行操作、条件操作和寻址方式,重点介绍了TMS320DM6437的指令系统和资源对公共指令集的限制,最后介绍了汇编、线性汇编和伪指令。
第4章: 软件开发环境及程序优化。主要介绍DSP软件开发过程和开发工具以及程序的优化方法。软件开发环境介绍了DSP软件开发过程、CCS集成开发环境,以及DSP/BIOS实时操作系统; 程序设计及优化部分详细介绍了DSP的程序设计和优化方法,包括C/C 语言程序设计、面向DSP的C/C 语言程序设计流程、C语言源代码的优化、汇编代码的优化、C语言和汇编语言混合编程。
第5章: TMS320DM6437流水线与中断。第一部分介绍了TMS320DM6437的流水线,包括流水线操作、指令和存储器对流水线性能的影响; 第二部分介绍了DSP的中断系统,包括TMS320DM6437的中断控制寄存器、中断响应过程、中断嵌套和中断向量程序。
第6章: TMS320DM6437主机接口与多通道缓冲串口。TMS320DM6437主机接口部分介绍了HPI的结构与功能、读/写时序,HPI的操作、寄存器、中断申请以及应用实例; 多通道缓冲串口部分介绍了McBSP结构与对外接口、McBSP的寄存器、操作以及应用。
第7章: TMS320DM6437通用输入/输出接口与定时器。详细介绍了TMS320DM6437通用输入/输出和定时器的基本结构和功能使用,包括GPIO接口功能、中断和事件产生、控制寄存器、定时器结构、定时器工作模式及定时器寄存器等。
第8章: TMS320DM6437应用程序设计。详细介绍了一些基于TMS320DM6437的算法实例及其实现过程,包括数字信号处理的基本算法(如FIR、IIR数字滤波器设计和FFT等)、语音信号采集与分析算法、图像点处理、几何变换、图像增强、图像边缘检测算法。通过这些算法实例,应该重点掌握DSP的初始化及一些通信接口的实现过程。
本书由张雪英、李鸿燕、贾海蓉和陈桂军合作编写。张雪英编写了第1章与第2章; 李鸿燕编写了第3章与第4章; 贾海蓉编写了第5章与第6章; 陈桂军编写了第7章与第8章和附录。全书由张雪英教授统稿。
在本书的编写过程中,得到了太原理工大学信息工程学院一些博士生、硕士生在应用程序调试方面的帮助。北京艾睿合众科技有限公司技术人员对基于SEEDDTK6437实验箱在调试程序过程中的问题给予了解答,在此对他们表示衷心的感谢。同时也感谢清华大学出版社的领导和编辑对本书提出的宝贵意见并给予的大力支持。
由于作者水平有限,书中难免存在不足和疏漏之处,恳请读者批评指正。
编者2018年11月
TMS320DM6437是TMS320C6000平台中一款重要的DSP芯片,与TMS320C62x一样,TMS320C64x也是TI的定点DSP芯片,程序代码兼容,用TMS320C64x编写的代码可直接通过CCS编译器移植到TMS320C62x中。而TMS320C67x系列DSP芯片为浮点运算DSP,有一些特殊的指令,如浮点加法、浮点减法和浮点乘法运算等,但它们都具有相同的定点运算指令集,程序代码可以相互兼容。
3.1TMS320DM6437指令集概述
3.1.1指令和功能单元之间的映射
C6000汇编语言和每一条指令只能在一定的功能单元执行,因此就形成了指令的功能单元之间的映射关系。一般而言,与乘法相关的指令都在.M单元执行; 需要产生数据存储器地址的指令,在.D功能单元执行; 算术逻辑运算大多在.L和.S单元执行。
指令与功能单元的映射如表31所示。
表31指令与功能单元的映射
指令.L Unit.M Unit.S Unit.D Unit
ABS√
ADD√√√
ADDAB√
ADDAH√
ADDAW√
ADDK√
ADDU√
ADD2√
AND√√
B disp√
B IRP √
B NRP √
B reg√
CLR√
续表
指令.L Unit.M Unit.S Unit.D Unit
CMPEQ√
CMPGT√
CMPGTU√
CMPLT√
CMPLTU√
EXT√
EXTU√
LDB√
LDB(15bit offset)√
LDBU√
LDBU(15bit offset)√
LDH√
LDH(15bit offset)√
LDHU√
LDHU(15bit offset)√
LDW√
LDW(15bit offset)√
LMBD√
MPY√
MPYU√
MPYUS√
MPYSU√
MPYH√
MPYHU√
MPYHUS√
MPYHSU√
MPYHL√
MPYHLU√
MPYHULS√
MPYHSLU√
MPYLH√
MPYLHU√
MPYLUHS√
MPYLSHU√
MV√√√
MVC √
MVK√
MVKH√
MVKLH√
NEG√√
NORM√
NOT√√
续表
指令.L Unit.M Unit.S Unit.D Unit
OR√√
SADD√
SAT√
SET√
SHL√
SHR√
SHRU√
SMPY√
SMPYHL√
SMPYLH√
SMPYH√
SSUB√√
STB√
STB(15bit offset)√
STH√
STH(15bit offset)√
STW√
STW(15bit offset)√
SUB√√√
SUBAB√
SUBAH√
SUBAW√
SUBC√
SUBU√√
SUB2√
XOR√√
ZERO√√√
3.1.2延迟间隙
延迟间隙(Delay Slots)是指一条指令在第一个执行节拍E1以后占用的CPU周期数。定点指令在执行时可以定义一个延迟间隙期,延迟间隙数等于读指令有效读取源操作数后所需附加的周期数。对于单周期指令(如ADD指令),在第i周期读取源操作数,指令执行结果在第i 1周期才被访问,对于多周期指令(如MPY指令),在第i周期读取源操作数,指令执行结果在第i 2周期被访问。延迟间隙数等于一条指令的执行或结果获得的潜在周期,TMS320C64xDSP系列DSP指令都有一个功能单元潜在周期,因此,每个周期均可有一条新指令在功能单元中开始。TMS320C64xDSP各指令对应的延迟间隙数如表32所示。
表32TMS320C64xDSP各指令对应的延迟间隙数
指 令 类 型延 迟 间 隙功能单元等待时间读周期写周期转 移 发 生
NOP01
Store01ii
Single cycle01ii
Multiply(16×16)11ii 1
Load41ii 4
Branch51ii 53.1.3指令操作码映射图
TMS320C64x的每一条指令都是32位,都有自己的代码,详细指明指令相关内容。以下为在各单元操作时的指令操作代码符号映射。指令操作代码符号如表33所示。
表33指令操作代码符号
符号含义符号含义
baseR基地址寄存器
creg条件寄存器代码
cst常数
csta常数a
cstb常数b
dst目的操作数
hMVK或MVKH位
ld/st装载/存储
mode寻址方式
offsetR偏移量寄存器
op指令操作代码
p指令是否并行执行
rLDDW位
rsv保留
s选择寄存器组A或B作为目的操作数
src1源操作数1
src2源操作数2
ucstnn位无符号常数
x操作数2是否使用交叉通道
y选择.D1或.D2
z指定条件
(1) 在.L Unit操作时的指令操作代码符号映射。
(2) 在.M Unit操作时的指令操作代码符号映射。
(3) 在.D Unit操作时的指令操作代码符号映射。
(4) 数据读取/存储指令使用15位偏置在.D Unit操作时的指令操作代码符号映射。
(5) 数据读取/存储指令使用基地址寄存器 15位偏置在.D Unit操作时的指令操作代码符号映射。
(6) 在.S Unit操作时的指令操作代码符号映射。
(7) ADDK指令在.S Unit操作时的指令操作代码符号映射。
(8) 帧操作在.S Unit操作时的指令操作代码符号映射。
(9) MVK和MVKH指令在.S Unit操作时的指令操作代码符号映射。
(10) B cond disp在.S Unit操作时的指令操作代码符号映射。
(11) IDLE操作的指令操作代码符号映射。
(12) 空操作的指令操作代码符号映射。
评论
还没有评论。