Abstraction
A requirement of IVI systems is that they need to support transitions to multiple power states. Not just a simple power off/on state, but several other types of power states are required. In each power state, it is necessary to switch the function to be controlled and the power state of connected devices.
Due to the diversity of use cases in modern automotive, it is necessary for IVI systems to operate even in situations where there is no voltage supplied by the battery. A problem inherent to IVI is the limited power supplied by the battery. If you always start and maintain any hardware in the state, it will lead to battery failure. Therefore, when using IVI, it is necessary to define the various power states according to the use case of each user, and in each power state, activate the minimum amount of hardware necessary to realize the use case and realize the function.
...
The description of Hardware in 4.4 section indicates some kind of hardware (such as CAN signal) that notifies the IVI side of power state transition.
Figure1
Use cases
In the following table, use cases which need the Power State Management function are described. In each use case, a power state transition of the car is changed, and the IVI also needs to change states.
Table 2
# | Item | Description | User |
---|---|---|---|
UC.PS.1 | IVI(quick) startup | The user driver opens the door and gets into the car. And the user presses the button for ACC-ON and the car and the IVI is turned on. | Driver |
UC.PS.2 | IVI shutdown | The user driver presses the button for ACC-OFF, gets out of the car and does not get into the car for a long time. | Driver |
UC.PS.3 | Startup unlinked with the ACC | The user driver presses a button for IVI-ON and uses audio, video, and communication services without ACC-ON. | Driver |
UC.PS.4 | Delayed ending | After arrival at the destination, when the user driver wants to continue a handsfree call after ACC-OFF, the user continues it although the display is off. | Driver |
UC.PS.5 | Remote parking system | When the user driver wants to get the car out of the parking lot, the user driver uses the smartphone-linked function to control outside and gets into the car. | Driver |
UC.PS.6 | Demotion assistance | After the user driver arrives at the destination, the user driver presses the button for ACC-OFF and gets out of the car. When the user driver gets out of the car, if there is danger behind the car, an alarm sounds and the user driver is notified. | Driver |
UC.PS.7 | Return to the car soon | The user driver presses the button for ACC-OFF, gets out of the car and gets into the car soon. | Driver |
UC.PS.8 | Return to the car temporally | The user driver opens the door and takes out the luggage. The user driver closes the door and does not get into the car. | |
UC.PS.9 | Automatic updates via OTA | IVI automatically updates software through OTA function while the driver is away from the car. | |
UC.PS.10 | Driver |
...
Data backup | IVI performs data backup while the driver is away from the car. |
In Production Readiness, the power state transition of IVI in general is defined as follows.
...
The following table is a description of the above four states.
Table 3
# | IVI power state | Description of each state |
---|---|---|
1 | Power-off | This is the state in which the IVI system is turned off and the IVI display is turned off. |
2 | Ready | This is the state in which the IVI system is turned on and the IVI display is turned off. |
3 | Partially running | This is the state in which the IVI system is turned on. When transitioning to this state from any other state, the IVI system will be able to use the selected services for a while. (There is no specific mention of turning the IVI display off/on. It shall be dependent on implementation.) |
4 | Running | This is the state in which the IVI system is turned on and the IVI display is turned on. The ACC is on and all of the functions can be used. |
Table 3
The following shows the IVI state transition diagram of the above table. The conditions for each transition are also described.
Figure 4 ) State transition diagram
When the power status of the vehicle changes, the power status of the IVI will transition.
...
However, the above state transition diagram shows the state that realizes the use cases defined in this document. Each OEM should add or delete state/transition as necessary.
Table 5
Use case | State transition diagram | The condition of transition |
---|---|---|
(1)IVI (quick) startup | (A), (B) | (A)The transition request to change the selected services states to “Ready” is sent from the Hardware side. (B)The transition request to change the IVI state to “Running” is sent from the Hardware side. |
(2)IVI shutdown | (C), (E) | (C)The transition request to change the IVI state to “Power-off” is sent from the Hardware side. (E)When no transition request is received and a certain amount of time has passed, the state is changed. |
(3)Startup unlinked with the ACC | (A), (F) | (A)The transition request to change the selected services states to “Ready” is sent from the Hardware side. (F)The transition request to change the selected services states to “Partially Running” is sent from pressing a button for IVI-ON. |
(4)Delayed ending | (C) | (C)When the transition request to change the IVI state to “Power-off” is sent from the Hardware side, the state goes through “Partially running” once. If there is a request to execute the function, it is done in this state. |
(5)Remote parking system | (A), (F) | (A)The transition request to change the selected services states to “Ready” is sent from the Hardware side. (F)The transition request to change the selected services states to “Partially Running” is sent from the user’s smartphone. |
(6)Demotion assistance | (C) | (C)When the transition request to change the IVI state to “Power-off” is sent from the Hardware side, the state goes through “Partially running” once. If there is a request to execute the function, it is done in this state. |
(7)Return to the car soon | (C), (D) | (C)The transition request to change the IVI state to “Power-off” is sent from the Hardware side. (D)The transition request to change the IVI state to Running is sent from the Hardware side. |
(8)Return to the car temporally | (A), (G) | (A)The transition request to change the selected services states to “Ready” is sent from the Hardware side. |
(9)Automatic updates via OTA | (A), (F), (E) | (A)The transition request to change the selected services states to “Ready” is sent from the Hardware side. (F)The transition request to change the selected services states to “Partially Running” is sent from pressing a button for IVI-ON. (E)When no transition request is received and a certain amount of time has passed, the state is changed. |
(10)Data backup | (A), (F), (E) | (A)The transition request to change the selected services states to “Ready” is sent from the Hardware side. (F)The transition request to change the selected services states to “Partially Running” is sent from pressing a button for IVI-ON. (E)When no transition request is received and a certain amount of time has passed, the state is changed. |
Table 5
Functional Requirements
This table includes the functional requirements of Power State Management module. Figure1 will be used to explain this requirement.
Table 6
# | Item | Related use case | Description |
---|---|---|---|
FR.PS.1 | Power state receiving | All of the use cases | Power State Management should receive state transition requests from the Hardware side. |
FR.PS.2 | The incoming trigger of the power state depends on each OEM so the incoming trigger should be flexible enough to change. | ||
FR.PS.3 | Power state sending | Power State Management should notify the power state change request to each service. | |
FR.PS.4 | Since the number(definition) of power states depends on each OEM, adding or removing power states should be flexible enough to change. | ||
FR.PS.5 | Only services which require control by power state change requests should be notified of the necessary request. | ||
FR.PS.6 | Device control | According to the power state transition, each application or middleware related to services should switch the function to activate or the control devices. |
Table 6
Power State Management in Basesystem
Reference implementation by Basesystem
To have Power State Management for the use cases above, we provided the following functions as part of the power management function. Refer to the software configuration diagram(2. The scope).
- Power Service
- System Manager
Figure 7
In the implementation of Basesystem, the function modules for Power Service Management are Power Service and System Manager. The software configuration diagram is defined in 2. The scope. Please refer to it.
Figure 7
Power Service
Power service provides functions such as notifying the system manager unit module of power state transition requests by getting the notification from the Hardware side, or receiving requests and notifying the Hardware side of it.
System Manager
In order to control the system according to the power state transition request, System manager notifies the services on the service list of a power state transition received from Power service.
Reference Code
...
Reference code :
https://gerrit.automotivelinux.org/gerrit/gitweb?p=staging/basesystem.git;a=tree;f=service/system/system_managerpower_service;h=fabcbf6aabbf0b7dd8a1df2fb35491029a2d1fdd;hb=refs/heads/master
System Manager
In order to control the system according to the power state transition request, System manager notifies the services of a power state transition received from Power service.
Reference code :
https://gerrit.automotivelinux.org/gerrit/gitweb?p=staging/basesystem.git;a=tree;f=service/system/power_service;h=fabcbf6aabbf0b7dd8a1df2fb35491029a2d1fddsystem_manager;hb=refs/heads/master