全液晶仪表双进程高效HMI设计方案制造技术

技术编号:25223333 阅读:93 留言:0更新日期:2020-08-11 23:12
本发明专利技术涉及一种全液晶仪表双进程高效HMI设计方案,属于汽车仪表技术领域,包括基于QNX操作系统screen API实现的动画进程和基于HMI设计工具kanzi实现的kanzi进程,动画进程受kanzi进程命令控制,执行显示背景底图或刷写序列帧的任务,kanzi进程执行除动画进程显示内容以外的与仪表功能相关的显示任务,两个进程通过DBUS数据总线实现通信,两个进程相互独立相互配合,实现QNX系统的两个硬件图层混合显示,并通过DBUS协议控制交互做到无缝衔接。在不降低UI分辨率的前提下,通过该方案可将实时渲染帧率同比提升到50FPS以上,启动速度提升至1s,开机效率大大提升,显示效果更佳平顺。

【技术实现步骤摘要】
全液晶仪表双进程高效HMI设计方案
本专利技术涉及汽车仪表
,尤其涉及汽车全液晶仪表的HMI设计方案,具体的说,是涉及一种采用双进程实现全液晶仪表的HMI高实时渲染帧率和上电快速显示开机画面的设计方案。
技术介绍
随着电子技术的高速发展,物理与数字的融合迫在眉睫,对于驾驶汽车比较重要的显示模块汽车仪表,传统机械仪表或组合仪表已经无法满足用户的驾驶体验,用户更加渴望类似于智能手机的仪表显示,于是全液晶仪表应运而生,而仪表上电时画面的显示时间和实时画面的刷新帧率无疑是全液晶仪表HMI(HumanMachineInterface,用户界面)设计的重中之重。从成本角度考虑,嵌入式硬件平台并不会有PC芯片的运行性能,因此开机时间和渲染帧率这两个指标是当前HMI设计的两大难题。目前行业内大部分HMI设计主要的渲染任务都集中在一个显示进程中。这种设计方案的问题主要在于:1.开机动画和表盘资源在同一个进程加载,会造成需要大量的加载资源时间,最直观的现象体现就是上电后3s才能显示开机画面。上电显示速度慢的问题将会直接降低用户的驾驶体验,HMI的快速启动也越来越多的被列入汽车制造商的硬性技术指标之一。2.表盘所有的显示资源都在同一进程中,资源之间的融合叠加会影响帧率,部分层次复杂的资源关系的渲染帧率在40-50fps。实时渲染的性能将会直接限制UI设计的图层丰富度和复杂度,更多的UI设计元素因为实时渲染性能达不到要求而被否决掉,导致HMI的显示效果大打折扣。造成这些问题的原因在于,该设计方案没有充分利用到CPU与GPU(GraphicsProcessingUnit,图形处理器)的配合和GPU中多个硬件显示图层之间的配合。
技术实现思路
本专利技术的目的在于,克服现有技术中存在的全液晶仪表HMI渲染帧率低和启动速度慢两大问题,在不降低UI分辨率的前提下,提供一种新型的快速显示和高实时渲染帧率的HMI整体设计方案。为了实现上述目的,本专利技术采用的技术方案为,一种全液晶仪表双进程高效HMI设计方案,包括基于QNX操作系统screenAPI实现的刷写buffer的动画进程和基于HMI设计工具kanzi实现的应用进程(以下称为“kanzi进程”),动画进程设计为一个被动的执行器,其受kanzi进程命令控制,执行显示背景底图或刷写序列帧的任务,kanzi进程在仪表功能角度上为HMI主进程,其承担执行除动画进程显示内容以外的与仪表功能相关的显示任务,动画进程和kanzi进程之间通过DBUS数据总线实现通信,两个进程相互独立相互配合以实现整体HMI方案的设计。作为本专利技术的一种改进,所述QNX操作系统支持两个相互独立的硬件图层,分别为在背景层的pipeline1图层和在前景层的pipeline2图层,动画进程运行在pipeline1图层上,kanzi进程运行在pipeline2图层上,即动画进程渲染在pipeline1图层上,kanzi进程渲染在pipeline2图层上,两个pipeline的图层混合,实现动画进程和kanzi进程的图层混合显示,kanzi进程需要使用RGBA格式,必须要带有Alpha通道。作为本专利技术的一种改进,所述kanzi进程是对kanziengine进行封装,并添加了定时器、信号槽机制、Log系统、DBUS通信等模块,合并成一个完整的Framework,整个Framework遵循经典的MVC(Model-View-Controller(模型-视图-控制器))架构,所述的信号槽机制为通过C++11标准重新封装的一套进程内数据传递机制,应用在kanzi进程中所有模块之间的数据通信。作为信号触发者需要预定义出对应的信号对象,而作为信号的接收者需要实现出信号对应操作的槽函数,并且将槽函数注册到信号对象中。作为本专利技术的一种改进,所述kanzi进程包括主线程和子线程,主线程负责画面渲染,子线程用于维护DBUS数据。作为本专利技术的一种改进,所述动画进程的所有资源都以序列帧形式存在,使用CPU执行加载资源动作,kanzi进程的kanziengine主要通过OpenGLES(OpenGraphicsLibraryforEmbededSystem)实现,整个渲染动作在GPU中完成,因此kanzi进程主要消耗GPU资源。作为本专利技术的一种改进,所述DBUS通信模块是基于DBUS协议封装的数据通信模块,该模块主要用于处理MCU(MicrocontrollerUnit,微控制单元)与SOC(SystemonaChip,片上系统)之间及SOC内部进程间的数据通信。该模块具体的协议内容主要包括3个部分:kanzi进程给动画进程的请求、动画进程给kanzi进程的状态反馈和心跳协议。作为本专利技术的一种改进,所述的心跳协议一方面为动画进程给kanzi进程定时发送心跳帧,kanzi进程作为动画进程的守护进程,当心跳帧丢失后,kanzi进程负责将动画进程重启;另一方面是kanzi进程向MCU定时发送心跳帧,当MCU发现kanzi进程的心跳帧丢失后,会重启整个SOC,保证进程始终处于工作状态。作为本专利技术的一种改进,所述动画进程通过DBUS通信模块向kanzi进程定时1s发送心跳帧,kanzi进程作为动画进程的守护进程,当连续3s未收到心跳报文时,负责重启动画进程;kanzi进程通过DBUS通信模块向MCU定时1s发送心跳帧,当MCU连续3s未收到心跳报文时,会重启整个SOC。作为本专利技术的一种改进,所述SOC采用NXP公司的iMX8DXP作为主控芯片进行设计,其上采用QNX实时操作系统。作为本专利技术的一种改进,所述DBUS通信模块具体在通信协议制定上,kanzi进程发送的每一条请求,动画进程都需要给出ACK响应,kanzi进程在收到ACK响应之后才算一条通信的完整结束。这样可以保证两个进程的显示同步,不会因为一个进程出现卡顿等问题导致整体显示不同步。相对于现有技术,本专利技术所提出的全液晶仪表的新型快速显示和高实时渲染帧率的双进程HMI设计方案,在不降低屏幕UI分辨率的前提下,可将实时渲染帧率同比提升到50FPS以上,启动速度提升至1s,显示效果更佳平顺,并且不需要借助于其他硬件模块辅助和购买其他引擎包支持,避免产生额外费用;两个进程充分利用QNX两个硬件层,做到两个硬件层混合显示,在图层混合显示时,通过DBUS协议控制交互,做到无缝衔接;另外由于实时渲染帧率的提升,整个HMI设计元素可以更加多元化,UI设计的图层复杂度可以支持更高。附图说明图1为本专利技术所提出的全液晶仪表的双进程HMI设计方案中的两个pipeline图层混合示意图;图2为本专利技术所提出的全液晶仪表的双进程HMI设计方案中动画进程和kanzi进程的处理任务分工框图;图3为本专利技术所提出的全液晶仪表的双进程HMI设计方案中双进程数据交互过程与传统单进程数据处理过程对比图;图4为本专利技术所提出的全液晶仪表的双进程HMI设计方案中动画进程数据压缩处理工作流程图;图5为本本文档来自技高网
...

【技术保护点】
1.一种全液晶仪表双进程高效HMI设计方案,其特征在于:包括基于QNX操作系统screen API实现的刷写buffer的动画进程和基于HMI设计工具kanzi实现kanzi进程,动画进程设计为一个被动的执行器,其受kanzi进程命令控制,执行显示背景底图或刷写序列帧的任务,kanzi进程在仪表功能角度上为HMI主进程,其承担执行除动画进程显示内容以外的与仪表功能相关的显示任务,动画进程和kanzi进程之间通过DBUS数据总线实现通信,两个进程相互独立相互配合。/n

【技术特征摘要】
1.一种全液晶仪表双进程高效HMI设计方案,其特征在于:包括基于QNX操作系统screenAPI实现的刷写buffer的动画进程和基于HMI设计工具kanzi实现kanzi进程,动画进程设计为一个被动的执行器,其受kanzi进程命令控制,执行显示背景底图或刷写序列帧的任务,kanzi进程在仪表功能角度上为HMI主进程,其承担执行除动画进程显示内容以外的与仪表功能相关的显示任务,动画进程和kanzi进程之间通过DBUS数据总线实现通信,两个进程相互独立相互配合。


2.如权利要求1所述的一种全液晶仪表双进程高效HMI设计方案,其特征在于,所述QNX操作系统支持两个相互独立的硬件图层,分别为在背景层的pipeline1图层和在前景层的pipeline2图层,动画进程运行在pipeline1图层上,kanzi进程运行在pipeline2图层上,即动画进程渲染在pipeline1图层上,kanzi进程渲染在pipeline2图层上,两个pipeline的图层混合,实现动画进程和kanzi进程的图层混合显示,kanzi进程需要使用RGBA格式,必须要带有Alpha通道。


3.如权利要求2所述的一种全液晶仪表双进程高效HMI设计方案,其特征在于,所述kanzi进程是对kanziengine进行封装,并添加了定时器、信号槽机制、Log系统、DBUS通信模块,合并成一个完整的Framework,整个Framework遵循经典的MVC架构,所述的信号槽机制为通过C++11标准重新封装的一套进程内数据传递机制,应用在kanzi进程中所有模块之间的数据通信。


4.如权利要求3所述的一种全液晶仪表双进程高效HMI设计方案,其特征在于,所述kanzi进程包括主线程和子线程,主线程负责画面渲染,子线程用于维护DBUS数据。


5.如权利要求4所述的一种全液晶仪表双进程高效HMI设...

【专利技术属性】
技术研发人员:陈洋洋刘昌元董利娟
申请(专利权)人:延锋伟世通电子科技南京有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1