计数比较子模块通过两个比较寄存器来产生两个独立的比较事件:
●CTR=CMPA,时基计数器(TBCTR)的值等于计数比较寄存器A(CMPA)的值(TBCTR=CMPA)。
●CTR=CMPB,时基计数器(TBCTR)的值等于计数比较寄存器B(CMPB)的值(TBCTR=CMPB)。
图7-6 计数比较子模块框图
对于增计数和减计数模式,每个周期只发生一次比较事件。对于增减计数模式,当计数比较寄存器值在0x0000~TBPRD之间时,每个周期发生两次比较事件。当计数比较寄存器的值为0x0000或TBPRD时,每个周期只发生一次比较事件。这些事件将送到动作限定子模块去。
计数比较寄存器A(CMPA)和计数比较寄存器B(CMPB)各自都有一个影子寄存器,这样可以实现寄存器与硬件的同步。计数比较寄存器和对应的时基周期影子寄存器地址是一样的。通过对CMPCTL[SHDWAMODE]和CMPCTL[SHDWBMODE]位操作来使能或禁止时基周期影子寄存器。
●影子模式。清除CMPCTL[SHDWAMODE]位可以使能计数比较寄存器A(CMPA)
影子模式,清除CMPCTL[SHDWBMODE]位可以使能计数比较寄存器B(CMPB)(www.daowen.com)
影子模式。当计数比较寄存器A(CMPA)和计数比较寄存器B(CMPB)影子寄存器都使能时将出错。当影子寄存器使能时,影子寄存器中的值在下列事件发生时将写到计数比较寄存器中:
CTR=PRD时基计数器(TBCTR)的值等于周期值。
CTR=0(Zero)时基计数器(TBCTR)的值等于0。
两者CTR=PRD和CTR=0。
被送到动作限定子模块的事件,只能通过计数比较寄存器的值来产生,而不能通过影子寄存器来产生。
●立即装载模式。该模式寄存器的写和读操作不用通过影子寄存器实现。
计数比较子模块在3种计数方式即增计数方式、减计数方式及增减计数方式下,都可以产生比较事件。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。