用STM32是否能实现:输出一组频率占空比50%,100~150KHZ

[复制链接]
5721|8
 楼主| mikezhong 发表于 2009-2-25 08:35 | 显示全部楼层 |阅读模式
大家好,用STM32是否能实现:输出一组频率占空比50%,100~150KHZ,可调步进精确到1Hz,就是最小可以1HZ的变化.
香水城 发表于 2009-2-25 08:41 | 显示全部楼层

对于STM32来说,可以很容易地产生100~150kHz的PWM波形

使用定时器的PWM输出模式即可。
zheng79 发表于 2009-2-25 11:11 | 显示全部楼层

最小可以1HZ的变化?

我也想知道怎么实现
香水城 发表于 2009-2-25 11:58 | 显示全部楼层

对不起,只看到标题,没有看清这个1Hz的变化

1Hz/150kHz = 0.00000667 = 0.000667%;目前STM32做不到这个1Hz的调节精度。
 楼主| mikezhong 发表于 2009-2-25 13:24 | 显示全部楼层

谢谢.

这个1HZ的精确度,,,,确实是不好弄啊.
香水城 发表于 2009-2-25 14:03 | 显示全部楼层

最小可以1Hz的变化?楼主这个要求太高了吗?

通常MCU产生PWM波形的方法都是通过数一个时钟的脉冲实现,假定这个时钟是10GHz,我们可以算算是否能达到楼主的要求:

要产生150kHz的脉冲,时钟需要计数66666.67次,取整得到66667次,误差为:
   150,000 - (10,000,000,000 / 66667) = 0.75Hz

要产生150001Hz的脉冲,时钟需要计数66666.22次,取整得到66666次,误差为:
   150,001 - (10,000,000,000 / 66666) = 0.5Hz

通过计算可以看到误差太大,满足不了要求。

结论:10GHz的时钟频率不能达到PWM输出在1Hz精度变化的要求。

谁知道有超过10GHz的MCU吗?
 楼主| mikezhong 发表于 2009-2-25 17:58 | 显示全部楼层

哈哈.

呵呵.
lufeijian 发表于 2009-2-28 11:53 | 显示全部楼层

用STM32是可以实现100KHZ~150KHZ步进为1HZ的频率

150KHZ-100KHZ = 50000HZ
步进: 50000HZ/65536 = 0.762939453125HZ
方法是:

STM32去控制16位的DAC,DAC去控制VCO,再由STM32去检测VCO的输出,实现PID调节来稳定VCO的输出.但这样一来,设计重点就在VCO上面了.

哈哈,
haziyisi 发表于 2011-9-21 10:52 | 显示全部楼层
老板让我做一个步进为0.1k,中心频率200k,的方波,也是用STM32,步进只做到了1k,看来是不能实现了:(
您需要登录后才可以回帖 登录 | 注册

本版积分规则

51

主题

250

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部