第1章 DSP概述 1
1.1 引言 1
1.2 DSP芯片的基本概念 2
1.3 DSP应用系统的构成 3
1.4 DSP应用系统的设计过程 3
1.5 DSP应用系统的开发工具 4
1.6 TI 系列DSP芯片简介 5
1.6.1 TI系列DSP芯片概貌 5
1.6.2 TMS320C2000系列简介 5
1.6.3 TMS320C5000系列简介 7
1.6.4 TMS320C6000系列简介 11
1.6.5 TI 其他DSP芯片简介 15
1.7 小结 16
第2章 基于C语言的DSP定点运算实例 17
2.1 DSP定点运算的基本原理 17
2.1.1 定点的基本概念 17
2.1.2 溢出及处理方法 17
2.1.3 舍入及截尾 18
2.2 定义及基本运算 19
2.2.1 定义 19
2.2.2 基本运算 19
2.3 加法运算的C定点实现实例 21
2.4 减法运算的C定点实现实例 24
2.5 乘法运算的C定点实现实例 26
2.6 乘累加/乘累减运算的C定点实现实例 27
2.7 除法运算的C定点实现实例 29
2.8 移位运算的C定点实现实例 31
2.9 归一化运算的C定点实现实例 36
2.10 非线性运算的C定点实现实例 38
2.10.1 幂运算的C语言定点程序 38
2.10.2 对数运算的C语言定点程序 39
2.10.3 开平方运算的C语言定点程序 40
2.11 小结 41
第3章 CCS的基本特征及安装设置 42
3.1 引言 42
3.2 CCS软件安装与设置 43
3.2.1 CCS软件安装 43
3.2.2 CCS文件组织与环境变量 43
3.2.3 CCS软件设置 44
3.2.4 CCS软件设置错误排查 46
3.3 CCS组件及其特征 47
3.3.1 代码产生工具 48
3.3.2 CCS集成开发环境 49
3.3.3 DSP/BIOS插件 50
3.3.4 硬件仿真和实时数据交换 53
第4章 CCS集成环境与Simulator使用 56
4.1 引言 56
4.2 菜单与工具栏 57
4.2.1 菜单 57
4.2.2 工具栏 65
4.3 实例1:设计一个简单程序 67
4.3.1 创建一个新工程 67
4.3.2 将文件添加到工程中 67
4.3.3 查看代码 68
4.3.4 生成和运行程序 70
4.3.5 更改Build选项并更正语法错误 70
4.3.6 使用断点和Watch窗口 71
4.3.7 使用Watch窗口观察结构体 72
4.3.8 观察代码执行统计 72
4.3.9 练习 74
4.4 实例2:从文件中读取数据并测试算法 74
4.4.1 打开并检查一个工程 74
4.4.2 查看代码 75
4.4.3 添加Probe Point从PC文件中读取数据 76
4.4.4 显示图形 78
4.4.5 程序和图形的动画显示 79
4.4.6 调节增益 80
4.4.7 查看可视范围之外的变量 80
4.4.8 使用GEL文件 81
4.4.9 调整和剖切ProcessingLoad 82
4.4.10 练习 82
第5章 DSP/BIOS原理及应用 84
5.1 引言 84
5.2 DSP/BIOS组件 85
5.2.1 DSP/BIOS实时库与API函数 85
5.2.2 DSP/BIOS配置工具 85
5.2.3 DSP/BIOS插件 86
5.3 命名规则 86
5.3.1 头文件名 86
5.3.2 对象名 87
5.3.3 操作名 87
5.3.4 数据类型名 88
5.3.5 存储器段名 88
5.4 程序生成 89
5.4.1 配置工具的使用 89
5.4.2 创建DSP/BIOS程序时使用的文件 91
5.4.3 编译和链接DSP/BIOS应用程序 92
5.5 实例1:一个简单的DSP/BIOS程序 93
5.5.1 创建一个配置文件 93
5.5.2 将DSP/BIOS文件添加到工程中 94
5.5.3 用CCS测试 95
5.5.4 分析DSP/BIOS代码执行时间 96
5.5.5 练习 97
5.6 DSP/BIOS仪表 98
5.6.1 软件仪表与硬件仪表的比较 98
5.6.2 仪表性能 98
5.6.3 仪表API 99
5.6.4 显式仪表与隐式仪表 99
5.7 线程调度 100
5.8 实例2:调试DSP/BIOS程序 101
5.8.1 打开并检查一个工程 101
5.8.2 查看源代码 102
5.8.3 修改配置文件 103
5.8.5 更改和观察Load 107
5.8.6 分析线程统计 109
5.8.7 添加显式STS仪表 110
5.8.8 观察显式仪表 110
5.8.9 练习 112
第6章 RTDX的原理及应用 113
6.1 引言 113
6.2 可配置参数 115
6.2.1 目标缓冲区大小 115
6.2.2 主机缓冲区大小 116
6.2.3 RTDX主机录制模式 116
6.2.4 RTDX目标中断屏蔽 117
6.3 用户接口与OLE接口 117
6.3.1 用户接口 117
6.3.2 OLE接口 118
6.4 实时通信程序的设计 120
6.4.1 编写目标DSP应用程序 120
6.4.2 编写OLE自动化客户程序 122
6.4.3 在CCS中使能RTDX 125
6.4.4 运行OLE自动化客户程序 126
6.5 实例:分析程序的实时特性 126
6.5.1 打开并检查工程 126
6.5.2 修改配置文件 127
6.5.3 查看源代码的改动 128
6.5.4 在运行时使用RTDX更改Load值 129
6.5.5 更改软件中断优先级 132
6.5.6 练习 133
第7章 GEL语言与Visual Linker的使用 135
7.1 引言 135
7.2 GEL语言及其使用 135
7.2.1 GEL函数定义 136
7.2.2 GEL函数参数 136
7.2.3 调用GEL函数 137
7.2.4 加载/卸载GEL函数 139
7.2.5 将GEL函数添加到GEL菜单中 139
7.2.6 在CCS启动时自动执行GEL函数 142
7.2.7 GEL函数求值 143
7.2.8 输出窗口 144
7.2.9 嵌入GEL函数 144
7.3 Visual Linker的使用 151
7.3.1 Visual Linker开发流程 151
7.3.2 Visual Linker图形界面 152
7.3.3 使用实例 154
第8章 TMS320C5000硬件应用实例 158
8.1 HPI接口原理与应用实例 158
8.1.1 概述 158
8.1.2 HPI-8接口方式 158
8.1.3 HPI-16接口方式 162
8.1.4 利用HPI-8实现C54x与PC的并行接口 169
8.2 多通道缓冲串行口(McBSP) 177
8.2.1 概述 177
8.2.2 信号接口和控制寄存器 177
8.2.3 数据收发 184
8.2.4 串行口的初始化 184
8.2.5 应用实例 185
8.3 小结 200
第9章 TMS320C5000软件应用实例 201
9.1 TMS320C5000软件编程的几种方法 201
9.1.1 用C语言编写DSP程序实例 201
9.1.2 用汇编语言编写DSP程序实例 205
9.1.3 用代数语言编写DSP程序实例 210
9.1.4 用C语言和汇编语言混合编程 217
9.2 堆栈机制 223
9.2.1 堆栈 223
9.2.2 动态存储器分配 223
9.2.3 静态和全局变量的存储器分配 224
9.2.4 域/结构的对准 224
9.2.5 函数调用规则 224
9.3 汇编程序优化的实现方法与实例 226
9.3.1 循环优化 226
9.3.2 圆周循环寻址和并行指令 229
9.3.3 实现乘累加优化的实例 232
9.4 扩展寻址的软件实现 235
9.4.1 关于扩展寻址 235
9.4.2 建立扩展存储区系统 236
9.5 使用扩展寻址实现中断的实例 240
9.5.1 确定系统需求 240
9.5.2 默认设置 240
9.5.3 扩展程序区中断操作 242
9.6 小结 244
第10章 TMS320C5000应用实例 245
10.1 基于TMS320C54x通用I/O实现UART 245
10.1.1 UART介绍 245
10.1.2 数据格式 245
10.1.3 校验 246
10.1.4 UART实现的硬件 246
10.1.5 软件建立 246
10.1.7 发送函数 248
10.1.8 全双工操作 248
10.1.9 校验算法 251
10.1.10 比特率计算 251
10.1.11 函数小结 251
10.1.12 性能评估 252
10.1.13 UART程序代码 253
10.2 基于TMS320C54x实现DTMF信号的产生和检测 263
10.2.1 DTMF介绍 263
10.2.2 DTMF产生 264
10.2.3 DTMF产生的程序流程 265
10.2.4 DTMF检测 266
10.2.5 DTMF检测的程序流程 269
10.2.6 速度和存储需求 269
10.2.7 DTMF产生与检测软件 271
10.3 基于TMS320C54x实现FFT运算 294
10.3.1 引言 294
10.3.2 FFT的基本原理 294
10.3.3 FFT算法的C语言实现 299
10.3.4 FFT的TMS320C54x实现 302
10.4 TMS320C54x 扩展精度IIR滤波器的设计与实现 310
10.4.1 扩展精度乘法 310
10.4.2 C54x 用于扩展精度计算的指令集 311
10.4.3 IIR滤波器 311
10.4.4 用C54x 实现扩展精度乘运算 313
10.4.5 用C54x实现扩展精度IIR滤波器 314
10.5 FIR滤波器的DSP实现 324
10.6 TMS320C54x实现回波抵消应用实例 329
10.6.1 回波的产生 329
10.6.2 回波抵消的基本原理和算法 330
10.6.3 回波抵消的C54x实现 331
10.6.4 程序代码及说明 335
10.7 基于TMS320C54x实现线性预测(LPC) 342
10.7.1 LPC模型 342
10.7.2 线性预测分析 343
10.7.3 Levinson-Durbin 算法 344
10.7.4 自相关系数的C54x程序设计 344
10.7.5 Levinson-Durbin 算法的C54x程序设计 347
10.8 小结 357
参考文献 358