一种反无人机系统双核控制器设计

2021-05-29 01:21刘仁杰
科学技术与工程 2021年11期
关键词:战斗部实时性串口

刘仁杰,陈 曦

(南京理工大学机械工程学院,南京 210094)

近些年来,无人机技术高速发展,各种测量摄影技术突飞猛进,对秘密目标空中安全构成极大威胁[1],而现在传统反无人机方法存在精度和实时性低的问题[2],为了防御空中无人机的威胁,急需设计先进的反无人机系统,保障空中安全。

目前中外反无人机技术主要有信号诱捕、电磁干扰和硬杀伤等,其中硬杀伤是最为常用的手段,所使用的控制器存在成本高、实时性低等缺点[3]。控制器对整个反无人机系统任务调配和高效运作起到了决定性作用,所以设计一款先进的控制器非常重要。

该控制器面对的是精确侦察探测能力的无人机,需要在短时间内进行发现跟踪目标、火控解算,同时控制转台电机实时更新位置状态,并在指定时刻发射战斗部,整个过程需要处理大量数据,并进行良好的指令控制。现设计一种装载实时控制系统的控制器,通过其任务优先级高低来增强实时性,CPU(central processing unit)由DSP(digital signal processing)和STM32组成,以期实现良好的数据处理和控制功能。

1 总体设计

设计的反无人机控制器采用DSP和STM32的双核控制。

DSP选用TMS32F28335,该芯片采用哈佛总线结构,因此有较好的实时性;拥有高性能32位CPU(TMS320C28x),可以更快地进行数据处理,6通道DMA(direct memory access)处理器可与雷达实时传输数据;同时具有12位A/D(analog quantity/digital quantity)转换精度,计算速度较快,已经广泛应用在科研控制领域。但其通用功能欠佳,而该控制器需要拥有快速执行外围控制功能,也要为日后添加更加复杂的控制要求做准备,只有DSP会不利于功能实现和扩展。

负责控制的芯片选用STM32F407ZGT6,因为它外设集成度高,适合处理以控制为主的任务,操控简单,方便查看和验证任务进行状态,但大量数据处理能力欠佳,无法进行高性能控制算法运算。鉴于两种芯片的特点,控制器将使用DSP和STM32共同控制的CPU模式。

控制器中的DSP运用了μC/OS-Ⅱ嵌入式实时控制系统技术。μC/OS-Ⅱ是一个完整的、可移植、可固化、可裁剪的抢占式实时多任务内核[4],在很多场景下得到使用,说明该操作系统非常稳定,其主要负责无人机轨迹跟踪预测和数据处理等计算量较大的部分。STM32装载FreeRTOS系统,FreeRTOS是一个迷你的实时操作系统内核,功能包括:任务管理、消息队列、内存管理、软件定时器等[5],框架简单,满足控制器需要的同时不会造成CPU负担过重。DSP与STM32利用各自的实时系统联合工作,可以增加反无人机系统控制器的实时性和可靠性。

如图1所示,该控制器由DSP与雷达和转台电机进行信息交互,STM32由串口通信给战斗部发射模块发送命令,同时还有电源模块和一些辅助模块。控制流程如下:

图1 控制器结构图Fig.1 Controller structure diagram

(1)DSP接收雷达探测数据和转台电机实时数据进行算法处理,得出转台的下一刻需要移动到的角度和速度,之后将这些数据及相应指令发送给STM32。

(2)STM32接收DSP传输的数据,通过装载FREERTOS系统,控制转台电机移动至指定位置,实时跟踪,在特定时刻选择合适的战斗部单元发射。

(3)电源通过各级降压,用于向其他模块提供不同大小的稳定工作电压。

(4)转台俯仰电机选用伺服电机,其编码器可以实时反馈数据,进行无级调速,配合PID(proportional integral derivative)算法,实现精准动作控制。

(5)战斗部发射模块拥有多个单元,接收到发射指令时,选择合适位置的单元发射。

(6)以FRAM(ferroelectric RAM)作为辅助模块,可以存储DSP解算数据。

2 硬件部分设计

2.1 电源

控制器的最高电压是转台电机使能电压,为 24 V,转速控制电压阈值为±15 V,所以接收由外部输入的24 V交流电源。通过整流器整流和稳压将交流电转换成直流电[6],经过滤波后,通过一些集成降压稳压的电子器件,将电压降至各级所需值,满足整个控制器的供电需求。电源降压原理如图2所示。

图2 电源降压原理图Fig.2 Power supply voltage reduction

2.2 信息交互模块

控制器在目标跟踪、升压点火、电机转动和芯片通信等处都进行了数据传输。其中接收雷达探测数据使用差分电平信号,两信号的振幅相同,相位相反,增强抗干扰能力。DSP通过串口通信和STM32进行交互,只有需要传输时,程序才会进入串口中断,进行数据传输。STM32和转台电机之间通过CAN(controller area network)传输进行位置控制,同时考虑到电气隔离,将在CAN模块发送和接收端各外接一个高速光耦元件6N137。

2.3 转台控制模块

转台电机主要任务是接收STM32的指令,并通过编码器将角度、速度和加速度信息反馈,使得电机能够快速精准的到达指定位置,并随着无人机轨迹跟踪进行实时位置更新,最后确定合适的战斗部发射模块发射,对无人机目标进行打击。

考虑到 F28335 内部的 A/D 只有12位,而一般复杂算法需要24位A/D才能达到性能要求,因此选用MAX125进行补充,该元件能够额外提供14位A/D 来完成模拟量输入采样转换,这种DSP+MAX125结构,在采集精度和速度上具有更好性能。

STM32通过CAN总线,根据协议将小型数据包从芯片传输给电机控制模块,接收元件使用R5F21236。该芯片具有32 kb字节的ROM程序存储器、2 kb字节的RAM数据存储器、2个带有8位预标定的8位定时器[7]。传输时通过差动传输方法保证信号不受干扰,元件选用SN65HVD251,该接口实现STM32和R5F21236对接,提高通信可靠性。

电机驱动器选用BIPN60030C,该芯片具有短路保护,根据输入口的电压,调整通过信号-15~+15 V,电压数值与速度成正比,正负对应着电机的正反转。

2.4 战斗部发射模块

为了保证战斗部发射可靠性,点火装置采用升压点火。

控制器选用MAX8570升压转换器实现升压,最高可输出30 V的峰值电压。如当STM32接收到上位机指令时,单片机上复用为CTRL1和FIRE1的引脚电平由高变低,让MCR100-6实现导通,储蓄电量的钽电容开始放电点火,对无人机进行打击。并且控制端使用异或门芯片SN74AHC86D控制,防止因为IO(input output)口电平不稳定导致误触发,接地端连接点火器,设计图如图3所示。

图3 升压发射设计Fig.3 Boost launch design

3 软件设计

3.1 控制器工作流程

DSP内容基于CCS6.0进行开发,STM32内容基于keil5进行开发[8]。首先整个系统上电,程序对硬件接口、心跳检测和各类通信进行初始化;然后雷达开始与单片机进行通信,DSP接收端持续更新雷达数据。当数据来临时,DSP通过进入中断,接收数据并进行数据处理与滤波,根据算法断定是否为虚警;若算法认定为虚警,则继续进行雷达通信;若非虚警,DSP计算拦截交汇位置、时间和最合适的战斗部发射模块,当交汇位置小于预设值时,DSP将位置信息和指令传递给STM32,后者控制转台转至指定位置,接收到发射指令前,DSP和STM32持续通信,转台电机不断更新位置。同时,STM32设置串口中断,接收发射模块序号,待发射命令来时,立刻启动发射任务;发射完成后转台回正,将此次发射相关数据存储进FRAM中。总体流程图如图4所示。

图4 控制器工作流程图Fig.4 Flow chart of controller

3.2 雷达数据接收与预处理

雷达探测数据使用DMA传输技术,可以实时接收雷达回传数据,并且不需要CPU进行处理,减轻系统负担。DMA单次发送8 Byte数据,数据帧头为0X55,数据内容包括角度信息(俯仰角,方位角),径向速度和径向距离,最后将会发送校验位;数据码制为补码;对数据预处理时,首先验证帧头,若为0X55,则继续接收后面内容,若为其他,则放弃该帧数据,准备接收下一帧数据。在一帧数据结尾还要进行校验,最后一个数据为前面所有数据值的和,将接收到的数据相加,如果和最后一个数据相等,则数据正确,准备接收下一帧数据;如果和数组最后的数据不相等,那么同样也要弃用。

雷达数据码制为补码形式,所以滤波前需要将数据转换成原码形式,然后转换成十进制,再乘以分辨率得到来袭目标方位角等真实数据,为后续处理做准备。

3.3 转台电机控制

电机选用伺服电机,能够进行无级调速,自带编码器能够实时数据反馈,通过PID算法,让电机快速精准转至指定位置。首先,DSP将数据处理后,与其他信息一起发送给STM32。然后,STM32将相关位置信息通过CAN总线传递给电机,再通过各自ID传输给指定电机,进行转动控制。

CAN发送两个标识符0x200和0x1FF,各自为 8 Byte,对应了4个电机驱动器ID,每两个字节储存一个电机的电流阈值。需要将电流阈值控制在 -16 384~16 384(设备接收的数值量),否则将会烧毁电路;驱动器输出电流大小应该在-20~20 A。数据格式如表1所示。

当电机反馈当前数据时,反馈标识符为 0X200,后跟该串数据所属电机驱动ID,同样为8 Byte可反馈电机转子角度、转子转速、实际转矩电流以及电机温度。反馈数据格式如表2所示。

表1 发送数据格式Table 1 Send data format

表2 反馈数据格式Table 2 Feedback data format

3.4 实时操作系统应用

μC/OS-Ⅱ是一种基于优先级的抢占式多任务实时操作系统,FreeRTOS 操作系统是迷你实时操作系统内核[9]。二者相似处在于都包含了实时内核、任务和时间管理,这可以让各个任务互不干涉地执行,同时任务间还能通过任务通知、队列和信号量进行通信同步。这两个操作系统已经应用在很多场合,性能稳定。

在实时控制系统下根据需求建立任务,根据每个任务自身的重要程度,给他们分配优先级,当高优先级任务在等待指令时,系统会将其先行挂起,暂时不会访问;而当中断收到相关指令时,可以使用任务通知等方法立刻执行该任务。其中雷达接收指令和拦截部发射具有最高优先级,保证对目标追踪高实时性,同时通过串口接收中断判断是否进入发射拦截部任务,若不允许,则继续等待;若允许发射,则以任务通知的形式通知给相应任务,立即对拦截模块发送起爆指令,对来袭目标进行有效拦截。

4 实验与验证

4.1 雷达通信模块

利用CCS中对雷达数据接收进行调试,如图5所示。

图5 雷达通信测试Fig.5 Radar communication test

图5中红色部分为雷达发送给DSP的数据,先要检验帧头和帧尾,如第一帧帧头有误,第二帧帧尾校验位有误,处理器抛弃这两帧数据,相关参数仍为零;第三、四帧校验正确,处理器进行处理,参数发生变化。

4.2 升压发射模块

选取4个发射单元进行实验,使用高速相机对发射口状态进行捕捉,实验效果如图6所示,证明发射模块可以根据程序依次发射指定单元,能够达到实验要求。

4.3 FREERTOS实时系统

FREERTOS可以保证数据能够及时发送到指定功能模块,提高动作实时性。其中,最重要的是保证发射实时性,其逻辑为控制器在等待命令时,其他任务继续进行,当控制器接到发射命令,触发串口中断,直接跳转到发射任务,及时进行发射操作,否则不进入发射任务。其中需要解开保险才能进行接下来的指令,并且只有在保险解开和预发射准备完毕的情况下,才能进行发射拦截部动作。程序如图7、图8所示。

图6 升压起爆测试Fig.6 Booster initiation test

图7 串口中断函数Fig.7 Serial port interrupt function

图8 发射任务Fig.8 Launch mission

程序运行后,中断中标志位没有接收发射指令不会发生变化,程序也就不会进入发射函数。当接收到发射指令后,依次向战斗部发射模块发送解保险、预发射和起发射拦截部指令,得到发射函数反馈的发射指令和对应的控制器动作,说明及时进入了发射任务,每一项指令及时执行。如图9所示。

图9 指令反馈验证Fig.9 Instruction feedback verification

4.4 电机通信模块测试

通过模拟,用STM32给电机发送角度预设值,目标是让电机正向转动275°,并监控电机返回的角速度、已转动角度和电机的旋转圈数,结果如图10所示,实物图如图11所示。

图10 电机数据Fig.10 Motor data

图10中选取Pitch轴为例,Target_angle为目标角度,因为电机存在减速比,通过计算得该电机转子转动14.5圈,转轴才能达到目标角度,count 为转动圈数。

图11 转台实物Fig.11 Real turntable

由图10可以看到目标值一直不变,电机不停转动,电机机械角在0°~360°不断变化,但是圈数不断增加,当达到14圈后,电机在转至目标角度后停止,证明该方案可行。

5 结论

设计了一款双核控制器,在实现各基础功能的前提下,使用了实时控制系统来提高控制器的实时性。经过实验验证,说明各功能模块符合要求,得出以下结论。

(1)DSP较好的计算能力和STM32良好的控制功能形成优势互补,二者组成CPU将满足功能要求,并为将来扩展新功能留有空间。

(2)各功能模块符合性能要求,其中实时系统对于关键任务可以做到无用时挂起,需要调用时立刻执行,保证了高优先级任务及时执行的能力,提高控制器实时性,在反无人机系统领域为类似系统设计提供了良好的思路。

猜你喜欢
战斗部实时性串口
多功能战斗部毁伤元动态形成特性数值模拟与试验研究
基于NPORT的地面综合气象观测系统通信测试方法及故障处理
弹形参数对战斗部斜穿甲姿态偏转影响研究
基于API函数库实现串口数据通信的分析与设计
基于EM9000工控板高性能双串口通信模型设计与实现
内置式杀爆战斗部破片与外壳破片速度关系仿真分析
船舶电子设备串口数据的软件共享方法
浅谈武器战斗部的未来发展方向
航空电子AFDX与AVB传输实时性抗干扰对比
计算机控制系统实时性的提高策略