APP下载

嵌入式硬件在环UUV模拟器的设计及实现

2018-12-20

数字海洋与水下攻防 2018年3期
关键词:模拟器线性总线

黄 健

(昆明船舶设备研究试验中心,云南 昆明 650051)

0 引言

无人水下航行器(Unmanned underwater vehicle,UUV)具有广泛用途,例如海洋勘探、应急打捞、水下武器对抗等。我国对UUV的研究起步较晚,与世界先进水平还存在一定差距,大力发展UUV相关联的关键技术已成为行业共识。

开展UUV真实航行试验的成本及风险非常高。在研发、生产保障和培训时,引入必要的仿真手段,可以节省研发费用、缩短研发周期、提高培训效能。同时,充分且多样性的仿真试验也为产品的质量和可靠性打下了坚实的基础。仿真试验在UUV产品的全生命周期都可以发挥作用。在方案论证及研发早期,主要采用纯数字仿真;在研发后期、生产保障及训练时,主要采用硬件在环(Hardware-in-the-loop,HIL)仿真。

在国外,HIL仿真技术比较成熟,支持HIL的通用商业软硬件平台包含dSPACE、RT-LAB、xPC等,其功能强大,但商业使用需要支付较高的费用。在国内,西北工业大学、哈尔滨工程大学等研究院所,针对UUV的HIL仿真需求,也开展了相关研究[1-4],建设有专门实验室。国内大多数UUV的HIL仿真平台是针对某型或某类UUV(例如鱼雷、水雷)建立起来的,主要特征是功能强大、相关的组部件齐全。但是其通用性、可配置性较差。事实上,国内部分UUV相关的研发、生产、使用单位,并没有建设齐备的HIL仿真实验室。一方面是建造全套UUV HIL平台的费用较高;另一方面,由于其可配置性较差,在某些场景中使用起来也不是特别方便。

文本给出了嵌入式HIL模拟器(以下简称模拟器)的解决方案,并给出了其软硬件的详细设计。

1 总体方案设计

1.1 需求分析

要解决“可配置性”问题,采用基于标准总线的控制架构是一种思路。同时,实时性问题也是模拟器必须考虑的。下面分别从接口需求、硬件需求的角度探讨方案的可行性。

接口需求:CAN总线具有硬实时性和高可靠性的特点,在汽车、船舶、航空航天领域广泛使用。CAN总线也是唯一成为国际标准的现场总线。本文选用CAN总线作为模拟器的对外接口。

硬件需求:模拟器需要完成UUV模型和干扰模型的数值计算,即需要核心MCU有一定的运算能力。随着半导体技术的快速发展,满足需求的MCU有很多,综合考虑计算能力、通讯接口、可靠性、开发难度和使用习惯,本文选用Infineon公司的XMC4800F144K2048作为主控芯片。

1.2 工作原理及系统构成

模拟器内嵌UUV非线性数学模型和线性数学模型。模型类型和模型参数通过外部设备设定。模拟器可工作于频域分析模式、时域分析模式和HIL仿真工作模式。模拟器的系统构成框图如图1所示。

在频域分析模式下,模型配置为线性模型,可以分析UUV在线性工作点处的开环频域特性,其输入信号为正弦信号(控制量,舵角)。

在时域分析模式下,模型配置为线性模型,分析UUV在线性工作点处的开环时域特性,其输入信号为阶跃或脉冲信号。

在HIL仿真模式下,需要配置物理效应模拟设备和参试硬件。物理效应模拟设备包含:姿态模拟装置、深度模拟装置、舵角负载模拟器。参试硬件一般包含:舵机(控制器)、控制器、深度传感器和航姿系统(陀螺或惯导)。要求参试设备具有CAN总线接口。参与HIL模拟仿真设备的构成树图如图2所示。

2 硬件设计

2.1 最小系统

最小系统由主控芯片、主控芯片支持电路、外扩FLASH、复位/监控电路、电源电路等组成。

最小系统的主控芯片为XMC4800F144K-2048。其主要性能特征:CPU核的最大主频达到144 MHz;含有浮点运算单元;352 KB片上SRAM;2048 KB片上Flash;6路CAN接口,256个报文对象;1路USB2.0接口(集成PHY);6路通用串口(支持ASC、SPI、IIC和LIN);支持2路Ethernet。由于需要实时解算UUV数学模型和环境干扰模型,所以将芯片主频配置到144 MHz,采用外部晶振,外部晶振的频率为12 MHz。

主控芯片的支持电路主要由主控芯片外围的滤波储能电容组成。电路原理简单,但需要注意元器件的布局和PCB布线,否则可能造成电磁兼容问题。

外扩FLASH用来存储本地仿真过程数据,用于试后分析。外扩FLASH选用N25Q256A。其主要性能特征为:NOR Flash;SPI接口;双转换速率模式(108 MB/s和54 MB/s);容量为32 MB。

复位/监控电路主要用于监控主控芯片的电源和主程序运行状态。选用MAX706S,其主要性能特征为:2.93 V的监控门限;200 ms复位时间延时;1.6 s看门狗超时门限。

电源电路主要是为系统提供稳定可靠的电源。选用IFX1117MEV33,其主要特点为:具有短路、过温保护功能;输出电流1 A;精度达到2%。

2.2 接口电路设计

模拟器对外接口包含CAN接口和RS232接口。CAN接口用于模拟器与其它组部件互联。RS232接口主要用于调试、模拟器内测数据读取等功能。

为了防止模拟器与外部互联的其他组部件之间相互干扰。需要对CAN接口和RS232接口进行隔离设计。接口电路所设计的元器件为:TXB0104(电平转换芯片)、D050505(通讯隔离电源)、TJA1040(CAN通讯接口芯片)、MAX3232(RS232通讯接口芯片)、HCPL0710(光耦隔离芯片)等。接口电路原理框图如图3所示。

3 软件设计

从数据处理角度来看,模拟器的输入数据主要为舵角和各种环境干扰信号,模拟器的数据输出主要是UUV运动状态(姿态、姿态角、深度和相对位置)。采用数据流图可以较好地描述其工作流程。选用的开发环境为Keil uVision C166,选用的开发语言为C语言。

3.1 数据流图和程序架构设计

模拟器的数据流图和程序主体框图如图4所示。

UUV模拟器包含5种工作模式:参数设置模式、数据读取模式、频域分析模式、时域分析模式、HIL仿真模式。参数设置模式主要设置UUV模型参数、干扰参数、HIL参试设备等;数据读取模式用于读取内测的仿真过程数据,用于试后分析;其它3种模式的用途见1.2节。

3.2 软件算法

3.2.1 任务调度及任务优先级设计

软件采用嵌入式软件常用的“后台主程序+随机中断+定时中断”的程序架构实现。任务调度采用“事件+时间”方式完成。后台主程序为while死循环,在死循环中,根据任务标志执行相关任务。定时中断提供全局和局部的时间轴,是完成基于“时间”任务调度的基础。随机中断包含CAN收发中断、RS232收发中断、看门狗中断、掉电中断、系统陷阱中断。随机中断是完成基于“事件”任务调度的基础。

任务调度中必须重视优先级设计,优先级设计如表1所示,数值越大,优先级越高。

表1 任务优先级

3.2.2 UUV模型及干扰模型选择

UUV模型和干扰模型对模拟器HIL仿真性能有着重要影响。在不同的应用场景中,对模型的需求也不同。在验证UUV运动控制性能时,对模型精度要求较高;但在验证UUV工作流程、时序控制时,对模型精度要求较低。为了满足不同需求,UUV模型选择2种典型模型:非线性模型(精度较高)和线性模型(精度较低)。

模型的选择标准需要在精度和可用性上进行折中。本文选择如式(1)所示的非线性模型。该模型的假设条件为:小攻角、小侧滑角和小机动运动;粘性力可用线性导数表示;运动参数的二阶项可忽略。本文选择如式(2)-(4)所示的线性模型。线性模型采用三通道(横滚、俯仰/深度、偏航)完全解耦的数学模型,忽略了流体动力参数和运动参数的高阶项。

(1)

(2)

(3)

(4)

式(1)-(4)中的符号定义与文献[5]一致。

UUV在航行过程中会遇到浪、流、涌等干扰。本文选取恒值力(力矩)、一阶高频波浪力(力矩)、低频正弦波浪力(力矩)模拟浪、流、涌等干扰。干扰以等效舵角的方式作用于UUV。具体表示为

(5)

式(5)中的y(t)表示一阶高频波浪力,可以利用四阶成型滤波器模拟[6],具体表示为

(6)

3.2.3 CAN应用层协议通信格式

CAN总线协议规范仅规定了物理层和数据链路层。应用层实现比较灵活,可以由用户定义,也可以借用特殊领域定义好的协议,例如SAE J1939、CANopen、DeviceNet等。

为了保证模拟器的实时性和降低软件实现复杂性,本文借鉴SAE J1939协议格式,设计专有CAN应用层协议,下面对ID编码格式、数据域编码格式和信息发送调度进行阐述。

本文采用CAN2.0B规范的29位标识符(仲裁域)扩展帧格式。ID编码格式如表2所示。

表2 ID编码格式

“优先级”用于指示报文的优先级别。优先级定义为:0表示紧急事件;1表示专有节点命令及应答;2表示广播命令及应答;3表示普通广播;其它值无意义。

“信息类型”用于指示报文信息属性。信息类型具体表示为:0表示紧急事件广播;1表示紧急事件广播命令应答;2表示专有节点命令;3表示专有节点命令应答;4表示普通广播;5表示普通广播应答;其余值无意义。

“存储标志”主要用于指示报文是否需要存储。主要应用场景:半实物系统中存在外挂的总线记录设备时,指示存储设备记录当前帧数据。

“发送源地址”和“发送目的地址”用于指示报文发送和接收地址。

数据域格式定义如表3所示,数据域为8字长。

表3 数据域编码格式

表3中,“信息编号+附加说明”用于对信息种类进行分类,信息编号对大类信息进行分类,附加说明对分类后的信息进行进一步细分。

为了保证整个系统实时性,除了对ID(数据链路层的仲裁依据)进行精心设计外,发送节点需要根据实际应用场景,设计合适的发送时序。模拟器采用广播命令的方式,周期性向外广播UUV运动状态数据。模拟器可以被配置为10 ms、50 ms、100 ms广播1组运动状态数据。

4 仿真试验

为了验证模拟器的基本功能,以文献[7]给出的某型航行体为被控对象,对其航向控制通道进行了硬件在环仿真试验。

参试设备:模拟器、控制器、航姿系统、舵机、舵机负载模拟器、姿态模拟装置(三轴转台)、PC机等。

模型选取:30 kn速度航行时的航向姿态运动线性数学模型为[8]

(7)

式(7)中的符号含义与文献[7]一致。式(7)为连续系统,为了便于数字实现,需要将式(7)离散化。考虑实际需求和MCU运算负担,采用一阶欧拉离散方法对式(7)进行离散化。

仿真参数设置:仿真时长为20 s;航向初始值为0°;目标值为10°。

为了便于分析,针对航向控制,做了纯数值仿真和HIL仿真对比试验。试验结果如图5所示。由图5可知,纯数值仿真与HIL仿真的试验结果有一定差异。纯数值仿真几乎无超调,HIL仿真有一定超调。纯数值仿真与HIL仿真的静态误差均较小,小于2%。

由于HIL引入了真实的执行机构和传感器,比较符合真实情况。所以,UUV在实航前,应微调由理论计算出的控制器参数。同时加强逻辑安全警戒,以确保航行安全。

5 结束语

本文介绍了基于XMC4800的嵌入式硬件在环UUV运动控制模拟器的总体方案、硬件设计、数据流图和主要的软件算法。该模拟器在不同的应用场景下,通过配置相应的参数,可以完成不同层次的硬件在环仿真,为UUV设计、生产和使用提供了有效的保障手段。

猜你喜欢

模拟器线性总线
时间触发通信总线监控技术研究
驾驶模拟器转向系统的设计与研究
二阶整线性递归数列的性质及应用
了不起的安检模拟器
盲盒模拟器
关于CAN总线的地铁屏蔽门控制思路论述
线性回归方程的求解与应用
划船模拟器
非齐次线性微分方程的常数变易法
线性回归方程知识点剖析