第1章 实时数字信号处理与DSP芯片 1
1.1 实时数字信号处理 1
1.1.1 实时数字信号处理概述 1
1.1.2 实时数字信号处理的系统构成 2
1.1.3 高速实时系统的设计 4
1.2 DSP的发展历史 6
1.2.1 DSP芯片概述 6
1.2.2 DSP芯片的发展 8
1.2.3 DSP技术应用的发展 9
1.2.4 DSP的系统构成及特点 10
1.3 TI公司的DSP简介 13
1.3.1 TMS320C1000系列 13
1.3.2 TMS320C2000系列 14
1.3.3 TMS320C3000系列 16
1.3.4 TMS320C4000系列 18
1.3.5 TMS320C5000系列 21
1.3.6 TMS320C6000系列 23
1.3.7 TMS320C8000系列 26
1.4 DSP的开发环境和工具 27
第2章 DSP算法 31
2.1 算法的概述 31
2.1.1 通用算法的结构 32
2.1.2 通用算法的特征 34
2.1.3 通用算法的标准 34
2.1.4 算法标准的分级 38
2.1.5 常见算法的分类 39
2.2 算法工具箱 40
2.3 算法的可视化与开发 43
2.4 通用算法 47
2.4.1 逻辑运算 48
2.4.2 算术运算 48
2.4.3 浮点运算 51
2.5 eXpress DSPTM算法标准 53
2.5.1 eXpressDSP算法标准在静态DSP系统中的使用 54
2.5.2 eXpressDSP算法标准在动态DSP系统中的使用 64
第3章 TMS320C6713的硬件结构 74
3.1 TMS320C6713芯片的引脚分布和功能 75
3.2 TMS320C6713芯片的内核 88
3.2.1 TMS320C6713芯片的结构和CPU 88
3.2.2 TMS320C6713的CPU数据通路与控制 91
3.3 片内程序和数据存储器 102
3.4 中断 103
3.4.1 中断类型和中断信号 103
3.4.2 中断服务表(IST) 106
3.4.3 中断和中断选择 108
3.4.4 中断选择寄存器 110
3.4.5 中断控制 114
3.4.6 中断性能和编程注意事项 117
3.5 存储器映射 121
3.6 流水线 124
3.6.1 流水线操作概述 125
3.6.2 不同指令类型的流水操作 131
3.6.3 流水线性能考虑事项 136
3.7 时钟发生器,振荡器和PLL 141
第4章 CCS6000环境详解 145
4.1 CCS集成开发环境概述 145
4.2 代码生成工具 147
4.3 CCS应用窗口、菜单与工具栏 149
4.3.1 CCS应用窗口 149
4.3.2 CCS菜单 149
4.3.3 CCS工具栏 153
4.4 CCS的安装与配置 154
4.4.1 CCS系统的安装 154
4.4.2 CCS系统的配置 154
4.5 CCS集成开发环境 155
4.5.1 编辑源程序 155
4.5.2 创建应用程序 156
4.5.3 调试应用程序 156
4.6 CCS的使用 157
4.6.1 创建工程文件 157
4.6.2 打开工程文件 158
4.6.3 向工程添加文件 162
4.6.4 查阅代码 162
4.6.5 创建和运行程序 164
4.6.6 修改程序选项和纠正语法错误 165
4.6.7 使用断点和观察窗口 166
4.6.8 使用观察窗口观察structure变量 167
4.6.9 测算源代码执行时间 167
4.6.10 文件输入/输出 168
4.7 DSP/BIOS实时操作系统 169
4.7.1 DSP/BIOS插件 170
4.7.2 DSP/BIOS配置 171
4.7.3 DSP/BIOS API模块 171
4.7.4 实时数据交换 172
4.7.5 开发DSP/BIOS程序 174
4.8 CCS文件和环境变量 177
4.8.1 CCS文件夹的安装 177
4.8.2 CCS文件扩展名 178
4.8.3 环境变量 179
第5章 TMS320C6713指令系统 180
5.1 TM320C6000系列指令系统概述 180
5.1.1 指令和功能单元的映射 180
5.1.2 操作码映射 183
5.1.3 延迟间隙 184
5.1.4 资源限制 185
5.1.5 条件操作 189
5.1.6 并行操作 189
5.1.7 IEEE单精度和双精度 191
5.2 寻址方式 194
5.2.1 循环寻址 194
5.2.2 间接寻址 196
5.2.3 线性寻址 196
5.3 指令集 196
5.3.1 指令类型 197
5.3.2 汇编器指令 198
5.3.3 指令集表 199
第6章 TMS320C6000软件开发过程 203
6.1 开发流程概述 203
6.2 C语言程序设计概述 203
6.2.1 C代码的分析 205
6.2.2 C代码的编译 206
6.2.3 C代码的优化 209
6.3 汇编代码结构 217
6.3.1 汇编代码结构 217
6.3.2 线性汇编 220
6.3.3 通过线性汇编优化汇编代码 220
第7章 TMS320C6713的外设 264
7.1 EDMA模块和EDMA选择器 264
7.1.1 基本概念 266
7.1.2 传输 266
7.1.3 EDMA的控制机制 269
7.1.4 EDMA的传输操作 274
7.1.5 快速DMA(QDMA) 281
7.1.6 EDMA的控制实例 283
7.2 主机口 288
7.2.1 概述 288
7.2.2 信号与控制寄存器 289
7.2.3 HPI的存取操作 292
7.2.4 HPI的自载入操作 295
7.2.5 接口应用实例 296
7.3 多功能缓冲串口McBSP 300
7.3.1 信号接口和控制寄存器 301
7.3.2 数据收发 305
7.3.3 μ律/A律硬件压扩 312
7.3.4 多通道的选择操作 313
7.4 通用定时器 318
7.4.1 接口信号 318
7.4.2 定时器的工作模式控制 319
7.4.3 注意事项 320
7.5 外存储器接口EMIF 321
7.5.1 概述 321
7.5.2 EMIF控制寄存器 321
7.5.3 SBSRAM接口设计 322
7.5.4 EMIF寄存器 324
7.5.5 SDRAM/SGRAM接口 328
7.5.6 时序设计 335
7.5.7 异步接口 336
7.5.8 FIFO接口 340
7.6 JTAG接口 347
第8章 C6713系统设计实例 350
8.1 最小DSP应用系统 350
8.1.1 电源与复位电路 350
8.1.2 时钟模块 352
8.1.3 外部存储器(Flash) 353
8.1.4 JTAG接口 354
8.2 基于C6713的DSP系统外设举例 355
8.2.1 I2C模块配置与应用 355
8.2.2 A/D与D/A 358
8.3 TMS320C6713的Flash引导装载系统设计 362
8.3.1 引导装载(BOOT) 362
8.3.2 软件设计 370
8.4 FFT算法的DSP实现 373
8.5 基于DSP的最小图像采集系统设计 378
8.6 基于DSP的采集系统设计 383
8.7 基于DSP的语音编码的实时实现 386
8.8 信号处理板卡中双向端口的设计 397
参考文献 403