第1章DSP概述 1
1.1数字信号处理概述 1
1.2可编程DSP芯片 2
1.2.1 DSP芯片的发展概况 2
1.2.2 DSP芯片的特点 3
1.2.3 DSP主要产品简介 6
1.2.4 DSP芯片的分类 7
1.2.5 DSP芯片的运算速度和DSP应用系统的运算量 8
1.2.6 DSP芯片的应用 9
1.2.7 DSP芯片的现状和发展趋势 11
1.3 TI公司DSP芯片的命名规则 13
1.4 DSP系统 15
1.4.1 DSP系统的构成 15
1.4.2 DSP系统的特点 15
1.4.3 DSP系统设计过程 16
1.4.4 DSP芯片的选择 20
本章小结 21
思考题与习题 21
第2章TMS320VC33处理器结构 22
2.1 TMS320VC33概述 22
2.2 TMS320VC33的引脚描述 23
2.2.1主总线接口信号 27
2.2.2控制信号 28
2.2.3串行口信号 29
2.2.4定时器信号 30
2.2.5电源及振荡器信号 30
2.2.6 JTAG仿真信号 33
2.3 TMS320VC33的CPU结构 34
2.4总线结构及管理 35
2.4.1内部总线 37
2.4.2外部总线 37
2.4.3总线管理 38
2.5存储器管理 39
2.5.1存储器组织 40
2.5.2中断向量和分支指令存储器分配 41
2.5.3外围寄存器地址分配 42
2.5.4指令高速缓存器 44
2.6 CPU寄存器与其它寄存器 45
2.6.1扩展精度寄存器 46
2.6.2辅助寄存器 47
2.6.3数据页指针 47
2.6.4索引寄存器 47
2.6.5块规模寄存器 47
2.6.6系统堆栈指针 47
2.6.7状态寄存器 47
2.6.8 CPU/DMA中断使能寄存器 49
2.6.9 CPU中断标志寄存器 50
2.6.10 I/O控制寄存器 50
2.6.11重复计数器和块重复寄存器 51
2.6.12其它寄存器 51
2.7中断管理 51
2.7.1 TMS320VC33中断向量表 51
2.7.2中断优先级 52
2.7.3与中断有关的控制寄存器 53
2.7.4中断标志寄存器描述 53
2.7.5中断处理过程 54
2.7.6 CPU中断响应时间 55
2.7.7 外部中断 55
2.8外围设备 56
2.8.1定时器 56
2.8.2串行口 64
2.8.3 DMA控制器 79
本章小结 88
思考题和习题 88
第3章TMS320C3x的浮点数格式与寻址类型 90
3.1浮点数格式 90
3.1.1 IEEE浮点数格式 90
3.1.2 TMS320C3x的浮点数格式 91
3.1.3数据格式间的转换 93
3.1.4浮点数的运算 96
3.2寻址类型 98
3.2.1立即数寻址 98
3.2.2直接寻址 99
3.2.3寄存器寻址 100
3.2.4间接寻址 100
3.2.5 PC相对寻址 107
3.2.6循环寻址 108
3.2.7位反转寻址 112
3.3寻址方式 113
3.3.1普通寻址方式 113
3.3.2三操作数寻址方式 114
3.3.3并行寻址方式 114
3.3.4长立即寻址方式 115
3.3.5条件转移寻址方式 115
3.4系统堆栈和用户堆栈管理 115
3.4.1系统堆栈指针 115
3.4.2用户堆栈 116
3.4.3队列 116
本章小结 117
思考题与习题 117
第4章TMS320C3x汇编语言指令与命令文件 118
4.1汇编伪指令 118
4.2 TMS320C3x汇编语言指令 118
4.2.1数据传输指令 118
4.2.2二操作数指令 120
4.2.3三操作数指令 125
4.2.4流程控制指令 128
4.2.5互锁指令 137
4.2.6并行指令 137
4.3公共目标文件格式 142
4.3.1汇编器的作用 142
4.3.2链接器的作用 143
4.3.3公共目标文件格式的相关概念 143
4.3.4汇编器对段的处理 144
4.3.5链接器对段的处理 147
4.4命令文件 150
本章小结 152
思考题和习题 153
第5章 基于汇编语言的程序设计 154
5.1汇编语言源程序格式 154
5.2用汇编语言编程的技巧 154
5.3流水线操作 155
5.3.1流水线结构 156
5.3.2流水线冲突 156
5.3.3解除寄存器冲突 164
5.4初始化程序设计 166
5.5典型流程控制程序设计举例 167
5.5.1子程序调用 167
5.5.2中断服务程序 168
5.5.3延时跳转 170
5.5.4重复操作 170
5.5.5位操作 172
5.5.6数据块转移 173
5.6算术运算和数据转换程序设计 174
5.6.1整数和浮点数除法 174
5.6.2平方根 175
5.6.3扩展精度算法 177
5.7典型的信号处理算法程序设计 178
5.7.1压扩 178
5.7.2 FIR、 IIR和自适应滤波器 181
5.7.3快速傅里叶变换 186
5.7.4格型滤波器 201
本章小结 203
思考题与习题 204
第6章 基于C语言的DSP芯片开发 205
6.1引言 205
6.2 ANSI C编译器 205
6.2.1优化ANSI C编译器 205
6.2.2优化编译器 208
6.3 C语言编程基础知识 211
6.3.1数据类型 211
6.3.2关键字 212
6.3.3寄存器变量 214
6.3.4 Pragma指令(预处理指令) 214
6.3.5 asm语句 217
6.3.6初始化静态和全局变量 217
6.4基于C语言的DSP芯片开发的运行环境 218
6.4.1存储器模式 218
6.4.2目标请求 221
6.4.3寄存器规则 223
6.4.4函数结构和调用规则 225
6.4.5中断处理 228
6.4.6系统初始化 230
6.4.7 TMS320C3x C程序开发举例 232
6.5 C语言与汇编语言的混合编程 235
6.5.1汇编与C语言接口 236
6.5.2独立的C语言和汇编模块接口 236
6.5.3从C程序中访问汇编语言变量 238
6.5.4在汇编程序中访问C程序变量 240
本章小结 243
思考题与习题 243
第7章 开发工具与集成开发环境 245
7.1引言 245
7.2代码生成工具 245
7.2.1代码生成工具程序 245
7.2.2宏汇编器和链接器 246
7.2.3 C编译器 247
7.2.4文档管理器和库生成器 247
7.2.5代码格式转换器 248
7.2.6编译汇编链接应用举例 249
7.3代码调试工具 250
7.3.1 C/汇编源码调试器 250
7.3.2初学者工具DSK 254
7.3.3软件模拟器 255
7.3.4评价模块 257
7.3.5软件开发系统 257
7.3.6仿真器 257
7.4 CC集成开发环境 258
7.4.1 CC功能简介 258
7.4.2 CC软件的安装 259
7.4.3 CC软件的设置 260
7.4.4 CC文件名介绍 261
7.4.5 CC的应用界面 262
7.4.6主菜单 262
7.4.7常用工具条 267
7.4.8 CC开发软件应用举例 270
本章小结 274
思考题与习题 275
第8章DSP最小系统的设计与程序引导 276
8.1 TI公司DSP主要外围器件选择 276
8.2基于TMS320VC33的DSP最小系统设计 277
8.2.1电源设计 277
8.2.2复位信号的产生 277
8.2.3时钟电路设计 280
8.2.4等待 281
8.2.5 JTAG仿真接口 282
8.3 DSP与外围存储器的接口 283
8.3.1存储器的发展现状 283
8.3.2 EPROM和DSP的接口 283
8.3.3 FLASH、 RAM与DSP的接口 284
8.3.4 NVSRAM与DSP的接口 286
8.4 3.3 V和5V混合逻辑系统设计 287
8.5程序引导功能的实现 289
8.5.1引导方式选择 289
8.5.2引导程序的工作流程 290
8.5.3引导数据结构 291
8.5.4中断的考虑 292
8.5.5 HEX格式的转换 292
8.5.6命令文件的建立 294
本章小结 295
思考题与习题 295
第9章TMS320VC33芯片的应用实例 296
9.1高分辨率感应测井仪数据采集系统 296
9.1.1系统功能描述 296
9.1.2硬件电路设计 298
9.1.3软件设计 303
9.2基于DSP芯片的USB通信接口的实现 316
9.2.1 USB接口概述 316
9.2.2 USB接口设计方案选择 316
9.2.3 USB接口芯片PDIUSBD 12 317
9.2.4 DSP与PDIUSBD12硬件接口 318
9.2.5软件设计 319
本章小结 342
思考题与习题 342
参考文献 343