打印
[STM32F1]

STM的 PWM 波形同相输出问题。

[复制链接]
1384|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
fanxsd|  楼主 | 2014-7-19 13:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教大神们及香版主 , STM32F10X 能不能输出六路波形,其中每两路是完全相同的,同周期 同占空比,关键是相位要相同。是不是我配置完了周期占空比都相同,两路只要同时开 这个相位就一定能保持相同吗?
沙发
mmuuss586| | 2014-7-19 13:37 | 只看该作者
6路没啥问题,好像是16路吧;
一个定时器4路;

你用一个定时器的2个通道,输出2路,参数设置相同,输出就基本一致了;
你也可以1路输出,分成2路(硬件加缓冲器);

使用特权

评论回复
板凳
fanxsd|  楼主 | 2014-7-21 10:39 | 只看该作者
mmuuss586 发表于 2014-7-19 13:37
6路没啥问题,好像是16路吧;
一个定时器4路;

关键是6路中的 每两路要相位相同啊,配置好了持续运行都是相位相同的。还有你说的 一路输出分两路用。我相位相同 但是还要 分开控制,控制PWM的输出与终止!

使用特权

评论回复
地板
fanxsd|  楼主 | 2014-7-21 10:50 | 只看该作者
我要自己顶一下,希望大神们帮我解决一下。长时间运行PWM相位能够相同吗?

使用特权

评论回复
5
airwill| | 2014-7-21 10:53 | 只看该作者
这有何难?
用高级定时器, 每个通道就有两路, 不要设置成互补方式就可以实现楼主要求, 并且硬件保证绝对同频率, 同相位.

使用特权

评论回复
6
fanxsd|  楼主 | 2014-7-21 11:01 | 只看该作者
airwill 发表于 2014-7-21 10:53
这有何难?
用高级定时器, 每个通道就有两路, 不要设置成互补方式就可以实现楼主要求, 并且硬件保证绝对同频 ...

版主,那能单独停止一路的输出吗?另一路正常,
TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Disable;   
是不是就不可以用TIM1->CCER寄存器控制啦

使用特权

评论回复
7
airwill| | 2014-7-21 11:17 | 只看该作者
还是用 CCER 控制, 比如 CC1E 和 CC1NE 分别控制同一通道的两路

使用特权

评论回复
8
fanxsd|  楼主 | 2014-7-21 11:22 | 只看该作者
airwill 发表于 2014-7-21 11:17
还是用 CCER 控制, 比如 CC1E 和 CC1NE 分别控制同一通道的两路

谢谢 版主。大神就是大神啊!看来我要苦读 STM32 中文手册了。

使用特权

评论回复
9
mmuuss586| | 2014-7-21 12:32 | 只看该作者
fanxsd 发表于 2014-7-21 10:39
关键是6路中的 每两路要相位相同啊,配置好了持续运行都是相位相同的。还有你说的 一路输出分两路用。我 ...

任意2路相位相同吗???

使用特权

评论回复
10
mmuuss586| | 2014-7-21 12:34 | 只看该作者
fanxsd 发表于 2014-7-21 10:50
我要自己顶一下,希望大神们帮我解决一下。长时间运行PWM相位能够相同吗? ...

长时间,和短时间一样的,只要你程序不跑飞,抗干扰强,就没任何问题;

使用特权

评论回复
11
fanxsd|  楼主 | 2014-7-21 14:44 | 只看该作者
mmuuss586 发表于 2014-7-21 12:34
长时间,和短时间一样的,只要你程序不跑飞,抗干扰强,就没任何问题; ...

你这是靠软件同步的相位,估计稳定性不一定能保证!

使用特权

评论回复
12
mmuuss586| | 2014-7-21 14:55 | 只看该作者
fanxsd 发表于 2014-7-21 14:44
你这是靠软件同步的相位,估计稳定性不一定能保证!

:loveliness:
我又不做同步相位输出;
你用硬件PWM输出,拿示波器或逻辑分析仪试下就知道了;
讨论了几天了,现在试过了吗?

使用特权

评论回复
13
fanxsd|  楼主 | 2014-7-21 21:38 | 只看该作者
mmuuss586 发表于 2014-7-21 14:55
我又不做同步相位输出;
你用硬件PWM输出,拿示波器或逻辑分析仪试下就知道了;
讨论了几天 ...

短时间 试过了,是同步的。

使用特权

评论回复
14
fanxsd|  楼主 | 2014-7-21 23:35 | 只看该作者
airwill 发表于 2014-7-21 10:53
这有何难?
用高级定时器, 每个通道就有两路, 不要设置成互补方式就可以实现楼主要求, 并且硬件保证绝对同频 ...

我看了好久的寄存器,还是看不太懂,请教你一下 怎么设置就是不互补的方式呢。通过修改极性吗?忘大神回答一下!

使用特权

评论回复
15
fanxsd|  楼主 | 2014-7-22 21:16 | 只看该作者
airwill 发表于 2014-7-21 10:53
这有何难?
用高级定时器, 每个通道就有两路, 不要设置成互补方式就可以实现楼主要求, 并且硬件保证绝对同频 ...

版主 能给我列举个 配置的例子吗?不互补输出的

使用特权

评论回复
16
airwill| | 2014-7-22 23:30 | 只看该作者
嗯, 我的说法有问题, 不能叫 "不互补" 方式, 应该叫互补方式下, 设置两路输出的有效电平是相反的.

使用特权

评论回复
17
fanxsd|  楼主 | 2014-7-23 22:29 | 只看该作者
airwill 发表于 2014-7-22 23:30
嗯, 我的说法有问题, 不能叫 "不互补" 方式, 应该叫互补方式下, 设置两路输出的有效电平是相反的. ...

貌似 我修改了一下,极性 一个高 一个低,然后就输出同相位的 PWM的。

使用特权

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

本版积分规则

13

主题

559

帖子

3

粉丝