CN111522620A - Double-process efficient HMI design scheme of full liquid crystal instrument - Google Patents

Double-process efficient HMI design scheme of full liquid crystal instrument Download PDF

Info

Publication number
CN111522620A
CN111522620A CN202010638213.2A CN202010638213A CN111522620A CN 111522620 A CN111522620 A CN 111522620A CN 202010638213 A CN202010638213 A CN 202010638213A CN 111522620 A CN111522620 A CN 111522620A
Authority
CN
China
Prior art keywords
kanzi
animation
hmi
liquid crystal
dbus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010638213.2A
Other languages
Chinese (zh)
Other versions
CN111522620B (en
Inventor
陈洋洋
刘昌元
董利娟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yanfeng Visteon Electronic Technology Nanjing Co Ltd
Original Assignee
Yanfeng Visteon Electronic Technology Nanjing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yanfeng Visteon Electronic Technology Nanjing Co Ltd filed Critical Yanfeng Visteon Electronic Technology Nanjing Co Ltd
Priority to CN202010638213.2A priority Critical patent/CN111522620B/en
Publication of CN111522620A publication Critical patent/CN111522620A/en
Application granted granted Critical
Publication of CN111522620B publication Critical patent/CN111522620B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

The invention relates to a double-process efficient HMI (human machine interface) design scheme of a full liquid crystal instrument, which belongs to the technical field of automobile instruments and comprises an animation process realized on the basis of a screen API (application program interface) of a QNX (QNX) operating system and a kanzi process realized on the basis of an HMI (human machine interface) design tool kanzi, wherein the animation process is controlled by a kanzi process command and executes a task of displaying a background base map or a flash sequence frame, the kanzi process executes a display task which is related to instrument functions except for the display content of the animation process, the two processes realize communication through a DBUS (bus) data bus, the two processes are mutually independent and mutually matched to realize mixed display of two hardware layers of the QNX system, and control interaction is realized through the DBUS protocol to realize seamless. On the premise of not reducing the UI resolution, the real-time rendering frame rate can be improved to be more than 50FPS on the same scale through the scheme, the starting speed is improved to be 1s, the starting efficiency is greatly improved, and the display effect is better and smooth.

Description

Double-process efficient HMI design scheme of full liquid crystal instrument
Technical Field
The invention relates to the technical field of automobile instruments, in particular to an HMI design scheme of an automobile full liquid crystal instrument, and specifically relates to a design scheme for realizing high real-time rendering frame rate and electrifying and fast display of a startup picture of an HMI of a full liquid crystal instrument by adopting double processes.
Background
With the rapid development of electronic technology, the integration of physics and numbers is urgently needed, for display module automobile instruments which are more important for driving automobiles, traditional mechanical instruments or combination instruments cannot meet the driving experience of users, users are more eager for instrument display similar to a smart phone, so that all liquid crystal instruments are produced, and the display time of pictures and the refresh frame rate of real-time pictures when the instruments are powered on are undoubtedly the focus of the design of all liquid crystal instruments HMI (Human Machine Interface).
From the cost perspective, the embedded hardware platform does not have the running performance of a PC chip, so the two indexes of the starting time and the rendering frame rate are two major problems of the current HMI design.
Currently, most of HMI design main rendering tasks in the industry are concentrated in one display process. The problem with this design is mainly that:
1. the boot animation and the dial resources are loaded in the same process, so that a large amount of resource loading time is needed, and the most intuitive phenomenon is that the boot picture can be displayed 3s after the power is on. The problem of slow power-on display speed can directly reduce the driving experience of users, and the quick start of the HMI is also one of more and more hard technical indexes listed in automobile manufacturers.
2. All display resources of the dial are in the same process, the fusion and superposition of the resources can affect the frame rate, and the rendering frame rate of part of hierarchical complex resource relationships is 40-50 fps. The real-time rendering performance can directly limit the layer richness and complexity of UI design, and more UI design elements are rejected because the real-time rendering performance cannot meet the requirement, so that the display effect of the HMI is greatly reduced.
The reason for these problems is that the design solution does not fully utilize the cooperation of the CPU and the GPU (graphics processing Unit) and the cooperation between the multiple hardware display layers in the GPU.
Disclosure of Invention
The invention aims to solve the two problems of low rendering frame rate and low starting speed of the full liquid crystal instrument HMI in the prior art, and provides a novel HMI overall design scheme with fast display and high real-time rendering frame rate on the premise of not reducing UI resolution.
In order to achieve the purpose, the invention adopts the technical scheme that the double-process high-efficiency HMI design scheme of the full liquid crystal instrument comprises an animation process for rewriting buffer based on a QNX operating system screen API and an application process (hereinafter referred to as a kanzi process) based on an HMI design tool kanzi, wherein the animation process is designed into a passive actuator and is controlled by a kanzi process command to execute a task of displaying a background base map or a rewriting sequence frame, the kanzi process is an HMI main process in the aspect of instrument function and bears and executes a display task related to instrument functions except for display contents of the animation process, the animation process and the kanzi process are communicated through a DBUS data bus, and the two processes are mutually independent and mutually matched to achieve the design of the integral HMI scheme.
As an improvement of the invention, the QNX operating system supports two mutually independent hardware layers, namely a pipeline1 layer at a background layer and a pipeline2 layer at a foreground layer, an animation process runs on a pipeline1 layer, a kanzi process runs on a pipeline2 layer, namely the animation process is rendered on a pipeline1 layer, the kanzi process is rendered on a pipeline2 layer, and the two pipeline layers are mixed to realize the layer mixed display of the animation process and the kanzi process, wherein the kanzi process needs to use an RGBA format and needs to have an Alpha channel.
As an improvement of the present invention, the kanzi process encapsulates a kanzi engine, and adds modules such as a timer, a signal slot mechanism, a Log system, a DBUS communication, etc., and merges into a complete Framework, the whole Framework follows a classic MVC (Model-View-Controller) architecture, the signal slot mechanism is a set of in-process data transfer mechanism re-encapsulated by a C + +11 standard, and is applied to data communication between all modules in the kanzi process. The corresponding signal object needs to be predefined as a signal trigger, and the receiver as a signal needs to implement the slot function of the corresponding operation of the signal and register the slot function in the signal object.
As an improvement of the invention, the kanzi process comprises a main thread and a sub-thread, wherein the main thread is responsible for picture rendering, and the sub-thread is used for maintaining DBUS data.
As an improvement of the invention, all resources of the animation process exist in a form of sequence frames, a CPU is used for executing a resource loading action, the kanzi engine of the kanzi process is mainly realized by OpenGL ES (Open graphics library for embedded System), the whole rendering action is completed in a GPU, and therefore the kanzi process mainly consumes GPU resources.
As an improvement of the present invention, the DBUS communication module is a data communication module based on DBUS protocol encapsulation, and the module is mainly used for processing data communication between an MCU (Microcontroller Unit) and an SOC (System on a chip) and between processes inside the SOC. The specific protocol content of the module mainly comprises 3 parts: requests by the kanzi process to the animation process, state feedback by the animation process to the kanzi process, and heartbeat protocol.
As an improvement of the invention, on one hand, the heartbeat protocol is used for sending heartbeat frames to the kanzi process at regular time for the animation process, the kanzi process is used as a daemon process of the animation process, and the kanzi process is responsible for restarting the animation process after the heartbeat frames are lost; on the other hand, the kanzi process sends a heartbeat frame to the MCU at fixed time, and when the MCU finds that the heartbeat frame of the kanzi process is lost, the whole SOC can be restarted, so that the process is always in a working state.
As an improvement of the invention, the animation process sends heartbeat frames to the kanzi process through the DBUS communication module at a timing of 1s, the kanzi process is used as a daemon process of the animation process, and when the heartbeat messages are not received for 3s continuously, the kanzi process is responsible for restarting the animation process; the kanzi process sends a heartbeat frame to the MCU through the DBUS communication module at a fixed time of 1s, and when the MCU does not receive heartbeat messages for 3s continuously, the whole SOC is restarted.
As an improvement of the invention, the SOC is designed by adopting iMX8DXP of NXP company as a main control chip, and a QNX real-time operating system is adopted on the SOC.
As an improvement of the invention, the DBUS communication module is specifically used for setting up a communication protocol, each request sent by the kanzi process, the animation process needs to give an ACK response, and the kanzi process calculates the complete end of a communication after receiving the ACK response. Therefore, the display synchronization of the two processes can be ensured, and the integral display asynchronization caused by the problems of jamming and the like of one process can be avoided.
Compared with the prior art, the novel double-process HMI design scheme for fast display and high real-time rendering frame rate of the full liquid crystal instrument can improve the real-time rendering frame rate to be more than 50FPS in the same ratio on the premise of not reducing the resolution of a screen UI (user interface), the starting speed is improved to be 1s, the display effect is better and smooth, and the auxiliary and purchase support of other engine packages by other hardware modules are not needed, so that the generation of extra cost is avoided; the two processes fully utilize two hardware layers of QNX to achieve mixed display of the two hardware layers, and when the layers are displayed in a mixed mode, interaction is controlled through a DBUS protocol to achieve seamless connection; in addition, due to the improvement of the real-time rendering frame rate, the whole HMI design element can be diversified, and the layer complexity of UI design can be supported to be higher.
Drawings
FIG. 1 is a schematic diagram of mixing two pipeline layers in a dual-process HMI design scheme of a full liquid crystal instrument according to the present invention;
FIG. 2 is a block diagram of division of processing tasks for an animation process and a kanzi process in a dual-process HMI design of a full liquid crystal instrument according to the present invention;
FIG. 3 is a diagram comparing a dual-process data interaction process with a conventional single-process data processing process in a dual-process HMI design scheme of a full liquid crystal instrument according to the present invention;
FIG. 4 is a flow chart of the animation process data compression process in the dual-process HMI design of the full liquid crystal instrument according to the present invention;
FIG. 5 is a flowchart of the operation of the animation process in the dual-process HMI design of the full liquid crystal instrument in accordance with the present invention;
FIG. 6 is a flow chart of the operation of kanzi process in the dual process HMI design of the full liquid crystal meter proposed by the present invention.
Detailed Description
For a better understanding and appreciation of the invention, it is further described and illustrated below in connection with the accompanying drawings.
The embodiment of the invention provides a novel HMI (human machine interface) overall design scheme for quickly displaying and high real-time rendering frame rate of an all-liquid crystal instrument, which overcomes the two problems of low rendering frame rate and slow starting speed of the HMI of the all-liquid crystal instrument in the prior art, can improve the real-time rendering frame rate to be more than 50FPS (field programmable gate array) on the same ratio on the premise of not reducing UI resolution, and improves the starting speed to 1 s.
The scheme comprises an animation process for writing a buffer based on a QNX operating system screen API and a kanzi process based on an HMI design tool kanzi, wherein the two processes realize different functions according to different division of labor, the animation process and the kanzi process realize communication through a DBUS data bus, and the two processes are mutually independent and mutually matched to realize the design of the whole HMI scheme.
The animation process is designed as a passive actuator, which is controlled by a kanzi process command and executes the task of displaying a background picture or flashing sequence frames. All resources of the animation process exist in the form of sequential frames, so that the CPU is used for executing the resource loading action, and the occupation of the GPU can be avoided for the kanzi process using the GPU for decoding the loaded resources. And the animation process directly calls a screen interface provided by the QNX operating system to flash the display frame, so that the loading time for calling an upper application engine is saved, and the operation is the fastest for starting time and real-time flash time.
Two main functions of the animation process:
firstly, displaying a background picture. The background image of the kanzi progress dial needs to be put in the progress display because the background image is a picture in full screen resolution, so that at the time of dial rendering, picture data in full screen resolution needs to be rendered every time of rendering and the picture is displayed with other upper layers possibly in an overlapping algorithm. In case of a complex hierarchy, this may cause a frame rate reduction.
Since the background image displayed by the animation process needs to be fused with the foreground layer of the kanzi process, the displayed image needs to be ensured not to be distorted, and the requirement on loading efficiency is not particularly high. Therefore, when the background image is displayed in the animation process, the picture data is directly decoded, loaded and displayed by adopting the png picture.
And secondly, flashing sequence frames. The function is mainly to realize the startup and shutdown animation and the transition animation. Since this function is sequential frame animation, the frame rate requirement is approximately 25-30 fps. However, the resource format of the picture material is generally png, jpg, etc., and the resource in this format needs to be decoded by using a decoding library for use, and the time for Qnx to load png picture resource (reading + decoding) is about 80ms, which does not meet the frame rate requirement of the animation.
Solution to this problem: since the time for decoding png data cannot keep up with the frame rate, the present embodiment omits the decoding time by decoding png into RGB raw data for direct use. However, the problem is that the RGB raw data occupies a large memory. Since the sensitivity to chrominance is not particularly high when playing an animation, we can transcode RGB data into YV12 data, and the data size can be reduced by half. However, even this does not take up little memory space. The YV12 format data needs to be compressed through a Snappy compression algorithm, and the compressed data is the data needed by us. The compression algorithm Snappy is a fast data compression and decompression program library written in C + + language based on the idea of LZ77 by Google, and the target of the compression algorithm Snappy is not the maximum compression rate or compatibility with other compression programs, but rather very high speed and reasonable compression rate, and the compression rate of the total UI material can reach 40% -60% when the compression algorithm Snappy is used in the method.
These operations can be done on the PC first, which is equivalent to the pre-processing of the resources. The preprocessed resources can be burned into the board for use as animation resources. When the sequence frame animation is flashed, image data in a YV12 format is decompressed, and then the flash display is performed through a screen API.
The kanzi process employs the HMI development tool kanzi designed by lightware corporation as a graphic development engine. The kanzi process is an HMI host process from a meter functionality perspective, which is responsible for performing display tasks related to meter functionality in addition to the animation process displaying content. The kanzi process encapsulates kanzi engine, adds modules such as a timer, a signal slot mechanism, a Log system, DBUS communication and the like, and combines the modules into a complete Framework, wherein the whole Framework follows a classic MVC architecture. Including Controller: DataCenter responsible for DBUS data entry management. All data is cached in the Datacenter uniformly and completely independently. Any module can be called directly through the get and set interfaces. Model (Model): management class of each interface. And the method is responsible for logical operations such as interface skip and style. Including modules such as Gauge, TC, RTT, Media, Navigation, ADAS, etc. Each module is mutually independent according to signal driving, and the display tasks of the modules are completed. View (View): and the system is responsible for instantiating interface nodes and finishing the design of the interface jump state machine according to signals.
The signal slot mechanism is a set of in-process data transfer mechanism repackaged through the C + +11 standard and is applied to data communication among all modules in the kanzi process. The corresponding signal object needs to be predefined as a signal trigger, and the receiver as a signal needs to implement the slot function of the corresponding operation of the signal and register the slot function in the signal object. Because of the problem of inter-thread communication inside the process, the signals support synchronous and asynchronous sending at the same time, synchronous sending: the registered slot function is executed immediately. Asynchronous sending: and adding the slot function into an event circular queue of the main thread to wait for execution.
The kanzi process includes a main thread, which is responsible for picture rendering, and a sub-thread, which is used to maintain DBUS data, called a data center (data center).
The kanzi engine of the kanzi process is mainly realized through open GLES, namely realized through an event loop mode, and the whole rendering action is completed in the GPU, so that the kanzi process mainly consumes GPU resources. Therefore, the main consumption of the animation process and the kanzi process are not interfered with each other, system resources can be fully utilized, and a better display effect is achieved.
Since the whole scheme is implemented on a QNX operating system, the QNX operating system supports two mutually independent hardware layers, a common instrument chip imx8DXP is selected as a hardware environment, the instrument chip has two hardware layers, namely pipeline1 and pipeline2, the two hardware layers are mutually independent, but can be displayed in a mixed mode, as shown in FIG. 1, wherein the pipeline1 is on a background layer, and the pipeline2 is on a foreground layer. Each pipeline can be divided into a plurality of software layers according to the zorder, and the final display effect is the mixed display effect of two pipelines so as to achieve the mixing of the layers.
The display task realized by the animation process mainly has three characteristics: 1. functional independence; 2. the real-time occupancy rate of resources is high; 3. the bottom level of the hierarchy is displayed throughout the HMI. Based on the characteristics, the animation process is set to run on the pipeline1 layer, namely the animation process is rendered on the pipeline1 layer, and the specific display tasks mainly comprise: power-on animation, power-off animation, transition animation, (static/dynamic) background, etc. Certainly, the animation process also has the capability of performing function display, such as alarm light display, gear position display and other frequently displayed functions, but considering that the functions do not occupy more GPU resources, placing the functions in the animation process increases the complexity of the whole project, so that tasks related to the functions are all placed in the kanzi process to be executed.
When the power-on is started or the theme is switched to transition, the animation playing of the corresponding state is carried out in the animation process. At this time, the kanzi process is in an idle state most of the time, and the embodiment fully utilizes the idle period to preload the resources to be displayed next. For example: while another process is playing the boot animation, the kanzi process preloads the subject node that needs to be displayed. After the startup animation is played, smooth transition to theme interface display can be achieved, independent time loading is not needed, and display effects such as pause delay and the like can be avoided.
The animation process display content is removed, and all the displays are required to be realized in the kanzi process, wherein the displays are related to functions and are required to be mixed with static interfaces such as backgrounds. Thus, the kanzi process runs on the pipeline2 layer, i.e., the kanzi process renders on the pipeline2 layer. And mixing the layers of the two pipeline to realize the layer mixed display of an animation process and a kanzi process, wherein the kanzi process can be mixed with a background layer to be finally displayed through a current layer by using an RGBA format and needing an Alpha channel, otherwise, only the image of a foreground layer can be seen, and the background layer is arranged at the bottom layer and does not need the Alpha channel.
As shown in fig. 2, the two processes of this embodiment are respectively assigned with their own labor and are responsible for different display tasks, the Animation Process (Animation Process) is not just playing boot Animation, but also includes transition Animation, and (dynamic/static) background, etc., and the two processes need to cooperate with each other, and finally the layers of the two processes are mixed to achieve the final display effect. Specifically, in terms of division of labor, interfaces with non-functional dependencies, such as: interfaces such as animation, transitions and (dynamic/static) backgrounds are rendered in the animation process. All functions except this are rendered in the Kanzi Process (Kanzi Process), which, although the functional tasks of the animation Process are relatively few, takes up rendering tasks comparable to those of the Kanzi Process. Because the total liquid crystal instrument with the resolution of 1920x720 has a very large mixed overhead of a static whole-screen background image and functional elements such as a header and an alarm lamp, in addition, the animation process needs higher maneuverability and responsiveness to realize smoother display effect in cooperation with the kanzi process. Thus, no more display tasks are assigned to the animation process.
Because the foreground layer design must be designed based on the RGBA format, when a QNX interface is called to open a window, the window attribute also needs to be set to RGBA, that is, an Alpha channel must be provided, so that the current layer can be transmitted and mixed with the background layer to form the image which needs to be displayed finally, otherwise, only the foreground layer image can be seen.
Since the background layer is at the bottom layer, the UI design of this embodiment does not need to have an Alpha channel, but uses another YV12 data format, because the Alpha channel increases the overhead of layer blending, which puts pressure on the whole system, obviously, for the RGBA8888 format, each pixel of an image without Alpha needs only 24 bits to be represented, and each pixel of an image with an Alpha channel needs 32 bits to be represented, which is a burden for both raw data parsing of the CPU and layer blending of the GPU.
The DBUS communication module is a data communication module based on DBUS protocol encapsulation, the DBUS has the characteristics of low delay, low overhead, high availability and the like, and one-to-one and many-to-many peer-to-peer communication among processes is supported. The method is mainly used for function calling between processes and signal broadcasting between the processes, and data communication is carried out between the animation process and the kanzi process through the DBUS. The specific protocol content of the module mainly comprises 3 parts: requests by the kanzi process to the animation process, state feedback by the animation process to the kanzi process, and heartbeat protocol. In addition, the DBUS communication module is used as a data communication general module which is designed integrally, instrument MCU data can be sent to the kanzi process through a DBUS protocol after being transmitted to the SOC, the interaction protocol of the instrument and the host is realized through the DBUS, the unification of the protocol is achieved, and the maintenance and the management are very convenient.
On one hand, the heartbeat protocol is that the animation process sends heartbeat frames to the kanzi process at regular time, the kanzi process is used as a daemon process of the animation process, and the kanzi process is responsible for restarting the animation process after the heartbeat frames are lost; on the other hand, the kanzi process sends a heartbeat frame to the MCU at fixed time, and when the MCU finds that the heartbeat frame of the kanzi process is lost, the whole SOC can be restarted, so that the process is always in a working state. The SOC is designed by adopting iMX8DXP of NXP company as a master control chip. The MCU adopts a Renesas RH850 chip and is responsible for real-time processing of CAN or other hardware signals. The MCU and the SOC are two controllers deployed on the instrument, and the two controllers are communicated through the DBUS communication module. And when the heartbeat message loss of the kanzi process exceeds 3s, the MCU restarts the whole SOC.
As shown in fig. 3, the conventional single-process data processing procedure is a serial data processing procedure, and the data processing of each ring needs to wait for the completion of the previous ring, so the whole procedure is time-consuming. The limitations imposed by meter development that require fast start-up and smooth frame rates are significant.
In the specific communication protocol formulation of the DBUS communication module, each request and animation process sent by the kanzi process needs to give an ACK response, and the kanzi process finishes the integrity of one communication after receiving the ACK response, so that the display synchronization of the two processes can be ensured, and the integral display asynchronization caused by the problems of jamming and the like of one process can be avoided. Thus, during the rendering action performed by either process, the other process can load resources according to the idle time, ensuring that the background display action and the kanzi process theme display action of the animation process are synchronized. The specific command protocol mainly comprises: and playing the boot animation, displaying the background and the transition animation. The specific animation process ACK mainly includes: feedback of commands and feedback of action execution status.
As shown in fig. 4, it is a work flow diagram of animation process data processing, and has two upper and lower brushing methods:
1. original data flow: the method is simple in link, and RGB data are directly read into the memory and then written on the screen in a flashing mode, but the method has the defects that the capacity of original data in an RGB format is large, and the actions of reading files and copying the memory are time-consuming.
2. And (3) data compression flow: first, starting from RGB raw data, QNX itself supports display in YUV format in addition to display in RGB format. And YV12 is one of YUV420 formats. The memory required for one pixel in the RGB format is 24 bits, while the memory required for one pixel in the YV12 format is 12 bits.
However, the YV12 format has a problem with respect to the RGB format in that the YV12 reduces the chroma of the image to a certain extent, which is not perceived by human eyes when playing the sequence frame animation, but which is still carefully distinguished by human eyes when the sequence frame animation is resident on the display. So, the animation process uses this format only when implementing the sequence frame animation resources. When the function of displaying the background image is realized, the RGB data still needs to be directly used to ensure that the displayed background image is normal.
Although the YV12 format is reduced by half compared to the RGB format data size, the original data is still large. Therefore, the present embodiment chooses to compress the original data to reduce the size of the data and the time consumption of reading the data. Thus, one step of data decompression is added to the original data flow in the flash animation process. Although the memory occupation and the reading time consumption of the compressed data are less than those of the original data, due to the additional step of decompression, if the time for reading the file and decompressing the compressed data is longer than that for reading the file of the original data, the compression operation is a failed behavior. Otherwise, the compression operation is successful. Therefore, decompression speed is also one of the important criteria for selecting compression algorithms. The compression ratio cannot be considered unilaterally for the selection of the compression algorithm, and the decompression efficiency needs to be considered simultaneously. The embodiment adopts a rapid data compression and decompression program library Snappy written in C + + language based on LZ77 thought by Google. Specifically, the data compression rate of 1920x720 full-screen color YV12 can reach 40% -60%, the decompression speed consumes about 14ms-20ms per frame, and the YV12 data frames of 30 full-screen colors can be written in a flash mode per second by adding the file reading time and the memory copying time. If the resolution is still 1920x720, but only a partial region has a color distribution, the compression ratio is higher.
As shown in FIGS. 5 and 6, the kanzi process performs render operation every frame, i.e., kanzi engine is implemented by event loop. The animation process display can be triggered according to signals, re-rendering can be triggered only when a new buffer needs to be refreshed, the kanzi process can monitor instrument data through the DBUS, if a switching subject message is received, the kanzi process can send a request to the animation process through the DBUS, meanwhile, the kanzi process can also load resources needing to be displayed next, all the resources of the animation process exist in a form of sequential frames and do not need to be loaded in advance, in addition, in order to ensure the continuous stability of the system, the animation process and the kanzi process can send heartbeat frames at regular time, a specific animation process sends heartbeat frames to the kanzi process at regular time 1s through the DBUS, the kanzi process serves as a daemon process of the animation process, when continuous 3s do not receive heartbeat messages, the method is responsible for the animation process, the specific kanzi process sends heartbeat frames to the MCU timing 1s through the DBUS, when the MCU does not receive the heartbeat messages, the entire SOC is restarted.
According to the double-process HMI overall design scheme provided by the invention, on the premise of not reducing UI resolution and not depending on the assistance of other hardware modules and the support of purchasing software engine packages, the real-time rendering frame rate of part of layers can be increased to more than 50FPS on the same scale, the starting speed is increased to 1s, and the display effect is smoother. And the two QNX hardware layers are fully utilized to realize the mixed display of the two hardware layers. When the layers are displayed in a mixed mode, interaction is controlled through a DBUS protocol, and seamless connection is achieved. In addition, due to the improvement of the real-time rendering frame rate, the whole HMI design element can be diversified, and the layer complexity of UI design can be supported to be higher.
The technical means disclosed in the invention scheme are not limited to the technical means disclosed in the above embodiments, but also include the technical scheme formed by any combination of the above technical features. It should be noted that those skilled in the art can make various improvements and modifications without departing from the principle of the present invention, and such improvements and modifications are also considered to be within the scope of the present invention.

Claims (10)

1. A design scheme of a double-process high-efficiency HMI of a full liquid crystal instrument is characterized in that: the method comprises the following steps of realizing a buffer-flashing animation process based on a QNX operating system screen API and realizing a kanzi process based on an HMI design tool kanzi, wherein the animation process is designed into a passive actuator and is controlled by a kanzi process command to execute a task of displaying a background base map or a flashing sequence frame, the kanzi process is an HMI main process in the aspect of instrument function and bears and executes display tasks related to the instrument function except for the display content of the animation process, the animation process and the kanzi process realize communication through a DBUS data bus, and the two processes are mutually independent and matched with each other.
2. The design scheme of the full liquid crystal instrument dual-process high-efficiency HMI of claim 1, wherein the QNX operating system supports two independent hardware layers, namely a pipeline1 layer at a background layer and a pipeline2 layer at a foreground layer, an animation process runs on a pipeline1 layer, a kanzi process runs on a pipeline2 layer, namely the animation process is rendered on a pipeline1 layer, the kanzi process is rendered on a pipeline2 layer, the two pipeline layers are mixed, and the layer mixing display of the animation process and the kanzi process is realized, and the kanzi process needs to use an RGBA format and must have an Alpha channel.
3. The design scheme of the full-liquid crystal instrument dual-process high-efficiency HMI (human machine interface) as claimed in claim 2, wherein the kanzi process encapsulates kanzi engine, adds a timer, a signal slot mechanism, a Log system and a DBUS communication module, and combines the kanzi process with the full Framework, the full Framework follows a classical MVC architecture, and the signal slot mechanism is a set of in-process data transfer mechanism which is re-encapsulated through a C + +11 standard and is applied to data communication among all modules in the kanzi process.
4. The full liquid crystal instrument dual-process high-efficiency HMI design solution as claimed in claim 3, wherein the kanzi process includes a main thread and a sub-thread, the main thread is responsible for screen rendering, and the sub-thread is used for maintaining DBUS data.
5. The design scheme of the full liquid crystal instrument dual-process high-efficiency HMI according to claim 4, wherein the DBUS communication module is a data communication module based on DBUS protocol encapsulation, and the specific protocol content of the module comprises 3 parts: requests by the kanzi process to the animation process, state feedback by the animation process to the kanzi process, and heartbeat protocol.
6. The design scheme of the full liquid crystal instrument dual-process high-efficiency HMI of claim 5, characterized in that on one hand, the heartbeat protocol sends heartbeat frames to the kanzi process at regular time for the animation process, the kanzi process is used as a daemon process of the animation process, and when the heartbeat frames are lost, the kanzi process is responsible for restarting the animation process; on the other hand, the kanzi process sends a heartbeat frame to the MCU at fixed time, and when the MCU finds that the heartbeat frame of the kanzi process is lost, the whole SOC can be restarted, so that the process is always in a working state.
7. The design scheme of the full liquid crystal instrument dual-process high-efficiency HMI of claim 6, wherein the animation process sends heartbeat frames to the kanzi process through the DBUS communication module at a timing of 1s, and when the kanzi process does not receive heartbeat messages for 3s continuously, the kanzi process restarts the animation process; the kanzi process sends a heartbeat frame to the MCU through the DBUS communication module at a fixed time of 1s, and when the MCU does not receive heartbeat messages for 3s continuously, the whole SOC is restarted.
8. The design scheme of the full liquid crystal instrument dual-process high-efficiency HMI of claim 7, wherein the SOC is designed by adopting iMX8DXP of NXP company as a main control chip, an operating system adopts a QNX real-time operating system, and the MCU adopts a Renesas RH850 chip.
9. The design scheme of an all-liquid-crystal-meter dual-process high-efficiency HMI according to claim 8, wherein the DBUS communication module specifies that each request, animation process and the like sent by the kanzi process need to give an ACK response in communication protocol formulation, and the kanzi process calculates the complete end of a communication after receiving the ACK response.
10. An all liquid crystal instrument dual-process high-efficiency HMI design according to any of claims 1-9, wherein all resources of the animation process exist in the form of sequential frames, a CPU is used to execute a load resource action, a kanzi process is implemented in an event loop mode, and the kanzi process consumes GPU resources.
CN202010638213.2A 2020-07-06 2020-07-06 Full liquid crystal instrument of quick demonstration and high frame rate of rendering based on two process HMI Active CN111522620B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010638213.2A CN111522620B (en) 2020-07-06 2020-07-06 Full liquid crystal instrument of quick demonstration and high frame rate of rendering based on two process HMI

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010638213.2A CN111522620B (en) 2020-07-06 2020-07-06 Full liquid crystal instrument of quick demonstration and high frame rate of rendering based on two process HMI

Publications (2)

Publication Number Publication Date
CN111522620A true CN111522620A (en) 2020-08-11
CN111522620B CN111522620B (en) 2020-10-30

Family

ID=71911987

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010638213.2A Active CN111522620B (en) 2020-07-06 2020-07-06 Full liquid crystal instrument of quick demonstration and high frame rate of rendering based on two process HMI

Country Status (1)

Country Link
CN (1) CN111522620B (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112286566A (en) * 2020-12-30 2021-01-29 延锋伟世通电子科技(南京)有限公司 Automobile instrument differential upgrading method based on USB transmission
CN112319222A (en) * 2020-10-23 2021-02-05 延锋伟世通电子科技(南京)有限公司 Function display method and system based on electric vehicle power meter
CN112598568A (en) * 2020-12-28 2021-04-02 航天科技控股集团股份有限公司 Dynamic rendering method for full liquid crystal instrument
CN112667135A (en) * 2021-01-26 2021-04-16 马瑞利汽车电子(广州)有限公司 Automobile instrument theme switching method
WO2023025233A1 (en) * 2021-08-27 2023-03-02 中国第一汽车股份有限公司 Method and apparatus for writing animation playback program package, electronic device, and storage medium
CN112598568B (en) * 2020-12-28 2024-05-31 航天科技控股集团股份有限公司 Dynamic rendering method of full liquid crystal instrument

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101563671A (en) * 2006-10-16 2009-10-21 因文西斯系统公司 Bridging human machine interface technologies in a process automation and information management environment
CN110554873A (en) * 2019-08-20 2019-12-10 上海沣沅星科技有限公司 system, computer device and storage medium for realizing human-computer interaction interface
CN110738975A (en) * 2019-11-11 2020-01-31 延锋伟世通电子科技(南京)有限公司 method for quickly displaying boot animation of full liquid crystal instrument

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101563671A (en) * 2006-10-16 2009-10-21 因文西斯系统公司 Bridging human machine interface technologies in a process automation and information management environment
CN110554873A (en) * 2019-08-20 2019-12-10 上海沣沅星科技有限公司 system, computer device and storage medium for realizing human-computer interaction interface
CN110738975A (en) * 2019-11-11 2020-01-31 延锋伟世通电子科技(南京)有限公司 method for quickly displaying boot animation of full liquid crystal instrument

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
章敏凤: "基于ARM和QNX的全数字式仪表设计", 《 中小企业管理与科技(上旬刊)》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112319222A (en) * 2020-10-23 2021-02-05 延锋伟世通电子科技(南京)有限公司 Function display method and system based on electric vehicle power meter
CN112598568A (en) * 2020-12-28 2021-04-02 航天科技控股集团股份有限公司 Dynamic rendering method for full liquid crystal instrument
CN112598568B (en) * 2020-12-28 2024-05-31 航天科技控股集团股份有限公司 Dynamic rendering method of full liquid crystal instrument
CN112286566A (en) * 2020-12-30 2021-01-29 延锋伟世通电子科技(南京)有限公司 Automobile instrument differential upgrading method based on USB transmission
CN112667135A (en) * 2021-01-26 2021-04-16 马瑞利汽车电子(广州)有限公司 Automobile instrument theme switching method
WO2023025233A1 (en) * 2021-08-27 2023-03-02 中国第一汽车股份有限公司 Method and apparatus for writing animation playback program package, electronic device, and storage medium

Also Published As

Publication number Publication date
CN111522620B (en) 2020-10-30

Similar Documents

Publication Publication Date Title
CN111522620B (en) Full liquid crystal instrument of quick demonstration and high frame rate of rendering based on two process HMI
US20220139353A1 (en) Display method, electronic device, and non-transitory computer-readable storage medium
WO2020221056A1 (en) Image drawing method, apparatus, electronic device and computer storage medium
JP5638666B2 (en) Seamless display transition
US11902613B2 (en) Video transparent playing processing method, intelligent television, and storage medium
CN1981519B (en) Method and system for displaying a sequence of image frames
CN103617027B (en) Based on image rendering engine construction method and the system of Android system
CN110147512B (en) Player preloading method, player running method, device, equipment and medium
US20230215076A1 (en) Image frame display method, apparatus, device, storage medium, and program product
CN110989878B (en) Animation display method and device in applet, electronic equipment and storage medium
CN109725977B (en) Multi-application display method based on Android system and terminal equipment
WO2021008427A1 (en) Image synthesis method and apparatus, electronic device, and storage medium
CN110968395B (en) Method for processing rendering instruction in simulator and mobile terminal
US10102828B2 (en) Method and apparatus for adaptive graphics compression and display buffer switching
CN113553017A (en) Terminal screen adapting method, system, equipment and medium
CN110572715B (en) Method for solving problem of webp blockage during Android TV playing
CN112419456B (en) Special effect picture generation method and device
WO2023103800A1 (en) Drawing method and electronic device
CN111694532B (en) Display control method of single-chip heterogeneous system and wearable device
CN115686700A (en) Rendering method and electronic equipment
CN106598595B (en) Method and device for replacing starting-up image of intelligent terminal
Xie et al. A study and implementation of vga multi-resolution on android platform
WO2023230744A1 (en) Display driver thread run-time scheduling
US11705091B2 (en) Parallelization of GPU composition with DPU topology selection
US20240169953A1 (en) Display processing unit (dpu) pixel rate based on display region of interest (roi) geometry

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant