查看: 6479|回复: 9

[S12] MC9S12XEP100 16位MCU的 pwm输出时钟选择问题(已解决)

[复制链接]

该用户从未签到

8

主题

20

帖子

0

注册会员

Rank: 2

积分
82
最后登录
1970-1-1
发表于 2014-5-19 22:22:53 | 显示全部楼层 |阅读模式
请各位大侠赐教啦!
       目前,我正在编写管MC9S12XEP100,144pin的PWM波输出代码
     我遇到的问题是: 
     对于144pin的16位MCU,它有8个独立的8位的pwm输出通道,也可以配置为4个16位的PWM输出通道(通过级联方式),
     通道的时钟类别有4种,A,SA,B,SB,其中,通道0,1,4,5可选的时钟是A或者SA。通道2,3,6,7可选的时钟是B或者SB。
   我遇到的问题是: 
   当我选择0,1两个通道同时输出pwm波形时(通道不级联,输出的频率不相等),我该如何设置通道的时钟,因为寄存器PWMCLK、PWMPRCLK、PWMCTL、PWMSCLA、PWMSCLB对所有通道都是适用的,而不是一对一可设置的,所以当我设置好0通道的输出PWM波时,对应的PWMPRCLK、PWMSCLA、PWMSCLB的值以设置好了,所以再设置1通道输出时,寄存器就会被重写,使它满足1通道输出设置,这个时候0通道的所需参数就发生了变化,他的输出就不正确了。
我的代码设计思想是,根据需要输出的频率,去设计A、SA、B、SB时钟的分频因子,使之满足输出(目前的难度是时钟的选定问题)
这个该如何解决,让两个通道的输出设置互不影响?
 
   我期待各位高手的回复!
  在此感谢您的阅读,非常期待您的回复!
我知道答案 目前已有8人回答
回复

使用道具 举报

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

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-5-20 10:05:50 | 显示全部楼层

    回复:MC9S12XEP100 16位MCU的 pwm输出时钟选择问题

    楼主你好
    请问你的通道0选择A时钟、通道1选择SA时钟吗?
    这样一来如果你想改变通道1的频率,通过修改PWMSCLA的分频值即可。
    当然因为Clock SA = Clock A / (2 * PWMSCLA) 的存在,所以你修改A的时钟会导致SA也变化。那么你能否通过PWMSCLA的改变保持SA频率不变呢?
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    25

    帖子

    0

    注册会员

    Rank: 2

    积分
    67
    最后登录
    1970-1-1
    发表于 2014-5-22 01:55:10 | 显示全部楼层

    RE:MC9S12XEP100 16位MCU的 pwm输出时钟选择问题

    你设置的时候分开设置就好了呀,尽量避免混在一起, 如果有变化,尽量控制住
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

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

    回复:MC9S12XEP100 16位MCU的 pwm输出时钟选择问题

    回复第 2 楼 于2014-05-20 10:05:50发表:
    楼主你好
    请问你的通道0选择A时钟、通道1选择SA时钟吗?
    这样一来如果你想改变通道1的频率,通过修改PWMSCLA的分频值即可。
    当然因为Clock SA = Clock A / (2 * PWMSCLA) 的存在,所以你修改A的时钟会导致SA也变化。那么你能否通过PWMSCLA的改变保持SA频率不变呢?
     

    请问楼主你的问题后来怎么样了?
    PS:下次发帖记得选择帖子类型,比如这帖就可以选成求助类。
    如果问题尚未解决可以继续在帖子中与大家讨论。
    问题解决后还请配合我们在帖子标题末添加“(已解决)”字样,谢谢!
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4

    主题

    351

    帖子

    0

    高级会员

    Rank: 4

    积分
    973
    最后登录
    1970-1-1
    发表于 2014-5-26 14:35:05 | 显示全部楼层

    回复:MC9S12XEP100 16位MCU的 pwm输出时钟选择问题

    A和SA 、  B和SB的时钟始终是存在分频关系的,如果你想完全独立感觉蛮困难的。
    如果你只改分频后的SA\SB那还稍微好点,只修改分频系数不会影响A、B
    如果修改A\B感觉就会影响分频后的SA\SB了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8

    主题

    20

    帖子

    0

    注册会员

    Rank: 2

    积分
    82
    最后登录
    1970-1-1
     楼主| 发表于 2014-5-26 21:11:42 | 显示全部楼层

    回复:MC9S12XEP100 16位MCU的 pwm输出时钟选择问题

    回复第 2 楼 于2014-05-20 10:05:50发表:
    楼主你好
    请问你的通道0选择A时钟、通道1选择SA时钟吗?
    这样一来如果你想改变通道1的频率,通过修改PWMSCLA的分频值即可。
    当然因为Clock SA = Clock A / (2 * PWMSCLA) 的存在,所以你修改A的时钟会导致SA也变化。那么你能否通过PWMSCLA的改变保持SA频率不变呢?
     
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8

    主题

    20

    帖子

    0

    注册会员

    Rank: 2

    积分
    82
    最后登录
    1970-1-1
     楼主| 发表于 2014-5-26 21:16:16 | 显示全部楼层

    回复:MC9S12XEP100 16位MCU的 pwm输出时钟选择问题

    回复第 2 楼 于2014-05-20 10:05:50发表:
    楼主你好
    请问你的通道0选择A时钟、通道1选择SA时钟吗?
    这样一来如果你想改变通道1的频率,通过修改PWMSCLA的分频值即可。
    当然因为Clock SA = Clock A / (2 * PWMSCLA) 的存在,所以你修改A的时钟会导致SA也变化。那么你能否通过PWMSCLA的改变保持SA频率不变呢?
     
     
     
    非常感谢您的回复!
    在我的应用中,输出的频率是一个已知量,我是通过要输出的频率去设置分频因子。
    这样的方法也不能做到A和SA没有关联的
     
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8

    主题

    20

    帖子

    0

    注册会员

    Rank: 2

    积分
    82
    最后登录
    1970-1-1
     楼主| 发表于 2014-5-26 21:21:11 | 显示全部楼层

    回复:MC9S12XEP100 16位MCU的 pwm输出时钟选择问题

    回复第 3 楼 于2014-05-22 01:55:10发表:
    你设置的时候分开设置就好了呀,尽量避免混在一起, 如果有变化,尽量控制住
     
     
    感谢您的回复!
    我是尽量不让他们有关联,但是实际输出的值,与我所设计的不一样!
    个人觉得还是很难做到互不影响的,除非我们把他们的分频因子固定了,而不是一个变量
     
     
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8

    主题

    20

    帖子

    0

    注册会员

    Rank: 2

    积分
    82
    最后登录
    1970-1-1
     楼主| 发表于 2014-5-26 21:24:59 | 显示全部楼层

    回复:MC9S12XEP100 16位MCU的 pwm输出时钟选择问题

    回复第 4 楼 于2014-05-22 10:44:41发表:
    回复第 2 楼 于2014-05-20 10:05:50发表:
    楼主你好
    请问你的通道0选择A时钟、通道1选择SA时钟吗?
    这样一来如果你想改变通道1的频率,通过修改PWMSCLA的分频值即可。
    当然因为Clock SA = Clock A / (2 * PWMSCLA) 的存在,所以你修改A的时钟会导致SA也变化。那么你能否通过PWMSCLA的改变保持SA频率不变呢?
     

    请问楼主你的问题后来怎么样了?
    PS:下次发帖记得选择帖子类型,比如这帖就可以选成求助类。
    如果问题尚未解决可以继续在帖子中与大家讨论。
    问题解决后还请配合我们在帖子标题末添加“(已解决)”字样,谢谢
    感谢您的回复!
    问题依然存在,我换了一种方式,就是把分频因子寄存器全部设置为满分频,这样通道始终不存在互相影响了,但是这种情况是,有些输出频率和占空比是不能正确输出的
     
     
     
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-5-29 14:29:08 | 显示全部楼层

    回复:MC9S12XEP100 16位MCU的 pwm输出时钟选择问题

    由于我对这个产品不熟,而且论坛FAE在线技术支持中也没有16位产品的工程师,所以可能无法帮助到你。
    建议你按照帖子飞思卡尔产品论坛快速购买通道及SR提交流程提交一个服务请求:
    如果你尚未注册飞思卡尔官网账号,请先点击注册按钮:右侧图标完成注册。
    如果你已有飞思卡尔官网账号,可以点击申请SR按钮:右侧图标提交一个服务请求。最好使用英文描述清楚自己的问题,以便国内外工程师都能够帮助到你。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-21 21:37 , Processed in 0.104274 second(s), 30 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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