目录 1
第1章 绪论 1
1.1 引言 1
1.2 DSP芯片概述 2
1.3 运算基础 4
1.3.1 数据格式 4
1.3.2 定点算术运算 7
2.1.1 TMS320C54x DSP的基本结构 11
2.1 TMS320C54x DSP的结构 11
第2章 TMS320C54x的CPU结构和存储器配置 11
2.1.2 TMS320C54x DSP的主要特点 12
2.2 TMS320C54x的总线结构 14
2.3 TMS320C54x的CPU结构 15
2.3.1 算术逻辑运算单元 15
2.3.2 累加器 15
2.3.3 桶形移位器 16
2.3.4 乘累加器单元 16
2.3.7 CPU状态控制寄存器 17
2.3.6 指数编码器 17
2.3.5 比较选择存储单元 17
2.3.8 寻址单元 19
2.4 TMS320C54x存储器和I/O空间 19
2.4.1 存储器空间 20
2.4.2 程序存储器 23
2.4.3 数据存储器 27
2.4.4 I/O空间 29
3.1 数据寻址方式 30
3.1.1 指令的表示方法 30
第3章 指令系统 30
3.1.2 数据寻址方式 31
3.2 TMS320C54x的指令系统 42
3.2.1 指令系统概述 42
3.2.2 指令系统分类 46
第4章 TMS320C54x汇编语言程序设计 82
4.1 TMS320C54x汇编语言的基本概念 82
4.1.1 TMS320C54x汇编语句的组成 82
4.1.2 TMS320C54x汇编语言中的常数、字符串、符号与表达 83
4.1.3 TMS320C54x伪指令 85
4.1.4 TMS320C54x宏命令 90
4.2 TMS320C54x汇编语言程序设计的基本方法 91
4.2.1 TMS320C54x汇编语言源程序的完整结构 92
4.2.2 顺序结构程序 92
4.2.3 分支结构程序 93
4.2.4 循环结构程序 93
4.2.5 子程序结构 94
4.3 TMS320C54x汇编语言程序的编辑、汇编与链接过程 98
4.4 汇编器 100
4.4.1 COFF文件的一般概念 101
4.4.2 汇编器对段的处理 102
4.5 链接器 104
4.5.1 链接器对段的处理 105
4.5.2 链接器命令文件 106
4.5.3 程序重定位 111
4.6 Simulator的使用方法 112
4.6.1 软件仿真器概述 112
4.6.2 仿真命令 114
4.6.3 仿真器初始化命令文件 116
4.6.4 仿真外部中断 117
4.7 汇编程序举例 118
第5章 TMS320C54x的引脚功能、流水线结构和外部总线结构 139
5.1 TMS320C54x的引脚和信号说明 139
5.2 流水线结构 141
5.3 外部总线结构 143
5.3.1 外部总线接口信号 144
5.3.2 外部总线控制性能 144
5.3.3 外部总线接口时序图 147
6.1.1 时钟电路 150
6.1 时钟发生器 150
第6章 TMS320C54x片内外设 150
6.1.2 时钟模块编程 151
6.1.3 低功耗(节电)模式 153
6.2 中断系统 154
6.2.1 中断结构 154
6.2.2 中断流程 157
6.2.3 中断编程 159
6.3 定时器 161
6.3.1 定时器结构 161
6.3.2 定时器编程 162
6.4 主机接口 163
6.4.1 HPI结构及其工作方式 164
6.4.2 HPI接口设计 164
6.4.3 HPI控制寄存器 166
6.5 串行口 167
6.5.1 串行口概述 167
6.5.2 串行口的组成框图 167
6.5.3 串行口编程 168
7.1.1 CCS的发展 171
第7章 CCS开发工具及应用 171
7.1 CCS概述 171
7.1.2 代码生成工具 173
7.1.3 CCS集成开发环境 174
7.1.4 DSP/BIOS插件 175
7.1.5 硬件仿真和实时数据交换 178
7.1.6 CCS小结 180
7.2 CCS的安装及窗口 180
7.2.1 CCS的安装 180
7.2.2 CCS的文件和变量 182
7.2.3 CCS的窗口、主菜单和工具条 183
7.2.4 TMS320C5402DSK的配置和使用 185
7.2.5 XDS510PP的配置和使用 190
7.3 开发一个简单的应用程序 194
7.3.1 创建一个新的工程 194
7.3.2 向一个工程里添加文件 195
7.3.3 查看源代码 196
7.3.4 编译和运行程序 197
7.3.5 修改程序设置和纠正语法错误 198
7.3.6 使用断点和观察窗口 200
7.3.7 使用观察窗口观察structure变量 201
7.3.8 测算源代码执行时间 201
7.4 算法和数据测试的例子 203
7.4.1 打开和查看工程 203
7.4.2 回顾源代码 204
7.4.3 为I/O文件增加探针 206
7.4.4 显示图形 208
7.4.5 执行程序和绘制图形 209
7.4.6 调节增益 210
7.4.7 GEL文件的使用 211
7.4.8 进一步的探索 212
7.5 使用DSP/BIOS的语音实例[21] 212
7.5.1 DSP/BIOS SWI和PIP模块概述 212
7.5.2 语音实例 214
7.5.3 结论 231
第8章 DSP芯片应用 232
8.1 引言 232
8.2 DSP芯片C语言开发简介 232
8.2.1 TMS320C54x C/C++编译器支持的数据类型 232
8.2.2 C语言的数据访问方法 233
8.2.3 C语言和汇编语言的混合编程方法 235
8.2.4 中断函数 236
8.2.5 存储器模式 237
8.2.6 其他注意事项 239
8.3 模/数接口设计 240
8.3.1 TLC320AD50及其接口[26] 241
8.3.2 模/数接口的硬件电路设计 242
8.3.3 模/数接口的软件设计 243
8.4.1 TMS320C5409的存储器接口 250
8.4 存储器接口设计 250
8.4.2 FLash擦写 254
8.4.3 Bootload设计 257
8.5 G.726语音编解码系统 261
8.5.1 G.726算法简介 262
8.5.2 系统构成 264
8.5.3 系统软硬件设计 265
8.5.4 系统调试 266
8.6 语音实时变速系统 267
8.6.1 语音变速算法简介 268
8.6.2 系统构成 270
8.6.3 系统软硬件设计 270
8.6.4 系统调试 273
附录 275
附录1 TMS320系列DSP的命名方法 275
附录2 TMS320C54x引脚信号说明 276
附录3 TMS320C54x DSP的中断向量和中断优先权 281
附录4 TMS320C54x片内存储器映像外围电路寄存器 288
参考文献 293