TMS320C55x DSP原理及应用
2008-7
电子工业出版社
汪春梅,孙洪波 编著
374
历经三十年的发展,数字信号处理器(DSP)的应用范围已经遍及军用电子、消费电子、工业控制等重要领域,各种崭新的应用层出不穷,这些应用对DSP的处理能力、功耗、体积以及开发的方便程度都提出了较高要求。而第三代DSP则以其强大的数字信号处理能力、超低功耗和适合手持设备的超小型封装等特点,较好地满足了新一代电子产品的要求,以CCS为代表的集成开发环境为应用者提供了方便、快捷的DSP开发手段。 C55x系列处理器在兼容C54x系列处理器指令集的基础上,将处理速度提高到200 MHz~300MHz,而对DSP内核又进行了重大改进,将强大的处理能力和超低功耗完美结合,成为新一代数字信号处理器的典型代表。正是因为C55x系列处理器具有这些特点,所以特别适合嵌入式数字信号处理方面的应用。我们从2003年起将所使用的平台由C54x系列处理器转换为C55x系列处理器,先后在软件无线电、超声波探测等多个项目中应用C55x处理器,取得了较好的效果。作者在2004年编写了《TMS320C5000系列DSP系统设计与开发实例》(第一版),对应用心得和成果作了阶段性的总结,经过几年的积累,在汲取读者反馈意见的基础上,我们投入到了《TMS320C55x DSP原理及应用》(第二版)的编写当中。 为了适应初学者的需要,《TMS320C55x DSP原理及应用》(第二版)在内容上注意了由浅入深、图文并茂,全面系统地展开论述,在每章之后附上习题,方便读者理解和复习本章的内容;本书还对C55x芯片支持库、数字信号处理库和图像、视频处理库进行了介绍,并在附录中对数字信号处理库和图像、视频处理库的函数进行了详细说明;本书增加了大量的软硬件应用实例,并将篇幅扩展为两章。在书中介绍了大量实用DSP系统,能够满足DSP人员之所需,书中所列出的大量典型的应用实例,可在实际开发中直接引用,相信能够给开发者带来一些有益的帮助。 本书第1章结合德州仪器公司的DSP产品对DSP技术的发展概况进行了介绍,读者可以根据本章内容和需求选取适合的DSP芯片;第2章重点介绍了TMS320VC55x处理器的硬件结构,并以TMS320VC5509为例介绍了C55x处理器的主要特性和功能,最后介绍了DSP的存储空间结构;第3章在介绍数字信号处理和DSP系统的基础上,详细介绍了C55x处理器的汇编指令和寻址方式;第4章介绍了C55x处理器的程序基本结构,C语言编程以及优化,C与汇编语言的混合编程,通用目标文件格式,最后对C55x处理器的数字信号处理库和图像、视频处理库进行了介绍;第5章介绍了TMS320C55x系列片内集成外设的结构、功能,以及芯片支持库的使用和驱动程序的开发,并给出了部分片内外设的测试过程;第6章介绍了DSP的集成开发环境CCS的原理和使用;第7、8章则详细介绍了DSP软、硬件的设计方法和应用实例。本书还附有光盘,内容包括教学课件和软件实例。 本书由汪春梅策划,汪春梅编写了其中第2、3、6、8章,第1、4、5、7章由孙洪波编写,全书由邹俊忠审校。在编写过程中,叶宏、倪继锋、贾红涛、朱品昌、王学刚等给予了支持和帮助,北京瑞泰创新科技有限公司的李心阳工程师提供了部分技术资料,电子工业出版社给予了极大的鼓励和支持。作者在此一并致谢。 本书既可以作为大中专院校的选修课教材,也可作为电子工程技术人员的参考书籍。 希望此书对读者有所裨益,也希望有助于DSP技术的推广。限于作者的水平,书中的错误在所难免,恳请读者不吝赐教!
本书以TMS320C55x DSP为重点,全面介绍了TMS320C5000 DSP系统设计与开发。首先详细介绍了数字信号处理器的硬件结构、汇编指令、存储空间结构和寻址方式;其次介绍了C55x 处理器中C语言与汇编语言的混合编程方法;然后从应用的角度,结合片内集成外设的结构和功能,给出了片内集成外设驱动程序开发方法及部分片内外设的调试方法;最后结合DSP软/硬件的设计,给出了详细的设计方法和丰富的应用实例。本书还对DSP的集成开发环境CCS的使用方法进行了详尽的描述。 本书旨在从应用的角度使读者了解TMS320C55x DSP的体系结构和基本原理,熟悉DSP芯片的开发工具和使用方法,掌握DSP系统设计和软/硬件开发。 本书内容丰富、新颖、实用性强,适合从事数字信号处理的科技人员和高校师生阅读。
第1章 数字信号处理和DSP系统 1.1 实时数字信号处理技术的发展 1.2 数字信号处理器的特点 1.2.1 存储器结构 1.2.2 流水线 1.2.3 硬件乘法累加单元 1.2.4 零开销循环 1.2.5 特殊的寻址方式 1.2.6 高效的特殊指令 1.2.7 丰富的片内外设 1.3 德州仪器公司的DSP产品 1.3.1 C24x系列和C28x系列 1.3.2 C62x系列和C64x系列 1.3.3 C67x系列和C33 1.3.4 C54x系列和C55x系列 1.4 DSP芯片的选择 1.4.1 运算速度 1.4.2 算法格式和数据宽度 1.4.3 存储器 1.4.4 功耗 1.4.5 开发工具 1.5 DSP应用系统设计流程 思考与练习题第2章 TMS320C55x的硬件结构 2.1 TMS320C55x DSP的基本结构 2.1.1 C55x 的CPU体系结构 2.1.2 指令缓冲单元(I) 2.1.3 程序流程单元(P) 2.1.4 地址流程单元(A) 2.1.5 数据计算单元(D) 2.1.6 指令流水线 2.2 TMS320VC5509A的主要特性 2.2.1 VC5509A的主要特性 2.2.2 VC5509A的引脚功能 2.3 TMS320C55x 存储空间结构 2.3.1 存储器映射 2.3.2 程序空间 2.3.3 数据空间 2.3.4 I/O空间 思考与练习题第3章 TMS320C55x的指令系统 3.1 寻址方式 3.1.1 绝对寻址模式 3.1.2 直接寻址模式 3.1.3 间接寻址模式 3.2 TMS320C55x的指令系统 3.2.1 C55x指令的并行执行 3.2.2 TMS320C55x DSP的汇编指令 思考与练习题第4章 C55x处理器的软件设计 4.1 C55x处理器程序基本结构 4.1.1 自我调度程序的基本结构 4.1.2 应用嵌入式操作系统 4.2 C语言程序开发及优化 4.2.1 C语言中的数据类型 4.2.2 对I/O空间进行寻址 4.2.3 interrupt关键字 4.2.4 onchip关键字 4.2.5 C语言的优化 4.3 C语言与汇编语言的混合编程 4.3.1 在C语言中直接嵌套汇编语句 4.3.2 C语言调用汇编模块的接口 4.4 通用目标文件格式 4.4.1 C/C++和汇编语言中段的分配 4.4.2 寄存器模式设置 4.4.3 链接命令文件 4.5 C55x处理器的数字信号处理库和图像、视频处理库 4.5.1 C55x的数字信号处理库 4.5.2 C55x的图像、视频处理库 思考与练习题第5章 TMS320C55x的片内集成外设开发及测试 5.1 C55x片内外设与芯片支持库简介 5.2 时钟发生器 5.2.1 时钟模式寄存器 5.2.2 工作模式 5.2.3 CLKOUT输出 5.2.4 使用方法 5.2.5 使用方法及实例 5.2.6 时钟发生器的调试 5.3 通用定时器 5.3.1 结构框图 5.3.2 工作原理 5.3.3 使用方法 5.3.4 通用定时器的应用 5.3.5 通用定时器的调试 5.4 外部存储器接口 5.4.1 功能与作用 5.4.2 外部寄存器接口硬件连接与配置 5.4.3 外部寄存器接口的软件设置 5.5 主机接口(EHPI) 5.5.1 EHPI接口的非复用连接方式 5.5.2 EHPI接口的复用连接方式 5.5.3 EHPI口的寄存器 5.6 多通道缓冲串口McBSP 5.6.1 概述 5.6.2 组成框图 5.6.3 采样率发生器 5.6.4 多通道选择 5.6.5 异常处理 5.6.6 McBSP寄存器 5.6.7 多通道缓冲串口的应用 5.6.8 McBSP串口的测试 5.7 通用输入/输出端口GPIO 5.7.1 GPIO口概述 5.7.2 上电模式设定 5.7.3 驱动程序开发 5.7.4 通用输入/输出GPIO的测试 5.8 DMA控制器 5.8.1 概述 5.8.2 通道和端口 5.8.3 HPI的配置 5.8.4 DMA传输配置 5.8.5 DMA控制器的寄存器 5.8.6 使用方法及实例 5.9 I2C总线 5.9.1 I2C总线简介 5.9.2 I2C寄存器 5.9.3 I2C模块的使用 5.10 多媒体卡控制器 5.10.1 多媒体卡控制器简介 5.10.2 MMC/SD模式 5.10.3 SPI模式 5.10.4 MMC控制器的应用 5.11 通用串行总线(USB) 5.11.1 通用串行总线(USB)简介 5.11.2 USB的DMA控制器 5.11.3 USB模块的寄存器 5.11.4 USB模块的应用 5.12 模/数转换器(ADC) 5.12.1 模/数转换器结构和时序 5.12.2 模/数转换器的寄存器 5.12.3 使用方法及实例 5.13 实时时钟(RTC) 5.13.1 实时时钟基本结构 5.13.2 实时时钟的内部寄存器 5.13.3 实时时钟的应用 5.14 看门狗定时器(Watchdog) 5.14.1 工作方式 5.14.2 寄存器说明 5.14.3 看门狗定时器的应用 5.15 异步串口(UART) 5.15.1 异步串口基本结构 5.15.2 异步串口寄存器 5.15.3 异步串口的应用 思考与练习题第6章 DSP集成开发环境CCS 6.1 CCS功能简介 6.2 CCS安装与设置 6.2.1 CCS软件安装 6.2.2 CCS设置 6.3 CCS的基本操作 6.3.1 CCS的窗口和工具条 6.3.2 文件的编辑 6.3.3 反汇编窗口的使用 6.3.4 存储器窗口的使用 6.3.5 寄存器窗口的使用 6.3.6 观察窗口的使用 6.4 创建工程项目 6.4.1 工程项目的建立、打开和关闭 6.4.2 向工程项目添加各类文件 6.4.3 工程项目的构建 6.5 利用CCS调试程序 6.5.1 装载并运行程序 6.5.2 断点的使用 6.5.3 探针点的使用 6.5.4 图形工具的使用 6.6 程序分析工具的使用 6.7 GEL工具的使用 6.8 CCS开发DSP软件使用举例 思考与练习题第7章 TMS320C55x硬件设计实例 7.1 DSP最小系统设计 7.1.1 C55x的电源设计 7.1.2 复位电路设计 7.1.3 时钟电路设计 7.1.4 JTAG接口电路设计 7.1.5 程序加载部分 7.2 A/D与D/A设计 7.2.1 串行多路A/D设计 7.2.2 高速并行A/D设计 7.2.3 并行D/A设计 7.3 C55x在语音系统中的应用 7.4 手写系统的实现 7.5 C55x在软件无线电中的应用 思考与练习题第8章 TMS320C55x软件设计实例 8.1 卷积算法 8.1.1 卷积算法 8.1.2 卷积算法的MATLAB实现 8.1.3 卷积算法的DSP实现 8.2 有限冲激响应滤波器(FIR)的实现 8.2.1 有限冲激响应滤波器的特点和结构 8.2.2 有限冲激响应滤波器的MATLAB设计 8.2.3 有限冲激响应滤波器DSP实现 8.3 无限冲激响应滤波器(IIR)的实现 8.3.1 无限冲激响应滤波器的结构 8.3.2 无限冲激响应滤波器的MATLAB设计 8.3.3 无限冲激响应滤波器的DSP实现 8.4 快速傅里叶变换(FFT) 8.4.1 快速傅里叶变换(FFT)算法 8.4.2 快速傅里叶变换(FFT)的DSP实现 8.5 语音信号编码解码(G.711) 8.5.1 语音信号编解码原理 8.5.2 语音信号编解码的DSP实现 8.6 数字图像的锐化 8.7 Viterbi译码 思考与练习题附录A 寄存器附录B VC5510中断附录C TMS320C55x的状态寄存器附录D TMS320C55x的汇编指令集附录E TMS320C55xDSP库函数附录F VC5509系统部分原理图习题答案参考文
第1章 数字信号处理和DSP系统 当德州仪器(TI)公司于1982年推出第一款商用数字信号处理器时,谁也不会想到它竟能给世界带来如此大的变化。从移动通信到消费电子领域,从汽车电子到医疗仪器,从自动控制到军用电子系统中都可以发现它的身影。刚诞生的第一代数字信号处理器仅包含了55000个晶体管,4KB内存,指令处理能力只有5MIPS(每秒百万条),经过20余年的发展,单核数字信号处理器的处理能力已经达到9600MIPS的惊人速度,寻址能力高达1280MB。数字信号处理器给世界带来了巨大的变化,未来可能的应用包括无人驾驶汽车、精确化的楼宇照明控制、自动识别并报警的安防系统等,有无数令人兴奋的应用在等待我们去开拓。那么就让我们进入这个充满变化、充满挑战,而又拥有无限精彩的DSP(数字信号处理器)世界吧。 1.1 实时数字信号处理技术的发展 20世纪60年代以来,随着信息技术的不断进步,数字信号处理技术应运而生并得到迅速发展。80年代以前,由于方法的限制,数字信号处理技术处于理论研究阶段,还得不到广泛的应用。在此阶段,人们利用通用计算机进行数字滤波、频谱分析等算法的研究,以及数字信号处理系统的模拟和仿真。而将数字信号处理技术推向高峰的则是实时数字信号处理技术的高速发展。 实时数字信号处理对数字信号处理系统的处理能力提出了严格的要求,所有运算、处理都必须小于系统可接受的最大时延。以视频会议为例,从发送端图像、声音信号的采集、压缩,通过信道传输,到接收端完成数据接收,图像、声音信号的解压、还原,其中任何一个处理环节都应满足最大时延要求,否则将出现图像、声音信号的间断,从而影响视频会议的正常进行,如果每个数据包都包含了20ms的音、视频信号,可以很容易得出整个系统的整体延迟必须小于500ms,而每个数据包的处理时间必须小于20ms才能满足系统实时处理要求。
为了适应初学者的需要,《TMS320C55x DSP原理及应用》(第二版)在内容上注意了由浅入深、图文并茂,全面系统地展开论述,在每章之后附上习题,方便读者理解和复习本章的内容;本书还对C55x芯片支持库、数字信号处理库和图像、视频处理库进行了介绍,并在附录中对数字信号处理库和图像、视频处理库的函数进行了详细说明;本书增加了大量的软硬件应用实例,并将篇幅扩展为两章。在书中介绍了大量实用DSP系统,能够满足DSP人员之所需,书中所列出的大量典型的应用实例,可在实际开发中直接引用,相信能够给开发者带来一些有益的帮助。
在学校图书卡丢了,没辙自己买了一本赔上。应该不错的书,不然那人不能不还
实力较少 但东西很全
很好,应该是将这个最好的之一了
是偏硬件方面的DSP
C5XXX系列的DSP主要就是功耗低,我同学要学5509,我看看目录就帮他买这本了,应该还不错
这本书是基于5509和5510来讲的,我已经看完一遍了,基本没看到什么错误,这个很难得缺点就是有的时候不知道讲的是5509还是5510,因为我是要用5509,看到书中提到的一个引脚,是上电时控制内部PLL是否1/2分频的,我招了半天也没在5509上找到这个引脚,后来我想到了可能是在讲5510,我下载了5510的数据手册,恍然大悟,发现这个脚在5510上有,而5509上没有,这问题困扰我好几天,这个脚好像是叫CLKMOD。我把上下文看了下,确实文中没有说这是在介绍5510,我看55x的数据手册好像上下文中也没有,作者在翻译的时候可能也没在意。我觉得这样一个小小的问题对我们这些初学者来说就是很大的障碍。但这本书比别的书好多了。里面有作者自己的东西,不是全书照抄数据手册。希望再版的时候编者能注意下这些小的细节,初学者不易呀!!
很不错...很基础例子也不少...结合了程序编程很好,,,
在本书的前言部分说到本书还附有光盘,怎么没有看见本书所附有的光盘呢?
很好,不错,很有帮助!
国内算翻译的不错的了
该书在本类书中还可以,有一定的借鉴意义,但若作为使用dsp的设计参考,还是没能改中国这类书(mcu、dsp、电子设计)的通病,没有一个完整的设计实例,使读者不能由一本书学到一项较全面的技术,爱恨交加。不知是作者水平太高,对于一些内容不屑于写,还是.......
这本书在基础上有充分介绍,但是不连贯,对于如何汇编提及得少,没有基础的程序说明编程的步骤,个人觉得不太好用!
为什么才两天,就涨价了!!!哎……
老婆用来做教科书用的