TMS320C6000系列DSPs的原理与应用
2000-7
电子工业出版社
任丽香 马淑芬 李方慧
408
672
以高速数字信号处理器(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.9Power?down 逻辑(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.2eXpressDSP??TM?算法标准(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.4Power?down逻辑(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循环中的If?Then?Else语句(322)?5.4.7循环展开(327)?5.4.8生命太长问题(Live?Too?Long)(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)参考文献(406)?
TMS320C6000系列DSPs的原理与应用 PDF格式下载