NEC Electronics (China) NEC ELECTRONICS (CHINA)
日电电子 NEC
主  页
应  用
产  品
技  术
支  持
购  买
最  新  消  息
关  于  我  们
header
产品名称搜寻
关键字搜寻
文档搜寻
参数搜寻
    网页指南  联系我们  

FAQ



 定时器, 计数器
内容    
FAQ-ID = 78timer-nnnn
0001: 反转控制定时器能否用于间隔定时器中断?
0002: 我想永久停止 TO70 至 TO75 的定时输出。
0003: 定时器等待而不使用中断
0004: 计数时钟错误有多少?
0005: 外部事件计数器不回应。
0006: 当将一个定时器的输出作为另一个不同的定时器的输入时的中断控制
0007: 捕获功能限制的描述
0008: 初始计数值变为1。
0009: PPG 输出中的 ON 和 OFF 时间的倒置 [所有 78K0 和 78421x]
0010: PPG 输出意外反转。

78timer
-0001
反转控制定时器能否用于间隔定时器中断?
问1 在 uPD780984 中, 对于间隔定时器中断,可以使用10位的反向控制定时器吗?
如果可以,停止 TO70 至 TO75 的输出的方法是什么?
答1 可以。
在每次 TM7 下溢时会产生 INTTM7。
此外,为了禁止 TO70 到 TO75 的输出, 通过设置 TMM7 寄存器的 TOEDG 位来指定有效沿,设置TOSPP位, 然后输入 TOFF7 引脚的有效沿将停止 TO70 至 TO75(Hi-Z)的输出。
当 TOSPW 位被设置时,通过 INTWDT 也能停止输出。
78timer
-0002
我想永久停止 TO70 至 TO75 的定时输出。
问1 我正在使用 uPD78F0988 的10位间隔定时器, 但是因为不需要 TO70 至 TO75 的输出, 那么有什么方法能永久停止这些输出?
答1 在把 TMM7 寄存器的 TOSPP 位设为1,使定时器工作后, 输入活动边沿(由 EGP 和 EGN 的第0位定义边沿, 并且指定了 INTP0 的活动边沿)到 TOFF7 引脚。(活动边沿也可以从 P00 输出)

欲了解详细情况,请参考用户手册中对于 TMM7 描述的注释1)
78timer
-0003
定时器等待而不使用中断
问1 我能否使用下面的处理,不用中断而是简单的等待一个定时器给定的时间间隔?

(1) TMMK50 = 0 (中断允许)
(2) 定时器相关寄存器设置
(3) 启动定时器
(4) 无限循环直至中断请求信号 TMIF50 = 1
答1 这种方法是有问题的。
如果你不想用中断执行定时处理,请屏蔽中断。
你可以在一个无限循环内等待,直到 TMIF50 被设置,但是在进入循环之前,要清除 TMIF50。
还有,一旦 TMIF50 被设置以及循环结束,都要清除 TMIF50。
问2 因为此时不需要中断服务,那么不定义相关的中断功能是否可以?
答2 是的,不必要定义中断功能。
(2001/08)
78timer
-0004
计数时钟错误有多少?
问1 用于定时器的时钟的错误是什么,等等?
答1 在基于 fxx 的内部生成时钟和计算值之间是没有错误的。
如果存在错误,是由振荡时钟(主系统时钟)的差异引起的。

现在,从你询问的内容来判断, 你所描述的更相似于一个定时器中断变化而不是一个时钟错误。
定时器中断变化是一种发生在从中断发生到开始处理的间隔时间的变化, 并且变化范围在7到32个时钟之间,这依赖于正在执行的指令。
(也依赖与定时器中断和其他中断的关系。如果是中断关闭状态,间隔时间甚至更长。)
78timer
-0005
外部事件计数器不回应。
问1 在 uPD784031 中,我使用定时器1(16位)作为外部事件计数器, 但是它对外部输入信号(INTP0)不作出反应。
答1 对于定时器0,定时器1的外部时钟以及CPU的操作时钟的内部时钟的关系有些限制。

在每个定时器内,4倍于 CPU 时钟周期的一个高电平周期和一个低电平周期是需要的。
当 STBC 是处于初始状态时,CPU 时钟周期是所提供时钟的16倍。
在这种情况下,高电平周期和低电平周期必须是 5μs.。

SCS0 也是影响 INTP0 采样的因素,设置 INTM0 和 INTM1 也需要指定采样边沿。
请检查这几点。
78timer
-0006
当将一个定时器的输出作为另一个不同的定时器的输入时的中断控制
问1 在uPD784215中,我想要操作间隔定时器(INTTM3),计数时间是250ms,然后产生 INTTM00 中断。

在进入待机模式等待 INTTM00 之前,只是清除 TMMK0 就可以了吗?
是否计数操作并不执行,除非 TMKK3 也被请除?
另外,每次必须清除 TMIF3 吗?
答1 没必要清除 TMMK3。
在这种情况下,INTTM3 仅仅被用于时器0的计数时钟,因此没有必要产生一个中断。
确定已经屏蔽了 TMMK3。

另外,如果 TMIF3 被屏蔽,它不会影响其他任何事,因此可以被忽略。
如果 TMMK3 被清除,甚至不需要的中断可能会发生。
在这种情况下,每次 INTTM3 中断都会被响应,同时会清除 TMIF3,因此不需要操作 TMIF3。
78timer
-0007
捕获功能限制的描述
问1 在 uPD789407 用户手册中,关于 TMC50 的描述有如下段落:
如果计数时钟被设置为 fx,就不能使用捕获功能。
当进行读操作时,设置 CPU 时钟为主系统时钟高速模式。

读操作和输入捕捉是不同的吗?
答1 是的,不同。
读操作意味着通过16位计数器的读缓冲器读取定时器寄存器50(TM50)。
这句话说的是两个完全不同的事情。

前半句描述了对于捕获功能的限制。
在这种情况下,自然的,捕获功能不能使用,因此寄存器 50 被读取。

后半句描述了在读取时的限制。
78timer
-0008
初始计数值变为1。
问1 当使用 uPD78F9026A 的8 位的定时器作为一个外部事件计数器时, 计数操作是通过上升沿来执行的。
如果来自外部计数时钟的输入电平被固定为高电平, 在操作被允许(TCE00=1)后,TM00 的值立即变为1。
答1 就外部事件计数而言, 是这样规定的,如果外部信号以相同的极性作为活动边沿, 被解释为每产生一个有效沿,计数器加1。
为了避免这种情况,把 T10 引脚设置为一个不同与活动边沿的状态。
(2001/08)
78timer
-0009
PPG 输出中的 ON 和 OFF 时间倒置 [所有 78K0 和 78421x]
问1 在uPD78F0034A 中,我想用一个固定的频率且改变占空比, 但当我使用 PPG 输出检查检查波形时,有时 ON 和 OFF 的时间是倒置的。
答1 写入 CR01 的时序可能有问题。
定时器0的输出反转依赖于 CR00 和 CR01 的匹配。
因此,如果CR01被匹配后,被一个更大的值覆写, 与CR01的第二次匹配将发生在同一个周期内, 将再一次引起输出的反转,返回原始值。

或者,当定时器数值小于 CR01 时,如果一个比定时器的值更小的值被写入, 与CR01的匹配将不会发生在那个周期内,所以与 CR00 的匹配不会连续的发生。 因此,输出状态反转。

也可以参考接下来的 FAQ "没有 PPG 输出"
78timer
-0010
PPG 输出意外反转。
问1 我正在使用 uPD780034A 的16位定时器作为 PPG 输出。
CR00 是固定的(脉冲周期固定),并且 CR01 周期地被写入一个给定的值(用作PWM输出)。
我想在 TM0 的计数值是0到 CR01 期间内输出"H",从 CR01 到 CR00 期间输出"L"。

但是当重写 CR01 值时,存在下面的情况,"H"和"L"的输出被倒置。 (为使这次的 CR01 值大于前次的 CR01值而重写计数值,重写的时序位于 "TM0 和前次的 CR01 匹配"发生 和"TM0 和此次的 CR01 匹配"发生之间。)
答1 这是一个正常的操作。
对于16为计数器,输出的反转依赖于定时器的值与比较寄存器的值匹配。
因此,在与 CR01 匹配而输出反转后,在与 CR00 匹配之前,一个与 CR01 的匹配将再次发生, 并且输出再一次反转。

请执行设置,以使:如果新的 CR01 值比现在的 CR01 值小, 对 CR01 的重写时序放于定时器和 CR01 的匹配中断发生时; 如果新的 CR01 值比现在的 CR01 值大, 对 CR01 的重写时序放于定时器和 CR00 的匹配中断发生时。

另外,如果设置 CR01 的时间总是比中断服务时间长, 建议在 CR00 匹配中断发生时设置 CR01 的值。



   LEGAL    最新之产品资料, 请参阅英文版
 请用Internet Explorer浏览本网站以达最佳效果。
  © 2005-2008  NEC Electronics China Limited