首页 / 专利库 / 信号处理 / 正弦波 / 一种利用FPGA生成SPWM波的方法及系统

一种利用FPGA生成SPWM波的方法及系统

阅读:960发布:2020-05-08

专利汇可以提供一种利用FPGA生成SPWM波的方法及系统专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种利用FPGA生成SPWM波的方法及系统,包括外部ADC 采样 模 块 、自定义IP核,所述自定义IP核包括SPWM波生成模块、 相位 控制寄存器组,所述SPWM波生成模块包括三 角 波生成模块、 正弦波 生成模块、 锁 相环以及SPWM波生成逻辑模块。本系统自定义IP核配备的Avalon总线 接口 ,使得正弦波的选择和生成 信号 的相位可由CPU通过 访问 寄存器的方式方便地进行设定。利用该方案设计的IP核具有 精度 高、使用方便、生成的SPWM 波形 好、占用资源少等优点,整个过程独立产生SPWM波,释放处理器。,下面是一种利用FPGA生成SPWM波的方法及系统专利的具体信息内容。

1.一种利用FPGA生成SPWM波的系统,其特征在于:包括外部ADC采样、自定义IP核,所述自定义IP核包括SPWM波生成模块、相位控制寄存器组,所述SPWM波生成模块包括三波生成模块、正弦波生成模块、相环以及SPWM波生成逻辑模块,其中:
所述外部ADC采样模块用于采集外部正弦波信号,并将该外部正弦波信号发送至所述SPWM波生成逻辑模块;
所述锁相环内设置有时钟产生模块,所述时钟产生模块根据所述外部正弦波信号分别为三角波生成模块、正弦波生成模块发送对应的时钟信号
所述三角波生成模块用于根据收到的所述时钟信号生成三角波信号,并将该三角波信号发送至SPWM波生成逻辑模块;
所述正弦波生成模块用于根据收到的所述时钟信号生成正弦波信号,并将该正弦波信号发送至SPWM波生成逻辑模块;
所述SPWM波生成逻辑模块用于通过对所述三角波信号和正弦波信号比较输出初步SPWM波信号,并将该初步SPWM波信号发送至相位控制寄存器组;
所述相位控制寄存器组用于对所述初步SPWM波信号进行相位调节后,输出SPWM波信号。
2.根据权利要求1所述的一种利用FPGA生成SPWM波的系统,其特征在于,还包括起始控制寄存器,所述起始控制寄存器用于控制所述自定义IP核的开始或停止。
3.根据权利要求1所述的一种利用FPGA生成SPWM波的系统,其特征在于:还包括NiosII处理器、Avalon总线,所述自定义IP核还包括Avalon读写控制逻辑模块,所述NiosII处理器通过Avalon总线控制所述自定义IP核。
4.根据权利要求1所述的一种利用FPGA生成SPWM波的系统,其特征在于:所述锁相环内设置有若干频率不同时钟产生模块。
5.根据权利要求1所述的一种利用FPGA生成SPWM波的系统,其特征在于:所述正弦波生成模块包括数控振荡器IP核和/或ADC采样模块。
6.根据权利要求5所述的一种利用FPGA生成SPWM波的系统,其特征在于:所述正弦波生成模块中的ADC采样模块采用所述外部ADC采样模块的通道。
7.一种利用FPGA生成SPWM波的方法,包括逆变器、电网,其特征在于,根据权利要求1至
6任意所述的一种利用FPGA生成SPWM波的系统,包括以下步骤:
通过所述外部ADC采样模块采集电网的电网正弦波信号,并将该电网正弦波信号发送给所述自定义IP核的SPWM波生成逻辑模块;
所述锁相环内设的时钟产生模块根据所述外部正弦波信号分别为三角波生成模块、正弦波生成模块发送对应的时钟信号;
所述三角波生成模块、正弦波生成模块分别生成三角波信号、正弦波信号并发送至SPWM波生成逻辑模块;
所述SPWM波生成逻辑模块通过对所述三角波信号和正弦波信号比较输出初步SPWM波信号,并发送至相位控制寄存器组;
所述相位控制寄存器组对所述初步SPWM波信号进行相位调节后,输出SPWM波信号。
8.根据权利要求7所述的一种利用FPGA生成SPWM波的方法,其特征在于:当所述系统离网时,所述正弦波生成模块为数控振荡器IP核。
9.根据权利要求8所述的一种利用FPGA生成SPWM波的方法,其特征在于:所述数控振荡器IP核通过自带的Avalon总线进行频率和幅度的调节。
10.根据权利要求7所述的一种利用FPGA生成SPWM波的方法,其特征在于:当所述系统并网时,所述正弦波生成模块为ADC采样模块。

说明书全文

一种利用FPGA生成SPWM波的方法及系统

技术领域

[0001] 本发明涉及电电子技术领域,具体涉及一种利用FPGA生成SPWM波的方法及系统。

背景技术

[0002] 随着、石油等化石能源的日渐枯竭与人类生存环境的不断恶化,太阳能能等可再生自然资源的开发利用近年来得到了国内外的普遍重视,许多国家已做出大规模推广太阳能等可再生能源开发利用的决策和规划。对于现行的新能源发电而言,稳定性较差、难以连续工作及环境因素影响大等缺点仍在一定程度上制约其发展,因此寻找一种可靠、高效的能源转换方式势在必行。逆变器由于能将直流电转换为交流并且能实现并网发电,因此成为新能源系统的核心装置,在光伏发电风力发电等技术领域是不可或缺的重要设备,具有重要的研究价值。
[0003] 目前市场上逆变器多数采用SPWM技术来实现变频控制,通过SPWM技术来实现近似正弦波的输出,在当下多种民用产品、军用产品均采取了这种控制技术来实现可调频率的正弦波形输出,并取的了非常好的使用效果。但其SPWM波的产生往往需要一些专用的DSP芯片,通常使用在某些对波形指标要求非常高的场合,这种基本的SPWM控制技术不能满足负载变化后对输出波形的影响,且目前市场上实现控制光伏逆变器将直流电能转化为与电网同频率、同相位的正弦波交流电流并且接入电网以实现并网发电的功能往往很繁琐,且反应不够迅速,迟滞效应非常明显。
[0004] 为解决上述问题,提出了一种利用FPGA生成SPWM波的方法及系统。本发明自定义的IP核运用在逆变器上,它不仅能使逆变器通过SPWM技术来实现近似正弦波的输出,而且还可以实时的调节产生的正弦波相位,实现完美的光伏并网与调节的功能。该方案的主要思路是先通过精心设计的逻辑电路产生成对的SPWM和SPWM非信号,配合相位检测模对电网上正弦波的相位进行检测,实时的将相位信息反馈给NiosII CPU,NiosII CPU使用C语言控制IP核内SPWM信号的延迟时间,使得逆变器输出与电网同相的正弦信号,从而实现精准的逆变并网。在调用该IP核生成SPWM波时不需要购买专用芯片,因此本专利设计的IP核具有使用方便、精度高、开发成本低、便于FPGA系统集成等优势。

发明内容

[0005] 针对现有技术中的缺陷,本发明提供一种利用FPGA生成SPWM波的方法及系统,不需要再单独的购买专用芯片,使用方便、精度高、开发成本低、便于FPGA系统集成。
[0006] 一种利用FPGA生成SPWM波的系统,包括外部ADC采样模块、自定义IP核,所述自定义IP核包括SPWM波生成模块、相位控制寄存器组,所述SPWM波生成模块包括三波生成模块、正弦波生成模块、相环以及SPWM波生成逻辑模块,其中:
[0007] 所述外部ADC采样模块用于采集外部正弦波信号,并将该外部正弦波信号发送至所述SPWM波生成逻辑模块;
[0008] 所述锁相环内设置有时钟产生模块,所述时钟产生模块根据所述外部正弦波信号分别为三角波生成模块、正弦波生成模块发送对应的时钟信号
[0009] 所述三角波生成模块用于根据收到的所述时钟信号生成三角波信号,并将该三角波信号发送至SPWM波生成逻辑模块;
[0010] 所述正弦波生成模块用于根据收到的所述时钟信号生成正弦波信号,并将该正弦波信号发送至SPWM波生成逻辑模块;
[0011] 所述SPWM波生成逻辑模块用于通过对所述三角波信号和正弦波信号比较输出初步SPWM波信号,并将该初步SPWM波信号发送至相位控制寄存器组;
[0012] 所述相位控制寄存器组用于对所述初步SPWM波信号进行相位调节后,输出SPWM波信号。
[0013] 本设计通过以上模块完成了采用IP核生成SPWM波,使用方便、精度高、开发成本低、便于FPGA系统集成。
[0014] 进一步的,该系统还包括起始控制寄存器,所述起始控制寄存器用于控制所述自定义IP核的开始或停止。
[0015] 进一步的,还包括NiosII处理器、Avalon总线,所述自定义IP核还包括Avalon读写控制逻辑模块,所述NiosII处理器通过Avalon总线控制所述自定义IP核。
[0016] 进一步的,所述锁相环内设置有若干频率不同时钟产生模块。
[0017] 进一步的,所述正弦波生成模块包括数控振荡器IP核和/或ADC采样模块。
[0018] 进一步的,所述正弦波生成模块中的ADC采样模块采用所述外部ADC采样模块的通道。
[0019] 一种利用FPGA生成SPWM波的方法,包括逆变器、电网,根据所述一种利用FPGA生成SPWM波的系统,包括以下步骤:
[0020] 通过所述外部ADC采样模块采集电网的电网正弦波信号,并将该电网正弦波信号发送给所述自定义IP核的SPWM波生成逻辑模块;
[0021] 所述锁相环内设的时钟产生模块根据所述外部正弦波信号分别为三角波生成模块、正弦波生成模块发送对应的时钟信号;
[0022] 所述三角波生成模块、正弦波生成模块分别生成三角波信号、正弦波信号并发送至SPWM波生成逻辑模块;
[0023] 所述SPWM波生成逻辑模块通过对所述三角波信号和正弦波信号比较输出初步SPWM波信号,并发送至相位控制寄存器组;
[0024] 所述相位控制寄存器组对所述初步SPWM波信号进行相位调节后,输出SPWM波信号。
[0025] 进一步的,当所述系统离网时,所述正弦波生成模块为数控振荡器IP核,所述数控振荡器IP核通过自带的Avalon总线进行频率和幅度的调节。
[0026] 进一步的,当所述系统并网时,所述正弦波生成模块为ADC采样模块。
[0027] 本发明自定义IP核是一种具有Avalon总线的IP核,能够轻松的挂接到NiosII处理器上,让NiosII软核通过Avalon总线去控制自定义的IP核,使该IP核根据用户需求生成所需的SPWM波。该IP核主要由起始控制寄存器、正弦波选择寄存器组、SPWM波生成逻辑模块、相位控制寄存器组模块、以及Avalon读写控制逻辑模块组成。它能输出高精度、便于实时控制、相位可调的SPWM波,其中起始控制寄存器用于控制本IP核是否开始工作以及停止工作;本IP核包含了两种正弦波的生成方法,当用户使用的是离网型发电系统时可以使用系统自带的NCO核产生正弦波,当用户使用的是并网型发电系统时可以使用高速ADC采样产生正弦波。该IP核包含一个正弦波选择寄存器组,用来由NiosII处理器选择使用何种方式产生正弦波,系统还包含一个相位控制寄存器组,用户利用它可以SPWM波的相位进行控制,从而使得逆变器输出的正弦波的相位可以在0到360度之间任意调节。
[0028] 自定义SPWM波生成的IP核主要由锁相环、三角波生成逻辑、NCO(数控振荡器IP核,用于产生设定频率的正弦波序列)核、ADC采样模块、SPWM波生成逻辑、相位控制寄存器组等模块组成。IP核生成SPWM波的原理是首先由NCO核或者高速ADC采样的方法获得正弦波,然后通过自定义的高速三角波生成器产生三角波,再让三角波与正弦波比较得到初步的SPWM波信号,最后再将SPWM经过可调的移位寄存器进行相位调节从而得到与电网上的相位一致的SPWM波。当系统离网时,可以通过CPU配置选择使用NCO核产生的正弦波,该正弦波的频率和幅度可以由IP核中自带的Avalon总线进行调节,当系统需要并网操作时,可以通过CPU的调节选择使用ADC采集的电网电压序列作为正弦波源。
[0029] 本发明的有益效果体现在:
[0030] 1、可以由用户灵活的选择正弦波的产生方式;
[0031] 2、当使用ADC采样产生正弦波时,可以预先的通过NiosII CPU使用C语言控制SPWM的相位的延迟,使得逆变器输出正弦波的相位和电网正弦波的相位相同;
[0032] 3、本方案中由锁相环直接给三角波模块提供时钟,而锁相环输出的时钟频率可由用户自行定义,所以本方案的三角波的分辩率、频率可由用户需要灵活调节;
[0033] 4、不使用CPU干涉,整个过程独立产生SPWM波,释放处理器。附图说明
[0034] 为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
[0035] 图1为系统总体框架示意图;
[0036] 图2为SPWM波生成逻辑原理示意图;
[0037] 图3为调用NCO核(数控振荡器IP核)设置界面的示意图;
[0038] 图4为使用嵌入式逻辑分析仪采集的三角波的示意图;
[0039] 图5为本发明的一种实施例示意图。

具体实施方式

[0040] 下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。
[0041] 需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
[0042] 实施例1
[0043] 如图1系统总体框架所示,本发明自定义IP核是一种具有Avalon总线的IP核,能够轻松的挂接到NiosII处理器上,让NiosII软核通过Avalon总线去控制自定义的IP核,使该IP核根据用户需求生成所需的SPWM波。自定义SPWM波生成IP核为FPGA系统的核心部分,也是本专利的关键所在。该IP核主要由起始控制寄存器、正弦波选择寄存器组、SPWM波生成逻辑模块、相位控制寄存器组模块、以及Avalon读写控制逻辑模块组成。它能输出高精度、便于实时控制、相位可调的SPWM波,其中起始控制寄存器用于控制本IP核是否开始工作以及停止工作;本IP核包含了两种正弦波的生成方法,当用户使用的是离网型发电系统时可以使用系统自带的NCO核产生正弦波,当用户使用的是并网型发电系统时可以使用高速ADC采样产生正弦波。该IP核包含一个正弦波选择寄存器组,用来由NiosII处理器选择使用何种方式产生正弦波,系统还包含一个相位控制寄存器组,用户利用它可以SPWM波的相位进行控制,从而使得逆变器输出的正弦波的相位可以在0到360度之间任意调节。本文将从以下几个方面对IP核的工作原理和设计方案进行详细的介绍。
[0044] 自定义IP核实现SPWM波生成的方法:
[0045] 如图2的SPWM波生成逻辑所示,本发明自定义SPWM波生成的IP核主要由锁相环、三角波生成逻辑、NCO(数控振荡器IP核,用于产生设定频率的正弦波序列)核、ADC采样模块、SPWM波生成逻辑、相位控制寄存器组等模块组成。IP核生成SPWM波的原理是首先由NCO核或者高速ADC采样的方法获得正弦波,然后通过自定义的高速三角波生成器产生三角波,再让三角波与正弦波比较得到初步的SPWM波信号,最后再将SPWM经过可调的移位寄存器进行相位调节从而得到与电网上的相位一致的SPWM波。当系统离网时,可以通过CPU配置选择使用NCO核产生的正弦波,该正弦波的频率和幅度可以由IP核中自带的Avalon总线进行调节,当系统需要并网操作时,可以通过CPU的调节选择使用ADC采集的电网电压序列作为正弦波源。
[0046] IP核包含的三角波生成逻辑模块、NCO核以及外挂的高速并行ADC所使用的时钟频率由锁相环分别提供。当用户在使用本IP核控制逆变器生成高精度、频率为50hz的正弦波交流电进行并网型发电时,由于电网的正弦波频率Fsin一般在50hz左右,当ADC对电网上的正弦波进行采样时,设每周期采样的点数为M,则ADC的采样频率Fadc=Fsin*M,此值通过对锁相环的某个通道的分频和倍频系数进行设置得到。假设M=200,则外挂的高速并行ADC的采样频率等于10KHz,如果锁相环的输入时钟频率为50MHz,则应该设置某个通道的分频系数为5000。由于三角波频率Ftri与正弦波频率之比即为载波比,即Ftri/Fsin=K,理论上载波比越大输出SPWM波的精度也越高,但过大的载波比也意味着极高的开关频率,故本IP核通过多方面的权衡,取最佳载波比为100,便可得到三角波的频率Ftri=Fsin*K=50*100=5000hz。其中每个三角波内部也包含多个采样点,假设三角波内部每个周期的采样点数为
200,则需要设置三角波的采样频率Fs=Ftri*200=1Mhz,该采样频率也通过设置锁相环的某一路产生。
[0047] 在常规的SPWM波生成方案中,通常用CPU采用C语言来生成三角波,导致CPU的负担极重,影响系统性能,同时也会带来很大的开关损耗,而本方案提出的SPWM波生成方法不使用CPU干涉,整个过程由FPGA的逻辑资源独立产生SPWM波,释放了处理器,具有很大的优势。传统的由正弦调制波与三角波相比较产生SPWM信号的方案中,生成的SPWM信号的相位往往是不可调的,这使得逆变器输出的正弦波的相位很难与电网上的正弦波的相位同步,为此,我们设计的IP核中又加入了相位控制寄存器组,利用线性移位寄存器的延迟功能对SPWM波进行恰当的延迟从而实现对逆变器输出正弦波的相位进行调节。下文从四个方面讲述该IP核的具体设计方案:
[0048] 正弦波生成方案:
[0049] 本发明中生成正弦波的方式有以下两种:
[0050] A、通过调用系统自带的NCO核产生正弦波。此种方式优点在于操作简单,在调用NCO核界面设置需要产生的正弦波的幅度、频率即可。当用户使用的是离网型发电系统生成与电网相同的交流电时,可使用NCO核生成频率为50hz的正弦波信号。如图3调用NCO核设置界面所示,在调用NCO核生成频率为50hz的正弦波信号时,首先在Frequency菜单中,Clock Rate选项处设置由锁相环给NCO核提供的时钟频率,该采样频率通过设置锁相环的某个通道产生,通过大量的实验测试,设置此时钟频率为2Mhz时生成的正弦波序列效果最佳,故此处设置为2Mhz。然后在Desired Qutput Frequency处设置用户期望生成的正弦波频率,因为要得到频率为50hz的正弦波信号,所以在这里应设置为0.00005Mhz。Magnitude Resolution选项处设置生成正弦波的位宽,设位宽值为N,N值与三角波的位宽相同。
[0051] B、通过我们使用外挂的高速并行ADC模块的其中一个通道对外围正弦波进行采样,然后再将采集得到的正弦波数据送给FPGA处理。此种方式的好处在于能实时对外部正弦波采样,与此同时得到电网的电压相位,从而控制逆变器实现并网功能。本方案所述的IP核适用于并网型单体逆变器时,首先设定该ADC模块其中一个通道的变量名,假设其变量名为adca_d,并指定其位宽为N。随后设定锁相环的某个通道产生时钟clk2驱动该高速并行ADC模块对电网上的正弦波采样,而时钟clk2通过对锁相环进行分频或倍频得到,具体如何设置该频率的大小前文有说过,在这里就不细讲。这样便得到位宽为N的正弦波信号adca_d。
[0052] 而如何从中选择哪种方式产生正弦波则由avalon总线来进行设置,avalon总线的设计方案随后介绍。
[0053] 三角波的生成方案:
[0054] 若想生成三角波,常用的方法使用555定时器产生方波,然后将得到的方波再用积分电路可以产生三角波,或者DDS、信号发生器专用芯片实现。可见其不仅方式繁琐,还需要单独购买专用芯片,而本方案所提出的三角波产生方式为使用Verilog语言编写程序,仅通过FPGA就可实现分辩率、频率、幅值可调的三角波。操作简单、不需要再购买专用芯片。其具体实现方法如下:
[0055] ①首先设定输出三角波的变量,假设变量名为Tri_Out,并且指定变量的位宽为N,N等于ADC模块的位宽,使用reg语句来定义此变量。
[0056] ②设定三角波的最高峰不能超过某值,该值定为Tri_Hi,最低峰不能低于-Tri_Hi,使用parameter语句来定义此常量。
[0057] ③令Tri_Out在每个采样时钟Fs的上升沿都改变一次取值,Tri_Out一会儿增加,一会儿减少,增加和减少所占的时间长度相同,都等于三角波周期的一半,我们使用一个变量Tri_AddSub来决定Tri_Out是增加还是减小,Tri_AddSub=1表示三角波上升,当Tri_AddSub=0表示三角波下降。
[0058] ④当Tri_AddSub=1,并且Tri_Out还没达到Tri_Hi时,则Tri_Out在Fs的下一个上升沿将要增加一定的幅值,我们用一个专的变量step来定义该增量幅值的大小。如果Tri_Out已经超过Tri_Hi时,则下一个时钟周期内Tri_AddSub由1变成0,并且Tri_Out开始做减法。
[0059] ⑤当Tri_AddSub=0,并且Tri_Out还没低于-Tri_Hi时,则Tri_Out在Fs的下一个上升沿将要减少一定的幅值,而减少幅值的大小也为step。如果Tri_Out已经低于-Tri_Hi时,则下一个时钟周期内Tri_AddSub由0变成1,并且Tri_Out开始做加法。
[0060] 具体硬件描述语言为(程序组1):
[0061]
[0062]
[0063] 本方案所述的三角波逻辑中,可通过改变三角波的采样时钟频率step、步进step以及幅值Tri_Hi即可生成用户所需要的三角波。如图4使用嵌入式逻辑分析仪采集的三角波所示为本三角波逻辑产生的三角波。
[0064] SPWM波的生成方案:
[0065] 为了生成SPWM波,我们将正弦波与三角波相比较,它们的交点决定了SPWM波的脉冲输出。我们将由上述文中得到的正弦波信号和三角波信号进行比较,当正弦波的幅值大于三角波的幅值时,SPWM取高电平,反之,当正弦波的幅值小于三角波的幅值时,SPWM取低电平。具体硬件描述语言为(程序组2):
[0066]
[0067] 由上述代码便可生成的SPWM波信号,但由其控制逆变器逆变输出的正弦波信号与电网上的正弦波信号相位往往存在一定的差异,此时就需要对逆变器输出的正弦波信号进行移相至与电网相同才能与电网实现并网,其具体实现方法如下:
[0068] 将生成SPWM波相位的延迟方法:
[0069] 由上述产生的SPWM_early信号输入系统的相位控制寄存器组后,首先经过相位控制寄存器组进行相位延迟操作,得到SPWM信号。设相位控制寄存器组中共有N个移位寄存器,每个寄存器都受同一个时钟Fs的驱动,设Fs的时钟周期为,且假设SPWM信号由Avalon读写控制逻辑设定从第n个移位寄存器的输出取数,则SPWM相对于SPWM_early的延迟时间为秒钟。很显然为最大的延迟时间差,反映了延迟时间的精度,要想实现足够长的延迟时间,只要设定N足够大即可。在用硬件描述语言,比如Verilog书写IP核的功能时,可以使用parameter关键词对N实现宏定义,即parameter N=100等(此时假设N=100)。
[0070] 综上所述,在实际应用时,本系统使用ADC对电网上的正弦波进行采样得到电网正弦波相位为A,与此同时的,也使用ADC对逆变器逆变产生的正弦波进行采样的到逆变器正弦波相位为B,所以可得到其相位差φ=|A-B|,此时便可使用Nios II处理器对SPWM_early信号的相位延迟φ个寄存器。
[0071] Avalon接口设计:
[0072] 本发明自定义的IP核是一种基于Avalon总线的IP核设计。Avalon总线是Altera公司开发的用于连接Nios II处理器和各种IP核模块的总线技术。为了将控制器集成到Nios II系统中,必须为其封装一个Avalon接口,使其满足Avalon接口规范中定义的信号和时序要求。该控制器的Avalon接口主要包括一个Avalon存储器映射(Avalon-MM)从接口、一个导管(Conduit)接口、一个中断(interrupt_sender)接口、一个时钟输入接口和一个复位输入接口。从接口包含片选、地址、读写和读写数据等Avalon信号,用于与Nios II处理器交互,导管接口包含连接外部所需的各信号。控制器通过从接口和Nios II处理器之间的交互如下:读取来自于寄存器的正弦波选择数据;将正弦波选择数据写入CPU_RD_Data中;发送清零命令。
[0073] 而实现如何选择正弦波的生成方法为:首先给IP核添加的Avalon总线接口能够使得我们可以在NiosII处理器里面使用C指令向正弦波选择寄存器中写入任意正整数n,然后在自定义的IP核中,定义CPU处理器片选信号CPU_CS、读信号CPU_RD、地址信号CPU_Addr;假设定义三个正弦波选择寄存器,其寄存器名分别为reg_nco、reg_adca_d和reg_adcb_d,其中reg_nco寄存器用于控制NCO核产生正弦波,reg_adca_d寄存器用于控制ADC模块的A通道工作,reg_adcb_d寄存器用于控制ADC模块的B通道工作。其IP核的写命令控制逻辑的具体实现过程如下(程序组3):
[0074]
[0075] 如上述代码,我们通过控制CPU处理器的片选信号、CPU读信号以及正弦波选择寄存器的地址码,然后向寄存器reg_nco、reg_adca_d和reg_adcb_d里写入数值n作标识,n可以为任意正整数,假设n为1,当CPU处理器的片选信号为1且CPU读信号为1时,若寄存器的地址为0,则向reg_nco寄存器里写入1;否则若寄存器的地址为1,则向reg_adca_d寄存器里写入1;若寄存器的地址为2,则向reg_adcb_d寄存器里写入1。其中本IP核的读命令控制逻辑的具体实现过程如下(程序组4):
[0076]
[0077] 如上所述程序所示,当CPU地址信号CPU_Addr为0且寄存器reg_nco为1时,我们使用自定义IP核中自带的NCO核产生的正弦波;当CPU地址信号CPU_Addr为1且寄存器reg_adca_d为1时,表示使用高速并行双通道ADC的A通道采集外部数据;当CPU地址信号CPU_Addr为2且寄存器reg_adcb_d为1时,表示使用高速并行双通道ADC的B通道采集外部数据。我们可以在NiosII处理器里面使用C指令IOWR_32DIRECT(IP_BASE,CPU_Addr,n)向选择寄存器中写入任意正整数n,其中IP_BASE代表自定义IP核在NiosII CPU中的基地址。假定我们需要使用高速并行双通道ADC的B通道采集外部数据,则可以通过使用C指令IOWR_
32DIRECT(IP_BASE,2,n)向寄存器reg_adcb_d中写入n,从而实现使用高速并行双通道ADC的B通道采集外部数据。
[0078] 实施例2
[0079] 本实施例以控制一款三相逆变电路逆变并网为例讲解本专利提出的IP核的具体设计方案以及参数,所以首先我们通过Nios II处理器控制IP核使用外挂的高速并行ADC对外围电路采样的方式对电网采样得到正弦波信号。这里假设我们可以设置一个频率为1M赫兹的时钟clk0用于三角波生成模块产生频率为10K赫兹的三角波,再设置一个频率为10K赫兹的时钟clk2用于高速并行ADC对电网上的正弦波采样,具体的如何确定时钟频率在上文中有讲,这里就不作详细的说明。系统通过ADC模块对具体交流电路进行采样得到SIN1、SIN2和SIN3,需要利用本专利设计的IP核产生相对应的SPWM波:SPWM1、SPWM1_NOT、SPWM2、SPWM2_NOT、SPWM3和SPWM3_NOT信号。为此,为了成功控制逆变器上三个桥臂的六个IGBT(绝缘栅门极晶体管),我们使用FPGA上的三个自定义SPWM生成IP核来产生上述六个控制信号,对三相逆变器同步进行调制。具体控制结构如下图5三个IP核控制一个逆变器实现逆变并网所示。
[0080] 如图5所示,三个IP核控制一个逆变器实现逆变并网中的逆变器共有六个晶闸管VT1~VT6,其中VT1与VT4在同一桥臂,VT3与VT6在同一桥臂,VT5与VT2处在同一桥臂。系统对ADC模块采集回来的数据进行处理后与自定义生成的三角波比较生成SPWM_early 1、SPWM_early 2和SPWM_early 3信号,然后根据检测相位差值模块反馈的相位差,通过Nios II处理器来控制相位寄存器对SPWM_early信号进行延迟后就得到我们所需要的SPWM1、SPWM2和SPWM3信号,同时我们对所得到的SPWM波信号进行取反后便可得到SPWM1_NOT、SPWM2_NOT和SPWM3_NOT信号。最后,这六个输出信号分别与六个晶闸管VT1~VT6的G极相连。
[0081] 从理论上讲,三角波频率越高,输出波形越接近正弦波。实际上,开关管的通断变化虽然很快,但仍需要一定的时间,在这个时间段里,开关管要承受高电压,大电流的冲击,功耗很大,高频率切换不但加大损耗降低电源效率,还可能使管子发热烧毁。一般逆变器的载波频率约几千赫兹,小功率的频率高些,大功率逆变器的频率低些。
[0082] 因为此案例中是控制三相逆变器实现逆变并网,所以我们采用ADC模块实时的采集电网上的正弦波交流电。已知我国电网交变流电的频率为50赫兹,假定系统时钟Fs等于50Mhz,为了使我们生成的SPWM波控制三相逆变器逆变产生的正弦波交流电与电网采集出来的正弦波交流电相匹配,经过上文中的计算,应设置一个频率为1M赫兹的时钟clk0用于三角波生成模块产生频率为10K赫兹的三角波。与此同时,设计一个10K的时钟驱动ADC模块采集电网上频率为50hz的正弦波信号。随后,便可得到SPWM波信号。而由逆变器产生的正弦波信号跟电网上的正弦波信号一般来说存在一个相位差,此时我们使用NiosII CPU控制系统SPWM波移动N个相位后,便可得到与电网相位相同的正弦波。具体的操作方案上文有,在这里就不介绍了。
[0083] 而有些情况下,用户并非使用并网型的发电系统,此时就需要使用NCO核来产生正弦波信号,为了实现产生正弦波的方式可调,并能够利用CPU控制IP核的启动与停止,IP核内部定义有正弦波选择寄存器组,这个寄存器组同样使用Avalon总线从Nios II处理器接受数据和控制命令,具体的实现逻辑如程序组3所示。
[0084] 假设我们向Nios II处理器系统中添加的自定义IP核的名字叫做SPWM,那么FPGA的开发环境Nios II Software Build Tools for Eclipse中SPWM_BASE就是该IP核的基地址,该基地址的名称由IP核名称的大写再加上“_BASE”的后缀构成。
[0085] 当IP核设计成功之后可以在Intel FPGA的开发环境Platform Designer或者Qsys中通过双击IP核名称的方式将其添加到SOPC系统中,在经过编译、锁定引脚、下载、固化等标准的开发流程,就能正常使用。
[0086] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求说明书的范围当中。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈