SC116009
SC116008
数据手册
SC116009ZHS
第 1 版
2009 年 1 月
SC116009 系列微控制器特性
8 位 HCS08 中央处理器 ( CPU)
• 40 MHz HCS08 CPU ( 中央处理器 )
• 20 MHz 内部总线
• HC08 指令集,带附加的 BGND 指令
开发支持
• 后台调试系统
• 断点功能,在在线调试 (在片上调试模块中另加
两个断点)过程中允许进行单断点设置
• 片上在线仿真 (ICE) 调试模块包含两个比较器和九
个触发模式。 8 个深度 FIFO ,存储流更改地址及
纯事件数据。支持标签和强制断点。
• 支持最多 32 个中断 / 复位源
存储器
• 高达 60 KB 的片上 Flash 存储器,带安全选项
• 高达 2 KB 的片上 RAM
时钟源
• 可选时钟源包括晶振、谐振器、外部时钟或内部
生成的时钟,可利用 NVM 中存储的信息调整 ICG
模块产生的内部时钟的精确度。
系统保护
• 可配置的监视微控制器正常操作的看门狗 (COP)
复位,可以选择独立的 1kHz 内部时钟或总线时钟
作为 COP 时钟源
• 低压检测复位或中断
• 非法操作码检测复位
• 循环冗余校验 ( CRC)模块,支持对存储器的快
速循环冗余校验
省电模式
• 等待模式加两个停止模式
外围设备
• ADC — 最多 16 路、 8 位模数转换器,带自动比
较功能
• SCI — 两个串行通信接口模块,带可选 13 位 LIN
Break。支持 LIN 2.0 协议和 SAE J2602 ;主扩展
中断生成;从扩展中断检测
• SPI — 串行外围接口模块
• 定时器 — 最多两个 2 路和一个 6 路 16 位定时器 /
脉宽调制器 (TPM) 模块: 每个通路上可以选择输
入捕获,输出对比和边沿对齐 PWM 功能。每个
定时器模块可以配置为所有通路都设置缓冲、中
心对齐 PWM (CPWM) 。
输入 / 输出
• 最多 54 个通用输入 / 输出 (I/O) 引脚
• 当用作输入时,端口上拉电阻软件可选
• 当用作输出时,端口斜率控制软件可选
• 当用作输出时,端口驱动强度软件可选
• RESET
• RESET
阻,降低客户系统成本
引脚主复位和加电复位 (POR)
、 IRQ 和 BKGD/MS 引脚上的内部上拉电
封装
• 64 引脚小尺寸四方扁平封装 (LQFP)
• 44 引脚小尺寸四方扁平封装 (LQFP)
SC116009 系列 微控制器 数据手册
包括 SC116009
SC116008
SC116009ZHS
第 1 版
2009 年 1 月
版本修订记录
我们在网上提供这些文档的最新版本。印刷文档可能是之前的版本。请访问以下网站,确认您获得了最
新信息:
http://freescale.com.cn/
下表列出了本手册的各个版本以及更新。为了您的方便,指示的页码链接到相应位置。
版本编号 修订日期 更改说明
第 1 版 2009 年 1 月 9 日 正式发布。
Freescale™ 及飞思卡尔标识是飞思卡尔半导体公司的商标。
© Freescale Semiconductor, Inc., 2009. 保留所有权力。
SC116009 系列微控制器数据手册 , 第 1 版
6 飞思卡尔半导体
章节号 标题 页
第 1 章 介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
7
第 2 章 引脚和连接. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
第 3 章 操作模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
第 4 章 存储器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
第 5 章 复位、中断和系统配置. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
第 6 章 并行输入 / 输出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
第 7 章 中央处理单元 (
第 8 章 内部时钟发生器 (S08ICGV4). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
第 9 章 模数转换器 (S08ADC10V1). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
第 10 章 串行通信接口 (S08SCIV4). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
第 11 章 串行外设接口 (S08SPIV3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
第 12 章 定时器 /PWM (S08TPMV3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
S08CPUV2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
103
129
153
171
185
第 13 章 开发支持 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
1
9
3
3
7
07
附录 A 电气特性和时序规范 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
附录 B 订购信息和机械图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 7
25
49
SC116009 系列微控制器数据手册 , 第 1 版
8 飞思卡尔半导体
手册目录
章节号 标题 页码
第 1 章
介绍
1.1 概述 .................................................................................................................................17
1.2 MCU 结构图 .....................................................................................................................17
1.3 系统时钟分配 ...................................................................................................................19
第 2 章
引脚和连接
2.1 介绍 .................................................................................................................................21
2.2 器件引脚分配 ...................................................................................................................21
2.3 推荐的系统连接 ...............................................................................................................23
2.3.1 电源 (VDD, VSS, V
2.3.2 振荡器 (XTAL, EXTAL) ........................................................................................25
2.3.3 RESET 引脚 ........................................................................................................25
2.3.4 后台 / 模式选择 (BKGD/MS) ................. ..............................................................25
2.3.5 ADC 参考引脚 (V
2.3.6 外部中断引脚 (IRQ) ............................................................................................26
2.3.7 通用 I/O 和外设端口 ............................................................................................26
REFH
DDAD
, V
, V
) ..........................................................................25
SSAD
) ...........................................................................26
REFL
第 3 章
操作模式
3.1 介绍 .................................................................................................................................29
3.2 特性 .................................................................................................................................29
3.3 运行模式 ..........................................................................................................................29
3.4 激活后台模式 ...................................................................................................................29
3.5 等待模式 ..........................................................................................................................30
3.6 停止模式 ..........................................................................................................................30
3.6.1 停止 2 模式 ..........................................................................................................30
3.6.2 停止 3 模式 ..........................................................................................................31
3.6.3 在停止模式中使能激活 BDM ...............................................................................31
3.6.4 在停止模式中使能 LVD .......................................................................................32
3.6.5 停止模式下的片上外围模块 .................................................................................3
第 4 章
存储器
4.1 SC116009 系列存储器映射 ..............................................................................................33
4.1.1 复位和中断向量分配 ...........................................................................................34
4.2 寄存器地址和位分配 ........................................................................................................35
4.3 RAM .................................................................................................................................41
2
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 9
4.4 Flash ................................................................................................................................42
4.4.1 特性 .....................................................................................................................42
4.4.2 编程和擦除时间 ...................................................................................................42
4.4.3 编程和擦除命令的执行 ........................................................................................43
4.4.4 突发编程执行 ......................................................................................................44
4.4.5 访问错误 .............................................................................................................45
4.4.6 Flash 块保护 .......................................................................................................46
4.4.7 向量重定向 ..........................................................................................................46
4.5 安全性 ..............................................................................................................................46
4.6 Flash 寄存器和控制位 ......................................................................................................47
4.6.1 Flash 时钟分频寄存器 (FCDIV) ...........................................................................47
4.6.2 Flash 选项寄存器 ( FOPT 和 NVOPT) .............................................................48
4.6.3 Flash 配置寄存器 ( FCNFG) ............................................................................49
4.6.4 Flash 保护寄存器 ( FPROT 和 NVPROT) ........................................................50
4.6.5 Flash 状态寄存器 ( FSTAT) ..............................................................................50
4.6.6 Flash 命令寄存器 ( FCMD) ..............................................................................51
第 5 章
复位、中断和系统配置
5.1 介绍 .................................................................................................................................53
5.2 特性 .................................................................................................................................53
5.3 MCU 复位 ........................................................................................................................53
5.4 计算机正常操作 (COP) 看门狗 ........................................................................................54
5.5 中断 .................................................................................................................................55
5.5.1 中断堆栈帧 ..........................................................................................................55
5.5.2 外部中断请求 ( IRQ)引脚 ................................................................................56
5.5.3 中断向量、源和本地掩码 ....................................................................................57
5.6 低电压检测 (LVD) 系统 ....................................................................................................59
5.6.1 加电复位操作 ......................................................................................................59
5.6.2 LVD 复位操作 ......................................................................................................59
5.6.3 LVD 中断操作 ......................................................................................................59
5.6.4 低压告警 (LVW) ..................................................................................................59
5.7 MCLK 输出 ......................................................................................................................59
5.8 复位、中断及系统控制寄存器和控制位 ...........................................................................59
5.8.1 中断引脚请求状态和控制寄存器 (IRQSC) ...........................................................60
5.8.2 系统复位状态寄存器 (SRS) .................................................................................60
5.8.3 系统后台调试强制复位寄存器 (SBDFR) .............................................................61
5.8.4 系统选项寄存器 (SOPT) .....................................................................................62
5.8.5 系统 MCLK 控制寄存器 (SMCLK) .......................................................................63
5.8.6 系统器件识别寄存器 (SDIDH, SDIDL) ................................................................63
5.8.7 系统电源管理状态和控制寄存器 1 (SPMSC1) ......... ...........................................64
5.8.8 系统电源管理状态和控制寄存器 2 (SPMSC2) ....................................................65
5.8.9 系统选项寄存器 2 (SOPT2) ................................................................................66
SC116009 系列微控制器数据手册 , 第 1 版
10 飞思卡尔半导体
第 6 章
并行输入 / 输出
6.1 介绍 .................................................................................................................................67
6.2 引脚描述 ..........................................................................................................................67
6.3 并行 I/O 控制 ....................................................................................................................67
6.4 引脚控制 ..........................................................................................................................68
6.4.1 内部上拉使能 ......................................................................................................68
6.4.2 输出斜率控制使能 ...............................................................................................69
6.4.3 输出驱动强度选择 ...............................................................................................69
6.5 停止模式中的引脚行为 .....................................................................................................69
6.6 并行 I/O 和引脚控制寄存器 ..............................................................................................69
6.6.1 A 端口 I/O 寄存器 (PTAD 和 PTADD) ..................................................................69
6.6.2 端口 A 引脚控制寄存器 (PTAPE, PTASE, PTADS) .............................................70
6.6.3 B 端口 I/O 寄存器 (PTBD 和 PTBDD) ............... ..................................................71
6.6.4 B 端口引脚 控制寄存器 (PTBPE, PTBSE, PTBDS) ............................................72
6.6.5 C 端口 I/O 寄存器 (PTCD 和 PTCDD) ................. ................................................74
6.6.6 C 端口引脚控制寄存器 (PTCPE, PTCSE, PTCDS) ............................................ 75
6.6.7 D 端口 I/O 寄存器 (PTDD 和 PTDDD) ................................................................76
6.6.8 D 端口引脚 控制 寄存器 (PTDPE, PTDSE, PTDDS) ..........................................77
6.6.9 端口 E I/O 寄存器 (PTED 和 PTEDD) .................................................................78
6.6.10 E 端口引脚控制寄存器 (PTEPE, PTESE, PTEDS) .............................................78
6.6.11 F 端口 I/O 寄存器 (PTFD 和 PTFDD) ..................................................................79
6.6.12 F 端口引脚控制寄存器 (PTFPE, PTFSE, PTFDS) .............................................. 80
6.6.13 G 端口 I/O 寄存器 (PTGD 和 PTGDD) ................................................................81
6.6.14 G 端口引脚 控制寄存器 (PTGPE, PTGSE, PTGDS) ...........................................82
第 7 章
中央处理单元 (S08CPUV2 )
7.1 概述 .................................................................................................................................85
7.1.1 特性 .....................................................................................................................85
7.2 编程模型和 CPU 寄存器 ..................................................................................................85
7.2.1 累加器 (A) ...........................................................................................................86
7.2.2 变址寄存器 (H:X) .............................................................................................86
7.2.3 堆栈指针 ( SP) .................................................................................................86
7.2.4 程序计数器 ( PC) ..............................................................................................87
7.2.5 条件码寄存器 (CCR) ...........................................................................................87
7.3 寻址模式 ..........................................................................................................................88
7.3.1 固有寻址模式 ( INH) .........................................................................................88
7.3.2 相对寻址模式 ( REL) .................................
7.3.3 立即寻址模式 (IMM) ............................................................................................88
7.3.4 直接寻址模式 (DIR) .............................................................................................88
7.3.5 扩展寻址模式 (EXT) ............................................................................................88
7.3.6 变址寻址模式 ......................................................................................................88
7.4 特殊操作 ..........................................................................................................................89
7.4.1 复位序列 .............................................................................................................89
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 11
.......................................................88
7.4.2 中断序列 .............................................................................................................89
7.4.3 等待模式 .............................................................................................................90
7.4.4 停止模式 .............................................................................................................90
7.4.5 背景模式 .............................................................................................................90
7.5 HCS08 指令设置摘要 .......................................................................................................91
第 8 章
内部时钟发生器 (S08ICGV4)
8.1 介绍 ...............................................................................................................................103
8.2 概述 ...............................................................................................................................106
8.2.1 特性 ...................................................................................................................106
8.2.2 操作模式 ...........................................................................................................106
8.2.3 功能结构图 ........................................................................................................107
8.3 外部信号描述 .................................................................................................................108
8.3.1 EXTAL— 外部参考时钟 / 振荡器输入 ................................................................108
8.3.2 XTAL—振荡器输出 ...........................................................................................108
8.3.3 外部时钟连接 ....................................................................................................108
8.3.4 外部晶振 / 谐振器连接 .......................................................................................108
8.4 寄存器定义 .....................................................................................................................109
8.4.1 ICG 控制寄存器 1 (ICGC1) ...........................................................................109
8.4.2 ICG 控制寄存器 2 (ICGC2) ........................................................................... 110
8.4.3 ICG 状态寄存器 1 ( ICGS1) ............................................................................ 111
8.4.4 ICG 状态寄存器 2 ( ICGS2) ............................................................................ 112
8.4.5 ICG 滤波器寄存器 ( ICGFLTU、 ICGFLTL) ................................................... 113
8.4.6 ICG 调整寄存器 ( ICGTRM) ........................................................................... 114
8.5 功能描述 ........................................................................................................................ 114
8.5.1 OFF 模式 .......................................................................................................... 114
8.5.2 自时钟模式 ( SCM) ......................................................................................... 115
8.5.3 FLL 内部时钟模式 ( FEI) ................................................................................ 116
8.5.4 FLL 内部未锁定 ................................................................................................. 116
8.5.5 FLL 内部锁定 .................................................................................................... 117
8.5.6 FLL 旁路外部时钟模式 ( FBE) ........................................................................ 117
8.5.7 FLL 外部时钟模式 ( FEE) ............................................................................... 117
8.5.8 FLL 锁定和失锁检测 ......................................................................................... 117
8.5.9 FLL 时钟丢失检测 ............................................................................................. 118
8.5.10 时钟模式必要条件 ............................................................................................. 119
8.5.11 固定频率时钟 ....................................................................................................120
8.5.12 高增益振荡器 ....................................................................................................120
8.6 初始化 / 应用信息 ...........................................................................................................120
8.6.1 概述 ...................................................................................................................120
8.6.2 例 1:外部晶振 = 32 kHz,总线频率 = 4.19 MHz ............................................122
8.6.3 例 2:外部晶振 = 4 MHz,总线频率 = 20 MHz ................................................123
8.6.4 例 3:无外部晶振,总线频率 = 5.4 MHz ..........................................................125
8.6.5 例 4:内部时钟产生器调整 ...............................................................................126
SC116009 系列微控制器数据手册 , 第 1 版
12 飞思卡尔半导体
第 9 章
模数转换器 (S08ADC10V1)
9.2 通道分配 ........................................................................................................................129
9.2.1 替代时钟 ...........................................................................................................130
9.2.2 硬件触发 ...........................................................................................................130
9.2.3 温度传感器 ........................................................................................................130
9.2.4 特点 ...................................................................................................................133
9.2.5 框图 ...................................................................................................................133
9.3 外部信号描述 .................................................................................................................134
9.3.1 模拟电源 (V
9.3.2 模拟地 (V
SSAD
9.3.3 参考高电压 (V
9.3.4 参考低电压 (V
9.3.5 模拟通道输入 ( ADx) ......................................................................................135
9.4 寄存器定义 .....................................................................................................................135
9.4.1 状态和控制寄存器 1 ( ADCSC1) ....................................................................135
9.4.2 状态和控制寄存器 2 ( ADCSC2) ....................................................................137
9.4.3 数据高结果寄存器 ( ADCRH) .........................................................................138
9.4.4 数据低结果寄存器 ( ADCRL) ..........................................................................138
9.4.5 比较值高寄存器 ( ADCCVH) ..........................................................................138
9.4.6 比较值低寄存器 ( ADCCVL) ...........................................................................139
9.4.7 配置寄存器 ( ADCCFG) .................................................................................139
9.4.8 引脚控制 1 寄存器 ( APCTL1) ........................................................................140
9.4.9 引脚控制 2 寄存器 ( APCTL2) ........................................................................141
9.4.10 引脚控制 3 寄存器 ( APCTL3) ........................................................................142
9.5 功能描述 ........................................................................................................................143
9.5.1 时钟选择和分频控制 .........................................................................................143
9.5.2 输入选择和引脚控制 .........................................................................................144
9.5.3 硬件触发 ...........................................................................................................144
9.5.4 转换控制 ...........................................................................................................144
9.5.5 自动比较功能 ....................................................................................................146
9.5.6 MCU 等待模式操作 ...........................................................................................146
9.5.7 MCU stop3 模式操作 ........................................................................................146
9.5.8 MCU stop1 和 stop2 模式操作 ..........................................................................147
9.6 初始化信息 .....................................................................................................................1
9.6.1 ADC 模块初始化举例 ........................................................................................147
9.7 应用信息 ........................................................................................................................149
9.7.1 外部引脚和安排 .................................................................................................149
9.7.2 错误源 ...............................................................................................................150
) ..........................................................................................134
DDAD
) .............................................................................................135
) ......................................................................................135
REFH
) .......................................................................................135
REFL
47
第 10 章
串行通信接口 (S08SCIV4)
10.1 介绍 ...............................................................................................................................153
10.1.1 特性 ...................................................................................................................155
10.1.2 操作模式 ...........................................................................................................155
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 13
10.1.3 框图 ...................................................................................................................155
10.2 寄存器定义 .....................................................................................................................158
10.2.1 SCI 波特率寄存器 ( SCIxBDH、 SCIxBDL) ...................................................158
10.2.2 SCI 控制寄存器 1 ( SCIxC1) ..........................................................................159
10.2.3 SCI 控制寄存器 2 ( SCIxC2) ..........................................................................160
10.2.4 SCI 状态寄存器 1 ( SCIxS1) ...........................................................................161
10.2.5 SCI 状态寄存器 2 ( SCIxS2) ...........................................................................162
10.2.6 SCI 控制寄存器 3 ( SCIxC3) ..........................................................................163
10.2.7 SCI 数据寄存器 ( SCIxD) ...............................................................................164
10.3 功能描述 ........................................................................................................................164
10.3.1 波特率产生 ........................................................................................................165
10.3.2 发送功能描述 ....................................................................................................165
10.3.3 接收功能描述 ....................................................................................................166
10.3.4 中断和状态标志 .................................................................................................167
10.3.5 其他 SCI 功能 ....................................................................................................168
第 11 章
串行外设接口 (S08SPIV3)
11.1 引言 ...............................................................................................................................171
11.1.1 特性 ...................................................................................................................173
11.1.2 模块结构图 ........................................................................................................173
11.1.3 SPI 波特率发生器 .............................................................................................175
11.2 外部信号描述 .................................................................................................................175
11.2.1 SPSCK — SPI 串行时钟 ...................................................................................175
11.2.2 MOSI — 主出从入引脚 .....................................................................................175
11.2.3 MISO — 主入从出引脚 .....................................................................................175
11.2.4 SS — 从机选择引脚 ..........................................................................................175
11.3 操作模式 ........................................................................................................................176
11.3.1 停止模式中的 SPI .............................................................................................176
11.4 寄存器定义 .....................................................................................................................176
11.4.1 SPI 控制寄存器 1 ( SPIC1) .............................................................................176
11.4.2 SPI 控制寄存器 2 ( SPIC2) .............................................................................177
11.4.3 SPI 比特率寄存器 ( SPIBR) ...........................................................................178
11.4.4 SPI 状态寄存器 ( SPIS) ..................................................................................179
11.4.5 SPI 数据寄存器 ( SPID) .................................................................................180
11.5 功能描述 ........................................................................................................................180
11.5.1 SPI 时钟格式 .....................................................................................................1
11.5.2 SPI 中断 ............................................................................................................183
11.5.3 模式故障检测 ....................................................................................................184
81
第 12 章
定时器 /PWM (S08TPMV3)
12.1 引言 ...............................................................................................................................185
12.2 功能 ...............................................................................................................................185
12.3 TPMV3 与先前版本的差异 .............................................................................................187
SC116009 系列微控制器数据手册 , 第 1 版
14 飞思卡尔半导体
12.3.1 从 TPMV1 进行移植 ..........................................................................................188
12.3.2 特性 ...................................................................................................................190
12.3.3 操作模式 ...........................................................................................................190
12.3.4 结构框图 ...........................................................................................................191
12.4 信号描述 ........................................................................................................................193
12.4.1 信号详细描述 ....................................................................................................193
12.5 寄存器定义 .....................................................................................................................195
12.5.1 TPM 状态和控制寄存器 ( TPMxSC) ...............................................................195
12.5.2 TPM 计数器寄存器 ( TPMxCNTH:TPMxCNHTL) ...........................................197
12.5.3 TPM 计数器模寄存器 ( TPMxMODH:TPMxMODL) ........................................197
12.5.4 TPM 通道 n 状态和控制寄存器 ( TPMxCnSC) ...............................................198
12.5.5 TPM 通道值寄存器 ( TPMxCnVH : TPMxCnVL) ............................................200
12.6 功能描述 ........................................................................................................................201
12.6.1 计数器 ...............................................................................................................201
12.6.2 通道模式选择 ....................................................................................................202
12.7 复位概述 ........................................................................................................................204
12.7.1 概要 ...................................................................................................................204
12.7.2 复位操作 ...........................................................................................................205
12.8 中断 ...............................................................................................................................205
12.8.1 概述 ...................................................................................................................205
12.8.2 中断操作描述 ....................................................................................................205
第 13 章
开发支持
13.1 介绍 ...............................................................................................................................207
13.1.1 特性 ...................................................................................................................208
13.2 后台调试控制器 (BDC) ..................................................................................................208
13.2.1 BKGD 引脚描述 ................................................................................................209
13.2.2 通信详细介绍 ....................................................................................................209
13.2.3 BDC 命令 .......................................................................................................... 211
13.2.4 BDC 硬件断点 ...................................................................................................214
13.3 片上调试系统 (DBG) ......................................................................................................214
13.3.1 比较器 A 和 B ....................................................................................................215
13.3.2 总线捕获信息和 FIFO 操作 ...............................................................................215
13.3.3 流变化信息 ........................................................................................................216
13.3.4 标记 vs. 强制断点和触发器 ...............................................................................2
13.3.5 触发模式 ...........................................................................................................216
13.3.6 硬件断点 ...........................................................................................................217
13.4 寄存器定义 .....................................................................................................................217
13.4.1 BDC 寄存器和控制位 ........................................................................................217
13.4.2 系统后台调试强制复位寄存器 (SBDFR) ...........................................................219
13.4.3 DBG 寄存器和控制位 ........................................................................................220
16
附录 A
电气特性和时序规范
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 15
A.1 引言 ................................................................................................................................................225
A.2 参数分类 ........................................................................................................................................225
A.3 绝对最大额定值 ............................................................................................................................226
A.4 热特性 ............................................................................................................................................227
A.5 ESD 保护和抗闭锁方法 ...............................................................................................................228
A.6 DC 特性 .........................................................................................................................................229
A.7 电源电流特性 ................................................................................................................................232
A.8 ADC 特性 ......................................................................................................................................235
A.9 内部时钟发生模块特性 ................................................................................................................238
A.9.1 ICG 频率规范 .................................................................................................................238
A.10 AC 特性 .........................................................................................................................................241
A.10.1 控制时序 .........................................................................................................................241
A.10.2 定时器 /PWM (TPM) 模块时钟 ....................................................................................242
A.11 SPI 特性 ........................................................................................................................................243
A.12 Flash 规范 .....................................................................................................................................246
A.13 EMC 性能 ......................................................................................................................................248
A.13.1 瞬态传导抗扰度 .............................................................................................................248
附录 B
订购信息和机械图
B.1 订购信息 ........................................................................................................................................249
B.2 可订购部件编号体系 ....................................................................................................................249
B.3 机械图 ............................................................................................................................................249
SC116009 系列微控制器数据手册 , 第 1 版
16 飞思卡尔半导体
第 1 章
介绍
1.1 概述
SC116009 系列 MCU 是低成本、高性能 HCS08 系列 8 位微控制器 ( MCU)的成员。这个系列的所有
MCU 都采用增强型 HCS08 内核,提供各种模块、存储器大小、存储器类型及封装类型。表 1-1 列出了存储
器大小及封装类型。
表 1-1. SC116009 系列中包含的器件
器件
SC116009 63,280
SC116008 32,768
Flash RAM
表 1-2 为 SC116009 系列 MCU 提供的特性。
表 1-2. SC116009 系列各封装提供的外围设备
特性 64 引脚 44 引脚
ADC
IRQ
SCI1
SCI2
SPI1
TPM1
TPM1CLK
TPM2
TPM2CLK
TPM3
TPMCLK
I/O 引脚
1
TPMCLK、 TPM1CLK 和 TPM2CLK 可通过软件配置; 复位后,
TPM1CLK、 TPM2CLK 和 TPMCLK 分别提供给 TPM1、 TPM2 和
TPM3。请参阅 TPM 章节,了解 TPMxCLK 信号的功能描述。
1
1
1
封装
2048
SC116009/32
16 路 8 路
有
有
有
有
6 路 4 路
有无
2 路
有无
2 路
有
54 34
64 LQFP
44 LQFP
1.2 MCU 结构图
下面为 SC116009 系列 MCU 的模块结构图。
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 17
第 1 章 介绍
PTD3/AD1P11
PTC1
PTC0
V
SS
V
DD
PTE3/TPM1CH1
PTE2/TPM1CH0
PTA[7:0]
PTE0/TxD1
PTE1/RxD1
PTD2/AD1P10
PTD1/AD1P9
PTD0/AD1P8
PTC5/RxD2
PTC4
PTC3/TxD2
PTC2/MCLK
端口 A
端口 C
端口 D
端口 E
用户 Flash
用户 RAM
63,280 字节
HCS08 内核
CPU BDC
注意:
1
通过上拉电阻,输入端口引脚可以由软件配置。
2
如果 IRQ 使能 (IRQPE = 1),引脚包含软件可配置的上拉 / 下拉电阻。 如果选择上升边沿检测,则下拉使能 (IRQEDG =
1)。
3
引脚包含集成上拉电阻。
4
PTD3、 PTD2、 PTD7 和 PTG4 既包含上拉也包含下拉电阻。
5
TPMCLK、TPM1CLK 和 TPM2CLK 可通过软件配置; 复位后,TPM1CLK、TPM2CLK 和 TPMCLK 分别提供给 TPM1、
TPM2 和 TPM3。
端口 B
PTE5/MISO1
PTE4/SS1
PTE6/MOSI1
PTE7/SPSCK1
HCS08 系统控制
复位和中断
操作模式
功率管理
稳压器
COP
IRQ LVD
低功率振荡器
内部时钟
发生器 (ICG)
RESET
V
SSAD
V
DDAD
V
REFH
PTG4
PTG2
PTG3
端口 G
2048 字节
BKGD/MS
PTF0/TPM1CH2
PTF1/TPM1CH3
端口 F
PTF5/TPM2CH1
PTF4/TPM2CH0
PTF[7:6]
PTG0
PTG1
V
REFL
PTG5/XTAL
PTG6/EXTAL
IRQ/TPMCLK
RxD2
TxD2
AD1P[15:8]
8
AD1P[7:0]
TPM2CH1
SPSCK1
SS1
MISO1
MOSI1
TPM1CH1
TPM1CH0
RxD1
TxD1
EXTAL
XTAL
8
PTB1/TPM3CH1/AD1P1
PTB0/TPM3CH0/AD1P0
TPM2CH0
TPM1CH[5:2]
TPM3CH1
TPM3CH0
TPMCLK
8
PTB[7:2]/AD1P[7:2]
6
PTC6
PTF2/TPM1CH4
PTD4/TPM2CLK/AD1P12
PTD5/AD1P13
PTD6/TPM1CLK/AD1P14
PTD7/AD1P15
TPM2CLK
TPM1CLK
PTF3/TPM1CH5
32,768 字节
串行外设
接口模块 (SPI1)
ICE 调试
模块 (DBG)
2 路定时器 /PWM
模块 (TPM2)
转换器 (ADC1)
6 路定时器 /PWM
模块 (TPM1)
8 位模数
接口模块 (SCI1)
串行通信
接口模块 (SCI2)
串行通信
2 路定时器 /PWM
模块 (TPM3)
18 飞思卡尔半导体
图 1-1. SC116009 系列 结构图
SC116009 系列微控制器数据手册 , 第 1 版
表 1-3 列出了片上模块的版本。
TPM1 TPM2 SCI1 SCI2
BDC
CPU
ADC1
RAM Flash
ICG
ICGOUT
÷2
FFE
系统控制逻辑
BUSCLK
ICGLCLK
1
XCLK
2
ICGERCLK
÷2
TPM3
COP
1 kHz
TPM1CLK
TPM2CLK
TPMCLK
SPI
1
ICGLCLK 是 SC116009 系列 BDC 的可选时钟源。
2
固定频率时钟。
模数转换器
内部时钟发生器
串行通信接口
串行外设接口
定时器和脉宽调制器
中央处理单元
调试模块
1.3 系统时钟分配
表 1-3. . 片上模块的版本
模块 版本
(ADC )
(ICG )
(SCI )
(SPI )
(TPM )
(CPU )
(DBG )
第 1 章 介绍
1
4
4
3
3
2
2
该 MCU 中的某些模块具有多个时钟源可供选择。 图 1-2 是一个简化的时钟连接图。 ICG 提供以下时钟
源:
• ICGOUT 是 ICG 模块的输出。 可以是下面任一项:
图 1-2. 系统时钟分配图
• 外部晶体振荡器
• 外部时钟源
• 锁频环子模块中数控振荡器 ( DCO)的输出
ICG 的控制位决定连接的时钟源。
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 19
第 1 章 介绍
• FFE 是 ICG 中生成的控制信号。如果 ICGOUT 的频率 > 4 × ICGERCLK 的频率 , 该信号为逻辑 1 ,固
定频率时钟将为 ICGERCLK/2 。否则,固定频率时钟将为 BUSCLK 。
• ICGLCLK — 开发工具可以选择这个内部自时钟源 (~ 8 MHz) 来加快系统 (总线时钟比较慢)中的
BDC 通信。
• ICGERCLK — 外部参考时钟可以作为实时中断时钟源。它也可以用作 ADC 模块的 ALTCLK 输入。
SC116009 系列微控制器数据手册 , 第 1 版
20 飞思卡尔半导体
第 2 章
引脚和连接
2.1 介绍
本章描述连接到封装引脚的信号,包括引脚布局图、信号属性表,并对信号进行了详细阐述。
2.2 器件引脚分配
图 2-1 为 SC116009 系列的 64 引脚封装图。
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 21
第 2 章 引脚和连接
PTF2/TPM1CH4
1
2
3
4
5
6
7
8
RESET
PTF0/TPM1CH2
PTF3/TPM1CH5
PTF4/TPM2CH0
PTC6
PTF7
PTG2
PTG1
PTG0
V
DD
V
SS
PTE7/SPSCK1
PTE6/MOSI1
PTB7/AD1P7
PTD0/AD1P8
PTD1/AD1P9
V
DDAD
V
SSAD
PTB1/TPM3CH1/AD1P1
PTB6/AD1P6
PTD5/AD1P13
V
REFH
PTC5/RxD2
PTG5/XTAL
BKGD/MS
V
REFL
PTG3
PTD6/TPM1CLK/AD1P14
PTD7/AD1P15
43
42
41
40
39
38
18 19 20 21 22
23
50 51 52 53 54 55
17
32
33
49
48
64
9
PTF5/TPM2CH1
10
PTF6
11
PTE0/TxD1
16
PTE3/TPM1CH1
PTA024PTA125PTA2
26
PTA3
27
PTB5/AD1P5
37
PTB4/AD1P4
36
PTB3/AD1P3
35
PTB2/AD1P2
34
PTG6/EXTAL
56
V
SS
57
PTC0
58
PTC1
59
PTF1/TPM1CH3
12
PTE1/RxD1
13
14
15
PTE2/TPM1CH0
PTA4
28 29 30 31
PTD2/AD1P10
44
45
46
PTD3/AD1P11
47
PTC3/TxD2
63 62 61
PTC2/MCLK
60
PTC4
IRQ/TPMCLK
PTE4/SS1
PTE5/MISO1
PTA5
PTA6
PTB0/TPM3CH0/AD1P0
PTA7
PTD4/TPM2CLK/AD1P12
PTG4
64 引脚 LQFP
图 2-2 为 SC116009 系列微控制器 44 引脚 LQFP 封装图 。
图 2-1. SC116009 系列 64 引脚 LQFP 封装
22 飞思卡尔半导体
SC116009 系列微控制器数据手册 , 第 1 版
第 2 章 引脚和连接
PTF4/TPM2CH0
1
2
3
4
5
6
7
8
RESET
PTF0/TPM1CH2
PTG2
PTG1
PTG0
V
DD
V
SS
PTE7/SPSCK1
PTE6/MOSI1
PTD0/AD1P8
PTD1/AD1P9
V
DDAD
V
SSAD
PTB1/TPM3CH1/AD1P1
V
REFH
PTC5/RxD2
PTG5/XTAL
BKGD/MS
V
REFL
PTG3
31
30
29
28
27
26
13 14 15 16 17
18
34
35
12
22
23
33
44
9
PTF5/TPM2CH1
10
PTE0/TxD1
11
PTE3/TPM1CH1
PTA019PTA1
20 21
PTB3/AD1P3
PTB2/AD1P2
PTG6/EXTAL
36
V
SS
37
PTC0
38
PTC1
39
PTF1/TPM1CH3
PTE1/RxD1
PTE2/TPM1CH0
PTD2/AD1P10
32
PTD3/AD1P11
PTC3/TxD2
43 42 41
PTC2/MCLK
40
PTC4
IRQ/TPMCLK
PTE4/SS1
PTE5/MISO1
PTB0/TPM3CH0/AD1P0
44- 引脚 LQFP
25
24
图 2-2. SC116009 系列 44 引脚 LQFP 封装
2.3 推荐的系统连接
图 2-3 给出了采用 SC116009 系列的应用系统的通用引脚连接。
飞思卡尔半导体 23
SC116009 系列微控制器数据手册 , 第 1 版
第 2 章 引脚和连接
V
DD
VSS (x2)
XTAL
EXTAL
BKGD/MS
RESET
可选
人工
复位
端口
A
V
DD
1
BACKGROUND HEADER
C2
C1
X1
R
F
R
S
C
BY
0.1 μF
C
BLK
10 μF
+
5 V
+
系统
电源
I/O 和与应用
系统连接的
外设接口
PTA0
PTA1
PTA2
PTA3
PTA4
PTA5
PTA6
PTA7
V
DD
端口
B
PTB0/AD1P0
PTB1/AD1P1
PTB2/AD1P2
PTB3/AD1P3
PTB4/AD1P4
PTB5/AD1P5
PTB6/AD1P6
PTB7/AD1P7
端口
C
PTC0
PTC1
PTC2/MCLK
PTC3/TxD2
PTC4
PTC5/RxD2
PTC6
端口
D
PTD0/AD1P8
PTD1/AD1P9
PTD2/AD1P10
PTD3/AD1P11
PTD4/TPM2CLK/AD1P12
PTD5/AD1P13
PTD6/TPM1CLK/AD1P14
PTD7/AD1P15
端口
E
PTE0/TxD1
PTE1/RxD1
PTE2/TPM1CH0
PTE3/TPM1CH1
PTE4/SS1
PTE5/MISO1
PTE6/MOSI1
PTE7/SPSCK1
端口
G
PTG0
PTG1
PTG2
PTG3
PTG4
端口
F
PTF0/TPM1CH2
PTF1/TPM1CH3
PTF2/TPM1CH4
PTF3/TPM1CH5
PTF4/TPM2CH0
PTF5/TPM2CH1
PTF6
PTF7
IRQ
异步
中断
输入
注意 :
1
如果使用内部时钟,则不需
要。
2
这些引脚与 PTG5 和 PTG6
相同。
3
建议对 EMC 敏感的应用在
RESET 和 IRQ 引脚使用
RC 过滤器。
注 1
SC116009
V
DDAD
V
SSAD
C
BYAD
0.1 μF
V
REFL
V
REFH
PTG5/XTAL
PTG6/EXTAL
注 2
注 2
V
DD
4.7 kΩ–
0.1 μF
V
DD
4.7 kΩ –10 kΩ
0.1 μF
10 kΩ
注 1
24 飞思卡尔半导体
图 2-3. 基本系统连接
SC116009 系列微控制器数据手册 , 第 1 版
第 2 章 引脚和连接
2.3.1 电源 (VDD, VSS, V
DDAD
, V
SSAD
)
VDD 和 VSS 是 MCU 的主电源引脚。该电压源为所有 I/O 缓冲电路以及内部稳压器供电。内部稳压器向
CPU 和 MCU 的其它内部电路提供稳压后的低电压源。
通常,应用系统在电源引脚上需要安装两个独立的电容,其中一个为大容量电解电容 (如 10 μF 钽电
容),为整个系统提供大容量电荷存储,同时应在离 V
0.1 μF 的陶瓷旁路电容,来抑制高频噪音。 SC116009 还多一个 V
面或者通过一个低阻抗连接到主 V
V
DDAD
和 V
是 MCU 的模拟电源引脚。该电源为 ADC 模块供电。 必须在离该模拟电源引脚尽可能近
SSAD
引脚 。
SS
DD
和 V
电源引脚尽可能近的地方安装一个
SS
引脚。 这个引脚 应该连接到系统接地平
SS
的地方连接一个 0.1 μF 陶瓷旁路电容来抑制高频噪声。
2.3.2 振荡器 (XTAL, EXTAL)
复位后, MCU 使用内部生成的时钟 (自时钟模式 — f
self-reset
的时钟源在复位启动时使用,可以作为停止恢复的时钟源,来避免较长的晶体启动延迟。 该 MCU 还包含一个
可调整的内部时钟发生器 (ICG) 模块,可以用它来运行 MCU 。 有关 ICG 的更多信息,请参见 第 8 章 内部时
钟发生器 (S08ICGV4) 。
MCU 中的振荡器是 Pierce 振荡器,通过 ICGC1 寄存器的 RANGE 位设置, 可以提供两个频率范围给晶
体或陶瓷谐振器选择。 EXTAL 输入引脚连接的是一个外部振荡器,而不是晶体或陶瓷谐振器。
下面的讨论参考图 2-3 。 R
( 如果使用 ) 和 RF 应该采用无感电阻,例如碳复合材料的电阻。线绕电阻和
S
金属膜电阻的电感太大。 C1 和 C2 应该采用专用于高频的高质量陶瓷电容。
) ,相当于 8 MHz 晶体振荡频率。这个频率
用来提供旁路,使 EXTAL 输入在晶振启动时保持在其线性范围内,它的值一般来说不太关键。 典型系
R
F
统使用 1 MΩ 至 10 MΩ 范围内的 R
。 值太高,对湿度就敏感,值太低,会减少增益,在极端情况下甚至会
F
阻止启动。
C1 和 C2 一般在 5 pF 至 25 pF 范围内,要选择符合特定晶体或陶瓷谐振器要求的值。在确定 C1 和 C2
值时,一定要考虑印刷电路板 (PCB )电容和 MCU 引脚电容。晶振生产商一般规定一个负载电容,它是 C1
和 C2 的系列组合,C1 和 C2 的大小通常相同。 首次逼近时,采用 10 pF 作为引脚 和 PCB 组合电容的估算值
接入每个振荡器引脚 (EXTAL 和 XTAL)。
2.3.3 RESET 引脚
RESET 是一个专用的引脚,内置一个上拉电阻。它有输入滞后,包含一个高电流输出驱动, 无输出斜率
控制。内部加电复位和低压复位电路一般都不需要外部复位电路。 这个引脚通常连接到标准的 6 引脚后台调
试连接器,这样开发系统可以直接复位 MCU 系统。 如果需要,可以添加一个人工外部复位,即提供一个简单
的接地开关 (拉低复位引脚的电平,强制进行复位)。
只要发起复位 ( 无论是来自外部信号还是来自内部系统 ), 复位引脚的电平就下降 34 个周期的 f
self-reset
。
复位电路解晰复位的原因并将之记录在系统控制复位状态寄存器 (SRS )的相应位。
对 EMC 敏感的应用,建议在复位引脚上加一个外部 RC 过滤器。参见 图 2-3 的示例。
2.3.4 后台 / 模式选择 (BKGD/MS)
在复位时, BKGD/MS 引脚充当模式选择引脚。复位完成后,该引脚立即作为后台引脚 ,可以用于后台
调试通信。当作为后台 / 模式模式选择引脚时, 该引脚包括一个内部上拉电阻,有输入滞后,且无输出斜率控
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 25
第 2 章 引脚和连接
制。当引脚作为
后台
引脚时,它包括一个高电流输出驱动。 当该引脚作为
模式选择
引脚 时,它只有输入,因
此不包含标准的输出驱动。
如果该引脚没有连接任何东西, MCU 将在复位的上升边沿进入正常的操作模式 。如果有一个调试系统连
接到这个 6 引脚标准后台调试头,它可以在复用上升边沿使保持 BKGD/MS 在低电平,强制 MCU 进入激活后
台模式。
BKGD 引脚主要用于后台调试控制器 (BDC) 通信,采用定制的协议。这个协议每位时采用 16 个周期的目
标 MCU 的 BDC 时钟 。目 标 MCU 的 BDC 时钟可以与总线时钟速率一样快,这样就不会有任何大电容连接到
BKGD/MS 引脚,来干扰后台串行通信。
尽管 BKGD 引脚 是一个伪开路引脚,后台调试通信协议提供短暂的、主动驱动的高速脉冲,确保快速的
上升时间。 电缆的小电容和内部上拉电阻的绝对值几乎不影响 BKGD 引脚的上升和下降时间。
2.3.5 ADC 参考引脚 (V
V
REFH
和 V
引脚分别为 ADC 模块的电压参考高输入和电压参考低输入。
REFL
REFH
, V
REFL
)
2.3.6 外部中断引脚 (IRQ)
IRQ 引脚是 IRQ 中断的输入源,也是 BIH 和 BIL 指令的输入。如果未使能 IRQ 功能,这个引脚仍配置为
TPMCLK ( 参见 TPM 章节 )。
对 EMC 敏感的应用中,建议在 IRQ 引脚上添加一个外部 RC 过滤器。参见 图 2-3 的示例。
2.3.7 通用 I/O 和外设端口
剩余的引脚被通用 I/O 和片上外设功能,如定时器和串行 I/O 系统共用。 复位后,所有这些引脚立即配置
为高阻抗通用输入,且内部上拉电阻关闭。
注意
为了避免浮动输入引脚消耗额外的电流,应用程序中的复位初始化例程必须使能片
上上拉电阻或者更改未使用的引脚到输出的方向,使引脚不浮空。
不是所有封装都提供所有的通用 I/O 引脚。为了避免浮空输入引脚消耗额外的电
流,应用程序中用户的复位初始化例程必须使能片上上拉电阻或者更改未使用的引
脚到输出的方向,使引脚不浮空。
有关控制这些引脚作为通用 I/O 引脚的更多信息,参见第 6 章 并行输入 / 输出 。
当片上外围系统控制引脚时,数据方向控制位仍决定从端口数据寄存器中读什么,而外围模块则通过控
制引脚输出缓冲的使能来控制引脚方向。 参见第 6 章 并行输入 / 输出 了解更详细的信息。
只要引脚作为输入,每个输入引脚的上拉使能位控制片上上拉电阻是否使能,即使引脚是受片上外围模
块控制。当 IRQ 配置为 IRQ 输入,且设置为检测上升边沿时,上拉使能控制位使能下拉电阻,而不是上拉电
阻。
注意
如果先激活替代功能,则可能会给模块一个伪边沿。用户软件必须在激活中断前清
除所有相关的标记。 表 2-1 列出了多个模块使能时的优先级。最高优先级模块对引
脚有控制权。在使能了较低优先级的功能后,再选择较高优先级引脚功能,会造成
较低优先级模块得到伪边沿。建议在启动另一个模块前关闭所有共享此引脚的模
块。
SC116009 系列微控制器数据手册 , 第 1 版
26 飞思卡尔半导体
引脚编
号
<-- 最低 优先级 --> 最高
64 44
端口引脚
Alt 1 Alt 2
11P T C 4
22I R Q T P M C L K
1
3 3 RESET
4 4 PTF0 TPM1CH2
5 5 PTF1 TPM1CH3
6 — PTF2 TPM1CH4
7 — PTF3 TPM1CH5
8 6 PTF4 TPM2CH0
9—P T C 6
10 — PTF7
11 7 PTF5 TPM2CH1
12 — PTF6
13 8 PTE0 TxD1
14 9 PTE1 RxD1
15 10 PTE2 TPM1CH0
16 11 PTE3 TPM1CH1
17 12 PTE4 SS1
18 13 PTE5 MISO1
19 14 PTE6 MOSI1
20 15 PTE7 SPSCK1
21 16 V
SS
22 17 V
DD
23 18 PTG0
24 19 PTG1
25 20 PTG2
26 21 PTA0
27 22 PTA1
28 — PTA2
29 — PTA3
30 — PTA4
31 — PTA5
32 — PTA6
33 — PTA7
34 23 PTB0 TPM3CH0 AD1P0
35 24 PTB1 TPM3CH1 AD1P1
36 25 PTB2 AD1P2
37 26 PTB3 AD1P3
38 — PTB4 AD1P4
39 — PTB5 AD1P5
40 — PTB6 AD1P6
41 — PTB7 AD1P7
42 27 PTD0 AD1P8
43 28 PTD1 AD1P9
44 29 V
DDAD
45 30 V
SSAD
46 31 PTD2 AD1P10
47 32 PTD3 AD1P11
48 33 PTG3
49 — PTG4
50 — PTD4 TPM2CLK AD1P12
51 — PTD5 AD1P13
52 — PTD6 TPM1CLK AD1P14
53 — PTD7 AD1P15
54 34 V
REFH
55 35 V
REFL
56 36 BKGD MS
57 37 PTG5 XTAL
58 38 PTG6 EXTAL
59 39 V
SS
60 40 PTC0
61 41 PTC1
62 42 PTC2 MCLK
63 43 PTC3 TxD2
引脚编
号
<-- 最低 优先级 --> 最高
64 44
端口引脚
Alt 1 Alt 2
表 2-1. 引脚提供情况 (按封装引脚计数)
第 2 章 引脚和连接
1. TPMCLK、 TPM1CLK 和 TPM2CLK 可通过软件配置; 复位后, TPM1CLK、 TPM2CLK 和 TPMCLK 分别提供给 TPM1、
TPM2 和 TPM3。
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 27
第 2 章 引脚和连接
SC116009 系列微控制器数据手册 , 第 1 版
28 飞思卡尔半导体
第 3 章
操作模式
3.1 介绍
本章介绍 SC116009 系列的操作模式,包括如何进入每个模式,如何从每个模式中退出,以及在每个模
式中的功能。
3.2 特性
• 用于代码开发的激活后台模式
• 等待模式:
• CPU 关闭以省电
• 系统时钟正常运行
• 稳压功能正常运行
• 停止模式:
• 系统时钟停止;稳压器处于待机状态
• 停止 2: 内部电路的部分电源关闭; 保留 RAM 内容
• 停止 3: 所有内部电路都接通电源,以进行快速恢复;
3.3 运行模式
这是 SC116009 系列的正常操作模式。如果 BKGD/MS 引脚处于复位上升边沿的高电平位置,则进入这
个模式。在这种模式下, CPU 从内部存储器执行代码,从地址 0xFFFE: 0xFFFF 开始。
3.4 激活后台模式
激活后台模式功能通过 HCS08 内核中的后台调试控制器 (BDC )进行管理。在软件开发过程中, BDC
与片上 ICE 调试模块 (DBG )一起用于分析 MCU 的 操作。
通过以下五种方式可以进入后台模式:
• BKGD/MS 引脚在上升边沿的低电平时
• 通过 BKGD 引脚收到 BACKGROUND 指令时
• 执行 BGND 指令时
• 遇到 BDC 断点时
• 遇到 DBG 断点时
进入激活后台模式后, CPU 保持挂起状态,等待串行后台指令而不是执行来自用户应用程序的指令。
后台指令有两种类型:
• 非侵入式指令: 用户程序运行时可以发出的指令,在 MCU 处于运行模式时通过 BKGD 引脚发出。它
们也可以在 MCU 处于激活后台模式时执行。非入侵式指令包括:
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 29
第 3 章 操作模式
• 存储器访问指令
• 带状态的存储器访问指令
• BDC 寄存器访问指令
• BACKGROUND 指令
• 激活后台指令: 只有当 MCU 处于激活后台模式时才执行的指令。激活后台指令包含执行以下操作的
命令:
• 读或写 CPU 寄存器
• 在特定时间跟踪一个用户程序指令
• 退出激活后台模式,返回用户应用程序 ( GO)
3.5 等待模式
执行 WAIT 指令可以进入等待模式。在执行 WAIT 指令后, CPU 进入无时钟的低功耗状态。 CPU 进入等
待模式后, CCR (条件代码寄存器)中的 I 位被清除,启动中断操作。发生中断请求后,CPU 退出等待模式
并恢复处理,先开始执行堆叠操作,进入中断服务例程。
MCU 处于等待模式时,后台调试命令的使用受到一些限制。 MCU 处于等待模式时,只有
BACKGROUND 指令和带状态存储器访问指令可用。带状态存储器访问指令虽然禁止存储器访问,但它们会
上报错误,指示 MCU 处于停止或等待模式。可以使用后台命令将 MCU 从等待模式中唤醒进入激活后台模
式。
3.6 停止模式
当系统选项寄存器中设置了 STOPE 位,在执行 STOP 指令时,进入停止模式 (共两个停止模式)。在
停止模式中,所有内部时钟都暂停。如果在 CPU 执行 STOP 指令时, STOPE 位没有设置,则 MCU 不能进
入任何一个停止模式,并且强制执行非法操作代码复位。 在 SPMSC2 中设置相应位可以选择停止模式。
一些用于低电压 (1.8 V 至 3.6 V) 操作的 HCS08 器件还包含停止 1 模式。SC116009 系列 的器件在 2.7 V
至 5.5 V 范围内操作,不包含停止 1 模式。
表 3-1 总结了每个停止模式中 MCU 的行为。
表 3-1. 停止模式行为
模式
停止 21
停止 30
1
晶体振荡器可以设置在停止 3 模式中运行。参见 ICG 寄存器。
PPDC
3.6.1 停止 2 模式
停止 2 模式的待机功耗非常低,而且它保持 RAM 的内容以及所有 I/O 引脚的电流状态。 要进入停止 2 模
式,用户必须执行 STOP 指令,选择停止 2 (PPDC = 1) 的,使能停止模式 (STOPE = 1) 。 此外,在停止模式
操作时,LVD 必须关闭 (LVDSE = LVDE = 1)。 如果在停止模式中 LVD 使能, 则在执行 STOP 指令时 MCU 进
入停止 3 模式,无论 PPDC 处于何状态。
CPU, 数字外
设, Flash
关闭 待机 关闭 关闭 待机 状态保持
待机 待机 关闭
RAM ICG ADC
1
可选打开 待机 状态保持
稳压器 I/O 引脚
SC116009 系列微控制器数据手册 , 第 1 版
30 飞思卡尔半导体
第 3 章 操作模式
在进入停止 2 模式之 前,用户必须将 I/O 端口寄存器的内容,以及任何其它存储器映射的寄存器的内容
(如果需要在退出停止 2 模式后恢复),保存到 RAM 中的位置。在退出停止 2 模式时,这些值可以在引脚锁
存打开之前通过用户软件恢复。
当 MCU 处于停止 2 模式时,除 RAM 外,所有通过稳压器供电的内部电路都被关闭。稳压器与 ADC 一
样处于低功率的待机状态。在进入停止 2 模式时, I/O 引脚的状态被锁存。 状态在停止 2 模式中和退出停止 2
模式后保持不变,直到写 1 到 SPMSC2 中的 PPDACK 。
通过确认唤醒引脚: RESET
或 IRQ 可以退出停止 2 模式。 MCU 处于停止 2 模式时, IRQ 总是激活低输
入,无论进入停止 2 模式之前它是如何设置的。
从停止 2 模式唤醒时,除了 引脚状态仍被锁存, MCU 的启动与加电复位 (POR) 相似。 CPU 将取复位向
量。系统及所有外设将处于其默认复位状态,必须初始化。
从停止 2 模式唤醒后, SPMSC2 中的 PPDF 位被设置。这个标记可以用来引导用户代码运行停止 2 恢复
例程。 PPDF 保留设置, I/O 引脚状态仍被锁存,直到写逻辑 1 到 SPMSC2 中的 PPDACK 。
要保持 (已配置为通用 I/O 的)引脚的 I/O 状态,在写入 PPDACK 位之前,用户必须将 I/O 端口寄存器
的内容 (已经保存在 RAM 中)恢复到端口寄存器。如果在写入 PPDACK 之前,端口 寄存器没有从 RAM 恢
复,则在 I/O 引脚锁存打开时,寄存器位将回到其复位状态, I/O 引脚将切换到其复位状态。
对于配置为外围 I/O 的引脚,在写入 PPDACK 位之前,用户必须重新配置与该引脚接口的外围模块。 如
果在写入 PPDACK 位之前,外围模块未使能,则当 I/O 锁存打开时,引脚将由其相关的端口控制寄存器控
制。
3.6.2 停止 3 模式
要进入停止 3 模式,用户必须执行 STOP 指令,选择停止 3 模式 (PPDC = 0),使能停止模式 (STOPE =
1)。在进入停止 3 模式时, MCU 中的所有时钟,包括振荡器本身都暂停。 ICG 与稳压器和 ADC 一样进入待
机状态。所有内部寄存器和逻辑的状态,以及 RAM 内容均保持不变。和停止 2 模式不同, I/O 引脚状态不锁
存于引脚,相反,它们的状态跟随驱动引脚保持状态的内部逻辑的状态而定。
通过确认 RESET
,或异步中断引脚可以退出停止 3 模式。异步中断引脚为 IRQ 引脚。 通过 SCI 接收器中
断, ADC 和 LVI 也可以退出停止 3 模式。
如果通过确认 RESET
引脚退出停止 3 模式, MCU 将复位,获取复位向量后,操作将恢复。 如果通过异
步中断或者实时中断退出, MCU 将获取相应的中断向量。
3.6.3 在停止模式中使能激活 BDM
如果设置了 BDCSCR 中的 ENBDM 位,将启用从运行模式进入激活后台模式的操作。 第 13 章 开发支持
中描述了该寄存器。如果 CPU 执行 STOP 指令时,设置 ENBDM 位,则当 MCU 进入停止模式时,用于后台
调试逻辑的系统时钟仍保持激活状态。这样,仍然可以进行后台调试通信。此外,稳压器不进入低功率待机状
态,而是保持正常工作。如果用户想通过设置 ENBDM 进入停止 2 模式,则 MCU 将进入停止 3 模式。
停止模式下大多数后台指令不可用。带状态存储器访问指令禁止存储器访问,但它们会上报错误,指示
MCU 处于停止或等待模式。如果 ENBDM 位已设置,可以使用 BACKGROUND 命令将 MCU 从停止模式中唤
醒进入激活后台模式。进入后台调试模式后,所有后台命令都可以使用。表 3-2 总结了使能 “进入后台调试
模式”时 MCU 的行动。
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 31
第 3 章 操作模式
表 3-2. BDM 使能的停止模式行为
模式
停止 3x
PPDC
CPU,数字外
设, Flash
待机 待机 激活 可选打开 激活 保持状态
RAM ICG ADC
稳压器 I/O 引脚
3.6.4 在停止模式中使能 LVD
在电源电压下降到 LVD 电压以下时, LVD 系统可以生成中断或复位。在 CPU 执行 STOP 指令时,如果
LVD 在停止模式下使能 (通过设置 SPMSC1 中的 LV D E 和 LVDSE 位),那么稳压器在停止模式下将继续保
持激活状态。如果用户想通过启动 LVD 进入停止 2 模式,则 MCU 将进入停止 3 模式。 表 3-3 总结了 LVD 使
能时, MCU 在停止模式的行为。
表 3-3. LVD Enabled Stop Mode Behavior
CPU, Digital
模式
PPDC
Peripherals,
RAM ICG ADC
稳压器 I/O 引脚
Flash
停止 3x
待机 待机 关闭 可选打开 激活 保持状态
3.6.5 停止模式下的片上外围模块
当 MCU 进入停止模式时,内部外围模块的系统时钟停止运行。即使在异常情况下 (ENBDM = 1),后台
调试逻辑的时钟继续工作,外围系统的时钟也暂停以降低功耗。有关停止模式下系统行为的详细信息,请参
见 3.6.1 节 停止 2 模式 和 3.6.2 节 停止 3 模式 。
表 3-4. 停止模式行为
模式
外设
停止 2 停止 3
CPU
RAM
Flash
并行端口寄存器 关闭 待机
ADC
ICG
SCI
SPI
TPM
系统稳压器 待机 待机
I/O 引脚 状态保持 状态保持
1
要求启动异步 ADC 时钟和 LV D,否则为待机。
2
ICGC1 中的 OSCSTEN 被设置,否则为待机。
关闭 待机
待机 待机
关闭 待机
关闭 可选打开
关闭 可选打开
关闭 待机
关闭 待机
关闭 待机
1
2
SC116009 系列微控制器数据手册 , 第 1 版
32 飞思卡尔半导体
第 4 章
直接页面寄存器
RAM
Flash
高位页面寄存器
2048 字节
3984 字节
$0000
$006F
$0070
$086F
$1800
$17FF
$185F
$FFFF
$0870
SC116009
Flash
59,296 字节
$1860
SC116008
直接页面寄存器
RAM
预留
高位页面寄存器
2048 字节
3984 字节
$0000
$006F
$0070
$086F
$1800
$17FF
$185F
$FFFF
$0870
Flash
32,768 字节
$1860
预留
26,528 字节
$7FFF
$8000
存储器
4.1 SC116009 系列存储器映射
如 图 4-1 所示, SC116009 系列 MCU 中的片上存储器包括 RAM、非易失性数据存储的 Flash 存储器、
I/O 和控制 / 状态寄存器。这些寄存器可分为以下三类:
• 直接页面寄存器 ($0000 至 $006F)
• 高位页面寄存器 ($1800 至 $185F)
• 非易失性寄存器 ($FFB0 至 $FFBF)
图 4-1. SC116009 系列存储器映射
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 33
第 4 章 存储器
4.1.1 复位和中断向量分配
图 4-1 为复位和中断向量的地址分配情况。 该表中使用的向量名称为飞思卡尔半导体提供的 系列同等文
件中使用的标签。有关复位、中断、中断优先级和本地中断掩码控制的更多信息,请参见 第 5 章 复位、中断
和系统配置。
表 4-1. 复位和中断向量
地址
( 高 / 低 )
0xFFC0:FFC1
到
0xFFC4:FFC5
0xFFC6:FFC7
0xFFC8:FFC9
0xFFCA:FFCB
0xFFCC:FFCD
0xFFCE:FFCF
0xFFD0:FFD1
0xFFD2:FFD3
0xFFD4:FFD5
0xFFD6:FFD7
0xFFD8:FFD9
0xFFDA:FFDB
0xFFDC:FFDD
0xFFDE:FFDF
0xFFE0:FFE1 SPI1 Vspi1
0xFFE2:FFE3
0xFFE4:FFE5
0xFFE6:FFE7
0xFFE8:FFE9
0xFFEA:FFEB
0xFFEC:FFED
0xFFEE:FFEF
0xFFF0:FFF1
0xFFF2:FFF3
0xFFF4:FFF5
0xFFF6:FFF7 ICG Vicg
0xFFF8:FFF9
0xFFFA:FFFB IRQ Virq
0xFFFC:FFFD SWI Vswi
0xFFFE:FFFF
向量 向量名称
未使用的向量空间
( 提供给用户程序 )
TPM3 溢出
TPM3 通路 1
TPM3 通路 0
未使用的向量空间
未使用的向量空间
ADC1 转换
未使用的向量空间
SCI2 发送
SCI2 接收
SCI2 错误
SCI1 发送
SCI1 接收
SCI1 错误
TPM2 溢出
TPM2 通路 1
TPM2 通路 0
TPM1 溢出
TPM1 通路 5
TPM1 通路 4
TPM1 通路 3
TPM1 通路 2
TPM1 通路 1
TPM1 通路 0
低电压检测
复位 V 复位
—
Vtpm3ovf
Vtpm3ch1
Vtpm3ch0
—
—
Vad c1
—
Vsci2tx
Vsci2rx
Vsci2err
Vsci1tx
Vsci1rx
Vsci1err
Vtpm2ovf
Vtpm2ch1
Vtpm2ch0
Vtpm1ovf
Vtpm1ch5
Vtpm1ch4
Vtpm1ch3
Vtp
1ch2
m
Vtpm1ch1
Vtpm1ch0
Vlvd
SC116009 系列微控制器数据手册 , 第 1 版
34 飞思卡尔半导体
第 4 章 存储器
4.2 寄存器地址和位分配
SC116009 系列产品中的寄存器分为以下三个组:
• 直接页面寄存器,位于存储器映射的前 11 2 个位置上。因此通过高效的直接寻址模式指令就可以访问
它们。
• 高位页面寄存器,不经常使用,因此在存储器映象中位于 0x1800 以上,为直接页面中经常使用的寄
存器和变量留出了更多空间。
• 非易失性寄存器区域包含 16 个位置,位于 Flash 中的 $FFB0–$FFBF。
非易失性寄存器位置包含:
• 三个值,在复位时加载到工作寄存器
• 一个 8 字节后门比较密钥,可选地允许用户接入安全的存储器
由于非易失性寄存器位置为 Flash 存储器,它们必须象其它 Flash 存储器一样被擦除和编程。
直接页面寄存器可以通过高效的直接寻址模式指令访问。 可以通过位操作指令访问直接页面寄存器中的任
何位。 表 4-2 总结了所有用户可访问的直接页面寄存器和控制位。
表 4-2 中的直接页面寄存器可以用更高效的直接寻址模式 (这种模式只需要较低字节)。因此,第一栏中
地址的较低字节用粗体显示。表 4-3 和 表 4-4 整个第一栏都用粗体显示。表 4-2 、表 4-3 和 表 4-4 中,第二栏
的寄存器名称都用粗体显示,以区别右边的位名称。与所列出的位不相关的单元格用阴影显示。带 0 的阴影
单元格表示这个未使用的位始终读为 0 。带破折号的阴影单元格指示未使用的或预留的位可以读为 1 或 0 。
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 35
第 4 章 存储器
表 4-2. 直接页面寄存器一览 ( 第 1 页,共 3 页 )
地址 寄存器名称
0x0000 PTAD
0x0001 PTADD
0x0002 PTBD
0x0003 PTBDD
0x0004 PTCD
0x0005 PTCDD
0x0006 PTDD
0x0007 PTDDD
0x0008 PTED
0x0009 PTEDD
0x000A PTFD
0x000B PTFDD
0x000C PTGD
0x000D PTGDD
0x000E –
0x000F
保留
0x0010 ADC1SC1
0x0011 ADC1SC2
0x0012 ADC1RH
0x0013 ADC1RL
0x0014 ADC1CVH
0x0015 ADC1CVL
0x0016 ADC1CFG
0x0017 APCTL1
0x0018 APCTL2
0x0019 –
0x001B
保留
0x001C IRQSC
0x001D –
保留
0x001F
0x0020 TPM1SC
0x0021 TPM1CNTH
0x0022 TPM1CNTL
0x0023 TPM1MODH
0x0024 TPM1MODL
0x0025 TPM1C0SC
0x0026 TPM1C0VH
0x0027 TPM1C0VL
0x0028 TPM1C1SC
0x0029 TPM1C1VH
B i t 7654321B i t 0
PTAD7 PTAD6 PTAD5 PTAD4 PTAD3 PTAD2 PTAD1 PTAD0
PTADD7 PTADD6 PTADD5 PTADD4 PTADD3 PTADD2 PTADD1 PTADD0
PTBD7 PTBD6 PTBD5 PTBD4 PTBD3 PTBD2 PTBD1 PTBD0
PTBDD7 PTBDD6 PTBDD5 PTBDD4 PTBDD3 PTBDD2 PTBDD1 PTBDD0
0 PTCD6 PTCD5 PTCD4 PTCD3 PTCD2 PTCD1 PTCD0
0 PTCDD6 PTCDD5 PTCDD4 PTCDD3 PTCDD2 PTCDD1 PTCDD0
PTDD7 PTDD6 PTDD5 PTDD4 PTDD3 PTDD2 PTDD1 PTDD0
PTDDD7 PTDDD6 PTDDD5 PTDDD4 PTDDD3 PTDDD2 PTDDD1 PTDDD0
PTED7 PTED6 PTED5 PTED4 PTED3 PTED2 PTED1 PTED0
PTEDD7 PTEDD6 PTEDD5 PTEDD4 PTEDD3 PTEDD2 PTEDD1 PTEDD0
PTFD7 PTFD6 PTFD5 PTFD4 PTFD3 PTFD2 PTFD1 PTFD0
PTFDD7 PTFDD6 PTFDD5 PTFDD4 PTFDD3 PTFDD2 PTFDD1 PTFDD0
0 PTGD6 PTGD5 PTGD4 PTGD3 PTGD2 PTGD1 PTGD0
0 PTGDD6 PTGDD5 PTGDD4 PTGDD3 PTGDD2 PTGDD1 PTGDD0
—
—
COCO AIEN ADCO ADCH
ADACT ADTRG ACFE ACFGT 0 0 R R
0 0 0 0 0 0 ADR9 ADR8
ADR7 ADR6 ADR5 ADR4 ADR3 ADR2 ADR1 ADR0
0 0 0 0 0 0 ADCV9 ADCV8
ADCV7 ADCV6 ADCV5 ADCV4 ADCV3 ADCV2 ADCV1 ADCV0
ADLPC ADIV ADLSMP MODE ADICLK
ADPC7 ADPC6 ADPC5 ADPC4 ADPC3 ADPC2 ADPC1 ADPC0
ADPC15 ADPC14 ADPC13 ADPC12 ADPC11 ADPC10 ADPC9 ADPC8
—
—
0 IRQPDD IRQEDG IRQPE IRQF IRQACK IRQIE IRQMOD
—
—
TOF TOIE CPWMS CLKSB CLKSA PS2 PS1 PS0
Bit 15 14 13 12 11 10 9 Bit 8
B i t 7654321B i t 0
Bit 15 14 13 12 11 10 9 Bit 8
B i t 7654321B i t 0
CH0F CH0IE MS0B MS0A ELS0B ELS0A 0 0
Bit 15 14 13 12 11 10 9 Bit 8
B i t 7654321B i t 0
CH1F CH1IE MS1B MS1A ELS1B ELS1A 0 0
Bit 15 14 13 12 11 10 9 Bit 8
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
SC116009 系列微控制器数据手册 , 第 1 版
36 飞思卡尔半导体
表 4-2. 直接页面寄存器一览 ( 第 2 页,共 3 页 )
第 4 章 存储器
地址 寄存器名称
0x002A TPM1C1VL
0x002B TPM1C2SC
0x002C TPM1C2VH
0x002D TPM1C2VL
0x002E TPM1C3SC
0x002F TPM1C3VH
0x0030 TPM1C3VL
0x0031 TPM1C4SC
0x0032 TPM1C4VH
0x0033 TPM1C4VL
0x0034 TPM1C5SC
0x0035 TPM1C5VH
0x0036 TPM1C5VL
0x0037
保留
0x0038 SCI1BDH
0x0039 SCI1BDL
0x003A SCI1C1
0x003B SCI1C2
0x003C SCI1S1
0x003D SCI1S2
0x003E SCI1C3
0x003F SCI1D
0x0040 SCI2BDH
0x0041 SCI2BDL
0x0042 SCI2C1
0x0043 SCI2C2
0x0044 SCI2S1
0x0045 SCI2S2
0x0046 SCI2C3
0x0047 SCI2D
0x0048 ICGC1
0x0049 ICGC2
0x004A ICGS1
0x004B ICGS2
0x004C ICGFLTU
0x004D ICGFLTL
0x004E ICGTRM
0x004F
保留
0x0050 SPI1C1
0x0051 SPI1C2
B i t 7654321B i t 0
B i t 7654321B i t 0
CH2F CH2IE MS2B MS2A ELS2B ELS2A 0 0
Bit 15 14 13 12 11 10 9 Bit 8
B i t 7654321B i t 0
CH3F CH3IE MS3B MS3A ELS3B ELS3A 0 0
Bit 15 14 13 12 11 10 9 Bit 8
B i t 7654321B i t 0
CH4F CH4IE MS4B MS4A ELS4B ELS4A 0 0
Bit 15 14 13 12 11 10 9 Bit 8
B i t 7654321B i t 0
CH3F CH5IE MS5B MS5A ELS5B ELS5A 0 0
Bit 15 14 13 12 11 10 9 Bit 8
B i t 7654321B i t 0
— — — — — — — —
LBKDIE RXEDGIE 0 SBR12 SBR11 SBR10 SBR9 SBR8
SBR7 SBR6 SBR5 SBR4 SBR3 SBR2 SBR1 SBR0
LOOPS SCISWAI RSRC M WAKE ILT PE PT
TIE TCIE RIE ILIE TE RE RWU SBK
TDRE TC RDRF IDLE OR NF FE PF
LBKDIF RXEDGIF 0 RXINV RWUID BRK13 LBKDE RAF
R8 T8 TXDIR TXINV ORIE NEIE FEIE PEIE
B i t 7654321B i t 0
LBKDIE RXEDGIE 0 SBR12 SBR11 SBR10 SBR9 SBR8
SBR7 SBR6 SBR5 SBR4 SBR3 SBR2 SBR1 SBR0
LOOPS SCISWAI RSRC M WAKE ILT PE PT
TIE TCIE RIE ILIE TE RE RWU SBK
TDRE TC RDRF IDLE OR NF FE PF
LBKDIF RXEDGIF 0 RXINV RWUID BRK13 LBKDE RAF
R8 T8 TXDIR TXINV ORIE NEIE FEIE PEIE
B i t 7654321B i t 0
HGO RANGE REFS CLKS OSCSTEN LOCD 0
LOLRE MFD LOCRE RFD
CLKST REFST LOLS LOCK LOCS ERCS ICGIF
0 0 0 0 0 0 0 DCOS
0 0 0 0F L T
FLT
TRIM
— — — — — — — —
SPIE SPE SPTIE MSTR CPOL CPHA SSOE LSBFE
0 0 0 MODFEN BIDIROE 0 SPISWAI SPC0
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 37
第 4 章 存储器
表 4-2. 直接页面寄存器一览 ( 第 3 页,共 3 页 )
地址 寄存器名称
0x0052 SPI1BR
0x0053 SPI1S
0x0054
保留
0x0055 SPI1D
0x0057 –
0x005F
保留
0x0060 TPM2SC
0x0061 TPM2CNTH
0x0062 TPM2CNTL
0x0063 TPM2MODH
0x0064 TPM2MODL
0x0065 TPM2C0SC
0x0066 TPM2C0VH
0x0067 TPM2C0VL
0x0068 TPM2C1SC
0x0069 TPM2C1VH
0x006A TPM2C1VL
0x006B –
0x006F
保留
B i t 7654321B i t 0
0 SPPR2 SPPR1 SPPR0 0 SPR2 SPR1 SPR0
SPRF 0S P T E F M O D F 0 0 0 0
0 0 0 0 0 0 0 0
B i t 7654321B i t 0
—
—
TOF TOIE CPWMS CLKSB CLKSA PS2 PS1 PS0
Bit 15 14 13 12 11 10 9 Bit 8
B i t 7654321B i t 0
Bit 15 14 13 12 11 10 9 Bit 8
B i t 7654321B i t 0
CH0F CH0IE MS0B MS0A ELS0B ELS0A 0 0
Bit 15 14 13 12 11 10 9 Bit 8
B i t 7654321B i t 0
CH1F CH1IE MS1B MS1A ELS1B ELS1A 0 0
Bit 15 14 13 12 11 10 9 Bit 8
B i t 7654321B i t 0
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
表 4-3 中显示的高位页面寄存器的访问频率比 I/O 和控制寄存器的低的多,因此,它们位于直接可寻址的
存储器空间之外,从 0x1800 开始。
SC116009 系列微控制器数据手册 , 第 1 版
38 飞思卡尔半导体
表 4-3. 高位页面寄存器一览 ( 第 1 页,共 2 页 )
第 4 章 存储器
地址 寄存器名称
0x1800 SRS
0x1801 SBDFR
0x1802 SOPT
0x1803 SMCLK
0x1804 –
0x1805
保留
0x1806 SDIDH
0x1807 SDIDL
0x1808
保留
0x1809 SPMSC1
0x180A SPMSC2
0x180B
保留
0x180C SOPT2
0x180D–
0x180F
保留
0x1810 DBGCAH
0x1811 DBGCAL
0x1812 DBGCBH
0x1813 DBGCBL
0x1814 DBGFH
0x1815 DBGFL
0x1816 DBGC
0x1817 DBGT
0x1818 DBGS
0x1819–
0x181F
保留
0x1820 FCDIV
0x1821 FOPT
0x1822
保留
0x1823 FCNFG
0x1824 FPROT
0x1825 FSTAT
0x1826 FCMD
0x1827–
0x182F
保留
0x1830 TPM3SC
0x1831 TPM3CNTH
0x1832 TPM3CNTL
0x1833 TPM3MODH
0x1834 TPM3MODL
B i t 7654321B i t 0
POR PIN COP ILOP 0I C GL V D0
0 0 0 0 0 0 0B D F R
COPE COPT STOPE — 0 0 — —
0 0 0M P E0 MCSEL
—
—
REV3 REV2 REV1 REV0 ID11 ID10 ID9 ID8
ID7 ID6 ID5 ID4 ID3 ID2 ID1 ID0
— — — — — — — —
LVDF LVDACK LVDIE LVDRE LVDSE LVDE 0
LVWF LVWACK LVDV LVWV PPDF PPDACK — PPDC
— — — — — — — —
COPCLKS — — —
—
—
Bit 15 14 13 12 11 10 9 Bit 8
B i t 7654321B i t 0
Bit 15 14 13 12 11 10 9 Bit 8
B i t 7654321B i t 0
Bit 15 14 13 12 11 10 9 Bit 8
B i t 7654321B i t 0
DBGEN ARM TAG BRKEN RWA RWAEN RWB RWBEN
TRGSEL BEGIN 0 0 TRG3 TRG2 TRG1 TRG0
AF BF ARMF 0 CNT3 CNT2 CNT1 CNT0
—
—
DIVLD PRDIV8 DIV5 DIV4 DIV3 DIV2 DIV1 DIV0
KEYEN FNORED 0 0 0 0 SEC01 SEC00
— — — — — — — —
0 0 KEYACC 0 0 0 0 0
FPS7 FPS6 FPS5 FPS4 FPS3 FPS2 FPS1 FPDIS
FCBEF FCCF FPVIOL FACCERR 0 FBLANK 0 0
FCMD7 FCMD6 FCMD5 FCMD4 FCMD3 FCMD2 FCMD1 FCMD0
—
—
TOF TOIE CPWMS CLKSB CLKSA PS2 PS1 PS0
Bit 15 14 13 12 11 10 9 Bit 8
B i t 7654321B i t 0
Bit 15 14 13 12 11 10 9 Bit 8
B i t 7654321B i t 0
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
TPMCCFG
—
—
—
—
—
—
—
—
— — —
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
1
BGBE
—
—
—
—
—
—
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 39
第 4 章 存储器
表 4-3. 高位页面寄存器一览 ( 第 2 页,共 2 页 )
地址 寄存器名称
0x1835 TPM3C0SC
0x1836 TPM3C0VH
0x1837 TPM3C0VL
0x1838 TPM3C1SC
0x1839 TPM3C1VH
0x183A TPM3C1VL
0x183B
0x183F
保留
0x1840 PTAPE
0x1841 PTASE
0x1842 PTADS
0x1843
保留
0x1844 PTBPE
0x1845 PTBSE
0x1846 PTBDS
0x1847
保留
0x1848 PTCPE
0x1849 PTCSE
0x184A PTCDS
0x184B
保留
0x184C PTDPE
0x184D PTDSE
0x184E PTDDS
0x184F
保留
0x1850 PTEPE
0x1851 PTESE
0x1852 PTEDS
0x1853
保留
0x1854 PTFPE
0x1855 PTFSE
0x1856 PTFDS
0x1857
保留
0x1858 PTGPE
0x1859 PTGSE
0x185A PTGDS
0x185B–
0x185F
1
这个预留位必须总是为 0。
保留
B i t 7654321B i t 0
CH0F CH0IE MS0B MS0A ELS0B ELS0A 0 0
Bit 15 14 13 12 11 10 9 Bit 8
B i t 7654321B i t 0
CH1F CH1IE MS1B MS1A ELS1B ELS1A 0 0
Bit 15 14 13 12 11 10 9 Bit 8
B i t 7654321B i t 0
—
—
PTAPE7 PTAPE6 PTAPE5 PTAPE4 PTAPE3 PTAPE2 PTAPE1 PTAPE0
PTASE7 PTASE6 PTASE5 PTASE4 PTASE3 PTASE2 PTASE1 PTASE0
PTADS7 PTADS6 PTADS5 PTADS4 PTADS3 PTADS2 PTADS1 PTADS0
— — — — — — — —
PTBPE7 PTBPE6 PTBPE5 PTBPE4 PTBPE3 PTBPE2 PTBPE1 PTBPE0
PTBSE7 PTBSE6 PTBSE5 PTBSE4 PTBSE3 PTBSE2 PTBSE1 PTBSE0
PTBDS7 PTBDS6 PTBDS5 PTBDS4 PTBDS3 PTBDS2 PTBDS1 PTBDS0
— — — — — — — —
0 PTCPE6 PTCPE5 PTCPE4 PTCPE3 PTCPE2 PTCPE1 PTCPE0
0 PTCSE6 PTCSE5 PTCSE4 PTCSE3 PTCSE2 PTCSE1 PTCSE0
0 PTCDS6 PTCDS5 PTCDS4 PTCDS3 PTCDS2 PTCDS1 PTCDS0
— — — — — — — —
PTDPE7 PTDPE6 PTDPE5 PTDPE4 PTDPE3 PTDPE2 PTDPE1 PTDPE0
PTDSE7 PTDSE6 PTDSE5 PTDSE4 PTDSE3 PTDSE2 PTDSE1 PTDSE0
PTDDS7 PTDDS6 PTDDS5 PTDDS4 PTDDS3 PTDDS2 PTDDS1 PTDDS0
— — — — — — — —
PTEPE7 PTEPE6 PTEPE5 PTEPE4 PTEPE3 PTEPE2 PTEPE1 PTEPE0
PTESE7 PTESE6 PTESE5 PTESE4 PTESE3 PTESE2 PTESE1 PTESE0
PTEDS7 PTEDS6 PTEDS5 PTEDS4 PTEDS3 PTEDS2 PTEDS1 PTEDS0
— — — — — — — —
PTFPE7 PTFPE6 PTFPE5 PTFPE4 PTFPE3 PTFPE2 PTFPE1 PTFPE0
PTFSE7 PTFSE6 PTFSE5 PTFSE4 PTFSE3 PTFSE2 PTFSE1 PTFSE0
PTFDS7 PTFDS6 PTFDS5 PTFDS4 PTFDS3 PTFDS2 PTFDS1 PTFDS0
— — — — — — — —
0 PTGPE6 PTGPE5 PTGPE4 PTGPE3 PTGPE2 PTGPE1 PTGPE0
0 PTGSE6 PTGSE5 PTGSE4 PTGSE3 PTGSE2 PTGSE1 PTGSE0
0 PTGDS6 PTGDS5 PTGDS4 PTGDS3 PTGDS2 PTGDS1 PTGDS0
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
SC116009 系列微控制器数据手册 , 第 1 版
40 飞思卡尔半导体
第 4 章 存储器
表 4-4 中显示的非易失性 Flash 寄存器,位于 Flash 存储器中。 这些寄存器中包括一个 8 字节后门密钥,
可选地用于访问安全的存储器资源。 在复位过程中, Flash 存储器的非易失性寄存器区中的 NVPROT 和
NVOPT 内容会转移到高位页面寄存器中相应的 FPROT 和 FOPT 寄存器,以控制安全和块保护选项。
表 4-4. 非易失性寄存器一览
地址 寄存器名称
$FFB0 –
$FFB7
$FFB8 –
$FFBB
$FFBC 保留用于存储
$FFBD NVPROT
$FFBE 保留用于存储
$FFBF NVOPT
NVBACKKEY
保留
250 kHz ICGTRM
值
243 kHz ICGTRM
值
B i t 7654321B i t 0
8-Byte Comparison Key
— — — — — — — —
— — — — — — — —
FPS7 FPS6 FPS5 FPS4 FPS3 FPS2 FPS1 FPDIS
— — — — — — — —
KEYEN FNORED 0 0 0 0 SEC01 SEC00
如果密钥使能 (KEYEN )位为 1 ,那么可用 8 字节对比密钥来临时摆脱存储器安全的限制。这种密钥机
制只能通过在安全的存储器中运行的用户代码来使用。(安全密钥不能通过后台调试指令直接进入。)这个安
全密钥可通过将 KEYEN 位设为 0 来关闭。如果这个安全密钥关闭,那么摆脱安全限制的唯一方式是完全擦除
Flash (通常通过后台调试接口)并确认 Flash 为空。为了避免在下一次复位后返回到安全模式,应该将安全
位(SEC01:SEC00)设置为非安全状态 (1 :0 )。
4.3 RAM
SC116009 系列 包含静态 RAM 。 RAM 中 0x0100 以下的位置可以通过更高效的直接寻址模式访问,而这
一区域中的任何单个位可以通过位操作指令 (BCLR 、 BSET 、 BRCLR 和 BRSET )访问。优先将最常访问的
编程变量放在 RAM 的这个区域中。
在 MCU 处于低功率等待、停止 2 或停止 3 模式时, RAM 会保留数据。加电启动时, RAM 中的内容不会
初始化。如果电源电压没有降到保留 RAM 的最低值以下,则任何复位对 RAM 数据不会产生影响。
为了实现与 M68HC05 MCU 的兼容性, HCS08 将堆栈指针复位到 0x00FF 。在 SC116009 系列中,最好
将堆栈指针重新初始化到 RAM 顶部,这样,访问频率比较高的 RAM 变量和位可寻址程序变量可以使用直接
页面 RAM 。将下面这个两指令序列包含在你的复位初始化例程 (其中的 RamLast 等于飞思卡尔半导体等同
文件中 RAM 的最高地址)中。
LDHX #RamLast+1 ;point one past RAM
TXS ;SP<-(H:X-1)
当安全性启动时, RAM 被认为是一种安全的存储器资源,不能通过 BDM 或从非安全存储器中执行代码
来访问。有关安全特性的更多描述, 请参见 4.5 节 安全性 。
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 41
第 4 章 存储器
4.4 Flash
Flash 存储器主要用作存储程序。 在线编程允许在最终组装完应用程序产品后将操作程序加载到 Flash 存
储器中。可以通过单线后台调式接口编程整个阵列。由于 Flash 擦除和编程操作都不需要专用电压,通过其它
软件控制的通信路径可以实现应用中编程。有关在线编程和在应用中编程的更多讨论,请参阅 《HCS08 系列
参考手册》,第 1 卷,飞思卡尔半导体文档订购号 HCS08RMv1 。
4.4.1 特性
Flash 存储器的特性包括:
• Flash 大小
• SC116009 — 61268 字节 (120 页 ,每页 512 字节 )
• SC116008 — 32768 字节 (64 页,每页 512 字节 )
• 单电源编程和擦除
• 命令介面,实现快速编程和擦除操作
• 典型电压和温度下高达 100,000 编程 / 擦除循环
• 灵活的块保护
• Flash 和 RAM 的安全特性
• 对于低频率读操作自动降低功率
4.4.2 编程和擦除时间
在接受任何编程或擦除命令前,必须写入 Flash 时钟分频寄存器 (FCDIV) ,将 Flash 模块的内部时钟设置
为 150 kHz ~ 200 kHz 之间的频率 (f
能写入一次,因此通常是在复位初始化过程中进行写。如果 FSTAT 中的 FACCERR 被设置,即访问错误标
记,则不能写入 FCDIV 。用户必须确保在写入 FCDIV 寄存器之前没有设置 FACCERR 。命令处理器以所得时
钟 (1/f
) 的一个周期来对编程和擦除脉冲定时。命令处理器用整数个定时脉冲来完成编程或擦除命令。
FCLK
表 4-5 给出了编程和擦除时间。总线时钟频率和 FCDIV 决定 FCLK 的频率 ( f
t
FCLK
= 1/f
。显示的时间为多个 FCLK 循环,作为 t
FCLK
包括命令状态机的开销及使能和关闭编程和擦除电压的时间。
参数 r F C L K 周期 FCLK = 200 kHz 时的时间
字节编程
字节编程 ( 突发 )
页面擦除
完全擦除
1
不包括开始 / 结束开销
) ( 参见 4.6.1 节 Flash 时钟分频寄存器 (FCDIV) )。这个寄存器只
FCLK
)。一个 FCLK 周期为
FCLK
= 5s 时的一个绝对时间 。显示的编程和擦除时间
FCLK
表 4-5. 编程和擦除时间
94 5 μs
4
4000 20 ms
20,000 100 ms
20 μs
1
SC116009 系列微控制器数据手册 , 第 1 版
42 飞思卡尔半导体
第 4 章 存储器
4.4.3 编程和擦除命令的执行
FCDIV 寄存器必须初始化,而且在开始执行命令之前,复位和错误标记都要清除。命令执行步骤如下:
1. 将一个数据值写入到 Flash 阵列中的一个地址中。写入的地址和数据信息被锁存在 Flash 接口中。写
入操作是任何命令序列要求的第一步。对于擦除和空白检查命令,这些数据的值并不重要。对于页面
擦除命令,地址可以是要擦除的 Flash 的 512 字节页面中的任何地址。对于完全擦除和空白检查命
令,地址可以是 Flash 存储器中的任何地址。整个 512 字节页面是可被擦除的最小 Flash 单元块。在
60 K 版本中,有两种情况的用户可访问单元块大小低于 512 字节,第一种情况是 RAM 后的第一个页
面,第二种情况是高位页面寄存器后的第一个页面。这些页面分别与 RAM 和高位页面寄存器重叠。
注意
成功进行擦除操作后,在 Flash 中编程任何字节的次数不要超过一次。不允许对已
经编程的字节进行重新编程,除非先擦除该字节所在的页面,或完全擦除整个
Flash。不先擦除就编程会扰乱 Flash 中存储的数据。
2. 将命令代码写入到 FCMD 中。五个有效的命令分别是空白检查 ( 0x05)、字节编程 (0x20)、突发
编程 ( 0x25)、页面擦除 ( 0x40)和完全擦除 ( 0x41)。 命令代码锁存在命令缓冲器中。
3. 将 FSTAT 中的 FCBEF 位写为 1,清除 FCBEF,并发起 命令 (包括它的地址和数据信息)。
在写入存储器阵列后,写入 1 清除 FCBEF 和发起完整的命令之前,可以通过写 0 到 FCBEF 手动取消部
分命令序列。 以这种方式取消一个命令,会置 FACCERR 访问错误标记,在启动新的命令前必须清除这个标
记。
必须严格遵守监控流程,否则命令不会被接受。这样,可以降低 Flash 存储器内容被意外修改的可能性。
FCCF (命令完成标记)指示命令完成的时间。清除 FCBEF ,可以完成命令序列,并发起该命令。 图 4-2 为
执行所有命令 (突发编程除外)的流程图。 在使用任何 Flash 命令前, FCDIV 寄存器必须初始化,在复位以
后只能执行一次。
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 43
第 4 章 存储器
开始
写入 Flash
缓存地址和数据
将命令写入到 FCMD
否
有
FPVIO OR
将 1 写入到 FCBEF
发起命令
并清除 FCBEF (2)
1
0
FCCF ?
出错退出
完成
(2)
在检查 FCBEF 或 FCCF 之前等
0
FACCERR ?
清除错误
FACCERR ?
写入到 FCDIV
(1)
(1) 复位后,只需要一次
待至少四个总线周期
图 4-2. Flash 编程和擦除流程图
4.4.4 突发编程执行
突发编程命令用来对数据的连续字节进行编程,所用的时间比标准编程命令更短。这是因为编程操作之
间不需要关闭 Flash 阵列的高电压。通常情况下,在发出编程或擦除命令后,必须使能一个与 Flash 相关的内
部电荷泵,为阵列提供高电压。命令完成后,该电荷泵会关闭。发出突发编程命令后,如果满足以下两个条
件,电荷泵会开启而且在突发编程操作完成后将保持开启状态:
1. 下一个突发编程命令在当前编程操作完成前已排队。
2. 下一个顺序地址选择与已编程的当前字节相同的物理行上的一个字节。 Flash 存储器的一行包括 64 个
字节。地址 A5 至 A0 选择一行中的一个字节。当地址 A5 至 A0 都为零时,就开始一个新行。
在突发模式下对一系列已经编程的连续字节的第一个字节进行编程,所需要的时间与在标准模式下相同。
如果达到上述两个条件,后面的字节将在突发编程时间内编程。如果下一个地址是新的一行的开始,那么该字
节的编程时间将是标准时间而不是突发时间。这是因为阵列的高电压必须先关闭然后重新开启。如果在当前命
令完成前,队列中没有任何新的突发命令,那么电荷泵将关闭,高电压将从阵列上断开。
44 飞思卡尔半导体
SC116009 系列微控制器数据手册 , 第 1 版
第 4 章 存储器
1
0
FCBEF ?
开始
写入 Flash
缓存地址和数据
将命令写入到 FCMD
否
有
FPVIO 或者
将 1 写入到 FCBEF
发起命令
清除 FCBEF
2
否
有
新的突发命令 ?
1
0
FCCF ?
出错退出
完成
2 在检查 FCBEF 或 FCCF 之前,等
待至少四个总线周期。
1
0
FACCERR ?
清除错误
FACCERR ?
写入 FCDIV
1
1 复位后,只需要一次。
图 4-3. Flash 突发编程流程图
4.4.5 访问错误
当违反命令执行协议时会出现访问错误。
下列行为将导致 FSTAT 中的访问出错标识位 (FACCERR)被置位。只有当 FACCERR 被清零 (通过
写 1 到 FSTAT 的 FACCERR 位)后,才能处理命令
• 在写入 FCDIV 寄存器来设置内部 Flash 时钟频率前,写入 Flash 地址。
• 在没有设置 FCBEF 的情况下写入 Flash 地址 (命令缓冲器清空之前不能开始新的命令)。
• 在发出前一个命令之前第 2 次写入 Flash 地址 (每个命令只能向 Flash 中写入一次)。
• 发出前一个命令之前第 2 次写入 FCMD (每个命令只能向 FCMD 中写入一次)。
• 在写入 Flash 地址后写入 FCMD 以外的任何 Flash 控制寄存器。
• 向 FCMD 写入 5 个允许的代码 ( 0x05, 0x20, 0x25, 0x40, 0x41, or 0x47)以外的任何命令代码
飞思卡尔半导体 45
SC116009 系列微控制器数据手册 , 第 1 版
第 4 章 存储器
• 向 FCMD 写入命令之后写除 FSTAT 外的任何 Flash 控制寄存器 (以清除 FCBEF 并发起命令)。
• MCU 在某个编程或擦除命令执行过程中进入停止模式 (命令被终止)。
• MCU 受到安全保护时通过后台调试命令写入字节编程、突发编程、页面擦除命令码 (0x20, 0x25, 或
0x40)。( 在 MCU 安全时,后台调试控制器只能执行空白检查和完全擦除命令。)
• 将 0 写入到 FCBEF 中,取消部分命令。
4.4.6 Flash 块保护
块保护特性可以防止指定地址范围内的 Flash 存储器发生编程或擦除修改。只要任何 Flash 块受保护时,
全部擦除去活。 SC116009 系列允许 Flash 末端和 / 或整个 Flash 存储器的存储器块实施块保护。 去活控制位
和 3 位控制字段用于设置块的大小。另有一个单独的控制位用于对整个 Flash 存储器阵列实施块保护。所有
这七个控制位都位于 FPROT 寄存器中 (参见 4.6.4 节 Flash 保护寄存器 ( FPROT 和 NVPROT))。
在复位时, NVPROT 位置的内容会加载到高位页面寄存器 (FPROT ),这个内容位于 Flash 的非易失性
寄存器块中。 应用软件不能直接更改 FPROT,因此失控程序不会更改块保护设置。如果包含 NVPROT 的
Flash 的最后 512 字节受到保护,应用程序就无法更改块保护设置 (不管是有意的还是无意的)。若要擦除受
保护的 Flash , 可通过后台调试命令写入 FPROT 控制位 。
块保护的一个用途是保护 Flash 存储器用于 bootloader 程序的区域。 Bootloader 程序可以擦除 Flash 存
储器的其他部分,并重新编程。由于 bootloader 受到保护,即使在擦除和编程操作中 MCU 电源中断,它也不
会受到影响。
4.4.7 向量重定向
块保护启动时,复位和中断向量将受到保护。向量重定向使用户可以修改中断向量信息而不需要对
bootloader 和复位向量空间进行解除保护。将位于地址 0xFFBF 的 NVOPT 寄存器中的 FNORED 位设置为
0,可以启动向量重定向。 要使重定向发生,必须对地址 $FFBD 上的 NVPROT 寄存器进行编程,使至少部分
但不是全部的 Flash 存储器具备块保护。所有中断向量 (存储器位置为 $FFC0–$FFFD )都被重定向,但是
复位向量 ($FFFE:FFFF )不重定向。当被保护的超过 32K 时,不能使能向量重定位。
例如,如果 Flash 的 512 个字节受到保护,那么受保护的地址区域为 $FE00 到 $FFFF 。中断向量
($FFC0–$FFFD) 被重定向到位置 $FDC0–$FDFD。现在,如果以 SPI 中断为例,那么,用于向量的值是
$FDE0:FDE1 中的值,而不是 $FFE0:FFE1 中的值。这样,用户就可以利用新的程序代码,包括新的中断向
量值对 Flash 的未保护部分进行重新编程,同时使受保护区域,包括缺省向量位置不发生改变。
4.5 安全性
SC116009 系列包含防止非法访问 Flash 和 RAM 存储器内容的电路。使能了安全功能后,Flash 和 RAM
被看作是安全的资源。直接页面寄存器、高位页面寄存器和后台调试控制器被看作是不安全的资源。安全存储
器中执行的程序可以正常访问 MCU 所有存储器的位置和资源。非安全存储器空间执行的程序或通过后台调试
接口来访问安全存储器位置的任何尝试都将被阻拦 (写入操作被忽略,而读取操作则全部返回 0 )。
安全性的使能和关闭由 FOPT 寄存器中的两个非易失性寄存器位 (SEC01:SEC00]) 的状态确定。在复位
过程中,非易失性位置 NVOPT 的内容从 Flash 中拷贝到高位页面寄存器空间内的工作 FOPT 寄存器上。用户
可以通过编程 NVOPT 位置来使能安全性。这可以在对 Flash 进行编程的同时完成。如果是 1:0 状态,则安全
性关闭;而另外 3 种组合都会使能安全性。请注意,擦除状态时 (1:1) , MCU 是安全的。在开发过程中,只
要 Flash 被擦除,最好立即将 NVOPT 中的 SEC0 位设置为 0 ,这样 SEC01:SEC00 = 1:0 。这将使 MCU 在
后续的复位后仍处于非安全状态。
SC116009 系列微控制器数据手册 , 第 1 版
46 飞思卡尔半导体
第 4 章 存储器
MCU 处于安全状态时不能使能片上调试模块。单独的后台调试控制器仍可用于后台存储器访问命令,但
MCU 不能进入激活后台模式,除非在复位的上升沿使 BKGD 保持低电平。
用户可以选择通过一个 8 字节后门安全密钥来设置允许或不允许安全解锁机制。如果 NVOPT/ FOPT 中
的非易失性 KEYEN 位为 0 ,那么后门密钥关闭,只有通过完全擦除所有 Flash 位置才能解除安全性。如果
KEYEN 为 1,那么安全的用户程序可以通过以下方式来临时关闭安全性:
1. 将 FCNFG 寄存器中的 KEYACC 置于 1。这将使 Flash 模块将写入后门对比密钥位置 (NVBACKKEY
至 NVBACKKEY+7) 的操作解释为与密钥进行比较的值,而不是 Flash 编程或擦除命令的第一步。
2. 将用户输入的密钥值写入到 NVBACKKEY 到 NVBACKKEY+7 位置上。这些写入操作必须按顺序进
行,以 NVBACKKEY 的值开始,以 NVBACKKEY+7 的值结束。这些写入操作中不能使用 STHX ,因
为这些写入不能在相邻的总线周期上完成。用户软件一般通过通信接口 (如串行 I/O )从 MCU 系统外
部获取密钥代码。
3. 将 FCNFG 寄存器中的 KEYACC 置于 0 。如果写入的 8 字节密钥与 Flash 位置上保存的密钥相匹配,
那么 SEC01:SEC00 被自动修改为 1:0 ,同时安全性将关闭,直到下一次复位。
安全密钥只能从 RAM 写入,因此在没有安全的用户程序配合的情况下不能通过后台命令输入。若
KEYACC 位被置位,不能读 Flash 。
后门对比密钥 (NVBACKKEY 至 NVBACKKEY+7) 保存在非易失性寄存器空间内的 Flash 存储器位置中,
因此用户可以准确地编程这些位置,就象编程任何其他 Flash 存储器位置一样。非易失性寄存器与复位和中断
向量均在同一个 512 字节 Flash 块中,因此对这一空间进行块保护同时也可以保护后门对比密钥。块保护不
能通过用户应用程序修改,因此,如果向量空间受到块保护,后门安全密钥机制就不能永久性地修改块保护、
安全设置以及后门密钥。
根据以下步骤,可以通过后台调试接口关闭安全性:
1. 通过写入 FPROT 来关闭所有块保护。 FPROT 只能通过后台调试命令写入而不能通过应用软件写入。
2. 如有必要,完全擦除 Fl
3. 对 Fl
ash 进行空白检查。如果 Flash 完全擦除,那么在下一次复位前安全性一直处于关闭状态。
ash。
为了避免在下一次复位后返回到安全模式,对 NVOPT 进行编程使 SEC01:SEC00 = 1:0。
4.6 Flash 寄存器和控制位
Flash 模块在高位页面寄存器空间内有 9 个 8 位寄存器,其中三个位于 Flash 存储器的非易失性寄存器空
间,在复位时复制为三个对应的高位页面控制寄存器。 Flash 存储器中还有一个 8 字节对比密钥。 对于 所有
Flash 寄存器的绝对地址分配情况,请参见 表 4-3 和 表 4-4 。本章节中的寄存器和控制位只提到了名称。通常
要用飞思卡尔半导体提供的等同或头文件来将这些名称转换为相应的绝对地址。
4.6.1 Flash 时钟分频寄存器 (FCDIV)
该寄存器的第 7 位是一个只读状态标记。 6 至 0 位可以在任何时候读取,但只能写入一次。在开始任何擦
除或编程操作之前,写入该寄存器,将非易失性存储器系统的时钟频率设置在可接受的限度内。
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 47
第 4 章 存储器
76543210
RD I V L D
W
PRDIV8 DIV5 DIV4 DIV3 DIV2 DIV1 DIV0
复位
00000000
= 保留或未使用
图 4-4. Flash 时钟分频寄存器 (FCDIV)
表 4-6. FCDIV 字段描述
字段 描述
7
DIVLD
6
PRDIV8
5
DIV[5:0]
除数加载状态标记 — 设置后,这个只读状态标识 FCDIV 寄存器自复位后已经被写入。复位会清除该位,第一次
写入该寄存器的操作将导致该位被设置,不管写入什么数据。
0FCDIV 自复位后没有被写入; Flash 的擦除和编程操作关闭。
1FCDIV自复位后已写入; Flash 的擦除和编程操作已使能。
预分频 (分频) Flash 时钟除以 8
0 输入到 Flash 时钟分频器的时钟为总线频率时钟。
1 输入到 Flash 时钟分频器的时钟为总线频率时钟除以 8。
Flash 时钟分频器除数 — 时钟分频器用 6 位 DIV5:DIV0 字段中的值加 1 除总线频率时钟 (如果 PRDIV8 = 1 ,
则用总线频率时钟除以 8)。得出的内部 Flash 时钟的频率必须在 200 kHz 到 150 kHz 的范围内,这样才能使
Flash 正常运行。 编程 / 擦除定时脉冲为这个内部 Flash 时钟的一个周期,这相当于 5 ms 到 6.7 ms。 自动编程
逻辑使用整数个这些脉冲来完成擦除或编程操作。请参见 公式 4-1 和 公式 4-2 。 表 4-7
PRDIV8 和 DIV5:DIV0 的相应值。
如果 PRDIV8 = 0 — f
如果 PRDIV8 = 1 — f
FCLK
FCLK
= f
= f
÷ ([DIV5:DIV0] + 1)
Bus
÷ (8 × ([DIV5:DIV0] + 1))
Bus
显示了所选总线频率的
公式
4-1
公式
4-2
表 4-7. Flash 时钟分频器设置
f
Bus
20 MHz 1 12 192.3 kHz 5.2 μs
10 MHz 0 49 200 kHz 5 μs
8 MHz 0 39 200 kHz 5 μs
4 MHz 0 19 200 kHz 5 μs
2 MHz 0 9 200 kHz 5 μs
1 MHz 0 4 200 kHz 5 μs
200 kHz 0 0 200 kHz 5 μs
150 kHz 0 0 150 kHz 6.7 μs
PRDIV8
( 二进制 )
DIV5:DIV0
( 十进制 )
f
FCLK
编程 / 擦除定时脉冲
( 最小 5 μ s, 最大 6.7 μ s)
4.6.2 Flash 选项寄存器 ( FOPT 和 NVOPT)
在复位过程中,非易失性位置 NVOPT 的内容从 Flash 拷贝到 FOPT 中。第 5 位至第 2 位不使用,读为
0。这个寄存器可以在任何时候读取,但写入无任何意义或影响。若想修改这个寄存器中的值,可对 Flash 中
的 NVOPT 位置进 Flash 擦除和重新编程,然后发出新的 MCU 复位命令。
SC116009 系列微控制器数据手册 , 第 1 版
48 飞思卡尔半导体
第 4 章 存储器
76543210
R
KEYEN FNORED
W
0000
SEC01 SEC00
复位
= 保留或未使用
在复位期间,这个寄存器从非易失性置 NVOPT 中加载 。 .
图 4-5. Flash 选项寄存器 (FOPT )
表 4-8. FOPT 字段描述
字段 描述
7
KEYEN
6
FNORED
1:0
SEC0[1:0]
后门密钥机制使能 — 该位设置为 0 时,不能使用后门密钥机制来关闭安全性。后门密钥机制只能从用户 (安全
的)固件上访问。 不能用 BDM 命令来写入可能会打开后门密钥的密钥对比值。有关后门密钥机制的更多信息,
请参见 4.5 节 安全性。
0 不允许后门密钥访问。
1 如果用户固件写入一个与非易失性后门密钥 (从 NVBACKKEY 到 NVBACKKEY+7 按顺序)相匹配的 8 字
节的值,安全性在下一次 MCU 复位前会暂时关闭。
向量重定向关闭 — 该位为 1 时向量重定向关闭。
0 向量重定向使能。
1 向量重定向关闭
安全状态代码 — 这个 2 位字段决定 MCU 的安全状态,如下所示。 MCU 处于安全状态时, RAM 和 Flash 中的
内容不能通过指令从不安全的源 (包括后台调试接口)访问。有关安全性的详细信息,请参见 4.5 节 安全性。
00 安全
01 安全
10 不安全
11 安全
在成功输入后门密钥或成功进行 Flash 空白校验后, SEC0[1:0] 改为 10。
4.6.3 Flash 配置寄存器 ( FCNFG)
第 5 位可以随时读写。 其余总是可读,但不能写。
76543210
R0 0
W
复位
00000000
= 保留或未使用
KEYACC
图 4-6. Flash 配置寄存器 (FCNFG )
表 4-9. FCNFG 字段描述
字段 描述
5
KEYACC
飞思卡尔半导体 49
使能访问密钥的写入 — 该位启用后门对比密钥的写入。有关后门密钥机制的更多信息,请参见 4.5 节 安全性 。
0 写入 0xFFB0-0xFFB7 被解释为 Flash 编程或擦除命令的开始。
1 写入 NVBACKKEY (0xFFB0-0xFFB7) 被解释为对比密钥写入。
读 Flash 后返回无效数据。
SC116009 系列微控制器数据手册 , 第 1 版
00000
第 4 章 存储器
4.6.4 Flash 保护寄存器 ( FPROT 和 NVPROT)
在复位过程中,非易失性位置 NVOPT 的内容从 Flash 拷贝到 FPROT 中。这个寄存器可以在任何时候读
取,但写入无任何意义或影响。后台调试命令可以写入 FPROT 。
76543210
R FPS7 FPS6 FPS5 FPS4 FPS3 FPS2 FPS1 FPDIS
W
(1 )
( 1 )( 1 )( 1 )( 1 )( 1 )( 1 )( 1 )
复位
1
可以使用后台命令更改 FPROT 中这些位的内容。
在复位期间,这个寄存器从非易失性位置 NVOPT 中加载
图 4-7. Flash 保护寄存器 (FPROT )
表 4-10. FPROT 寄存器字段描述
字段 描述
7:1
FPS[7:1]
0
FPDIS
Flash
保护选择位 — FPDIS = 0 时,这个 7 位字段决定位于 Flash 高端地址末尾的未保护 Flash 位置的结束地
址。受保护的 Flash 位置不能被擦除或编程。
保护关闭
Flash
0 FPS[7:1] 指定的 Flash 块具备块保护 (不允许编程和擦除)。
1 Flash 块无保护。
4.6.5 Flash 状态寄存器 ( FSTAT)
3 、 1 和 0 位总是读为 0 ,写操作没有意义或影响。剩下的五位是状态位,随时可读。写入这些位有特殊
意义,将在位描述中讨论。
76543210
R
FCBEF
W
FCCF
FPVIOL FACCERR
0F B L A N K0 0
复位
11000000
= 保留或未使用
图 4-8. Flash 状态寄存器 (FSTAT)
SC116009 系列微控制器数据手册 , 第 1 版
50 飞思卡尔半导体
表 4-11. FSTAT 字段描述
字段 描述
第 4 章 存储器
7
FCBEF
6
FCCF
5
FPVIOL
4
FACCERR
2
FBLANK
Flash
命令缓冲器空标记 — FCBEF 位用于发出命令。它还指示命令缓冲器是空的,这样可以在执行突发编程
时执行新的命令序列。 写入 1 或当突发编程命令转移到阵列进行编程时,可以清除 FCBEF 位。只有突发编程命
令可以被缓存。
0 命令缓冲器满 (不能容纳额外的命令)。
1 命令缓冲器可写入新的突发编程命令。
F lash 命令完成标记 — 命令缓冲器为空而且无命令在处理时自动置 FCCF 。 开始执行新命令时自动清除 FCCF
(将 1 写到 FCBEF 中以注册一个命令)。 写入 FCCF 没有任何意义或影响。
0 命令正在执行过程中。
1 所有命令都已完成。
保护破坏标记 — 当 FCBEF 被清除以注册一个试图擦除或编程受保护的块中的位置时, FPVIOL 自动设置 (错
误的命令会被忽略)。 将 FPVIOL 置 1 可清除 FPVIOL 。
0 无保护破坏。
1 有擦除或编程受保护位置的企图。
访问错误标记 — FACCERR 在以下情况下自动设置:没有严格遵守正确的命令序列 (错误的命令将被忽略),
FCDIV 寄存器初始化之前企图进行编程或擦除操作,或在命令正在执行时 MCU 进入停止模式。欲了解哪些行为
被认为是访问错误的详细信息,请参 见 4.4.5 节 访问错误 。 通过 FACCERR 置 1 清除 FACCERR。 将 0 写入
FACCERR 没有意义或影响。
0 无访问错误。
1 发生了访问错误。
被 确认为全空(被擦除)标记 — FBLANK 在空白检查命令完成后自动设置为 1 (如果整个 Flash 阵列被确
Flash
认已擦除)。 FBLANK 通过清除 FCBEF 以写入新的有效命令来清除。写入 FBLANK 没有任何意义或影响。
0 在空白检查命令执行完成而且 FCCF = 1 的情况下, FBLANK = 0 指示 Flash 阵列未被完全擦除。
1 在空白检查命令执行完成而且 FCCF = 1 的情况下, FBLANK = 1 指示 Flash 或 EEPROM 阵列已完全擦除
(全 $FF)。
4.6.6 Flash 命令寄存器 ( FCMD)
如表 4-13 所示,正常用户模式下只能识别 5 种命令代码。有关 Flash 编程和擦除操作的详细讨论,请参
见 4.4.3 节 编程和擦除命令的执行 。
76543210
R 00000000
W FCMD7 FCMD6 FCMD5 FCMD4 FCMD3 FCMD2 FCMD1 FCMD0
复位
字段 描述
7:0
FCMD[7:0]
00000000
图 4-9. Flash 命令寄存器 (FCMD )
表 4-12. FCMD 字段描述
FCMD[7:0] 的描述参见表 4-13 。
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 51
第 4 章 存储器
表 4-13. Flash 命令
命令
空白检查
字节编程
字节编程 — 突发模式 $25 mBurstProg
页面擦除 (512 字节 / 页) $40 mPageErase
完全擦除 (所有 Flash ) $41 mMassErase
FCMD
$05 mBlank
$20 mByteProg
等同文件标签
所有其它命令代码都为非法代码,生成访问错误。
进行完全擦除操作后没有必要再执行空白检查命令。只有作为安全解锁机制的一部分时才需要空白检查。
SC116009 系列微控制器数据手册 , 第 1 版
52 飞思卡尔半导体
第 5 章
复位、中断和系统配置
5.1 介绍
本章讨论了 系列中的基本复位和中断机制,以及各种复位和中断源。外围模块的某些中断源在本参考手
册的其他章节中有更详细的讨论。本节收集了所有复位和中断源的基本信息,以便参考。而有些复位和中断
源,包括计算机正常操作 (COP )的看门狗,它们本身不是片上外围系统,但是系统控制逻辑的一部分。
5.2 特性
复位和中断特性包括:
• 多源复位,实现灵活的系统配置和可靠操作
• 加电检测 (POR)
• 低压检测 (LVD),使能
• 外部 RESET 引脚
• COP 看门狗使能,及两个超时选择
• 非法操作代码
• 来自后台调试主机的串行命令
• 复位状态寄存器 (SRS) ,指示最新复位的源
• 每个模块的单独中断向量 (减少轮询开销) ( 参见 表 5-11)
5.3 MCU 复位
复位 MCU 是一个从已知初始状况启动处理的方法。复位期间,大部分控制和状态寄存器强制使用初始
值,并从复位向量 (0xFFFE:0xFFFF) 加载程序计数器。片上外围模块关闭, I/O 引脚初始配置为上拉电阻被关
闭的通用高阻抗输入。条件代码寄存器 (CCR) 中的 I 位被设置,用来阻拦可屏蔽中断,以便用户程序对堆栈指
针 (SP) 和系统控制设置进行初始化。 SP 在复位时强制设为 0x00FF 。
SC116009 系列有多个复位源:
• 加电复位 ( POR)
• 低电压检测 ( LV D)
• 计算机正常操作 (COP) 定时器
• 非法操作代码检测
• 后台调试强制复位
• 外部复位引脚 (RESET
• 时钟发生器时钟丢失和时钟丢失复位
上述复位源 (后台调试强制复位除外)在系统复位状态寄存器 (SRS) 中都有一个相关位。只要 MCU 进
入复位,内部时钟发生器 (ICG) 模块就切换到自时钟模式,并选择频率为 f
飞思卡尔半导体 53
)
SC116009 系列微控制器数据手册 , 第 1 版
Self_reset
。内部总线频率为 ICG 频
第 5 章 复位、中断和系统配置
率的一半时,复位引脚的电平降低 34 个总线周期。 完成 34 个总线周期后,该引脚被释放,并由内部上拉电
阻上拉,直到它在外部保持低电平。该引脚释放,再经过 38 个总线周期后,对它进行采样,确定 MCU 复位
是否由复位引脚造成。
5.4 计算机正常操作 (COP) 看门狗
当应用系统软件不能正常执行时, COP 看门狗将强制进行系统复位。为了防止从 COP 定时器 (当 COP
定时器使能时)发起系统复位,应用软件必须定期复位 COP 计数器。如果应用程序在超时前未能复位 COP
计数器,这时会生成一个系统复位,强迫系统回到已知起点。
任何复位后, SOPT 中的 COPE 位都会置位来激活 COP 看门狗 (更多信息请参见 5.8.4 节 系统选项寄
存器 (SOPT) )。 如果应用中没有使用 COP 看门狗,可以通过清除 SOPT 的 COPT 位进行禁止。在 SRS 地址
中写入任何值,可复位 COP 计数器。 写入不会影响只读 SRS 中的数据。写入这个地址的操作将被解码,然
后发送复位信号给 COP 计数器。
SOPT2 中的 COPCLKS 位 (更多信息请参见 5.8.9 节 系统选项寄存器 2 (SOPT2) )设置供 COP 定时器
使用的时钟源。 时钟源可以是总线时钟或 1 kHz 内部时钟源。对任一个时钟源来说,都有由 SOPT 中的
COPT 控制的相关长和短超时。 表 5-1 列举了 COPCLKS 和 COPT 位的控制功能。COP 看门狗默认总线时钟
源,长超时 (218 周期)。
表 5-1. COP 配置选项
控制位
COPCLKS COPT
00
01
10
11
1
栏中显示的值基于 LPO 的频率为 1kHz。
时钟源
~1 kHz
~1 kHz
Bus
Bus
COP 溢出计数
5
2
周期 (32 ms)
8
2
周期 (256 ms)
13
2
周期
18
2
周期
1
1
即使应用程序使用复位默认的 COPT 、 COPCLKS 和 COPW 位的设置,用户也必须在复位初始化过程中
写入只可写入一次的 SOPT1 和 SOPT2 寄存器上,以便锁存该设置。如果应用程序丢失,使用这种方式可以
防止意外修改。初始写入 SOPT 和 SOPT2 会复位 COP 计数器。
写入服务 (清除) COP 计数器的 SRS
,这个操作不能放在中断服务程序 (ISR )中,因为即使是在主
应用程序不能正常执行时,仍然可以定期执行 ISR 。
MCU 处于后台调试模式时, COP 计数器不会计数。
当选择总线时钟源时,系统如果处于停止模式, COP 计数器不会计数。当 MCU 退出停止模式时, COP
计数器立即恢复计数。
如果选择 1 kHz 时钟源,那么一旦进入停止模式, COP 计数器就会被重新初始化为 0 ,并在 MCU 退出停
止模式时从 0 开始计数。
SC116009 系列微控制器数据手册 , 第 1 版
54 飞思卡尔半导体
第 5 章 复位、中断和系统配置
5.5 中断
中断可保存当前 CPU 状态和寄存器,执行中断服务例程 (ISR) ,然后恢复 CPU 状态,使处理恢复到中断
前的位置。与软件中断 (SWI )不同 (SWI 由程序指令触发),中断是由诸如 IRQ 引脚边沿或定时器溢出等
硬件事件触发。调试模块在特定情况下也会产生 SWI 。
如果一个使能的中断源内发生事件,将会设置相关的只读状态标记。但 CPU 不会响应,除非 / 直到本地
中断使能设置为逻辑 1 。 CCR 中的 I 位为 0 ,允许中断。 CCR 中的全局中断屏蔽(I 位)在复位后首次设置,
会屏蔽所有可屏蔽的中断源。在清除 I 位之前,用户程序初始化堆栈指针,执行其他系统设置,允许 CPU 响
应中断。
当 CPU 接收到符合条件的中断请求时,它会在响应中断前先完成当前指令。中断顺序与 SWI 指令的逐个
周期顺序相同,这个顺序是:
• 将 CPU 寄存器保存在堆栈上
• 在 CCR 中设置 I 位,屏蔽进一步的中断
• 为当前挂起的最高优先级中断获取中断向量
• 填充指令队列,程序信息的前 3 个字节从获取中断向量位置的地址开始
当 CPU 响应中断时, I 位会自动设置,以避免出现又一个中断来中断 ISR 自身 (这称为中断嵌套)。通
常,当 CCR 从进入 ISR 时堆栈的值恢复时, I 位就恢复为 0 。在极个别情况中, I 位可以在 ISR 内部清除 (在
清除生成中断的状态标记后),所以无需等待第一个业务例程完成,就可以执行另一个中断。该操作可能导致
一些难以调试的细微程序错误,只建议经验丰富的程序员使用。
中断服务例程以中断恢复 (RTI)指令作为结束。 RTI 指令从堆栈中读取先前保存的信息,将 CCR、 A、
X 和 PC 寄存器恢复为中断前的值。
注意
为了实现与 M68HC08 器件的兼容, H 寄存器不能自动保存和恢复。建议在中断服
务例程 (ISR )开始时就将 H 推到堆栈上,并在使用 RTI 从 ISR 中恢复之前立即
恢复它。
I 位被清除时如果有两个以上挂起的中断,则首先处理优先级最高的源 (参见 表 5-2 )。
5.5.1 中断堆栈帧
图 5-1 显示了堆栈帧的内容和结构。在中断前,堆栈指针 (SP )指向堆栈的下一个可用字节。 CPU 寄存
器的当前值保存在堆栈中,以程序计数器 (PCL )的低阶字节开始,以 CCR 结束。堆栈操作后, SP 指向堆
栈的下一个可用位置,该堆栈是比保存 CCR 的地址小 1 的地址。 堆栈的 PC 值是主程序 (如果不发生中断,
则执行主程序)的指令地址。
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 55
第 5 章 复位、中断和系统配置
条件代码寄存器
累加器
索引寄存器 ( 低位字节 )
程序计数器 高
* 索引寄存器的高位字节 (H) 不自动进行堆栈。
*
程序计数器 低
²
70
出堆栈顺序
堆栈顺序
5
4
3
2
1
1
2
3
4
5
指向更低位地址
指向更高位地址
中断前的 SP
中断
堆栈后的 SP
图 5-1. 中断堆栈帧
执行 RTI 指令时,这些值以相反顺序从堆栈中恢复。其中一个步骤是, CPU 读取程序信息的 3 个字节
(始于从堆栈中恢复的 PC 地址),填充指令管道。
从 ISR 返回前,必须应答 (清除)导致中断的状态标记。通常,该标记应该在 ISR 开始时被清除,这样
如果同一个源生成另外一个中断,就可以注册这个中断,在当前 ISR 完成后再处理这个中断。
5.5.2 外部中断请求 ( IRQ)引脚
外部中断由 IRQ 状态和控制寄存器 (IRQSC )管理。当 IRQ 功能开启后,同步逻辑监控引脚是否发生边
沿触发或边沿及电平触发事件。当 MCU 处于停止模式且系统时钟关闭时,将使用独立的异步路径,这样 IRQ
(如果使能)就可以唤醒 MCU 。
5.5.2.1 引脚配置选项
IRQSC 寄存器中的 IRQ 引脚使能 (IRQPE )控制位必须为 1 ,这样 IRQ 引脚才能作为中断请求 (IRQ )
输入。作为 IRQ 输入,用户可以选择被检测的边沿或电平 (IRQEDG )的极性,引脚是否检测到仅边沿触发
或是检测到边沿和电平触发 (IRQMOD ),或者是否一个事件导致了中断还是只设置了通过软件可以轮询的
IRQF 标记。
IRQ 引脚使能后,默认使用内部上拉 / 下拉电阻 ( IRQPDD = 0),器件究竟是上拉还是下拉取决于所选
的极性。如果用户希望使用外部上拉或下拉,可以在 IRQPDD 中写入 1 ,以关闭内部器件。
当把 IRQ 引脚配置为 IRQ 输入时,可以使用 BIH 和 BIL 指令来检测 IRQ 引脚上的电平。
注意
56 飞思卡尔半导体
• 上拉 IRQ 引脚上测量到的电压可能只有 VDD – 0.7 V。与该引脚相连的内部门
一直拉到 V
• 当使能 IRQ 引脚供使用时, IRQF 将被设置,并且必须在使能中断前清除。如
。所有使能了上拉电阻的其它引脚都将有未加载的 VDD测量。
DD
果在 5V 系统中,将这个引脚配置为下降边沿和电平敏感,有必要在清除这个
标记和使能中断之间等待至少 6 个周期。
SC116009 系列微控制器数据手册 , 第 1 版
第 5 章 复位、中断和系统配置
5.5.2.2 边沿和电平灵敏度
IRQMOD 控制位重新配置检测逻辑,这样它就能检测边沿事件和引脚电平。在边沿检测模式中,当检测
到边沿时 (IRQ 引脚从无效改为有效电平时), IRQF 状态标记就被设置,但只要 IRQ 引脚处于有效电平,就
会连续设置该标记 (并且不能清除)。
5.5.3 中断向量、源和本地掩码
表 5-2 列出了所有中断源。较高优先级的源位于表格下方。中断服务例程地址的高阶字节位于向量地址栏
的第一个地址,中断服务例程地址的低阶字节位于下一个高阶地址。
当出现中断时,相关标记位被设置。如果相关的本地中断使能位是 1 ,中断请求会发送到 CPU 。在 CPU
中,如果全局中断屏蔽(CCR 中的 I 位)为 0 , CPU 将完成当前指令;堆栈 PCL 、PCH 、 X、 A 和 CCR CPU
寄存器;并设置 I 位;然后为挂起的最高优先级中断获取中断向量。然后继续处理中断服务例程。
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 57
第 5 章 复位、中断和系统配置
表 5-2. 向量摘要
向量优先级向量
编号
低
Higher
29 –310xFFC0/FFC1 –
28 0xFFC6/FFC7 Vtpm3ovf
27 0xFFC8/FFC9 Vtpm3ch1
26 0xFFCA/FFCB Vtpm3ch0
25 0xFFCC/FFCD 未使用的向量空间
24 0xFFCE/FFCF 未使用的向量空间
23 0xFFD0/FFD1 Vadc1 ADC1 COCO AIEN ADC1
22 0xFFD2/FFD3 未使用的向量空间
21 0xFFD4/FFD5 Vsci2tx SCI2 TDRE, TC TIE, TCIE
20 0xFFD6/FFD7 Vsci2rx SCI2 IDLE, RDRF,
19 0xFFD8/FFD9 Vsci2err SCI2 OR, NF, FE, PF ORIE, NFIE, FEIE,
18 0xFFDA/FFDB Vsci1tx SCI1 TDRE
17 0xFFDC/FFDD Vsci1rx SCI1 IDLE, RDRF,
16 0xFFDE/FFDF Vsci1err SCI1 OR, NF, FE, PF ORIE, NFIE, FEIE,
15 0xFFE0/FFE1 Vspi1 SPI1 SPIF, MODF,
14 0xFFE2/FFE3 Vtpm2ovf TPM2 TOF TOIE
13 0xFFE4/FFE5 Vtpm2ch1 TPM2 CH1F CH1IE
12 0xFFE6/FFE7 Vtpm2ch0 TPM2 CH0F CH0IE
11 0xFFE8/FFE9 Vtpm1ovf TPM1 TOF TOIE
10 0xFFEA/FFEB Vtpm1ch5 TPM1 CH5F CH5IE
9 0xFFEC/FFED Vtpm1ch4 TPM1 CH4F CH4IE
8 0xFFEE/FFEF Vtpm1ch3 TPM1 CH3F CH3IE
7 0xFFF0/FFF1 Vtpm1ch2 TPM1 CH2F CH2IE
6 0xFFF2/FFF3 Vtpm1ch1 TPM1 CH1F CH1IE
5
4 0xFFF6/FFF7 Vicg ICG ICGIF
3 0xFFF8/FFF9 Vlvd System
2 0xFFFA/FFFB Virq IRQ IRQF IRQIE
1 0xFFFC/FFFD Vswi Core SWI Instruction —
0 0xFFFE/FFFF
地址
( 高 / 低 )
0xFFC4/0xFFC5
xFFF4/FFF5 Vtpm1ch0 TPM1 CH0F CH0IE
0
向量名称 模块 源 使能 描述
未使用的向量空间
( 提供给用户程序 )
TPM3 TOF TOIE
TPM3 CH1F CH1IE
TPM3 CH0F CH0IF
ILIE, RIE, LBKDIE,
V 复位
control
System
control
LDBKDIF,
RXEDGIF
TC
LDBKDIF,
RXEDGIF
SPTEF
(LOLS/LOCS)
LVDF LVDIE
COP
LVD
RESET
Illegal opcode
引脚
RXEDGIE
ILIE, RIE, LBKDIE,
RXEDGIE
SPIE, SPIE, SPTIE SPI1
LOLRE/LOCRE ICG
PFIE
TIE
TCIE
PFIE
COPE
LVDRE
—
—
TPM3 溢出
TPM3 通路 1
TPM3 通路 0
SCI2 发送
SCI2 接收
SCI2 错误
SCI1 发送
SCI1 接收
SCI1 错误
TPM2 溢出
TPM2 通路 1
TPM2 通路 0
TPM1 溢出
TPM1 通路 5
TPM1 通路 4
TPM1 通路 3
TPM1 通路 2
TPM1 通路 1
TPM1 通路 0
低压检测
IRQ 引脚
软件中断
看门狗定时器
低压检测
外部引脚
非法操作代码
SC116009 系列微控制器数据手册 , 第 1 版
58 飞思卡尔半导体
第 5 章 复位、中断和系统配置
5.6 低电压检测 (LVD) 系统
SC116009 系列 具有防止低电压的系统,在电源电压不稳时能够保护存储器内容和控制 MCU 系统状态。
该系统由加电复位 (POR )电路和 LVD 电路组成,其中 LVD 电路带用户可选择的跳变电压,高压 (V
低压 (V
)。当 SPMSC1 中的 LV DE 为高 并且 SPMSC2 中的 LV D V 选择了跳变电压, LVD 电路使能。进入
LVD L
停止模式时, LVD 关闭,除非设置了 LV D SE 位。如果同时设置了 LVDSE 和 LVDE,那 么 MCU 不能进入停止
2 ,而且 使能 LVD 的停止 3 模式将更耗电。
5.6.1 加电复位操作
LVD H
) 或
当首次接通 MCU 的电源时,或当电源电压低于 V
LVD 电路让 MCU 保持复位状态,直到电源电压高于 V
时, POR 电路会发起复位。随着电源电压升高,
POR
。 POR 后, SRS 中 POR 位和 LV D 位同时被设
LVD L
置。
5.6.2 LVD 复位操作
配置 LVD (设置 LV D RE 为 1 ),使其在检测到低电压情况时发起复位。在发生 LVD 复位后, LVD 系统
会让 MCU 保持复位状态,直到电源电压高于 LVDV 确定的阈值。LVD 复位或 POR 后都会在 SRS 寄存器中设
置 LVD 位。
5.6.3 LVD 中断操作
当检测到低压情况,且 LVD 电路配置给中断操作 (LVDE 设置, LVDIE 设置, LVDRE 清除 ),则 LVDF 将
设置,发生 LVD 中断。
5.6.4 低压告警 (LVW)
LVD 系统有一个低压提醒标记,提示电源电压正接近但仍高于 LVD 电压。 LV W 没有相关的中断。 LVW
有两个用户可选择的跳变电压,一个是 高 (V
),一个为低 (V
LVW H
设置。建议不要将 LVW 跳变电压设置为与 LVD 跳变电压相等。 LV W 的典型作用是选择 V
)。跳变电压通过 SPMSC2 中的 LVWV
LVWL
和 V
LVW H
LVD L
。
5.7 MCLK 输出
PTC2 引脚复用于 MCLK 时钟输出。设置引脚的使能位 MPE ,会造成 PTC2 引脚输出分频后的内部 MCU
总线时钟。分频比率由 MCSEL 位决定。若设置了 MPE ,无论 PTC2 引脚的端口数据方向控制位的状态如
何,该引脚都被强制作为输出引脚工作。如果 MCSEL 位均为 0 ,则该引脚驱向低电平位置。引脚的斜率和驱
动强度分别由 PTCSE2 和 PTCDS2 控制。如果斜率控制功能被打开,最大时钟输出频率将会受到限制。如需
了解斜率使能时的引脚上升和下降时间,请参见电气技术规范。
5.8 复位、中断及系统控制寄存器和控制位
直接页面寄存器空间里的一个 8 位寄存器和高位页面寄存器空间的八个 8 位寄存器都与复位和中断系统
相关。
欲了解各寄存器的绝对地址分配,请参见本文档第 4 章 存储器 中的直接页面寄存器一览。本小节只提及
寄存器和控制位的名称。可以参阅飞思卡尔提供的等同或头文件将这些名称转换为相应的绝对地址。
S OPT 和 SPMSC2 寄存器中的某些控制位与操作模式有关。本小节仅对这些位进行简要描述,详细的描
述参见 第 3 章 操作模式 。
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 59
第 5 章 复位、中断和系统配置
5.8.1 中断引脚请求状态和控制寄存器 (IRQSC)
这个直接页面寄存器包括状态和控制位,用来配置 IRQ 功能、报告状态和应答 IRQ 事件。
76543210
R0
IRQPDD IRQEDG IRQPE
W
IRQF 0
IRQACK
IRQIE IRQMOD
复位
00000000
= 保留或未使用
图 5-2. 中断请求状态和控制寄存器 (IRQSC)
表 5-3. IRQSC 寄存器字段描述
字段 描述
6
IRQPDD
5
IRQEDG
4
IRQPE
3
IRQF
2
IRQACK
1
IRQIE
0
IRQMOD
中断请求 (IRQ) 上拉电阻关闭 — IRQ 引脚使能时 (IRQPE = 1) ,这个读 / 写控制位用来关闭内部上拉电阻,允许
使用外部器件。
0 如果 IRQPE = 1, IRQ 上拉电阻使能。
1 如果 IRQPE = 1, IRQ 上拉电阻关闭。
中断请求 (IRQ) 边沿选择 — 这个读 / 写控制位用来选择用于 IRQF 设置的 IRQ 引脚上的边沿或电平极性。
IRQMOD 控制位决定 IRQ 引脚对边沿和电平都敏感还是只对边沿敏感。当 IRQ 引脚作为 IRQ 输入使能且用来
检测上升边沿时,这个可选上拉电阻重新配置为可选下拉电阻。
0IRQ 是下降边沿,或者下降边沿 / 对低电平敏感。
1IRQ 是上升边沿,或者上升边沿 / 对高电平敏感。
IRQ 引脚使能 — 这个读写控制位启用 IRQ 引脚。当设置了该位时, IRQ 引脚可以用作中断请求。而且,当设置
这个位时,可以根据 IRQMOD 位的状态,使能内部上拉或内部下拉电阻。
0IRQ 引脚功能关闭。
1IRQ 引脚功能使能。
IRQ 标记 — 当发生了中断请求事件,该只读状态位对此进行标识。
0 无 IRQ 请求。
1 检测到 IRQ 事件。
IRQ 应答 — 这个只写位用来应答中断请求事件 (写入 1 清除 IRQF )。写入 0 则没有任何意义或影响。读总是
返回逻辑 0 。如果选择了边沿和电平检测 (IRQM
IRQ 中断使能 — 这个读 / 写控制位决定 IRQ 事件是否生成一个硬件中断请求。
0 关闭来自 IRQF 的硬件中断请求 (使用轮询)。
1 当 IRQF = 1 时请求硬件中断。
IRQ 检测模式 — 这个读 / 写控制位选择仅边沿检测还是边沿和电平检测。 IRQEDG 控制位决定边沿和电平的极
性作为检测到中断请求事件的判断依据。如需了解更多信息,请参见 5.5.2.2 节 边沿和电平灵敏度 。
0 仅下降边沿或上升边沿的 IRQ 事件。
1 下降和低电平或上升边沿和高电平 IRQ 事件。
OD =
1), 当 IRQ 引脚仍保持有效电平时,不能清除 IRQF。
5.8.2 系统复位状态寄存器 (SRS)
这个寄存器的只读状态标记用于指示最近复位的源。将 1 写入 SBDFR 寄存器中的 BDFR 时,调试主机
强制完成复位,SRS 中不设置任何状态位。在寄存器地址中写入任意值都会清除 COP 看门狗定时器,但不会
对寄存器内容造成影响。这些位的复位状态取决于导致 MCU 复位的原因。
SC116009 系列微控制器数据手册 , 第 1 版
60 飞思卡尔半导体
第 5 章 复位、中断和系统配置
76543210
R POR PIN COP ILOP
W
写为任何值到 SIRMRS 地址,清除 COP 看门狗定时器。
预留
ICG LVD 0
P O R 10000010
LVR:
任何其它
U0000010
0
(1 )
(1) (1)
0
复位 :
U = 不受复位影响
1
复位时激活的任何复位源会造成设置相应的位;复位时未激活的源对应的位将被清除。
图 5-3. 系统复位状态 (SRS)
表 5-4. SRS 寄存器字段描述
字段 描述
7
POR
加电复位 — 复位由加电检测逻辑造成。由于此时内部电源电压在上升,所以还要设置低电压复位 (LVD )状态
位,指示已发生复位,而内部电源低于 LVD 阈值。 .
0 非 POR 造成的复位。
1POR 造成的复位。
6
PIN
外部复位引脚 — 复位由外部复位引脚上的激活低电平造成。
0 非外部复位引脚造成的复位。
1 外部复位引脚造成的复位。
5
COP
计算机正常操作 (COP) 看门狗 — 复位由 COP 看门狗定时器超时导致。该复位源可以通过设置 COPE = 0 来阻
拦。
0 非 COP 超时造成的复位。
1 COP 超时造成的复位。
4
LOP
非法操作码 — 因试图执行未定义的或非法操作码导致复位。如果 SOPT 寄存器中 STOPE = 0 ,停止被关闭,此
时, STOP 指令则被视为非法指令。如果 BDCSC 寄存器中 ENBDM = 0 , 关闭主动后台模式, BGND 指令则视
为非法指令。
0 不是因非法操作码造成的复位。
1 非法操作码造成的复位。
2
ICG
非法时钟生成模块复位 — ICG 模块复位造成复位。
0 不是由 ICG 模块造成的复位。
1ICG模块造成的复位。
1
LVD
低电压检测 — 如果设置了 LVDRE 和 LVDSE 位,且电源降到 LVD 跳接电压以下,就会发生 LV D 复位。该位也
可以由 POR 设置。
0 不是因 LVD 跳接电压或 POR 造成的复位。
VD 跳接电压或 POR 造成的复位。
1L
(1)
00
5.8.3 系统后台调试强制复位寄存器 (SBDFR)
这个寄存器只包括一个只写控制位。必须用串行后台命令,如 WRITE_BYTE 来写入 SBDFR 。忽略从用
户程序写入寄存器的尝试。读总是返回 0x00 。
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 61
第 5 章 复位、中断和系统配置
76543210
R 00000000
W BDFR
1
复位
1
只能通过串行后台调试命令,不能通过用户程序写入 BDFR。
00000000
= 保留或未使用
图 5-4. 系统后台调试强制复位寄存器 (SBDFR)
表 5-5. SBDFR 寄存器字段描述
字段 描述
0
BDFR
后台调试强制复位 — 可以使用串行后台命令,如 WRITE_BYTE ,使外部调试主机对目标系统进行强制复位。
在该位中写入逻辑 1 ,强制进行 MCU 复位。该位不能从用户程序中写入。
5.8.4 系统选项寄存器 (SOPT)
这个寄存器可随时读。 3 和 2 位未使用,总读为 0 。这是单次写入有效的寄存器,因此只有复位后的第一
次写入才有效。任何后续 SOPT 写入尝试 (有意或无意)都将被忽略,以避免对这些敏感的设置造成意外修
改。 SOPT 应在用户复位初始化程序期间写入,设置期望的控制,即使期望的设置与复位设置相同。
76543210
R
COPE COPT STOPE
W
00
复位
11010011
= 保留或未使用
图 5-5. 系统选项寄存器 (SOPT)
表 5-6. SOPT 寄存器字段描述
字段 描述
7
COPE
6
COPT
5
STOPE
COP 看门狗使能 — 复位后,这个单次写入有效位缺省为 1 。
0COP 看门狗定时器关闭
1COP 看门狗定时器使能 ( 超时时强制复位 )。
COP 看门狗超时 — 复位后,这个单次写入有效位缺省为 1。
0 选择短超时周期。 .
1 选择长超时周期。
停止模式使能 — 这个单次写入有效的位复位后,默认为 0,用来禁止停止模式。如果停止模式禁止期间,用户
程序试图执行 STOP 指令,则会强制进行非法操作码复位。
0 停止模式禁止。
1 停止模式使能。
SC116009 系列微控制器数据手册 , 第 1 版
62 飞思卡尔半导体
5.8.5 系统 MCLK 控制寄存器 (SMCLK)
这个寄存器用来控制 MCLK 时钟输出。
76543210
R 000
W
MPE
第 5 章 复位、中断和系统配置
0
MCSEL
复位
00000000
= 保留或未使用
图 5-6. 系统 MCLK 控制寄存器 (SMCLK)
表 5-7. SMCLK 寄存器字段描述
字段 描述
4
MPE
2:0
MCSEL
MCLK 引脚使能 — 这个位用来使能 MCLK 功能。
0MCLK输出关闭。
1PTC2 引脚上 MCLK 输出使能。
MCLK 除数选项 — 当 MCSEL 位不为全零时,这些位用来根据以下公式选择 MCLK 的除数。如果 MCSEL 位为
全零,且 MPE 已设置,则该引脚驱向低电平位置。参见 公式 5-1 。
MCLK 频率 = 总线时钟频率 ÷ (2 * MCSEL)
5.8.6 系统器件识别寄存器 (SDIDH, SDIDL)
这个只读寄存器允许主机开发系统确定 HCS08 的 MCU 类型和修订编号 。这样,开发软件可以识别特定
的存储器块、寄存器和控制位在目标 MCU 中的位置。
76543210
R ID11 ID10 ID9 ID8
公式
5-1
W
复位
———— 0 0 0 0
= 保留或未使用
图 5-7. 系统器件识别寄存器 — 高 (SDIDH)
表 5-8. SDIDH 寄存器字段描述
字段
7:4
预留
3:0
ID[11:8]
飞思卡尔半导体 63
7:4 位预留。读这些位会导致不确定的值 ; 写入操作不产生影响。
部件标识号 — HCS08 系列中的每个部件都有唯一的标识号。 SC116009 系列采用硬编码方式,值为 0x001D 。
同时参见表 5-10 中的 ID 位。
SC116009 系列微控制器数据手册 , 第 1 版
Description
第 5 章 复位、中断和系统配置
76543210
R ID7 ID6 ID5 D4 ID3 ID2 ID1 ID0
W
复位
00011101
= 保留或未使用
图 5-8. 系统器件识别寄存器 — 低 (SDIDL)
表 5-9. SDIDL 寄存器字段描述
字段 描述
7:0
ID[7:0]
部件标识号 — HCS08 系列中的每个部件都有唯一的标识号。 SC116009 系列采用硬编码方式,值为 0x001D。
同时参见表 5-11 中的 ID 位。
5.8.7 系统电源管理状态和控制寄存器 1 (SPMSC1)
7654321
RL V D F 0
LVDI E LVDRE
W LVDACK
复位
00011100
= 保留或未使用
1
Bit 1 为预留位,必须写为 0。
2
复位后,这个位只能写入一次。其它写入操作被忽略。
(2 )
LVDS E
(2)
LVDE
(2)
1
0
BGBE
图 5-9. 系统电源管理状态和控制寄存器 1 (SPMSC1)
表 5-10. SPMSC1 寄存器字段 描述
字段 描述
7
低压检测标志 — 如果 LVDE = 1, 这个只读状态位指示低压检测事件。
LVDF
6
低压检测应答 — 这个只写位用来应答低压检测错误 (写 1,清除 LVD F)。读操作总返回 0。
LVDACK
5
LVDI E
低压检测中断使能 — 这个读 / 写位使能 LVDF 的硬件中断请求。
0 关闭硬件中断 ( 采用轮询 )。
1 当 LVDF = 1 ,请求硬件中断。
4
LVDRE
低压检测复位使能 — 这个读 / 写位支持 LVD F 事件生成硬件复位 (假设 LVD E = 1 )。
0 LVD 事件不生成硬件复位。
1 当 LVD F = 1 时,强制 MCU 复位。
3
LVDS E
低压检测停止使能 — 如果 LVD E = 1,这个读 / 写位决定当 MCU 处于停止模式时是否低压检测。
0 停止模式期间低压检测关闭。
1 停止模式期间低压检测使能。
SC116009 系列微控制器数据手册 , 第 1 版
64 飞思卡尔半导体
表 5-10. SPMSC1 寄存器字段 描述
字段 描述
第 5 章 复位、中断和系统配置
2
LVDE
低压检测使能 — 这个读 / 写位支持低压检测逻辑,并且限定该寄存器中的其他位的操作。
0 LVD 逻辑关闭。
1 LVD 逻辑使能。
0
BGBE
带隙缓冲器使能 — BGBE 位使能内部缓冲器,提供带隙电压参考,可供 ADC 模块在其一个内部通路上使用。
0 带隙缓冲器关闭。
1 带隙缓冲器使能。
5.8.8 系统电源管理状态和控制寄存器 2 (SPMSC2)
该寄存器用来报告低电压告警的状态,配置 MCU 的停止模式行为。
76543210
RL V W F 0
W
加电复位
LV D 复位 0
任何其它
复位
:
(3 )
0
(2)
(2)
0
LVWACK PPDACK
0000000
0UU0000
0UU0000
= 保留或未使用 U = 不受复位影响
1
POR 后这个位只能写入一次,后续写入均忽略。
2
复位后,这个位只能写入一次,后续写入均忽略。
3
当 V
转换低于跳变点或者复位后 V
Supply
LVDV
Supply
1
已经低于 V
LVWV
时, 置位 LV WF
LVW
PPDF 0
PPDC
2
图 5-10. 系统电源管理状态和控制寄存器 2 (SPMSC2)
表 5-11. SPMSC2 寄存器字段描述
字段 描述
7
LVW F
低压告警标志 — LVWF 位指示低压警告状态。
0 低压告警未出现。
1 低压告警已出现或出现过。
6
LVWACK
5
LVDV
4
LVWV
3
PPDF
低压告警应答 — LVWACK 位是低压告警应答 。
如果没有出现低压告警,写 1 到 LV WAC K ,将清 0 LVWF。
低压检测电压选择 — LVDV 位选择 LVD 跳变点电压 (V
0 选择低跳变点 (V
1 选择高跳变点 (V
LVD
LVD
= V
= V
LVD L
LVD H
)。
)。
低压告警电压选择 — LVWV 位选择 LVW 跳变点电压 (V
0 选择低跳变点 (V
1 选择高跳变点 (V
LVW
LVW
= V
= V
LVW L
LVW H
)。
)。
LVD
LVw
)。
)。
局部功率下降标志 — PPDF 位标识 MCU 已退出停止 2 模式。
0 非停止 2 模式恢复。
1 停止 2 模式恢复。
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 65
第 5 章 复位、中断和系统配置
表 5-11. SPMSC2 寄存器字段描述 ( 续 )
字段 描述
2
PPDACK
0
PPDC
局部功率下降应答 — 将 PPDACK 位写为 1 ,清除 PPDF 位。
局部功率下降控制 — 这个单次写入有效的 PPDC 位控制选择停上 2 还是停止 3 模式。
0 使能停止 3 模式。
1 停止 2,部分功率下降,模式使能 。
5.8.9 系统选项寄存器 2 (SOPT2)
这个高页寄存器包含配置 SC116009 系列特定功能的位。
76543210
R
COPCLKS
W
复位
1
复位后,这个位只能写入一次。后续写入将忽略。
1
10001000
字段 描述
000
= 保留或未使用
图 5-11. 系统选项寄存器 2 (SOPT2)
表 5-12. SOPT2 寄存器字段描述
TPMCCFG
000
7
COPCLKS
3
TPMCCFG
COP 看门狗时钟选择 — 这个单次写入有效的位选择 COP 看门狗时钟源。
0 采用内部 1 kHz 时钟作为 COP 的时钟源。
1 采用总线时钟作为 COP 的时钟源。
TPM 时钟配置 — 配置定时器 / 脉宽调制器时钟信号。
0 通过 IRQ 引脚,提供 TPMCLK 给 TPM1 、 TPM2 和 TPM3,不提供 TPMCLK1 和 TPMCLK2。
1 分别提供 TPM1CLK、 TPM2CLK 和 TPMCLK 给 TPM1、 TPM2 和 TPM3。
SC116009 系列微控制器数据手册 , 第 1 版
66 飞思卡尔半导体
第 6 章
并行输入 / 输出
6.1 介绍
本章介绍与并行输入 / 输出 (I/O)相关的软件控制。 SC116009 系列有 7 个 I/O 端口,总共包含 54 个通
用 I/O 引脚。有关这些引脚的逻辑和硬件方面的更多信息,请参见 第 2 章 引脚和连接 。
这些引脚大多和片上外围设备,如定时器系统、通信系统和键盘中断等复用。当这些模块没有控制端口
引脚时,它们回复到通用 I/O 控制。
注意
不是所有封装都具有全部通用输入 / 输出引脚。为了避免从输入浮空引脚消耗过多
电流,应用程序中的用户复位初始化程序必须要么使能片上上拉电阻,要么将未连
接引脚的方向更改为输出,使引脚不会浮空。
6.2 引脚描述
SC116009 系列在七个端口 (PTA 到 PTG) 提供 54 个并行 I/O 引脚。不是所有封装都具有全部引脚。各种
封装提供的并行 I/O 引脚的信息,请参见 第 2 章 引脚和连接 。 所有这些引脚当没有被其他片上外设系统使用
时可用作通用输入输出。
复位后,复用的外围功能关闭,这样这些引脚被并行 I/O 控制。所有并行 I/O 配置为输入 (PTxDDn =
0 )。每个引脚的引脚控制功能配置如下:斜率控制使能 (PTxSEn = 1 )、选择低驱动强度 ( PTxDSn = 0 )、
内部上拉关闭 (PTxPEn = 0 )。
6.3 并行 I/O 控制
通过端口数据寄存器读 / 写并行 I/O 。输入输出方向由端口数据方向寄存器控制。下面的结构图举例了一
个引脚的并行 I/O 端口功能。
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 67
第 6 章 并行输入 / 输出
Q D
Q D
1
0
端口读
PTxDDn
PTxDn
输出使能
输出数据
输入数据
同步器
数据
BUSCLK
图 6-1. 并行 I/O 结构图
数据方向控制位决定是否使能引脚输出驱动。它们还控制端口数据寄存器读什么。每个端口引脚都有一
个数据方向寄存器位。 PTxDDn = 0 时,相应的引脚是输入, PTxD 读操作返回引脚值。 PTxDDn = 1 时,相
应的引脚为输出,PTxD 的读操作返回最后一次写入到端口数据寄存器的值 。外围模块或系统功能控制一个端
口引脚时,数据方向寄存器位仍然控制读端口数据寄存器时返回的内容,即使外围系统控制实际的引脚方向。
当一个引脚的复用模拟功能使能时,所有数字引脚功能均关闭。对于启用了共享模拟功能的任何位,读
端口数据寄存器返回 0 。一般而言,一个引脚若复用数字和模拟功能,模拟功能优先,这样,如果数字和模拟
都使能时,模拟功能控制这个引脚。
建议在改变端口引脚方向成为输出之前写端口数据寄存器。这确保引脚不会因为旧的数据值碰巧在端口
数据寄存器中而临时驱动。
6.4 引脚控制
引脚控制寄存器位于存储器的高位页面寄存器块中。这些寄存器用来控制 I/O 引脚的上拉、斜率和驱动强
度。这个引脚控制寄存器的操作独立于并行 I/O 寄存器。
6.4.1 内部上拉使能
在一个上拉使能寄存器 (PTxPEn) 中设置相应的位,可以使能内部上拉电阻。如果并行 I/O 控制逻辑或任
何复用的外围功能配置该引脚为输出,上拉电阻关闭,而不管相应的上拉使能寄存器位的状态。如果引脚由模
拟功能控制,上拉电阻也关闭。
68 飞思卡尔半导体
SC116009 系列微控制器数据手册 , 第 1 版
第 6 章 并行输入 / 输出
6.4.2 输出斜率控制使能
在其中一个斜率控制寄存器 (PTxSEn) 中设置相应的位,可以使能斜率控制。使能后,斜率控制限制输出
可以转变的速率,这样可以减少 EMC 辐射。斜率控制不影响配置为输入的引脚。
6.4.3 输出驱动强度选择
在一个驱动强度选择寄存器 (PTxDSn) 中设置相应的位,可以选择一个输出引脚,拥有高输出驱动强度。
选择高驱动强度时,引脚可以拉和灌更大的电流。即使每个 I/O 引脚可以选择为高驱,用户也必须保证不超过
芯片的总拉电流和灌电流限制。驱动强度选择会影响 I/O 引脚的 DC 行为,但是,也会影响 AC 操作。高驱允
许引脚以与低驱引脚相同的交换速度,将更大的载荷变为更小的载荷。正是因为如此, 将引脚使能为高驱,可
能会影响 EMC 辐射。
6.5 停止模式中的引脚行为
根据进入的不同停止模式,执行 STOP 指令, I/O 会有不同的功能。下面阐述了不同停止模式的引脚行
为:
• 停止 2 模式是局部断电模式,I/O 寄存器保持执行 STOP 指令前的状态。在执行 STOP 指令,使 MCU
进入停止 2 模式前,应将 CPU 寄存器状态和 I/O 寄存器状态保存在 RAM 中。从停止 2 模式恢复时,
用户访问任何 I/O 前,都应检查 SPMSC2 寄存器里的 PPDF 位状态。如果 PPDF 位为 0 , I/O 必须初
始化,如同发生过上电复位那样。如果 PPDF 位为 1 , I/O 数据之前存储在 RAM 中,在执行 STOP 指
令前,外围设备可能要求初始化,并恢复到停止前的情况。然后用户必须向 SPMSC2 寄存器中的
PPDACK 位写入 1。现在,再次允许用户应用程序访问 I/O。
• 停止 3 模式下,所有 I/O 都保留,因为内部逻辑电路处于通电状态。恢复后,用户可以使用正常的 I/O
功能。
6.6 并行 I/O 和引脚控制寄存器
本小节介绍了与并行 I/O 端口和引脚控制功能相关的寄存器信息。这些并行 I/O 寄存器位于存储器映射的
0 页面中。引脚控制寄存器位于存储器寄存器段的高位页面。
请参阅 第 4 章 存储器 中的表格,了解 I/O 及其引脚控制寄存器的绝对地址分配信息。本小节只提到寄存
器和控制位的名称,请参阅飞思卡尔提供的等同或头文件,将这些名称转换为相应的绝对地址。
6.6.1 A 端口 I/O 寄存器 (PTAD 和 PTADD)
A 端口并行 I/O 功能受下列的寄存器控制。
76543210
R
PTAD7 PTAD6 PTAD5 PTAD4 PTAD3 PTAD2 PTAD1 PTAD0
W
复位
00000000
图 6-2. A 端口数据寄存器 (PTAD)
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 69
第 6 章 并行输入 / 输出
表 6-1. PTAD 寄存器字段描述
字段 描述
7:0
PTADn
R
W
复位
A 端口数据寄存器位 — 对于配置为输入的 A 端口引脚,读数返回引脚上的逻辑电平。对于配置为输出的 A 端口
引脚,读数返回最后一次写入寄存器的值。
写入值被锁存在本寄存器的所有位中。对于配置为输出的 A 端口引脚,逻辑电平驱动相应的 MCU 引脚。
复位强制 PTAD 都为 0 ,但是这些 0 未被驱出相应的引脚,因为复位也会将所有端口引脚配置为上拉关闭的高抗
阻输入。
76543210
PTADD7 PTADD6 PTADD5 PTADD4 PTADD3 PTADD2 PTADD1 PTADD0
00000000
图 6-3. A 端口数据方向寄存器 (PTADD)
表 6-2. PTADD 寄存器字段描述
字段 描述
7, 2:0
PTADDn
A 端口数据方向位 — 这些读 / 写位控制着 A 端口引脚的方向以及 PTAD 读取的内容。
0 输入 (输出驱动关闭),读数返回引脚值。
1 A 端口位 n 输出驱动使能, PTAD 读数返回 PTADn 内容。
6.6.2 端口 A 引脚控制寄存器 (PTAPE, PTASE, PTADS)
除了 I/O 控制外, 端口 A 引脚还受下列寄存器控制。
76543210
R
PTAPE7 PTAPE6 PTAPE5 PTAPE4 PTAPE3 PTAPE2 PTAPE1 PTAPE0
W
复位
00000000
图 6-4. A 端口内部上拉使能寄存器 (PTAPE)
表 6-3. PTAPE 寄存器字段描述
字段 描述
7:0
PTAPEn
A 端口内部上拉使能位 — 对于 PTA 引脚,这些控制位决定相关 PTA 引脚的内部上拉电阻是否使能。对于配置为
输出的 A 端口引脚,这些位不会产生影响,同时内部上拉电阻关闭。
0 A 端口位 n 内部上拉电阻关闭。
1 A 端口位 n 内部上拉电阻使能。
SC116009 系列微控制器数据手册 , 第 1 版
70 飞思卡尔半导体
第 6 章 并行输入 / 输出
76543210
R
PTASE7 PTASE6 PTASE5 PTASE4 PTASE3 PTASE2 PTASE1 PTASE0
W
复位
00000000
图 6-5. A 端口斜率控制使能寄存器 (PTASE)
表 6-4. PTASE 寄存器字段描述
字段 描述
7:0
PTASEn
R
W
复位
A 端口输出斜率使能位 — 这些控制位决定是否为相关 PTA 引脚使能输出斜率控制。对于配置为输入的 A 端口引
脚,这些位不会产生任何影响。
0 A 端口位 n 输出斜率控制关闭。
1 A 端口位 n 输出斜率控制使能。
76543210
PTADS7 PTADS6 PTADS5 PTADS4 PTADS3 PTADS2 PTADS1 PTADS0
00000000
图 6-6. A 端口驱动强度选择寄存器 (PTADS)
表 6-5. PTADS 寄存器字段描述
字段 描述
7:0
PTADSn
A 端口输出驱动强度选择位 — 这些控制位为 PTA 引脚设置低 / 高输出驱动。
0 A 端口位 n 低输出驱动使能。
1 A 端口位 n 高输出驱动使能。
6.6.3 B 端口 I/O 寄存器 (PTBD 和 PTBDD)
B 端口并行 I/O 功能由下列寄存器控制。
76543210
R
PTBD7 PTBD6 PTBD5 PTBD4 PTBD3 PTBD2 PTBD1 PTBD0
W
复位
飞思卡尔半导体 71
00000000
图 6-7. B 端口数据寄存器 (PTBD)
SC116009 系列微控制器数据手册 , 第 1 版
第 6 章 并行输入 / 输出
表 6-6. PTBD 寄存器字段描述
字段 描述
7:0
PTBD[7:0]
R
W
复位
B 端口数据寄存器位 — 对于配置为输入的 B 端口引脚,读数返回引脚上的逻辑电平。对于配置为输出的 B 端口
引脚,读数返回最后一次写入寄存器的值。
写入值被锁存在本寄存器的所有位中。对于配置为输出的 B 端口引脚,逻辑电平驱动相应的 MCU 引脚。
复位强制 PTBD 都为 0 ,但是这些 0 未被驱出相应的引脚,因为复位也会将所有端口引脚配置为上拉关闭的高抗
阻输入。
76543210
PTBDD7 PTBDD6 PTBDD5 PTBDD4 PTBDD3 PTBDD2 PTBDD1 PTBDD0
00000000
图 6-8. B 端口数据方向寄存器 (PTBDD)
表 6-7. PTBDD 寄存器字段描述
字段 描述
7:0
PTBDD[7:0]
B 端口数据方向位 — 这些读 / 写位控制着 B 端口引脚的方向以及 PTBD 读取的内容。
0 输入 (输出驱动关闭),读数返回引脚值。
1 B 端口位 n 输出驱动使能, PTBD 读数返回 PTBDn 内容。
6.6.4 B 端口引脚 控制寄存器 (PTBPE, PTBSE, PTBDS)
除了 I/O 控制外, B 端口引脚还由下列寄存器控制。
76543210
R
PTBPE7 PTBPE6 PTBPE5 PTBPE4 PTBPE3 PTBPE2 PTBPE1 PTBPE0
W
复位
00000000
图 6-9. B 端口内部上拉使能寄存器 (PTBPE)
表 6-8. PTBPE 寄存器字段描述
字段 描述
7:0
PTBPE[7:0]
B 端口内部上拉使能位 — 对于 PTB 引脚,这些控制位决定相关 PTB 引脚的内部上拉电阻是否使能。对于配置
为输出的 B 端口引脚,这些位不会产生影响,同时内部上拉电阻关闭。
0 B 端口位 n 内部上拉电阻关闭。
1 B 端口位 n 内部上拉电阻使能。
SC116009 系列微控制器数据手册 , 第 1 版
72 飞思卡尔半导体
第 6 章 并行输入 / 输出
76543210
R
PTBSE7 PTBSE6 PTBSE5 PTBSE4 PTBSE3 PTBSE2 PTBSE1 PTBSE0
W
复位
00000000
图 6-10. B 端口斜率控制使能寄存器 (PTBSE)
表 6-9. PTBSE 寄存器字段描述
字段 描述
7:0
PTBSE[7:0]
R
W
复位
B 端口输出斜率使能位 — 这些控制位决定是否为相关 PTB 引脚使能输出斜率控制。对于配置为输入的 B 端口引
脚,这些位不会产生任何影响。
0 B 端口位 n 输出斜率控制关闭。
1 B 端口位 n 输出斜率控制使能。
76543210
PTBDS7 PTBDS6 PTBDS5 PTBDS4 PTBDS3 PTBDS2 PTBDS1 PTBDS0
00000000
图 6-11. B 端口驱动强度选择寄存器 (PTBDS)
表 6-10. PTBDS 寄存器字段描述
字段 描述
7:0
PTBDS[7:0]
B 端口输出驱动强度选择位 — 这些控制位为 PTB 引脚设置低 / 高输出驱动。
0 B 端口位 n 低输出驱动使能。
1 B 端口位 n 高输出驱动使能。
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 73
第 6 章 并行输入 / 输出
6.6.5 C 端口 I/O 寄存器 (PTCD 和 PTCDD)
C 端口并行 I/O 功能受下列的寄存器控制。
76543210
R0
W
PTCD6 PTCD5 PTCD4 PTCD3 PTCD2 PTCD1 PTCD0
复位
00000000
图 6-12. C 端口数据寄存器 (PTCD)
表 6-11. PTCD 寄存器字段描述
字段 描述
6:0
PTCD[6:0]
R0
W
复位
C 端口数据寄存器位 — 对于配置为输入的 C 端口引脚,读数返回引脚上的逻辑电平。对于配置为输出的 C 端口
引脚,读数返回最后一次写入寄存器的值。
写入值被锁存在本寄存器的所有位中。对于配置为输出的 C 端口引脚,逻辑电平驱动相应的 MCU 引脚。
复位强制 PTCD 都为 0 ,但是这些 0 未被驱出相应的引脚,因为复位也会将所有端口引脚配置为上拉关闭的高
抗阻输入。
76543210
PTCDD6 PTCDD5 PTCDD4 PTCDD3 PTCDD2 PTCDD1 PTCDD0
00000000
图 6-13. C 端口数据方向寄存器 (PTCDD)
表 6-12. PTCDD 寄存器字段描述
字段 描述
6:0
PTCDD[6:0]
74 飞思卡尔半导体
C 端口数据方向位 — 这些读 / 写位控制着 C 端口引脚的方向以及 PTCD 读取的内容。
0 输入 (输出驱动关闭),读数返回引脚值。
1 C 端口位 n 输出驱动使能, PTCD 读数返回 PTCDn 内容。
SC116009 系列微控制器数据手册 , 第 1 版
6.6.6 C 端口引脚控制寄存器 (PTCPE, PTCSE, PTCDS)
除了 I/O 控制外, C 端口引脚还由下列寄存器控制。
76543210
R0
PTCPE6 PTCPE5 PTCPE4 PTCPE3 PTCPE2 PTCPE1 PTCPE0
W
第 6 章 并行输入 / 输出
复位
00000000
图 6-14. C 端口内部上拉使能寄存器 (PTCPE)
表 6-13. PTCPE 寄存器字段描述
字段
6:0
PTCPE[6:0]
C 端口内部上拉使能位 — 对于 PTC 引脚,这些控制位决定相关 PTC 引脚的内部上拉电阻是否使能。对于配置
为输出的 C 端口引脚,这些位不会产生影响,同时内部上拉电阻关闭。
0 C 端口位 n 内部上拉电阻关闭。
1 C 端口位 n 内部上拉电阻使能。
76543210
R0
PTCSE6 PTCSE5 PTCSE4 PTCSE3 PTCSE2 PTCSE1 PTCSE0
W
复位
00000000
图 6-15. C 端口斜率控制使能寄存器 (PTCSE)
ºƒ¥Êý˜Þ÷¹ŒÐËþˆ
表 6-14. PTCSE 寄存器字段描述
字段 描述
6:0
PTCSE[6:0]
C 端口输出斜率使能位 — 这些控制位决定是否为相关 PTC 引脚使能输出斜率控制。对于配置为输入的 C 端口
引脚,这些位不会产生任何影响。
0 C 端口位 n 输出斜率控制关闭。
1 C 端口位 n 输出斜率控制使能。
Description
76543210
R0
PTCDS6 PTCDS5 PTCDS4 PTCDS3 PTCDS2 PTCDS1 PTCDS0
W
复位
00000000
图 6-16. C 端口驱动强度选择寄存器 (PTCDS)
表 6-15. PTCDS 寄存器字段描述
字段 描述
6:0
PTCDS[6:0]
C 端口输出驱动强度选择位 — 这些控制位为 PTC 引脚设置低 / 高输出驱动。
0 C 端口位 n 低输出驱动使能。
1 C 端口位 n 高输出驱动使能。
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 75
第 6 章 并行输入 / 输出
6.6.7 D 端口 I/O 寄存器 (PTDD 和 PTDDD)
D 端口并行 I/O 功能由下列寄存器控制。
76543210
R
PTDD7 PTDD6 PTDD5 PTDD4 PTDD3 PTDD2 PTDD1 PTDD0
W
复位
00000000
图 6-17. D 端口数据寄存器 (PTDD)
表 6-16. PTDD 寄存器字段描述
字段 描述
7:0
PTDD[7:0]
R
W
复位
D 端口数据寄存器位 — 对于配置为输入的 D 端口引脚,读数返回引脚上的逻辑电平。对于配置为输出的 D 端口
引脚,读数返回最后一次写入寄存器的值。
写入值被锁存在本寄存器的所有位中。对于配置为输出的 D 端口引脚,逻辑电平驱动相应的 MCU 引脚。
复位强制 PTDD 都为 0 ,但是这些 0 未被驱出相应的引脚,因为复位也会将所有端口引脚配置为上拉关闭的高
抗阻输入。
76543210
PTDDD7 PTDDD6 PTDDD5 PTDDD4 PTDDD3 PTDDD2 PTDDD1 PTDDD0
00000000
图 6-18. D 端口数据方向寄存器 (PTDDD)
表 6-17. PTDDD 寄存器字段描述
字段 描述
7:0
PTDDD[7:0]
76 飞思卡尔半导体
D 端口数据方向位 — 这些读 / 写位控制着 D 端口引脚的方向以及 PTDD 读取的内容。
0 输入 (输出驱动关闭),读数返回引脚值。
1 D 端口位 n 输出驱动使能, PTDD 读数返回 PTDDn 内容。
SC116009 系列微控制器数据手册 , 第 1 版
6.6.8 D 端口引脚 控制 寄存器 (PTDPE, PTDSE, PTDDS)
除了 I/O 控制外, D 端口引脚还受下列寄存器控制。
‹
76543210
R
PTDPE7 PTDPE6 PTDPE5 PTDPE4 PTDPE3 PTDPE2 PTDPE1 PTDPE0
W
第 6 章 并行输入 / 输出
复位
00000000
图 6-19. D 端口内部上拉使能寄存器 (PTDPE)
表 6-18. PTDPE 寄存器字段描述
字段 描述
7:0
PTDPE[7:0]
D 端口内部上拉使能位 — 对于 PTD 引脚,这些控制位决定相关 PTD 引脚的内部上拉电阻是否使能。对于配置
为输出的 D 端口引脚,这些位不会产生影响,同时内部上拉电阻关闭。
0 D 端口位 n 内部上拉电阻关闭。
1 D 端口位 n 内部上拉电阻使能。
ºƒ¥Êý˜Þ÷¹ŒÐËþˆ
76543210
R
PTDSE7 PTDSE6 PTDSE5 PTDSE4 PTDSE3 PTDSE2 PTDSE1 PTDSE0
W
复位
00000000
图 6-20. D 端口斜率控制使能寄存器 (PTDSE)
表 6-19. PTDSE 寄存器字段描述
字段 描述
7:0
PTDSE[7:0]
D 端口输出斜率使能位 — 这些控制位决定是否为相关 PTD 引脚使能输出斜率控制。对于配置为输入的 D 端口
引脚,这些位不会产生任何影响。
0 D 端口位 n 输出斜率控制关闭。
1 D 端口位 n 输出斜率控制使能。
76543210
R
PTDDS7 PTDDS6 PTDDS5 PTDDS4 PTDDS3 PTDDS2 PTDDS1 PTDDS0
W
复位
00000000
图 6-21. D 端口驱动强度选择寄存器 (PTDDS)
表 6-20. PTDDS 寄存器字段描述
字段 描述
7:0
PTDDS[7:0]
D 端口输出驱动强度选择位 — 这些控制位为 PTD 引脚设置低 / 高输出驱动。
0 D 端口位 n 低输出驱动使能。
1 D 端口位 n 高输出驱动使能。
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 77
第 6 章 并行输入 / 输出
6.6.9 端口 E I/O 寄存器 (P TED 和 PTEDD)
端口 E 并行 I/O 功能受下列寄存器控制。
76543210
R
PTED7 PTED6 PTED5 PTED4 PTED3 PTED2 PTED1 PTED0
W
复位
00000000
图 6-22. E 端口数据寄存器 (PTED)
表 6-21. PTED 寄存器字段描述
字段 描述
7:0
PTED[7:0]
R
W
复位
E 端口数据寄存器位 — 对于配置为输入的 E 端口引脚,读数返回引脚上的逻辑电平。对于配置为输出的 E 端口
引脚,读数返回最后一次写入寄存器的值。
写入值被锁存在本寄存器的所有位中。对于配置为输出的 E 端口引脚,逻辑电平驱动相应的 MCU 引脚。
复位强制 PTED 都为 0 ,但是这些 0 未被驱出相应的引脚,因为复位也会将所有端口引脚配置为上拉关闭的高抗
阻输入。
76543210
PTEDD7 PTEDD6 PTEDD5 PTEDD4 PTEDD3 PTEDD2 PTEDD1 PTEDD0
00000000
图 6-23. E 端口数据方向寄存器 (PTEDD)
表 6-22. PTEDD 寄存器字段描述
字段 描述
7:0
PTEDD[7:0]
E 端口数据方向位 — 这些读 / 写位控制着 E 端口引脚的方向以及 PTED 读取的内容。
0 输入 (输出驱动关闭),读数返回引脚值。
1 E 端口位 n 输出驱动使能, PTED 读数返回 PTEDn 内容。
6.6.10 E 端口引脚控制寄存器 (PTEPE, PTESE, PTEDS)
除了 I/O 控制外, E 端口引脚还受下列寄存器控制。
76543210
R
PTEPE7 PTEPE6 PTEPE5 PTEPE4 PTEPE3 PTEPE2 PTEPE1 PTEPE0
W
复位
78 飞思卡尔半导体
00000000
图 6-24. E 端口内部上拉使能寄存器 (PTEPE)
SC116009 系列微控制器数据手册 , 第 1 版
表 6-23. PTEPE 寄存器字段描述
字段 描述
第 6 章 并行输入 / 输出
7:0
PTEPE[7:0]
R
W
复位
E 端口内部上拉使能位 — 对于 PTE 引脚,这些控制位决定相关 PTE 引脚的内部上拉电阻是否使能。对于配置
为输出的 E 端口引脚,这些位不会产生影响,同时内部上拉电阻关闭。
0 E 端口位 n 内部上拉电阻关闭。
1 E 端口位 n 内部上拉电阻使能。
76543210
PTESE7 PTESE6 PTESE5 PTESE4 PTESE3 PTESE2 PTESE1 PTESE0
00000000
图 6-25. E 端口斜率控制使能寄存器 (PTESE)
表 6-24. PTESE 寄存器字段描述
字段 描述
7:0
PTESE[7:0]
R
W
E 端口输出斜率使能位 — 这些控制位决定是否为相关 PTE 引脚使能输出斜率控制。对于配置为输入的 E 端口引
脚,这些位不会产生任何影响。
0 E 端口位 n 输出斜率控制关闭。
1 E 端口位 n 输出斜率控制使能。
76543210
PTEDS7 PTEDS6 PTEDS5 PTEDS4 PTEDS3 PTEDS2 PTEDS1 PTEDS0
复位
00000000
图 6-26. E 端口驱动强度选择寄存器 (PTEDS)
表 6-25. PTEDS 寄存器字段描述
字段 描述
7:0
PTEDS[7:0]
E 端口输出驱动强度选择位 — 这些控制位为 PTE 引脚设置低 / 高输出驱动。
0 E 端口位 n 低输出驱动使能。
1 E 端口位 n 高输出驱动使能。
6.6.11 F 端口 I/O 寄存器 (PTFD 和 PTFDD)
F 端口并行 I/O 功能受下列寄存器控制。
76543210
R
PTFD7 PTFD6 PTFD5 PTFD4 PTFD3 PTFD2 PTFD1 PTFD0
W
复位
飞思卡尔半导体 79
00000000
图 6-27. F 端口数据寄存器 (PTFD)
SC116009 系列微控制器数据手册 , 第 1 版
第 6 章 并行输入 / 输出
表 6-26. PTFD 寄存器字段描述
字段 描述
7:0
PTFDn
R
W
复位
F 端口数据寄存器位 — 对于配置为输入的 F 端口引脚,读数返回引脚上的逻辑电平。对于配置为输出的 F 端口
引脚,读数返回最后一次写入寄存器的值。
写入值被锁存在本寄存器的所有位中。对于配置为输出的 F 端口引脚,逻辑电平驱动相应的 MCU 引脚。
复位强制 PTFD 都为 0 ,但是这些 0 未被驱出相应的引脚,因为复位也会将所有端口引脚配置为上拉关闭的高抗
阻输入。
76543210
PTFDD7 PTFDD6 PTFDD5 PTFDD4 PTFDD3 PTFDD2 PTFDD1 PTFDD0
00000000
图 6-28. F 端口数据方向寄存器 (PTFDD)
表 6-27. PTFDD 寄存器字段描述
字段 描述
7:0
PTFDDn
F 端口数据方向位 — 这些读 / 写位控制着 F 端口引脚的方向以及 PTFD 读取的内容。
0 输入 (输出驱动关闭),读数返回引脚值。
1 F 端口位 n 输出驱动使能, PTFD 读数返回 PTFDn 内容。
6.6.12 F 端口引脚控制寄存器 (PTFPE, PTFSE, PTFDS)
除了 I/O 控制外, F 端口引脚受下列的寄存器控制。
76543210
R
PTFPE7 PTFPE6 PTFPE5 PTFPE4 PTFPE3 PTFPE2 PTFPE1 PTFPE0
W
复位
00000000
图 6-29. F 端口内部上拉使能寄存器 (PTFPE)
表 6-28. PTFPE 寄存器字段描述
字段 描述
7:0
PTFPEn
F 端口内部上拉使能位 — 对于 PTF 引脚,这些控制位决定相关 PTF 引脚的内部上拉电阻是否使能。对于配置为
输出的 F 端口引脚,这些位不会产生影响,同时内部上拉电阻关闭。
0 F 端口位 n 内部上拉电阻关闭。
1 F 端口位 n 内部上拉电阻使能。
SC116009 系列微控制器数据手册 , 第 1 版
80 飞思卡尔半导体
第 6 章 并行输入 / 输出
76543210
R
PTFSE7 PTFSE6 PTFSE5 PTFSE4 PTFSE3 PTFSE2 PTFSE1 PTFSE0
W
复位
00000000
图 6-30. F 端口斜率控制使能寄存器 (PTFSE)
表 6-29. PTFSE 寄存器字段描述
字段 描述
7:0
PTFSEn
R
W
复位
F 端口输出斜率使能位 — 这些控制位决定是否为相关 PTF 引脚使能输出斜率控制。对于配置为输入的 F 端口引
脚,这些位不会产生任何影响。
0 F 端口位 n 输出斜率控制关闭。
1 F 端口位 n 输出斜率控制使能。
76543210
PTFDS7 PTFDS6 PTFDS5 PTFDS4 PTFDS3 PTFDS2 PTFDS1 PTFDS0
00000000
图 6-31. F 端口寄存器驱动强度选择 (PTFDS)
表 6-30. PTFDS 寄存器字段描述
字段 描述
7:0
PTFDSn
F 端口输出驱动强度选择位 — 这些控制位为 PTF 引脚设置低 / 高输出驱动。
0 F 端口位 n 低输出驱动使能。
1 F 端口位 n 高输出驱动使能。
6.6.13 G 端口 I/O 寄存器 (PTGD 和 PTGDD)
G 端口并行 I/O 功能受下列寄存器控制。
76543210
R0
W
复位
飞思卡尔半导体 81
00000000
PTGD6 PTGD5 PTGD4 PTGD3 PTGD2 PTGD1 PTGD0
图 6-32. G 端口数据寄存器 (PTGD)
SC116009 系列微控制器数据手册 , 第 1 版
第 6 章 并行输入 / 输出
表 6-31. PTGD 寄存器字段描述
字段 描述
6:0
PTGD[6:0]
R0
W
复位
G 端口数据寄存器位 — 对于配置为输入的 G 端口引脚,读数返回引脚上的逻辑电平。对于配置为输出的 G 端
口引脚,读数返回最后一次写入寄存器的值。
写入值被锁存在本寄存器的所有位中。对于配置为输出的 G 端口引脚,逻辑电平驱动相应的 MCU 引脚。
复位强制 PTGD 都为 0,但是这些 0 未被驱出相应的引脚,因为复位也会将所有端口引脚配置为上拉关闭的高
抗阻输入。
76543210
PTGDD6 PTGDD5 PTGDD4 PTGDD3 PTGDD2 PTGDD1 PTGDD0
00000000
图 6-33. G 端口数据方向寄存器 (PTGDD)
表 6-32. PTGDD 寄存器字段描述
字段 描述
6:0
PTGDD[6:0]
G 端口数据方向位 — 这些读 / 写位控制着 G 端口引脚的方向以及 PTGD 读取的内容。
0 输入 (输出驱动关闭),读数返回引脚值。
1 G 端口位 n 输出驱动使能, PTGD 读数返回 PTGDn 内容。
6.6.14 G 端口引脚 控制寄存器 (PTGPE, PTGSE, PTGDS)
除了 I/O 控制外, G 端口引脚还受下列寄存器控制。
76543210
R0
W
复位
00000000
PTGPE6 PTGPE5 PTGPE4 PTGPE3 PTGPE2 PTGPE1 PTGPE0
图 6-34. G 端口内部上拉使能寄存器 (PTGPE)
表 6-33. PTGPE 寄存器字段描述
字段 描述
6:0
PTGPE[6:0]
G 端口内部上拉使能位 — 对于 PTG 引脚,这些控制位决定相关 PTG 引脚的内部上拉电阻是否使能。对于配置
为输出的 G 端口引脚,这些位不会产生影响,同时内部上拉电阻关闭。
0 G 端口位 n 内部上拉电阻关闭。
1 G 端口位 n 内部上拉电阻使能。
SC116009 系列微控制器数据手册 , 第 1 版
82 飞思卡尔半导体
76543210
R0
W
第 6 章 并行输入 / 输出
PTGSE6 PTGSE5 PTGSE4 PTGSE3 PTGSE2 PTGSE1 PTGSE0
复位
00000000
图 6-35. G 端口斜率控制使能寄存器 (PTGSE)
表 6-34. PTGSE 寄存器字段描述
字段 描述
6:0
PTGSE[6:0]
R0
W
复位
G 端口输出斜率使能位 — 这些控制位决定是否为相关 PTG 引脚使能输出斜率控制。对于配置为输入的 G 端口
引脚,这些位不会产生任何影响。
0 G 端口位 n 输出斜率控制关闭。
1 G 端口位 n 输出斜率控制使能。
76543210
PTGDS6 PTGDS5 PTGDS4 PTGDS3 PTGDS2 PTGDS1 PTGDS0
00000000
图 6-36. G 端口驱动强度选择寄存器 (PTGDS)
表 6-35. PTGDS 寄存器字段描述
字段 描述
6:0
PTGDS[6:0]
G 端口输出驱动强度选择位 — 这些控制位为 PTG 引脚设置低 / 高输出驱动。
0 G 端口位 n 低输出驱动使能。
1 G 端口位 n 高输出驱动使能。
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 83
第 6 章 并行输入 / 输出
SC116009 系列微控制器数据手册 , 第 1 版
84 飞思卡尔半导体
第 7 章
中央处理单元 (S08CPUV2 )
7.1 概述
本节介绍了 HCS08 系列 CPU 的寄存器、寻址方式和指令集。更详细的信息请参考 《 HCS08 Family
Reference Manual》,该文件序号为 HCS08RMV1/D。
HCS08 CPU 与 M68HC08 CPU 的源和目标代码完全兼容。新增的指令和增强寻址模式提高了 C 编译器
的效率,并且支持新的后台调试系统以代替早期 68HC08 的监控模式。
7.1.1 特性
HCS08 CPU 具有以下特性:
• 目标代码完全兼容 M68HC05 和 M68HC08 家族
• 所有寄存器和存储器映射到一个独立的 64 KB 的地址空间
• 16 位堆栈指针 ( 64 K 字节地址空间内任意大小、任意地址的堆栈)
• 16 位变址寄存器 (H:X)支持强大的索引地址模式
• 8 位累加器 (A)
• 许多指令把 X 作为第二个通用 8 位寄存器
• 7 种寻址模式:
• 固有寻址模式 — 操作数存于内部寄存器
• 相对寻址模式 — 8 位有符号偏移量的分支地址
• 立即寻址模式 — 操作数位于下一个目标代码
• 直接寻址模式 — 操作数位于 0x0000 到 0x00FF 之间
• 扩展寻址模式 — 操作数位于 64K 字节地址空间内
• H:X 相对变址寻址模式 — 提供包括自动增量在内的 5 种子模式
• SP 相对变址寻址模式 — 大大提高 C 语言编译的效率
• 提供四种寻址模式组合的寄存器 - 寄存器数据转移指令
• 溢出、半进位、负、零和进位状况码支持根据带符号、无符号、 BCD 码操作的结果进行条件转移
• 高效率的位操作指令
• 快速 8 位乘 8 位和 16 位除 8 位指令
• ST
OP 和 WA
IT 指令调用低功耗运行模式
7.2 编程模型和 CPU 寄存器
图 7-1 为 5 个 CPU 寄存器,微处理器的存储器不包括 CPU 寄存器。
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 85
第 7 章 中央处理单元 (S08CPUV2 )
SP
PC
状况码寄存器
进位标识
零标识
负标识
中断屏蔽位
半进位标识 ( 来自第三位 )
2 进制补码溢出标识
H X
0
0
0
7
15
15
70
A
变址寄存器 ( 低 ) 变址寄存器 ( 高 )
堆栈指针
87
程序计数器
16 位变址寄存器 H:X
CCR
C V11HI NZ
累加器
7.2.1 累加器 (A)
图 7-1. CPU 寄存器
这个累加器 (A) 是通用的 8 位寄存器。一个操作数经过累加器输入到算术逻辑单元 ( ALU ),在算术和
逻辑运算后, ALU 的结果通常存放入 A 累加器。累加器可以用不同的寻址模式指定地址从存储器中装载数
据,或者累加器 A 中的数据可以根据不同的寻址模式指定的地址装入到存储器中。
复位对累加器中的数据无影响。
7.2.2 变址寄存器 ( H:X)
这个 16 位寄存器实际上是由两个 8 位寄存器 (H,X )组成,常一起作为一个 16 位地址指针。其中, H
装地址的高字节, X 装地址的低字节。所有变址寻址方式指令用 H:X 中的 16 位的值作为索引参考指针。但
是,为了和早期 M68HC05 系列兼容,部分指令只能在低 8 位(X)上运行。
许多指令把 X 作为第二个通用 8 位寄存器来存储 8 位数据。 X 可以被清零,增加,递减,取反,移位,
循环移位。在算术逻辑操作时,转移指令用于 X 与累加器 A 进行数据交换。
为了和早期 M68HC05 系列兼容, H 在复位时被设为 0X00 。复位对 X 无影响。
7.2.3 堆栈指针 ( SP)
RAM 的 64K 字节空间内的任意地址,它可以与所提供的 RAM 大小相同。堆栈可以自动保存子程序调用的返
回地址,中断操作中的返回地址和 CPU 寄存器值,以及本地变量。 AIS (Add Immediate to Stack pointer )
指令赋予一个 8 位有符号立即数给 SP 。这种方法经常被用于为本地堆栈变量在堆栈中分配或回收空间。
值改为 RAM 最后地址值 (最高地址),来释放直接页上的 RAM( 片上寄存器结束处一直到 0x00FF )。
用在 HCS08 程序中。
在一个自动后进先出 (LIFO) 堆栈中,该 16 位地址指针寄存器指向下一个可用地址。堆栈可以映射到有
为了兼容早期的 M68HC05 系列, SP 复位后被设为 0xFF 。在复位初始化时, HCS08 程序通常将 SP 的
RSP (复位堆栈指针)是与 M68HC05 系列兼容的指令,因为它仅影响堆栈指针的低位地址,所以很少
SC116009 系列微控制器数据手册 , 第 1 版
86 飞思卡尔半导体
第 7 章 中央处理单元 (S08CPUV2 )
条件码寄存器
进位标识
零标识
负标识
中断屏蔽位
半进位标识 ( 来自第三位 )
溢出标识
70
CCR
C V11H I NZ
7.2.4 程序计数器 ( PC)
程序计数器是一个 16 位寄存器,包含下一条指令或待取操作数的地址。
通常在程序执行期间,程序计数器在每次数据或指令被取出时会自动增加到存储器的下个连续位置。跳
转、转移、中断和返回操作向程序计数器装载一个地址而不是下个连续位置。这就是流程的改变。
复位时,程序计数器从 0XFFFE 和 0XFFF 处装载复位向量。向量存储位置的第一个指令将在退出复位状
态后被执行。
7.2.5 条件码寄存器 (CCR)
8 位条件码寄存器包含中断屏蔽位 I 和 5 个标识最近执行指令结果的状态标志位。第 6 位和第 5 位恒为逻
辑 1 。下图简要描述了 CCR 每个位的信息及功能。关于如何使用指令设置 CCR 的每个位,请参阅 HCS08 系
列参考手册,第 1 卷,其文档号为 HCS08RMv1 。
图 7-2. 条形码寄存器 (CCR )
表 7-1. CCR 寄存器位功能描述
位置 描述
7
V
4
H
3
I
2
N
二进制补码溢出标志位—当二进制补码溢出时, CPU 将设置溢出标志位。有符号指令 BGT、 BGE、
BLE、 BLT 使用溢出标志。
0 无溢出
1 溢出
半进位标志 — 执行加法指令 ( ADD)和带进位加法指令 ( ADC)时,如果累加器第 3 和第 4 位有进位,
CPU 设置半进位标志。半进位标志在 BCD 码算术运算中很有用。 DAA 指令用 H 和 C 的状态来自动调整
前面 ADD 或者 ADC 的结果,修正结果得到有效的 BCD 值。
0 第 3 位和第 4 位之间无进位
1 第 3 位和第 4 位之间进位
中断屏蔽位 — 当中断屏蔽位被置位时,禁止 CPU 中断。当中断屏蔽位被清除,开放 CPU 中断。当中断
发生时,在第一个中断服务例程被执行之前, CPU 寄存器值被保存到堆栈后中断屏蔽被自动设置。在任
何指令正在清 I (CLI、 TAP)时,中断不被认可。这确保了 CLI 或 TAP 的下一个指令执行时不被干扰。
0 允许中断
1 禁止中断
负标志—CPU 运算时,如果产生负结果则将负标志置 1 ,设置位 7 的结果。如果装载或存储值的较多重要
位为 1 的话,简单的装载或存储 8 位或 16 位值也会引起 N 置 1 。
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 87
第 7 章 中央处理单元 (S08CPUV2 )
表 7-1. CCR 寄存器位功能描述 ( 续 )
1
Z
0
C
零标志— CPU 进行运算过程中,如果数据或运算结果为零,零标志置 1,否者置零。
0 无零结果
1 有零结果
进位 / 借位标志—当进行加法时,在最高位 D7 上有进位;或在进行减法运算时需要向更高位借位,则
CPU 将进位 / 借位标志 C 置 1。一些指令如位测试,跳转,移位指令等也会影响该标志。
0 无进位 / 借位
1 有进位 / 借位
7.3 寻址模式
寻址模式决定 CPU 存取数据和操作数的方法。在 HCS08 系列芯片中,所有的存储器、状态和控制寄存
器和 I/O 口共享一个 64K 字节线性地址空间,所以一个 16 位二进制地址可以唯一确定一个存储位置。这样,
访问 RAM 变量的指令同时也能访问 I/O 和控制寄存器或非易失性程序空间。
某些指令的寻址方式不止一种。例如, MOVE 指令用一种寻址方式来指定源操作数,又用另一种寻址方
式来确定目标地址。 BRCLR 、 BRSET 、 CBEQ 、 DBNZ 等指令用一种寻址方式来确定一个操作数地址,并进
行测试,如果假设条件为真时,就用相对寻址方式来确定分支的目标地址。对于 BRCLR 、 BRSET 、 CBEQ 、
DBNZ ,列在指令设置表上的寻址方式用于定位需要测试的操作数,相对寻址方式用来定位分支目标地址。
7.3.1 固有寻址模式 ( INH)
固有寻址模式所需的操作数已经存于 CPU 寄存器中,所以 CPU 不需要访问存储器来获取操作数。
7.3.2 相对寻址模式 ( REL)
相对寻址模式用于确定分支指令的目的地址。 8 位有符号的偏移值在存储器中位于操作码之后。在执行指
令时,如果分支条件为真,有符号偏移值扩展为 16 位有符号值且加到当前程序计数器,这样程序转移到分支
目标地址处运行。
7.3.3 立即寻址模式 (IMM)
立即寻址模式中,用以完成指令的操作数包含在目标代码内,并紧跟着指令操作码存放在存储器中。在
16 位立即操作数情况下,高位字节存放在操作码之后的第一个存储位置,低位字节存放在下个存储位置。
7.3.4 直接寻址模式 (DIR)
直接寻址模式中,指令包含的地址低 8 位存放在直接页 ( 0x0000-0x00FF)。在执行指令时,通过连接
0x00 作为高位地址和指令的直接地址得到一个 16 位地址以获取目标操作数。这比给操作数分配一个完整的
16 位地址要更快,存取效率更高。
7.3.5 扩展寻址模式 (EXT)
在扩展寻址模式中,操作数的 16 位地址位于操作码后的两字节 (高位在先)。
7.3.6 变址寻址模式
变址寻址模式包含七种,其中五种使用 16 位 H:X 变址寄存器,另两种使用堆栈作为基值参考。
SC116009 系列微控制器数据手册 , 第 1 版
88 飞思卡尔半导体
第 7 章 中央处理单元 ( S08CPUV2)
7.3.6.1 无偏移量变址模式 (IX)
在这种变址模式中,变址寄存器 H:X 的内容被用于访问操作数的地址。
7.3.6.2 无偏移量变址、变址自动加 1 寻址模式 (IX+)
在这种变址模式中, H:X 变址寄存器存储指令的操作数。当取出地址后, H:X 寄存器自动加
1(H:X=H:X+0x0001)。这种寻址模式只应用于 CBEQ 和 MOV 指令。
7.3.6.3 8 位偏移量变址模式 (IX1)
在这种变址模式中,一个无符号的 8 位偏移量与 H:X 寄存器相加,得到要访问的操作数地址。
7.3.6.4 8 位偏移量变址、变址自动加 1 寻址模式 (IX1+)
在这种变址模式中,一个无符号的 8 位偏移量与 H:X 寄存器相加,得到要访问的操作数地址。在操作数
被取出后变址寄存器自动加 1 。 CBEQ 是唯一使用这种寻址模式的指令。
7.3.6.5 16 位偏移量变址模式 (IX2)
在这种变址模式中,一个无符号的 16 位偏移量与 H:X 寄存器相加,得到要访问的操作数地址
7.3.6.6 8 位偏移量堆栈寻址模式 (SP1)
在这种变址模式中,指令集提供一个无符号的 8 位偏移量与堆栈指针 (SP) 中的 16 位值相加,得到要访
问的操作数地址。
7.3.6.7 16 位偏移量堆栈寻址模式 (SP2)
在这种变址模式中,无符号的 16 位偏移量与堆栈指针 (SP) 中的 16 位值相加,得到要访问的操作数地
址。
7.4 特殊操作
CPU 可以执行一些操作,这些操作与其他的 CPU 指令相似,只是没有操作码。另外一些指令如 STOP,
WAIT 直接影响其他 MCU 的电路。本节详细将讲述这些操作。
7.4.1 复位序列
复位可以由上电复位、 COP 看门狗超时、外部复位引脚引起。当复位事件发生时,复位事件强制 CPU
立即停止正在执行的任何事件 (MCU 不会等待指令边界,再响应复位 )。关于 MCU 如何确认复位及其来源的
信息,可参阅复位、中断和系统配置章节。
当用以确定复位源是否来自内部的序列被执行,同时复位引脚不再有强制复位信号时,复位事件被认为
结束。然后, CPU 执行一个 6 周期的序列从 0XFFFE 和 0XFFFF 处取出复位向量填充到指令队列,为执行程
序作好准备。
7.4.2 中断序列
当中断请求发生时,在响应中断之前 CPU 先完成当前指令。这时程序计数器指向下条指令的开始位置,
这也就是 CPU 中断返回地址。 CPU 对中断的响应是执行与软中断 (SWI )相同的操作序列,除非当中断序
列开始时,由挂起的高优先级中断决定向量获取的地址。
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 89
第 7 章 中央处理单元 (S08CPUV2 )
CPU 中断序列如下:
1. 按顺序存储 PCL、 PCH、 X、 A、 CCR 的内容到堆栈中。
2. 设置 CCR 中的 I 位。
3. 获取中断向量高位。
4. 获取中断向量低位。
5. 延迟一个空闲总线周期。
6. 将 3 字节的程序信息 ( 其首地址由中断向量决定 ) 填入指令队列为执行中断服务例程第一条指令作准
备。
C CR 中的内容被压入堆栈后,在进行中断服务例程时设置 CCR 的 I 位防止响应其它中断。虽然也可以通过
指令在中断服务例程中清 I ,但是有可能导致嵌套中断 (不推荐采用这种方法,因为这将增加程序调试和维护
的难度)。
为了和早期的 M68HC05MCU 兼容, H:X 变址寄存器中的 H 不作为中断序列的一部分保存到堆栈中。
用户必须在终端服务例程开始时用 PSHH 指令保存 H 内容,然后在 RTI 返回之前用 PULH 指令将 H 取出。如
果能确定中断服务例程不使用任何与 H 相关的指令或自增寻址方式, H 值也可以不保存。
软中断除了不能被 CCR 中的 I 位屏蔽,其它和硬中断一样。并且,它和程序中的一个指令操作码相关
联,所以它不是异步程序操作。
7.4.3 等待模式
WAIT 指令通过清零 CCR 的 I 位使能中断。然后关闭 CPU 时钟以节省功耗, CPU 维持在低功耗状态直
到被中断或复位唤醒。当中断或复位发生时, CPU 从等待模式被唤醒。此时, CPU 重启内部时钟,并响应中
断以及复位。
当 CPU 在等待模式时,如果一个串行的后台调试指令通过后台调试界面发送到 MCU , CPU 时钟将被重
启并进入能处理其它串行背景指令的活跃背景模式。这样,即使在等待模式中主机开发系统仍能进入目标
MCU 。
7.4.4 停止模式
通常,在停止模式下,系统的所有时钟包括晶振都被关闭以实现最小功耗。在这样的系统中,需要一个
外部电路来计算时间,用于在指定的时间产生信号唤醒 MCU 。和早期的 M68HC05 和 M68HC08 不同,
HCS08 在停止模式中可以设定运行最少时钟。这就允许一个内部周期信号从停止模式中唤醒 MCU 。
当一个主机调试系统连接到后台调试引脚 (BKGD )且通过后台调试接口串行命令设置 ENBDM 位时
(或者 MCU 在复位时进入活跃的后台调试模式), MCU 进入停止模式时振荡器被强制活跃。在这种情况下,
当 CPU 在停止模式下通过后台调试接口向 MCU 发送后台调试指令, CPU 时钟将被开启并进入能处理其它串
行背景指令的活跃背景模式。这样,即使在停止模式中主机开发系统仍能进入目标 MCU 。
从停止模式恢复的方式取决于具体的 HCS08 型号以及振荡器是否在停止模式时停止。详细信息请参阅操
作模式章节。
7.4.5 背景模式
与 M68HC08 相比, HCS08 新增了 BGND 指令。 BGND 通常用在普通用户程序中,强迫 CPU 停止处理
当前指令进入活跃的背景模式。重新继续运行用户程序的唯一方式是通过复位或主机调试系统的后台调试接口
发出 GO 、 TRACE1 或者 TAGGO 串行命令。
SC116009 系列微控制器数据手册 , 第 1 版
90 飞思卡尔半导体
第 7 章 中央处理单元 (S08CPUV2 )
可以用后台调试操作码替换目标断点地址操作码来设置软断点。当程序到达断点地址时, CPU 强制进入
活跃背景模式而不是继续用户程序。
7.5 HCS08 指令设置摘要
表 7-2 包含了 HCS08 所有寻址模式的指令集。本表提供了各操作数的结构、在内部总线周期的执行时
间、以及每个指令在每种寻址模式的循环方式。
表 7-2. 指令集摘要 ( 第 1 页,共 9 页 )
源格式 操作
ADC #opr8i
ADC opr8a
ADC opr16a
ADC oprx16,X
ADC oprx8,X
ADC ,X
ADC oprx16,SP
ADC oprx8,SP
ADD #opr8i
ADD opr8a
ADD opr16a
ADD oprx16,X
ADD oprx8,X
ADD ,X
ADD oprx16,SP
ADD oprx8,SP
进位加
A ← (A) + (M) + (C)
无进位加
A ← (A) + (M)
寻址方式
IMM
DIR
EXT
IX2
IX1
IX
SP2
SP1
IMM
DIR
EXT
IX2
IX1
IX
SP2
SP1
操作码
A9
B9
C9
D9
E9
F9
9E D9
9E E9
AB
BB
CB
DB
EB
FB
9E DB
9E EB
ii
dd
hh ll
ee ff
ff
ee ff
ff
ii
dd
hh ll
ee ff
ff
ee ff
ff
循环细节
总线周期
2
pp
3
rpp
4
prpp
4
prpp
3
rpp
3
rfp
5
pprpp
4
prpp
2
pp
3
rpp
4
prpp
4
prpp
3
rpp
3
rfp
5
pprpp
4
prpp
V 1 1 HI N Z C
1 1 –
1 1 –
CCR
AIS #opr8i
AIX #opr8i
AND #opr8i
AND opr8a
AND opr16a
AND oprx16,X
AND oprx8,X
AND ,X
AND oprx16,SP
AND oprx8,SP
ASL opr8a
ASLA
ASLX
ASL oprx8,X
ASL ,X
ASL oprx8 ,SP
ASR opr8a
ASRA
ASRX
ASR oprx8,X
ASR ,X
ASR oprx8,SP
BCC rel
将立即数 (有符号)压入堆栈
SP ← (SP) + (M)
将立即数 (有符号)压入
编制寄存器 (H:X )
H:X ← (H:X) + (M)
逻辑与
& (M)
A ← (A)
算术左移
( 和 LSL 相同 )
算术右移
进位位清零则转移
( 如果 C = 0)
IMM A7 ii 2p p – 1 1 – – – – –
IMM AF ii 2p p – 1 1 – – – – –
IMM
DIR
EX
T
IX2
IX1
IX
SP2
SP1
DIR
INH
INH
IX1
IX
SP1
DIR
INH
INH
IX1
IX
SP1
REL 24 rr 3 ppp – 1 1 – – – – –
A4
B4
C4
D4
E4
F4
9E D4
9E E4
38
48
58
68
78
9E 68
37
47
57
67
77
9E 67
ii
dd
hh ll
ee ff
ff
ee ff
ff
dd
ff
ff
dd
ff
ff
2
pp
3
rpp
4
prpp
4
prpp
3
rpp
3
rfp
5
pprpp
4
prpp
5
rfwpp
1
p
1
p
5
rfwpp
4
rfwp
6
prfwpp
p
5
1
1
5
4
6
p
rfw
p
p
rfwpp
rfwp
prfwpp
0 1 1 – – –
1 1 ––
1 1 – –
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 91
第 7 章 中央处理单元 (S08CPUV2 )
源格式 操作
BCLR n,opr8a
存储器中位 n 清零
(Mn ← 0)
表 7-2. 指令集摘要 ( 第 2 页,共 9 页 )
操作码
寻址方式
DIR (b0)
DIR (b1)
DIR (b2)
DIR (b3)
DIR (b4)
DIR (b5)
DIR (b6)
DIR (b7)
11
13
15
17
19
1B
1D
1F
dd
dd
dd
dd
dd
dd
dd
dd
CCR
循环细节
总线周期
5
rfwpp
5
rfwpp
5
rfwpp
5
rfwpp
5
rfwpp
5
rfwpp
5
rfwpp
5
rfwpp
V 1 1 HI N Z C
– 1 1 – – – – –
BCS rel
BEQ rel
BGE rel
BGND
BGT rel
BHCC rel
BHCS rel
BHI rel
BHS rel
BIH rel
BIL rel
BIT #opr8i
BIT opr8a
BIT opr16a
BIT oprx16,X
BIT oprx8,X
BIT ,X
BIT oprx16,SP
BIT oprx8,SP
进位位置 1 则转移 ( 如果 C = 1)
( 和 BLO 相同 )
相等则转移 ( 如果 Z = 1)
大于等于则转移
(if N ⊕ V = 0) ( 带符号 )
ENBDM = 1 则进入活跃后台调试状态
等待和处理 BDM 指令直到 GO, TRACE1,
TAGGO
大于则转移 ( 如果 Z | (
半进位清零则转移 ( 如果 H = 0)
半进位置 1 则转移 ( 如果 H = 1)
为高则转移 ( 如果 C | Z = 0)
高于或相同则转移 ( 如果 C = 0)
( 和 BCC 相同 )
IRQ 引脚为高则转移 ( 如果 IRQ pin = 1)
IRQ 引脚为低则转移 ( 如果 IRQ pin = 0)
试
位测
A) & (M)
(
(CCR 更新但操作数不变 )
N ⊕ V) = 0)
( 带符号 )
REL 25 rr 3 ppp – 1 1 – – – – –
REL 27 rr 3 ppp – 1 1 – – – – –
REL 90 rr 3 ppp – 1 1 – – – – –
INH 82 5+ fp...ppp – 1 1 – – – – –
REL 92 rr 3 ppp – 1 1 – – – – –
REL 28 rr 3 ppp – 1 1 – – – – –
REL 29 rr 3 ppp – 1 1 – – – – –
REL 22 rr 3 ppp – 1 1 – – – – –
REL 24 rr 3 ppp – 1 1 – – – – –
REL 2F rr 3 ppp – 1 1 – – – – –
REL 2E rr 3 ppp – 1 1 – – – – –
IMM
DIR
EXT
IX2
IX1
IX
SP2
SP1
A5
B5
C5
D5
E5
F5
9E D5
9E E5
ii
dd
hh ll
ee ff
ff
ee ff
ff
2
pp
3
rpp
4
prpp
4
prpp
3
rpp
3
rfp
5
pprpp
4
prpp
0 1 1 – – –
BLE rel
BLO rel
BLS rel
BLT rel
BMC rel
BMI rel
BMS rel
BNE rel
BPL rel
BRA rel
小于等于则转移
( 如果 Z | (N ⊕ V) = 1) ( 带符号 )
为低则转移 ( 如果 C = 1) ( 和 BCS 相同 )
为低或相同则转移 ( 如果 C | Z = 1)
小于则转移 ( 如果 N ⊕ V = 1) ( 带符号
中断屏蔽位清零则转移 ( 如果 I = 0)
负则转移 ( 如果 N = 1)
中断屏蔽位置 1 则转移 ( 如果 I = 1)
不等则转移 ( 如果 Z = 0)
正则转移 ( 如果 N = 0)
一直转移 ( 如果 I = 1)
)
REL 93 rr 3 ppp – 1 1 – – – – –
REL 25 rr 3 ppp – 1 1 – – – – –
REL 23 rr 3 ppp – 1 1 – – – – –
REL 91
REL 2C rr 3 ppp – 1 1 – – – – –
REL 2B rr 3 ppp – 1 1 – – – – –
REL 2D rr 3 ppp – 1 1 – – – – –
REL 26 rr 3 ppp – 1 1 – – – – –
REL 2A rr 3 ppp – 1 1 – – – – –
REL 20 rr 3 ppp – 1 1 – – – – –
rr 3
ppp – 1 1 – – – – –
SC116009 系列微控制器数据手册 , 第 1 版
92 飞思卡尔半导体
源格式 操作
BRCLR n,opr8a,rel
BRN rel
BRSET n,opr8a,rel
BSET n,opr8a
存储器中位 n 清零 ( 如果 (Mn) = 0)
从不转移 ( 如果 I = 0)
存储器中位 n 置 1 则转移 ( 如果 (Mn) = 1)
存储器中位 n 置 1 (Mn ← 1)
表 7-2. 指令集摘要 ( 第 3 页,共 9 页 )
操作码
寻址方式
DIR (b0)
DIR (b1)
DIR (b2)
DIR (b3)
DIR (b4)
DIR (b5)
DIR (b6)
DIR (b7)
REL 21 rr 3 ppp – 1 1 – – – – –
DIR (b0)
DIR (b1)
DIR (b2)
DIR (b3)
DIR (b4)
DIR (b5)
DIR (b6)
DIR (b7)
DIR (b0)
DIR (b1)
DIR (b2)
DIR (b3)
DIR (b4)
DIR (b5)
DIR (b6)
DIR (b7)
01
03
05
07
09
0B
0D
0F
00
02
04
06
08
0A
0C
0E
10
12
14
16
18
1A
1C
1E
dd rr
dd rr
dd rr
dd rr
dd rr
dd rr
dd rr
dd rr
dd rr
dd rr
dd rr
dd rr
dd rr
dd rr
dd rr
dd rr
dd
dd
dd
dd
dd
dd
dd
dd
第 7 章 中央处理单元 (S08CPUV2 )
循环细节
总线周期
5
rpppp
5
rpppp
5
rpppp
5
rpppp
5
rpppp
5
rpppp
5
rpppp
5
rpppp
5
rpppp
5
rpppp
5
rpppp
5
rpppp
5
rpppp
5
rpppp
5
rpppp
5
rpppp
5
rfwpp
5
rfwpp
5
rfwpp
5
rfwpp
5
rfwpp
5
rfwpp
5
rfwpp
5
rfwpp
V 1 1 HI N Z C
– 1 1 –
– 1 1 –
– 1 1 – – – – –
CCR
– – –
– – –
BSR rel
CBEQ opr8a ,rel
CBEQA #opr8i,rel
CBEQX #opr8i,rel
CBEQ oprx8 ,X+,rel
CBEQ ,X+,rel
CBEQ oprx8 ,SP,rel
CLC
CLI
CLR opr8a
CLRA
CLRX
CLRH
CLR oprx8,X
CLR ,X
CLR oprx8,SP
转移到子程序
PC ← (PC) + $0002
push (PCL); SP ← (SP) – $0001
push (PCH); SP ← (SP) – $0001
PC ← (PC) + rel
相等则比较转移
如果 (A) = (M) 则转移
如果 (A) = (M) 则转移
如果 (X) = (M) 则转移
如果 (A) = (M)
如果 (A
如果 (A) = (M) 则转移
清进位位 (C ← 0)
清中断屏蔽位 (I ← 0)
清位
M ← $00
A ← $00
X ← $00
H ← $00
M ← $00
M ← $00
M ← $00
) = (
则转移
M) 则转移
REL AD rr 5 ssppp – 1 1 – – – – –
DIR
IMM
IMM
IX1+
IX+
SP1
INH 98 1p – 1 1 – – – – 0
INH 9A 1p – 1 1 – 0 – – –
DIR
INH
INH
INH
IX1
IX
SP1
31
41
51
61
71
9E 61
3F
4F
5F
8C
6F
7F
9E 6F
dd rr
ii rr
ii rr
ff rr
rr
ff rr
dd
ff
ff
5
rpppp
4
pppp
4
pppp
5
rpppp
5
rfppp
6
prpppp
p
5
1
1
1
5
4
6
p
rfw
p
p
p
rfwpp
rfwp
prfwpp
– 1 1 – – – – –
0 1 1 – – 0 1 –
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 93
第 7 章 中央处理单元 (S08CPUV2 )
源格式 操作
CMP #opr8i
CMP opr8a
CMP opr16a
CMP oprx16,X
CMP oprx8,X
CMP ,X
CMP oprx16,SP
CMP oprx8,SP
COM opr8a
COMA
COMX
COM oprx8,X
COM ,X
COM oprx8,SP
CPHX opr16a
CPHX #opr16i
CPHX opr8a
CPHX oprx8,SP
CPX #opr8i
CPX opr8a
CPX opr16a
CPX oprx16,X
CPX oprx8,X
CPX ,X
CPX oprx16,SP
CPX oprx8,SP
DAA
DBNZ opr8a,rel
DBNZA rel
DBNZX rel
DBNZ oprx8,X,rel
DBNZ ,X,rel
DBNZ oprx8,SP,rel
存储器与累加器相比
A – M
(CCR 更新但操作数不变 )
求补
)= $FF – (M)
M ← (M
( 一个数的补 )A ← (A
X ← (X
) = $FF – (X)
M ← (M
) = $FF – (M)
) = $FF – (M)
M ← (M
) = $FF – (M)
M ← (M
比较变址寄存器 (H:X) 和存储器
(H:X) – (M:M + $0001)
(CCR 更新但操作数不变 )
比较 X ( 低位变址寄存器 ) 和存储器
X – M
(CCR 更新但操作数不变 )
在 BCD 码 ADD,ADC 操作后转换累加器内容
到十进制
如果不为零,则 A, X, 或者 M 自减并且转移
( 如果 (result) ≠ 0)
DBNZX 影响 X 但不影响 H
表 7-2. 指令集摘要 ( 第 4 页,共 9 页 )
操作码
寻址方式
) = $FF – (A)
IMM
DIR
EXT
IX2
IX1
IX
SP2
SP1
DIR
INH
INH
IX1
IX
SP1
EXT
IMM
DIR
SP1
IMM
DIR
EXT
IX2
IX1
IX
SP2
SP1
INH 72 1p U 1 1 –
DIR
INH
INH
IX1
IX
SP1
A1
B1
C1
D1
E1
F1
9E D1
9E E1
33
43
53
63
73
9E 63
3E
65
75
9E F3
A3
B3
C3
D3
E3
F3
9E D3
9E E3
3B
4B
5B
6B
7B
9E 6B
ii
dd
hh ll
ee ff
ff
ee ff
ff
dd
ff
ff
hh ll
jj kk
dd
ff
ii
dd
hh ll
ee ff
ff
ee ff
ff
dd rr
rr
rr
ff rr
rr
ff rr
CCR
循环细节
总线周期
2
pp
3
rpp
4
prpp
4
prpp
3
rpp
3
rfp
5
pprpp
4
prpp
5
rfwpp
1
p
1
p
5
rfwpp
4
rfwp
6
prfwpp
6
prrfpp
3
ppp
5
rrfpp
6
prrfpp
2
pp
3
rpp
4
prpp
4
prpp
3
rpp
3
rfp
5
pprpp
4
prpp
V 1 1 HI N Z C
1 1 –
0 1 1 –
–
– 1
1 1 – –
1 1 ––
–
7
rfwpppp
4
fppp
4
fppp
7
rfwpppp
6
rfwppp
8
prfwpppp
– 1 1 – – – – –
DEC opr8a
DECA
DECX
DEC oprx8,X
DEC ,X
DEC oprx8,SP
DIV
EOR #opr8i
EOR opr8a
EOR opr16a
EOR oprx16,X
EOR oprx8,X
EOR ,X
EOR oprx16,SP
EOR oprx8,SP
自减
M ← (M) – $01
A ← (A) – $01
X ← (X) – $01
M ← (M) – $01
M ← (M) – $01
M ← (M) – $01
除
A ← (H:A)÷ (X); H ← 余数
带累加器的存储器异或
A ← (A ⊕ M)
DIR
INH
INH
IX1
IX
SP1
INH 52 6 fffffp – 1 1 –
IMM
DIR
EXT
IX2
IX1
IX
SP2
SP1
3A
4A
5A
6A
7A
9E 6A
A8
B8
C8
D8
E8
F8
9E D8
9E E8
dd
ff
ff
ii
dd
hh ll
ee ff
ff
ee ff
ff
5
1
1
5
4
6
2
3
4
4
3
3
5
4
p
p
rfw
p
p
rfwpp
rfwp
prfwpp
pp
rpp
prpp
prpp
rpp
rfp
pprpp
prpp
1 1 –– –
– –
0 1 1 –
– –
SC116009 系列微控制器数据手册 , 第 1 版
94 飞思卡尔半导体
源格式 操作
INC opr8a
INCA
INCX
INC oprx8,X
INC ,X
INC oprx8,SP
JMP opr8a
JMP opr16a
JMP oprx16,X
JMP oprx8,X
JMP ,X
JSR opr8a
JSR opr16a
JSR oprx16,X
JSR oprx8,X
JSR ,X
LDA #opr8i
LDA opr8a
LDA opr16a
LDA oprx16,X
LDA oprx8,X
LDA ,X
LDA oprx16,SP
LDA
oprx8 ,SP
LDHX #opr16i
LDHX opr8a
LDHX opr16a
LDHX ,X
LDHX oprx16,X
LDHX oprx8,X
LDHX oprx8,SP
LDX #opr8i
LDX opr8a
LDX opr16a
LDX oprx16,X
LDX oprx8,X
LDX ,X
LDX oprx16,SP
LDX oprx8,SP
LSL opr8a
LSLA
LSLX
LSL oprx8,X
LSL ,X
LSL oprx8,SP
LSR opr8a
LSRA
LSRX
LSR oprx8,X
LSR ,X
LSR oprx8,SP
自增
M ← (M) + $01
A ← (A) + $01
X ← (X) + $01
M ← (M) + $01
M ← (M) + $01
M ← (M) + $01
跳转
PC ← 跳转地址
跳转到子程序
PC ← (PC) + n (n = 1, 2, or 3)
Push (PCL); SP ← (SP) – $0001
Push (PCH); SP ← (SP) – $0001
PC ← Unconditional Address
装入累加器
存储器
从
A ← (M)
装入变址寄存器
(H:X )
H:X ← (M:M + $0001)
从存储器中装入 X (低位变址寄存器)
X ← (M)
逻辑左移
( 和 ASL 相同 )
逻辑右移
表 7-2. 指令集摘要 ( 第 5 页,共 9 页 )
操作码
寻址方式
DIR
INH
INH
IX1
IX
SP1
DIR
EXT
IX2
IX1
IX
DIR
EXT
IX2
IX1
IX
IMM
DIR
EXT
IX2
IX1
IX
SP2
SP1
IMM
DIR
EXT
IX
IX2
IX1
SP1
IMM
DIR
EXT
IX2
IX1
IX
SP2
SP1
DIR
INH
INH
IX1
IX
SP1
DIR
INH
INH
IX1
IX
SP1
3C
4C
5C
6C
7C
9E 6C
BC
CC
DC
EC
FC
BD
CD
DD
ED
FD
A6
B6
C6
D6
E6
F6
9E D6
9E E6
45
55
32
9E AE
9E BE
9E CE
9E FE
AE
BE
CE
DE
EE
FE
9E DE
9E EE
38
48
58
68
78
9E 68
34
44
54
64
74
9E 64
dd
ff
ff
dd
hh ll
ee ff
ff
dd
hh ll
ee ff
ff
ii
dd
hh ll
ee ff
ff
ee ff
ff
jj kk
dd
hh ll
ee ff
ff
ff
ii
dd
hh ll
ee ff
ff
ee ff
ff
dd
ff
ff
dd
ff
ff
第 7 章 中央处理单元 (S08CPUV2 )
循环细节
总线周期
5
rfwpp
1
p
1
p
5
rfwpp
4
rfwp
6
prfwpp
3
ppp
4
pppp
4
pppp
3
ppp
3
ppp
5
ssppp
6
pssppp
6
pssppp
5
ssppp
5
ssppp
2
pp
3
rpp
4
prpp
4
prpp
3
rpp
3
rfp
5
pprpp
4
prpp
3
ppp
4
rrpp
5
prrpp
5
prrfp
6
pprrpp
5
prrpp
5
prrpp
2
pp
3
rpp
4
prpp
4
prpp
3
rpp
3
rfp
5
pprpp
4
prpp
5
rfwpp
1
p
1
p
5
rfwpp
4
rfwp
6
prfwpp
5
rfwpp
1
p
1
p
5
rfwpp
4
rfwp
6
prfwpp
V 1 1 HI N Z C
1 1 – – –
– 1 1 – – – – –
– 1 1 – – – – –
0 1 1 –
0 1 1 –
0 1 1 –
1 1 –
1 1 –– 0
CCR
– –
– –
– –
–
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 95
第 7 章 中央处理单元 (S08CPUV2 )
源格式 操作
MOV opr8a ,opr8a
MOV opr8a,X+
MOV #opr8i,opr8a
MOV ,X+,opr8a
移动
(M)
destination
In IX+/DIR and DIR/IX+ Modes,
H:X ← (H:X) + $0001
← (M)
表 7-2. 指令集摘要 ( 第 6 页,共 9 页 )
寻址方式
DIR/DIR
source
DIR/IX+
IMM/DIR
IX+/DIR
操作码
4E
dd dd
5E
dd
6E
ii dd
7E
dd
CCR
循环细节
总线周期
5
rpwpp
5
rfwpp
4
pwpp
5
rfwpp
V 1 1 HI N Z C
0 1 1 –
– –
MUL
NEG opr8a
NEGA
NEGX
NEG oprx8,X
NEG ,X
NEG oprx8,SP
NOP
NSA
ORA #opr8i
ORA opr8a
ORA opr16a
ORA oprx16,X
ORA oprx8,X
ORA ,X
ORA oprx16,SP
ORA oprx8,SP
PSHA
PSHH
PSHX
无符号相乘
X:A ← (X) × (A)
取负
M ← – (M) = $00 – (M)
( 二进制补码 )A ← – (A) = $00 – (A)
X ← – (X) = $00 – (X)
M ← – (M) = $00 – (M)
M ← – (M) = $00 – (M)
M ← – (M) = $00 – (M)
空操作 — 使用一个总线周期
累加器半位元组交换
A ← (A[3:0]:A[7:4])
累加器或存储器
A ← (A) | (M)
把累加器压入堆栈
Push (A); SP ← (SP) – $0001
把 H (高位变址寄存器)压入堆栈
Push (H); SP ← (SP) – $0001
把 X (低位变址寄存器)压入堆栈
Push (X); SP ← (SP) – $0001
INH 42 5 ffffp
DIR
INH
INH
IX1
IX
SP1
INH 9D 1p – 1 1 – – – – –
INH 62 1p – 1 1 – – – – –
IMM
DIR
EXT
IX2
IX1
IX
SP2
SP1
INH 87 2s p – 1 1 – – – – –
INH 8B 2s p – 1 1 – – – – –
INH 89 2s p – 1 1 – – – – –
30
40
50
60
70
9E 60
AA
BA
CA
DA
EA
FA
9E DA
9E EA
dd
ff
ff
ii
dd
hh ll
ee ff
ff
ee ff
ff
5
rfwpp
1
p
1
p
5
rfwpp
4
rfwp
6
prfwpp
2
pp
3
rpp
4
prpp
4
prpp
3
rpp
3
rfp
5
pprpp
4
prpp
– 1 1 0
1 1 ––
0 1 1 –
– – – 0
– –
PULA
PULH
PULX
ROL opr8a
ROLA
ROLX
ROL oprx8,X
ROL ,X
ROL oprx8,SP
ROR opr8a
RORA
RORX
ROR oprx8,X
ROR ,X
ROR oprx8,SP
累加器出栈
SP ← (SP + $0001); Pull (A)
H (高位变址寄存器)出栈
SP ← (SP + $0001); Pull (H)
X (低位变址寄存器)出栈
SP ← (SP + $0001); Pull (X)
进位循环左移
进位循环右移
INH 86 3u f p – 1 1 – – – – –
INH 8A 3u f p – 1 1 – – – – –
INH 88 3u f p – 1 1 – – – – –
DIR
INH
INH
IX1
IX
SP1
DIR
INH
INH
IX1
IX
SP1
39
49
59
69
79
9E 69
36
46
56
66
76
9E 66
dd
ff
ff
dd
ff
ff
5
1
1
5
4
6
5
1
1
5
4
6
p
p
rfw
p
p
rfwpp
rfwp
prfwpp
rfwpp
p
p
rfwpp
rfwp
prfwpp
1 1 ––
1 1 ––
SC116009 系列微控制器数据手册 , 第 1 版
96 飞思卡尔半导体
源格式 操作
RSP
RTI
堆栈复位 ( 低位 )
SPL ← $FF
( 不影响高字节 )
中断返回
SP ← (SP) + $0001; Pull (CCR)
SP ← (SP) + $0001; Pull (A)
SP ← (SP) + $0001; Pull (X)
SP ← (SP) + $0001; Pull (PCH)
SP ← (SP) + $0001; Pull (PCL)
表 7-2. 指令集摘要 ( 第 7 页,共 9 页 )
操作码
寻址方式
INH 9C 1p – 1 1 – – – – –
INH 80 9 uuuuufppp
第 7 章 中央处理单元 ( S08CPUV2)
CCR
循环细节
总线周期
V 1 1 HI N Z C
1 1
RTS
SBC #opr8i
SBC opr8a
SBC opr16a
SBC oprx16,X
SBC oprx8,X
SBC ,X
SBC oprx16,SP
SBC oprx8,SP
SEC
SEI
STA opr8a
STA opr16a
STA oprx16,X
STA oprx8,X
STA ,X
STA oprx16,SP
STA oprx8,SP
STHX opr8a
STHX opr16a
STHX oprx8,SP
STOP
STX opr8a
STX opr16a
STX oprx16,X
STX oprx8,X
STX ,X
STX oprx16,SP
STX oprx8,SP
从子程序返回
SP ← SP + $0001; Pull (PCH)
SP ← SP + $0001; Pull (PCL)
带进位减
A ← (A) – (M) – (C)
进位位置位
(C ← 1)
中断屏蔽位置位
(I ← 1)
将累加器中内容存储到存储器
M ← (A)
存储 H:X ( 变址寄存器 )
(M:M + $0001) ← (H:X)
中断使能
停止处理 参考 MCU 文档
I bit ← 0; Stop Processing
存储 X (变址寄存器低 8 位)到存储器
M ← (X)
INH 81 5u f p p p – 1 1 – – – – –
IMM
DIR
EXT
IX2
IX1
IX
SP2
SP1
INH 99 1p – 1 1 – – – – 1
INH 9B 1p – 1 1 – 1 – – –
DIR
EXT
IX2
IX1
IX
SP2
SP1
DIR
EXT
SP1
INH 8E 2f p . . . – 1 1 – 0 – – –
DIR
EXT
IX2
IX1
IX
SP2
SP1
A2
B2
C2
D2
E2
F2
9E D2
9E E2
B7
C7
D7
E7
F7
9E D7
9E E7
35
96
9E FF
BF
CF
DF
EF
FF
9E DF
9E EF
ii
dd
hh ll
ee ff
ff
ee ff
ff
dd
hh ll
ee ff
ff
ee ff
ff
dd
hh ll
ff
dd
hh ll
ee ff
ff
ee ff
ff
2
pp
3
rpp
4
prpp
4
prpp
3
rpp
3
rfp
5
pprpp
4
prpp
3
wpp
4
pwpp
4
pwpp
3
wpp
2
wp
5
ppwpp
4
pwpp
4
wwpp
5
pwwpp
5
pwwpp
3
wpp
4
pwpp
4
pwpp
3
wpp
2
wp
5
ppwpp
4
pwpp
1 1 ––
0 1 1 –
0 1 1 –
0 1 1 –
– –
– –
– –
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 97
第 7 章 中央处理单元 (S08CPUV2 )
源格式 操作
SUB #opr8i
SUB opr8a
SUB opr16a
SUB oprx16,X
SUB oprx8,X
SUB ,X
SUB oprx16,SP
SUB oprx8,SP
SWI
TAP
减
A ← (A) – (M)
软中断
PC ← (PC) + $0001
Push (PCL); SP ← (SP) – $0001
Push (PCH); SP ← (SP) – $0001
Push (X); SP ← (SP) – $0001
Push (A); SP ← (SP) – $0001
Push (CCR); SP ← (SP) – $0001
I ← 1;
PCH ← 高字节中断矢量
PCL ← 低字节中断矢量
转移累加器到 CCR
CCR ← (A)
表 7-2. 指令集摘要 ( 第 8 页,共 9 页 )
操作码
寻址方式
IMM
DIR
EXT
IX2
IX1
IX
SP2
SP1
INH 83 11 sssssvvfppp – 1 1 – 1 – – –
INH 84 1p
A0
B0
C0
D0
E0
F0
9E D0
9E E0
ii
dd
hh ll
ee ff
ff
ee ff
ff
CCR
循环细节
总线周期
2
pp
3
rpp
4
prpp
4
prpp
3
rpp
3
rfp
5
pprpp
4
prpp
V 1 1 HI N Z C
1 1 ––
1 1
TAX
TPA
TST opr8a
TSTA
TSTX
TST oprx8,X
TST ,X
TST oprx8,SP
TSX
TXA
转移累加器到 X ( 低位变址寄存器 )
X ← (A)
转移 CCR 到累加器
A ← (CCR)
测试零或负数
(M) – $00
(A) – $00
(X) – $00
(M) – $00
(M) – $00
(M) – $00
转移 SP 到变址寄存器 .
H:X ← (SP) + $0001
转移 X (低位变址寄存器)到累加器
A ← (X)
INH 97 1p – 1 1 – – – – –
INH 85 1p – 1 1 – – – – –
DIR
INH
INH
IX1
IX
SP1
INH 95 2f p – 1 1 – – – – –
INH 9F 1p – 1 1 – – – – –
3D
4D
5D
6D
7D
9E 6D
dd
ff
ff
4
rfpp
1
p
1
p
4
rfpp
3
rfp
5
prfpp
0 1 1 –
– –
SC116009 系列微控制器数据手册 , 第 1 版
98 飞思卡尔半导体
源格式 操作
TXS
转移变址寄存器到 SP
SP ← (H:X) – $0001
表 7-2. 指令集摘要 ( 第 9 页,共 9 页 )
操作码
寻址方式
INH 94 2f p – 1 1 – – – – –
第 7 章 中央处理单元 ( S08CPUV2)
CCR
循环细节
总线周期
V 1 1 HI N Z C
WAIT
源格式栏中,除了用斜体表示的表达式外,其它信息必须以相同的格式出现在汇编源文件中。原始的 3 至 5 个助记符是一种文字表达。所有的
逗号,井号 (# ),圆括号,加号 (+ )都是文字字符。
n — 任何估算 0-7 之间的单整形数的标识或表达式
opr8i — 任何估算 8 位立即数值的标识或表达式
opr16i — 任何估算 16 位立即数值的标识或表达式
opr8a — 任何估算 8 位直接页地址 ( 0x00XX)的标识或表达式。
opr16a — 任何估算 16 位地址的标识或表达式。
oprx8 — 任何估算无符号 8 位立即数值的标识或表达式 , 用于变址寻址
oprx16 — 任何用来估值 16 位立即数值的标识或表达式,用于变址寻址
rel — 任何标识或表达式所涉及地址在当前指令末子节目标操作码后的下个地址 起 -128 至 127 之间。
操作符 :
A 累加器
CCR 条件码寄存器
H 变址寄存器高 8 位
M 寄存器
n 任何位
r 操作数 (1 或 2 字节 )
op
PC 程序计数器
PCH 程序计数器高 8 位
PCL 程序计数器低 8 位
rel 相对程序计数器偏移字节
SP 堆栈指针
SPL 堆栈指针低 8 位
X 变址寄存器低 8 位
& 布尔与
〡 布尔或
⊕ 布尔异或
( ) 寄存器或存储器内容显示在圆括号里
+ 加
- 减
ⅹ乘
÷除
# 立即值
¨ 被装入 (读:获得)
: 连接
中断使能,等待中断
I bit ← 0; Halt CPU
地址
INH 8F 2+ fp... – 1 1 – 0 – – –
寻址模式:
DIR 直接寻址模式
EXT 扩展寻址模式
IMM 立即寻址模式
INH 内在寻址模式
IX 无偏移量变址模式
IX 1 8 位偏移量变址模式
IX 2 16 位偏移量变址模式
IX+ 无偏移量变址、变址加 1 寻址模式
IX1+ 8 位偏移量变址、变址加 1 寻址模式
REL 相对寻址模式
SP1 8 位偏移量堆栈寻址模式
SP2 16 位偏移量堆栈寻址模式
循环码 :
f 自由周期。在自由周期, CPU 不需要使用系统总线,
一个自由周期通常是系统总线时钟的一个周期并且
通常是一个只读周期。
p 程序取回;从程序寄存器的下个连续地址读取。
r 读 8 位操作码
s 把一个字节推入 (写入)堆栈
u
从堆栈弹出 (读出)一个字节
v 从 0XFFx
w 写 8 位操作码
x 读矢
量 ( 从高字节开始 )
条件寄存器 (CCR )位
V 溢出位
H 半进位位
I 中断屏蔽标识
N 负标识位
Z 零标识
C 进位 / 借位标识
CCR 常用符号 :
设置或清零
– 不影响
U 未定义
SC116009 系列微控制器数据手册 , 第 1 版
飞思卡尔半导体 99
第 7 章 中央处理单元 (S08CPUV2 )
Bit-Manipulation Branch Read-Modify-Write Control Register/Memory
00 5
BRSET0
3D I R
01 5
BRCLR0
3D I R
02 5
BRSET1
3D I R
03 5
BRCLR1
3D I R
04 5
BRSET2
3D I R
05 5
BRCLR2
3D I R
06 5
BRSET3
3D I R
07 5
BRCLR3
3D I R
08 5
BRSET4
3D I R
09 5
BRCLR4
3D I R
0A 5
BRSET5
3D I R
0B 5
BRCLR5
3D I R
0C 5
BRSET6
3D I R
0D 5
BRCLR6
3D I R
0E 5
BRSET7
3D I R
0F 5
BRCLR7
3D I R
10 5
BSET0
2D I R
11 5
BCLR0
2D I R
12 5
BSET1
2D I R
13 5
BCLR1
2D I R
14 5
BSET2
2D I R
15 5
BCLR2
2D I R
16 5
BSET3
2D I R
17 5
BCLR3
2D I R
18 5
BSET4
2D I R
19 5
BCLR4
2D I R
1A 5
BSET5
2D I R
1B 5
BCLR5
2D I R
1C 5
BSET6
2D I R
1D 5
BCLR6
2D I R
1E 5
BSET7
2D I R
1F 5
BCLR7
2D I R
20 3
BRA
2R E L
21 3
BRN
2R E L
22 3
BHI
2R E L
23 3
BLS
2R E L
24 3
BCC
2R E L
25 3
BCS
2R E L
26 3
BNE
2R E L
27 3
BEQ
2R E L
28 3
BHCC
2R E L
29 3
BHCS
2R E L
2A 3
BPL
2R E L
2B 3
BMI
2R E L
2C 3
BMC
2R E L
2D 3
BMS
2R E L
2E 3
BIL
2R E L
2F 3
BIH
2R E L
30 5
NEG
2D I R
31 5
CBEQ
3D I R
32 5
LDHX
3E X T
33 5
COM
2D I R
34 5
LSR
2D I R
35 4
STHX
2D I R
36 5
ROR
2D I R
37 5
ASR
2D I R
38 5
LSL
2D I R
39 5
ROL
2D I R
3A 5
DEC
2D I R
3B 7
DBNZ
3D I R
3C 5
INC
2D I R
3D 4
TST
2D I R
3E 6
CPHX
3E X T
3F 5
CLR
2D I R
40 1
NEGA
1I N H
41 4
CBEQA
3I M M
42 5
MUL
1I N H
43 1
COMA
1I N H
44 1
LSRA
1I N H
45 3
LDHX
3I M M
46 1
RORA
1I N H
47 1
ASRA
1I N H
48 1
LSLA
1I N H
49 1
ROLA
1I N H
4A 1
DECA
1I N H
4B 4
DBNZA
2I N H
4C 1
INCA
1I N H
4D 1
TSTA
1I N H
4E 5
MOV
3D D
4F 1
CLRA
1I N H
表 7-3. Opcode Map ( 第 1 页,共 2 页 )
50 1
1I N H
51 4
3I M M
52 6
1I N H
53 1
1I N H
54 1
1I N H
55 4
2D I R
56 1
1I N H
57 1
1I N H
58 1
1I N H
59 1
1I N H
5A 1
1I N H
5B 4
2I N H
5C 1
1I N H
5D 1
1I N H
5E 5
2DIX+
5F 1
1I N H
NEGX
CBEQX
DIV
COMX
LSRX
LDHX
RORX
ASRX
LSLX
ROLX
DECX
DBNZX
INCX
TSTX
MOV
CLRX
60 5
2I X 1
61 5
3I X 1 +
62 1
1I N H
63 5
2I X 1
64 5
2I X 1
65 3
3I M M
66 5
2I X 1
67 5
2I X 1
68 5
2I X 1
69 5
2I X 1
6A 5
2I X 1
6B 7
3I X 1
6C 5
2I X 1
6D 4
2I X 1
6E 4
3I M D
6F 5
2I X 1
NEG
CBEQ
NSA
COM
LSR
CPHX
ROR
ASR
LSL
ROL
DEC
DBNZ
INC
TST
MOV
CLR
70 4
1I X
71 5
2I X +
72 1
1I N H
73 4
1I X
74 4
1I X
75 5
2D I R
76 4
1I X
77 4
1I X
78 4
1I X
79 4
1I X
7A 4
1I X
7B 6
2I X
7C 4
1I X
7D 3
1I X
7E 5
2IX+D
7F 4
1I X
NEG
CBEQ
DAA
COM
LSR
CPHX
ROR
ASR
LSL
ROL
DEC
DBNZ
INC
TST
MOV
CLR
80 9
RTI
1I N H
81 6
RTS
1I N H
82 5+
BGND
1I N H
83 11
SWI
1I N H
84 1
TA P
1I N H
85 1
TPA
1I N H
86 3
PULA
1I N H
87 2
PSHA
1I N H
88 3
PULX
1I N H
89 2
PSHX
1I N H
8A 3
PULH
1I N H
8B 2
PSHH
1I N H
8C 1
CLRH
1I N H
8E 2+
STOP
1I N H
8F 2+
WAIT
1I N H
90 3
BGE
2R E L
91 3
BLT
2R E L
92 3
BGT
2R E L
93 3
BLE
2R E L
94 2
TXS
1I N H
95 2
TSX
1I N H
96 5
STHX
3E X T
97 1
TA X
1I N H
98 1
CLC
1I N H
99 1
SEC
1I N H
9A 1
CLI
1I N H
9B 1
SEI
1I N H
9C 1
RSP
1I N H
9D 1
NOP
1I N H
9E
Page 2
9F 1
TXA
1I N H
A0 2
2I M M
A1 2
2I M M
A2 2
2I M M
A3 2
2I M M
A4 2
2I M M
A5 2
2I M M
A6 2
2I M M
A7 2
2I M M
A8 2
2I M M
A9 2
2I M M
AA 2
2I M M
AB 2
2I M M
AD 5
2R E L
AE 2
2I M M
AF 2
2I M M
SUB
CMP
SBC
CPX
AND
BIT
LDA
AIS
EOR
ADC
ORA
ADD
BSR
LDX
AIX
B0 3
SUB
2D I R
B1 3
CMP
2D I R
B2 3
SBC
2D I R
B3 3
CPX
2D I R
B4 3
AND
2D I R
B5 3
BIT
2D I R
B6 3
LDA
2D I R
B7 3
STA
2D I R
B8 3
EOR
2D I R
B9 3
ADC
2D I R
BA 3
ORA
2D I R
BB 3
ADD
2D I R
BC 3
JMP
2D I R
BD 5
JSR
2D I R
BE 3
LDX
2D I R
BF 3
STX
2D I R
C0 4
SUB
3 EXT
C1 4
CMP
3 EXT
C2 4
SBC
3 EXT
C3 4
CPX
3 EXT
C4 4
AND
3 EXT
C5 4
BIT
3 EXT
C6 4
LDA
3 EXT
C7 4
STA
3 EXT
C8 4
EOR
3 EXT
C9 4
ADC
3 EXT
CA 4
ORA
3 EXT
CB 4
ADD
3 EXT
CC 4
JMP
3 EXT
CD 6
JSR
3 EXT
CE 4
LDX
3 EXT
CF 4
STX
3 EXT
D0 4
3I X 2
D1 4
3I X 2
D2 4
3I X 2
D3 4
3I X 2
D4 4
3I X 2
D5 4
3I X 2
D6 4
3I X 2
D7 4
3I X 2
D8 4
3I X 2
D9 4
3I X 2
DA 4
3I X 2
DB 4
3I X 2
DC 4
3I X 2
DD 6
3I X 2
DE 4
3I X 2
DF 4
3I X 2
SUB
CMP
SBC
CPX
AND
BIT
LDA
STA
EOR
ADC
ORA
ADD
JMP
JSR
LDX
STX
E0 3
2I X 1
E1 3
2I X 1
E2 3
2I X 1
E3 3
2I X 1
E4 3
2I X 1
E5 3
2I X 1
E6 3
2I X 1
E7 3
2I X 1
E8 3
2I X 1
E9 3
2I X 1
EA 3
2I X 1
EB 3
2I X 1
EC 3
2I X 1
ED 5
2I X 1
EE 3
2I X 1
EF 3
2I X 1
SUB
CMP
SBC
CPX
AND
BIT
LDA
STA
EOR
ADC
ORA
ADD
JMP
JSR
LDX
STX
F0 3
1I X
F1 3
1I X
F2 3
1I X
F3 3
1I X
F4 3
1I X
F5 3
1I X
F6 3
1I X
F7 2
1I X
F8 3
1I X
F9 3
1I X
FA 3
1I X
FB 3
1I X
FC 3
1I X
FD 5
1I X
FE 3
1I X
FF 2
1I X
SUB
CMP
SBC
CPX
AND
BIT
LDA
STA
EOR
ADC
ORA
ADD
JMP
JSR
LDX
STX
INH 隐含寻址 REL 相对寻址 SP1 8 位偏移量堆栈寻址
IMM 立即寻址 IX 无偏移量变址寻址 SP2 16 位偏移量堆栈寻址
DIR 直接寻址 IX1 8 位偏移量变址寻址 IX+ 无偏移量自动加 1 变址寻址
EXT 扩展寻址 IX2 16 位偏移量变址寻址 IX+D 变址-直接-变址加1寻址
DD 直接 - 直接寻址 IMD 立即 - 直接寻址 IX1+ 8 位偏移量自动加 1 变址寻址
DIX+ 直接 - 自动加 1 变址寻址
用 16 进制表示
操作码
字节数
F0 3
1I X
SUB
HCS08 指令周期
助记寻址方式
SC116009 系列微控制器数据手册 , 第 1 版
100 飞思卡尔半导体