归一化脉宽调制波形发生器的制造方法

文档序号:7542393阅读:308来源:国知局
归一化脉宽调制波形发生器的制造方法
【专利摘要】本发明涉及一种归一化脉宽调制波形发生器。它包括输入输出I/O、归一化地址选择加法器模块Normalization_Mux_add和归一化脉宽调制波形输出缓存器Normalization_buffer_shift_out,所述各模块通过局部总线相互连接。本发明立足PWM调制波形整体规律,把一个PWM周期内的各个不等宽矩形脉冲进行归一化处理,即把调制波与载波的交点相对位置与地址计数器对应起来,通过设计电路对归一化地址进行解析,以求出PWM调制结果输出波形中高低脉冲点所对应的脉冲值,这样只需输入具体PWM调制波的周期脉冲值便可实现包括SPWM在内的任意PWM调制脉冲序列的输出。本发明从实际出发,设计了一款归一化脉宽调制波形发生器,具有可操作性。
【专利说明】归一化脉宽调制波形发生器
【技术领域】
[0001]本发明涉及一种归一化脉宽调制波形发生器。
【背景技术】
[0002]PWM (Pulse Width Modulation)脉宽调制技术理论基础为面积等效原理,基于采样控制理论中重要原理一冲量等效原理:惯性系统被大小波形不同的窄脉冲变量作用的时候,如果他们的冲量对时间的积分相等,即可以认为他们的作用效果基本相等,冲量通常指的是窄脉冲的面积,效果基本相同的意思是指输出响应波形基本上是相同的。所以通过对一系列脉冲的宽度进行调制,就可以等效地获得所需要的波形。目前人们研究比较多的是正弦脉宽调制(SPWM)技术,即用三角载波与正弦调制波进行比较,产生与正弦波等效的一系列等幅不等宽矩形脉冲波形。
[0003]基于PWM调制技术源于调制波与载波的比较,即产生的比较结果为一系列等幅不等宽的矩形脉冲波形,对于二者之间的比较已有大量的研究,但是都比较复杂。
[0004]本发明立足归一化原理,从调制波与载波调制结果出发,设计了一个归一化脉宽调制波形发生器。

【发明内容】

[0005]本发明的目的在于针对已有技术存在的缺陷和不足,提供一种归一化脉宽调制波形发生器,本发明立足PWM调制波形整体规律,把一个PWM周期内的各个不等宽矩形脉冲进行归一化处理,实现归一化地址计数,即把调制波与载波的交点相对位置与地址计数器对应起来,通过设计电路对归一化地址进行解析,以求出PWM调制结果输出波形中高低脉冲点所对应的脉冲值,这样只需输入具体PWM调制波的周期脉冲值便可实现包括SPWM在内的任意PWM调制脉冲序列的输出。
[0006]在数字电路系统设计中,所用的数字量位数越多,其在描述一个模拟量时精度越高,但由于硬件资源的本身局限性不可能无限制的扩大位数来提高精度。通过计算,本文在设计归一化脉宽调制波形发生器时选择的归一化地址计数器为13位,这在一般PWM调制技术中已足够胜任其调制功能。
[0007]为达到上述目的,本发明采用下述技术方案:
一种归一化脉宽调制波形发生器,包括输入输出I/o、归一化地址选择加法器模块Normalization_Mux_add 和归一化脉宽调制波形输出缓存器 Normalization_buffer_shift_out,其特征在于:所述各模块通过局部总线相互连接。
[0008]所述输入输出I/O包括系统时钟信号Clk、复位信号Rst、使能信号Ena、归一化地址Normalization_add[12:0]、归一化地址计数器Nor_counter [5:0]、调制波周期脉冲值PWM_pulse[15:0]和PWM调制输出端口 PWM_out [1: O];所述系统时钟信号Clk、复位信号Rst和使能信号Ena与归一化地址选择加法器模块Normalization_Mux_add和归一化脉宽调制波形输出缓存器Normalization_buffer_shift_out相互连接,提供时钟、复位信号和使能信号;所述归一化地址Normalization_add[12:0]与归一化地址选择加法器模块Normalization_Mux_add相连;所述调制波周期脉冲值PWM_pulse [15:0]与归一化地址选择加法器模块Normalization_Mux_add和归一化脉宽调制波形输出缓存器Normalization_buffer_shift_out相连;所述归一化地址计数器Nor_counter [5:0]与归一化脉宽调制波形输出缓存器Normalization_buffer_shift_out相连;所述PWM调制输出端口 PWM_out [1: O]与归一化脉宽调制波形输出缓存器Normal ization_buffer_shift_out相互连接。
[0009]所述归一化地址选择加法器模块Normalization_Mux_add包含十三个选择器Mux、十二个加法器、一个16位寄存器pwm_pulse_MN[15:0]以及输入信号端CLK、Rst、Ena、Normalization_add[ 12:0]、PWM_pulse[15:0]和输出信号端 PWM_pulse_MN[15:0];所述输入信号端CLK、Rst和Ena分别连接到16位寄存器pwm_pulse_MN[15:0]的时钟、复位和使能端;所述十三个选择器Mux各自的一个输入端信号为16’ hOOOO,另一个输入端分别接归一化地址选择加法器模块Normalization_Mux_add输入信号PWM_pulse [15:0]的高位,其控制信号分别连接归一化地址选择加法器模块Normalization_Mux_add输入信号Normalization_add[12:0];所述十二个加法器中前一个加法器的输出连接到后一个加法器的输入;所述十二个加法器中每个加法器的一个输入信号分别连接第一个至第十二个选择器Mux的输出信号,其中第一个加法器的另一个输入连接第十三个选择器Mux的输出,此加法器输出信号连接到第二个加法器的输入;所述16位寄存器pwm_pulse_MN[15:0]的输入信号连接第十二个加法器的输出,其输出信号连接到归一化地址选择加法器模块Normalization_Mux_add 的输出信号端 PWM_pulse_MN[15:0];所述输入信号 CLK、Rst、Ena、Normalization_add[12:0]和 PWM_pulse [15:0]与输入输出 I/O 相连,输出信号 PWM_pulse_MN[15:0]与归一化脉宽调制波形输出缓存器Normalization_buffer_shift_out连接;所述归一化地址选择加法器模块Normalization_Mux_add的输入信号CLK、Rst、Ena提供系统时钟、复位和使能信号;输入信号Normalization_add[12:0]的13个bit分别连接到13个选择器Mux的控制端,Mux的一个输入端信号为16’ hOOOO,另一个输入信号端的低位分别连接输入信号PWM_pulse[15:0]的高位,此输入端余下的高位端补零;Mux的输出信号分别连接加法器的输入端,实现累加器的功能,所有累加结果输入到寄存器pwm_pulse_MN[15:0], pwm_pulse_MN[15:0]结果作为输出连接 PWM_pulse_MN[15:0]输出;所述归一化地址选择加法器模块Normalization_Mux_add用于实现把所输入的归一化地址Normalization_add[12:0]进行解析,产生内部所需选择输出的控制信号实现把所输入的调制波周期脉冲值PWM_pulse[15:0]转换为具体的归一化脉冲数值,以存储到归一化脉宽调制波形输出缓存器 Normalization_buffer_shift_out 中。
[0010]所述归一化脉宽调制波形输出缓存器Normalization_buffer_shift_out包含一个归一化移位缓存器PWM_bufTer62X16bit、第一和第二两个加法器、第一和第二两个选择器Mux、一个16位寄存器sh_flag_c[15:0]、第一至第三3个比较器、一个减法器、一个16位寄存器pulse_c [15:0]、一个I位寄存器pwm_out [O]、一个I位寄存器pwm_out [I]以及输入信号端 CLK、Rst、Ena、PWM_pulse [15:0]、PWM_pulse_MN[15:0]、Nor_counter [5:0]和输出信号端PWM_out[0]、PWM_out[l];所述输入信号CLK连接到归一化移位缓存器PWM_buffer62xl6bit> 16 位寄存器 sh_flag_c [15:0]、16 位寄存器 pulse_c [15:0]的时钟信号端;所述输入信号Rst连接到归一化移位缓存器PWM_buffer62xl6bit、16位寄存器sh_flag_c[15:0]、16 位寄存器 pulse_c [15:0]、1 位寄存器 pwm_out [O]、1 位寄存器 pwm_out [I]的复位端;所述输入信号Ena连接到归一化移位缓存器PWM_buffer62xl6bit、16位寄存器sh_flag_c[15:0]的使能端;所述归一化移位缓存器PWM_buffer62xl6bit的D [15:0]和A [5:0]分别连接到归一化脉宽调制波形输出缓存器Normalization_buffer_shift_out 输入信号 PWM_pulse_MN[15:0]、Nor_counter [5:0],其 Sh_EN 连接到第一比较器的输出端;所述第一加法器的输入信号为6’h01和16位寄存器sh_flag_c[15:0]的输出信号;所述第一选择器Mux的输入信号为第一加法器的输出信号和第一比较器的输出信号,其输出信号连接16位寄存器sh_flag_c[15:0]的输入;所述第一比较器的输入为16位寄存器sh_flag_c[15:0]的输出和减法器的输出,其输出连接到第一选择器Mux的控制端、归一化移位缓存器PWM_buffer62xl6bit的Sh_EN端、16位寄存器pulse_c [15:0]和I位寄存器pwm_out[0]以及I位寄存器pwm_out[l]的使能端;所述减法器的正负输入端为6’ h3E和归一化脉宽调制波形输出缓存器Normalization_buffer_shift_out输入信号Nor_counter [5:0];所述第二加法器的输入信号为16’h0001和16位寄存器pulse_c [15:0]的输出;所述第二选择器Mux的输入为16’ hOOOO和第二加法器的输出,其输出连接到16位寄存器pulse_c[15:0]的输入;所述16位寄存器pulse_c[15:0]的输入连接到第二选择器Mux的输出,其输出连接到第二加法器的输入、第二比较器、第三比较器的输入;所述第二比较器的两个输入为归一化脉宽调制波形输出缓存器Normalization_buffer_shift_out的输出和16位寄存器pulse_c[15:0]的输出,其输出连接到I位寄存器pwm_out[0]和I位寄存器pwm_out[l]的时钟端;所述第三比较器的输入为16位寄存器pulse_c[15:0]和归一化脉宽调制波形输出缓存器Normalization_buffer_shift_out输入信号PWM_pulse[15:0],其输出信号连接到第二选择器Mux的控制端;所述I位寄存器pwm_out[0]的输入和其自身的反相输出端连接并和归一化脉宽调制波形输出缓存器Normalization_buffer_shift_out输出信号PWM_out[0]连接;所述I位寄存器pwm_out [I]的输入和其自身的反相输出端连接,其正向输出端和归一化脉宽调制波形输出缓存器Normalization_buffer_Shift_0ut输出信号PWM_out[l]连接。所述归一化脉宽调制波形输出缓存器Normal izati on_buf f er_sh i f t_out 输入信号 CLK、Rst、Ena、Nor_counter [5:0]和 PWM_pulse [15:0]与输入输出I/O相连,输入信号PWM_pulse_MN[15:0]与归一化地址选择加法器模块Normalization_Mux_add相连,输出信号PWM_out[l:0]与输入输出I/O相连;所述归一化脉宽调制波形输出缓存器Normalization_buffer_shift_out的输入信号CLK、Rst、Ena提供系统时钟、复位和使能信号;输入信号?丽_?11186_1^[15:0]、如1'_(301^61'[5:0]分别连接归一化移位缓存器PWM_buffer62xl6bit的数据端[15:0]和地址端[5:0];计数器sh_flag_c[15:0]根据输入信号Ena和Nor_counter [5:0]与6’ h3E的比较结果实现对归一化移位缓存器PWM_buffer62xl6bit信号端SH_EN以及对脉冲计数器pulse_c [15:0]的控制;pulse_c[15:0]输出结果与归一化移位缓存器PWM_buffer62xl6bit的各存储值进行比较用于驱动PWM输出缓存器PWM_out[l:0],同时pulse_c[15:0]输出结果与输入信号PWM_puls[15:0]进行比较实现计数器重新清零操作;PWM_out[l:0]作为输出信号连接PWM_out[0]、PWM_out[l]输出。所述归一化脉宽调制波形输出缓存器Normalization_ buffer_shift_out用于实现把归一化地址选择加法器模块Normalization_Mux_add输出的各归一化具体脉冲数值PWM_pulse_MN[15:0]根据归一化地址计数器Nor_counter [5:0]和使能信号Ena输入使能信号进行移位排序并且实现PWM调制技术的波形输出;通过脉冲计数器pulse_c[15:0]与归一化移位缓存器PWM_buffer62X16bit中存储的调制波周期脉冲值PWM_pulse [15:0]所对应的各高低脉冲点所对应的脉冲值进行比较,便可实现该调制波周期下的PWM调制脉冲序列的输出。
[0011]本发明与现有技术相比较,具有如下显而易见的突出实质性特点和显著技术进步:本发明立足PWM调制波形整体规律,把调制波与载波的交点相对位置与地址计数器对应起来,通过设计电路对归一化地址进行解析,以求出具体PWM调制波周期脉冲值下的各高低脉冲点所对应的脉冲值,进而可实现包括SPWM在内的任意PWM调制脉冲序列的输出。
【专利附图】

【附图说明】
[0012]图1是正弦调制波与三角载波交点归一化地址实现解析图 图2归一化脉宽调制波形发生器结构框图。
[0013]图3归一化地址选择加法器Normalization_Mux_add电路实现。
[0014]图4归一化脉宽调制波形输出缓存器Normalization_buffer_shift_out电路实现。
[0015]图5归一化脉宽调制波形发生器仿真波形图。
【具体实施方式】
[0016]下面结合附图以及优选实施例对本发明作进一步的详细说明。
[0017]实施例一:参见图2,本归一化脉宽调制波形发生器,包括输入输出I/O (I)、归一化地址选择加法器模块Normalization_Mux_add (2)和归一化脉宽调制波形输出缓存器Normalization _buffer_shift_out(3),其特征在于:所述各模块通过局部总线相互连接。
[0018]实施例二:参见图2至图4,本实施例与实施例一基本相同,特征之处如下: 所述输入输出I/o (I)包括系统时钟信号Clk、复位信号Rst、使能信号Ena、归一化地
址Normalization_add[12:0]、归一化地址计数器Nor_counter[5:0]、调制波周期脉冲值PWM_pulse[15:0]和PWM调制输出端口 PWM_out [1: O];所述系统时钟信号Clk、复位信号Rst和使能信号Ena与归一化地址选择加法器模块Normalization_Mux_add (2)和归一化脉宽调制波形输出缓存器Normalization_buffer_shift_out (3)相互连接,提供时钟、复位信号和使能信号;所述归一化地址Normalization_add[12:0]与归一化地址选择加法器模块Normalization_Mux_add (2)相连;所述调制波周期脉冲值PWM_pulse [15:0]与归一化地址选择加法器模块Normalization_Mux_add (2)和归一化脉宽调制波形输出缓存器Normalization _buffer_shift_out (3)相连;所述归一化地址计数器 Nor_counter [5:0]与归一化脉宽调制波形输出缓存器Normalization_buffer_shift_out (3)相连;所述PWM调制输出端口 PWM_out[l:0]与归一化脉宽调制波形输出缓存器Normalization_buffer_shift_out (3)相互连接。
[0019]所述归一化地址选择加法器模块Normalization_Mux_add (2)包含十三个选择器 Mux (2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8,2.9,2.10,2.11,2.12,2.13)、十二个加法器(2.14,2.15,2.16,2.17,2.18,2.19,2.20,2.21,2.22,2.23,2.24,2.25)、一个 16 位寄存器pwm_pulse_MN[15:0] (2.26)以及输入信号端 CLK、Rst、Ena、Normalization_add[ 12:0] >PWM_pulse[15:0]和输出信号端PWM_pulse_MN[15:0];所述输入信号端CLK、Rst和Ena分别连接到16位寄存器pwm_pulse_MN[15:0] (2.26)的时钟、复位和使能端;所述十三个选择器 Mux (2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8,2.9,2.10,2.11,2.12,2.13)各自的一个输入端信号为16’ hOOOO,另一个输入端分别接归一化地址选择加法器模块Normalization_Mux_add (2)输入信号PWM_pulse[15:0]的高位,其控制信号分别连接归一化地址选择加法器模块 Normalization_Mux_add (2)输入信号 Normalization_add[12:0];所述十二个加法器(2.14,2.15,2.16,2.17,2.18,2.19,2.20,2.21,2.22,2.23,2.24,2.25)中前一个加法器的输出连接到后一个加法器的输入;所述十二个加法器(2.14,2.15,2.16,2.17、
2.18,2.19,2.20,2.21,2.22,2.23,2.24,2.25)中每个加法器的一个输入信号分别连接第一个至第十二个选择器 Mux (2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8,2.9,2.10,2.11,2.12)的输出信号,其中第一个加法器(2.14)的另一个输入连接第十三个选择器Mux (2.13)的输出,此加法器(2.14)输出信号连接到第二个加法器(2.15)的输入;所述16位寄存器pwm_pulse_MN[15:0] (2.26)的输入信号连接第十二个加法器(2.25)的输出,其输出信号连接到归一化地址选择加法器模块Normalization_Mux_add (2)的输出信号端PWM_pulse_MN[15:0];所述输入信号 CLK、Rst、Ena、Normalization_add[12:0]和 PWM_pulse[15:0]与输入输出1/0 (I)相连,输出信号PWM_pulse_MN[15:0]与归一化脉宽调制波形输出缓存器Normalization_buffer_shift_out (3)连接;所述归一化地址选择加法器模块Normalization_Mux_add (2)的输入信号CLK、Rst、Ena提供系统时钟、复位和使能信号;输入信号Normalization_add[12:0]的13个bit分别连接到13个选择器Mux的控制端,Mux的一个输入端信号为16’ hOOOO,另一个输入信号端的低位分别连接输入信号PWM_pulse[15:0]的高位,此输入端余下的高位端补零;Mux的输出信号分别连接加法器的输入端,实现累加器的功能,所有累加结果输入到寄存器pwm_pulse_MN[15:0], pwm_pulse_MN[15:0]结果作为输出连接PWM_pulse_MN[15:0]输出;所述归一化地址选择加法器模块Normalization_Mux_add (2)用于实现把所输入的归一化地址Normalization_add[12:0]进行解析,产生内部所需选择输出的控制信号实现把所输入的调制波周期脉冲值PWM_pulse[15:0]转换为具体的归一化脉冲数值,以存储到归一化脉宽调制波形输出缓存器 Normalization_bufTer_shift_out (3)中。
[0020]所述归一化脉宽调制波形输出缓存器Normalization_buffer_shift_out (3)包含一个归一化移位缓存器PWM_buffer62xl6bit (3.1)、第一和第二两个加法器(3.2,3.7)、第一和第二两个选择器Mux (3.3、3.8)、一个16位寄存器sh_flag_c[15:0] (3.4)、第一至第三3个比较器(3.5、3.10,3.11)、一个减法器(3.6)、一个16位寄存器pulse_c[15:0]
(3.9)、一个I 位寄存器 pwm_out [0] (3.12)、一个 I 位寄存器 pwm_out [I] (3.13)以及输入信号端 CLK、Rst、Ena、PWM_pulse [15:0]、PWM_pulse_MN[15:0]、Nor_counter [5:0]和输出信号端PWM_out[0]、PWM_out[l];所述输入信号CLK连接到归一化移位缓存器PWM_buffer62xl6bit (3.1)、16 位寄存器 sh_flag_c[15:0] (3.4)、16 位寄存器 pulse_c[15:0]
(3.9)的时钟信号端;所述输入信号Rst连接到归一化移位缓存器PWM_buffer62xl6bit(3.1),16 位寄存器 sh_flag_c[15:0] (3.4),16 位寄存器 pulse_c[15:0] (3.9)、1 位寄存器pwm_out[0] (3.12)、I位寄存器pwm_out[l] (3.13)的复位端;所述输入信号Ena连接到归一化移位缓存器 PWM_buffer62xl6bit (3.1)、16 位寄存器 sh_flag_c [15:0] (3.4)的使能端;所述归一化移位缓存器PWM_buffer62xl6bit (3.1)的D[15:0]和A[5:0]分别连接到归一化脉宽调制波形输出缓存器Normalization_buffer_shift_out (3)输入信号PWM_pulse_MN[15:0]、Nor_counter [5:0],其Sh_EN连接到第一比较器(3.5)的输出端;所述第一加法器(3.2)的输入信号为6,hOl和16位寄存器sh_flag_c[15:0] (3.4)的输出信号;所述第一选择器Mux (3.3)的输入信号为第一加法器(3.2)的输出信号和第一比较器(3.5)的输出信号,其输出信号连接16位寄存器sh_flag_c[15:0](3.4)的输入;所述第一比较器(3.5)的输入为16位寄存器sh_flag_c[15:0] (3.4)的输出和减法器(3.6)的输出,其输出连接到第一选择器Mux (3.3)的控制端、归一化移位缓存器PWM_buffer62xl6bit (3.1)的Sh_EN 端、16 位寄存器 pulse_c[15:0] (3.9)和 I 位寄存器 pwm_out [O] (3.12)以及 I 位寄存器pwm_out[l] (3.13)的使能端;所述减法器(3.6)的正负输入端为6’h3E和归一化脉宽调制波形输出缓存器 Normalization_buffer_shift_out (3)输入信号 Nor_counter [5:0];所述第二加法器(3.7)的输入信号为16,h0001和16位寄存器pulse_c[15:0] (3.9)的输出;所述第二选择器Mux (3.8)的输入为16’ hOOOO和第二加法器(3.7)的输出,其输出连接到16位寄存器pulse_c[15:0] (3.9)的输入;所述16位寄存器pulse_c[15:0] (3.9)的输入连接到第二选择器Mux (3.8)的输出,其输出连接到第二加法器(3.7)的输入、第二比较器(3.10)、第三比较器(3.11)的输入;所述第二比较器(3.10)的两个输入为归一化脉宽调制波形输出缓存器Normalization_buffer_shift_out (3)的输出和16位寄存器pulse_c[15:0] (3.9)的输出,其输出连接到I位寄存器pwm_out[O] (3.12)和I位寄存器pwm_out[l] (3.13)的时钟端;所述第三比较器(3.11)的输入为16位寄存器pulse_c [15:0] (3.9)和归一化脉宽调制波形输出缓存器 Normalization_buffer_shift_out (3)输入信号PWM_pulse[15:0],其输出信号连接到第二选择器Mux (3.8)的控制端;所述I位寄存器pwm_out[0] (3.12)的输入和其自身的反相输出端连接并和归一化脉宽调制波形输出缓存器 Normalization_buffer_shift_out (3)输出信号 PWM_out [O]连接;所述 I 位寄存器pwm_out[l] (3.13)的输入和其自身的反相输出端连接,其正向输出端和归一化脉宽调制波形输出缓存器Normalization_buffer_shift_out (3)输出信号PWM_out[l]连接。所述归一化脉宽调制波形输出缓存器Normalization_buffer_shift_out (3)输入信号 CLK、Rst、Ena、Nor_counter[5:0]和 PWM_pulse[15:0]与输入输出 I/O (I)相连,输入信号PWM_pulse_MN[15:0]与归一化地址选择加法器模块Normalization_Mux_add (2)相连,输出信号PWM_out[l:0]与输入输出I/O (I)相连;所述归一化脉宽调制波形输出缓存器 Normalization_buffer_shift_out (3)的输入信号 CLK、Rst、Ena 提供系统时钟、复位和使能信号;输入信号丽_111%_1[15:0]、如1'_(30161'[5:0]分别连接归一化移位缓存器 PWM_buffer62xl6bit 的数据端[15:0]和地址端[5:0];计数器 sh_flag_c[15:0]根据输入信号Ena和Nor_counter[5:0]与6’ h3E的比较结果实现对归一化移位缓存器PWM_buffer62xl6bit 信号端 SH_EN 以及对脉冲计数器 pulse_c[15:0]的控制;pulse_c[15:0]输出结果与归一化移位缓存器PWM_buffer62xl6bit的各存储值进行比较用于驱动PWM输出缓存器PWM_out[l:0],同时pulse_c[15:0]输出结果与输入信号PWM_puls[15:0]进行比较实现计数器重新清零操作;PWM_out[l:0]作为输出信号连接PWM_out[0]、PWM_out[l]输出。所述归一化脉宽调制波形输出缓存器Normalization_buffer_shift_out(3)用于实现把归一化地址选择加法器模块Normalization_Mux_add (2)输出的各归一化具体脉冲数值PWM_pulse_MN[15:0]根据归一化地址计数器Nor_counter [5:0]和使能信号Ena输入使能信号进行移位排序并且实现PWM调制技术的波形输出;通过脉冲计数器pulse_c[15:0]与归一化移位缓存器PWM_buf f er62xl6bit中存储的调制波周期脉冲值PWM_pulse [ 15:0]所对应的各高低脉冲点所对应的脉冲值进行比较,便可实现该调制波周期下的PWM调制脉冲序列的输出。
[0021]实施例三:以下结合附图和实例对本发明做进一步说明,以下的描述仅用于理解本发明技术方案使用,不用于限定本发明的范围。
[0022]本实施例利用Altera公司提供的DEl开发板设计归一化脉宽调制波形发生器。根据系统设计要求利用FPGA开发工具Quartus II实现系统硬件开发,基于FPGA可编程器件进行归一化脉宽调制波形发生器。
[0023]如图2归一化脉宽调制波形发生器结构框图、图3归一化地址选择加法器Normalization_Mux_add电路实现、图4归一化脉宽调制波形输出缓存器Normalization_buffer_shift_out电路实现所示,该设计包括输入输出I/O (I)、归一化地址选择加法器模块 Normalization_Mux_add(2)、归一化脉宽调制波形输出缓存器 Normali zat ion _buffer_shift_out (3),其特征在于,所述各模块通过局部总线相互连接
1、输入输出I/O (1),设计如下:
输入输出I/O端口(I)包括系统时钟信号Clk、复位信号Rst、使能信号Ena、归一化地址Normalization_add[12:0]、归一化地址计数器Nor_counter [5:0]、调制波周期脉冲值PWM_pulse[15:0]、PWM调制输出端口 PWM_out[l:0]。本设计系统上电开始运行后,Clk提供系统工作时钟,Rst复位信号对各模块复位初始化;用户可以根据需要设置归一化地址Normalization_add[ 12:0]、归一化地址计数器Nor_counter [5:0](总共可实现技术64个地址,对应32组高低脉冲),使能信号Ena用于选择地址输入或移位状态。
[0024]2、归一化地址选择加法器模块Normalization_Mux_add (2),设计如下:
归一化地址选择加法器模块Normalization_Mux_add (2)用于实现把所输入的归一化
地址Normalization_add[12:0]中D12—DO进行解析,产生内部所需选择输出的控制信号O或者1,通过Mux和加法器把所输入的调制波周期脉冲值PWM_pulse[15:0]转换为具体的脉冲数值,以存储到归一化脉宽调制波形输出缓存器Normalization_buffer_shift_out (3)中。
[0025]3、归一化脉宽调制波形输出缓存器Normalization _buffer_shift_out(3),设计如下:
归一化脉宽调制波形输出缓存器Normalization _buffer_shift_out (3)用于实现把归一化地址选择加法器模块Normalization_Mux_add (2)输出的各归一化具体脉冲数值PWM_pulse_MN[15:0]根据归一化地址计数器Nor_counter [5:0]和使能信号Ena输入使能信号进行移位排序,本设计内部共有0-61共62个归一化移位缓冲寄存器,通过脉冲计数器pulse_c[15:0]与归一化移位缓存器PWM_buffer62X16bit中存储的调制波周期脉冲值PWM_pulse[15:0]所对应的各高低脉冲点所对应的脉冲值进行比较,便可实现该调制波周期下的PWM调制脉冲序列的输出。如图5归一化脉宽调制波形发生器仿真波形图。
【权利要求】
1.一种归一化脉宽调制波形发生器,包括输入输出I/O (I)、归一化地址选择加法器模块Normalization-Mux-add (2)和归一化脉宽调制波形输出缓存器Normalization -buffer-shift-out (3),其特征在于:所述各模块通过局部总线相互连接。
2.根据权利要求1所述归一化脉宽调制波形发生器,其特征在于:所述输入输出I/O (1)包括系统时钟信号Clk、复位信号Rst、使能信号Ena、归一化地址Normalizationadd[12:0]、归一化地址计数器Nor-counter [5:0]、调制波周期脉冲值PWM-pulse [15:0]和PWM调制输出端口 PWM-out[l:0];所述系统时钟信号Clk、复位信号Rst和使能信号Ena与归一化地址选择加法器模块Normalization-Mux-add (2)和归一化脉宽调制波形输出缓存器Normalization-buffer-shift-out (3)相互连接,提供时钟、复位信号和使能信号;所述归一化地址Normalization-add[12:0]与归一化地址选择加法器模块Normalization-Mux-add(2)相连;所述调制波周期脉冲值PWM-pulse[15:0]与归一化地址选择加法器模块Normalization-Mux-add (2)和归一化脉宽调制波形输出缓存器 Normalization -buffer-shift-out (3)相连;所述归一化地址计数器Nor-counter [5:0]与归一化脉宽调制波形输出缓存器Normalization-buffer-shift-out (3)相连;所述PWM调制输出端口 PWM-out [1: O]与归一化脉宽调制波形输出缓存器Normal ization-buffer-shift-out (3)相互连接。
3.根据权利要求1所述归一化脉宽调制波形发生器,其特征在于:所述归一化地址选择加法器模块 Normalization-Mux-add(2)包含十三个选择器 Mux(2.1、2.2、2.3、2.4、2.5、.2.6、2.7、2.8、2.9、2.10,2.11,2.12,2.13)、十二个加法器(2.14,2.15,2.16,2.17,2.18、.2.19,2.20,2.21,2.22,2.23,2.24,2.25)、一个 16 位寄存器 pwm-pulse-MN[15:0] (2.26)以及输入信号端 CLK、Rst、Ena、Normalization-add[12:0]、PWM-pulse [15:0]和输出信号端PWM-pulse-MN[15:0];所述输入信号端CLK、Rst和Ena分别连接到16位寄存器pwm-pulse-MN[15:0] (2.26)的时钟、复位和使能端;所述十三个选择器Mux (2.1、2.2、2.3、2.4、.2.5,2.6,2.7,2.8,2.9,2.10,2.11,2.12,2.13)各自的一个输入端信号为 16’ hOOOO,另一个输入端分别接归一化地址选择加法器模块Normalization-Mux-add (2)输入信号PWM-pulse [15:0]的高位,其控制信号分别连接归一化地址选择加法器模块Normalization-Mux-add (2)输入信号 Normalization-add[ 12:0];所述十二个加法器(2.14、2.15、2.16、.2.17,2.18,2.19,2.20,2.21,2.22,2.23,2.24,2.25)中前一个加法器的输出连接到后一个加法器的输入;所述十二个加法器(2.14,2.15,2.16,2.17,2.18,2.19,2.20,2.21,2.22、.2.23,2.24,2.25)中每个加法器的一个输入信号分别连接第一个至第十二个选择器Mux(2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8,2.9,2.10,2.11,2.12)的输出信号,其中第一个加法器(2.14)的另一个输入连接第十三个选择器Mux (2.13)的输出,此加法器(2.14)输出信号连接到第二个加法器(2.15)的输入;所述16位寄存器pwm-pulse-MN[15:0] (2.26)的输入信号连接第十二个加法器(2.25)的输出,其输出信号连接到归一化地址选择加法器模块Normalization-Mux-add (2)的输出信号端 PWM-pulse-MN[15:0];所述输入信号 CLK、Rst、Ena> Normalization-add[12:0]和 PWM-pulse[15:0]与输入输出 1/0 (I)相连,输出信号PWM-puIse-MN[15:0]与归一化脉宽调制波形输出缓存器 Normalization-buffer-shift-out (3)连接;所述归一化地址选择加法器模块Normalization-Mux-add (2)的输入信号CLK、Rst、Ena提供系统时钟、复位和使能信号;输入信号Normalization-add[12:0]的13个bit分别连接到13个选择器Mux的控制端,Mux的一个输入端信号为16’ hOOOO,另一个输入信号端的低位分别连接输入信号PWM_pulSe[15:0]的高位,此输入端余下的高位端补零;Mux的输出信号分别连接加法器的输入端,实现累加器的功能,所有累加结果输入到寄存器 pwm_pulse_MN[15:0], pwm_pulse_MN[15:0]结果作为输出连接 PWM_pulse_MN[15:0]输出;所述归一化地址选择加法器模块Normalization_Mux_add (2)用于实现把所输入的归一化地址Normalization_add[12:0]进行解析,产生内部所需选择输出的控制信号实现把所输入的调制波周期脉冲值PWM_pulse[15:0]转换为具体的归一化脉冲数值,以存储到归一化脉宽调制波形输出缓存器Normalization_buffer_shift_out (3)中。
4.根据权利要求1所述归一化脉宽调制波形发生器,其特征在于;所述归一化脉宽调制波形输出缓存器Normalization_buffer_shift_out (3)包含一个归一化移位缓存器PWM_buffer62xl6bit (3.1)、第一和第二两个加法器(3.2,3.7)、第一和第二两个选择器Mux (3.3、3.8)、一个16位寄存器也_乜&8_(:[15:0] (3.4)、第一至第三3个比较器(3.5、.3.10,3.11)、一个减 法器(3.6)、一个16位寄存器pulse_c[15:0] (3.9)、一个I位寄存器pwm_out [O] (3.12)、一个 I 位寄存器 pwm_out [I] (3.13)以及输入信号端 CLK、Rst、Ena、PWM_pulse[15:0]、PWM_pulse_MN[15:0]、Nor_counter[5:0]和输出信号端 PWM_out[0]、PWM_out[l];所述输入信号CLK连接到归一化移位缓存器PWM_buffer62xl6bit (3.1),16位寄存器sh_flag_c[15:0] (3.4)、16位寄存器?11186_(3[15:0] (3.9)的时钟信号端;所述输入信号Rst连接到归一化移位缓存器PWM_buffer62xl6bit(3.1),16位寄存器sh_flag_c[15:0] (3.4)、16 位寄存器 pulse_c[15:0] (3.9)、1 位寄存器 pwm_out[0] (3.12)、1 位寄存器pwm_0ut[l] (3.13)的复位端;所述输入信号Ena连接到归一化移位缓存器PWM_buffer62xl6bit (3.1)、16 位寄存器 sh_flag_c[15:0] (3.4)的使能端;所述归一化移位缓存器PWM_buffer62xl6bit (3.1)的D[15:0]和A[5:0]分别连接到归一化脉宽调制波形输出缓存器 Normalization_buffer_shift_out (3)输入信号 PWM_pulse_MN[15:0]、Nor_counter [5:0],其Sh_EN连接到第一比较器(3.5)的输出端;所述第一加法器(3.2)的输入信号为6’ h01和16位寄存器sh_flag_c[15:0] (3.4)的输出信号;所述第一选择器Mux(3.3)的输入信号为第一加法器(3.2)的输出信号和第一比较器(3.5)的输出信号,其输出信号连接16位寄存器sh_flag_c[15:0] (3.4)的输入;所述第一比较器(3.5)的输入为16位寄存器sh_flag_c[15:0] (3.4)的输出和减法器(3.6)的输出,其输出连接到第一选择器Mux (3.3)的控制端、归一化移位缓存器PWM_buffer62xl6bit (3.1)的Sh_EN端、16位寄存器pulse_c[15:0] (3.9)和1位寄存器?《111_01-[0] (3.12)以及I位寄存器pwm_out [I] (3.13)的使能端;所述减法器(3.6)的正负输入端为6’ h3E和归一化脉宽调制波形输出缓存器 Normalization_buffer_shift_out (3)输入信号 Nor_counter [5:0];所述第二加法器(3.7)的输入信号为16,hOOOl和16位寄存器pulse_c[15:0] (3.9)的输出;所述第二选择器Mux (3.8)的输入为16’ hOOOO和第二加法器(3.7)的输出,其输出连接到16位寄存器pulse_c[15:0] (3.9)的输入;所述16位寄存器pulse_c[15:0] (3.9)的输入连接到第二选择器Mux (3.8)的输出,其输出连接到第二加法器(3.7)的输入、第二比较器(3.10)、第三比较器(3.11)的输入;所述第二比较器(3.10)的两个输入为归一化脉宽调制波形输出缓存器Normalization_buffer_shift_out (3)的输出和16位寄存器pulse_c[15:0] (3.9)的输出,其输出连接到I位寄存器pwm_out[0] (3.12)和I位寄存器pwm_out[l] (3.13)的时钟端;所述第三比较器(3.11)的输入为16位寄存器pulse_c [15:0] (3.9)和归一化脉宽调制波形输出缓存器 Normalization_buffer_shift_out (3)输入信号PWM_pulse[15:0],其输出信号连接到第二选择器Mux (3.8)的控制端;所述I位寄存器pwm_out[0] (3.12)的输入和其自身的反相输出端连接并和归一化脉宽调制波形输出缓存器 Normalization_buffer_shift_out (3)输出信号 PWM_out[0]连接;所述 I 位寄存器pwm_out[l] (3.13)的输入和其自身的反相输出端连接,其正向输出端和归一化脉宽调制波形输出缓存器Normalization_buffer_shift_out (3)输出信号PWM_out[l]连接。所述归一化脉宽调制波形输出缓存器Normalization_buffer_shift_out (3)输入信号 CLK、Rst、Ena、Nor_counter[5:0]和 PWM_pulse[15:0]与输入输出 I/O (I)相连,输入信号PWM_pulse_MN[15:0]与归一化地址选择加法器模块Normalization_Mux_add (2)相连,输出信号PWM_out[l:0]与输入输出I/O (I)相连;所述归一化脉宽调制波形输出缓存器 Normalization_buffer_shift_out (3)的输入信号 CLK、Rst、Ena 提供系统时钟、复位和使能信号;输入信号?丽_?111%_1[15:0]、如1'_(301-61'[5:0]分别连接归一化移位缓存器 PWM_buffer62xl6bit 的数据端[15:0]和地址端[5:0];计数器 sh_flag_c[15:0]根据输入信号Ena和Nor_counter[5:0]与6’ h3E的比较结果实现对归一化移位缓存器PWM_buffer62xl6bit 信号端 SH_EN 以及对脉冲计数器 pulse_c[15:0]的控制;pulse_c[15:0]输出结果与归一化移位缓存器PWM_buffer62xl6bit的各存储值进行比较用于驱动PWM输出缓存器PWM_out[l:0],同时pulse_c[15:0]输出结果与输入信号PWM_puls[15:0]进行比较实现计数器重新清零操作;PWM_out[l:0]作为输出信号连接PWM_out[0]、PWM_out[l]输出。所述归一化脉宽调制波形输出缓存器Normalization_buffer_shift_out(3)用于实现把归一化地址选择加法器模块Normalization_Mux_add (2)输出的各归一化具体脉冲数值PWM_pulse_MN[15:0]根据归一化地址计数器Nor_counter [5:0]和使能信号Ena输入使能信号进行移位排序并且实现PWM调制技术的波形输出;通过脉冲计数器pulse_c[15:0]与归一化移位缓存器PWM_buffer62xl6bit中存储的调制波周期脉冲值PWM_pulse [15:0]所对应的各高低脉冲点所对应的脉冲值进行比较,便可实现该调制波周期下的PWM调制脉冲序列的输出。
【文档编号】H03K7/08GK103457583SQ201310398800
【公开日】2013年12月18日 申请日期:2013年9月5日 优先权日:2013年9月5日
【发明者】胡越黎, 江超, 杨镇遥, 曹阳, 邓晔 申请人:上海大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1