眨眼学会PWM

发布时间:2024-08-21  

所谓PWM,就是用高电平时间和波形周期的比值代表某个数。如果这个数经过滤波后变成了接近连续的曲线表现出来那就是DA转换;如果通过这个比值表达的是控制电机的电压,那么表现出来就是电机控制。一切可以量化的东西都可以用PWM的方式去表示,这也是PWM应用广泛的原因。


产生PWM的方法:

1.产生一个计数器,满脉冲周期后翻转。

2.产生一个比较器,到达比例位置的时候输出高电平,否则输出低电平,整个过程见下图

图片

FPGA本质上是数字电路。为了生成上图的结果,所以我们需要按照上述的2步流程设计两个电路,第一个电路是计数器,第二个电路是在计数器后面的比较器,对计数器输出进行监控,一旦高于占空比对应的计数值的时候里面变为0,其余时候为1,这样就基本实现了PWM。也就对应了下面两段代码:

//计数器电路,cnt_cycle就是计数器输出计数结果 always@(posedge clk)

begin

cnt_cycle <= (cnt_cycle == (T-1)) ? 0 : cnt_cycle + 1;

end

/ 比较器电路 ,pwm_buf 为输出PWM结果,红色字为计数器输入,绿色字为比较器比较线 /

always@(posedge clk)

begin

pwm_buf <= (cnt_cycle < duty_cycle_buf) ? 1'b1 : 1'b0;

end

也就是说,以上两段代码对应的电路如下图:

图片

针对以上电路我要作一点说明:计数器在FPGA里面的实现就是加法器和触发器组成的,加法器每次对输出+1,下一个时钟把+1的结果给到输出端,根本不是数电书上异步2分频的结果!另外再次强调,由于FPGA的设计收到实际因素的限制,数电书上某些理模型是难以在实际中大量应用的,所以FPGA内部很多结构和综合结果都与数电书上有差异,但是数字电路的基本原理是没有任何改变的!

PWM还差最后一点,因为输入占空比可以不断改变,也就是第一张图的比较线是会上下移动的,为了不影响我们在计数的过程中突然采集到突变的值最终导致,不平滑的占空比,所以占空比输入在每个计数周期完成后才会去采集。也就是大家看到的这句:

always@(posedge clk)

begin

if(cnt_cycle == (T-1)) duty_cycle_buf <= (duty_cycle > T-1) ? T-1 : duty_cycle;

end

只有在cnt_cycle计数一个周期T的时候,占空比值才会更新,也就是比较线才会移动!


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    一个月可以学会单片机嘛?单片机编程学多久?;这个是大家非常关心的话题,我们有些小伙伴以及周边想学单片机开发的朋友,都会咨询我,学会单片机大概要多久? 老郭出了一套经典的“十天征服单片机”教程,相信......
    快速学会继电器的三种接法; 干货★★★★★资料 ......
    机原来就和电脑的CPU一样,是电路板的核心,可以编程实现各种功能,例如点亮LED灯等。 此刻对单片机的认识就是它比较强大,比较神秘,而且学会单片机开发大有前途。 但自己不是电子信息专业的,自己可以学会单......
    三相感应电动机故障警报控制电路的PLC梯形图;很多人说PLC难,就算有电工基础,想学会也很难!但是真的如此吗?有电工基础又该如何快速学会PLC呢?今天咱们一起来看看电工图如何快速转化成PLC梯形......
    看得懂电气图、却看不懂PLC梯形图?;很多人说PLC难,就算有电工基础,想学会也很难!但是真的如此吗?有电工基础又该如何快速学会PLC呢?今天咱们一起来看看电工图如何快速转化成PLC梯形图,以三......
    单片机编程好学吗?单片机初学者怎样看懂代码?;单片机在很多人看来好像门槛很高,在某些人看来很简单。 所以,单片机编程好不好学,这取决于谁去学,有没有基础,有没有兴趣。 我自己是通过自学学会的,我个......
    童鞋们一起说说单片机编程技术学习方法吧攻略篇;目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。过去习惯于传统电子领域的工程师、技术员正面临着全新的挑战,如不能在较短时间内学会单......
    51单片机好学嘛?学完51单片机学什么?;作为一个资深的老工程师,我还是要客观地回答一下这个问题。 关于的“0基础15天学会单片机”等一些相关话题,我还是不能苟同的。 如果是0基础,没有1-2个月......
    变色龙幼崽初次体验变色的视频在网络上迅速蹿红。刚刚出生几分钟的它就已经学会改变肤色保护自己,表情呆萌,十分可爱。 视频中,一只豌豆荚大小的变色龙幼崽从蛋壳里慢慢爬出来,眨眨眼睛,伸展四肢,开始探索这个新世界。 待爬......
    51单片机开发步骤详解;想要从事高端嵌入式开发,首先要会用ARM与Linux,想要会用ARM与Linux,首先要会单片机,想要零基础学会单片机,就要想从51单片机开始; 想要学好单片机,基础:1、C......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>