第1章 概述 1
1.1 引言 1
1.2 DSP系统 2
1.2.1 DSP系统构成 2
1.2.2 DSP系统的特点 2
1.2.3 DSP系统的设计过程 3
1.3 可编程DSP芯片 4
1.3.1 什么是DSP芯片 4
1.3.2 DSP芯片的发展 5
1.3.3 DSP芯片的分类 6
1.3.4 DSP芯片的选择 7
1.3.5 DSP芯片的应用 9
第2章 DSP芯片的基本结构和特征 11
2.1 引言 11
2.2 DSP芯片的基本结构 11
2.2.1 哈佛结构 11
2.2.2 流水线 11
2.2.3 专用的硬件乘法器 12
2.2.4 特殊的DSP指令 12
2.2.5 快速的指令周期 13
2.3 TI定点DSP芯片 13
2.3.1 TMS320C1X 13
2.3.2 TMS320C2X 15
2.3.3 TMS320C5X 18
2.3.4 TMS320C2XX 21
2.3.5 TMS320C54X 21
2.3.6 TMS320C62X 22
2.4 TI浮点DSP芯片 23
2.4.1 TMS320C3X 23
2.4.2 TMS320C4X 26
2.4.3 TMS320C67X 30
2.5 多处理器DSP芯片TMS320C8X 31
2.6 其他DSP芯片简介 33
2.6.1 AD公司DSP芯片 33
2.6.2 AT&T公司DSP芯片 34
2.6.3 Motorola公司DSP芯片 35
2.7 小结 36
第3章 DSP芯片的定点运算 37
3.1 数的定标 37
3.2 高级语言:从浮点到定点 38
3.2.1 加法/减法运算的C语言定点模拟 38
3.2.2 乘法运算的C语言定点模拟 40
3.2.3 除法运算的C语言定点模拟 41
3.2.4 程序变量的Q值确定 41
3.2.5 浮点至定点变换的C程序举例 42
3.3 DSP定点算术运算 44
3.3.1 定点乘法 44
3.3.2 定点加法 46
3.3.3 定点除法 46
3.4 非线性运算的定点快速实现 48
3.5 小结 52
第4章 DSP芯片的浮点运算 53
4.1 引言 53
4.2 浮点数的格式 53
4.2.1 IEEE浮点数格式 53
4.2.2 TMS320C3X浮点数格式 54
4.2.3 IEEE浮点格式与TMS320浮点格式的转换 55
4.3 基本的浮点运算 57
4.3.1 浮点乘法和加减法 57
4.3.2 浮点除法 57
4.4 非线性浮点运算的快速实现 59
4.5 小结 61
第5章 DSP算法的MATLAB模拟 62
5.1 引言 62
5.2 MATLAB语言的基本操作 62
5.2.1 MATLAB的安装与基本设置 63
5.2.2 MATLAB的基本操作 64
5.2.3 MATLAB的基本运算 67
5.2.4 MATLAB的基本命令 70
5.2.5 MATLAB的绘图功能 70
5.3 MATLAB的函数设计 77
5.3.1 MATLAB的允许文件类型 77
5.3.2 MATLAB的输入/输出语句 77
5.3.3 MATLAB的控制语句 79
5.3.4 MATLAB的函数建立 80
5.3.5 MATLAB的帮助 82
5.4 MATLAB的DSP设计模拟 82
5.4.1 DTMF 82
5.4.2 Goertzel算法 83
5.4.3 DTMF信号产生与检测算法的实现 84
5.5 MATLAB中DSP类函数 88
5.6 小结 92
第6章 TMS320C2X/C5X定点DSP的软硬件设计 93
6.1 引言 93
6.2 TMS320C2X硬件设计 93
6.2.1 复位和时钟电路 93
6.2.2 等待状态发生器 94
6.2.3 存储器接口 96
6.2.4 模数接口电路 98
6.2.5 通信接口电路设计举例 99
6.3 主从式系统的硬件设计 102
6.3.1 并行通信实现双机通信 103
6.3.2 DMA实现双机通信 104
6.4 TMS320C50的BOOT设计 106
6.5 TMS320C2X/C5X的软件应用 108
6.5.1 TMS320C2X软件编程技巧 108
6.5.2 提高TMS320C5X软件效率 109
6.5.3 软件应用 112
6.6 小结 116
第7章 TMS32DC54X定点DSP的软硬件设计 117
7.1 引言 117
7.2 TMS320C54X的硬件设计 117
7.2.1 TMS320C54X芯片的电源设计 117
7.2.2 3.3V和5V混合逻辑系统设计 119
7.2.3 DSP的内部存储器及外部存储器接口 122
7.2.4 DSP与Flash存储器的设计 125
7.3 TMS320C54X的软件设计 130
7.3.1 编程需注意的问题 130
7.3.2 软件编程技巧 131
7.4 TMS320C54X的BOOT设计 133
7.5 小结 135
第8章 TMS320浮点DSP芯片的软硬件设计 136
8.1 引言 136
8.2 TMS320C3X的硬件设计 136
8.2.1 存储器接口设计 136
8.2.2 中断电路的设计 140
8.2.3 模数转换接口电路 140
8.3 TMS320C3X 主从式系统硬件设计 150
8.4 TMS320C31程序引导功能的实现 152
8.5 TMS320C3X的软件应用 155
8.5.1 编程技巧 155
8.5.2 TMS320C3X软件应用 157
8.6 小结 159
第9章 COFF——公共目标文件格式 160
9.1 引言 160
9.2 COFF目标文件格式 160
9.2.1 块(section) 160
9.2.2 汇编器对块的处理 161
9.2.3 链接器对块的处理 162
9.2.4 程序重定位 164
9.2.5 COFF文件中的符号 165
9.3 COFF格式编程举例 165
9.4 小结 166
第10章 DSP芯片的开发工具及应用 167
10.1 引言 167
10.2 代码生成工具 167
10.2.1 代码生成工具程序 167
10.2.2 宏汇编器和链接器 169
10.2.3 C编译器 170
10.2.4 文档管理器和库生成器 171
10.2.5 代码格式转换器 172
10.2.6 编译汇编链接应用举例 173
10.3 代码调试工具 174
10.3.1 C/汇编源码调试器 175
10.3.2 初学者工具DSK 179
10.3.3 软件模拟器 180
10.3.4 评价模块(EVM) 182
10.3.5 软件开发系统(SWDS) 183
10.3.6 仿真器(XDS) 183
10.4 小结 184
第11章 用C语言开发DSP芯片 185
11.1 引言 185
11.2 优化ANSI C编译器 185
11.3.TMS320C3X/C4X的C语言开发 190
11.3.1 存储器模式 190
11.3.2 寄存器规则 192
11.3.3 函数结构与调用规则 194
11.3.4 中断处理 197
11.3.5 系统初始化 198
11.3.6 TMS320C3X C程序开发举例 200
11.4 TMS320C2X/C5X/C54X的C语言开发 203
11.4.1 存储器模式 203
11.4.2 寄存器规则 204
11.4.3 函数调用规则 206
11.4.4 中断函数 207
11.4.5 表达式分析 208
11.4.6 TMS320C2X/C5X C语言程序开发举例 209
11.5 小结 211
第12章 DSP芯片的C和汇编语言混合编程 212
12.1 引言 212
12.2 C和汇编语言的混合编程方法 212
12.2.1 独立的C和汇编模块接口 212
12.2.2 从C程序中访问汇编程序变量 214
12.2.3 在汇编程序中访问C程序变量 215
12.2.4 在C程序中直接嵌入汇编语句 217
12.2.5 修改编译器的输出 218
12.3 TMS320C3X/CAX混合编程举例 219
12.4 TMS320C2X/C5X混合编程举例 220
12.5 小结 221
第13章 DSP芯片应用开发举例 222
13.1 引言 222
13.2 一个基于TMS320C25 DSP应用系统的开发 222
13.2.1 系统简介 222
13.2.2 系统硬件设计 223
13.2.3 系统软件设计 226
13.2.4 硬件调试 227
13.2.5 软件调试 230
13.2.6 独立系统实现 231
13.3 一个基于TMS320C31 DSP系统的开发 233
13.3.1 系统简介 233
13.3.2 系统构成 233
13.3.3 系统软硬件设计 233
13.3.4 软硬件调试 236
13.3.5 独立系统实现 238
13.4 一个基于TMS320L549 DSP应用系统的开发 240
13.4.1 G.729A及系统简介 240
13.4.2 系统构成 241
13.4.3 系统软硬件设计 241
13.4.4 系统调试 243
13.4.5 独立系统形成 244
13.5 小结 246
第14章 数字滤波器的DSP实现 247
14.1 引言 247
14.2 FIR滤波器的DSP实现 247
14.2.1 FIR滤波器的基本原理和设计方法 247
14.2.2 FIR滤波器的定点DSP实现 250
14.2.3 FIR滤波器的浮点DSP实现 252
14.3 IIR滤波器的DSP实现 254
14.3.1 IIR滤波器的基本原理和设计方法 254
14.3.2 IIR滤波器的定点DSP实现 257
14.3.3 IIR滤波器的浮点DSP实现 259
14.4 自适应滤波器的DSP实现 262
14.4.1 自适应滤波器的基本原理 262
14.4.2 自适应滤波器的定点DSP实现 263
14.4.3 自适应滤波器的浮点DSP实现 266
14.5 小结 268
第15章 FFT的DSP实现 269
15.1 引言 269
15.2 FFT的基本原理 269
15.2.1 DFT 269
15.2.2 FFT算法的导出 270
15.3 FFT算法的高级语言实现 275
15.3.1 FFT算法的Fortran语言实现 275
15.3.2 FFT算法的C语言实现 276
15.4 FFT的定点DSP实现 277
15.5 FFT的浮点DSP实现 284
15.6 小结 293
结束语 294
附录A TI格式文件转化为二进制文件 295
附录B 8位μ律/16位线性互换的C语言子程序 300
附录C μ律到线性变换表 302
附录D 缩写词的英文对照 303
参考文献 305