本书以TMS320C6678 DSP为主全面介绍多核数字信号处理器TMS320C66x的应用与开发实例。首先详细介绍多核数字信号处理硬件系统的构建、多核数字信号处理软件系统的构建、软件并行化设计、软件优化设计;其次从开发应用的角度,介绍TMS320C66x多核处理系统的系统配置与初始化,以及SYS/BIOS嵌入式操作系统;最后结合TMS320C66x进行多核DSP软硬件的设计,并给出详细的软件设计和硬件设计的应用实例。本书内容丰富、新颖,实用性强,可供从事多核数字信号处理的科技人员和高校师生使用。
汪春梅,上海师范大学信息与机电工程学院电气信息系副教授,主要研究方向为通信信号处理与模式识别。多年来一直从事DSP方面的教学和科研工作,承担科研项目多项。
第1章 C66x多核数字信号处理系统简介 1
1.1 并行数字信号处理技术的发展 1
1.2 TI公司并行数字信号处理器产品 5
1.2.1 同构并行处理器 5
1.2.2 异构并行处理器 9
1.3 C66x处理器 16
1.3.1 C66x内核简介 16
1.3.2 C66x并行结构与特点 21
1.4 多核数字信号处理系统的设计开发流程 25
习题1 25
第2章 多核数字信号处理硬件系统的构建 26
2.1 电源子系统 26
2.2 时钟及定时器子系统 31
2.2.1 时钟子系统 31
2.2.2 定时器子系统 38
2.3 存储子系统 42
2.3.1 内存的初始化设置 43
2.3.2 多核共享内存控制器初始化 45
2.3.3 DDR3存储器的硬件设计及初始化 49
2.3.4 EMIF存储器的硬件设计及初始化 55
2.4 串行通信子系统 59
2.4.1 高速串行通信接口的硬件设计 59
2.4.2 低速串行通信接口的硬件设计 74
2.5 网络协处理器 92
2.6 多核导航器 99
习题2 108
第3章 多核数字信号处理软件系统的构建 109
3.1 CCS的简介及安装 109
3.2 创建一个软件工程 113
3.3 软件并行化设计 115
3.3.1 应用程序映射到多核处理器 115
3.3.2 处理器间的通信 121
3.3.3 数据传输引擎 127
3.3.4 共享资源管理 129
3.3.5 存储器管理 129
3.3.6 DSP代码和数据映像 134
3.3.7 系统调试 136
3.4 软件优化设计 142
3.4.1 代码优化 142
3.4.2 内存和数据流的优化 172
3.4.3 基于软件开发工具优化 183
习题3 187
第4章 SYS/BIOS嵌入式操作系统 188
4.1 SYS/BIOS简介 188
4.2 如何建立一个SYS/BIOS工程 189
4.3 如何建立SYS/BIOS硬件中断 191
4.4 如何建立SYS/BIOS软件中断 195
4.5 如何建立SYS/BIOS任务 199
4.6 软硬件中断与任务的关系 201
4.7 进程间的同步与通信 203
4.7.1 信号量 203
4.7.2 事件模块 210
4.7.3 门 215
4.7.4 邮箱 217
4.7.5 队列 218
习题4 219
第5章 软件设计应用 220
5.1 卷积算法应用 220
5.1.1 卷积算法 220
5.1.2 卷积算法的MATLAB实现 220
5.1.3 卷积算法的DSP实现 221
5.2 相关算法应用 222
5.2.1 相关算法 222
5.2.2 相关算法的MATLAB实现 223
5.2.3 相关算法的DSP实现 223
5.3 快速傅里叶变换(FFT)应用 226
5.3.1 FFT算法 226
5.3.2 FFT算法的MATLAB实现 227
5.3.3 FFT算法的DSP实现 228
5.4 有限冲激响应(FIR)滤波器应用 249
5.4.1 FIR滤波器的特点和结构 249
5.4.2 FIR滤波器的MATLAB实现 250
5.4.3 FIR滤波器的DSP实现 251
5.5 无限冲激响应(IIR)滤波器应用 255
5.5.1 IIR滤波器的结构 255
5.5.2 IIR滤波器的MATLAB实现 256
5.5.3 IIR滤波器的DSP实现 257
5.6 自适应滤波应用 262
5.6.1 自适应滤波器的特点和结构 262
5.6.2 自适应滤波器的MATLAB实现 263
5.6.3 自适应滤波器的DSP实现 263
5.7 矩阵计算应用 266
5.7.1 矩阵运算 266
5.7.2 矩阵运算的MATLAB实现 266
5.7.3 矩阵运算的DSP实现 267
5.8 多速率信号处理应用 274
5.8.1 多速率信号处理的原理 274
5.8.2 多速率信号处理的DSP实现 275
习题5 277
第6章 硬件设计实例 278
6.1 C66x最小系统设计实例 278
6.1.1 最小系统硬件设计 278
6.1.2 最小系统设置 279
6.1.3 程序加载 285
6.2 C66x语音处理系统设计实例 288
6.3 C66x软件无线电系统设计实例 292
6.4 C66x多芯片并行处理系统设计实例 298
习题6 300
参考文献 301