WO2022235156A1 - In-vehicle control system and method of adding a client controller in a vehicle - Google Patents
In-vehicle control system and method of adding a client controller in a vehicle Download PDFInfo
- Publication number
- WO2022235156A1 WO2022235156A1 PCT/NL2022/050239 NL2022050239W WO2022235156A1 WO 2022235156 A1 WO2022235156 A1 WO 2022235156A1 NL 2022050239 W NL2022050239 W NL 2022050239W WO 2022235156 A1 WO2022235156 A1 WO 2022235156A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- client
- controller
- distributed function
- controllers
- execution
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 13
- 230000004044 response Effects 0.000 claims abstract description 34
- 238000009434 installation Methods 0.000 claims abstract description 10
- 230000006870 function Effects 0.000 claims description 238
- 238000004891 communication Methods 0.000 claims description 33
- 230000001419 dependent effect Effects 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 5
- 230000006978 adaptation Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 101150049278 US20 gene Proteins 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
- B60R16/02—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
- B60R16/023—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
- B60R16/02—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
- B60R16/023—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
- B60R16/0231—Circuits relating to the driving or the functioning of the vehicle
- B60R16/0232—Circuits relating to the driving or the functioning of the vehicle for measuring vehicle parameters and indicating critical, abnormal or dangerous conditions
- B60R16/0234—Circuits relating to the driving or the functioning of the vehicle for measuring vehicle parameters and indicating critical, abnormal or dangerous conditions related to maintenance or repairing of vehicles
Definitions
- the invention relates to a control system for use in a vehicle and a method of enabling a later added client controller in an in-vehicle control system.
- Modern day road vehicles such as trucks and automobiles support installation and use of both necessary and optional functions. Necessary functions related to driving and demanded by legal regulations must necessarily be available. Optional functions such as cruise control, autopilot, information registration and display etc. may be absent in some vehicles according to choices by vehicle operators or owners, and some of the optional functions may active only in some states of the vehicle.
- Necessary functions and optional functions that have been ordered with the vehicle are usually installed during manufacturing or final pre delivery fitting, at which time the entire vehicle installation will be checked. However, some functions may be installed only later, when the vehicle is in a workshop. This applies to optional functions, but even the necessary functions may optionally be changed by means of version changes. Before a function can be enabled, installation or version changes of some functions may further involve the installation of a new client controller in the vehicle when the vehicle is in the workshop. Increasingly, some functions may even require the presence of more than one client controller that all participate in the execution of a distributed function, i.e.
- a function that requires adaptation of the operation of a plurality of client controllers to that function, or exclusive use of at least part of these client controllers for this function only, to participate in execution of (features of) the function and involves communication between these client controllers, wherein the adaptation of the operation.
- Some of these client controllers may be newly installed in the workshop when the distributed function is installed, whereas the remainder of these client controllers may already be present in the vehicle e.g. to perform other functions.
- the workshop needs to ensure that the configuration of the in- vehicle system is adapted in a consistent way. Obviously, this involves configuration of newly installed client controllers, or newly installed versions. But it may also update client controllers that participate in the execution of a newly activated function.
- the configuration should indicate which functions (or versions) are enabled, i.e. which functions the in-vehicle system is allowed to execute, and ensuring that all controllers that participate in the execution of a distributed function are prepared to do so, whether they have been newly installed, installed during manufacturing or at some other time in the history of the vehicle.
- US6904339 discloses a method of configuring networked client controllers in a road vehicle that can be manufactured using alternative different components and features (more generally referred to as outfitting variants).
- the client controllers may have to be adapted to differing motor outfitting of different motor vehicles, e.g.to whether the vehicle has a fifth gear.
- An outfitting variant controller (AVC) on board the vehicle stores data for configuring the client controllers of a vehicle.
- the data is stored in the form of coding data records that indicate the outfitting variants by means of a code identification ID and a parameter value allocated to this ID.
- a central controller In operation, when a central controller recognizes that a new client controller is present in the networked system, the central controller notifies the AVC about the new client controller. The AVC then requests the new client controller to transmit code identification ID's for which it needs parameter values for correct functioning. The central controller generates the coding data using the AVC and the AVC writes the associated parameter values into the memory of the new client controller.
- the configuration process may be performed in a workshop after upgrades or repairs. In this case the configuration process will be performed for each newly installed client controller.
- controllers other than those that are newly present. This may be a problem when such controllers are involved together with a newly present controller in the execution of the same function, if their configuration is not updated to indicate that the function has become enabled, or its version is updated. Moreover, controllers may be inactive in some states of the vehicle. If this is the case at the time when the central controller writes configuration data to enable a function, inconsistencies may arise. Thus, reconfiguration may still need to rely on workshop configuration to prevent problems under such circumstances.
- US20 14143839 claims use of a remote control unit to overrule internal commands in an in-vehicle control system. It describes wireless broadcast from the remote control unit and ways of ensuring message security for messages from the remote control unit. Furthermore US20 14143839 describes use of redundant processing modules which can take over from other processing modules in the case of failure of the latter by setting the operation mode of the processing modules.
- An in-vehicle control system is provided that is configurable to enable execution of selected ones of a plurality of functions, including a distributed function of which the execution involves participation by a plurality of controllers that can be installed separately.
- the in-vehicle control system comprises
- each client controller pre-configured for performing at least part of the functions, wherein
- a first one of the client controllers that are pre configured to participate in execution of the distributed function is configured to transmit a request via the communication network, addressed to the host controller, when the in-vehicle control system has entered a predetermined state;
- each of the client controllers that are pre-configured to participate in execution of the distributed function being configured to enable participation in execution of the distributed function, and/or set a version of the participation that is enabled, each in response to receiving a same broadcasted signal from the host, when the signal represents that the distributed function is enabled and/or according to which version the distributed function is enabled;
- the first one of the client controllers that are pre configured to participate in execution of the distributed function being configured to stop the request after the first one of the client controllers has received the signal for the distributed function;
- the host controller being configured to
- Client controllers that are pre-configured to participate in execution of the distributed function are client controllers that contain the hardware and/or software to be used in the execution of the distributed function. Actual use for the execution depends on whether the client controller is enabled, i.e. on whether the client controller has been switched to a state wherein the client controller is allowed to participate in the execution of the distributed function.
- one or more or all of the first client controllers are only configured to enable participation, without setting a version.
- one or more or all of the first client controllers are only configured to set a version and not to enable participation.
- one or more or all of the first client controllers are configured both to enable participation and to set a version.
- each of the first client controllers comprises a memory, the client controller being configured to store the indication whether and/or according to which version of the distributed function in a memory of the client controller in response to said broadcasted signal, and to participate in execution of the distributed function or not dependent on the stored indication. All client controllers may transmit the requests. However, in an embodiment, only one or more of the client controllers that are preconfigured to participate in performing distributed functions are configured to transmit such requests. This enables the use of legacy client controllers without the ability to transmit such requests and reduces communication. For legacy client controllers reception of the broadcast signal may suffice.
- the in-vehicle control system makes it possible to enable execution of the distributed function by a plurality of client controllers without need to configure each of these client controllers to enable execution of the distributed function in the workshop. This ensures automatic consistency between the configuration of these chent controllers, with a minimum of operation delay for reconfiguration.
- the host controller may be configured to repeat broadcast of the signal until the first one of the client controllers has stopped its request, i.e. to repeat the broadcast at least as long as the first one of the client controllers has not stopped the request.
- each of the client controllers that are pre-configured to participate in execution of the distributed function are configured to transmit a respective request, the host controller being configured to broadcast the signal in response to one of the respective requests or to broadcast the signal in joined response to each of a plurality of the respective requests when the in-vehicle control system has entered said predetermined state. In this way the required amount of communication can be reduced.
- the host controller is configured to stop broadcasting of the signal only after all of the client controllers that are pre configured to participate in execution of the distributed function have stopped their respective requests. Thus, it can be ensured that all of these client controllers have received the broadcast.
- each of the client controllers that are pre configured to participate in execution of the distributed function is configured to detect whether the host controller has started broadcasting in response to the respective request from another one of the client controllers that are pre-configured to participate in execution of the distributed function and to suppress transmission of its respective request upon said detection. In this way the required amount of communication can be reduced.
- the client controllers that are pre-configured to participate in execution of the distributed function are able to transmit their respective requests when the system has entered different ones of a predetermined sub-set of the different states, the host controller being configured to broadcast the signal in response to request in each of said sub-set of states wherein at least one of the first one of the chent controllers has transmitted its respective request and to stop broadcasting of the signal in each of the sub-set of state after all of the client controllers that have transmitted their respective requests when the system has entered that state have stopped their respective request.
- client controllers may have different opportunities to obtain the signal.
- At least one of the chent controllers that are pre-configured to participate in execution of the distributed function is configured to transmit its respective request when the in-vehicle control system is in a first state after a second state in which at least one of the client controllers was unable to transmit its respective request and another one of the client controllers that are pre-configured to participate in execution of the distributed function transmitted its respective request.
- the host controller is configured to broadcast a predetermined plurality of signals for configuring all of the client controllers, including said signal, in response to the request.
- the broadcast may be composed independent of the distributed function, e.g. to configure all client controllers, not just those involved in distributed functions.
- the host controller is configured to broadcast, in response to the requests or the respective requests, selectively said signal or a plurality of signals including said signal, selected dependent on the client controllers that are pre-configured to participate in execution of the distributed function and have transmitted the requests or the respective requests. In this way the required amount of communication can be reduced.
- each of the client controllers that are pre configured to participate in execution of the distributed function are configured to transmit a respective request, wherein each of the client controllers that are pre-configured to participate in execution of the distributed function is configured to suppress transmission of its respective request upon detection that the host controller has started broadcasting the predetermined plurality of signals. . In this way the required amount of communication can be reduced.
- the first one of the client controllers is configured to stop the request after the first one of the client controllers has received the signal for the distributed function at least twice. This makes it possible to detect errors in reception of the broadcast by comparing received signals.
- At least one of the client controllers is configured to include an indication of a variant type of the at least one first client controller in the request. This makes it possible for the host controller to select the broadcasted signal dependent on the variant type. In a further embodiment, the host controller is configured to select the version of the distributed function dependent on the variant type indicated by the request and to represent the selected version in the signal.
- the host controller stores information indicating associations between types of client controllers with enabling distributed functions, the host controller being configured, in response to determining that a client controller that has sent the request is associated with enabling the distributed function, to represent in the signal that execution of the distributed function is enabled, even if the distributed function was not previously enabled. This makes it possible to control the host controller to enable simply by installing the client controller.
- the in-vehicle system may provide for a plurality of distributed functions.
- the different distributed functions may be enabled using a single broadcasted stream of signals.
- a method is provided to install an additional client controller in a vehicle to participate in performing a distributed function, wherein the additional client controller is installed after the vehicle has been has been in operational use without the additional client controller, wherein the vehicle as used in the operational use comprises an in-vehicle control system having a communication network, a host controller coupled to the communication network and client controllers coupled to the communication network, the client controllers including at least one further client controller that is pre configured to participate in performing the distributed function, the method comprising:
- each of the additional chent controllers and the at least one further client controller enabling participation in execution of the distributed function, and/or set a version of the participation that is enabled, in response to receiving the signal from said broadcasting;
- the method comprises a method of enabling functions automatically.
- Figure 1 shows an in-vehicle system
- FIG. 2 shows a flow-chart of client controller operation
- Figure 1 shows an in-vehicle system of a road vehicle, comprising a communication network 10, a host controller 12, chent controllers 14 of vehicle sub-systems 16 and components 18 such as sensors, switches, actuators.
- Client controllers 14 each comprise a non-volatile memory 14a (shown in only one client controller 14.
- Client controllers 14 are coupled to their respective sub-systems 16 and to communication network 10.
- Host controller 12 and components 18 are similarly coupled to communication network 10.
- Host controller 12 comprises a memory 12a.
- Controllers 12, 14 may be individual hardware units pre-programmed or pre-designed to perform one or more functions, e.g. a hardware unit with an embedded computer program. Some different controllers 12, 14 may refer to different computer programs in combination with the same hardware unit.
- Sub-systems 16 and components 18 are used to perform functions of the in-vehicle system.
- the notions of sub-system 16 and function are distinct, although for many functions the core of the function is performed by a sub-system 16 and/or chent controller 14 dedicated to that function.
- Vehicle sub-systems 16 may be sub-systems such as a gearbox sub-system, an airbag sub-system, a Predictive Cruise Control sub-system, an Adaptive Cruise Control, a Lane departure warning sub-system, a tyre pressure monitoring sub-system, a Digital Tachograph sub-system, an infotainment system etc.
- the core of the function is usually located in one chent controller 14, for distributed functions a sub-set of the client controllers that contains multiple client controllers 14 and/or components 18 may be involved in executing a particular function. Smaller parts of the execution of the distributed function may be hosted in other client controllers 14 of such a sub-set, which may be standard client controllers 14 that are preprogrammed to execute parts of a plurality of different functions.
- the functions include obligatory functions and optional functions. Each optional function will only be executed if it has been chosen to pre configure and enable the in-vehicle system to perform the function, e.g. because a vehicle user has selected this when the vehicle is ordered or updated.
- a function is said to be pre-configured if the system is able to execute the function and it is said to be enabled if it is allowed to execute the function.
- being “(pre-) configured” to perform a function or action refers to the presence of hardware and/or software to perform that function or action, but not to final enabhng to perform the function, e.g. by setting a parameter value that indicates that it is allowed to perform the function. This should be distinguished from art wherein “configuring” is sometimes used to refer to setting any parameter. Where needed to distinguish “enabling”, the term “preconfiguring” will be used here for configuring without enabling).
- the implementation of the choice to pre-configure and enable the in-vehicle system to execute an optional function performed entirely by a single chent controller this involves including or omitting a dedicated optional sub-system 16 or client controller 14 for the function alone.
- At least one of the functions may be a distributed function, i.e. a function that requires adaptation of the operation of a plurality of client controllers to that function, or exclusive use of at least part of these client controllers for this function only, to participate in execution of (features of) the function and involves communication between these client controllers, wherein the adaptation of the operation.
- the implementation of the choice to enable the in-vehicle system to execute an optional function is not limited to pre-configuring an individual client controller 14, i.e.
- a client controller 14a may be designed to execute a part of a distributed function dependent on whether the client controller 14a is in a first (enabled) state, the part of a distributed function being executed when the client controller 14a is in the first (enabled) state, but not when the client controller 14a is in a second (unenabled state. Enabling a pre configured functionality of a part of a distributed function in a client controller 14a corresponds to switching the client controller from the second (unenabled) state to a first (enabled) state.
- the client controllers may include a cruise control client controller that is designed to perform a basic cruise control function that controls vehicle speed.
- a cruise control client controller may also be designed part of a distributed predictive cruise control function, wherein another client controller computes prediction-based information and supplies that information to the to the cruise control client controller, which uses this information to adapt cruise control operation.
- the client controller that computes prediction-based information may be active only if the predictive cruise control function is enabled and the operation of cruise control client controller may be adapted according to whether or not the distributed predictive cruise control function is enabled.
- the cruise control client controller may use different user interface display information (possibly in communication with a display client controller) and/or collect different function specific user input.
- the distributed predictive cruise control function is enabled, this involves at least enabhng this in the cruise control client controller and the other client controller that computes the prediction-based information.
- the in-vehicle system may provide for alternative versions of execution of the function.
- at least one of the standard client controllers 14 may be preprogrammed to provide for alternative versions of execution of the part of function executed by this standard client controller 14.
- the implementation of the choice may include enabhng execution of a specific pre-programmed version of the part of the function executed by this standard client controller 14.
- parameter may have a value that represents level of functionality of an infotainment system from basic to more premium, or a capacity or size of the infotainment system.
- the choice to enable the in-vehicle system to execute an optional function of which the execution involves parts of the execution in different client controllers 14 of sub-set of client controllers 14 may be implemented by defining a parameter whose value is used to indicate whether the function is enabled.
- the value of this parameter is stored at least in each of the client controllers in the sub-set that is involved in executing the function.
- the client controllers are enabled to execute their part of the function or not, dependent on the stored value. In the example of the predictive cruise control function this involves enabling the cruise control client controller and the other client controller that computes the prediction- based information.
- the value of the parameter may be used to indicate the version of the function that is enabled.
- client controllers 14 in a sub-set of client controllers 14 are pre configured to execute different versions of their part of the function dependent on the stored value.
- the value of the parameter may be different dependent on whether the function is enabled or not, with a plurality of values distinguishing enablement of different versions.
- components 18 may be pre-configured to have the same functionality independent of the functions that are enabled. In this case, the operation of components 18 will be independent of the value of parameters that indicate whether functions (or versions of the functions) are enabled. In another embodiment, components 18 may be pre-configured to set an operational configuration dependent on the value of the parameter that indicate whether functions (or versions of the functions) are executed.
- an additional client controller is installed in the vehicle after the vehicle has been has been in operational use, e.g. after the vehicle has been driven over roads for some time.
- the installation may involve physically placing the additional client controller in or on the vehicle.
- it may involve updating information in host controller 12 to indicate that the client controller is present and that one or more functions that involve the additional client controller have to be enabled, or updating another controller that is used for storing such information for host controller 12.
- the client controllers that participate in the execution of these distributed functions need not be updated to enable execution of the distributed function.
- the host controller may be updated to indicate that the predictive cruise control function is enabled.
- the cruise control client controller and the other client controller that computes the prediction- based information need not be updated to enable the distributed predictive cruise control function. This simphfies the work that has to be done by the engineers that add functions after the vehicle has been in use after manufacture, provided that additional steps are taken by the client controllers 14 and host controller 12.
- Figure 2 shows a flow chart of operation of client controllers 14.
- the chent controller 14 determines whether the in-vehicle system is in a normal operating state. If so, client controller performs steps of its normal operation, symbolized by a second step 22.
- client controller 14 performs a third step 23 determines whether the in-vehicle system has entered a state of operation wherein enabhng is allowed. If client controller 14 determines in third step 23 that the in-vehicle system has not entered a state of operation wherein enabhng is allowed, client controller 14 returns to first step 21.
- an operation state is a start-up state of the vehicle, a sleep state, a standby state, and a new operational state.
- client controller 14 is configured to determine that the in-vehicle system has entered a state of operation wherein enabling is allowed only when the in-vehicle system enters a predetermined one of these states, such as the startup state. But preferably, client controllerl4 is pre-configured to determine that the in-vehicle system has entered a state of operation wherein enabhng is allowed when the in-vehicle system enters any one of a plurality of these states, e.g. any one of all these states. Use of a plurality has the advantage that client controller 14 need not always be active in one of the states.
- client controller 14 proceeds to a fourth step 24, and else it returns to first step 21.
- client controller 14 transmits a request addressed to host controller 12, for obtaining values of any updated parameters that indicate that functions are enabled or not.
- This request will be referred to as “handshake request”.
- handshake request is used herein without implying any features of a handshake protocol.
- the handshake request identifies client controller 14.
- the handshake request may identify the parameters that indicate enablement of functions that client controller 14 is able to perform.
- both the cruise control client controller and the client controller that computes the prediction-based information to perform this function may send a handshake request.
- client controller 14 proceeds to a fifth step 25, wherein client controller 14 receives a signal from host processor, the signal indicating a parameter ID and a parameter value. If the parameter ID corresponds to a parameter ID for which client controller 14 stores a value, client controller 14 tests whether the received value differs from the stored value and if so client controller 14 sets the stored value to the received value in its non-volatile memory.
- client controller 14 tests whether client controller 14 has received values for all IDs for which client controller 14 stores values. If not, client controller 14 repeats from fifth step 25. If client controller 14 has received values for all IDs for which client controller 14 stores values, client controller 14 executes a seventh step 27 of stopping the handshake request. In this case client controller 14 may repeat from first step 21 following seventh step 27.
- client controller 14 detects that it has received values for all parameters by determining whether it has again received a signal for a first parameter, for which it has already received a signal in the same handshake request.
- client controller 14 may be pre-configured to stop the handshake request by stopping transmission of successive handshake requests addressed to host controller 12. If the handshake request is not stopped, client controller 14 may repeat transmission of the handshake request to ensure continuation of parameter transmission by host controller 12 until the handshake request can be stopped implicitly by not transmitting further handshake requests. In another embodiment, client controller 14 may be pre-configured to stop the handshake request by transmitting an acknowledge signal to host controller 12. The acknowledge signal may identify client controller 14.
- Host controller 12 comprises a memory 12a storing values of parameters that define the choice of enabled functions of these functions and the parameters for which different client controllers 14 need stored values.
- host controller 12 determines the parameters for enabling or disabling functions and/or part of functions that the requesting client controller 14 is able to perform. Subsequently, host controller 12 starts broadcasting signals containing values of these parameter values. If host controller 12 receives a handshake request or handshake requests as transmitted by one or more other client controllers 14, host controller 12 determines the parameters for all of the other requesting client controllers 14 and starts broadcasting signals containing the values of these parameters as well.
- the values of the parameters may indicate version numbers of at least part of the functions.
- host controller 12 may be configured to broadcast signals with values of parameters indicated by the handshake requests. In an embodiment host controller 12 may additionally be configured to broadcast signals with values of further parameters for other purposes than indicating whether a function is enabled and/or the version number of the enabled function. For example, values of parameters to be used in computations may be broadcast.
- host controller 12 stops broadcasting the signals. Before this, host controller 12 may stop broadcasting signals with values of parameters that are not needed by any of the client controllers 14 that have not yet stopped their handshake requests.
- host controller 12 broadcasts signals for different parameters in a predetermined order of parameters, e.g. so that after broadcasting a signal for a first parameter signals for all other parameters than need to be broadcast are broadcast before the signal for the first parameter is broadcast again.
- a client controller 14 stops its request upon re-encountering a signal for its parameter for which it has received a signal in response to the same handshake request, the risk is reduced that parameters will be missed.
- host controller 12 may be configured to set the value of a parameter to indicate that a specific function is enabled in response to reception of a handshake request. This may be used to enable a specific function automatically when a client controller 14 has been added that is associated with enabling the specific function.
- the specific function may be executed by a combination of client controllers 14 that includes a client controller 14 that is associated with enabling the specific function.
- the combination may further include one or more general client controllers that are always present, and not associated with enabling the specific function.
- the general client controllers may be configured to execute parts of a plurality of functions, including the specific function.
- Host controller 12 may be configured to set the value of a parameter to indicate that the specific function is enabled in response to reception of a handshake request from client controller 14 that is associated with enabling the specific function.
- Host controller 12 may store pre-determined information to indicate which type of client controller 14 is associated with enabling which specific function or functions, if any. In that case, host controller 12 may be configured to set the value of the parameter(s) that indicate(s) that this/these function(s) are enabled in response to reception of a handshake request from a client controller 14 of that type. Alternatively or additionally, a client controller 14 may be configured to indicate in its handshake requests that the client controller 14 is associated with enabling a specific function. Host controller 12 may be configured to set the value of the parameter that indicates that this function is enabled in response to reception of the handshake request that indicates association with enabling the specific function.
- the in-vehicle may proceed to an operational state wherein client controllers 14 executed all functions for which the signals from host controller 12 have indicated that they have been enabled, if applicable according to the version that host controller 12 has indicated in a signal.
- Host controller 12 may be configured to broadcast a signal to all client controllers to proceed to the operational state when all handshake requests have been stopped.
- all client controllers 14 may transmit handshake requests, this is not necessary.
- one or more of the client controllers that are preconfigured to participate in performing distributed functions are configured to transmit such requests, or only one of the client controllers that are preconfigured to participate in performing a distributed function. This enables the use of legacy client controllers without the ability to transmit such requests and reduces communication. For legacy client controllers reception of the broadcast signal may suffice.
- the host controller may be configured to broadcast the signal in response to one of the respective requests or to broadcast the signal in joined response to each of a plurality of the respective requests when the in-vehicle control system has entered said predetermined state. In this way the required amount of communication can be reduced.
- the host controller is configured to stop broadcasting of the signal only after all of the client controllers that are pre-configured to participate in execution of the distributed function have stopped their respective requests. Thus, it can be ensured that all of these client controllers have received the broadcast.
- transmission of the request may be limited to the same single predetermined state for all client controllers, this is not necessary.
- the client controllers that are pre-configured to participate in execution of the distributed function are able to transmit their respective requests when the system has entered different ones of a predetermined sub-set of the different states.
- the host controller may broadcast the signal in each of such states when requested, even if it has already performed such a broadcast before in another state. Even client controllers that have already received a signal may receive the new broadcast and use it to maintain consistency with other client controller or for error detection.
- the signal may be broadcast the signal in a predetermined stream of signals for configuring all of the client controllers.
- the host controller is configured to broadcast, selectively that signal or those signals only if one or more client controllers that are able to participate in the execution of a function have transmitted requests
- the in-vehicle system may provide for a plurality of distributed functions.
- the different distributed functions may be enabled using a single broadcasted stream of signals.
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Mobile Radio Communication Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
An additional client controller is installed in a vehicle after the vehicle has been has been in operational use for some time without the additional client controller. The additional client controller is designed to participate in performing a distributed function together with a further client controller. When the additional client controller is installed, the further client controller is not yet enabled to perform the distributed function. The additional client controller and the further client controller are automatically enabled to participate in performing the distributed function only after powering up the vehicle after the installation of the additional client controller. This involves transmitting a request from the additional client controller and/or the further client controller to a host controller, when the in-vehicle control system has entered a predetermined state during or after said powering up. In response, the host controller broadcasts a signal for the distributed function to all of the client controllers. The signal represents whether or not the distributed function is enabled and/or according to which version the distributed function is enabled. In response each of the additional client controller and the further client controller enable participation in execution of the distributed function, and/or set a version of the participation that is enabled. After this the broadcasting is stopped.
Description
Title: In-vehicle control system and method of adding a client controller in a vehicle
The invention relates to a control system for use in a vehicle and a method of enabling a later added client controller in an in-vehicle control system.
Background
Modern day road vehicles such as trucks and automobiles support installation and use of both necessary and optional functions. Necessary functions related to driving and demanded by legal regulations must necessarily be available. Optional functions such as cruise control, autopilot, information registration and display etc. may be absent in some vehicles according to choices by vehicle operators or owners, and some of the optional functions may active only in some states of the vehicle.
Necessary functions and optional functions that have been ordered with the vehicle are usually installed during manufacturing or final pre delivery fitting, at which time the entire vehicle installation will be checked. However, some functions may be installed only later, when the vehicle is in a workshop. This applies to optional functions, but even the necessary functions may optionally be changed by means of version changes. Before a function can be enabled, installation or version changes of some functions may further involve the installation of a new client controller in the vehicle when the vehicle is in the workshop. Increasingly, some functions may even require the presence of more than one client controller that all participate in the execution of a distributed function, i.e. a function that requires adaptation of the operation of a plurality of client controllers to that function, or exclusive use of at least part of these client controllers for this function only, to participate in execution of (features of) the function and
involves communication between these client controllers, wherein the adaptation of the operation. Some of these client controllers may be newly installed in the workshop when the distributed function is installed, whereas the remainder of these client controllers may already be present in the vehicle e.g. to perform other functions.
In the case of addition of functions and version changes in a workshop, the workshop needs to ensure that the configuration of the in- vehicle system is adapted in a consistent way. Obviously, this involves configuration of newly installed client controllers, or newly installed versions. But it may also update client controllers that participate in the execution of a newly activated function. The configuration should indicate which functions (or versions) are enabled, i.e. which functions the in-vehicle system is allowed to execute, and ensuring that all controllers that participate in the execution of a distributed function are prepared to do so, whether they have been newly installed, installed during manufacturing or at some other time in the history of the vehicle.
This makes workshop installation cumbersome and places high demands on workshop personnel. Inconsistencies can easily arise. Special care about this is needed because inconsistencies could cause operational failure of the vehicle or even further reaching consequences due to accidents.
US6904339 discloses a method of configuring networked client controllers in a road vehicle that can be manufactured using alternative different components and features (more generally referred to as outfitting variants). For example, the client controllers may have to be adapted to differing motor outfitting of different motor vehicles, e.g.to whether the vehicle has a fifth gear. An outfitting variant controller (AVC) on board the vehicle stores data for configuring the client controllers of a vehicle. The data is stored in the form of coding data records that indicate the outfitting
variants by means of a code identification ID and a parameter value allocated to this ID.
In operation, when a central controller recognizes that a new client controller is present in the networked system, the central controller notifies the AVC about the new client controller. The AVC then requests the new client controller to transmit code identification ID's for which it needs parameter values for correct functioning. The central controller generates the coding data using the AVC and the AVC writes the associated parameter values into the memory of the new client controller.
This may be applied to necessary functions as well as optional functions. The configuration process may be performed in a workshop after upgrades or repairs. In this case the configuration process will be performed for each newly installed client controller.
However, this method does not address configuration of controllers other than those that are newly present. This may be a problem when such controllers are involved together with a newly present controller in the execution of the same function, if their configuration is not updated to indicate that the function has become enabled, or its version is updated. Moreover, controllers may be inactive in some states of the vehicle. If this is the case at the time when the central controller writes configuration data to enable a function, inconsistencies may arise. Thus, reconfiguration may still need to rely on workshop configuration to prevent problems under such circumstances.
It would be desirable to remove the need to rely on consistent reconfiguration in the workshop after installation work.
US20 14143839 claims use of a remote control unit to overrule internal commands in an in-vehicle control system. It describes wireless broadcast from the remote control unit and ways of ensuring message security for messages from the remote control unit. Furthermore US20 14143839 describes use of redundant processing modules which can
take over from other processing modules in the case of failure of the latter by setting the operation mode of the processing modules.
Summary
It is an object to improve automated partial reconfiguration to enable new functions in an in-vehicle system.
An in-vehicle control system is provided that is configurable to enable execution of selected ones of a plurality of functions, including a distributed function of which the execution involves participation by a plurality of controllers that can be installed separately.
The in-vehicle control system comprises
- a communication network;
- a host controller coupled to the communication network;
- client controllers, coupled to the communication network, each client controller pre-configured for performing at least part of the functions, wherein
- a first one of the client controllers that are pre configured to participate in execution of the distributed function is configured to transmit a request via the communication network, addressed to the host controller, when the in-vehicle control system has entered a predetermined state;
- each of the client controllers that are pre-configured to participate in execution of the distributed function being configured to enable participation in execution of the distributed function, and/or set a version of the participation that is enabled, each in response to receiving a same broadcasted signal from the host, when the signal represents that the distributed function is enabled and/or according to which version the distributed function is enabled;
- the first one of the client controllers that are pre configured to participate in execution of the distributed function being configured to stop the request after the first one of the client controllers has received the signal for the distributed function;
- the host controller being configured to
- broadcast the signal for the distributed function to all of the client controllers in response to the request from the first one of the client controllers that are pre-configured to participate in execution of the distributed function;
- stop broadcasting of the signal after the first one of the client controllers has stopped its request.
Client controllers that are pre-configured to participate in execution of the distributed function are client controllers that contain the hardware and/or software to be used in the execution of the distributed function. Actual use for the execution depends on whether the client controller is enabled, i.e. on whether the client controller has been switched to a state wherein the client controller is allowed to participate in the execution of the distributed function. In an embodiment, one or more or all of the first client controllers are only configured to enable participation, without setting a version. In another embodiment, one or more or all of the first client controllers are only configured to set a version and not to enable participation. In another embodiment, one or more or all of the first client controllers are configured both to enable participation and to set a version.
In an embodiment, each of the first client controllers comprises a memory, the client controller being configured to store the indication whether and/or according to which version of the distributed function in a memory of the client controller in response to said broadcasted signal, and to participate in execution of the distributed function or not dependent on the stored indication.
All client controllers may transmit the requests. However, in an embodiment, only one or more of the client controllers that are preconfigured to participate in performing distributed functions are configured to transmit such requests. This enables the use of legacy client controllers without the ability to transmit such requests and reduces communication. For legacy client controllers reception of the broadcast signal may suffice.
The in-vehicle control system makes it possible to enable execution of the distributed function by a plurality of client controllers without need to configure each of these client controllers to enable execution of the distributed function in the workshop. This ensures automatic consistency between the configuration of these chent controllers, with a minimum of operation delay for reconfiguration. The host controller may be configured to repeat broadcast of the signal until the first one of the client controllers has stopped its request, i.e. to repeat the broadcast at least as long as the first one of the client controllers has not stopped the request. In an embodiment, each of the client controllers that are pre-configured to participate in execution of the distributed function are configured to transmit a respective request, the host controller being configured to broadcast the signal in response to one of the respective requests or to broadcast the signal in joined response to each of a plurality of the respective requests when the in-vehicle control system has entered said predetermined state. In this way the required amount of communication can be reduced.
In a further embodiment, the host controller is configured to stop broadcasting of the signal only after all of the client controllers that are pre configured to participate in execution of the distributed function have stopped their respective requests. Thus, it can be ensured that all of these client controllers have received the broadcast.
In a further embodiment, each of the client controllers that are pre configured to participate in execution of the distributed function is
configured to detect whether the host controller has started broadcasting in response to the respective request from another one of the client controllers that are pre-configured to participate in execution of the distributed function and to suppress transmission of its respective request upon said detection. In this way the required amount of communication can be reduced.
In an embodiment wherein the in-vehicle control system is able to operate alternatively in different states, such as a power up state and/or a standby state, or different states wherein different parts of the system are active, the client controllers that are pre-configured to participate in execution of the distributed function are able to transmit their respective requests when the system has entered different ones of a predetermined sub-set of the different states, the host controller being configured to broadcast the signal in response to request in each of said sub-set of states wherein at least one of the first one of the chent controllers has transmitted its respective request and to stop broadcasting of the signal in each of the sub-set of state after all of the client controllers that have transmitted their respective requests when the system has entered that state have stopped their respective request. Thus, client controllers may have different opportunities to obtain the signal.
In an embodiment, at least one of the chent controllers that are pre-configured to participate in execution of the distributed function is configured to transmit its respective request when the in-vehicle control system is in a first state after a second state in which at least one of the client controllers was unable to transmit its respective request and another one of the client controllers that are pre-configured to participate in execution of the distributed function transmitted its respective request. Thus, the enabling of the distributed function can be made robust to inactivity of client controllers, e.g. due to delayed start-up, entry into a sleep mode etc.
In an embodiment, the host controller is configured to broadcast a predetermined plurality of signals for configuring all of the client controllers, including said signal, in response to the request. In this embodiment the broadcast may be composed independent of the distributed function, e.g. to configure all client controllers, not just those involved in distributed functions.
In an embodiment, the host controller is configured to broadcast, in response to the requests or the respective requests, selectively said signal or a plurality of signals including said signal, selected dependent on the client controllers that are pre-configured to participate in execution of the distributed function and have transmitted the requests or the respective requests. In this way the required amount of communication can be reduced.
In an embodiment, each of the client controllers that are pre configured to participate in execution of the distributed function are configured to transmit a respective request, wherein each of the client controllers that are pre-configured to participate in execution of the distributed function is configured to suppress transmission of its respective request upon detection that the host controller has started broadcasting the predetermined plurality of signals. . In this way the required amount of communication can be reduced.
In an embodiment, the first one of the client controllers is configured to stop the request after the first one of the client controllers has received the signal for the distributed function at least twice. This makes it possible to detect errors in reception of the broadcast by comparing received signals.
In an embodiment, at least one of the client controllers is configured to include an indication of a variant type of the at least one first client controller in the request. This makes it possible for the host controller to select the broadcasted signal dependent on the variant type. In a further embodiment, the host controller is configured to select the version of the
distributed function dependent on the variant type indicated by the request and to represent the selected version in the signal.
In an embodiment, the host controller stores information indicating associations between types of client controllers with enabling distributed functions, the host controller being configured, in response to determining that a client controller that has sent the request is associated with enabling the distributed function, to represent in the signal that execution of the distributed function is enabled, even if the distributed function was not previously enabled. This makes it possible to control the host controller to enable simply by installing the client controller.
The in-vehicle system may provide for a plurality of distributed functions. In this case the different distributed functions may be enabled using a single broadcasted stream of signals.
A method is provided to install an additional client controller in a vehicle to participate in performing a distributed function, wherein the additional client controller is installed after the vehicle has been has been in operational use without the additional client controller, wherein the vehicle as used in the operational use comprises an in-vehicle control system having a communication network, a host controller coupled to the communication network and client controllers coupled to the communication network, the client controllers including at least one further client controller that is pre configured to participate in performing the distributed function, the method comprising:
- installing the additional client controller in the vehicle after the vehicle has been has been in operational use, including placing the additional client controller in communication with the communication network of the in-vehicle control system without enabling the at least one further client controller to perform the distributed function;
- automatically enabling the additional client controller and the at least one further client controller to participate in performing the
distributed function after powering up the vehicle after the installation of the additional client controller, by
- transmitting a request from the additional chent controller and/or the at least one further client controller via the communication network, addressed to the host controller, when the in-vehicle control system has entered a predetermined state during or after said powering up;
- broadcasting the signal for the distributed function to all of the client controllers in response to the request, wherein the signal represents that the distributed function is enabled and/or according to which version the distributed function is enabled;
- each of the additional chent controllers and the at least one further client controller enabling participation in execution of the distributed function, and/or set a version of the participation that is enabled, in response to receiving the signal from said broadcasting;
- stop broadcasting of the signal after the additional client controller and the at least one further client controller that has or have transmitted the requests or requests has or have stopped its request or their requests.
This may simplify the work that has to be done by the engineers that add functions after the vehicle has been in use after manufacture. The method comprises a method of enabling functions automatically.
Brief description of the drawing
These and other objects and advantageous aspects will become apparent from a detailed description of exemplary embodiments with reference to the following figures.
Figure 1 shows an in-vehicle system
Figure 2 shows a flow-chart of client controller operation
Detailed description of exemplary embodiments
Figure 1 shows an in-vehicle system of a road vehicle, comprising a communication network 10, a host controller 12, chent controllers 14 of vehicle sub-systems 16 and components 18 such as sensors, switches, actuators. Client controllers 14 each comprise a non-volatile memory 14a (shown in only one client controller 14. Client controllers 14 are coupled to their respective sub-systems 16 and to communication network 10. Host controller 12 and components 18 are similarly coupled to communication network 10. Host controller 12 comprises a memory 12a. Controllers 12, 14 may be individual hardware units pre-programmed or pre-designed to perform one or more functions, e.g. a hardware unit with an embedded computer program. Some different controllers 12, 14 may refer to different computer programs in combination with the same hardware unit.
Sub-systems 16 and components 18 are used to perform functions of the in-vehicle system. The notions of sub-system 16 and function are distinct, although for many functions the core of the function is performed by a sub-system 16 and/or chent controller 14 dedicated to that function. Vehicle sub-systems 16 may be sub-systems such as a gearbox sub-system, an airbag sub-system, a Predictive Cruise Control sub-system, an Adaptive Cruise Control, a Lane departure warning sub-system, a tyre pressure monitoring sub-system, a Digital Tachograph sub-system, an infotainment system etc.
But although the core of the function is usually located in one chent controller 14, for distributed functions a sub-set of the client controllers that contains multiple client controllers 14 and/or components 18 may be involved in executing a particular function. Smaller parts of the execution of
the distributed function may be hosted in other client controllers 14 of such a sub-set, which may be standard client controllers 14 that are preprogrammed to execute parts of a plurality of different functions.
The functions include obligatory functions and optional functions. Each optional function will only be executed if it has been chosen to pre configure and enable the in-vehicle system to perform the function, e.g. because a vehicle user has selected this when the vehicle is ordered or updated. A function is said to be pre-configured if the system is able to execute the function and it is said to be enabled if it is allowed to execute the function. (It should be noted that, as used herein, being “(pre-) configured” to perform a function or action refers to the presence of hardware and/or software to perform that function or action, but not to final enabhng to perform the function, e.g. by setting a parameter value that indicates that it is allowed to perform the function. This should be distinguished from art wherein “configuring” is sometimes used to refer to setting any parameter. Where needed to distinguish “enabling”, the term “preconfiguring” will be used here for configuring without enabling).
The implementation of the choice to pre-configure and enable the in-vehicle system to execute an optional function performed entirely by a single chent controller this involves including or omitting a dedicated optional sub-system 16 or client controller 14 for the function alone. At least one of the functions may be a distributed function, i.e. a function that requires adaptation of the operation of a plurality of client controllers to that function, or exclusive use of at least part of these client controllers for this function only, to participate in execution of (features of) the function and involves communication between these client controllers, wherein the adaptation of the operation. But for distributed functions the implementation of the choice to enable the in-vehicle system to execute an optional function is not limited to pre-configuring an individual client controller 14, i.e. including or omitting a dedicated optional sub-system 16
or client controller 14 for the function alone. Rather, it also involves enabhng the pre-programmed functionality of parts of the distributed function in a sub-set of client controllers 14 that may comprise standard sub-systems 16 and/or client controllers 14 that are involved in executing the optional function.
A client controller 14a may be designed to execute a part of a distributed function dependent on whether the client controller 14a is in a first (enabled) state, the part of a distributed function being executed when the client controller 14a is in the first (enabled) state, but not when the client controller 14a is in a second (unenabled state. Enabling a pre configured functionality of a part of a distributed function in a client controller 14a corresponds to switching the client controller from the second (unenabled) state to a first (enabled) state.
For example, the client controllers may include a cruise control client controller that is designed to perform a basic cruise control function that controls vehicle speed. Such a cruise control client controller may also be designed part of a distributed predictive cruise control function, wherein another client controller computes prediction-based information and supplies that information to the to the cruise control client controller, which uses this information to adapt cruise control operation. In this case, the client controller that computes prediction-based information may be active only if the predictive cruise control function is enabled and the operation of cruise control client controller may be adapted according to whether or not the distributed predictive cruise control function is enabled.
Dependent on whether cruise control client controller performs the basic cruise control function or the predictive cruise control function, the cruise control client controller may use different user interface display information (possibly in communication with a display client controller) and/or collect different function specific user input. When the distributed predictive cruise control function is enabled, this involves at least enabhng
this in the cruise control client controller and the other client controller that computes the prediction-based information.
In an embodiment the in-vehicle system may provide for alternative versions of execution of the function. In this embodiment at least one of the standard client controllers 14 may be preprogrammed to provide for alternative versions of execution of the part of function executed by this standard client controller 14. In this embodiment, the implementation of the choice may include enabhng execution of a specific pre-programmed version of the part of the function executed by this standard client controller 14. For example, parameter may have a value that represents level of functionality of an infotainment system from basic to more premium, or a capacity or size of the infotainment system.
The choice to enable the in-vehicle system to execute an optional function of which the execution involves parts of the execution in different client controllers 14 of sub-set of client controllers 14 may be implemented by defining a parameter whose value is used to indicate whether the function is enabled. The value of this parameter is stored at least in each of the client controllers in the sub-set that is involved in executing the function. The client controllers are enabled to execute their part of the function or not, dependent on the stored value. In the example of the predictive cruise control function this involves enabling the cruise control client controller and the other client controller that computes the prediction- based information.
In the embodiment wherein the in-vehicle system provides for alternative versions of execution of the function, the value of the parameter may be used to indicate the version of the function that is enabled. In this case, client controllers 14 in a sub-set of client controllers 14 are pre configured to execute different versions of their part of the function dependent on the stored value. The value of the parameter may be different
dependent on whether the function is enabled or not, with a plurality of values distinguishing enablement of different versions.
In an embodiment, components 18 may be pre-configured to have the same functionality independent of the functions that are enabled. In this case, the operation of components 18 will be independent of the value of parameters that indicate whether functions (or versions of the functions) are enabled. In another embodiment, components 18 may be pre-configured to set an operational configuration dependent on the value of the parameter that indicate whether functions (or versions of the functions) are executed.
In an embodiment an additional client controller is installed in the vehicle after the vehicle has been has been in operational use, e.g. after the vehicle has been driven over roads for some time. The installation may involve physically placing the additional client controller in or on the vehicle. Furthermore, it may involve updating information in host controller 12 to indicate that the client controller is present and that one or more functions that involve the additional client controller have to be enabled, or updating another controller that is used for storing such information for host controller 12. However, at least for those functions that are distributed functions, the client controllers that participate in the execution of these distributed functions need not be updated to enable execution of the distributed function.
Thus, for example, if a client controller that computes the prediction-based information for predictive cruise control is installed as an additional client controller, the host controller may be updated to indicate that the predictive cruise control function is enabled. But the cruise control client controller and the other client controller that computes the prediction- based information need not be updated to enable the distributed predictive cruise control function. This simphfies the work that has to be done by the engineers that add functions after the vehicle has been in use after
manufacture, provided that additional steps are taken by the client controllers 14 and host controller 12.
Client controllers
Figure 2 shows a flow chart of operation of client controllers 14. In a first step 21 the chent controller 14 determines whether the in-vehicle system is in a normal operating state. If so, client controller performs steps of its normal operation, symbolized by a second step 22.
If not, client controller 14 performs a third step 23 determines whether the in-vehicle system has entered a state of operation wherein enabhng is allowed. If client controller 14 determines in third step 23 that the in-vehicle system has not entered a state of operation wherein enabhng is allowed, client controller 14 returns to first step 21. In an embodiment, such an operation state is a start-up state of the vehicle, a sleep state, a standby state, and a new operational state.
In an embodiment, client controller 14 is configured to determine that the in-vehicle system has entered a state of operation wherein enabling is allowed only when the in-vehicle system enters a predetermined one of these states, such as the startup state. But preferably, client controllerl4 is pre-configured to determine that the in-vehicle system has entered a state of operation wherein enabhng is allowed when the in-vehicle system enters any one of a plurality of these states, e.g. any one of all these states. Use of a plurality has the advantage that client controller 14 need not always be active in one of the states.
If the in-vehicle system has entered a state of operation wherein enabhng is allowed, client controller 14 proceeds to a fourth step 24, and else it returns to first step 21. In fourth step 24 client controller 14 transmits a request addressed to host controller 12, for obtaining values of any updated parameters that indicate that functions are enabled or not.
This request will be referred to as “handshake request”. It should be noted that the term handshake request is used herein without implying any features of a handshake protocol. The handshake request identifies client controller 14. In an embodiment the handshake request may identify the parameters that indicate enablement of functions that client controller 14 is able to perform. In the example of the predictive cruise control function both the cruise control client controller and the client controller that computes the prediction-based information to perform this function may send a handshake request.
After fourth step 24, client controller 14 proceeds to a fifth step 25, wherein client controller 14 receives a signal from host processor, the signal indicating a parameter ID and a parameter value. If the parameter ID corresponds to a parameter ID for which client controller 14 stores a value, client controller 14 tests whether the received value differs from the stored value and if so client controller 14 sets the stored value to the received value in its non-volatile memory.
In a sixth step 26, client controller 14 tests whether client controller 14 has received values for all IDs for which client controller 14 stores values. If not, client controller 14 repeats from fifth step 25. If client controller 14 has received values for all IDs for which client controller 14 stores values, client controller 14 executes a seventh step 27 of stopping the handshake request. In this case client controller 14 may repeat from first step 21 following seventh step 27.
In an embodiment 14 client controller 14 detects that it has received values for all parameters by determining whether it has again received a signal for a first parameter, for which it has already received a signal in the same handshake request.
In an embodiment client controller 14 may be pre-configured to stop the handshake request by stopping transmission of successive handshake requests addressed to host controller 12. If the handshake
request is not stopped, client controller 14 may repeat transmission of the handshake request to ensure continuation of parameter transmission by host controller 12 until the handshake request can be stopped implicitly by not transmitting further handshake requests. In another embodiment, client controller 14 may be pre-configured to stop the handshake request by transmitting an acknowledge signal to host controller 12. The acknowledge signal may identify client controller 14.
Host controller
Host controller 12 comprises a memory 12a storing values of parameters that define the choice of enabled functions of these functions and the parameters for which different client controllers 14 need stored values. When host controller 12 receives a handshake request as transmitted by a client controller 14 in fourth step 25, host controller 12 determines the parameters for enabling or disabling functions and/or part of functions that the requesting client controller 14 is able to perform. Subsequently, host controller 12 starts broadcasting signals containing values of these parameter values. If host controller 12 receives a handshake request or handshake requests as transmitted by one or more other client controllers 14, host controller 12 determines the parameters for all of the other requesting client controllers 14 and starts broadcasting signals containing the values of these parameters as well. In an embodiment, the values of the parameters may indicate version numbers of at least part of the functions.
In the embodiment wherein client controller 14 identifies the parameters that indicate enablement of functions that client controller 14 is able to perform, host controller 12 may be configured to broadcast signals with values of parameters indicated by the handshake requests.
In an embodiment host controller 12 may additionally be configured to broadcast signals with values of further parameters for other purposes than indicating whether a function is enabled and/or the version number of the enabled function. For example, values of parameters to be used in computations may be broadcast.
Once all requesting client controllers 14 have stopped their handshake request, host controller 12 stops broadcasting the signals. Before this, host controller 12 may stop broadcasting signals with values of parameters that are not needed by any of the client controllers 14 that have not yet stopped their handshake requests.
Preferably, host controller 12 broadcasts signals for different parameters in a predetermined order of parameters, e.g. so that after broadcasting a signal for a first parameter signals for all other parameters than need to be broadcast are broadcast before the signal for the first parameter is broadcast again. Thus, if a client controller 14 stops its request upon re-encountering a signal for its parameter for which it has received a signal in response to the same handshake request, the risk is reduced that parameters will be missed.
In an embodiment, host controller 12 may be configured to set the value of a parameter to indicate that a specific function is enabled in response to reception of a handshake request. This may be used to enable a specific function automatically when a client controller 14 has been added that is associated with enabling the specific function. Herein the specific function may be executed by a combination of client controllers 14 that includes a client controller 14 that is associated with enabling the specific function. The combination may further include one or more general client controllers that are always present, and not associated with enabling the specific function. The general client controllers may be configured to execute parts of a plurality of functions, including the specific function.
Host controller 12 may be configured to set the value of a parameter to indicate that the specific function is enabled in response to reception of a handshake request from client controller 14 that is associated with enabling the specific function.
Host controller 12 may store pre-determined information to indicate which type of client controller 14 is associated with enabling which specific function or functions, if any. In that case, host controller 12 may be configured to set the value of the parameter(s) that indicate(s) that this/these function(s) are enabled in response to reception of a handshake request from a client controller 14 of that type. Alternatively or additionally, a client controller 14 may be configured to indicate in its handshake requests that the client controller 14 is associated with enabling a specific function. Host controller 12 may be configured to set the value of the parameter that indicates that this function is enabled in response to reception of the handshake request that indicates association with enabling the specific function.
After all handshake requests have been stopped, the in-vehicle may proceed to an operational state wherein client controllers 14 executed all functions for which the signals from host controller 12 have indicated that they have been enabled, if applicable according to the version that host controller 12 has indicated in a signal. Host controller 12 may be configured to broadcast a signal to all client controllers to proceed to the operational state when all handshake requests have been stopped.
Although all client controllers 14 may transmit handshake requests, this is not necessary. Alternatively, one or more of the client controllers that are preconfigured to participate in performing distributed functions are configured to transmit such requests, or only one of the client controllers that are preconfigured to participate in performing a distributed function. This enables the use of legacy client controllers without the ability
to transmit such requests and reduces communication. For legacy client controllers reception of the broadcast signal may suffice.
In the embodiment wherein each of the client controllers that are pre-configured to participate in execution of the distributed function are configured to transmit a respective request, the host controller may be configured to broadcast the signal in response to one of the respective requests or to broadcast the signal in joined response to each of a plurality of the respective requests when the in-vehicle control system has entered said predetermined state. In this way the required amount of communication can be reduced. In a further embodiment, the host controller is configured to stop broadcasting of the signal only after all of the client controllers that are pre-configured to participate in execution of the distributed function have stopped their respective requests. Thus, it can be ensured that all of these client controllers have received the broadcast.
Although transmission of the request may be limited to the same single predetermined state for all client controllers, this is not necessary. Preferably, the client controllers that are pre-configured to participate in execution of the distributed function are able to transmit their respective requests when the system has entered different ones of a predetermined sub-set of the different states. Thus, errors can be avoided if not all client controllers are active in the same state wherein enabhng is allowed. The host controller may broadcast the signal in each of such states when requested, even if it has already performed such a broadcast before in another state. Even client controllers that have already received a signal may receive the new broadcast and use it to maintain consistency with other client controller or for error detection.
The signal may be broadcast the signal in a predetermined stream of signals for configuring all of the client controllers. However, the host controller is configured to broadcast, selectively that signal or those signals
only if one or more client controllers that are able to participate in the execution of a function have transmitted requests
Although examples have been given for a single distributed function, the in-vehicle system may provide for a plurality of distributed functions. In this case the different distributed functions may be enabled using a single broadcasted stream of signals.
Claims
1. An in-vehicle control system that is configurable to enable execution of selectable ones of a plurabty of functions, including a distributed function, the in-vehicle control system comprising
- a communication network;
- a host controller coupled to the communication network;
- client controllers, coupled to the communication network, each client controller pre-configured for performing at least part of the functions, wherein
- a first one of the client controllers that are pre-configured to participate in execution of the distributed function is configured to transmit a request via the communication network, addressed to the host controller, when the in-vehicle control system has entered a predetermined state;
- each of the client controllers that are pre-configured to participate in execution of the distributed function being configured to enable participation in execution of the distributed function, and/or set a version of the participation that is enabled, each in response to receiving a same broadcasted signal from the host, when the signal represents that the distributed function is enabled and/or according to which version the distributed function is enabled;
- the first one of the client controllers that are pre-configured to participate in execution of the distributed function being configured to stop the request after the first one of the client controllers has received the signal for the distributed function;
- the host controller being configured to
- broadcast the signal for the distributed function to all of the client controllers in response to the request from the first one of the client
controllers that are p re-configured to participate in execution of the distributed function;
- stop broadcasting of the signal after the first one of the client controllers has stopped its request.
2. An in-vehicle control system according to claim 1, wherein each of the client controllers that are pre-configured to participate in execution of the distributed function is configured to transmit a respective request, the host controller being configured to broadcast the signal in response to one of the respective requests or to broadcast the signal in joined response to each of a plurality of the respective requests when the in-vehicle control system has entered said predetermined state.
3. An in-vehicle control system according to claim 2, wherein the host controller is configured to stop broadcasting of the signal only after all of the client controllers that are pre-configured to participate in execution of the distributed function have stopped their respective requests.
4. An in-vehicle control system according to claim 2, wherein each of the client controllers that are pre-configured to participate in execution of the distributed function is configured to detect whether the host controller has started broadcasting in response to the respective request from another one of the client controllers that are pre-configured to participate in execution of the distributed function and to suppress transmission of its respective request upon said detection.
5. An in-vehicle control system according to any of claims 2-4, wherein the in-vehicle control system is able to operate alternatively in different states, the client controllers that are pre-configured to participate in execution of the distributed function are able to transmit their respective
requests when the system has entered different ones of a predetermined sub-set of the different states, the host controller being configured to broadcast the signal in response to requests in each of said sub-set of states wherein at least one of the client controllers that are pre-configured to participate in execution of the distributed function has transmitted its respective request and to stop broadcasting of the signal in each of the sub set of states after all of the client controllers that have transmitted their respective requests when the system has entered that state have stopped their respective request.
6. An in-vehicle control system according to claim 4, wherein at least one of the client controllers that are pre-configured to participate in execution of the distributed function is configured to transmit its respective request when the in-vehicle control system is in a first state after a second state in which at least one of the client controllers was unable to transmit its respective request and another one of the chent controllers that are pre- configured to participate in execution of the distributed function transmitted its respective request.
7. An in-vehicle control system according to any one of the preceding claims, wherein the host controller is configured to broadcast a predetermined plurality of signals for configuring all of the chent controllers, including said signal, in response to the request.
8. An in-vehicle control system according to any one of claims 1-6, wherein the host controller is configured to broadcast, in response to the requests or the respective requests, selectively said signal or a plurality of signals including said signal, selected dependent on the client controllers that are pre-configured to participate in execution of the distributed function and have transmitted the requests or the respective requests.
9. An in-vehicle control system according to claim 7, wherein each of the client controllers that are pre-configured to participate in execution of the distributed function are configured to transmit a respective request, wherein each of the client controllers that are pre-configured to participate in execution of the distributed function is configured to suppress transmission of its respective request upon detection that the host controller has started broadcasting the predetermined plurality of signals.
10. An in-vehicle control system according to any one of the preceding claims, wherein the first one of the client controllers is configured to stop the request after the first one of the client controllers has received the signal for the distributed function at least twice.
11. An in-vehicle control system according to any of the preceding claims, wherein each of the first client controllers comprises a memory, the client controller being configured to store the indication whether and/or according to which version of the distributed function in a memory of the client controller in response to said broadcasted signal, and to participate in execution of the distributed function dependent on the stored indication.
12. An in-vehicle control system according to any of the preceding claims, wherein at least one of the client controllers is configured to include an indication of a variant type of the at least one first client controller in the request.
13. An in-vehicle control system according to claim 12, wherein the host controller is configured to select the version of the distributed function dependent on the variant type indicated by the request and to represent the selected version in the signal.
14. An in-vehicle control system according to any of the preceding claims, wherein the host controller stores information indicating associations between types of client controllers with enabling distributed functions, the host controller being configured, in response to determining that a client controller that has sent the request is associated with enabling the distributed function, to represent in the signal that execution of the distributed function is enabled, even if the distributed function was not previously enabled.
15. An in-vehicle control system according to any of the preceding claims, wherein the plurality of functions includes a further distributed function, the client controllers comprising further client controllers that are pre-configured to participate in execution of the further distributed function, wherein the further client controllers are configured to transmit a further request to the host controller when the in-vehicle control system has entered the predetermined state, each of the further client controllers that are pre configured to participate in execution of the further distributed function being configured to enable participation in execution of the distributed function, and/or set a version of the participation that is enabled, in response to receiving a same further broadcasted signal from the host, when the further signal represents that the further distributed function is enabled and/or according to which version the further distributed function is enabled; the host controller being configured to broadcast the signal and the signal for the further distributed function in a same broadcast.
16. A method of instalhng an additional client controller in a vehicle and enabhng the additional client controller to participate in performing a distributed function, wherein the additional client controller is installed after the vehicle has been has been in operational use without the additional client controller, wherein the vehicle comprises an in-vehicle control system
having a communication network, a host controller coupled to the communication network and client controllers coupled to the communication network, the client controllers including at least one further client controller that is pre-configured to participate in performing the distributed function, the method comprising:
- installing the additional chent controller in the vehicle after the vehicle has been has been in operational use, including placing the additional client controller in communication with the communication network of the in- vehicle control system without enabling the at least one further client controller to perform the distributed function;
- automatically enabling the additional client controller and the at least one further client controller to participate in performing the distributed function after powering up the vehicle after the installation of the additional client controller, by
- transmitting a request from the additional client controller and/or the at least one further client controller via the communication network, addressed to the host controller, when the in-vehicle control system has entered a predetermined state during or after said powering up;
- broadcasting the signal for the distributed function to all of the client controllers in response to the request, wherein the signal represents that the distributed function is enabled and/or according to which version the distributed function is enabled;
- each of the additional chent controller and the at least one further client controller enabling participation in execution of the distributed function, and/or set a version of the participation that is enabled, in response to receiving the signal from said broadcasting;
- stop broadcasting of the signal after the additional chent controller and the at least one further client controller that has or have transmitted the request or requests has or have stopped its request or their requests.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NL2028133A NL2028133B1 (en) | 2021-05-03 | 2021-05-03 | In-vehicle control system and method of adding a client controller in a vehicle |
NL2028133 | 2021-05-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022235156A1 true WO2022235156A1 (en) | 2022-11-10 |
Family
ID=77519707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/NL2022/050239 WO2022235156A1 (en) | 2021-05-03 | 2022-05-02 | In-vehicle control system and method of adding a client controller in a vehicle |
Country Status (2)
Country | Link |
---|---|
NL (1) | NL2028133B1 (en) |
WO (1) | WO2022235156A1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6904339B2 (en) | 2002-05-03 | 2005-06-07 | Daimlerchrysler Ag | Method for coding control devices in means of conveyance |
US20140143839A1 (en) | 2011-11-16 | 2014-05-22 | Flextronics Ap, Llc. | On board vehicle remote control module |
US20150232045A1 (en) * | 2014-02-20 | 2015-08-20 | Ford Global Technologies, Llc | Occupant communication system and control method |
CN105752000A (en) * | 2016-01-11 | 2016-07-13 | 苏州恒美电子科技有限公司 | Automobile master control system |
WO2021047254A1 (en) * | 2019-09-12 | 2021-03-18 | 华为技术有限公司 | System and method for implementing electronic control function in vehicle, and vehicle |
-
2021
- 2021-05-03 NL NL2028133A patent/NL2028133B1/en active
-
2022
- 2022-05-02 WO PCT/NL2022/050239 patent/WO2022235156A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6904339B2 (en) | 2002-05-03 | 2005-06-07 | Daimlerchrysler Ag | Method for coding control devices in means of conveyance |
US20140143839A1 (en) | 2011-11-16 | 2014-05-22 | Flextronics Ap, Llc. | On board vehicle remote control module |
US20150232045A1 (en) * | 2014-02-20 | 2015-08-20 | Ford Global Technologies, Llc | Occupant communication system and control method |
CN105752000A (en) * | 2016-01-11 | 2016-07-13 | 苏州恒美电子科技有限公司 | Automobile master control system |
WO2021047254A1 (en) * | 2019-09-12 | 2021-03-18 | 华为技术有限公司 | System and method for implementing electronic control function in vehicle, and vehicle |
EP3854636A1 (en) * | 2019-09-12 | 2021-07-28 | Huawei Technologies Co., Ltd. | System and method for implementing electronic control function in vehicle, and vehicle |
Also Published As
Publication number | Publication date |
---|---|
NL2028133B1 (en) | 2022-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4701977B2 (en) | In-vehicle network diagnosis system and in-vehicle control device | |
EP3933576A1 (en) | Server, managing method, non-transitory storage medium, software updating device, center, and over-the-air master | |
US8561054B2 (en) | Method for updating software components | |
US7493198B2 (en) | Method and device for a vehicle-related telematics service | |
EP3399410A1 (en) | Method and system for software installation in a vehicle | |
US20220012048A1 (en) | Software update apparatus, software update method, non-transitory storage medium storing program, vehicle, and ota master | |
US9446634B2 (en) | Universal tire pressure sensor | |
US9446635B2 (en) | Universal tire pressure sensor | |
CN112198863A (en) | Diagnostic function control method, system, storage medium, vehicle-mounted communication box and vehicle | |
US20190256109A1 (en) | Control apparatus, control method, and computer program | |
CN113626056A (en) | Vehicle remote upgrading method and device, electronic equipment, vehicle-mounted terminal and storage medium | |
US20150277891A1 (en) | Electronic controller software coding system and method for vehicle control | |
EP3051419B1 (en) | Vehicle computer system with data backup | |
US20230153097A1 (en) | Devices and method for managing electronic control units of a motor vehicle | |
CN112074446B (en) | Determining whether vehicles should be configured for different regions | |
CN111788810B (en) | Control system for a motor vehicle, method for operating a control system and motor vehicle having such a control system | |
CN111190610B (en) | Vehicle-mounted system | |
NL2028133B1 (en) | In-vehicle control system and method of adding a client controller in a vehicle | |
US9501440B2 (en) | Slave control device and method for programming a slave control device | |
KR102109125B1 (en) | Method for managing state of ECU in vehicle based on automotive open system architecture | |
US11853742B2 (en) | Server, software update system, distribution method, and non-transitory storage medium | |
JP7484791B2 (en) | OTA master, update control method, and update control program | |
JP7509059B2 (en) | Center, update management method, and update management program | |
CN110399240B (en) | Vehicle electronic device and method for processing abnormal operation of vehicle electronic device | |
CN115878160B (en) | ECU (electronic control Unit) upgrading method and system based on CAN (controller area network) communication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22721505 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 22721505 Country of ref document: EP Kind code of ref document: A1 |