SOC-based screen display methods, systems, storage media, and chips

By configuring different kernels to run Android and Linux systems in SOC, and using display controller (DC) to overlay the display data of both layers onto the screen, the problem of not being able to combine IVI and dashboard is achieved, and simplification is achieved The same-screen display and automotive-grade safety.

CN119088331BActive Publication Date: 2025-02-07SHANGHAI LICHI SEMICON LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411571630.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-06
Publication Date
2025-02-07
Estimated Expiration
2044-11-06

AI Technical Summary

Technical Problem

It is impossible to combine the in-car infotainment system (IVI) with the dashboard to simplify the display system.

Method used

By configuring different kernels in the SOC to run Android and Linux systems, and using a display controller (DC) to overlay the display data of both layers onto the screen, realizing the same-screen display of IVI and dashboard.

Benefits of technology

It realizes the same-screen display of IVI in Android and dashboards in Linux systems, simplifies the display system and complies with automotive-grade security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119088331B_ABST
    Figure CN119088331B_ABST
Patent Text Reader

Abstract

The present application discloses a screen display method, system, storage medium and chip based on SOC, which belongs to the field of chips. The three groups of cores of SOC run Android system, Linux system and RTOS respectively. The three groups of cores are different. The Linux system shares display data to the first layer of DC, and DC is controlled by RTOS; the Android system shares display data to the second layer of DC; the Linux system and the Android system send the first display size and the second display size to DC; DC determines the bottom layer and the upper layer, generates the bottom layer screen according to the data of the bottom layer, and its data display area is the first display size; generates the upper layer screen according to the data of the upper layer, and its data display area is the second display size; the bottom layer and the upper layer screen are superimposed and displayed on the screen, which can realize the same-screen display of IVI and instrument panel, and meet the safety of vehicle regulations.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of chip technology, and in particular to a screen display method, system, storage medium and chip based on SOC. Background Art

[0002] With the continuous development of smart cockpits, the automotive market's requirements for smart cockpits are constantly increasing. The display system in the smart cockpit consists of two parts, namely the in-vehicle infotainment system (IVI) and the instrument panel. How to combine IVI and the instrument panel to simplify the display system has become an urgent problem to be solved. Summary of the invention

[0003] The present application provides a screen display method, system, storage medium and chip based on SOC, which are used to solve the problem that IVI and instrument panel cannot be combined to simplify the display system. The technical solution is as follows:

[0004] According to a first aspect of the present application, a screen display method based on a SOC is provided, wherein a first group of kernels in the SOC is configured to run an Android system, a second group of kernels is configured to run a Linux system, and a third group of kernels is configured to run a real-time operating system RTOS, and the first group of kernels, the second group of kernels, and the third group of kernels are different from each other, and the method comprises:

[0005] The Linux system shares the first display data with the first layer in the display controller DC, and the DC is controlled by the RTOS;

[0006] The Android system shares the second display data with the second layer in the DC; wherein the first layer is a graphics channel GPIPE layer, and the second layer is a display processor DP layer, or the first layer is a DP layer, and the second layer is a GPIPE layer;

[0007] The Linux system negotiates with the Android system a first display size and a second display size, and sends the first display size and the second display size to the DC;

[0008] The DC determines the layer located at the bottom layer among the first layer and the second layer as the bottom layer, and determines the layer located at the upper layer as the upper layer;

[0009] The DC generates a bottom layer picture according to the display data corresponding to the bottom layer, the size of the first data display area in the bottom layer picture is equal to the first display size, and the size of the entire bottom layer picture is less than or equal to the size of the screen, and the first data display area is used to display the display data corresponding to the bottom layer;

[0010] The DC generates an upper-layer picture according to the display data corresponding to the upper-layer layer, the size of the second data display area in the upper-layer picture is equal to the second display size, and the area except the second data display area is a transparent area, and the second data display area is used to display the display data corresponding to the upper-layer layer;

[0011] The DC displays the bottom layer picture and the upper layer picture in a superimposed manner on the screen.

[0012] In a possible implementation, the Linux system and the Android system negotiate a first display size and a second display size, including:

[0013] The Linux system negotiates with the Android system to select a size mode from a plurality of preset size modes, where the size mode is used to limit a display ratio of the first display size to the second display size on the screen; or,

[0014] The Linux system negotiates with the Android system about first width and height information of the first display size and second width and height information of the second display size.

[0015] In a possible implementation, the method further includes: the Linux system initializing a socket server; the Android system initializing a socket client; the Linux system establishing a socket connection with the socket client in the Android system through the socket server;

[0016] The Linux system and the Android system negotiate a first display size and a second display size, including: the Linux system and the Android system negotiate the first display size and the second display size through the Socket connection.

[0017] In a possible implementation, the Linux system shares the first display data with the first layer in the DC, including:

[0018] When the first layer is a GPIPE layer, the Linux system stores the first display data in a first shared memory through a virtual screen, and sends a first memory address of the first shared memory to the GPIPE layer in the DC, so that the GPIPE layer in the DC reads the first display data from the first shared memory according to the first memory address;

[0019] When the first layer is a DP layer, the Linux system stores the first display data in a second shared memory through a virtual screen, and sends the second memory address of the second shared memory to the DP hardware in the Android system, so that the DP hardware reads the first display data from the second shared memory according to the second memory address, and shares the first display data with the DP layer in the DC.

[0020] In a possible implementation, the Android system shares the second display data with the second layer in the DC, including:

[0021] When the second layer is a GPIPE layer, the Android system stores the second display data in a third shared memory through a virtual screen, and sends a third memory address of the third shared memory to the Linux system, so that the Linux system reads the second display data from the third shared memory according to the third memory address, and shares the second display data with the GPIPE layer in the DC;

[0022] When the second layer is a DP layer, the Android system stores the second display data in a fourth shared memory through a virtual screen, and sends the fourth memory address of the fourth shared memory to the DP hardware, so that the DP hardware reads the second display data from the fourth shared memory according to the fourth memory address, and shares the second display data with the DP layer in the DC.

[0023] In a possible implementation, the method further includes:

[0024] If the first width and height information needs to be dynamically adjusted to the first target width and height information, during the i-th adjustment, the Linux system adjusts the i-1th piece of first width and height information with a predetermined change step, and sends the obtained i-th piece of first width and height information to the Android system, where i≥2;

[0025] When the i-th piece of first width and height information is not the first target width and height information, the Android system sends the i-th piece of first width and height information and the second width and height information to the DC;

[0026] When the i-th piece of first width and height information is the first target width and height information, the Android system calculates second target width and height information according to the first target width and height information, and sends the first target width and height information and the second target width and height information to the DC.

[0027] In a possible implementation, the method further includes:

[0028] If the first width and height information needs to be dynamically adjusted to the first target width and height information, during the i-th adjustment, the Linux system adjusts the i-1th piece of first width and height information with a predetermined change step, and sends the obtained i-th piece of first width and height information to the Android system, where i≥2;

[0029] The Android system calculates the i-th second width and height information according to the i-th first width and height information, and sends the i-th first width and height information and the i-th second width and height information to the DC.

[0030] According to a second aspect of the present application, a screen display system based on a SOC is provided, wherein a first group of kernels in the SOC is configured to run an Android system, a second group of kernels is configured to run a Linux system, and a third group of kernels is configured to run a real-time operating system RTOS, and the first group of kernels, the second group of kernels, and the third group of kernels are different from each other, and the screen display system comprises:

[0031] The Linux system is used to share the first display data with the first layer in the display controller DC, and the DC is controlled by the RTOS;

[0032] The Android system is used to share the second display data with the second layer in the DC; wherein the first layer is a graphics channel GPIPE layer, and the second layer is a display processor DP layer, or the first layer is a DP layer, and the second layer is a GPIPE layer;

[0033] The Linux system and the Android system are further used to negotiate a first display size and a second display size, and send the first display size and the second display size to the DC;

[0034] The DC is used to determine the layer located at the bottom layer of the first layer and the second layer as the bottom layer, and the layer located at the upper layer as the upper layer;

[0035] The DC is further used to generate a bottom layer picture according to the display data corresponding to the bottom layer, the size of the first data display area in the bottom layer picture is equal to the first display size, and the size of the entire bottom layer picture is less than or equal to the size of the screen, and the first data display area is used to display the display data corresponding to the bottom layer;

[0036] The DC is further used to generate an upper-layer picture according to the display data corresponding to the upper-layer layer, the size of the second data display area in the upper-layer picture is equal to the second display size, and the area except the second data display area is a transparent area, and the second data display area is used to display the display data corresponding to the upper-layer layer;

[0037] The DC is also used to overlay the bottom layer picture and the upper layer picture on the screen.

[0038] According to a third aspect of the present application, a computer-readable storage medium is provided, wherein at least one instruction is stored in the storage medium, and the at least one instruction is loaded and executed by a processor to implement the SOC-based screen display method as described above.

[0039] According to a fourth aspect of the present application, a chip is provided, wherein the chip includes the above-mentioned SOC-based screen display system.

[0040] The beneficial effects of the technical solution provided by this application include at least:

[0041] The first group of cores in the SOC is configured to run the Linux system, the second group of cores is configured to run the Android system, and the third group of cores is configured to run RTOS. The first group of cores, the second group of cores, and the third group of cores are different. In other words, these three operating systems run independently and meet automotive-grade safety standards.

[0042] The Linux system shares the first display data with the first layer in DC, and the Android system shares the second display data with the second layer in DC. Then, DC determines the bottom layer and the upper layer from the first layer and the second layer, generates a bottom layer screen according to the display data corresponding to the bottom layer, and generates an upper layer screen according to the display data corresponding to the upper layer, wherein the size of the first data display area in the bottom layer screen is equal to the negotiated first display size, and the size of the entire bottom layer screen is less than or equal to the size of the screen, the size of the second data display area in the upper layer screen is equal to the negotiated second display size, and the area except the second data display area is a transparent area, and finally, the bottom layer screen and the upper layer screen are superimposed and displayed on the screen, thereby realizing the same-screen display of IVI in the Android system and the instrument panel in the Linux system.

[0043] When the display sizes of two display data need to be adjusted, the display size of the first display data can be gradually adjusted multiple times until the target display size of the first display data is reached, and then the display size of the second display data is adjusted by jump; or, the display sizes of the first display data and the second display data can be gradually adjusted multiple times, thereby realizing dynamic adjustment of the display size. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0045] Figure 1 is a structural schematic diagram of a SOC according to some exemplary embodiments;

[0046] Figure 2 is a flow chart of a screen display method based on SOC provided by an embodiment of the present application;

[0047] Figure 3 This is a flow chart of a SOC-based screen display method provided by an embodiment of the present application. DETAILED DESCRIPTION

[0048] In order to make the objectives, technical solutions and advantages of the embodiments of the present application clearer, the implementation methods of the present application will be further described in detail below in conjunction with the accompanying drawings.

[0049] like Figure 1 As shown, the system on chip (SOC) has multiple cores, and we divide these cores into at least three groups, each group includes at least one core, and the cores in each group are different. Among them, the first group of cores is configured to run the Linux system 110, and the QT development framework is installed on the Linux system 110; the second group of cores is configured to run the Android system 120, and the Android system 120 includes the display processor (DP) hardware; the third group of cores is configured to run the real-time operating system (RTOS) 130, and the RTOS 130 is installed with a display controller (DC) 131 and a screen (SCREEN) 132. Among them, DC 131 is controlled by the RTOS 130.

[0050] DC131 contains three layers, namely the Smart Pipeline (SPIPE) layer, the Graphic Pipeline (GPIPE) layer and the DP layer, and the stacking order of these layers can be configured through configuration information. Taking the GPIPE layer and the DP layer as an example, the GPIPE layer can be configured as the bottom layer and the DP layer as the upper layer; the DP layer can also be configured as the bottom layer and the GPIPE layer as the upper layer.

[0051] In this embodiment, the Linux system 110 and the Android system 120 respectively send the data to be displayed to different layers in the DC 131 for processing. Specifically, the Linux system 110 sends the first display data to the first layer in the DC 131, and the Android system 120 sends the second display data to the second layer in the DC 131. Among them, the first layer is the GPIPE layer, and the second layer is the DP layer, or the first layer is the DP layer, and the second layer is the GPIPE layer. That is, the first implementation method is that the Linux system 110 sends the first display data to the GPIPE layer, and the Android system 120 sends the second display data to the DP layer; the second implementation method is that the Linux system 110 sends the first display data to the DP layer, and the Android system 120 sends the second display data to the GPIPE layer.

[0052] When sharing the first display data, the Linux system 110 includes a dashboard (Cluster) and a virtual screen (DummyCRTC). The dashboard sends the first display data to the virtual screen, and the virtual screen shares the first display data with the first layer. In one implementation, when the first layer is a GPIPE layer, the virtual screen stores the first display data in a pre-applied first shared memory, and sends the first memory address of the first shared memory to the GPIPE layer in DC131. The GPIPE layer in DC131 can access the first shared memory allocated to the virtual screen according to the first memory address, and read the first display data from the first shared memory. In other words, the dashboard sends the first display data to the virtual screen, and the virtual screen shares the first display data with the GPIPE layer in DC131 through the pre-applied first shared memory. In a second implementation, when the first layer is a DP layer, the virtual screen stores the first display data in a pre-applied second shared memory, and sends the second memory address to the DP hardware in the Android system 120. The DP hardware can access the second shared memory allocated for the virtual screen according to the second memory address, read the first display data from the second shared memory, and share the first display data with the DP layer in DC131. In other words, the dashboard sends the first display data to the virtual screen, and the virtual screen shares the first display data with the DP layer in DC131 through the pre-applied second shared memory.

[0053] In addition, the Linux system 110 may also send instructions such as switching transmission modes and adjusting display resolution to the GPIPE layer by means of Remote Processor Messaging (RPMSG) notification.

[0054] When sharing the second display data, the Android system 120 includes IVI and DP hardware, and the IVI sends the second display data to the virtual screen, and the virtual screen shares the second display data with the second layer. In one implementation, when the second layer is a GPIPE layer, the virtual screen stores the second display data in a pre-applied third shared memory, and sends the third memory address of the third shared memory to the Linux system 130. The Linux system 130 can access the third shared memory allocated to the virtual screen according to the third memory address, read the second display data from the third shared memory, and share the second display data with the GPIPE layer in DC131. In other words, the IVI sends the second display data to the virtual screen, and the virtual screen shares the second display data with the GPIPE layer in DC131 through the pre-applied third shared memory. In a second implementation, when the second layer is a DP layer, the virtual screen stores the second display data in a pre-applied fourth shared memory, and sends the fourth memory address to the DP hardware in the Android system 120. The DP hardware can access the fourth shared memory allocated for the virtual screen according to the fourth memory address, read the second display data from the fourth shared memory, and share the second display data with the DP layer in DC131. In other words, the IVI sends the second display data to the DP hardware, and the DP hardware shares the second display data with the DP layer in DC131 through the pre-applied fourth shared memory. In addition, the Android system 120 can send instructions such as adjusting the display size to the DP layer through the non-ALPHA channel.

[0055] DC131 superimposes the contents of the three layers and displays them on the screen 132. Among them, the GPIPE layer can adjust the transparency of the display data through the ALPHA channel, and by adjusting the transparency, it is possible to avoid the first display data from blocking the second display data, thereby ensuring the display integrity of the second display data.

[0056] like Figure 2 As shown, it shows a method flow chart of a screen display method based on SOC provided by an embodiment of the present application, and the screen display method based on SOC can be applied to the chip described above. The screen display method based on SOC may include:

[0057] Step 201: The Linux system shares the first display data with the first layer in the DC.

[0058] The first display data is the data of the instrument panel, which may include the vehicle's speedometer and engine tachometer, and may also include vehicle operating status information such as a water temperature meter and a fuel meter.

[0059] The dashboard in the Linux system sends the first display data to the virtual screen, and the virtual screen shares the first display data with the first layer in the DC through the two implementation methods described above.

[0060] Step 202: The Android system shares the second display data with the second layer in the DC.

[0061] The second display data is IVI data, which may include a series of data such as three-dimensional navigation, real-time traffic conditions, Internet Protocol (IPTV), assisted driving, fault detection, vehicle information, body control, mobile office, wireless communication and online entertainment functions.

[0062] The first layer is a GPIPE layer, and the second layer is a DP layer, or the first layer is a DP layer, and the second layer is a GPIPE layer. That is, in a first implementation, the Linux system sends the first display data to the GPIPE layer, and the Android system sends the second display data to the DP layer; in a second implementation, the Linux system sends the first display data to the DP layer, and the Android system sends the second display data to the GPIPE layer.

[0063] The IVI in the Android system shares the second display data with the second layer in the DC through the two implementation methods described above.

[0064] Step 203: The Linux system and the Android system negotiate the first display size and the second display size, and send the first display size and the second display size to the DC.

[0065] The Linux system and the Android system need to negotiate the display size of the first display data and the second display data on the screen. The first display size and the second display size can be sent by the Linux system to the Android system, or by the Android system to the Linux system. The negotiation method is not limited in this embodiment.

[0066] After completing the negotiation, the Linux system or the Android system may send the first display size and the second display size to the DC.

[0067] Step 204: DC determines the layer located at the bottom layer among the first layer and the second layer as the bottom layer, and determines the layer located at the upper layer as the upper layer.

[0068] According to the configuration information, the DC can determine one of the first layer and the second layer as the bottom layer and the other as the top layer. That is, the DC can configure the GPIPE layer as the bottom layer and the DP layer as the top layer; or configure the DP layer as the bottom layer and the GPIPE layer as the top layer.

[0069] Step 205, DC generates a bottom layer picture according to the display data corresponding to the bottom layer, the size of the first data display area in the bottom layer picture is equal to the first display size, and the size of the entire bottom layer picture is less than or equal to the size of the screen, and the first data display area is used to display the display data corresponding to the bottom layer.

[0070] When the underlying layer is the first layer, the display data corresponding to the underlying layer is the first display data; when the underlying layer is the second layer, the display data corresponding to the underlying layer is the second display data.

[0071] The bottom layer image at least includes the first data display area, that is, the size of the entire bottom layer image is greater than or equal to the first display size and less than or equal to the size of the screen. In other words, the smallest bottom layer image only occupies the first data display area, and the largest bottom layer image occupies the entire screen.

[0072] Step 206, DC generates an upper-level picture according to the display data corresponding to the upper-level layer. The size of the second data display area in the upper-level picture is equal to the second display size, and the area except the second data display area is a transparent area. The second data display area is used to display the display data corresponding to the upper-level layer.

[0073] When the upper layer is the first layer, the display data corresponding to the upper layer is the first display data; when the upper layer is the second layer, the display data corresponding to the upper layer is the second display data.

[0074] The upper layer picture at least includes the second data display area, that is, the size of the entire upper layer picture is greater than or equal to the second display size and less than or equal to the size of the screen. In other words, the smallest upper layer picture only occupies the second data display area, and the largest upper layer picture occupies the entire screen.

[0075] If the upper-layer picture includes other areas besides the second data display area, the other areas need to be configured as transparent areas to avoid blocking the first data display area in the lower-layer picture.

[0076] Step 207: DC overlays the bottom layer image and the upper layer image and displays them on the screen.

[0077] DC displays the bottom layer picture and the upper layer picture on the screen in the order of the bottom layer picture at the bottom and the upper layer picture at the top.

[0078] To summarize, in the SOC-based screen display method provided in the embodiment of the present application, the first group of cores in the SOC is configured to run the Linux system, the second group of cores is configured to run the Android system, and the third group of cores is configured to run the RTOS, and the first group of cores, the second group of cores and the third group of cores are different. That is to say, these three operating systems run independently and meet automotive-grade safety standards.

[0079] The Linux system shares the first display data with the first layer in DC, and the Android system shares the second display data with the second layer in DC. Then, DC can determine the underlying layer and the upper layer from the first layer and the second layer, generate the underlying screen according to the display data corresponding to the underlying layer, and generate the upper screen according to the display data corresponding to the upper layer, wherein the size of the first data display area in the underlying screen is equal to the negotiated first display size, and the size of the entire underlying screen is less than or equal to the size of the screen, the size of the second data display area in the upper screen is equal to the negotiated second display size, and the area except the second data display area is a transparent area, and finally, the underlying screen and the upper screen are superimposed and displayed on the screen, realizing the same-screen display of IVI in the Android system and the dashboard in the Linux system.

[0080] like Figure 3 As shown, it shows a flow chart of a screen display method based on SOC provided by an embodiment of the present application, and the screen display method based on SOC can be applied to the chip described above. The screen display method based on SOC may include:

[0081] Step 301: The Linux system shares the first display data with the first layer in the DC.

[0082] The first display data is the data of the instrument panel, which may include the vehicle's speedometer and engine tachometer, and may also include vehicle operating status information such as a water temperature meter and a fuel meter.

[0083] The dashboard in the Linux system sends the first display data to the virtual screen, and the virtual screen shares the first display data with the first layer in the DC through the two implementation methods described above.

[0084] Step 302: The Android system shares the second display data with the second layer in the DC.

[0085] The second display data is IVI data, which may include a series of data such as three-dimensional navigation, real-time traffic conditions, Internet Protocol (IPTV), assisted driving, fault detection, vehicle information, body control, mobile office, wireless communication and online entertainment functions.

[0086] The first layer is a GPIPE layer, and the second layer is a DP layer, or the first layer is a DP layer, and the second layer is a GPIPE layer. That is, in a first implementation, the Linux system sends the first display data to the GPIPE layer, and the Android system sends the second display data to the DP layer; in a second implementation, the Linux system sends the first display data to the DP layer, and the Android system sends the second display data to the GPIPE layer.

[0087] The IVI in the Android system shares the second display data with the second layer in the DC through the two implementation methods described above.

[0088] Step 303: The Linux system initializes the Socket server.

[0089] Since the Linux system starts faster than the Android system, the Linux system is used as the Socket server and the Android system is used as the Socket client.

[0090] Step 304: The Android system initializes the Socket client.

[0091] Step 305: The Linux system establishes a Socket connection with the Socket client in the Android system through the Socket server.

[0092] The Socket client sends a connection request to the Socket server, and the Socket server establishes a Socket connection with the Socket client. Subsequently, the Linux system and the Android system communicate through the Socket connection.

[0093] Step 306: The Linux system and the Android system negotiate the first display size and the second display size through the Socket connection, and send the first display size and the second display size to the DC.

[0094] The Linux system and the Android system need to negotiate the display size of the first display data and the second display data on the screen. The first display size and the second display size may be width and height information. Alternatively, the first display size and the second display size may be determined according to the display ratio, which may be 4:3, 16:9, etc. The DC may calculate the width and height information of the first display size and the second display size according to the display ratio and the size of the screen.

[0095] Specifically, the Linux system and the Android system negotiate the first display size and the second display size, which may include the following two implementations:

[0096] In a first implementation manner, the Linux system and the Android system negotiate to select a size mode from a plurality of preset size modes, where the size mode is used to limit the display ratio of the first display size and the second display size on the screen.

[0097] Both the Linux system and the Android system have multiple size modes pre-stored, each size mode corresponding to a display ratio, for example, size mode 1 corresponds to 4:3, and size mode 2 corresponds to 16:9.

[0098] The size mode can be sent from the Linux system to the Android system, or it can be sent from the Android system to the Linux system.

[0099] The second implementation manner is that the Linux system negotiates with the Android system the first width and height information of the first display size and the second width and height information of the second display size.

[0100] The Linux system may send the first width and height information to the Android system, and the Android system calculates the second width and height information based on the first width and height information and the width and height information of the screen; alternatively, the Android system may send the second width and height information to the Linux system, and the Linux system calculates the first width and height information based on the second width and height information and the width and height information of the screen.

[0101] After completing the negotiation, the Linux system or the Android system may send the first display size and the second display size to the DC.

[0102] Optionally, the Android system can also set layout information according to the width and height information of the screen and send the layout information to the DC. For example, when the width of the screen is greater than the height, that is, the screen is in landscape orientation, layout information indicating a horizontal layout is generated; when the height of the screen is greater than the width, that is, the screen is in portrait orientation, layout information indicating a vertical layout is generated. Of course, the layout mode can also be fixed in advance according to the width and height information of the screen, and the Android system does not need to download the layout information again.

[0103] Step 307: DC determines the layer located at the bottom layer among the first layer and the second layer as the bottom layer, and determines the layer located at the upper layer as the upper layer.

[0104] According to the configuration information, the DC can determine one of the first layer and the second layer as the bottom layer and the other as the top layer. That is, the DC can configure the GPIPE layer as the bottom layer and the DP layer as the top layer; or configure the DP layer as the bottom layer and the GPIPE layer as the top layer.

[0105] Step 308, DC generates a bottom layer picture according to the display data corresponding to the bottom layer, the size of the first data display area in the bottom layer picture is equal to the first display size, and the size of the entire bottom layer picture is less than or equal to the size of the screen, and the first data display area is used to display the display data corresponding to the bottom layer.

[0106] When the underlying layer is the first layer, the display data corresponding to the underlying layer is the first display data; when the underlying layer is the second layer, the display data corresponding to the underlying layer is the second display data.

[0107] The bottom layer image at least includes the first data display area, that is, the size of the entire bottom layer image is greater than or equal to the first display size and less than or equal to the size of the screen. In other words, the smallest bottom layer image only occupies the first data display area, and the largest bottom layer image occupies the entire screen.

[0108] Step 309, DC generates an upper-level screen according to the display data corresponding to the upper-level layer. The size of the second data display area in the upper-level screen is equal to the second display size, and the area except the second data display area is a transparent area. The second data display area is used to display the display data corresponding to the upper-level layer.

[0109] When the upper layer is the first layer, the display data corresponding to the upper layer is the first display data; when the upper layer is the second layer, the display data corresponding to the upper layer is the second display data.

[0110] The upper layer picture at least includes the second data display area, that is, the size of the entire upper layer picture is greater than or equal to the second display size and less than or equal to the size of the screen. In other words, the smallest upper layer picture only occupies the second data display area, and the largest upper layer picture occupies the entire screen.

[0111] If the upper-layer picture includes other areas besides the second data display area, the other areas need to be configured as transparent areas to avoid blocking the first data display area in the lower-layer picture.

[0112] Step 310: DC overlays the bottom layer image and the upper layer image and displays them on the screen.

[0113] The DC determines the layout mode of the screen according to the layout information, and overlays and displays the bottom layer picture and the upper layer picture on the screen according to the first display size, the second display size and the layout mode, and the layout mode includes a vertical layout mode and a horizontal layout mode.

[0114] Specifically, the DC displays the bottom layer picture and the upper layer picture on the screen in a superimposed order of the bottom layer picture at the bottom and the upper layer picture at the top.

[0115] To summarize, in the SOC-based screen display method provided in the embodiment of the present application, the first group of cores in the SOC is configured to run the Linux system, the second group of cores is configured to run the Android system, and the third group of cores is configured to run the RTOS, and the first group of cores, the second group of cores and the third group of cores are different. That is to say, these three operating systems run independently and meet automotive-grade safety standards.

[0116] The Linux system shares the first display data with the first layer in DC, and the Android system shares the second display data with the second layer in DC. Then, DC can determine the underlying layer and the upper layer from the first layer and the second layer, generate the underlying screen according to the display data corresponding to the underlying layer, and generate the upper screen according to the display data corresponding to the upper layer, wherein the size of the first data display area in the underlying screen is equal to the negotiated first display size, and the size of the entire underlying screen is less than or equal to the size of the screen, the size of the second data display area in the upper screen is equal to the negotiated second display size, and the area except the second data display area is a transparent area, and finally, the underlying screen and the upper screen are superimposed and displayed on the screen, realizing the same-screen display of IVI in the Android system and the dashboard in the Linux system.

[0117] In the present application, the display sizes of the first display data and the second display data can also be adjusted dynamically. If it is necessary to increase the first display size of the first display data and reduce the second display size of the second display data, the following two methods can be used to achieve this.

[0118] A first implementation manner is to gradually adjust the first display size of the first display data for multiple times until the target display size of the first display data is reached, and then jump to adjust the second display size of the second display data.

[0119] Specifically, if the first width and height information needs to be dynamically adjusted to the first target width and height information, then during the i-th adjustment, the Linux system adjusts the i-1th first width and height information with a predetermined change step, and sends the obtained i-th first width and height information to the Android system, i≥2; when the i-th first width and height information is not the first target width and height information, the Android system sends the i-th first width and height information and the second width and height information to DC; when the i-th first width and height information is the first target width and height information, the Android system calculates the second target width and height information based on the first target width and height information, and sends the first target width and height information and the second target width and height information to DC.

[0120] In the process of gradually increasing the first display size of the first display data, the second display size of the second display data remains unchanged. At this time, the first display data will cover the second display data; when the increased first width and height information reaches the first target width and height information, the second width and height information of the second display data is directly modified to the second target width and height information, that is, the second display size of the second display data is reduced by a jump.

[0121] The second implementation manner is: gradually adjusting the first display size of the first display data and the second display size of the second display data multiple times.

[0122] Specifically, if the first width and height information needs to be dynamically adjusted to the first target width and height information, then during the i-th adjustment, the Linux system adjusts the i-1th first width and height information with a predetermined change step, and sends the obtained i-th first width and height information to the Android system, i≥2; the Android system calculates the i-th second width and height information based on the i-th first width and height information, and sends the i-th first width and height information and the i-th second width and height information to the DC.

[0123] In the process of gradually increasing the first display size of the first display data, the second display size of the second display data will be reduced accordingly. At this time, the first display data will not cover the second display data.

[0124] Of course, the second display size of the second display data may be increased, and the first display size of the first display data may be decreased. For specific implementation, refer to the above two implementation methods, which will not be described in detail here.

[0125] like Figure 1 As shown, it shows a structural block diagram of a SOC-based screen display system provided by an embodiment of the present application. The SOC-based screen display system can be applied to the chip described above.

[0126] The Linux system 110 is used to share the first display data with the first layer in the DC 131 , and the DC 131 is controlled by the RTOS 130 ;

[0127] The Android system 120 is used to share the second display data with the second layer in the DC; wherein the first layer is a GPIPE layer and the second layer is a DP layer, or the first layer is a DP layer and the second layer is a GPIPE layer;

[0128] The Linux system 110 and the Android system 120 are further used to negotiate the first display size and the second display size, and send the first display size and the second display size to the DC 131;

[0129] DC 131, for determining the layer located at the bottom layer of the first layer and the second layer as the bottom layer, and determining the layer located at the upper layer as the upper layer;

[0130] DC 131 is further used to generate a bottom layer picture according to the display data corresponding to the bottom layer, the size of the first data display area in the bottom layer picture is equal to the first display size, and the size of the entire bottom layer picture is less than or equal to the size of the screen, and the first data display area is used to display the display data corresponding to the bottom layer;

[0131] DC 131 is further used to generate an upper-layer picture according to the display data corresponding to the upper-layer layer, the size of the second data display area in the upper-layer picture is equal to the second display size, and the area except the second data display area is a transparent area, and the second data display area is used to display the display data corresponding to the upper-layer layer;

[0132] DC131 is also used to overlay the bottom layer picture and the upper layer picture on the screen 132 for display.

[0133] In an optional embodiment, the Linux system 110 and the Android system 120 are further configured to negotiate and select a size mode from a plurality of preset size modes, where the size mode is used to limit a display ratio of the first display size and the second display size on the screen 132; or,

[0134] The Linux system 110 and the Android system 120 are further configured to negotiate first width and height information of the first display size and second width and height information of the second display size.

[0135] In an optional embodiment, the Linux system 110 is also used to initialize the Socket server;

[0136] Android system 120, also used to initialize the Socket client;

[0137] The Linux system 110 is also used to establish a Socket connection with the Socket client in the Android system 120 through the Socket server;

[0138] The Linux system 110 and the Android system 120 are further configured to negotiate the first display size and the second display size through a Socket connection.

[0139] In an optional embodiment, the Linux system 110 is further configured to:

[0140] When the first layer is a GPIPE layer, the first display data is stored in the first shared memory through the virtual screen, and the first memory address of the first shared memory is sent to the GPIPE layer in the DC, so that the GPIPE layer in the DC reads the first display data from the first shared memory according to the first memory address;

[0141] When the first layer is the DP layer, the first display data is stored in the second shared memory through the virtual screen, and the second memory address of the second shared memory is sent to the DP hardware in the Android system, so that the DP hardware reads the first display data from the second shared memory according to the second memory address, and shares the first display data with the DP layer in the DC.

[0142] In an optional embodiment, the Android system 120 is further configured to:

[0143] When the second layer is a GPIPE layer, the second display data is stored in the third shared memory through the virtual screen, and the third memory address of the third shared memory is sent to the Linux system, so that the Linux system reads the second display data from the third shared memory according to the third memory address, and shares the second display data with the GPIPE layer in the DC;

[0144] When the second layer is a DP layer, the second display data is stored in the fourth shared memory through the virtual screen, and the fourth memory address of the fourth shared memory is sent to the DP hardware, so that the DP hardware reads the second display data from the fourth shared memory according to the fourth memory address, and shares the second display data with the DP layer in the DC.

[0145] In an optional embodiment, if the first width and height information needs to be dynamically adjusted to the first target width and height information, then during the i-th adjustment, the Linux system 110 is further configured to adjust the i-1th piece of first width and height information with a predetermined change step length, and send the obtained i-th piece of first width and height information to the Android system 120, where i≥2;

[0146] When the i-th piece of first width and height information is not the first target width and height information, the Android system 120 is further configured to send the i-th piece of first width and height information and the second width and height information to the DC 131;

[0147] When the i-th piece of first width and height information is the first target width and height information, the Android system 120 is further configured to calculate the second target width and height information according to the first target width and height information, and send the first target width and height information and the second target width and height information to the DC 131 .

[0148] In an optional embodiment, if the first width and height information needs to be dynamically adjusted to the first target width and height information, then during the i-th adjustment, the Linux system 110 is further configured to adjust the i-1th piece of first width and height information with a predetermined change step length, and send the obtained i-th piece of first width and height information to the Android system 120, where i≥2;

[0149] The Android system 120 is further configured to calculate the ith second width and height information according to the ith first width and height information, and send the ith first width and height information and the ith second width and height information to the DC 131 .

[0150] To summarize, in the SOC-based screen display system provided in the embodiment of the present application, the first group of kernels in the SOC is configured to run the Linux system, the second group of kernels is configured to run the Android system, and the third group of kernels is configured to run the RTOS, and the first group of kernels, the second group of kernels and the third group of kernels are different. That is to say, these three operating systems run independently and meet automotive-grade safety standards.

[0151] The Linux system shares the first display data with the first layer in DC, and the Android system shares the second display data with the second layer in DC. Then, DC can determine the underlying layer and the upper layer from the first layer and the second layer, generate the underlying screen according to the display data corresponding to the underlying layer, and generate the upper screen according to the display data corresponding to the upper layer, wherein the size of the first data display area in the underlying screen is equal to the negotiated first display size, and the size of the entire underlying screen is less than or equal to the size of the screen, the size of the second data display area in the upper screen is equal to the negotiated second display size, and the area except the second data display area is a transparent area, and finally, the underlying screen and the upper screen are superimposed and displayed on the screen, realizing the same-screen display of IVI in the Android system and the dashboard in the Linux system.

[0152] When the display sizes of two display data need to be adjusted, the display size of the first display data can be gradually adjusted multiple times until the target display size of the first display data is reached, and then the display size of the second display data is adjusted by jump; or, the display sizes of the first display data and the second display data can be gradually adjusted multiple times, thereby realizing dynamic adjustment of the display size.

[0153] An embodiment of the present application provides a computer-readable storage medium, wherein the storage medium stores at least one instruction, and the at least one instruction is loaded and executed by a processor to implement the SOC-based screen display method as described above.

[0154] An embodiment of the present application provides a chip, wherein the chip includes any of the above-mentioned SOC-based screen display systems.

[0155] It should be noted that: the SOC-based screen display system provided in the above embodiment only uses the division of the above functional modules as an example when performing SOC-based screen display. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the SOC-based screen display system is divided into different functional modules to complete all or part of the functions described above. In addition, the SOC-based screen display system provided in the above embodiment and the SOC-based screen display method embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.

[0156] A person skilled in the art will understand that all or part of the steps to implement the above embodiments may be accomplished by hardware or by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a disk or an optical disk, etc.

[0157] The above description is not intended to limit the embodiments of the present application. Any adjustments, equivalent substitutions, improvements, etc. made within the spirit and principles of the embodiments of the present application should be included in the protection scope of the embodiments of the present application.

Claims

1. A screen display method based on SOC, characterized in that: The first group of kernels in the SOC is configured to run an Android system, the second group of kernels is configured to run a Linux system, and the third group of kernels is configured to run a real-time operating system RTOS, and the first group of kernels, the second group of kernels, and the third group of kernels are different from each other, and the method includes: The Linux system shares the first display data with the first layer in the display controller DC, and the DC is controlled by the RTOS; The Android system shares the second display data with the second layer in the DC; wherein the first layer is a graphics channel GPIPE layer, and the second layer is a display processor DP layer, or the first layer is a DP layer, and the second layer is a GPIPE layer; The Linux system negotiates with the Android system a first display size and a second display size, and sends the first display size and the second display size to the DC; The DC determines the layer located at the bottom layer of the first layer and the second layer as the bottom layer, and determines the layer located at the upper layer as the upper layer; The DC generates a bottom layer picture according to the display data corresponding to the bottom layer, the size of the first data display area in the bottom layer picture is equal to the first display size, and the size of the entire bottom layer picture is less than or equal to the size of the screen, and the first data display area is used to display the display data corresponding to the bottom layer; The DC generates an upper-layer picture according to the display data corresponding to the upper-layer layer, the size of the second data display area in the upper-layer picture is equal to the second display size, and the area except the second data display area is a transparent area, and the second data display area is used to display the display data corresponding to the upper-layer layer; The DC displays the bottom layer picture and the upper layer picture on the screen in a superimposed manner; The Linux system and the Android system negotiate a first display size and a second display size, including: the Linux system and the Android system negotiate to select a size mode from a plurality of preset size modes, the size mode being used to limit a display ratio of the first display size and the second display size on the screen; or, the Linux system and the Android system negotiate first width and height information of the first display size and second width and height information of the second display size; The method further includes: if the first width and height information needs to be dynamically adjusted to the first target width and height information, then in the i-th adjustment, the Linux system adjusts the i-1th first width and height information with a predetermined change step, and sends the obtained i-th first width and height information to the Android system, i≥2; when the i-th first width and height information is not the first target width and height information, the Android system sends the i-th first width and height information and the second width and height information to the DC; when the i-th first width and height information is the first target width and height information, the Android system calculates the second target width and height information according to the first target width and height information, and sends the first target width and height information and the second target width and height information to the DC.

2. The screen display method based on SOC according to claim 1, characterized in that: The method further comprises: the Linux system initializing a socket server; the Android system initializing a socket client; the Linux system establishing a socket connection with the socket client in the Android system through the socket server; The Linux system and the Android system negotiate a first display size and a second display size, including: the Linux system and the Android system negotiate the first display size and the second display size through the Socket connection.

3. The screen display method based on SOC according to claim 1, characterized in that: The Linux system shares the first display data with the first layer in the DC, including: When the first layer is a GPIPE layer, the Linux system stores the first display data in a first shared memory through a virtual screen, and sends a first memory address of the first shared memory to the GPIPE layer in the DC, so that the GPIPE layer in the DC reads the first display data from the first shared memory according to the first memory address; When the first layer is a DP layer, the Linux system stores the first display data in a second shared memory through a virtual screen, and sends the second memory address of the second shared memory to the DP hardware in the Android system, so that the DP hardware reads the first display data from the second shared memory according to the second memory address, and shares the first display data with the DP layer in the DC.

4. The screen display method based on SOC according to claim 1, characterized in that: The Android system shares the second display data with the second layer in the DC, including: When the second layer is a GPIPE layer, the Android system stores the second display data in a third shared memory through a virtual screen, and sends a third memory address of the third shared memory to the Linux system, so that the Linux system reads the second display data from the third shared memory according to the third memory address, and shares the second display data with the GPIPE layer in the DC; When the second layer is a DP layer, the Android system stores the second display data in a fourth shared memory through a virtual screen, and sends the fourth memory address of the fourth shared memory to the DP hardware, so that the DP hardware reads the second display data from the fourth shared memory according to the fourth memory address, and shares the second display data with the DP layer in the DC.

5. The screen display method based on SOC according to any one of claims 1 to 4, characterized in that: The method further comprises: If the first width and height information needs to be dynamically adjusted to the first target width and height information, during the i-th adjustment, the Linux system adjusts the i-1th piece of first width and height information with a predetermined change step, and sends the obtained i-th piece of first width and height information to the Android system, where i≥2; The Android system calculates the i-th second width and height information according to the i-th first width and height information, and sends the i-th first width and height information and the i-th second width and height information to the DC.

6. A screen display system based on SOC, characterized in that: Used in a SOC, wherein the first group of kernels in the SOC is configured to run an Android system, the second group of kernels is configured to run a Linux system, and the third group of kernels is configured to run a real-time operating system RTOS, and the first group of kernels, the second group of kernels, and the third group of kernels are different from each other, and the screen display system includes: The Linux system is used to share the first display data with the first layer in the display controller DC, and the DC is controlled by the RTOS; The Android system is used to share the second display data with the second layer in the DC; wherein the first layer is a graphics channel GPIPE layer, and the second layer is a display processor DP layer, or the first layer is a DP layer, and the second layer is a GPIPE layer; The Linux system and the Android system are further used to negotiate a first display size and a second display size, and send the first display size and the second display size to the DC; The DC is used to determine the layer located at the bottom layer of the first layer and the second layer as the bottom layer, and the layer located at the upper layer as the upper layer; The DC is further used to generate a bottom layer picture according to the display data corresponding to the bottom layer, the size of the first data display area in the bottom layer picture is equal to the first display size, and the size of the entire bottom layer picture is less than or equal to the size of the screen, and the first data display area is used to display the display data corresponding to the bottom layer; The DC is further used to generate an upper-layer picture according to the display data corresponding to the upper-layer layer, the size of the second data display area in the upper-layer picture is equal to the second display size, and the area except the second data display area is a transparent area, and the second data display area is used to display the display data corresponding to the upper-layer layer; The DC is further used to overlay the bottom layer image and the upper layer image on the screen; The Linux system and the Android system are further used to negotiate and select a size mode from a plurality of preset size modes, where the size mode is used to limit a display ratio of the first display size and the second display size on the screen; or, the Linux system and the Android system are further used to negotiate first width and height information of the first display size and second width and height information of the second display size; If it is necessary to dynamically adjust the first width and height information to the first target width and height information, then during the i-th adjustment, the Linux system is further used to adjust the i-1th first width and height information with a predetermined change step, and send the obtained i-th first width and height information to the Android system, i≥2; when the i-th first width and height information is not the first target width and height information, the Android system is further used to send the i-th first width and height information and the second width and height information to the DC; when the i-th first width and height information is the first target width and height information, the Android system is further used to calculate the second target width and height information according to the first target width and height information, and send the first target width and height information and the second target width and height information to the DC.

7. A computer-readable storage medium, characterized in that: The storage medium stores at least one instruction, and the at least one instruction is loaded and executed by the processor to implement the SOC-based screen display method as described in any one of claims 1 to 5.

8. A chip, characterized in that: The chip includes: the SOC-based screen display system as described in claim 6.

Citation Information

Patent Citations

  • Multi-screen processing method and device for intelligent cabin, chip, vehicle and medium

    CN114489543A

  • Intelligent cabin instrument safety display method based on SOC hard isolation technology

    CN118061777A