基于TMS320C6200系列DSP芯片的应用与开发
分類: 图书,计算机/网络,硬件 外部设备 维修,
作者: 赵训威 编著
出 版 社: 人民邮电出版社
出版时间: 2002-5-1字数:版次: 第1版第1次页数: 364印刷时间: 2002/05/01开本:印次:纸张: 胶版纸I S B N : 9787115102799包装: 平装内容简介
本书详细地介绍了TMS320C6200系列数字信号处理器(DSP)的硬件结构和指令系统,重点阐述了在DSP的硬件设计和在软件编程方面的开发应用。本书共包括7章和1个附录,第1~3章主要介绍了TMS320C6200系列DSP的硬件结构、软件结构、汇编指令以及流水线,介绍了各种TMS320C6200系列DSP开发工具和开发过程;第4、5章全面介绍了TMS320C6200系列DSP的硬件开发、软件开发和优化方法;第6章介绍了DSP/BIOS实时库的功能和使用;第7章结合实际应用介绍了各种优化方法在不同算法中的实际应用;附录介绍了TMS320C6200系列DSP的伪指令用法。
本书内容新颖,实用性强,书中包括大量的源程序和应用举例,使读者在了解TMS320C6200系列DSP的原理和结构的基础上,能较快地掌握基于TMS320C6200系列DSP的系统设计和软硬件开发方法。本书适合各领域内从事信号处理的科研和工程技术人员阅读,也可以供信息与信号处理、通信电子等专业的教师、研究生以及高年级本科生参考。
目录
第1章 综述1
1.1 DSP技术的发展历程1
1.2 数字信号处理器(DSP)与通用微处理器(MPU)2
1.2.1 总线结构不同2
1.2.2 流水线3
1.2.3 寻址方式4
1.2.4 特殊的硬件结构4
1.2.5 支持多处理器结构4
1.3 DSP的选型和设计方案确定5
1.4 DSP技术的发展方向9
1.4.1 微处理器(MPU)和数字信号处理器(DSP)混合9
1.4.2 DSP+RTOS9
1.4.3 支持高级编程语言的DSP开发软件10
1.4.4 并行处理结构11
1.4.5 功耗越来越低11
第2章 TMS320C6200处理器和指令系统13
2.1 概述13
2.2 VLIW 和 VelociTI13
2.3 CPU结构14
2.4 TMS320C6200数字信号处理器指令集20
2.5 流水线49
2.5.1 概述49
2.5.2 取指50
2.5.3 解码51
2.5.4 执行52
2.5.5 不同指令的执行流水53
2.5.6 影响流水线效率的因素56
第3章 TMS320C6200开发工具和开发过程62
3.1 TMS320C6200开发流程62
3.2 代码生成工具63
3.2.1 工具描述63
3.2.2 代码优化器63
3.3 TMS320C6201 EVM 板65
3.4 Coder Composer Studio的实时调测67
3.5 使用CCS开发TMS320C6200应用举例69
第4章 TMS320C6200系列DSP的硬件开发75
4.1 综述75
4.2 片内存储器76
4.2.1 简介76
4.2.2 片内程序区76
4.2.3 片内数据区79
4.2.4 C6211的两级内存储器83
4.3 外部存储器接口的设计与应用88
4.3.1 概述88
4.3.2 EMIF 控制寄存器90
4.3.3 异步接口设计92
4.3.4 FIFO接口102
4.3.5 SBSRAM接口设计112
4.3.6 SDRAM/SGRAM接口116
4.3.7 Hold接口128
4.3.8 存储器申请的仲裁129
4.3.9 C6200 EMIF配置操作举例130
4.4 DMA控制器133
4.4.1 概述133
4.4.2 DMA的初始化和启动134
4.4.3 传输控制:同步与地址产生139
4.4.4 单一通道的分裂操作146
4.4.5 资源仲裁和优先级设置147
4.4.6 DMA通道的状态148
4.4.7 DMA的性能、外管脚和调试控制149
4.5 主机口(HPI)149
4.5.1 概述149
4.5.2 有关信号与控制寄存器151
4.5.3 主机口的存取操作154
4.5.4 HPI的自加载操作157
4.6 TMS320C6200的引导157
第5章 TMS320C6200系列DSP 的软件优化编程159
5.1 概述159
5.2 优化C/C++代码160
5.2.1 C/C++代码的编写160
5.2.2 编译C/C++代码161
5.2.3 优化C代码163
5.3 通过线性汇编优化汇编代码167
5.3.1 写并行代码167
5.3.2 使用字访问short型数据170
5.3.3 软件流水173
5.3.4 多循环周期的模安排182
5.3.5 循环传递路径194
5.3.6 循环中的If-Then-Else语句199
5.3.7 循环展开202
5.3.8 生命太长问题206
5.3.9 消除冗余取212
5.3.10 存储体217
5.3.11 外环软件流水226
5.3.12 与内环一起有条件地执行外环229
5.4 C语言和汇编的混合编程239
5.4.1 寄存器使用规则239
5.4.2 函数结构及调用规则240
5.4.3 在C/C++程序中插入汇编语言242
第6章 DSP/BIOS功能与使用246
6.1 DSP/BIOS的功能和组成246
6.1.1 什么是DSP/BIOS246
6.1.2 DSP/BIOS的组件246
6.1.3 DSP/BIOS的特点和优点248
6.1.4 DSP/BIOS中一些重要的命名规则249
6.2 利用DSP/BIOS生成程序250
6.2.1 开发步骤250
6.2.2 使用DSP/BIOS配置工具(DSP/BIOS configuration tool)251
6.2.3 创建DSP/BIOS程序所用的文件251
6.2.4 程序的编译252
6.2.5 DSP/BIOS程序的启动顺序256
6.3 线程调度257
6.3.1 线程的概念和类型257
6.3.2 硬件中断258
6.3.3 软件中断261
6.3.4 任务(Task)269
6.3.5 等待循环272
6.3.6 旗语(Semaphores)272
6.3.7 信箱276
6.3.8 定时器和时钟279
6.3.9 周期函数管理器(PRD)和系统时钟280
6.3.10 使用运行图来观察程序的运行281
6.4 内存和底层函数282
6.4.1 存储器管理283
6.4.2 系统服务286
6.4.3 队列(QUE)286
6.5 输入/输出290
6.5.1 I/O综述290
6.5.2 数据管道管理器(PIP模块)291
6.5.3 主机通道管理器(HST模块)293
6.5.4 管道和流的比较294
6.5.5 一个使用 DSP/BIOS的音频例子295
第7章 TMS320C6200系列DSP的应用开发举例297
7.1 WCDMA RAKE接收机在TMS320C6200DSP器件上的实现297
7.1.1 CDMA原理297
7.1.2 基本系统299
7.1.3 RAKE接收机的实现304
7.1.4 载入TMS320C6200 DSP器件310
7.1.5 结论311
7.2 WCDMA Turbo译码器在TMS320C6200DSP器件上的实现311
7.2.1 Turbo 编码器、译码器结构及译码算法311
7.2.2 MAP译码器的实现314
7.3 多通道声码器在TMS320C6200DSP器件上的实现332
7.3.1 G.723.1语音编码算法332
7.3.2 多通道声码器的设计334
7.3.3 G.723.1多通道声码器的实现339
附录 伪指令354