博主通过普中的教程学习DSP芯片,在看到ePWM模块时,发现开发教程上对DB模块讲解不是很详细。于是在网上搜了一下,现在将自己的理解记录一下。
首先,我们来看一下DB模块的框图
可以看到,DB模块有ePWMA和ePWMB两个信号输入选择,可以通过S4、S5来进行选择。我们直接来举个例子:
比如S5=0,S4=0,S3=1,S2=0,S1=1,S0=0,则可以通过下图得到ePWMA和ePWMB的输出来源:
如图所示,ePWMA的上升沿延迟,ePWMB的输出是ePWMA的下降沿延迟后取反得到的。这也就很好理解接下来的这张图了。
可以看到,经过上升沿延迟后的信号是RED,下降沿延迟后的信号是FED,RED就是输出的ePWMA,FED取反后就是输出的ePWMB。就形成了互补主高电平的两路带死区的互补输出通道。其他的也类似,就是通过S0-S5这几个开关来设置,程序上就是设置DBCTL[IN_MODE],DBCTL[OUT_MODE],DBCTL[POLSEL]这三个寄存器。