WO2020130136A1 - 車載中継装置、中継方法及びプログラム - Google Patents

車載中継装置、中継方法及びプログラム Download PDF

Info

Publication number
WO2020130136A1
WO2020130136A1 PCT/JP2019/050111 JP2019050111W WO2020130136A1 WO 2020130136 A1 WO2020130136 A1 WO 2020130136A1 JP 2019050111 W JP2019050111 W JP 2019050111W WO 2020130136 A1 WO2020130136 A1 WO 2020130136A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
crc
received
derived
relay
Prior art date
Application number
PCT/JP2019/050111
Other languages
English (en)
French (fr)
Inventor
小林 直人
Original Assignee
株式会社オートネットワーク技術研究所
住友電装株式会社
住友電気工業株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社オートネットワーク技術研究所, 住友電装株式会社, 住友電気工業株式会社 filed Critical 株式会社オートネットワーク技術研究所
Publication of WO2020130136A1 publication Critical patent/WO2020130136A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]

Definitions

  • the present invention relates to a vehicle-mounted relay device, a relay method, and a program.
  • This application claims the priority based on Japanese application No. 2018-239787 filed on December 21, 2018, and incorporates all the contents described in the Japanese application.
  • in-vehicle ECUs Electronic Control Units
  • CAN Controller Area Network
  • the plurality of vehicle-mounted ECUs are proceeding with processing while exchanging information via the network.
  • a plurality of small-scale networks are connected to a relay device such as a gateway.
  • the relay device relays a message communicated between vehicle-mounted ECUs connected to different segments (see, for example, Patent Document 1).
  • the relay device of Patent Document 1 includes a CRC determination circuit for determining the CRC included in the received CAN message (frame).
  • the CRC determination circuit of the relay device determines whether or not there is a transfer error in the received frame based on the CRC included in the received frame.
  • An on-vehicle relay device is an on-vehicle relay device that is mounted on a vehicle, has a plurality of communication units, and relays a CAN message between the plurality of communication units, and receives from the communication unit.
  • the control unit which controls the relay by specifying the communication unit that is a relay destination based on the CANID included in the CAN message, receives the CAN after specifying the communication unit that is the relay destination.
  • the CRC included in the message is the same as the derived CRC derived based on the data included in the received CAN message, the received CAN message is relayed, the CRC included in the received CAN message, and the derived CRC. If and are different, the received CAN message is not relayed.
  • Embodiment 1 It is a schematic diagram which illustrates the vehicle-mounted relay apparatus which concerns on Embodiment 1. It is a block diagram which illustrates the internal structure of an in-vehicle relay device. It is an explanatory view which illustrates one mode of a frame of a CAN message. It is a flow chart which illustrates processing of a control part of an in-vehicle relay device.
  • An object of the present disclosure is to provide an in-vehicle relay device or the like that can appropriately cope with a case where data in the CAN message is damaged in a process in the relay device after receiving the CAN message and before relaying. provide.
  • in-vehicle relay that can appropriately cope with a case where data in a CAN message is damaged in processing in the relay device after the CAN message is received and before relaying.
  • a device or the like can be provided.
  • An in-vehicle relay device which is mounted in a vehicle, has a plurality of communication units, and relays a CAN message between the plurality of communication units.
  • a control unit for specifying a relay destination communication unit and performing relay control based on the CANID included in the CAN message received from the relay unit.
  • the control unit identifies the relay destination communication unit and then receives the relay destination communication unit.
  • the in-vehicle relay device after the CAN message is received, as the process performed by the in-vehicle relay device, there is a process of referring to the CANID included in the CAN message and identifying the communication unit to be the relay destination based on the CANID.
  • the processing is performed by a control unit configured by an FPGA or a microcomputer.
  • the data included in the CAN message may be damaged or corrupted by bit inversion or the like.
  • the controller derives a derived CRC (transmission derived CRC) based on the data included in the CAN message after specifying the relay destination communication unit such as the microcomputer, that is, after performing the internal process.
  • a derived CRC transmission derived CRC
  • the CRC (received CRC) included in the received CAN message is different, the CAN message is not relayed. Therefore, in the internal processing by the microcomputer or the like of the vehicle-mounted relay device, even when the data in the received CAN message is damaged, it is possible to appropriately deal with it.
  • the control unit adds the CRC included in the received CAN message and the received CAN message before the communication unit serving as the relay destination is specified. If the second derived CRC derived based on the included data is the same, the communication unit serving as the relay destination is specified, and if the CRC included in the received CAN message and the second derived CRC are different, the second derived CRC is received. Do not relay the CAN message.
  • the control unit of the in-vehicle relay device includes the CRC (included in the received CAN message) before and after the communication unit serving as a relay destination is specified, that is, two times at the time of reception and transmission (at the time of relay).
  • the necessity of relaying is controlled based on the difference between the received CRC), the derived CRC derived based on the data included in the CAN message (the transmitted derived CRC) and the second derived CRC (the received derived CRC). Therefore, even if the data included in the CAN message is damaged or garbled before the reception, such as during transmission, it is possible to appropriately deal with it.
  • the control unit includes the CRC included in the CAN message received before and after the communication unit to be the relay destination is specified twice (at the time of reception and at the time of transmission (at the time of relay)) and the CAN message. Whether or not the relay is necessary is controlled based on the difference from the CRC derived based on the stored data.
  • the control unit Before specifying the communication unit that is the relay destination, that is, when these CRCs are the same at the time of reception, the control unit specifies the communication unit of the relay destination and relays. If these CRCs differ after specifying the communication unit, , The data contained in the CAN message becomes garbled or damaged in the processing in the own device. Therefore, when these CRCs are different, data corruption or damage of the data contained in the CAN message may have occurred before the reception or may have occurred in the internal processing of the in-vehicle relay device after the reception. It can be carved out.
  • control unit identifies the communication unit to be the relay destination, and then, if the CRC included in the received CAN message and the derived CRC differ by a predetermined number of times or more, the control unit itself Since it is determined that the failure has occurred, the failure determination of the own device can be efficiently performed.
  • a program causes a computer to receive a CAN message, specify a communication unit to be a relay destination based on a CANID included in the received CAN message, and perform communication to be the relay destination. After specifying the part, derive the derived CRC based on the data included in the received CAN message, and if the CRC included in the received CAN message and the derived derived CRC are the same, the received CAN message is When the CRC included in the received CAN message and relayed from the communication unit that is the relay destination is different from the derived derived CRC, a process of not relaying the received CAN message is executed.
  • the computer can be operated as an in-vehicle relay device.
  • a relay method receives a CAN message, identifies a communication unit to be a relay destination based on a CANID included in the received CAN message, and identifies a communication unit to be the relay destination.
  • the derived CRC is derived based on the data included in the received CAN message, and when the CRC included in the received CAN message and the derived derived CRC are the same, the received CAN message is relayed. If the CRC included in the received CAN message and relayed from the previous communication unit is different from the derived derived CRC, the received CAN message is not relayed.
  • a relay method capable of appropriately responding to a case where data in the CAN message is damaged in a process in the vehicle-mounted relay device after the CAN message is received and before the relay. be able to.
  • FIG. 1 is a schematic view illustrating the vehicle-mounted relay device 2 according to the first embodiment.
  • FIG. 2 is a block diagram illustrating an internal configuration of the vehicle-mounted relay device 2.
  • the vehicle 1 is equipped with an in-vehicle relay device 2 and a plurality of in-vehicle ECUs 3 (Electronic Control Units) communicatively connected to the in-vehicle relay device 2.
  • the vehicle-mounted relay device 2 and the vehicle-mounted ECU 3 are communicably connected by a communication line 41 such as a CAN bus compatible with a communication protocol such as CAN (Control Area Network/registered trademark).
  • the in-vehicle LAN 4 is configured by the communication line 41 such as the CAN bus.
  • the in-vehicle relay device 2 relays the CAN message transmitted and received between the in-vehicle ECUs 3 connected to each of the plurality of communication lines 41.
  • the vehicle-mounted relay device 2 is installed in the vehicle 1 with a program or data acquired from a program providing device (not shown) connected to an outside-vehicle network via an outside-vehicle communication device (not shown) having a wireless function. It may be transmitted to the vehicle-mounted ECU 3 that is installed.
  • the onboard relay device 2 includes a control unit 20, a storage unit 21, a CAN communication unit 23, and an input/output I/F 24.
  • the storage unit 21, the CAN communication unit 23, and the input/output I/F 24 are communicatively connected to the control unit 20 via an internal bus 25.
  • the in-vehicle relay device 2 controls, for example, a segment formed by a plurality of communication lines 41 (CAN bus/CAN cable) such as a control system on-vehicle ECU 3, a safety system on-vehicle ECU 3, and a body system on-vehicle ECU 3, It is a gateway (relay device) that relays communication between the vehicle-mounted ECUs 3 between them.
  • the vehicle-mounted relay device 2 may be configured as one functional unit of the body ECU that controls the entire vehicle 1.
  • the storage unit 21 is configured by a volatile memory device such as a RAM (Random Access Memory) or a non-volatile memory device such as a ROM (Read Only Memory), an EEPROM (Electrically Erasable Programmable ROM), or a flash memory, A control program and data to be referred to during processing are stored in advance.
  • the control program stored in the storage unit 21 may store the control program read from the recording medium 22 readable by the in-vehicle relay device 2. Alternatively, the control program may be downloaded from an external computer (not shown) connected to a communication network (not shown) and stored in the storage unit 21.
  • the storage unit 21 stores the configuration information of all the vehicle-mounted ECUs 3 mounted on the vehicle 1 and the route information (routing table) used for performing the relay process.
  • the route information includes, for example, a CAN-ID (CANID/CANIDentifier) number (message identifier) included in a CAN message and a CAN communication unit 23 that is a relay destination of a CAN message including the CAN-ID number.
  • CAN-ID CANID/CANIDentifier
  • This is information defined in a correspondence table format (table format) that is associated with the channel number (physical port number) of.
  • the CAN communication unit 23 is, for example, an input/output interface using a CAN (Control Area Network) communication protocol, that is, a CAN transceiver.
  • the CAN transceiver corresponds to a CAN message transmitted on the CAN bus (communication line 41), and includes a CAN bus (communication) composed of two wirings on the high side and the low side.
  • the waveform due to the potential difference of the differential voltage on the line 41) is received, the received waveform is decoded into a signal represented by a bit string of 1 and 0, and output to the control unit 20 via the internal bus 25.
  • the control unit 20 mutually communicates with an in-vehicle device such as the in-vehicle ECU 3 or another relay device connected to the in-vehicle LAN 4 via the CAN communication unit 23.
  • a plurality of (three in the drawing) CAN communication units 23 are provided, and each CAN communication unit 23 is connected to a communication line 41 that constitutes the in-vehicle LAN 4.
  • the in-vehicle LAN 4 is divided into a plurality of segments, and each of the vehicle-mounted ECUs has a function of the vehicle-mounted ECU (control system function, safety system function, body system function). Connect accordingly.
  • the control unit 20 is configured by, for example, a microcomputer including a CPU (Central Processing Unit), an MPU (Micro Processing Unit), and the like, and by reading and executing a control program and data stored in advance in the storage unit 21, Various control processes and arithmetic processes are performed.
  • the control unit 20 may be configured by an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific IC).
  • the control unit 20 may be configured by a combination of FPGA or ASIC and a microcomputer.
  • the control unit 20 receives (acquires) a CAN message transmitted from the vehicle-mounted ECU 3 connected to each of the communication lines 41, or transmits (outputs) a CAN message to the vehicle-mounted ECU 3, for example, as a CAN controller.
  • the CAN controller performs bit stuffing, communication arbitration, error handling and CRC check.
  • the CRC check is to confirm the consistency between the CRC calculated and derived based on the data included in the received CAN message and the CRC stored in the CRC field described later, and is stored in the CRC field. This is a process of confirming whether or not the CRC value that is set is the same as the derived CRC value.
  • the control unit 20 functioning as a CAN controller performs a CRC check when receiving a CAN message, and detects a CRC error if the CRC value stored in the CRC field is different from the derived CRC value. When a CRC error is detected, the control unit 20 functioning as a CAN controller outputs an error flag after the ACK delimiter.
  • the control unit 20 that functions as a CAN controller also performs a CRC check even during transmission when relaying a CAN message or the like. That is, the control unit 20 performs the CRC check twice when receiving and when transmitting the CAN message. Details will be described in detail in the description of the flowchart.
  • the control unit 20 refers to the CAN-ID included in the received CAN message, and transmits based on the number of the referred CAN-ID (message identifier) and the route information (routing table) stored in the storage unit 21.
  • the CAN communication unit 23 corresponding to the destination (relay destination) segment is specified.
  • the control unit 20 functions as a CAN gateway that relays the CAN message by transmitting the received CAN message from the specified CAN communication unit 23.
  • the control unit 20 functions as a CAN controller and a CAN gateway, and corresponds to a relay unit that relays the received CAN message.
  • the input/output I/F 24 is a communication interface for serial communication with the vehicle-mounted relay device 2, for example.
  • the display device 5 is communicatively connected to the in-vehicle relay device 2 via the input/output I/F 24 by a harness such as a serial cable.
  • the display device 5 is, for example, an HMI (Human Machine Interface) device such as a car navigation display.
  • the display device 5 displays data or information output from the control unit 20 of the in-vehicle relay device 2 via the input/output I/F 24.
  • HMI Human Machine Interface
  • the in-vehicle relay device 2 performs the CRC check twice when transmitting/receiving the CAN message, transmits the information based on the result of the two CRC checks to the display device 5, and transmits the information to the display device 5. It may be displayed.
  • the connection form between the display device 5 and the in-vehicle relay device 2 is not limited to the connection form through the input/output I/F 24 and the like, and the display device 5 and the in-vehicle relay device 2 may be connected via the in-vehicle LAN 4 as well. Good.
  • FIG. 3 is an explanatory diagram illustrating an example of a frame of a CAN message.
  • CAN is a communication protocol defined by ISO11898 and the like, and the frame types of CAN messages (frames) that are transmitted and received are classified into data frames, remote frames, error frames, and overload frames.
  • FIG. 3 illustrates one mode of the data frame in these frame types.
  • the data frame of the CAN message is classified into four fields of CAN-ID, DLC, DATA (data) and CRC.
  • the CAN-ID field stores a message identifier (CAN-ID number) for identifying a CAN message and indicating (determining) the priority of the CAN message.
  • the message identifier is called a CAN-ID or an arbitration ID and is represented by, for example, 11-bit data.
  • the vehicle-mounted relay device 2 and the vehicle-mounted ECU 3 extract (reference) the message identifier (CAN-ID) stored in the CAN-ID field of the received CAN message, and based on the message identifier, it is necessary to process the CAN message. To judge.
  • Information indicating the data length code is stored in the DLC field, and indicates the number of bytes of data stored in the DATA field (data field).
  • the DATA field stores content data of up to 8 bytes.
  • the cyclic redundancy check code and recessive delimiter bit that are the value of the CRC are stored.
  • the CRC is used for a CRC check for detecting an error such as when the content data stored in the DATA field is bit-inverted.
  • the CAN message of the data frame includes SOF (Start Of Frame), IDE (Identifier Extension), and ACK in addition to the above fields, but description thereof is omitted.
  • FIG. 4 is a flowchart illustrating the process of the control unit 20 of the vehicle-mounted relay device 2.
  • the control unit 20 of the in-vehicle relay device 2 constantly performs the following processing when the vehicle 1 is in the activated state or the stopped state.
  • the control unit 20 receives the CAN message (S10).
  • the control unit 20 receives (acquires) the CAN message via the CAN communication unit 23.
  • the control unit 20 performs a CRC check and determines whether the data is correct (S11). As described above, the control unit 20 functions as a CAN controller, and performs a CRC check (CRC check at the time of reception) on the received CAN message. The control unit 20 calculates based on the data included in the received CAN message by a calculation method defined by the CAN standard, and derives CRC as the calculation result. Hereinafter, the CRC derived when the CAN message is received will be referred to as the reception derived CRC. The control unit 20 stores, in the storage unit 21, the reception-time derived CRC derived at the time of reception and the CRC stored in the CRC field of the received CAN message (hereinafter, referred to as reception CRC).
  • the control unit 20 compares the received-time derived CRC with the received CRC and determines whether or not the respective values are the same. When the respective values are the same, it is determined that the data included in the CAN message is correct. If the respective values are not the same, it is determined that the data included in the CAN message is incorrect, that is, incorrect. If the values are not the same, either the data stored in the CAN message data field, etc., or the data stored in the CRC field (reception CRC value) indicates a transmission error, reception error, or transmission error. This is a case where erroneous data (garbage or damage) is generated due to bit inversion, etc. Therefore, the control unit 20 functioning as the CAN controller determines that the data included in the CAN message is erroneous or that the CAN message cannot be normally received when the values of the reception derived CRC and the reception CRC are not the same. judge.
  • the control unit 20 If the data is not correct (S11: NO), the control unit 20 outputs an error flag (S111). If the data is not correct, that is, if the data included in the CAN message is incorrect and the CAN message cannot be received normally, the control unit 20 detects a CRC error and outputs an error flag after the ACK delimiter. .. After outputting the error flag, the control unit 20 discards the CAN message without transmitting (relaying) the CAN message.
  • the control unit 20 identifies the segment (CAN communication unit 23) to relay (S12).
  • the control unit 20 extracts the number (message identifier) stored in the CAN-ID field and based on the route information stored in the storage unit 21. Then, the segment serving as the relay destination, that is, the CAN communication unit 23 for transmitting the CAN message is specified.
  • the control unit 20 functions as a CAN gateway by specifying the CAN communication unit 23 that is the relay destination.
  • the control unit 20 performs a CRC check and determines whether the data is correct (S13).
  • the control unit 20 performs a CRC check (CRC check at the time of transmission) again as a pre-process of the transmission, It is determined whether the CAN message data is correct.
  • the control unit 20 calculates by the calculation method defined by the CAN standard based on the data included in the CAN message to be transmitted, and derives the CRC as the calculation result.
  • the CRC derived at the time of transmitting the CAN message will be referred to as the transmission derived CRC.
  • the control unit 20 compares the transmission derived CRC with the reception derived CRC or the reception CRC.
  • the process of S13 is performed when the reception derived CRC and the reception CRC have the same value in the process of S11. Therefore, in performing the process of S13, it is guaranteed (guaranteed) that the values of the reception derived CRC and the reception CRC are the same.
  • the control unit 20 compares the value of the transmission derived CRC with the value of either the reception derived CRC or the reception CRC, and determines the difference between these values, so that the data included in the CAN message to be transmitted is Whether it is correct or not can be determined. When these values are the same, the control unit 20 determines that the data included in the CAN message to be transmitted is correct. When these values are different from each other, the control unit 20 determines that the data included in the CAN message to be transmitted is incorrect, that is, the data is garbled or damaged.
  • the control unit 20 sends a CAN message and executes relay processing (S14).
  • the control unit 20 transmits the CAN message from the CAN communication unit 23 specified at S12. By doing so, the CAN message is relayed. If the control unit 20 determines that the data is correct as a result of the transmission CRC check in the process of S13, the control unit 20 may determine that the own device is normal.
  • the control unit 20 When performing the processing from S11 to S14, the control unit 20 does not delete the CRC field of the received CAN message but maintains the CRC field in which the received CRC is stored and performs these processing. Good. By maintaining the CRC field of the received CAN message when relaying the received CAN message, it is possible to reduce the number of processes involved in data processing for the CAN message.
  • the control unit 20 deletes the CRC field of the received CAN message, and in the processing of S14, that is, as the preparation processing when transmitting the CAN message, the CRC field storing the derived transmission-time derived CRC. Then, the CAN message may be transmitted after the addition of. After performing the CRC check, the CRC field is deleted to reduce the data capacity handled by the control unit 20 when performing the processing such as specifying the CAN communication unit 23 that is the relay destination, and the calculation of the control unit 20 is performed. The load can be reduced.
  • the control unit 20 discards the CAN message (S15).
  • the data is not correct, that is, when the value of the transmission derived CRC derived at the time of transmission is different from the value of the reception derived CRC or the reception CRC, the control unit 20 relays (transmits) the CAN message received at S10. Without discarding the CAN message.
  • the control unit 20 receives the CAN message normally, but the internal process of the control unit 20 thereafter, that is, the in-vehicle relay device 2 It is determined that an error (garbage or damage) has occurred in the data of the CAN message in the process (in the device itself).
  • control unit 20 functions as a CAN controller and a CAN gateway.
  • the CAN controller may be composed of FPGA and the CAN gateway may be composed of microcomputer. Therefore, in the communication between the FPGA and the microcomputer, the data of the CAN message may be bit-inverted. Alternatively, it is assumed that the data stored in the storage unit 21 included in the FPGA or the microcomputer is bit-inverted.
  • the control unit 20 increases the error count (S16).
  • the control unit 20 performs an increment process to increase the error count stored in the storage unit 21 in advance by one, for example, by setting the initial value to 0.
  • the control unit 20 calculates the number of times that the data is incorrect in the process of S13 as the value of the error count, and stores the value of the error count in the storage unit 21.
  • the control unit 20 determines whether the error count is less than or equal to a predetermined value (S17).
  • the control unit 20 refers to a predetermined value stored in the storage unit 21 in advance, compares the error count value obtained by incrementing the value by the increment process or the like in S16 with the predetermined value, and outputs an error. It is determined whether the count value is less than or equal to a predetermined value.
  • the control unit 20 determines that the device itself is normal (S18). When it is not less than or equal to the predetermined value (S17: NO), that is, when the value of the error count is larger than the predetermined value, the control unit 20 determines that the own device is in failure (S171). Bit inversion that causes an error in data may occur when an electronic device including a semiconductor device such as the control unit 20 collides with a cosmic ray, for example. Therefore, when bit inversion occurs, it is difficult to always determine that the control unit 20 (onboard relay device 2) has failed. Therefore, by comparing the error count with a predetermined value, the onboard relay device 2 fails. The accuracy of judgment can be improved.
  • control unit 20 may compare with the predetermined value based on the increase number of the error count in a predetermined period such as 1 minute.
  • the predetermined value may be determined based on the reliability of the relay processing required of the vehicle-mounted relay device 2. Further, by setting the predetermined value to 1, if the data is determined to be incorrect even in the process of S13 even once, the control unit 20 of the in-vehicle relay device 2 may determine that a failure has occurred. ..
  • the control unit 20 may store information regarding the determination result of S18 or S171 in the storage unit 21 or output the information to the display device 5 and display the information on the display device 5.
  • control unit 20 After executing S111, S14, S18 or S171, the control unit 20 ends the process according to the flowchart. Alternatively, the control unit 20 may perform the loop process to execute S10 again after executing S111, S14, S18, or S171.
  • the data included in the CAN message may be damaged or garbled due to bit inversion or the like in the internal processing of the microcomputer or the like that constitutes the control unit 20.
  • the control unit 20, as an internal process of the microcomputer or the like for example, after identifying the CAN communication unit 23 as a relay destination, that is, after performing the internal process, transmits based on the data included in the CAN message. If the time derived CRC and the received CRC included in the received CAN message are different, the CAN message is not relayed. Therefore, in the internal processing in the relay device, even when the data in the received CAN message is damaged, it is possible to appropriately deal with it.
  • the control unit 20 receives the received CRC included in the received CAN message and the CRC derived based on the data included in the CAN message at the time of reception and transmission (at the time of relaying) (reception-time derived CRC, transmission time). The necessity of relay is controlled based on the difference from the derived CRC).
  • reception CRC and the transmission-time derived CRC are different, the data included in the CAN message is garbled or corrupted in the processing in the control unit 20. Therefore, when these CRCs are different, data corruption or corruption of the data included in the CAN message has occurred before the reception, or inside the in-vehicle relay device 2 after the reception (in the control unit 20). It is possible to distinguish whether or not it has occurred in the processing of.
  • the control unit 20 performs reception CRC and CRC derived based on the data included in the CAN message twice at the time of reception and transmission (at the time of relay).
  • the necessity of relay is controlled based on the difference between the above and the above, but the present invention is not limited to this.
  • the control unit 20 may derive only the transmission-time derived CRC and control the necessity of relaying based on the difference between the derived transmission-time derived CRC and the derived transmission CRC. Even if the transmission derived CRC alone is derived and the necessity of relay is controlled based on the difference between the derived transmission derived CRC and the derived transmission CRC, data corruption or the like occurs in the internal processing of the control unit 20. It is possible to prevent the relayed CAN message. Further, the calculation load of the control unit 20 can be reduced by eliminating the need for deriving the reception derived CRC.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mechanical Engineering (AREA)
  • Small-Scale Networks (AREA)

Abstract

車載中継装置は、車両に搭載され、複数の通信部を有し、前記複数の通信部間にてCANメッセージを中継する車載中継装置であって、前記通信部から受信した前記CANメッセージに含まれるCANIDに基づき、中継先となる通信部を特定して中継制御する制御部を備え、前記制御部は、前記中継先となる通信部を特定した後、受信した前記CANメッセージに含まれるCRCと、受信した前記CANメッセージに含まれるデータに基づき導出した導出CRCとが同じ場合、受信した前記CANメッセージを中継し、受信した前記CANメッセージに含まれるCRCと、前記導出CRCとが異なる場合、受信した前記CANメッセージを中継しない。

Description

車載中継装置、中継方法及びプログラム
 本発明は、車載中継装置、中継方法及びプログラムに関する。
 本出願は、2018年12月21日出願の日本出願第2018-239787号に基づく優先権を主張し、前記日本出願に記載された全ての記載内容を援用するものである。
 従来、車両には複数の車載ECU(Electronic Control Unit)が搭載され、これらがCAN(Controller Area Network)などのネットワークを介して接続されている。これら複数の車載ECUは、ネットワークを介して情報を交換しながら処理を進めている。近年では車内ネットワークの規模が大きくなる傾向があり、この場合には複数の小規模なネットワーク(セグメント)がゲートウェイなどの中継装置に接続される。中継装置は、異なるセグメントに接続される車載ECU間にて通信されるメッセージの中継を行う(例えば特許文献1参照)。
 特許文献1の中継装置は、受信したCANメッセージ(フレーム)に含まれるCRCを判定するためのCRC判定回路を備えている。中継装置のCRC判定回路は、受信フレームに含まれるCRCに基づき、受信フレームに転送エラーがあるか否かを判定する。
特開2007-166302号公報
 本開示の一態様に係る車載中継装置は、車両に搭載され、複数の通信部を有し、前記複数の通信部間にてCANメッセージを中継する車載中継装置であって、前記通信部から受信した前記CANメッセージに含まれるCANIDに基づき、中継先となる通信部を特定して中継制御する制御部を備え、前記制御部は、前記中継先となる通信部を特定した後、受信した前記CANメッセージに含まれるCRCと、受信した前記CANメッセージに含まれるデータに基づき導出した導出CRCとが同じ場合、受信した前記CANメッセージを中継し、受信した前記CANメッセージに含まれるCRCと、前記導出CRCとが異なる場合、受信した前記CANメッセージを中継しない。
実施形態1に係る車載中継装置を例示する模式図である。 車載中継装置の内部構成を例示するブロック図である。 CANメッセージのフレームの一態様を例示する説明図である。 車載中継装置の制御部の処理を例示するフローチャートである。
[本開示が解決しようとする課題]
 特許文献1の中継装置は、受信したCANメッセージのCRCを判定した後、いずれかのセグメントに出力して中継するまでの間の中継装置内での処理において、当該CANメッセージ内のデータが破損又は化けてしまった場合の対応について考慮されていないという問題点がある。
 本開示の目的は、CANメッセージを受信した後、中継するまでの間における中継装置内の処理において、当該CANメッセージ内のデータが破損等した場合に適切に対応することができる車載中継装置等を提供する。
[本開示の効果]
 本開示の一態様によれば、CANメッセージを受信した後、中継するまでの間における中継装置内の処理において、当該CANメッセージ内のデータが破損等した場合に適切に対応することができる車載中継装置等を提供することができる。
[本開示の実施形態の説明]
 最初に本開示の実施態様を列挙して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
(1)本開示の一態様に係る車載中継装置は、車両に搭載され、複数の通信部を有し、前記複数の通信部間にてCANメッセージを中継する車載中継装置であって、前記通信部から受信した前記CANメッセージに含まれるCANIDに基づき、中継先となる通信部を特定して中継制御する制御部を備え、前記制御部は、前記中継先となる通信部を特定した後、受信した前記CANメッセージに含まれるCRCと、受信した前記CANメッセージに含まれるデータに基づき導出した導出CRCとが同じ場合、受信した前記CANメッセージを中継し、受信した前記CANメッセージに含まれるCRCと、前記導出CRCとが異なる場合、受信した前記CANメッセージを中継しない。
 本態様にあたっては、CANメッセージを受信した後、車載中継装置が行う処理として、CANメッセージに含まれるCANIDを参照し、当該CANIDに基づき、中継先となる通信部を特定する処理がある。当該処理は、FPGA又はマイコン等によって構成される制御部が行うところ、マイコン等の内部処理において、CANメッセージに含まれるデータが、ビット反転等により破損又は化ける場合がある。しかしながら、制御部は、マイコン等の内部処理である中継先となる通信部を特定した後、すなわち当該内部処理を行った後にCANメッセージに含まれるデータに基づき導出した導出CRC(送信時導出CRC)と、受信したCANメッセージに含まれるCRC(受信CRC)とが異なる場合は、当該CANメッセージを中継しない。従って、車載中継装置のマイコン等による内部処理において、受信したCANメッセージ内のデータが破損等した場合であっても、適切に対応することができる。
(2)本開示の一態様に係る車載中継装置は、前記制御部は、前記中継先となる通信部を特定する前に、受信した前記CANメッセージに含まれるCRCと、受信した前記CANメッセージに含まれるデータに基づき導出した第2導出CRCとが同じ場合、前記中継先となる通信部を特定し、受信した前記CANメッセージに含まれるCRCと、前記第2導出CRCとが異なる場合、受信した前記CANメッセージを中継しない。
 本態様にあたっては、車載中継装置の制御部は、中継先となる通信部を特定する前後、すなわち受信時及び送信時(中継時)の2回にて、受信した前記CANメッセージに含まれるCRC(受信CRC)と、CANメッセージに含まれるデータに基づき導出した導出CRC(送信時導出CRC)及び第2導出CRC(受信時導出CRC)との同異に基づき、中継の要否を制御する。従って、CANメッセージに含まれるデータが、伝送途中等の受信時以前に破損又は化けてしまっている場合であっても、適切に対応することができる。
(3)本開示の一態様に係る車載中継装置は、前記制御部は、前記中継先となる通信部を特定した後、受信した前記CANメッセージに含まれるCRCと、前記導出CRCとが異なる場合、前記CANメッセージ内に含まれるデータは自装置内の処理においてデータ化け又は破損したと判定する。
 本態様にあたっては、制御部は、中継先となる通信部を特定する前後(受信時及び送信時(中継時))の2回にて受信した前記CANメッセージに含まれるCRCと、CANメッセージに含まれるデータに基づき導出したCRCとの同異に基づき、中継の要否を制御する。中継先となる通信部を特定する前、すなわち受信時にこれらCRCが同一の場合、制御部は中継先の通信部を特定し中継を行うところ、当該通信部を特定した後にこれらCRCが異なる場合は、CANメッセージ内に含まれるデータは自装置内の処理においてデータ化け又は破損したものとなる。従って、これらCRCが異なる場合において、CANメッセージ内に含まれるデータのデータ化け又は破損が、受信時以前に発生したものであるか、又は受信後の車載中継装置の内部の処理において発生したものであるかの切り分けを行うことができる。
(4)本開示の一態様に係る車載中継装置は、前記制御部は、受信した前記CANメッセージに含まれるCRCと、前記導出CRCとが、所定回数以上異なることが発生した場合、自装置が故障したと判定する。
 本態様にあたっては、制御部は、前記中継先となる通信部を特定した後、受信した前記CANメッセージに含まれるCRCと、前記導出CRCとが、所定回数以上異なることが発生した場合、自装置が故障したと判定するため、自装置の故障判定を効率的に行うことができる。
(5)本開示の一態様に係るプログラムは、コンピュータに、CANメッセージを受信し、受信した前記CANメッセージに含まれるCANIDに基づき、中継先となる通信部を特定し、前記中継先となる通信部を特定した後、受信した前記CANメッセージに含まれるデータに基づき導出CRCを導出し、受信した前記CANメッセージに含まれるCRCと、導出した前記導出CRCとが同じ場合、受信した前記CANメッセージを前記中継先となる通信部から中継し、受信した前記CANメッセージに含まれるCRCと、導出した前記導出CRCとが異なる場合、受信した前記CANメッセージを中継しない処理を実行させる。
 本態様にあたっては、コンピュータを車載中継装置として動作させることができる。
(6)本開示の一態様に係る中継方法は、CANメッセージを受信し、受信した前記CANメッセージに含まれるCANIDに基づき、中継先となる通信部を特定し、前記中継先となる通信部を特定した後、受信した前記CANメッセージに含まれるデータに基づき導出CRCを導出し、受信した前記CANメッセージに含まれるCRCと、導出した前記導出CRCとが同じ場合、受信した前記CANメッセージを前記中継先となる通信部から中継し、受信した前記CANメッセージに含まれるCRCと、導出した前記導出CRCとが異なる場合、受信した前記CANメッセージを中継しない。
 本態様にあたっては、CANメッセージを受信した後、中継するまでの間に車載中継装置内の処理において、当該CANメッセージ内のデータが破損等した場合に適切に対応することができる中継方法を提供することができる。
[本開示の実施形態の詳細]
 本開示をその実施の形態を示す図面に基づいて具体的に説明する。本開示の実施形態に係る車載中継装置2を、以下に図面を参照しつつ説明する。なお、本開示はこれらの例示に限定されるものではなく、請求の範囲によって示され、請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
(実施形態1)
 図1は、実施形態1に係る車載中継装置2を例示する模式図である。図2は、車載中継装置2の内部構成を例示するブロック図である。車両1には、車載中継装置2及び、車載中継装置2と通信可能に接続された複数の車載ECU3(Electronic Control Unit)が搭載されている。車載中継装置2及び車載ECU3は、CAN(Control Area Network/登録商標)等の通信プロトコルに対応したCANバス等による通信線41によって通信可能に接続されている。これらCANバス等による通信線41によって、車内LAN4が構成される。
 車載中継装置2は、これら複数の通信線41夫々に接続される車載ECU3間において送受信されるCANメッセージを中継する。又、車載中継装置2は、無線機能を有する車外通信装置(図示せず)を介して車外ネットワークに接続されたプログラム提供装置(図示せず)から取得したプログラム又はデータを、車両1に搭載されている車載ECU3に送信するものであってもよい。
 車載中継装置2は、制御部20、記憶部21、CAN通信部23及び入出力I/F24を含む。記憶部21、CAN通信部23及び入出力I/F24は、内部バス25を介して制御部20と通信可能に接続されている。車載中継装置2は、例えば、制御系の車載ECU3、安全系の車載ECU3及び、ボディ系の車載ECU3等の複数の系統の通信線41(CANバス/CANケーブル)によるセグメントを統括し、これらセグメント間での車載ECU3同士の通信を中継するゲートウェイ(中継器)である。又は、車載中継装置2は、車両1全体をコントロールするボディECUの一機能部として構成されるものであってもよい。
 記憶部21は、RAM(Random Access Memory)等の揮発性のメモリ素子又は、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)若しくはフラッシュメモリ等の不揮発性のメモリ素子により構成してあり、制御プログラム及び処理時に参照するデータがあらかじめ記憶してある。記憶部21に記憶された制御プログラムは、車載中継装置2が読み取り可能な記録媒体22から読み出された制御プログラムを記憶したものであってもよい。また、図示しない通信網に接続されている図示しない外部コンピュータから制御プログラムをダウンロードし、記憶部21に記憶させたものであってもよい。記憶部21には、車両1に搭載される全ての車載ECU3の構成情報及び中継処理を行うにあたり用いる経路情報(ルーティングテーブル)が記憶される。
 当該経路情報(ルーティングテーブル)は、例えばCANメッセージに含まれるCAN-ID(CANID/CANIDentifier)の番号(メッセージ識別子)と、当該CAN-IDの番号を含むCANメッセージの中継先となるCAN通信部23のチャネル番号(物理ポート番号)とを関連付けた対応表形式(テーブル形式)で定義される情報である。
 CAN通信部23は、例えば、CAN(Control Area Network)の通信プロトコルを用いた入出力インターフェイス、すなわちCANトランシーバである。CANトランシーバ(CAN通信部23)は、CANバス(通信線41)上にて伝送されるCANメッセージに対応するものであり、ハイ側及びロー側の2本の配線により構成されるCANバス(通信線41)上の差動電圧の電位差による波形を受信し、受信した波形を1と0のビット列で表される信号に復号し、内部バス25を介して制御部20に出力する。制御部20は、CAN通信部23を介して車内LAN4に接続されている車載ECU3又は他の中継装置等の車載機器と相互に通信する。CAN通信部23は、複数個(図面上では3つ)設けられており、CAN通信部23夫々に、車内LAN4を構成する通信線41が接続されている。このようにCAN通信部23を複数個設けることにより、車内LAN4を複数個のセグメントに分け、各セグメントに車載ECU夫々を、当該車載ECUの機能(制御系機能、安全系機能、ボディ系機能)に応じて接続する。
 制御部20は、CPU(Central Processing Unit)又はMPU(Micro Processing Unit)等を含む例えばマイクロコンピュータにより構成してあり、記憶部21に予め記憶された制御プログラム及びデータを読み出して実行することにより、種々の制御処理及び演算処理等を行うようにしてある。又は、制御部20は、FPGA(Field Programmable Gate Array)又はASIC(Application Specific IC)により構成されるものであってもよい。又は、制御部20は、FPGA又はASICと、マイクロコンピュータとの組み合わせによって構成されるものであってもよい。
 制御部20は、通信線41夫々に接続されている車載ECU3から送信されるCANメッセージを受信(取得)、又は当該車載ECU3に対しCANメッセージを送信(出力)するものであり、例えばCANコントローラとして機能する。CANコントローラは、ビットスタッフィング、通信調停、エラーハンドリング及びCRCチェックを行う。CRCチェックとは、受信したCANメッセージに含まれるデータに基づき演算して導出したCRCと、後述するCRCフィールドに格納されているCRCとの整合性を確認するものであり、当該CRCフィールドに格納されているCRCの値が、導出したCRCの値と同じか否かを確認する処理である。
 CANコントローラとして機能する制御部20は、CANメッセージを受信時、CRCチェックを行い、CRCフィールドに格納されているCRCの値が、導出したCRCの値と異なる場合、CRCエラーを検出する。CRCエラーを検出した場合、CANコントローラとして機能する制御部20は、ACKデリミタの後からエラーフラグを出力する。CANコントローラとして機能する制御部20は、CANメッセージを中継等する際の送信時においても、CRCチェックを行う。すなわち、制御部20は、CANメッセージの中継処理を行うにあたり、受信時及び送信時の2回において、CRCチェックを行う。詳細は、フローチャートの説明において詳述する。
 制御部20は、受信したCANメッセージ内に含まれるCAN-IDを参照し、参照したCAN-IDの番号(メッセージ識別子)及び記憶部21に記憶してある経路情報(ルーティングテーブル)に基づいて送信先(中継先)となるセグメントに対応するCAN通信部23を特定する。そして、制御部20は、特定したCAN通信部23から、当該受信したCANメッセージを送信することにより、該CANメッセージを中継するCANゲートウェイとして機能する。上述のごとく、制御部20は、CANコントローラ及びCANゲートウェイとして機能するものであり、受信したCANメッセージを中継する中継部に相当する。
 入出力I/F24は、車載中継装置2と例えばシリアル通信するための通信インターフェイスである。入出力I/F24を介して、車載中継装置2には、表示装置5がシリアルケーブル等のハーネスにより通信可能に接続されている。
 表示装置5は、例えばカーナビゲーションのディスプレイ等のHMI(Human Machine Interface)装置である。表示装置5には、車載中継装置2の制御部20から入出力I/F24を介して出力されたデータ又は情報が表示される。
 車載中継装置2は、上述のごとく、CANメッセージの送受信時において2回のCRCチェックを行い、当該2回のCRCチェックの結果に基づく情報を表示装置5に送信し、表示装置5に当該情報を表示させるものであってもよい。表示装置5と車載中継装置2との接続形態は、入出力I/F24等による接続形態に限定されず、表示装置5と車載中継装置2とは、車内LAN4を介した接続形態であってもよい。
 図3は、CANメッセージのフレームの一態様を例示する説明図である。CANは、ISO11898等により規定されている通信プロトコルであり、送受信されるCANメッセージ(フレーム)のフレームタイプは、データフレーム、リモートフレーム、エラーフレーム及びオーバーロードフレームに分類される。図3おいては、これらフレームタイプにおいて、データフレームの一態様を例示する。CANメッセージのデータフレームは、CAN-ID、DLC、DATA(データ)及びCRCの4つのフィールドに分類される。
 CAN-IDフィールドには、CANメッセージを識別し、CANメッセージの優先順位を示す(決定)するためのメッセージ識別子(CAN-IDの番号)が格納される。メッセージ識別子は、CAN-ID又はアービトレーションIDと称され、例えば11bitのデータで表される。車載中継装置2及び車載ECU3は、受信したCANメッセージのCAN-IDフィールドに格納されているメッセージ識別子(CAN-ID)を抽出(参照)し、当該メッセージ識別子に基づいてCANメッセージに対する処理の要否を判定する。
 DLCフィールドには、データ長コードを示す情報が格納されるものであり、DATAフィールド(データフィールド)に格納されるデータのバイト数を示す。DATAフィールドには、8yteまでのコンテンツデータが格納される。
 CRCフィールドには、CRCの値となる巡回冗長検査コード及びリセッシブデリミタビットが格納される。当該CRCは、DATAフィールドに格納されるコンテンツデータ等がビット反転した場合等のエラー検出を行うためのCRCチェックに用いられる。なお、データフレームのCANメッセージには、上記フィールド以外にSOF(Start Of Frame)、IDE(Identifier Extension)及びACKが含まれるが、これについての説明は省略する。
 図4は、車載中継装置2の制御部20の処理を例示するフローチャートである。車載中継装置2の制御部20は、車両1が起動状態又は停止状態において、常時的に以下の処理を行う。
 制御部20は、CANメッセージを受信する(S10)。制御部20は、CAN通信部23を介してCANメッセージを受信(取得)する。
 制御部20は、CRCチェックを行い、データは正しいか否かの判定を行う(S11)。上述のごとく、制御部20は、CANコントローラとして機能し、受信したCANメッセージに対し、CRCチェック(受信時CRCチェック)を行う。制御部20は、受信したCANメッセージに含まれるデータに基づきCANの規格で定められた演算方式によって演算し、当該演算結果としてCRCを導出する。以降、CANメッセージの受信時に導出したCRCを、受信時導出CRCとする。制御部20は、受信時に導出した受信時導出CRC及び、受信したCANメッセージのCRCフィールドに格納されているCRC(以降、受信CRCとする)を、記憶部21に記憶する。
 制御部20は、受信時導出CRCと受信CRCとを比較し、夫々の値が同じであるか否かを判定する。夫々の値が同じである場合、CANメッセージに含まれるデータは正しいと判定する。夫々の値が同じでない場合、CANメッセージに含まれるデータは正しくない、すなわち誤っていると判定する。夫々の値が同じでない場合は、CANメッセージのデータフィールド等に格納されているデータ、又はCRCフィールドに格納されているデータ(受信CRCの値)のいずれかが、送信エラー、受信エラー又は伝送時のビット反転等により、誤ったデータ(データ化け又は破損)となっている場合である。従って、CANコントローラとして機能する制御部20は、受信時導出CRC及び受信CRCの夫々の値が同じでない場合、CANメッセージに含まれるデータは誤っている又は、当該CANメッセージを正常に受信できなかったと判定する。
 データが正しくない場合(S11:NO)、制御部20は、エラーフラグを出力する(S111)。データが正しくない場合、すなわちCANメッセージに含まれるデータが誤っており当該CANメッセージを正常に受信できなかった場合、制御部20は、CRCエラーを検出し、ACKデリミタの後からエラーフラグを出力する。制御部20は、エラーフラグを出力した後、当該CANメッセージを送信(中継)することなく破棄する。
 データが正しい場合(S11:YES)、制御部20は、中継するセグメント(CAN通信部23)を特定する(S12)。データが正しい場合、すなわちCANメッセージを正常に受信した場合、制御部20は、CAN-IDフィールドに格納されている番号(メッセージ識別子)を抽出し、記憶部21に記憶している経路情報に基づいて、中継先となるセグメント、すなわちCANメッセージを送信するためのCAN通信部23を特定する。中継先となるCAN通信部23を特定することにより、制御部20はCANゲートウェイとして機能する。
 制御部20は、CRCチェックを行い、データは正しいか否かの判定を行う(S13)。制御部20は、S12で特定したCAN通信部23からCANメッセージを送信して当該CANメッセージの中継処理を行うにあたり、当該送信の前処理として、再度CRCチェック(送信時CRCチェック)を行い、送信するCANメッセージのデータが正しいか否かの判定を行う。
 制御部20は、S11の処理と同様に、送信するCANメッセージに含まれるデータに基づきCANの規格で定められた演算方式によって演算し、当該演算結果としてCRCを導出する。以降、CANメッセージの送信時に導出したCRCを、送信時導出CRCとする。制御部20は、送信時導出CRCと、受信時導出CRC又は受信CRCとを比較する。S13の処理は、S11の処理にて受信時導出CRC及び受信CRCが同じ値である場合、行われるものである。従って、S13の処理を行うにあたり、受信時導出CRC及び受信CRCの夫々の値が同じ値であることが担保(保証)されている。制御部20は、送信時導出CRCの値と、受信時導出CRC又は受信CRCのいずれかの値とを比較し、これら値における同異を判定することにより、送信するCANメッセージに含まれるデータが正しいか否かを判定することができる。これら値夫々が同じ値である場合、制御部20は、送信するCANメッセージに含まれるデータは正しいと判定する。これら値夫々が異なる値である場合、制御部20は、送信するCANメッセージに含まれるデータは正しくない、すなわち当該データにおいてデータ化け又は破損が発生していると判定する。
 データが正しい場合(S13:YES)、制御部20は、CANメッセージを送信し、中継処理を実行する(S14)。データが正しい場合、すなわち送信時に導出した送信時導出CRCの値と、受信時導出CRC又は受信CRCの値とが同じ場合、制御部20は、S12で特定したCAN通信部23からCANメッセージを送信することにより、当該CANメッセージの中継処理を行う。制御部20は、S13の処理における送信時CRCチェックの結果、データが正しいと判定した場合、自装置は正常であると判定するものであってもよい。
 制御部20は、S11からS14までの処理を行うにあたり、受信したCANメッセージのCRCフィールドを削除することなく、受信CRCが格納されているCRCフィールドを維持して、これら処理を行うものであってもよい。受信したCANメッセージを中継するにあたり、受信したCANメッセージのCRCフィールドを維持することにより、当該CANメッセージに対するデータ加工に伴う処理数を低減させることができる。
 制御部20は、S11の処理の後、受信したCANメッセージのCRCフィールドを削除し、S14の処理、すなわち当該CANメッセージを送信する際の準備処理として、導出した送信時導出CRCを格納したCRCフィールドを付与した後、CANメッセージを送信するものであってもよい。CRCチェックを行った後、CRCフィールドを削除することにより、例えば、中継先となるCAN通信部23を特定する処理等を行うにあたり、制御部20が取り扱うデータ容量を低減させ、制御部20の計算負荷を低減させることができる。
 データが正しくない場合(S13:NO)、制御部20は、CANメッセージを破棄する(S15)。データが正しくない場合、すなわち送信時に導出した送信時導出CRCの値と、受信時導出CRC又は受信CRCの値とが異なる場合、制御部20は、S10で受信したCANメッセージを中継(送信)することなく、当該CANメッセージを破棄する。S13の処理おいて、データが正しくないと判定された場合は、制御部20は、CANメッセージを正常に受信したにもかかわらず、これ以降の制御部20における内部処理、すなわち車載中継装置2内(自装置内)の処理において、当該CANメッセージのデータに誤り(データ化け又は破損)が発生したと判定する。
 上述のごとく、制御部20はCANコントローラ及びCANゲートウェイとして機能する。これら機能を発揮するにあたり、CANコントローラはFPGAにより構成され、CANゲートウェイはマイクロコンピュータによって構成される場合がある。従って、FPGA及びマイクロコンピュータ間での通信において、CANメッセージのデータがビット反転等することも想定される。又は、FPGA又はマイクロコンピュータに含まれる記憶部21において、記憶されたデータがビット反転等することも想定される。
 このようにS11の処理の以降、S13の処理が行われるまでに間にて、制御部20における内部処理において、CANメッセージのデータに誤り(データ化け又は破損)が発生した場合、制御部20は、当該データは誤っていると判定し、S10で受信したCANメッセージを中継することなく、これを破棄する。制御部20における内部処理においてCANメッセージのデータに誤り(データ化け又は破損)が発生した場合、CANメッセージを中継することなく、破棄することにより、誤ったデータが含まれるCANメッセージの中継(送信)を防止し、中継処理の信頼性を向上させることができる。
 制御部20は、エラーカウントを増加する(S16)。制御部20は、例えば初期値を0として予め記憶部21に記憶しているエラーカウントを、一つずつ増加させるようなインクリメント処理を行う。制御部20は、当該インクリメント処理を行うことにより、S13の処理においてデータが正しくない場合が発生した回数を、エラーカウントの値として演算し、当該エラーカウントの値を記憶部21に記憶する。
 制御部20は、エラーカウントは所定値以下かを判定する(S17)。制御部20は、記憶部21に予め記憶してある所定値を参照し、S16の処理でインクリメント処理等により値を一つ増加させたエラーカウントの値と、当該所定値とを比較し、エラーカウントの値は、所定値以下か否かを判定する。
 所定値以下の場合(S17:YES)、制御部20は、自装置は正常と判定する(S18)。所定値以下でない場合(S17:NO)、すなわちエラーカウントの値が所定値よりも大きい場合、制御部20は、自装置は故障と判定する(S171)。データに誤りを発生させるビット反転は、制御部20等の半導体デバイスを含む電子機器に、例えば宇宙線が衝突して生じる場合もある。従って、ビット反転が発生した場合は、常に制御部20(車載中継装置2)が故障したと判定することが困難なところ、エラーカウントと所定値とを比較することにより、車載中継装置2の故障判定の精度を向上させることができる。
 エラーカウントと所定値とを比較するにあたり、制御部20は、例えば1分等の所定期間におけるエラーカウントの増加数に基づき、所定値と比較するものであってもよい。
 所定値は、車載中継装置2に要求される中継処理の信頼性に基づき決定されるものであってもよい。又、所定値を1とすることにより、一回でもS13の処理においてデータが正しくないと判定された場合は、車載中継装置2の制御部20は、故障したと判定するものであってもよい。
 制御部20は、S18又はS171の判定結果に関する情報を、記憶部21に記憶する、又は表示装置5に出力し、当該情報を表示装置5に表示させるものであってもよい。
制御部20は、S111,S14,S18又はS171を実行後、当該フローチャートによる処理を終了する。又は、制御部20は、S111,S14,S18又はS171を実行後、再度S10を実行すべくループ処理を行うものであってもよい。
 制御部20を構成するマイコン等の内部処理において、CANメッセージに含まれるデータが、ビット反転等により破損又は化ける場合がある。これに対し、制御部20は、マイコン等の内部処理として、例えば中継先となるCAN通信部23を特定した後、すなわち当該内部処理を行った後に、CANメッセージに含まれるデータに基づき導出した送信時導出CRCと、受信したCANメッセージに含まれる受信CRCとが異なる場合は、当該CANメッセージを中継しない。従って、中継装置における内部処理において、受信したCANメッセージ内のデータが破損等した場合であっても、適切に対応することができる。
 制御部20は、受信時及び送信時(中継時)の2回において、受信した前記CANメッセージに含まれる受信CRCと、CANメッセージに含まれるデータに基づき導出したCRC(受信時導出CRC、送信時導出CRC)との同異に基づき、中継の要否を制御する。受信CRCと送信時導出CRCとが異なる場合、CANメッセージ内に含まれるデータは制御部20内の処理においてデータ化け又は破損したものとなる。従って、これらCRCが異なる場合において、CANメッセージ内に含まれるデータのデータ化け又は破損が、受信時以前に発生したものであるか、又は受信後の車載中継装置2の内部(制御部20内)の処理において発生したものであるかの切り分けを行うことができる。
 本実施形態において、制御部20は、受信時及び送信時(中継時)の2回において、受信CRCと、CANメッセージに含まれるデータに基づき導出したCRC(受信時導出CRC、送信時導出CRC)との同異に基づき、中継の要否を制御するとしたがこれに限定されない。制御部20は、送信時導出CRCのみを導出し、導出した送信時導出CRC及び受信CRCの同異に基づき、中継の要否を制御するものであってもよい。送信時導出CRCのみを導出し、導出した送信時導出CRC及び受信CRCの同異に基づき、中継の要否を制御するものであっても、制御部20の内部処理においてデータの破損等が発生したCANメッセージが中継されることを防止することができる。又、受信時導出CRCの導出を不要とすることにより、制御部20の計算負荷を低減させることができる。
 今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、請求の範囲によって示され、請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
 1 車両
 2 車載中継装置
 20 制御部
 21 記憶部
 22 記録媒体
 23 CAN通信部(通信部)
 24 入出力I/F
  25 内部バス
 3 車載ECU
 4 車内LAN
 41 通信線
 5 表示装置
 

Claims (6)

  1.  車両に搭載され、複数の通信部を有し、前記複数の通信部間にてCANメッセージを中継する車載中継装置であって、
     前記通信部から受信した前記CANメッセージに含まれるCANIDに基づき、中継先となる通信部を特定して中継制御する制御部を備え、
     前記制御部は、
     前記中継先となる通信部を特定した後、受信した前記CANメッセージに含まれるCRCと、受信した前記CANメッセージに含まれるデータに基づき導出した導出CRCとが同じ場合、受信した前記CANメッセージを中継し、
     受信した前記CANメッセージに含まれるCRCと、前記導出CRCとが異なる場合、受信した前記CANメッセージを中継しない
     車載中継装置。
  2.  前記制御部は、前記中継先となる通信部を特定する前に、
     受信した前記CANメッセージに含まれるCRCと、受信した前記CANメッセージに含まれるデータに基づき導出した第2導出CRCとが同じ場合、前記中継先となる通信部を特定し、
     受信した前記CANメッセージに含まれるCRCと、前記第2導出CRCとが異なる場合、受信した前記CANメッセージを中継しない
     請求項1に記載の車載中継装置。
  3.  前記制御部は、前記中継先となる通信部を特定した後、受信した前記CANメッセージに含まれるCRCと、前記導出CRCとが異なる場合、前記CANメッセージ内に含まれるデータは自装置内の処理においてデータ化け又は破損したと判定する
     請求項2に記載の車載中継装置。
  4.  前記制御部は、受信した前記CANメッセージに含まれるCRCと、前記導出CRCとが、所定回数以上異なることが発生した場合、自装置が故障したと判定する
     請求項3に記載の車載中継装置。
  5.  コンピュータに、
     CANメッセージを受信し、
     受信した前記CANメッセージに含まれるCANIDに基づき、中継先となる通信部を特定し、
     前記中継先となる通信部を特定した後、受信した前記CANメッセージに含まれるデータに基づき導出CRCを導出し、
     受信した前記CANメッセージに含まれるCRCと、導出した前記導出CRCとが同じ場合、受信した前記CANメッセージを前記中継先となる通信部から中継し、
     受信した前記CANメッセージに含まれるCRCと、導出した前記導出CRCとが異なる場合、受信した前記CANメッセージを中継しない
     処理を実行させるプログラム。
  6.  CANメッセージを受信し、
     受信した前記CANメッセージに含まれるCANIDに基づき、中継先となる通信部を特定し、
     前記中継先となる通信部を特定した後、受信した前記CANメッセージに含まれるデータに基づき導出CRCを導出し、
     受信した前記CANメッセージに含まれるCRCと、導出した前記導出CRCとが同じ場合、受信した前記CANメッセージを前記中継先となる通信部から中継し、
     受信した前記CANメッセージに含まれるCRCと、導出した前記導出CRCとが異なる場合、受信した前記CANメッセージを中継しない
     中継方法。
     
PCT/JP2019/050111 2018-12-21 2019-12-20 車載中継装置、中継方法及びプログラム WO2020130136A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018239787A JP2020102762A (ja) 2018-12-21 2018-12-21 車載中継装置、中継方法及びプログラム
JP2018-239787 2018-12-21

Publications (1)

Publication Number Publication Date
WO2020130136A1 true WO2020130136A1 (ja) 2020-06-25

Family

ID=71101271

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/050111 WO2020130136A1 (ja) 2018-12-21 2019-12-20 車載中継装置、中継方法及びプログラム

Country Status (2)

Country Link
JP (1) JP2020102762A (ja)
WO (1) WO2020130136A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112511396A (zh) * 2020-11-27 2021-03-16 北京经纬恒润科技股份有限公司 一种整车通信监控方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601210B1 (en) * 1999-09-08 2003-07-29 Mellanox Technologies, Ltd Data integrity verification in a switching network
JP2003229875A (ja) * 2001-10-20 2003-08-15 Robert Bosch Gmbh Can−コントローラ内部のデータ伝送におけるエラーの認識方法,can−コントローラ,プログラム,記録媒体,及び制御装置
JP2007166302A (ja) * 2005-12-14 2007-06-28 Denso Corp 車載ネットワーク中継装置
WO2010024114A1 (ja) * 2008-08-25 2010-03-04 日本電気株式会社 通信装置およびヘッダ圧縮制御方法
CN102684841A (zh) * 2012-05-31 2012-09-19 无锡众志和达存储技术有限公司 一种编码计算单元及解码数据校验方法
JP2013017100A (ja) * 2011-07-05 2013-01-24 Fuji Electric Co Ltd データ伝送システム
JP2014135580A (ja) * 2013-01-09 2014-07-24 Mitsubishi Electric Corp プラント監視制御システム
JP2017050643A (ja) * 2015-08-31 2017-03-09 国立大学法人名古屋大学 中継装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601210B1 (en) * 1999-09-08 2003-07-29 Mellanox Technologies, Ltd Data integrity verification in a switching network
JP2003229875A (ja) * 2001-10-20 2003-08-15 Robert Bosch Gmbh Can−コントローラ内部のデータ伝送におけるエラーの認識方法,can−コントローラ,プログラム,記録媒体,及び制御装置
JP2007166302A (ja) * 2005-12-14 2007-06-28 Denso Corp 車載ネットワーク中継装置
WO2010024114A1 (ja) * 2008-08-25 2010-03-04 日本電気株式会社 通信装置およびヘッダ圧縮制御方法
JP2013017100A (ja) * 2011-07-05 2013-01-24 Fuji Electric Co Ltd データ伝送システム
CN102684841A (zh) * 2012-05-31 2012-09-19 无锡众志和达存储技术有限公司 一种编码计算单元及解码数据校验方法
JP2014135580A (ja) * 2013-01-09 2014-07-24 Mitsubishi Electric Corp プラント監視制御システム
JP2017050643A (ja) * 2015-08-31 2017-03-09 国立大学法人名古屋大学 中継装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112511396A (zh) * 2020-11-27 2021-03-16 北京经纬恒润科技股份有限公司 一种整车通信监控方法及装置

Also Published As

Publication number Publication date
JP2020102762A (ja) 2020-07-02

Similar Documents

Publication Publication Date Title
US20210312043A1 (en) Vehicle communications bus data security
EP3358788B1 (en) Illegality detection electronic control unit, vehicle onboard network system, and communication method
CN106031098B (zh) 不正常帧应对方法、不正常检测电子控制单元以及车载网络系统
JP6477281B2 (ja) 車載中継装置、車載通信システム及び中継プログラム
US8015445B2 (en) Fault location device, communication device, and fault location method
US20170134358A1 (en) Communication system, communication control device, and fraudulent information-transmission preventing method
WO2017038500A1 (ja) 中継装置
CN110546921B (zh) 不正当检测方法、不正当检测装置以及程序
US11838303B2 (en) Log generation method, log generation device, and recording medium
JP2007038904A (ja) 車載ゲートウェイ装置及び同装置におけるメッセージ中継方法
US10462161B2 (en) Vehicle network operating protocol and method
US9894081B2 (en) Method and device for avoiding manipulation of a data transmission
US20230048058A1 (en) Anomaly determination method, anomaly determination device, and recording medium
CN112347021A (zh) 用于串行通信装置的安全模块
WO2020130136A1 (ja) 車載中継装置、中継方法及びプログラム
WO2019193963A1 (ja) 車載通信システム、車載通信装置、通信プログラム及び通信方法
US10447384B2 (en) Communication apparatus, communication method, and program
CN115580471A (zh) 不正当检测方法、不正当检测装置以及存储介质
JP2017017615A (ja) 通信装置、および通信システム
CN111376848B (zh) 不正常检测规则更新方法、电子控制单元和车载网络系统
CN114667715B (zh) 中继装置、通信网络系统以及通信控制方法
US11832098B2 (en) Vehicle communication system, communication method, and storage medium storing communication program
WO2023149205A1 (ja) 車載中継装置、車載中継方法および車載中継プログラム
JP4959484B2 (ja) 中継接続ユニット
JP2023038577A (ja) 車載中継装置、車載中継方法および車載中継プログラム

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

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

Country of ref document: EP

Kind code of ref document: A1