第1章DSP系统设计的基础知识 1
1.1数制和数制转换 1
1.2数据位数和符号 2
1.3补码 2
1.4补码加减运算 3
1.5符号扩展与补码乘法 5
1.6整数除法运算 6
1.7小数补码和运算 6
习题 7
第2章TMS320C54x数字信号处理器硬件结构 8
2.1 TMS320C54x的内部结构及主要特性 8
2.1.1 TMS320C54x的内部结构 8
2.1.2 TMS320C54x的主要特性 8
2.2总线结构 11
2.3存储系统 11
2.3.1存储器空间 12
2.3.2片内ROM存储器 13
2.3.3数据存储器 13
2.3.4 I/O存储器空间 16
2.4中央处理单元(CPU) 16
2.4.1 CPU状态和控制寄存器 16
2.4.2算术逻辑单元(ALU) 20
2.4.3累加器A和B 21
2.4.4桶形移位器 22
2.4.5乘法器/加法器单元 23
2.4.6比较、选择和存储单元 24
2.4.7指数编码器 25
2.5 TMS320VC5416的引脚及说明 25
习题 31
第3章TMS320C54x DSP片内外设 32
3.1时钟发生器 32
3.1.1硬件配置锁相环 32
3.1.2软件配置锁相环 33
3.1.3主时钟CLKOUT输出 35
3.2定时器 35
3.2.1定时器工作原理 35
3.2.2定时器的多时钟应用 37
3.3中断系统 38
3.3.1中断分类 38
3.3.2中断屏蔽寄存器(IMR)和中断标志寄存器(IFR) 39
3.3.3中断请求及中断处理 39
3.3.4中断操作流程 41
3.3.5重新映射中断向量地址 43
3.4通用I/O接口 43
3.4.1 XF和BIO 43
3.4.2 HPI数据线用作通用I/O接口 44
3.4.3 McBSP用作通用I/O接口 44
3.5 McBSP用作SPI接口 45
3.5.1 SPI协议与McBSP 45
3.5.2 McBSP配置为SPI的方法 46
3.5.3 McBSP配置为SPI主机模式的操作 47
3.5.4 McBSP配置为SPI从机模式的操作 48
3.5.5 McBSP用作SPI接口的初始化 48
3.6多通道缓冲串口McBSP 48
3.6.1 McBSP的主要特性 48
3.6.2 McBSP的工作原理 49
3.6.3 McBSP的发送与接收 59
3.7主机接口 61
3.7.1概述 61
3.7.2 HPI8接口结构 62
3.7.3 HPI8引脚功能 62
3.7.4 HPI8有关寄存器 63
3.7.5非复用模式下的HPI16接口 64
3.8 DMA控制器 65
3.8.1 DMA寄存器 65
3.8.2 DMA各个通道寄存器 68
3.9外部总线操作 73
3.9.1外部总线的硬件组成 73
3.9.2外部总线时钟 73
3.9.3外部总线优先权及等待 73
3.9.4外部总线时序 74
3.9.5软件等待状态寄存器和软件等待控制寄存器 76
3.9.6可编程分区切换逻辑 78
习题 80
第4章 寻址方式与流水线 81
4.1数据寻址方式 81
4.1.1立即数寻址 81
4.1.2绝对寻址 82
4.1.3累加器寻址 83
4.1.4直接寻址 83
4.1.5间接寻址 84
4.1.6存储器映射寄存器寻址 88
4.1.7堆栈寻址 88
4.2程序寻址方式 89
4.2.1程序存储器地址生成器 89
4.2.2程序计数器(PC)和扩展程序计数器(XPC) 90
4.2.3延时转移下的PC操作 91
4.3指令流水线 92
4.4汇编程序流程控制 93
4.4.1条件操作 93
4.4.2分支转移指令 94
4.4.3重复操作指令 96
4.4.4函数调用与返回 97
4.4.5中断 99
习题 99
第5章TMS320C54x DSP汇编指令 100
5.1汇编程序格式 100
5.2汇编表达式 102
5.3指令中的符号及缩写 103
5.4指令系统 105
5.4.1加载和存储指令 105
5.4.2程序控制指令 108
5.4.3算术运算指令 110
5.4.4逻辑运算指令 116
5.4.5并行操作指令 118
5.5可重复和不可重复执行的指令 120
5.5.1重复执行时变成单周期的多周期指令 120
5.5.2不可重复执行的指令 120
5.6汇编伪指令 121
5.6.1变量定义和常数初始化 121
5.6.2段定义相关伪指令 123
5.6.3引用其他文件和条件汇编 123
5.6.4宏定义和宏引用 123
5.6.5 MEMORY和SECTIONS伪指令 124
习题 125
第6章 汇编程序设计 126
6.1算法设计方法 126
6.1.1查表法 126
6.1.2数学变换法 127
6.2 FIR滤波器的设计 128
6.2.1直接型FIR滤波器实现 129
6.2.2系数对称FIR滤波器实现 132
6.2.3 FIR滤波系数的MATLAB辅助设计 134
6.2.4 DSPLIB库中的FIR滤波函数 135
6.2.5调用DSPLIB库文件的方法 136
6.3 IIR滤波器设计 137
6.3.1 IIR滤波器传递函数及实现结构 137
6.3.2 IIR滤波系数的MATLAB辅助设计 138
6.3.3 DSPLIB库的IIR滤波器程序 140
6.4快速傅立叶变换的DSP实现 141
6.4.1基2复数FFT算法的原理 141
6.4.2实序列FFT算法(RFFT)原理 142
6.4.3蝶形运算的实数实现 144
6.4.4 16点RFFT算法流程 144
习题 145
第7章C语言编程与混合编程 146
7.1 C语言编程 146
7.1.1 C54x支持的基本数据类型 146
7.1.2常量与变量 147
7.1.3运算符与表达式 147
7.1.4函数及调用规则 148
7.1.5 C语言库函数 148
7.1.6 DSPLIB汇编库函数 149
7.2 C程序编译 151
7.2.1 C编译器生成的段 151
7.2.2 C编译器的寄存器规则 152
7.2.3 C程序的系统初始化 153
7.3 C语言与汇编语言混合编程 153
7.3.1混合编程方式 153
7.3.2 C程序访问汇编变量 153
7.3.3 C程序访问汇编函数 155
习题 156
第8章DSP硬件系统设计 157
8.1 DSP应用领域 157
8.2 DSP系统设计流程 157
8.3 DSP硬件系统设计 159
8.3.1电源模块 159
8.3.2复位电路 160
8.3.3存储器 160
8.3.4 A/D和D/A模块 161
8.3.5键盘和液晶显示器 162
8.3.6仿真接口 162
8.4键盘输入接口设计 163
8.4.1行列式键盘工作原理 163
8.4.2独立式键盘工作原理 164
8.4.3标准PS/2键盘工作原理 164
8.4.4行列式键盘与DSP接口编程 166
8.5液晶显示器接口设计 167
8.5.1显示结构 167
8.5.2引脚说明 168
8.5.3串行传输时序图 169
8.5.4指令说明 169
8.5.5液晶显示器与DSP接口应用 174
8.6 A/D接口设计 175
8.6.1 TLV1572工作原理 175
8.6.2 TLV1572与DSP接口应用 177
8.7 D/A接口设计 178
8.7.1 TLV5617工作原理 178
8.7.2 TLV5617与DSP接口应用 180
习题 181
附录1线性相位FIR低通滤波器设计的MATLAB程序 182
附录2浮点数转化为定点十六进制数的MATLAB程序 184
附录3 RFFT汇编程序 187
参考文献 198