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

  • 购买积分:13 如何计算积分?
  • 作  者:陈新,吴崇理编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2007
  • ISBN:9787121046940
  • 页数:353 页
图书介绍:本书介绍了Freecale公司的16位DSP56800E控制器原理,详细介绍了芯片的结构、功能外设、指令系统、集成开发调式工具、以及片内诸多硬件模块资源的使用方法;并结合电力电子诸多典型应用实例:如功率因数校正应用、直直变换应用、高频开关应用、高频模块电源等典型应用,提供了相应的数字控制解决方案。

第1章 DSP56800E的CPU结构概述 1

1.1 扩展DSP56800结构 2

1.2 CPU编程模块 2

1.3 多总线哈佛存储器 4

1.4 系统结构和外设接口 5

1.4.1 CPU单元 6

1.4.2 地址总线 7

1.4.3 数据总线 7

1.4.4 算术逻辑单元(ALU) 8

1.4.5 地址产生单元(AGU) 8

1.4.6 程序控制单元和硬件循环单元 9

1.4.7 位操作单元 9

1.4.8 增强型片内仿真测试单元(Enhanced OnCE) 10

1.5 基于DSP56800E CPU的DSP控制器 10

1.5.1 程序存储器 10

1.5.2 数据存储器 10

1.5.3 外部总线接口 11

第2章 数据类型、寻址方法与位操作单元 13

2.1 DSP56800E数据类型 14

2.1.1 有符号整数 14

2.1.2 无符号整数 14

2.1.3 有符号小数 14

2.1.4 无符号小数 15

2.2 存储器访问 15

2.2.1 数据传送指令 15

2.2.2 并行传送 16

2.2.3 数据对齐格式 16

2.3 存储器寻址和指针 17

2.3.1 字和字节指针 18

2.3.2 使用字指针实现字寻址 18

2.3.3 用字指针实现长字寻址 19

2.3.4 用字指针实现字节寻址 19

2.3.5 字节指针实现字节访问 19

2.4 寻址方式 19

2.4.1 寄存器直接寻址方式 21

2.4.2 地址寄存器间接寻址方式 21

2.4.3 立即寻址方式 23

2.4.4 绝对寻址方式 23

2.4.5 隐含寻址方式 24

2.5 位操作单元 24

2.5.1 位操作单元概述 25

2.5.2 位操作单元操作 27

2.5.3 ANDC、EORC、ORC和NOTC 28

2.5.4 其他位操作功能 28

第3章 数据逻辑运算单元 29

3.1 算术逻辑单元的简介和结构 30

3.1.1 数据寄存器(X0、Y1、Y0) 31

3.1.2 累加寄存器(A、B、C、D) 31

3.1.3 乘-累加器(MAC)和逻辑单元 32

3.1.4 单一位的累加器移位单元 32

3.1.5 算术和逻辑移位单元 32

3.1.6 数据限制器和MAC输出限制器 32

3.2 累加寄存器的访问 33

3.3 分数和整数运算 34

3.3.1 DSP56800E数据类型 34

3.3.2 加法和减法 35

3.3.3 乘法 36

3.3.4 除法 36

3.3.5 逻辑操作 37

3.3.6 移位指令 37

3.4 无符号算术操作 39

3.4.1 无符号操作的条件代码 39

3.4.2 无符号单精度乘法 39

3.5 扩展精度和多精度操作 40

3.5.1 扩展精度加法和减法 40

3.5.2 多精度分数乘法 40

3.5.3 多精度整数乘法 41

3.6 归一化 41

3.6.1 归一化的值 42

3.6.2 归一化方法 42

3.7 条件代码计算 43

3.7.1 条件代码模式 43

3.7.2 条件代码和数据大小 43

3.8 饱和与数据限制 44

3.9 取整 44

第4章 地址产生单元(AGU) 45

4.1 地址产生单元(AGU)架构 46

4.1.1 主地址运算单元 47

4.1.2 第二个地址累加单元 47

4.1.3 单一位移位单元 47

4.2 AGU编程模块 47

4.2.1 地址寄存器(R0~R5,N) 48

4.2.2 堆栈指针寄存器(SP) 48

4.2.3 偏移寄存器(N) 48

4.2.4 第二个读偏移寄存器(N3) 48

4.2.5 模地址寄存器(M01) 49

4.2.6 映像寄存器 49

4.3 地址寄存器应用 49

4.4 字节和字寻址 50

4.5 字指针存储器寻址 51

4.6 存储器字节指针寻址 52

4.7 AGU算术指令 53

4.8 线性和模地址运算 54

4.8.1 线性地址运算 54

4.8.2 模地址运算 54

4.8.3 模指令中的基指针和偏移量 55

4.8.4 存储器寻址指令 56

4.8.5 简单的环形缓冲器范例 56

4.8.6 不同数据块之间的环绕 57

4.8.7 模运算的副作用 58

第5章 程序控制器 59

5.1 程序控制器结构 60

5.1.1 指令锁存器和译码器 61

5.1.2 程序计数器 61

5.1.3 循环控制单元 61

5.1.4 硬件堆栈 61

5.1.5 中断控制单元 61

5.1.6 中断仲裁单元 61

5.2 程序控制器设计模型 62

5.2.1 运行模式寄存器 62

5.2.2 状态寄存器 64

5.2.3 循环计数寄存器 67

5.2.4 循环计数寄存器2 68

5.2.5 循环地址寄存器 68

5.2.6 循环地址寄存器2 68

5.2.7 硬件堆栈寄存器 68

5.2.8 快速中断状态寄存器 68

5.2.9 快速中断返回地址寄存器 69

5.3 软件堆栈 69

5.3.1 压入或弹出数值 70

5.3.2 子程序 70

5.3.3 中断服务程序 71

5.3.4 参数传递和局部变量 71

5.4 硬件堆栈 72

5.5 硬件循环 73

5.5.1 重复循环 73

5.5.2 DO循环 74

5.5.3 循环次数置0 75

5.5.4 终止DO循环 75

5.5.5 指定一个大的循环次数 76

5.5.6 嵌套硬件循环 76

5.6 从数据存储器执行程序 77

第6章 中断系统与流水线 79

6.1 标准处理状态 80

6.2 复位处理状态 80

6.3 异常处理状态 80

6.3.1 中断优先结构 81

6.3.2 中断和异常处理 82

6.3.3 中断源 85

6.3.4 不可中断的指令序列 87

6.4 等待处理状态 88

6.4.1 等待模式计时 88

6.4.2 禁止等待模式 88

6.5 停止处理状态 88

6.5.1 停止模式计时 89

6.5.2 禁止停止模式 89

6.6 调试处理状态 89

6.7 中断控制器 89

6.8 指令流水线 90

6.8.1 流水线执行阶段 91

6.8.2 正常流水线操作 91

6.8.3 中断处理过程中的流水线操作 92

6.8.4 流水线冲突和互锁 93

第7章 电压调整、欠电压保护、运行监护及时钟合成 95

7.1 电压调整器(VREG) 96

7.2 计算机运行监护 96

7.2.1 特征 97

7.2.2 模块图 97

7.2.3 功能描述 97

7.2.4 寄存器定义 97

7.2.5 TIMEOUT说明 100

7.2.6 COP复位 100

7.2.7 时钟 100

7.2.8 中断 100

7.2.9 复位 100

7.2.10 等待模式 100

7.2.11 停止模式 101

7.2.12 调试模式 101

7.3 欠电压保护 101

7.3.1 特点 101

7.3.2 功能描述 101

7.3.3 寄存器定义 101

7.4 片内时钟合成(OCCS) 103

7.4.1 特点 103

7.4.2 结构图 104

7.4.3 功能描述 105

7.4.4 晶体振荡器 106

7.4.5 弛张振荡器 106

7.4.6 锁相环 107

7.4.7 PLL频率锁定检测器模块 107

7.4.8 基准时钟丢失检测器 108

7.4.9 运行模式 108

7.4.10 寄存器定义 110

7.4.11 中断信号 117

第8章 CAN总线控制器 119

8.1 特点 120

8.2 模块结构 120

8.3 典型的CAN系统图 121

8.4 信息缓冲器 121

8.5 功能概述 124

8.5.1 发送处理 124

8.5.2 接收处理 125

8.5.3 信息缓冲器处理 126

8.5.4 锁定/释放/忙状态机制和SMB的使用 127

8.5.5 远程帧 128

8.5.6 超载帧 128

8.5.7 时间标志 128

8.5.8 收听模式 129

8.5.9 位时序(bit timing) 129

8.5.10 FlexCAN初始化/复位顺序 130

8.6 特殊工作模式 131

8.6.1 调试模式 131

8.6.2 节电停止模式 131

8.6.3 自动节电模式 133

8.7 寄存器定义 133

8.7.1 模块配置寄存器(FCMCR) 139

8.7.2 控制寄存器0(FCCTL0) 141

8.7.3 控制寄存器1(FCCTL1) 143

8.7.4 自由运行定时器(FCTMR) 143

8.7.5 最大信息缓冲寄存器(FCMAXMB) 144

8.7.6 接收屏蔽寄存器 144

8.7.7 接收全局屏蔽(FCRXGMASK__H和FCRXGMASK__L) 145

8.7.8 接收缓冲器14屏蔽寄存器(FCRX14MASK__H/__L) 146

8.7.9 接收缓冲器15屏蔽寄存器(FCRX15MASK__H/__L) 146

8.7.10 出错和状态寄存器(FCSTATUS) 147

8.7.11 中断屏蔽寄存器1(FCIMASK1) 149

8.7.12 中断标志寄存器1(FCIFLAG1) 149

8.7.13 出错计数器(FC__ERR__CNTRS) 150

8.8 中断 150

8.9 复位 151

8.10 将信息缓冲器作为数据RAM使用 151

第9章 定时器 153

9.1 定时器的主要特点 154

9.2 定时器的结构图 154

9.3 定时器功能描述 154

9.3.1 比较寄存器的用法 155

9.3.2 比较预加载寄存器 155

9.3.3 捕获寄存器的使用 156

9.4 计数/定时器的运行模式 156

9.4.1 停止模式 156

9.4.2 计数模式 156

9.4.3 边沿计数模式 157

9.4.4 门控计数模式 157

9.4.5 正交计数模式 157

9.4.6 符号计数模式 157

9.4.7 触发计数模式 157

9.4.8 单次计数模式 157

9.4.9 级联计数模式 158

9.4.10 脉冲输出模式 158

9.4.11 固定频率PWM模式 158

9.4.12 变频率PWM模式 158

9.5 寄存器描述 160

9.5.1 比较寄存器TMRCMP1 161

9.5.2 比较寄存器TMRCMP2 161

9.5.3 捕获寄存器TMRCAP 162

9.5.4 加载寄存器TMRLOAD 162

9.5.5 保持寄存器TMRHOLD 163

9.5.6 计数寄存器TMRCNTR 163

9.5.7 控制寄存器TMRCTRL 163

9.5.8 状态和控制寄存器TMRSCR 166

9.5.9 比较器预加载寄存器TMRCMPLD1 168

9.5.10 比较器预加载寄存器TMRCMPLD2 168

9.5.11 比较器状态控制寄存器TMRCOMSCR 169

9.6 时钟 170

9.7 中断 170

第10章 A/D转换器 171

10.1 特点 172

10.2 模块框图 172

10.3 功能描述 173

10.4 ADC采样转换工作模式 174

10.4.1 正常工作模式 174

10.5 ADC数据处理 174

10.6 顺序采样和并行采样 175

10.7 扫描顺序 175

10.7.1 低功耗工作模式 176

10.7.2 ADC停止工作模式 177

10.8 引脚描述 177

10.8.1 AN0~AN7——模拟输入引脚 177

10.8.2 电压参考引脚——(VREFH、VREFP、VREFMID、VREFN和VREFLO) 178

10.9 寄存器定义 179

10.9.1 控制寄存器1(ADCTL1) 183

10.9.2 控制寄存器2(ADCTL2) 186

10.9.3 过零控制寄存器(ADZCC) 186

10.9.4 通道列表寄存器(ADLST1和ADLST2) 186

10.9.5 采样禁止寄存器(ADSDIS) 188

10.9.6 状态寄存器(ADSTAT) 188

10.9.7 域值状态寄存器(ADLSTAT) 189

10.9.8 过零状态寄存器(ADZCSTAT) 190

10.9.9 结果寄存器(ADRSLT0~7) 190

10.9.10 低/高域值寄存器(ADLLMT0~7)和(ADHLMT0~7) 191

10.9.11 偏置寄存器(ADOFS0~7) 191

10.9.12 功率控制寄存器(ADCPOWER) 191

10.10 时钟 193

10.11 中断 194

第11章 脉宽调制模块PWM 195

11.1 PWM主要特性 196

11.2 PWM模块结构图 196

11.3 PWM主要功能介绍 197

11.3.1 预分频 197

11.3.2 PWM发生器 197

11.3.3 独立PWM输出模式和互补PWM输出模式 200

11.3.4 死区时间发生器 201

11.3.5 自动死区时间校正 206

11.3.6 PWM移相输出 207

11.3.7 输出极性 207

11.4 软件控制输出 208

11.5 PWM发生器装载 209

11.5.1 装载允许位LDOK 209

11.5.2 重载频率 209

11.5.3 重载标志 210

11.5.4 PWM同步输出信号 212

11.5.5 PWM模块初始化 213

11.6 故障保护 213

11.6.1 故障引脚滤波器 214

11.6.2 自动故障清除 214

11.6.3 手动清除错误 215

11.7 引脚说明 216

11.8 PWM寄存器 216

11.8.1 PWM控制寄存器(PMCTL) 218

11.8.2 故障控制寄存器PMFCTL 220

11.8.3 故障状态和确认寄存器PMFSA 221

11.8.4 输出控制寄存器PMOUT 221

11.8.5 计数器寄存器 222

11.8.6 计数模寄存器PWMCM 223

11.8.7 计数值寄存器PWMVAL0~5 223

11.8.8 死区时间寄存器PMDEADTM 224

11.8.9 失效映射寄存器PMDISMAP1~2 224

11.8.10 配置寄存器PMCFG 225

11.8.11 通道控制寄存器PMCCR 226

11.8.12 端口寄存器PMPORT 228

11.8.13 内部校正控制寄存器PMICCR 228

11.9 PWM时钟 229

11.10 中断 229

11.11 系统复位 230

第12章 串口通信接口(SCI) 231

12.1 特点 232

12.2 模块框图 232

12.3 功能描述 233

12.3.1 数据帧格式 233

12.3.2 波特率发生器 234

12.3.3 发送器 234

12.3.4 接收器 236

12.4 特殊工作模式 241

12.4.1 单线工作 241

12.4.2 循环工作 241

12.4.3 低功耗方式 242

12.5 寄存器说明 242

12.5.1 波特率寄存器(SCIBR) 243

12.5.2 控制寄存器(SCICR) 244

12.5.3 SCI状态寄存器(SCISR) 246

12.5.4 SCI数据寄存器(SCIDR) 248

12.6 时钟 248

12.7 复位 248

12.8 中断 248

12.8.1 发送器空中断 249

12.8.2 发送器空闲中断 249

12.8.3 接收器满中断 249

12.8.4 接收错误中断 249

第13章 串行外设接口(SPI) 251

13.1 特点 252

13.2 模块框图 252

13.3 工作模式 253

13.3.1 主机模式 253

13.3.2 从机模式 253

13.3.3 或逻辑接线模式 254

13.4 引脚信号说明 255

13.5 传输格式 256

13.5.1 数据传输长度 256

13.5.2 数据移位顺序 256

13.5.3 时钟相位和极性控制 256

13.5.4 时钟相位CPHA=0时的传输格式 256

13.5.5 时钟相位CPHA=1时的传输格式 257

13.6 传输数据 258

13.7 错误条件 258

13.7.1 溢出错误 259

13.7.2 模式错误 259

13.8 寄存器定义 260

13.8.1 状态控制寄存器(SPSCR) 260

13.8.2 数据长度和控制寄存器(SPDSR) 263

13.8.3 数据接收寄存器(SPDRR) 265

13.8.4 SPI数据发送寄存器(SPDTR) 265

13.9 复位 265

13.10 中断 266

第14章 通用输入输出端口(GPIO) 267

14.1 特点 268

14.2 模块框图 268

14.3 工作模式 268

14.4 寄存器定义 269

14.4.1 上拉使能寄存器(PUR) 270

14.4.2 数据寄存器(DR) 270

14.4.3 数据方向寄存器(DDR) 270

14.4.4 外设使能寄存器(PER) 270

14.4.5 中断请求寄存器(IAR) 271

14.4.6 中断使能寄存器(IENR) 271

14.4.7 中断极性寄存器(IPOLR) 271

14.4.8 中断待决寄存器(IPR) 272

14.4.9 中断边缘触发寄存器(IESR) 272

14.4.10 推挽模式寄存器(PPMODE) 272

14.4.11 原始数据寄存器(RAWDATA) 273

14.5 中断 273

第15章 开关通信电源的开发应用实例 275

15.1 MC56F8323控制器 276

15.2 功率因数校正系统的DSP解决方案 277

15.2.1 功率因数校正概念 277

15.2.2 功率因数校正的数字控制算法 279

15.2.3 数字PFC模块系统框架 281

15.2.4 数字功率因数校正的软件设计 283

15.3 移相全桥直直变换器的DSP解决方案 295

15.3.1 移相全桥软开关变换器工作原理 295

15.3.2 数字移相全桥变换器系统框架 296

15.4 基于DSP的完整全数字开关电源解决方案 303

第16章 高频模块电源的开发应用实例 307

16.1 带同步整流有源正激主电路 308

16.2 MC56F8013芯片 309

16.2.1 芯片CPU 310

16.2.2 56F8013存储器 311

16.2.3 56F8013外设电路 311

16.2.4 56F8013电源信息 311

16.2.5 信号连接说明 312

16.3 基于DSP控制的模块电源系统设计 313

16.3.1 基于MC56F8013的硬件平台设计 314

16.3.2 DSP的调试通信接口应用 318

16.3.3 模块电源的数字控制算法 321

16.3.4 软件资源配置 322

16.3.5 主程序工作流程 323

16.3.6 MC56F8013实现PWM的控制策略 325

16.4 基于DSP的完整全数字模块电源解决方案 326

附录A 指令集系统 331

A.1 乘法指令 332

A.2 算术指令 332

A.3 移位指令 334

A.4 逻辑指令 335

A.5 地址产生单元算术指令 336

A.6 位操作指令 337

A.7 循环指令 337

A.8 数据传输指令 337

A.9 程序控制指令 338

附录B MC56F8323评估板系统原理图 339

参考文献 353