当前位置:首页 > 工业技术
dsPIC数字信号控制器入门与实战  入门篇
dsPIC数字信号控制器入门与实战  入门篇

dsPIC数字信号控制器入门与实战 入门篇PDF电子书下载

工业技术

  • 电子书积分:15 积分如何计算积分?
  • 作 者:石朝林编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2009
  • ISBN:9787811242133
  • 页数:465 页
图书介绍:本书可以称作16位DSC的“入门篇”。侧重于dsPIC30F/33F系列16位数字信号控制器的基础知识和相关实际工程经验的介绍。针对这一系列MCU的架构、外设、存储器模式、寻址模式、开发工具等进行循序渐进、深入浅出的介绍,从入门到精通到实战。提供了关于数字滤波、FFT等实战范例,帮助工程师系统学习和研究,同时把指令集以简洁的表格形式呈现在读者面前,方便编程时迅速准确查找。本书附光盘1张,内含实用软件和程序范例。
《dsPIC数字信号控制器入门与实战 入门篇》目录

第1章CPU架构 1

1.1概述 1

1.2编程者模型 4

1.2.1工作寄存器堆 6

1.2.2影子寄存器 7

1.2.3未初始化的W寄存器的复位 8

1.3软件堆栈 8

1.3.1软件堆栈示例 9

1.3.2 W14软件堆栈帧指针 10

1.3.3堆栈指针上溢和下溢 11

1.4与核心相关的寄存器 11

1.4.1状态寄存器(SR) 11

1.4.2核心控制寄存器(CORCON) 13

1.4.3其他CPU控制寄存器 15

1.5算术逻辑部件(ALU) 15

1.6 DSP引擎 16

1.6.1累加器 16

1.6.2乘法器 18

1.6.3累加器与加法器 20

1.6.4舍入逻辑 23

1.6.5桶形移位寄存器 24

1.6.6 DSP引擎陷阱事件 24

1.7除法器 25

1.8指令流类型 25

1.9循环结构 27

1.9.1 REPEAT循环结构 27

1.9.2 DO循环结构 29

第2章 中断系统 33

2.1中断系统简介 33

2.2中断优先级 36

2.2.1用户中断优先级 36

2.2.2 CPU中断优先级 37

2.3中断的操作过程 38

2.4中断嵌套 39

2.5非屏蔽中断陷阱 40

2.5.1软陷阱 40

2.5.2硬陷阱 41

2.6软件禁止中断指令(DISI) 42

2.7利用中断将CPU从SLEEP和IDLE状态唤醒 43

2.8外部中断源 43

2.9中断处理时序 43

2.9.1单周期指令的中断响应时间 43

2.9.2双周期指令的中断响应时间 44

2.9.3从中断返回 45

2.9.4中断响应时间的特殊情况 46

2.10中断设置流程 46

2.10.1初始化 46

2.10.2中断服务程序 46

2.10.3禁止中断 47

2.11和中断相关的寄存器 47

第3章 程序存储器与数据存储器 63

3.1程序存储器与EEPROM 63

3.1.1程序存储器地址映射 64

3.1.2程序计数器PC 65

3.1.3从Flash或EEPROM进行数据读写的方法 66

3.2数据存储器 91

3.2.1概述 91

3.2.2数据区地址发生单元(AGU) 93

3.2.3模数寻址 95

3.2.4位反转寻址 103

第4章 定时计数器 108

4.1概述 108

4.2定时计数器的分类 108

4.2.1 A类定时计数器 108

4.2.2 B类定时计数器 111

4.2.3 C类定时计数器 113

4.3工作模式 114

4.3.1使用系统时钟作为时钟源的16位计数器 115

4.3.2使用外部时钟作为时钟源的16位同步计数器 115

4.3.3使用外部时钟源的异步计数器模式(A类定时计数器) 116

4.3.4门控计数器模式 117

4.4定时计数器中断 119

4.5读和写16位定时计数器模块寄存器 119

4.5.1写16位定时计数器 119

4.5.2读16位定时计数器 120

4.6 32位定时计数器 120

4.6.1 32位定时器模式 120

4.6.2 32位同步计数器模式 122

4.6.3 32门控计数器模式 123

4.6.4 32位定时计数器的读写操作 124

4.7低功耗状态下的定时计数器工作 124

4.7.1 SLEEP模式下的定时计数器工作 124

4.7.2 IDLE模式下的定时计数器工作 124

4.8使用定时计数器模块的外设 125

4.8.1输入捕捉/输出比较的时基 125

4.8.2 A/D特殊事件触发信号 125

4.8.3定时计数器作为外部中断引脚 125

4.8.4 I/O引脚方向控制 125

第5章A/D转换器及其应用 126

5.1 A/D转换器(ADC)概述 126

5.2与10位A/D转换器相关的主要寄存器 126

5.2.1 ADCON1:第一A/D控制寄存器 127

5.2.2 ADCON2:第二A/D控制寄存器 129

5.2.3 ADCON3:第三A/D控制寄存器 130

5.2.4 ADPCFG:A/D端口配置寄存器 132

5.2.5 ADCHS:A/D通道选择寄存器 132

5.2.6 ADCSSL:A/D输入扫描选择寄存器 135

5.3 A/D模块的工作特点及设置 136

5.3.1 A/D模块采样方式的设置 137

5.3.2 A/D转换缓冲区的使用 147

5.3.3 A/D转换应用范例 150

5.4 A/D转换的防混叠滤波器 161

第6章DMA控制器(DMAC) 168

6.1 DMA操作模式 168

6.1.1字节或字传输模式 170

6.1.2寻址模式 170

6.1.3 DMA传输方向 173

6.1.4空数据外设写模式 173

6.1.5单次传输模式 174

6.1.6连续传输模式 174

6.1.7“半块传输结束”中断与“整块传输结束”中断模式 175

6.1.8“乒乓”模式 175

6.1.9手动传输(Manual Transfer)模式 176

6.1.10 DMA请求源选择 178

6.2 DMA中断和陷阱 178

6.3和DMA相关的寄存器 179

6.4 DMA控制器的使用 183

6.4.1将DMA通道和相关的外设联系起来 184

6.4.2对外设进行相应的配置 184

6.4.3初始化DPSRAM(双端口SRAM)数据起始地址 185

6.4.4初始化DMA传输计数值 186

6.4.5选择相应的寻址和操作模式 186

第7章 串行通信端口 191

7.1通用异步收发器(UART) 191

7.1.1相关的寄存器 192

7.1.2 UART波特率发生器 195

7.1.3 UART配置 198

7.1.4 UART发送器 198

7.1.5 UART接收器 201

7.1.6 UART的其他特性 206

7.1.7在CPUSLEEP和IDLE模式下的UART工作 207

7.1.8 UART使用范例 207

7.2串行外设接口(SPI) 210

7.2.1 SPI简介 210

7.2.2主要的寄存器及其各位的含义 211

7.2.3工作模式 214

7.2.4 SPI主控模式时钟频率 223

7.2.5低功耗模式下SPI的工作 224

7.3内部互联总线(I2C总线) 225

7.3.1概述 225

7.3.2 I2 C总线特性 226

7.3.3总线协议与报文协议 227

7.3.4相关寄存器 229

7.3.5使能I2 C操作 233

7.3.6在单主环境中作为主设备的通信 235

7.3.7作为主设备在多主机环境下通信 241

7.3.8作为从设备通信 244

7.3.9 I2C总线的外围连接和电气规范 250

7.3.10在低功耗模式下的工作情况 251

第8章 输入捕捉与输出比较 253

8.1概述 253

8.2输入捕捉 253

8.2.1和输入捕捉相关的寄存器 254

8.2.2简单事件捕捉 255

8.2.3边沿事件捕捉 256

8.2.4预分频事件捕捉 256

8.2.5捕捉缓冲区的操作与捕捉中断 257

8.2.6捕捉模块对UART自动波特率的支持 258

8.2.7在低功耗模式下输入捕捉模块的工作情况 258

8.3输出比较 258

8.3.1输出比较相关的寄存器 259

8.3.2输出比较的工作模式 260

第9章 电机控制专用外设 266

9.1电机控制专用PWM 266

9.1.1概述 266

9.1.2与MCPWM相关的控制寄存器 267

9.1.3 PWM时基 278

9.1.4 PWM占空比单元 281

9.1.5互补对称PWM输出模式 286

9.1.6死区时间控制 286

9.1.7独立PWM输出模式 289

9.1.8 PWM输出强制 290

9.1.9 PWM输出和极性控制 292

9.1.10 PWM故障引脚 293

9.1.11 PWM更新锁定 296

9.1.12 PWM特殊事件触发器 296

9.1.13芯片低功耗模式的工作情况 297

9.1.14用dsPIC的PWM模块产生正弦波,驱动三相交流感应电机的功率模块 298

9.2正交编码器接口(QEI) 303

9.2.1 QEI模块简介 303

9.2.2控制和状态寄存器 305

9.2.3正交解码器 308

9.2.4 16位向上/向下位置计数器 310

9.2.5 QEI模块作为16位定时器/计数器 313

第10章 时钟电路 315

10.1 dsPIC时钟系统概述 315

10.2振荡器控制寄存器及其初始化 317

10.3锁相环(PLL) 319

10.4振荡电路及匹配元件的选择 320

10.4.1晶体振荡电路及其外围元件选择 320

10.4.2从振荡器(32.768kHz) 322

10.4.3外部RC振荡器及其元件选择 322

10.4.4内部低功耗RC振荡器(LPRC) 322

10.4.5内部快速RC振荡器(FRC) 323

10.4.6关于振荡器外围布线规则 323

10.5与时钟相关的配置位设置 324

10.6时钟切换操作顺序 325

第11章 系统管理模块 328

11.1复位管理 328

11.1.1上电复位 331

11.1.2掉电复位 334

11.1.3非法操作码复位 337

11.1.4未初始化的W寄存器复位 337

11.1.5陷阱冲突复位 337

11.1.6外部复位 337

11.1.7软件复位 337

11.1.8看门狗复位 338

11.1.9不同配置位对于上电复位时序的影响 338

11.2功耗管理 341

11.2.1功耗管理简介 341

11.2.2睡眠模式 342

11.2.3待机模式 344

11.3看门狗定时器 345

11.3.1看门狗定时器的功能和使用原则 345

11.3.2看门狗定时器工作原理 346

11.4低电压监测 348

11.4.1低压监测模块工作原理 348

11.4.2 RCON寄存器中与LVD相关的配置 349

11.4.3低电压监测模块的初始化过程 351

11.4.4关于低压监测中断对系统的唤醒 351

第12章 I/O端口及相关功能 352

12.1输入/输出口结构 352

12.2 I/O端口控制寄存器 353

12.2.1方向寄存器“TRISx 353

12.2.2端口寄存器“PORTx” 354

12.2.3端口锁存寄存器“LATx” 355

12.2.4在C30环境下对16位端口的高、低8位访问技巧 355

12.3外设复用 356

12.3.1端口复用原理 356

12.3.2利用复用原理用软件对外设输入引脚施加激励 357

12.4电平变化中断 358

12.4.1电平变化中断原理 358

12.4.2电平变化中断(CN)控制寄存器 359

12.4.3如何设置和使用电平变化中断 360

12.4.4 SLEEP和IDLE模式下的电平变化中断 361

第13章 开发工具 362

13.1概述 362

13.2 MPLAB IDE集成开发环境软件包 363

13.3 MPLAB C30编译器 364

13.4 REAL ICE高级在线仿真器 367

13.5 MPLAB ICD2在线调试器 376

13.6 PROMATE III(PM3)生产级烧写器 379

13.7第三方开发工具 380

13.8库函数及应用工具软件 381

第14章 数字滤波器设计 384

14.1 dsPIC FD数字滤波器软件包介绍 384

14.2滤波器设计实例 384

14.2.1滤波器类型的选择及滤波器参数文件的生成 384

14.2.2使用dsPICworks软件包进行数字信号处理 389

14.2.3对滤波处理后的时域信号进行频域分析 395

第15章 实时时钟模块(RTC) 398

15.1实时时钟概述 398

15.2实时时钟模块相关的寄存器及其定义 398

15.2.1寄存器映射 399

15.2.2“写”开锁 399

15.2.3相关的寄存器 400

15.3校准 406

15.4报警 407

15.4.1配置报警 407

15.4.2报警中断 408

附录A快速傅里叶变换(FFT) 409

A.1快速傅里叶变换(FFT)的发展和基本原理 409

A.2快速傅里叶变换(FFT)用到的特殊寻址模式 411

A.3 dsPIC系列数字信号控制器的运算特点 413

A.3.1定点处理器dsPIC30F/33FJ家族DSC的数据格式 413

A.3.2 dsPIC定点处理器在运算过程中的误差类型分析 414

A.3.3在C30环境下使用汇编语言编程相关问题 415

A.4基于dsPIC的快速傅里叶变换(FFT)的程序实现 415

A.4.1代码描述 415

A.4.2相应文件及其功能 417

A.4.3推荐测试环境 417

A.4.4针对其他dsPIC家族芯片的重新配置 418

附录B 指令集详解 419

B.1指令集分类及索引 419

B.1.1数据传送类(17条) 419

B.1.2数学运算类(45条) 422

B.1.3逻辑操作类(22条) 429

B.1.4循环操作类(20条) 431

B.1.5位操作类(19条) 435

B.1.6比较跳转类(16条) 439

B.1.7程序分支类(35条) 440

B.1.8影子/堆栈操作类(10条) 443

B.1.9 CPU控制类(6条) 444

B.1.10 DSP类(19条) 445

附录C 利用DSP核提高直流无刷电机的PID效率 451

C.1直流无刷电机控制面临的挑战 451

C.2 dsPIC30F/33F电机控制系列单片机 451

C.3实用DSP提高BLDC的PID控制效率 452

C.3.1实验板配置 452

C.3.2闭环PID控制基本原理 453

C.3.4 PID效率测试硬件设计 454

C.3.5使用C语言和汇编语言混合编程 455

附录D 随身携带的PIC开发利器PICkit2 458

D.1调试器兼烧写器PICkit2简介 458

D.2如何使用PICkit2进行脱机烧写 459

D.3 PICkit2工作在脱机烧写器状态时的电源供应问题 462

D.4将PICkit2内部EEPROM扩展到256 KB的DIY方法 463

返回顶部