Patent Description:
A plurality of electronic control units (ECUs) are mounted to a vehicle of recent years, and the ECUs are installed at various places in the vehicle. Those ECUs cooperate with each other to achieve one in-vehicle application. In order achieve such cooperation, data communication between the ECUs is required, and the ECUs are thus coupled to one another by a communication line so that an in-vehicle network is formed.

As a communication protocol to be used on the in-vehicle network, the control area network (CAN) is currently used mainly and widely. Meanwhile, in recent years, a high-level cooperative control system such as automatic driving control has been under development. In such a system, application of a high-speed protocol such as the Ethernet (trademark) and the PCI Express is being considered.

As the related art of this technical field, there is known <CIT>. In <CIT>, there is disclosed a vehicle-mounted gateway device. The vehicle mounted gateway device relays communication between a first vehicle-mounted network transmitting and receiving a first communication frame having a first data portion and a second vehicle-mounted network transmitting and receiving a second communication frame having a second data portion of which size is smaller than that of the first data portion. The vehicle-mounted gateway device includes a generation unit generating the first communication frame by using the second communication frame. The vehicle-mounted gateway device further includes a transmission unit transmitting the first communication frame generated by the generation unit to the first vehicle-mounted network. The generation unit consolidates the second data portions of a plurality of second communication frames to generate the first data portion in the first communication frame.

Moreover, in <CIT>, there is disclosed a frame transmission system. The frame transmission system includes: a frame transmitter including: a frame fragmentation unit configured to fragment an input frame so as to output transfer frames when the length of the input frame exceeds a predetermined fragmentation reference frame length, and configured not to fragment the input frame so as to output the input frame as a transfer frame when the length of the input frame is less than or equal to the fragmentation reference frame length; and a reproduction header appending unit configured to append a reproduction header to the transfer frame output from the frame fragmentation unit, the reproduction header including information required when the transfer frames are reproduced at a receiving side; and a frame receiver including a frame reassembling unit for reproducing the original frame from the transfer frames received from the frame transmitter. The reproduction header appending unit varies the header length of the reproduction header to be appended to the transfer frame according to the length of the input frame. <CIT> relates to a network system including a first network through which a frame of a first type is transmitted in accordance with a first communication protocol and a second network in which a frame of a second type is transmitted in accordance with a second communication protocol. A gateway device is connected to the first network and the second network, which receives frames of the first type from the first network and determines whether to transmit data regarding the received frames of the first type to the second network. The gateway device transmits, to the second network, a frame of the second type including data regarding a plurality of the frames of the first type determined to be transmitted to the second network. <CIT> relates to a communication control device including: a real-time communication status extraction unit that acquires a communication timing of real-time data; a dynamic fragment size determination unit that acquires a fragment size of sending data which can be sent until the communication timing acquired by the real-time communication status extraction unit; a fragment processing unit that fragments non-real-time data to have at least a fragment size which is equal to or less than the fragment size acquired by the dynamic fragment size determination unit; and a communication unit that sends the non-real-time data, which is fragmented by the fragment processing unit, before the communication timing of the real-time data.

In <CIT>, a plurality of CAN frames which have a small size and a low speed are consolidated in a frame having a high speed and a large size such as that of the Ethernet (trademark) to be transferred, and frames having the small size are transferred based on a protocol employing a communication frame having the large size. However, in a protocol employing a communication frame having a small size and a low speed, real-time property is prioritized. Further, reliability of a bus is high, and the protocol can be implemented by an inexpensive physical layer. Thus, there is a case in which this protocol is used to transfer data having a large volume such as a moving image. In this case, as described in <CIT>, it is conceivable to divide a frame having a large size and then transfer the divided frames, but when transfer is executed in parallel in a communication protocol employing a communication frame originally having a small frame size, the band may be strained depending on a method of the division.

This invention has been made in view of the above-mentioned problem, and has an object to provide a control technology for dividing a frame and transferring the divided frames on a communication protocol having a different frame size.

The aforementioned object is solved by the invention according to the independent claims. Further preferred developments are described by the dependent claims. In particular, there is provided a vehicle control device configured to transfer data through a first communication path for transferring data having a low priority and a second communication path for transferring data having a high priority, the second communication path having a transfer speed different from a transfer speed of the first communication path, wherein first transfer data transferable on the first communication path has a data size different from a data size of second transfer data transferrable on the second communication path, wherein the second communication path allows at least two types of transfer data to be transmitted and received thereon, and wherein, when the first transfer data is divided and is then transferred on the second communication path, the data is transferred by controlling at least one of a division size, the number of divisions, or a transfer timing of the first transfer data based on a timing cycle for transferring the second transfer data, a vacant time having no transfer, and a transfer time of the first transfer data on the second communication path.

According to the at least one aspect of this invention, the first transfer data usually transferred on the first communication path can be transmitted and received through the second communication path. Problems, configurations, and effects other than those described above become apparent from the following description of embodiments.

Description is now given of embodiments of this invention.

<FIG> is a configuration diagram of a vehicle control device and an in-vehicle network system.

A first electronic control unit <NUM> on a transmission side includes a first transfer data frame generation unit <NUM>, a first transfer data transmission buffer <NUM>, and a first transfer data physical interface <NUM> for processing first transfer data which is a frame having a large data size. The first electronic control unit <NUM> further includes a second transfer data frame generation unit <NUM>, a second transfer data transmission buffer <NUM>, and a second transfer data physical interface <NUM> for processing second transfer data which is a frame having a small data size. The first electronic control unit <NUM> further includes a timing control unit <NUM> and a data division unit <NUM>. The timing control unit <NUM> controls a transfer timing of each transfer data frame. The data division unit <NUM> divides the first transfer data in accordance with control of the timing control unit <NUM>. Meanwhile, a second electronic control unit <NUM> on a reception side includes a first transfer data physical interface <NUM>, a first transfer data reception buffer <NUM>, and a first transfer data frame analysis unit <NUM> for the first transfer data which is the frame having the large data size. The second electronic control unit <NUM> further includes a second transfer data physical interface <NUM>, a second transfer data reception buffer <NUM>, and a second transfer data frame analysis unit <NUM> for the second transfer data which is the data frame having the small data size. The second electronic control unit <NUM> further includes a data type identification unit <NUM> and a data coupling unit <NUM>. The data type identification unit <NUM> identifies a type of data which has been transferred via the second transfer data physical interface <NUM>. The data coupling unit <NUM> couples the pieces of data which have been divided and then transferred.

The transfer data having the large data size is transmitted and received via a bus of a high-speed interface <NUM>. The transfer data having the small data size is transmitted and received via a bus of a low-speed interface <NUM>. In <FIG>, only a transmission unit of the first electronic control unit <NUM> and a reception unit of the second electronic control unit <NUM> are illustrated, but each of the electronic control units <NUM> and <NUM> generally has a transmission function and a reception function. However, description is given while the provided transmission function and reception function are omitted. Moreover, the transfer data frame generation units <NUM> and <NUM> and the transfer data frame analysis units <NUM> and <NUM> are coupled to other circuits and software modules included in the respective electronic control units <NUM> and <NUM> and are controlled, but description is given while the other circuits and software modules are omitted. Moreover, in <FIG>, processing circuit portions for transferring the first transfer data frame having the large data size and the second transfer data frame having the small data size are illustrated, but protocols to be used in the high-speed interface <NUM> and the low-speed interface <NUM> are not particularly limited. Moreover, description is given while assuming that the first transfer has a larger data size of the frame than that of the second transfer, but the data size of the frame may be the same between the first transfer and the second transfer, and the data size of the frame is not particularly limited.

With reference to <FIG>, <FIG>, and <FIG>, description is now given of control to be performed in the in-vehicle network system. <FIG> is timing charts for illustrating related-art transfer timings. In <FIG>, transfer timings on respective buses are illustrated. In <FIG>, transfer timings in a case in which a bus is shared without the division are illustrated.

Hitherto, transfer data <NUM> having the small data size is transferred via the bus of the low-speed interface <NUM>, and transfer data <NUM> having the large data size is transferred in parallel via the bus of the high-speed interface <NUM>. When the communication interfaces are independent of each other, the communication can be executed without problem. However, when pieces of transfer data <NUM> and <NUM> are transferred while a bus <NUM> of the low-speed interface <NUM> is shared with no consideration of division, the bus is occupied for a transfer period of the transfer data <NUM> having the large data size. Thus, the transfer of the transfer data <NUM> which has the small data size and is intended to be cyclically transferred is delayed.

In view of the above, in a first non-claimed example, a transfer cycle and a transfer request of each piece of transfer data are measured to control a size of the division and a transfer timing of transfer data (transfer <NUM>) <NUM> having the large data size. For example, transfer data (transfer <NUM>) having the small data size is control data for control between the electronic control units, and has the small data size, but is transferred via the bus of the low-speed interface <NUM> which prioritizes real-time property and reliability. Meanwhile, the transfer data (transfer <NUM>) having the large data size is, for example, video data acquired from a camera or the like, and is transferred between the electronic control units. In a physical interface for transferring data having a high speed and a large size, a physical layer, processing circuits, and the like are also required to have an expensive and highly functional configuration in order to achieve high speed and high reliability. In order to achieve this purpose, with reference to a transfer timing chart of <FIG> and a flowchart of <FIG>, description is given of a method of transferring the data (transfer <NUM>) having the large data size without using the bus of the high-speed interface <NUM>.

In the first electronic control unit <NUM> on the transmission side, the timing control unit <NUM> measures, in advance, the transfer cycle of transfer data (transfer <NUM>) <NUM> having the small data size, or acquires the transfer cycle as information in an initial sequence, and determines whether or not there exists a transfer request for the transfer data (transfer <NUM>) <NUM> having the large data size (Step <NUM>). The timing control unit <NUM> further determines whether or not a transfer request for the transfer data (transfer <NUM>) <NUM> having the small data size exists (Step <NUM> and Step <NUM>). At this time, the timing control unit <NUM> determines, in consideration of the transfer cycle of the transfer data (transfer <NUM>) <NUM> having the small data size acquired in advance, whether or not the transfer request for the transfer data (transfer <NUM>) <NUM> having the small data size exists within the transfer time of the transfer data (transfer <NUM>) <NUM> having the large data size.

As a result, when only the transfer request for the transfer data (transfer <NUM>) having the small data size exists ("Yes" in Step <NUM>), the transfer data (transfer <NUM>) having the small data size is communicated via the bus of the low-speed interface <NUM> (Step <NUM>). At this time, the transfer data including an identification code for the reception side to identify the type of the transmitted transfer data is communicated.

Further, when only the request for the transfer (transfer <NUM>) having the large data size exists ("No" in Step <NUM>), the transfer data (transfer <NUM>) having the large data size is communicated via the bus of the low-speed interface <NUM> (Step <NUM>). In this case, when the communication cycle of the transfer data (transfer <NUM>) having the small data size is not influenced, the transfer data (transfer <NUM>) which is not divided and thus has the large data size may be communicated via the bus of the low-speed interface <NUM>. At this time, as described above, the transfer data including the identification code for the reception side to identify the type of the transmitted transfer data is communicated.

Meanwhile, when the transfer request for the transfer data (transfer <NUM>) having the large data size overlaps the transfer cycle of the transfer data (transfer <NUM>) having the small data size, the transfer data (transfer <NUM>) having the smaller data size is communicated preferentially (Step <NUM>), and then, the transfer data (transfer <NUM>) having the large data size is communicated (Step <NUM>). In this case, the following control is executed: an appropriate size of division and the number of divisions are calculated in consideration of the transfer cycle of the transfer data (transfer <NUM>) having the small data size in order to avoid collision with the communication of the next transfer <NUM>, the transfer data having the large data size is divided into divisions so that the calculated size of the division and number of divisions are achieved, and the divided transfer data is communicated. In the communication of the transfer data (transfer <NUM>) having the large data size, for example, division information is added to a data portion and is transmitted and received so that the reception side can recognize the size of the division and the number of divisions.

When the data which has been divided and transferred has a remaining portion (Step <NUM>), and successive transfer of the remaining portion causes a collision with the communication of the transfer data (transfer <NUM>) having the small data size, for example, control of waiting for the next transfer and then transferring the remaining data is executed. As a result, the communication for the transfer data (transfer <NUM>) having the small data size occupies the bus with the highest priority, and the transfer data (transfer <NUM>) having the large data size can be communicated in a communication vacant time of the transfer data (transfer <NUM>) having the small data size.

Meanwhile, the type of the received data is identified in the data type identification unit <NUM> of the second electronic control unit <NUM> on the reception side. The identification code indicating the type of the data is added to the transfer data and is then transferred, and hence the reception side can determine the type of the received data based on this identification code.

When the transfer data (transfer <NUM>) <NUM> having the small data size is received via the bus of the low-speed interfaces <NUM> and <NUM>, the received data is input to the second transfer data frame analysis unit <NUM> via the second transfer data reception buffer <NUM>, and is processed as a data frame of the second transfer data. Moreover, when the transfer data (transfer <NUM>) <NUM> having the large data size is received via the bus of the low-speed interfaces <NUM> and <NUM>, the divided data is restored through coupling of the data by the data coupling unit <NUM> based on the division information. The resultant data is input to the first transfer data frame analysis unit <NUM> via the first transfer data reception buffer <NUM>, and is processed as the first transfer data frame.

As a result, the transfer data having the large data size can also be transferred easily via the low-speed interface <NUM> without interfering with the transfer of the data having the small data size.

In the first embodiment, description has been given of the configuration in which the transfer data having the large data size is divided in advance and is successively transmitted based on the timing control, but when sequence control such as suspension and retransmission is available in the protocol of the physical interfaces, the following control may be executed. Specifically, the transfer of the transfer data (transfer <NUM>) having the large data size is started without the division, the transfer of the transfer data (transfer <NUM>) having the large data size is suspended at a start timing of the transfer of the transfer data (transfer <NUM>) having the small data size, and the transfer of the transfer data (transfer <NUM>) having the large data size is resumed at an end timing of the transfer of the transfer data (transfer <NUM>) having the small data size. Also with this process, the transfer data having the large data size can be transferred easily via the low-speed interface <NUM> without interfering with the transfer of the data having the small data size.

In an embodiment of this invention, a transfer timing chart is illustrated in <FIG>, and a flowchart is illustrated in <FIG>. The transfer timing chart and the flowchart are different from the transfer timing chart illustrated in <FIG> and the flowchart illustrated in <FIG> in the first non-claimed example in that the division information on the transfer <NUM> is added to only the first divided data. In the second embodiment, differences from the first non-claimed example are mainly described. Further, the same function and processing as those in the first non-claimed example are denoted by the same reference symbols, and description thereof is omitted.

The data division unit <NUM> on the transmission side adds division information (transfer <NUM>-A) indicating the size of the division, the number of the divisions, and the like to only the first divided data (transfer <NUM>-A1) to transfer the division information (transfer <NUM>-A). In this case, as a priority, the division information is most prioritized; and is transferred first (for example, prioritized over the data of the transfer <NUM>) (Step <NUM>). A data amount of the division information is small, and hence, even when the division information is prioritized over the communication of the transfer data (transfer <NUM>) having the small data size, a wait time of the transfer <NUM> can be minimized. The division information is not added to the transfer data (transfer <NUM>) having the large data size to be communicated subsequently, and only the divided data portion is transferred (Step <NUM>). As a result, a band occupied by the transfer <NUM> can be suppressed. Meanwhile, the data coupling unit <NUM> on the reception side couples the transfer data (transfer <NUM>) having the large data size based on the division information added to the first divided data, to thereby restore the data. The division information is transferred in advance, and hence the data coupling unit <NUM> can prepare for the coupling processing during the transfer of the divided data, and it is not required to add the division information to the subsequent divided data.

In a second non-claimed example, a configuration diagram of the vehicle control device and the in-vehicle network system is illustrated in <FIG>. This configuration diagram is different from the configuration diagram of the vehicle control device and the in-vehicle network system in the first non-claimed example, which is illustrated in <FIG>, in that the first transfer data physical interfaces <NUM>, <NUM>, and <NUM> and the accompanying first transfer data transmission buffer <NUM> do not exist. In the second non-claimed example, differences from the first non-claimed example are mainly described. Further, the same function and processing as those in the first non-claimed example are denoted by the same reference symbols, and description thereof is omitted.

The first transfer data having the large data size is divided and is then transmitted and received via the low-speed interface <NUM>. Thus, operation and control equivalent to those in the first non-claimed example can be provided even in an environment in which the high-speed interface <NUM> implemented by the first transfer data physical interfaces <NUM> and <NUM> is not provided.

In a third non-claimed example, a flowchart is illustrated in <FIG>. This flowchart is different from the flowchart in the first non-claimed example illustrated in <FIG> in that the transfer is not limited by the transfer <NUM>, the transfer <NUM>, and the frame size, and two types of transfer are defined as transfer of priority <NUM> and transfer of priority <NUM>. In the third non-claimed example, differences from the first non-claimed example are mainly described. Further, the same function and processing as those in the first non-claimed example are denoted by the same reference symbols, and description thereof is omitted.

When there exist transfer requests for both of the transfer <NUM> and the transfer <NUM> ("Yes" in Step <NUM>), the transfer of the priority <NUM> is transferred preferentially (Step <NUM>), and the size of the division and the number of divisions of the transfer of the priority <NUM> are controlled in consideration of the transfer cycle of the transfer of the priority <NUM>, to thereby execute the transfer of the priority <NUM> (Step <NUM>). As a result, as in the first non-claimed example the data of the transfer <NUM> can be transferred via the low-speed interface <NUM> without interfering with the transfer <NUM>, which is cyclically transferred. It should be noted that the priority of each transfer may be defined in advance to control each transfer in a fixed manner, or the priority of each transfer may be dynamically controlled while content or a period of the data to be transferred are defined.

In the example in which the two types of transfer data are transferred described here above, but also in a case in which three or more types of transfer data are transferred, an equivalent configuration and control can be provided. For example, in the case in which three or more types of transfer data are transferred, priority may be defined among the divided data.

Moreover, in <FIG> and <FIG>, the timing control unit <NUM>, the data division unit <NUM>, the data type identification unit <NUM>, and the data coupling unit <NUM> are illustrated as hardware components in the electronic control units <NUM> and <NUM>, but the configuration is not limited to this example. An equivalent configuration and control can be provided even when those units are implemented by software as equivalent components or are configured in combination with software.

This invention is not limited to the above-described embodiment but includes various modifications.

The above-described configurations, functions, processing modules, and processing means, for all or a part of them, may be implemented by hardware: for example, by designing an integrated circuit, and may be implemented by software, which means that a processor interprets and executes programs providing the functions.

The information of programs, tables, and files to implement the functions may be stored in a storage device such as a memory, a hard disk drive, or an SSD (a Solid State Drive), or a storage medium such as an IC card, or an SD card.

Claim 1:
A vehicle control device (<NUM>, <NUM>) configured to transfer data having a low priority through a first communication path (<NUM>) and data having a high priority through a second communication path (<NUM>), the second communication path (<NUM>) configured to have a transfer speed different from a transfer speed of the first communication path (<NUM>),
wherein the vehicle control device (<NUM>, <NUM>) is configured to transfer first transfer data on the first communication path (<NUM>) and second transfer data on the second communication path (<NUM>), wherein the first transfer data has a data size different from a data size of the second transfer data,
wherein the second communication path (<NUM>) is configured to allow at least two types of transfer data to be transmitted and received thereon, and
characterized in that the vehicle control device (<NUM>, <NUM>) is configured to divide the first transfer data and to transfer the divided first transfer data on the second communication path (<NUM>), and when this is the case, the vehicle control device (<NUM>, <NUM>) is configured to transfer the first transfer data by controlling at least one of a division size, the number of divisions, or a transfer timing of the first transfer data based on a timing cycle for transferring the second transfer data, a vacant time having no transfer, and a transfer time of the first transfer data on the second communication path (<NUM>),
wherein the vehicle control device (<NUM>, <NUM>) is configured to transfer information for identifying a type of data and information for identifying the number of divisions and a size of the data only initially before the divided data as most prioritized data.