08章 S12定时器模块
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
TFFCA – 定时器快速标志位清除使能 0 = 定时器标志位正常清零 1 = 输入捕捉时读取寄存器, 输出比较时写寄存器, 可以对相应通道标志位清零。读TCNT. CnF、TOF
TSBCK – 在DEBUG模式时, 定时器停止。 0 = 不停止 ; 1 = 停止
TSWAI – 在WAIT模式时,定时器停止 0 = 不停止; 1 = 停止
2.脉冲累加器工作模式: ① LATQ=1:脉冲锁存模式。
PAn PAnH ,打入到累加器的条件: MCCNT计数器减到0 ,即计时到,可以产生中断; 向MCCNT 写0 ,不产生中断; MCCNT对应控制寄存器MCCTL的ICLAT位置1(对所有累加
器); ② LATQ = 1 脉冲累加队列模式
BSET TFLG2 , $80;
BSET TFLG1 , #$81
重庆大学通信工程学院 王毅 王永东
8.2.2 输出比较
(1)TSCR1 – 定时器系统控制寄存器
TEN TSWAI TSFRZ TFFCA
Reserved
$0006
RST: 0……………………………………………………………………………0
B3 B2 B1 B0 OM5 OL5 OM4 OL4
0
0
0
0
$0008
TCTL2
B7 B6 OM3 OL3
B5 B4 OM2 OL2
B3 B2 OM1 OL1
B1 B0 OM0 OL0 $0009
RST: 0
0
0
0
0
0
0
0
输出模式和输出电平 (O7–OC0)
பைடு நூலகம்
OMX
0 0 1 1
OLX
0 1 0 1
TIMER 定时器使能 1 – 计数器使能 ;0 – 计数器禁止
重庆大学通信工程学院 王毅 王永东
(2) TSCR2 – 定时器系统控制寄存器
B7....................................................................................B0
重庆大学通信工程学院 王毅 王永东
8.2.3 定时器溢出
模块时钟
M Clock
预分频选择 PR[2:0]
计时器溢出时,对溢出 标志位置位,如允许中 断,则向CPU发出中断 请求
$FFFE $FFFF $0000
TOF
1 2 4 8 16 32 64 128
计数器寄存器
TCNT
15...........................................0
重庆大学通信工程学院 王毅 王永东
(2)16位模数计数器标志寄存器MCFLG
MCZF : 模数计数溢出中断标志位 POLF0 : 对应引脚1 , 首次捕捉的记性;0:上升;1:下降 (3)16位模数递减计数寄存器MCCNT 读MCCNT :返回:
RDMCL=0 计数器当前值 ;RDMCL=1 加载寄存器值; 对输入捕捉或脉冲累加,如果设置为锁存模式且输入缓冲使能 (LATQ=1,BUFFEN=1),写$0000到MCCNT锁存TC 、PA到保持 寄存器 ;并且MCCNT保持位0 ,不会产生中断标志置1; 对应循环使用方式(MODMC=1),写入MCCNT的数据, 在 MCCNT回零后卡是生效,非立即生效。 对于单次计数方式(MODMC=0),写MCCNT,清零MCCNT,然 后并用新值更新计数器。实现规定时刻的计数开始。
TCNT TCn TCnH
重庆大学通信工程学院 王毅 王永东
1、非缓冲IC通道 有4个非缓冲通道(PT4~PT7)各自具有一个捕
捉寄存器。 可以由输入覆盖控制寄存器ICOVW决定捕捉到
的数据是否允许被覆盖。
2、缓冲IC通道 有4个缓冲通道(PT0~PT3)除了各自具有一个
捕捉寄存器外,还有一个保持寄存器,可以连续捕 捉2次不同时刻的值。
(1)16位模数计数器控制寄存器MCCTCL
MCZI:模数计数器向下溢出中断使能: 0:禁止 :1:使能 MODCM: 0:单次计数方式 ; 1:循环计数方式 RDMCL:模数读取位选择:
0:读回模数计数器当前值; 1:返回加载寄存器的值 ICLAT:捕捉寄存器强制转移控制位
0:无效: 1: TCn TCnH ; PAn PAnH;0 PAn MCEN:模数递减计数器使能位。 0:禁止 1:使能 FLMC:仅写1的时候,产生模数常数寄存器的内容强制装入 MCCNT,复位分频因子; MCPR1,MCPR0:
置位
相等
引脚控制逻辑
清零 翻转
OR
OR
Pin
OCn
TCn
16位输出比较寄存器 比如:0x5678 软件可以修改
OCnF 状态标志位置位, 当比较发生时(值相等时)
OCnI
• 共有8个输出比较通道 • 每个通道有自己的向量表和控制寄存器
中断请求
重庆大学通信工程学院 王毅 王永东
例:8-2 参见教材P148
可以工作在锁存方式或队列方式。
(注:锁存方式类似于非缓冲通道,队列方式就是先进先出)
重庆大学通信工程学院 王毅 王永东
输入捕捉功能过程
当外部事件发生时,或外部信号输入发生变化时,记录当前时间 TCNT
比较/捕捉 单元 16位自由运行计数器
OR
OR
引脚 ICx
上升/下降沿
沿选择 检测
延时 计数器
Edge
TICx 16位输入捕捉锁存器
• 共有8个输入捕捉通道 • 每个通道有自己的向量表和控制寄存器
16位保持寄存器 ICxF 捕捉发生时,状态位置1
可选中断屏蔽 ICxI
向CPU发出中断请求
应用: ABS 刹车. 雷达测距,发动机
注: 如果输入信号电平和跳变之前的电平相反时, 延时计数器在当前时钟计数时刻产生一个脉冲, 它用来去除噪声
除以
1 2 4 8 16 32 64 128
TCRE - 允许使用PWM功能
(3) 定时器中断使能寄存器TIE -- CnI (4) 定时计数寄存器TCNT
重庆大学通信工程学院 王毅 王永东
(5)定时器控制寄存器TCTL
B7 B6
TCTL1
OM7 OL7
RST: 0
0
B5 B4 OM6 OL6
0
0
重庆大学通信工程学院 王毅 王永东
8.3.1脉冲累加控制寄存器 1. 16位脉冲累加器A控制寄存器PACTL
PAEN: 脉冲累加器使能位:1:使能 ;0:禁止 PAMOD:脉冲累加器模式控制位:1:门控方式;0:事件计数 PEDGE:有效边沿设定:
PAOVI : 脉冲累加器溢出中断使能:0:禁止 ;1:使能。 PA I:脉冲累加器输入中断使能: 0:禁止 ;1:使能。 CLK1,CLK2:TCNT计时输入频率选择。
重庆大学通信工程学院 王毅 王永东
3.各控制寄存器的设定
具体的设置方式参见相关资料,重点是了解其 作用和意义。
(1)定时器控制寄存器TCTL
输入捕捉沿控制(IC7–IC0)
EDGxB EDGxA ICx EDGE
0 0 无边沿 – ICx 禁止
0 1 上升沿
1 0 下降沿
1 1 任何沿
OR
注:上、下沿用于测量周 期,任何沿用于测量高电 平或低电平宽度
PACLK = 总线频率/64.
重庆大学通信工程学院 王毅 王永东
2. 16位脉冲累加器A 标志寄存器PAFLAG PAOVF : 脉冲累加器溢出中断标志位 PAIF :计数方式:有效边沿产生计数同时产生中断标志;
事件方式:输入信号结束边沿产生中断标志
重庆大学通信工程学院 王毅 王永东
8.3.2模数计数器
重庆大学通信工程学院 王毅 王永东
S12 定时器的基本结构
总线时钟
模块计数中断
定时器溢出中断
定时器通道 0 中断 ~
定时器通道 7 中断 PA 溢出中断 PA 输入中断 PB 溢出中断
预分频因子 16 位计数器 16 位模数计数器
寄存器
16 位脉冲累加器 A 16 位脉冲累加器 B
通道 0 输入捕捉 输出比较
TOI 0 0 0 TCRE PR2 PR1 PR0
RST: 0 0
00
0
0
0
0
$000D
1 – 定时器由OC7比较符合时复位 0 – 定时器自由运行
1 – 定时器溢出中断使能 0 – 定时器中断禁止
预分频系数选择
PR2
0 0 0 0 1 1 1 1
PR1
0 0 1 1 0 0 1 1
PR0
0 1 0 1 0 1 0 1
Control Bits
Delay Counter
COMPARATOR CAP./COM. Register
0
Reset
Pulse Accumulator
CH1
Hold Register
Hold Register
重庆大学通信工程学院 王毅 王永东
8.2 输入捕捉/输出比较
8.2.1 输入捕捉 输入捕捉是通过捕获自由运行计数器来监视外部
Action on OCx
No Action OCx Toggle OCx Drive OCx LO Drive OCx HI
重庆大学通信工程学院 王毅 王永东
输出比较功能
• 在特定的时刻输出一个信号
TCNT
16位自由运行计数器
比较
比较器
当比较寄存器的值和计数 器的值相等时,采取行动 比如:当TCNT=0x5678
事件。主要用于信号检测、频率测量、脉冲宽度和 输入计数。 输入捕捉的基本定义: 外部事件或信号发生规定变化; 计数寄存器TCNT内容锁存到TCn; CnI= 1 , 允许中断, 发中断,置标志位CnF 记录事件发生的时刻、信号变化的时刻; TCnH 实现两次输入捕捉, 产生中断或置位
LDAA TCnH :PAn --》PAnH 并且 PAn=0; 重庆大学通信工程学院 王毅 王永东
3.脉冲累加器的计数方式
对事件计数模式,PEDGE 选 择哪个PAI的沿用来增加 PACNT寄存器
对门累加模式,PEDGE选择哪 个PAI 状态用来禁止计数 (比如. PEDGE = 1 -- 禁止计 数 当PAI = HI).
PA7/PAI
脉冲累加器输入引脚
8 – 位计数器
事件计数模式 引脚作为计数器时钟 软件选择以什么沿来计数 计数器溢出时,产生中断(可选) 在PAI引脚每个主动电平将产生中断
PA7/PAI 脉冲累加器输入引脚
8 位计数器
自由运行 E/64时钟
时间累加模式 引脚作为计数器
软件选择主动电平作为门的输入 当计数器溢出时产生中断 在使能的引脚上后面的边缘时产生中断
第八章 S12定时器模块
8.1 定时器模块概述 S12定时器模块在标准定时器基础上增加了一
些新功能,称为增强型定时器模块(Enhanced Capture Timer Module, ECT) 有一下特点: 4个具有16位缓冲寄存器的输入捕捉通道; 4个8位脉冲累加器可以通过级联形成2个16位的 脉冲累加器 1个具有4位预分频器的16位递减模数计数器; 4个可选的延迟计数器用来增强输入抗干扰能力。
… … …
通道 7 输入捕捉 输出比较
IOC0
… … …
IOC7
重庆大学通信工程学院 王毅 王永东
8.1.2 定时器结构
Bus Clock
Prescaler
Pin Logic
16-Bit Free-running Main Timer
Prescaler
load Register
16-Bit Modulo Down-Counter
1 – 计数器使能 0 – 计数器禁止
R = Reserved
重庆大学通信工程学院 王毅 王永东
8.3脉冲累加器和模数计数器 8.3.0脉冲累加器基础
1.脉冲累加器功能引脚 P0—P3 共4个累加器,对应IOC0—IOC3通道。 每个通道具有8位累加器 PAn及保持寄存器PAnH PA0+PA1=PACB ,IOC0 ,PBCTL, PBFLG PA2+PA3=PACA ,IOC7 ,PATAL,PACTL
OR
(2)输入延迟控制寄存器DLYCT
Pin Logic
Delay Counter
注:实用于低频信号抗干扰, 对高频信号不适用
重庆大学通信工程学院 王毅 王永东
(3)定时器中断标志寄存器TFLG
① TFLG1: CnF
CnF =1:通道n有中断事件发生; ② TFLG2:
TOF:定时器溢出标志位
清CnF、 TOF标志位的方法:向对应标志位置1 ,实现清位。
CLK
.
TCNT
Address Offset $0004, 05
B0.......……...B7 B8……..........B15
PIN
脉冲累加器
TEN
DATA BUS
TSCR1 -定时器控制寄存器
TEN TSWAI TSFRZ TFFCA R R R R $0006
RST: 0 0 0 0 0 0 0 0
TSBCK – 在DEBUG模式时, 定时器停止。 0 = 不停止 ; 1 = 停止
TSWAI – 在WAIT模式时,定时器停止 0 = 不停止; 1 = 停止
2.脉冲累加器工作模式: ① LATQ=1:脉冲锁存模式。
PAn PAnH ,打入到累加器的条件: MCCNT计数器减到0 ,即计时到,可以产生中断; 向MCCNT 写0 ,不产生中断; MCCNT对应控制寄存器MCCTL的ICLAT位置1(对所有累加
器); ② LATQ = 1 脉冲累加队列模式
BSET TFLG2 , $80;
BSET TFLG1 , #$81
重庆大学通信工程学院 王毅 王永东
8.2.2 输出比较
(1)TSCR1 – 定时器系统控制寄存器
TEN TSWAI TSFRZ TFFCA
Reserved
$0006
RST: 0……………………………………………………………………………0
B3 B2 B1 B0 OM5 OL5 OM4 OL4
0
0
0
0
$0008
TCTL2
B7 B6 OM3 OL3
B5 B4 OM2 OL2
B3 B2 OM1 OL1
B1 B0 OM0 OL0 $0009
RST: 0
0
0
0
0
0
0
0
输出模式和输出电平 (O7–OC0)
பைடு நூலகம்
OMX
0 0 1 1
OLX
0 1 0 1
TIMER 定时器使能 1 – 计数器使能 ;0 – 计数器禁止
重庆大学通信工程学院 王毅 王永东
(2) TSCR2 – 定时器系统控制寄存器
B7....................................................................................B0
重庆大学通信工程学院 王毅 王永东
8.2.3 定时器溢出
模块时钟
M Clock
预分频选择 PR[2:0]
计时器溢出时,对溢出 标志位置位,如允许中 断,则向CPU发出中断 请求
$FFFE $FFFF $0000
TOF
1 2 4 8 16 32 64 128
计数器寄存器
TCNT
15...........................................0
重庆大学通信工程学院 王毅 王永东
(2)16位模数计数器标志寄存器MCFLG
MCZF : 模数计数溢出中断标志位 POLF0 : 对应引脚1 , 首次捕捉的记性;0:上升;1:下降 (3)16位模数递减计数寄存器MCCNT 读MCCNT :返回:
RDMCL=0 计数器当前值 ;RDMCL=1 加载寄存器值; 对输入捕捉或脉冲累加,如果设置为锁存模式且输入缓冲使能 (LATQ=1,BUFFEN=1),写$0000到MCCNT锁存TC 、PA到保持 寄存器 ;并且MCCNT保持位0 ,不会产生中断标志置1; 对应循环使用方式(MODMC=1),写入MCCNT的数据, 在 MCCNT回零后卡是生效,非立即生效。 对于单次计数方式(MODMC=0),写MCCNT,清零MCCNT,然 后并用新值更新计数器。实现规定时刻的计数开始。
TCNT TCn TCnH
重庆大学通信工程学院 王毅 王永东
1、非缓冲IC通道 有4个非缓冲通道(PT4~PT7)各自具有一个捕
捉寄存器。 可以由输入覆盖控制寄存器ICOVW决定捕捉到
的数据是否允许被覆盖。
2、缓冲IC通道 有4个缓冲通道(PT0~PT3)除了各自具有一个
捕捉寄存器外,还有一个保持寄存器,可以连续捕 捉2次不同时刻的值。
(1)16位模数计数器控制寄存器MCCTCL
MCZI:模数计数器向下溢出中断使能: 0:禁止 :1:使能 MODCM: 0:单次计数方式 ; 1:循环计数方式 RDMCL:模数读取位选择:
0:读回模数计数器当前值; 1:返回加载寄存器的值 ICLAT:捕捉寄存器强制转移控制位
0:无效: 1: TCn TCnH ; PAn PAnH;0 PAn MCEN:模数递减计数器使能位。 0:禁止 1:使能 FLMC:仅写1的时候,产生模数常数寄存器的内容强制装入 MCCNT,复位分频因子; MCPR1,MCPR0:
置位
相等
引脚控制逻辑
清零 翻转
OR
OR
Pin
OCn
TCn
16位输出比较寄存器 比如:0x5678 软件可以修改
OCnF 状态标志位置位, 当比较发生时(值相等时)
OCnI
• 共有8个输出比较通道 • 每个通道有自己的向量表和控制寄存器
中断请求
重庆大学通信工程学院 王毅 王永东
例:8-2 参见教材P148
可以工作在锁存方式或队列方式。
(注:锁存方式类似于非缓冲通道,队列方式就是先进先出)
重庆大学通信工程学院 王毅 王永东
输入捕捉功能过程
当外部事件发生时,或外部信号输入发生变化时,记录当前时间 TCNT
比较/捕捉 单元 16位自由运行计数器
OR
OR
引脚 ICx
上升/下降沿
沿选择 检测
延时 计数器
Edge
TICx 16位输入捕捉锁存器
• 共有8个输入捕捉通道 • 每个通道有自己的向量表和控制寄存器
16位保持寄存器 ICxF 捕捉发生时,状态位置1
可选中断屏蔽 ICxI
向CPU发出中断请求
应用: ABS 刹车. 雷达测距,发动机
注: 如果输入信号电平和跳变之前的电平相反时, 延时计数器在当前时钟计数时刻产生一个脉冲, 它用来去除噪声
除以
1 2 4 8 16 32 64 128
TCRE - 允许使用PWM功能
(3) 定时器中断使能寄存器TIE -- CnI (4) 定时计数寄存器TCNT
重庆大学通信工程学院 王毅 王永东
(5)定时器控制寄存器TCTL
B7 B6
TCTL1
OM7 OL7
RST: 0
0
B5 B4 OM6 OL6
0
0
重庆大学通信工程学院 王毅 王永东
8.3.1脉冲累加控制寄存器 1. 16位脉冲累加器A控制寄存器PACTL
PAEN: 脉冲累加器使能位:1:使能 ;0:禁止 PAMOD:脉冲累加器模式控制位:1:门控方式;0:事件计数 PEDGE:有效边沿设定:
PAOVI : 脉冲累加器溢出中断使能:0:禁止 ;1:使能。 PA I:脉冲累加器输入中断使能: 0:禁止 ;1:使能。 CLK1,CLK2:TCNT计时输入频率选择。
重庆大学通信工程学院 王毅 王永东
3.各控制寄存器的设定
具体的设置方式参见相关资料,重点是了解其 作用和意义。
(1)定时器控制寄存器TCTL
输入捕捉沿控制(IC7–IC0)
EDGxB EDGxA ICx EDGE
0 0 无边沿 – ICx 禁止
0 1 上升沿
1 0 下降沿
1 1 任何沿
OR
注:上、下沿用于测量周 期,任何沿用于测量高电 平或低电平宽度
PACLK = 总线频率/64.
重庆大学通信工程学院 王毅 王永东
2. 16位脉冲累加器A 标志寄存器PAFLAG PAOVF : 脉冲累加器溢出中断标志位 PAIF :计数方式:有效边沿产生计数同时产生中断标志;
事件方式:输入信号结束边沿产生中断标志
重庆大学通信工程学院 王毅 王永东
8.3.2模数计数器
重庆大学通信工程学院 王毅 王永东
S12 定时器的基本结构
总线时钟
模块计数中断
定时器溢出中断
定时器通道 0 中断 ~
定时器通道 7 中断 PA 溢出中断 PA 输入中断 PB 溢出中断
预分频因子 16 位计数器 16 位模数计数器
寄存器
16 位脉冲累加器 A 16 位脉冲累加器 B
通道 0 输入捕捉 输出比较
TOI 0 0 0 TCRE PR2 PR1 PR0
RST: 0 0
00
0
0
0
0
$000D
1 – 定时器由OC7比较符合时复位 0 – 定时器自由运行
1 – 定时器溢出中断使能 0 – 定时器中断禁止
预分频系数选择
PR2
0 0 0 0 1 1 1 1
PR1
0 0 1 1 0 0 1 1
PR0
0 1 0 1 0 1 0 1
Control Bits
Delay Counter
COMPARATOR CAP./COM. Register
0
Reset
Pulse Accumulator
CH1
Hold Register
Hold Register
重庆大学通信工程学院 王毅 王永东
8.2 输入捕捉/输出比较
8.2.1 输入捕捉 输入捕捉是通过捕获自由运行计数器来监视外部
Action on OCx
No Action OCx Toggle OCx Drive OCx LO Drive OCx HI
重庆大学通信工程学院 王毅 王永东
输出比较功能
• 在特定的时刻输出一个信号
TCNT
16位自由运行计数器
比较
比较器
当比较寄存器的值和计数 器的值相等时,采取行动 比如:当TCNT=0x5678
事件。主要用于信号检测、频率测量、脉冲宽度和 输入计数。 输入捕捉的基本定义: 外部事件或信号发生规定变化; 计数寄存器TCNT内容锁存到TCn; CnI= 1 , 允许中断, 发中断,置标志位CnF 记录事件发生的时刻、信号变化的时刻; TCnH 实现两次输入捕捉, 产生中断或置位
LDAA TCnH :PAn --》PAnH 并且 PAn=0; 重庆大学通信工程学院 王毅 王永东
3.脉冲累加器的计数方式
对事件计数模式,PEDGE 选 择哪个PAI的沿用来增加 PACNT寄存器
对门累加模式,PEDGE选择哪 个PAI 状态用来禁止计数 (比如. PEDGE = 1 -- 禁止计 数 当PAI = HI).
PA7/PAI
脉冲累加器输入引脚
8 – 位计数器
事件计数模式 引脚作为计数器时钟 软件选择以什么沿来计数 计数器溢出时,产生中断(可选) 在PAI引脚每个主动电平将产生中断
PA7/PAI 脉冲累加器输入引脚
8 位计数器
自由运行 E/64时钟
时间累加模式 引脚作为计数器
软件选择主动电平作为门的输入 当计数器溢出时产生中断 在使能的引脚上后面的边缘时产生中断
第八章 S12定时器模块
8.1 定时器模块概述 S12定时器模块在标准定时器基础上增加了一
些新功能,称为增强型定时器模块(Enhanced Capture Timer Module, ECT) 有一下特点: 4个具有16位缓冲寄存器的输入捕捉通道; 4个8位脉冲累加器可以通过级联形成2个16位的 脉冲累加器 1个具有4位预分频器的16位递减模数计数器; 4个可选的延迟计数器用来增强输入抗干扰能力。
… … …
通道 7 输入捕捉 输出比较
IOC0
… … …
IOC7
重庆大学通信工程学院 王毅 王永东
8.1.2 定时器结构
Bus Clock
Prescaler
Pin Logic
16-Bit Free-running Main Timer
Prescaler
load Register
16-Bit Modulo Down-Counter
1 – 计数器使能 0 – 计数器禁止
R = Reserved
重庆大学通信工程学院 王毅 王永东
8.3脉冲累加器和模数计数器 8.3.0脉冲累加器基础
1.脉冲累加器功能引脚 P0—P3 共4个累加器,对应IOC0—IOC3通道。 每个通道具有8位累加器 PAn及保持寄存器PAnH PA0+PA1=PACB ,IOC0 ,PBCTL, PBFLG PA2+PA3=PACA ,IOC7 ,PATAL,PACTL
OR
(2)输入延迟控制寄存器DLYCT
Pin Logic
Delay Counter
注:实用于低频信号抗干扰, 对高频信号不适用
重庆大学通信工程学院 王毅 王永东
(3)定时器中断标志寄存器TFLG
① TFLG1: CnF
CnF =1:通道n有中断事件发生; ② TFLG2:
TOF:定时器溢出标志位
清CnF、 TOF标志位的方法:向对应标志位置1 ,实现清位。
CLK
.
TCNT
Address Offset $0004, 05
B0.......……...B7 B8……..........B15
PIN
脉冲累加器
TEN
DATA BUS
TSCR1 -定时器控制寄存器
TEN TSWAI TSFRZ TFFCA R R R R $0006
RST: 0 0 0 0 0 0 0 0