第1章 概论 1
1.1 DSP的简介 1
1.2 DSP的历史和发展 1
1.2.1 Intel2920芯片 2
1.2.2 μPD7720芯片 2
1.2.3 TMS32010芯片 3
1.3 TI公司的DSP 4
1.3.1主要特点 5
1.3.2典型应用 7
第2章 硬件结构 8
2.1总线结构 8
2.2内部存储器的组织 9
2.3.1算术逻辑单元(ALU) 10
2.3中央处理单元(CPU) 10
2.2.5存储器映射寄存器 10
2.2.4片内存储器的安全 10
2.2.3片内单操作RAM(SARAM) 10
2.2.2片内双操作RAM(DARAM) 10
2.2.1片内ROM 10
2.3.2累加器 11
2.3.3定标移位器 11
2.3.4乘法/加法器单元 11
2.3.5比较选择存储单元CSSU 11
2.4数据寻址 11
2.5程序寻址 12
2.6流水线操作 12
2.7片内外设 12
2.7.1通用I/O引脚 12
2.7.2软件可编程等待状态发生器 12
2.8.2缓冲串行口 13
2.8.1同步串行I/O口 13
2.8串行口 13
2.7.5硬件定时器 13
2.7.4主机接口(HPI) 13
2.7.3可编程存储体转换逻辑 13
2.7.6时钟发生器 13
2.8.3分时复用串行口 14
2.9外部总线接口 14
2.10 IEEE标准1149.1扫描逻辑电路 14
第3章 存储器 15
3.1存储器空间 15
3.2程序存储器 21
3.2.1程序存储器的组织 21
3.2.2片内ROM的组织 21
3.2.3程序存储器的地址和片内ROM的内容 21
3.2.4片内ROM的代码内容和分布 21
3.3数据存储器 22
3.3.1数据存储器的配置 22
3.3.3数据存储器映像寄存器 23
3.3.2片内RAM的组织 23
3.3.4 CPU存储器映像寄存器 25
3.4 I/O存储器 26
3.5程序和数据安全保护 26
第4章 中央处理单元 28
4.1 CPU状态和控制寄存器 28
4.1.1状态寄存器(ST0和ST1) 28
4.1.2处理器模式状态寄存器(PMST) 31
4.2算术逻辑单元(ALU) 33
4.2.1 ALU的输入 33
4.2.2溢出处理 34
4.2.3进位位(C) 35
4.2.4双16位算术模式 35
4.3累加器A和B 35
4.3.1保存累加器的内容 35
4.3.3累加器存储中的饱和操作(LP器件) 36
4.3.2累加器的移位和旋转操作 36
4.3.4专用指令 37
4.4滚筒移位器 37
4.5乘法/加法器单元 38
4.5.1乘法器的输入 39
4.5.2乘法/累加(MAC)指令 40
4.5.3 MAC和MAS指令计算乘法时的饱和操作 40
4.6比较选择和存储单元(CSSU) 41
4.7指数编码器 42
第5章 数据寻址方式 44
5.1立即寻址 44
5.2绝对寻址 45
5.2.1数据存储器(dmad)寻址 45
5.2.2程序存储器(pmad)寻址 45
5.2.3口地址(PA)寻址 45
5.4直接寻址 46
5.3累加器寻址 46
5.2.4长立即数*(lk)寻址 46
5.4.1基于DP的直接寻址 47
5.4.2基于SP的直接寻址 47
5.5间接寻址 48
5.5.1单操作数寻址 48
5.5.2辅助寄存器算术单元ARAU和地址的产生 49
5.5.3单操作数地址的修改方式 49
5.5.4双操作数地址的修改方式 53
5.5.5 TMS320C2x/C2xx/C5x的兼容(ARP)模式 55
5.6存储器映像寄存器寻址 56
5.7堆栈寻址 57
5.8数据类型 58
第6章 程序存储器寻址 60
6.1程序存储器地址的产生 60
6.2程序计数器(PC) 61
6.3.2条件跳转 62
6.3跳转 62
6.3.1无条件跳转 62
6.3.3长跳转(用于TMS320C548) 63
6.4调用 63
6.4.1无条件调用 63
6.4.2条件调用 64
6.4.3长调用(用于TMS320C548) 64
6.5返回 64
6.5.1无条件返回 65
6.5.2条件返回 65
6.5.3长返回(用于TMS320C548) 66
6.6条件操作 66
6.6.1使用多条件 67
6.6.2条件执行(XC)指令 67
6.6.3条件存储指令 67
6.7单一指令的重复 68
6.8块重复指令 69
6.9复位 70
6.10中断 71
6.10.1中断标志寄存器(IFR) 72
6.10.2中断屏蔽寄存器(IMR) 72
6.10.3接受中断请求 73
6.10.4响应中断 73
6.10.5执行中断服务程序(ISR) 74
6.10.6保护中断现场 74
6.10.7中断延时 75
6.10.8中断操作的总结 75
6.10.9重新映像中断矢量地址 75
6.10.10中断向量表 77
6.11省电模式 80
6.11.1闲置模式1 80
6.11.2闲置模式2 80
6.11.3闲置模式3 80
6.11.5其它省电功能 81
6.11.4保持模式 81
第7章 流水线 82
7.1流水线概述 82
7.1.1流水线中的跳转指令 84
7.1.2流水线中的调用指令 86
7.1.3流水线中的返回指令 88
7.1.4流水线中的条件执行指令 91
7.1.5流水线中的条件调用和条件跳转指令 92
7.2中断和流水线 95
7.3双操作存储器和流水线 96
7.3.1消除取指和操作数读之间的冲突 98
7.3.2消除操作数写和双操作数读之间的冲突 98
7.3.3消除操作数写、操作数写和双操作数读之间的冲突 99
7.4单操作存储器和流水线 100
7.5.1访问存储器映像寄存器的指令 101
7.5流水线延时 101
7.5.2更新ARx、BK或SP时消除冲突的方法 103
7.5.3 DACEN寄存器访问冲突的规律 106
7.5.4 ARx和BK的延时 106
7.5.5堆栈指针的延时 110
7.5.6暂态寄存器的延时 114
7.5.7访问状态寄存器的延时 116
7.5.8块重复循环的延时 123
7.5.9 PMST寄存器的延时 126
7.5.10映像存储器访问系加器的延时 128
第8章 片内外设 131
8.1外设存储器映像寄存器 131
8.2通用I/O口 135
8.2.1跳转控制输入引脚BIO 135
8.2.2外部标志输出引脚XF 135
8.3定时器 135
8.3.1定时寄存器 135
8.3.2定时器操作 136
8.4时钟发生器 137
8.4.1硬件设置的锁相环电路PLL 138
8.4.2软件可编程PLL(适用于TMS320C545LP/546LP/548) 138
8.5主机接口 143
8.5.1主机接口的基本功能 144
8.5.2 HPI的操作 145
8.5.3主机读写HPI 148
8.5.4 DSPINT和HINT的操作 151
8.5.5改变主机存储器访问模式(SAM/HOM)和使用省电模式(IDLE2/3)的考虑 151
8.5.6复位时访问HPI存储器 152
第9章 串行接口 153
9.1串行接口的简介 153
9.2串行接口 153
9.2.1串口寄存器 154
9.2.2串口操作 155
9.2.3串行接口的设置 155
9.2.4猝发模式的发送和接收操作 161
9.2.5连续模式的传送和接收操作 167
9.2.6串口例外 168
9.2.7串口操作举例 171
9.3缓冲串行接口BS 172
9.3.1在标准模式的缓冲串口的操作 172
9.3.2自动缓冲单元的操作 176
9.3.3 BSP操作的系统考虑 181
9.3.4省电模式时的BSP操作 184
9.4时分多路(TDM)串行接口 184
9.4.1时分多路串行接口的基本操作 184
9.4.2 TDM串口寄存器 185
9.4.3 TDM串口操作 185
9.4.4 TDM模式的发送和接收操作 188
9.4.5 TDM串口的例外 189
9.4.6 TDM串口操作举例 189
10.2外部总线优先级 193
10.1外部总线接口 193
第10章 外部总线操作 193
10.3外部总线控制 194
10.3.1等待状态发生器 194
10.3.2存储器组切换逻辑 195
10.4外部总线接口时序 198
10.4.1存储器操作时序 198
10.4.2 I/O操作时序 199
10.4.3存储器操作及I/O操作时序 200
10.5上电操作时序 203
10.5.1复位 203
10.5.2省电模式3 204
10.6保持模式 205
10.6.1保持状态中的中断 206
10.6.2保持和复位 206
11.1指令系统的符号与缩写 209
第11章 汇编指令 209
11.2指令说明 214
11.2.1算术运算 214
11.2.2逻辑运算 217
11.2.3程序控制指令 219
11.2.4加载和存储指令 221
11.2.5重复执行单条指令 224
11.3指令的类型和周期 226
11.4汇编指令 261
第12章 代数指令 383
第13章TMS320C54x的硬件设计 516
13.1复位电路 517
13.2时钟电路 517
13.3外部存储器与并行I/O接口电路 518
13.4串行I/O接口电路 518
13.5 BOOT设计 520
13.5.2 16位/8位并行存储器引导模式 521
13.5.1主机接口(HPI)引导模式 521
13.5.3 16位/8位并行I/O口引导模式 523
13.5.4串口引导模式 525
13.5.5 WARM引导模式 525
13.6主从应用系统的设计 526
13.6.1主从系统中的串行通信接口 526
13.6.2主从系统中的并行通信接口 526
13.6.3主从系统中的共享存储器 527
第14章 开发工具及其应用 530
14.1引言 530
14.2共同目标文件格式COFF 531
14.2.1 COFF文件的类型 531
14.2.2块(section) 532
14.2.3汇编器对块的处理 532
14.2.4链接器对块的处理 534
14.2.5程序重定位 535
14.2.6运行重定位 536
14.2.7装入一个程序 537
14.2.8 COFF文件中的符号 537
14.3代码生成工具 537
14.3.1汇编器 538
14.3.2 C编译器 539
14.3.3档案管理器 540
14.3.4链接器 541
14.3.6交叉参照工具 543
14.3.5绝对列表器 543
14.3.7 Hex转换工具 544
14.3.8汇编 代数语言翻译工具 544
14.4代码调试工具 545
14.4.1 C/汇编语言源码调试器 545
14.4.2初学者工具DSR 547
14.4.3评估模块EVM 548
14.4.4软件开发系统SWDS 549
14.4.5仿真器XDS 549