
掌握TMS320C6201/6701 DSPs 是了解当代众多DSPs的方法之一。DSPs是Digital Signal Processors的缩写,指专用于数字信号处理的可编程微处理器。本书从工程设计的角度讲述了DSPs的基本结构、构成核心系统的各技术细节和实时硬件调试仿真技术。
本书深入浅出,内容丰富,数据准确,电路结构切实可行。本书既可以作为学生教材,也可供工程技术人员参考。
TMS320C6201和TMS320C6701是Texas Instruments 公司TMS320C6000平台中两款重要的DSPs芯片。TMS320C6201是定点DSPs,TMS320C6701是浮点DSPs。’C6000 平台首次采用了VelociTiTM结构。这是一种高性能和先进VLIW指令集的DSPs结构,使得’C6000平台成为当前多处理通道、多功能和高数据处理速度DSPs的典范。
由于DSPs器件的特点,各种DSPs器件间的兼容性很差。不仅不同公司的DSPs器件互相不兼容,而且同一公司的DSPs器件间也有很大的差异。这些差异表现在器件内部结构以及在片外部设备、引脚定义、封装和程序代码之间。’C6000 的DSPs系列已经有了近10年的发展历史,包含了约21种不同型号的DSPs。它们可以分为5部分,即基本定点型、基本浮点型、高附加值型、专用型和高性能型。每一部分的代表型号分别是 ’C6201、’C6701、’C6411/6412、’DM640/641/642、’C6414T/6515T/6416T。’C6201和’C6701是该系列的基本型号,其他的高性能芯片均是这两款DSPs的扩展和增强,并且这些器件间的程序代码是互相兼容的,即’C6201和’C6701编写的代码可直接通过CCS编译器移植到其他型号的DSPs上。’C6201和’C6701分别代表了TI 公司’C6000平台的基本定点型和浮点型。这两种型号间还含有其他的多款器件,如’C6211、’C6212、’C6213和’C6711、’C6712、’C6713等。这些对应的器件间不仅代码兼容,而且在片外部设备,引脚与封装都是相同的,可以用基本浮点型直接替换基本定点型的对应芯片。所以,掌握’C6201/6701器件是了解DSPs的关键所在。
’C6201/6701不愧为’C6000家族的基本代表器件。它的CPU结构和VLIW指令集不仅是’C6000平台的基础,并且外围设备编程和定义的方法也是其他各增强器件的榜样。构造采用以DSPs为核心的用户系统时,首要的硬件设计任务是为DSPs设计外部存储器,其性能直接影响DSPs系统的数据处理效率。’C6201/6701与外部存储器的接口也是同系列DSPs接口的典范和模板。可以说,掌握了该种DSPs的设计方法也就深入了解了其他DSPs的接口要点和所涉及的关键器件。
全书分为3部分共13章。第1部分为DSPs概论和’C6201/6701的基本结构。从横向与纵向、历史与现代两方面介绍了DSPs的概貌,突出了’C6201/6701在业界的核心位置。针对’C6201/6701芯片详细讲述了其CPU结构、在片外围设备、存储器接口(EMIF)和主机接口(HPI)的概念。
第2部分是DSPs核心系统的硬件设计。该部分以常用的多种存储器,如程序存储器FlashROM、突发式静态RAM、动态RAM、深度FIFO为实例,全面而详细地讲述了构成’C6201/6701核心系统的各技术要点,包括接口逻辑、典型电路、读写时序、编程方法、操作电源、封装与功耗等各方面的工程技术。这部分还详细讲述了构成’C6201/6701 DSPs系统时的复位电路、时钟电路、电源与去耦、调试仿真接口,DSPs的BGA封装与目标系统PCB的设计原理和具体电路。
第3部分是DSPs核心系统的调试和仿真技术。这部分通过定浮点运算、FFT、IIR、FIR的简洁通用算法与仿真,讲述了如何利用CCS的断点、观察窗等基本调试技术及使用DSP/BIOS、LOG、STS模块对DSPs系统的故障排除和硬件调试技术。
附录中给出了’C6201/6701的定、浮点指令集,本书中经过验证的可执行程序代码、部分主要的与DSPs相关的字典,以及核心系统电路结构设计索引。
为本书的编写提供大量基础实验工作的有李莹、陈凯、孙峰杰、罗珍茜、沈冰清等人。上海大学美国德州仪器数字信号处理实验室(Texas InstrumentsShanghai University DSPs Laboratory)、合众达国际(上海)有限公司的工程师也为本书的编写提供了许多有益的帮助。
虽然本书经过了认真核对,但由于作者水平有限,书中难免还有不足与疏漏之处,欢迎来信指正。若需要更多的技术资料,请联系作者电子邮箱16301098@163.com。
作者〖〗2007年4月于上海大学
第一部分DSPs概论与TMS320C6201/6701基本结构
第1章实时数字信号处理与DSPs芯片
1.1实时数字信号处理
1.1.1实时数字信号处理对DSPs的要求
1.1.2DSPs处理器与模拟信号处理电路的比较
1.1.3DSPs处理器与通用处理器的比较
1.2DSPs的发展历史
1.2.1初期的DSP 结构和第一代DSPs 产品
1.2.2第二代增强的DSPs
1.2.3第三代DSPs的创新设计
1.2.4当今DSP技术的新特点和应用领域
1.3Texas Instruments公司的DSPs
1.4TI DSPs的开发环境和工具
1.4.1Texas Instrument公司的CCS开发工具
1.4.2MATLAB DSP模块对TI DSPs的支持
1.4.3LabView DSP模块对TI DSPs的支持
第2章TMS320C6201/6701的基本结构与指令集
2.1中央处理单元
2.1.1中央处理单元基本结构
2.1.2数据通路
2.1.3控制寄存器组
2.1.4TMS320C6701扩充控制寄存器组
2.2片内程序和数据存储器
2.2.1片内程序和数据存储器的基本结构
2.2.2程序存储器控制器
2.2.3片内程序存储器
2.2.4由DMA控制器对片内程序存储器的寻访
2.2.5数据存储器控制器
2.2.6片内数据存储器
2.2.7DMA控制器寻访片内程序存储器
2.3片外存储器接口
2.3.1片外存储器接口的基本结构
2.3.2片外存储器接口的接口信号
2.3.3片外存储器接口寄存器
2.3.4SDRAM接口
2.3.5SBSRAM接口
2.3.6异步存储器接口
2.4直接存储器访问控制器
2.4.1直接存储器访问控制器的基本结构
2.4.2直接存储器访问技术术语与功能特点
2.4.3直接存储器访问寄存器
2.4.4直接存储器访问数据块传输
2.4.5直接存储器访问特殊操作方式
2.5流水线
2.5.1TMS320C6201/6701流水线的基本结构
2.5.2流水线对应不同指令形式的执行模式
2.5.3流水线运行注意事项
2.6多通道缓冲串口
2.6.1TMS320C6201/6701多通道缓冲串口的技术特性
2.6.2多通道缓冲串口的接口信号
2.6.3多通道缓冲串口的寄存器
2.6.4数据的发送与接收
2.6.5多通道选择操作
2.7通用定时器
2.7.1TMS320C6201/6701通用定时器基本技术特性
2.7.2通用定时器的运行
2.8中断选择器
2.8.1TMS320C6201/6701中断选择器的基本特性
2.8.2中断服务表
2.8.3中断设置流程
2.8.4中断嵌套
2.8.5陷阱
2.9芯片模式、时钟与电源配置
2.9.1TMS320C6201/6701芯片模式配置概述
2.9.2TMS320C6201/6701复位
2.9.3芯片模式配置
2.9.4输入时钟模式配置
2.9.5端格式配置
2.9.6PowerDown模式配置
2.9.7JTAG接口
2.10指令集
2.10.1TMS320C62x和TMS320C67x指令集概述
2.10.2指令集的格式与规则
2.10.3指令集
第3章DSPs主机端口的原理及应用
3.1概述
3.2HPI的信号描述
3.3HPI寄存器
3.4HPI的总线操作
3.4.1锁存控制信号
3.4.2HPID寄存器读操作
3.4.3HPID寄存器写操作
3.4.4HPIC或HPIA寄存器访问
3.5HPI的存取操作
3.5.1不带地址自增益的读操作
3.5.2带地址自增益的读操作
3.5.3HPI的写操作
3.6HPI的自举加载操作
3.7HPI应用实例
第二部分DSPs核心系统硬件设计
第4章SDRAM在核心系统中与DSP EMIF的接口和地址分配
4.1TMS320C6201/6701 EMIF与SDRAM 接口的设计原理
4.1.1TMS320C6201/6701兼容的SDRAM类型
4.1.2TMS320C6201/6701 EMIF与SDRAM接口特点
4.1.3TMS320C6201/6701 EMIF与SDRAM接口信号
4.2SDRAM(MT48LC4M16A2)的工作原理、主要参数和时序
4.2.1SDRAM器件MT48LC4M16A2简介
4.2.2MT48LC4M16A2的操作
4.2.3SDRAM接口时序
4.3EMIF与SDRAM(MT48LC4M16A2)的接口逻辑
4.3.1TMS320C6201/6701与MT48LC4M16A2的硬件接口
4.3.2TMS320C6201/6701与MT48LC4M16A2接口的寄存器配置
4.3.3EMIF与MT48LC4M16A2接口的初始化程序
4.4SDRAM 在DSP核心系统中的地址分配
4.5SDRAM的操作电源、功耗和封装
第5章SBSRAM在核心系统中与DSP EMIF的接口和地址分配
5.1TMS320C6201/6701 EMIF与SBSRAM 接口的设计原理
5.1.1TMS320C6201/6701 EMIF与SBSRAM接口特点
5.1.2TMS320C6201/6701 EMIF与SBSRAM接口信号
5.2SBSRAM(MT58L256L32P)的工作原理、主要参数和时序
5.2.1SBSRAM器件MT58L256L32P简介
5.2.2SBSRAM(MT58L256L32P)的操作
5.2.3SBSRAM接口时序
5.3EMIF与SBSRAM(MT58L256L32P)的接口逻辑
5.3.1TMS320C6201/6701与MT58L256L32P的硬件接口
5.3.2TMS320C6201/6701与MT58L256L32P接口的寄存器配置
5.3.3与MT58L256L32P接口的EMIF初始化程序
5.4SBSRAM 在DSP核心系统中的地址分配
5.5MT58L256L32P的操作电源、功耗和封装
第6章FlashROM在核心系统中与DSP EMIF的接口和地址分配
6.1TMS320C6201/6701 EMIF与FlashROM接口的设计原理
6.1.1TMS320C6201/6701 EMIF的异步接口信号
6.1.2TMS320C6201/6701 EMIF的ROM模式
6.2FlashROM (AM29LV160DB)的工作原理、主要参数和时序
6.2.1FlashROM器件AM29LV160DB简介
6.2.2AM29LV160DB功能和通用命令
6.3EMIF与Flash(AM29LV160DB)的接口逻辑
6.3.1TMS320C6201/6701与AM29LV160DB的硬件接口
6.3.2TMS320C6201/6701与AM29LV160DB接口的寄存器配置
6.3.3TMS320C6201/6701与AM29LV160DB接口的软件控制
6.3.4相关程序
6.4Flash在DSP核心系统中的地址分配
6.5Flash的操作电源、功耗和封装
第7章FIFO在核心系统中与DSP EMIF的接口和地址分配
7.1TMS320C6201/6701 EMIF与FIFO接口的设计原理
7.2FIFO(CY7C424510ASC)的工作原理、主要参数和时序
7.2.1FIFO类型器件CY7C424510ASC简介
7.2.2CY7C424510ASC的操作
7.3EMIF与FIFO(CY7C424510ASC)的接口逻辑
7.3.1TMS320C6201/6701与CY7C424510ASC的硬件接口
7.3.2TMS320C6201/6701与CY7C424510ASC接口的寄存器配置
7.4FIFO在DSP核心系统中的地址分配
7.5FIFO的操作电源、功耗和封装
第8章DSP核心系统和其他技术
8.1Reset 电路
8.1.1Reset 电路的功能
8.1.2复位电路的分析
8.1.3复位时间的确定
8.2时钟电路
8.2.1PLL倍频模式
8.2.2时钟电路图
8.3电源系统设计
8.3.1加电次序设计
8.3.2供电系统设计
8.4BGA封装与焊接
8.5TMS320C6201/6701 PCB布局及电源去耦合电容
8.6TMS320C6201/6701的散热
8.7JTAG 调试技术和接口设计
第三部分DSP软件调试技术
第9章利用CCS开发DSP程序
9.1开发程序前的准备
9.1.1安装TMS320C6201/6701的硬件仿真设备
9.1.2新建一个工程文件
9.1.3向工程中添加各类文件
9.2用CCS的基本工具开发DSP程序
9.2.1使用基本调试工具
9.2.2修改编译选项及更改语法错误
9.2.3使用断点和观察窗口
9.2.4使用文件输入输出探针
9.2.5使用图形工具显示图形
第10章利用TMS320C6201/6701核心系统的定浮点运算程序的
设计与分析10.1DSP的定、浮点表示方式
10.1.1定点表示方式
10.1.2IEEE标准的浮点数表示方式
10.2定点小数乘法程序的设计与分析
10.2.1定点小数乘法程序的设计
10.2.2程序的运行分析(存储器、寄存器、单步运行方式)
10.364位整数加减法程序的设计与分析
10.3.164位整数加减法程序的设计
10.3.2程序的运行分析
10.4浮点运算程序的设计与分析
10.4.1浮点乘除法运算程序的设计
10.4.2程序的运行分析
第11章利用TMS320C6201/6701核心系统的FFT运算程序的
设计与分析11.1FFT运算的原理
11.2FFT运算程序的设计
11.2.1主程序
11.2.2倒序子程序
11.2.3FFT算法子程序
11.3程序的运行分析
11.3.1设置断点
11.3.2添加Watch Window观察变量
11.3.3单步运行程序
11.3.4添加View Graph比较输入输出波形
第12章IIR和FIR数字滤波器程序的设计与仿真
12.1数字滤波器的表示方法
12.2IIR数字滤波器DSP程序的设计
12.3用CCS对IIR数字滤波器程序进行仿真
12.4FIR数字滤波器程序的设计
12.5用CCS对FIR数字滤波器程序进行仿真
第13章基于DSP/BIOS测试FIR数字滤波器程序
13.1DSP/BIOS功能及其组件
13.1.1DSP/BIOS实时库和API
13.1.2DSP/BIOS的配置工具
13.1.3DSP/BIOS插件——实时分析工具
13.2DSP/BIOS测试模块——LOG
13.3DSP/BIOS测试模块——STS
13.4用DSP/BIOS模块测试FIR数字滤波器程序
13.4.1创建关于FIR数字滤波器程序的DSP/BIOS工程文件
13.4.2为FIR数字滤波器程序添加DSP/BIOS模块函数
13.4.3为FIR数字滤波器程序添加DSP/BIOS模块对象
13.4.4用统计观察窗观察FIR数字滤波器程序的统计数据
13.4.5用Message Log显示FIR数字滤波器程序的统计信息
附录
附录A指令表
A1TMS320C62x/C67x 定点指令集表
A2TMS320C67x浮点指令集表
附录B程序代码
B1部分用于熟悉CCS基本操作的程序
B2FFT主程序及其子程序
B3IIR数字滤波器程序及其相关程序
B4FIR数字滤波器程序及其相关程序
B5基于DSP/BIOS的数字滤波器构造程序
附录CDSPs Main Words Dictionary
附录DTMS320C6201/6701核心系统电路结构内容索引
参考文献