《DSP实用技术与开发案例》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:汪安民,张松灿,常春藤编著
  • 出 版 社:北京:化学工业出版社
  • 出版年份:2008
  • ISBN:9787115174819
  • 页数:422 页
图书介绍:本书针对目前的DSP系统设计,以TI公司的C6000数字信号处理器为硬件平台,详细地介绍了用DSP作为微处理器核的系统的各种工程和算法实现。本书内容主要包括DSP的基本原理、DSP的结构和指令系统、DSP的软件设计、DSP的片内外设、DSP的硬件设计以及基于DSP的算法实现等。本书的主要特点是C6000系列DSP的教学和参考手册,内容全面、实用,讲解通俗易懂,特别适合中、高级用户,书中的有些案例略作修改即可在工程中直接应用。本书可以作为高等院校电子工程、电气工程、自动控制、电力电子等专业的高年级本科生和研究生学习DSP的参考教材,也可供从事DSP应用系统设计开发的技术人员参考。

第1章 概述 1

1.1 DSP的基本知识 1

1.1.1 DSP技术的发展历程 1

1.1.2 DSP的特点 2

1.1.3 DSP的分类 3

1.2 各个公司的DSP介绍 4

1.2.1 TI公司的DSP芯片 4

1.2.2 其他公司的DSP芯片 10

1.3 TMS320C6000的概述 13

1.3.1 TMS320C6000简介 13

1.3.2 TMS320C6000的构成 13

1.3.3 TMS320C6000的并行处理特点 14

1.3.4 VLIW结构特点分析 14

1.3.5 TMS320C6000的应用 15

1.4 DSP发展方向及其应用 15

1.4.1 中国国内DSP的发展 15

1.4.2 DSP技术的发展趋势 15

1.4.3 DSP的应用 17

1.4.4 DSP新兴市场及未来应用发展方向 17

第2章 CPU结构和指令系统 20

2.1 CPU结构 20

2.1.1 CPU组成 20

2.1.2 CPU数据通路 21

2.2 流水线 23

2.2.1 流水线概述 23

2.2.2 不同指令的流水操作 26

2.2.3 指令对流水线性能的影响 29

2.2.4 存储器对流水线性能的影响 31

2.3 CPU控制寄存器 33

2.3.1 CSR寄存器 34

2.3.2 PDCTL寄存器 34

2.3.3 PCE1寄存器 35

2.3.4 FADCR寄存器 35

2.3.5 FAUCR寄存器 36

2.3.6 FMCR寄存器 36

2.4 汇编指令系统 37

2.4.1 指令和功能单元 37

2.4.2 延迟时隙 38

2.4.3 并行操作 39

2.4.4 条件操作 40

2.4.5 资源限制 41

2.4.6 寻址方式 43

2.5 汇编伪指令 44

2.5.1 常用的汇编伪指令 45

2.5.2 例程 47

第3章 仿真器与仿真软件 50

3.1 仿真器的安装和调试 50

3.1.1 仿真器的特点 50

3.1.2 仿真器的安装 50

3.1.3 仿真器的配置 50

3.1.4 仿真器的调试 53

3.2 仿真软件CCS的安装和使用 55

3.2.1 CCS的主要特性 55

3.2.2 CCS的安装和设置 57

3.2.3 创建新工程 62

3.2.4 工程调试 64

3.2.5 查看调试中的信息 72

3.2.6 CCS的图形功能 76

3.2.7 CCS对数据的文件处理 81

3.2.8 编译汇编和链接设置 82

3.2.9 CCS中的其他问题 83

3.3 实时操作系统DSP/BIOS 85

3.3.1 概述和组成 85

3.3.2 生成程序 89

3.3.3 文件 91

3.3.4 监测 92

3.3.5 线程 96

3.3.6 旗语和邮箱 102

3.3.7 时钟和内存管理 104

3.3.8 输入输出和管道 106

第4章 软件设计和算法优化 109

4.1 软件设计 109

4.1.1 软件开发工具简介 109

4.1.2 软件设计流程 110

4.2 编译和连接 110

4.2.1 编译 111

4.2.2 连接 112

4.2.3 配置文件 113

4.3 汇编语言程序设计 116

4.3.1 设计思路 116

4.3.2 设计过程 116

4.3.3 汇编优化 124

4.4 DSP的C/C++语言程序设计 129

4.4.1 面向DSP的C/C++语言程序设计流程 130

4.4.2 标识符和常数以及数据类型的说明 133

4.4.3 关键字说明 133

4.4.4 寄存器变量说明 136

4.4.5 直接嵌入汇编指令 136

4.4.6 实用指令 137

4.5 DSP的C/C++语言运行环境 142

4.5.1 存储器模式 142

4.5.2 字符串常量 144

4.5.3 寄存器规则 145

4.5.4 函数结构和调用规则 145

4.5.5 C/C++语言与汇编语言的混合编程方法 146

4.5.6 C/C++程序使用内联的汇编函数 149

4.5.7 中断处理 151

4.6 C/C++程序的编写和优化 152

4.6.1 代码编写 152

4.6.2 代码分析 153

4.6.3 代码编译 155

4.6.4 代码优化 155

4.6.5 线性汇编 160

第5章 硬件系统结构 162

5.1 硬件结构概述 162

5.2 片内存储器 163

5.2.1 片内存储器概述 163

5.2.2 C620x/670x片内程序存储器 163

5.2.3 C620x/670x片内数据存储器 166

5.2.4 C621x/671x/64x片内存储器 169

5.2.5 控制寄存器 174

5.3 中断 175

5.3.1 中断概述 175

5.3.2 中断源 175

5.3.3 中断寄存器 176

5.3.4 外部中断信号时序 179

5.3.5 中断响应过程 180

5.3.6 中断向量程序 181

5.4 定时器 183

5.4.1 定时器概述 183

5.4.2 定时器结构 184

5.4.3 定时器寄存器 184

5.4.4 定时器的工作原理 186

5.4.5 定时器例程 187

5.5 EMIF接口 190

5.5.1 EMIF接口概述 190

5.5.2 EMIF接口寄存器 191

5.5.3 EMIF接口和SDRAM的连接 197

5.5.4 EMIF接口和SBRAM的连接 202

5.5.5 EMIF接口和异步设备的连接 204

5.5.6 EMIF接口的总线仲裁 205

5.5.7 EMIF接口外部存储器的优先级 206

5.5.8 EMIF接口的一些特殊状态 207

5.6 外部扩展总线 207

5.6.1 外部扩展总线概述 207

5.6.2 外部扩展总线寄存器 208

5.6.3 外部扩展总线I/O口工作方式 211

5.6.4 外部扩展总线主机口工作方式 215

5.6.5 外部扩展总线的仲裁 220

5.6.6 外部扩展总线的启动配置 221

5.6.7 外部扩展总线连接多个DSP 222

5.7 DMA控制器 224

5.7.1 DMA概述 224

5.7.2 DMA结构 225

5.7.3 DMA寄存器 226

5.7.4 DMA的操作 231

5.7.5 DMA应用实例 236

5.8 EDMA控制器 239

5.8.1 EDMA概述 239

5.8.2 EDMA寄存器 240

5.8.3 EDMA参数RAM 243

5.8.4 EDMA的传输类型 245

5.8.5 EDMA的操作 246

5.8.6 QDMA 251

5.8.7 EDMA的应用实例 252

5.9 缓冲串口 255

5.9.1 缓冲串口概述 255

5.9.2 缓冲串口结构 256

5.9.3 缓冲串口寄存器 257

5.9.4 缓冲串口的操作 264

5.9.5 缓冲串口的SPI协议 271

5.9.6 缓冲串口用作通用I/O口 272

5.10 HPI接口 273

5.10.1 HPI接口概述 273

5.10.2 HPI接口的结构 273

5.10.3 HPI接口寄存器 275

5.10.4 HPI接口的读写时序 277

5.10.5 HPI接口的操作 278

5.10.6 HPI接口应用实例 282

5.10.7 HPI接口的启动 283

第6章 硬件系统开发 287

6.1 引脚信号 287

6.2 最小系统设计 293

6.2.1 JTAG仿真口的设计 293

6.2.2 电源设计 295

6.2.3 时钟信号的连接 298

6.2.4 复位和看门狗电路的连接 300

6.2.5 其他引脚和测试信号 301

6.2.6 最小系统的检测 301

6.3 DSP和高速AD的连接 302

6.3.1 ADS5422的原理及结构 302

6.3.2 ADS5422的信号输入方式 304

6.3.3 ADS5422的时钟输入 305

6.3.4 ADS5422的采样和数据格式 306

6.3.5 ADS5422和C6203B的连接 308

6.4 DSP和FIFO的连接 318

6.4.1 IDT72V2113的原理及结构 318

6.4.2 IDT72V2113的字长和字深扩展 321

6.4.3 IDT72V2113和C6203B的连接 323

6.5 DSP和FLASH的连接 325

6.5.1 FLASH的选择 325

6.5.2 闪速存储器SST29LE010 326

6.5.3 SST29LE010与C6211的连接 328

6.5.4 应用FlashBurn擦写FLASH 336

6.6 DSP和USB 2.0控制器的连接 338

6.6.1 USB总线概述 338

6.6.2 USB控制器CY7C68013 339

6.6.3 CY7C68013与C6203B的连接 344

6.7 DSP和音频AD/DA的连接 348

6.7.1 TLC320AD50概述 348

6.7.2 AD50的引脚说明 349

6.7.3 AD50的初始化 351

6.7.4 AD50的硬件连接 354

6.7.5 AD50的软件连接 357

6.8 DSP和异步串口的连接 357

6.8.1 通用串口模式 358

6.8.2 GPIO模式 360

6.8.3 总线扩展模式 361

6.8.4 程序实现 362

6.9 DSP仿真器的研制 370

6.9.1 系统硬件结构 371

6.9.2 系统软件结构 372

第7章 算法实现 375

7.1 噪声发生器 375

7.2 数字滤波器 377

7.2.1 FIR滤波器原理 377

7.2.2 MATLAB语言仿真 378

7.2.3 汇编语言代码实现 379

7.3 RS编码和GF域的运算 382

7.4 语音编码 386

7.5 远程DSP开发平台 391

7.5.1 系统结构 391

7.5.2 工作原理 393

7.5.3 上层软件设计 395

7.6 空间谱估计 396

7.6.1 MUSIC算法 396

7.6.2 算法实现 399

7.6.3 系统实现 403

7.7 快速傅里叶变换 404

缩略语 419

参考文献 421