自学内容网 自学内容网

基于模型设计的智能平衡移动机器人-基础实验eCAP

目录

eCAP基本介绍

捕捉模式或者是APWM模式

捕获模块功能

CCS中打开模型


eCAP基本介绍

TMS320F28069的捕获单元模块能够捕获外部输入引脚的逻辑状态(电平的高或低、电平翻转时的上升沿或下降沿),并利用内部定时器对外部事件或者引脚状态变化进行处理。控制器给每个捕获单元模块都分配了一个捕获引脚,在捕获引脚上输入待测波形,捕获模块就会捕获到指定捕获的逻辑状态,所以捕获单元可以用于测量脉冲周期以及脉冲的宽度。TMS320F28069上面有4路增强型捕捉模块eCAP,CAP模块是应用定时器来实现事件捕获功能,主要应用在速度测量,脉冲序列周期测量等方面。eCAP模块包括以下资源。 可分配的输入引脚。 32bit时间基准(计数器)。 4个32bit时间窗捕获控制寄存器。 独立的边缘极性选择。 输入信号分频(2~62)。   4个捕获事件均可引起中断。

捕捉模式或者是APWM模式

一般而言前者比较常用,因此在这里只对第一种情况进行分析介绍。在捕捉模式下,一般可以将eCAP模块分为以下几个模块:事件分频、边沿极性选择与验证、中断控制。

1)事件分频 输入事件信号可通过分频器分频处理(分频系数2~62),或直接跳过分频器。这个功能通常针对输入事件信号频率很高的情况下适用。

2)边沿极性选择与验证 4个独立的边沿极性(上升沿/下降沿)选择通道;Modulo4序列发生器对Eachedge(共4路)进行事件验证;CAPx通过Mod4对事件边沿计数,CAPx寄存器在下降沿时被装载。32bit计数器(TSCTR)此计数器为捕捉提供时钟基准,而时钟的计数则是基于系统时钟的。当此计数器计数超过范围时,则会产生相应的溢出标志,若溢出中断使能,则产生中断。

3)中断控制          中断能够被捕获事件所(CEVT1-CEVT4,CTROVF)触发,计数器(TSCTR)计数溢出同样会产生中断。事件单独地被极性选择部分以及序列验证部分审核。这些事件中的一个被选择用来作为中断源送入PIE。 设置CAP中断的过程可表述如下。

(1)关闭全局中断。 (2)停止eCAP计数。 (3)关闭eCAP的中断。 (4)设置外设寄存器。 (5)清除eCAP中断标志位。 (6)使能eCAP中断。 (7)开启eCAP计数器。 (8)使能全局中断。

4)eCAP模块原理的加深理解        配置好eCAP模块的引脚后,外部事件由引脚输入,首先通过模块的分频部分,分频系数为2~62,也可以选择跳过分频部分,此功能主要是针对输入事件信号频率很高的情况。经过分频后的信号(通常频率会降低),送至边沿及序列审核部分,边沿审核即设置为上升沿或下降沿有效,序列审核则是指分配当前对哪个寄存器(CAP1~CAP4)作用的问题,之后就是中断执行控制部分。

捕获模块功能

知道了如何配置TMS320F28069的ePWM模块使其输出PWM波形,而本实验则是通过利用捕获模块功能来测量配置的PWM波的占空比是否正确。实验时,只需要将ECAP1引脚用杜邦线先后与EPWM1A引脚和EPWM1B连接起来,即可完成实验。其原理图如图所示。

【第一步】在Solver中设置定步长为0.5秒,在Hardware Implementation中配置系统时钟为90MHz,LSPCLK低速时钟外设4分频,eCAP的ECAP1 pin assignment引脚选择GPIO5,如图所示

  【第二步】初始化好十个全局变量,如图所示。用来实现对一方波信号的频率、周期、占空比的测量。 (1)t1表示第一个捕捉事件发生时计数器的值。 (2)t2表示第二个捕捉事件发生时计数器的值。 (3)t3表示第三个捕捉事件发生时计数器的值。 (4)T1表示t2-t1的差也就是测试方波的高电平时间对应的计数值。 (5)T2表示t3-t1的差也就是测试方波的整个周期对应的计数值。 (6)CLK表示系统时钟周期,Duty表示实际方波的占空比,Frequence表示方波的频率,Period表示方波的周期,Flag表示检测完成标志位。

 【第三步】生成两路频率为10kHz,一个是占空比为50%的PWM,另一个是占空比为60%的PWM,如图所示。

   【第四步】设置eCAP模块,中断中配置如图所示,使用的是eCAP1模块,配置为连续控制模式,并在第三次事件之后停止计数并重置,第一次事件的触发极性为上升沿,第二次事件的触发极性为下降沿,第三次触发极性为上升沿,计数时间的数据类型为无符号的32位整形。中断配置为捕捉到第三次事件之后触发中断。在eCAP输出接上demux模块,并将输出的值赋予t1,t2,t3。

       【第五步】计算T1,T2并对Flag置位,表示一次检测完毕,如图所示。

       【第六步】封装子系统,配置硬件中断,根据ECAP1的中断向量号(它属于CPU中断的第四组下的PIE中断第1个),配置C28x硬件中断模块,如图所示。

       【第七步】标志位触发,在Whlie(1)中触发计算模块,对输入方波的频率、周期、占空比进行计算,如图所示。其中CLK=1/90000000。如图所示为eCAP的simulink模型图。

CCS中打开模型

在上述配置完成,并完成模型的搭建后,将模型编译下载到主控板,然后在CCS中打开模型生成的工程文件,先点击编译,再点击调试,然后将下图的十个变量添加到Expressions中,再点击运行前,我们先将ECAP3引脚用杜邦线与EPWM1A引脚连接起来。然后在点击运行可以看到各个变量的值。要想看EPWM1B的数值,ECAP3引脚用杜邦线与EPWM1B引脚连接起来。只是这里有一点点误差,是芯片自身问题。


原文地址:https://blog.csdn.net/weixin_43802726/article/details/143077009

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!