《DSP技术完全攻略 基于TI系列的DSP设计与开发》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:钟睿主编;李尚柏副主编;粟思科审
  • 出 版 社:北京:化学工业出版社
  • 出版年份:2015
  • ISBN:9787122217561
  • 页数:426 页
图书介绍:本书采用通俗易懂、轻松灵活的语言介绍了DSP的设计与开发攻略,循序渐进地介绍了TI公司C2000、C5000、C6000三大主流DSP的基本结构、开发步骤以及应用实例。全书共分为三部分:基础原理部分介绍了DSP的基本概念以及主流DSP芯片的常用硬件资源;DSP软件资源部分介绍了指令系统与CCS集成开发环境;实例部分重点讨论了DSP开发中最常见、最有特色的例程。同时还总结了一些非常有用,但有时容易忽略的知识点。

基础知识篇 2

第1章 新手入门 2

1.1 信号 2

1.2 数字信号处理 3

1.3 初识DSP 4

1.3.1 DSP概述 4

1.3.2 为什么DSP能算这么快 5

1.3.3 DSP芯片的现状与发展趋势 7

1.4 DSP的主流与非主流 9

1.4.1 N多种DSP 9

1.4.2 你会选择谁 10

1.4.3 TI公司主流DSP 12

1.5 DSP和其他微芯片的比较 13

1.5.1 DSP和单片机的比较 13

1.5.2 DSP和ARM的比较 13

1.6 如何玩转DSP 14

1.6.1 DSP技术知识点准备 14

1.6.2 DSP参考资料 14

1.6.3 DSP开发流程 15

1.6.4 DSP软件、硬件开发 16

1.7 要点与思考 16

第2章 数字控制利器——TMS320C24x系列 18

2.1 TMS320C24x系列CPU简介 18

2.2 CPU结构和内核 19

2.3 系统总线 20

2.4 CPU内核 21

2.4.1 输入定标移位器 21

2.4.2 乘法器 22

2.4.3 中央算术逻辑单元 23

2.4.4 累加器(ACC) 24

2.4.5 输出数据定标移位器 25

2.4.6 辅助寄存器算术单元 25

2.4.7 状态寄存器 26

2.5 存储器与I/O空间 28

2.5.1 片内存储器 28

2.5.2 程序存储器 29

2.5.3 数据存储器 30

2.5.4 I/O空间 32

2.5.5 外部存储器接口 34

2.6 寻址方式 35

2.7 系统配置寄存器 36

2.7.1 系统控制和状态寄存器1(SCSR1) 36

2.7.2 系统控制和状态寄存器2(SCSR2) 38

2.7.3 器件标识号寄存器(DINR) 38

2.8 中断 39

2.8.1 中断优先级和中断向量表 39

2.8.2 外设中断扩展控制器 42

2.8.3 中断向量表 43

2.8.4 全局中断使能 44

2.8.5 中断响应过程 44

2.8.6 中断响应延迟处理 45

2.8.7 中断寄存器 46

2.8.8 外设中断寄存器 46

2.8.9 复位与无效地址检测 51

2.8.10 外部中断控制寄存器 51

2.9 程序控制 52

2.9.1 程序地址的产生 52

2.9.2 流水线操作 54

2.9.3 无条件转移、调用和返回 55

2.9.4 有条件转移、调用和返回 55

2.9.5 重复指令 56

2.10 看门狗(Watch Dog,简称WD) 57

2.11 TMS320x240x的片上外设 58

2.11.1 通用I/O模块(GPIO) 58

2.11.2 事件管理器(EV) 60

2.11.3 捕获单元 69

2.11.4 正交编码脉冲(QEP)电路 72

2.11.5 模数转换模块(ADC) 73

2.11.6 SCI串行通信接口模块 79

2.11.7 SPI串行外设接口模块 80

2.11.8 CAN控制器模块 80

2.12 要点与思考 82

第3章 适合便携终端的低功耗产品——TMS320C54x系列 83

3.1 TMS320C54x系列CPU简介 83

3.2 总线结构 85

3.3 CPU内核 86

3.3.1 算术逻辑运算单元ALU 87

3.3.2 累加器 88

3.3.3 桶形移位寄存器 89

3.3.4 乘法加法累加单元(MAC) 90

3.3.5 比较、选择和存储单元CSSU 91

3.3.6 指数编码器 92

3.3.7 CPU寄存器 92

3.4 存储器 94

3.4.1 存储器结构 95

3.4.2 程序存储器 96

3.4.3 数据存储器 98

3.4.4 I/O存储器空间 100

3.5 中断系统 100

3.5.1 中断寄存器 100

3.5.2 中断控制 101

3.6 片内外设 105

3.6.1 通用I/O引脚 105

3.6.2 定时器 105

3.6.3 时钟发生器 106

3.6.4 主机接口(HPI) 108

3.6.5 串行口 109

3.7 要点与思考 112

第4章 高性能的代表——TMS320C6000系列 113

4.1 TMS320C6000系列简介 113

4.2 CPU结构 114

4.2.1 程序执行机构 115

4.2.2 控制寄存器组 119

4.2.3 控制状态寄存器 119

4.3 存储器 120

4.3.1 程序存储器及其控制器 121

4.3.2 数据存储器及其控制器 122

4.4 中断 124

4.4.1 中断类型和优先级 124

4.4.2 中断源 124

4.4.3 中断寄存器 126

4.5 片内集成外设 126

4.5.1 外部存储器接口(EMIF) 127

4.5.2 扩展总线xBus 130

4.6 要点与思考 133

软件资源篇 135

第5章 开发好帮手——CCS集成开发环境 135

5.1 CCS概述 135

5.2 CCS的安装与配置 137

5.3 CCS文件类型 138

5.4 CCS基本界面 139

5.4.1 主界面 139

5.4.2 主菜单 139

5.5 CCS开发入门 140

5.5.1 创建工程 140

5.5.2 项目文件操作 141

5.5.3 工程配置 142

5.5.4 工程从属关系 142

5.5.5 编译和运行程序 143

5.6 基础调试 144

5.6.1 调试设置 145

5.6.2 运行与单步调试 145

5.6.3 断点 147

5.6.4 探针点 147

5.6.5 观察窗口 149

5.6.6 内存窗口 150

5.6.7 寄存器窗口 152

5.6.8 反汇编模式/混合模式 152

5.7 基础软件 153

5.8 要点与思考 154

第6章 指挥工作靠软件——指令和C语言程序设计 155

6.1 概述 155

6.2 C2000指令系统 155

6.2.1 C2000寻址方式 155

6.2.2 C2000常用指令集 156

6.2.3 C2000常用伪指令 157

6.3 C5000指令系统 157

6.3.1 C5000寻址方式 157

6.3.2 C5000常用指令集 158

6.3.3 C5000常用伪指令 159

6.4 C6000指令结构 160

6.4.1 C6000系列的基本寻址方式 160

6.4.2 C6000常用指令集 160

6.5 详细指令集 161

6.6 DSP的C语言开发 171

6.6.1 简介 171

6.6.2 DSP C语言数据类型 172

6.6.3 寄存器变量 172

6.6.4 pragma伪指令 172

6.6.5 ASM语句 173

6.6.6 I/O空间访问 173

6.6.7 数据空间访问 173

6.6.8 中断服务函数 173

6.6.9 初始化系统 174

6.7 DSP汇编语言/C语言混合编程 174

6.7.1 混合编程环境设置 174

6.7.2 内嵌汇编语句 177

6.7.3 C语言访问汇编程序变量 177

6.8 要点与思考 178

应用实例篇 180

第7章 实施工作靠硬件——基本DSP硬件平台搭建 180

7.1 概述 180

7.2 DSP最小系统 181

7.2.1 电源电路设计 181

7.2.2 复位和时钟电路设计 184

7.2.3 JTAG接口电路设计 186

7.3 C6x DSP与Flash存储器的接口 187

7.3.1 C6x EMIF接口 187

7.3.2 EMIF与Flash存储器接口 191

7.3.3 Flash编程示例 195

7.4 C6x DSP与SDRAM存储器的接口 199

7.4.1 C6x兼容的SDRAM类型 199

7.4.2 C6x EMIF与SDRAM接口特点及其接口信号 201

7.4.3 C6x EMIF的SDRAM控制寄存器 203

7.4.4 EMIF支持的SDRAM命令及其时序参数 206

7.4.5 C6713B与MT48LC4M32B2 SDRAM的接口 212

7.5 要点与思考 214

第8章 最常见DSP硬件资源配置与应用 215

8.1 概述 215

8.2 芯片支持库简介 216

8.2.1 CSL架构 216

8.2.2 CSL的命名规则和数据类型 219

8.2.3 CSL函数 220

8.2.4 CSL宏 221

8.2.5 CSL的资源管理 222

8.2.6 芯片支持库的使用 223

8.3 定时器和中断应用程序设计 224

8.3.1 C6x中断控制器 224

8.3.2 芯片支持库的中断模块IRQ 230

8.3.3 定时器 233

8.3.4 芯片支持库的定时器模块TIMER 235

8.3.5 定时器和中断应用实例 238

8.4 DMA和McBSP应用程序设计 242

8.4.1 C54xx的DMA控制器 243

8.4.2 芯片支持库的直接存储器访问模块DMA 249

8.4.3 C54xx的多通道缓冲串口McBSP 252

8.4.4 芯片支持库的多通道串口模块McBSP 262

8.4.5 DMA和McBSP应用实例 265

8.5 要点与思考 276

第9章 让程序自己跑起来——DSP程序的引导 278

9.1 概述 278

9.2 LF240x DSP程序的引导 279

9.2.1 引导硬件配置 279

9.2.2 SPI同步传输协议和数据格式 281

9.2.3 SCI异步传输协议和数据格式 281

9.3 C54xDSP程序的引导 282

9.3.1 引导模式选择 283

9.3.2 HPI引导 284

9.3.3 串行EEPROM引导 286

9.3.4 并行引导 288

9.3.5 标准串行引导 290

9.3.6 I/O引导 291

9.3.7 产生引导表 292

9.4 C6x DSP程序的引导 297

9.4.1 引导控制逻辑 297

9.4.2 两级引导过程 299

9.4.3 创建二级引导应用程序 300

9.4.4 编写用户引导程序 302

9.4.5 C6x程序的烧录 305

9.4.6 关于用户引导程序的进一步讨论 308

9.5 要点与思考 313

第10章 回归原点——DSP在信号处理上的应用 315

10.1 概述 315

10.2 基于DSP的信号源设计 316

10.2.1 信号的生成与输出 316

10.2.2 正弦信号的产生 318

10.2.3 调幅信号的产生 326

10.3 FIR滤波器 329

10.3.1 FIR滤波器程序设计考虑 329

10.3.2 FIR滤波器在C54x DSP上的实现 331

10.4 IIR滤波器 337

10.4.1 IIR滤波器程序设计考虑 337

10.4.2 IIR滤波器在C67x上的实现 339

10.5 快速傅里叶变换(FFT) 343

10.5.1 FFT算法原理简介 343

10.5.2 FFT算法的编程考虑 343

10.5.3 FFT算法在C67x上的实现 346

10.6 要点与思考 352

第11章 也许有一天你就会遇到——DSP覆盖(Overlay)程序设计 352

11.1 概述 353

11.2 链接命令文件 354

11.2.1 MEMORY指令 355

11.2.2 SECTIONS指令 357

11.3 Overlay源程序设计 363

11.3.1 程序功能划分的考虑 363

11.3.2 设计实例 364

11.3.3 Overlay模块的动态加载 377

11.4 Overlay程序的调试和运行 377

11.4.1 加载Overlay代码模块到外部内存 378

11.4.2 Overlay代码的跟踪调试 378

11.5 要点与思考 382

第12章 给自己的程序打个分——DSP实时数据交换技术(RTDX) 382

12.1 概述 383

12.2 RTDX详解 384

12.2.1 RTDX的工作原理 384

12.2.2 RTDX用户接口 385

12.2.3 RTDX的COM接口 387

12.2.4 主机RTDX配置 393

12.2.5 RTDX目标库缓冲区的配置 395

12.3 使用RTDX工具 397

12.3.1 RTDX监视工具 397

12.3.2 RTDX诊断工具 397

12.3.3 日志文件查阅工具 401

12.4 RTDX工程实例 401

12.4.1 目标应用程序 402

12.4.2 主机客户程序 405

12.4.3 RTDX程序的调试 409

12.4.4 RTDX程序的性能考虑 411

12.5 RTDX应用实例 412

12.5.1 目标应用程序 413

12.5.2 主机客户程序 421

12.6 要点与思考 424