用过飞思的8位单片机,会深深地喜欢TPM模块;同样,用过HCS12,便会想充分地理解ECT模块。
有不少朋友发邮件问我ECT的东西,说白了,还是因为ECT框架没看清楚。建议想认识ECT的看看整体框架。本博里也有不少关于ECT的讨论。现再写三篇,讨论一下输入捕捉和输出比较。
QG8有一个timer,有两个TPM通道;
AW60有两个Timer,共8个TPM通道;
HCS12DG有1个TIMER,有8个ECT通道;
TPM模块和ECT最大的不同是
1:前者集成了PWM。
2:前者没有MDC模块。但是8位单片机里有些有MTIM。
按我自己的理解,先解释几个名词:
timer:时钟参考,他有自己的溢出中断,HCS12经过分频,TEN使能,之后TCNT做自由运行计数器,当TCNT累加到0XFFFF就溢出。这个个累加过程中,TCNT一直给ECT其它的功能作时钟参考。到底给哪些作时钟参考呢?给需要时钟功能模块的,哪些需要时钟呢?自己想吧。
这部分我专门总结了一个专题:
通道:通俗地讲就是独立的,起ECT相关功能的管脚。如HCS12,就有8个通道。PTO--PT7
输入捕捉:对管脚的电平变化进行捕捉,这里必须理解成硬件引发中断。(PS:什么是软件引发中断?如:计时器溢出中断,输出比较,不需要发部触发产生的中断)
好了,解释完了,开始具体一点的内容。
ECT配备了8通道、独立的16位双向功能通道。通过TIOS设定是输入捕捉还是输出比较。
当IOSx为0时,相应的通道设为输入捕捉,为1时相应的通道就设为输出比较。(x代替0-7,)
PS:在飞思的老版本的DS里,用n代替0-7.看起来很不习惯。
当要把PT0--PT7作普通I/O用时,TIOS不要作任何设置。
关于更具体的内容,后面的系列将会详细介绍并给例子。a
阅读(1503) | 评论(0) | 转发(0) |