zts329547875 发表于 2019-12-5 23:04:34

STM32的PWM频率达到500KHZ后,能否做到1KHZ的增减?



STM32的PWM频率达到500KHZ后,能否做到1KHZ的增减?


1、当我设置为500KHZ的频率时,用示波器可以捕捉到500KHZ的波形。当我想生产501KHZ时,示波器没有变化,502KHZ,没有变化,503KHZ,示波器任然显示500KHZ。
   当增加到504KHZ时,示波器可以捕捉,显示 504KHZ。 一直往上面加,基本是过4KHZ时才跳动一次。我用3个示波器都测试过,结果都一样。
   也用了硬汉、原子的PWM产生的BSP文件里面的函数,结果也一样。

   各位大侠,能知道这是怎么一回事吗?

    芯片用外部晶振8MHZ,倍频到72MHZ的系统时钟。

2、 如果用STM32F407VE系列,系统时钟168MHZ,能否做到在500KHZ到600KHZ,1KHZ的调整了?
    目前手上没有板子,不好验证。

求各位指点。

                      目的就是想PWM频率达到500KHZ后,能够做到1KHZ的增减。

mylovemcu 发表于 2019-12-6 09:27:01

这问题应该很好算的记住一点寄存器放的都是整数现在来算一下

72MHz的定时器时钟选择1分频
500KHz的时候   初值计算等于72000/500=144实际频率72000/144=500KHz
501KHz的时候   初值计算等于72000/501=143.7   实际频率72000/143=503.4Khz
502KHz的时候初值计算等于72000/502=143.4    实际频率72000/143=503.4Khz
503KHz的时候初值计算等于72000/503=143.1    实际频率72000/143=503.4Khz
504KHz的时候初值计算等于72000/504=142.8    实际频率72000/143=507.0Khz
就是这么一回事

如果想达到1KHz的精度也可以算一下2us/500=4ns1/4ns=250MHz   1.6us/600=2.6ns1/2.6ns=384MHz要满足500-600实现1KHz的步进主频至少384MHz

子曰好人 发表于 2019-12-6 09:10:32

由于timer计数值是整数,就算timer时钟是72MHz的,500KHz时计数值为144,计数值减1时,频率就为503.49KHz了,所以你测出来504kHz也是正常的,用主频更高的芯片应该是可以做到1KHz增加的

す疯Ⅱ恒す 发表于 2019-12-6 09:29:37

用目前最新的STM32G4做,肯定满足要求。

radio2radio 发表于 2019-12-6 12:09:38

PWM的应用中,频率500K时一般不需要1K的增减量,楼主,您的情况下500K和501K,有什么实质分别吗?
您的占空比的分辨率要求是多少?

tanic 发表于 2019-12-6 15:29:51

rt1170已经上GHz了,满足你:lol
页: [1]
查看完整版本: STM32的PWM频率达到500KHZ后,能否做到1KHZ的增减?