原创 PCA概述

2009-9-22 18:54 2774 9 9 分类: MCU/ 嵌入式

                          PCA可编程计数器阵列(ProgramableCounterArray)


       PCA就是一个定时器(计数器),和一般定时器原理相似:当PCA被使能则PCA由初值开始定周期累加,然后读取PCA的值。我们通常的做法是比较PCA是否等于我们提前设定的定时标志寄存器的值,如果相等,则定时时间到。PCA也是这样,不过PCA已经给我们准备好了定时标志寄存器,也已经做好了比较机制,不再需要我们在程序中添加比较语句。


       PCA是一个16位定时器,它有5个定时标志寄存器(CCAPnH+CCAPnL,n=0,1,2,3,4),把PCA划分成5个定时模块,这5个模块分别有一个单片机引脚与之对应。与标准的定时器/计数器相比,PCA对CPU 的干扰小,定时更精确,减少了软件设计。


 PCA相关寄存器


CMOD:PCA模式选择寄存器





7


6


5


4


3


2


1


0



CIDL


WDTE


-


-


-


CPS1


CPS0


ECF


CIDL:0-单片机空闲模式PCA工作;1-单片机空闲模式PCA不工作


WDTE:0-定时模块4禁用看门狗;1-定时模块4启用看门狗


CPS1,CPS0:PCA定时频率选择位(具体请看DATASHEET)


ECF:1-使CF为1时会产生中断


CCON:PCA控制寄存器





7


6


5


4


3


2


1


0



CF


CR


-


CCF4


CCF3


CCF2


CCF1


CCF0


CF:PCA定时2BYTE溢出标志,当CF变高时,PCA会产生溢出中断,CF位必   须    软件清零,前提是ECF对CF使能


CR:PCA启停位,0-停止PCA计数,1-启动PCA计数


CR:PCA启停位,0-停止PCA计数,1-启动PCA计数


CCFn(n=0,1,2,3,4):当PCA某个模块检测到PCA定时器的值和自己的定时标志寄存器的值相等时,对应的CCFn会被硬件置位, CCFn必须软件清零,前提是对应的MAT对CCF使能


3.CCAPMn:PCA比较模式选择寄存器(n=0,1,2,3,4)





7


6


5


4


3


2


1


0



-


ECOM


CAPP


CAPN


MAT


TOG


PWM


ECCF


ECOM:0-关闭比较功能;1-打开比较功能


CAPP:1-PCA的下降沿捕捉定时器的值


CAPN:1-PCA的上升沿捕捉定时器的值(当CAPP和CAPN都为1时,上升沿和下降沿都捕捉)


MAT:1-使能定时时间与定时标志寄存器相等时CCF由硬件置位的功能


TOG:1-使能定时时间与定时标志寄存器相等时,该模块对应的管脚输出高电平的功能


PWM:1-脉宽调制功能打开;0-脉宽调制功能关闭


ECCF:1-使当CCF=1时可以产生中断


4.CCAPnH, CCAPnL (n=0,1,2,3,4):PCA定时标志寄存器


5.CH,CL:PCA定时寄存器


6.CEXn (n=0,1,2,3,4):与各模块相关的单片机引脚


三 PCA基本功能


PCA基本功能有5种:捕捉功能、16位软件定时器功能、高速输出功能、脉冲宽度调制功能PWM和看门狗功能,其中看门狗功能只有模块4支持,具体说明如下:


1.捕捉功能:


选择方法:ECCF=1


功能介绍:当给所用模块相应的管脚改变时,PCA会将当前定时器中的值捕捉到用户的定时标志寄存器中,捕捉后该模块的CCFn会被硬件置位,同时产生中断。


2.16位软件定时器功能:


       选择方法:ECOM=1;ECCF=1;MAT=1


       功能介绍:定时器值和定时标志寄存器的值相等时会有中断产生


3.高速输出功能:


选择方法:ECOM=1;TOG=1;MAT=1 ECCF="1"


功能介绍:定时器值和定时标志寄存器的值相等时该模块相应的管脚上有触发产生(高电平)。


4.脉冲宽度调制功能:


选择方法:ECOM=1;PWM=1


功能介绍:此功能通过比较定时器的低字节和定时标志寄存器的低字节来在模块相应的管脚上输出PWM调制电平,当CL < CCAPnL 时输出值为低,当CL >= CCAPnL 时,输出值为高。


5.看门狗功能


选择方法:ECOM=1;MAT=1;TOG=1;WDTE=1


功能介绍:定时器值和定时标志寄存器的值相等时,看门狗产生复位。用户可以周期性改变CCAP4H和CCAP4L防止定时器值和定时标志寄存器的值相等,从而防止复位。此功能只有模块4可以使用。



       PWM(Pulse Width Modulation,脉宽调制)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。随着电子技术的发展,出现了多种PWM技术,其中包括:相电压控制PWM、脉宽PWM法、随机PWM、SPWM法、线电压控制PWM等,PWM码是一种脉宽调制码,它的组成为9MS高电平和4MS低电平引导脉冲,16位系统识别码,8位数据正码和8位数据反码。

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
9
关闭 站长推荐上一条 /3 下一条