智能车制作

标题: S12XS128程序--ECT模块介绍 [打印本页]

作者: wuhanpin    时间: 2010-7-23 12:26
标题: S12XS128程序--ECT模块介绍
1、简述
    MC9S12XS128定时器模块与MC9S12DG128 ECT部分功能完全类似,以下均以ECT模块介绍xs128定时器模块。
        HC12 增强型捕捉计时器模块在HCS12标准定时器的基础上增加了一些特点,用以扩展它的应用范围,特别是在汽车 ABS 方面。
    基准计时器的核心仍然是一个 16 位的可编程计数器,其时钟源来自一个预分频器。该计时器可以被应用于多个方面,包括在对输入波形进行测量的同时产生一个输出波形。波形的脉宽可以在几微秒到数秒的范围内变化。
    增强型定时器模块(ECT)的结构框图如下,ECT功能相当于高速的I/O口,由一个4位预分频器、一个16位自由运行计数器,8个16位IC/OC通道,2个16位脉冲累加器以及一个16位模数递减计数器组成。


        ECT实际上是一个16位的可编程计数器,它的基本时钟频率可以通过预分频器设置,用于产生波形输出,测量输入波形,统计脉冲个数,可以作为定时中断功能和独立时钟基准。
2、运行模式
停止:由于时钟停止,计时器和计数器均关闭。
冻结:计时器和计数器均保持运行,直到 TSCR($06)的 TSFRZ 位被置 1。
等待:计数器保持运行,直到 TSCR($06)的 TSWAI 位被置 1。
正常:计时器和计数器均保持运行,直到 TSCR($06)的 TEN 位和 MCCTL($26)的 MCEN 位被分别清 0。
IC 通道组
       IC 通道组由四个标准的缓冲通道 IC0-IC3 和四个非缓冲通道 IC4-IC7 组成, 两部分的基本功能都是捕捉外部事件发生的时刻,但是缓冲通道除了 IC/OC 寄存器 TCn 外,还设有保持寄存器 TCnH,此外还在入口设置了延迟计数器,用来提高抗干扰能力。非缓冲通道没有保持寄存器,入口也没有延迟计数器,但每个通道入口设置了一个 2 输入端的多路器,事件触发信号可以是来自本通道的输入引脚 PORTn,也可以是来自其关联通道 PORT(n-4)的延迟计数器输出,使用更 加灵活。当延迟功能有效时,输入引脚检测到一个有效的边沿后,延迟计数器开 始对 P 时钟(模块时钟)进行计数,当到达设定的计数值后,延迟计数器在其输出 端有条件地产生一个脉冲,这个条件就是延迟前后的引脚电平相反。这样可以避免对窄输入脉冲做出反应。延迟计数结束后,计数器自动清除。输入信号两个有 效边沿之间的持续时间必须大于设定的延迟时间。

    在 ECT 中,所有 IC 通道均设置了覆盖保护功能,可以通过寄存器 ICOVW设置是否允许某个通道用新的捕捉结果覆盖上一个结果。
    对于缓冲的 IC 通道 PT0-PT3,还具有锁存与队列两种工作方式。在锁存方 式下,每个有效的引脚事件只将自由定时器的值放入捕捉寄存器 TCn,而 TCn 到保持寄存器 TCnH 的传送必须依赖递减模数计数器回 0 或者其他强制锁存命令 才能实现,这时 IC 的工作情形与第 6 章的 TIM 模块相似。在队列方式下(图 7-2), TCn 与 TCnH 形成了一个类似先进先出的队列,每个捕捉结果从 TCn 进入,然 后随着下一个捕捉结果的到来移入 TCnH,程序可以从 TCnH 取得结果,然而这 个队列是开放的,即程序也可以直接从 TCn 取得捕捉结果。队列方式为 CPU 提 供了充分的响应时间。
    由于 PAC0-3 与 IC0-3 共享相同的引脚,而且共享入口的逻辑,因此在两种 方式下,PAI 与 IC 都可以同时工作,对同一引脚进行记录,前者记录脉冲或者 边沿的数量,后者记录具体的时刻。
  
模数递减计数器
       16 位递减模数计数器(MDC)可以用作时钟基准,产生周期性的中断请求, 也可用于将 IC 寄存器和脉冲累加器的值锁存到各自的保持寄存器中。锁存动作 可以通过程序设定为周期性的或一次性的。MDC 的时钟频率可通过独立的定标 器设定,内部设有定时常数寄存器,可以实现自动重装载,但 MDC 的常数寄存 器与 MDC 计数器使用相同的地址,加载时通过特殊的时序实现。
    每当 MDC 回 0 时,将在给定的时间段内控制贮和 PAI 寄存器的内容向各自 的缓冲寄存器传输。反映了 MDC 在 IC、PAI 系统中的作用。

脉冲累加器
    脉冲累加器由 4 个 8 位的通道 PAC0-PAC3 组成,可以通过级联形成两个 16 位通道 PACA、PACB,它可以统计输入引脚上出现的有效边沿的数量,也可以统计有效电平出现的累计时间。各个通道的 8 位保持寄存器是与 4 个缓冲 IC 通 道相关联的,它们共享边沿检测与延迟电路。当 IC 工作在两种不同的队列方式 时, PAC 保持寄存器也处于不同的工作状态,在锁存方式下,PCnH 的加载依 靠 MDC 计数器或者强制命令实现,而在队列方式下,则依靠 IC 通道的 TCnH 读命令。可见在 ECT 模块下, IC 与 PAI 的工作联系更加紧密。

    此外,脉冲累加器还有饱和记忆功能,当 8 位的脉冲累加器计数超过$FF 后 记忆保持,而不回滚到 0,这时,计数值$FF 意味着计数已经达到或超过 255, 如不需要,该功能可以关闭。这可以用来监视某个通道的计数值是否已经达到预 定的目标值。

    值得注意的是,PACl、PAC0 级联后,输入引脚为 PT0,而 PAC3、PAC2 级 联后,输入引脚并不是 PT2,而是 PT7,这样可以与那些无 ECT 的 MCU 保持一 致性。

手把手教你写S12XS128程序(19)--Timer寄存器说明1
时间:2009-12-31 23:42来源:电子设计吧 作者:dzsj8 点击: 1126次
1、定时器/计数器系统控制寄存器 1(TSCR1)

寄存器偏移量:$0006
Bit7        Bit6        Bit5        Bit4        Bit3        Bit2        Bit1        Bit0
TEN           TSWAI        TSFRZ        TFFCA        0               0               0                0        
可在任何时候读或写。
TSCR1 寄存器是定时器模块的总开关,它决定模块是否启动以及在中断等待、BDM 方式下的行为,还包括标志的管理方式。其各位的意义如下:

TEN:定时器使能位,此外它还控制定时器的时钟信号源。要使用定时器模块的 IC/OC 功能,必须将 TEN 置位。如果因为某种原因定时器没有使能,脉冲累加器也将得不到 ECLK/64 时钟,因为 ECLK/64 是由定时器的分频器产生的,这种情况下,脉冲累加器将不能进行引脚电平持续时间的累加。
0:定时器/计数器被禁止,有利于降低功耗。
1:定时器/计数器使能,正常工作。

TSWAI:等待模式下计时器关闭控制位。
【注意】定时器中断不能用于使 MCU 退出等待模式。
0:在中断等待模式下允许 MCU 继续运行。
1:当 MCU 进入中断等待模式时,禁止计时器。

TSFRZ:在冻结模式下计时器和计数器停止位。
0:在冻结模式下允许计时器和计数器继续运行。
1:在冻结模式下禁止计时器和计数器,用于仿真调试。
【注意】TSFRZ 不能停止脉冲累加。

TFFCA:定时器标志快速清除选择位。
0:定时器标志普通清除方式。
1:对于 TFLGl($0E)中的各位,读输入捕捉寄存器或者写输出比较寄存器会自动清除相应的标志位 CnF。对于 TFLG2($0F)中的各位,任何对 TCNT 寄存器($04、$05)的访问均会清除 TOF 标志;任何对 PACN3 和 PACN2 寄存器($22,$23)的访问都会清除 PAFLG 寄存器($21)中的 PAOVF 和 PAIF 位。任何对 PACN1 和 PACN0 寄存器($24,$25)的访问都会清除 PBFLG 寄存器($21)中的 PBOVF 位。
【说明】这种方式的好处是削减了另外清除标志位的软件开销。此外,必须特别注意避免对标志位的意外清除。


2、计时器系统控制寄存器 2(TSCR2)

寄存器偏移量:$000D
Bit7        Bit6        Bit5        Bit4        Bit3        Bit2        Bit1        Bit0
TOI           0               0               0               TCRE         PR2            PR1            PR0   
可在任何时候读或写。
TOI:定时器/计时器溢出中断使能。
0:中断被禁止。
1:当 TOF 标志被置位时发出硬件中断请求。
【注意】TOF标志位在TFLG中

TCRE:定时器/计数器复位使能。
该位在通道 7 成功输出比较之后允许时钟计数器复位。该操作模式类似于递增型计数器。
0:计数器复位禁止,计数器自由计数。
1:通道 7 成功输出比较后计数器将被复位。

【说明】如果 TC7=$0000 并且 TCRE=1,TCNT 将继续保持$0000。
如果 TC7=$FFFF 并且 TCRE=1,当 TCNT 从$FFFF 到$0000 之间被复位后TOF 将永远不被置位。

PR2,PR1,PR0:计数器预分频选择。
这三位所决定的分频因子如下表所示。分频因子选择
PR2        PR1        PR0        PrescaleFactor
0        0        0        1
0        0        1        2
0        1        0        4
0        1        1        8
1        0        0        16
1        0        1        32
1        1        0        64
1        1        1        128

【说明】新设定的分频因子不会立即起作用,直到下一个触发沿到来那里所有预分频计数器值均为零。
作者: 沙漠狼    时间: 2010-7-23 13:43

作者: 139428650    时间: 2010-10-19 16:11

作者: 饭醉分子    时间: 2010-11-18 19:17
哇   谢谢
作者: 亿千二    时间: 2011-1-7 18:20
好高深啊
作者: 亿千二    时间: 2011-1-7 18:20
迷茫
作者: zhangcanwang    时间: 2011-1-12 16:56
ding
作者: 赵超超    时间: 2011-2-17 13:48
很有帮助啊!!
作者: linyujin    时间: 2011-2-17 22:20
楼上说的很好啊!
作者: 似曾相识    时间: 2011-2-20 08:40
好东东
作者: JURNEY    时间: 2011-2-22 19:36
的确很好!
作者: JURNEY    时间: 2011-2-22 19:37
的确很好!
作者: JURNEY    时间: 2011-2-22 19:37
的确很好!
作者: freegreen    时间: 2011-2-23 13:16
很强大的东西,学习了
作者: 梧桐1209    时间: 2011-2-28 19:48
来过
作者: sajoenklgfja    时间: 2011-3-14 18:36
高深啊
作者: liaopinghappy    时间: 2011-4-18 16:07

作者: 诗雨依然    时间: 2011-4-25 10:50

作者: 放开那女孩    时间: 2011-6-16 21:26
hhah
作者: Rukelir    时间: 2011-6-20 18:04
LZ  好人
作者: mashilin4    时间: 2011-8-6 11:00
顶起  很好的东西啊;;‘
作者: panshaosong    时间: 2011-8-6 18:43
顶一下
作者: 海鹏    时间: 2011-8-16 10:52
hao!
作者: lium7    时间: 2011-8-21 14:55
3q
作者: 理工小别    时间: 2011-11-19 16:24
还是不够详细啊
作者: 乐逍遥a    时间: 2012-2-6 16:39
好!!
作者: mian    时间: 2012-2-23 17:00

作者: mian    时间: 2012-2-23 17:00

作者: 带着飞翔的翅膀    时间: 2012-3-10 14:19
智能车学定时器模块是学PIT还是ECT啊   哪位能帮忙解答下。
作者: 逝水千年    时间: 2012-5-8 21:51
不是吧,好像是递增计数器来着……




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2