第1章 TMS320C54x的结构原理 10
1.1 TMS320系列DSP芯片概述 10
1.1.1 TMS320系列DSP的分类及应用 10
1.1.2 TMS320C5000 DSP平台 11
1.2 TMS320C54x DSP 13
1.2.1 TMS320C54x的主要特性 13
1.2.2 TMS320C54x的组成框图 16
1.3 总线结构 18
1.4 存储器 19
1.4.1 存储器空间分配 20
1.4.2 程序存储器 22
1.4.3 数据存储器 24
1.5 中央处理单元 27
1.5.1 算术逻辑运算单元 27
1.5.2 累加器A和B 28
1.5.3 桶形移位器 30
1.5.4 乘法器/加法器单元 31
1.5.5 比较、选择和存储单元 32
1.5.6 指数编码器 33
1.5.7 CPU状态和控制寄存器 33
1.6 数据寻址方式 38
1.6.1 立即寻址 40
1.6.2 绝对寻址 40
1.6.3 累加器寻址 40
1.6.4 直接寻址 41
1.6.5 间接寻址 42
1.6.6 存储器映像寄存器寻址 45
1.6.7 堆栈寻址 46
1.7 程序存储器地址生成方式 47
1.7.1 程序计数器 47
1.7.2 分支转移 48
1.7.3 调用与返回 49
1.7.4 条件操作 50
1.7.5 重复操作 51
1.7.6 复位操作 53
1.7.7 中 断 54
1.7.8 省电方式 58
1.8 流水线 58
1.8.1 流水线操作 59
1.8.2 延迟分支转移 61
1.8.3 条件执行 62
1.8.4 双寻址存储器与流水线 63
1.8.5 单寻址存储器与流水线 65
1.8.6 流水线冲突和插入等待周期 65
1.9 在片外围电路 69
1.9.1 并行I/O口及通用I/O引脚 69
1.9.2 定时器 70
1.9.3 时钟发生器 72
1.9.4 主机接口 76
1.10 串行口 81
1.10.1 串行口概述 81
1.10.2 标准串行口 82
1.10.3 多通道缓冲串行口(McBSP) 87
1.11 DMA控制器 95
1.11.1 DMA控制器的基本特性 95
1.11.2 子地址寻址方式 95
1.11.3 DMA通道优先级和使能控制寄存器 98
1.11.4 DMA通道现场寄存器 100
1.11.5 DMA编程举例 106
1.12 外部总线 111
1.12.1 外部总线接口 111
1.12.2 外部总线操作的优先级别 112
1.12.3 等待状态发生器 113
1.12.4 分区切换逻辑 115
1.12.5 外部总线接口定时图 116
1.12.6 复位和IDLE3省电工作方式 118
1.13 TMS320C54x引脚信号说明 120
第2章 指令系统 128
2.1 指令的表示方法 128
2.1.1 指令系统中的符号和略语 128
2.1.2 指令系统中的记号和运算符 131
2.2 指令系统 132
2.2.1 指令系统概述 132
2.2.2 指令系统分类 133
第3章 汇编语言程序开发工具 134
3.1 TMS320C54x软件开发过程 134
3.2 汇编语言程序的编写方法 136
3.3 汇编语言程序的编辑、汇编和链接过程 138
3.4 COFF的一般概念 140
3.4.1 COFF文件中的段 140
3.4.2 汇编器对段的处理 141
3.4.3 链接器对段的处理 143
3.4.4 COFF文件中的符号 145
3.5 汇编 146
3.5.1 运行汇编程序 146
3.5.2 列表文件 148
3.5.3 汇编命令 151
3.5.4 宏定义和宏调用 151
3.6 链 接 153
3.6.1 运行链接程序 153
3.6.2 链接器选项 154
3.6.3 链接器命令文件 155
3.6.4 多个文件的链接 161
第4章 集成开发环境(CCS5.4) 166
4.1 CCS概述 166
4.1.1 集成开发环境CCS概述 166
4.1.2 CCS5.4 软件的安装 167
4.2 汇编语言工程的建立和调试 168
4.2.1 进入CCS主界面 168
4.2.2 汇编语言工程的创建 169
4.2.3 汇编源文件和命令文件的创建 171
4.2.4 工程的构建(Build) 173
4.2.5 构建操作的参数设置 174
4.2.6 汇编工程的调试 175
4.2.7 寄存器的观察和修改 177
4.2.8 存储器的观察和修改 178
4.3 C语言工程的建立和调试 179
4.3.1 进入CCS主界面 179
4.3.2 C语言工程的创建 179
4.3.3 C源文件和命令文件的创建、添加和编辑 180
4.3.4 C语言工程的构建 182
4.3.5 C语言工程的调试 182
4.3.6 寄存器、存储器的观察和修改 183
4.3.7 表达式窗口和变量窗口的使用 184
4.3.8 反汇编窗口的使用 184
4.3.9 图形显示工具 185
第5章 汇编语言程序设计 187
5.1 程序的控制与转移 187
5.2 堆栈的使用方法 189
5.3 加、减法和乘法运算 190
5.4 重复操作 191
5.5 数据块传送 193
5.6 双操作数乘法 195
5.7 长字运算和并行运算 196
5.8 小数运算 200
5.9 除法运算 202
5.10 浮点运算 204
第6章 TMS320C54x的软硬件应用 208
6.1 TMS320C54x与存储器及外围设备接口 208
6.2 TMS320C54x与慢速器件接口 209
6.3 FIR滤波器的C54x实现方法 213
6.4 IIR滤波器的C54x实现方法 225
6.5 快速傅里叶变换(FFT)的C54X实现方法 231
6.6 正弦和余弦信号发生器 238
6.7 自举加载器 247
6.8 DMA与McBSP相结合的数据采集系统 253
附录A TMS320系列芯片DSP的命名方法 268
附录B TMS320C5402引脚图和引脚分配表 269
附录C TMS320C54x DSP的中断向量表和硬件中断优先权 272
附录D 等待周期表 275
附录E TMS320C54x指令系统一览表(按指令功能排列) 278
附录F TMS320C54x指令系统一览表(按指令字母顺序排列) 293
附录G TMS320C54x汇编命令一览表 305
附录H FFT正弦、余弦系数表 308
参考文献 315