OIS1 OIS1N OSSR OSSI用途

自记:

还是没有理解了

互补通道与刹车

互补通道与刹车功能是高级寄存器特有的功能。

在使用互补通道时,往往还需要考虑死区等特殊功能。而本文为了简单起见,不再考虑死区区间。通过配置TIMx_CCER寄存器,来使能互补通道,且将OCxREF 重定向到 OCx 输出或 OCxN 输出。

互补信号 OCx 和 OCxN 通过以下多个控制位的组合进行激活:TIMx_CCER 寄存器中的 CCxE 和 CCxNE 位以及 TIMx_BDTR 和 TIMx_CR2 寄存器中的 MOE、OISx、OISxN、OSSI 和 OSSR 位。

OIS1 OIS1N OSSR OSSI用途_第1张图片

注意:
此处中文文档过于陈旧,最新的英文参考手册有不同的描述,如下所示:

OIS1 OIS1N OSSR OSSI用途_第2张图片

关于OSSR和OSSI的作用:

OSSR在MOE=1时起作用,即PWM处于运行状态。下面分条陈述:

    若互补通道都使能(CCxE=CCxNE=1),此时很容易理解,两个端口按照配置正常输出PWM波
    若互补通道都禁用(CCxE=CCxNE=0),此时存疑,可以认为两个端口都处于高阻状态。
    若互补通道有一个使能,一个禁用。则使能的端口正常输出PWM波,禁用的端口的状态与OSSR相关。
    若OSSR=0,则禁用端口输出高阻(存疑),与CCxP或者CCxNP无关。
    若OSSR=1则禁用端口输出无效电平假设OC1N为被禁用,即(CC1NE=0),则此时OC1N的输出为无效电平,即CC1NP为0时,高电平有效,输出电平为0,CC1NP为1是,低电平有效,输出电平为1。

OSSI与OSSR的作用很类似,其只有在MOE=0时起作用,即PWM处于高阻状态。我们假定互补的两个通道都使能,下面分条陈述:

    若OISx与OSIxN不同,有且只有一个电平为高电平,则通道输出的电平对应空闲状态。即OCxN=OSIxN,OCx=OISx。
    若OISx=OSIxN=1时,只有CCxP=CCxNP=0时,OCx=OCxN=0;其余时候OCx=OCxN=1。
    若OISx=OSIxN=0时,与前面相似,只有CCxP=CCxNP=1时,OCx=OCxN=1,其余时候OCx=OCxN=0。
    上面3种情况是OSSI=1的效果,若OSSI=0,此时输出高阻(存疑)。

可以这样理解:若是OISx=OSIxN且CCxP=CCxNP时,此时输出的是无效电平。其余的时候,OCxN=OSIxN,OCx=OISx。

真值表如下:OIS1 OIS1N OSSR OSSI用途_第3张图片

你可能感兴趣的:(嵌入式硬件)