打印
[STM32F4]

关于STM32 Timer的互补输出

[复制链接]
3601|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
monkeybigking|  楼主 | 2014-6-3 10:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近刚开始学习stm32的timer,对于“complementary output”,也就是所谓的“互补输出”不是很明白。有下面几个问题请教大家:
1.如果我同时enable OCx和OCxN(把CCxE和CCxNE都设置为1),并把CCxP设置为0,CCxNP设置为1,那么这样子还算不算互补输出?按照我的理解,这样子的话,OCx和OCxN的波形应该是一样的了,就不叫互补输出了吧?那dead-time也就不起作用了,对吧?
2.如果我同时enable OCx和OCxN(把CCxE和CCxNE都设置为1),并把CCxP设置为1,CCxNP也设置为1,那么这样子还算不算互补输出?

多谢大家指点!
沙发
戈卫东| | 2014-6-3 11:29 | 只看该作者
1 是互补输出。 CCXP=0 CCXNP=1仍然是互补输出,DEADTIME仍然有用。例如,如果你要驱动一个PMOS+NMOS半桥,就需要这样的互补输出。
2 是。 例如,你要驱动一个NMOS+NMOS半桥就需要这样的互补输出。

使用特权

评论回复
板凳
monkeybigking|  楼主 | 2014-6-3 14:32 | 只看该作者
戈卫东 发表于 2014-6-3 11:29
1 是互补输出。 CCXP=0 CCXNP=1仍然是互补输出,DEADTIME仍然有用。例如,如果你要驱动一个PMOS+NMOS半桥 ...

那就是说,只要同时把CCxE和CCxNE都设置为1,就是互补输出?和CCxP/CCxNP无关?

使用特权

评论回复
地板
戈卫东| | 2014-6-3 15:36 | 只看该作者
是的。 CCXP CCXNP只分别控制输出的极性,简单的例子就是,驱动NMOS,XP是0,正常极性,驱动PMOS,XP是1,反转极性。

使用特权

评论回复
5
mmuuss586| | 2014-6-3 19:10 | 只看该作者
楼上正解;
楼主,自己可以拿示波器看下波形,就会更明白,再加上死区等

使用特权

评论回复
6
monkeybigking|  楼主 | 2014-6-4 08:53 | 只看该作者
戈卫东 发表于 2014-6-3 15:36
是的。 CCXP CCXNP只分别控制输出的极性,简单的例子就是,驱动NMOS,XP是0,正常极性,驱动PMOS,XP是1, ...

最后再骚扰大神一个问题:
OCxN的输出电平是如何确定的啊?我看spec上有个表格,但是有个地方没看懂,例如:
MOE=1,OSSR=0,CCxE=0, CCxNE=1时,OCxN output state那一栏写的是:OCxREF + Polarity OCxN=OCxREF xor CCxNP.
我不明白,前面的那个“+”是什么含义?后面的xor是异或这个我知道。
多谢指点!!非常感谢!!O(∩_∩)O~

使用特权

评论回复
7
戈卫东| | 2014-6-4 10:06 | 只看该作者
1BIT宽的整型量,+等同于异或。。。。。。。。。。

使用特权

评论回复
8
monkeybigking|  楼主 | 2014-6-5 15:20 | 只看该作者
戈卫东 发表于 2014-6-4 10:06
1BIT宽的整型量,+等同于异或。。。。。。。。。。

不对吧?我觉得是“或”。以OCx output state的表达式为例,假设CCxP为0,我们来推导OCx的状态,看下面的分析:
OCxREF + Polarity OCx  =  OCxREF xor CCxP
  0          0         =    0    xor   0
  1          ?         =    1    xor   0
=================================================
很明显OCx应该是1,对吧?如果按照你的理解,“+”是异或的话,那OCx就是0了。

不知道我的理解对不对?谢谢!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

15

帖子

0

粉丝