JP7042417B2 - 通信装置、送信方法及びコンピュータプログラム - Google Patents

通信装置、送信方法及びコンピュータプログラム Download PDF

Info

Publication number
JP7042417B2
JP7042417B2 JP2018164662A JP2018164662A JP7042417B2 JP 7042417 B2 JP7042417 B2 JP 7042417B2 JP 2018164662 A JP2018164662 A JP 2018164662A JP 2018164662 A JP2018164662 A JP 2018164662A JP 7042417 B2 JP7042417 B2 JP 7042417B2
Authority
JP
Japan
Prior art keywords
data
transmission
communication
communication bus
unit
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.)
Active
Application number
JP2018164662A
Other languages
English (en)
Other versions
JP2020039034A (ja
Inventor
元俊 咸
剛志 萩原
誠 真下
靖弘 藪内
真 松本
一郎 神田
章人 岩田
偉博 川内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sumitomo Wiring Systems Ltd
AutoNetworks Technologies Ltd
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Wiring Systems Ltd
AutoNetworks Technologies Ltd
Sumitomo Electric Industries Ltd
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 Sumitomo Wiring Systems Ltd, AutoNetworks Technologies Ltd, Sumitomo Electric Industries Ltd filed Critical Sumitomo Wiring Systems Ltd
Priority to JP2018164662A priority Critical patent/JP7042417B2/ja
Priority to US17/273,056 priority patent/US20210328931A1/en
Priority to CN201980055579.2A priority patent/CN112602293B/zh
Priority to PCT/JP2019/032579 priority patent/WO2020050025A1/ja
Publication of JP2020039034A publication Critical patent/JP2020039034A/ja
Application granted granted Critical
Publication of JP7042417B2 publication Critical patent/JP7042417B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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]
    • H04L12/40Bus networks
    • 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]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • 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]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/13Flow control; Congestion control in a LAN segment, e.g. ring or bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/22Communication route or path selection, e.g. power-based or shortest path routing using selective relaying for reaching a BTS [Base Transceiver Station] or an access point
    • 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]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • 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]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Small-Scale Networks (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)

Description

本発明は通信装置、送信方法及びコンピュータプログラムに関する。
車両には、複数の通信装置が通信バスを介してデータを相互に送信する通信システム(例えば、特許文献1を参照)が搭載されている。特許文献1に記載の通信システムでは、通信バスを介した通信は、例えば、CAN(Controller Area Network)のプロトコルに従って行われる。
CANのプロトコルに従った通信では、複数の通信装置夫々は、送信先の装置に通知すべき内容を示すメインデータを含むデータフレームを送信することによって、メインデータを送信する。データフレームには、送信に係る優先度を示すサブデータが更に含まれる。通信バスを介して複数のデータフレームの同時送信が開始された場合、複数のデータフレームの中で優先度が最も高いデータフレームの送信は継続され、他のデータフレームの送信は停止する。優先度が低いデータフレームの送信は、優先度が高いデータフレームの送信が完了した後に再び開始される。
特開2015-144353号公報
特許文献1に記載の通信システムでは、通信バスの通信負荷、即ち、通信バスを介してデータフレームが送信されている送信時間が単位時間当たりに占める割合が大きい場合、優先度が低いデータフレームのメインデータの送信に係る所要時間は長い。従って、通信負荷が大きい場合、優先度が低いデータフレームのメインデータに基づく処理が適切なタイミングで実行されない可能性がある。
例えば、通信負荷が大きい状況で車両の窓の開放を指示するメインデータを含むデータフレームが送信されたと仮定する。ここで、このデータフレームの優先度が低い場合、データフレームが停滞し、窓の開放にかかる時間が長く、乗員に不快感を与える可能性がある。
本発明は斯かる事情に鑑みてなされたものであり、その目的とするところは、データの送信に係る所要時間が短い通信装置、送信方法及びコンピュータプログラムを提供することにある。
本発明の一態様に係る通信装置は、複数の装置に接続される通信バスを介した複数のデータの同時送信を検知する検知部と、所定時間内に前記同時送信を検知した回数が所定回数未満である場合に前記通信バスを介したデータの送信を開始する第1送信部と、前記所定時間内に前記同時送信を検知した回数が前記所定回数以上である場合に、前記通信バスとは異なる通信線を介して前記複数の装置中の1つにデータを送信する第2送信部とを備え、前記通信バスを介して前記同時送信が開始された場合、同時に送信されている複数のデータ中の1つを除く他のデータの送信元の装置は、データの送信を停止し、前記複数の装置には、前記通信バスとは異なる通信線に未接続である未接続装置が含まれ、前記第1送信部が前記通信線を介した送信先への送信が可能なデータの送信を開始したことによって、前記通信バスを介して複数のデータが同時に送信された場合にて、同時に送信された複数のデータに、送信元が前記未接続装置であるか、又は、送信先が前記未接続装置であるデータが含まれるとき、前記第1送信部はデータの送信を停止する。
本発明の一態様に係る送信方法は、複数の装置に接続される通信バスを介した複数のデータの同時送信を検知するステップと、所定時間内に前記同時送信を検知した回数が所定回数未満である場合に前記通信バスを介してデータを送信するステップと、前記所定時間内に前記同時送信を検知した回数が前記所定回数以上である場合に、前記通信バスとは異なる通信線を介して前記複数の装置中の1つにデータを送信するステップと、前記通信バスを介したデータの送信を停止するステップとを含み、前記通信バスを介して前記同時送信が開始された場合、同時に送信されている複数のデータ中の1つを除く他のデータの送信元の装置は、データの送信を停止し、前記複数の装置には、前記通信バスとは異なる通信線に未接続である未接続装置が含まれ、前記通信線を介した送信先への送信が可能なデータの前記通信バスを介した送信を開始したことによって、前記通信バスを介して複数のデータが同時に送信された場合にて、同時に送信された複数のデータに、送信元が前記未接続装置であるか、又は、送信先が前記未接続装置であるデータが含まれるとき、前記通信バスを介したデータの送信が停止される。
本発明の一態様に係るコンピュータプログラムは、コンピュータに、複数の装置に接続される通信バスを介した複数のデータの同時送信を検知するステップと、所定時間内に前記同時送信を検知した回数が所定回数未満である場合に前記通信バスを介したデータの送信を指示するステップと、前記所定時間内に前記同時送信を検知した回数が前記所定回数以上である場合に、前記通信バスとは異なる通信線を介した前記複数の装置中の1つへのデータの送信を指示するステップと、前記通信バスを介したデータの送信を停止するステップとを実行させるために用いられ、前記通信バスを介して前記同時送信が開始された場合、同時に送信されている複数のデータ中の1つを除く他のデータの送信元の装置は、データの送信を停止し、前記複数の装置には、前記通信バスとは異なる通信線に未接続である未接続装置が含まれ、前記通信線を介した送信先への送信が可能なデータの前記通信バスを介した送信を開始したことによって、前記通信バスを介して複数のデータが同時に送信された場合にて、同時に送信された複数のデータに、送信元が前記未接続装置であるか、又は、送信先が前記未接続装置であるデータが含まれるとき、前記通信バスを介したデータの送信が停止される。
なお、本発明を、このような特徴的な処理部を備える通信装置として実現することができるだけでなく、かかる特徴的な処理をステップとする送信方法として実現したり、かかるステップをコンピュータに実行させるためのコンピュータプログラムとして実現したりすることができる。また、本発明を、通信装置の一部又は全部を実現する半導体集積回路として実現したり、通信装置を含む通信システムとして実現したりすることができる。
上記の態様によれば、データの送信に係る所要時間が短い。
実施形態1における通信システムの要部構成を示すブロック図である。 CAN用のデータフレームの説明図である。 中継装置の要部構成を示すブロック図である。 第1中継データ記憶処理の手順を示すフローチャートである。 第1中継データ送信処理の手順を示すフローチャートである。 第1中継データ送信処理の手順を示すフローチャートである。 衝突検知回数の説明図である。 高機能ECUの要部構成を示すブロック図である。 制御データ記憶処理の手順を示すフローチャートである。 送信データ記憶処理の手順を示すフローチャートである。 送信データ送信処理の手順を示すフローチャートである。 送信データ送信処理の手順を示すフローチャートである。 実施形態2におけるCAN用のデータフレームの説明図である。 第1中継データ記憶処理の手順を示すフローチャートである。 第1中継データ送信処理の手順を示すフローチャートである。 第1中継データ送信処理の手順を示すフローチャートである。 制御データ記憶処理の手順を示すフローチャートである。 送信データ記憶処理の手順を示すフローチャートである。 送信データ送信処理の手順を示すフローチャートである。 送信データ送信処理の手順を示すフローチャートである。
[本発明の実施形態の説明]
最初に本発明の実施態様を列挙して説明する。以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
(1)本発明の一態様に係る通信装置は、複数の装置に接続される通信バスを介した複数のデータの同時送信を検知する検知部と、所定時間内に前記同時送信を検知した回数が所定回数未満である場合に前記通信バスを介したデータの送信を開始する第1送信部と、前記所定時間内に前記同時送信を検知した回数が前記所定回数以上である場合に、前記通信バスとは異なる通信線を介して前記複数の装置中の1つにデータを送信する第2送信部とを備える。
(2)本発明の一態様に係る通信装置では、前記通信バスを介して前記同時送信が開始された場合、同時に送信されている複数のデータ中の1つを除く他のデータの送信元の装置は、データの送信を停止する。
(3)本発明の一態様に係る通信装置では、前記第2送信部は、前記第1送信部が前記通信バスを介したデータの送信を停止した場合、前記通信線を介して、前記第1送信部が送信を停止したデータを送信する。
(4)本発明の一態様に係る通信装置では、前記第2送信部は、共通のデータについて、前記第1送信部が前記通信バスを介した送信を停止した回数が第2の所定回数以上となった場合、前記通信線を介して、前記第1送信部が送信を停止した共通のデータを送信し、前記第2の所定回数は2以上である。
(5)本発明の一態様に係る通信装置では、前記通信バスを介した通信で用いられるプロトコルは、前記通信線を介した通信で用いられるプロトコルと異なる。
(6)本発明の一態様に係る通信装置では、前記第2送信部の数は、前記第1送信部から前記通信バスを介してデータを受信する装置の数よりも少ない。
(7)本発明の一態様に係る通信装置は、前記通信バスに接続される前記複数の装置とは異なる第2の装置からデータを受信する受信部を備え、前記第1送信部及び第2送信部は、前記受信部が受信したデータを送信する。
(8)本発明の一態様に係る送信方法は、複数の装置に接続される通信バスを介した複数のデータの同時送信を検知するステップと、所定時間内に前記同時送信を検知した回数が所定回数未満である場合に前記通信バスを介してデータを送信するステップと、前記所定時間内に前記同時送信を検知した回数が前記所定回数以上である場合に、前記通信バスとは異なる通信線を介して前記複数の装置中の1つにデータを送信するステップとを含む。
(9)本発明の一態様に係るコンピュータプログラムは、コンピュータに、複数の装置に接続される通信バスを介した複数のデータの同時送信を検知するステップと、所定時間内に前記同時送信を検知した回数が所定回数未満である場合に前記通信バスを介したデータの送信を指示するステップと、前記所定時間内に前記同時送信を検知した回数が前記所定回数以上である場合に、前記通信バスとは異なる通信線を介した前記複数の装置中の1つへのデータの送信を指示するステップとを実行させる。
上記の一態様に係る通信装置、送信方法及びコンピュータプログラムにあっては、所定時間内に通信バスを介して同時送信が行われた回数が多い場合、通信バスの通信負荷が大きいので、通信線を介してデータを送信する。このため、データが長期間停滞することなく、データの送信に係る所有時間が短い。
上記の一態様に係る通信装置にあっては、通信バスを介した複数のデータの同時送信が開始された場合、同時に送信されている複数のデータ中の1つを除く他のデータの送信元の装置は送信を停止する。複数のデータ中の1つの送信元の装置は送信を継続する。これにより、通信バスを介して適切な通信が行われる。
上記の一態様に係る通信装置にあっては、所定時間内に同時送信を検知した回数が所定回数未満である場合、通信バスを介したデータの送信を開始する。例えば、通信バスを介してデータの送信を開始した場合において、同時送信が開始されたとき、通信バスを介したデータの送信を停止する可能性がある。通信バスを介したデータの送信を停止した場合、送信を停止したデータを、通信線を介して送信する。従って、データの送信に係る所要時間が更に短い。
上記の一態様に係る通信装置にあっては、共通のデータについて、通信バスを介した送信を停止した回数が第2の所定回数となった場合、送信を停止した共通のデータを、通信線を介して送信する。従って、通信バスを介してデータが送信される頻度が適当な値に調整される。
上記の一態様に係る通信装置にあっては、通信バスを介した通信では例えばCANのプロトコルが用いられる。一方で、通信線を介した通信では、例えば、イーサネット(登録商標)のプロトコルが用いられる。
上記の一態様に係る通信装置にあっては、通信バス及び通信線に接続される高機能な装置の数が少ない。このため、製造費用が安価である。
上記の一態様に係る通信装置にあっては、第2の装置から受信したデータを、通信バスに接続される装置に送信する。
[本発明の実施形態の詳細]
本発明の実施形態に係る通信システムの具体例を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
(実施形態1)
図1は、実施形態1における通信システムNの要部構成を示すブロック図である。通信システムNは車両100に好適に搭載されている。通信システムNは、4つの高機能ECU(Electronic Control Unit)10,20、6つの低機能ECU11,21、第1通信バス12、2つの第1通信線13、第2通信バス22、2つの第2通信線23及び中継装置30を備える。
2つの高機能ECU10及び3つの低機能ECU11は第1通信バス12に接続されている。2つの高機能ECU20及び3つの低機能ECU21は第2通信バス22に接続されている。第1通信バス12及び第2通信バス22は、更に、中継装置30に接続されている。2つの高機能ECU10夫々は、更に、第1通信線13に接続されている。2つの高機能ECU20夫々は、更に、第2通信線23に接続されている。中継装置30は、2つの第1通信線13及び2つの第2通信線23に接続されている。
高機能ECU10,20及び低機能ECU11,21夫々は、車両100に搭載された電気機器に関する制御を行う。高機能ECU10,20及び低機能ECU11,21は、通信装置として機能し、相互に通信する。これにより、4つの高機能ECU10,20及び6つの低機能ECU11,21中の少なくとも2つは協調動作を行う。
例えば、車両100のドアのドアノブを人物が接触した場合、低機能ECU11に、ドアの解錠を指示するデータが入力される。低機能ECU11は、高機能ECU20にこのデータを送信する。高機能ECU20は、ドアの解錠を指示するデータを受信した場合、ドアを解錠するドアモータを駆動する駆動機に、受信したデータを出力する。これにより、ドアが解錠される。
中継装置30は、2つの高機能ECU20及び3つの低機能ECU21中の1つから受信したデータを、2つの高機能ECU10及び3つの低機能ECU11中の少なくとも1つに送信する。同様に、中継装置30は、2つの高機能ECU10及び3つの低機能ECU11中の1つから受信したデータを、2つの高機能ECU20及び3つの低機能ECU21中の少なくとも1つに送信する。中継装置30も通信装置として機能する。
通信システムNでは、送信先である装置に通知すべき内容を示すメインデータを含むデータフレームを送信することによって、メインデータを送信する。メインデータは、例えば、ドアの解錠を指示するデータである。データフレームには、メインデータの他に種々のサブデータが含まれる。サブデータは、メインデータを識別するための識別データ、送信元の装置を示す送信元データ、又は、送信先の装置を示す送信先データ等である。データフレームは、「1」又は「0」を示す複数のビットデータによって構成される。
2つの高機能ECU10、3つの低機能ECU11及び中継装置30は、第1通信バス12を介して相互に通信する。第1通信バス12に接続されている装置中の1つが送信したデータフレームは、第1通信バス12に接続されている全ての装置によって受信される。2つの高機能ECU10、3つの低機能ECU11及び中継装置30夫々は、他の装置が送信したデータフレームだけではなく、自装置が送信したデータフレームも受信する。
第1通信バス12を介した通信では、CANのプロトコルが用いられる。第1通信バス12は、ツイストペアケーブルであり、撚り合された2つの導線を含む。2つの導線間の電圧差を、ゼロVを超える所定電圧に調整することによってドミナントを送信する。2つの導線間の電圧差をゼロVに調整することによってレセッシブを送信する。第1通信バス12を介してドミナント及びレセッシブが同時に出力された場合、第1通信バス12に含まれる2つの導線間の電位差は所定電圧であり、第1通信バス12はドミナントを示す。
ドミナントは、ビットデータの「1」又は「0」に対応する。ドミナントが「1」に対応する場合、レセッシブは「0」に対応する。ドミナントが「0」に対応する場合、レセッシブは「1」に対応する。
以下では、ドミナント及びレセッシブ夫々は、「1」及び「0」を示すと仮定する。従って、「1」を示すビットデータと、「0」を示すビットデータとが同時に送信された場合、「1」を示すビットデータが受信される。
図2は、CAN用のデータフレームの説明図である。CAN用のデータフレームでは、SOF(Start Of Frame)フィールド、ID(Identification Data)フィールド、データフィールド、衝突通知フィールド及びEOF(End Of Frame)フィールド等が設けられている。データフィールドにメインデータが含まれる。データフィールドとは異なるフィールドにサブデータが含まれる。
SOFフィールド及びEOFフィールド夫々に含まれるサブデータは、データフレームの開始及び終了を示す。SOFフィールド及びEOFフィールドを構成する一又は複数のビットデータの値は、CAN用の全てのデータフレームで共通である。IDフィールドに含まれるサブデータは、データフィールドに含まれるメインデータを識別するための識別データであり、複数のビットデータで構成される。
第1通信バス12を介して複数のデータフレームの同時送信が開始された場合、複数のデータフレームのIDフィールドに含まれるサブデータに基づいて調停が行われる。これにより、同時に送信された複数のデータフレーム中の1つを除く他のデータフレームの送信元である装置は、データフレームの送信を停止する。
なお、複数のデータフレームの同時送信は、複数のデータフレームが同時に送信されることを意味する。また、同時送信の「同時」は、複数のデータフレームが送信される複数の時点が完全に一致している状態だけではなく、1つのビットデータの期間中に複数のデータフレームの送信が開始された状態も示す。同時送信が行われることを衝突と呼ぶ。
第1通信バス12に接続される装置は、第1通信バス12を介してデータフレームを送信する場合、送信したビットデータの値を、受信したビットデータの値と照合する。前述したように、「1」(ドミナント)を示すビットデータと、「0」(レセッシブ)を示すビットデータとが同時に送信された場合、「1」を示すビットデータが受信される。従って、第1通信バス12に接続される装置は、「0」を示すビットデータを送信したにも関わらず、「1」を示すビットデータを受信した場合、複数のデータフレームの衝突を検出する。「1」を示すビットデータを送信した装置は、衝突を検出することはない。
衝突を検出した装置は、第1通信バス12を介したデータフレームの送信を停止する。従って、第1通信バス12を介して、複数のデータフレームの同時送信が開始された場合、即ち、衝突が発生した場合、同時に送信された複数のデータフレーム中の1つを除く他のデータフレームの送信元である装置は、データフレームの送信を停止する。同時に送信された複数のデータフレーム中の1つの送信元である装置は送信を継続する。これにより、第1通信バス12を介して適切な通信が行われる。
前述した調停は、IDフィールドに含まれる複数のビットデータが送信されている間に実行される。前述したように、「1」を示すビットデータと、「0」を示すビットデータとが同時に送信された場合、「1」を示すビットデータが受信される。従って、IDフィールドに含まれる識別データを2進数の数値とみなした場合、この数値が大きい程、データフレームの送信に係る優先度は大きい。同時に送信された複数のデータフレームの中で優先度が最も大きいデータフレームの送信元である装置が送信を継続し、他のデータフレームの送信元である装置は送信を停止する。
図2に示すCAN用のデータフレームの衝突通知フィールドは、1つのビットデータによって構成される。第1通信バス12を介した複数のデータフレームの同時送信が開始された場合において、送信を継続した装置は、送信中のデータフレームの衝突通知フィールドでは、「0」(レセッシブ)を示すビットデータを送信する。送信を停止した装置は、他の装置が送信しているデータフレームの衝突通知フィールドで「1」(ドミナント)を示すビットデータを送信する。このとき、衝突通知フィールドのビットデータは「1」(ドミナント)を示す。これにより、第1通信バス12に接続されている全ての装置に衝突の発生が通知され、これらの装置は衝突を検知する。
第1通信バス12を介して送信されたデータフレームの数が1である場合、衝突通知フィールドのビットデータは「0」を示す。これにより、衝突が発生していないことが、第1通信バス12に接続されている全ての装置に通知される。
高機能ECU10、低機能ECU11及び中継装置30夫々は、第1通信バス12を介してデータフレームを受信した場合、受信したデータフレームのIDフィールドに含まれる識別データに基づいて、受信したデータフレームのデータフィールドに含まれるメインデータを記憶するか否かを判定する。高機能ECU10、低機能ECU11及び中継装置30夫々は、メインデータを記憶すると判定した場合、メインデータを記憶し、メインデータを記憶しないと判定した場合、受信したデータフレームを無視する。
2つの高機能ECU20、3つの低機能ECU21及び中継装置30は、第2通信バス22を介して相互に通信する。第2通信バス22を介した通信は、第1通信バス12を介した通信と同様である。従って、第2通信バス22を介した通信では、CANのプロトコルが用いられる。第2通信バス22は、ツイストペアケーブルであり、撚り合された2つの導線を含む。
第2通信バス22を介した通信でも、図2に示すCAN用のデータフレームが用いられる。第2通信バス22を介した複数のデータフレームの同時送信が開始された場合、第1通信バス12を介した通信と同様に調停が行われる。第2通信バス22を介して、複数のデータフレームの同時送信が開始された場合、同時に送信された複数のデータフレーム中の1つを除く他のデータフレームの送信元である装置は、データフレームの送信を停止する。同時に送信された複数のデータフレーム中の1つの送信元である装置は送信を継続する。これにより、第2通信バス22を介して適切な通信が行われる。IDフィールドに含まれるサブデータは、第2通信バス22を介したデータフレームの送信に係る優先度を示す。
第2通信バス22を介した複数のデータフレームの同時送信が開始された場合、送信が継続されたデータフレームの衝突通知フィールドのビットデータが「1」(ドミナント)を示し、第2通信バス22に接続されている全ての装置に衝突の発生が通知される。これらの装置は衝突を検知する。
高機能ECU20、低機能ECU21及び中継装置30夫々は、第2通信バス22を介してデータフレームを受信した場合、受信したデータフレームのIDフィールドに含まれる識別データに基づいて、受信したデータフレームのデータフィールドに含まれるメインデータを記憶するか否かを判定する。高機能ECU20、低機能ECU21及び中継装置30夫々は、メインデータを記憶すると判定した場合、メインデータを記憶し、メインデータを記憶しないと判定した場合、受信したデータフレームを無視する。
中継装置30は、第1通信線13を介して高機能ECU10と通信し、第2通信線23を介して高機能ECU20と通信する。第1通信線13及び第2通信線23夫々を介した通信では、イーサネット(登録商標)のプロトコルが用いられ、イーサネット用のデータフレームが送信される。イーサネット用のデータフレームには、メインデータの他に、データフレームの送信元の装置を示す送信元データ、及び、データフレームの送信先の装置を示す送信先データが含まれている。
第1通信バス12を介した通信で用いるプロトコルは、第1通信線13を介した通信で用いるプロトコルと異なる。同様に、第2通信バス22を介した通信で用いるプロトコルは、第2通信線23を介した通信で用いるプロトコルと異なる。
中継装置30は、第1通信線13を介して高機能ECU10にデータフレームを送信し、第2通信線23を介して高機能ECU20にデータフレームを送信する。高機能ECU10,20夫々は、第1通信線13及び第2通信線23を介してデータフレームを中継装置30に送信する。
高機能ECU10及び中継装置30夫々は、第1通信線13を介してデータフレームを受信した場合、受信したデータフレームに含まれるメインデータを記憶する。高機能ECU20及び中継装置30夫々は、第2通信線23を介してデータフレームを受信した場合、受信したデータフレームに含まれるメインデータを記憶する。第1通信線13及び第2通信線23夫々を介した通信は、1対1の通信である。このため、第1通信線13及び第2通信線23夫々に接続される装置の数は2である。
中継装置30は、自装置に記憶されているメインデータを送信することによって、メインデータの送信を中継する。高機能ECU10,20及び低機能ECU11,21夫々は、自装置に記憶されているメインデータに基づいて電気機器に関する制御を行う。
図3は中継装置30の要部構成を示すブロック図である。中継装置30は、2つのCAN通信部40a,40b、4つのイーサネット通信部41a,41b、一時記憶部42、時計部43、記憶部44及び制御部45を有する。これらは、中継装置30内において、内部バス46に接続されている。CAN通信部40aは、更に、第1通信バス12に接続されている。イーサネット通信部41aは、更に、第1通信線13に接続されている。CAN通信部40bは、更に、第2通信バス22に接続されている。イーサネット通信部41bは、更に、第2通信線23に接続されている。
CAN通信部40a,40b及びイーサネット通信部41a,41bは、インタフェースであり、制御部45の指示に従って、データフレームを送信する。具体的には、これらは、データフレームを構成する複数のビットデータを順次送信する。
CAN通信部40aは、更に、制御部45の指示に従って、中継装置30とは異なる装置が第1通信バス12を介して送信しているデータフレームの衝突通知フィールドで「1」(ドミナント)を示すビットデータを送信する。CAN通信部40bは、更に、制御部45の指示に従って、中継装置30とは異なる装置が第2通信バス22を介して送信しているデータフレームの衝突通知フィールドで「1」を示すビットデータを送信する。
CAN通信部40aは、第1通信バス12を介して送信された全てのデータフレームを受信する。イーサネット通信部41aは、自身に接続されている第1通信線13を介して高機能ECU10から送信されたデータフレームを受信する。CAN通信部40bは、第2通信バス22を介して送信された全てのデータフレームを受信する。イーサネット通信部41bは、自身に接続されている第2通信線23を介して高機能ECU20から送信されたデータフレームを受信する。制御部45は、CAN通信部40a,40b及びイーサネット通信部41a,41bが受信したデータフレームをこれらから取得する。
制御部45は、データを一時記憶部42に記憶する。一時記憶部42では、データが一時的に記憶される。一時記憶部42に記憶されているデータは、制御部45によって一時記憶部42から読み出される。制御部45は、送信を中継する中継データを一時記憶部42に記憶する。また、制御部45は、中継データに対応付けて、送信を停止した送信停止回数を示す送信停止回数データを一時記憶部42に記憶する。送信停止回数データが示す回数は、自身に対応する中継データについて、CAN通信部40a,40b中の1つが送信を停止した回数を示す。
制御部45は、更に、第1通信バス12において衝突が発生した日時を示す第1衝突時刻データと、第2通信バス22において衝突が発生した日時を示す第2衝突時刻データとを一時記憶部42に記憶する。一時記憶部42に記憶されているデータは、一時記憶部42への電力供給が停止した場合に消去される。
制御部45は、時計部43から日時を示す日時データを取得する。制御部45が取得した日時データは、この日時データを取得した時点の日時を示す。
記憶部44は不揮発性メモリである。記憶部44には、コンピュータプログラムP1が記憶されている。制御部45は、一又は複数のCPU(Central Processing Unit)を有する。制御部45が有する一又は複数のCPUは、コンピュータプログラムP1を実行することによって、第1中継データ記憶処理、第2中継データ記憶処理、第1中継データ送信処理及び第2中継データ送信処理を並行して実行する。
第1中継データ記憶処理は、CAN通信部40a及びイーサネット通信部41aが受信したデータフレームに含まれるメインデータを、中継データとして一時記憶部42に記憶する処理である。第2中継データ記憶処理は、CAN通信部40b及びイーサネット通信部41bが受信したデータフレームに含まれるメインデータを、中継データとして一時記憶部42に記憶する処理である。
第1中継データ送信処理は、第1通信バス12又は第1通信線13を介してデータフレームを送信する処理である。第2中継データ送信処理は、第2通信バス22又は第2通信線23を介してデータフレームを送信する処理である。
コンピュータプログラムP1は、制御部45が有する一又は複数のCPUに、第1中継データ記憶処理、第2中継データ記憶処理、第1中継データ送信処理及び第2中継データ送信処理を実行させるために用いられる。
なお、コンピュータプログラムP1は、制御部45が有する一又は複数のCPUが読み取り可能に、記憶媒体A1に記憶されていてもよい。この場合、図示しない読み出し装置によって記憶媒体A1から読み出されたコンピュータプログラムP1が記憶部44に記憶される。記憶媒体A1は、光ディスク、フレキシブルディスク、磁気ディスク、磁気光ディスク又は半導体メモリ等である。光ディスクは、CD(Compact Disc)-ROM(Read Only Memory)、DVD(Digital Versatile Disc)-ROM、又は、BD(Blu-ray(登録商標) Disc)等である。磁気ディスクは、例えばハードディスクである。また、図示しない通信網に接続されている図示しない外部装置からコンピュータプログラムP1をダウンロードし、ダウンロードしたコンピュータプログラムP1を記憶部44に記憶してもよい。
図4は、第1中継データ記憶処理の手順を示すフローチャートである。制御部45は、第1中継データ記憶処理を周期的に実行する。制御部45は、まず、2つのイーサネット通信部41a中の1つが第1通信線13を介してデータフレームを受信したか否かを判定する(ステップS1)。制御部45は、第1通信線13を介してデータフレームを受信したと判定した場合(S1:YES)、イーサネット通信部41aが受信したデータフレームに含まれるメインデータを、中継データとして一時記憶部42に記憶する(ステップS2)。
制御部45は、第1通信線13を介してデータフレームを受信していないと判定した場合(S1:NO)、CAN通信部40aが第1通信バス12を介してデータフレームを受信したか否かを判定する(ステップS3)。制御部45は、第1通信バス12を介してデータフレームを受信していないと判定した場合(S3:NO)、第1中継データ記憶処理を終了する。
制御部45は、第1通信バス12を介してデータフレームを受信したと判定した場合(S3:YES)、CAN通信部40aが受信したデータフレームの衝突通知フィールドに含まれるビットデータの値に基づいて、第1通信バス12において衝突が発生したか否かを判定する(ステップS4)。前述したように、衝突が発生した場合、衝突通知フィールドのビットデータは「1」(ドミナント)を示す。衝突が発生していない場合、衝突通知フィールドのビットデータは「0」(レセッシブ)を示す。第1通信バス12における衝突の発生は、第1通信バス12を介して複数のデータフレームの同時送信が行われたことを意味する。
制御部45は、ステップS4を実行することによって、第1通信バス12における衝突、即ち、第1通信バス12を介した複数のデータフレームの同時送信を検知する。具体的には、制御部45は、衝突通知フィールドのビットデータが「1」(ドミナント)を示す場合に衝突を検知する。制御部45は検知部として機能する。
ステップS4において制御部45が検知する同時送信は、中継装置30と、2つの高機能ECU10及び3つの低機能ECU11中の少なくとも1つとが行った同時送信だけではない。ステップS4において、制御部45は、2つの高機能ECU10及び3つの低機能ECU11中の少なくとも2つが行った同時送信も検知する。前述したように、第1通信バス12に接続されている装置の1つが送信したデータフレームは、第1通信バス12に接続されている全ての装置によって受信される。このため、第1通信バス12を介して行われた全ての同時送信を検知することができる。
制御部45は、第1通信バス12において衝突が発生したと判定した場合、即ち、第1通信バス12を介した複数のデータフレームの同時送信を検知した場合(S4:YES)、時計部43から日時データを取得する(ステップS5)。次に、制御部45は、ステップS5で取得した日時データを第1衝突時刻データとして一時記憶部42に記憶する(ステップS6)。
制御部45は、第1通信バス12において衝突が発生していないと判定した場合(S4:NO)、又は、ステップS6を実行した後、CAN通信部40aが受信したデータフレームに含まれるメインデータについて送信の中継が必要であるか否かを判定する(ステップS7)。記憶部44には、送信を中継する必要があるメインデータに対応する複数の識別データが記憶されている。
ステップS7において、制御部45は、CAN通信部40aが受信したデータフレームのIDフィールドに含まれている識別データが、記憶部44に記憶されている複数の識別データ中の1つと一致した場合、中継が必要であると判定する。制御部45は、CAN通信部40aが受信したデータフレームのIDフィールドに含まれている識別データが、記憶部44に記憶されている複数の識別データのいずれとも一致しなかった場合、中継が必要ではないと判定する。
制御部45は、中継が必要ではないと判定した場合(S7:NO)、第1中継データ記憶処理を終了する。その後、制御部45は、CAN通信部40aが受信したデータフレームに係る処理を実行することはなく、このデータフレームを無視する。
制御部45は、中継が必要であると判定した場合(S7:YES)、CAN通信部40aが受信したデータフレームのデータフィールドに含まれているメインデータを、中継データとして一時記憶部42に記憶する(ステップS8)。制御部45は、ステップS2,S8の一方を実行した後、ステップS2,S8中の実行したステップで記憶した中継データに対応付けて送信停止回数データを記憶する(ステップS9)。ステップS9が実行された時点では、中継装置30は、ステップS2又はステップS8で記憶された中継データの送信を開始していない。このため、ステップS9では、制御部45は、送信停止回数としてゼロを示す送信停止回数データを一時記憶部42に記憶する。
制御部45は、ステップS9を実行した後、第1中継データ記憶処理を終了する。
以上のように、制御部45は、第1通信バス12又は第1通信線13を介してデータフレームが受信されてない場合、第1中継データ記憶処理を繰り返し実行し、第1通信バス12又は第1通信線13を介してデータフレームが受信されるまで待機する。制御部45は、イーサネット通信部41aが第1通信線13を介してデータフレームを受信した場合、イーサネット通信部41aが受信したデータフレームに含まれているメインデータを中継データとして記憶する。制御部45は、更に、この中継データに対応する送信停止回数データを一時記憶部42に記憶する。
制御部45は、CAN通信部40aが第1通信バス12を介してデータフレームを受信した場合において、CAN通信部40aが受信したデータフレームに含まれているメインデータの送信を中継する必要があるとき、このメインデータを中継データとして一時記憶部42に記憶する。更に、制御部45は、この中継データに対応する送信停止回数データを記憶する。制御部45は、第1通信バス12を介した複数のデータフレームの同時送信を検知した場合、同時送信を検知した日時を示す第1衝突時刻データを記憶する。
制御部45は、第2中継データ記憶処理を周期的に実行する。第2中継データ記憶処理の内容は、第1中継データ記憶処理の内容と同様である。第1中継データ記憶処理の説明において、高機能ECU10、低機能ECU11、第1通信バス12、第1通信線13、CAN通信部40a、イーサネット通信部41a及び第1衝突時刻データ夫々を、高機能ECU20、低機能ECU21、第2通信バス22、第2通信線23、CAN通信部40b、イーサネット通信部41b及び第2衝突時刻データに置き換える。これにより、第2中継データ記憶処理を理解することができる。第2衝突時刻データは、第2通信バス22における衝突を検知した日時を示す。
制御部45は、第2通信バス22又は第2通信線23を介してデータフレームが受信されてない場合、第2中継データ記憶処理を繰り返し実行し、第2通信バス22又は第2通信線23を介してデータフレームが受信されるまで待機する。制御部45は、イーサネット通信部41bが第2通信線23を介してデータフレームを受信した場合、イーサネット通信部41bが受信したデータフレームに含まれているメインデータを中継データとして記憶する。制御部45は、更に、この中継データに対応する送信停止回数データを一時記憶部42に記憶する。
制御部45は、CAN通信部40bが第2通信バス22を介してデータフレームを受信した場合において、CAN通信部40bが受信したデータフレームに含まれているメインデータの送信を中継する必要があるとき、このメインデータを中継データとして一時記憶部42に記憶する。更に、制御部45は、この中継データに対応する送信停止回数データを記憶する。制御部45は、第2通信バス22を介した複数のデータフレームの同時送信を検知した場合、同時送信を検知した日時を示す第2衝突時刻データを記憶する。
図5及び図6は、第1中継データ送信処理の手順を示すフローチャートである。制御部45は、送信先の装置が2つの高機能ECU10及び3つの低機能ECU11中の1つである中継データが一時記憶部42に記憶されている場合に第1中継データ送信処理を実行する。CAN用のデータフレームに含まれていた中継データの送信先の装置は、このデータフレームのIDフィールドに含まれている識別データに基づいて決まる。イーサネット用のデータフレームに含まれていた中継データの送信先の装置は、このデータフレームに含まれている送信先データが示す装置である。
第1中継データ送信処理では、制御部45は、送信対象である中継データの送信先の装置が2つの高機能ECU10中の1つであるか否かを判定する(ステップS11)。制御部45は、送信先の装置が2つの高機能ECU10中の1つではないと判定した場合(S11:NO)、送信対象である中継データがメインデータとしてデータフィールドに含まれたCAN用のデータフレームを生成する(ステップS12)。
次に、制御部45は、ステップS12で生成したデータフレームの1つのビットデータの送信をCAN通信部40aに指示する(ステップS13)。これにより、CAN通信部40aは、第1通信バス12を介してビットデータを送信する。第1中継データ送信処理では、制御部45は、ステップS13を繰り返し実行し、CAN通信部40aは、ステップS12で生成したデータフレームを構成する複数のビットデータを順次送信する。
即ち、第1中継データ送信処理において、第1回目のステップS13では、制御部45は、CAN通信部40aに、データフレームの1番目のビットデータを送信させる。第2回目のステップS13では、制御部45はCAN通信部40aにデータフレームの2番目のビットデータを送信させる。このように、制御部45は、CAN通信部40aに、データフレームを構成する複数のビットデータを順次送信させる。図2に示すCAN用のデータフレームでは、左端のビットデータからビットデータが順次送信される。
前述したように、CAN通信部40aは、自身が送信したビットデータを受信する。また、データフレームのIDフィールドに含まれるビットデータを送信している間に衝突が検出される可能性がある。
制御部45は、ステップS13を実行した後、第1通信バス12において衝突が発生したか否かを判定する(ステップS14)。制御部45は、ステップS13で「0」(レセッシブ)を示すビットデータの送信を指示した場合において、CAN通信部40aが「1」(ドミナント)を示すビットデータを受信したとき、衝突が発生したと判定する。制御部45は、ステップS13で「1」を示すビットデータの送信を指示した場合、又は、ステップS13で送信を指示したビットデータと、CAN通信部40aが受信したビットデータとが「0」を示す場合、衝突は発生していないと判定する。
制御部45は、衝突が発生していないと判定した場合(S14:NO)、ステップS12で生成したデータフレームのIDフィールドに含まれるビットデータの送信が完了したか否かを判定する(ステップS15)。制御部45は、IDフィールドに含まれるビットデータの送信が完了していないと判定した場合(S15:NO)、ステップS13を実行し、CAN通信部40aに次のビットデータを送信させる。
制御部45は、IDフィールドに含まれるビットデータの送信が完了したと判定した場合(S15:YES)、ステップS13と同様に、ステップS12で生成したデータフレームの1つのビットデータの送信をCAN通信部40aに指示する(ステップS16)。これにより、CAN通信部40aは、第1通信バス12を介してビットデータを送信する。第1中継データ送信処理では、制御部45は、ステップS16を繰り返し実行する。IDフィールドに含まれるビットデータの送信は完了しているので、CAN通信部40aは、IDフィールドの次のフィールドに含まれるビットデータから、ビットデータを順次送信する。
制御部45は、ステップS16を実行した後、ステップS12で生成したデータフレームを構成する全てのビットデータの送信が完了したか否かを判定する(ステップS17)。制御部45は、全てのビットデータの送信が完了していないと判定した場合(S17:NO)、再びステップS16を実行し、CAN通信部40aに次のビットデータを送信させる。CAN通信部40aは、データフレームを構成する全てのビットデータの送信が完了するまで、ビットデータを順次送信する。
第1通信バス12を介した通信はCANのプロトコルに従っているので、IDフィールド以降のフィールドに含まれるビットデータの送信では、衝突が発生することはない。第1通信バス12を介した送信を行う装置の数は1つである。このため、ステップS16に係るビットデータの送信について、制御部45は衝突が発生したか否かを判定しない。
制御部45は、全てのビットデータの送信が完了したと判定した場合(S17:YES)、CAN通信部40aが送信した中継データ、及び、この中継データに対応する送信停止回数データを一時記憶部42から削除する(ステップS18)。制御部45は、ステップS18を実行した後、第1中継データ記憶処理を終了する。
衝突が発生したと判定した後においては、第1中継データ記憶処理が終了するまで、制御部45が、CAN通信部40aにビットデータの送信を指示することはなく、CAN通信部40aは、ステップS12で生成したデータフレームの送信を停止する。中継装置30とは異なる装置、即ち、2つの高機能ECU10及び3つの低機能ECU11中の少なくとも1つが第1通信バス12を介したデータフレームの送信を継続する。
制御部45は、衝突が発生したと判定した場合(S14:YES)、送信対象であった中継データに対応する送信停止回数データが示す送信停止回数を1だけインクリメントする(ステップS19)。次に、制御部45は、中継装置30とは異なる装置が第1通信バス12を介して送信しているデータフレームにおいて、衝突通知フィールド以前のビットデータの送信が完了したか否かを判定する(ステップS20)。
制御部45は、衝突通知フィールド以前のビットデータの送信が完了していないと判定した場合(S20:NO)、ステップS20を再び実行し、衝突通知フィールド以前のビットデータの送信が完了するまで待機する。
制御部45は、衝突通知フィールド以前のビットデータの送信が完了したと判定した場合(S20:YES)、「1」(ドミナント)を示すビットデータの送信をCAN通信部40aに指示する(ステップS21)。これにより、送信中のデータフレームの衝突通知フィールドに含まれるビットデータは「1」を示し、第1通信バス12に接続されている全ての装置に衝突の発生が通知される。
制御部45は、ステップS21を実行した後、第1中継データ送信処理を終了する。送信が停止された中継データは、送信停止回数が1だけインクリメントされた状態で一時記憶部42に記憶され続ける。次の第1中継データ送信処理において、この中継データの送信が再び開始される。
制御部45は、送信先の装置が2つの高機能ECU10中の1つであると判定した場合(S11:YES)、送信対象である中継データに対応する送信停止回数データが示す送信停止回数、即ち、送信対象である中継データの送信停止回数が第1閾値以上であるか否かを判定する(ステップS22)。第1閾値は、2以上の整数であり、予め設定されている。第1閾値は、第2の所定回数に相当する。
制御部45は、送信停止回数が第1閾値未満であると判定した場合(S22:NO)、基準時間内において衝突を検知した回数(以下、衝突検知回数)が第2閾値以上であるか否かを判定する(ステップS23)。基準時間は、一定であり、予め設定されている。第2閾値は、自然数であり、予め設定されている。第2閾値は所定回数に相当する。
図7は衝突検知回数の説明図である。図7では、時間軸において、衝突が検知された時点、具体的には、一時記憶部42に記憶されている第1衝突時刻データが示す時点(日時)が黒丸で示されている。衝突検知回数は、ステップS23の実行を開始した時点から基準時間遡った時点から、ステップS23の実行が開始された時点までに、衝突を検知した回数である。図7の例では、衝突検知回数は7である。
制御部45は、衝突検知回数が第2閾値未満である場合(S23:NO)、ステップS12を実行する。従って、送信先の装置が2つの高機能ECU10中の1つである場合において、送信停止回数が第1閾値未満であり、かつ、衝突検知回数が第2閾値未満であるとき、CAN通信部40aは、中継データについて、第1通信バス12を介した送信を開始する。CAN通信部40aは第1送信部として機能する。
制御部45は、送信停止回数が第1閾値以上であると判定した場合(S22:YES)、又は、衝突検知回数が第2閾値以上であると判定した場合(S23:YES)、送信対象である中継データをメインデータとして含むイーサネット用のデータフレームを生成する(ステップS24)。
次に、制御部45は、中継データの送信先である装置に基づいて、2つのイーサネット通信部41aの中から1つのイーサネット通信部41aを選択する(ステップS25)。次に、制御部45は、ステップS24で生成したデータフレームの送信を、ステップS25で選択したイーサネット通信部41aに指示する(ステップS26)。これにより、ステップS25で選択されたイーサネット通信部41aは、ステップS24で生成されたデータフレーム、即ち、CAN通信部40aが送信を停止したデータを含むデータフレームを、第1通信線13を介して高機能ECU10に送信する。送信停止回数が第1閾値以上であると制御部45が判定した場合にイーサネット通信部41aが送信するデータフレームには、CAN通信部40aが送信を停止したメインデータが含まれている。イーサネット通信部41aは第2送信部として機能する。
制御部45は、ステップS26を実行した後、イーサネット通信部41aが送信した中継データ、及び、この中継データに対応する送信停止回数データを一時記憶部42から削除する(ステップS27)。制御部45は、ステップS27を実行した後、第1中継データ送信処理を終了する。
以上のように、中継装置30では、送信先の装置が3つの低機能ECU11中の1つである中継データは、CAN通信部40aによって、第1通信バス12を介して送信される。送信先の装置が2つの高機能ECU10中の1つである中継データについて、送信停止回数が第1閾値未満であり、かつ、衝突検知回数が第2閾値未満である場合、CAN通信部40aが第1通信バス12を介して中継データを送信する。送信先の装置が2つの高機能ECU10中の1つである中継データについて、送信停止回数が第1閾値以上であるか、又は、衝突検知回数が第2閾値以上である場合、2つのイーサネット通信部41a中の1つが中継データを、第1通信線13を介して送信する。
送信先の装置が2つの高機能ECU10中の1つである中継データについて、基準時間内に第1通信バス12を介して同時送信が行われた回数、即ち、衝突検知回数が多い場合、第1通信バス12の通信負荷が大きいので、第1通信線13を介して中継データを送信する。このため、中継装置30で中継データが長期間停滞することはなく、中継データの送信に係る所要時間は短い。通信負荷は、第1通信バス12を介してデータフレームが送信されている送信時間が単位時間当たりに占める割合である。
衝突検知回数が第2閾値未満である場合、CAN通信部40aは第1通信バス12を介した中継データの送信を開始する。第1通信バスを介した中継データの送信では、衝突が発生したために送信を停止する可能性がある。共通の中継データについて、送信停止回数が第1閾値となった場合、2つのイーサネット通信部41a中の1つが第1通信線13を介して、CAN通信部40aが送信を停止した共通の中継データを送信する。このように、衝突が発生したために送信が停止した場合、中継データは第1通信線13を介して送信されるので、中継データの送信に係る所要時間は更に短い。また、送信停止回数が多い場合に中継データが第1通信線13を介して送信されるので、第1通信バス12を介してデータフレームが送信される頻度が適当な値に調整される。
制御部45は、送信先の装置が2つの高機能ECU20及び3つの低機能ECU21中の1つである中継データが一時記憶部42に記憶されている場合に第2中継データ送信処理を実行する。第2中継データ送信処理は、第1中継データ送信処理と同様である。第1中継データ送信処理の説明において、高機能ECU10、低機能ECU11、第1通信バス12、第1通信線13、CAN通信部40a、イーサネット通信部41a及び第1衝突時刻データ夫々を、高機能ECU20、低機能ECU21、第2通信バス22、第2通信線23、CAN通信部40b、イーサネット通信部41b及び第2衝突時刻データに置き換える。これにより、第2中継データ送信処理を理解することができる。CAN通信部40bも第1送信部として機能する。イーサネット通信部41bも第2送信部として機能する。
従って、中継装置30は、送信先の装置が2つの高機能ECU20及び3つの低機能ECU21中の1つである中継データの送信に関しても、送信先の装置が2つの高機能ECU10及び3つの低機能ECU11中の1つである中継データの送信に関して奏する効果と同様の効果を奏する。
中継装置30において、イーサネット通信部41aの数は、CAN通信部40aから第1通信バス12を介してデータフレームを受信する装置の数よりも少ない。また、イーサネット通信部41bの数は、CAN通信部40bから第2通信バス22を介してデータフレームを受信する装置の数よりも少ない。このため、高機能ECU10,20夫々の数は少ない。結果、中継装置30及び通信システムNの製造費用は安価である。
中継装置30では、CAN通信部40bは2つの高機能ECU20及び3つの低機能ECU21からデータフレームを受信する。イーサネット通信部41bは、自身に接続されている高機能ECU20からデータフレームを受信する。CAN通信部40b及びイーサネット通信部41bが受信したデータフレームに含まれるメインデータは一時記憶部42に記憶される。CAN通信部40a及びイーサネット通信部41aは、一時記憶部42に記憶されたメインデータを含むデータフレームを送信する。これにより、高機能ECU20及び低機能ECU21中の1つから高機能ECU10及び低機能ECU11中の1つへの送信が中継される。
同様に、CAN通信部40aは2つの高機能ECU10及び3つの低機能ECU11からデータフレームを受信する。イーサネット通信部41aは、自身に接続されている高機能ECU10からデータフレームを受信する。CAN通信部40a及びイーサネット通信部41aが受信したデータフレームに含まれるメインデータは一時記憶部42に記憶される。CAN通信部40b及びイーサネット通信部41bは、一時記憶部42に記憶されたメインデータを含むデータフレームを送信する。これにより、高機能ECU10及び低機能ECU11中の1つから高機能ECU20及び低機能ECU21中の1つへの送信が中継される。
CAN通信部40a,40b及びイーサネット通信部41a,41b夫々は受信部としても機能する。
高機能ECU10,20は、中継装置30と同様にメインデータを送信し、メインデータの送信に関して中継装置30が奏する効果と同様の効果を奏する。以下では、高機能ECU10の詳細な構成を説明する。
図8は高機能ECU10の要部構成を示すブロック図である。高機能ECU10は、CAN通信部50、イーサネット通信部51、一時記憶部52、時計部53、記憶部54及び制御部55を有する。これらは、高機能ECU10内において、内部バス56に接続されている。CAN通信部50は、更に、第1通信バス12に接続されている。イーサネット通信部51は、更に、第1通信線13に接続されている。
CAN通信部50及びイーサネット通信部51は、インタフェースであり、制御部55の指示に従って、データフレームを送信する。具体的には、これらは、データフレームを構成する複数のビットデータを順次送信する。CAN通信部50は、更に、制御部55の指示に従って、高機能ECU10とは異なる装置が第1通信バス12を介して送信しているデータフレームの衝突通知フィールドで「1」(ドミナント)を示すビットデータを送信する。
CAN通信部50は、第1通信バス12を介して送信された全てのデータフレームを受信する。イーサネット通信部51は、第1通信線13を介して中継装置30から送信されたデータフレームを受信する。制御部55は、CAN通信部50及びイーサネット通信部51が受信したデータフレームをこれらから取得する。
制御部55は、データを一時記憶部52に記憶する。一時記憶部52では、データが一時的に記憶される。一時記憶部52に記憶されているデータは、制御部55によって一時記憶部42から読み出される。制御部55は、電気機器に関する制御で用いる制御データと、第1通信バス12又は第1通信線13を介して送信する送信データとを一時記憶部42に記憶する。また、制御部55は、送信データに対応付けて、送信を停止した送信停止回数を示す送信停止回数データを一時記憶部52に記憶する。送信停止回数データが示す回数は、自身に対応する送信データについて、CAN通信部50が送信を停止した回数を示す。
制御部55は、更に、第1通信バス12において衝突が発生した日時を示す衝突時刻データを一時記憶部52に記憶する。一時記憶部52に記憶されているデータは、一時記憶部52への電力供給が停止した場合に消去される。
制御部55は、時計部53から日時を示す日時データを取得する。制御部55が取得した日時データは、この日時データを取得した時点の日時を示す。
記憶部54は不揮発性メモリである。記憶部54には、コンピュータプログラムP2が記憶されている。制御部55は、一又は複数のCPUを有する。制御部55が有する一又は複数のCPUは、コンピュータプログラムP2を実行することによって、制御データ記憶処理、制御処理、送信データ記憶処理及び送信データ送信処理を並行して実行する。
制御データ記憶処理は、CAN通信部50又はイーサネット通信部51が受信したデータフレームに含まれるメインデータを制御データとして一時記憶部52に記憶する処理である。制御処理は、一時記憶部52に記憶されている制御データに基づいて、電気機器に関する制御を行う処理である。送信データ記憶処理は、送信データを生成し、生成した送信データを記憶する処理である。送信データ送信処理は、送信データを送信する処理である。
コンピュータプログラムP2は、制御部55が有する一又は複数のCPUに、制御データ記憶処理、制御処理、送信データ記憶処理及び送信データ送信処理を実行させるために用いられる。
なお、コンピュータプログラムP2は、制御部55が有する一又は複数のCPUが読み取り可能に、記憶媒体A2に記憶されていてもよい。この場合、図示しない読み出し装置によって記憶媒体A2から読み出されたコンピュータプログラムP2が記憶部54に記憶される。記憶媒体A2は、光ディスク、フレキシブルディスク、磁気ディスク、磁気光ディスク又は半導体メモリ等である。また、図示しない通信網に接続されている図示しない外部装置からコンピュータプログラムP2をダウンロードし、ダウンロードしたコンピュータプログラムP2を記憶部54に記憶してもよい。
図9は、制御データ記憶処理の手順を示すフローチャートである。制御部55は制御データ記憶処理を周期的に実行する。制御データ記憶処理のステップS31~S36夫々は、第1中継データ記憶処理のステップS1~S6と同様である。このため、ステップS31~S36の詳細な説明を省略する。
ステップS1~S6の説明において、CAN通信部40a、イーサネット通信部41a、制御部45、中継データ及び第1衝突時刻データ夫々を、CAN通信部50、イーサネット通信部51、制御部55、制御データ及び衝突時刻データに置き換える。これにより、ステップS31~S36を理解することができる。制御部55も検知部として機能する。
ステップS32では、制御部55は、イーサネット通信部51が受信したデータフレームに含まれるメインデータを、制御データとして一時記憶部52に記憶する。制御部55は、ステップS32を実行した後、制御データ記憶処理を終了する。また、制御部55は、第1通信バス12を介してデータフレームを受信していないと判定した場合(S33:NO)、制御データ記憶処理を終了する。ステップS36では、制御部55は、ステップS35で取得した日時データを衝突時刻データとして一時記憶部52に記憶する。
制御部55は、第1通信バス12において衝突が発生していないと判定した場合(S34:NO)、又は、ステップS36を実行した後、CAN通信部50が受信したデータフレームに含まれるメインデータの送信先の装置が自装置であるか否かを判定する(ステップS37)。記憶部54には、送信先の装置が自装置であるメインデータに対応する複数の識別データが記憶されている。
ステップS37において、制御部55は、CAN通信部50が受信したデータフレームのIDフィールドに含まれている識別データが、記憶部54に記憶されている複数の識別データ中の1つと一致した場合、送信先の装置が自装置であると判定する。制御部55は、CAN通信部50が受信したデータフレームのIDフィールドに含まれている識別データが、記憶部54に記憶されている複数の識別データのいずれとも一致しなかった場合、送信先の装置が自装置ではないと判定する。
制御部55は、送信先の装置が自装置ではないと判定した場合(S37:NO)、制御データ記憶処理を終了する。その後、制御部55は、CAN通信部50が受信したデータフレームに係る処理を実行することはなく、このデータフレームを無視する。
制御部55は、送信先の装置が自装置であると判定した場合(S37:YES)、CAN通信部50が受信したデータフレームのデータフィールドに含まれているメインデータを、制御データとして一時記憶部52に記憶する(ステップS38)。制御部55は、ステップS38を実行した後、制御データ記憶処理を終了する。
以上のように、制御部55は、第1通信バス12又は第1通信線13を介してデータフレームが受信されてない場合、制御データ記憶処理を繰り返し実行し、第1通信バス12又は第1通信線13を介してデータフレームが受信されるまで待機する。制御部55は、イーサネット通信部51が第1通信線13を介してデータフレームを受信した場合、イーサネット通信部51が受信したデータフレームに含まれているメインデータを制御データとして記憶する。
制御部55は、CAN通信部50が第1通信バス12を介してデータフレームを受信した場合において、CAN通信部50が受信したデータフレームの送信先の装置が自装置であるとき、このデータフレームに含まれるメインデータを制御データとして一時記憶部52に記憶する。更に、制御部55は、第1通信バス12を介した複数のデータフレームの同時送信を検知した場合、同時送信を検知した日時を示す衝突時刻データを記憶する。
制御部55は、一時記憶部52に制御データが記憶されている場合、制御処理を実行する。制御処理では、制御部55は、一時記憶部52に記憶されている制御データに基づく処理を実行する。例えば、制御部55は、図示しない出力部に、特定の動作を指示するデータを電気機器に出力させ、電気機器に特定の動作を行わせる。その後、制御部55は、一時記憶部52から、実行した処理に係る制御データを削除し、制御処理を終了する。他の制御データが一時記憶部52に記憶されている場合、制御部55は再び制御処理を実行する。
図10は送信データ記憶処理の手順を示すフローチャートである。制御部55は、例えば、センサの検出結果を示すデータ又は特定の動作を指示するデータ等が図示しない入力部に入力された場合に送信データ記憶処理を実行する。送信データ記憶処理では、制御部55は、まず、送信データを生成し(ステップS41)、生成した送信データを一時記憶部52に記憶する(ステップS42)。
次に、制御部55は、ステップS42で記憶した送信データに対応付けて送信停止回数データを記憶する(ステップS43)。ステップS43が実行された時点では、高機能ECU10は、ステップS42で記憶された送信データの送信を開始していない。このため、ステップS43では、制御部55は、送信停止回数としてゼロを示す送信停止回数データを一時記憶部52に記憶する。
制御部55は、ステップS43を実行した後、送信データ記憶処理を終了する。
図11及び図12は、送信データ送信処理の手順を示すフローチャートである。制御部55は、送信先の装置が自装置とは異なる高機能ECU10、低機能ECU11及び中継装置30中の1つである送信データが一時記憶部42に記憶されている場合に送信データ送信処理を実行する。送信データの送信先の装置は、送信データの内容に応じて適宜決定される。送信先の装置が中継装置30である送信データは、具体的には、送信先の装置が第1通信バス12に接続されるいずれの装置とも異なる装置である送信データである。
送信データ送信処理のステップS52~S64夫々は、第1中継データ送信処理のステップS12~S24と同様である。このため、ステップS52~S64の詳細な説明を省略する。ステップS12~S24の説明において、CAN通信部40a、一時記憶部42、制御部45及び中継データ夫々を、CAN通信部50、一時記憶部52、制御部55及び送信データに置き換える。これにより、ステップS52~S64を理解することができる。CAN通信部50も第1送信部として機能する。
送信データ送信処理では、制御部55は、まず、送信対象である送信データの送信先の装置が、自装置とは異なる高機能ECU10又は中継装置30であるか否かを判定する(ステップS51)。制御部55は、送信先の装置が高機能ECU10又は中継装置30ではない、即ち、送信先の装置が3つの低機能ECU11中の1つであると判定した場合(S51:NO)、ステップS52を実行し、CAN通信部50が第1通信バス12を介して送信データを送信する。
衝突が発生してCAN通信部50が第1通信バス12を介した送信を停止した場合、自装置とは異なる高機能ECU10、3つの低機能ECU11及び中継装置30中の少なくとも1つが第1通信バス12を介した送信を継続する。CAN通信部50は、第1通信バス12を介して送信されているデータフレームの衝突通知フィールドにおいて、「1」(ドミナント)を示すビットデータを送信し、衝突を通知する。
制御部55は、送信先の装置が自装置とは異なる高機能ECU10又は中継装置30である場合(S51:YES)、ステップS62を実行する。制御部55は、送信停止回数が第1閾値以上であると判定した場合(S62:YES)、又は、衝突検知回数が第2閾値以上であると判定した場合(S63:YES)、ステップS64を実行する。ステップS64では、イーサネット用のデータフレームを生成する。
送信データ送信処理の衝突検知回数は、ステップS63の実行を開始した時点から基準時間遡った時点から、ステップS63の実行が開始された時点までに、衝突を検知した回数である。送信データ送信処理に係る第1閾値は、中継データ送信処理に係る第1閾値と同一であってもよいし、異なっていてもよい。同様に、送信データ送信処理に係る第2閾値は、中継データ送信処理に係る第2閾値と同一であってもよいし、異なっていてもよい。
制御部55は、ステップS64を実行した後、イーサネット通信部51にステップS64で生成したデータフレームの送信を指示する(ステップS65)。これにより、イーサネット通信部51は、ステップS64で生成したデータフレームを、第1通信線13を介して中継装置30に送信する。送信データの送信先の装置が自装置とは異なる高機能ECU10である場合、中継装置30を介して、この高機能ECU10に送信データが送信される。イーサネット通信部51も第2送信部として機能する。
制御部55は、ステップS65を実行した後、イーサネット通信部51が送信した送信データ、及び、この送信データに対応する送信停止回数データを一時記憶部52から削除する(ステップS66)。制御部55は、ステップS66を実行した後、送信データ送信処理を終了する。
以上のように、高機能ECU10では、送信先の装置が3つの低機能ECU11中の1つである送信データは、CAN通信部50によって、第1通信バス12を介して送信される。送信先の装置が、自装置と異なる高機能ECU10又は中継装置30である送信データについて、送信停止回数が第1閾値未満であり、かつ、衝突検知回数が第2閾値未満である場合、CAN通信部50は第1通信バス12を介して送信データを送信する。
送信先の装置が、自装置とは異なる高機能ECU10又は中継装置30である送信データについて、送信停止回数が第1閾値以上であるか、又は、衝突検知回数が第2閾値以上である場合、イーサネット通信部51がこの送信データを送信する。
送信データの送信に関して、高機能ECU10は、中継装置30が奏する効果と同様の効果を奏する。
高機能ECU20の構成は、高機能ECU10の構成と同様である。高機能ECU10の構成の説明において、第1通信バス12及び第1通信線13夫々を、第2通信バス22及び第2通信線23に置き換える。これにより、高機能ECU20の構成を理解することができる。高機能ECU20は、高機能ECU10が奏する効果を同様に奏する。
第1通信バス12のみを介して送信されるメインデータ、即ち、送信先又は送信元が低機能ECU11であるメインデータの送信に係る優先度は、第1通信バス12及び第1通信線13を介して送信することが可能なメインデータの送信に係る優先度よりも高いことが好ましい。この場合、メインデータの送信に係る所要時間が更に短い。同様に、第2通信バス22のみを介して送信されるメインデータ、即ち、送信先又は送信元が低機能ECU21であるメインデータの送信に係る優先度は、第2通信バス22及び第2通信線23を介して送信することが可能なメインデータの送信に係る優先度よりも高いことが好ましい。この場合も、メインデータの送信に係る所要時間が更に短い。
(実施形態2)
第1通信バス12又は第2通信バス22を介した複数のデータフレームの同時送信を通知する構成は、送信を停止した装置が、送信中のデータフレームの衝突通知フィールドにおいて、「1」(ドミナント)を示すビットデータを送信する構成に限定されない。
以下では、実施形態2について、実施形態1と異なる点を説明する。後述する構成を除く他の構成については、実施形態1と共通している。このため、実施形態1と共通する構成部には実施形態1と同一の参照符号を付してその説明を省略する。
図13は、実施形態2におけるCAN用のデータフレームの説明図である。実施形態2におけるCAN用のデータフレームでは、実施形態1と同様に、SOFフィールド、IDフィールド、データフィールド及びEOFフィールド等が設けられている。実施形態2におけるCAN用のデータフレームでは、衝突検知フィールドは設けられていない。従って、送信を停止した装置が、送信中のデータフレームの衝突通知フィールドにおいて、「1」(ドミナント)を示すビットデータを送信することによって、衝突を通知することはない。
図14は、第1中継データ記憶処理の手順を示すフローチャートである。実施形態2においても、中継装置30の制御部45は、第1中継データ記憶処理を周期的に実行する。実施形態2における第1中継データ記憶処理のステップS71~S73,S74,S75夫々は、実施形態1における第1中継データ記憶処理のステップS1~S3,S7,S8と同様である。このため、ステップS71~S75の詳細な説明を省略する。
制御部45は、第1通信バス12を介してデータフレームを受信したと判定した場合(S73:YES)、ステップS74を実行する。制御部45は、ステップS72,S75の一方を実行した後、第1中継データ記憶処理を終了する。
以上のように、制御部45は、第1通信バス12又は第1通信線13を介してデータフレームが受信されてない場合、第1中継データ記憶処理を繰り返し実行し、第1通信バス12又は第1通信線13を介してデータフレームが受信されるまで待機する。制御部45は、イーサネット通信部41aが第1通信線13を介してデータフレームを受信した場合、イーサネット通信部41aが受信したデータフレームに含まれているメインデータを中継データとして記憶する。
更に、制御部45は、CAN通信部40aが第1通信バス12を介してデータフレームを受信した場合において、CAN通信部40aが受信したデータフレームに含まれているメインデータの送信を中継する必要があるとき、このメインデータを中継データとして一時記憶部42に記憶する。
なお、実施形態2における第2中継データ記憶処理の内容は、第1中継データ記憶処理の内容と同様である。
図15及び図16は、第1中継データ送信処理の手順を示すフローチャートである。制御部45は、実施形態1と同様に、送信先の装置が2つの高機能ECU10及び3つの低機能ECU11中の1つである中継データが一時記憶部42に記憶されている場合に第1中継データ送信処理を実行する。実施形態2における第1中継データ送信処理のステップS81~S87,S91~S94夫々は、実施形態1における第1中継データ送信処理のステップS11~S17,S23~S26と同様である。このため、ステップS81~S87,S91~S94の詳細な説明を省略する。
制御部45は、ステップS84を実行することによって、第1通信バス12における衝突、即ち、第1通信バス12を介した複数のデータフレームの同時送信を検知する。具体的には、制御部45は、ステップS83で「0」(レセッシブ)を示すビットデータの送信を指示した場合において、CAN通信部40aが「1」(ドミナント)を示すビットデータを受信したとき、衝突を検知する。
制御部45は、全てのビットデータの送信が完了したと判定した場合(S87:YES)、CAN通信部40aが送信した中継データを一時記憶部42から削除する(ステップS88)。制御部45は、第1通信バス12において衝突が発生したと判定した場合、即ち、第1通信バス12を介した複数のデータフレームの同時送信を検知した場合(S84:YES)、時計部43から日時データを取得する(ステップS89)。次に、制御部45は、ステップS89で取得した日時データを第1衝突時刻データとして一時記憶部42に記憶する(ステップS90)。制御部45は、ステップS88,S90中の1つを実行した後、第1中継データ記憶処理を終了する。
制御部45は、送信先の装置が2つの高機能ECU10中の1つであると判定した場合(S81:YES)、ステップS91を実行する。実施形態2における第1中継データ送信処理の衝突検知回数は、ステップS91の実行を開始した時点から基準時間遡った時点から、ステップS91の実行が開始された時点までに、衝突を検知した回数である。制御部45は、ステップS94を実行した後、イーサネット通信部41aが送信した中継データを一時記憶部42から削除し(ステップS95)、第1中継データ送信処理を終了する。
以上のように、中継装置30では、制御部45は、第1通信バス12を介した複数のデータフレームの同時送信を検知した場合、同時送信を検知した日時を示す第1衝突時刻データを記憶する。送信先の装置が3つの低機能ECU11中の1つである中継データは、CAN通信部40aによって、第1通信バス12を介して送信される。送信先の装置が2つの高機能ECU10中の1つである中継データについて、衝突検知回数が第2閾値未満である場合、CAN通信部40aが第1通信バス12を介して中継データを送信する。送信先の装置が2つの高機能ECU10中の1つである中継データについて、衝突検知回数が第2閾値以上である場合、2つのイーサネット通信部41a中の1つが中継データを、第1通信線13を介して送信する。
送信先の装置が2つの高機能ECU10中の1つである中継データについて、基準時間内に第1通信バス12を介して同時送信が行われた回数、即ち、衝突検知回数が多い場合、第1通信バス12の通信負荷が大きいので、第1通信線13を介して中継データを送信する。このため、中継装置30で中継データが長期間停滞することはなく、中継データの送信に係る所要時間は短い。
実施形態2において、第2中継データ送信処理は、第1中継データ送信処理と同様である。第2中継データ送信処理では、取得した日時データを、第1衝突時刻データとしてではなく、第2衝突時刻データとして記憶する。中継装置30は、送信先の装置が2つの高機能ECU20及び3つの低機能ECU21中の1つである中継データの送信に関しても、送信先の装置が2つの高機能ECU10及び3つの低機能ECU11中の1つである中継データの送信に関して奏する効果と同様の効果を奏する。
図17は、制御データ記憶処理の手順を示すフローチャートである。高機能ECU10の制御部55は、実施形態1と同様に、制御データ記憶処理を周期的に実行する。実施形態2における制御データ記憶処理のステップS101~S103,S104,S105夫々は、実施形態1における制御データ記憶処理のステップS31~S33,S37,S38と同様である。このため、ステップS101~S105の詳細な説明を省略する。
制御部55は、第1通信バス12を介してデータフレームを受信したと判定した場合(S103:YES)、ステップS104を実行する。
以上のように、高機能ECU10では、制御部55は、第1通信バス12又は第1通信線13を介してデータフレームが受信されてない場合、制御データ記憶処理を繰り返し実行し、第1通信バス12又は第1通信線13を介してデータフレームが受信されるまで待機する。制御部55は、イーサネット通信部51が第1通信線13を介してデータフレームを受信した場合、イーサネット通信部51が受信したデータフレームに含まれているメインデータを制御データとして記憶する。制御部55は、CAN通信部50が第1通信バス12を介してデータフレームを受信した場合において、CAN通信部50が受信したデータフレームの送信先の装置が自装置であるとき、このデータフレームに含まれるメインデータを制御データとして一時記憶部52に記憶する。
図18は送信データ記憶処理の手順を示すフローチャートである。高機能ECU10の制御部55は、実施形態1と同様に、例えば、センサの検出結果を示すデータ又は特定の動作を指示するデータ等が図示しない入力部に入力された場合に送信データ記憶処理を実行する。実施形態2における送信データ記憶処理のステップS111,S112夫々は、実施形態1における送信データ記憶処理のステップS41,S42と同様である。このため、ステップS111,S112の詳細な説明を省略する。
実施形態2における送信データ記憶処理では、制御部55は、ステップS112を実行した後、送信データ記憶処理を終了する。
図19及び図20は、送信データ送信処理の手順を示すフローチャートである。制御部55は、実施形態1と同様に、送信先の装置が自装置とは異なる高機能ECU10、低機能ECU11及び中継装置30中の1つである送信データが一時記憶部42に記憶されている場合に送信データ送信処理を実行する。実施形態2におけるステップS121~S127,S131~S133夫々は、実施形態1におけるステップS51~S57,S63~S65と同様である。このため、ステップS121~S127,S131~S133の詳細な説明を省略する。
制御部55は、ステップS124を実行することによって、第1中継データ送信処理のステップS84と同様に、第1通信バス12における衝突、即ち、第1通信バス12を介した複数のデータフレームの同時送信を検知する。
制御部55は、全てのビットデータの送信が完了したと判定した場合(S127:YES)、CAN通信部50が送信した送信データを一時記憶部52から削除する(ステップS128)。制御部55は、第1通信バス12において衝突が発生したと判定した場合、即ち、第1通信バス12を介した複数のデータフレームの同時送信を検知した場合(S124:YES)、時計部53から日時データを取得する(ステップS129)。次に、制御部55は、ステップS129で取得した日時データを衝突時刻データとして一時記憶部52に記憶する(ステップS130)。制御部55は、ステップS128,S130中の1つを実行した後、送信データ送信処理を終了する。
制御部55は、送信先の装置が自装置とは異なる高機能ECU10又は中継装置30である場合(S121:YES)、ステップS131を実行する。実施形態2における送信データ送信処理の衝突検知回数は、ステップS131の実行を開始した時点から基準時間遡った時点から、ステップS131の実行が開始された時点までに、衝突を検知した回数である。制御部55は、ステップS133を実行した後、イーサネット通信部51が送信した送信データを一時記憶部52から削除し(ステップS134)、送信データ送信処理を終了する。
以上のように、高機能ECU10では、制御部55は、第1通信バス12を介した複数のデータフレームの同時送信を検知した場合、同時送信を検知した日時を示す衝突時刻データを記憶する。送信先の装置が3つの低機能ECU11中の1つである送信データは、CAN通信部50によって、第1通信バス12を介して送信される。送信先の装置が、自装置と異なる高機能ECU10又は中継装置30である送信データについて、衝突検知回数が第2閾値未満である場合、CAN通信部50は第1通信バス12を介して送信データを送信する。送信先の装置が、自装置とは異なる高機能ECU10又は中継装置30である送信データについて、衝突検知回数が第2閾値以上である場合、イーサネット通信部51がこの送信データを送信する。
送信データの送信に関して、高機能ECU10は、中継装置30が奏する効果と同様の効果を奏する。
高機能ECU20の構成は、高機能ECU10の構成と同様である。高機能ECU20は、高機能ECU10が奏する効果を同様に奏する。
なお、実施形態1,2において、第1通信バス12又は第2通信バス22を介した複数のデータフレームの同時送信を通知する構成は、送信を停止した場合に、衝突の発生を示すメインデータを含むデータフレームを、第1通信バス12又は第2通信バス22を介して送信する構成であってもよい。この場合、CAN用のデータフレームにおいて、衝突通知フィールドは不要である。
第1通信バス12及び第2通信バス22夫々に接続される高機能ECU10,20の数は、2に限定されず、1又は3以上であってもよい。また、第1通信バス12及び第2通信バス22夫々に接続される低機能ECU11,21の数は、3に限定されず、1、2又は4以上であってもよい。更に、第1通信バス12又は第2通信バス22に接続される複数の装置の中で、中継装置30を除く全ての装置は、高機能ECU10であってもよい。
第1通信バス12及び第2通信バス22を介した通信で用いられるプロトコルは、CANのプロトコルに限定されず、通信バスを介した通信で用いられるプロトコルであればよい。第1通信線13及び第2通信線23を介した通信で用いられるプロトコルは、イーサネットのプロトコルに限定されない。中継データ送信処理及び送信データ送信処理夫々に係る第1閾値は、2以上の整数に限定されず、1であってもよい。中継装置30に接続される通信バスの数は、2に限定されず、3以上であってもよい。
開示された実施形態1,2はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上述した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
10,20 高機能ECU(通信装置)
11,21 低機能ECU
12 第1通信バス
13 第1通信線
22 第2通信バス
23 第2通信線
30 中継装置(通信装置)
40a,40b CAN通信部(第1送信部、受信部)
41a,41b イーサネット通信部(第2送信部、受信部)
42,52 一時記憶部
43,53 時計部
44,54 記憶部
45,55 制御部(検知部)
46,56 内部バス
50 CAN通信部(第1送信部)
51 イーサネット通信部(第2送信部)
100 車両
A1,A2 記憶媒体
N 通信システム
P1,P2 コンピュータプログラム

Claims (8)

  1. 複数の装置に接続される通信バスを介した複数のデータの同時送信を検知する検知部と、
    所定時間内に前記同時送信を検知した回数が所定回数未満である場合に前記通信バスを介したデータの送信を開始する第1送信部と、
    前記所定時間内に前記同時送信を検知した回数が前記所定回数以上である場合に、前記通信バスとは異なる通信線を介して前記複数の装置中の1つにデータを送信する第2送信部と
    を備え
    前記通信バスを介して前記同時送信が開始された場合、同時に送信されている複数のデータ中の1つを除く他のデータの送信元の装置は、データの送信を停止し、
    前記複数の装置には、前記通信バスとは異なる通信線に未接続である未接続装置が含まれ、
    前記第1送信部が前記通信線を介した送信先への送信が可能なデータの送信を開始したことによって、前記通信バスを介して複数のデータが同時に送信された場合にて、同時に送信された複数のデータに、送信元が前記未接続装置であるか、又は、送信先が前記未接続装置であるデータが含まれるとき、前記第1送信部はデータの送信を停止する
    通信装置。
  2. 前記第2送信部は、前記第1送信部が前記通信バスを介したデータの送信を停止した場合、前記通信線を介して、前記第1送信部が送信を停止したデータを送信する
    請求項1に記載の通信装置。
  3. 前記第2送信部は、共通のデータについて、前記第1送信部が前記通信バスを介した送信を停止した回数が第2の所定回数以上となった場合、前記通信線を介して、前記第1送信部が送信を停止した共通のデータを送信し、
    前記第2の所定回数は2以上である
    請求項2に記載の通信装置。
  4. 前記通信バスを介した通信で用いられるプロトコルは、前記通信線を介した通信で用いられるプロトコルと異なる
    請求項1から請求項3のいずれか1つに記載の通信装置。
  5. 前記第2送信部の数は、前記第1送信部から前記通信バスを介してデータを受信する装置の数よりも少ない
    請求項1から請求項4のいずれか1つに記載の通信装置。
  6. 前記通信バスに接続される前記複数の装置とは異なる第2の装置からデータを受信する受信部を備え、
    前記第1送信部及び第2送信部は、前記受信部が受信したデータを送信する
    請求項1から請求項5のいずれか1つに記載の通信装置。
  7. 複数の装置に接続される通信バスを介した複数のデータの同時送信を検知するステップと、
    所定時間内に前記同時送信を検知した回数が所定回数未満である場合に前記通信バスを介してデータを送信するステップと、
    前記所定時間内に前記同時送信を検知した回数が前記所定回数以上である場合に、前記通信バスとは異なる通信線を介して前記複数の装置中の1つにデータを送信するステップと
    前記通信バスを介したデータの送信を停止するステップと
    を含み、
    前記通信バスを介して前記同時送信が開始された場合、同時に送信されている複数のデータ中の1つを除く他のデータの送信元の装置は、データの送信を停止し、
    前記複数の装置には、前記通信バスとは異なる通信線に未接続である未接続装置が含まれ、
    前記通信線を介した送信先への送信が可能なデータの前記通信バスを介した送信を開始したことによって、前記通信バスを介して複数のデータが同時に送信された場合にて、同時に送信された複数のデータに、送信元が前記未接続装置であるか、又は、送信先が前記未接続装置であるデータが含まれるとき、前記通信バスを介したデータの送信が停止される
    送信方法。
  8. コンピュータに、
    複数の装置に接続される通信バスを介した複数のデータの同時送信を検知するステップと、
    所定時間内に前記同時送信を検知した回数が所定回数未満である場合に前記通信バスを介したデータの送信を指示するステップと、
    前記所定時間内に前記同時送信を検知した回数が前記所定回数以上である場合に、前記通信バスとは異なる通信線を介した前記複数の装置中の1つへのデータの送信を指示するステップと
    前記通信バスを介したデータの送信を停止するステップと
    を実行させるために用いられ、
    前記通信バスを介して前記同時送信が開始された場合、同時に送信されている複数のデータ中の1つを除く他のデータの送信元の装置は、データの送信を停止し、
    前記複数の装置には、前記通信バスとは異なる通信線に未接続である未接続装置が含まれ、
    前記通信線を介した送信先への送信が可能なデータの前記通信バスを介した送信を開始したことによって、前記通信バスを介して複数のデータが同時に送信された場合にて、同時に送信された複数のデータに、送信元が前記未接続装置であるか、又は、送信先が前記未接続装置であるデータが含まれるとき、前記通信バスを介したデータの送信が停止される
    コンピュータプログラム。
JP2018164662A 2018-09-03 2018-09-03 通信装置、送信方法及びコンピュータプログラム Active JP7042417B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018164662A JP7042417B2 (ja) 2018-09-03 2018-09-03 通信装置、送信方法及びコンピュータプログラム
US17/273,056 US20210328931A1 (en) 2018-09-03 2019-08-21 Communication device, transmission method, and computer program
CN201980055579.2A CN112602293B (zh) 2018-09-03 2019-08-21 通信装置、发送方法及存储介质
PCT/JP2019/032579 WO2020050025A1 (ja) 2018-09-03 2019-08-21 通信装置、送信方法及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018164662A JP7042417B2 (ja) 2018-09-03 2018-09-03 通信装置、送信方法及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2020039034A JP2020039034A (ja) 2020-03-12
JP7042417B2 true JP7042417B2 (ja) 2022-03-28

Family

ID=69722584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018164662A Active JP7042417B2 (ja) 2018-09-03 2018-09-03 通信装置、送信方法及びコンピュータプログラム

Country Status (4)

Country Link
US (1) US20210328931A1 (ja)
JP (1) JP7042417B2 (ja)
CN (1) CN112602293B (ja)
WO (1) WO2020050025A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114762299B (zh) * 2020-01-09 2024-03-01 住友电气工业株式会社 检测装置、车载系统及检测方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000295255A (ja) 1999-04-01 2000-10-20 Mitsubishi Electric Corp 伝送路の冗長化方法及びその方法を用いたシステム
JP2008005290A (ja) 2006-06-23 2008-01-10 Auto Network Gijutsu Kenkyusho:Kk 中継接続ユニットおよび電子制御ユニット
JP2017005617A (ja) 2015-06-15 2017-01-05 株式会社デンソー 中継装置、電子装置および通信システム
JP2017188793A (ja) 2016-04-06 2017-10-12 カルソニックカンセイ株式会社 通信制御用コントローラ及び通信制御用システム

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3398461B2 (ja) * 1994-02-28 2003-04-21 富士通株式会社 ネットワーク環境で使用されるシステム及び該システムに実装される装置
JP2848335B2 (ja) * 1996-06-06 1999-01-20 日本電気株式会社 通信制御装置
JPH1056470A (ja) * 1996-08-07 1998-02-24 Oki Electric Ind Co Ltd ネットワーク通信制御装置
JP3896891B2 (ja) * 2002-04-25 2007-03-22 株式会社デンソー 車両通信システム
KR100679858B1 (ko) * 2004-11-25 2007-02-07 한국전자통신연구원 동적 우선순위에 기반한 메시지 전달 장치 및 그를 이용한우선순위 조정 장치와 동적 우선순위 메시지 처리 방법
JP2006333007A (ja) * 2005-05-25 2006-12-07 Nissan Motor Co Ltd 車両通信システム及びデータ通信方法
JP4973598B2 (ja) * 2008-05-27 2012-07-11 沖電気工業株式会社 ゲートウェイ装置
WO2011067809A1 (ja) * 2009-12-02 2011-06-09 トヨタ自動車株式会社 データ通信ネットワークシステム
US9843523B2 (en) * 2012-05-14 2017-12-12 Toyota Jidosha Kabushiki Kaisha Communication management apparatus and communication management method for vehicle network
JP6056424B2 (ja) * 2012-11-29 2017-01-11 株式会社デンソー 車載プログラム更新装置
JP6126980B2 (ja) * 2013-12-12 2017-05-10 日立オートモティブシステムズ株式会社 ネットワーク装置およびネットワークシステム
JP6206232B2 (ja) * 2014-02-13 2017-10-04 株式会社デンソー 車載制御装置
CN104503350B (zh) * 2014-12-26 2017-09-12 北京汽车股份有限公司 双冗余can总线的实现方法和控制器
CN104836687B (zh) * 2015-05-12 2018-10-23 重庆长安汽车股份有限公司 一种汽车通信网络拓扑结构
JP6787697B2 (ja) * 2015-08-31 2020-11-18 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ゲートウェイ装置、車載ネットワークシステム及び転送方法
JP6525825B2 (ja) * 2015-08-31 2019-06-05 国立大学法人名古屋大学 通信装置
US11063751B2 (en) * 2016-09-12 2021-07-13 Lg Electronics Inc. Communication system
JP6547719B2 (ja) * 2016-09-30 2019-07-24 トヨタ自動車株式会社 車載通信ネットワーク
CN108337228B (zh) * 2017-01-13 2020-11-10 株式会社自动网络技术研究所 车载装置、中继装置以及介质
EP3593500B1 (en) * 2017-03-08 2023-09-06 Robert Bosch GmbH Method to mitigate voltage based attacks on key agreement over controller area network (can)
CN107197007B (zh) * 2017-05-07 2020-05-08 北京航空航天大学 基于车载以太网的电动汽车分域式网状通信网络架构的通信方法
CN107426075B (zh) * 2017-09-05 2018-05-08 吉林大学 基于多路can总线和以太网通信的安全网关的通信方法
JP6620133B2 (ja) * 2017-09-28 2019-12-11 株式会社Subaru 車両用通信制御装置及び車両用通信制御システム
DE102018105007B4 (de) * 2018-03-05 2019-10-17 Volkswagen Aktiengesellschaft Verfahren zur Übertragung von Daten über einen Kommunikationskanal, entsprechend ausgelegte Vorrichtung und Kommunikationsschnittstelle sowie entsprechend ausgelegtes Computerprogramm
US11171807B2 (en) * 2018-10-30 2021-11-09 Hyundai Motor Company Method and apparatus for allocating priority transmission opportunities in vehicle network
JP7059899B2 (ja) * 2018-11-09 2022-04-26 トヨタ自動車株式会社 ネットワークシステム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000295255A (ja) 1999-04-01 2000-10-20 Mitsubishi Electric Corp 伝送路の冗長化方法及びその方法を用いたシステム
JP2008005290A (ja) 2006-06-23 2008-01-10 Auto Network Gijutsu Kenkyusho:Kk 中継接続ユニットおよび電子制御ユニット
JP2017005617A (ja) 2015-06-15 2017-01-05 株式会社デンソー 中継装置、電子装置および通信システム
JP2017188793A (ja) 2016-04-06 2017-10-12 カルソニックカンセイ株式会社 通信制御用コントローラ及び通信制御用システム

Also Published As

Publication number Publication date
WO2020050025A1 (ja) 2020-03-12
JP2020039034A (ja) 2020-03-12
US20210328931A1 (en) 2021-10-21
CN112602293B (zh) 2022-06-17
CN112602293A (zh) 2021-04-02

Similar Documents

Publication Publication Date Title
EP2863588B1 (en) Controller Area Network Communications Using Ethernet
US9298529B2 (en) Indicating internal transmitter errors in a controller area network (CAN)
US9425992B2 (en) Multi-frame and frame streaming in a controller area network (CAN) with flexible data-rate (FD)
KR102286050B1 (ko) 차량 네트워크에서 진단 오류 방지를 위한 방법 및 장치
JP2020195035A (ja) 通信システム、および通信制御方法
JP7042417B2 (ja) 通信装置、送信方法及びコンピュータプログラム
JP5976157B2 (ja) コントローラエリアネットワーク(can)デバイス及びcan交通制御方法
JP6391373B2 (ja) マスター・スレーブネットワーク装置
JP2011035834A (ja) 通信システム、通信装置及び通信方法
WO2020050021A1 (ja) 中継装置、中継方法及びコンピュータプログラム
CN108632242B (zh) 通信装置及接收装置
US11342960B2 (en) Relay device, relay method, and computer program
US11106619B2 (en) Transmission of synchronous data via a serial data bus, in particular a SPI bus
JP5660718B2 (ja) 車載ネットワーク機器
CN113169908B (zh) 线路监视装置和网络交换机
US20240195788A1 (en) Key indication protocol
JP2018207394A (ja) 通信装置、及び通信方法
JP2018086950A (ja) 通信システム
US20210119824A1 (en) Communication system, receiving device, transmission interval change method, and computer program
JP6471613B2 (ja) 中継装置及び通信システム
CN116979985A (zh) Can模块、can收发器、can系统和用于can模块的方法
WO2018135305A1 (ja) 通信装置、通信システム及びコンピュータプログラム
CN116647422A (zh) 控制器局域网收发器和用于所述收发器的方法
JP2021064855A (ja) 電子制御装置
JP5949538B2 (ja) 中継装置、及び通信システム並びに通信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210330

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220112

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220221

R150 Certificate of patent or registration of utility model

Ref document number: 7042417

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150