首页 > 其他分享 >脉冲调制模块EPwm

脉冲调制模块EPwm

时间:2023-11-27 16:33:27浏览次数:29  
标签:输出 脉冲 信号 EPwm 模块 ePWM 脉冲调制 PWM

ePWM在电机控制、电源控制领域有较大优势。

1.1控制原理

PWM控制技术就是对脉冲宽度进行调制的技术,即通过一系列的脉冲的宽度进行调制,来等效地获得所需要的波形。

PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。

脉冲调制模块EPwm_脉冲宽度

图1 PWM波代替正弦半波

把正弦半波分成N等份,可以把正弦半波看成是由N个彼此相连的脉冲序列所组成的波形。这些脉冲宽度相等,但幅值不等,且脉冲顶部是曲线,各脉冲的幅值按正弦规律变化。把上述脉冲序列利用相同数量的等幅而不等宽的矩形脉冲代替,使矩形脉冲的中点和相应的正弦波部分的中点重合,且使矩形脉冲的正弦波部分面积相等,就得到PWM波形。

从图1中可以看到,上图 a 是一个正弦波即模拟信号,b 是一个数字脉冲波形即数字信号。我们知道在计算机系统中只能识别是1和0,对于F28335芯片,要么输出高电平(3.3V),要么输出低电平(0),假如要输出1.5V的电压,那么就必须通过相应的处理,只要保证数字信号脉宽足够就可以使用PWM进行编码,从而输出1.5V 的电压。

PWM控制一般包括两部分电路,一部分是功率开关管组成的功率电路,另一部分是由微控制器组成的驱动开关管的驱动电路。微控制器产生的单周期PWM驱动信号本身很简单,主要包括4个要素,周期、脉宽、脉冲相位、脉冲个数,但是每个周期的脉冲波形的宽度会变化,有时对脉冲的具体相位也有要求,脉冲宽度如何具体调制,这就要根据具体的控制场合以及功率电路进行算法研究。

1.2PWM结构及组成单元

F28335中每个ePWM模块都是一个独立的小模块,这样的体系结构更方便使用。每个ePWM模块由两路ePWM输出组成,分别为ePWMxA和ePWMxB。这一对PWM输出,可以配置成两路独立的输出,共有6对ePWM,因为每个模块可以单独使用,所以也可以认为有12路单路ePWM。除此之外还有6个APWM,这6个通过CAP模块扩展配置,可以独立使用。每一组ePWM模块都包含以下7个模块:时基模块TB、计数比较模块CC、动作模块AQ、死区产生模块DB、PWM斩波模块PC、错误联防模块TZ、时间触发模块ET。如图2所示

脉冲调制模块EPwm_正弦波_02

图2 PWM组成单元

每组PWM模块主要的输入输出信号如下,如图3所示:

脉冲调制模块EPwm_脉冲宽度_03

图3 PWM模块结构图

①PWM输出信号(ePWMxA和ePWMxB);PWM输出引脚与GPIO引脚复用,具体配置时需参考GPIO引脚配置。(GPIO0~GPIO11)

②时间基础同步输入(ePWMxSYNCI)和输出(ePWMxSYNCO)信号;同步时钟信号将 ePWM 各个模块的所有单元联系在一起,每个 ePWM 模块都可以根据需要被配置为使用同步信号或忽略它的同步输入成为独立单元。时钟同步输入和输出信号仅由ePWM1引脚产生,ePWM1 的同步输出也与第一个捕获模块(eCAP1)的同步信号相连接。

③错误联防信号(TZ1~TZ6);当外部被控单元符合错误条件时,诸如GBT276等功率器件模块过电压、过电流或过热时,这些输入信号为ePWM模块发出错误警告。每个模块都可以被配置使用或忽略错误联防信号,同时TZ1~TZ6可以设置为GPIO外设的异步输入。

④ADC启动信号(ePWMSOCA 和 ePWMSOCB);每个ePWM模块都有两个ADC转换启动信号,任何一个ePWM模块都可以启动ADC。触发ADC的转换信号的事件由PWM模块中事件触发子模块来配置。

⑤外设总线;外设总线宽度为32位,允许16位和32位数据通过外设总线写入ePWM模块寄存器

每组 ePWM 模块支持以下特点:

1,专用16位时基计数器,控制输出的周期和频率。

2,两个互补对称 PWM 输出(ePWMxA 和 ePWMxB)可以配置如下方式:

--两个独立的单边沿操作的 PWM 输出。

--两个独立的双边沿操作对称的 PWM 输出。

--一个独立的双边沿操作非对称的 PWM 输出。

3,软件实现 PWM 信号异步控制。

4,可编程的相位控制以支持超前或滞后其余的PWM模块

5,逐周期硬件同步相位

6,双边沿延时死区控制。

7,可编程错误联防。

8,产生错误时可以强制PWM输出高电平、低电平或者高阻态。

9,所有的事件都可以触发CPU中断和ADC开始转换信号。

10,高频PWM斩波,用于基于脉冲变压器的门极驱动。

每组PWM模块的结构原理如图4所示:

脉冲调制模块EPwm_引脚_04

图4 PWM模块的结构原理图

标签:输出,脉冲,信号,EPwm,模块,ePWM,脉冲调制,PWM
From: https://blog.51cto.com/u_16192117/8587065

相关文章

  • nginx添加nginx_upstream_check_module模块,Linux下
    1、下图为本地虚拟机nginx目录2、cd./nginx-1.14.2进入nginx目录输入命令:patch-p1<../nginx_upstream_check_module-master/check_1.14.0+.patch  3、yum-yinstallgcc-c++pcrepcre-develzlibzlib-developensslopenssl-devel--  ./configure--prefix......
  • 0.91寸OLED液晶屏显示模块 IIC 12832液晶屏 兼容3.3v-5V
    【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)实验一百三十六:0.91寸OLED液晶屏显示模块IIC12832液晶屏兼容3.3v-5V项目二十三:黄色屏声音可视化器实验接线:max9814接A0oled模块ArdunioUnoGND---------GND接地线VCC---------5V接电源......
  • Python logging 模块 捕获异常,并保存为 logging 文件
    示例一:logging模块简单使用 basicConfig#!/usr/bin/python2.7#-*-coding:utf-8-*-"""@author:tz_zs"""importloggingimporttimeimporttracebackimportsyslogging.basicConfig(level=logging.DEBUG,form......
  • Flask Session 登录认证模块
    Flask框架提供了强大的Session模块组件,为Web应用实现用户注册与登录系统提供了方便的机制。结合Flask-WTF表单组件,我们能够轻松地设计出用户友好且具备美观界面的注册和登录页面,使这一功能能够直接应用到我们的项目中。本文将深入探讨如何通过Flask和Flask-WTF构建一个......
  • 【Python】base64模块对图片进行base64编码和解码
    图片的base64编码就是可以将一副图片数据编码成一串字符串,使用该字符串代替图像地址。这样做有什么意义呢?我们知道,我们所看到的网页上的每一个图片,都是需要消耗一个http请求下载而来的。没错,不管如何,图片的下载始终都要向服务器发出请求,要是图片的下载不用向服务器发出请求,而可......
  • Java开发者的Python快速进修指南:自定义模块及常用模块
    好的,按照我们平常的惯例,我先来讲一下今天这节课的内容,以及Java和Python在某些方面的相似之处。Python使用import语句来导入包,而Java也是如此。然而,两者之间的区别在于Python没有类路径的概念,它直接使用.py文件的文件名作为导入路径,并将其余的工作交给Python解释器来扫描和处理。另......
  • numpy模块详解
    ###开发环境介绍-anaconda-官网:https://www.anaconda.com/-集成环境:集成好了数据分析和机器学习中所需要的全部环境-注意:-安装目录不可以有中文和特殊符号-jupyter-jupyter就是anaconda提供的一个基于浏览器的可视化开发工具-jupyter的基本使用-启动:在......
  • 设计规则:模块化的力量
    这是一本比较冷门的书《设计规则:模块化的力量》,虽然豆瓣上只有58个评价,但是确实能学到很多东西。这本书对我非常深远。不是是投资,创业,还是其他领域,模块化思想都能帮上你。这本书告诉我们生万物的规则。书籍电子版PDF(建议及时保存,避免被和谐):https://pan.quark.cn/s/aa40d59295df......
  • Android平台GB28181设备接入模块开发填坑指南
    技术背景为什么要开发Android平台GB28181设备接入模块?这个问题不再赘述,在做Android平台GB28181客户端的时候,媒体数据这块,我们已经有了很好的积累,因为在此之前,我们就开发了非常成熟的RTMP推送、轻量级RTSP服务、录像模块、针对音视频的对接处理单元。这让我们在做Android平台GB28181......
  • 【Python】使用vscode编码提示找不到模块
    问题描述已经使用pip安装了模块,但是使用vscode没有代码提示。解决办法这种情况一般是因为pc安装了多个python版本,安装模块的pip不是vscode指定的编译环境。点击右下角,选择环境变量中配置的python版本。解决问题:......