第1章 绪论 1
1.1 DSP概述 1
1.1.1 DSP的发展历史 1
1.1.2 DSP的特点 2
1.1.3 DSP的发展方向 2
1.1.4 DSP的应用领域 4
1.2 现代通信系统 5
1.2.1 数字信号处理系统的突出优点 5
1.2.2 通信系统的组成 6
1.3 DSP系统设计与开发 7
1.3.1 DSP系统设计流程 7
1.3.2 DSP系统的硬件设计与开发 9
1.3.3 DSP系统的软件设计与开发 10
第2章 DSP芯片简介 11
2.1 DSP芯片分类 11
2.2 定点和浮点运算的基本概念 13
2.2.1 定点的数据格式 13
2.2.2 浮点的数据格式 15
2.2.3 非线性运算的定点实现 16
2.3 DSP芯片的选择 18
2.4 TMS320系列DSP芯片 21
2.4.1 TMS320C2xx系列 21
2.4.2 TMS320C3x/4x系列 22
2.4.3 TMS320C5xx系列 23
2.4.4 TMS320C6xx系列 25
2.5.1 AD公司 26
2.5 其他公司的DSP芯片 26
2.5.2 Motorola公司 28
2.5.3 NEC公司 30
2.5.4 AT&T公司 31
第3章 TMS320C54x内核的结构与原理 33
3.1 中央处理单元CPU 33
3.1.1 算术逻辑运算单元ALU 33
3.1.2 累加器A和B 34
3.1.3 桶形移位寄存器 35
3.1.4 乘法器和加法器 36
3.1.5 比较、选择和存储单元 36
3.1.6 指数编码器 38
3.1.7 CPU状态和控制寄存器 39
3.2 总线结构 42
3.3 存储空间 43
3.3.1 存储器空间 43
3.3.2 程序存储空间 45
3.3.3 数据存储空间 47
3.3.4 I/O存储空间 50
第4章 TMS320C54x片内外围电路 51
4.1 片内外设的存储器映射寄存器 51
4.2 定时器 52
4.3 时钟发生器 54
4.4 中断系统 56
4.4.1 中断请求 56
4.4.3 中断响应与中断复位程序的执行 58
4.4.2 中断控制 58
4.5 8b增强型主机接口HPI-8 60
4.5.1 HPI-8硬件连接 60
4.5.2 HPI-8寄存器与寻址 63
4.5.3 主机对HPI-8的访问 65
4.5.4 HPI-8中断产生 67
4.5.5 使用HPI-8需要注意的一些问题 67
4.5.6 HPI-8数据引脚作为通用I/O端口 69
4.6 直接存储器访问DMA 70
4.6.1 DMA概述 70
4.6.2 DMA寄存器的操作和设置 72
4.6.3 DMA寻址方式 78
4.6.4 自动初始化 79
4.6.5 DMA传输过程中的中断产生 80
4.6.6 扩展地址的寻址 80
4.6.7 DMA存储空间映射 80
4.6.8 DMA延迟 82
4.6.9 DMA与省电模式 82
4.7 通用I/O引脚 82
4.8 外部总线操作 83
4.8.1 外部总线接口 83
4.8.2 外部总线优先级 84
4.8.3 外部总线控制 85
4.8.4 保持方式 87
第5章 多通道缓冲串行口McBSP 89
5.1 McBSP概述 89
5.2 McBSP接收发送配置寄存器 92
5.3 发送和接收数据流程 98
5.3.1 串行口复位 98
5.3.2 准备状态位的确定 99
5.3.3 CPU中断 100
5.3.4 帧同步和时钟配置 100
5.3.5 McBSP标准操作 102
5.3.6 忽略帧同步 103
5.3.7 串行口异常处理 105
5.3.8 接收数据对齐与符号扩展 107
5.4 McbSP的功能扩展 107
5.4.1 A律和μ律硬件压扩 107
5.4.2 多通道选择 109
5.4.3 仿真位FREE和SOFT 114
5.4.4 McBSP引脚作为通用I/O端口 115
5.5 McBSP与SPI协议 115
5.5.1 主机模式与从机模式 116
5.5.2 时钟停止模式配置和信号描述 117
5.5.3 SPI模式初始化 119
5.6 省电模式下的McBSP操作 119
第6章 寻址方式与流水线 121
6.1 数据寻址方式 121
6.1.1 立即寻址 121
6.1.2 绝对寻址 121
6.1.3 累加器寻址 122
6.1.4 直接寻址 122
6.1.5 间接寻址 123
6.1.7 堆栈寻址 126
6.1.6 存储器映像寄存器寻址 126
6.2 程序存储器寻址 127
6.2.1 程序存储器地址的产生 127
6.2.2 程序计数器PC 128
6.2.3 分支跳转 129
6.2.4 调用 129
6.2.5 返回 130
6.2.6 条件操作 131
6.2.7 重复操作 133
6.2.8 复位 134
6.2.9 中断 135
6.3.1 流水线的基本概念 138
6.3 流水线 138
6.3.2 分支指令流水线操作 139
6.3.3 条件执行 141
6.3.4 存储器的流水线操作 142
6.3.5 流水线的等待周期 142
第7章 指令系统 144
7.1 指令集符号与操作码 144
7.2 汇编指令 147
7.2.1 算术运算指令 147
7.2.2 逻辑运算指令 151
7.2.3 程序控制指令 153
7.2.4 数据传送指令 155
7.3 代数指令 159
7.3.1 算术运算指令 159
7.3.2 逻辑运算指令 164
7.3.3 程序控制指令 166
7.3.4 数据传送指令 169
第8章 TMS320C54x编程方法与实现 174
8.1 应用程序设计概述 174
8.2 公共目标文件格式COFF 176
8.2.1 段与对段的处理 176
8.2.2 程序装入与重新定位 178
8.2.3 COFF中的符号 178
8.3 汇编语言格式及宏语言 179
8.3.1 汇编语言源程序的格式 179
8.3.2 常数、符号与表达式 181
8.3.3 汇编语言程序中的宏 184
8.4.1 汇编器 187
8.4 汇编语言程序开发工具 187
8.4.2 链接器 190
8.4.3 存档器 194
8.4.4 绝对列表器 194
8.4.5 交叉引用列表器 194
8.4.6 助记符指令到代数指令转换工具 195
8.4.7 HEX格式转换工具 195
第9章 数字滤波器的DSP实现 197
9.1 FIR滤波器的TMS320C54x的实现 197
9.1.1 FIR滤波器的结构 197
9.1.2 FIR滤波器的实现 198
9.2 改进型IIR滤波器的TMS320C54x的实现 206
9.2.1 无限长单位脉冲响应数字滤波器的结构 207
9.2.2 IIR滤波器溢出问题的研究解决及其定点DSP实现 209
9.3 FIR与IIR数字滤波器的比较 213
第10章 基于DSP技术的静态图像压缩编码 214
10.1 色彩、抽样与视频标准 214
10.1.1 色彩 214
10.1.2 人类视觉系统 216
10.1.3 视频标准 217
10.2 图像信号压缩编码概述 218
10.2.1 图像信号压缩编码原理 218
10.2.2 图像信号压缩编码分类 219
10.2.3 常用图像压缩编码举例 220
10.2.4 图像信号压缩编码标准 222
10.3 JPEG标准 224
10.3.1 JPEG标准的基本概念 224
10.3.2 图像压缩模型 227
10.3.3 JPEG编码器模型 230
10.3.4 熵编/解码器 233
10.4 系统实现与结构测试 234
10.4.1 系统概述 234
10.4.2 SAA7111及其I2C接口控制 236
10.4.3 数据存储与寻址 242
10.4.4 数据采集控制 244
10.4.5 DMA 245
10.4.6 Boot Loader 246
10.4.7 结果测试 248
10.5 JPEG编/解码程序 250
11.1.2 分组码与卷积码 281
11.1.1 差错控制编码的分类 281
11.1 差错控制编码的基本概念 281
第11章 DSP在信道编码和解码中的应用 281
11.2 卷积码的编码 282
11.3 卷积码的维特比译码 284
11.3.1 维特比译码基础 284
11.3.2 Viterbi译码算法 285
11.3.3 维特比译码的程序实现 291
第12章 自适应回波抵消的DSP实现 301
12.1 回波抵消器基本原理与应用 301
12.2 自适应滤波器的结构与算法选择 302
12.2.1 自适应滤波器概述 302
12.2.2 自适应滤波器算法 305
12.2.3 自适应滤波器结构 308
12.3 自适应回波抵消器的实现 309
第13章 DSP在扩频通信系统中的应用 318
13.1 扩频通信系统概述 318
13.1.1 扩频通信系统的基本概念及模型 318
13.1.2 扩频通信系统的理论依据 319
13.1.3 DSP在扩频通信系统中的应用 320
13.2 伪随机码发生器的DSP实现 322
13.2.1 m序列的DSP实现 322
13.2.2 混沌序列的DSP实现 324
13.3 数字调制的DSP实现 327
13.3.1 QPSK的DSP实现 327
13.3.2 FSK的DSP实现 338
附录 本书中的表格和图 345