目录 1
出版说明 1
前言 1
第1章 DSP系统与DSP芯片 1
1.1 引言 1
1.2 DSP系统 2
1.2.1 基本DSP系统的构成 2
1.2.2 DSP系统的特点 2
1.2.3 DSP系统的设计 3
1.2.4 DSP系统的开发 4
1.3 DSP芯片 5
1.3.1 DSP芯片的定义 5
1.3.2 DSP芯片的发展 5
1.3.3 TI公司的DSP芯片 6
1.3.4 DSP芯片的分类 7
1.3.5 DSP芯片的选择 8
1.3.6 DSP芯片的应用 10
1.4 小结 10
1.5 习题与思考题 11
2.1 定标的基本概念 12
2.1.1 数的定标 12
第2章 DSP芯片的运算基础 12
2.1.2 溢出及处理方法 13
2.1.3 舍入(rounding)及截尾(truncation) 14
2.2 定点运算实现的基本原理 14
2.2.1 加法/减法运算的C语言定点模拟 15
2.2.2 乘法运算的C语言定点模拟 16
2.2.3 除法运算的C语言定点模拟 17
2.2.4 程序变量的Q值确定 17
2.2.5 浮点至定点变换的C程序举例 18
2.3 DSP定点算术运算实现的基本原理 20
2.3.1 定点乘法 21
2.3.3 定点除法 22
2.3.2 定点加法 22
2.4 非线性运算定点快速实现的基本方法 24
2.5 小结 28
2.6 习题与思考题 29
第3章 TMS320C24x DSP的硬件结构 30
3.1 DSP芯片的资源配置及引脚说明 30
3.1.1 资源配置 30
3.1.2 DSP芯片引脚说明 32
3.2 基本结构 36
3.3 DSP中央处理单元(CPU) 36
3.3.4 乘法器 38
3.3.3 输入定标移位器 38
3.3.1 中央算术逻辑单元 38
3.3.2 累加器 38
3.3.5 DSP状态和控制寄存器 39
3.3.6 辅助寄存器算术单元 40
3.4 系统配置寄存器 41
3.5 存储器及I/O空间 43
3.5.1 内部存储器 43
3.5.2 存储器空间组织 44
3.6 中断 45
3.6.2 CPU中断寄存器 46
3.6.1 中断响应过程 46
3.6.3 外设中断寄存器 47
3.7 片内外设 48
3.7.1 串行通信接口(SCI) 48
3.7.2 串行外设接口(SPI) 53
3.7.3 看门狗定时器(WD) 57
3.7.4 数字输入/输出模块(I/O) 58
3.7.5 局域网控制器模块(CAN) 60
3.7.6 模数转换模块(ADC) 71
3.7.7 事件管理器模块(EV) 76
3.8 外部总线操作 85
3.9 小结 86
3.10 习题与思考题 87
第4章 TMS320C24x DSP的指令 88
系统 88
4.1 符号与缩写 88
4.2 寻址方式 89
4.2.1 立即数寻址 89
4.2.2 直接寻址 90
4.2.3 间接寻址 90
4.3 TMS320C24x DSP汇编指令 93
4.4 TMS320C24x汇编语言编程实例 119
4.5 小结 121
4.6 习题与思考题 121
第5章 DSP芯片的程序结构 122
5.1 COFF目标文件格式 122
5.1.1 块(Section) 122
5.1.2 汇编器对块的处理 123
5.1.3 链接器对块的处理 124
5.1.4 程序重定位 124
5.1.5 COFF文件中的符号 125
5.2 链接命令文件 126
5.3 COFF格式编程举例 128
5.4 小结 129
5.5 习题与思考题 129
第6章 DSP集成开发环境——CCS 130
6.1 CCS软件安装与设置 130
6.1.1 CCS软件安装 130
6.1.2 CCS软件设置 130
6.2 CCS集成环境与使用 133
6.2.1 工程创建 133
6.2.2 工程项目选项设置 134
6.2.4 装载运行 135
6.2.3 编译和链接 135
6.2.5 程序调试 136
6.2.6 Flash程序固化 139
6.3 调试实例和CCS高级功能介绍 140
6.3.1 打开并检查一个工程 140
6.3.2 查看代码 140
6.3.3 添加Probe Point从文件中输入数据 142
6.3.4 图形显示数据 144
6.3.5 程序Animate运行和图形显示 145
6.4 小结 146
6.5 习题与思考题 146
7.1.1 TMS320C24x C语言特征 147
第7章 TMS320C24x DSP的C语言编程基础 147
7.1 TMS320C24xC语言 147
7.1.2 数据类型 148
7.1.3 寄存器变量 149
7.1.4 Pragma伪指令 149
7.1.5 创建全局寄存器变量 150
7.1.6 初始化静态变量和全局变量 152
7.2 TMS320C24xC语言程序开发 153
7.2.1 存储器模式 153
7.2.2 寄存器规则 157
7.2.3 函数结构和调用规则 158
7.2.4 中断处理 160
7.2.5 系统初始化 162
7.3 C语言和汇编语言混合编程 164
7.3.1 独立的C和汇编程序模块接口 164
7.3.2 在C语言中直接嵌入汇编语句 166
7.3.3 在C程序中访问汇编程序变量 167
7.3.4 修改编译器输出 168
7.4 小结 168
7.5 习题与思考题 168
8.1.1 DSP硬件系统设计的一般步骤 169
8.1 硬件设计的基本问题 169
第8章 TMS320C24x DSP的硬件设计基础 169
8.1.2 最小系统原理图 170
8.2 DSP基本硬件设计 172
8.2.1 复位电路 172
8.2.2 时钟电路 172
8.2.3 电源电路 173
8.2.4 电平转换 174
8.2.5 存储器扩展 175
8.2.6 外围电路扩展1——CAN 175
8.3.1 电源系统的EMC设计 176
8.3.2 接地系统抗干扰设计 176
8.2.8 其他电路 176
8.3 DSP PCB布板基础 176
8.2.7 外围电路扩展2——485 176
8.3.3 其他布线规则 177
8.3.4 固件抗干扰机制 177
8.4 小结 177
8.5 习题与思考题 177
第9章 TMS320C24x DSP的应用程序设计 178
9.1 系统初始化设计 178
9.2 通用I/O端口控制 178
9.3 中断系统设计 181
9.3.1 不可屏蔽中断 182
9.3.2 可屏蔽中断 182
9.4 事件管理器设计 183
9.4.1 通过定时器中断输出数字信号 183
9 4 2 PWM信号产生 188
9.4.3 通过捕捉单元捕捉信号跳变 193
9.5 模数转换模块设计(ADC) 200
9 6 串行通信接口设计(SCI) 206
9.7 DSP应用系统调试实例 210
9.7.1 程序代码 210
9.7.2 程序调试 213
9.7.3 独立系统设计 214
9.8 小结 214
9.9 习题与思考题 215
附录 216
附录A TMS320LF/LC240xA DSP芯片引脚图 216
附录B TMS320C24x指令速查表 219
附录C TMS320LF2407A C程序寄存器头文件regs2407.h 220
附录D TMS320LF240xA汇编程序头文件240xA.h 225
附录E 缩写词的英文对照 230
参考文献 233