WO2020115191A1 - 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 PDFInfo
- Publication number
- WO2020115191A1 WO2020115191A1 PCT/EP2019/083785 EP2019083785W WO2020115191A1 WO 2020115191 A1 WO2020115191 A1 WO 2020115191A1 EP 2019083785 W EP2019083785 W EP 2019083785W WO 2020115191 A1 WO2020115191 A1 WO 2020115191A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- bus
- computer
- processor
- messages
- interrupt
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/4031—Coupling between buses using bus bridges with arbitration
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME 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/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0841—Registering performance data
Definitions
- TITLE Joint management by an onboard 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 area 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 subnets of the operational domain in question, and / or with a central gateway unit (“Central Gateway” in English) which interfaces the data communication network with other data communication networks respectively associated with other main operational areas.
- a gateway function for interconnecting the computer with other computers, by example of computers respectively associated with subnets of the operational domain in question, and / or with a central gateway unit (“Central Gateway” in English) which interfaces the data communication network with other data communication networks respectively associated with other main operational areas.
- Central Gateway central gateway
- the data communications buses concerned can be of the same type by being electrically isolated from one another, or 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.
- CAN bus evolutions have led to complex network structures in which several communication networks or sub-networks coexist in the vehicle, with respective specifications which may be different.
- a conventional CAN bus can cooperate with a CAN bus with flexible data rate or CAN FD (from the English “Flexible Datarate”), which is defined as an option of the ISO standard 1 1898-2 of classic 125 kbit / s CAN bus which has been integrated into the ISO 1 1898-2: 2015 version of the standard.
- some architectures integrate one or more high speed CAN or HS CAN buses (from English “High Speed CAN”) conforming to ISO standard 1 1898-2 (2003) which offers a speed of up to 1 Mbits / s (depending on the length of the bus), and / or one or more low-speed CAN or LS CAN buses (from English “Low Speed”) conforming to ISO standard 1 1898-3 (2006) which offers a speed limited to 125 kbits / s but which is a fault-tolerant bus, or even many other bus technologies such as the local interconnected network or LIN bus (from the English “Local Interconnect Network”) standardized by ISO under the name "Local Interconnected Network” in the category “Road vehicles” and under the reference ISO 17987, or more recently the FlexRay bus standardized by ISO 17458, or the MOST bus (from "Media Oriented Systems Transport”) ) which allows optical data transmission with a speed of 21.2 Mbits / s and which is optimized for applications s automotive infota
- the vehicle includes a few functional areas such as the powerplant, 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 sub-networks different from said networks. This saves computers dedicated to a gateway unit function, by using part of the resources and computing time of a computer which also provides an operational function.
- some computers combine the implementation of a specific 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 in 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 in processing frames received from a first communication bus according to the specifications of a first data communication protocol, and in 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, upon reception by the computer of a sequence of frames to be converted and retransmitted within the framework 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 received frames are stored in an input buffer register, and are processed sequentially by the CPU according to their order of arrival, on the same interruption, until the buffer be empty.
- This prior art solution may involve a too long 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 correction of the vehicle trajectory to guarantee its stability, emergency braking to avoid a collision, or the automatic door unlocking in the event of a vehicle accident.
- the invention aims to eliminate, or at least mitigate, all or part of the disadvantages of the aforementioned prior art.
- a first aspect of the invention provides a frame management method in an on-board computer of a motor vehicle of the type adapted to jointly perform at least one operational function as well as a gateway function between at least two buses.
- data communication when coupled to a first vehicle data communication bus for receiving and transmitting data messages via the first bus, on the one hand, and is 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 other tasks of the computer related to the functions operational aspects 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 approximately 30% of the load of the calculator, ie its computing time, so that only around 50% of its load represents tasks linked to its specific operational functions (in an example application where the total load of the calculator is limited to around 80% over the based on specifications to be respected), but without incurring any significant deterioration in real-time performance of the applications concerned.
- Embodiments taken individually or in combination, further provide that:
- 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 buses of different respective types among the types of communication bus for the automobile belonging to the following group: HS CAN / ISO 1 1898-2, CAN FD / ISO 1 1898-2: 2015, LS CAN / ISO 1 1898-3, FlexRay / ISO 17458, LIN / ISO 17987, MOST, J1939 / SAE J 1939, J2284 / SAE J2284;
- the value for the duration of the time delay is determined as a percentage of the tolerance applicable to the offset 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 adapted to jointly perform at least one operational function as well as a gateway function between at least two data communication buses when it is coupled to 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 cabin 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 aspect above, which is coupled to the first bus to receive and transmit data messages via said first bus, on the one hand, and which is further coupled to the second bus to receive and transmit 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 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 data communication architecture in a motor vehicle
- FIG. 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 in Figure 1 shows an example of 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 1 1, 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 1 1, 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 area associated with the computer 20 is for example the area "passenger compartment" ("Body” in English)
- the area associated with the computer 30 is for example the area of "powerplant” ("Powertrain “In English)
- the field associated with the computer 40 is for example what is called the field" chassis and safety "(" Chassis & Safety "in English).
- These computers can be microcontrollers of the RH850 family of microcontrollers sold by RENESAS TM, which are dedicated to the automotive industry.
- the computer 20 responsible for the passenger compartment area can be a microcontroller of the RH850 / F1x type, for example a microcontroller RH850 / F1 K
- the computer 30 responsible for the chassis or CCM, from the English “Chassis Control Module”) and security domain can be a microcontroller of the RH850 / P1x type
- the computer 40 dedicated to the power sector or PCM, from the English “Powertrain Control Module” can be a microcontroller of the RH850 / E1x type.
- computers 20, 30 and 40 can produce the computers 20, 30 and 40, according to the specific features 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 1 1, 12 and 13 are for example multiplexed buses respecting the CAN protocol (ISO standard 1 1898), and more particularly networks of the CAN FD type presented in the introduction to the present description which is an extension of the classical CAN designed to improve the real-time performance of applications.
- the special feature of the CAN FD bus is that it offers a bit rate which can be up to 8 times higher than that of conventional CAN, by making it possible to transmit up to 64 bytes of data per frame instead of 8 for conventional CAN. .
- Each network generally comprises several subnets, although this is in no way mandatory.
- the network 13 associated with the drive train may 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 drive 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, and the engine control unit).
- transmission computer or TCU, from the English “Transmission Control Unit”
- the network 12 associated with the chassis and security 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 area 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 windows, the management of electric windows, controls for adjusting and heating the seats, etc.
- the second sub-network 22 connects the computer 20 to computers which are respectively responsible, for example, for interior lighting of the vehicle, 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 CAN data buses "high speed" whose physical layer implements the specifications of ISO standard 1 1898-2 as mentioned in the introduction.
- Their data exchange rate can go up to 1 Mbit / s, being inversely proportional to the length of the bus.
- the computer 220 which is responsible for the exterior lighting and the signaling of the vehicle, is connected to actuators and to sensors by a sub-network 50.
- the sub-networks 50 can, for example, being a LIN bus.
- the actuators may include, in particular, lamps 51 for signaling lights, low beams, high beams, etc., geared motors such as the actuator 52 for adjusting the height of the headlights, for example, as well as any other device or accessory such as flashing lights, voltage converters for discharge lamps, etc.
- the sensors can include body height sensors such as the sensor 53 to detect the effect of the vehicle loading for example in order to correct the adjustment of the height of the headlights, a brightness sensor 54 to provide information allowing the commissioning. automatic position marker and / or low beam, etc.
- certain vehicle components, actuators or sensors may be shared by several networks, that is to say that 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 ensuring the operational functions for which they are provided in the first instance.
- This multiplicity of functions provided by the same computer aims to, and makes it possible to avoid the massive use of gateway units between the various networks and subnetworks 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 vehicle's on-board architecture.
- the hardware means 100 firstly comprise a transceiver module 101 for CAN, more particularly for HS CAN in the example considered here.
- This module performs 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 serial data bus, half-duplex, and 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 includes in particular a reception buffer 103 and a transmission buffer 105.
- These buffer memories 103 and 105 have the function of storing the CAN frames received by the computer 20 via the bus 22 awaiting their processing. by the computer or the CAN frames produced by the computer 20 awaiting their transmission on the bus 22, respectively.
- the computer 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 1 1.
- This interface is not shown in Figure 2 so as not to overload this figure unnecessarily.
- the gateway function of the computer 20 consists in making the connection between the networks 1 1 and 22, in particular, which are of different types, but also between the networks 1 1 and 21, and also also between the networks 21 and 22 which are of the same type in the example considered here.
- the computer 20 performs the routing of the frames from one network to the other.
- the computer 20 can also carry out 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 it transmits, for example to perform quality of service, encryption / decryption to ensure security certain data exchanges, etc.
- the software means 200 comprise a frame pilot 201 (or CAN pilot, which is the translation into French 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 run 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 who may be responsible for security-related processing 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 has the reference 300 in FIG. 2.
- This hardware interrupt can for example be carried out by passing to 0 a bit which is normally at 1, where 0 and 1 denote the binary logic values with which respective voltage levels are associated.
- the function of this interruption is to suspend the execution in progress 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 received frames.
- the INT interrupt is not noted before the end of the processing of all the frames which are stored in the buffer memory 103.
- embodiments of the invention provide provisions which make it possible to give back control to operational applications, in order to let their execution resume and thus not block these applications to the detriment of their quality of service.
- the timing diagram of Figure 3 (a) illustrates the evolution of the content of the reception buffer 102 of Figure 2, as a function of time f (from left to right).
- the data structure corresponding to this memory is a stack which is filled from above and is emptied from below on a “first in - first out” basis, with the frames received by the computer. which enter and are stored in the memory until they leave it to be passed to the frame pilot for processing by the processor of the computer. 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 pilot 201 of Figure 2, as a function of time t.
- the periods of activity of the frame pilot are represented by rectangles.
- the frames concerned by this activity are also represented by rectangles on the chrono grams, above the abovementioned 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 interruption 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 1, ie, which is 1 by default.
- a hardware event for example the change to 0 of a bit stored in a register of the computer which is normally 1, ie, which is 1 by default.
- the INT bit is set to 1, which means that the interrupt is not activated.
- the processor of the computer 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 sequential execution of the process running in the host computer, to put this process in 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 in the context 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 disabled, i.e., when the bit is raised to 1 in this example.
- the state of the processor is restored as it was saved at the time of the occurrence of the interruption, and the execution of the operational program by the processor is restarted from the place where it had been interrupted.
- the event indicated above to trigger the interruption is only an example.
- Other hardware or software events can be substituted for it, without distorting the invention, depending in particular on the type of computer in question and / or the implementation of the frame manager.
- the activation of an interrupt can be the writing of a determined complex value in a determined register.
- 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 1 1 of figure 1.
- the CAN controller detects it on the basis of the destination address contained in the CAN frames. However, it causes the 402 frames thus received to be stored in the reception buffer, 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 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 Figure 3 (d).
- This triggering 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 the processing by said processor of the frames received 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 this time, as shown in the timing diagram in FIG. 3 (c).
- the frame pilot in connection with the frame manager, causes the frame T1 to be processed successively by the software component C1 and by the software component C2. Thereafter, the processing is carried out by the software component C1 of a frame T2 which is received after the frame T1, and temporarily stored in the reception buffer memory.
- 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 INT interrupt.
- the INT interrupt is deactivated at 405 in order to return control to the processor to continue executing the functional program. This advantageously occurs only after and at the end of the processing of the T2 frame during processing 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 the computer registers with transient values which could be sources of errors for the following treatments .
- the INT interrupt 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 is the frame T2 whose processing 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 completed.
- the raising of the interrupt INT returns control to the processor of the computer to resume the execution of the process or processes of the application programs executed by the computer within the framework 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 pre-eminence 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 approximately 50 microseconds and approximately 100 microseconds (ms). It can be fixed (i.e. intangible). Alternatively, the duration D1 can be programmable.
- the duration D1 can also be variable as a function of parameters taken into account by the computer, in order for example to adapt the real time performance of the computer to particular 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 D2 determined following the deactivation of the interruption, that is to say at the end of the countdown of the duration D2 by a timing circuit (“Timer” in English), for example.
- This second interruption that is to say the new passage of the bit INT 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 further 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 frame T2 can be processed by the software components C2 and C3, successively, and the frame T3 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 time delay D2 can be determined as a percentage of the tolerance applicable to the shift 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 in the order of a few microseconds (ps), or one (or more) ten (s) microseconds.
- the architecture of the vehicle may 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 domain.
- all or part of the main data communications networks can respect a protocol other than CAN or one of its derived protocols, such as the FlexRay protocol already mentioned in the introduction.
- an on-board computer which is a single processor computer, 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 1 1898-2 du bus CAN classique à 125 kbits/s qui a été intégrée dans la version ISO 1 1898-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 1 1898- 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 1 1898-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 1 1898-2, CAN FD / ISO 1 1898-2 : 2015, LS CAN / ISO 1 1898-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 1 1 , 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 1 1 , 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 1 1 , 12 et 13 sont par exemple des bus multiplexés respectant le protocole CAN (norme ISO 1 1898), 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 1 1 , 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 1 1898-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 1 1 . 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 1 1 et 22, notamment, qui sont de différents types, mais également entre les réseaux 1 1 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 1 1 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 1 1 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 1 1898-2,
- CAN FD / ISO 1 1898-2 : 2015,
- LS CAN / ISO 1 1898-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
[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 1 1898-2, CAN FD / ISO 1 1898-2 : 2015, LS CAN / ISO 1 1898-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.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201980080461.5A CN113811864B (zh) | 2018-12-06 | 2019-12-05 | 机动车辆车载计算机对操作功能和数据通信总线之间的网关功能的联合管理 |
| 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 |
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 true WO2020115191A1 (fr) | 2020-06-11 |
| WO2020115191A9 WO2020115191A9 (fr) | 2021-08-05 |
Family
ID=66690481
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP2019/083785 Ceased 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) | CN113811864B (fr) |
| FR (1) | FR3089651B1 (fr) |
| WO (1) | WO2020115191A1 (fr) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6339808B1 (en) * | 1999-01-04 | 2002-01-15 | Advanced Micro Devices, Inc. | Address space conversion to retain software compatibility in new architectures |
| US20140304440A1 (en) * | 2013-04-05 | 2014-10-09 | William Marsh Rice University | System and method for managing input/output data of peripheral devices |
| US20150089104A1 (en) * | 2012-12-29 | 2015-03-26 | Guangdong Zhicheng Cahmapiona Group Co., LTD. | Method for controlling multiple can interfaces through single spi bus |
Family Cites Families (8)
| 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 |
| 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 |
| WO2013080387A1 (fr) * | 2011-12-02 | 2013-06-06 | 株式会社オートネットワーク技術研究所 | Dispositif de génération de message de transmission et système de transmission à bord d'un véhicule |
-
2018
- 2018-12-06 FR FR1872445A patent/FR3089651B1/fr active Active
-
2019
- 2019-12-05 US US17/292,775 patent/US11281613B2/en active Active
- 2019-12-05 CN CN201980080461.5A patent/CN113811864B/zh active Active
- 2019-12-05 WO PCT/EP2019/083785 patent/WO2020115191A1/fr not_active Ceased
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6339808B1 (en) * | 1999-01-04 | 2002-01-15 | Advanced Micro Devices, Inc. | Address space conversion to retain software compatibility in new architectures |
| US20150089104A1 (en) * | 2012-12-29 | 2015-03-26 | Guangdong Zhicheng Cahmapiona Group Co., LTD. | Method for controlling multiple can interfaces through single spi bus |
| US20140304440A1 (en) * | 2013-04-05 | 2014-10-09 | William Marsh Rice University | System and method for managing input/output data of peripheral devices |
Also Published As
| Publication number | Publication date |
|---|---|
| FR3089651A1 (fr) | 2020-06-12 |
| US20210397575A1 (en) | 2021-12-23 |
| CN113811864A (zh) | 2021-12-17 |
| US11281613B2 (en) | 2022-03-22 |
| WO2020115191A9 (fr) | 2021-08-05 |
| FR3089651B1 (fr) | 2020-11-06 |
| CN113811864B (zh) | 2024-07-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN111565139B (zh) | 车载通信网络架构的车辆中的数据处理和存储系统和方法 | |
| EP3898341B1 (fr) | Architecture electronique pour systeme embarque | |
| FR2995161A1 (fr) | Module de passerelle de systeme de communication ainsi qu'un tel systeme et procede de transmission de donnees | |
| EP4205362B1 (fr) | Réseau de flux priorisés de données embarqué dans un vehicule | |
| 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. | |
| EP2149823A1 (fr) | Système aéronautique embarqué à reconfiguration dynamique, procédé associé et aéronef embarquant un tel système | |
| FR2889010A1 (fr) | Procede et dispositif de communication pour vehicule automobile | |
| EP3991029A1 (fr) | Procédé de dialogue avec un calculateur sur bus embarqué de véhicule | |
| 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 | |
| EP3888330A1 (fr) | Procédé de configuration d'un commutateur ethernet d'un réseau embarqué d'un véhicule automobile | |
| FR2922038A1 (fr) | Procede de gestion des trames de donnees dans un bus de communication de type bus can | |
| EP3114817B1 (fr) | Procédé et système pour le telechargement de données vers au moins un calculateur | |
| FR3010205A1 (fr) | Procede et dispositif de controle de la transmission de trames de reponse, issues d'organes esclaves appartenant a un reseau lin, a un reseau d'un autre type | |
| FR3031822A1 (fr) | Telechargement de donnees sur un equipement distant | |
| FR2859853A1 (fr) | Procede de detection automatique du debit d'un reseau, notamment de type bus can, et de configuration au debit detecte, dispositif correspondant | |
| FR3064861A1 (fr) | Procede de gestion de l’etat d’un reseau ethernet d’un vehicule automobile | |
| WO2013124061A1 (fr) | Circuit de sortie pour un dispositif de regulation d'un moteur et procede de surveillance pour un tel circuit | |
| CN116710328B (zh) | 车载装置和中继方法 | |
| FR3104281A1 (fr) | Procede de chargement de donnees dans un calculateur de vehicule | |
| FR3082960A1 (fr) | Architecture electronique de vehicule automobile avec redondance des reseaux d’alimentation electrique et de communication inter-calculateurs. | |
| FR3096160A1 (fr) | Procédé d’installation d’un composant informatique et équipement électronique associé | |
| WO2022084592A1 (fr) | Gestion de la supervision d'un composant électronique d'un véhicule terrestre à moteur | |
| CN121070468A (zh) | 车载应用程序的启动方法、车辆及计算机可读存储介质 | |
| 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 | |
| FR3127054A1 (fr) | Architecture de réveil et d’endormissement de calculateurs compatible avec différents types de véhicules automobiles |
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 |