找回密码
 立即注册
查看: 1630|回复: 7

关于STC32G高级PWM信号处理

[复制链接]

2

主题

4

回帖

54

积分

注册会员

积分
54
发表于 2023-3-15 23:21:10 | 显示全部楼层 |阅读模式
现在需要用STC32G对一路PWM信号进行处理。
这路PWM是100KHz左右,占空比从1%-100%不断变化,5V电平,需要跟踪捕获转换输出为3V电平, 一对互补对称的PWM。
现在的思路是用PWM1P输入捕获模式同时测量脉冲周期和占空比,最后送到PWM2P和PWM2N输出。因为频率是固定的,应该是不用测量脉冲周期,那是不是用门控模式(输入电平使能计数器)输入,再测量占空比,然后按测量的占空比值用PWM2产生一对互补对称的PWM,就可以完成输出?
目前刚学习高级PWM,还不熟悉,大家帮助出下主意。

回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12081
发表于 2023-3-16 09:58:04 | 显示全部楼层
依旧使用测周期方式,然后按比例计算输出的PWM占空比,设置即可。请参考STC的例程。
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=1298
上贴的“沙发”有捕获例程、PWM例程可以参考。
  • 打卡等级:以坛为家II
  • 打卡总天数:515
  • 最近打卡:2025-05-03 05:51:43

24

主题

515

回帖

994

积分

荣誉版主

积分
994
发表于 2023-3-16 11:35:56 | 显示全部楼层
用2圆的STC替代FPGA,应该是一个good idea.

2

主题

4

回帖

54

积分

注册会员

积分
54
发表于 2023-3-16 11:53:52 | 显示全部楼层
梁*** 发表于 2023-3-16 09:58
依旧使用测周期方式,然后按比例计算输出的PWM占空比,设置即可。请参考STC的例程。
https://www.stcaimcu. ...

谢谢!看到你的例程,14-PWMA-2个相位差180度的PWM互补输出P2口,是不是可以用P2匹配输出模式来处理?直接对输入信号进行匹配。

点评

你应该用同时捕捉占空比和周期的例子,捕捉完成,计算占空比,再计算输出PWM的值。  详情 回复 发表于 2023-3-16 12:30
  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12081
发表于 2023-3-16 12:30:03 | 显示全部楼层
Paul_*** 发表于 2023-3-16 11:53
谢谢!看到你的例程,14-PWMA-2个相位差180度的PWM互补输出P2口,是不是可以用P2匹配输出模式来处理?直 ...

你应该用同时捕捉占空比和周期的例子,捕捉完成,计算占空比,再计算输出PWM的值。

2

主题

4

回帖

54

积分

注册会员

积分
54
发表于 2023-3-16 14:34:59 | 显示全部楼层
梁*** 发表于 2023-3-16 12:30
你应该用同时捕捉占空比和周期的例子,捕捉完成,计算占空比,再计算输出PWM的值。 ...

问题简单一点,就是把一个单端的PWM,生成一对互补对称的PWM,有简单直接的例子吗?

点评

我上面的例程包也有互补对称的PWM输出啊  详情 回复 发表于 2023-3-16 14:48
  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12081
发表于 2023-3-16 14:48:28 | 显示全部楼层
Paul_*** 发表于 2023-3-16 14:34
问题简单一点,就是把一个单端的PWM,生成一对互补对称的PWM,有简单直接的例子吗? ...

我上面的例程包也有互补对称的PWM输出啊
  • 打卡等级:以坛为家II
  • 打卡总天数:515
  • 最近打卡:2025-05-03 05:51:43

24

主题

515

回帖

994

积分

荣誉版主

积分
994
发表于 2023-3-16 14:54:23 | 显示全部楼层
Paul_*** 发表于 2023-3-16 14:34
问题简单一点,就是把一个单端的PWM,生成一对互补对称的PWM,有简单直接的例子吗? ...

so easy!

输入信号接外部中断,在中断里处理:
例如:上升沿:P01 = 1;  P02 = 0;
    下降沿:P01 = 0;  P02 = 1;
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-3 15:17 , Processed in 0.171900 second(s), 98 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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