目录 1
第一章 MC68332单片机概述 1
1.1 中央处理器单元(CPU32) 2
1.1.1 CPU32结构 3
1.1.2 寻址方式和指令系统 3
1.2 智能化外围子系统 4
1.2.1 定时处理器单元(TPU) 4
1.2.2 队列串行模块(QSM) 4
1.3 RAM模块 5
1.2.3 系统控制模块 5
1.4 存贮器映射 6
1.5 信号描述 6
1.5.1 地址总线(A23~A0) 6
1.5.2 数据总线(D15~D0) 7
1.5.3 功能码(FC2~FC0) 7
1.5.4 片选端(CS10~CS0,CSB00T) 7
1.5.5 总线控制信号 7
1.5.6 总线裁决信号 9
1.5.7 中断请求(?~?) 9
1.5.8 异常处理控制信号 9
1.5.10 调试和测量信号 10
1.5.9 时钟信号 10
1.5.11 定时处理单元TPU信号 11
1.5.12 队列串行模块信号 11
1.5.13 备用电源(VSTBY) 11
1.5.14 频率合成器电源(VDDSYN) 11
1.5.15 系统电源和系统地(VDD和VSS) 11
第二章 CPU32的指令系统和程序设计 14
2.1 CPU32方框图和主要特性 14
2.2 CPU32内部的编程寄存器 15
2.2.1 数据寄存器 17
2.2.2 地址寄存器 17
2.2.4 状态标志寄存器SR 18
2.2.3 程序计数器PC 18
2.2.5 内部功能码寄存器SFC和DFC 19
2.2.6 向量基址寄存器VBR 19
2.3 CPU32的存贮器 19
2.4 CPU32的寻址方式 20
2.4.1 隐含寻址 22
2.4.2 寄存器直接寻址 23
2.4.3 存贮器寻址方式 24
2.4.4 特殊寻址方式 31
2.4.5 寻址方式说明 37
2.4.6 其它数据结构 40
2.5 CPU32的指令系统 42
2.5.1 数据传送类指令 44
2.5.2 算术运算类指令 44
2.5.3 逻辑运算指令 46
2.5.4 移位和循环类指令 46
2.5.5 位处理指令 47
2.5.6 BCD指令 48
2.5.7 程序控制指令 48
2.5.8 系统控制指令 49
2.5.9 查表与插值指令及其应用 51
2.6.2 定义常量块伪指令(DCB) 59
2.6.1 定义数据伪指令(DC) 59
2.6 汇编伪指令 59
2.6.3 定义存贮单元伪指令(DS) 60
2.6.4 赋值伪指令EQU 60
2.6.5 赋值伪指令SET 60
2.6.6 定位伪指令ORG 60
2.6.7 定位伪指令SECTION 60
2.6.8 结束伪指令END 60
2.6.9 汇编程序所用的数据表示法 60
2.7 汇编语言程序设计及举例 61
2.7.1 简单程序设计 61
2.7.2 简单循环程序设计 67
2.7.3 字符编码数据的程序设计 76
2.7.4 代码变换程序设计 86
2.7.5 算术运算程序设计 91
2.7.6 表格和清单程序设计 97
2.7.7 子程序 107
2.8 指令执行的时间 118
2.8.1 CPU32内部执行指令框图 119
2.8.2 指令执行的重叠 120
2.8.3 等待状态的影响 121
2.8.4 指令执行时间举例 121
2.8.5 指令执行时间概览 123
2.9 CPU32与M68000系列微处理器性能比较 134
第三章 异常处理 137
3.1 CPU32的四种工作状态概述 137
3.2 CPU32的两种工作方式 137
3.2.1 监控方式 138
3.2.2 用户方式 138
3.2.3 两种工作方式的转换 138
3.3 地址空间类型 138
3.3.1 类型0000—断点响应 139
3.3.2 类型0011——访问内部寄存器 139
3.4.2 外部异常源 140
3.4.1 内部异常源 140
3.4 异常种类 140
3.3.3 类型1111——中断响应 140
3.5 异常优先权 141
3.6 异常向量 141
3.7 异常处理过程 143
3.7.1 复位异常处理 143
3.7.2 总线错误异常处理 144
3.7.3 地址错误异常处理 144
3.7.7 格式错误异常处理 145
3.7.6 硬件断点异常处理 145
3.7.5 软件断点异常处理 145
3.7.4 指令陷井异常处理 145
3.7.8 非法或不用指令异常处理 146
3.7.9 违反特权异常处理 146
3.7.10 跟踪异常处理 147
3.7.11 中断异常处理 147
3.8 从中断返回 148
3.9 CPU32的堆栈格式 148
3.9.1 正常4字堆栈格式 149
3.9.2 正常6字堆栈格式 149
3.9.3 BERR堆栈格式 149
4.1 总线传输信号 151
第四章 总线操作 151
4.1.1 总线控制信号 152
4.1.2 功能码信号 152
4.1.3 地址总线A23~A0 152
4.1.4 地址选通信号AS 153
4.1.5 数据总线D15~D0 153
4.1.6 数据选通信号? 153
4.1.7 总线周期终止信号 153
4.2 数据传输原理 154
4.2.1 动态改变数据总线宽度 154
4.2.2 数据传输举例 155
4.3.2 使用?进行同步操作 161
4.3 总线操作 161
4.3.1 异步总线操作 161
4.3.3 快速总线操作 162
4.4 数据传输周期 162
4.4.1 读总线周期 163
4.4.2 写总线周期 164
4.4.3 读-修改-写操作周期 166
4.5 CPU空间周期 167
4.5.1 断点响应周期 168
4.5.2 低功耗暂停传播周期LPSTOP 170
4.5.3 中断响应周期 170
4.6 总线异常控制周期 173
4.6.1 总线错误周期 174
4.6.2 重复总线操作周期 176
4.6.3 暂停总线操作周期 176
4.6.4 双重总线错误周期 176
4.7 总线裁决操作 177
4.7.1 总线请求 178
4.7.2 总线允许 178
4.7.3 总线允许响应 179
4.7.4 从模式裁决操作 179
4.7.5 显示周期 179
4.8 复位操作 180
第五章 系统集成模块 184
5.1 系统设置和保护子模块 184
5.1.1 模块设置寄存器 184
5.1.2 系统集成模块测试寄存器 186
5.1.3 复位状态寄存器(RSR)MCU的每个复位寄存器 187
5.1.4 系统保护控制寄存器 188
5.1.5 总线监视器 189
5.1.6 软件监视器 190
5.1.7 周期中断定时器 191
5.1.8 低功耗STOP操作 193
5.2.1 时钟合成器控制寄存器 194
5.2 时钟合成器 194
5.1.9 保持(或冻结freeze)操作 194
5.2.2 相位比较器和滤波器 195
5.2.3 反馈分频器 196
5.2.4 时钟控制 198
5.3 片选子模块 199
5.3.1 片选操作 200
5.3.2 管脚分配寄存器 201
5.3.3 基址寄存器 203
5.3.4 选择寄存器 204
5.3.5 片选管脚数据寄存器 207
5.3.6 复位时的管脚分配 207
5.4.2 E口数据方向寄存器 209
5.4.3 E口数据寄存器 209
5.4 外部总线接口控制 209
5.4.1 E口管脚分配寄存器 209
5.4.4 F口管脚分配寄存器 210
5.4.5 F口数据方向寄存器 210
5.4.6 F口数据寄存器 210
5.5 测试子模块 211
5.5.1 测试操作模式 212
5.5.2 测试功能和过程 212
5.5.3 进入测试模式 212
5.5.4 测试子模块控制寄存器 213
5.5.5 分布寄存器 215
5.5.6 主移位寄存器A 216
5.5.7 移位计数寄存器A和移位计数器A 217
5.5.8 主移位寄存器B 217
5.5.9 移位计数寄存器B和移位计数器B 217
5.5.10 REPS计数器 218
5.5.11 等待计数器 218
5.5.12 测试线 218
6.1.1 QSM方框图 219
6.1.2 QSM存贮器映象 219
6.1 概述 219
第六章 串行队列模块(QSM) 219
6.1.3 QSM管脚 220
6.2 QSM寄存器 222
6.2.1 QSM整体设置概述 224
6.2.2 QSM全局寄存器 225
6.2.3 QSM管脚控制寄存器 228
6.3 QSPI子模块及其特性 229
6.3.1 QSPI子模块特性 229
6.3.2 QSPI方框图和管脚 230
6.4 QSPI编程模型和寄存器 232
6.4.1 QSPI控制寄存器0(SPCR0) 232
6.4.2 QSPI控制寄存器1(SPCR1) 234
6.4.3 QSPI控制寄存器2(SPCR2) 235
6.4.4 QSPI控制寄存器3(SPCR3) 237
6.4.5 QSPI状态寄存器(SPSR) 238
6.4.6 QSPI RAM 239
6.5 QSPI操作模式和流程图 241
6.5.1 主机模式 243
6.5.2 从机模式 245
6.5.3 QSPI管脚时序 247
6.6 SCI子模块及其特点 249
6.6.1 SCI子模块特点 249
6.6.2 SCI管脚 250
6.7 SCI编程模型和寄存器 251
6.7.1 SCI控制寄存器0(SCCR0) 251
6.7.2 SCI控制寄存器1(SCCR1) 252
6.7.3 SCI状态寄存器(SCSR) 255
6.7.4 SCI数据寄存器(SCDR) 257
6.8 SCI发送器操作 258
6.8.1 常用概念 258
6.8.2 数据格式 258
6.8.3 发送操作过程 258
6.9 SCI接收器操作 260
6.9.1 接收器位处理器操作 260
6.9.2 接收器功能操作 263
7.1 概述 266
7.2 RAM编程模型 266
7.2.1 RAM阵列的寻址 266
7.2.2 RAM模块的寄存器 266
第七章 RAM模块 266
7.3.2 备用操作模式 269
7.3.3 复位操作模式 269
7.3.4 测试操作模式 269
7.3.1 常规操作模式 269
7.3 操作模式 269
7.3.5 停止操作模式 270
7.3.6 TPU仿真操作模式 271
第八章 定时处理器单元(TPU) 272
8.1 TPU概述 272
8.1.1 TPU主要性能 272
8.1.2 TPU特点 273
8.1.3 高分辨率定时 274
8.1.4 读写连贯性 274
8.2 TPU结构与操作过程 274
8.2.1 TPU的构成 274
8.3 TPU信号描述 276
8.2.2 TPU的操作过程 276
8.3.1 定时器接口信号 277
8.3.2 IMB接口信号 277
8.4 TPU存贮器映象 277
8.5 TPU设置(初始化)概述 279
8.6 TPU定时功能简介 280
8.6.1 分离输入/输出(DIO) 280
8.6.2 输入捕捉/输入跳变计数器(ITC) 280
8.6.8 相位同步脉冲发生器(PSP) 281
8.6.7 具有缺少跳变检测的周期测量(PMM) 281
8.6.6 具有额外跳变检测的周期测量(PMA) 281
8.6.5 同步脉冲宽度调制(SPWM) 281
8.6.4 脉冲宽度调制(PWM) 281
8.6.3 输出比较(OC) 281
8.6.9 步进电机(SM)控制 282
8.6.10 周期/脉冲宽度累加器(PPWA) 282
8.7 TPU寄存器 282
8.7.1 系统设置寄存器 285
8.7.2 通道控制寄存器 288
8.7.3 通道参数寄存器(RAM) 291
8.8 定时功能的选择 295
8.9 独立输入/输出(DIO) 298
8.9.1 参数寄存器 299
8.9.3 DIO算法 300
8.9.2 主机接口 300
8.10 输入捕捉/输入跳变计数器(ITC) 302
8.10.1 参数寄存器 303
8.10.2 主机接口 305
8.10.3 ITC算法 306
8.11 输出比较(OC) 307
8.11.1 参数寄存器 309
8.11.2 主机接口 311
8.11.3 OC算法 312
8.12.1 参数寄存器 314
8.12 脉冲宽度调制(PWM) 314
8.12.2 主机接口 316
8.12.3 PWM算法 317
8.13 同步脉冲宽度调制(SPWM) 319
8.13.1 参数寄存器 320
8.13.2 主机接口 324
8.13.3 SPWM算法 325
8.14 具有额外跳变检测的周期测量(PMA) 328
8.14.1 参数寄存器 329
8.14.2 主机接口 333
8.14.3 PMA算法 333
8.15 具有缺少跳变检测的周期测量(PMM) 335
8.15.1 参数寄存器 337
8.15.2 主机接口 340
8.15.3 PMM算法 340
8.16 相位同步脉冲发生器(PSP) 342
8.16.1 参数寄存器 343
8.16.2 主机接口 345
8.16.3 PSP算法 347
8.17 步进电机(SM)控制 351
8.17.1 参数寄存器 356
8.17.2 主机接口 357
8.17.3 SM算法 358
8.18 周期/脉冲宽度累加器(PPWA) 359
8.18.1 参数寄存器 360
8.18.2 主机接口 363
8.18.3 PPWA算法 363
8.19 TPU时序 366
8.20 TPU应用 369
8.20.1 步进电机控制 369
8.20.2 发动机控制 372
第九章 MC68332的仿真与开发 375
9.1 M68332EVS仿真器 375
9.1.1 M68332BCC 375
9.1.2 M68332BCCDI 376
9.2 CDS32高性能仿真系统 377
9.1.3 M68332PFB 377
9.3 MC68332的软件工具 378
9.4 CPU32的开发支持 378
9.4.1 背景调试模式(BDM)概述 378
9.4.2 判断性操作码跟踪 379
9.4.3 片内硬件断点 379
9.5 CPU32的背景调试模式(BDM) 379
9.5.1 允许BDM 380
9.5.2 进入BDM与从BDM返回 381
9.5.3 BDM命令的执行过程 381
9.5.4 BDM串行接口 382
9.5.5 BDM命令与命令格式 384
9.6 TPU的详细结构与操作 387
9.6.1 调度单元 388
9.6.2 Microengine 390
9.6.3 执行单元 393
9.6.4 RAM操作 395
9.6.5 通道控制操作 395
9.7 TPU微码开发及其有关的寄存器 397
9.7.1 TPU微码开发 397
9.7.2 TPU测试设置寄存器(TTCR) 398
9.7.3 TPU开发支持控制寄存器(DSCR) 399
9.7.4 TPU开发支持状态寄存器(DSSR) 400
9.7.5 TPU测试检验寄存器 401
9.7.6 TPU测试扫描寄存器 402
9.8 TPU开发支持特性的应用 403
9.8.1 设置断点 403
9.8.2 扫描输出TPU寄存器 404
9.8.3 扫描输入TPU寄存器 405
9.8.4 扫描输出微指令寄存器 405
9.8.5 扫描输入微指令寄存器 406
9.8.6 运行仿真模式下的TPU 406
9.8.7 转储控制存贮器的内容 406
9.8.8 单步操作TPU 407
10.2 控制时序和直流特性 409
第十章 电特性及时序 409
10.1 极限参数 409
10.3 时序及其参数和说明 411
第十一章 M68300系列32位单片机简介 421
11.1 MC68330 421
11.2 MC68331 423
11.3 MC68332 424
11.4 MC68F333 424
11.5 MC68334 424
11.6 MC68340 424
附录A CPU32指令说明 425