当前位置:首页 > 工业技术
Motorola 24位DSP原理与应用基础
Motorola 24位DSP原理与应用基础

Motorola 24位DSP原理与应用基础PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:周浩敏编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2004
  • ISBN:7810774298
  • 页数:442 页
图书介绍:本书系统介绍DSP56311这一24位通用型DSP芯片的软硬件的基本技术,提供了相应的开发工具,结合开发实践,介绍其在有关测控系统中的应用实例。
《Motorola 24位DSP原理与应用基础》目录

第1章 DSP概述 1

1.1 引言 1

1.2 Motorola典型产品简介 4

1.3 DSP56300处理器简介 4

1.3.1 DSP56300的主要特点 5

1.3.2 以DSP56300为内核的系列产品 5

1.3.3 本书中约定表示方法 11

2.1 DSP56311总体基本结构 13

第2章 DSP56311总体概要 13

2.2 DSP56300内核的工作过程与工作状态 16

2.2.1 内核工作过程 16

2.2.2 内核的工作状态 17

2.2.3 中断处理中的若干问题 17

2.2.4 复位处理状态 23

第3章 芯片内核的硬件结构 25

3.1 数据算术逻辑单元ALU 25

3.1.1 数据ALU的功能模块 25

3.1.2 数据ALU的运算与数的舍入规则 28

3.1.3.1 16位运算模式中的数据传送 35

3.1.3 16位运算模式 35

3.1.3.2 16位运算 37

3.1.4 流水线竞争 38

3.2 地址产生单元AGU 39

3.2.1 AGU的结构 40

3.2.2 16位兼容模式 41

3.2.3 程序设计模型 42

3.2.4 寻址方式 43

3.2.5 修正地址的运算类型 46

3.3.1 概述 48

3.3 程序控制单元PCU 48

3.3.2 PCU硬件结构 49

3.3.3 指令流水线 50

3.3.4 PCU程序设计模型 52

3.3.4.1 配置和状态寄存器 52

3.3.4.2 堆栈和堆栈扩展 62

3.3.4.3 系统堆栈配置和工作寄存器 63

3.3.4.4 程序、循环和异常现象等处理的控制 66

3.4 锁相环(PLL)和时钟发生器 67

3.4.1.3 压控振荡器 68

3.4.1.2 鉴相器和电荷泵环路滤波器 68

3.4.1 PLL模块 68

3.4.1.1 预分频器 68

3.4.1.4 时钟发生器 69

3.4.2 PLL程序设计模型 70

第4章 JTAG测试访问端口与片内仿真模块 74

4.1 JTAG测试访问端口 74

4.1.1 端口的功能和内部结构 74

4.1.2 JTAG指令 77

4.2 片内仿真(OnCE)模块 79

4.1.3 对DSP56300 JTAG的限制 79

4.2.1 OnCE控制器 80

4.2.1.1 OnCE命令寄存器OCR 81

4.2.1.2 OnCE解码器ODEC 82

4.2.1.3 OnCE状态和控制寄存器OSCR 82

4.2.2 OnCE存储器断点逻辑 83

4.2.3 OnCE对高速缓存(Cache)的支持 86

4.2.4 进入调试模式的方法 88

4.2.5 跟踪缓冲器 89

4.2.7 目标系统一侧系统的调试要求 91

4.2.6 串行握手协议 91

4.2.8 使用OnCE举例 92

4.2.9 JTAG-OnCE之间相互作用举例 95

4.2.10 地址跟踪模式 97

第5章 存储器 98

5.1 概述 98

5.2 片内存储器 99

5.2.1 程序存储器 99

5.2.2 程序存储器的转换模式 100

5.2.3 X和Y数据存储器 101

5.2.4 16位兼容模式结构 104

5.3 外部存储器接口(端口A) 105

5.3.1 外部存储器接口信号 105

5.3.2 端口A的工作 108

5.3.2.1 外部存储器寻址 108

5.3.2.2 对静态随机存储器SRAM的支持 108

5.3.2.3 对动态随机存储器DRAM的支持 109

5.3.5 总线判决信号 111

5.3.3 不用端口A 111

5.3.4 总线的握手和判决 111

5.3.5.1 判决协议 112

5.3.5.2 判决方案 113

5.3.5.3 总线判决示例 113

5.4 端口A的控制 114

5.4.1 地址属性寄存器(AAR) 114

5.4.2 总线控制寄存器(BCR) 117

5.4.3 DRAM控制寄存器(BCR) 118

5.5.1 指令Cache的结构 120

5.5 指令Cache 120

5.5.2 Cache程序设计模块 122

5.5.2.1 Cache的操作 122

5.5.2.2 硬件复位后的默认模式 124

5.5.3 锁定Cache 124

5.5.4 解除对Cache的锁定 124

5.5.5 清除Cache 125

5.5.6 数据由/到指令Cache的传送 125

5.5.8 指令Cache操作的调试 126

5.5.7 实时应用中指令Cache的使用 126

第6章 DMA控制器 128

6.1 概述 128

6.2 DMA工作过程 130

6.2.1 DMA概述 130

6.2.2 定时(内核时钟周期) 131

6.3 通道的优先级 132

6.3.1 两个DMA通道间的优先级 132

6.3.2 DMA通道与内核间的优先级 132

6.4 DMA对总线接口单元(BIU)的专门用途 133

6.5 DMA控制器的编程模型 134

6.5.1 DMA源地址寄存器 134

6.5.2 DMA目标地址寄存器 134

6.5.3 DMA偏移量寄存器 135

6.5.4 DMA计数器 135

6.5.4.1 DMA计数器模式A-单计数器 135

6.5.4.2 DMA计数器模式B-双计数器 136

6.5.4.3 DMA计数器模式C,D和E-三计数器 136

6.5.5 DMA控制寄存器(DCR) 138

6.5.6 DMA状态寄存器(DSTR) 143

6.6 应用DMA的注意事项 144

第7章 外围器件及其编程技术 146

7.1 外围器件的编程 146

7.1.1 外围器件初始化与控制、状态寄存器的一般操作 146

7.1.2 数据传送的方法 147

7.1.3 通用输入/输出(GPIO) 149

7.2 主机接口(HI08) 152

7.2.1 HI08概述 152

7.2.2 工作过程 154

7.2.3 使用HI08的起动 159

7.2.4 DSP内核的程序设计模型 159

7.2.5 主机的程序设计模型 167

7.3 增强型同步串行接口(ESSI) 174

7.3.1 ESSI相对SSI的“增强” 175

7.3.2 ESSI数据和控制信号 175

7.3.3 ESSI的基本操作 178

7.3.4 三种工作模式:标准(常规)、网络和请求服务模式 180

7.3.5 ESSI程序设计模型 183

7.3.6 GPIO信号和寄存器 199

7.4 串行通信接口(SCI) 201

7.4.1 工作模式 201

7.4.2 I/O信号 203

7.4.3 复位之后的SCI 203

7.4.4 SCI的初始化 205

7.4.5 异常现象 207

7.4.6 SCI程序设计模型 207

7.4.7 GPIO信号和寄存器 217

7.5.1 概述 218

7.5 三定时器模块 218

7.5.2 定时器的工作 220

7.5.3 定时器的工作模式 221

7.5.4 三定时器模块的程序设计模型 233

第8章 指令集及其使用指南 240

8.1 指令格式和语法 240

8.1.1 汇编语言与指令的一般格式 240

8.1.2 常用伪指令 241

8.1.3 DSP56300内核指令的表示说明 242

8.2 操作数的长度 243

8.2.1 数据ALU寄存器的存储宽度 244

8.2.3 程序控制寄存器 245

8.2.2 AGU寄存器 245

8.2.4 存储器中的数据结构 246

8.3 指令中的标记、标识说明 246

8.3.1 指令的标记说明 246

8.3.2 条件码寄存器的说明 250

8.4 DSP56300内核指令集 251

8.4.1 算术类指令 251

8.4.1.2 加法指令 253

8.4.1.1 绝对值指令ABS 253

8.4.1.3 算术累加器左移指令ASL 254

8.4.1.4 算术累加器右移指令ASR 255

8.4.1.5 累加器清0指令CLR 256

8.4.1.6 比较指令CMP、CMPM和CMPU 257

8.4.1.7 减1指令DEC 258

8.4.1.8 迭代除法指令DIV 258

8.4.1.9 双精度带右移的乘-加指令DMAC 260

8.4.1.10 增1指令INC 260

8.4.1.11 乘-累加类指令MAC,MACI,MAC(su,uu),MACR以及MACRI 261

8.4.1.12 求最大值的传送指令MAX,MAXM 263

8.4.1.13 乘法类指令MPY,MPY(su,uu),MPYI,MPYR以及MPYRI 264

8.4.1.14 累加器求反指令NEG 266

8.4.1.15 累加器规格化指令NORM和NORMF 266

8.4.1.16 累加器舍入处理指令RND 267

8.4.1.17 减法类指令SBC,SUB,SUBL和SUBR 268

8.4.1.18 有条件的传送指令Tcc 270

8.4.1.20 测试累加器指令TST 271

8.4.1.19 数据ALU寄存器的传送指令TFR 271

8.4.2 逻辑指令 272

8.4.2.1 逻辑与指令AND(以及AND(imm.))和ANDI 273

8.4.2.2 对前导位计数的指令CLB 274

8.4.2.3 逻辑异或指令EOR(EOR(imm.)) 275

8.4.2.4 抽取位段指令EXTRACT(EXTRACT(imm.)和EXTRACTU(EXTRACTU(imm.)) 276

8.4.2.5 插入位段指令INSERT(INSERT(imm.)) 278

8.4.2.6 逻辑左移指令LSL(LSL(mb.),LSL(mb.,imm.)) 279

8.4.2.7 逻辑右移指令LSR(LSR(mb.),LSR(mb.,imm.)) 280

8.4.2.8 合并两个“半字”的指令MERGE 280

8.4.2.9 逻辑非指令NOT 281

8.4.2.10 逻辑或指令OR(OR(imm.))和ORI 282

8.4.2.11 循环移位指令ROL(循环左移)和ROR(循环右移) 283

8.4.3 位处理指令 283

8.4.4 循环指令 287

8.4.4.1 有条件地退出当前的DO循环指令BRKcc 287

8.4.4.2 硬件循环开始指令DO 287

8.4.4.3 无限循环开始指令DO FOREVER 290

8.4.4.4 相对PC的硬件循环开始指令 291

8.4.4.6 结束当前DO循环指令ENDDO 292

8.4.4.5 相对PC的无限循环开始指令DOR FOREVER 292

8.4.5 传送类指令 293

8.4.5.1 装载相对PC地址的指令LRA 294

8.4.5.2 加载被更新地址的指令 294

8.4.5.3 传送(MOVE)类指令 295

8.4.5.4 并行数据传送指令 295

8.4.5.5 寄存器-寄存器的数据传送指令R与地址寄存器更新指令U 296

8.4.5.6 存储器数据传送指令(X∶,Y∶,L∶,X∶Y∶) 297

8.4.5.7 存储器与寄存器间的数据传送指令(X∶R和R∶Y) 301

8.4.5.8 传送控制寄存器(MOVEC)与程序存储器的指令(MOVEM) 303

8.4.5.9 传送外围器件数据指令(MOVEP) 305

8.4.6 程序控制指令 306

8.4.6.1 转移类指令 307

8.4.6.2 条件执行指令(IFcc和IFcc.U) 310

8.4.6.3 非法指令中断指令ILLEGAL 310

8.4.6.4 跳转类指令(Jcc,JCLR,JMP,JScc,JSCLR,JSET,JSR,JSSET) 311

8.4.6.5 空(无)操作指令NOP 314

8.4.6.6 重复下一条指令的指令REP 315

8.4.6.9 从子例程返回指令RTS 316

8.4.6.10 停止指令处理的指令STOP 316

8.4.6.8 从中断返回指令RTI 316

8.4.6.7 复位片内外围器件指令RESET 316

8.4.6.11 软件中断指令(TRAP,TRAPcc) 317

8.4.6.12 等待中断或DMA请求指令WAIT 317

8.4.7 指令Cache控制指令 317

第9章 增强型滤波器协处理器 320

9.1 特点 320

9.2 EFCOP的结构原理概述 321

9.2.1 PMB接口 321

9.2.2 EFCOP存储体 323

9.2.3 滤波器的乘法器和累加器(FMAC) 324

9.3 EFCOP程序设计模型 325

9.3.1 滤波器数据输入寄存器(FDIR) 325

9.3.2 滤波器数据输出寄存器(FDOR) 325

9.3.3 滤波器K常数输入寄存器(FKIR) 326

9.3.4 滤波器计数(FCNT)寄存器 326

9.3.5 EFCOP控制状态寄存器(FCSR) 326

9.3.6 EFCOP ALU控制寄存器(FACR) 329

9.3.8 EFCOP系数基地址(FCBA) 330

9.3.7 EFCOP数据基地址(FDBA) 330

9.3.9 抽取/通道计数寄存器(FDCH) 331

9.3.10 EFCOP中断向量 331

9.4 EFCOP编程 332

9.5 EFCOP使用概要 333

9.5.1 FIR滤波器 333

9.5.1.1 实数模式 334

9.5.1.3 实数、虚数交替的复数模式 335

9.5.1.4 幅值模式 335

9.5.1.2 复数模式 335

9.5.2 IIR滤波器 336

9.6 数据传送 337

9.7 不同模式下的应用举例 338

9.7.1 实数FIR滤波器(模式0) 338

9.7.1.1 DMA输入/DMA输出 338

9.7.1.2 DMA输入/查询输出 342

9.7.1.3 DMA输入/中断输出 344

9.7.2 用M抽选的实数FIR滤波器 346

9.7.3.1 用查询实现自适应FIR滤波器 347

9.7.3 自适应FIR滤波器 347

9.7.3.2 用DMA输入和中断输出实现自适应FIR滤波器 348

9.7.3.3 适时更新的FIR滤波器 348

9.8 例9.1~9.4中4个例题的验证数据 352

9.8.1 输入序列(input.asm) 352

9.8.2 滤波器系数(coefs.asm) 352

9.8.3 例题9.1~9.4中的输出序列 353

9.8.4 例题9.4中所期望的信号 353

9.8.5 例题9.4中的输出序列 354

10.1.1 应用开发系统(ADS) 355

10.1 套装DSP开发工具(Suite56) 355

第10章 DSP56300系列的开发环境 355

10.1.2 编译器 356

10.1.3 汇编器 357

10.1.4 连接器 357

10.1.5 仿真器 358

10.2 调试器 360

10.2.1 进入命令窗口 361

10.2.2 图形界面(GUI)调试器 361

10.2.2.2 设置和清除路径 362

10.2.2.1 复位系统 362

10.2.2.3 加载目标文件 363

10.2.2.4 建立显示环境 366

10.2.2.5 建立、使用和修改监视列表 366

10.2.2.6 设置和清除软件断点 368

10.2.2.7 设置和清除硬件断点 370

10.2.2.8 断点使用的表达式 372

10.2.2.9 控制指令执行 375

10.2.2.10 存储器和寄存器的管理 380

10.2.2.11 输入输出文件 385

10.2.2.12 调试器和器件的配置 389

10.2.2.13 显示的信息说明 393

10.2.2.14 宏和记录文件 397

10.2.2.15 调试C源代码 398

10.3 评估板DSP56311EVM 401

10.3.1 DSP56311EVM的总体结构 401

10.3.2 DSP56311EVM的硬件技术 405

10.3.2.1 存储器 405

10.3.2.2 模式选择器 408

10.3.3 音频编码解码器 409

10.3.4 命令转换器 411

10.3.5 板外接口 413

10.4 DSP56311在测控技术中的应用实例 416

10.4.1 硅谐振压力微传感器闭环系统中的数据采集 416

10.4.2 基于蓝牙技术的Smart(智能)传感器中的DSP编程 418

10.4.3 语音信号采集存储 428

10.4.4 串行通信 433

10.4.5 基于Motorola DSP56311的模型汽车控制实验 436

参考文献 442

相关图书
作者其它书籍
返回顶部