《DSP控制器原理及应用》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:宁改娣,曾翔君,骆一萍编著
  • 出 版 社:北京:科学出版社
  • 出版年份:2009
  • ISBN:9787030241061
  • 页数:412 页
图书介绍:DSP是一种具有数字信号处理特长的高性能微处理器。本书总结了微处理器的结构框架、学习目的和方法。在此基础上,以TMS320C281 为模型介绍其硬件结构、指令系统、存储器组织、中断系统及片内外设的基本原理,强化微处理器学习方法,训练使用微处理器的基本功。本书还加强了DSP最小系统介绍,使读者很容易建立自己的硬件平台;增加了C语言编程工程模板介绍,使读者可以很方便地进行软件开发;并且介绍了DSP的开发环境、C语言编程和开发流程。在最后一章提供了不同层次的实验内容。书中所提供实例的软硬件都经过了试验验证。本书实践性较强,部分内容以案例编写,可更好地激发学生的学习兴趣。

第1章 绪论 1

1.1 DSP的概念与主要特点 1

1.1.1 DSP的概念 1

1.1.2 DSP的主要特点 1

1.2 DSP芯片的发展及应用 3

1.2.1 DSP芯片的发展 3

1.2.2 DSP的分类 5

1.2.3 DSP的应用 5

1.3 TMS320系列DSP 6

1.3.1 TMS320系列DSP命名 6

1.3.2 TMS320系列概况 6

1.3.3 TMS320C2000系列 7

1.4 TMS320C28×系列DSP性能简介 8

1.4.1 TMS320C28×系列DSP的结构及性能 8

1.4.2 TMS320F281×的引脚分布及引脚功能 12

1.5微处理器结构特点及学习方法 21

1.5.1微处理器结构特点及学习目的 22

1.5.2微处理器学习方法 23

1.5.3 TMS320C28×的片内外设学习指导 24

参考文献 25

第2章 F2812的总体结构、最小系统及程序开发 26

2.1 F2812的总体结构 26

2.2 F2812的最小系统 29

2.3 F2812的软件开发工具 31

2.4 F2812的汇编语言编程基础 36

2.4.1 COFF文件与汇编器指令 37

2.4.2链接器与链接命令文件 39

2.5 F2812的C语言编程及运行时环境 41

2.5.1 C语言数据类型 41

2.5.2 C语言关键词 42

2.5.3 C语言编程头文件 46

2.5.4预编译器指令 46

2.5.5 C/C++编译器默认的段和段的分配 49

2.6 F2812的C语言编程工程模板 50

2.6.1工程模板的头文件(*.h) 52

2.6.2工程模板的源文件(*.c,*.asm)和库文件(*.lib) 57

2.6.3工程模板的链接器命令文件(*.cmd) 59

2.6.4使用静态库缩短工程编译时间 61

2.6.5编程举例 61

参考文献 62

第3章 C28×的CPU、存储器配置以及上电引导 63

3.1 TMS320C28×的CPU 63

3.1.1 CPU的结构 63

3.1.2 CPU的寄存器 67

3.2 F2812的存储器配置 74

3.2.1 F2812的片内存储器配置 74

3.2.2外部存储器扩展和中断向量表 77

3.3 F2812的上电引导 78

3.3.1 Boot ROM简介 78

3.3.2引导加载程序的工作流程 80

3.3.3退出ExitBoot函数至执行main函数之间系统的动作 85

参考文献 87

第4章 C28×CPU寻址方式 88

4.1寻址方式 88

4.2寻址方式选择位(AMODE) 88

4.2.1 AMODE对指令操作码的影响 88

4.2.2汇编器/编译器对AMODE位的跟踪 89

4.3直接寻址方式 89

4.4堆栈寻址方式 90

4.5间接寻址方式 91

4.5.1 C28×间接寻址方式 91

4.5.2 C2xLP间接寻址方式 93

4.5.3循环间接寻址方式 95

4.6寄存器寻址方式 96

4.6.1 32位寄存器寻址方式 96

4.6.2 16位寄存器寻址方式 96

4.7数据/程序/IO空间立即寻址方式 96

4.8程序空间间接寻址方式 97

4.9字节寻址方式与32位操作数的定位 98

4.9.1字节寻址方式 98

4.9.2 32位操作数的定位 99

4.10 C240×与C28×指令系统的区别 99

参考文献 100

第5章 F2812的系统控制单元及中断机制 101

5.1 F2812的时钟和系统控制单元概述 101

5.2 F2812的振荡器OSC和锁相环PLL时钟模块 103

5.3 F2812的低功耗方式模块 106

5.4 F2812的看门狗模块 110

5.5 F2812的中断机制 112

5.5.1 TMS320F2812中断功能的硬件结构 113

5.5.2 PIE模块工作原理及CPU对可屏蔽中断的响应流程 114

5.5.3 PIE中断优先级 116

5.5.4不可屏蔽中断 118

5.5.5外部中断XINT1、XINT2和XNMI_XINT13 119

5.5.6中断向量表 120

5.5.7 PIE模块的配置和控制寄存器 122

5.5.8在工程模板中对PIE向量表的定义和使用 124

5.5.9中断的应用举例 128

参考文献 129

第6章 C28×的CPU定时器、GPIO及外部存储器扩展 130

6.1 C28×的CPU定时器结构和工作原理 130

6.2 F2812的GPIO 135

6.2.1 GPIO的结构和多路选择器寄存器 136

6.2.2 GPIO的数据寄存器 140

6.3 F2812的外部存储器扩展接口(XINTF) 142

参考文献 150

第7章 模数转换器(ADC) 151

7.1 ADC模块的特点 151

7.2 ADC模块排序器工作原理 153

7.2.1级联模式下排序器的工作原理 153

7.2.2双排序器模式的工作原理 155

7.2.3排序器的输入触发和中断操作 158

7.3 ADC模块的时钟 160

7.4 ADC模块的低功耗模式和加电顺序 160

7.5 ADC模块的寄存器 161

参考文献 167

第8章 事件管理模块(EV) 168

8.1 EV功能概述 168

8.2通用定时器 169

8.2.1通用定时器功能 170

8.2.2通用定时器计数模式 173

8.2.3通用定时器比较操作 175

8.3全比较单元 177

8.3.1与比较单元相关的PWM电路 177

8.3.2可编程死区单元与输出逻辑 178

8.3.3全比较单元的PWM输出 179

8.3.4空间矢量PWM(SVPWM)的原理与实现 180

8.3.5全比较单元寄存器 189

8.4捕获单元和正交编码 191

8.4.1捕获单元概述 191

8.4.2正交编码脉冲电路 194

8.5 EV中断逻辑 195

8.5.1 EV中断概述 195

8.5.2 EV中断寄存器 197

参考文献 198

第9章 串行通信接口 199

9.1 F281×SCI模块介绍 199

9.1.1 SCI与CPU的通信及功能 199

9.1.2波特率计算 201

9.1.3数据格式(帧格式) 201

9.1.4 SCI的数据接收与同步 202

9.1.5 SCI接收和发送时序及中断 202

9.2 SCI多处理器通信 204

9.2.1识别地址字节及接收过程 205

9.2.2空闲线多处理器模式 205

9.2.3地址位多处理器模式 206

9.3 C28×系列SCI增强的功能 207

9.3.1接收/发送FIFO的特点 207

9.3.2 SCI自动波特率检测 208

9.4 SCI的寄存器 208

9.5 SCI应用实例——PC机与DSP串行通信 215

9.5.1硬件设计 215

9.5.2软件设计 218

参考文献 221

第10章 串行外围接口 222

10.1 F281×SPI模块介绍 222

10.1.1 SPI与CPU的通信及功能 222

10.1.2 SPI的主从模式 224

10.1.3 SPI数据传送及数据格式 225

10.1.4波特率和时钟 226

10.2 SPI的FIFO和中断 230

10.3 SPI的寄存器 231

10.4 SPI应用实例 234

10.4.1硬件设计 235

10.4.2软件设计 235

参考文献 237

第11章 多通道缓冲串行口(McBSP) 239

11.1 McBSP模块介绍 239

11.1.1 McBSP的主要特点 239

11.1.2 McBSP功能框图 240

11.1.3 McBSP的数据传输 241

11.1.4数据压缩与解压 242

11.1.5时序和数据帧 243

11.1.6帧分段 245

11.1.7 McBSP的接收和发送 246

11.2 McBSP内部时钟发生器 248

11.2.1时钟源与极性配置 248

11.2.2输出时钟CLKG的频率及同步 249

11.2.3帧同步信号产生 249

11.2.4时钟发生器输出和外部时钟的同步 250

11.2.5时钟发生器的复位和初始化 251

11.2.6时钟发生器产生时钟举例 252

11.3 McBSP的意外/出错情况 253

11.4多通道选择模式 255

11.4.1通道、模块和分区 255

11.4.2 A-bis模式 259

11.4.3 SPI协议 260

11.5配置接收器和发送器 264

11.5.1接收器配置 264

11.5.2发送器配置 265

11.6 McBSP的仿真和复位事项 266

11.6.1 McBSP的仿真模式 266

11.6.2 McBSP复位 267

11.6.3初始化McBSP串口 268

11.6.4数据打包实例 268

11.7 McBSP的FIFO和中断 270

11.7.1 McBSP的FIO概述 270

11.7.2 McBSP的FIFO操作 271

11.7.3 McBSP中断的产生 272

11.7.4 McBSP FIFO数据寄存器访问约束和错误标志 273

11.8 McBSP寄存器 275

11.9 McBSP应用实例 279

参考文献 282

第12章 增强型控制器区域网(eCAN) 283

12.1 CAN总线简介 283

12.1.1 CAN总线特点 283

12.1.2 CAN总线帧格式 284

12.2 C28×系列的eCAN介绍 285

12.2.1 eCAN的特点 285

12.2.2 eCAN的结构与接口 285

12.2.3 eCAN寄存器及存储器映射 287

12.2.4消息邮箱 287

12.3 eCAN配置 290

12.3.1 eCAN初始化 290

12.3.2 eCAN的配置步骤 293

12.3.3远程帧邮箱的处理 295

12.3.4 eCAN中断 296

12.3.5 eCAN掉电模式 297

12.4 eCAN应用实例 298

参考文献 304

第13章 F2812的片内Flash与IQmath库的应用 306

13.1 F2812的片内Flash 306

13.1.1 F2812片内Flash的结构特点 306

13.1.2 F2812片内Flash的配置寄存器 308

13.1.3 F2812片内Flash配置寄存器的访问方法和限制 310

13.2 F2812的代码安全模块(CSM) 311

13.2.1 CSM的密码保护机制 311

13.2.2 CSM的加密和解密流程 313

13.3 F2812片内Flash的配置和应用实例 316

13.4 F2812程序开发中IQmath库的应用 321

13.4.1 Q表示法与IQmath库的组成 321

13.4.2 IQmath库的使用 322

13.4.3 IQmath库的函数列表 324

13.4.4使用IQmath库实现SVPWM 326

参考文献 328

第14章 现代DSP软件设计方法和简单应用 329

14.1 Matlab与DSP工具简介 329

14.2基于Matlab的DSP设计步骤 330

14.3现代DSP软件设计生成的Proj ect工程简介 333

14.3.1 Project工程文件和运行 333

14.3.2现代DSP设计与传统编程方法所形成的工程比较 334

参考文献 334

第15章 TMS320F2812代码调试工具(CCS)教程 335

15.1 CCS的特点 335

15.2 CCS v3.3的安装和设置 336

15.2.1 CCS的Simulator模式的设置 336

15.2.2 CCS的Emulator模式的设置 336

15.3实验系统的硬件连接和CCS的启动 338

15.4 CCS应用程序功能描述 338

15.4.1 CCS的工作界面介绍 338

15.4.2 CCS的常用调试工具 340

15.4.3 CCS的主菜单 340

基础实验 353

实验1 简单输出设备LED实验 353

实验2 基于F2812的数据采集和波形发生实验 356

实验3 基于F2812的人机交互接口设计 360

参考文献 364

综合实验 365

实验4 基于F2812的无刷直流电机控制 365

实验5 基于F2812的USB2.0总线设备开发 373

实验6 基于F2812和嵌入式操作系统的以太网接口开发 391

参考文献 402

附录 404

附录1 eZdspTM F2812实验系统介绍 404

附录2 eZdspTM F2808实验系统介绍 408