查看: 1946|回复: 4

[分享] SCTimer产生PWM最大个数分析

[复制链接]

该用户从未签到

656

主题

6312

帖子

0

超级版主

Rank: 8Rank: 8

积分
20172
最后登录
2024-5-8
发表于 2021-9-28 11:37:32 | 显示全部楼层 |阅读模式
本帖最后由 小恩GG 于 2021-9-28 11:38 编辑

最近有客户反映关于SCTimer模块产生PWM个数,LPC55s06用户手册和数据手册写的不一致。按照生成PWM格式分类,有多种,所以利用SCTimer 生成PWM的最大个数也不一样。个人认为用户手册和数据手册描述的不太清楚,所以本文做具体分析。主要看SCTimer资源,例如事件(EVENT)个数,输出通道个数。

对于LPC所有系列,SCTimer生成PWM的机制是相同的,此处用LPC55s6 为例分析。
LPC55s06用户手册:
• The SCTimer/PWM supports:
– Eight inputs.
– Ten outputs.
– Sixteen match/capture registers.
– Sixteen events.
– Thirty two states.

本文按照生成PWM波控制方式不同,分为单边控制,双边控制和中央对齐控制。

1.PWM单边控制

下图为不同占空比,相同频率的两路单边控制PWM波。
单边控制.png
由上图可以得到,此两路PWM波共需要三个事件(Event):分别是计数器到41 ,65和100时。因为同频率,所以所有周期事件只需要一个。

总结:所有PWM的频率相同,共需一个频率事件(Event),每路PWM占空比不同,各需要一个事件触发。LPC55s06的SCTimer有16个事件,一个作为PWM频率事件,剩15个,理论上可以生成15路的PWM,但是LPC55s06只有10个输出通道(outputs),所以最多可以生成10路单边控制PWM波。

2.PWM双边控制

下图为不同占空比,相同频率的三路双边控制PWM波。

双边控制.png
由上图可以得到,此三路PWM波共需要七个事件(Event):分别是计数器到1,27,41,53,65,78,100时。

总结:PWM频率控制需要用一个事件,每路PWM占空比需要两个事件触发。LPC55s06的SCTimer有16个事件,一个作为PWM频率事件,剩15个,所以最多可以生成7路双边控制PWM波。


3.PWM 中央对齐控制

中央对齐是双边控制的一种特例,下图为不同占空比,相同频率的两路中央对齐PWM波:
中央对齐.png
由上图可以得到,此两路PWM波共需要三个事件(Event),分别是PWM频率和两路PWM的占空比触发,因为左右对称,所以一路PWM只需要一个事件控制占空比。

总结:所有PWM的频率相同,所以需要一个事件(Event)。每路PWM占空比不同,但左右对称,各需要一个事件触发。LPC55s06的SCTimer有16个事件,一个作为PWM频率事件,剩15个,理论上可以生成15路的PWM,但是LPC55s06只有10个输出通道(outputs),所以最多可以生成10路单边控制PWM波。


总结:LPC55s6 SCTimer 生成PWM个数最大值:
单边控制:10
双边控制:7
中央对齐:10

不同芯片中SCTimer包含事件和输出通道个数不一样,但分析方法是一样的,客户可以据此自己分析某款芯片中的SCTimer 是否满足需求。



回复

使用道具 举报

  • TA的每日心情
    奋斗
    2021-7-8 09:06
  • 签到天数: 27 天

    [LV.4]偶尔看看III

    18

    主题

    438

    帖子

    26

    金牌会员

    Rank: 6Rank: 6

    积分
    2209
    最后登录
    2024-3-5
    发表于 2021-9-28 14:05:22 | 显示全部楼层
    直观易懂,挺好的分享
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 20:36
  • 签到天数: 1484 天

    [LV.10]以坛为家III

    203

    主题

    2万

    帖子

    64

    超级版主

    Rank: 8Rank: 8

    积分
    93044
    最后登录
    2024-5-7
    发表于 2021-9-28 16:54:57 | 显示全部楼层
    本帖最后由 stm1024 于 2021-9-28 16:56 编辑

    CTimer也是类似,不过只能输出单边PWM,一个CTimer有4个MATCH,1个Match控制周期,另外三个控制占空比。
    SCTIMER是类似的,除去控制周期的寄存器,中央对齐和单边相同只需要1个寄存器,双边控制就需要2个 TS1 - 副本 (3).jpg TS1 - 副本 (2).jpg TS1 - 副本 (4).jpg TS1 - 副本 (7).jpg TS1 - 副本 (8).jpg TS1 - 副本 (9).jpg TS1 - 副本 (6).jpg TS1 - 副本 (5).jpg TS1 - 副本 (10).jpg TS1.jpg

    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    72

    帖子

    0

    注册会员

    Rank: 2

    积分
    78
    最后登录
    2023-1-28
    发表于 2022-11-6 21:55:56 | 显示全部楼层
    路过进来看看
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    72

    帖子

    0

    注册会员

    Rank: 2

    积分
    78
    最后登录
    2023-1-28
    发表于 2022-11-6 21:56:01 | 显示全部楼层
    本帖最后由 kwcha333 于 2023-1-2 00:02 编辑

    路过进来看看
















    洗衣機不能成功排水有機會排水位置有雜物淤塞導致或水泵零件損壞而清洗 冷氣 機 劑導致,可先檢查水泵垃圾格或排水位置是否處於正常,如清理排水泵垃圾格後仍然一樣情況未有改善,那是時侯要找專業維修人員上門檢查了。

    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-5-8 17:23 , Processed in 0.133790 second(s), 24 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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