蔡委哲,杨东华,邱 晗,潘 奇
(南京电子技术研究所,南京 210039)
显控终端[1]作为装备中重要设备,具有数据处理、网络通信、综合显示、人机交互的作用。显控终端是与人交互关系最密切的设备,通常由显控处理单元、显示单元、操控单元组成。显控处理单元提供数据传输、视频处理、接口通信、图形显示、状态监测等功能;显示单元配备单台或多台显示器,将丰富的显示信息呈现给操作用户;操控单元通常包括键盘、鼠标、轨迹球等交互设备,为用户提供各种设备 操作、参数设置、指令下达等手段。显控终端作为一个独立且复杂的系统设备,承担了了装备状态[2]的监控、信号检测、目标显示、操作控制、网络通讯等任务。
随着信息化技术的快速发展与应用场景的愈加复杂,装备对显控终端的功能、性能提出更高的要求。目标显示数量[3]由以往的几十批目标逐步提高到百批、千批目标的显示需求,且目标信息要求更加精细化,
点迹、航迹、地图标注等信息需要综合显示;显示内容更加的多元,不但含有目标的相关信息还包括多路光电视频、监控视频等内容。显示方式灵活多变,需要支持多窗口显示、放大窗显示、优先级显示、冻结显示、尾迹显示、余晖显示等多种显示方式;智能化发展也要求显控终端支持复杂的智能化算法和高效的人机交互,语音识别、语音合成、人脸识别、指纹识别、手势识别、眼动追踪成为未来人机交互趋势。同时,终端装备的软硬件国产化也是发展的必然要求。
传统的显控终端采用集中式的处理模式[7],显控处理单元作为核心设备承担了显控终端的绝大多数工作。这种处理模式结构简单,操作透明性好且操作简便。当其功能、性能、接口需求随着作战系统的不断升级而日益提高,显控终端需要提供增强的人机交互能力和实时处理能力,且核心软硬件均采用国产化产品。现阶段,国产化处理器及操作系统自主可控工作取得了长足的进步,但在产品形态、全栈解决方案和自主生态体系等方面与国外先进产品依然存在着较大的差距,例如国产化GPU采用的固定渲染管线性能较低,通用可编程能力较差,影响了大带宽显示数据的处理与高分辨率的图形图像显示。此时,集中处理模式存在着中心处理器负荷较大、多任务频繁切换效率低、通信瓶颈、网络难扩展等问题。必须基于现有的国产化软硬件平台采用更先进的处理架构和设备管理模式提升显控终端的整体性能。
因此,如何优化显控终端架构,充分利用每个硬件设备能力,提升显控终端的性能,满足高性能、智能化应用需求成为装备研制过程中的重要内容。
文章以显控终端为研究对象,开展分布式[8]显控架构的研究与设计,实现分布式智能传感处理、高清多源综合显示、多模态人机交互等应用需求,提供具备智能化、低延时、分布式的基础软件功能环境,整体提升显控终端性能。
针对上述现状,提出一种基于分布式的显控硬件架构和基于微服务的软件架构设计。该分布式架构中以计算处理单元为核心,其它硬件模块作为协处理单元,并通过软件的数据协同与汇总,实现显控终端的整体功能,提升显控终端性能。
分布式架构是一种弹性技术架构,其核心理念是按照一定的维度将系统进行并行拆分和横向扩展[9],系统各部分采用松耦合[10]方式并行运行,并建立起较为完善的横向扩展与容错恢复机制。相比集中式处理模式,分布式处理是一种将系统级应用在物理与逻辑上分布到多个相互分离的处理单元的工作方式,不再是有限处理器集中处理的形式,而是广泛分布的众多处理单元共同协作完成任务。每个工作单元有各自规划的工作任务,最后将处理结果汇总至中央处理设备,由中央处理单元统一规划、整理、分析、汇总,完成功能的最终实现。这种逐级的处理模式可有效的完成任务分解,多个子任务的并行运行于处理,降低多任务频繁切换,提升系统任务的处理速度与效率。同时,每个子任务的运行相互隔离,可有效实现故障隔离,提高系统可靠性,增强系统可扩展性,减少系统管理成本。
基于上述优势,显控终端在开放式体系架构基础上采用一种分布式显控处理协同架构。显控终端音频数据、图像数据、视频数据、台位画面等需要大量计算和处理的数据在信息获取时即进行采集、识别、压缩、坐标变换等分布式处理,将处理后的最终结果信息或图像通过PCIe(Peripheral Component Interconnect Express)、以太网、CAN(Controller Area Network)等内部互联总线送计算处理模块汇总使用,所有数据的分布处理均在计算处理模块的集中控制下有序进行。
分布式处理显控架构框图如图1所示。
图1 分布式硬件架构设计
各分布式处理单元的主要功能如下:
1)中央处理——显控计算机:计算处理模块。
显控计算机内部的计算处理模块是显控终端的核心处理单元,采用国产处理器与国产GPU(Graphics Processing Unit),支持高性能整型、浮点运算能力、多路超高清图形处理与显示等功能;计算处理模块采用国产化操作系统,部署网络驱动、图形化驱动、人机交设备驱动、应用软件,是实现显控终端的数据汇总、人机交互、网络通讯的最终实现单元。此外,计算处理模块集成基板管理控制器(BMC,baseboard management controller),管理显控终端综合显示模块、视频处理模块、网络交换模块,以及供电控制模块内部的 BMC (BMC,baseboard management controller)电路,完成整个显控终端BMC的配置和管理功能,实现显控终端各模块设备的状态可视化。
2)分布式处理——显控计算机:视频处理模块。
显控计算机内部的视频处理模块作为显控终端的视频编解码处理单元,采用专用视频处理芯片,用于完成显示信号的输入输出、编解码处理、数据远超传输,实现多路显示视频的压缩编码、视频流传输、外部视频的解码显示。
3)分布式处理——显控计算机:显示处理模块。
显控计算机内部的显示处理模块作为显控终端的显示视频信息的处理单元,采用国产高性能可编程阵列逻辑(FPGA,field programmable gate)实现硬件加速,用于实现多通道专用显示视频、光电视频、监控视频的预处理,光纤接口(FC ,fibre channel)/万兆网接口处理,显示视频信号接口处理,多层、多窗口综合显示与窗口叠加管理等功能。
4)分布式处理——显控计算机:业务扩展模块。
业务扩展模块是显控计算机的扩展模块,接收总线上的大带宽业务数据,如点监测数据等,利用板载高性能处理器完成数据预处理及异构网络融合通信,减轻计算机主机的业务负载,提高业务信息处理的实时性。
5)分布式处理——一体机。
一体机作为显控终端的显示调度和高频操作模块,采用国产处理器与国产化GPU,集成高清显示、多点触控、手写功能、亮度控制,支持图表显示、态势显示、数据共享、多屏协同标绘、亮度调节等应用,为显控计算机的协处理模块,扩展显控计算机的处理能力,提升计算机的处理性能。
6)分布式处理——音频通讯终端。
音频通讯终端作为显控终端的话音通讯设备,采用嵌入式高性能处理器,完成高清视频处理与多路音频处理,提供可视电话、点到点呼叫、会议通讯等功能,为台位操作人员提供指挥话音通信的功能,支持通过以太网与显控计算机交互控制信息和语音数据,实现语音拨号、软件控制、视频显示等功能,支持多点触控,提供快捷方便的操作控制。
7)分布式处理——语音处理模块。
语音处理模块作为显控终端内的音视频采集与处理设备,采用专用音视频处理器,提供麦克风阵列音频采集、音频降噪、图像采集、语音合成、语音播报、命令词识别、连续语音识别、语义理解、人脸认证、声纹认证、音视频编解码、设备状态监测等功能。
8)分布式处理——指纹处理模块。
指纹处理模块作为显控终端内的指纹采集与数据处理设备,采用微处理器完成指纹信息的采集录取、数据处理、用户管理、状态管理与交互通信,与计算处理模块协同完成台位操作人员认证登录等功能。
9)分布式处理——触控显示器。
触控显示器为显控终端的显示单元,为显控台提供高清图像显示,同时通过USB接口与计算机处理模块通信,实现触控控制与显示器的调光控制。
10)分布式处理——操控组合。
操控模组包括按键模块、告警模块、开关模块,提供按键开关、信息告警、控制功能。操控组合通过网络接口、串行接口与计算模块通讯,实现按键控制信号的采集与操作,告警信号的发送与提示。按键模块可实现多种功能按键的配置与设定,有效满足各种平台的多按键功能需求。
键盘、鼠标、车钟、操纵杆等设备为人机操控设备,均在本地完成操控信息采集和显示,通过内部互联与显控计算机交互信息,可根据实际应用需求进行选用。
分布式架构的显控终端集成了多个功能独立的设备,不再是一个简单的执行或传感硬件,而是包含了多种自运行软件的智能单元。例如,触控显示器不但具备显示、触控交互的功能,还具备程控调光、自身健康状态监测等功能,语音处理模块需要进行语音采集、音频降噪、语音识别、声音合成、图像采集、图像认证等设备功能,也需要对设备自身管理,包括设备的温度、电流、电压信息的监控,磁盘空间的使用情况统计等功能。因此,对应硬件分布式架构软件业采用一种微服务架构[11-14],支持以专注于单一设备功能的小型软件功能模块为基础,通过API集相互通讯的方式搭建复杂业务系统。
微服务是一种开发软件的架构和组织方法,专注于单一责任与功能的小型功能区块为基础,利用模块化的方式组合出复杂的大型应用程序,即将复杂的应用程序划分为一组组小的服务,服务之间互相协调,互相配合。每个服务运行在其独立的进程中,数据独立,不会互相干扰,服务与服务之间采用轻量级的通信机制互相沟通。每个服务都围绕着具体业务进行构件,并且能够独立部署。微服务的特点是弹性伸缩,使应用程序更易于扩展及功能升级。
结合显控终端的硬件分布式处理架构,终端软件采用了基于微服务的综合显控软件架构,将各个功能模块的使用划分为服务类,每个服务独立部署于各分布式设备中,通过轻量化的API调用服务,完成各模块的功能集成、数据收集、指令分发,最终实现复杂的应用功能。
基于微服务的综合显控软件架构实现方案如图2所示。
图2 微服务软件架构
基于微服务的显控软件架构包括4个层次:硬件适配层、微服务层、微服务总线、应用层。
硬件适配层主要实现对各个硬件设备的管理、状态上报、数据传输等功能,上报参数包括设备温度、电压、电流、资源使用情况等数据。
微服务层包含各种微服务,各个微服务与硬件模块相对应,提供触控、监控、语音、人脸、声纹、指纹、视频、管理、调度、数据等服务。各个微服务独立部署、数据独立、相互隔离,并且可以根据具体应用进行扩展或者删除。
微服务总线采用虚拟网络总线,各个微服务以标准网络接口形式接入微服务总线,微服务总线实现各个微服务统一,支持应用或者调度服务对各种服务的调度与管理。
应用层可支持本地应用与远程应用调用。本地应用注册其需要的微服务,通过标准网络接口,完成对相应设备的操控。远程应用通过实体以太网的网络传输接口获取与本地一致的微服务。
在系统架构中,部署一个管理、调度微服务,该微服务实现对所有微服务的统一管理[15],包括硬件环境、服务状态、系统健康信息、接口调用情况、异常实时告警及潜在问题的事先预警等功能。
显控终端是装备中人机交互的重要设备,下文重点阐述基于分布式架构终端的人机交互设计、终端健康管理设计。
显控终端交互场景包含了大量的显示因素,包括装备状态、目标航迹、背景地图、区域划分等显示内容,同时具备多窗口同时显示、叠加显示、开窗显示等多种显示方式。传统的交互方式通过鼠标、键盘进行上、下屏切换,深度菜单寻找,存在操作步骤多、操控时间长、控制不灵活等问题。基于分布式架构的显控终端集成了语音识别、多点触控等智能化人机交互功能。因此,在界面设计时,充分考虑多点触控、语音识别的交互优势开展界面的开发设计。
2.1.1 触控交互界面
基于触控的交互界面采用大控件尺寸,尺寸标准大小44 px,满足手指触控人机工程尺寸[16-17],避免误操作。此外,采用多宫格组合控件,空格组件区分明显,利于快速选择与操作,如图3所示。操控区优先布局于界面底部,可以减少双手移动距离,实现手指的就近操作,同时解决手臂易遮挡的问题,符合快捷触控操作习惯。
图3 多点触控软件界面设计
触控操作动作包括点击、长按、滑动、拖动、旋转、缩放等,通过长按实现功能菜单快捷探出,通过按住拖动实现窗口移动,通过双指的捏合和扩展,实现界面的缩小与放大。此外多点触控能赋予更多操作可能性,使单人或多人同时完成多个点操作,提高操作效率。
2.1.2 语音交互界面
语音交互通过听和说的方式代替手动操作,达到快速获得信息、快速控制系统的作用,有效提升系统智能化和便捷化水平。语音交互界面的如图4所示。
图4 语音交互界面
通过语音指令,可以完成地图操作、标牌操作、菜单图层选择、窗口打开/关闭、模式选择切换、目标跟踪、目标设定、目标属性显示、装备开关机等常用操作。语音输入文字内容简洁,界面实时显示输入信息和状态反馈,对重点目标、目标偏航、特殊目标、来袭目标等特情进行声音告警,提供辅助决策。通过基于触摸屏、语音识别的交互操控设计,更加直接、自然、快捷的完成控制操作,提升了显控系统操控的便捷性。
传统的显控终端主要针对显控计算的运行状态进行监测,未对各个模块进行健康信息的收集与分析,存在故障诊断与健康评价能力不足、缺乏对性能退化故障的预测能力[18]。分布式显控终端以显控计算机为核心处理单元,收集、监测、分析各个模块的健康信息。
显控计算机的计算处理模块搭载功能独立的BMC单元,作为显控终端的健康信息管理中心,对各模块状态进行全面汇总、监测和集中管理;各模块板卡具备智能平台管理器(IPMC,intelligent platform management controller),支持对芯片电压、电流、模块温度等状态的检测和上报。计算处理模块BMC电路通过I2C接口连接显控计算机内部智能平台管理总线(IPMB,intelligent platform management bus),完成板卡健康管理;通过串口连接显控终端供电控制模块,完成电源监测和整台加电控制;其他模块复用主要通信接口向计算处理模块上报状态信息,由计算处理模块转发至管理中心。计算机处理模块收集、监测的显控终端信息通过可视化软件展现给用户,包括各个模块的温度、电压、电流、链路情况、资源使用情况,当模块状态信息出现异常时,可视化软件会进行闪烁告警,同时播放告警声音。健康监测用户界面如图5所示。
图5 显控终端健康监测系统界面设计
基于分布式架构的显控终端健康监测系统具备以下功能:
1)每台显控终端部署独立的健康监测软件,支持周期性上报显控台内部各模块硬件状态;
2)提供显控终端健康信息监测管理功能,可依据用户需要指定的硬件平台上实时监测联网的显控终端运行状态信息;
3)提供显控终端履历管理功能,实现对不同台套显控终端累计运行状态、故障模块等信息可视化、精确管理,支持性能退化故障的预测能力。
终端采用上下双屏形式,计算处理模块与一体机均采用国产飞腾处理器,景嘉微显卡[19-20]。显控终端可支持2路3 840×2 160@30Hz分辨率超高清图形处理与显示。显示处理模块采用复旦微FPGA,支持2路2 K光电视频同时处理与显示、监控视频显示。终端设备主要包括台体、显示器、电源、机箱、及台面各个嵌台设备,示意图如图6所示。
图6 显控终端设备
显控计算机中包括计算机处理模块、显示处理模块等模块,与电源、转接板安装在台体内部,显示器安装在台面上的显示器支臂上,显控终端面集成扬声器、语音通讯模块、麦克风、按键模块、告警模块、开关模块、语音采集模块、一体机、鼠标、键盘等模块,为用户提供丰富的操作控制接口。
终端上电后,显控计算机进行通用数据处理、图像显示、操控响应,支持超高清分辨率的精细化信息显示;提传统的键盘、鼠标操作以及基于触控显示器与一体机的单点、多点触控快捷操作;同时接收语音通讯模块的通讯数据、语音采集模块的语音和人脸数据,具备视频通讯、语音识别、语音合成、人脸认证、指纹认证等生物信息采集与识别功能。高效完成了显控终端的信息显示、人机交互、操作控制功能。
基于分布式架构的显控终端有效整合各个协处理单元的能力,综合完成显控终端的复杂功能,具有丰富的功能和较高的处理性能,与传统显控终端的性能参数对比如表1。
表1 性能对比表
经过对比分析,基于分布式架构的显控终端功能更加丰富,信息呈现方式多样化,人机交互更加高效,设备状态可视化,性能得到较大的提升。
本设计针对显控终端应用需求,基于国产化处理器,采用分布式显控架构,合理划分功能,众多处理器共同协作完成任务,共同实现显控终端的数据处理、高清显示、智能人机交互、健康监测等功能。经试用表明,该分布式显控架构,切实解决了国产化平台下性能不足的问题,具备良好的可行性,有效提升了显控终端的整体性能和装备作战效能。