基于模型设计的智能平衡移动机器人-基础实验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.mzph.cn/pingmian/56857.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于网络接口监测工具ifstat命令的功能详解以及Linux下lsof命令的使用详解

一、关于网络接口监测工具ifstat命令的应用 ifstat工具是个网络接口监测工具,比较简单看网络流量,像VMSTAT那样一行行显示着浏览信息,可以设置显示某个或所有网卡流量数据。ifstat默认不监控回环接口,显示的流量单位是KB。系统默认未安装&…

【目标检测---旋转框标注】roLabelImg安装与使用

在目标检测领域,数据标注是至关重要的一环。为了提升模型的准确率和泛化能力,高质量的标注数据集是必不可少的。而roLabelImg作为一款专门用于标注旋转框的工具,为处理复杂场景下的目标检测提供了极大的便利。本文将详细介绍roLabelImg的安装…

电力变压器故障诊断数据集(猫脸码客 第219期)

电力变压器故障诊断数据集 电力变压器作为电力系统中不可或缺的重要设备,其稳定性和可靠性直接关系到整个电网的安全运行。然而,由于运行环境复杂、负载多变以及设备老化等因素,变压器在运行过程中难免会出现各种故障。这些故障若不能及时发…

【解决Docker无剩余存储磁盘空间问题】

【解决Docker无剩余存储磁盘空间问题】 目录 【解决Docker无剩余存储磁盘空间问题】一、问题概述二、问题原因三、解决方案1、方案一:清除Docker磁盘空间2、方案二:更换Docker磁盘存储目录 一、问题概述 执行Docker build -t [镜像名] [源目录] 命令报错…

基于Neo4j的推理知识图谱展示:智能系统与图谱可视化

还在找毕业设计项目吗?试试我们基于Neo4j打造的推理知识图谱展示系统!这是一个兼具前沿技术与实战经验积累的项目,完美适合作为你的毕业设计。 👉 什么是知识图谱? 简单来说,它是通过连接的节点&#xff0…

线性代数基础02

目录 1.向量 1.1向量的定义 1.2向量的运算 1.2.1向量加法 1.2.2向量数乘 1.2.3向量点积 1.3矩阵的特征值和特征向量 1.4向量的模 1.4.1向量的模的定义 1.4.2向量的模的几何解释 1.4.3向量的模的性质 1.5向量的内积 1.5.1向量的内积的定义 1.5.2向量的内积的几何解…

STMicroelectronics 意法半导体芯片选型表

意法半导体作为全球知名的半导体厂商,其产品广泛应用于各个领域,从消费电子到工业控制,从汽车电子到通信设备,都能看到意法半导体芯片的身影。在电子硬件设计领域,芯片的选型至关重要。亿配芯城(ICgoodFind…

WPF常见容器全方位介绍

Windows Presentation Foundation (WPF) 是微软的一种用于构建Windows桌面应用程序的UI框架。WPF的布局系统基于容器,帮助开发者以灵活、响应的方式组织用户界面 (UI) 元素。本篇文章将详细介绍WPF中几种常见的容器,包括Grid、StackPanel、WrapPanel、Do…

Aspose.PDF功能演示:使用 JavaScript 从 PDF 中提取文本

在数据提取、业务文档自动化和文本挖掘方面,使用 JavaScript 从PDF中提取文本非常有用。它允许开发人员自动执行从 PDF 收集信息的过程,从而显著提高处理大量文档的生产力和效率。在这篇博文中,我们将学习如何使用 JavaScript 从 PDF 中提取文…

python-django-mysql原生sql增删改查搭建搭建web项目

先看我本地的项目结构 1 设置虚拟环境 python -m venv venv .\venv\Scripts\activate 2 在虚拟环境中安装Django 执行 pip install -r requirements.txt asgiref3.8.1 backports.zoneinfo0.2.1 Django3.2 mysqlclient2.2.4 pytz2024.2 sqlparse0.5.1 typing-extensions4.1…

数据结构--二叉树随记

二叉树主要分为四类:满二叉树、完全二叉树、二叉搜索树、平衡二叉搜索树。 高度,深度,层 满二叉树 满二叉树就是每一层节点都是满的,整棵树像一个正三角形: 满二叉树有个优势,就是它的节点个数很好算。假设深度为 h,那…

讲一讲Redis五大数据类型的底层实现

讲一讲Redis五大数据类型的底层实现 Redis五大数据类型的底层实现 Redis的五大数据类型分别是字符串(String)、列表(List)、哈希(Hash)、集合(Set)和有序集合(Zset&…

Fake Location 限制解除(运动世界校园,keep......)

一觉起来成绩还是正常的,运动世界校园的审核是非常严格的,因为在这之前,我帮助同学登入别的账号进行跑步,发现过来几天全被检测到了异常,成绩也是直接无效了哈,我们今天再搞一个关于keep的,因为当时关于kee…

pikachu靶场SSRF-curl测试报告

目录 一、测试环境 1、系统环境 2、使用工具/软件 二、测试目的 三、操作过程 1、实现ssrf攻击 四、源代码分析 五、结论 一、测试环境 1、系统环境 渗透机:本机(127.0.0.1) 靶 机:本机(127.0.0.1) 2、使用工具/软件 测试网址:…

DNS 与 ICMP

DNS(Domain Name System)快速了解 DNS 是一整套从域名映射到 IP 的系统 DNS 背景 TCP/IP 中使用 IP 地址和端口号来确定网络上的一台主机的一个程序. 但是 IP 地址不方便记忆 于是人们发明了一种叫主机名的东西, 是一个字符串, 并且使用 hosts 文件来描述主机 名和 IP 地…

微信开发者工具:音乐小程序报错

报错信息 GET http://localhost:3000/1.mp3 net::ERR CONNECTION REFUSED (env: Windows,mp,1.06.2303220;lib:3.6.0) 原因:小程序没有直接获取本地文件,为了提高访问速度,而采用放到网络服务器中网络访问的方式获取文件内容 解决办法&#…

JMeter如何设置HTTP代理服务器?

1、 2、添加线程组 3、设置HTTP代理服务器,目标控制器选择“测试计划>线程组” 过滤掉不需要的信息 4、设置电脑手动代理 5、点击启动,在浏览器操作就可以了

OpenCV-物体跟踪

文章目录 一、物体跟踪的定义二、OpenCV中的物体跟踪算法三、OpenCV物体跟踪的实现步骤四、代码实现五、注意事项 OpenCV是一个开源的计算机视觉和机器学习软件库,它提供了丰富的功能来实现物体跟踪。以下是对OpenCV中物体跟踪的详细解释: 一、物体跟踪的…

Ubuntu16.04安装openssl库

Ubuntu16.04安装openssl库 Chapter1 Ubuntu16.04安装openssl库 Chapter1 Ubuntu16.04安装openssl库 原文链接:https://blog.csdn.net/weixin_36584476/article/details/107321893 记录一下省得忘了 1.首先去openssl官网下载源码www.openssl.org/source/&#xff0…

进程同步、互斥

进程同步、互斥的基本概念 系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源。 我们把一个时间段内只允许一个进程使用的资源称为临界资源。许多物理设备(比如摄像头、打印机)都属于临界资源…