[MCU] 用新唐NUC123做了12路方波输出,求更好方案推荐

[复制链接]
1726|12
 楼主| Metalor 发表于 2017-6-27 11:32 | 显示全部楼层 |阅读模式

需求:MCU出12路频率不同且可调的方波,范围500Hz-3KHz。

目前暂用新唐NUC123的一个24位定时器计数,通过判断计数值和相应12个频率对应的分频表比较,符合条件的就翻转对应的Pin脚,然后再更新分频表以便下一次翻转。另一个计数器定时1ms做电位器ADC采样来调节频率。整个系统无中断(进出中断很耗时间),只在main里判断相应的寄存器状态。(感觉比较难表达,没看明白的忽略这段直接从需求入手吧……)
这个方法可以想象肯定效果不会好,目前2K频率处误差大概+/-10Hz。
进一步优化后用MCU自带的四路PWM做其中四个输出,另外八个IO继续沿用之前的方法。PWM输出频率当然无误差,非常准,CPU负担减轻另外8个输出准度也有改善,但无法做得更好了。

求助:
1. 在以上基础上是否还有更好的优化方案(具体实现的算法上自认为已经基本没有优化空间了)?
2. 求推荐更好的实现方案。如果有能输出12路PWM的MCU推荐最好(能有10路基本也可以),找了半天没找到合适的,要求能独立调节每一路PWM频率(很多标称12路24路的并不能独立调节每一路的频率),占空比不需要调保持50%就好。

希望有高人解答,感谢!
 楼主| Metalor 发表于 2017-6-27 14:33 | 显示全部楼层
几年不来,坛子里现在人很少啊
宇容创行 发表于 2017-6-27 15:17 | 显示全部楼层
直接用3片mcu 不就行了
coody 发表于 2017-6-27 16:06 | 显示全部楼层
模拟DDS原理输出即可,使用32768或65536HZ采用。
 楼主| Metalor 发表于 2017-6-28 08:33 | 显示全部楼层
宇容创行 发表于 2017-6-27 15:17
直接用3片mcu 不就行了

也是一个办法,但想找一个更简单更便宜的方案。
 楼主| Metalor 发表于 2017-6-28 08:45 | 显示全部楼层
coody 发表于 2017-6-27 16:06
模拟DDS原理输出即可,使用32768或65536HZ采用。

能说的具体一点吗?不是很懂……谢谢~
heelary 发表于 2017-6-28 12:28 | 显示全部楼层
M451系列的
 楼主| Metalor 发表于 2017-6-28 13:10 | 显示全部楼层

谢谢,他标称的24路PWM其实只有6个timer,只能出6种频率 而我要的是12路不同的频率输出
heelary 发表于 2017-6-28 13:39 | 显示全部楼层
还有一个PWM1。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

参与人数 1威望 +3 收起 理由
Metalor + 3

查看全部评分

 楼主| Metalor 发表于 2017-6-28 14:30 | 显示全部楼层

刚下载datasheet浏览了一下,确实如你所说,非常感谢!~我再仔细研究下~~
 楼主| Metalor 发表于 2017-6-28 14:36 | 显示全部楼层

M0518系列貌似也可以?这部分描述几乎一样。当然,篇幅较大没细看。
苏山人家 发表于 2017-7-2 09:32 来自手机 | 显示全部楼层
stm32很多定时器
hanlie2345678 发表于 2017-7-14 10:22 | 显示全部楼层
更好的方案有的是啊!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

224

帖子

1

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