下载链接:
http://www.hellodsp.com/bbs/viewthread.php?tid=770&extra=page%3D1
以高速数字信号处理器(DSPs)为基础的实时数字信号处理技术正在迅速发展,并得到广泛应用。TMS320C6000是TI公司1997年推出的DSPs产品,其定点产品峰值处理能力为2400MIPS,浮点产品峰值处理能力为1GFLOPS。本书介绍了C6000的芯片结构、特点、软件编程、硬件设计等内容,并对在C6000系统设计中出现的主要问题和解决方法进行了总结。本书的读者对象是各领域内从事信号处理的科研和工程技术人员,以及信息与信号处理、通信类各专业的研究生、高年级本科生。
第1章实时数字信号处理与数字信号处理器(1)
1.1实时数字信号处理(1)
1.1.1信号处理领域的巨大变革(1)
1.1.2实时信号处理的概念(1)
1.1.3DSPs在实时数字信号处理中的应用(2)
1.2实时DSP系统的构成(2)
1.2.1实时DSP系统的构成(2)
1.2.2DSP子系统(2)
1.2.3以通用DSPs为核心构成实时DSP子系统(3)
1.3DSPs芯片(3)
1.3.1DSPs芯片概述(4)
1.3.2DSPs芯片的特点(5)
1.3.3性能指标(7)
1.3.4TMS320C6000系列DSPs芯片的特点与应用(8)
1.4基于DSPs芯片的实时DSP系统设计与开发(10)
1.4.1DSP系统开发流程(10)
1.4.2DSPs开发工具(13)
第2章C6000系列DSPs硬件结构和指令集(16)
2.1CPU结构(16)
2.1.1TMS320C6000结构及CPU(16)
2.1.2CPU数据通路与控制(17)
2.2中断(27)
2.2.1中断类型和中断信号(27)
2.2.2中断服务表(IST)(29)
2.2.3中断控制寄存器(31)
2.2.4中断性能和编程考虑事项(35)
2.3流水线(39)
2.3.1流水线操作概述(39)
2.3.2不同类型指令的流水操作(46)
2.3.3流水线性能考虑事项(50)
2.4存储器(55)
2.4.1存储器映射(55)
2.4.2片内存储器(55)
2.5C6000的片内集成外设(59)
2.5.1DMA与EDMA控制器(60)
2.5.2外存储器接口EMIF(61)
2.5.3主机口HPI(61)
2.5.4扩展总线XB(62)
2.5.5自举逻辑控制(62)
2.5.6多通道缓冲串口(62)
2.5.7定时器(63)
2.5.8中断选择子(63)
2.5.9Powerdown 逻辑(63)
2.6指令集(64)
2.6.1指令和功能单元之间的映射(64)
2.6.2延迟间隙(Delay Slots)(67)
2.6.3操作码映射(Opcode Map)(68)
2.6.4并行操作(70)
2.6.5条件操作(72)
2.6.6资源限制(72)
2.6.7指令集表(75)
第3章TMS320C6000开发工具(79)
3.1开发流程和开发工具(79)
3.2代码产生工具(81)
3.2.1C编译器(81)
3.2.2汇编优化器(83)
3.2.3汇编器(84)
3.2.4连接器(84)
3.3系统集成与代码调试工具(87)
3.3.1软件模拟器(simulator)(87)
3.3.2软件评估模块(EVM)(88)
3.3.3性能分析工具(Profiler)(89)
3.3.4TMS320C6211 DSK(DSP Starter Kit)(89)
3.4其他代码开发工具(90)
3.4.1TMS320C6000 Code Composer Studio(91)
3.4.2eXpressDSPTM算法标准(95)
3.4.3代码转换工具(96)
第4章C6000系列DSPs的硬件开发(97)
4.1综述(97)
4.2片内存储器(98)
4.2.1简介(98)
4.2.2片内程序区(98)
4.2.3片内数据区(102)
4.2.4C6211/C6711的两级片内存储器(106)
4.3外部存储器接口的设计与应用(113)
4.3.1概述(113)
4.3.2EMIF 控制寄存器(114)
4.3.3SBSRAM 接口设计(115)
4.3.4SDRAM/SGRAM 接口(119)
4.3.5异步接口(128)
4.3.6FIFO 接口(132)
4.3.7Hold 接口(140)
4.3.8存储器申请的仲裁(140)
4.3.9特定的EMIF状态(141)
4.3.10C6202/C6211/C6711的EMIF(141)
4.4直接存储器访问(DMA)(144)
4.4.1概述(144)
4.4.2DMA的初始化和启动(146)
4.4.3传输控制:同步与地址产生(150)
4.4.4单一通道的分裂操作(152)
4.4.5资源仲裁和优先级设置(153)
4.4.6DMA 通道的状态(154)
4.4.7DMA的性能、外管脚和调试控制(155)
4.5扩展的直接存储器访问(EDMA)(155)
4.5.1概述(155)
4.5.2EDMA的控制机制(157)
4.5.3EDMA的传输操作(161)
4.5.4优先级(167)
4.5.5快速DMA(QDMA)(168)
4.6主机口(HPI)(170)
4.6.1概述(170)
4.6.2有关信号与控制寄存器(170)
4.6.3主机口的存取操作(174)
4.6.4HPI的自加载操作(181)
4.6.5接口实例(182)
4.7C6000的扩展总线(185)
4.7.1概述(185)
4.7.2信号接口与控制寄存器(187)
4.7.3扩展总线上的I/O口工作方式(189)
4.7.4扩展总线的主机口工作方式(193)
4.7.5扩展总线的仲裁(198)
4.8多通道缓冲串口(199)
4.8.1概述(199)
4.8.2信号接口和控制寄存器(200)
4.8.3数据的收发(204)
4.8.4μ律/A律硬件压扩(215)
4.8.5多通道的选择操作(216)
4.8.6SPI 协议下的接口(221)
4.8.7通用I/O口(224)
4.9定时器(224)
4.9.1概述(224)
4.9.2接口信号和控制寄存器(224)
4.9.3定时器的工作模式控制(226)
4.9.4注意点(227)
4.10中断控制(227)
4.10.1概述(227)
4.10.2中断源(228)
4.10.3中断选择(229)
4.10.4外中断信号时序(231)
4.11芯片模式设置(232)
4.11.1概述(232)
4.11.2复位(232)
4.11.3芯片设置(232)
4.11.4芯片自举(238)
4.12电源系统设计(239)
4.12.1供电系统设计(239)
4.12.2电源监测(239)
4.12.3功耗与散热(241)
4.12.4Powerdown逻辑(244)
4.13C6000系统的板级设计(245)
4.13.1概述(245)
4.13.2JTAG控制(246)
4.13.3调试(Debugging)考虑点(247)
4.13.4BGA 封装(248)
4.13.5高速数字电路设计(249)
第5章C6000系列DSPs的软件编程(259)
5.1概述(259)
5.2C代码的优化方法(260)
5.2.1创建C代码(261)
5.2.2编译C代码(261)
5.2.3优化C代码(264)
5.3汇编代码结构(275)
5.3.1汇编代码结构(275)
5.3.2线性汇编(278)
5.4通过线性汇编优化汇编代码(279)
5.4.1写并行代码(279)
5.4.2使用字访问短型数据和使用双字访问字(285)
5.4.3软件流水(289)
5.4.4多周期循环的模编排(307)
5.4.5循环传递路径(317)
5.4.6循环中的IfThenElse语句(322)
5.4.7循环展开(327)
5.4.8生命太长问题(LiveTooLong)(332)
5.4.9消除冗余取(337)
5.4.10存储Bank(344)
5.4.11软件流水外环(353)
5.4.12同内环一起条件地执行外环(357)
第6章C6000系列DSPs的应用开发举例(366)
6.1C6000的代码开发流程(366)
6.1.1算法的C语言实现(367)
6.1.2程序的编译(368)
6.1.3程序的功能调试(370)
6.1.4程序的性能测试(371)
6.1.5代码开发流程的第二阶段——C代码的优化(375)
6.1.6代码开发流程的第三阶段——用线性汇编改写关键代码(382)
6.2GSM EFR Vocoder的实现(389)
6.2.1加窗、缩放功能的实现——autocorr.c(389)
6.2.2search-10i40下标寻找的实现——寄存器分配问题。(401)
6.3应用系统开发实例(404)
6.3.1视频信号处理系统(404)
6.3.2双C6201的并行处理系统(405)