PLDTV 发表于 2024-10-23 08:55:20

8H1K24输出PWM问题

芯片为8H1K24.时钟11.059

按手册示例,做一个PWM输出。

现有ARR数值,P1.0输出为169Hz,50%脉宽,简单估算也算正常

问题是:
改变ARR数值,频率不变,脉宽变了。。。差哪呢?




王昱顺 发表于 2024-10-23 09:21:10

这两个数值并非是独立调节的,是有关联的。
比如说:CCR的值不能超过ARR的值,想要50%占空比的情况下
ARR=100,CCR=50;
如果改变ARR,则
ARR = 50, CCR =25;
这样子才可以改变频率的同时改变占空比

PLDTV 发表于 2024-10-23 10:22:25

王昱顺 发表于 2024-10-23 09:21
这两个数值并非是独立调节的,是有关联的。
比如说:CCR的值不能超过ARR的值,想要50%占空比的情况下
ARR=1 ...

{:handshake:}

那也就是说,只有ARR=FFFF的情况下,CRR才有16位调节范围,ARR=2,脉宽无法调整。

那我需要较高的频率输出,和等效16位的脉宽调整,要引用哪个示例程序?

王昱顺 发表于 2024-10-23 10:40:47

PLDTV 发表于 2024-10-23 10:22
那也就是说,只有ARR=FFFF的情况下,CRR才有16位调节范围,ARR=2,脉宽无法调整。

那我需要较高的频率 ...

频率高了以后,脉宽调整分辨率就是会下降的。
如果你想要50%占空比的高频率输出,可以试试定时器0的分频输出功能

PLDTV 发表于 2024-10-23 10:47:30

王昱顺 发表于 2024-10-23 10:40
频率高了以后,脉宽调整分辨率就是会下降的。
如果你想要50%占空比的高频率输出,可以试试定时器0的分频 ...

谢谢

王昱顺 发表于 2024-10-23 10:49:00

PLDTV 发表于 2024-10-23 10:22
那也就是说,只有ARR=FFFF的情况下,CRR才有16位调节范围,ARR=2,脉宽无法调整。

那我需要较高的频率 ...

如果想要保持完整的CCR分辨率,可以将ARR=FFFF,调整PWM输入时钟的频率。
不过输入PLL的频率要求将非常高,7KHz左右的输出就要求PLL产生500Mhz的输出了。
如果使用正常40Mhz的主频,则最高也就能达到610Hz的频率
页: [1]
查看完整版本: 8H1K24输出PWM问题