9、增强型脉冲捕获模块eCAP.pptVIP

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
9、增强型脉冲捕获模块eCAP

第九讲:增强型脉冲捕获模块eCAP “事无巨细,无非因果”,输入对输出有着非常重要的影响。脉冲量的输入是在数字控制系统中最常见的一类输入量,控制器专门设置了脉冲捕获模块(eCAP)来处理脉冲量,通过脉冲捕获模块捕获脉冲量的上升沿与下降沿,进而可以计算脉冲的宽度和占空比,可以采用脉冲信号进行相关控制。 捕获单元模块能够捕获外部输入引脚的逻辑状态(电平的高或低、电平翻转时的上升沿或下降沿),并利用内部定时器对外部事件或者引脚状态变化进行处理。典型应用如下: 1.电机测速; 2.测量脉冲电平宽度; 3.测量一系列脉冲占空比和周期; 4.电流/电压传感器的PWM编码信号的解码。 控制器给每个捕获单元模块都分配一个捕获引脚,在捕获引脚上输入待测脉冲波形,捕获模块会捕获到指定捕获的逻辑状态,如图9.1中的下降沿,捕获单元记录下定时器的时间,两个下降沿间的时间差就是脉冲周期,同理也可以捕获脉冲的上升沿,计算上升沿与下降沿之间的时间差就可以获得占空比,所以捕获单元可以用于测量脉冲周期以及脉冲的宽度。在一些数字脉冲测速场合,如电机的常见测速方法之一,在电机某个固定位置通过光电传感器发出一个脉冲,每周一个脉冲,两个脉冲之间的时间,就是电机的转速。在一些精确控制的场合中,一周当然不止发出一个脉冲,这取决于传感器(光电编码器)的选型与性能。 CAP1-CAP4寄存器通过32位的定时/计数器总线加载数值,当相应的捕获事件发生时,CTR[0-31]值加载到相应的CAP寄存器中。 通过控制CAP控制寄存器ECCTL1[CAPLDEN]位可以阻止捕捉寄存器数值的加载。在单次模式下,一个停止信号产生的时候(StopValue=Mod4)该位被自动清除(不加载)。 在APWM模式下CAP1与CAP2寄存器为有效的周期寄存器和比较寄存器;CAP3与CAP4寄存器相对CAP1与CAP2寄存器为独立的影子寄存器(APRD与ACMP)。 中断控制 捕捉事件的发生(CEVT1-CEVT4,CTROVF)或者APWM事件的发生(CTR=PRD,CTR=CMP)都将会产生中断请求。 这些事件中的任一个事件都可以被选作中断源(从eCAPx模块中)连到PIE。 中断使能寄存器(ECEINT)用于使能/屏蔽中断源。中断标志寄存器(ECFLG)包含中断事件标志和全局中断标志位(INT)。 如果相应的中断事件使能标志位为1,INT标志位为0,那么一个中断脉冲就会告知PIE。 在其他的中断脉冲产生之前,在中断服务程序里必须通过中断清除寄存器(ECCLR)清除全局中断标志和相应的中断事件。通过强制中断寄存器(ECFRC)可以强制发生某个中断事件,这个在测试的时候比较有用。 注意:CEVT1、CEVT2、CEVT3、CEVT4标志工作在捕捉模式(ECCTL2[CAP/APWM]==0);CTR=PRD,CTR=CMP标志工作在APWM模式(ECCTL2[CAP/APWM]==1);CNTOVF标志在两种模式下都可工作。 下面进行实例讲解。 对于输入信号,第一上升沿时,CAP1动作,并且产生CEVT1事件(如果该事件中断使能的话,则可以进入中断),同时将CTR数加载到CPA1中; 接下来,下降沿时,CAP2动作,并且产生CEVT2事件(如果该事件中断使能的话,则可以进入中断),同时将CTR数加载到CAP2中; 再接下来,上升沿时,CAP3动作,并且产生CEVT3事件(如果该事件中断使能的话,则可以进入中断),同时将CTR数加载到CAP3中; 再接下来,下降沿时,CAP4动作,并且产生CEVT4事件(如果该事件中断使能的话,则可以进入中断),同时将CTR数加载到CAP4中; 接下来在从CAP1往返动作。这时在一个循环里,可以利用四个CAPx里面的值进行周期和占空比的计算。 以上2个其实均为CAP口捕获功能,对应的I/O口为输入。ECAP口另外一个功能是产生APWM,和上述2个有很大的差别,对应的I/O口为输出。由于上面2个比较常用,特别是第一个,所以接下来,对设置CAP口为捕获功能的配置进行相关说明,以Ecap为例: 首先要设置GPIO引脚: EALLOW; GpioCtrlRegs.GPAPUD.bit.GPIO1 = 0; // Enable pull-up on GPIO1 (CAP6) // GpioCtrlRegs.GPBPUD.bit.GPIO49 = 0; // Enable pull-up on GPIO49 (CAP6) // Inputs are synchronized to SYSCLKOUT by default. // Comment out

文档评论(0)

文档精品 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6203200221000001

1亿VIP精品文档

相关文档