
用单片机输出两路异步的PWM波
如SG3524一样,我试了,但是不论用单片机自带的PWM模块还是IO口都是同步的,大神们给帮个忙啊,要能运行的程序啊,急啊...
如SG3524一样,我试了,但是不论用单片机自带的PWM模块还是IO口都是同步的,大神们给帮个忙啊,要能运行的程序啊,急啊
展开
展开全部
SG3524输出两路PWM,是双极性PWM那种,我不知道这是不是所谓的同步,但是我知道这种输出可以用单片机实现。
SG3524输出的PWM其实是对称的双极性,一个PWM输出口高电平的时候,另外一个PWM输出口
立即输出低电平,这个可以使用一个定时器做开关周期。
然后使用一个标志位作为一个死区时间。SG3524死区时间可调,可以根据输出电压信号来相应进行调节死区。
很多单片机内部寄存器设置有这种PWM功能,比如NXP 的LPC17XX系列就是
提供一种思路,程序没时间写。
1、PWM需要周期,因此定时器必须得设置匹配值,达到周期计数时间后复位TC值;
2、两个PWM波形需要产生可调的PWM,那么就需要让定时器知道什么时刻该让这个IO口输出高低电平。可以让两个输出提供参数,比如数值是多少后出现高电平,高电平持续多长数值?
3、最后就是关键点了,即将定时器TC值(周期值)细化,比如我脉宽周期设定TC值是3000时候复位,那么我可以将这个定时器定时300时候出现一次中断,600时候中断一次,900时候出现一次中断,一次类推,这样就可以得到很多的时间片段,即标志位COUNT。
4、我希望IO口在周期内出现可调节脉宽那么可以实现了,比如COUNT==IO1的时候让其出现高电平,持续多长时间后出现低电平(中断里面完成);
简单的示意程序:
void TIMER_HANDLE(void)
{
//判断是否达到TC值,如果达到则复位(COUNT清零),否则执行匹配中断
//在原有基础上设置匹配值中断,匹配值 +=300;
COUNT++;
if((COUNT == IO1_H_TIME)) //现在正好是需要高电平的时刻,因此值置高
{
//持续时间开启(自减),是否为0?
//不是0,那么继续输出高电平
//是0,关闭输出,同时清除高电平时刻
}
}
这个是使用一个定时器做两路PWM输出的思路,估计精度不怎么好。LPC1700的MCPWM有那种功能,而且价格便宜,芯片才40块钱一个,易上手,网上资料很多。
SG3524输出的PWM其实是对称的双极性,一个PWM输出口高电平的时候,另外一个PWM输出口
立即输出低电平,这个可以使用一个定时器做开关周期。
然后使用一个标志位作为一个死区时间。SG3524死区时间可调,可以根据输出电压信号来相应进行调节死区。
很多单片机内部寄存器设置有这种PWM功能,比如NXP 的LPC17XX系列就是
提供一种思路,程序没时间写。
1、PWM需要周期,因此定时器必须得设置匹配值,达到周期计数时间后复位TC值;
2、两个PWM波形需要产生可调的PWM,那么就需要让定时器知道什么时刻该让这个IO口输出高低电平。可以让两个输出提供参数,比如数值是多少后出现高电平,高电平持续多长数值?
3、最后就是关键点了,即将定时器TC值(周期值)细化,比如我脉宽周期设定TC值是3000时候复位,那么我可以将这个定时器定时300时候出现一次中断,600时候中断一次,900时候出现一次中断,一次类推,这样就可以得到很多的时间片段,即标志位COUNT。
4、我希望IO口在周期内出现可调节脉宽那么可以实现了,比如COUNT==IO1的时候让其出现高电平,持续多长时间后出现低电平(中断里面完成);
简单的示意程序:
void TIMER_HANDLE(void)
{
//判断是否达到TC值,如果达到则复位(COUNT清零),否则执行匹配中断
//在原有基础上设置匹配值中断,匹配值 +=300;
COUNT++;
if((COUNT == IO1_H_TIME)) //现在正好是需要高电平的时刻,因此值置高
{
//持续时间开启(自减),是否为0?
//不是0,那么继续输出高电平
//是0,关闭输出,同时清除高电平时刻
}
}
这个是使用一个定时器做两路PWM输出的思路,估计精度不怎么好。LPC1700的MCPWM有那种功能,而且价格便宜,芯片才40块钱一个,易上手,网上资料很多。
追问
谢谢你,我现在通过程序实现两个PWM模块的计数器和PWM输出功能在中断中互换,但是只能换一次,你的思路我再好好研究下,感谢帮忙啊,其实有能输出两路异步的芯片,但是成本高不划算,能自己编程实现最好,所以应该不会换芯片的

2020-01-15 广告
单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询