simulink代码生成(五)——ePWM模块初级应用

news2024/11/27 0:22:39

前面分别讲到了SCI及ADC的配置及使用,现在梳理一下ePWM的配置和使用;

先打一些基础的DSP28335的基础知识;

F28335 关于ePWM中断与SOC采样信号的一些思考_socasel-CSDN博客

F28335 ePWM模块简介——TMS320F28335学习笔记(四)_28335采集交流电-CSDN博客

F28335 ePWM模块完整配置 源代码+注释_f28335中pwm波配置代码注释-CSDN博客

F28335 ePWM计数模块(CC)与 动作模块(AC)及其寄存器配置 ————TMS320F28335学习笔记(六)_aqctla-CSDN博客

F28335 ePWM死区模块(DB)_死区模块的作用-CSDN博客

F28335 ePWM时基模块(TB)及其 寄存器配置————TMS320F28335学习笔记(五)_tb模块计数器的计数方式是什么-CSDN博客

1 ePWM模块

2 ePWM模块参数设置与说明

2.1 ePWM-General 选项卡参数

(1)ePWM模块选择;可以选择ePWM123....

(2)Timer period units 时钟周期单位选择:以时钟周期或秒为单位指定定时器周期的单位。如果将“计时器”周期单位设置为“秒”,则启用对浮点数的支持。一般选择Clock cycles 以系统时钟为单位;

(3)Specify timer period via 设置始终周期:默认是Specify via dialog,按照4中所示的周期运行;如果选择Input,则按照外部输入的时钟周期运行,4中将变为初始周期;

(4)Timer period 周期计数器设置:设置ePWM载波的变化周期,该周期的具体时间需要与系统的ePWM模块的分频系数对应,假如没有分频,按照dsp的主频150M来计算,当TPRD = 7500时,上下计数模式下, 对应 7500*2/150000000 s  = 100us

(5)Reload for time base period register 重新装载PRD:选择zero就是在0更新,选择immediate代表立即装载模式;

(6)Counting Mode:这个计较重要,设置PWM的载波形式的;对应关系如下图所示:

(7)synchronization action 同步动作:这个就设置默认就行

2.2 ePWM-ePWMA 选项卡参数(ePWMB选项卡后续高阶应用讲)

使能的勾选一定先打开;Enable ePWMA;

(1)CMPA uint 时钟周期单位选择:一般选择为时钟;与前面需要对应;

(2)Specify CMPA via 选择CMPA 输入源: 默认是Specify via dialog,如果选择Input,则按照外部输入的CMPA运行;这里的CMPA决定了占空比,在电机控制中一般就是为了控制输出占空比,所以这里基本选择为Input,供控制算法修改CMPA;

(3)CMPA initial value : CMPA 的初始值;假如CMPA是外部输入,这里就只是一个初值;

(4)Reload for compare A Register(SHDWAMODE):影子装载模式特有的CMPA装载模式;这里默认是zero;

(5)Action mode 动作模块设定:设定具体的CMPA的动作状态,比如是载波等于CMPA由低到高,还在载波等于CMPA由高到低,这个具体按照个人需求设定即可。一般按照正占空比的逻辑,是载波上升期间,当CMPA = TPRD时,PWM由低变化为高;载波下降期间,当CMPA = TPRD时,PWM由高变化为低;具体的设置如我上图所示;参照如下连接:

F28335 ePWM计数模块(CC)与 动作模块(AC)及其寄存器配置 ————TMS320F28335学习笔记(六)_aqctla-CSDN博客

(6)Compare value reload condition 比较值重新装载的情况:这里的装载建议是与ADC触发采样的点一致,比如在TPRD 时触发ADC采样,那么就在TPRD时刻更新PWM,这样保证了ADC采样和PWM更新的同步性;

2.3 Deadband uint 死区设置模块

这个选项卡就必须要参照这个博客了;

F28335 ePWM死区模块(DB)_死区模块的作用-CSDN博客

(1)设置ePWMA和ePWMB的死区应用;建议都选择;

(2)Deadband polarity 死区极性设置:具体参考下图;

选择AHC模式,代表死区是低电平,逆变器的有效电平是高电平;如图中1;

选择ALC模式;代表死区是高电平,逆变器的有效电平是低电平;如图中2;

(3)上升下降沿的信号源选择;由于我们现在只是用到CMPA作为比较值,因此仅用CMPA对应的ePWMA作为信号源,这里是对应了死区设置模块的这张示意图;

(4)死区时间设置:RED对应上升沿死区,FED对应下降沿死区,建议一致,计算时间还是与上面TPRD周期一致;,按照dsp的主频150M来计算,当RED = 150时,上下计数模式下, 对应 150/150000000 s  = 1us

2.4 Event Trigger 中断设置

(1)使能ePWM 输出SOC信号,触发ADC采样;

(2)SOCA中断优先级;选择第一事件;

(3)Start of conversion for module A event selection 选择在ADC转换时刻:这里就必须与CMPA的更新时刻对应,在哪里采样就在那里更新CMPA;

其他选项卡的应用将在EPWM的高级应用中讲述;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1349282.html

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

相关文章

普通人变现天花板,月入10w是什么体验?

我是顺哥(shundazy1),一个三观超正的6年互联网创业者,信因果、利他思维一直伴随着我的商业生涯。 经历过无数风风雨雨,实现过年入几百万,也曾在一年内亏了100多万。 我们项目的网站 首先介绍我们项目干啥…

消融实验(ablation study)——全网最全解读

消融实验(ablation study) 是什么优势与劣势案例总结 是什么 消融实验是一种科学研究方法,用于确定一个条件或参数对结果的影响程度。当研究者提出了一个新的方案或方法时,消融实验通过逐一控制一个条件或参数,来观察…

24届春招实习必备技能(一)之MyBatis Plus入门实践详解

MyBatis Plus入门实践详解 一、什么是MyBatis Plus? MyBatis Plus简称MP,是mybatis的增强工具,旨在增强,不做改变。MyBatis Plus内置了内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作&#xff0…

2024年山东省中职“网络安全”试题——B-3:Web安全之综合渗透测试

B-3:Web安全之综合渗透测试 服务器场景名称:Server2010(关闭链接) 服务器场景操作系统:"需要环境有问题加q" 使用渗透机场景Kali中的工具扫描服务器,通过扫描服务器得到web端口,登陆…

Kasada p.js (x-kpsdk-cd、x-kpsdk-ct、integrity)

提供x-kpsdk-cd的API服务 详细请私信~ 可试用~ V:zhzhsgg 一、简述 integrity是通过身份验证Kasada检测机器人流量后获得的一个检测结果(数据完整性) x-kpsdk-cd 是经过编码计算等等获得。当你得到正确的解决验证码值之后,解码会看到如下图…

iToF人脸识别

iToF(间接飞行时间)是一种测量光飞行时间的技术,主要应用于人脸识别。 iToF人脸识别技术在哪些场景下会用到 iToF人脸识别技术可以应用于许多场景,以下是一些常见的应用场景: 平安城市:在城市监控系统中,iToF人脸识别技术可以用于实时监控、目标检测和识别,以及异常行为…

关于 bringup sensor 时,曝光时间异常的问题排查

1、问题背景 这两天在配置 sc223a 这颗 sensor 的驱动,按 datasheet 的要求配置 sensor 的曝光后,发现最大曝光时间增加了一倍, sensor setting 用的是30fps ,理论上最大的绝对曝光时间应该是 33ms 才正确,但实际用 …

【Redis-02】Redis数据结构与对象原理 -上篇

Redis本质上是一个数据结构服务器,使用C语言编写,是基于内存的一种数据结构存储系统,它可以用作数据库、缓存或者消息中间件。 我们经常使用的redis的数据结构有5种,分别是:string(字符串)、list(列表)、hash(哈希)、s…

typro绘制uml

1. 流程图 1.1 普通流程图 1.1.1 横向 graph LRA[方形] -->B(圆角)B --> C{条件a}C -->|a1| D[结果1]C -->|a2| E[结果2]F[横向流程图]#mermaid-svg-L4kGCoCDf9uKYThC {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#33…

AIGC开发:调用openai的API接口实现简单机器人

简介 开始进行最简单的使用:通过API调用openai的模型能力 OpenAI的能力如下图: 文本生成模型 OpenAI 的文本生成模型(通常称为生成式预训练 Transformer 或大型语言模型)经过训练可以理解自然语言、代码和图像。这些模型提供文…

Java开发过程中的幂等性问题

幂等性问题: 1. 有时我们在填写某些 form表单 时,保存按钮不小心快速点了两次,表中竟然产生了两条重复的数据,只是id不一样。 2. 我们在项目中为了解决 接口超时 问题,通常会引入了 重试机制 。第一次请求接口超时了…

63页!嵩山版Java开发手册分享

作为广受欢迎的编程语言之一,Java在软件开发领域扮演着重要的角色。然而,由于Java的灵活性和广泛应用,很容易出现代码质量低下、可读性差、维护困难等问题。为了解决这些问题,阿里巴巴集团发布了一份权威指南——阿里嵩山版Java开…

PiflowX组件-ReadFromUpsertKafka

ReadFromUpsertKafka组件 组件说明 upsert方式从Kafka topic中读取数据。 计算引擎 flink 有界性 Unbounded 组件分组 kafka 端口 Inport:默认端口 outport:默认端口 组件属性 名称展示名称默认值允许值是否必填描述例子kafka_hostKAFKA_HO…

【Java技术专题】「入门到精通系列」深入探索Java技术中常用到的六种加密技术和代码

深入探索Java技术中常用到的六种加密技术和实现 背景介绍柯克霍夫原则加密机制加密类型密码学原则 加密常用代表组件加密算法介绍Base64算法消息摘要算法(Message Digest)数据指纹MD5MD5算法的工作原理 SHASHA工作原理 对称加密DESDES的原理分析 3DES3DE…

性能优化(CPU优化技术)-ARM Neon详细介绍

本文主要介绍ARM Neon技术,包括SIMD技术、SIMT、ARM Neon的指令、寄存器、意图为读者提供对ARM Neon的一个整体理解。 🎬个人简介:一个全栈工程师的升级之路! 📋个人专栏:高性能(HPC&#xff09…

VMware虚拟机和Centos7镜像安装

文章目录 安装VMware虚拟机1、下载2、激活 安装Centos7镜像启动虚拟机 安装VMware虚拟机 1、下载 建议还是安装16版本 VMware16下载 https://www.123pan.com/s/HQeA-aX1Sh VMware15 链接:https://pan.baidu.com/s/11UD1hb6IydbxNNPxmh-MqA?pwd0630 提取码&am…

2022年全国职业院校技能大赛(高职组)“云计算”赛项赛卷①第一场次:私有云

2022年全国职业院校技能大赛(高职组) “云计算”赛项赛卷1 第一场次:私有云(30分) 目录 2022年全国职业院校技能大赛(高职组) “云计算”赛项赛卷1 第一场次:私有云&#xff0…

DDC和PLC的区别

前言 PLC与DDC控制器的比较,一直以来在相关领域内受到广泛关注。每个人站在不同的角度分析,都会有不同的结论,我们今天聊聊这个话题。 基本定义和功能 可编程控制器PLC与直接数字控制器DDC,两者都由CPU模块、I/O模块、显示模块…

张量操作与线性回归

一、张量的操作:拼接、切分、索引和变换 (1)张量拼接与切分 1.1 torch.cat() 功能:将张量按维度dim进行拼接 • tensors: 张量序列 • dim : 要拼接的维度 torch.cat(tensors, dim0, outNone)函数用于沿着指定维度dim将多个张量…

CGAL的AABB tree

1、介绍 AABB树组件提供了一种静态数据结构和算法,用于对有限的三维几何对象集进行高效的交集和距离查询。可以查询数据结构中存储的几何对象集,以进行交集检测、交集计算和距离计算。 交集查询可以是任何类型的,只要在traits类中实现了相应的…