【DSP】EPWM寄存器
一. 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寄存器相关推荐
- 把变量赋值给寄存器_用C语言对DSP的寄存器进行操作?
欢迎FPGA工程师加入官方微信技术群 在嵌入式软件的开发过程中,我们常用的语言主要是:汇编语言和C语言.相比较于汇编语言,C语言对我们来说,更贴近我们的一些语言习惯.在DSP的开发过程中,我们主要还是 ...
- ADI DSP的寄存器详细说明在哪里?
看到这个标题,不要想笑,OP在做了20年ADI DSP技术支持的生涯里,这个问题被问到的次数可以排在首位.新接触ADI DSP的朋友肯定都会想,这个东西不都在手册里直接找么?在这里可以很肯定的告诉大家 ...
- TMS320C645x DSP SRIO寄存器(四)——门铃(Doorbell)与CPPI中断
本文是对TI的TMS320C645x DSP SRIO User's Guide中5.15~5.20节内容的搬运 与2.3.4节.2.3.6节.第4章大部分内容相关 一.门铃中断 门铃中断状态寄存器( ...
- TMS320C645x DSP SRIO寄存器(六)——LSU控制寄存器和拥塞控制
本文是对TI的TMS320C645x DSP SRIO User's Guide中5.32-5.39节内容的搬运 一.LSU控制寄存器 总共有4个LSU(Load/Store Unit),每个LSU对 ...
- TMS320C645x DSP SRIO寄存器(五)——LSU和其他特殊事件中断
本文是对TI的TMS320C645x DSP SRIO User's Guide中5.21-5.24.5.28-5.31节内容的搬运 与第4章大部分内容相关 一.LSU中断 LSU中断状态寄存器(LS ...
- dsp EPWM模块总结
1.冲量相等原理:冲量相等而形状不同的窄脉冲加载到具有惯性的环节上时,其效果基本相同. 冲量:窄脉冲的面积 效果基本相同:输出响应波形基本相同(低频段非常接近,高频段略有差异) 2.正弦 ...
- 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 ...
- 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模 ...
- 多核片上系统(SoC)架构的嵌入式DSP软件设计
多核片上系统(SoC)架构的嵌入式DSP软件设计 Multicore a System-on-a-Chip (SoC) Architecture SoCs的软件开发涉及到基于最强大的计算模型在各种处理 ...
最新文章
- 洛谷 1281 书的复制
- matlab 和python读取csv文件速度_matlab读取csv文件数据并绘图
- 当UG的License服务器换了后, 客户端如何调整?
- lisp实战文库_LISP编程举例
- 轻量级的开源集成:Apache Camel还是Spring集成?
- Python 项目打包成可执行程序命令
- 闲话WPF之十八(WPF中的资源 [4] )
- Asp.Net MVC5入门学习系列⑥
- 如何“ grep”连续流?
- 为什么我的crontab不起作用呢
- Python Tricks(十八) —— range
- WINDOWS下SQL2016安装
- 如何实现卫星通信的稳定链接?
- 启动马达接线实物图_常见电机控制实物接线图,简单原理分析,学习入门,值得收藏...
- 利用windrose绘制风玫瑰图并解决错误问题
- iCloud照片无法上传或同步怎么办?
- 2022软考网工笔记(网络安全)
- 【IPD流程学习 一】背景和目标
- 如何在win10中安装jdk
- 我讨厌你公事公办的样子