查看: 2551|回复: 8

[求助] 【经验分享】kinetis K系列FTMEN非零情况下修改MOD值

[复制链接]

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2014-5-22 14:35:11 | 显示全部楼层 |阅读模式
 
【经验分享】kinetis K系列FTMEN非零情况下修改MOD

一问题描述
    有些网友反映,在kinetis K(K20D50M)系列的FTMEN非零情况下修改MOD值失败,其实在FTMEN非零情况下修改MOD值是最简单的,它不同于FTMEN=1,需要做MOD寄存器同步更新。只需要直接修改MOD值,等到FTM counter满足了相应的条件之后,就可以更新MOD值。
问题解答
根据用户手册如下:
1.jpg
如果FTMEN=0,则按照PWM的模式有两种情况,CPWM和非CPWM如果是CPWM,则当MOD寄存器写入数据并且FTM的计数值从MODMOD-1的时候,就会实现真实MOD的改变。
如果是非CPWM,则当MOD寄存器写入数据并且FTM的计数值从MODCNTIN的时候,就会实现真实MOD的改变。如果是free-runing,则就是则当MOD寄存器写入数据并且FTM的计数值从0XFFFF0的时候,会实现真实MOD的改变。
为了便于网友测试,我这边使用CWPE做了一个FTM的例程,PWM模式是EPWM,然后通过测试实现MOD的改变。使用的FTM模块是init_FTM.
 测试结果
   测试平台:FRDM_K20D50M
   PWM 模式: EPWM
测试目的:将MOD6000变到5000.
时钟源:系统时钟并且2分频。
程序功能:MOD6000时跑一段时间后将MOD改为5000并查看波形。
测试结果显示,能够将MOD改变到自己想要的值。
2.jpg
1
Test1为改变MOD前读的值,test2为改变MOD后读的值,可以看到成功改到了5000
28.jpg
2
以上是实际测试的波形,可以看到后面的PWM的周期已经改变掉。
我知道答案 目前已有8人回答
回复

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
 楼主| 发表于 2014-5-22 14:35:29 | 显示全部楼层

回复:【经验分享】kinetis K系列FTMEN非零情况下修改MOD值

 
附件
附件为测试的代码,需要的网友可以拿去。
后面将会做一个同步修改MOD的经验分享。

【经验分享】kinetis K系列FTMEN非零情况下修改MOD值.pdf

448.37 KB, 下载次数: 22, 下载积分: 威望 1

K20_50M_FTM_changeMOD.rar

724.84 KB, 下载次数: 17, 下载积分: 威望 1

回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
 楼主| 发表于 2014-5-22 14:36:41 | 显示全部楼层

RE:【经验分享】kinetis K系列FTMEN非零情况下修改MOD值

后面会推出更多的经验分享帖,不足之处恳请指正,同时也欢迎大家分享自己的经验。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    5970
    最后登录
    2020-9-28
    发表于 2014-5-22 15:10:10 | 显示全部楼层

    RE:【经验分享】kinetis K系列FTMEN非零情况下修改MOD值

    飞思卡尔官网例程包中FTM模块的例程较少,大家可以关注此贴内容学习一下。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-1-24 09:50
  • 签到天数: 2 天

    [LV.1]初来乍到

    654

    主题

    3262

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    11124
    最后登录
    2019-1-27
    发表于 2014-5-23 14:03:51 | 显示全部楼层

    RE:【经验分享】kinetis K系列FTMEN非零情况下修改MOD值

    多谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    40

    帖子

    0

    注册会员

    Rank: 2

    积分
    89
    最后登录
    1970-1-1
    发表于 2014-6-4 08:56:28 | 显示全部楼层

    RE:【经验分享】kinetis K系列FTMEN非零情况下修改MOD值

    谢谢楼主的分享!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    40

    帖子

    0

    注册会员

    Rank: 2

    积分
    89
    最后登录
    1970-1-1
    发表于 2014-6-4 08:58:29 | 显示全部楼层

    RE:【经验分享】kinetis K系列FTMEN非零情况下修改MOD值

    谢谢楼主的分享!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    15311
    最后登录
    1970-1-1
    发表于 2015-7-6 17:06:27 | 显示全部楼层
    正需要,拜读,不懂再问
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    4

    帖子

    0

    新手上路

    Rank: 1

    积分
    38
    最后登录
    2017-3-23
    发表于 2016-7-22 16:02:08 | 显示全部楼层
    If FTMEN = 0, this write coherency mechanism may be manually reset by writing to the
    SC register whether BDM is active or not。

    什么时候 进行  写 SC 的操作呢?
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-5-2 09:39 , Processed in 0.148827 second(s), 30 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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