SE542382C2 - Method and server arrangement for producing a control unit for use in a vehicle - Google Patents

Method and server arrangement for producing a control unit for use in a vehicle

Info

Publication number
SE542382C2
SE542382C2 SE1750960A SE1750960A SE542382C2 SE 542382 C2 SE542382 C2 SE 542382C2 SE 1750960 A SE1750960 A SE 1750960A SE 1750960 A SE1750960 A SE 1750960A SE 542382 C2 SE542382 C2 SE 542382C2
Authority
SE
Sweden
Prior art keywords
hardware component
generic hardware
control unit
vehicle
server arrangement
Prior art date
Application number
SE1750960A
Other versions
SE1750960A1 (en
Inventor
Alexander Stojcevski
Lars Andersson
Original Assignee
Scania Cv Ab
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Scania Cv Ab filed Critical Scania Cv Ab
Priority to SE1750960A priority Critical patent/SE542382C2/en
Priority to DE102018005550.8A priority patent/DE102018005550A1/en
Publication of SE1750960A1 publication Critical patent/SE1750960A1/en
Publication of SE542382C2 publication Critical patent/SE542382C2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

The present disclosure relates to methods for producing a control unit (10) for use in a vehicle (1), the control unit comprising a generic hardware component (10b) and a software package (10a). The present disclosure also relates to a method for controlling the production comprising receiving (S1), from a user, a request for producing the control unit, wherein the request comprises a component identifier, and establishing (S3) a connection with the generic hardware component. The method further comprises retrieving (S4), a unique hardware identifier and receiving (S5b), from the user, an authentication code, verifying (S6) the request based on the unique hardware identifier and the authentication code, and creating (S7) a software package (10a) based on the unique hardware identifier and the component identifier. The disclosure also relates to corresponding devices. Furthermore, the disclosure relates to a computer program and a computer program product implementing the methods.

Description

Method and server arrangement for producing a control unit for use in a vehicle Technical Field The present disclosure relates to a method for producing a control unit for use in a vehicle, wherein the produced control unit will comprise a generic hardware component and a software package installed in the generic hardware component. The present disclosure also relates to a method for controlling the production. The disclosure also relates to a generic hardware component configured to produce a control unit, and to a system arranged to control production of a control unit. Furthermore, the disclosure relates to a computer program and a computer program product implementing the methods.
Background An Electrical Control Unit, ECU, is an embedded electronic device, basically a digital computer that controls one or more electrical systems (or electrical sub systems) of a vehicle based on e.g. information read from sensors placed at various parts and in different components of the vehicle. In more advanced vehicles such as buses, lorries, trucks, work vehicles and advanced cars, a network such as a Controller Area Network, CAN, is used to handle the communication between various ECUs in the vehicle. The ECUs that are connected to the CAN may handle many functions such as functions related to change of gear, steering, engine control, braking, climate-server arrangements, lighting, driver comfort, alarms and safety.
The number of ECUs per motor vehicle is increasing with new technology. Today, there are about 50-100 ECU per vehicle of which two are dedicated for the industrial engine of the vehicle. Different types of ECUs are used for the different vehicle functions. Examples of different types of ECUs are Electronic/engine Control Module (ECM), Powertrain Control Module (PCM), Transmission Control Module (TCM), Brake Control Module (BCM or EBCM), Central Control Module (CCM), Central Timing Module (CTM), General Electronic Module (GEM), Body Control Module (BCM), Suspension Control Module (SCM), control unit, or control module. Each type of ECU will typically exist in multiple variants and there are in average 10-20 variants of each ECU. Thus, a vehicle of today may comprise 40 different ECUs. In addition, the number of ECUs per vehicle and the variants of the different ECUs are continuously increasing.
The ECUs are security critical components that control the operation of the vehicle. Hence, it is important that those devices are authentic, i.e. that they are produced and sealed by an Original Equipment Manufacturer, OEM, otherwise the safety of the vehicle cannot be assured. Production comprises assembling the hardware and securely installing relevant software for a particular application. As of today, the ECUs are generally produced at the OEM’s premises and then shipped to workshops for installation. The reason for this is that the OEM needs to have full control of all parts of the production, including the installation of software, in order to be able to guarantee safety.
A problem in the ECU spare part process is that once an ECU (including hardware and software) is produced, it is not renewable when new upgrades are available, which typically happen every 6th month. The ECUs of old versions then get useless and are thrown away. This solution has an unnecessary environmental impact.
Furthermore, a workshop can typically not have all variants of all types of ECUs in stock. Thus, when an ECU needs to be replaced, the workshop might need to order the particular ECU from the OEM. Depending on where on the globe the workshop is placed the order to delivery process will take between 2-15 days. In the meantime, the vehicle might have to be taken out of use.
Summary It is an object of the disclosure to improve the spare part process for ECUs. It is a further object to provide a way of producing ECUs with reduced lead time, increased sustainability, increased revenue and profit margin, and improved customer service.
These objects and others are at least partly achieved through a method according to a first aspect, for controlling production of a control unit for use in a vehicle, wherein the produced control unit will comprise a generic hardware component and a software package installed in the generic hardware component. The method comprises receiving, from a user, a request for producing the control unit, wherein the request comprises a component identifier, and establishing a connection with the generic hardware component to be used in the control unit. The method further comprises retrieving, from the generic hardware component, a unique hardware identifier and receiving, from the user, an authentication code, verifying the request for producing the control unit based on the unique hardware identifier and the authentication code, and creating, upon the verification being successful, a software package based on the unique hardware identifier and the component identifier. Then, the method comprises downloading the created software package in the generic hardware component, and receiving a confirmation indicating that the software package has been successfully installed in the generic hardware component.
The method makes it possible to produce control units on site e.g. in workshops, starting from generic hardware components compliant with different types and variants of ECUs may be used in the production. By producing the control units in the workshop from a limited number of generic hardware components it will be possible to have generic hardware components on stock, and update the software depending on the demand. It results in a flexible, fast and environmental solution. It will generate cost savings for distributors, dealers, workshops, Original Equipment Manufacturers, OEMs, and it will improve customer satisfaction.
By using generic hardware components for producing different types and variants of ECUs, the generic hardware components could be stored in considerable lower numbers, which will save a lot of money due to that less capital will be tied up in huge storage and even the facilities for storage could be decreased. Furthermore, the lead times will decrease widely. Hence, with the proposed solution, the lead time could be reduced to hours or even down to a couple of minutes. Also scrapping due to that new software has been developed will vanish. This will lower the cost even more and it will also be beneficial for the environment. All of this will benefit the end customer and increase the customers uptime.
According to some embodiments, the method comprises, identifying the generic hardware component and/or a software version of the control unit to be produced based on the component identifier. Hence, the user may be guided to select the correct generic hardware component needed to produce a particular control unit.
According to some embodiments, the establishing comprises communicating with a generic hardware component being installed in the vehicle. Thereby, a generic hardware component installed in a vehicle could be reused for producing a new control unit. Hence a generic hardware component may be re-sold as a new control unit (i.e. as a complete ECU) twice, or more. The cost for toll, transportation and other cost for logistics in the delivery chain will be taken only once.
According to some embodiments, the establishing comprises establishing communication to the generic hardware component using a Vehicle Communication Interface, VCI, network interface. Thus, the production may use already available communication interfaces.
According to some embodiments, the establishing comprises establishing communication to a generic hardware component from a remote location. Hence, the control unit may be produced at the customer, while the production may be controlled from a remote location.
According to some embodiments, the verifying comprises at least verifying that the request is supported. Thereby, the user may get an error message if the requested control unit cannot be produced.
According to some embodiments, the verifying comprises verifying the authenticity of the generic hardware component. Thereby, it can be assured that software is not installed in counterfeit generic hardware components.
According to some embodiments, the verifying comprises verifying the compatibility of the request and the generic hardware component. Thereby, the quality of the production will be assured.
According to some embodiments, the verifying comprises verifying that a cost associated with the production is approved. Hence, the risk of not getting paid for the production is decreased.
According to some embodiments, the creating comprises identifying, based on the request, one or more software components, retrieving the identified software components from a data storage and putting together the retrieved software components into a software package.
According to some embodiments, the method comprises obtaining a vehicle configuration of the vehicle. Hence, the software package may be adapted to be compliant with a particular vehicle.
According to some embodiments, the method comprises initiating installation of the software package in the generic hardware component. Thereby, the production may be fully controlled from a server arrangement controlling the production.
According to some embodiments, the method comprises updating a database with information associated with the generic hardware component and/or the software package. Hence, the OEM or vehicle manufacturer may keep track of produced unit and also which unit is installed in each particular vehicle.
According to some embodiments, the method comprises, sending to a user a confirmation indicating that the production has been successfully completed. Thus, the user may be informed when the production is complete and the vehicle is ready for use.
According to a second aspect, the disclosure proposes a method for producing a control unit for use in a vehicle, wherein the produced control unit will comprise a generic hardware component and a software package installed in the generic hardware component. The method comprising, at the generic hardware component, establishing a connection with a server arrangement configured to control the production, providing a unique hardware identifier to the server arrangement, receiving the software package from the server arrangement, wherein the software package has been created in the server arrangement based on the unique hardware identifier, and installing the software package in the generic hardware component, whereby the control unit is produced.
A generic hardware component may though execution of these steps be used for producing a control unit, using the method above.
According to some embodiments, the method comprises at the generic hardware component, receiving a request to provide the unique hardware identifier to the server arrangement, and providing the hardware identifier in response to receiving the request. Thus, the generic hardware component does not need to be explicitly adapted to do this, instead the process may be controlled by a server arrangement.
According to some embodiments, the method comprises at the generic hardware component, sending a confirmation indicating that the software package has been successfully installed in the generic hardware component to the server arrangement. Hence, a service provider may keep track of successfully produced control units.
According to some embodiments, the establishing comprises establishing communication using a Vehicle Communication Interface, VCI, network interface. Hence, an already existing communication may be used for the production.
According to some embodiments, the establishing comprises establishing communication to a server arrangement residing in a remote location. Thus, the vehicle does not necessarily have to be driven to a production site.
According to some embodiments, the method comprises, at the generic hardware component, providing, to the server arrangement, a vehicle configuration of the vehicle. Thereby the server arrangement can produce a control unit specifically adapted to the vehicle.
According to some embodiments, the method comprises, at the generic hardware component, receiving, from the server arrangement, an instruction initiating the installation of the software package in the generic hardware component. Hence, the production may be fully controlled from the server arrangement.
According to a third aspect, the disclosure relates to a generic hardware component configured to perform the method for use in a generic hardware component described herein.
According to a fourth aspect, the disclosure relates to a vehicle comprising the generic hardware component.
According to a fifth aspect, the disclosure relates to a computer program, characterized in code means, which when run in a computer causes the computer to execute the method according to any of the steps described herein.
According to a sixth aspect, the disclosure relates to a computer program product including a computer readable medium and the computer program.
According to a seventh aspect, the disclosure relates to a system arranged to control production of a control unit. The system comprises a communication interface, a user interface and a server arrangement. The communication interface is arranged to provide access to a generic hardware component to be used in the control unit and the user interface configured to enable communication with a user, while the server arrangement configured to perform the method described above using the user interface and the communication interface.
According to some embodiments, the system comprises the generic hardware component, wherein the generic hardware component is configured to perform the method for use in a generic hardware component described above.
According to some embodiments, the system comprises one or more data storages configured to store information associated with the generic hardware component, vehicle configuration data and software components to be used when creating the software package.
Brief description of the drawings Embodiments of the disclosure are described in more detail with reference to attached drawings illustrating examples of embodiments of the disclosure in which: Fig. 1 illustrates a system arranged to produce a control unit.
Fig. 2 illustrates a control unit produced by the system of Fig. 1 in further detail.
Fig. 3 illustrates a system arranged to produce a control unit according to an alternative embodiment.
Fig. 4 illustrates signaling in the system of Fig.1, when producing a control unit.
Fig. 5 illustrates a flow chart of the proposed method for controlling production of a control unit.
Fig. 6 illustrates a flow chart of the proposed method for producing a control unit.
Fig. 7 illustrates an example software architecture for a system implementing the proposed methods.
Detailed description The disclosure proposes a method that enables workshops to produce spare part Electrical Control Units, ECUs, on spot, instead of ordering the correct spare part ECU from a central ware house (certified by the manufacturer or OEM) as it is done today, while keeping full control of the production process. The method comprises verifying the authenticity of the hardware and at the same time creating and keeping track of the software being installed in a particular generic hardware component, such that the production is controlled in the same way as when performed on the manufacturers own premises. In other words, with this service, the replacement ECUs may be produced remotely by the manufacturer. The proposed method also enables reusing already existing ECU hardware when producing a new ECU.
For better understanding of the proposed methods, problems associated with the present solution will first be described and discussed.
An underlying problem of the distribution of spare ECUs is that there are so many versions of the ECUs. For example, there may be about five basic versions of the ECU hardware only for engines. Due to the different versions, there may be more than hundred different ECUs, even though they basically only use a few basic ECU hardware versions.
Another main issue today is new updates on ECUs, that typically occur every 6thmonth or so. When a ECU needs to be replaced it is generally desirable to install the newest version, which makes the old versions useless. Today, when an old ECU is updated to a newer version, the dealer, distributor or workshops typically scraps all old versions of the ECUs and order new ones.
In addition, when the ECU hardware version of an ECU needs to be updated, then all produced ECUs with the old hardware need to be thrown away.
As discussed above, there are also long lead times for delivery of new ECUs. Depending on in which country the customer is the lead time differs between 2 to 15 days, sometimes even more. This is because it is impossible to have all the different ECU versions in stock. Hence, to order ECUs that are not in stock from the central warehouse, including logistics to transport the spare part, will take it’s time.
There are strategies on the field to have all actual versions in stock so the workshop can act quickly to help the customer. This is very costly and both in storage volume and in tied up capital. The number of different versions is also increasing and makes this strategy impossible in the long run.
A further disadvantage of present methods of producing control units is the impact on the environment, as the environment will suffer from the scrapping method that the workshops often are forced to. The recycle methods works quite good in the Western Europe but not in the whole world.
In the following the proposed technique related to producing a control unit will be described. The control unit produced starting from a generic hardware component 10b. During production, a software package 10a implementing the function of the control unit is installed in the generic hardware component 10b, whereby a complete control unit 10 is produced. The control unit is further described in relation to Fig. 2.
Fig.1 illustrates a vehicle 1 and a system 2 arranged to produce a control unit 10, here a ECU. The produced control unit 10 will comprise a generic hardware component 10b and a software package 10a installed in the generic hardware component 10b (Fig. 2). In Fig. 1 the control unit 10 will be produced in the vehicle 1. Hence, the generic hardware component 10b to be used in the control unit 10b is arranged in the vehicle 1 during the production, as will be further explained below.
The system 2 comprises a server arrangement 20 (in Fig. 1 comprising to parts denoted 20a, 20b), a user interface 30 (in Fig. 1 comprising to parts denoted 30a, 30b), a data storage 40 and a communication interface 50.
The communication interface 50 is arranged to provide access to a generic hardware component 10b to be used in the control unit 10. In other words, the communication interface 50 is arranged to provide communication between the server arrangement 20 and the control unit 10. According to some embodiments the communication interface 50 is also arranged to provide communication between the server arrangement 20 and the vehicle 1 and/or equipment associated with the vehicle 1, such as loT devices, sensors, equipment and other systems. Thus, the communication interface 50 is according to some embodiments a device gateway that bridges the communication gap between the control unit 10 in the field (e.g. in a workshop) and the server arrangement 20, which is typically a cloud service. Hence, the server arrangement 20 and the communication interface 50 may be partly integrated.
The communication interface 50 may be wireless or wired. The communication interface 50 typically uses the CAN protocol. Examples of alternative communication protocols that may be used for the communication interface 50 are TTP (Time-Triggered Protocol), Flexray, Ethernet etc.
By systematically connecting the field and the cloud, the device gateway offers services such as locally processing the data and storing it as well as the ability to autonomously control field devices based on data input by sensors. The communication interface may comprise e.g. a Vehicle Communication Interface, VCI, i.e. a high-performance interface between the server arrangement 20 and vehicle ECU networks. A VCI provides a platform for supporting advanced vehicle diagnostics, ECU reprogramming and other functions.
The user interface 30 is configured to enable communication with a user. The user interface enables a user to communicate with the server arrangement 20. The user interface 30 may enable the user to input data and/or instructions. It may also enable the server arrangement 20 to output data to the user via the user interface 30. For example, the user interface 30 enables a user to initiate the production of a control unit 10 or it enables the server arrangement 20 to inform the user when the ECU has been produced. The user interface 30 may comprise a web interface, a mobile application and/or any other user interface. The user interface 30 may be fully or partly integrated with the server arrangement 20.
The one or more data storages 40 are configured to store information associated with the production of the control unit 10. The one or more data storages 40 are configured to store information associated with the generic hardware component 10b, vehicle configuration data and software components to be used when creating the software package 10a. The one or more data storages 40 may comprise a data storage in the workshop and/or a data storage at the manufacturer or OEM. The one or more data storages 40 are typically accessible by the server arrangement 20. Some of the one or more data storages 40 may be included in the server arrangement 20.
The server arrangement 20 is configured to control the production of the control unit 10. The server arrangement 20 may comprise one or more local parts 20a (e.g. located at a workshop) and/or one or more remote parts 20b. The remote parts 20b may be located at the manufacturer’s, at an OEM or in a cloud environment. The local part 20a is e.g. a control PC or a local server. The remote part 20b is e.g. a backend server, which might be a dedicated server arrangement or a cloud implemented server arrangement.
The server arrangement 20 comprises various electronic components. The most important of those components is typically processing circuitry, e.g. one or more CPUs, along with a memory e.g. EPROM or a Flash memory chip. According to some embodiments the memory stores a computer program, characterized in code means, which when run in a computer causes the computer to execute the proposed method (Fig. 5). The server arrangement 20 also comprises an interface, e.g. a network interface, for communicating with the other components in the system 2. In a cloud implementation corresponding functionality is provided in the cloud i.e. by a group of servers.
All communication between the communication interface 50 and the server arrangement 20 is typically private, secure and dedicated. The communication interface 50 is e.g. identified and/or authenticated using a multifactor hardware security solution. All traffic to and from communication interface 50 and the server arrangement 20 (e.g. the cloud) should be encrypted over e.g. Transport Layer Security (TLS). On the remote side of the server arrangement 20 (if present, there is typically a DDoS defense system implemented) all necessary data will also be encrypted when it stored in the one or more data storages 40. The server arrangement 20 may also comprise an advanced threat analytics service that monitors normal usage patterns for networks, systems, and users, and uses machine learning models to flag any behavior that is out of the ordinary.
The server arrangement 20 is configured to perform all aspects of the method for controlling production of a control unit described in this disclosure. The functionality of the server arrangement 20 will be further described in relation to Fig. 4, Fig. 5 and Fig. 6.
Fig. 2 illustrates an exemplary control unit 10, here an ECU, produced by performing the proposed methods in more detail. The ECU comprises a generic hardware component 10b and a software package 10a installed in the generic hardware component.
The generic hardware component 10b basically comprises various electronic components on a Printed Circuit Board, PCB. The most important of those components is typically a processing unit/circuitry 10b2 e.g. a microprocessor, along with a memory 10b3 e.g. EPROM or a Flash memory chip. The generic hardware component 10b is generic in the sense that it may be used for producing different types of control units, such as an Electronic/engine Control Module (ECM), Powertrain Control Module (PCM), Transmission Control Module (TCM), Brake Control Module (BCM or EBCM), Central Control Module (CCM), Central Timing Module (CTM), General Electronic Module (GEM), Body Control Module (BCM), Suspension Control Module (SCM).
The OEM typically provides a limited number of different generic hardware components. Those may e.g. differ in that they comprise different additional generic hardware components such as sensors, actuators, circuits etc. When producing one particular control unit, one or more of these generic hardware components is suitable for use in the specific control unit.
When a software package 10a is installed in the generic hardware component 10b, then a complete control unit 10 is produced. The software package 10a comprises computer code required to perform functions of a particular ECU type, e.g. to control the engine or an automatic driving function of a vehicle.
However, the generic hardware component 10b, does already before the proposed method is performed comprise some basic software. The basic software (also called firmware) is typically lower-level software code that is configured to run in the microcontroller. The basic software comprises boot software and software required to perform the method for producing a control unit 10, that will be described in Fig. 4. More specifically, the basic software comprises software required to start up the generic hardware component 10b, to communicate with the server arrangement 20 and to install the software package 10a.
The control unit typically also comprises a communication interface 10b1 e.g. a wireless communication interface or a CAN bus interface. The communication interface is configured for communication with the communication interface 50 of the system 2 (Fig. 1).
The proposed methods for producing a control unit 10 for use in a vehicle 1 and for controlling the production will now be explained referring to Figs. 4-6, and with some reference to the other figures. The produced control unit 10 will comprise a generic hardware component 10b and a software package 10a installed in the generic hardware component 10b (Fig. 2). The control is e.g. performed by the abovementioned server arrangement 20 and the method for producing the control unit is e.g. performed in the above-mentioned generic hardware component 10b for use in the produced control unit 10. The methods will herein be described with reference to Fig. 1. However, it must be readily understood that the methods are not limited thereto.
Fig. 4 illustrates signaling in the system 2 of Fig. 1, when producing the control unit 10. Corresponding method steps seen from the server arrangement 20 and the generic hardware component 10b respectively are illustrated in Fig. 5 and Fig. 6, where Fig. 5 illustrates a flow chart of the proposed method for controlling production of a control unit and where Fig. 6 illustrates a flow chart of the proposed method for producing a control unit.
The method is typically performed when a ECU of the vehicle 1 needs to be replaced. In this first example, the spare part control unit 10 is created starting from a generic hardware component being mounted in the vehicle 1. The method is typically initiated by a user that places a command in the user interface 30 (Fig. 1). Hence, the method in the server arrangement comprises receiving S1, from a user, a request for producing the control unit 10, wherein the request comprises a component identifier. The request is e.g. sent via a user interface such as a web interface, via an app etc. In other words, a user that may e.g. be a technician in a workshop initiates the production by executing a command in a user interface e.g. a service called ”ECU on demand” or similar. Such a service may comprise different options e.g. “create spare part in vehicle”, “create spare part in vehicle via database” or “create spare part for direct sales or stock”. In the following example, the option “create spare part in vehicle” will be described. The other examples will be described below. The user may also be requested to input other information that may be required for the production such as a vehicle identifier. This information may also be included in the request.
The component identifier is e.g. a product identifier, product ID, provided by the manufacturer. From the product ID, the software package 10a and a generic hardware component 10b required to produce the control unit may be identified. This may be done e.g. by reading information (e.g. a vehicle configuration object) from a database e.g. provided by the manufacturer. For example, the so-called SOPS (Scania On-board Product Specification) may be read. A SOPS is a configuration file that describes the vehicle configuration of an individual vehicle in detail. The SOPS may be seen as the DNA of a vehicle. The SOPS holds the detailed configuration of the vehicle and is consequently updated every time a control unit is replaced or updated, production/replacement of control unit.
The user may then be informed about which generic hardware component 10b is needed to produce the control unit 10, e.g. it may be displayed in the user interface that was used to send the request. If the required generic hardware component 10b is different from the existing generic hardware component in the vehicle 1, the user may then need to first exchange the generic hardware component 10b, before the production can start. In other words, according to some embodiments the method in the server arrangement 20 comprises, identifying S2 the generic hardware component 10b and/or a software version of the control unit 10 to be produced based on the component identifier. The user may already at this stage be requested to approve the generic hardware component 10b and/or a software version of the control unit 10 and/or a cost associated with the production.
Note that in some cases the old or existing generic hardware component 10b may be reused when producing the control unit 10. Alternatively, the user already knows which generic hardware component 10b is needed. Then the user may have mounted the generic hardware component 10b in the vehicle 1 before sending the request.
Once the generic hardware component 10b is installed in the vehicle 1, the creation and installation of the software package 10a may start. In the example of Fig. 1 the installation takes place in the vehicle 1. To install the software package 10a in the generic hardware component 10b, the server arrangement 20 needs to be able to communicate with the generic hardware component 10b, which is typically done via the communication interface 50. For example, a specific cable is connected between the communication interface 50 and the CAN bus, e.g. using a Vehicle Communication Interface, VCI, network interface. Another possibility is that the communication goes via a wireless connection. In other words, according to some embodiments the method in the server arrangement comprises establishing S3 a connection with the generic hardware component 10b to be used in the control unit 10a. Consequently, the method in the generic hardware component 10b also comprises the corresponding step of establishing S11 a connection with server arrangement 20 configured to control the production. The establishing S3, S11 according to some embodiments comprises communicating with a generic hardware component 10b being installed in the vehicle 1.
The server arrangement 20, the vehicle 1 and the user may not necessarily be physically located at the same place. With the proposed methods, it is possible to establish a connection to a control unit 10 installed in a vehicle located at a location remote from the server arrangement 20. For example, the establishing S3 comprises that a cloud server (corresponding to server arrangement 20 of Fig. 1) establishes communication with a device gateway (corresponding to communication interface 50 of Fig. 1). This may be done via a connection to the CAN bus of a vehicle 1. In other words, according to some embodiments the establishing S3 comprises establishing from the server arrangement 20 communication to a control unit 10 residing in a remote location.
For the production to be secure, both the generic hardware component 10b and the installation of the software package 10a needs to be controlled. Thus, when connection between the server arrangement 20 and the hardware has been established, the hardware needs to be verified, e.g. in order to make sure that the hardware is an authentic hardware provided by an Original Equipment Manufacturer, OEM. This is for example done by the server arrangement 20 requesting the generic hardware component 10b to send one or more unique id-string(s) to the server arrangement. The generic hardware component 10b then responds by sending the unique id-string(s) in return to the server arrangement 20.
Thus, according to some embodiments the method in the generic hardware component 10b comprises receiving S12a a request to provide the unique hardware identifier to the server arrangement 20, and providing S12b the hardware identifier in response to the receiving S12a. In other words, according to some embodiments the server arrangement 20 first requests the unique hardware identifier and obtains or receives the unique hardware identifier in response to the request. Alternatively, the generic hardware component provides the unique hardware identifier without a preceding request.
In summary, the method in the server arrangement 20 comprises retrieving S4, from the generic hardware component 10b, a unique hardware identifier and the method in the generic hardware component 10b comprises providing S22b a unique hardware identifier to the server arrangement 20.
The installation and creation of the software package 10a also needs to be controlled. Typically, the OEM needs to have control over when and where control units are produced. Typically, the OEM wants to be able to charge for every produced control unit 10. The OEM might also want to trace which particular generic hardware component 10b and software package 10a that is included in every specific control unit 10. This may e.g. be solved using a one-time verification code issued by the OEM for every production. Hence, a user that wants to produce a control unit needs to buy the one-time code and the generic hardware component 10b, from the OEM or manufacturer. Then, the user may produce the control unit by performing this method. In some cases, an old generic hardware component may be reused. Then the user only needs to buy the one-time code. Alternatively, another type of authentication algorithm may be used, e.g. to ensure that the user is allowed to install the software package 10a.
Hence, the method in the server arrangement comprises receiving S5b, from the user, an authentication code and verifying S6 the request for producing the control unit 19 based on the unique hardware identifier 12b and the authentication code. According to some embodiments the authentication code is provided already when requesting S1 the production. The purpose of the verifying S6, is for example to make sure that the generic hardware component 10b is authentic and to verify that the user is authorized to install a software package in the generic hardware component 10b. This might also include verifying that a cost associated with the production is approved and/or verifying that the user is a certified workshop. However, the verifying is not limited thereto, but may serve other purposes as well.
One basic criterion that needs to be fulfilled for being able to produce the requested control unit 10, is for example, that the requested function is supported. This means e.g. verifying that the server arrangement 20 and the generic hardware component 10b are compatible and that the software required for creating the software package 10a is available to the server arrangement 20. In other words, according to some embodiment the verifying S6 comprises verifying that the request is supported. If this is not the case, an error message will typically be sent to the user.
When the request has been verified the creation of the software package starts. In other words, the method in the server arrangement 20 comprises creating S7, upon the verification being successful, a software package 10a based on the unique hardware identifier and the component identifier. This typically means that a software package order is created in a backend part of the server arrangement 20.
The creating S7 for example comprises identifying, based on the request, one or more software components and retrieving the identified software components from a data storage. The software components are typically compiled software modules implementing the specific functionality of the control unit 10. The specific functionality is related to the particular type of control unit and may comprise but is not limited to engine control, powertrain control, transmission control, brake control, central control etc.
The data storage is e.g. a data storage provided by the manufacturer. The creating then comprises putting together the retrieved software components into a software package 10a being ready for installation in the generic hardware component 10b. The software corresponds to a specific spare part, corresponding to a specific spare part number (Cpl. No.). The software may also, using the unique hardware identifier, be adapted to the specific vehicle/machine where it shall be installed. Hence, the produced control unit will be completely configured for the vehicle/machine in which it will be used.
Typically, some vehicle specific data may also be needed for creating and installing the software package 10a in the generic hardware component 10b. In the example of Fig. 1 the server arrangement 20 is connected to the vehicle 1. Then such data may be obtained from the vehicle 1. Thus, the method in the generic hardware component 10b according to some embodiments comprises providing S14 a vehicle configuration of the vehicle 1 to the server arrangement.
Alternatively, or in addition, vehicle data may be obtained from a database, for example from a cloud database provided by the manufacturer. According to some example embodiments vehicle data is obtained both from the vehicle 1 and from the cloud database and then compared for consistency by the server arrangement 20. In other words, according to some embodiments the method in the server arrangement comprises obtaining S8 a vehicle configuration of the vehicle 1.
The method in the server arrangement 20 then comprises downloading S9 the created software package 12b in the generic hardware component 10b. Correspondingly, the method in the generic hardware component 10b comprises receiving S13 the software package that has been created in the server arrangement 20 based on the unique hardware identifier, from the server arrangement 20. Installation typically implies that the software package 10a is sent to the generic hardware component 10b over the communication interface 50 and that installation in the generic hardware component 10b is initiated or started.
Thus, correspondingly the method in the generic hardware component 10b comprises receiving S15a an instruction initiating S10 the installation of the software package in the generic hardware component 10b, from the server arrangement and installing S15b the software package 10a in the generic hardware component 10b. The installing S15b e.g. implies flashing the software package 10a in a memory 10b3 of the generic hardware component 10b. When the software package 10a has been successfully installed the control unit 10 is produced.
The installation S15b may start automatically upon the reception S15a. Alternatively, the server arrangement 20 may send a request or other trigger to the generic hardware component 10b initiating the installation. In other words, according to some embodiments the method in the server arrangement comprises initiating S10 installation of the software package in the generic hardware component 10b.
In order to complete the production, the server arrangement needs to be updated with information regarding the production. This is important in order to keep the control of the production in the server arrangement 20. In other words, the method in the generic hardware component comprises sending S16 to the server arrangement a confirmation indicating that the software package 10a has been successfully installed in the generic hardware component 10b. Correspondingly, the method in the server arrangement comprises receiving S11 a confirmation indicating that the software package 10a has been successfully installed in the generic hardware component 10b.
For example, the server arrangement is updated with information regarding when the control unit was produced. The information may also comprise information regarding the control unit configuration, such as the unique hardware identifier of the generic hardware component, and information regarding the software package etc. The information might be sent in one it more steps. Hence, according to some embodiments the sending S16 comprises first sending S16a a confirmation confirming that the production has been successful and the sending S16b further information such as control unit S10 configuration in a second message.
The server arrangement 20 may then store the information e.g. in a database located at the manufacturer or OEM. Thereby, the manufacturer or OEM may have control over all control units that have been produced. In other words, according to some embodiments the method in the server arrangement comprises updating S12 a database with information associated with the generic hardware component 10b and/or the software package. For example, a SOPS database may be updated.
When production is completed, the user is informed. Consequently, the method comprises sending S13 to a user, a confirmation indicating that the production has been successfully completed.
Fig. 3 illustrates an alternative embodiment of the system 2 arranged to produce a control unit.
In this embodiment, a control unit is created at the service station for storage or direct sales. Hence, in contrast to in the embodiment of Fig. 1 the generic hardware component is not produced in a dedicated vehicle, but instead a connection tool 60 is used. A connection tool is a physical interface arranged to provide connection to a generic hardware component during the production. The connection tool is configured to power the generic hardware component 10b and to enable communication with the server arrangement 20 e.g. via the communication interface 50.
Hence, in order to perform the step of establishing S3 a connection to a generic hardware component, the user needs to mount a generic hardware component 10b in the connection tool 60. This might be done before the service is started, alternatively, it may be done in response to that information identifying the generic hardware component 10b is displayed to the user in a user interface 30.
The user then starts the method by e.g. selecting the service called e.g. ”ECU on demand” in the user interface 30.
Then the user selects the alternative to create a spare part for storage or direct sales. The user is requested to enter a component identifier of the control unit 10 that he or she wants to produce, e.g. a ECU system version. The user is e.g. requested to select a ECU system version from a list of available versions. Possibly the option is given to produce several control units of this type.
The service then selects the present Cpl.No (i.e. the spare part number) i for the selected ECU. The Cpl.No corresponds to the spare part number that can be found in the manufacturer’s spare part register. Hence, the produced control unit is authentic, i.e. identic with the part that was originally installed in the vehicle. It even has the same Cpl.No.
Cpl. No and price may be presented for the user for approval. Then the method is performed in similar way as when producing the control unit in the vehicle (Fig.1). However, the server arrangement communicates with a control unit 10 that is mounted in the connection tool 60.
It is also possible to create the control unit that is adapted in a specific vehicle 1 using the connection tool 60. The service arrangement 20 then needs to connect to a database to obtain the vehicle configuration e.g. chassis number, product Id and ECU system, as described in connection with Fig. 4.
Fig. 7 illustrates an example software architecture for implementing the proposed method. As described above the system for producing a control unit may comprise a cloud part and a device gateway that are communicating over a service bus. The cloud part may typically implement microservices such as, invoicing management, user management, and data contracts (formal agreements between a service and a client that abstractly describes the data to be exchanged). The cloud part may typically include also web services or other software enabling communication with a user.
The device gateway provides the gateway or interface of the vehicle/machine where the control unit 10 is produced. The device gateway may also include micro services, such as message management, software package management, connection/vehicle management, data contracts and meta data storage.
Referring to Figs. 1 and Fig. 3 above, the server arrangement 20 and the user interface 30 corresponds to the cloud part. However, the server arrangement 20 may also at least partly be implemented in the device gateway. Furthermore, the communication interface 50 is typically part of the device gateway.
The present disclosure is not limited to the above-described preferred embodiments. Various alternatives, modifications and equivalents may be used. Therefore, the above embodiments should not be taken as limiting the scope of the disclosure, which is defined by the appending claims.

Claims (26)

Claims
1. A method for controlling production of a control unit (10) for use in a vehicle (1), wherein the produced control unit (10) will comprise a generic hardware component (10b) and a software package (10a) installed in the generic hardware component (10b), the method performed by a server arrangement (20), the method comprising: - receiving (S1), from a user, a request for producing the control unit (10), wherein the request comprises a component identifier, - establishing (S3) a connection with the generic hardware component (10b) to be used in the control unit (10), - retrieving (S4), from the generic hardware component (10b), a unique hardware identifier, - receiving (S5b), from the user, an authentication code, - verifying (S6) the request for producing the control unit (10) based on the unique hardware identifier (12b) and the authentication code, - creating (S7), upon the verification being successful, a software package (10a) based on the unique hardware identifier and the component identifier, - downloading (S9) the created software package (10a) in the generic hardware component (10b), and - receiving (S11) a confirmation indicating that the software package (10a) has been successfully installed in the generic hardware component (10b).
2. The method according to claim 1, comprising: - identifying (S2) the generic hardware component (10b) and/or a software version of the control unit (10) to be produced based on the component identifier.
3. The method according to claim 1 or 2, wherein the establishing (S3) comprises communicating with the generic hardware component (10b) being installed in the vehicle (1).
4. The method according to claim 3, wherein the establishing (S3) comprises establishing communication to the generic hardware component (10b) using a Vehicle Communication Interface, VCI, network interface.
5. The method according to any of the preceding claims, wherein the establishing (S3) comprises establishing communication to the generic hardware component (10b) from a remote location.
6. The method according to any of the preceding claims, wherein verifying (S6) the request comprises at least one of: verifying that the request is supported, verifying the authenticity of the generic hardware component (10b), verifying the compatibility of the request and the generic hardware component (10b) and verifying that a cost associated with the production is approved.
7. The method according to any of the preceding claims, wherein the creating (S7) comprises: • identifying, based on the request, one or more software components, • retrieving the identified software components from a data storage and • putting together the retrieved software components into a software package.
8. The method according to any of the preceding claims, comprising: - obtaining (S8) a vehicle configuration of the vehicle (1).
9. The method according to any of the preceding claims, comprising: - initiating (S10) installation of the software package in the generic hardware component (10b).
10. The method according to any of the preceding claims, comprising: - updating (S12) a database with information associated with the generic hardware component (10b) and/or the software package.
11.The method according to any of the preceding claims, comprising: - sending (S13) to the user a confirmation indicating that the production has been successfully completed.
12. A server arrangement (20) configured to perform the method according to any of claims 1-11.
13. A method for producing a control unit (10) for use in a vehicle (1), wherein the produced control unit (10) will comprise a generic hardware component (10b) and a software package (10a) installed in the generic hardware component (10b), the method comprising, at the generic hardware component (10b): - establishing (S21) a connection with a server arrangement (20) configured to control the production, - providing (S22b) a unique hardware identifier to the server arrangement (20), - receiving (S23) the software package (10a) from the server arrangement (20), wherein the software package has been created in the server arrangement (20) based on the unique hardware identifier, and - installing (S25b) the software package (10a) in the generic hardware component (10b), whereby the control unit (10) is produced.
14. The method according to claim 13 comprising, at the generic hardware component (10b): - receiving (S22a) a request to provide the unique hardware identifier to the server arrangement (20), and providing (S22b) the hardware identifier in response to receiving the request.
15. The method according to claim 13 or 14 comprising, at the generic hardware component (10b): - sending (S26) a confirmation indicating that the software package (10a) has been successfully installed in the generic hardware component (10b) to the server arrangement.
16. The method according to any one of claims 13 to 15, wherein the establishing (S3) comprises establishing communication using a Vehicle Communication Interface, VCI, network interface.
17. The method according to any one of claims 13 to 16, wherein the establishing (S3) comprises establishing communication to the server arrangement (20) residing in a remote location.
18. The method according to any one of claims 13 to 17, comprising, at the generic hardware component (10b): - providing (S24), to the server arrangement, a vehicle configuration of the vehicle (1).
19. The method according to any one of claims 13 to 18, comprising, at the generic hardware component (10b): - receiving (S25a), from the server arrangement, an instruction initiating (S10) the installation of the software package in the generic hardware component (10b).
20. A generic hardware component (10b) configured to perform the method according to any of claims 13-19.
21. A vehicle (1) comprising the generic hardware component (10b) according to claim 20.
22. Computer program, characterized in code means, which when run in a computer causes the computer to execute the method according to any of the claims 1-19.
23. Computer program product including a computer readable medium and a computer program according to claim 22, wherein said computer program is included in the computer readable medium.
24. A system (2) arranged to control production of a control unit (10) comprising: - a communication interface (50) arranged to provide access to a generic hardware component (10b) to be used in the control unit (10), - a user interface (30) configured to enable communication with a user, - a server arrangement (20) configured to perform the method according to any of claims 1-11, using the user interface (30) and the communication interface (50).
25. The system (2) of claim 24 comprising: - the generic hardware component (1 Ob), wherein the generic hardware component (10b) is configured to perform the method according to any of claims 13-19.
26. The system (2) of claim 24 comprising: - one or more data storages (40) configured to store information associated with the generic hardware component (10b), vehicle configuration data and software components to be used when creating the software package (10a).
SE1750960A 2017-07-25 2017-07-25 Method and server arrangement for producing a control unit for use in a vehicle SE542382C2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
SE1750960A SE542382C2 (en) 2017-07-25 2017-07-25 Method and server arrangement for producing a control unit for use in a vehicle
DE102018005550.8A DE102018005550A1 (en) 2017-07-25 2018-07-12 Method and server arrangement for producing a control unit for use in a vehicle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE1750960A SE542382C2 (en) 2017-07-25 2017-07-25 Method and server arrangement for producing a control unit for use in a vehicle

Publications (2)

Publication Number Publication Date
SE1750960A1 SE1750960A1 (en) 2019-01-26
SE542382C2 true SE542382C2 (en) 2020-04-21

Family

ID=65003989

Family Applications (1)

Application Number Title Priority Date Filing Date
SE1750960A SE542382C2 (en) 2017-07-25 2017-07-25 Method and server arrangement for producing a control unit for use in a vehicle

Country Status (2)

Country Link
DE (1) DE102018005550A1 (en)
SE (1) SE542382C2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019103195A1 (en) * 2019-02-08 2020-08-13 Liebherr-Werk Biberach Gmbh Device and method for controlling and / or configuring a construction machine
CN111428892B (en) * 2020-03-24 2024-01-02 深圳市易孔立出软件开发有限公司 Vehicle control unit replacement method and system, electronic equipment and storage medium

Also Published As

Publication number Publication date
SE1750960A1 (en) 2019-01-26
DE102018005550A1 (en) 2019-01-31

Similar Documents

Publication Publication Date Title
CN106257416B (en) Method for wireless remote updating of vehicle software
US20200050442A1 (en) Vehicle information communication system
US10165084B2 (en) Method for software updating of vehicle components
US9841965B2 (en) Centralized system for software updating vehicle components
US9836300B2 (en) Method for updating vehicle ECUs using differential update packages
CA2946213C (en) System and method for a diagnostic software service
US10127036B2 (en) Method for OTA updating vehicle electronic control unit
CN113176902B (en) OTA upgrading method of vehicle ECU, electronic equipment, vehicle and readable storage medium
CN111722860B (en) OTA upgrading method and device based on finite state machine
US20160364230A1 (en) Telematics control unit comprising a differential update package
CN106874026A (en) For the method and apparatus via the air interface steadily firmware of more new vehicle
CN102301332A (en) Method for updating software components
JP2007099145A (en) Diagnosis system for on-vehicle network, and on-vehicle control device
US11579865B2 (en) Vehicle information communication system
US20150277891A1 (en) Electronic controller software coding system and method for vehicle control
US20230359454A1 (en) Software update device, update control method, and non-transitory storage medium
JP2006512638A (en) Authentication method in a telematic center using two databases containing data characterizing a car or mobile radio connection
SE542382C2 (en) Method and server arrangement for producing a control unit for use in a vehicle
JP2004042794A (en) Control device and control system
US11960876B2 (en) Center, update management method, and non-transitory storage medium
US20220391194A1 (en) Ota master, system, method, non-transitory storage medium, and vehicle
US20220318003A1 (en) Center, distribution control method, and non-transitory storage medium
KR20130022688A (en) Device for updating software of electronic control units in vehicle
KR20150043732A (en) System and method for software update of vehicle controller
JP2022007618A (en) Server, update management method, update management program and software update device