基于FPGA的正弦波PWM信号发生器的设计
来源:爱够旅游网
第11卷第3期 2012年6月 江南大学学报(自然科学版) Journal of Jiangnan University(Natural Science Edition) Vol_11 No.3 Jun. 2012 基于FPGA的正弦波PWM信号发生器的设计 姚鸿强, 陈荣荣 (江南大学物联网工程学院,江苏无锡214122) 摘要:采用Ahera公司的Cyclone系列FPGA为数字平台,利用Quartus II6.0已有的模块在FPGA 中设计出了PWM信号发生器,整个系统可以实现频率、幅度均可调的信号输出。在产生某一频率 信号时,让采样脉冲的周期保持不变,在每一个采样周期内改变一次占空比,改变的规律按正弦表 变化;在产生高低不同频率的信号时,为了降低对滤波电路的复杂度,采用插空法使得输出的PWM 波频率恒定。经过验证,设计系统的输出信号具有以下特点:稳定性和平滑性均较好,相比传统的 信号产生方式,具有较高的频率分辨率,且易于实现频率幅度的数控调制,输出信号频率在1 Hz~ 1 MHz可调。 关键词:信号发生器;现场可编程门阵列;脉冲宽度调制 中图分类号:TN 787 文献标识码:A文章编号:1671—7147(2012)03—0286—04 Design of Sine-Wave PWM Signal Generator Based on FPGA YAO Hong—qiang, CHEN Rong-rong (School of Internet of Things of Engineering,Jiangnan University,Wuxi 214122,China) Abstract:Design uses ALTERA ̄Cyclone series FPGA as digital platform,and uses Quartus II 6.0 existing module to de— sign the PWM signal generator.Finally system can achieve adjustable rfequency and amplitude output signa1.Generating a certain frequency signal,the sampling pulse period remains constant,in each sampling period change a duty according to sine table.In order to reduce the complexity of the filter circuit,using interpolation method to make the frequency of the output PWM wave constant.After veriifcation,the design system output signal has the following characteristics:good sta— bility and smoothness,compared to traditional signal generation methods,with high frequency resolution,and easy to imple— ment adjustable rfequency and amplitude digital modulation,output signal frequency can be 1 Hz一1 MHz adjustable. Key words:signal generator,FPGA,PWM 在电路调试、教学实验和产品开发等领域,信 号发生器被广泛用作测量仪器的信号源,为开发和 测试提供输入信号。现在模拟信号波的产生方式 有基于低端的基础运放器件¨ 或者高端的直接频 率合成技术(DDS)[2 3,以及中端的PWM波技术 J。 市场上常见的信号发生器基本都是以DDS技术为 基础,虽然可以达到精度和控制的要求,但硬件要 求较高,成本也比较大。相比之下,PWM控制技术 以其较低的成本,较宽的输出频带范围和较高的精 度有着广泛的应用前景。 基于运放搭建的信号发生器、精度和可调节性 都比较差,同时存在动态响应慢、参数设定不方便、 温度漂移严重、容易老化等缺点,但因为成本低,在 很多精度要求不高的场合仍有着广泛应用。目前 收稿日期:2012—03—08;修订日期:2012—03—26 综合考虑精度、成本以及输出频带范围等因 素,文中选用精度较高、输出频带范围较宽而成本 较低的PWM技术。 PWM技术控制简单、灵活且动态响应好,是电 作者简介:姚鸿强(1963一),男,江苏无锡人,高级工程师,硕士生导师。主要从事集成电路系统等研究。 Email:yhq@jiangnan.edu.cn 第3期 姚鸿强等:基于FPGA的正弦波PWM信号发生器的设计 287 子技术最广泛应用的控制方式l4]。FPGA的片内资 源丰富,设计流程简单。这样,基于可编程逻辑器 波,正弦半波Ⅳ等分,看成Ⅳ个相连的脉冲序列,宽 度相等,但幅值不等;用矩形脉冲代替,等幅,不等 宽,重点重合,面积(冲量)相等,宽度按正弦规律变 化。当两者分别作用在电路中时,均可以输出正弦 波形。 件FPGA构成的PWM信号发生器是一个单片系 统,整个PWM信号控制所需要的各种功能都由 FPGA来实现,它具有可靠性高、使用灵活、速度快、 功能强大等优点,产生周期、占空比均可以调节的 高精度PWM信号,极大地提高了系统的集成化程 度、执行速度、可靠性和可扩充性。 文中以Ahera公司的Cyclone系列FPGA作为 用FPGA具体实现时,先计算出正弦信号表,将 其存储EPROM中,然后通过控制使输出脉冲序列 的各脉冲宽度按正弦表的规律变化。即在产生某 一频率信号时,让采样脉冲的周期保持不变,而占 平台,力求基于PWM原理实现多种信号发生器,可 空比做相应的变化。当对应正弦信号表取值较大 输出正弦波、三角波、锯齿波、方波等波形,信号的 频率和幅值均可以高精度地独立调节。产生不同 频率信号时,采用插空法使得输出的PWM波频率 恒定,从而降低滤波电路的复杂度,输出信号在 1 Hz~1 MHz内调节。 若要改变输出信号的幅度,按比例增加占空比 数据的大小即可,其变化仍然符合正弦表的规律, 输出的波形是频率相同、幅度不同的正弦波。 如要得到三角波,占空比数据只需按照先线性 增大,后线性减小的规律变化即可。同理可以得到 方波、矩形波等其他周期信号波形。 1 PWM技术的原理与实现 在采样控制理论中有一个重要的结论 J:冲量 相等而形状不同的窄脉冲加在具有惯性的环节上 时,其效果基本相同。冲量即指窄脉冲的面积,效 果相同是指环节的输出响应波形基本相同。PWM 控制技术即是在该原理的基础上发展起来的,这里 以正弦波为例,其原理如图1所示。 图1用PWM波代替正弦波 Fig.1 PWM waves instead of sine wave 用一系列等幅不等宽的脉冲来代替一个正弦 时,脉冲的占空比也较大。反之,当对应正弦信号 表取值较小时,脉冲的占空比也较小。这样输出波 形即为一连串占空比不等且各脉冲宽度按正弦规 律变化的脉冲波,输出的PWM波形经过适当的滤 波就得到正弦波的波形。 2 基于FPGA的电路设计 总体设计方案 如图2所示。 图2系统设计框图 Fig.2 Diagram of system design 图2中,分频系数与外部时钟决定了输出信号 的频率范围。外部时钟的频率直接影响输出信号 的最高频率。所以外部时钟频率应较高,如果达不 到设计要求,可以通过FPGA芯片内部的锁相环先 进行倍频处理,所得时钟作为信号源。用户接口可 以设定输出信号的波形、频率以及幅度。 将上述所得时钟信号作为Ⅳ进制计数器的计 数时钟,每经,v个脉冲计数器完成一次计数循环。 这里Ⅳ即为计算占空比的满度值,所以ROM中存 储的数据应为小于Ⅳ的且按正弦规律变化的占空 比计算值。然后将时钟信号对其Ⅳ分频后为ROM 的地址,即保证每经Ⅳ个脉冲取一次占空比的值, 这样就得到了ROM表中的占空比数据和计数器的 计数值。将这两个值进行比较,即可得到相应的脉 冲波。当ROM中取得的数据变化时,相应的占空 比也就发生变化。当ROM中数据完成一次循环 后,即产生了一串周期相等而高电平宽度按正弦规 288 江南大学学报(自然科学版) 第11卷 律变化的脉冲波。这些脉冲波经过低通滤波后即 对应正弦信号的一个周期波形。 ROM—度。若信号比较弱,可以在滤波电路后加一级放大 电路。 data中的数据是在FPGA芯片内部调用 ROM的IP核。将一个周期的正弦函数进行 点的 离散,可根据实际情况选取 的大小,然后计算出 3软件设计与仿真 设计的关键部分即为查表和比较。设计中采 用Cyclone II FPGA芯片的lpm—counter模块设计所 需计数器,用LPM—ROM定制模块存储占空比数据, 所得计数器的计数值和ROM表中的占空比数据通 离散后的正弦数据所对应的占空比的值,并将计算 后所得的数据按顺序存储到FPGA的ROM中。对 于一定频率的时钟信号,如果 值较大,则输出信 号的频率较低,反之输出信号频率较高,同时精度 也会降低。设计中,可根据需要选取5个ROM—Data 过数据比较器得到脉冲波。其中,事先将计算好的 离散占空比数据填入mif文件,并导入到ROM核 数据块之一。实验中,对于一定时钟信号频率.厂, M=64和M:128时产生的PWM波的频率为. ,.厂2 中,查表使用ROM核,在计数器不断进行N进制计 数的过程中,当当前计数值低于ROM中取得的数 据时输出为高,否则输出为低。这样每次循环由于 (. = ),为了降低滤波电路的复杂度,使用插空 方法让FPGA输出频率恒定的PWM波。假定输出 频率恒为. 的PWM波,图3是工作原理示意图。 ROM中取得不同的数据,而计数值就从0走到J7、『, 所以输出信号的占空比也在不断变化,即得到了一 串周期相等而高电平宽度按正弦规律变化的脉冲 波。可见,设计中仅使用了Cyclone II FPGA芯片简 图3输出恒定频率的PWM波原理 Fig.3 Principle of PWM wave output with constant frequency 单的几个模块,因此在实际中选用成本低的FGPA 芯片即可实现。通过Quartus II软件_】。。进行波形仿 真、定时分析,仿真正确后,利用实验板提供的 基于上述插空法,在产生高低不同的信号时,输出 的PWM波频率匾定,大大降低了后级滤波电路的复杂 资源,下载到芯片中实现预定功能。设计原理如 图4。 图4设计原理 Fig.4 Diagram of input principle 该设计已经通过仿真验证,并在Cyclone II FP。 满足设计要求。 GA芯片上实现。输出信号失真小,调节方便,完全 H蛐0 波形仿真如图5所示。 ・0 CLK 蛐 2 田q 0}目 ^Ⅶ 图5仿真验证时序 Fig.5 Sequence diagram of simulation test 经过滤波后输出正弦波形,并且幅度频率均可 调,频率可在1 Hz~1 MHz内可调。实验中产生的 第3期 姚鸿强等:基于FPGA的正弦波PWM信号发生器的设计 所示。 289 频率约为1 MHz的正弦信号,其输出波形如图6 图6_厂=1 MHz的正弦信号输出波形 Fig.6 Output waveform of 1 MHz sinusoidal signal 以输出频率恒定的PWM波形,大大降低了滤波电 4 结语 路的复杂度。 4)将FPGA的高速性、稳定性和PWM调制方 1)基于PWM原理实现了正弦信号发生器,并 且可以实现幅度和频率的独立调节,可输出高分辨 率高精度的1 Hz~1 MHz范围信号。 2)基于PWM原理还可实现三角波、锯齿波、方波 式的控制灵活性结合起来应用数字采样方式产生 的信号波形,频率稳定性好、抗干扰能力强、结构简 单和调整灵活,易于实现智能控制。其应用领域包 括测量、通信、电机控制、调光、开关电源等。因此 研究基于PWM技术的脉宽数控调制信号发生器具 有十分重要的现实意义。 等多路信号发生器,且频率幅值均可独立调节。 3)利用插空法,产生不同频率信号时,系统可 参考文献(References): [1]单新云,郝晓剑,姜三平,等.基于集成运放的信号发生器设计与仿真[J].电子测试,2011(9):61—62. SHAN Xin—yun,HAO Xiao-jian,JIANG San—ping,et a1.Design and simulation of signal generator based on integrated operational amplifier[J].Electronic Test,2011(9):61—62.(in Chinese) [2]汉泽西,张海飞,王文渤,等.基于DDS技术正弦信号发生器的设计[J].电子测试,2009(8):65—66. HAN Ze—xi,ZHANG Hal—fei,WANG Wen—bo,et a1.Design of sine wave signal generator based on DDS technology[J].Electronic Test,2009(8):65—66.(in Chinses) [3]罗小巧,廖小芳.基于CPLD的PWM信号发生器设计[J].电子测量技术,2007,30(12):87. LUO Xiao—qiao,LIAO Xiao—fang.Design of PWM singnal generator based on CPLD[J].Electronic Measuerment Technology, 2007,30(12):87.(in Chinese) [4]李旭,谢运祥.PWM技术实现方法综述[J].电源技术应用,2005,8(2):51—52. IJI Xu,XIE Yun—xiang.PWM techonology methods[J].Power Techonology Application,2005,8(2):51—52.(in Chinese) [5]熊承义,孙奉娄.一种基于CPLD的宽可调PWM信号发生器[J].中南民族大学学报:自然科学版,2001,20(3):9—11. XIONG Cben—yi。SUN Feng—lou.Pulse width adjustable PWM singnal generator based on CPLD[J].Journal of South—Central University for Nationalities:Natural Science Edition,2001,20(3):9—11.(in Chinese) [6]许德成.基于FPGA器件的PWM方式正弦信号发生器设计[J].辽东学院学报,2010,17(4):321—323. XU De—cheng.Design of PWM sine wave singnal generator based on FPGA[J].Journal of Liaodong University,2010,17(4):321-323. (in Chinese) [7]田开坤.单片机驱动CPLD的PWM正弦信号发生器设计[J].电子制作,201 1(4):23—24. TIAN Kai—kun.Design of PWM sine wave signal general based on SCM—driven CPLD[J].Electronically Made,2011(4):23—24. (in Chinese) [8]张宣妮,王明军,鲁帆.基于FPGA的全数字脉宽调制器[J].计算机仿真,2009,26(11):347—348. ZHANG Xuan—ni.WANG Ming-jun,LU Fan.Digtal pulse width modulator based on FPGA[J].Computer Simulation,2009,26 (11):347—348.(in Chinese) [9]崔玉娟,吕运朋,李超.CPLD实现直流伺服电机PWM发生器[J].电测与仪表,2010,47(3):73—74. CUI Yu-juan,LV Yun—peng,LI Chao.CPLD realize DC servo motor PWM generator[J].Electrical Measurement and in Strumentation,2010,47(3):73—74.(in Chinese) [1O]赵艳华.基于Quartus II的FPGA/CPLD设计与应用[M].北京:电子工业出版社,2009:66—86. (责任编辑:杨 勇)