找回密码
 立即注册
查看: 735|回复: 8

关于PWM捕获中CCMRn设置 | 已解决

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:9
  • 最近打卡:2025-04-11 10:39:32

5

主题

9

回帖

333

积分

中级会员

积分
333
发表于 2023-10-7 17:42:25 | 显示全部楼层 |阅读模式
STC8H系列-高级PWM相关程序\高级PWM相关程序\03-PWMA-4个捕获通道 例程中

    PWMA_CCMR1  = 0x31;                // 通道1模式配置, 配置成输入通道, 8个时钟滤波

手册中CCMRn部分找不到相关解释

截图202310071742044640.jpg

请问大家在哪儿有相关时钟滤波设置
回复

使用道具 举报 送花

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

73

主题

5883

回帖

1万

积分

超级版主

积分
12079
发表于 2023-10-8 00:05:42 | 显示全部楼层
再往下面翻两页就有了:

截图202310080005373977.jpg

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:9
  • 最近打卡:2025-04-11 10:39:32

5

主题

9

回帖

333

积分

中级会员

积分
333
发表于 2023-10-8 08:38:33 | 显示全部楼层
哦,看到了,是说在捕获模式下把PWMA_CCMRn这个寄存器做了另外的功能定义和比较模式区分出来了 ,谢谢梁工!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:9
  • 最近打卡:2025-04-11 10:39:32

5

主题

9

回帖

333

积分

中级会员

积分
333
发表于 2023-10-9 11:00:14 | 显示全部楼层
请问这个数字滤波器长度该怎么设定,比如在IO口上1秒约检测到1个脉冲和1秒约检测100个脉冲,这个ICnF分别设多少合适(12M晶振,1T主频)

点评

先根据要求的捕获时间分辨率确定PWM的时钟,然后再根据你的干扰特征选择数字滤波1~256个PWM时钟,用于滤除毛刺。跟检测到多少个脉冲没有直接关系的。 假设我要捕获的最长周期是500ms,最小周期是1ms,干扰信号不超过  详情 回复 发表于 2023-10-9 21:48
回复 支持 反对

使用道具 举报 送花

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

73

主题

5883

回帖

1万

积分

超级版主

积分
12079
发表于 2023-10-9 21:48:23 | 显示全部楼层
kx*** 发表于 2023-10-9 11:00
请问这个数字滤波器长度该怎么设定,比如在IO口上1秒约检测到1个脉冲和1秒约检测100个脉冲,这个ICnF分别设 ...

先根据要求的捕获时间分辨率确定PWM的时钟,然后再根据你的干扰特征选择数字滤波1~256个PWM时钟,用于滤除毛刺。跟检测到多少个脉冲没有直接关系的。
假设我要捕获的最长周期是500ms,最小周期是1ms,干扰信号不超过50us,MCU主频24MHz,则:
PWMA_PSCR = 240-1;  //PWM时钟为主频分频240,则PWM时钟周期为10us,最大捕获时间655ms。
PWMA_CCMR1  = (3<<4) +0x01;  // 通道1配置成输入连接到TI1FP1(CC1S[1:0] = 0x01), 8个时钟滤波(3<<4)
                                                  //干扰不大于50us,则8个时钟对应80us,就是合理设置。
回复 支持 反对

使用道具 举报 送花

已绑定手机

0

主题

3

回帖

14

积分

新手上路

积分
14
发表于 2024-10-31 15:53:49 | 显示全部楼层
梁*** 发表于 2023-10-9 21:48
先根据要求的捕获时间分辨率确定PWM的时钟,然后再根据你的干扰特征选择数字滤波1~256个PWM时钟,用于滤 ...

你好,请问最大捕获时间655ms是怎么得到的

点评

PWM时钟100KHz,周期10us,16位计数器计数值65535,即为655.35us,就是655ms。  详情 回复 发表于 2024-10-31 17:02
回复 支持 反对

使用道具 举报 送花

已绑定手机

0

主题

3

回帖

14

积分

新手上路

积分
14
发表于 2024-10-31 16:00:44 | 显示全部楼层
fengza*** 发表于 2024-10-31 15:53
你好,请问最大捕获时间655ms是怎么得到的

还有这个PWM时钟周期10us,是每隔10us就检测一次引脚电平状态吗

点评

10us,是PWM时钟周期!  详情 回复 发表于 2024-10-31 17:02
回复 支持 反对

使用道具 举报 送花

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

73

主题

5883

回帖

1万

积分

超级版主

积分
12079
发表于 2024-10-31 17:02:13 | 显示全部楼层
fengza*** 发表于 2024-10-31 15:53
你好,请问最大捕获时间655ms是怎么得到的

PWM时钟100KHz,周期10us,16位计数器计数值65535,即为655.35us,就是655ms。
回复 支持 反对

使用道具 举报 送花

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

73

主题

5883

回帖

1万

积分

超级版主

积分
12079
发表于 2024-10-31 17:02:31 | 显示全部楼层
fengza*** 发表于 2024-10-31 16:00
还有这个PWM时钟周期10us,是每隔10us就检测一次引脚电平状态吗

10us,是PWM时钟周期!
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-5-2 13:06 , Processed in 0.162463 second(s), 105 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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