朱璐,宋志强,刘伟
(1.中国人民解放军92941部队,辽宁 葫芦岛 125001;2.北京电子工程总体研究所,北京 100854)
导弹由于具备精确打击能力而成为现代战争中必不可少的武器。电动舵机作为导弹飞行控制系统的执行机构,接收飞行控制系统的指令,驱动空气舵即时偏转,进而调整导弹的飞行姿态和轨迹,保证导弹按照一定轨迹飞行[1-2]。
无刷直流电机具有可靠性高、无换向火花、响应快、功率密度高等特点,已广泛应用于自动化、交通运输、电子信息产业、农业、军事装备等领域[3];DSP(digital signal processor)具有强大的数据处理能力,可以使复杂算法数字化得以实现,已广泛应用于信号处理、通讯、雷达等领域[4];FPGA(field-programmable gate array)应用灵活,不仅实现了软件需求和硬件设计的完美集合,还实现了高速与灵活性的完美结合[5];大功率IPM(intelligent power module)技术已广泛应用于电机驱动中;测控软件是计算机对测控系统的管理命令集,完成对整个测控系统的操作[6],Labview,Visual Basic,Visual C++等软件已广泛应用于各种测控系统中。以上技术的应用使得数字化电动舵机测控系统的模块化和数字化更加成熟可靠。基于DSP与FPGA设计的电动舵机测控系统具有控制精度高、智能化程度高、数字化程度高、算法灵活性强、易于维护等优点。
基于DSP与FPGA的数字化电动舵机测控系统由系统电源、控制电路、驱动电路及测控软件组成,可以同时对4路电动舵机进行测试。系统电源为控制电路和驱动电路提供电源。控制电路为电动舵机控制算法提供硬件平台、为反馈装置——角位移传感器提供接口;驱动电路为电动舵机提供功率接口,驱动电动舵机运动;测控软件为测试人员提供人机操作界面,方便测试人员进行电动舵机测试、结果判读及数据存储。其结构图如图1所示。
测控系统以DSP与FPGA为核心,硬件部分包括系统电源、控制电路与驱动电路,其电源结构图如图2所示。
测控系统对外的电源接口为交流220 V,内部包含开关电源和功率电源。开关电源变换并输出直流28 V至控制电路,功率电源输出电压至驱动电路。
控制电路对外电源接口为28 V,内部通过4个直流电源转换模块进行二次电源转换。其中,A模块输出5 V供一系列线性稳压器组进行电压转换,输出1.8,3.3 V给DSP供电,1.2,2.5,3.3 V给FPGA供电;B模块输出±15 V给模拟电路供电,高精密电压参考源输出的2.5 V经过信号调理后给角位移传感器供电;C模块输出15 V给电机霍尔信号供电;D模块输出15 V给驱动电路供电。
驱动电路对外电源接口为15 V驱动电源、15 V电机霍尔信号电源和母线功率电源,驱动电路所能承受最大电压为300 V。
控制电路以DSP和FPGA为核心,外围设计相应功能模块电路。具体分为信号调理模块、AD(analog digital)模块、数据存储模块和CAN(controller area network)通讯模块。其中,DSP对各功能模块进行操作,以实现对4路电动舵机的控制及与测控软件的通讯。结构图如图3所示。
控制电路中DSP负责与测控软件进行通讯,接收测控软件的指令帧进行解码并将舵机信息传送至测控软件;采集电动舵机角位移传感器反馈的输出信号;与数据存储模块进行通讯,进行相关数据的读取与存储;运行电动舵机的控制算法,将计算结果输出至FPGA,并从FPGA处获得驱动电路的工作状态。
DSP选用美国TI公司的TMS320F28335,它是32位浮点DSP,工作频率可达150 MHz。它通过硬件实现浮点运算,相比于定点DSP具有强大的浮点运算能力,在执行浮点运算时,可节省存储空间、减少代码运行时间,在运行高精度、复杂的算法时表现尤为突出,保证了算法的精度和实时性[7]。
控制电路中FPGA通过DSP的XINTF(external interface)总线与DSP进行通讯,接收来自DSP的数据以及将数据传至DSP。DSP的XINTF总线主要包括读信号线、写信号线、3条片选信号线、20条地址总线和32条数据总线[8]。DSP与FPGA连接如图4所示。
DSP对FPGA进行写操作时,首先将片选信号线拉低,将地址数据输出至地址总线,按照一定时序,将写信号线拉低,数据输出至数据总线,写信号线拉高,片选信号拉高,地址总线数据总线挂起,完成一个写操作时序。FPGA检测到片选信号拉低后,延时一定时间读取地址总线数据,检测到写信号拉低后延时一定时间读取数据总线数据。时序图如图5所示。
DSP对FPGA进行读操作时,首先将片选信号线拉低,将地址数据输出至地址总线,按照一定时序,操作读信号线,片选信号拉高,地址总线挂起,完成一个读操作时序。FPGA检测到片选信号拉低后,延时一定时间读取地址总线数据,检测到读信号拉低后,将该地址对应的数据输出至数据总线,检测到片选信号拉高后,将数据总线挂起。时序图如图6所示。
FPGA除了与DSP通讯外还具有如下功能:
(1) 监测驱动模块的故障信号,实现故障保护逻辑。
(2) 采集电动舵机的霍尔信号,对霍尔信号进行解码并结合DSP的控制信号,以三相全桥的输出形式输出占空比信号至驱动电路,控制驱动电路逆变器中三相全桥的开关,进而控制电动舵机运动。
系统连接关系如图7所示。
FPGA选用ALTERA公司的Cyclone Ⅲ系列芯片,采用Verilog语言编程实现硬件电路功能,控制电路中可将大量功能集中于FPGA实现,减少了DSP的工作量,使得DSP可以节省更多资源,运行各种高精度算法,提高了系统的紧凑性、设计灵活性。
AD模块采用的芯片为ADI公司的AD7656,AD7656为16位精度6通道输入250 k采样速率同步采样的模数转换器,输入范围为±10 V或±5 V可调[9]。设计中为了降低噪声对控制精度的影响,配置AD7656输入范围为±10 V。DSP通过XINTF总线与AD7656进行通讯,可以一次性读取16位数据,方便数据传输。
电动舵机角位移传感器供电采用精密电压的供电方式,以减小电动舵机角位移传感器两端的供电漂移及噪声,使电动舵机的反馈更精确。设计中将高精密电压参考源的输出电压经过信号调理,输出为±10V精密电压,为电动舵机角位移传感器供电。信号调理电路由二阶有源滤波电路及电压跟随器组成,通过选取合适的电阻电容值,使其具有适合的通频带。AD模块与信号调理模块连接关系如图8所示。
系统中配有EEPROM,以便存储测控系统和控制算法的相关数据以及控制策略等信息。EEPROM与DSP通过SPI接口进行通讯,TMS320F28335具有2路SPI接口,通过寄存器配置可以设置成不同的工作模式[10]。SPI是一种全双工同步串行通讯接口,具有通讯速率高、结构简单、节省系统资源、设计方便、使用灵活等优点[11]。
测控软件与DSP之间通过CAN总线进行通讯。TMS320F28335具有2个eCAN模块,它满足CAN2.0B接口标准,通讯速率可达1 Mbit/s[12]。CAN总线是一种半双工通讯的国际标准现场总线,是一种有效支持分布式控制或实时控制的串行通信网络,具有通讯速率高、容易实现、性价比高、可靠性高等优点[13]。
驱动电路采用成熟的IPM方案。驱动电路主要由隔离电路和IPM模块组成。IPM模块选用日本三菱公司的第4代大型IPM,它包含6个单元的IGBT(insulated gate bipolar transistor),内部集成了HVIC(high voltage integrated circuit)电路功能,具有完善的欠压和短路等保护功能。与其他IPM相比该模块供电简单,通过自举电路工作,模块内部集成了过流保护功能,通过外部电阻电容的配置即可设置过流值及过流时间[14]。该模块还有故障信号及温度信号的输出接口,经过相应处理后输出至控制电路中的FPGA。其结构图如图9所示。
测控软件采用Labview开发环境进行设计,一般的计算机编程语言都是基于文本的编程代码,Labview是一种强大的图形化编程软件,与传统的编程软件相比,开发效率更高,对硬件的支持性更好[15]。Labview采用图形化编程语言,层次清晰,方便快捷。可以根据自己的需要灵活地定义仪器的功能,运用不同功能模块的组合可构成多种仪器。
通过软件开发,可以使测控软件具有通讯、数据存储、数据分析、数据显示、图形绘制等功能。测控软件界面如图10所示。
测控软件通过CAN板卡与DSP的CAN通讯模块进行通讯,通讯方式采用“一问一答”的方式,即通讯过程由测控软件开始,通过CAN板卡向DSP发送一帧数据,DSP接收到数据后对数据进行解码,控制电动舵机运动,再将电动舵机反馈数据通过CAN通讯模块发送至测控软件。测控软件接收到数据后,对数据进行解码,将信息以曲线或数字的形式显示出来,必要的时候实现对数据的分析及存储。
本文以DSP与FPGA为核心设计了电动舵机测控系统,充分发挥了DSP的复杂数字信号处理能力、内部接口资源丰富的优点以及FPGA并行处理的能力。电路设计中采用模块化思想,便于调试。驱动电路选用了成熟的IPM技术,可以方便地实现对电机的驱动控制。测控软件易于开发,可以实现对数据的处理、显示及存储等功能,快速完成对电动舵机的测试以及性能分析。