理论教育 HRPWM模块寄存器详解

HRPWM模块寄存器详解

时间:2023-06-15 理论教育 版权反馈
【摘要】:TBPRD为早期ePWM模块提供向后兼容性。寄存器TBPRDHRM只在ePWM模块具有高分辨率周期控制且使能高分辨率周期特征时可用。这种模式下HRPWM模块可控制高分辨率占空比与频率。这种情况下,CMPCTL[LOADAMODE]位将决定哪一个事件将由影子寄存器装入到活跃寄存器。选择CMPAHR/TBPRDHR/TBPHSHR寄存器的分数占空比/周期/相位是由HRMSTEP寄存器的MEP定标系数自动定标,还是应用软件计算手动定标。SFO库函数用合适的MEP定标系自动更新数HRMSTEP寄存器。选择将CMPAHR影子值装入活跃寄存器的时间事件。

HRPWM模块寄存器详解

(1)时基周期高分辨率寄存器(Time Base Period High Resolution Register,TBPRDHR)

位15~8,TBPRDHR:取值00~FFh,周期高分辨率位。这8位包含周期值的高分辨率部分。寄存器TBPRDHR不受TBCTL [PRDLD]位影响。读该寄存器总是反映影子寄存器。写入也同样写到影子寄存器。该寄存器只在使能高分辨率周期特征时可用。

位7~0,保留位。

(2)时基周期高分辨率镜像寄存器(Time-Base Period High Resolution MirrorRegister,TBPRDHRM)

位15~8,TBPRDHR:取值00~FFh,周期高分辨率位。这8位包含周期值的高分辨率部分。

TBPRD为早期ePWM模块提供向后兼容性。镜像寄存器(TBPRDM和TBPRDHRM)允许一次访问32位写入TBPRDHR。由于TBPRD寄存器奇数存储地址的原因,不可能32位写入TBPRD和TBPRDHR。

寄存器TBPRDHRM不受TBCTL[PRDLD]位影响。写入TBPRDHR和TBPRDM访问时基周期值的高分辨率部分(低8位)。差别是不像TBPRDHR,读镜像寄存器TBPRDHRM的值是不确定的(用于TI测试)。寄存器TBPRDHRM只在ePWM模块具有高分辨率周期控制且使能高分辨率周期特征时可用。

位7~0,保留位。

(3)时基相位高分辨率寄存器(Time-Base Phase High Resolution Register,TBPHSHR)

位15~8,TBPHSHR:取值00~FEh,时基相位高分辨率位。

位7~0,保留位。

(4)高分辨率周期控制寄存器(High Resolution Period Control Register,HRPCTL)

位15~3、位1,保留位。

位2,TBPHSHR LOADE:TBPH SHR的装载使能位。通过该位可以使ePWM模块与SYNCIN,TBCTL[SWFSYNC]的高分辨率相位或数字比较时间同步。这样允许多个ePWM模块高分辨率相位对齐到相同频率。

●0:禁止ePWM模块与SYNCIN,TBCTL[SWFSYNC]的高分辨率相位或数字比较时间同步。

●1:使能ePWM模块与SYNCIN,TBCTL[SWFSYNC]的高分辨率相位或数字比较时间同步。使用高分辨率相位寄存器TBPHSHR实现相位同步。

使能在SYNCIN或TBCTL[SWFSYNC]下,用TBPHS寄存器装入TBCTR寄存器的TBCTL[PHSEN]位是独立工作的。无论如何,用户希望同时控制相位和高分辨率周期,也需要使能该位。

注意对于增减计数模式,即使TBPHSHR=0x0000,当使能高分辨率周期控制时,该位及TBCTL[PHSEN]必须设为1。

位0,HRPE:高分辨率周期使能位。

●0:高分辨率周期禁止。这种模式ePWM模块为类型0。

●1:高分辨率周期使能。这种模式下HRPWM模块可控制高分辨率占空比与频率。当高分辨率周期使能时,不支持BCTL[CTRMODE]=0,1(向下计数模式)。

(5)计数比较高分辨率寄存器(Compare A High Resolution Register,CMPAHR)

位15~8,CMPAHR:取值00~FFh。这8位包含计数比较寄存器A的高分辨率部分(低8位)。CMPA:CMPAHR可以32位读写访问。CMPA寄存器的影子功能由CMPCTL[SHDWAMODE]位使能或禁止。

位7~0,保留位。

(6)计数比较A镜像寄存器(Counter-Compare A Mirror Register,CMPAM)

这是一个16位寄存器,取值0000~FFFFh。CMPA和CMPAM都可以用于访问计数比较A的值。唯一差别是读镜像寄存器总是读回活跃寄存器值。默认写入到寄存器的影子寄存器。不像CMPA寄存器,读CMPAM总是返回活跃寄存器值。影子功能由CMPCTL[SHD-WAMODE]位使能或禁止。

●若CMPCTL[SHDWAMODE]=0,则使能了影子寄存器,那么任何写入自动写到影子寄存器。所有读出则反映了活跃寄存器的值。这种情况下,CMPCTL[LOADAMODE]位将决定哪一个事件将由影子寄存器装入到活跃寄存器。

●在写入前,可以读CMPCTL[SHDWAFULL]位,以确定影子寄存器是否已满。

●若CMPCTL[SHDWAMODE]=1,则禁止影子寄存器,任何写入直接写到活跃寄存器,即活跃寄存器直接控制硬件。

(7)HRPWM配置寄存器(HRPWM Configuration Register,HRCNFG)

位15~8,保留位。

位7,SWAPAB:交换ePWMA和B输出信号。(www.daowen.com)

●0:ePWMxA和ePWMxB输出不变。

●1:ePWMxA信号出现在ePWMxB输出,ePWMxB信号出现在ePWMxA输出。

位6,AUTOCONV:自动转换延迟线值。选择CMPAHR/TBPRDHR/TBPHSHR寄存器的分数占空比/周期/相位是由HRMSTEP寄存器的MEP定标系数自动定标,还是应用软件计算手动定标。

SFO库函数用合适的MEP定标系自动更新数HRMSTEP寄存器。

●0:自动HRMSTEP定标禁止。

●1:自动HRMSTEP定标使能。

如果应用软件是手动定标分数占空比或相位(即对占空比软件设置CMPAHR=(frac(PWM占空比∗PWM周期)∗MEP定标系数)<<8+0x080),那么这种模式应禁止。

位5,SELOUTB:EPWMxB输出选择位。选择哪一个信号输出到ePWMxB通道。

●0:ePWMxB正常输出。

●1:ePWMxB输出为ePWMxA信号的反相。

位4~3,HRLOAD:影子模式位。选择将CMPAHR影子值装入活跃寄存器的时间事件。

●00:在CTR=0时装入:时基计数器等于0(TBCTR=0x0000)。

●01:在CTR=PRD时装入:时基计数器等于周期(TBCTR=TBPRD)。

●10:在CTR=0或CTR=PRD时装入。

●11:保留。

位2,CTLMODE:控制模式位。选择控制微边沿位置的寄存器(CMP/TBPRD或TB-PHS)。

●0:CMPAHR(8)或TBPRDHR(8)寄存器控制边沿位置(即占空比或周期控制模式(复位默认);

●1:TBPHSHR(8)寄存器控制边沿位置(即相位控制模式)。

位1~0,EDGMODE:边沿模式位。选择由微边沿位置(Micro-edgeposition,MEP)逻辑控制的PWM边沿。

●00:禁止HRPWM功能(复位默认)。

●01:上升沿MEP控制(CMPAHR)。

●10:下降沿MEP控制(CMPAHR)。

●11:双降沿MEP控制(TBPHSHR或TBPRDHR)。

(8)HRPWM电源寄存器HRPWR(High Resolution Power Register,HRPWR)

位15~10、位5~0,保留位。

位9~6,MEPOFF:取值0~Fh,MEP校准OFF位。当不用MEP校准时,将这些位置为1,以禁止HRPWM的MEP校准逻辑,减少电源消耗。

(9)HRPWM高分辨率MEP步寄存器(High Resolution Micro Step Register,HRMSTEP)

位15~8,保留位。

位7~0,HRMSTEP:取值00~FFh,高分辨率MEP步。当自动转换使能时(HRCNFG[AUTOCONV]=1),这8位包含MEP_ScaleFactor值(每一个粗步的MEP步数),用于硬件将寄存器CMPAHR,TBPHSHR或TBPRDHR的值自动转换到在高分辨率ePWM输出的按比例的微小边沿延迟。该数值由SFO校准软件在每次校准运行结束时写入。

例7-3 利用ePWM增计数模式在ePWM2A(GPIO2)产生高分辨率PWM波形(MEP控制),在ePWM2B(GPIO3)产生非高分辨率PWM波形。SYSCLK=50MHz,PWM频率为3MHz。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈