DSP原理及应用——TMS320DM6437 / 高等学校电子信息与通信工程类专业系类教材·新形态
¥55.00定价
作者: 伍永峰
出版时间:2023-09
出版社:西安电子科技大学出版社
- 西安电子科技大学出版社
- 9787560670270
- 1-1
- 522874
- 48259602-0
- 平装
- 16开
- 2023-09
- 526
- 356
- TN911.72
- 无线电电子学、电信技术
- 本科 高职
内容简介
本书共9章,全面介绍了DSP芯片TMS320DM6437的硬件结构、指令系统、软件开发环境、程序优化方法、片内资源、外设接口及典型算法等,并给出了典型的数字信号处理算法的MATLAB设计与仿真以及基于TMS320DM6437的DSP程序开发实例,旨在使读者掌握DSP系统的设计与开发方法。本书每章末均配有习题,可供学习者进行自我检测。另外,本书配有微课视频、电子课件、习题解答、程序实例等教学辅助资料(详见出版社网站),能够满足课堂讲授、课程实验和课程设计各个环节的教学需求。
本书在论述DSP原理及应用的同时,结合学科发展和应用领域变革,浓缩知识内容,构建知识体系,充分体现OBE(Outcome Based Education,成果导向教育)教学理念,努力做到理论与实践并重,注重工程实践能力的培养;根据课程特点,挖掘课程蕴含的思政资源,把握课程思政与专业课教学的融合方法,将思政教育与专业课教学深度融合、匹配互动,以便教师开展符合课程实际和专业特点的课程思政教育。
本书可作为普通高等学校电子信息类及相近专业的本科生或硕士研究生的教材,也可作为非电子信息类专业硕士研究生的教材,还可供相关专业工程技术人员参考。
本书在论述DSP原理及应用的同时,结合学科发展和应用领域变革,浓缩知识内容,构建知识体系,充分体现OBE(Outcome Based Education,成果导向教育)教学理念,努力做到理论与实践并重,注重工程实践能力的培养;根据课程特点,挖掘课程蕴含的思政资源,把握课程思政与专业课教学的融合方法,将思政教育与专业课教学深度融合、匹配互动,以便教师开展符合课程实际和专业特点的课程思政教育。
本书可作为普通高等学校电子信息类及相近专业的本科生或硕士研究生的教材,也可作为非电子信息类专业硕士研究生的教材,还可供相关专业工程技术人员参考。
目录
第1章 绪论 1
1.1 数字信号处理概述 2
1.1.1 算法研究 2
1.2.1 数字信号处理的实现 3
1.2 DSP芯片 4
1.2.1 DSP芯片的发展概况 5
1.2.2 DSP芯片的发展趋势 5
1.2.3 DSP芯片的特点 7
1.2.4 DSP芯片的分类 10
1.2.5 DSP芯片的应用 11
1.3 DSP系统 11
1.3.1 DSP系统的构成 11
1.3.2 DSP系统的设计流程 12
1.3.3 DSP系统中芯片的选择 13
1.4 TI公司DSP产品简介 15
1.4.1 TMS320C2000系列 15
1.4.2 TMS320C5000系列 16
1.4.3 TMS320C6000 系列 16
1.5 实验和程序实例 19
1.5.1 时域采样和频域采样的
MATLAB实现 19
1.5.2 基于ICETEK-DM6437-AF的信号
时域采样和频域采样的DSP实现 21
本章小结 30
习题1 30
第2章 TMS320DM6437的硬件结构 32
2.1 TMS320DM6437的基本结构 33
2.2 TMS320DM6437的DSP子系统结构 34
2.3 TMS320DM6437的CPU结构 35
2.3.1 CPU的组成 35
2.3.2 CPU的通用寄存器组 35
2.3.3 CPU的控制寄存器组 37
2.3.4 CPU的数据通路 38
2.4 TMS320DM6437的片内存储器
结构与数据访问 41
2.4.1 片内存储器的基本结构 41
2.4.2 存储器空间分配 42
2.4.3 片内一级程序存储器 43
2.4.4 片内一级数据存储器 44
2.4.5 片内二级存储器 46
2.4.6 数据访问 48
2.5 TMS320DM6437的视频处理子系统 49
2.5.1 视频处理前端 49
2.5.2 视频处理后端 51
2.6 TMS320DM6437的片内外设 52
2.7 TMS320DM6437的复位、中断和启动 55
2.7.1 复位 55
2.7.2 中断 55
2.7.3 启动 56
2.8 实验和程序实例 56
2.8.1 卷积的MATLAB实现 56
2.8.2 基于ICETEK-DM6437-AF的
卷积DSP实现 61
本章小结 67
习题2 67
第3章 ICETEK-DM6437-AF实验系统 69
3.1 ICETEK-DM6437-AF实验系统的组成 70
3.2 ICETEK-DM6437-AF实验系统的
硬件模块 70
3.2.1 CPU单元 71
3.2.2 电源模块 71
3.2.3 数字信号源 74
3.2.4 A/D 74
3.2.5 D/A 76
3.2.6 JTAG 77
3.2.7 USB转串口及XD100V2+仿真器 78
3.2.8 DM6437核CPU时钟 80
3.2.9 网络接口 82
3.2.10 其他 82
3.3 基于ICETEK-DM6437-AF的语音
信号处理 82
3.3.1 音频编解码芯片TLV320AIC33
简介 82
3.3.2 TLV320AIC33和TMS320DM6437
通信接口及模式 83
3.4 基于ICETEK-DM6437-AF的视频
信号处理 84
3.4.1 DSP视频处理系统概述 84
3.4.2 视频解码芯片TVP5146简介 85
3.5 实验和程序实例 87
3.5.1 FFT算法的基本思想 87
3.5.2 基于MATLAB的基2-FFT
算法的实现 93
3.5.3 基于TMS320DM6437的
基2-FFT算法的实现 95
本章小结 101
习题3 101
第4章 软件开发环境 104
4.1 DSP软件开发工具 105
4.1.1 CCS简介 105
4.1.2 CCS集成开发环境 107
4.1.3 代码生成工具 107
4.1.4 代码调试工具 109
4.2 CCS v5的安装与设置 111
4.2.1 CCS v5的安装 111
4.2.2 CCS v5的设置 116
4.3 CCS v5的使用 123
4.3.1 创建CCS工程项目 124
4.3.2 工程管理 125
4.3.3 调试功能 126
4.3.4 图形工具的使用 128
4.4 DSP/BIOS实时操作系统 130
4.4.1 DSP/BIOS概述 130
4.4.2 DSP/BIOS的组成 131
4.4.3 DSP/BIOS程序开发 133
4.5 实验和程序实例 134
4.5.1 IIR数字滤波器的MATLAB
设计与实现 134
4.5.2 基于ICETEK-DM6437-AF的
IIR数字滤波器的DSP实现 139
本章小结 144
习题4 144
第5章 TMS320C64x系列DSP的
C程序设计与优化 146
5.1 TMS320C64x系列DSP的
C/C++ 语言概述 147
5.2 TMS320C64x系列DSP的
C/C++语言程序设计基础 149
5.2.1 TMS320C64x系列C/C++
程序结构 149
5.2.2 TMS320C64x系列C/C++
语言关键字 151
5.2.3 pragma 伪指令 155
5.2.4 初始化静态变量和全局变量 158
5.3 运行时环境 159
5.3.1 存储器模型 159
5.3.2 中断处理 161
5.3.3 系统的初始化 162
5.4 DSP的C/C++ 代码优化 165
5.4.1 C/C++ 代码的优化流程 165
5.4.2 分析C代码的性能 166
5.4.3 选用C编译器提供的优化
选项优化 167
5.4.4 软件流水 168
5.4.5 使用内联函数 170
5.4.6 调整数据类型 171
5.4.7 基于Cache的程序优化 172
5.5 C语言与汇编语言混合编程 173
5.5.1 在C/C++ 语言中调用汇编
语言模块 173
5.5.2 用内嵌函数访问汇编语言 175
5.5.3 在C/C++ 语言中嵌入汇编语言 175
5.5.4 在C/C++ 语言中访问汇编
语言变量 176
5.6 实验和程序实例 177
5.6.1 FIR数字滤波器的MATLAB
设计 177
5.6.2 基于DM6437的FIR滤波算法的
DSP实现 180
本章小结 185
习题5 185
第6章 TMS320DM6437的流水线与中断 188
6.1 流水线 189
6.1.1 流水线概述 189
6.1.2 流水线操作 189
6.1.3 各类指令的流水线执行 193
6.1.4 影响流水线性能的因素 194
6.2 DSP的中断系统 199
6.2.1 中断类型和优先级 199
6.2.2 中断服务表 200
6.2.3 中断服务取指包 201
6.2.4 中断控制寄存器 202
6.2.5 中断选择寄存器和外部中断 206
6.2.6 中断响应 207
6.3 实验和程序实例 208
6.3.1 基于MATLAB的音频信号
处理的流程 208
6.3.2 基于MATLAB的音频信号
处理的实现 210
6.3.3 基于ICETEK-DM6437-AF的
音频信号处理的实现 213
本章小结 220
习题6 220
第7章 增强型内存直接访问控制器
(EDMA3) 223
7.1 概述 224
7.2 EDMA3控制器 226
7.2.1 EDMA3控制器的组成 227
7.2.2 EDMA3通道控制器
(EDMA3_m_CC0)的工作流程 230
7.2.3 EDMA3同步事件 231
7.2.4 事件队列 232
7.3 EDMA3数据传输 233
7.3.1 EDMA3传输数据块定义 233
7.3.2 A-同步传输 234
7.3.3 AB-同步传输 235
7.4 参数RAM(PaRAM) 236
7.4.1 PaRAM 236
7.4.2 PaRAM参数集 237
7.4.3 通道选择项寄存器(OPT) 239
7.4.4 EDMA3的通道与PaRAM的
映射关系 241
7.4.5 传输示例 241
7.5 EDMA3的中断 243
7.5.1 EDMA3中断源 243
7.5.2 传输完成中断 244
7.5.3 错误中断 246
7.5.4 中断寄存器 247
7.6 快速DMA(QDMA) 249
7.7 实验和程序实例 251
7.7.1 图像中值滤波的MATLAB实现 251
7.7.2 图像中值滤波的DSP实现 253
本章小结 261
习题7 261
第8章 主机接口(HPI)与多通道缓冲
串口(McBSP) 263
8.1 主机接口(HPI) 264
8.1.1 HPI概述 264
8.1.2 HPI的结构 265
8.1.3 HPI引脚与接口信号 266
8.1.4 HPI的读/写时序 268
8.1.5 HPI的操作 270
8.1.6 HPI寄存器 273
8.1.7 HPI的中断 276
8.2 多通道缓冲串口(McBSP) 276
8.2.1 McBSP概述 276
8.2.2 McBSP结构与接口 277
8.2.3 McBSP寄存器 278
8.2.4 McBSP数据传输 279
8.2.5 McBSP的标准操作 281
8.2.6 µ-律/A-律压扩硬件操作 283
8.2.7 McBSP的SPI协议 284
8.2.8 McBSP引脚作为通用I/O引脚 286
8.3 实验和程序实例 287
8.3.1 图像锐化的MATLAB实现 287
8.3.2 图像锐化的DSP实现 292
本章小结 299
习题8 300
第9章 通用输入/输出接口(GPIO)与
定时器 302
9.1 通用输入/输出接口(GPIO) 303
9.1.1 GPIO概述 303
9.1.2 GPIO功能 304
9.1.3 中断和EDMA事件产生 306
9.1.4 GPIO寄存器 307
9.2 定时器 322
9.2.1 定时器概述 322
9.2.2 定时器工作模式控制 324
9.2.3 定时器寄存器 327
9.3 实验和程序实例——直流电动机
控制实验 333
本章小结 342
习题9 343
参考文献 345
1.1 数字信号处理概述 2
1.1.1 算法研究 2
1.2.1 数字信号处理的实现 3
1.2 DSP芯片 4
1.2.1 DSP芯片的发展概况 5
1.2.2 DSP芯片的发展趋势 5
1.2.3 DSP芯片的特点 7
1.2.4 DSP芯片的分类 10
1.2.5 DSP芯片的应用 11
1.3 DSP系统 11
1.3.1 DSP系统的构成 11
1.3.2 DSP系统的设计流程 12
1.3.3 DSP系统中芯片的选择 13
1.4 TI公司DSP产品简介 15
1.4.1 TMS320C2000系列 15
1.4.2 TMS320C5000系列 16
1.4.3 TMS320C6000 系列 16
1.5 实验和程序实例 19
1.5.1 时域采样和频域采样的
MATLAB实现 19
1.5.2 基于ICETEK-DM6437-AF的信号
时域采样和频域采样的DSP实现 21
本章小结 30
习题1 30
第2章 TMS320DM6437的硬件结构 32
2.1 TMS320DM6437的基本结构 33
2.2 TMS320DM6437的DSP子系统结构 34
2.3 TMS320DM6437的CPU结构 35
2.3.1 CPU的组成 35
2.3.2 CPU的通用寄存器组 35
2.3.3 CPU的控制寄存器组 37
2.3.4 CPU的数据通路 38
2.4 TMS320DM6437的片内存储器
结构与数据访问 41
2.4.1 片内存储器的基本结构 41
2.4.2 存储器空间分配 42
2.4.3 片内一级程序存储器 43
2.4.4 片内一级数据存储器 44
2.4.5 片内二级存储器 46
2.4.6 数据访问 48
2.5 TMS320DM6437的视频处理子系统 49
2.5.1 视频处理前端 49
2.5.2 视频处理后端 51
2.6 TMS320DM6437的片内外设 52
2.7 TMS320DM6437的复位、中断和启动 55
2.7.1 复位 55
2.7.2 中断 55
2.7.3 启动 56
2.8 实验和程序实例 56
2.8.1 卷积的MATLAB实现 56
2.8.2 基于ICETEK-DM6437-AF的
卷积DSP实现 61
本章小结 67
习题2 67
第3章 ICETEK-DM6437-AF实验系统 69
3.1 ICETEK-DM6437-AF实验系统的组成 70
3.2 ICETEK-DM6437-AF实验系统的
硬件模块 70
3.2.1 CPU单元 71
3.2.2 电源模块 71
3.2.3 数字信号源 74
3.2.4 A/D 74
3.2.5 D/A 76
3.2.6 JTAG 77
3.2.7 USB转串口及XD100V2+仿真器 78
3.2.8 DM6437核CPU时钟 80
3.2.9 网络接口 82
3.2.10 其他 82
3.3 基于ICETEK-DM6437-AF的语音
信号处理 82
3.3.1 音频编解码芯片TLV320AIC33
简介 82
3.3.2 TLV320AIC33和TMS320DM6437
通信接口及模式 83
3.4 基于ICETEK-DM6437-AF的视频
信号处理 84
3.4.1 DSP视频处理系统概述 84
3.4.2 视频解码芯片TVP5146简介 85
3.5 实验和程序实例 87
3.5.1 FFT算法的基本思想 87
3.5.2 基于MATLAB的基2-FFT
算法的实现 93
3.5.3 基于TMS320DM6437的
基2-FFT算法的实现 95
本章小结 101
习题3 101
第4章 软件开发环境 104
4.1 DSP软件开发工具 105
4.1.1 CCS简介 105
4.1.2 CCS集成开发环境 107
4.1.3 代码生成工具 107
4.1.4 代码调试工具 109
4.2 CCS v5的安装与设置 111
4.2.1 CCS v5的安装 111
4.2.2 CCS v5的设置 116
4.3 CCS v5的使用 123
4.3.1 创建CCS工程项目 124
4.3.2 工程管理 125
4.3.3 调试功能 126
4.3.4 图形工具的使用 128
4.4 DSP/BIOS实时操作系统 130
4.4.1 DSP/BIOS概述 130
4.4.2 DSP/BIOS的组成 131
4.4.3 DSP/BIOS程序开发 133
4.5 实验和程序实例 134
4.5.1 IIR数字滤波器的MATLAB
设计与实现 134
4.5.2 基于ICETEK-DM6437-AF的
IIR数字滤波器的DSP实现 139
本章小结 144
习题4 144
第5章 TMS320C64x系列DSP的
C程序设计与优化 146
5.1 TMS320C64x系列DSP的
C/C++ 语言概述 147
5.2 TMS320C64x系列DSP的
C/C++语言程序设计基础 149
5.2.1 TMS320C64x系列C/C++
程序结构 149
5.2.2 TMS320C64x系列C/C++
语言关键字 151
5.2.3 pragma 伪指令 155
5.2.4 初始化静态变量和全局变量 158
5.3 运行时环境 159
5.3.1 存储器模型 159
5.3.2 中断处理 161
5.3.3 系统的初始化 162
5.4 DSP的C/C++ 代码优化 165
5.4.1 C/C++ 代码的优化流程 165
5.4.2 分析C代码的性能 166
5.4.3 选用C编译器提供的优化
选项优化 167
5.4.4 软件流水 168
5.4.5 使用内联函数 170
5.4.6 调整数据类型 171
5.4.7 基于Cache的程序优化 172
5.5 C语言与汇编语言混合编程 173
5.5.1 在C/C++ 语言中调用汇编
语言模块 173
5.5.2 用内嵌函数访问汇编语言 175
5.5.3 在C/C++ 语言中嵌入汇编语言 175
5.5.4 在C/C++ 语言中访问汇编
语言变量 176
5.6 实验和程序实例 177
5.6.1 FIR数字滤波器的MATLAB
设计 177
5.6.2 基于DM6437的FIR滤波算法的
DSP实现 180
本章小结 185
习题5 185
第6章 TMS320DM6437的流水线与中断 188
6.1 流水线 189
6.1.1 流水线概述 189
6.1.2 流水线操作 189
6.1.3 各类指令的流水线执行 193
6.1.4 影响流水线性能的因素 194
6.2 DSP的中断系统 199
6.2.1 中断类型和优先级 199
6.2.2 中断服务表 200
6.2.3 中断服务取指包 201
6.2.4 中断控制寄存器 202
6.2.5 中断选择寄存器和外部中断 206
6.2.6 中断响应 207
6.3 实验和程序实例 208
6.3.1 基于MATLAB的音频信号
处理的流程 208
6.3.2 基于MATLAB的音频信号
处理的实现 210
6.3.3 基于ICETEK-DM6437-AF的
音频信号处理的实现 213
本章小结 220
习题6 220
第7章 增强型内存直接访问控制器
(EDMA3) 223
7.1 概述 224
7.2 EDMA3控制器 226
7.2.1 EDMA3控制器的组成 227
7.2.2 EDMA3通道控制器
(EDMA3_m_CC0)的工作流程 230
7.2.3 EDMA3同步事件 231
7.2.4 事件队列 232
7.3 EDMA3数据传输 233
7.3.1 EDMA3传输数据块定义 233
7.3.2 A-同步传输 234
7.3.3 AB-同步传输 235
7.4 参数RAM(PaRAM) 236
7.4.1 PaRAM 236
7.4.2 PaRAM参数集 237
7.4.3 通道选择项寄存器(OPT) 239
7.4.4 EDMA3的通道与PaRAM的
映射关系 241
7.4.5 传输示例 241
7.5 EDMA3的中断 243
7.5.1 EDMA3中断源 243
7.5.2 传输完成中断 244
7.5.3 错误中断 246
7.5.4 中断寄存器 247
7.6 快速DMA(QDMA) 249
7.7 实验和程序实例 251
7.7.1 图像中值滤波的MATLAB实现 251
7.7.2 图像中值滤波的DSP实现 253
本章小结 261
习题7 261
第8章 主机接口(HPI)与多通道缓冲
串口(McBSP) 263
8.1 主机接口(HPI) 264
8.1.1 HPI概述 264
8.1.2 HPI的结构 265
8.1.3 HPI引脚与接口信号 266
8.1.4 HPI的读/写时序 268
8.1.5 HPI的操作 270
8.1.6 HPI寄存器 273
8.1.7 HPI的中断 276
8.2 多通道缓冲串口(McBSP) 276
8.2.1 McBSP概述 276
8.2.2 McBSP结构与接口 277
8.2.3 McBSP寄存器 278
8.2.4 McBSP数据传输 279
8.2.5 McBSP的标准操作 281
8.2.6 µ-律/A-律压扩硬件操作 283
8.2.7 McBSP的SPI协议 284
8.2.8 McBSP引脚作为通用I/O引脚 286
8.3 实验和程序实例 287
8.3.1 图像锐化的MATLAB实现 287
8.3.2 图像锐化的DSP实现 292
本章小结 299
习题8 300
第9章 通用输入/输出接口(GPIO)与
定时器 302
9.1 通用输入/输出接口(GPIO) 303
9.1.1 GPIO概述 303
9.1.2 GPIO功能 304
9.1.3 中断和EDMA事件产生 306
9.1.4 GPIO寄存器 307
9.2 定时器 322
9.2.1 定时器概述 322
9.2.2 定时器工作模式控制 324
9.2.3 定时器寄存器 327
9.3 实验和程序实例——直流电动机
控制实验 333
本章小结 342
习题9 343
参考文献 345