chuxuezhe 当前离线
金牌会员
* 1个16位的捕获FIFO状态寄存器CAPFIF0x。
* 可选择通用定时器1/2(EVA)或者3/4(EvB)作为时
基。
TOP
* 6个16位2级深的FIFO栈(CAPxFlFO),每个对应一个捕获单元,
* 3个施密特触发器输入引脚(对于EVA,CAPl/2/3;
对于EVB,CAP4/5/6),每个捕获单元一个输入引脚(所有的输入和内部CPU时钟同步,为使跳变被捕获,输入必须在当前电平保持两个CPU时钟周期。
输入引脚CAP1/2和CAP4/5也可用作正交编码器脉冲电路的正交编码器脉冲输入)。
* 用户可定义跳变检测方式(上升沿,下降沿或二者)
* 6个可屏蔽的中断标志位,每个标志位对应一个捕获单元
6.8.2 捕获单元的操作
在捕获单元位能后,相应输入引脚上的指定转换会将所
选的通用定时器的计数值装入到相应的FlFO堆栈。同
时,如果有个或更多有效的捕获值保存在FlFO堆栈
(CAPx FlFO位不等于0)中,则相应的中断标志位被置
1。如果该个断标志没有被屏蔽,产生一个外设中断 请求。
每当将捕获到的新计数值存入到FlFO堆栈时,CAPFlFOx 的相应状态位被调整以反映FlFO堆栈的新状态。从捕获单元输入引脚处发生转换到所选通用定时器的计数值被锁存之间的延时需要2个CPU时钟周期。
1.捕获单元时间基准的选择
对EVA模块,与 CAP1和CAP2不问,捕获单元CAP3有白己独立的时基选择位,这就允许同时使用2个通用定时器, CAP1和CAP2共用一个,而CAP3单独使用一个。在EVB模块,CAP6有自己独立的时基本选择位。捕获操作不影响与任何GP定时器对应的任何GP定时器 操作或比较/PWM操作。
2.捕获单元的设置
为使捕获单元能正常工作,需对寄存器进行以下设置:
* 初始化捕获FlFO状态寄存器(CAPFlFOx),清除专用状
态位。
* 设置选定的GP定时器为一种操作模式。
* 如果需要,设置相应的GP定时器比较寄存器或GP定时
器周期寄存器。
* 设置相应的CAPCONA或CAPCONB。
6.8.3 捕获单元寄存器
捕获单元的操作由4个16位的控制寄存器CAPCONA/B和
CAPFlFOA/B控制。因为捕获电路的时间基准是由GP
定时器1/2或3/4提供的,所以TxCON(x=1,2,3或4)
寄存器用于控制捕获单元的操作。
另外,寄存器CMCONA/B也可用于正交编码器脉冲电路
的操作。
1.捕获控制寄存器CAPCONx
(1)捕获控制寄存器A(CAPCONA),映射地址:7420h。
CAPCONA各位的意义:
位15 CAPRES。捕获复位,该位只能写,任何读的结
果均为0。 向位15写0将清除所有的捕获和QEP寄存
器。但是,使能捕获功能时不需要向位15写1。
0 所有捕获单元和正文编码脉冲电路的寄存器清o
1 无动作
位14-13 CAPQEPN。捕获单元1和2的控制位。
00 禁止捕获单元1fu 2,FIF0堆栈保持原内容
01 使能捕获单元1和2
10 保留
11 保留
位12 CAP3EN。捕获单元3控制位。
0 禁止捕获单元3,其FlFO堆栈保持原内容
1 使能捕获单元3
位11 保留位。
位10 CAP3TSEL。捕获单元3的通用定时器选择位。
0 选择通用定时器2
1 选择通用定时器1
位9 CAP2TSEL。捕获单元1和2的通用定时器选择位。
1 选择通用定时器1位8 CAP3TOADC。捕获单元3事件启动ADC转换位:
0 无操作
1 当CAP3INT标志位被置位时,启动ADC(模数转换
位7-6 CAP1EDGE。捕获单元1的边沿检测控制位。
00 无检测
01 检测上升沿
I0 检侧下降沿
11 上升沿、下降沿均检测
位5-4 CAP2EDGE。捕获单元2的边沿检测控制位。
10 有两个输入
11 有两个输入并又捕获到一个,第一个输入已丢
失。
位9-8 CAP1FlFO。捕获单元1的FlFO状态位
00 空
01 有一个输入
位7-0 保留位