WO2020115191A9 - Gestion conjointe par un calculateur embarque de véhicule automobile d'une fonction opérationnelle et d'une fonction passerelle entre des bus de communication de données - Google Patents

Gestion conjointe par un calculateur embarque de véhicule automobile d'une fonction opérationnelle et d'une fonction passerelle entre des bus de communication de données Download PDF

Info

Publication number
WO2020115191A9
WO2020115191A9 PCT/EP2019/083785 EP2019083785W WO2020115191A9 WO 2020115191 A9 WO2020115191 A9 WO 2020115191A9 EP 2019083785 W EP2019083785 W EP 2019083785W WO 2020115191 A9 WO2020115191 A9 WO 2020115191A9
Authority
WO
WIPO (PCT)
Prior art keywords
bus
computer
processor
messages
interrupt
Prior art date
Application number
PCT/EP2019/083785
Other languages
English (en)
Other versions
WO2020115191A1 (fr
Inventor
David Mothais
Thibaud COLLÉ
Vincent Fabre
Original Assignee
Continental Automotive France
Continental Automotive Gmbh
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 Continental Automotive France, Continental Automotive Gmbh filed Critical Continental Automotive France
Priority to US17/292,775 priority Critical patent/US11281613B2/en
Priority to CN201980080461.5A priority patent/CN113811864A/zh
Publication of WO2020115191A1 publication Critical patent/WO2020115191A1/fr
Publication of WO2020115191A9 publication Critical patent/WO2020115191A9/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4031Coupling between buses using bus bridges with arbitration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • 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
    • G07C5/0841Registering performance data

Definitions

  • TITLE Joint management by an on-board motor vehicle computer of an operational function and a gateway function between data communication buses
  • the present invention relates generally to communication between on-board systems in motor vehicles, and more particularly to a computer which combines a dedicated operational function and a gateway function between on-board communication networks.
  • the invention finds applications, in particular, in on-board computers managing a main operational domain which is served by an associated data communication network, and implementing a gateway function for interconnecting the computer with other computers, by example of computers respectively associated with subnetworks of the operational domain in question, and / or with a central gateway unit which interfaces the data communication network with other data communication networks respectively associated with other major operational areas.
  • the data communications buses concerned may be of the same type while being electrically isolated from each other, or may be of different respective types.
  • the gateway function implemented by the computer can include a protocol conversion between the respective communication protocols of each of the buses in question.
  • the vehicle comprises a few functional areas such as the power train, the chassis and the passenger compartment, with which respective communication networks are associated. These networks are interconnected by a central gateway unit, which is a computer specifically dedicated to this gateway function.
  • the vehicle comprises one or more computers which, on the one hand, have a dedicated operational function and which, on the other hand, emulate a gateway function between one of the aforementioned networks and one or more among other networks. and / or on-board communication subnetworks different from said networks. This makes it possible to save on computers dedicated to a gateway unit function, by using part of the resources and the calculation time of a computer also providing an operational function.
  • some computers combine the implementation of a determined operational function with the emulation of a gateway function between data communications networks to which they are coupled by corresponding respective interfaces.
  • the operational function can be, for example and without limitation, ignition, interior lighting or heating / air conditioning.
  • Its implementation consists of controlling a set of actuators, on the basis of information collected in particular through a set of sensors, using on-board intelligence.
  • the gateway function consists of processing frames received from a first communication bus according to the specifications of a first data communication protocol, and transmitting them on a second data communication bus after conversion into frames according to the specifications of another communication protocol associated with this second communication bus.
  • the computer comprises a frame manager which, on receipt by the computer of a sequence of frames to be converted and retransmitted as part of the gateway function, generates an interrupt which interrupts the processing in progress by the CPU ("Central Processing Unit") in the part of the operational function managed by the computer.
  • the CPU then processes all the frames received one after the other, on the same receive interrupt.
  • the frames received are stored in an input buffer register, and are processed sequentially by the CPU according to their order of arrival, on the same interrupt, until the buffer is empty.
  • This solution of the state of the art may involve too long a monopolization of the CPU for the gateway function, leading to a degradation of the real-time performance of the computer for its operational functions.
  • This can be particularly problematic if an operational function whose real-time processing is thus affected is a safety function, such as, for example, correcting the trajectory of the vehicle to ensure its stability, emergency braking to avoid a collision, or the automatic door unlocking in the event of a vehicle accident.
  • a drift in the real-time processing of operational applications managed by the computer which is caused by the known implementation of the gateway function, can harm the guarantee of critical times which must be respected for strong operational imperatives such as aspects related to the safety of the vehicle and its occupants.
  • the invention aims to eliminate, or at least mitigate, all or part of the drawbacks of the aforementioned prior art.
  • a first aspect of the invention provides a method for managing frames in an on-board motor vehicle computer of the type suitable for jointly ensuring at least one operational function as well as a gateway function between at least two buses.
  • data communication bus when coupled to a first vehicle data communication bus for receiving and transmitting data messages via the first bus, on the one hand, and further coupled to a second data communication bus of the vehicle to receive and transmit data messages via said second bus, on the other hand, the computer being configured to implement a gateway function in order to transmit messages received from a transmitter via the first bus to a receiver which is accessible via the second bus.
  • the method comprises the following steps, implemented in the computer:
  • the load of the computer corresponding to its gateway function is smoothed over time, that is to say that it does not unacceptably penalize the processing of the other tasks of the computer related to the functions. operations of the computer, and in particular the real-time processing of tasks which may present a strong real-time constraint.
  • the load of the computer associated with its gateway function can represent up to about 30% of the load of the computer. calculator, ie of its calculation time, so that only about 50% of its load represents tasks linked to its specific operational functions (in an example application where the total load of the computer is limited to about 80% on the basis of specifications to be respected), but without incurring any significant deterioration in the real-time performance of the applications concerned.
  • the first determined duration is a constant, fixed or programmable duration; or that the first determined duration is variable as a function of parameters taken into account by the computer;
  • the data messages are CAN frames, the first data communication bus being a CAN bus and the buffer memory being the reception buffer memory of the CAN cell of the computer which is associated with the first bus;
  • the first and the second communication bus are respective buses of different types among the types of communication bus for the automobile belonging to the following group: HS CAN / ISO 11898-2, CAN FD / ISO 11898-2: 2015, LS CAN / ISO 11898-3, FlexRay / ISO 17458, LIN / ISO 17987, MOST, J1939 / SAE J 1939, J2284 / SAE J2284;
  • the duration value of the time delay is determined as a percentage of the tolerance applicable to the shifting of the tasks of a computer operating system.
  • a second aspect of the invention relates to a computer for a motor vehicle, of the type which is suitable for jointly providing at least one operational function as well as a gateway function between at least two data communication buses when it is coupled.
  • a first vehicle data communication bus for receiving and transmitting data messages via said first communication bus, on the one hand, and is further coupled to a second vehicle data communication bus for receiving and transmitting data data messages via said second communication bus, on the other hand.
  • the computer is configured to implement a gateway function in order to transmit messages received from a transmitter via the first bus to a receiver which is accessible via the second bus.
  • the computer comprises means for implementing all the steps of a method according to the first aspect of the invention.
  • the computer can be the passenger compartment computer, for example. It can also be the engine control computer, or the chassis and safety computer, or any other computer on board the vehicle.
  • the invention also relates to a data communications architecture in a motor vehicle comprising at least a first data communication and a second data communication bus, and comprising a computer according to the second above aspect, which is coupled to the first bus for receiving and transmitting data messages via said first bus, on the one hand, and which is further coupled to the second bus for receiving and transmitting data messages via said second bus , on the other hand.
  • the invention relates to a computer program product comprising one or more sequences of instructions stored on a memory medium readable by a machine comprising a processor, said sequences of instructions being adapted to carry out all of them. the steps of the method according to the first aspect of the invention when the program is read from the memory medium and executed by the processor.
  • Figure 1 is a functional diagram of an example of a data communication architecture in a motor vehicle
  • Figure 2 shows a functional diagram of an example of an on-board computer according to embodiments of the invention
  • FIG. 3 illustrates an example of implementation of the method according to embodiments of the invention
  • FIG. 4 is a diagram of steps illustrating embodiments of the method according to the invention.
  • the diagram of Figure 1 shows an example of a data communication architecture in a motor vehicle to which embodiments of the invention can be applied.
  • the architecture comprises for example a plurality of data communications networks such as networks 11, 12 and 13, which are interconnected by a gateway unit 10.
  • This gateway unit is a computer dedicated to this gateway function.
  • Each of the networks 11, 12 and 13 serves a respective functional area of the vehicle, which is controlled by a main functional computer, respectively 20, 30 and 40.
  • the domain associated with the computer 20 is for example the domain "passenger compartment" ("Body” in English)
  • the domain associated with the computer 30 is for example the domain of the "motor propulsion” ("Powertrain “In English)
  • the domain associated with the computer 40 is for example what is called the” chassis and safety "domain (“ Chassis & Safety "in English).
  • These computers can be microcontrollers of the RH850 microcontroller family sold by the RENESAS TM company, which are dedicated to the automotive industry.
  • the computer 20 responsible for the passenger compartment area can be an RH850 / F1x type microcontroller, for example an RH850 / F1 K microcontroller
  • the computer 30 responsible for the chassis or CCM, from the English "Chassis Control Module” and security domain can be an RH850 / P1x type microcontroller
  • the computer 40 dedicated to the motopropulsion field or PCM, from the English "Powertrain Control Module” can be a microcontroller of the RH850 / E1x type.
  • computers 20, 30 and 40 can realize the computers 20, 30 and 40, according to the particularities of each application.
  • the computers can be components of the MPC56x family dedicated to automotive applications, available from the company NXP TM.
  • the data communication networks 11, 12 and 13 are for example multiplexed buses respecting the CAN protocol (ISO 11898 standard), and more particularly networks of the CAN FD type presented in the introduction of this description. which is an extension of the classic ADC designed to improve the real-time performance of applications.
  • the particularity of the CAN FD bus is to offer a binary rate which can be up to 8 times higher than that of conventional CAN, allowing up to 64 bytes of data to be transmitted per frame instead of 8 for conventional CAN. .
  • Each network generally comprises several subnetworks, although this is by no means mandatory.
  • the network 13 associated with the motopropulsion field can include a sub-network 41 associated with the engine control, and a sub-network 42 associated with the transmission (namely the transmission of mechanical energy from the engine to the driving wheels of the vehicle) .
  • These two sub-networks include sensors and actuators which are controlled, for each sub-network, by a particular computer, in this case the engine control computer (or ECU, standing for “Engine Control Unit”) and the transmission computer (or TCU, from English "Transmission Control Unit”), respectively.
  • the network 12 associated with the chassis and safety domain can include a sub-network 31 associated with braking control (managed by an ABS computer), and a sub-network 22 associated with trajectory control (managed by an ESP computer). ), etc.
  • the computer 20 responsible for managing the passenger compartment is connected to one or more subnetworks, namely a subnetwork 21 and a subnetwork 22 in the example shown in FIG. 1.
  • the first sub-network 21 connects the computer 20 to computers which are respectively responsible, for example, for the locking / unlocking function of the vehicle's doors, the management of the electric windows, the seat adjustment and heating controls, etc.
  • the second sub-network 22 connects the computer 20 to computers which are respectively responsible, for example, for the interior lighting of the vehicle, the exterior lighting and signaling of the vehicle, wiping controls, etc.
  • the networks 21 and 22 are for example CAN HS buses, that is to say “high speed” CAN data buses whose physical layer implements the specifications of the ISO 11898-2 standard as stated in the introduction. Their data exchange rate can go up to 1 Mbits / s, being inversely proportional to the length of the bus.
  • the computer 220 which is responsible for the exterior lighting and signaling of the vehicle, is connected to actuators and to sensors by a sub-network 50.
  • the sub-networks 50 can, for example, be a LIN bus.
  • the actuators can include, in particular, lamps 51 for signaling lights, low beams, high beams, etc., geared motors such as actuator 52 for adjusting the height of the headlights, for example, as well as any other component or accessory such as for example flasher units, voltage converters for discharge lamps, etc.
  • the sensors can include body height sensors such as sensor 53 for detecting the effect of loading the vehicle, for example in order to correct the height of the headlights, a brightness sensor 54 for providing information allowing commissioning automatic of the two sidelights and / or dipped beam headlights, etc.
  • certain components of the vehicle, actuators or sensors may be shared by several networks, that is to say they may be required to receive or transmit information from, or to a computer other than the computer which manages the network or sub-network to which they are physically coupled.
  • the body height sensor 53 used by the computer 220 to manage the external lighting and signaling functions can communicate with the ESP computer managing the sub-network 32 of the network 12 associated with the chassis and security domain.
  • some computers implement a gateway function, in addition to providing the operational functions for which they are intended as a first-line option.
  • This multiplicity of functions provided by the same computer aims at and makes it possible to avoid the massive use of gateway units between the different networks and sub-networks of the vehicle which must exchange data.
  • These gateway units are dedicated components, the main drawback of which is to increase the cost of the on-board architecture of the vehicle.
  • the hardware means 100 firstly comprise a transceiver module 101 for CAN, more particularly for HS CAN in the example considered here.
  • This module provides the interface, at the physical level, for the transmission and reception of data in differential mode on the high and low lines, respectively denoted CANH and CANL, of the CAN bus which constitutes the network 22 of FIG. 1.
  • CANH and CANL the high and low lines
  • the CAN bus is, in the automotive field, a bidirectional, half-duplex serial data bus with differential lines which are closed at each end of the bus by an impedance of 120 Ohms.
  • the hardware means 100 also include a CAN controller 102.
  • the function of the controller 102 is to provide a hardware interface between the transceiver 101 and the processing means of the computer 20.
  • the controller 102 comprises in particular a reception buffer memory 103 and a transmission buffer memory 105.
  • These buffer memories 103 and 105 have the function of storing the CAN frames received by the computer 20 via the bus 22 pending their processing by the computer or the CAN frames produced by the computer 20 awaiting their transmission on the bus 22, respectively.
  • the computer 20 includes at least one other interface for exchanging data with another bus.
  • the computer 20 further comprises another interface with the CAN FD bus of the data communication network 11. This interface is not shown in FIG. 2 in order to avoid not unnecessarily overload this figure.
  • the gateway function of the computer 20 consists in making the connection between the networks 11 and 22, in particular, which are of different types, but also between the networks 11 and 21, and also between the networks 21 and 22 which are of the same type in the example considered here. Thus, in this gateway function, the computer 20 carries out the routing of the frames from one network to another.
  • the computer 20 can also perform the protocol conversion between the networks 21 and 22 which are of different respective types.
  • the computer 20 can also perform more advanced processing on the frames that it transmits, for example to perform quality of service, encryption / decryption to ensure security. certain data exchanges, etc.
  • the software means 200 include a frame driver 201 (or CAN driver, which is the French translation of its name "CAN Driver” in English), a frame manager 202 (or “Frame Manager” in English), and a plurality of N software components C1, C2, ..., Cn, where N is an integer. All the software modules are executed on a processor of the computer 20.
  • the gateway function of the computer there are among the components C1-Cn one or more components responsible for de-encapsulating / encapsulating the data within the framework of the protocol conversion mentioned above (when the computer performs such a conversion), others which can be responsible for processing related to security as mentioned in the above paragraph, etc.
  • Each frame includes 8 bytes of data (for a standard CAN HS bus) or from 8 to 64 bytes of data in multiples of 8 (for a CAN FD bus).
  • a CAN frame is received by the computer 20 with a destination address which implies that it must be relayed to another network or subnetwork of a different type (therefore by using the gateway function of the computer 20), the frame is stored in the reception buffer memory 103 of the CAN controller 102, and the latter generates a hardware interrupt INT, which bears the reference 300 in FIG. 2.
  • This hardware interrupt can for example be performed by changing to 0 a bit which is normally at 1, where 0 and 1 designate the binary logic values with which respective voltage levels are associated.
  • the function of this interrupt is to suspend the current execution of the tasks associated with the operational functions of the computer, in order for the gateway function to take control of the computer to convert and transmit the frames received.
  • the INT interrupt is not noted before the end of the processing of all the frames which are stored in the buffer memory 103. But since this can take a significant amount of time and in order to prevent this from affecting the real-time performance of the computer, embodiments of the invention provide for provisions which make it possible to give control to operational applications, in order to that their execution resumes and thus not block these applications to the detriment of their quality of service.
  • the timing diagram of FIG. 3 (a) illustrates the evolution of the content of the reception buffer memory 102 of FIG. 2, as a function of time f (from left to right).
  • the data structure corresponding to this memory is a stack which fills up from the top and empties from the bottom on a "first in - first out" basis, with the frames received by the computer. which enter and are stored in memory until they leave it to be passed to the frame driver for processing by the computer processor. More particularly, the registers of this data stack are represented by rectangles arranged one above the other.
  • the timing diagram of Figure 3 (b) shows the reception of frames T1, T2, T3, etc. at respective times determined along the time axis t.
  • the timing diagram of Figure 3 (c) shows the activity of the frame driver 201 of Figure 2, as a function of time t.
  • the periods of activity of the frame driver are represented by rectangles.
  • the frames concerned by this activity are also represented by rectangles on the chronogram, above the aforementioned rectangle, and with an indication of the type “TiCj” where Ti designates a frame of index i in the sequence of frames stored in the reception buffer memory, and where Cj designates the software component of index j in the set of N software components C1 to Cn.
  • the indication T2C3 in a rectangle means that this rectangle designates the fact that the second frame T2 is processed by the third component C3.
  • an interrupt is an event, and more particularly a hardware event, for example the change to 0 of a bit stored in a register of the computer which is normally at 1, ie, which is 1 by default.
  • the INT bit is initially at 1, which means that the interrupt is not activated.
  • the computer processor is free to execute the processes related to the operational applications of the computer.
  • the activation of the interrupt that is to say the passage from 1 to 0 of the INT bit, has the function of causing the stopping of the sequential execution of the process being executed in the host computer, to put this process into a standby mode.
  • the processor saves all or part of its internal state, called “context”, for example in the system stack.
  • interrupt routine associated with the interrupt concerned, which here corresponds to the processing of the CAN frames received within the framework of the implementation of the gateway function of the computer.
  • the call to this routine which is another program, namely a subroutine also called “interrupt service”, is carried out for example by following the directives of an interrupt table indicating for each type of interrupt that the computer can receive, the subroutine to be executed.
  • the process corresponding to the operational program remains in this waiting mode as long as the interrupt is activated, i.e., as long as the bit in question remains at 0 in the example considered here.
  • Program execution resumes where it left off after the interrupt is cleared, i.e., when the bit is set to 1 in this example.
  • the state of the processor is restored as it was saved at the time of the occurrence of the interrupt, and the execution of the operational program is restarted by the processor from the place where it had. been interrupted.
  • the computer receives one or more data frames from a transmitter, via the bus 22 of Figures 1 and 2. These frames are intended for a receiver which is accessible via another bus, for example the bus 11 of figure 1.
  • the CAN controller detects it on the basis of the destination address contained in the CAN frames. This being the case, it causes the frames thus received to be stored in 402, in the reception buffer memory, awaiting their processing with a view to their transmission to the receiver via said other bus.
  • a first frame T1 is stored in the buffer memory reception.
  • the reception of the first frame T1 of the sequence of frames received and stored in the reception buffer memory causes, in 403 the activation of the INT interrupt, that is to say the passage of 1 to 0 of the corresponding bit, in the example considered here, which is shown in FIG. 3 (d).
  • This trigger 403 of the INT interrupt has the effect of interrupting the execution of an operational program being executed by the processor of the computer. In addition, it also has the effect of causing said processor to process the received frames in order to transmit them to the receiver via the second bus.
  • This processing is controlled by the frame pilot which therefore becomes active at that moment, as shown in the timing diagram of FIG. 3 (c).
  • the frame driver in conjunction with the frame manager causes the frame T1 to be processed successively by the software component C1 and by the software component C2. Then begins the processing by the software component C1 of a T2 frame which is received after the T1 frame, and temporarily stored in the reception buffer memory.
  • the expiration of a first determined duration D1 occurs in 404, during the above processing of the frame T2, this duration D1 being counted from the triggering of the interruption INT. Therefore, the INT interrupt is deactivated at 405 in order to return control to the processor for the continuation of the execution of the functional program.
  • This advantageously occurs only after and at the end of the processing of the T2 frame being processed by the software component C1 at the time of said expiration. Indeed, it is not desirable to interrupt the processing of a frame before it is completed, in particular because this could leave computer registers with transient values which could be sources of errors for the following processing operations. .
  • the interruption INT is noted notwithstanding the possible presence of other received frames, in the buffer memory, awaiting their processing by the computer in order to transmit them to the receiver.
  • a third frame T3 has been received by the computer when the duration D1 ends, and it is stored in the reception buffer memory where it is still located, as well as the frame T2, the processing of which must be continued by the software components C2 and C3, after the expiration of the duration D1 and more particularly when the processing of the frame T1 by the component C1 is terminated.
  • the raising of the INT interrupt returns control to the computer processor to resume the execution of the application program process (s) executed by the computer as part of its operational functions.
  • the quality of service offered by these application programs, and in particular their real-time aspect is not degraded by the preeminence of the gateway function of the computer which results from the implementations according to the prior art.
  • the duration D1 is a constant duration.
  • the value of the duration D1 can be determined on the basis of the tolerance applicable to the offset (called "jitter" in the English language) of the tasks of the on-board operating system.
  • the duration D1 can be between about 50 microseconds and about 100 microseconds (ms). It can be fixed (i.e. intangible).
  • the duration D1 can be programmable.
  • the duration D1 can also be variable depending on parameters taken into account by the computer, in order for example to adapt the real-time performance of the computer to specific circumstances. These parameters can be, for example, parameters measured by the computer.
  • the trigger 407 of a new interruption occurs at the end 406 of a second time delay of duration D2 determined following the deactivation of interruption, that is to say at the end of the counting down of the duration D2 by a timing circuit (“Timer” in English), for example.
  • This second interrupt that is to say the new passage of the INT bit from 1 to 0 visible in FIG. 3 (d), has the effect of again interrupting the execution of the operational program by the processor, and causing the continuation of the processing by said processor of the frames received and stored in the buffer memory, in order to transmit them to the receiver via the second bus.
  • the T2 frames can be processed by the software components C2 and C3, successively, and the T3 frame is processed by the software component C1, as shown in Fig. 3 (c).
  • the value of the duration D2 of the time delay depends on the constraints specific to each application.
  • the value of the duration of the timer D2 can be determined as a percentage of the tolerance applicable to the offset of the tasks managed by the operating system of the computer. It can thus be between 5% and 15% of this tolerance.
  • Typical values of D2 are of the order of a few microseconds (ps), or one (or more) ten microseconds.
  • the architecture of the vehicle can be simpler or more complex than that illustrated in FIG. 1, by being divided into fewer functional areas, or on the contrary may include one or more other functional areas served by other respective main communication networks, such as for example an infotainment area.
  • all or part of the main data communications networks may comply with a protocol other than CAN or one of its derived protocols, such as for example the FlexRay protocol already mentioned in the introduction.
  • an on-board computer which is a single-processor computer has been considered in the present description, but the method can be generalized to multi-processor computers, or with one (or more) processor (s) to multiple processor cores, capable of executing each of the respective processes in parallel with each other.
  • first and the second communication bus are buses of different respective types which can be selected, in particular, from the types of communication bus for the automobile belonging to the following group:

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Small-Scale Networks (AREA)

Abstract

La présente invention concerne un procédé de gestion de trames dans un calculateur assurant une fonction opérationnelle et une fonction passerelle entre deux bus de communication pour transmettre des messages d'un émetteur vers un récepteur, comprenant les étapes de : a. réception (401) de messages d'un émetteur via le premier bus; b. stockage (402) des messages reçus; c. déclenchement (403) d'une interruption de l'exécution d'un programme opérationnel causant le traitement des messages stockés pour transmission au récepteur via le second bus; d. désactivation (405) de l'interruption pour poursuivre l'exécution du programme fonctionnel, après l'expiration (404) d'une durée (D1) et à la fin du traitement d'un message en cours de traitement lors de ladite expiration; et, e. déclenchement (407) d'une nouvelle interruption à la fin (406) d'une temporisation d'une durée (D2) de l'exécution du programme opérationnel causant la poursuite du traitement de messages stockés pour transmission au récepteur via le second bus.

Description

DESCRIPTION
TITRE : Gestion conjointe par un calculateur embarque de véhicule automobile d’une fonction opérationnelle et d’une fonction passerelle entre des bus de communication de données
Domaine technique
[0001] La présente invention se rapporte de manière générale à la communication entre des systèmes embarqués dans les véhicules automobiles, et plus particulièrement à un calculateur qui combine une fonction opérationnelle dédiée et une fonction de passerelle entre des réseaux de communication embarqués.
[0002] L'invention trouve des applications, en particulier, dans les calculateurs embarqués gérant un domaine opérationnel principal qui est servi par un réseau de communication de données associé, et implémentant une fonction passerelle pour interconnecter le calculateur avec d’autres calculateurs, par exemple des calculateurs respectivement associés à des sous-réseaux du domaine opérationnel en question, et/ou avec une unité passerelle centrale (« Central Gateway » en anglais) qui interface le réseau de communication de données avec d’autres réseaux de communication de données respectivement associés à d’autres domaines opérationnel principaux.
Etat de la technique
[0003] Les bus de communications de données concernés peuvent être du même type en étant isolés électriquement l’un de l’autre, ou être de types respectifs différents. Dans ce dernier cas, la fonction passerelle implémentée par le calculateur peut comprendre une conversion protocolaire entre les protocoles de communication respectifs de chacun des bus en question.
[0004] Avec la multiplication des capteurs et l’apparition de toujours plus de fonctions de sécurité et de confort, le volume de données communiquées dans un véhicule automobile n’a cessé d’augmenter au cours des dernières années. La tendance est à la poursuite de cette inflation dans la communication de données, en raison notamment de l’arrivée des applications multimédia à bord des véhicules automobiles, notamment pour ce que l’on appelle l’info-divertissement (plus connu sous le vocable anglosaxon de « Infotainement »). [0005] L’utilisation de réseaux de communication de données multiplexés (aussi appelés systèmes de bus de données multiplexés) qui est apparue peu après la première présentation du bus CAN (acronyme de « Controller Area Network ») par la société BOSCH GmbH en 1985, a permis de répondre à cette augmentation du volume de données communiquées. L’apparition d’évolutions du bus CAN, ont amené des structures de réseau complexes dans lesquelles plusieurs réseaux ou sous-réseaux de communication coexistent dans le véhicule, avec des spécifications respectives qui peuvent être différentes. On voit ainsi des applications dans lesquelles un bus CAN classique peut coopérer avec un bus CAN à débit de données flexible ou CAN FD (de l’anglais « Flexible Datarate »), lequel est défini comme une option du standard ISO 11898-2 du bus CAN classique à 125 kbits/s qui a été intégrée dans la version ISO 11898-2 : 2015 du standard. Egalement, certaines architectures intègrent un ou plusieurs bus CAN à grande vitesse ou HS CAN (de l’anglais « High Speed CAN ») conforme au standard ISO 11898- 2 (2003) qui offre un débit pouvant aller jusqu’à 1 Mbits/s (en fonction de la longueur du bus), et/ou un ou plusieurs bus CAN à basse vitesse ou LS CAN (de l’anglais « Low Speed ») conforme au standard ISO 11898-3 (2006) qui offre un débit limité à 125 kbits/s mais qui est un bus à tolérance de pannes, ou encore bien d’autres technologies de bus comme le réseau interconnecté local ou bus LIN (de l’anglais « Local Interconnect Network ») normalisé par l'ISO sous le nom "Réseau Interconnecté local" dans la catégorie "Véhicules routiers" et sous la référence ISO 17987, ou plus récemment le bus FlexRay standardisé par la norme ISO 17458, ou encore le bus MOST (de l’anglais « Media Oriented Systems Transport ») qui autorise la transmission optique de données avec un débit de 21 ,2 Mbits/s et qui est optimisé pour les applications vidéo et audio d’info-divertissement dans l’automobile.
[0006] L’échange de données entre deux réseaux ou entre un réseau et un sous- réseau de communication de données de technologies respectives nécessite d’implémenter une fonction passerelle (« Gateway » en langue anglosaxonne) entre les réseaux concernés. Des processeurs dédiés spécifiquement à cette fonction passerelle sont évidemment disponibles sur le marché des composants électroniques. [0007] Néanmoins, le coût d’un tel composant et de son environnement de fonctionnement, est un frein à leur utilisation massive dans les véhicules automobiles.
[0008] C’est pourquoi, dans des réalisations connues, le véhicule comprend quelques domaines fonctionnels comme la motopropulsion, le châssis et l’habitacle, auxquels sont associés des réseaux de communication respectifs. Ces réseaux sont interconnectés par une unité passerelle centrale, laquelle est un calculateur spécifiquement dédié à cette fonction passerelle. En outre le véhicule comprend un ou plusieurs calculateurs qui, d’une part, ont une fonction opérationnelle dédiée et qui, d’autre part, émulent une fonction de passerelle entre l’un des réseaux précités et un ou plusieurs parmi d’autres réseaux et/ou sous-réseaux de communication embarqués différents desdits réseaux. Ceci permet de faire l’économie de calculateurs dédiés à une fonction d’unité passerelle, en utilisant une partie des ressources et du temps de calcul d’un calculateur assurant par ailleurs une fonction opérationnelle.
[0009] Ainsi, certains calculateurs combinent l’implémentation d’une fonction opérationnelle déterminée avec l’émulation d’une fonction passerelle entre réseaux de communications de données auxquels ils sont couplés par des interfaces respectives correspondantes. La fonction opérationnelle peut être, par exemple et de manière non limitative, l’allumage, l’éclairage intérieur ou le chauffage/climatisation. Son implémentation consiste à commander un ensemble d’actuateurs, sur la base d’informations collectées notamment grâce à un ensemble de capteurs, en utilisant une intelligence embarquée. La fonction passerelle consiste à traiter des trames reçues d’un premier bus de communication selon les spécifications d’un premier protocole de communication de données, et à les transmettre sur un second bus de communication de données après conversion en trames selon les spécifications d’un autre protocole de communication associé à ce second bus de communication.
[0010] Selon l'état de l'art actuel, le calculateur comprend un gestionnaire de trames qui, à réception par le calculateur d’une séquence de trames à convertir et à retransmettre dans le cadre de la fonction passerelle, génère une interruption qui interrompt le traitement en cours par le CPU (« Central Processing Unit ») dans le cadre de la fonction opérationnelle gérée par le calculateur. Le CPU traite alors toutes les trames reçues les unes à la suite des autres, sur la même interruption de réception. En pratique, les trames reçues sont stockées dans un registre tampon d’entrée (« input buffer »), et sont traitées séquentiellement par le CPU en fonction de leur ordre d’arrivée, sur la même interruption, jusqu’à ce que le buffer soit vide.
[0011] Cette solution de l'état de la technique peut impliquer une monopolisation trop longue du CPU pour la fonction passerelle, amenant à une dégradation des performances temps réel du calculateur pour ses fonctions opérationnelles. Ceci peut être particulièrement problématique si une fonction opérationnelle dont le traitement en temps réel est ainsi affecté est une fonction de sécurité, comme par exemple la correction de trajectoire du véhicule pour garantie sa stabilité, le freinage d’urgence pour éviter une collision, ou le déverrouillage automatique des portières en cas d’accident du véhicule.
[0012] En d’autres termes, une dérive dans le traitement temps réel des applications opérationnelles gérées par le calculateur qui est occasionnée par l’implémentation connue de la fonction passerelle, peut nuire à la garantie de temps critiques qui doivent être respectés pour des impératifs opérationnels forts comme des aspects liés à la sécurité du véhicule et de ses occupants.
Exposé de l’invention
[0013] L'invention vise à supprimer, ou du moins atténuer, tout ou partie des inconvénients de l'art antérieur précités.
[0014] A cet effet, un premier aspect de l’invention propose un procédé de gestion de trames dans un calculateur embarqué de véhicule automobile du type adapté pour assurer conjointement au moins une fonction opérationnelle ainsi qu’une fonction passerelle entre au moins deux bus de communication de données lorsqu’il est couplé à un premier bus de communication de données du véhicule pour recevoir et transmettre des messages de données via le premier bus, d’une part, et est couplé en outre à un second bus de communication de données du véhicule pour recevoir et transmettre des messages de données via ledit second bus, d’autre part, le calculateur étant configuré pour mettre en œuvre une fonction passerelle afin de transmettre des messages reçus d’un émetteur via le premier bus vers un récepteur qui est accessible via le second bus.
[0015] Le procédé comprend les étapes suivantes, mises en œuvre dans le calculateur :
- la réception d’un ou plusieurs messages de données en provenance d’un émetteur via le premier bus, lesdits messages étant destinés à un récepteur accessible via le second bus ;
- le stockage des messages de données reçus dans une mémoire tampon du calculateur, en attente de leur traitement pour transmission au récepteur via le second bus ;
- le déclenchement d’une première interruption pour interrompre l’exécution d’un programme opérationnel en cours d’exécution par un processeur du calculateur et causer le traitement par ledit processeur des messages de données stockés dans la mémoire tampon, pour leur transmission au récepteur via le second bus ;
- la désactivation de l’interruption afin de permettre la poursuite par le processeur de l’exécution du programme fonctionnel, après l’expiration d’une première durée déterminée et à la fin du traitement d’un message en cours de traitement par le processeur au moment de ladite expiration, nonobstant la présence éventuelle d’autres messages dans la mémoire tampon en attente de leur traitement par le processeur pour transmission au récepteur via le second bus ; et,
- le déclenchement d’une seconde interruption à la fin d’une temporisation d’une seconde durée déterminée suivant la désactivation de la première interruption, pour interrompre à nouveau l’exécution du programme opérationnel par le processeur et causer la poursuite du traitement par ledit processeur de messages stockés dans la mémoire tampon, pour leur transmission au récepteur via le second bus.
[0016] Grâce à l’invention, la charge du calculateur correspondant à sa fonction passerelle est lissée dans le temps, c’est-à-dire qu’elle ne pénalise pas de manière inacceptable le traitement des autres tâches du calculateur liées aux fonctions opérationnelles du calculateur, et en particulier le traitement en temps réel des tâches qui peuvent présenter une contrainte temps réel forte.
[0017] Dans des modes de réalisation, la charge du calculateur associée à sa fonction passerelle peut représenter jusqu’à environ 30% de la charge du calculateur, i.e. de son temps de calcul, en sorte qu’environ 50% de sa charge seulement représente des tâches liées à ses fonctions opérationnelles spécifiques (dans un exemple d’application où la charge totale du calculateur est limitée à environ 80% sur la base d’un cahier des charges à respecter), mais sans encourir de dégradation notable des performances temps réel des applications concernées.
[0018] Des modes de réalisation pris isolément ou en combinaison, prévoient en outre que :
- la première durée déterminée est une durée constante, fixe ou programmable ; ou que la première durée déterminée est variable en fonction de paramètres pris en compte par le calculateur ;
- les messages de données sont des trames CAN, le premier bus de communication de données étant un bus CAN et la mémoire tampon étant la mémoire tampon de réception de la cellule CAN du calculateur qui est associée au premier bus ;
- le premier et le second bus de communications sont des bus de types respectifs différents parmi les types de bus de communication pour l’automobile appartenant au groupe suivant : HS CAN / ISO 11898-2, CAN FD / ISO 11898-2 : 2015, LS CAN / ISO 11898-3, FlexRay / ISO 17458, LIN / ISO 17987, MOST, J1939 / SAE J 1939, J2284 / SAE J2284 ;
- la valeur de durée de la temporisation est déterminée comme un pourcentage de la tolérance applicable au décalage des tâches d’un système d’exploitation du calculateur.
[0019] Un second aspect de l’invention concerne un calculateur pour véhicule automobile, du type qui est adapté pour assurer conjointement au moins une fonction opérationnelle ainsi qu’une fonction passerelle entre au moins deux bus de communication de données lorsqu’il est couplé à un premier bus de communication de données du véhicule pour recevoir et transmettre des messages de données via ledit premier bus de communication, d’une part, et est couplé en outre à un second bus de communication de données du véhicule pour recevoir et transmettre des messages de données via ledit second bus de communication, d’autre part. Le calculateur est configuré pour mettre en œuvre une fonction passerelle afin de transmettre des messages reçus d’un émetteur via le premier bus vers un récepteur qui est accessible via le second bus. Le calculateur comprend des moyens pour la mise en œuvre de toutes les étapes d’un procédé selon le premier aspect de l’invention.
[0020] Le calculateur peut être le calculateur d’habitacle, par exemple. Il peut aussi s’agir du calculateur de contrôle moteur, ou du calculateur de châssis et sécurité, ou de tout autre calculateur embarqué dans le véhicule.
[0021] Dans un troisième aspect, l’invention a également pour objet une architecture de communications de données dans un véhicule automobile comprenant au moins un premier de communication de données et un second bus de communication de données, et comprenant un calculateur selon le deuxième aspect ci-dessus, qui est couplé au premier bus pour recevoir et transmettre des messages de données via ledit premier bus, d’une part, et qui est couplé en outre au second bus pour recevoir et transmettre des messages de données via ledit second bus, d’autre part.
[0022] Selon un dernier aspect, l’invention concerne un produit programme d'ordinateur comprenant une ou plusieurs séquences d'instructions stockées sur un support de mémoire lisible par une machine comprenant un processeur, lesdites séquences d'instructions étant adaptées pour réaliser toutes les étapes du procédé selon le premier aspect de l'invention lorsque le programme est lu dans le support de mémoire et exécuté par le processeur.
Description des dessins
[0023] D’autres caractéristiques et avantages innovants de l’invention ressortiront à la lecture de la description ci-après, fournie à titre indicatif et nullement limitatif, en référence aux dessins annexés, dans lesquels :
[Fig. 1] : La figure 1 est un diagramme fonctionnel d’un exemple d’architecture de communication de données dans un véhicule automobile ;
[Fig. 2] : La figure 2 montre un schéma fonctionnel d’un exemple de calculateur embarqué selon des modes de réalisation de l’invention ;
[Fig. 3] : La figure 3 illustre un exemple de mise en œuvre du procédé selon des modes de réalisation de l’invention ; et, [Fig. 4] : La figure 4 est un diagramme d'étapes illustrant des modes de réalisation du procédé selon l'invention.
Description des modes de réalisation
[0024] Tel Dans la description de modes de réalisation qui va suivre et dans les Figures des dessins annexés, les mêmes éléments ou des éléments similaires portent les mêmes références numériques aux dessins.
[0025] Le schéma de la figure 1 montre un exemple d’architecture de communication de données dans un véhicule automobile à laquelle des modes de réalisation de l’invention peuvent s’appliquer. L’architecture comprend par exemple une pluralité de réseaux de communications de données comme les réseaux 11 , 12 et 13, qui sont interconnectés par une unité passerelle 10. Cette unité passerelle est un calculateur dédié à cette fonction passerelle. Chacun des réseaux 11 , 12 et 13 sert un domaine fonctionnel respectif du véhicule, qui est piloté par un calculateur fonctionnel principal, respectivement 20, 30 et 40.
[0026] Dans l’exemple représenté, le domaine associé au calculateur 20 est par exemple le domaine « habitacle » (« Body » en anglais), le domaine associé au calculateur 30 est par exemple le domaine de la « motopropulsion » (« Powertrain » en anglais), et le domaine associé au calculateur 40 est par exemple ce que l’on appelle le domaine « châssis et la sécurité » (« Châssis & Safety » en anglais). Ces calculateurs peuvent être des microcontrôleurs de la famille des microcontrôleurs RH850 vendus par la société RENESAS™, qui sont dédiés à l’industrie automobile. Ainsi, par exemple : le calculateur 20 chargé du domaine habitacle (ou BCM, de l’anglais « Body Control Module ») peut être un microcontrôleur de type RH850/F1x, par exemple un microcontrôleur RH850/F1 K ; le calculateur 30 chargé du domaine châssis (ou CCM, de l’anglais « Châssis Control Module ») et sécurité peut être un microcontrôleur de type RH850/P1x ; et, le calculateur 40 dédié au domaine motopropulsion (ou PCM, de l’anglais « Powertrain Control Module ») peut être un microcontrôleur de type RH850/E1x.
[0027] Bien entendu, il ne s’agit que d’exemples, et beaucoup d’autres microcontrôleurs ou cartes électroniques à base de microprocesseurs peuvent réaliser les calculateurs 20, 30 et 40, selon les particularités propres à chaque application. Par exemple, les calculateurs peuvent être des composants de la famille MPC56x dédiés aux applications dans l’automobile, disponibles auprès de la société NXP™.
[0028] Dans un exemple, les réseaux de communication de données 11 , 12 et 13 sont par exemple des bus multiplexés respectant le protocole CAN (norme ISO 11898), et plus particulièrement des réseaux du type CAN FD présenté en introduction de la présente description qui est une extension du CAN classique conçue pour améliorer les performances temps réel des applications. La particularité du bus CAN FD est d’offrir un débit binaire qui peut être jusqu’à 8 fois plus élevé que celui du CAN classique, en permettant de transmettre jusqu’à 64 octets de données par trame au lieu de 8 pour le CAN classique.
[0029] Chaque réseau comprend en général plusieurs sous-réseaux, bien que cela ne soit nullement obligatoire. Par exemple, le réseau 13 associé au domaine motopropulsion peut comprendre un sous-réseau 41 associé au contrôle moteur, et un sous-réseau 42 associé à la transmission (à savoir la transmission de l’énergie mécanique du moteur aux roue motrices du véhicule). Ces deux sous-réseaux comprennent des capteurs et des actionneurs qui sont pilotés, pour chaque sous- réseau, par un calculateur particulier en l’occurrence le calculateur de contrôle moteur (ou ECU, de l’anglais « Engine Control Unit ») et le calculateur de transmission (ou TCU, de l’anglais « Transmission Control Unit »), respectivement. De la même façon le réseau 12 associé au domaine châssis et sécurité peut comprendre un sous-réseau 31 associé au contrôle du freinage (géré par un calculateur ABS), et un sous-réseau 22 associé au contrôle de trajectoire (géré par un calculateur ESP), etc.
[0030] Dans ce qui suit, on détaillera plus particulièrement un sous-réseau du réseau 11 , en référence toujours au schéma de la figure 1.
[0031] En effet, le calculateur 20 chargé de la gestion du domaine habitacle est relié à un ou plusieurs sous-réseaux, à savoir un sous-réseau 21 et un sous- réseau 22 dans l’exemple montré à la figure 1. Le premier sous-réseau 21 relie le calculateur 20 à des calculateurs qui sont respectivement chargés, par exemple, de la fonction verrouillage/déverrouillage des ouvrants du véhicule, de la gestion des vitres électriques, des commandes de réglage et de chauffage des sièges, etc. Le second sous-réseau 22 relie le calculateur 20 à des calculateurs qui sont respectivement chargés, par exemple, de l’éclairage intérieur du véhicule, de l’éclairage extérieur et de la signalisation du véhicule, des commandes d’essuyage, etc.
[0032] Dans l’exemple représenté, qui n’est qu’illustratif seulement et nullement limitatif, les réseaux 21 et 22 sont par exemple des bus CAN HS, c’est-à-dire des bus de données CAN « haute vitesse » dont la couche physique implémente les spécifications de la norme ISO 11898-2 ainsi qu’il a été dit en introduction. Leur débit d’échange de données peut aller jusqu'à 1 Mbits/s, en étant inversement proportionnel à la longueur du bus.
[0033] Dans l’exemple représenté, le calculateur 220 qui est chargé de l’éclairage extérieur et de la signalisation du véhicule, est relié à des actionneurs et à des capteurs par un sous-réseau 50. Le sous-réseaux 50 peut, par exemple, être un bus LIN. Les actionneurs peuvent comprendre, notamment, des lampes 51 pour les feux de signalisation, les feux de croisement, les feux de route, etc., des motoréducteurs comme l’actionneur 52 pour le réglage de la hauteur des phares, par exemple, ainsi que tout autre organe ou accessoire comme par exemple des centrales clignotantes, des convertisseurs de tension pour lampes à décharge, etc. Les capteurs peuvent comprendre des capteurs de hauteur de caisse comme le capteur 53 pour détecter l’effet du chargement du véhicule par exemple afin de corriger le réglage de la hauteur des phares, un capteur de luminosité 54 pour fournir une information permettant la mise en service automatique des deux de position et/ou des feux de croisement, etc.
[0034] On notera que certains organes du véhicule, actionneurs ou capteurs, peuvent être partagés par plusieurs réseaux, c’est-à-dire qu’ils peuvent être amenés à recevoir ou à transmettre des informations de, ou à un calculateur autre que le calculateur qui gère le réseau ou sous-réseau auxquels ils sont physiquement couplés. Ainsi par exemple, dans l’architecture montrée à la figure 1, le capteur de hauteur de caisse 53 utilisé par le calculateur 220 pour gérer les foncions d’éclairage externe et signalisation, peut communiquer avec le calculateur ESP gérant le sous-réseau 32 du réseau 12 associé au domaine châssis et sécurité. [0035] Afin de permettre cette communication de données, qui peut être unidirectionnelle ou bidirectionnelle, certains calculateurs implémentent une fonction passerelle, en plus d’assurer les fonctions opérationnelles pour lesquelles ils sont prévus en première intention. Cette multiplicité de foncions assurées par un même calculateur vise à, et permet d’éviter l’utilisation massive d’unités passerelles entre les différents réseaux et sous-réseaux du véhicule qui doivent échanger des données. Ces unités passerelles sont des composants dédiés, ayant pour principal inconvénient d’augmenter le coût de l’architecture de bord du véhicule.
[0036] En référence au schéma de la figure 2, on va maintenant décrire fonctionnellement les moyens matériels 100 et les moyens logiciels 200 du calculateur 20 de la figure 1 qui prennent part à la mise en œuvre du procédé selon des modes de réalisation de l’invention.
[0037] Les moyens matériels 100 comprennent tout d’abord un module émetteur- récepteur 101 pour CAN, plus particulièrement pour HS CAN dans l’exemple considéré ici. Ce module réalise l’interface, au niveau physique, pour l’émission et la réception de données en mode différentiel sur les lignes haute et basse, respectivement notées CANH et CANL, du bus CAN qui constitue le réseau 22 de la figure 1. Comme l’homme du métier ne l’ignore pas, en effet, le bus CAN est, dans le domaine automobile, un bus de données série bidirectionnel, semi-duplex, et à lignes différentielles qui sont refermées à chaque extrémité du bus par une impédance de 120 Ohms.
[0038] Les moyens matériels 100 comprennent aussi un contrôleur CAN 102. La fonction du contrôleur 102 est de réaliser une interface matérielle entre l’émetteur- récepteur 101 et les moyens de traitement du calculateur 20. A cet effet, le contrôleur 102 comprend notamment une mémoire tampon de réception 103 et une mémoire tampon d’émission 105. Ces mémoires tampons (« buffer » en anglais) 103 et 105 ont pour fonction de stocker les trames CAN reçues par le calculateur 20 via le bus 22 en attente de leur traitement par le calculateur ou les trames CAN produites par le calculateur 20 en attente de leur émission sur le bus 22, respectivement.
[0039] Bien entendu, l’homme du métier appréciera que, bien que le schéma fonctionnel de la figure 2 ne montre qu’une seule interface avec un bus de communications de données externe, le calculateur comprend au moins une autre interface pour l’échange de données avec un autre bus. Dans le cas du calculateur 20 montré à la figure 1, ainsi, le calculateur 20 comprend en outre une autre interface avec le bus CAN FD du réseau de communication de données 11. Cette interface n’est pas représentée à la figure 2 afin de ne pas surcharger inutilement cette figure. La fonction passerelle du calculateur 20 consiste à réaliser la liaison entre les réseaux 11 et 22, notamment, qui sont de différents types, mais également entre les réseaux 11 et 21 , et également encore entre les réseaux 21 et 22 qui sont du même type dans l’exemple considéré ici. Ainsi, dans cette fonction passerelle le calculateur 20 effectue le routage des trames d’un réseau à l’autre. Il peut également effectuer la conversion protocolaire entre les réseaux 21 et 22 qui sont de types respectifs différents. Quel que soit le type respectif des bus de communication de données concernés, le calculateur 20 peut également effectuer des traitements plus évolués sur les trames qu’il transmet, par exemple pour effectuer de la qualité de service, du cryptage/décryptage pour assurer la sécurité de certains échanges de données, etc.
[0040] Les moyens logiciels 200 comprennent un pilote de trames 201 (ou pilote CAN, qui est la traduction en français de son appellation « CAN Driver » en anglais), un gestionnaire de trames 202 (ou « Frame Manager » en anglais), et une pluralité de N composants logiciels C1 , C2, ... , Cn, où N est un nombre entier. Tous les modules logiciels s’exécutent sur un processeur du calculateur 20. Pour l’implémentation de la fonction passerelle du calculateur, il y a parmi les composants C1-Cn un ou plusieurs composants chargés de désencapsuler/encapsuler les données dans le cadre de la conversion protocolaire mentionnée plus haut (lorsque le calculateur assure une telle conversion), d’autres qui peuvent être chargés des traitements liés à la sécurité comme mentionné au paragraphe ci-dessus, etc. Chaque trame comprend 8 octets de données (pour un bus CAN HS standard) ou de 8 à 64 octets de données par multiples de 8 (pour un bus CAN FD).
[0041] Tous ces traitements prennent du temps. Les cahiers des charges que doivent respecter les fournisseurs de systèmes embarqués dans les applications automobiles, imposent actuellement d’être capable de passer d’un bus à un autre un message complet en 250 ps voire moins, jusqu’ à 200 ps (ce qui fait 4000 à 5000 messages par seconde). Lorsque ces messages sont des trames CAN, elles sont reçues en rafale à raison d’une trame toutes les 100 ps ou toutes les 150 ps environ. Le calculateur peut donc recevoir des trames CAN à un rythme plus élevé que celui auquel il est capable de les traiter. C’est pourquoi des trames CAN arrivant en rafale depuis le bus 22 sont provisoirement stockées dans la mémoire tampon de réception 103, en attente de leur traitement par le calculateur 20.
[0042] Or, dès qu’une trame CAN est reçue par le calculateur 20 avec une adresse de destination qui implique qu’elle doit être relayée vers un autre réseau ou sous- réseau d’un type différent (donc en faisant appel à la fonction passerelle du calculateur 20), la trame est stockée dans la mémoire tampon de réception 103 du contrôleur CAN 102, et ce dernier génère une interruption matérielle INT, qui porte la référence 300 à la figure 2. Cette interruption matérielle peut par exemple être réalisée par le passage à 0 d’un bit qui est normalement à 1 , où 0 et 1 désignent les valeurs logiques binaires auxquelles sont associées des niveaux de tension respectifs. La fonction de cette interruption est de suspendre l’exécution en cours des tâches associées aux fonctions opérationnelles du calculateur, afin pour la fonction passerelle de prendre la main sur le calculateur pour convertir et transmettre les trames reçues.
[0043] En principe, c’est-à-dire sans la mise en œuvre de l’invention, l’interruption INT n’est pas relevée avant la fin du traitement de toutes les trames qui sont stockées dans la mémoire tampon 103. Mais comme cela peut prendre un temps non négligeable et afin d’éviter que cela n’affecte les performances temps réel du calculateur, des modes de mise en œuvre de l’invention prévoient des dispositions qui permettent de redonner la main aux applications opérationnelles, afin que leur exécution reprenne et ainsi ne pas bloquer ces applications au détriment de leur qualité de service.
[0044] On va maintenant décrire des modes de mise en œuvre du mécanisme proposé par l’invention, en référence aux chronogrammes de la figure 3 et au diagramme d’étapes de la figure 4. Dans ce qui suit, on fera alternativement référence à ces deux figures sans forcément le préciser d’une manière particulière à chaque fois. L’effet des étapes du procédé illustré par le diagramme de la figure 4 se voit en effet sur les chronogrammes de la figure 3. [0045] Le chronogramme de la figure 3(a) illustre l’évolution du contenu de la mémoire tampon de réception 102 de la figure 2, en fonction du temps f (de la gauche vers la droite). Dans l’exemple considéré pour cette illustration, la structure de données correspondant à cette mémoire est une pile qui se remplit par le haut et se vide par le bas sur une base « premier entré - premier sorti », avec les trames reçues par le calculateur qui entrent et sont stockées dans la mémoire jusqu’à ce qu’elles en sortent pour être passées au pilote de trames en vue de leur traitement par le processeur du calculateur. Plus particulièrement, les registres de cette pile de données sont représentés par des rectangles disposés les uns au-dessus des autres.
[0046] Le chronogramme de la figure 3(b) montre la réception de trames T1 , T2, T3, etc. à des instants respectifs déterminés suivant l’axe des temps t.
[0047] Le chronogramme de la figure 3(c) montre l’activité du pilote de trames 201 de la figure 2, en fonction du temps t. Sur cette figure, les périodes d’activité du pilote de trames sont représentées par des rectangles. Les trames concernées par cette activité sont également représentées par des rectangles sur le chrono grammes, au-dessus du rectangle précité, et avec une indication du type « TiCj » où Ti désigne une trame d’indice i dans la séquence des trames stockées dans la mémoire tampon de réception, et où Cj désigne le composant logiciel d’indice j dans l’ensemble des N composants logiciels C1 à Cn. Ainsi par exemple l’indication T2C3 dans un rectangle signifie que ce rectangle désigne le fait que la deuxième trame T2 est traitée par le troisième composant C3.
[0048] Enfin, le chronogramme de la figure 3(d) montre l’activation et la désactivation en fonction du temps t de l’interruption INT de la figure 2.
[0049] Dans le contexte de modes de mise en œuvre de l’invention considérés ici, une interruption est un évènement, et plus particulièrement un évènement matériel, par exemple le passage à 0 d’un bit stocké dans un registre du calculateur qui est normalement à 1 , i.e, qui est à 1 par défaut. Dans un exemple, on considère qu’initialement le bit INT est à 1 , ce qui veut dire que l’interruption n’est pas activée. Le processeur du calculateur est libre d’exécuter les processus liés aux applications opérationnelles du calculateur. [0050] L’activation de l’interruption, c’est-à-dire le passage de 1 à 0 du bit INT, a pour fonction de provoquer l’arrêt de l’exécution séquentielle du processus en cours d’exécution dans le calculateur hôte, pour placer ce processus dans un mode d’attente. Lors d'une interruption, le processeur sauve tout ou une partie de son état interne, appelé « contexte », par exemple dans la pile système. Puis il exécute la routine d'interruption associé à l’interruption concernée, qui correspond ici au traitement des trames CAN reçues dans le cadre de la mise en œuvre de la fonction passerelle du calculateur. L’appel à cette routine, qui est un autre programme, à savoir un sous-programme aussi appelé « service d'interruption », s’effectue par exemple en suivant les directives d'une table d’interruption indiquant pour chaque type d'interruption que le calculateur peut recevoir, le sous-programme à exécuter.
[0051] Le processus correspondant au programme opérationnel reste dans ce mode d’attente tant que l’interruption est activée, i.e., tant que le bit en question reste à 0 dans l’exemple considéré ici. L’exécution du programme reprend là où elle s’était arrêtée une fois que l'interruption est désactivée, i.e., quand le bit est relevé à 1 dans cet exemple. A cet effet, l'état du processeur est restauré tel qu’il a été sauvé au moment de la survenue de l’interruption, et on fait repartir l’exécution du programme opérationnel par le processeur à partir de l'endroit où il avait été interrompu.
[0052] L’Homme du métier appréciera que l’évènement indiqué ci-dessus pour déclencher l’interruption n’est qu’un exemple. D’autres évènements matériels ou logiciels peuvent lui être substitués, sans dénaturer l’invention, en fonction notamment du type de calculateur dont il s’agit et/ou de la mise en œuvre du gestionnaire de trames. Par exemple, l’activation d’une interruption peut être l’écriture d’une valeur complexe déterminée dans un registre déterminé.
[0053] Enfin, on notera que des flèches courbes en traits pointillés montrent les implications logiques entre les différents événements représentés ou visibles à travers les chronogrammes des figures 3(a) à 3(d).
[0054] On va maintenant décrire le déroulement du procédé selon des modes de mise en œuvre de l’invention et plus particulièrement d’étapes 401 à 408 du procédé qui sont illustrées à la figure 4. On suppose qu’initialement la mémoire tampon de réception est vide et que le bit de l’interruption INT est à 1 . [0055] En 401 , le calculateur reçoit une ou plusieurs trames de données en provenance d’un émetteur, via le bus 22 des figures 1 et 2. Ces trames sont destinées à un récepteur qui est accessible via un autre bus, par exemple le bus 11 de la figure 1. Le contrôleur CAN le détecte sur la base de l’adresse de destination contenue dans les trames CAN. Cela étant, il provoque le stockage en 402 des trames ainsi reçues, dans la mémoire tampon de réception, en attente de leur traitement en vue de leur transmission au récepteur via ledit autre bus. Ainsi qu’on peut le voir dans la première représentation de la structure de données de la mémoire tampon de réception qui est visible à l’extrémité gauche du chronogramme de la figure 3(a), une première trame T1 est stockée dans la mémoire tampon de réception.
[0056] Par ailleurs, la réception de la première trame T1 de la séquence de trames reçues et stockées dans la mémoire tampon de réception provoque, en 403 l’activation de l’interruption INT, c’est-à-dire le passage de 1 à 0 du bit correspondant, dans l’exemple considéré ici, ce qui est montré à la figure 3(d).
[0057] Ce déclenchement 403 de l’interruption INT a pour effet d’interrompre l’exécution d’un programme opérationnel en cours d’exécution par le processeur du calculateur. En outre, il a également pour effet de causer le traitement par ledit processeur des trames reçues afin de les transmettre au récepteur via le second bus. Ce traitement est piloté par le pilote de trames qui devient donc actif à ce moment-là, comme montré au chronogramme de la figure 3(c). Dans l’exemple représenté, le pilote de trames en liaison avec le gestionnaire de trames, provoque le traitement de la trame T1 successivement par le composant logiciel C1 et par le composant logiciel C2. Est ensuite entamé le traitement par le composant logiciel C1 d’une trame T2 qui est reçue après la trame T1 , et stockées provisoirement dans la mémoire tampon de réception.
[0058] Néanmoins, l’expiration d’une première durée déterminée D1 survient en 404, pendant le traitement ci-dessus de la trame T2, cette durée D1 étant décomptée à partir du déclenchement de l’interruption INT. De ce fait, l’interruption INT est désactivée en 405 afin de rendre la main au processeur pour la poursuite de l’exécution du programme fonctionnel. Ceci n’intervient avantageusement qu’après et à la fin du traitement de la trame T2 en cours de traitement par le composant logiciel C1 au moment de ladite expiration. En effet, il n’est pas souhaitable d’interrompre le traitement d’une trame avant qu’il ne soit achevé, notamment car cela pourrait laisser des registres du calculateur avec des valeurs transitoires qui pourraient être sources d’erreurs pour les traitements suivants. On notera que l’interruption INT est relevée nonobstant la présence éventuelle d’autres trames reçues, dans la mémoire tampon, en attente de leur traitement par le calculateur afin de les transmettre au récepteur. Ainsi, dans l’exemple représenté à la figure 3, une troisième trame T3 a été reçue par le calculateur quand la durée D1 se termine, et elle est stockée dans la mémoire tampon de réception où elle se trouve encore, de même que la trame T2 dont le traitement doit être poursuivi par les composants logiciels C2 et C3, après l’expiration de la durée D1 et plus particulièrement lorsque le traitement de la trame T1 par le composant C1 est terminé. En dépit de cela, le relèvement de l’interruption INT rend la main au processeur du calculateur pour reprendre l’exécution du ou des processus des programmes d’application exécutée par le calculateur dans le cadre de ses fonctions opérationnelles. Ainsi, grâce à l’invention, la qualité de service offerte par ces programmes d’application, et notamment leur aspect temps réel, n’est pas dégradée par la prééminence de la fonction passerelle du calculateur qui découle des mises en œuvre selon l’art antérieur.
[0059] Dans un mode de mise en œuvre, la durée D1 est une durée constante. La valeur de la durée D1 peut être déterminée sur la base de la tolérance applicable au décalage (appelé « jitter » dans la langue anglo-saxonne) des tâches du système d’exploitation embarqué. Dans un exemple, la durée D1 peut être comprise entre environ 50 microsecondes et environ 100 microsecondes (ms). Elle peut être fixe (c’est-à-dire intangible). En variante, la durée D1 peut être programmable.
[0060] Dans d’autres modes de mise en œuvre, la durée D1 peut aussi être variable en fonction de paramètres pris en compte par le calculateur, afin par exemple d’adapter la performance temps réel du calculateur à des circonstances particulières. Ces paramètres peuvent être, par exemple, des paramètres mesurés par le calculateur.
[0061] Le déclenchement 407 d’une nouvelle interruption intervient à la fin 406 d’une seconde temporisation de durée D2 déterminée suivant la désactivation de l’interruption, c’est-à-dire à l’issue du décompte de la durée D2 par un circuit de temporisation (« Timer » en anglais), par exemple. Cette seconde interruption, c’est-à-dire le nouveau passage du bit INT de 1 à 0 visible à la figure 3(d), à pour effet d’interrompre de nouveau l’exécution du programme opérationnel par le processeur, et causer la poursuite du traitement par ledit processeur des trames reçues et stockées dans la mémoire tampon, afin de les transmettre au récepteur via le second bus. Ainsi, la trames T2 peut être traités par les composants logiciels C2 et C3, successivement, et la trame T3 est traitée par le composant logiciel C1 , comme montré à la figure 3(c).
[0062] Dans l’exemple montré aux figures 3(a)-3(d), le traitement de toutes les trames restant dans la mémoire tampon de réception 102 de la figure 2, est terminé avant l’expiration d’une nouvelle durée D1 suivant la nouvelle interruption INT, en sorte que le procédé s’arrête à la fin du traitement de la trame T3 par le composant logiciel C1. Autrement, l’homme du métier appréciera que le mécanisme décrit ci- dessus est renouvelé, c’est-à-dire que l’interruption INT est relevée afin de permettre, pendant une nouvelle durée D2, la reprise du traitement du programme opérationnel dont l’exécution a été interrompue, et qu’une nouvelle temporisation D2 est décomptée avant de générer une nouvelle interruption pour reprendre le traitement des trames qui demeurent stockées dans la mémoire tampon de réception 102 du calculateur.
[0063] La valeur de la durée D2 de la temporisation dépend des contraintes spécifiques à chaque application. Dans un mode de réalisation, la valeur de la durée de la temporisation D2 peut être déterminée comme un pourcentage de la tolérance applicable au décalage des tâches gérées par le système d’exploitation du calculateur. Elle peut ainsi être comprise entre 5% et 15% de cette tolérance. Des valeurs typiques de D2 sont de l’ordre de quelques microsecondes (ps), ou d’une (ou plusieurs) dizaine(s) de microsecondes.
[0064] La présente invention a été décrite et illustrée dans la présente description détaillée et dans les figures des dessins annexés, dans des formes de réalisation possibles. La présente invention ne se limite pas, toutefois, aux formes de réalisation présentées. D’autres variantes et modes de réalisation peuvent être déduits et mis en œuvre par la personne du métier à la lecture de la présente description et des dessins annexés.
[0065] En particulier, l’architecture du véhicule peut être plus simple ou plus complexe que celle illustrée par la figure 1, en étant découpée en moins de domaines fonctionnels, ou au contraire peut comprendre un ou plusieurs autres domaines fonctionnels servis par d’autres réseaux de communication principaux respectifs, comme par exemple un domaine d’infodivertissement (« Infotainment » en anglais). Egalement, tout ou partie des réseaux de communications de données principaux peuvent respecter un autre protocole que le CAN ou l’un de ses protocoles dérivés, comme par exemple le protocole FlexRay déjà mentionné en introduction.
[0066] Egalement, par souci de simplicité on a envisagé dans la présente description un calculateur embarqué qui est un calculateur monoprocesseur, mais le procédé peut se généraliser à des calculateurs pluri-processeurs, ou avec un (ou plusieurs) processeur(s) à plusieurs cœurs de processeur, capables d’exécuter chacun des processus respectifs en parallèle les uns avec les autres.
[0067] Par ailleurs, on a pris l’exemple d’une fonction passerelle entre un premier bus 22 qui est un bus de type HS CAN et un second bus 11 qui est un bus du type CAN FD, mais ceci n’est nullement limitatif. En effet, le premier et le second bus de communications sont des bus de types respectifs différents qui peuvent être sélectionnés, notamment, parmi les types de bus de communication pour l’automobile appartenant au groupe suivant :
- HS CAN / ISO 11898-2,
- CAN FD / ISO 11898-2 : 2015,
- LS CAN / ISO 11898-3,
- FlexRay / ISO 17458,
- LIN / ISO 17987,
- MOST,
- J1939 / SAE J 1939,
- J2284 / SAE J2284, etc. [0068] Dans les revendications, le terme "comprendre" ou "comporter" n’exclut pas d’autres éléments ou d’autres étapes. Un seul processeur ou plusieurs autres unités peuvent être utilisées pour mettre en œuvre l’invention. Les différentes caractéristiques présentées et/ou revendiquées peuvent être avantageusement combinées. Leur présence dans la description ou dans des revendications dépendantes différentes, n’excluent pas cette possibilité. Les signes de référence ne sauraient être compris comme limitant la portée de l’invention.

Claims

Revendications
[Revendication 1] Procédé de gestion de trames dans un calculateur embarqué (20) de véhicule automobile du type adapté pour assurer conjointement au moins une fonction opérationnelle ainsi qu’une fonction passerelle entre au moins deux bus de communication lorsqu’il est couplé à un premier bus de communication de données (11) du véhicule pour recevoir et transmettre des messages de données (T 1 ,T2,T3) vja |e premier bus, d’une part, et est couplé en outre à un second bus de communication de données (21) du véhicule pour recevoir et transmettre des messages de données via ledit second bus, d’autre part, le calculateur étant configuré pour mettre en oeuvre une fonction passerelle afin de transmettre des messages reçus d’un émetteur via le premier bus vers un récepteur qui est accessible via le second bus, le procédé comprenant les étapes suivantes, mises en oeuvre dans le calculateur : a. la réception (401) d’un ou plusieurs messages de données en provenance d’un émetteur via le premier bus, lesdits messages étant destinés à un récepteur accessible via le second bus ; b. le stockage (402) des messages de données reçus dans une mémoire tampon du calculateur, en attente de leur traitement pour transmission au récepteur via le second bus ; c. le déclenchement (403) d’une première interruption pour interrompre l’exécution d’un programme opérationnel en cours d’exécution par un processeur du calculateur et causer le traitement par ledit processeur des messages de données stockés dans la mémoire tampon, pour leur transmission au récepteur via le second bus ; d. la désactivation (405) de l’interruption afin de permettre la poursuite par le processeur de l’exécution du programme fonctionnel, après l’expiration (404) d’une première durée (D1) déterminée et à la fin du traitement d’un message en cours de traitement par le processeur au moment de ladite expiration, nonobstant la présence éventuelle d’autres messages dans la mémoire tampon en attente de leur traitement par le processeur pour transmission au récepteur via le second bus ; et, e. le déclenchement (407) d’une seconde interruption à la fin (406) d’une temporisation d’une seconde durée (D2) déterminée suivant la désactivation de la première interruption, pour interrompre à nouveau l’exécution du programme opérationnel par le processeur et causer la poursuite du traitement par ledit processeur de messages stockés dans la mémoire tampon, pour leur transmission au récepteur via le second bus.
[Revendication 2] Procédé selon la revendication 1 dans lequel la première durée (D1 ) déterminée est constante.
[Revendication 3] Procédé selon la revendication 2 dans lequel la première durée (D1 ) déterminée est programmable.
[Revendication 4] Procédé selon la revendication 1 dans lequel la première durée (D1 ) déterminée est variable en fonction de paramètres pris en compte par le calculateur.
[Revendication 5] Procédé selon l’une quelconque l’une des revendications 1 à 4, dans lequel les messages de données sont des trames CAN, le premier bus de communication de données étant un bus CAN et la mémoire tampon étant la mémoire tampon de réception de la cellule CAN du calculateur qui est associée au premier bus.
[Revendication 6] Procédé selon l’une quelconque l’une des revendications 1 à 4, dans lequel le premier et le second bus de communications sont des bus de types respectifs différents parmi les types de bus de communication pour l’automobile appartenant au groupe suivant : HS CAN / ISO 11898-2, CAN FD / ISO 11898-2 : 2015, LS CAN / ISO 11898-3, FlexRay / ISO 17458, LIN / ISO 17987, MOST, J1939 / SAE J 1939, J2284 / SAE J2284.
[Revendication 7] Procédé selon l’une des revendications 1 à 6, dans lequel la valeur de durée (D2) de la temporisation est déterminée comme un pourcentage de la tolérance applicable au décalage des tâches d’un système d’exploitation du calculateur.
[Revendication 8] Calculateur pour véhicule automobile, du type qui est adapté pour assurer conjointement au moins une fonction opérationnelle ainsi qu’une fonction passerelle entre au moins deux bus de communication de données lorsqu’il est couplé à un premier bus de communication de données (11) du véhicule pour recevoir et transmettre des messages de données (T1 ,T2,T3) via ledit premier bus de communication, d’une part, et est couplé en outre à un second bus de communication de données (21) du véhicule pour recevoir et transmettre des messages de données via ledit second bus de communication, d’autre part, le calculateur étant configuré pour mettre en œuvre une fonction passerelle afin de transmettre des messages reçus d’un émetteur via le premier bus vers un récepteur qui est accessible via le second bus, le calculateur comprenant des moyens pour la mise en œuvre de toutes les étapes d’un procédé selon l’une quelconque des revendications 1 à 7.
[Revendication 9] Architecture de communications de données dans un véhicule automobile comprenant au moins un premier bus de communication de données (11) et un second bus de communication de données (21), et comprenant un calculateur selon la revendication 8 qui est couplé au premier bus pour recevoir et transmettre des messages de données (T 1 ,T2,T3) via ledit premier bus, d’une part, et qui est couplé en outre au second bus pour recevoir et transmettre des messages de données via ledit second bus, d’autre part.
[Revendication 10] Produit programme d'ordinateur comprenant une ou plusieurs séquences d'instructions stockées sur un support de mémoire lisible par une machine comprenant un processeur, lesdites séquences d'instructions étant adaptées pour réaliser toutes les étapes du procédé selon l’une quelconque des revendications 1 à 7 lorsque le programme est lu dans le support de mémoire et exécuté par le processeur.
PCT/EP2019/083785 2018-12-06 2019-12-05 Gestion conjointe par un calculateur embarque de véhicule automobile d'une fonction opérationnelle et d'une fonction passerelle entre des bus de communication de données WO2020115191A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/292,775 US11281613B2 (en) 2018-12-06 2019-12-05 Joint management by an onboard computer of a motor vehicle of an operational function and a gateway function between data communication buses
CN201980080461.5A CN113811864A (zh) 2018-12-06 2019-12-05 机动车辆车载计算机对操作功能和数据通信总线之间的网关功能的联合管理

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1872445A FR3089651B1 (fr) 2018-12-06 2018-12-06 Gestion conjointe par un calculateur embarque de véhicule automobile d’une fonction opérationnelle et d’une fonction passerelle entre des bus de communication de données
FR1872445 2018-12-06

Publications (2)

Publication Number Publication Date
WO2020115191A1 WO2020115191A1 (fr) 2020-06-11
WO2020115191A9 true WO2020115191A9 (fr) 2021-08-05

Family

ID=66690481

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2019/083785 WO2020115191A1 (fr) 2018-12-06 2019-12-05 Gestion conjointe par un calculateur embarque de véhicule automobile d'une fonction opérationnelle et d'une fonction passerelle entre des bus de communication de données

Country Status (4)

Country Link
US (1) US11281613B2 (fr)
CN (1) CN113811864A (fr)
FR (1) FR3089651B1 (fr)
WO (1) WO2020115191A1 (fr)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5511165A (en) * 1992-10-23 1996-04-23 International Business Machines Corporation Method and apparatus for communicating data across a bus bridge upon request
US5555383A (en) * 1994-11-07 1996-09-10 International Business Machines Corporation Peripheral component interconnect bus system having latency and shadow timers
US6442632B1 (en) * 1997-09-05 2002-08-27 Intel Corporation System resource arbitration mechanism for a host bridge
US6339808B1 (en) * 1999-01-04 2002-01-15 Advanced Micro Devices, Inc. Address space conversion to retain software compatibility in new architectures
US6654833B1 (en) * 1999-07-29 2003-11-25 Micron Technology, Inc. Bus arbitration
US6813673B2 (en) * 2001-04-30 2004-11-02 Advanced Micro Devices, Inc. Bus arbitrator supporting multiple isochronous streams in a split transactional unidirectional bus architecture and method of operation
US7536495B2 (en) * 2001-09-28 2009-05-19 Dot Hill Systems Corporation Certified memory-to-memory data transfer between active-active raid controllers
US9043078B2 (en) * 2010-08-13 2015-05-26 Deere & Company Method and system for performing diagnostics or software maintenance for a vehicle
CN103959718B (zh) * 2011-12-02 2017-04-26 株式会社自动网络技术研究所 发送消息生成装置以及车载通信系统
CN103064815B (zh) * 2012-12-29 2015-09-02 广东志成冠军集团有限公司 一种单spi总线控制多can接口的控制方法
US8984184B2 (en) * 2013-04-05 2015-03-17 William Marsh Rice University System and method for managing input/output data of peripheral devices

Also Published As

Publication number Publication date
WO2020115191A1 (fr) 2020-06-11
US20210397575A1 (en) 2021-12-23
FR3089651A1 (fr) 2020-06-12
US11281613B2 (en) 2022-03-22
CN113811864A (zh) 2021-12-17
FR3089651B1 (fr) 2020-11-06

Similar Documents

Publication Publication Date Title
CN111565139B (zh) 车载通信网络架构的车辆中的数据处理和存储系统和方法
EP2149823A1 (fr) Système aéronautique embarqué à reconfiguration dynamique, procédé associé et aéronef embarquant un tel système
WO2022043625A1 (fr) Réseau de flux priorisés de données embarqué dans un vehicule
CN113839847B (zh) 车载通信方法、车载电子设备、车载通信系统和介质
FR3017760A1 (fr) Station de participants d'un systeme de bus et procede pour augmenter le debit de donnees dans le systeme de bus
WO2009095620A1 (fr) Procédé de reconfiguration d'un ensemble de composants d'un circuit électronique, système de reconfiguration et procede de transmission de données correspondants
FR3107631A1 (fr) Procédé et dispositif de gestion de l’état en veille ou éveillé d’un réseau Ethernet dans un véhicule automobile, produit programme d’ordinateur, et véhicule automobile l’incorporant.
WO2020115191A9 (fr) Gestion conjointe par un calculateur embarque de véhicule automobile d'une fonction opérationnelle et d'une fonction passerelle entre des bus de communication de données
EP3114817B1 (fr) Procédé et système pour le telechargement de données vers au moins un calculateur
EP1840752B1 (fr) Système et procédé de communication par bus de communication série
EP3039827A1 (fr) Procédé et dispositif de contrôle de la transmission de trames de réponse, issues d'organes esclaves appartenant à un réseau lin, à un réseau d'un autre type
EP1517474B1 (fr) Procédé et dispositif correspondant de détection automatique du débit d'un réseau, notamment de type CAN (Controller Area Network), et de configuration du réseau au débit détecté
FR3064861A1 (fr) Procede de gestion de l’etat d’un reseau ethernet d’un vehicule automobile
EP3888330A1 (fr) Procédé de configuration d'un commutateur ethernet d'un réseau embarqué d'un véhicule automobile
FR3082960A1 (fr) Architecture electronique de vehicule automobile avec redondance des reseaux d’alimentation electrique et de communication inter-calculateurs.
FR3104281A1 (fr) Procede de chargement de donnees dans un calculateur de vehicule
EP4232904A1 (fr) Gestion de la supervision d'un composant électronique d'un véhicule terrestre à moteur
WO2013124061A1 (fr) Circuit de sortie pour un dispositif de regulation d'un moteur et procede de surveillance pour un tel circuit
FR2976432A1 (fr) Dispositif de resolution d'encombrement au sein d'un reseau de communication, par recalage temporel global des instants de production de bits de message des organes communicants
FR3096160A1 (fr) Procédé d’installation d’un composant informatique et équipement électronique associé
FR3039957A1 (fr) Procede de telechargement de logiciel pour des calculateurs par reseau a multiplexage temporel
CN116710328A (zh) 车载装置和中继方法
WO2008056088A2 (fr) Procede de restauration d'un systeme de reservation de service d'un reseau apres defaillance
FR2976435A1 (fr) Dispositif de resolution d'encombrement au sein d'un reseau de communication, par introduction d'un decalage temporel lors de la transmission d'un message, puis lors de la production des messages suivants a transmettre
WO2013060972A1 (fr) Procede de compensation de la corruption d'une memoire d'un calculateur electronique

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: 19812821

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: 19812821

Country of ref document: EP

Kind code of ref document: A1