目录 1
前言 1
第1章 概述 1
1.1 数字信号处理技术概述 1
1.2 数字信号处理系统的基本组成 1
1.3 DSP芯片概述 2
1.4 数字信号处理的应用 6
2.2 DSP选型 7
2.1 如何获取技术参考资料以及得到相关源码 7
第2章 设计开发一个DSP系统 7
2.3 DSP系统开发流程 12
2.4 如何开始硬件设计 14
2.5 如何开始软件开发 15
2.6 一个简单的DSP系统 19
第3章 DSP体系结构和硬件开发 22
3.1 DSP芯片体系结构概述 22
3.2 TMS320C55x体系结构 23
3.2.1 TMS320C55x内部结构框图 24
3.2.2 TMS320C55x引脚功能介绍 26
3.2.3 TMS320C55x 中央处理单元 32
3.2.4 TMS320C55x总线结构 37
3.2.5 TMS320C55x流水线操作 37
3.3 TMS320C55xTM存储器空间 40
3.4 TMS320C55x片内外设 41
3.4.1 模数转换器(ADC) 42
3.4.2 数字锁相环时钟产生器 47
3.4.3 存储器直接访问(DMA)控制器 49
3.4.4 指令缓存 56
3.4.5 实时时钟(RTC) 60
3.4.6 增强主机接口(EHPI) 63
3.4.7 看门狗定时器 66
3.4.8 多通道缓冲串行口(McBSP) 69
3.4.9 通用定时器 74
3.5 TMS320C55x外部存储器接口(EMIF) 77
3.5.1 功能与作用 77
3.5.2 EMIF中的寄存器 79
3.5.4 同步突发静态随机存储器(SBSRAM)的配置和连接 80
3.5.3 异步存储器的配置和连接 80
3.5.5 同步动态随机存储器(SDRAM)的配置和连接 81
3.6 OMAP5910体系结构简介 85
3.6.1 OMAP5910的体系结构 87
3.6.2 OMAP5910的软件结构 89
3.6.3 OMAP平台的开放性 92
第4章 DSP电路设计 94
4.1 DSP最小系统的搭建 94
4.2 TMS320C55x电源电路 96
4.2.1 对电源电压及电流要求 96
4.2.2 电源产生电路 96
4.3 TMS320C55x时钟电路和复位电路 97
4.3.1 振荡与时钟电路 97
4.3.2 复位和看门狗电路 99
4.4 可编程逻辑器件CPLD/FPGA的应用 100
4.4.1 FPGA/CPLD的设计流程 100
4.4.2 一个基于FPGA和DSP的雷达信号处理系统的设计 102
4.5.1 干扰的来源和后果 104
4.5 电路的抗干扰技术 104
4.5.2 系统电源抗干扰设计 105
4.5.3 硬件抗干扰设计 105
4.5.4 软件抗干扰设计 105
4.5.5 输入输出信号抗干扰措施 106
第5章 DSP集成开发环境 107
5.1 DSP集成开发环境概述 107
5.2.1 CCS软件的安装 108
5.2.2 安装CCS配置程序 108
5.2 CCS2的安装和设置 108
5.3 CCS2的基本操作 111
5.3.1 建立一个新的工程 111
5.3.2 向工程文件中添加文件的基本操作 112
5.3.3 建立和运行程序的基本操作 115
5.3.4 改变程序选项,并修改语法错误的基本操作 116
5.3.5 断点和观察窗的使用方法 117
5.3.6 探针点的使用方法 118
5.3.7 图形显示工具的用法 119
5.3.8 在观察窗中观察和修改变量的基本操作 120
5.3.9 GEL工具的使用方法 121
5.4.1 DSP/BIOS简介 124
5.4 DSP/BIOS的应用 124
5.4.2 DSP/BIOS的性能演示 125
5.4.3 DSP/BIOS组件 131
5.5 CCS2数据实时交换(RTDX) 133
5.5.1 RTDX概述 133
5.5.2 RTDX的使用 134
5.6 软件调试 135
5.6.1 断点 136
5.6.2 观察窗 136
5.6.3 探针点 137
5.6.4 软件仿真器分析 138
5.6.5 图形显示工具 139
5.6.6 符号浏览器 140
5.6.7 命令窗口 141
5.7.1 硬件仿真概述 142
5.7.2 C55x总线工作方式 142
5.7 硬件仿真分析 142
5.7.3 硬件仿真分析 143
第6章 汇编语言程序设计 146
6.1 汇编语言程序设计概述 146
6.1.1 汇编语言特点 146
6.1.2 TMS320C55x汇编语言 146
6.2 TMS320C55x寻址方式 147
6.2.1 绝对寻址模式 147
6.2.2 直接寻址模式 148
6.2.3 间接寻址模式 149
6.3 TMS320C55x汇编指令系统 152
6.3.1 TMS320C55x汇编语言格式 152
6.3.2 TMS320C55x指令系统中使用的符号 152
6.3.3 相关的状态位 154
6.3.4 指令集语法 156
6.3.5 算术运算指令 157
6.3.6 位操作指令 175
6.3.7 扩展辅助寄存器指令 178
6.3.8 逻辑运算指令 179
6.3.9 传输指令 181
6.3.10 程序控制指令 189
6.4 TMS320C55x汇编宏指令 191
6.5 TMS320C55x汇编伪指令 196
6.5.1 编译指令 196
6.5.2 连接指令 198
6.6 TMS320C55x目标文件格式 201
6.6.1 COFF的段 201
6.6.2 编译器如何处理段 202
6.6.3 连接器如何处理段 205
第7章 C语言程序设计 207
7.1 C语言程序设计概述 207
7.1.1 TMS320C55x C语言概况及特点 207
7.1.2 C语言基本语法概要 207
7.2 TMS320C55x C语言开发 208
7.2.1 TMS320C55x C语言概况及特点 208
7.2.2 C55x DSPC代码书写的普遍问题 214
7.2.3 DSP C运行时间环境 217
7.3.2 编译C代码 224
7.3.1 C55x C代码优化步骤 224
7.3 TMS320C55x C代码优化 224
7.3.3 剖切C代码 227
7.3.4 改进C代码 227
7.3.5 存储器管理问题 231
7.4 TMS320C55x C和汇编语言混合编程 234
7.4.1 TMS320C55x C和汇编语言混 234
合编程概述 234
7.4.2 寄存器规则 234
7.4.3 函数结构和调用规则 236
7.4.4 C和汇编语言的接口 239
第8章 应用程序设计实例 242
8.1 FIR滤波器的DSP程序设计分析 242
8.1.1 FIR滤波器原理 242
8.1.2 FIR滤波器的DSP程序设计 244
8.2 FFT算法的原理和实现 249
8.2.1 FFT算法原理 249
8.2.2 FFT算法实现 251
参考文献 258