当前位置: 首页 > news >正文

基于模型设计的智能平衡移动机器人-基础实验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引脚连接起来。只是这里有一点点误差,是芯片自身问题。


http://www.mrgr.cn/news/54280.html

相关文章:

  • autMan框架对接飞书机器人
  • 1. 路由定义
  • Spring AI 整体介绍_关键组件快速入门_prompt_embedding等
  • smbms(2)
  • 前端: || 和可选链 ?. 的区别
  • 两数之和,时间复杂度为O(n)
  • MySQL-21.多表设计-案例-关系分析-表结构
  • 【双指针算法】快乐数
  • java语法练习-题目
  • 【最优化方法】线搜索技术
  • 【C++】C++当中的复合类型——引用和指针
  • 【ARM】ARM中断系统详解——以Cortex-A7为例
  • 大模型涌现判定
  • 数据结构-5.11.补充:二叉树遍历算法的应用
  • 分布式搜索引擎03
  • 【AUTOSAR标准文档】服务类型介绍
  • 2023年ICPC亚洲合肥赛区赛 C. Cyclic Substrings
  • 【H2O2|全栈】关于CSS(14)如何完成常规的页面布局
  • 基于机器学习的混凝土抗压强度及利用Docker与FastAPI进行模型部署并形成API
  • 鸿蒙应用开发中,实现文件上传功能
  • 查询网站在线人数
  • Python基础09_类和对象(下)迭代器和生成器函数式编程
  • UEFI 基础教程 (四十八.2) — UEFI code style
  • org.apache.http.impl.client.CloseableHttpClient的时候如果发生异常
  • 《使用Gin框架构建分布式应用》阅读笔记:p88-p100
  • 群控系统服务端开发模式-功能整理