通过FPGA内嵌双口RAM实现高压变频器主控系统的方法
技术领域
本发明涉及功率单元串联方案实现的高压变频器领域,主要提出一种由主控芯片(可以是一颗也可以是多颗其他CPU)与一颗用于对各个功率单元进行监控的FPGA芯片组成的主控系统,来实现高压变频器的核心控制方案。其中,FPGA一方面作为整个主控系统的单元监控、控制部件而存在,另一方面还进行部分的实时性很强的逻辑处理,同时还使用内部资源搭建双口RAM来实现与主控CPU的通讯。
背景技术
随着我国对节能的日益重视,占我国感应电机总功率份额一半以上的高压电机的节能领域有着越来越广阔的前景。而这类高压电机节能方案中最为显著的是使用高压变频器进行节能。其不仅可以方便的改变电机的转速,实现电机的无极调速;还可以大大提升电机的低频转矩特性,改变系统的机械硬度。并且随着矢量技术的普及,高压变频器能够像控制直流电机那样精确地控制电机的转速,转矩;在像轧钢等需要大功率以及高精度的场合同样有着良好的应用场景。
高压变频器方案中一个最主流的分支就是功率单元串联的方案。该方案采用星形接法的低压功率单元串联,不同的单元之间载波相差180/N度,从而大大降低了输出电压的谐波,有利于提高电机的寿命、降低对周围环境的电磁噪音污染;而单元的输入侧使用延边三角形接法实现的移相变压器,大大降低了输入的电压、电流谐波,降低了对电网的污染。
使用该方案,按照最流行的设计,控制10KV的电机需要8-9级的单元串联才可以实现。因此系统至少都需要达到能够同时控制3 X 9=27个单元的能力。系统对单元的控制需要很强的实时性,各个单元的动作时间误差需要能够控制在1微秒之内;同时控制系统又需要尽可能多的获取各个单元的实际运行状态,以便于系统能够更好的监控单元,了解各个单元的当前运行状况;另外,还需要迅速的对单元的故障等信息做出反应,以提高系统的可靠性。
但是CPU作为串行处理芯片,需要串行的执行一条一条的指令来实现一个一个的处理逻辑。他们可以实现复杂的控制逻辑,但是无法实现微秒级别同步的多路控制。
目前流行的主控系统的实现方案为控制芯片+多个外围控制单元的方案。其中每个外围控制单元控制一个功率单元。外围控制单元具备一定的逻辑处理功能,一般都包括CPU或者CPLD(FPGA)。逻辑上外围控制单元直接与控制芯片交互。目前方案的缺点有:一是成本高。每个外围控制单元都由大量的芯片、电路组成,从而成本很高。二是可靠性低。假设每个外围控制单元的可靠性可以达到99.9%,则27个外围控制单元总体的可靠性则为:(99.9%)27=97%,几乎每30台中就有1台有问题。故障率高。三是同步性差。每个外围单控制元都有自己的处理逻辑,并且每个外围控制单元都有自己的时钟。所以尽管发给各个单元的控制信号在控制芯片侧可以做到很好的同步性,但是具体到外围控制单元的处理,则同步性会因为时钟的差异,当前处理内容的差异而变得很差。四是控制芯片与各个外围控制单元通讯复杂。如果采用直接通讯的方式,即使每个外围控制单元占用控制芯片的两个引脚,则总的外围芯片会占用总共有54个引脚。而控制芯片的处理也会非常复杂。如果控制芯片采用存储扩展的方式,则需要扩展大量的存储器,一方面增加了成本,另一方面进一步降低了可靠性。五是主控芯片负担重。由于各个外围控制单元都只是负责自己的单元,对其他单元无法控制,则其无法处理那些例如故障保护等,需要根据单元反馈信息而做出的实时性要求高的逻辑处理。如果这部分处理也移交到主控芯片中进行处理,则大大加重了主控芯片的负担。
发明内容
本发明的目的是克服上述问题,向社会提供一种简洁、可靠、同步性好的通过FPGA内嵌双口RAM实现高压变频器主控系统的方法,以解决功率单元串联方案中,主控系统对各个单元的实时同步控制问题。
本发明的技术方案是:提供一种通过FPGA内嵌双口RAM实现高压变频器主控系统的方法,包括主控芯片和FPGA,在所述FPGA内部集成有对各个功率单元进行控制的控制模块、对各个功率单元反馈信息的监控模块、与功率单元实现通讯的通讯模块和与主控芯片进行通讯的双口RAM;
其中:
主控芯片负责提供外接的操作接口,对变频器的整体运行状况进行监控,以及高压变频的核心控制逻辑;并通过FPGA对各个功率单元实现控制和监控;
FPGA的控制模块负责根据从双口RAM中接收到的主控芯片的控制命令,分别生成控制各个功率单元的控制命令字;以及生成各个功率单元当前的IGBT控制信号;
FPGA的功率单元信息监控模块用于获取并初步处理各个功率单元的反馈信息;
FPGA的通讯模块用于处理与各个功率单元的通讯,包括发送子模块与接收子模块两部分;对于发送子模块,按照同一个节拍向每一个功率单元发送控制模块生成的各个功率单元的控制命令字以及功率单元当前的PWM控制信号;对于接收子模块,则分别接收、解析各个功率单元的反馈信息,并传给功率单元的信息监控模块;
FPGA的双口RAM则是处理FPGA与主控芯片的桥梁;该双口RAM的一端连接FPGA内部的控制模块、监控模块;另一端则按照主控芯片的处理时序,搭建与类似于片外存储器的电路,与主控芯片的外部数据总线相连,以便于主控芯片能像访问外部存储器那样方便的访问FPGA。
所述主控芯片是DSP或其他CPU,其中DSP或其他CPU是1颗或1颗以上。
所述反馈信息包括温度、母线电压、控制状态等信息。
所述主控芯片通过FPGA对各个功率单元实现控制的过程为:主控芯片把控制命令定期写入FPGA的双口RAM;FPGA的控制模块定期从双口RAM中读入主控芯片下发的相应的控制信息,并进行处理,生成对各个功率单元的控制命令,以及该功率单元的PWM控制信号;然后把这些信号组合成发送帧传递给通讯模块;所述通讯模块的发送子模块按照自己的节拍,把FPGA控制模块生成的发送给各个功率单元的数据帧按照每个节拍发送相同位置的数据的方式,并行、同时发给各个功率单元。
所述主控芯片通过FPGA对各个功率单元实现监控的过程为:FPGA通讯模块的接收子模块不停的接收功率单元反馈回来的各种信息,并在某功率单元的信息接收完毕后,把该信息送给FPGA的监控模块;FPGA的监控模块对通讯模块接收到的各个功率单元的反馈信息做初步的处理。并把需要反馈给主控芯片的信息发送给片内的双口RAM。信息监控模块需要处理的信息包括但不限于:判断接收的数据的合法性;主控芯片在需要功率单元反馈信息的时候,只需要从双口RAM相应的地址读取该信息即可。
所述功率单元信息监控模块获取的各个功率单元的反馈信息中需要实时处理的信息的处理流程如下:FPGA通讯模块的接收子模块不停的接收功率单元反馈回来的各种信息,并在某功率单元反馈信息接收完毕后送给FPGA的监控模块;FPGA的监控模块对通讯模块接收到的各个功率单元的反馈信息做初步的处理,如果某功率单元的信息合法并且是需要系统立即停机保护的故障信息,则将生成保护命令并下发给FPGA的控制模块;FPGA的控制模块根据功率单元信息监控模块下发的保护命令,分别生成各个功率单元的带有封锁PWM输出命令的控制命令帧,然后把这些控制命令帧下发给通讯模块的发送子模块;FPGA的发送子模块同时发送这些带有封锁PWM输出命令的控制命令帧给各个功率单元,各个功率单元接收到后立即封锁PWM输出。
本发明的有益效果:
1.整个系统由主控芯片与一颗作为执行部件的FPGA组成,系统简单、可靠性高,同时降低了成本。
2.FPGA可以对主控芯片的控制命令进行部分的逻辑处理;从而承担部分主控芯片的工作,降低主控芯片的负担。同时也简化了主控芯片与FPGA的交互。
3.同一颗FPGA同时发送信息给各个功率单元,可以保证发送给各个单元的信息有很强的同步性。各个单元动作的同步性好。
4.FPGA采用双口RAM可以存储大量的单元反馈信息,一方面可以提供更加丰富的监控信息,另一方面也减轻了主控芯片的负担。
5.FPGA同时可以对单元反馈信息进行处理,一方面可以更加有效的处理实时性很强的信息(这类功能包括但不限于故障实时保护功能),另一方面也减轻了主控芯片在这方面处理的负担。
采用该方案,整个系统由主控芯片与一颗作为执行部件的FPGA组成,系统简单、可靠性高,同时降低了成本;FPGA可以对主控芯片的控制命令进行部分的逻辑处理;从而承担部分主控芯片的工作,降低主控芯片的负担,同时也简化了主控芯片与FPGA的交互;同一颗FPGA同时发送信息给各个功率单元,可以保证发送给各个功率单元的信息有很强的同步性,各个功率单元动作的同步性好;FPGA采用双口RAM可以存储大量的功率单元反馈信息,一方面可以提供更加丰富的监控信息,另一方面也减轻了主控芯片的负担;FPGA同时可以对功率单元反馈信息进行处理,一方面可以更加有效的处理实时性很强的信息,另一方面也减轻了主控芯片在这方面处理的负担。
本发明利用FPGA速度快、规模大、引脚多、可编程的特点,把所有的功率单元的监控功能放在一颗FPGA中进行处理,同时使用FPGA内部电路搭建与主控芯片通讯的双口RAM,使得在主控芯片侧看来,各个功率单元均等效为一段内存地址。从而大大降低了技术实现的难度,降低了主控系统的成本,提高了各个功率单元动作的同步性,同时因为芯片的减少,提高了系统整体的可靠性。同时FPGA中进行例如故障保护等等实时性高的逻辑处理,降低了主控芯片的负担,实时性好。
附图说明
图1是本发明的系统架构的示意图。
图2是FPGA的各个组成部分的连接关系的示意图。
图3是对单元控制的实现流程的示意图。
图4是对单元监控的实现过程的示意图。
图5是FPGA对故障保护的处理过程的示意图。
具体实施方式
请参见图1,本发明包括:主控芯片(可以是DSP也可以是其他CPU,可以是1颗,也可以是多颗),FPGA(内部集成了对各个功率单元的控制模块(控制模块)、对各个功率单元反馈信息的监控模块(监控模块)、与单元的通讯模块(通讯模块)、与主控芯片进行通讯的双口RAM(双口RAM))。其中:
主控芯片负责提供外接的人机界面接口,对变频器的整体运行状况进行监控,以及高压变频的核心控制逻辑;并通过FPGA对各个功率单元实现控制和监控。
FPGA的控制模块负责根据从双口RAM中接收到的主控芯片的控制命令,分别生成控制各个单元的控制命令字;以及生成各个单元当前的IGBT控制信号。
FPGA的功率单元信息监控模块用于获取并初步处理各个功率单元的反馈信息。这些反馈信息包括但不限于:温度、母线电压、控制状态等。
FPGA的通讯模块用于处理与各个功率单元的通讯,包括发送子模块与接收子模块两部分。对于发送子模块,按照同一个节拍向每一个功率单元发送控制模块生成的各个功率单元的控制命令字以及功率单元当前的PWM控制信号;对于接收子模块,则分别接收、解析各个功率单元的反馈信息,并传给功率单元的信息监控模块。
FPGA的双口RAM则是FPGA与主控芯片之间的桥梁。该双口RAM的一端连接FPGA内部的控制模块、监控模块;另一端则按照主控芯片的处理时序,搭建类似于片外存储器的电路,与主控芯片的外部数据总线相连,以便于主控芯片能像访问外部存储器那样方便的访问FPGA。
请参见图2,图中所示是FPGA各个组成部分的连接关系;从图可知,控制模块主要是从双口RAM模块中获取主控芯片下发的控制命令;以及从监控模块获取其对功率单元反馈信息进行逻辑处理产生的控制命令;控制模块对来自双口RAM、监控模块的命令进行处理,生成控制各个功率单元控制命令帧,把该控制命令帧发送给通讯模块的发送子模块。
所述通讯模块的接收子模块实时接收功率单元的信息,并把各个功率单元的信息传送给监控模块,发送子模块则负责同步发送给各个功率单元的控制信息。
所述监控模块一方面把接受子模块反馈的信息中主控芯片需要的信息写到双口RAM中,同时也对接收子模块反馈的各个功率单元的信息中需要实时处理的信息实时进行逻辑处理,把处理生成的命令发给控制模块。
请参见图3,图中所示为本发明对单元控制的实现过程:
1.主控芯片把控制命令定期写入FPGA的双口RAM。
2.FPGA的控制模块定期从双口RAM中读入主控芯片下发的相应的控制信息,并进行处理,生成对各个功率单元的控制命令,以及该功率单元的PWM控制信号。然后把这些信号组合成发送帧传递给通讯模块。
3.通讯模块的发送子模块按照自己的节拍,把FPGA控制模块生成的发送给各个功率单元的数据帧按照每个节拍发送相同位置的数据的方式,并行、同时发给各个功率单元。
请参见图4,图4所揭示的是本发明对单元监控的实现过程如下:
1.FPGA通讯模块的接收子模块不停的接收功率单元反馈回来的各种信息,并在某功率单元的信息接收完毕后,把该信息送给FPGA的监控模块;
2.FPGA的监控模块对通讯模块接收到的各个功率单元的反馈信息做初步的处理。并把需要反馈给主控芯片的信息发送给片内的双口RAM。信息监控模块需要处理的信息包括但不限于:判断接收的数据的合法性。
3.主控芯片在需要功率单元反馈信息的时候,只需要从双口RAM相应的地址读取该信息即可。
请参见图5,图5揭示的是对功率单元反馈的需要实时处理的信息的处理如下(以故障保护为例):
1.FPGA通讯模块的接收子模块不停的接收功率单元反馈回来的各种信息,并在某功率单元反馈信息接收完毕后送给FPGA的监控模块;
2.FPGA的监控模块对通讯模块接收到的各个功率单元的反馈信息做初步的处理,如果某功率单元的信息合法并且是需要系统立即停机保护的故障信息,则将生成保护命令并下发给FPGA的控制模块。
3.FPGA的控制模块根据功率单元信息监控模块下发的保护命令,分别生成各个功率单元的带有封锁PWM输出命令的控制命令帧,然后把这些控制命令帧下发给通讯模块的发送子模块。
4.FPGA的发送子模块同时发送这些带有封锁PWM输出命令的控制命令帧给各个功率单元,各个功率单元接收到后立即封锁PWM输出。