资 源 简 介
TMS320C6000系列DSPs原理与应用(第二版)序信息社会的发展,在很大程度上取决于信息与信号处理技术的先进性。数字信号处理技术的出现变了信息与信号处理技术的整个面貌;而数字信号处理器作为数字信号处理的核心技术,其应用已经深入到涉及信号处理的航空、航天、雷达、声纳、通信、家用电器等各个领域:成为电子系统的心脏。以雷达为例,数字信号处理器在性能上的每次突破都会给雷达领域带来巨大的震动,使得雷达信号处理的新算法在工程中得以实现带来雷达整机性能的提高,甚至推动雷达新体制的实现,综合孔径雷达就是一个例子。們公司的TMS320C6000系列是目前的数字信号处理器中性能最高的产品。最新数据表明:仅仅两年多的时间内,TMS320C6000系列数字信号处理器就已经在总价值为1.5亿美元的嵌入式产品设计中被选为数字信号处理器的解决方案,是推动数字信号处理技术发展的个标志性产品。本书的编写结合了作者的教学和科研实践经验,结构完整,既有对的TMS3》0C6000系列的完整介绍,也有对实时数字信号处理基本原理和数字信号处理器原理的介绍,兼顾了广大在校生和工程人员的实际需求本书编排合理,内容切合信息产业发展的需要,对教学、生产和科研都有现实指导意义,是一本值得推荐的专著中国工程院院士北京理工大学教授20年4月前言TMS320C6000系列DSP芯片是目前最先进、性能价格比最优的DSP芯片之一。本书第1版与于TMS320C6000系列第一代产品刚引进到我国不久。从本书第1版出版至个的两年多时间内,TMS320C6000系列又取得了长是的发展。为适应C6000系列DSP芯片的开发需要,我们重新编写了《TMS320C6000系列DSPs原理与应用(第2版)》。与第1版比较,第2版做了如下改动.对近两年来新推出的C621x、C671X系列以及C64xx系列DSP芯片做了全面的介绍2.在软件开发方面,以阐述C6000的CCS( Code Composer Studio)集成开发环境为主线。应用于C6000的CCS是C6000系列DSPs的主流开发L具,目前匚推出21版木根据TI公司文献资料的变动,对本书第1版原冇內容徹了大度的修改调整。以“TMS320C6000 CPU and instruction set Reference Guide”为例,从本书第1版编写至今,该文献已改了6版,编号从SPRU189A一直修正到SPRU189F。又如c6000的CC+编译器原文献对独立的指针变量建议采用 const关键字,而新版则要求用 restrict关键字,还特別提醒用户不要用 const关键字。对于TI文献中的这些重大变化,本书相应地予以反映4.在内容编排上重新作了调整。如第2章增加了对指令集的介绍,而把芯片内硬件资源的内容全部放到第5章中。第4章在介绍C程序优化前,增加了对C语言程序编写和C编译器使用的描述。与第1版一样,本书山北京理工大学雷达技术研究所组织编写,第2版由李方慧博士负责,王飞博士、何佩琨教授参与。第1章、第5章及第6章第1~3节由李方慧博土編写;第3章、第6章第4节由王飞博士编写;第2章、第4章山何佩琨教授编写。全书山高梅国教授审校。博士研究生沈光、吴琼之、姚迪参与了资料整理工作本书的编写受到北京理工大学雷达技术研究所在DSP教学和科研工作方面的支持,反了雷达技术研究所在C6000芯片开发方面的技术水平。从这个意义上讲,木书也是雷达技术研究所集体努力的结品之本书第1版、第2版的出版都得剑美国得州仪器(中国)公可与北京理工大学建立的DSP联合实骑室的支持。从1996年 DSPS联合实骑室建立以来,T公司对推动北京珅工大学DSP技术的开发、教学做了许多有益的工作。这也是促使本书能够编写出版的条件之一。在此,我们对美国得州仪器(中国)公司及其大学计划表示感谢。本书的版得到电子工业出版社领导的大力支持,责任编辑段颖付出了巨大努力,我们在此表示深深的谢意。由于编者的学术水平有限,编写吋间紧迫,本书在取材、编写中可能还存在些问题,敬请读者批评指止编著者2002年9月目录第1章实时数字信号处理与数字信号处理器……中中◆录ψ中申咖申◆中申ψ●咖申申中中●●申咖咖1.1实时数字信号处理111信号处理领域的巨大变革…1.1.2实时信号处理的概念113DSPs在实时数宁信号处理中的应用…12实时DSP系统的构成(2)121实时DSP系统的构成122DSP了系统唱●日看卓中1甲唱看●pdd●1●导qp即1卩导导即(2)123以通用DSPs为核心的实时DSP子系统(3)1.3DSPs芯片…(4)13.1DSPs芯片概述13.2DsPs芯片的特点(5)1.3,3性能!标…(714TMS320C6000系列DSPs(8)141TMS320C6000简介………142TMs320C6000的结构特点…9)14.3TMs320C6000的应用……………………(11)第2章TMs320c6000系列CPU结构与指令集…(12)2.1C6000系列CPU结构………(12)211中央处理器(CPU)结构(12212CPU数据通路与控制号甲甲甲甲即甲甲甲甲甲(13)22TMS320C62xxC64xxC67XX公共指令集(21)221TMS320C6000公共指令集概述222寻址方式及 Load store类指令……223算术运算类指令…………………(29)224逻辑及位域操作指令(33)225搬移MV、MOV)类指令…22.6程序转移类指令…(35)22.7资源对公共指令集的限制甲甲q号■■号P甲Pq■(36)23TMS320C67x浮点运算指令(38231IEEE标准的浮点数表示法…(39)23,2C67x的浮点运算控制寄存器(40)233C67x特有的运算指令…(43)2.3.4C67x指令的延迟间隙,资源对C67X指令的约束(44)2.4TMs320C64X扩展的定点运算指令………(424.1扩展的寻址方式及 Load/store类指令(47)24.2扩展的算术运算指令如血七(48)243扩展的逻辑及位域操作指令(53)244数据打包与解包类指令……(54)24护展的控制转移类指令(56)246资源对C64x指令的限制(57)25流水线■4■■■I(59)251TMs320C6000流水线概述…(59)252TMS320C6000指令的流水线操作…………………(64)253C600流水线运行的儿个问题…………(65)2.6中断…(72)2.61中断类型和中断信号72262中断服务表(ST)(73)26.3屮断控制寄存器………(772.64中断性能和编程考虑事项……………(79)第3章TMS320C6000的软件开发环境……………q血由q口■P■q■幽d■pdd…(84)3.1软件开发流程和开发工具导甲导早甲P中甲甲导甲甲卓,聊早争早自qq唱甲甲导P(84)31,1开发流程和开发工只…(84)31,2C6000程序基本结构313其他代码开发工具(110)3.2集成开发环境 Code composer studio…32lCCS概述………(110322CCS的设置……(111)323CCS项目的创建(112)324源程序的编辑(114)325CCS项目的构建( Build)(116)3.2.6程序调试的基本操作(117327多处理器调试…(121)328断点和探测点( Break points and probe points)32.9文件输入输出与探测点……………………(124)3210图形窗口1273211存储器映射( Memory Maps)…,212变量观察窗口( Watch window)(131)3.213代码剖析( Profile)(123214GEL语言(134)33实时操作系统DSP/BIOS(140)3.31实时操作系统基本概念……甲甲甲甲P日即司甲司甲聊甲P中■甲甲甲甲甲卓看甲命甲………(140)332DSP/BIOS概述…(141)I333程序牛成3.34监测( Instrumentation)…(152)33.5任务诮度……(163)33.6输入输出和管道(186)337其他 DSP/BIOS模块(191)3.38其他〔600实时操作系统(19234 eXpressdSP算法标准第4章TMS320c6000的软件编程及代码优化甲…(197)4.1概述……甲卓,甲国(197)4,2TMS320C6000C语言编程及优化…………(198)421TM320C6000C++编译器简介(198)422编写及编译C语言程序4,23优化C语言程序4.3线性汇编语言简介(216)431线性汇编语句的基本结构(216)432线性汇编中的伪指令(217)433汇编优化器选项…(219)44通过线性汇编优化汇编代码p鲁唱《●督pp即p■《p■b唱卩■■唱p兽鲁…………………(220)11.1写并行代码(220)4.4,2使用字访问短型数据和使用双字访问字(数据打包处理)904443软件流水(227)4.4.4多周期循环的模编排…(236)44.5循环传递路径………(24744.6循环中的Then-Else语句…(252)4.4.7循环展开………………(257)448生命太长问题 Live-Too-Long)(2634.49消除冗余取268)4.4.10避免存储体(Bank)访问冲突(275)44.11软件流水外环(285)4412同内环一起条件地执行外环4.5C64x编程的几点考虑(298)451C64x的打包数据处理…298)452C64x线性汇编的儿点考虑…………(310)第5章c6000系列DSPs的集成外设与硬件开发…………………(315)5.1综述…(315)52片内存储器…………………31521简介………(317)522C620xC670x“片内程序存储器………………………………………………(318)523C620xC670x的片内数据存储器…(321)24C621xC671xC64x的片内2级存储器…●p中加q自命■5.3外部存储器接口的设计……(337531概述………………………337532接口信号与控制寄存器(339)533同步接口设计……(347)534异步接口设计……(373)53.5PDT传输接口(377)536HOD接凵……………(379)537EM访问的仲裁…1导卩争卓d甲即卓b中q甲导●●卩卩q看●●。看即晋中聊4争。看甲导即聊卓…(379)54直接存储器访问(DMA)…………………………………………(380)541概述…380)542DMA的初始化和启动(381)543DMA的传输控制384)544单一通道的分裂操作……(388)54.资源仲裁和优先级设置…(389)546DMA通道的状态(389)5.5扩展的直接存储器访问(EDMA…(390)551概述…(390)552EDMA的控制机制…392)553EDMA的传输操作…3554优先级(407)555快速DMA(QDMA)………………(408)5.6多通道缓冲丰口( MCBSP)(4l1)56.1概述…………(411)562信号接口和控制寄存器……(412)563数据的收发416564μu律/A律硬件压扩425)565多通道传输接口(428)566SP协议的接口……(433)567通用IO口…………(4365.7主机口(HPI(436571概述436)572有关信号与控制寄存器437)573主机口的存取操作(440)57,4HPⅠ的加载操作443)58C6000的扩展总线(444581概述……………(444)58,2信号接口与控制寄存器……甲甲甲甲P日即司甲司甲聊甲P中■甲甲甲甲甲卓看甲命甲q■甲“甲导■由目q导罪甲(445)58.3扩展总线上的IO∏工作方式(447)584扩展总线的主机|1作方式……………450)585扩展总线的仲裁……45558.6通过扩展总线引导DSP芯片456)59PCI接口…p血■d●■4pdb自qp鲁自■l唱■■4看pp看血p曲着pplb命曲备q●■b由pdbd唱dp即血dd看4■pp44ppb(456)91概述(456)592接口的结构与控制寄存器…(458)593从模式数据传输463)594主模式数据传输…………(464)595中断与状态报告………………………(466)596PCI的复位和加载…………看bp中者dbd●p………(469)597 EEPROM接口469)598电源管理(C62xC67x)…(473)510 UTOPIA接口…(474)5.0【概述(475)5102接口信号与控制寄存器…(475)510.3从模式ATM控制器(478)5104 UTOPIA接冂的访问控制482)50.5 UTOPIA时钟和时钟检测………(483)510.6 UTOPIA接口的其他控制485.11芯片的设置聊甲看学(485)5111概述(485)5.1.2芯片的设置管脚…甲q早甲即(48651.3心片的设置选项…5114心片的引导过程…(496)512其他片内集成外设……1幽L曲自自d·啁自↓bb曲看dL幽b自鲁也曲自d自自↓bp自看白血(497)5121定时器(4975122中断控制500)5123 power-down逻辑…(505)5.12.4 GPTo(507)第6章C6000系列DSPs的应用开发即口■口■看■■■即看目■■鲁鲁即■■日■■I……………(5l)6.1概述(511)6.2C6000系列DSPs的板级设计…(511)621电源系统(511)6,22JAG控制…………(516)623调试( Debugging)考虑点(517)624BGA封装(519)62.5高速数字电路设计…(520)6.3DSK套件和EVM板(528)631DSK套件…(528)32EvM评估板64c6000DsP应用系统实例………(535)641祧频信号处理系统642双C6201的并行处理系统643基于PCI总线的双处理器视频信号处理系统(537)644基于 CompactPCI总线的多处理器〕行系统…(538)附录ATMs3200c6000的指令集及对应的cC++ Compiler Intrinsics…………(541)附录B与存储器操作有关的 intrinsics及对应的汇编指令(552)参考文献…………………甲甲省444_p441甲L■■唱■甲罪■。导鲁(553)