单片机如何模拟16路PWM

2019-07-15 10:10发布

RT。。最近整了个灯的样品在玩,通过逻辑分析仪抓到的16路PWM波形,16路周期都为5ms,其中有6路PWM是持续输出,剩下的10路间断输出,每一路的占空比都在3个周期后改变。观察到的占空比无任何规律,求解应如何做才比较好。。
QQ截图20170720215221.png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
lemonboard
1楼-- · 2019-07-15 23:19
16路的PWM输出,我估计要用专用的芯片来做。
如果要使用MCU来模拟,肯定要使用多路Timer来输出PWM信号,而其同路采用外部或内部定时器触发,来达到多路同步。

评分

参与人数 1积分 +5 收起 理由 ElecFans王岑 + 5

查看全部评分

人中狼
2楼-- · 2019-07-16 04:54
这个应该只能做模拟的PWM了,用定时器来控制周期,再用不同的变量来控制占空比,如果周期都一样,应该用1路定时器就可以了

评分

参与人数 1积分 +5 收起 理由 ElecFans王岑 + 5

查看全部评分

saiyqx
3楼-- · 2019-07-16 09:23
人中狼 发表于 2017-7-21 13:14
这个应该只能做模拟的PWM了,用定时器来控制周期,再用不同的变量来控制占空比,如果周期都一样,应该用1路定时器就可以了

周期都是一样的,我现在的做法是将所有占空比做成一个表格的形式来做,单一路占空比的个数就有247个,且相互间没有任何规律,将10个通道间断工作的时间也做成表格的形式去对比判断,但效果很不理想
人中狼
4楼-- · 2019-07-16 12:02
个人认为你可能需要更换更快速的单片机,
假定PWM频率是1K,即周期是1毫秒,假定占空比是128分,则最短的时间是7。8微秒,即当占空比是1/128时,需要有一个7。8微秒的定时,再加上16路通道中间的判断和必要的操作,定时时间预留一个数量级,就是0。78微秒,不知道有没有算错,这个参数好像有点要求高了,不过个人认为应该这样算。
另外你贴出来的图是占空比图,还是PWM的启停图,占空比图的话,那这些PWM的频率很低,而且电平为高的部分应该是空心的,到更象是PWM启停图,高电平部分是PWM在工作,低电平部分是关闭了PWM,不知道是不是这样
saiyqx
5楼-- · 2019-07-16 13:38
 精彩回答 2  元偷偷看……
saiyqx
6楼-- · 2019-07-16 18:45
chenwei6991627 发表于 2017-7-21 08:52
用定时器比较输出功能

但是有16路啊,比较匹配的话不是只能控制一路输出嘛?

一周热门 更多>