一种利用fpga产生高精度pwm信号的方法

xiaoxiao2020-7-23  17

一种利用fpga产生高精度pwm信号的方法
【专利摘要】本发明涉及一种利用FPGA产生高精度PWM信号的方法,属于信号处理【技术领域】。本发明采用FPGA产生高频时钟信号,实现了高精度PWM信号的生成,不仅解决了现有方案中DSP芯片选型与PWM信号的频率、精度之间的矛盾,而且电路实现简单,适用于例如成像导引系统的随动稳像平台这类高精度、小体积的控制系统。
【专利说明】—种利用FPGA产生高精度PWM信号的方法

【技术领域】
[0001]本发明涉及信号处理【技术领域】,具体涉及一种利用FPGA产生高精度PWM信号的方法。

【背景技术】
[0002]为提高系统效率、减小系统体积,控制系统中常采用PWM(脉冲宽度调制)信号通过H桥功放驱动电机转动。用于成像导引系统的随动稳像平台作为一种高精度、小体积的控制系统,目前主要采用专用的DSP (数字信号处理)芯片产生PWM信号。而常用带PWM外设的DSP时钟一般不超过150MHz,DSP芯片的内部时钟频率决定了 PWM信号的频率、精度,因此DSP芯片的选用限制了其所能产生的PWM信号的频率和精度,反过来,对于PWM频率和精度的要求也限制了 DSP芯片的选型。
[0003]因此,如何设计一种不受DSP芯片选用限制的产生高精度PWM信号的方法成为了亟待解决的技术问题。


【发明内容】

[0004](一 )要解决的技术问题
[0005]本发明要解决的技术问题是:如何设计一种不受DSP芯片选用限制的产生高精度PWM信号的方法。
[0006]( 二 )技术方案
[0007]为了解决上述技术问题,本发明提供了一种利用FPGA产生高精度PWM信号的方法,包括以下步骤:
[0008]S1、利用现场可编程门阵列FPGA产生高频时钟信号,并发送给计数器;
[0009]S2、所述计数器接收到所述高频时钟信号后对时钟计数,计到2n后清零,然后重新计数,如此循环直到达到预设的循环次数,从而产生锯齿波,其中,η为所要产生的脉冲宽度调制PWM信号的精度位数;
[0010]S3、通过比较器将外部输入的η位数据与所述锯齿波比较,从而产生PWM信号。
[0011]优选地,所述高频时钟信号由FPGA的时钟信号发生器模块产生。
[0012]优选地,所产生的PWM信号的频率=所述高频时钟信号的频率/2η。
[0013]优选地,所述高频时钟信号为300MHz的时钟信号。
[0014]优选地,η= 14。
[0015](三)有益效果
[0016]本发明采用FPGA产生高频时钟信号,实现了高精度PWM信号的生成,不仅解决了现有方案中DSP芯片选型与PWM信号的频率、精度之间的矛盾,而且电路实现简单,适用于例如成像导引系统的随动稳像平台这类高精度、小体积的控制系统。

【专利附图】

【附图说明】
[0017]图1为本发明的方法流程图;
[0018]图2为本发明的方法的硬件实现框图;
[0019]图3为利用本发明的方法产生PWM信号的波形图。

【具体实施方式】
[0020]为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的【具体实施方式】作进一步详细描述。
[0021]如图1所示,本发明提供了一种利用FPGA产生高精度PWM信号的方法,包括以下步骤:
[0022]S1、利用现场可编程门阵列FPGA的内部IP核DCM模块(时钟信号发生器模块)产生高频时钟信号,并发送给计数器;
[0023]S2、所述计数器接收到所述高频时钟信号后对时钟计数,计到2n后清零,然后重新计数,如此循环直到达到预设的循环次数(例如3次),从而产生锯齿波(如图3中的波形I所示),其中,η为所要产生的脉冲宽度调制PWM信号的精度位数;
[0024]S3、通过比较器将外部输入的η位数据(如图3中的波形2所示)与所述锯齿波比较,从而产生PWM信号(如图3中的波形3所示)。
[0025]其中,所产生的PWM信号的频率=所述高频时钟信号的频率/2η。当所述高频时钟信号为300MHz的时钟信号,PWM信号的精度位数η = 14时(如图2所示),所产生的PWM信号的频率为18.3 IKHz。
[0026]由以上实施例可以看出,本发明采用FPGA产生高频时钟信号,实现了高精度PWM信号的生成(可通过硬件描述语言实现),不仅解决了现有方案中DSP芯片选型与PWM信号的频率、精度之间的矛盾,而且电路实现简单,适用于例如成像导引系统的随动稳像平台这类高精度、小体积的控制系统。
[0027]以上所述仅是本发明的优选实施方式,应当指出,对于本【技术领域】的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
【权利要求】
1.一种利用FPGA产生高精度PWM信号的方法,其特征在于,包括以下步骤: 51、利用现场可编程门阵列FPGA产生高频时钟信号,并发送给计数器; 52、所述计数器接收到所述高频时钟信号后对时钟计数,计到2n后清零,然后重新计数,如此循环直到达到预设的循环次数,从而产生锯齿波,其中,η为所要产生的脉冲宽度调制PWM信号的精度位数; 53、通过比较器将外部输入的η位数据与所述锯齿波比较,从而产生PWM信号。
2.如权利要求1所述的方法,其特征在于,所述高频时钟信号由FPGA的时钟信号发生器模块产生。
3.如权利要求1所述的方法,其特征在于,所产生的PWM信号的频率=所述高频时钟信号的频率/2η。
4.如权利要求1所述的方法,其特征在于,所述高频时钟信号为300MHz的时钟信号。
5.如权利要求1?4中任一项所述的方法,其特征在于,η= 14。
【文档编号】G05B11/28GK104281051SQ201310292135
【公开日】2015年1月14日 申请日期:2013年7月12日 优先权日:2013年7月12日
【发明者】张美生, 张雷, 陈莲 申请人:中国航天科工集团第三研究院第八三五八研究所

最新回复(0)