第1章 数字信号处理器技术综述 1
1.1数字信号处理器的发展和特点 1
1.2数字信号处理器的应用领域 3
第2章 数字信号处理器类型及应用概述 5
2.1DSP种类 5
2.2各类型DSP介绍 6
2.2.1专用DSP 6
2.2.2定点DSP 14
2.2.3浮点DSP 22
2.2.4并行浮点DSP 28
2.2.5其它超高性能DSP 34
2.3DSP的应用和开发 39
2.3.1DSP的应用 39
2.3.2DSP的开发系统 41
2.3.3模块化系统 43
第3章 ADSP2106X功能与结构 46
3.1ADSP2106X处理器概述 46
3.2ADSP2106X运算控制单元 48
3.2.1运算单元 48
3.2.2程序控制器 50
3.2.3地址产生器和总线 50
3.2.4中断 50
3.2.5寄存器组成 52
3.2.6寄存器状态标志 53
3.2.7ADSP2106X管脚说明 56
3.3存储器组织 61
3.3.1存储器总线 61
3.3.2存储器映射 61
3.3.3多处理器存储共享 62
3.3.4片内存储器 63
3.3.5片外存储器 66
3.3.6存储器控制与接口 66
3.4DMA 66
3.4.1DMA建立 67
3.4.2DMA端口选择 68
3.4.3DMA状态寄存器和参数寄存器 68
3.4.4DMA通道优先权 69
3.4.5链式DMA 69
3.4.6DMA中断 69
3.4.7DMA的产生和终止 70
3.4.8外部总线DMA的特别用法 70
3.4.9DMA传送速度 70
3.4.10二维DMA 71
3.5多处理器共享存储总线 71
3.5.1多处理器总线仲裁 73
3.5.2总线仲裁规则 73
3.5.3主处理器时间限制 73
3.5.4核优先访问 74
3.5.5复位后的总线同步 74
3.5.6直接读写从处理器 74
3.5.7通过EPB缓冲的数据传输 75
3.5.8总线锁定和信号机 76
3.5.9处理器间消息传递和矢量中断 77
3.6主机接口 77
3.6.1主机控制 78
3.6.2异步传送 79
3.6.3同步传送 80
3.6.4利用SBTS解决主机接口死锁 80
3.6.5直接读写从机 80
3.6.6通过EPB的数据传送 81
3.6.7处理器间消息传递和矢量中断 84
3.7链路口 85
3.7.1链路口功能和特点 85
3.7.2链路口控制寄存器 86
3.7.3握手信号 88
3.7.4链路缓冲LBUF 88
3.7.5链路DMA通道 89
3.7.6链路口中断 89
3.7.7传送错误检测 90
3.7.8令牌传递 91
3.7.9链路传送信号线 92
3.8串行口 92
3.8.1串口控制寄存器和数据缓冲 93
3.8.2数据字格式 96
3.8.3时钟信号 97
3.8.4帧同步信号 97
3.8.5多通道操作 97
3.8.6串口和存储器数据传送 98
3.8.7串口自环 99
3.8.8串口的应用 99
第4章 ADSP2106X指令集 100
4.1指令形式 100
4.2计算类操作 106
4.2.1ALU运算 107
4.2.2移位器操作 110
4.2.3乘法器操作 111
4.2.4多运算指令 114
4.3其它类指令 115
4.4指令编程举例 115
第5章 ADSP2106X开发系统 122
5.1定义结构文件 123
5.2编写汇编程序 124
5.2.1语法和符号 125
5.2.2预处理伪指令 126
5.2.3汇编伪指令 127
5.3汇编器 128
5.4链接器 128
5.4.1链接器的作用 129
5.4.2运行链接器 129
5.5引导加载码生成 129
5.5.1引导模式和引导码 129
5.5.2运行ldr21k 130
5.5.3生成加载程序文件 131
5.6模拟器 132
5.6.1模拟器操作 133
5.6.2模拟器运行步骤 133
5.6.3I/O口描述 134
5.7库管理器 134
5.7.1lib21k命令形式 134
5.7.2库管理器使用方法 135
5.7.3软件包中的标准库函数 135
5.8C编译器 136
5.8.1C编译器的有关概念 136
5.8.2C调用汇编函数 140
5.8.3行嵌入式汇编语句 142
5.8.4联系C变量和汇编符号 144
5.8.5汇编支持的宏 145
5.8.6C语言规范和扩展 145
5.8.7C编译器开关参数 146
5.8.8C源码调试器CBUG 150
5.9仿真器 154
5.9.1多DSP的JTAG链 154
5.9.2仿真多DSP 155
5.10ADSP2106X开发板EZ-LAB和EZ-KIT Lite 156
第6章 ADSP2106X系统设计 157
6.1电路设计 157
6.1.1重要信号线的设计 157
6.1.2印制板制作 157
6.1.3混合电路印制板要求 158
6.2多处理器并行系统设计 159
6.3引导模式 160
6.3.1Prom引导 161
6.3.2Host引导 162
6.3.3Link port引导 162
6.3.4生成加载文件 163
6.3.5多处理器引导 169
6.4ADSP2106X处理系统的构成 174
6.4.1外存储器组成 174
6.4.2链路口使用 176
6.4.3与其它设备接口 176
6.4.4系统功耗 177
6.5仿真接口JTAG设计 177
6.6ADSP2106X管脚与封装及型号 179
6.7ADSP2106X设计实例 181
6.7.1用C语言设计程序 181
6.7.2ADSP2106X与DRAM接口 184
6.7.3ADSP2106X与EDRAM接口 185
6.7.4ADSP2106X与Flash存储器接口 186
6.7.5ADSP2106X与液晶接口 190
6.7.6多片DSP加载 191
6.7.7以DMA方式输入/输出数据 198
6.7.8链路DMA与链路buffer的设置 200
6.7.9二维DMA与链式DMA 201
6.7.10编程技巧 202
6.7.11设计小结 206
第7章 ADSP2106X应用实现 212
7.1滤波器实现 213
7.1.1N阶有限冲击响应滤波器FIR 213
7.1.2基2FIR滤波 215
7.1.3实时抽取 218
7.1.4实时内插 221
7.1.5级联IIR(直接型II或变换型I)滤波器的二阶节实现 223
7.2快速付立叶变换 225
7.2.1基2复数FFT 228
7.2.2基4复数FFT 228
7.2.3基2实数FFT 233
7.3离散付立叶变换 234
7.4正交插值 235
7.4.1低通滤波法 236
7.4.2希尔伯特滤波法 237
7.4.3插值滤波法 237
7.4.4频域方法 238
7.5脉冲压缩 239
7.6用FFT实现FIR 240
7.6.1线性卷积与时频域变换 240
7.6.2通用DSP与专用DSP 241
7.6.3横向滤波器实现 242
7.7自适应通道均衡 243
7.8电机转速控制系统 246
7.9浮点DSP用于消费类电子产品 248
第8章 多DSP并行处理系统设计 249
8.1并行处理技术的现状和发展 249
8.2各种实时信号处理领域对实时并行处理的要求 251
8.3并行处理技术的内容 252
8.3.1加速比和效率 253
8.3.2处理单元的选择 254
8.3.3并行处理网络的构成 257
8.3.4并行处理任务的分配与调度 260
8.4时空二维自适应处理机通道处理 261
8.5自适应波束形成 263
8.5.1最小二乘问题求解 263
8.5.2脉动阵求解最小二乘问题 265
第9章 ADSP21160功能与结构 267
9.1ADSP21160处理器概述 267
9.2ADSP21160的处理器核 267
9.2.1运算核 269
9.2.2程序控制器 271
9.2.3地址产生器和总线 272
9.3存储器组织 274
9.4多处理器共享存储总线 276
9.4.1多处理器总线仲裁 277
9.4.2总线仲裁规则 278
9.4.3处理器时间限制 278
9.4.4优先级访问 278
9.4.5复位后的总线同步 279
9.4.6加载从处理器 279
9.4.7直接读写从处理器 279
9.4.8通过EPB缓冲的数据传输 280
9.4.9总线锁定和信号机 281
9.4.10处理器间消息传递和矢量中断 282
9.5主机接口 283
9.5.1主机控制 283
9.5.2异步传送 284
9.5.3同步传送 285
9.5.4利用SBTS解决主机接口死锁 286
9.5.5直接读写从机 286
9.5.6通过EPB的数据传送 287
9.5.7消息传递和矢量中断 288
9.6链路口 289
9.6.1链路口模式设置 290
9.6.2链路口DMA 292
9.6.3握手信号 292
9.6.4链路缓冲LBUF 293
9.6.5链路口中断 293
9.7串行口 295
9.8DMA 295
9.8.1DMA建立 296
9.8.2DMA通道优先权 298
9.8.3链式DMA 298
9.8.4DMA中断 298
9.8.5DMA的产生和终止 298
9.8.6外部总线DMA的特别用法 299
9.8.7二维DMA 299
9.9寄存器组成总结 300
9.9.1控制与标志寄存器位说明 303
9.9.2运算核寄存器 307
9.9.3程序控制寄存器 307
9.9.4DAG寄存器 307
9.9.5I/O处理器寄存器 307
9.10中断 311
9.11ADSP21160管脚说明 313
第10章 ADSP21160指令集 319
10.1ADSP2106X代码向ADSP21160移植 319
10.2计算类操作 321
10.2.1ALU运算 321
10.2.2移位器操作 324
10.2.3乘法器操作 327
10.2.4多运算指令 330
10.3指令形式 332
10.3.1指令形式概述 332
10.3.2指令形式说明 346
10.3.3数据格式 347
10.3.4条件码 348
第11章 ADSP21160的开发工具VisualDSP 350
11.1开发工具概述 350
11.2集成开发环境IDE 352
11.2.1创建一个新的工程文件 352
11.2.2设置工程选项 353
11.2.3添加或编辑工程源文件 354
11.2.4定义工程编译链接选项 355
11.2.5编译链接一个调试版的工程 358
11.2.6调试一个工程 358
11.2.7编译链接一个正式版的工程 359
11.3Debugger工具 359
11.3.1Debugging Sessions 359
11.3.2多处理器调试 360
11.3.3程序执行操作 361
11.3.4程序性能分析操作 362
11.3.5设置Watch Point 363
11.3.6模仿硬件环境 363
11.3.7寄存器窗口操作 365
11.3.8存储器窗口操作 365
11.3.9其它窗口操作 368
11.4编写链接描述文件 368
11.5一个简单例子 374
第12章 ADSP21160的设计与开发 377
12.1BGA设计 377
12.2信号线设计 379
附录A ADSP2106X控制/状态寄存器 381
A.1寄存器分类 381
A.2重要寄存器功能定义 384
附录B def 21060.h文件和结构文件 386
B.1头文件def 21060.h 386
B.2C编译器生成的文件头 386
附录C ADSP2106X时序图 387
参考文献 397