1.介绍
eCAP模块包括以下的资源:
*可分配的输入引脚。
*32-bit时间基准(计数器)。
*4个32bit时间窗捕获控制寄存器。
*独立的边缘极性选择。
*输入信号分频(2~62)。
*4Capture event均可引起中断。
2. eCAP模块功能分析
eCAP模块可以设置为event capture模式或者是APWM模式,一般而言前者比较常用,在这里我们只对第一种进行介绍。在eventcapture模式下,一般可以将eCAP模块分为以下几个模块:事件分频、边沿极性选择与验证、中断控制。
2.1 事件分频
输入事件信号可通过分频器分频处理(分频系数2~62),或直接跳过分频器。这个功能通常针对输入事件信号频率很高的情况下。
2.2边沿极性选择与验证
1)4个独立的边沿极性(上升沿/下降沿)选择通道。
2)Modulo4 序列发生器对Each edge(共4路)进行事件验证。
3)CAPx通过Mod4对事件边沿计数。CAPx寄存器在下降沿时被装载。
2.3 32-bit计数器(TSCTR)
此计数器为event capture提供事件基准,而时钟的计数则是基于系统时钟的。当此计数器计数超过范围时,则会产生相应的溢出标志,若溢出中断使能,则产生中断。此计数器在计算事件周期时非常有效。详细的资料请参看spru807应用部分。
2.4中断控制
中断能够被capture events(CEVT1-CEVT4,CTROVF)触发。计数溢出同样会提供中断。事件单独地被极性选择部分以及序列验证部分审核。这些事件中的一个被选择用来作为中断源送入PIE。
设置中断的Proper过程
1) Disable global interrupts.
2) 停止eCAP计数。
3) Disable eCAP interrupts。
4) 设置外设寄存器。
5) 清除eCAP中断标志位。
6) Enable eCAP中断。
7) Start ecap 计数器。
8) Enable global 中断。
3.eCAP模块的理解
配置好eCAP模块的引脚后,外部事件由引脚输入,首先通过模块的分频部分,分频系数为2~62,也可以选择跳过分频部分。经过分频部分后的信号(通常频率会降低),送至边沿及序列审核部分,边沿审核即设置为上升沿或下降沿有效,序列审核则是分配当前对哪个寄存器(CAP1~CAP4)作用的问题,之后就是中断部分了。引起中断的中断源有7个,event capture模式下有五个,分别是审核后各路的事件以及溢出中断。