CN103178814A - 一种函数信号发生装置及方法 - Google Patents
一种函数信号发生装置及方法 Download PDFInfo
- Publication number
- CN103178814A CN103178814A CN201110431671XA CN201110431671A CN103178814A CN 103178814 A CN103178814 A CN 103178814A CN 201110431671X A CN201110431671X A CN 201110431671XA CN 201110431671 A CN201110431671 A CN 201110431671A CN 103178814 A CN103178814 A CN 103178814A
- Authority
- CN
- China
- Prior art keywords
- modulation
- function signal
- pulse
- signal
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Analogue/Digital Conversion (AREA)
Abstract
本发明是关于一种函数信号发生装置及方法,所述的装置包括:偏移乘法器单元,用于接收调制源信号和调制偏移系数,生成偏移量;脉宽加法器单元,用于接收偏移量和初始脉宽,生成脉冲宽度阈值;周期计数器单元,用于在调制开始后计数并生成计数结果;比较器单元,用于接收计数结果与脉冲宽度阈值并进行比较,生成脉冲起始位置信息和脉冲结束位置信息;加减累加单元,用于接收脉冲起始位置信息和脉冲结束位置信息并进行累加,得到累加计数值;数模转换单元,用于接收累加计数值并转换为模拟量,生成函数信号。
Description
技术领域
本发明是关于脉冲技术领域,尤其是关于脉冲宽度调制技术领域,具体来说是关于一种函数信号发生装置及方法。
背景技术
在电子系统的测量、校验及维护中,函数信号发生器被广泛采用。随着电子技术的发展,对函数信号发生器的要求也逐渐提高,需要函数信号发生器能够产生更为丰富的调制信号,这其中就包括近些年来在测量、通信、功率控制与变换等领域中得到广泛应用的脉冲宽度调制(PWM,Pulse Width Modulation)信号。
PWM是一种对模拟信号电平进行数字编码的方法,脉冲的占空比被调制用来对一个具体模拟信号的电平进行编码。随着电力电子技术、微电子技术和自动控制技术的发展以及各种新的理论方法的应用,出现了多种PWM控制技术,包括正弦波PWM法、硬件调制法、梯形波与三角波比较法等等。采用这些方法产生的PWM信号都是数字形式的,不适用于函数信号发生器。
现有技术中,基于DDS(直接频率合成)技术的函数信号发生器都采用波表的方式生成任意波形,包括脉冲,其基本原理是将一个周期的脉冲存储在波形存储器中,然后以跳点的方式从这个波形存储器中取出脉冲并输出。这类函数信号发生器没有用于边沿控制的模拟电路,只能通过修改波表来修改边沿时间,这会耗用很多处理器资源,而且一般都不支持PWM输出。
现有技术中,函数信号发生器输出的脉冲信号的边沿时间一般都是可以设置的,PWM信号作为一种特殊形式的脉冲,其边沿时间也应该是可以设置的。
图1是现有技术提供的一种对脉冲的上升、下降边沿时间的控制电路,控制电路利用电容对电压具有的记忆性质,通过控制对电容的充放电电流进而控制电容输出电压的波形,如图1所示,控制电路实现了对差分脉冲的上下沿时间的调整,对脉冲边沿时间的调整过程如下:四个隧道二极管CR1、CR2、CR3、CR4构成高速开关切换网络;三个电流源I1、I2、ISUM对电容充电;两个场效应管T1、T2构成高速开关,控制差分输入信号的通断。差分脉冲从YIN+和YIN-输入。当输入信号YIN+的上升沿到来时,YIN-幅度下降。此时T1导通、T2关断。电容C1放电,调整YOUT-的下降沿;电容C2充电,调整YOUT+的上升沿。
电容充、放电时有如下的关系式:CU=∫Idt,从这个公式中要计算出脉冲的边沿时间比较困难,可以将流过电容的电流近似看作一个三角波,由此可得到脉冲上升、下降时间与脉冲幅度、充放电电流和电容之间的关系式为:T≈2CU/I。因此,改变电流源I1、I2、ISUM和电容C1、C2的大小即可调整脉冲的上升、下降时间。
为了以皮秒级的速度切换电容电路给高速脉冲的上、下边沿充放电,图1中的开关切换网络采用了隧道二极管,虽然速度快、工作频率高,但热稳定性较差。
在信号发生器中,边沿时间是任意可设的,就图1电路而言,只能通过两种方式控制边沿时间。(1)采用多级电容网络代替图1中的C1、C2,针对不同的边沿时间,需要切换不同标值的电容,控制起来较为复杂,只能用于边沿时间的粗放控制;(2)修改电流源I1、I2、ISUM的输出电流,常用的一种做法是通过修改参考电压来控制电流源的输出电流,而参考电压是由控制器通过数模转换器来调整的。
因此,采用图1模拟器件组成的控制电路控制脉冲边沿时间是比较复杂的,成本较高,稳定性差。
发明内容
为克服现有技术中边沿控制电路调整PWM信号上下边沿时间成本高、稳定性差的问题,本发明提供一种函数信号发生装置及方法。
本发明提供一种函数信号发生装置,所述的函数信号发生装置包括:
偏移乘法器单元,用于接收调制源信号和调制偏移系数,生成偏移量;
脉宽加法器单元,用于接收所述的偏移量和初始脉宽,生成脉冲宽度阈值;
周期计数器单元,用于在调制开始后计数并生成计数结果;
比较器单元,用于接收所述的计数结果与所述的脉冲宽度阈值并进行比较,生成脉冲起始位置信息和脉冲结束位置信息;
加减累加单元,用于接收所述的脉冲起始位置信息和脉冲结束位置信息并进行累加,得到累加计数值;
数模转换单元,用于接收所述的累加计数值并转换为模拟量,生成函数信号。
本发明还提供一种函数信号发生方法,所述的函数信号发生方法包括:
接收调制源信号和调制偏移系数,生成偏移量;
接收所述的偏移量和初始脉宽,生成脉冲宽度阈值;
在调制开始后计数并生成计数结果;
接收所述的计数结果与所述的脉冲宽度阈值并进行比较,生成脉冲起始位置信息和脉冲结束位置信息;
接收所述的脉冲起始位置信息和脉冲结束位置信息并进行累加,得到累加计数值;
接收所述的累加计数值并转换为模拟量,生成函数信号。
本发明提供的一种函数信号发生装置及方法,使PWM信号的各个调制参数,例如脉冲频率、调制偏移、调制源;而且脉冲上下边沿时间可以分别灵活设置。并且结构简单、实现容易、成本较低,无需专门的边沿控制电路,也不会耗用处理器的资源修改波表。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1是现有技术提供的一种对脉冲的上升、下降边沿时间的控制电路。
图2是本发明实施例提供的一种函数信号发生装置的模块图。
图3是本发明实施例提供的一种函数信号发生装置的模块图。
图4是本发明实施例提供的一种函数信号发生装置的模块图。
图5是本发明实施例提供的一种函数信号发生装置的模块图。
图6为本发明实施例提供的加减累加单元600的模块图。
图7是本发明实施例提供的一种函数信号发生方法流程图。
图8是本发明实施例提供的一种函数信号发生方法流程图。
图9是本发明实施例提供的一种函数信号发生方法流程图。
图10是本发明实施例提供的一种函数信号发生方法流程图。
图11为本发明实施例提供的加减累加方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
本发明实施例提供一种函数信号发生装置及方法,以下结合附图对本发明进行详细说明。
实施例一
目前市场上基于DDS(直接数字频率合成,Direct Digital Frequency Synthesis)技术的函数信号发生器一般都采用DDS+DAC(数字模拟转换器,Digital to Analog Converter)的架构。实现DDS功能的主要有三类,数字信号处理器(DSP)、专用DDS芯片或者可编程逻辑阵列(FPGA)。专用DDS芯片的功能是无法修改的,而对于DSP、FPGA,可以很容易利用本发明实现PWM信号的输出。本发明实施例提供的函数信号发生装置主要采用“计数”的方式实现的,为基于DDS技术的函数信号发生器提供了一种产生PWM信号的方法,这类信号发生器使用DDS+DAC输出波形,不具有专门的脉冲边沿调整电路。
图2是本发明实施例提供的一种函数信号发生装置的模块图,如图2所示,函数信号发生装置200包括偏移乘法器单元201、脉宽加法器单元202、周期计数器单元203、比较器单元204、加减累加单元205和数模转换单元206,其中:
偏移乘法器单元201,用于接收调制源信号和调制偏移系数,生成偏移量。
在本发明实施例中,偏移乘法器单元201将调制源信号的幅度乘上调制偏移系数,以便将偏移量归一化到脉冲宽度偏移量的范围之内。
本发明实施例提供的函数信号发生装置可用于产生PWM信号,除此之外,当调制偏移系数为0时,函数信号发生装置可以用于产生脉冲。
脉宽加法器单元202,用于接收所述的偏移量和初始脉宽,生成脉冲宽度阈值。
在本发明实施例中,脉宽加法器单元202将接收到的偏移量与初始脉宽相加,二者之和作为脉冲宽度阈值。随着调制信号源幅度的改变,生成的脉冲宽度阈值也会随之变化,即所谓脉冲宽度调制。
周期计数器单元203,用于在调制开始后计数并生成计数结果。
在本发明实施例中,当调制开始后,周期计数器单元203开始从0计数,计数到一预定周期阈值后从0开始重新计数,其中周期阈值决定了脉冲周期。
比较器单元204,用于接收所述的计数结果与所述的脉冲宽度阈值并进行比较,生成脉冲起始位置信息和脉冲结束位置信息。
在本发明实施例中,比较器单元204将周期计数器单元203的计数结果与脉宽加法器单元202生成的脉冲宽度阈值进行比较,可以得到脉冲起始位置信息和脉冲结束位置信息,其中,脉冲起始位置表示脉冲要从低电平变化到高电平,也就意味着上升沿的到来,脉冲结束位置则表示下降沿的到来。
加减累加单元205,用于接收所述的脉冲起始位置信息和脉冲结束位置信息并进行累加,得到累加计数值。
在本发明实施例中,加减累加单元205是实现脉冲边沿时间的关键模块,不仅可以累加,也可以累减,加减累加单元205可以是一N位累加器。对上升沿而言,当脉冲起始位置信号到来时,加减累加单元205从0开始,以上升沿控制字累加至溢出,溢出后累加器停止计数,保持为2N-1的累加值,而从0至溢出这段时间,就是脉冲上升沿时间。下降沿也是同样道理,当脉冲结束位置信号到来时,加减累加单元205从2N-1开始,以下降沿控制字累减至溢出;溢出后累加器停止计数,保持为0,而从2N-1至溢出这段时间,就是脉冲下降沿时间。
本发明中,加减累加单元205的位宽决定了脉冲周期、脉冲宽度和边沿时间的范围。由于现有FPGA的逻辑资源非常丰富,因此采用较宽位宽的计数器,就能获得很大范围的上述参数。当加减累加单元205位宽为48位,主时钟310的周期为10纳秒,则脉冲上、下边沿时间最多可达二百万秒。这是图1现有技术中的模拟的边沿调整电路所无法企及的。
数模转换单元206,用于接收所述的累加计数值并转换为模拟量,生成函数信号。
在本发明实施例中,数模转换单元206将加减累加单元205的计数值转换为模拟量,也就产生了上下边沿分别可设的PWM信号。
图3是本发明实施例提供的一种函数信号发生装置的模块图,如图3所示,函数信号发生装置300包括模数转换单元301、调制存储器单元302、调制源选择器单元303、偏移乘法器单元304、脉宽加法器单元305、周期计数器单元306、比较器单元307、加减累加单元308、数模转换单元309和时钟单元310,其中:
时钟单元310,为其它模块提供主时钟340,需要说明的是,图3中的所有单元均由时钟单元310提供主时钟,为清楚的体现图3中其他单元的连接关系,此处的时钟单元310与其他单元的连接关系并没有在附图图3中一一画出,因此图3中的时钟单元310的连接线路并不能作为对本发明的限定;
模数转换单元301,将模拟量的待调制信号311转换为数字量312,以便于FPGA/DSP的处理;
调制存储器单元302,存储的是某些标准的函数波形或者用于自定义的文件331,在调制前,根据用户选择,某个函数波形或者调制文件被写入到调制存储器单元302中;
调制源选择器单元303,根据用户的命令332选择外部调制源312或者内部调制源313;
偏移乘法器单元304,将选择后的调制源幅度314乘上调制偏移系数333,以便归一化到脉冲宽度偏移量的范围之内;
脉宽加法器单元305,将偏移量315加上初始脉宽334,二者之和作为脉冲宽度阈值316;随着调制源幅度的改变,脉冲宽度阈值316也随之变化,也就是所谓脉冲宽度调制了;
周期计数器单元306,当调制开始后,周期计数器单元306以时钟310开始从0计数,计数到周期阈值335后从0开始重新计数。周期阈值决定了脉冲周期;
比较器单元307,将周期计数器单元306的计数结果317与脉宽阈值316作比较,可得到如下信息:脉冲起始位置318、脉冲结束位置318,脉冲起始位置表示脉冲要从低电平变化到高电平,也就意味着上升沿的到来,脉冲结束位置则表示下降沿的到来;
加减累加单元308,是实现脉冲边沿时间的关键模块。对上升沿而言,当脉冲起始位置信号到来时,N位累加器从0开始,以上升沿控制字336累加至溢出;溢出后累加器停止计数,保持为2N-1的累加值。从0至溢出这段时间,就是脉冲上升沿时间。下降沿也是同样道理,当脉冲结束位置信号到来时,N位累加器从2N-1开始,以下降沿控制字337累减至溢出;溢出后累加器停止计数,保持为0。从2N-1至溢出这段时间,就是脉冲下降沿时间。因为这个累加器不仅可以累加,也可以累减,所以称为加减累加器;
数模转换单元309,将加减累加器的计数值320转换为模拟量,也就产生了上下边沿分别可设的PWM信号。
根据上述说明,PWM信号的各个参数如下公式。
PWM脉冲周期=时钟310周期×周期阈值335 (公式1)
PWM脉冲宽度=调制源幅度314×偏移系数333+初始脉宽334 (公式2)
PWM脉冲上升沿时间=时钟310周期×2N÷上升沿控制字336 (公式3)
PWM脉冲上降沿时间=时钟310周期×2N÷下降沿控制字337 (公式4)
假设作为载波的脉冲本身的宽度为PW0,经过调制后的脉宽偏移为PWDEV,则随着调制源幅度的变化,PWM信号的脉宽变化范围是(PW0-PWDEV)~(PW0+PWDEV)。因此,
PWM初始脉宽=PW0-PWDEV (公式5)
2×PWDEV=调制源幅度314的最大值×偏移系数333 (公式6)
中央处理器根据上述六个公式,设置各个参数。
图4、5是本发明实施例提供的一种函数信号发生装置的模块图,如图4、5所示,与函数信号发生装置300不同之处在于,函数信号发生装置400、500均不具有调制源选择器单元303,仅具有模数转换单元301和调制存储器单元302其中之一,省去了用户进行选择的步骤。
通过上述公式1-6可以看出,时钟310的周期对PWM信号的参数有很大影响,如果周期越小,即时钟频率越高,则产生的PWM信号的边沿时间的精度也越高。但使用DSP或者FPGA来实现图3所示的PWM电路时,无论DSP或者FPGA工作的主频都是有限的。图6为本发明实施例提供的加减累加单元600的模块图,如图6所示,加减累加单元600采用并行结构改善PWM信号的各个参数。加减累加单元600包括:
至少两个加减累加模块601,用于接收脉冲起始位置信息和脉冲结束位置信息并进行累加,分别得到第一累加计数值。
在本发明实施例中,加减累加单元600使用M个加减累加模块601代替图3中的单一的加减累加单元308,而且M个加减累加模块601是并行工作的。单一的加减累加单元308每个时钟周期只能计数一次;而对于M个加减累加模块601,同样的一个时钟周期,却能计数M次。
并串转换模块602,用于将所述的至少两个加减累加模块生成的第一累加计数值转换为一第二累加计数值并输出至数模转换单元309。
在本发明实施例中,M个加减累加模块601的输出经过M:1的并串转换模块602转换为一个输出送给数模转换单元309。PWM脉冲边沿时间的计算公式为:
PWM脉冲上升沿时间=(时钟310周期÷M)×2N÷上升沿控制字336 (公式1)
与图3对比,图6相当于用一个M倍频率的高速时钟进行加减累加,脉冲上升沿时间的精度被提高M倍。同理,脉冲下降沿时间的精度也被提高M倍。
由于FPGA的特点是逻辑资源丰富,但主频不高,尤其是中、低端的FPGA,主频一般不超过125MHz。但采用图6所示的并行结构,虽然多耗用一些逻辑资源,但可以极大的提高输出波形的采样率。假设主时钟310的频率为125MHz,采用并行的8个加减累加器,则输出波形的采样率达到1GHz。因此,即使是低成本FPGA,采用本发明产生PWM信号,也能达到高端信号发生器所具有的采样率。而且,边沿时间的精度也成倍提高。
本发明实施例采用累加器、计数器产生脉冲边沿可调的PWM信号,不用专门的脉冲边沿调整电路,也无需波表存储器,节省了大量的硬件资源。不仅成本低、结构简单,而且实现、调试容易,加快了产品上市时间。
本发明可以灵活设置PWM信号的参数,例如脉冲周期、边沿时间、调制偏移、调制源等等,而且脉冲的上、下边沿时间是分别可设的,因此本发明具有很高的灵活性。
目前市场上的很多DDS信号发生器采用波表的方式产生脉冲,跳点取数的方式会造成脉冲有很大的周期抖动。与之相比,本发明采用计数的方式产生脉冲,抖动很小,约等于主时钟的抖动。
本发明特别适合用FPGA实现,无需存储脉冲波形的波形存储器,也不用中央处理器耗用大量资源为了修改边沿时间而重新配置波表;不仅PWM参数可灵活配置,且中央处理器只需告诉FPGA修改后的参数值,其余工作就让以并行处理能力见长的FPGA来实现。
实施例二
图7是本发明实施例提供的一种函数信号发生方法流程图,如图7所示,所述的函数信号发生方法包括:
S701,接收调制源信号和调制偏移系数,生成偏移量。
在本发明实施例中,函数信号发生方法可应用于一函数信号发生装置,函数信号发生装置将调制源信号的幅度乘上调制偏移系数,以便将偏移量归一化到脉冲宽度偏移量的范围之内。
本发明实施例提供的函数信号发生方法可用于产生PWM信号,除此之外,当调制偏移系数为0时,函数信号发生装置可以用于产生脉冲。
S702,接收所述的偏移量和初始脉宽,生成脉冲宽度阈值。
在本发明实施例中,函数信号发生装置将接收到的偏移量与初始脉宽相加,二者之和作为脉冲宽度阈值。随着调制信号源幅度的改变,生成的脉冲宽度阈值也会随之变化,即所谓脉冲宽度调制。
S703,在调制开始后计数并生成计数结果。
在本发明实施例中,当调制开始后,函数信号发生装置开始从0计数,计数到一预定周期阈值后从0开始重新计数,其中周期阈值决定了脉冲周期。
S704,接收所述的计数结果与所述的脉冲宽度阈值并进行比较,生成脉冲起始位置信息和脉冲结束位置信息。
在本发明实施例中,函数信号发生装置将计数结果与生成的脉冲宽度阈值进行比较,可以得到脉冲起始位置信息和脉冲结束位置信息,其中,脉冲起始位置表示脉冲要从低电平变化到高电平,也就意味着上升沿的到来,脉冲结束位置则表示下降沿的到来。
S705,接收所述的脉冲起始位置信息和脉冲结束位置信息并进行累加,得到累加计数值。
在本发明实施例中,对上升沿而言,当脉冲起始位置信号到来时,函数信号发生装置从0开始,以上升沿控制字累加至溢出,溢出后停止计数,保持为2N-1的累加值,而从0至溢出这段时间,就是脉冲上升沿时间。下降沿也是同样道理,当脉冲结束位置信号到来时,函数信号发生装置从2N-1开始,以下降沿控制字累减至溢出;溢出后停止计数,保持为0,而从2N-1至溢出这段时间,就是脉冲下降沿时间。
本发明中,函数信号发生装置中加减累加单元的位宽决定了脉冲周期、脉冲宽度和边沿时间的范围。由于现有FPGA的逻辑资源非常丰富,因此采用较宽位宽的计数器,就能获得很大范围的上述参数。当位宽为48位,主时钟的周期为10纳秒,则脉冲上、下边沿时间最多可达二百万秒。这是图1现有技术中的模拟的边沿调整电路所无法企及的。
S706,接收所述的累加计数值并转换为模拟量,生成函数信号。
在本发明实施例中,函数信号发生装置将计数值转换为模拟量,也就产生了上下边沿分别可设的PWM信号。
图8是本发明实施例提供的一种函数信号发生方法流程图,如图8所示,所述的函数信号发生方法包括:
S801,函数信号发生装置提供主时钟;
S802,函数信号发生装置将模拟量的待调制信号转换为数字量,以便于FPGA/DSP的处理;
S803,函数信号发生装置存储标准的函数波形或者用于自定义的文件,在调制前,根据用户选择,某个函数波形或者调制文件被写入到函数信号发生装置中;
S804,函数信号发生装置根据用户的命令选择外部调制源或者内部调制源;
S805,函数信号发生装置将选择后的调制源幅度乘上调制偏移系数,以便归一化到脉冲宽度偏移量的范围之内;
S806,函数信号发生装置将偏移量加上初始脉宽,二者之和作为脉冲宽度阈值;随着调制源幅度的改变,脉冲宽度阈值也随之变化,也就是所谓脉冲宽度调制了;
S807,当调制开始后,函数信号发生装置以时钟开始从0计数,计数到周期阈值后从0开始重新计数。周期阈值决定了脉冲周期;
S808,函数信号发生装置将计数结果与脉宽阈值作比较,可得到如下信息:脉冲起始位置、脉冲结束位置,脉冲起始位置表示脉冲要从低电平变化到高电平,也就意味着上升沿的到来,脉冲结束位置则表示下降沿的到来;
S809,函数信号发生装置接收所述的脉冲起始位置信息和脉冲结束位置信息并进行累加,得到累加计数值。对上升沿而言,当脉冲起始位置信号到来时,函数信号发生装置从0开始,以上升沿控制字累加至溢出;溢出后停止计数,保持为2N-1的累加值。从0至溢出这段时间,就是脉冲上升沿时间。下降沿也是同样道理,当脉冲结束位置信号到来时,函数信号发生装置从2N-1开始,以下降沿控制字累减至溢出;溢出后停止计数,保持为0。从2N-1至溢出这段时间,就是脉冲下降沿时间。函数信号发生装置不仅可以累加,也可以累减;
S810,函数信号发生装置将累加的计数值转换为模拟量,也就产生了上下边沿分别可设的PWM信号。
根据上述说明,PWM信号的各个参数如下公式。
PWM脉冲周期=时钟周期×周期阈值 (公式1)
PWM脉冲宽度=调制源幅度×偏移系数+初始脉宽 (公式2)
PWM脉冲上升沿时间=时钟周期×2N÷上升沿控制字 (公式3)
PWM脉冲上降沿时间=时钟周期×2N÷下降沿控制字 (公式4)
假设作为载波的脉冲本身的宽度为PW0,经过调制后的脉宽偏移为PWDEV,则随着调制源幅度的变化,PWM信号的脉宽变化范围是(PW0-PWDEV)~(PW0+PWDEV)。因此,
PWM初始脉宽=PW0-PWDEV (公式5)
2×PWDEV=调制源幅度的最大值×偏移系数 (公式6)
中央处理器根据上述六个公式,设置各个参数。
图9、10分别是本发明实施例提供的一种函数信号发生方法的流程图,如图9、10所示,与图8所示的函数信号发生方法不同之处在于,图9、10所示的函数信号发生方法均省去了步骤S804,并分别保留步骤S802和S803其中之一。
通过上述公式1-6可以看出,时钟的周期对PWM信号的参数有很大影响,如果周期越小,即时钟频率越高,则产生的PWM信号的边沿时间的精度也越高。但使用DSP或者FPGA来实现图8所示的PWM发生方法时,无论DSP或者FPGA工作的主频都是有限的。图11为本发明实施例提供的加减累加方法的流程图,如图11所示,加减累加方法采用将累加器并行以改善PWM信号的各个参数。加减累加方法包括:
S1101,接收脉冲起始位置信息和脉冲结束位置信息并进行累加,分别得到至少两个第一累加计数值。
在本发明实施例中,函数信号发生装置使用M个加减累加模块代替单一的加减累加单元,而且M个加减累加模块是并行工作的。单一的加减累加单元每个时钟周期只能计数一次;而对于M个加减累加模块,同样的一个时钟周期,却能计数M次。
S1102,将所述的至少两个第一累加计数值转换为一第二累加计数值并输出。
在本发明实施例中,M个加减累加模块的输出经过M:1的并串转换,转换为一个输出。PWM脉冲边沿时间的计算公式为:
PWM脉冲上升沿时间=(时钟周期÷M)×2N÷上升沿控制字 (公式2)
图11所示的加减累加方法相当于用一个M倍频率的高速时钟进行加减累加,脉冲上升沿时间的精度被提高M倍。同理,脉冲下降沿时间的精度也被提高M倍。
由于FPGA的特点是逻辑资源丰富,但主频不高,尤其是中、低端的FPGA,主频一般不超过125MHz。但采用图11所示的并行加减累加方法,虽然多耗用一些逻辑资源,但可以极大的提高输出波形的采样率。假设主时钟的频率为125MHz,采用并行的8个加减累加器,则输出波形的采样率达到1GHz。因此,即使是低成本FPGA,采用本发明产生PWM信号,也能达到高端信号发生器所具有的采样率。而且,边沿时间的精度也成倍提高。
本发明实施例提供的函数信号发生方法采用累加器、计数器产生脉冲边沿可调的PWM信号,不用专门的脉冲边沿调整电路,也无需波表存储器,节省了大量的硬件资源。不仅成本低、结构简单,而且实现、调试容易,加快了产品上市时间。
本发明实施例提供的函数信号发生方法可以灵活设置PWM信号的参数,例如脉冲周期、边沿时间、调制偏移、调制源等等,而且脉冲的上、下边沿时间是分别可设的,因此本发明具有很高的灵活性。
目前市场上的很多DDS信号发生器采用波表的方式产生脉冲,跳点取数的方式会造成脉冲有很大的周期抖动。与之相比,本发明采用计数的方式产生脉冲,抖动很小,约等于主时钟的抖动。
本发明特别适合用FPGA实现,无需存储脉冲波形的波形存储器,也不用中央处理器耗用大量资源为了修改边沿时间而重新配置波表;不仅PWM参数可灵活配置,且中央处理器只需告诉FPGA修改后的参数值,其余工作就让以并行处理能力见长的FPGA来实现。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种函数信号发生装置,其特征在于,所述的函数信号发生装置包括:
偏移乘法器单元,用于接收调制源信号和调制偏移系数,生成偏移量;
脉宽加法器单元,用于接收所述的偏移量和初始脉宽,生成脉冲宽度阈值;
周期计数器单元,用于在调制开始后计数并生成计数结果;
比较器单元,用于接收所述的计数结果与所述的脉冲宽度阈值并进行比较,生成脉冲起始位置信息和脉冲结束位置信息;
加减累加单元,用于接收所述的脉冲起始位置信息和脉冲结束位置信息并进行累加,得到累加计数值;
数模转换单元,用于接收所述的累加计数值并转换为模拟量,生成函数信号。
2.根据权利要求1所述的函数信号发生装置,其特征在于,所述的偏移乘法器单元将所述的调制源信号和所述的调制偏移系数相乘,生成所述的偏移量。
3.根据权利要求1所述的函数信号发生装置,其特征在于,所述的脉宽加法器单元将所述的偏移量和所述的初始脉宽相加,生成所述的脉冲宽度阈值。
4.根据权利要求1所述的函数信号发生装置,其特征在于,所述的函数信号发生装置还包括:
时钟单元,用于提供时钟信号;所述的周期计数器单元在调制开始后开始从0计数,计数到周期阀值后从0开始重新计数。
5.根据权利要求1所述的函数信号发生装置,其特征在于,所述的函数信号发生装置还包括:
模数转换单元,用于接收待调制信号并转换为数字量,生成外部调制源信号;
调制存储器单元,用于存储函数波形或者用于自定义的调制文件,生成内部调制源信号;
调制源选择器单元,用于根据用户的命令选择外部调制源信号或者内部调制源信号输出。
6.根据权利要求1所述的函数信号发生装置,其特征在于,所述的函数信号发生装置还包括:
模数转换单元,用于接收待调制信号并转换为数字量,生成调制源信号。
7.根据权利要求1所述的函数信号发生装置,其特征在于,所述的函数信号发生装置还包括:
调制存储器单元,用于存储函数波形或者用于自定义的调制文件,生成调制源信号。
8.根据权利要求1所述的函数信号发生装置,其特征在于,所述的加减累加单元包括:
至少两个加减累加模块,用于接收所述的脉冲起始位置信息和脉冲结束位置信息并进行累加,分别得到第一累加计数值;
并串转换模块,用于将所述的至少两个加减累加模块生成的第一累加计数值转换为一第二累加计数值并输出至所述的数模转换单元。
9.一种函数信号发生方法,其特征在于,所述的函数信号发生方法包括:
接收调制源信号和调制偏移系数,生成偏移量;
接收所述的偏移量和初始脉宽,生成脉冲宽度阈值;
在调制开始后计数并生成计数结果;
接收所述的计数结果与所述的脉冲宽度阈值并进行比较,生成脉冲起始位置信息和脉冲结束位置信息;
接收所述的脉冲起始位置信息和脉冲结束位置信息并进行累加,得到累加计数值;
接收所述的累加计数值并转换为模拟量,生成函数信号。
10.根据权利要求9所述的函数信号发生方法,其特征在于,所述的接收调制源信号和调制偏移系数,生成偏移量包括:
将所述的调制源信号和所述的调制偏移系数相乘,生成所述的偏移量。
11.根据权利要求9所述的函数信号发生方法,其特征在于,所述的接收所述的偏移量和初始脉宽,生成脉冲宽度阈值包括:
将所述的偏移量和所述的初始脉宽相加,生成所述的脉冲宽度阈值。
12.根据权利要求9所述的函数信号发生方法,其特征在于,在接收调制源信号和调制偏移系数,生成偏移量之前,所述的方法还包括:
提供时钟信号;
所述的在调制开始后计数并生成计数结果包括:
在调制开始后开始从0计数,计数到周期阀值后从0开始重新计数。
13.根据权利要求9所述的函数信号发生方法,其特征在于,在接收调制源信号和调制偏移系数,生成偏移量之前,所述的方法还包括:
接收待调制信号并转换为数字量,生成外部调制源信号;
存储函数波形或者用于自定义的调制文件,生成内部调制源信号;
根据用户的命令选择外部调制源信号或者内部调制源信号输出。
14.根据权利要求9所述的函数信号发生方法,其特征在于,在接收调制源信号和调制偏移系数,生成偏移量之前,所述的方法还包括:
接收待调制信号并转换为数字量,生成调制源信号。
15.根据权利要求9所述的函数信号发生方法,其特征在于,在接收调制源信号和调制偏移系数,生成偏移量之前,所述的方法还包括:
存储函数波形或者用于自定义的调制文件,生成调制源信号。
16.根据权利要求9所述的函数信号发生方法,其特征在于,所述的接收所述的脉冲起始位置信息和脉冲结束位置信息并进行累加,得到累加计数值包括:
接收所述的脉冲起始位置信息和脉冲结束位置信息并进行累加,分别得到至少两个第一累加计数值;
将所述的至少两个第一累加计数值转换为一第二累加计数值并输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110431671.XA CN103178814B (zh) | 2011-12-21 | 2011-12-21 | 一种函数信号发生装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110431671.XA CN103178814B (zh) | 2011-12-21 | 2011-12-21 | 一种函数信号发生装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103178814A true CN103178814A (zh) | 2013-06-26 |
CN103178814B CN103178814B (zh) | 2016-08-03 |
Family
ID=48638468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110431671.XA Active CN103178814B (zh) | 2011-12-21 | 2011-12-21 | 一种函数信号发生装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103178814B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103762964A (zh) * | 2014-01-17 | 2014-04-30 | 北京航空航天大学 | 一种多通道高精度pwm信号采样和生成装置 |
CN104316737A (zh) * | 2014-10-20 | 2015-01-28 | 北京工业大学 | 一种基于fpga幅度偏置可调的波形发生电路及方法 |
CN105067851A (zh) * | 2015-09-07 | 2015-11-18 | 国网宁夏电力公司电力科学研究院 | 一种用于电力系统带电测试仪器校验用的信号发生装置 |
CN109142820A (zh) * | 2018-09-26 | 2019-01-04 | 深圳市鼎阳科技有限公司 | 一种脉冲波发生装置 |
CN111830816A (zh) * | 2020-06-28 | 2020-10-27 | 南京天朗防务科技有限公司 | 自适应定时方法、装置 |
CN112362928A (zh) * | 2020-09-16 | 2021-02-12 | 天津大学 | 一种可同步测量的高精度可编程脉冲产生系统及方法 |
CN114337608A (zh) * | 2020-09-29 | 2022-04-12 | 北京普源精电科技有限公司 | 一种脉冲信号源及电信号测量装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1753312A (zh) * | 2005-10-14 | 2006-03-29 | 吕铁良 | 一种脉冲信号的直接数字合成装置及其方法 |
CN202077035U (zh) * | 2011-02-28 | 2011-12-14 | 南京新联电讯仪器有限公司 | 具有扫频仪功能的合成函数信号发生器 |
-
2011
- 2011-12-21 CN CN201110431671.XA patent/CN103178814B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1753312A (zh) * | 2005-10-14 | 2006-03-29 | 吕铁良 | 一种脉冲信号的直接数字合成装置及其方法 |
CN202077035U (zh) * | 2011-02-28 | 2011-12-14 | 南京新联电讯仪器有限公司 | 具有扫频仪功能的合成函数信号发生器 |
Non-Patent Citations (2)
Title |
---|
易宏等: "《基于FPGA的函数信号发生器设计》", 《电气电子教学学报》, vol. 31, no. 6, 31 December 2009 (2009-12-31), pages 35 - 37 * |
袁放成: "《函数信号发生器的设计》", 《三明学院学报》, vol. 24, no. 2, 30 June 2007 (2007-06-30), pages 146 - 151 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103762964A (zh) * | 2014-01-17 | 2014-04-30 | 北京航空航天大学 | 一种多通道高精度pwm信号采样和生成装置 |
CN103762964B (zh) * | 2014-01-17 | 2016-05-18 | 北京航空航天大学 | 一种多通道高精度pwm信号采样和生成装置 |
CN104316737A (zh) * | 2014-10-20 | 2015-01-28 | 北京工业大学 | 一种基于fpga幅度偏置可调的波形发生电路及方法 |
CN104316737B (zh) * | 2014-10-20 | 2018-02-16 | 北京工业大学 | 一种基于fpga幅度偏置可调的波形发生电路及方法 |
CN105067851A (zh) * | 2015-09-07 | 2015-11-18 | 国网宁夏电力公司电力科学研究院 | 一种用于电力系统带电测试仪器校验用的信号发生装置 |
CN105067851B (zh) * | 2015-09-07 | 2018-05-08 | 国网宁夏电力公司电力科学研究院 | 一种用于电力系统带电测试仪器校验用的信号发生装置 |
CN109142820A (zh) * | 2018-09-26 | 2019-01-04 | 深圳市鼎阳科技有限公司 | 一种脉冲波发生装置 |
CN109142820B (zh) * | 2018-09-26 | 2021-07-13 | 深圳市鼎阳科技股份有限公司 | 一种脉冲波发生装置 |
CN111830816A (zh) * | 2020-06-28 | 2020-10-27 | 南京天朗防务科技有限公司 | 自适应定时方法、装置 |
CN111830816B (zh) * | 2020-06-28 | 2023-05-12 | 南京天朗防务科技有限公司 | 自适应定时方法、装置 |
CN112362928A (zh) * | 2020-09-16 | 2021-02-12 | 天津大学 | 一种可同步测量的高精度可编程脉冲产生系统及方法 |
CN114337608A (zh) * | 2020-09-29 | 2022-04-12 | 北京普源精电科技有限公司 | 一种脉冲信号源及电信号测量装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103178814B (zh) | 2016-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103178814A (zh) | 一种函数信号发生装置及方法 | |
CN103580523B (zh) | 基于fpga的多路移相pwm波生成电路 | |
CN102361396B (zh) | 异形伪随机序列控制抖频振荡器 | |
CN102158208B (zh) | 基于振荡环电路的全程可调数字脉宽调制器 | |
US9628057B2 (en) | Spread-spectrum clock generation circuit, integrated circuit and apparatus therefor | |
CN104638722B (zh) | 基于数字控制的电池充电系统及其控制电路 | |
US8406271B2 (en) | Spread spectrum clock generating circuit | |
JP2014236666A (ja) | チャージポンプを有する回路、通信デバイス、チャージポンプの制御方法 | |
CN106209038A (zh) | 基于iodelay固件的数字脉冲宽度调制器 | |
CN101399504B (zh) | 全数字式软启动电路与应用该电路的电源供电系统 | |
CN103138560A (zh) | 频率抖动系统 | |
CN103873017A (zh) | 一种提高脉冲边沿时间分辨率的装置及方法 | |
CN103368538B (zh) | 一种开关频率范围可调的数字脉宽调制装置及方法 | |
CN104378089A (zh) | 数字脉冲宽度产生器及其产生方法 | |
CN202043085U (zh) | 基于振荡环电路的全程可调数字脉宽调制器 | |
CN105811971B (zh) | 基于计数器的可变频时钟源和fpga器件 | |
CN101621288B (zh) | 一种pwm输出模式转化为pfm输出模式的电路 | |
CN103066956A (zh) | 一种真随机数随机三角波发生方法及装置 | |
CN103051171B (zh) | 降低电磁干扰的控制电路 | |
CN204666166U (zh) | 电容充放电控制模块以及电流频率转换电路 | |
CN110830008A (zh) | 一种电压波形产生装置 | |
CN105337591A (zh) | 基于usb设备实现时钟恢复的电路结构及方法 | |
CN113302827B (zh) | 一种多相信号控制电路及方法 | |
Gao et al. | Sinusoidal pulse width modulation design based DDS | |
CN101106367A (zh) | 倍频产生器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |