本发明涉及电机控制领域,具体地,涉及一种用于开关磁阻电机控制的基于DSP和FPGA的双核控制器。
背景技术:
由于开关磁阻电机的简单的结构,低廉的成本,高鲁棒性,开关磁阻电机在各行各业都引起了很高的重视。由于其简单的结构,低廉的成本,高鲁棒性,开关磁阻电机在各行各业都引起了很高的重视。目前已经成功应用于电动车驱动系统,家用电器,纺织机械,航空航天等众多领域中,成为传统电机的有力竞争者。
近年来,由于大功率开关器件以及数字电子技术的发展,高速低价的数字处理芯片的出现,将高性能数字处理芯片应用于开关磁阻电机的控制系统中,使得开关磁阻电机的性能大大提升,更大限度地显示出SRD的优越性。
现有的开关磁阻电机的控制器大部分是基于单一CPU的控制器,控制器的负担过重,复杂的控制算法不能在控制器中实现,使得开关磁阻电机的优势不能体现。
技术实现要素:
针对现有技术中的缺陷,本发明的目的是提供一种用于开关磁阻电机控制的基于DSP和FPGA的双核控制器。
根据本发明提供的用于开关磁阻电机控制的基于DSP和FPGA的双核控制器,包括主处理器DSP和辅助处理器FPGA;所述主处理器为DSP通过总线连接所述辅助处理器FPGA;
所述主处理器DSP,用于通过主处理器DSP的PWM模块向驱动电路输出PWM信号;
所述辅助处理器FPGA,用于根据主处理器DSP的指令处理电机反馈信号并将反馈信号传输至主处理器DSP。
优选地,还包括上位机;
其中,所述辅助处理器FPGA与所述上位机进行串口通信,将获取的开关磁阻电机的速度电流电压信息发送至上位机进行实时显示。
优选地,所述辅助处理器FPGA通过USB2.0转RS232的线缆连接所述上位机。
本发明提供的用于开关磁阻电机控制的基于DSP和FPGA的双核控制器的控制方法,包括如下步骤:
步骤S1:主处理器DSP发送指令给辅助处理器FPGA;
步骤S2:辅助处理器FPGA与A/D芯片通信,读入电机测试信号;
步骤S3:辅助处理器FPGA将读入的测试信号进行处理,并将处理后的测试信号传输至DSP;
步骤S4:主处理器DSP根据处理后的测试信号中获取相应的控制方法,根据控制方法得到的控制信号输出至底层驱动模块。
与现有技术相比,本发明具有如下的有益效果:
本发明通过结合DSP和FPGA的控制器设计兼具了DSP实现复杂运算的能力和FPGA并行处理的能力,改善了传统单CPU控制中由于频繁的中断难以实现开关磁阻电机实时控制的特点,可以有效实现对电机的高性能控制。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明的结构示意图;
图2为本发明中辅助处理器FPGA的示意图;
图3为本发明中主处理器DSP的示意图;
图4为本发明辅助处理器中FPGA与上位机通信示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
在本实施例中,本发明提供的用于开关磁阻电机控制的基于DSP和FPGA的双核控制器,包括主处理器DSP和辅助处理器FPGA;所述主处理器为DSP通过总线连接所述辅助处理器FPGA;
所述主处理器DSP,用于通过主处理器DSP的PWM模块向驱动电路输出PWM信号;
所述辅助处理器FPGA,用于根据主处理器DSP的指令处理电机反馈信号并将反馈信号传输至主处理器DSP。
本发明提供的用于开关磁阻电机控制的基于DSP和FPGA的双核控制器,还包括上位机;
其中,所述辅助处理器FPGA与所述上位机进行串口通信,将获取的开关磁阻电机的速度电流电压信息发送至上位机进行实时显示。
本发明提供的用于开关磁阻电机控制的基于DSP和FPGA的双核控制器的控制方法,包括如下步骤:
步骤S1:主处理器DSP发送指令给辅助处理器FPGA;
步骤S2:辅助处理器FPGA与A/D芯片通信,读入电机测试信号;
步骤S3:辅助处理器FPGA将读入的测试信号进行处理,并将处理后的测试信号传输至DSP;
步骤S4:主处理器DSP根据处理后的测试信号中获取相应的控制方法,根据控制方法得到的控制信号输出至底层驱动模块
如图2所示,FPGA模块实现的功能有:(1)与A/D芯片通信,读入传感器采集到的电机各相电流,并保存在寄存器中;(2)读取编码器信号,将编码器信号转化为电机转子位置信息和速度信息,并保存在寄存器中;(3)在接到DSP读取反馈信息的请求时,将寄存器中的反馈信息按序传送至DSP;(4)实现UART模块,与上位机进行串口通信。
如图3所示,在DSP和控制系统启动后,首先进行DSP时钟和定时器的配置,其次是与PWM波产生相关的事件管理器的配置,然后是寄存器的初始化操作,算法启动,定时中断和外部中断的许可等。在DSP主程序中,执行的是外部速度设定值输入和命令输入的读取,而时钟周期中断中执行电流、位置、速度信号的读取,在读取之后立即使用相应的信息作出判断。在定时器周期中断中的程序基本是SRM运行程序的主体部分,由于该SRM驱动电路结构的特殊性,在某相导通时其他相是关断状态,在保证某相处于导通角度内时,其他相由于程序命令必须处于关断状态,因此可以将换相程序作为最优先的执行程序,首先使用位置信号进行相切换程序,在相应的导通相内根据电流信息进行滞环斩波控制或者PWM电压调制控制。
如图4所示,上位机、下位机之间通过串口通信,上位机和下位机的接口分别为USB2.0和RS232,通过一根USB2.0转RS232的线缆相连。下位机中,输入FPGA的信号经过单电源电平转换MAX232芯片进行电平转换后以比特流的形式进入FPGA的UART模块,UART模块对输入的比特流按照UART协议转换为以8bit为单位的字节流;若收到的是来自上位机的读取请求,UART模块会将保存电机实时运行参数的寄存器中的值以8bit为单位转化为比特流输出,再经单电源电平转换芯片MAX232芯片进行电平转换后发送至上位机,由上位机进行显示或保存;若收到的是目标参数,则UART模块将该目标值通过SPI接口传给DSP,由DSP进行控制。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。