查看: 8932|回复: 10

[已解决] 利用K60的FTM产生PWM,CnV在何时生效?(已解决)

[复制链接]

该用户从未签到

10

主题

47

帖子

0

注册会员

Rank: 2

积分
144
最后登录
1970-1-1
发表于 2013-10-22 15:35:23 | 显示全部楼层 |阅读模式
问一个利用FTM产生PWM的问题:
我的应用是电机控制,在电机转动的过程中,每个PWM周期都会产生不同占空比的PWM波,意味着输出比较寄存器(K60这里是CnV寄存器) 要不断更新,做过电机控制的人都知道,在电流环中算出各组CnV后,对比较寄存器进行赋值,但硬件并不马上生效,一般把这个更新点选在下个PWM周期开始。
为此我特地研究了一下K60的CnV寄存器在什么时候更新,见手册,很显然,我的CLKS[1:0] ≠ 0:0, FTMEN = 1,应该按红色框里面的内容来,根据英文描述,更新的时机应该在FTM的Counter发生变化时,其实就接近于即时更新了。这种方式正好不是我想要的方式。
1.JPG
然而,我又写了测试程序进行测试,发现更新的时机却又正好在下个PWM周期开始,这让我疑惑了。到底是手册的描述我理解错了,还是其他什么原因?请帮忙解答!
我知道答案 目前已有10人回答
回复

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2013-10-22 15:58:27 | 显示全部楼层

RE:利用K60的FTM产生PWM,CnV在何时生效?

请问你测试是SYNCEN=1的时候不对吗?
因为这段话还根据SYNCEN位做了区分,只有SYNCEN=1时,才是同步更新。所以请问你的SYNCEN是多少?
回复 支持 反对

使用道具 举报

该用户从未签到

10

主题

47

帖子

0

注册会员

Rank: 2

积分
144
最后登录
1970-1-1
 楼主| 发表于 2013-10-22 16:15:54 | 显示全部楼层

回复:利用K60的FTM产生PWM,CnV在何时生效?

SYNCEN回复第 2 楼 于2013-10-22 15:58:27发表:
请问你测试是SYNCEN=1的时候不对吗?
因为这段话还根据SYNCEN位做了区分,只有SYNCEN=1时,才是同步更新。所以请问你的SYNCEN是多少?
 

我不可能不注意到SYNCEN,我的SYNCEN确实是1。这里当SYNCEN=1时,文档说了Cnv和Cn+1V会同步更新,但并没有说会在下一个PWM周期更新,这是两码事。我觉得SYNCEN为0或1的区别只是CnV和Cn+1V是否同步的区别。而那句FTM Counter变化时更新是否也应适用于SYNCEN=1,确实也不好说。所以我发这个帖子,也是想确认一下。
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2013-10-22 17:42:42 | 显示全部楼层

回复:利用K60的FTM产生PWM,CnV在何时生效?

回复第 3 楼 于2013-10-22 16:15:54发表:
SYNCEN回复第 2 楼 于2013-10-22 15:58:27发表:
请问你测试是SYNCEN=1的时候不对吗?
因为这段话还根据SYNCEN位做了区分,只有SYNCEN=1时,才是同步更新。所以请问你的SYNCEN是多少?
 

我不可能不注意到SYNCEN,我的SYNCEN确实是1。这里当SYNCEN=1时,文档说了Cnv和Cn+1V会同步更新,但并没有说会在下一个PWM周期更新,这是两码事。我觉得SYNCEN为0或1的区别只是CnV和Cn+1V是否同步的区别。而那句FTM Counter变化时更新是否也应适用于SYNCEN=1,确实也不好说。所以我发这个帖子,也是想确认一下。
 

你好,模块的CnV同步应该是可以的。我觉得没有测出来,应该是具体配置以及测试方面的问题。
CnV的同步不仅仅看CLKS[1:0] ≠ 0:0 and FTMEN = 1),SYNCEN=1,它的同步和MOD寄存器的同步一样,需要遵循如下的流程:
zz.jpg
所以,你还需要查看你的SYNCMODE等寄存器,具体查看39.4.11.4 MOD Register Synchronization章节,可能是你设置的模式的register update比较靠后,而不是立即更新导致你看到的是下一个周期才更新CnV。
回复 支持 反对

使用道具 举报

该用户从未签到

10

主题

47

帖子

0

注册会员

Rank: 2

积分
144
最后登录
1970-1-1
 楼主| 发表于 2013-10-23 10:16:01 | 显示全部楼层

回复:利用K60的FTM产生PWM,CnV在何时生效?

 
正如你所说,手册中的确有这么一句“这个同步和MOD的同步一样”。
t2.JPG
 
顺着你的思路,我看了一下我的配置:SYNCMODE=0 PWMSYNC=0
其实这个配置就是在PE里的“Synchronization mode”选“Disable”,的确也是,我的需求跟那些硬件触发、软件触发好像也没关系。
t1.JPG
 
根据这个配置继续看文档(39.4.11.4 MOD Register Synchronization),好像就找不到后面的路了(没有说到我这种情况到底是什么时候同步更新)。

要不还是问题简单化吧,我把我的需求简单写一下,你告诉我关键的几个寄存器该怎么配吧,然后顺着配的方式,是不是就能对应上手册上讲的具体更新时机。
需求:应用就是电机驱动,上电后,把产生PWM的周期(100us)配置好后就永远不会变了,即CNTIN、MOD初始化后就不动了。在电机运转过程中,几组CnV和Cn+1V会不断变化,但是我期望更新生效的时机是在下一个PWM周期开始。
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2013-10-23 11:14:29 | 显示全部楼层

RE:利用K60的FTM产生PWM,CnV在何时生效?

好的,我现在确认下,你用的芯片是MK60DN512ZVMD10吗?请告诉我你的具体型号!
回复 支持 反对

使用道具 举报

该用户从未签到

10

主题

47

帖子

0

注册会员

Rank: 2

积分
144
最后登录
1970-1-1
 楼主| 发表于 2013-10-23 12:29:44 | 显示全部楼层

回复:利用K60的FTM产生PWM,CnV在何时生效?

回复第 6 楼 于2013-10-23 11:14:29发表:
好的,我现在确认下,你用的芯片是MK60DN512ZVMD10吗?请告诉我你的具体型号!
PK60DN512ZVLQ10 
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2013-10-23 17:37:26 | 显示全部楼层

回复:利用K60的FTM产生PWM,CnV在何时生效?

回复第 7 楼 于2013-10-23 12:29:44发表:
回复第 6 楼 于2013-10-23 11:14:29发表:
好的,我现在确认下,你用的芯片是MK60DN512ZVMD10吗?请告诉我你的具体型号!
 
PK60DN512ZVLQ10 

 

 

官网有篇AN专门讲FTM电机控制,其中详细讲了同步以及通道占空比更新问题。
2.5节以后,你可以参考看看,链接为:
http://cache.freescale.com/files/microcontrollers/doc/app_note/AN3729.pdf?fsrch=1&sr=14
希望能帮到你。
还有这几篇文章:
http://cache.freescale.com/files/microcontrollers/doc/app_note/AN3731.pdf?fsrch=1&sr=20
http://cache.freescale.com/files/microcontrollers/doc/app_note/AN4560.pdf?fsrch=1&sr=17
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    22 小时前
  • 签到天数: 2931 天

    连续签到: 22 天

    [LV.Master]伴坛终老

    23

    主题

    4146

    帖子

    82

    金牌会员

    Rank: 6Rank: 6

    积分
    13796
    最后登录
    2025-7-27
    发表于 2013-10-24 00:55:12 | 显示全部楼层

    回复:利用K60的FTM产生PWM,CnV在何时生效?

    纯属学习,来看看,对K60很是感兴趣
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    10

    帖子

    0

    新手上路

    Rank: 1

    积分
    10
    最后登录
    1970-1-1
    发表于 2014-1-21 11:29:35 | 显示全部楼层

    回复:利用K60的FTM产生PWM,CnV在何时生效?(已解决)

    我也正在发愁
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-27 23:54 , Processed in 0.103596 second(s), 31 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表