一. EPWM寄存器介绍

增强型脉宽调制器(ePWM)外设是控制商业和工业设备中许多电力电子系统的关键元件。这些系统包括数字电机控制、开关模式电源控制、不间断电源(UPS)和其他形式的电源转换。ePWM外设还可以执行数字模拟(DAC)功能,其中占空比相当于DAC模拟值;它有时被称为功率DAC。

主要包含的模块有:
1.时基模块(TB)
2.计数比较模块(CC)
3.功能限定模块(AQ)
4.死区控制模块 ( DB )
5.斩波模块 ( PC )
6.制动模块 ( TZ )
7.事件模块 ( ET )
8.数字比较(DC)

时基模块(TB)

1.TBCTL寄存器

其中的HSPCLKDIV和CLKDIV为时钟的预分频位:


CTRMODE计数器的模式位,可以选择向上或向下或上下计数
PHSEN位:从相位寄存器加载计数器寄存器使能
0:不从TBPHS寄存器中加载TBCTR
1:当EPWMxSYNCI输入信号或软件强制同步信号发生时,允许计数器从相位寄存器(TBPHS)和影子寄存器加载到主动加载事件。

0:周期寄存器(TBPRD)从其阴影寄存器加载
1:立即模式

相位方向位:

该位仅在将时基计数器配置为上下计数模式时使用。PHSDIR位表示时间基准计数器(TBCTR)在同步后的计数方向事件发生,并从相位(TBPHS)寄存器加载一个新的相位值。

这是不管同步事件发生前计数器的方向如何。在上行计数和下行计数模式下,该位被忽略。0:从同步事件向下计数 1:在同步事件向上计数

2.TBPRD寄存器

时基周期寄存器这些位决定了时基计数器的周期,可设置PWM频率。

该寄存器的阴影由TBCTL PRDLD位启用和禁用。

默认情况下,该寄存器是禁用的。

如果TBCTL PRDLD = 0,则启用了阴影,任何写或读都将自动进入阴影寄存器。在这种情况下,当时基计数器等于零时,活动寄存器将从阴影寄存器加载。

如果TBCTL PRDLD = 1,则禁用了阴影,任何写或读都将直接到活动寄存器,即主动控制硬件的寄存器。活动寄存器和阴影寄存器共享相同的内存映射地址。

3.TBPHS寄存器

相位偏移寄存器这些位设置所选ePWM相对于提供同步输入信号的时基的时基计数器相位。

计数比较模块(CC)

1.CMPA寄存器

CMPA寄存器中的值不断与时基计数器(TBCTR)进行比较。当值相等时,计数器比较模块生成一个“等于计数器比较a的基于时间的计数器”事件。此事件被发送到动作限定模块,在那里它被限定并将其转换为一个或多个动作。这些操作可以应用于EPWMxA或EPWMxB输出,具体取决于AQCTLA和AQCTLB寄存器的配置。可以在AQCTLA和AQCTLB寄存器中定义的动作包括:

00:不动作
01:强制EPWMxA输出低
10:强制EPWMxA输出高
11:反转EPWMxA输出

2.CMPCTL寄存器

其中的LOADAMODE寄存器,活跃的CMPA寄存器从影子选择模式中加载,这个位在立即模式中没有影响(CMPCTL SHDWAMODE=1)
00:从CTR=0中加载:时基计数器等于0(TBCTR=0)
01:从CTR=PRD中加载:时基计数器等于周期(TBPRD=TBPRD)
10:从CTR = 0 或 CTR=PRD中加载
11:冻结 不加载

在CMPCTL寄存器中有LOADDMODE,LOADCMODE位

功能限定模块(AQ)

1.AQCTLA寄存器

其中的CAD位:

TBCTR = CMPA Down Count时的动作,根据定义,在计数上下模式时,计数器等于方向定义为0或向下数。

其中的CAU位:

TBCTR = CMPA Up Count时的动作,根据定义,在计数上下模式时,计数器等于方向定义为1或向上数。

00:不动作
01:强制EPWMxA输出低
10:强制EPWMxA输出高
11:反转EPWMxA输出

AQCTLA控制EPWMA的动作,AQCTLB控制EPWMB的动作
CAU与CBU的差异,主要是使用比较值CMPA与CMPB的差异

死区控制 ( DB ) 模块

1.DBCTL寄存器的IN_MODE位

死区输入模式控制位

选择输入源的上升沿和下降沿的延迟,产生经典的死区控制波形,默认情况下EPWMxA在上升沿或者下降沿都有延迟。

00:EPWMxA在上升沿和下降沿都有延迟
01:EPWMxB在上升沿信号延迟,EPWMxA在下降沿信号延迟
10:EPWMxA在上升沿信号延迟,EPWMxB在下降沿信号延迟
11:EPWMxB在上升沿和下降沿都有延迟

POLSEL位:
00: AH模式,EPWMxA和EPWMxB都不反转
01: ALC模式,EPWMxA反转
10: AHC模式,EPWMxB反转
11:AL模式,EPWMxA和EPWMxB都反转

OUT_MODE位

数字比较(DC)模块

数字比较子模块通过为数字比较信号提供滤波、消隐(blanking)和改进访问功能(trip functionality),增强了事件触发和访问区域子模块。这些特性对于峰值电流模式控制和模拟比较器的支持是必不可少的。

在ePWM系统中,数字比较(DC)子模块信号与其他子模块的接口如图所示。eCAP输入信号来源于input X-BAR信号,任何GPIO引脚都可以灵活地映射为访问区输入和/或访问输入到访问区子模块和数字比较子模块。

Input X-BAR Input Select (INPUTxSELECT)寄存器定义哪些GPIO引脚被分配为跳闸区输入/跳闸输入。数字比较(DC)子模块比较ePWM模块外部的信号(例如,来自模拟比较器的CMPSSx信号),以直接生成PWM事件/动作,然后将其馈送到事件触发器、跳闸区和时基子模块。此外,还支持消隐窗口功能,以过滤来自DC事件信号的噪声或不需要的脉冲。

二.ePWM的周期和频率的计算

ePWM的频率是由时基周期寄存器值(TBPRD)和时基计数器的计数模式(TBCTRL)共同决定。

时基计数器的计数模式有向上计数(递增)模式、向下计数(递减)模式、向上-下计数(先递增后递减)模式。

当周期寄存器设置为4(TBPRD=4)

1.向上-下计数模式

在此模式下,时基计数器先从0开始向上计数(递增)直到递增到周期寄存器的值为4,然后再由4向下计数(递减)直到减到0,再重复以上动作。

根据公式:
比如TBCLK=EPWMCLK=100Mhz=10ns,TBPRD=10000
Tpwm=2 * TBPRD * TBCLK=2x10000x10ns=200us

Fpwm = 1 / Tpwm = 1 / 200 = 5 KHz

在此种模式下,随着同步信号的来临,时基模块的输出波形有两种情形,需要通过设置相位方向TBCTL[PHSDIR]来确定。如果TBCTL[PHSDIR]=0时,那么当同步信号到来时,递增过程中,直接使用TBPHS的值,然后递减;递减过程中,直接使用TBPHS的值,然后递减,对应的输出波形如图所示。

如果TBCTL[PHSDIR]=1时,那么当同步信号到来时,递增过程中,直接使用TBPHS的值,然后递增;递减过程中,直接使用TBPHS的值,然后递增,对应的输出波形如图所示。

死区时间计算:

TBCLK=EPWMCLK=100Mhz=10ns
比如DBFED=400
FED=DBFEDTBCLK=40010ns=4us

【DSP】EPWM寄存器相关推荐

  1. 把变量赋值给寄存器_用C语言对DSP的寄存器进行操作?

    欢迎FPGA工程师加入官方微信技术群 在嵌入式软件的开发过程中,我们常用的语言主要是:汇编语言和C语言.相比较于汇编语言,C语言对我们来说,更贴近我们的一些语言习惯.在DSP的开发过程中,我们主要还是 ...

  2. ADI DSP的寄存器详细说明在哪里?

    看到这个标题,不要想笑,OP在做了20年ADI DSP技术支持的生涯里,这个问题被问到的次数可以排在首位.新接触ADI DSP的朋友肯定都会想,这个东西不都在手册里直接找么?在这里可以很肯定的告诉大家 ...

  3. TMS320C645x DSP SRIO寄存器(四)——门铃(Doorbell)与CPPI中断

    本文是对TI的TMS320C645x DSP SRIO User's Guide中5.15~5.20节内容的搬运 与2.3.4节.2.3.6节.第4章大部分内容相关 一.门铃中断 门铃中断状态寄存器( ...

  4. TMS320C645x DSP SRIO寄存器(六)——LSU控制寄存器和拥塞控制

    本文是对TI的TMS320C645x DSP SRIO User's Guide中5.32-5.39节内容的搬运 一.LSU控制寄存器 总共有4个LSU(Load/Store Unit),每个LSU对 ...

  5. TMS320C645x DSP SRIO寄存器(五)——LSU和其他特殊事件中断

    本文是对TI的TMS320C645x DSP SRIO User's Guide中5.21-5.24.5.28-5.31节内容的搬运 与第4章大部分内容相关 一.LSU中断 LSU中断状态寄存器(LS ...

  6. dsp EPWM模块总结

    1.冲量相等原理:冲量相等而形状不同的窄脉冲加载到具有惯性的环节上时,其效果基本相同. 冲量:窄脉冲的面积        效果基本相同:输出响应波形基本相同(低频段非常接近,高频段略有差异) 2.正弦 ...

  7. DSP F2803x中CLA模块介绍

    DSP之CLA模块 文章目录 1 概述 2 CLA接口 2.1 CLA存储 2.2 LCA内存总线 2.3 共享外设及EALLOW保护 2.4 CLA任务和中断向量 3 CLA和CPU仲裁 3.1 C ...

  8. DSP芯片F2803x系列之PWM模块及高精度PWM使用

    DSP芯片F2803x之ePWM模块 文章目录 1 ePWM模块概述 2 ePWM模块构成 3 ePWM各子模块 3.1 TB模块 3.2 CC模块 3.3 AQ模块 3.4 DB模块 3.5 PC模 ...

  9. 多核片上系统(SoC)架构的嵌入式DSP软件设计

    多核片上系统(SoC)架构的嵌入式DSP软件设计 Multicore a System-on-a-Chip (SoC) Architecture SoCs的软件开发涉及到基于最强大的计算模型在各种处理 ...

最新文章

  1. 洛谷 1281 书的复制
  2. matlab 和python读取csv文件速度_matlab读取csv文件数据并绘图
  3. 当UG的License服务器换了后, 客户端如何调整?
  4. lisp实战文库_LISP编程举例
  5. 轻量级的开源集成:Apache Camel还是Spring集成?
  6. Python 项目打包成可执行程序命令
  7. 闲话WPF之十八(WPF中的资源 [4] )
  8. Asp.Net MVC5入门学习系列⑥
  9. 如何“ grep”连续流?
  10. 为什么我的crontab不起作用呢
  11. Python Tricks(十八) —— range
  12. WINDOWS下SQL2016安装
  13. 如何实现卫星通信的稳定链接?
  14. 启动马达接线实物图_常见电机控制实物接线图,简单原理分析,学习入门,值得收藏...
  15. 利用windrose绘制风玫瑰图并解决错误问题
  16. iCloud照片无法上传或同步怎么办?
  17. 2022软考网工笔记(网络安全)
  18. 【IPD流程学习 一】背景和目标
  19. 如何在win10中安装jdk
  20. 我讨厌你公事公办的样子

热门文章

  1. Android 淘宝19年双十一自动化做任务
  2. Shamir秘密共享协议
  3. 图形轨迹c语言,OpenCV识别图像上的线条轨迹
  4. mysql b树_为什么 MongoDB 索引选择B树,而 Mysql 选择B+树(精干总结)
  5. <figure> <figcaption>筆記
  6. MES系统是如何解决工厂上的难题的?
  7. 机器学习python代码
  8. Qt音视频开发06-海康sdk内核linux客户端
  9. 双通道5.2GSPS(或单通道10.4GSPS)射频采样FMC+模块
  10. LVGL8的窗口切换方式