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

  • 购买积分:17 如何计算积分?
  • 作  者:张小鸣主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2009
  • ISBN:9787302185741
  • 页数:564 页
图书介绍:本书以TI(Texas Instruments美国德州仪器公司)生产的TMS320 2000系列DSP芯片为主线、TMS320LF2407A芯片为例,全面介绍TI2000系列DSP的硬性结构等内容。

第1章 DSP概述 1

1.1 DSP概述 1

1.1.1 DSP的两种含义 1

1.1.2 DSP芯片组成的数字信号处理系统结构 2

1.2 DSP芯片的发展历程 2

1.3 DSP芯片的主要应用领域 3

1.4 DSP芯片的分类 3

1.4.1 按数据格式分类 3

1.4.2 按用途分类 4

1.5 DSP芯片的主要特点 4

1.5.1 高集成度 5

1.5.2 低功耗 5

1.5.3 高速度 5

1.5.4 开发工具更加完善 6

1.6 DSP芯片与单片机的关系 6

1.6.1 DSP与MCU 6

1.6.2 冯·诺伊曼结构与哈佛结构 6

1.6.3 CISC与RISC 6

1.6.4 DSP与单片机融合技术 7

1.6.5 DSP与FPGA融合技术 7

1.6.6 JTAG仿真接口 7

1.7 数值运算基础 8

1.7.1 二进制补码的定义 8

1.7.2 二进制补码运算规则 9

1.7.3 二进制补码运算溢出问题 9

1.7.4 小数点定标与Q表示法 12

1.7.5 二进制补码的真值 13

1.7.6 二进制浮点数表示法 13

1.7.7 二进制定点数位长扩展与符号扩展 15

1.7.8 二进制定点数与十进制实数的转换公式 15

1.7.9 16位二进制定点数与C语言int型变量之间的转换 16

习题与思考题 17

第2章 CPU结构和存储器配置 20

2.1 TMS320LF2407A DSP结构 20

2.1.1 TMS320LF2407A结构框图 20

2.1.2 TMS320LF2407A引脚图 22

2.1.3 TMS320LF2407A引脚功能 23

2.2 TMS320LF2407A总线结构框图 29

2.2.1 哈佛总线框图 29

2.2.2 多存储器存取与双存取RAM 31

2.3 TMS320LF2407A内部结构 31

2.3.1 TMS320LF2407A CPU功能模块结构 31

2.3.2 C2xx DSP内核结构图 34

2.3.3 中央算术逻辑单元CALU及累加器ACC 35

2.3.4 输入定标移位器 36

2.3.5 输出定标移位器 37

2.3.6 乘法器 37

2.3.7 辅助寄存器算术单元ARAU与当前AR 37

2.3.8 状态寄存器ST0和ST1 37

2.4 TMS320LF2407A存储器与I/O空间 40

2.4.1 存储器映射图 40

2.4.2 数据存储器与外设寄存器映射图 44

2.4.3 I/O空间映射图 47

2.4.4 外部程序存储器扩展技术 47

2.4.5 数据存储器扩展技术 50

2.4.6 I/O空间扩展技术 50

2.5 程序地址控制 51

2.5.1 程序地址生成器 51

2.5.2 硬堆栈与微堆栈 53

习题与思考题 54

第3章 寻址方式与指令系统 56

3.1 寻址方式 56

3.1.1 立即寻址方式 56

3.1.2 直接寻址方式 57

3.1.3 间接寻址方式 61

3.2 指令系统 66

3.2.1 指令集分类与列表 66

3.2.2 汇编指令详解 72

3.2.3 汇编指令语法 106

3.3 伪指令 109

3.3.1 段定义伪指令 109

3.3.2 初始化常数伪指令 111

3.3.3 设置段程序计数器伪指令 112

3.3.4 引用文件伪指令 112

3.3.5 符号定义伪指令 113

3.3.6 其他伪指令 114

3.3.7 存储器分配伪指令 114

3.3.8 段分配伪指令 115

3.4 宏指令 117

3.4.1 宏定义 117

3.4.2 宏调用 118

习题与思考题 119

第4章 DSP程序结构与设计方法 122

4.1 CC集成开发环境 122

4.1.1 CC4.10的安装与配置 122

4.1.2 主要菜单及功能介绍 124

4.1.3 CC建立工程文件的步骤 127

4.1.4 CC下工程文件设计结构 129

4.2 DSP汇编源程序设计方法 129

4.2.1 COFF公共目标文件格式 129

4.2.2 链接器命令文件 131

4.2.3 头文件 132

4.2.4 模块化设计举例 139

4.3 DSP C源程序设计方法 147

4.3.1 C编译器运行支持库 147

4.3.2 C编译器创建的段 148

4.3.3 C源程序使用的链接器命令文件 152

4.3.4 C标识符及数据类型 153

4.3.5 C存储器模式 153

4.3.6 C编译器寄存器使用约定 157

4.3.7 函数结构和调用约定 159

4.3.8 汇编语言与C语言接口规则 161

4.3.9 中断服务C程序设计 164

4.3.10 I/O变量C声明语句 165

4.3.11 避免编译器优化volatile关键字 166

4.4 C2xx常用C库函数 176

4.4.1 通用实用程序库函数 176

4.4.2 浮点数学运算库函数 180

4.4.3 输入输出宏库函数 186

4.4.4 字符功能库函数 186

4.4.5 C库函数应用举例 194

习题与思考题 198

第5章 初始化配置与中断系统 200

5.1 系统硬件配置结构 200

5.2 系统配置寄存器 201

5.2.1 系统控制与状态寄存器1 201

5.2.2 系统控制与状态寄存器2 203

5.2.3 器件标识号寄存器 204

5.3 看门狗定时器控制寄存器 205

5.3.1 看门狗定时器概述 205

5.3.2 看门狗定时器工作原理 205

5.3.3 看门狗控制寄存器 208

5.3.4 WCDR初始化 211

5.4 低功耗模式 211

5.4.1 时钟域 211

5.4.2 唤醒低功耗模式 212

5.4.3 FLASH断电 214

5.5 等待状态发生器控制寄存器 214

5.5.1 用READY信号产生等待状态 214

5.5.2 用等待状态发生器产生等待状态 215

5.5.3 WSGR初始化 216

5.6 中断源优先级和中断向量表 216

5.7 外设中断扩展控制器 219

5.7.1 中断层次 220

5.7.2 中断请求结构 221

5.7.3 中断应答 221

5.8 中断向量 221

5.8.1 假中断向量 222

5.8.2 中断服务程序软件层次 223

5.8.3 不可屏蔽中断 223

5.8.4 全局中断使能位 223

5.9 中断响应流程 224

5.10 中断等待时间 225

5.11 ISR代码实例 225

5.12 CPU中断控制寄存器 227

5.12.1 CPU中断标志寄存器 227

5.12.2 CPU中断屏蔽寄存器 228

5.13 外设中断寄存器 229

5.13.1 外设中断向量寄存器 229

5.13.2 外设中断请求寄存器0 230

5.13.3 外设中断请求寄存器1 231

5.13.4 外设中段请求寄存器2 232

5.13.5 外设中断应答寄存器0 232

5.13.6 外设中断应答寄存器1 233

5.13.7 外设中断应答寄存器2 234

5.14 复位和无效地址检测 235

5.14.1 复位信号源 235

5.14.2 上电复位电路 235

5.14.3 无效地址检测 236

5.15 外引脚中断控制寄存器 236

5.15.1 外引脚中断1控制寄存器 236

5.15.2 外引脚中断2控制寄存器 237

5.16 锁相环时钟电路 238

5.16.1 锁相环时钟模块电路 238

5.16.2 外部滤波器电路 239

5.16.3 外部参考晶振时钟 240

5.16.4 外部参考振荡器时钟 241

5.16.5 PLL旁路方式 241

5.17 TMS320LF2407A公共初始化程序举例 241

5.17.1 汇编源程序开头公共初始化程序 241

5.17.2 C语言源程序开头公共初始化程序 242

习题与思考题 242

第6章 通用数字输入输出引脚 244

6.1 通用I/O引脚寄存器概述 244

6.2 I/O引脚复用控制寄存器 245

6.2.1 I/O端口复用控制寄存器A 245

6.2.2 I/O端口复用控制寄存器B 246

6.2.3 I/O端口复用控制寄存器C 247

6.3 数据和方向控制寄存器 248

6.3.1 I/O端口A数据和方向控制寄存器 248

6.3.2 I/O端口B数据和方向控制寄存器 249

6.3.3 I/O端口C数据和方向控制寄存器 250

6.3.4 I/O端口D数据和方向控制寄存器 251

6.3.5 I/O端口E数据和方向控制寄存器 252

6.3.6 I/O端口F数据和方向控制寄存器 252

6.4 通用I/O端口配置实例 253

6.5 通用I/O引脚应用举例 255

6.5.1 通用I/O查询输入 255

6.5.2 通用I/O引脚输出 257

习题与思考题 259

第7章 事件管理器 260

7.1 事件管理器模块概述 260

7.1.1 事件管理器结构 261

7.1.2 事件管理器引脚 262

7.1.3 功率驱动保护中断 263

7.1.4 EV寄存器 264

7.1.5 EV中断 264

7.2 事件管理寄存器 265

7.3 通用定时器 267

7.3.1 通用定时器概述 267

7.3.2 通用定时器计数操作 273

7.3.3 通用定时器比较操作 277

7.3.4 定时器控制寄存器 280

7.3.5 通用定时器的PWM输出 284

7.3.6 通用定时器复位 285

7.4 比较单元 285

7.4.1 比较单元概述 285

7.4.2 比较单元寄存器 287

7.4.3 比较单元中断 292

7.4.4 比较单元复位 292

7.5 比较单元与脉宽调制电路 292

7.5.1 脉宽调制电路概述 292

7.5.2 PWM波形发生器特征 293

7.5.3 可编程死区单元 293

7.6 用比较单元和PWM电路产生PWM波形 297

7.6.1 PWM信号 297

7.6.2 用事件管理器产生PWM输出 298

7.6.3 PWM产生的寄存器设置 298

7.6.4 非对称和对称PWM的产生 298

7.7 空间向量PWM 300

7.7.1 空间向量PWM理论概述 300

7.7.2 用EV产生空间向量PWM波形 302

7.8 捕获单元 304

7.8.1 捕获单元特性 304

7.8.2 捕获单元操作 306

7.8.3 捕获控制寄存器 306

7.8.4 捕获单元FIFO堆栈 311

7.8.5 捕获中断 311

7.9 正交编码器脉冲电路 312

7.9.1 正交编码器脉冲引脚 312

7.9.2 正交编码器脉冲电路时间基准 312

7.9.3 正交编码器脉冲电路的解码 313

7.9.4 正交编码器脉冲电路的计数 314

7.9.5 正交编码器脉冲电路的寄存器设置 314

7.10 事件管理器中断 314

7.10.1 EV中断请求和服务 315

7.10.2 事件管理器中断寄存器 316

7.11 事件管理器应用实例 326

7.11.1 事件管理器EVA的定时器1操作 326

7.11.2 事件管理器的捕获单元操作 328

7.11.3 事件管理器的QEP功能应用 335

习题与思考题 336

第8章 ADC、SCI、SPI外设模块 338

8.1 ADC模块 338

8.1.1 ADC特性与结构框图 338

8.1.2 AD通道排序连续自动转换工作原理 341

8.1.3 ADC控制寄存器与工作模式 345

8.1.4 ADC工作管理 356

8.1.5 排序转换期间的中断操作 359

8.1.6 ADC时钟预定标 360

8.1.7 ADC校准 361

8.1.8 ADC转换时钟周期 361

8.1.9 ADC模块初始化实例 362

8.1.10 A/D转换C实验程序设计 364

8.2 串行通信接口 367

8.2.1 串行通信接口的结构 367

8.2.2 可编程的数据格式 370

8.2.3 SCI多处理器通信 371

8.2.4 SCI通信模式 374

8.2.5 串行通信接口中断 376

8.2.6 SCI波特率计算 377

8.2.7 SCI模块寄存器 378

8.2.8 串行通信实例程序 386

8.3 串行外设接口 390

8.3.1 串行外设接口的物理描述 390

8.3.2 SPI模块寄存器概述 392

8.3.3 SPI操作 393

8.3.4 SPI中断 395

8.3.5 数据格式 396

8.3.6 SPI波特率和时钟模式 397

8.3.7 SPI复位初始化 399

8.3.8 SPI数据传送实例 399

8.3.9 SPI控制寄存器 400

8.3.10 SPI串行通信实例 407

习题与思考题 409

第9章 CAN控制器 411

9.1 CAN总线技术概述 411

9.2 CAN总线ISO/OSI参考模型 412

9.2.1 数据链路层 413

9.2.2 物理层 413

9.3 CAN控制器模块 414

9.3.1 CAN控制器模块结构框图 414

9.3.2 CAN控制器模块内存映射 415

9.4 邮箱和信息对象 417

9.4.1 信息对象 417

9.4.2 邮箱布局 417

9.4.3 信息缓冲器 419

9.4.4 写访问邮箱RAM 419

9.4.5 发送邮箱 420

9.4.6 接收邮箱 420

9.4.7 远程帧处理 420

9.4.8 邮箱配置 422

9.4.9 CAN接收滤波器 422

9.5 CAN控制寄存器 423

9.5.1 邮箱方向/使能寄存器 423

9.5.2 发送控制寄存器 424

9.5.3 接收控制寄存器 425

9.5.4 主控制寄存器 427

9.5.5 位配置寄存器 428

9.6 CAN状态寄存器 431

9.6.1 错误状态寄存器 431

9.6.2 全局状态寄存器 432

9.6.3 错误计数寄存器 433

9.7 CAN中断逻辑 434

9.7.1 CAN中断标志寄存器 434

9.7.2 CAN中断屏蔽寄存器 435

9.8 CAN初始化配置 437

9.9 低功耗和挂起模式 437

9.9.1 低功耗模式 437

9.9.2 挂起模式 438

9.10 CAN模块扩展硬件接口 439

9.10.1 接口驱动器件的选择 439

9.10.2 CAN物理接口 440

9.11 CAN通信实例 440

习题与思考题 445

第10章 数字信号处理算法的DSP实现 447

10.1 DIT-FFT基本原理 447

10.1.1 DIT-FFT算法 448

10.1.2 基2 DIT-FFT微机算法实现 454

10.2 数字滤波器设计基础 477

10.2.1 数字滤波器的正馈元件符号 477

10.2.2 数字滤波器的反馈元件符号 478

10.2.3 滤波器原理与分类 478

10.2.4 FIR滤波器的DSP实现 482

10.2.5 IIR滤波器的DSP实现 497

10.2.6 FIR滤波器与IIR滤波器比较 506

习题与思考题 507

第11章 DSP在高爆开关微机保护系统中的应用 508

11.1 基于DSP高爆开关微机保护系统硬件结构 508

11.1.1 交流采样层 508

11.1.2 DSP主控制层 509

11.1.3 I/O层 509

11.2 基于DSP的电力参数测量算法 510

11.2.1 交流采样电参量测量模型 510

11.3 基于DSP+CPLD控制接口可靠性设计 516

11.3.1 高爆开关微机保护系统可靠性分析 516

11.3.2 基于DSP+CPLD状态机控制接口设计 518

11.4 SPI接口与ZLG7289串行LED显示器接口设计 521

11.4.1 串行LED控制器ZLG7289A 521

11.4.2 ZLG7289A与DSP的SPI硬件接口 529

11.4.3 ZLG7289A与DSP的SPI软件接口设计 530

11.5 DSP与幻影实时时钟芯片DS1315的接口设计 538

11.5.1 DS1315引脚与特性 539

11.5.2 DS1315工作方式 540

11.5.3 DS1315存取时序分析 541

11.5.4 DS1315内部结构和8个模式字 542

11.5.5 DS1315时间寄存器 543

11.5.6 DS1315的SRAM掉电保护 544

11.5.7 DS1315读写子程序流程图设计 544

11.5.8 DS1315读写DSP例程 546

第12章 TMS320LF240xA引导ROM程序——协议与接口 551

12.1 引导ROM程序概述 551

12.2 协议定义 554

12.2.1 SPI同步传输协议和数据格式 554

12.2.2 SCI异步传输协议和数据格式 555

参考文献 564