(57)【要約】【課題】シリアル通信において誤ったデータが送受信されるおそれがあることを検出するための技術を提供する。【解決手段】ＥＣＵは、送受信部３１と、判断部３２と、を備える。送受信部は、所定の２つの論理値のうちの一方で表される開始符号、及び開始符号とは反対の論理値で表される終了符号、を含むシリアルデータである通信データ、を通信線を介して送信するとともに、通信データを通信線を介して受信する。判断部は、通信線において通信データが送受信されていない期間を表す無通信期間に、通信線に開始符号の論理値に対応する電気信号である開始信号が生じたか否か、を判断する。【選択図】図４
2018201148.tif 000002
【特許請求の範囲】
【請求項１】
一又は複数の他の通信装置と通信線を介して接続され、前記一又は複数の他の通信装置との間で通信を行う通信装置（１０）であって、
所定の２つの論理値のうちの一方で表される開始符号、及び前記開始符号とは反対の論理値で表される終了符号、を含む通信データ、を前記他の通信装置に前記通信線を介して送信するとともに、前記通信データを前記通信線を介して受信する送受信部（３１）と、
前記通信線において前記通信データが送受信されていない期間を表す無通信期間に、前記通信線に前記開始符号の論理値に対応する電気信号である開始信号が生じたか否か、を判断する判断部（３２）と、
を備える通信装置。
【請求項２】
請求項１に記載の通信装置であって、
前記判断部による判断結果をメモリに記憶する判断結果記憶部（Ｓ３１０、Ｓ３５０）と、
前記判断結果を前記メモリから取得し、前記判断結果が前記無通信期間に前記開始信号が生じていないことを表す場合に、前記送受信部に、前記通信線を介して送信するデータを表す送信用データを含む前記通信データである送信フレームを送信させ、且つ、前記判断結果が前記無通信期間に前記開始信号が生じたことを表す場合に、前記送受信部に、前記送信フレームを送信させない送信制御部（３３）と、
を更に備える通信装置。
【請求項３】
請求項１または請求項２に記載の通信装置であって、
前記判断部は、前記無通信期間において前記通信線に前記開始信号が現れた期間の長さが１／２ビット時間以上である場合に、前記無通信期間に前記開始信号が生じた、と判断する
通信装置。
【請求項４】
請求項１から請求項３のいずれか一項に記載の通信装置であって、
前記送受信部によって前記通信線を介して受信されたデータにおいて、前記開始符号を検出し、前記開始符号から所定のビット数後に前記終了符号が検出されたか否かを判断する終了符号検出部（３１、Ｓ１２０）
を更に備え、
前記判断部は、前記終了符号が検出されたと判断された場合、前記無通信期間に前記開始信号が生じていない、と判断する
通信装置。
【請求項５】
請求項１から請求項４のいずれか一項に記載の通信装置であって、
前記送受信部によって前記送信フレームが前記通信線に送信される際に、前記通信線を介して受信する前記通信データに含まれる受信データと前記送信用データとが一致するか否かを判断する一致検出部（３１、Ｓ２２０）
を更に備え、
前記判断部は、前記送信用データと前記受信データとが一致していないと判断された場合に、前記無通信期間に前記開始信号が生じていない、と判断する
通信装置。
【請求項６】
請求項１から請求項５のいずれか一項に記載の通信装置であって、
前記送受信部は、ＵＡＲＴインタフェースに基づいて、前記通信データを送信するとともに、前記通信データを受信する
通信装置。
【請求項７】
請求項２から請求項６のいずれか一項に記載の通信装置であって、
前記送受信部は、ＬＩＮインタフェースに基づいて、前記通信データを送信するとともに、前記通信データを受信する
通信装置。
【請求項８】
請求項７に記載の通信装置であって、
前記送信制御部は、レスポンスを前記通信データとして送信する際に前記判断結果を取得し、前記判断結果が前記無通信期間に前記開始信号が生じていないことを表す場合に、前記送受信部に、前記レスポンスを送信させ、且つ、前記判断結果が前記無通信期間に前記開始信号が生じたことを表す場合に、前記送受信部に、前記レスポンスを送信させない、
通信装置。
【請求項９】
請求項７に記載の通信装置であって、
前記送信制御部は、レスポンスを前記通信データとして送信する際に前記判断結果を取得し、前記判断結果が前記無通信期間に前記開始信号が生じていないことを表す場合に、前記送受信部に、前記レスポンスを送信させ、且つ、前記判断結果が前記無通信期間に前記開始信号が生じたことを表す場合に、前記送受信部に、予め定められた信号であって前記他のＥＣＵに前記レスポンスが誤って送受信されおそれがあることを検出させるための破壊信号、を送信させる、
通信装置。
【請求項１０】
請求項１から請求項９に記載の通信装置であって、
前記判断部によって前記無通信期間において前記開始信号が生じたと判断された場合に、前記通信データが誤って送受信されるおそれがあると判定する判定部（Ｓ４６０）、
を更に備える通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、通信装置に関する。
【背景技術】
【０００２】
特許文献１には、ＵＡＲＴインタフェースを備える通信装置間でシリアル通信を行う技術が提案されている。ＵＡＲＴとは、Universal Asynchronous Receiver Transmitterの略である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−９１７４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載のＵＡＲＴインタフェースを用いたシリアル通信では、通信が行われない状態（以下、無通信状態）では、通信線の信号レベルはハイレベル（以下、Ｈレベル）である。通信開始時には、送信側は、まずスタートビットを送信する。スタートビットは、例えば１ビットのローレベル（以下、Ｌレベル）の信号であり、受信側に送信開始を知らせるためのものである。受信側は、これにより、受信を開始する。送信側は、続いて、所定のデータ長のデータを順に送信する。送信側は、データの送信が終了すると、ストップビットを送信する。ストップビットは、例えば１ビットのＨレベルの信号であり、受信側に送信終了を知らせるためのものである。これにより、データの送信が完了する。
【０００５】
ところで、上述の無通信状態において通信線にノイズ等に起因してＬレベルの信号が発生していると、該Ｌレベルの信号が開始信号として誤って認識され、誤ったデータが受信されるおそれがある。しかしながら、このような誤ったデータが送受信されるおそれがあることを検出するための技術は、従来無かった。
【０００６】
本開示の１つの局面は、シリアル通信において誤ったデータが送受信されるおそれがあることを検出するための技術を提供する。
【課題を解決するための手段】
【０００７】
本開示の１つの局面は、一または複数の他の通信装置と通信線を介して接続され、一又は複数の他の通信装置との間で通信を行う通信装置（１０）である。通信装置は、送受信部（３１）と、判断部（３２）と、を備える。送受信部は、所定の２つの論理値のうちの一方で表される開始符号、及び開始符号とは反対の論理値で表される終了符号、を含むシリアルデータである通信データ、を通信線を介して送信するとともに、通信データを通信線を介して受信する。判断部は、通信線において通信データが送受信されていない期間を表す無通信期間に、通信線に開始符号の論理値に対応する電気信号である開始信号が生じたか否か、を判断する。
【０００８】
このような構成によれば、無通信期間において、ノイズ等といった開始符号では無いものに起因して通信線に開始信号が生じた場合にも、開始信号が生じたと判断される。その結果、該判断結果を利用して、例えば、無通信期間に開始信号が生じたことを、シリアル通信において誤ったデータが送受信されるおそれがあることとして、検出することができる。
【０００９】
なお、この欄及び特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本開示の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００１０】
【図１】通信システムの構成を示す図。
【図２】通信線における電気信号と論理値との対応を説明する説明図。
【図３】通信データとしての、ＵＡＲＴフレームを説明する説明図。
【図４】ＥＣＵが実行する機能を表す機能ブロック図。
【図５】受信時処理を示すフローチャート。
【図６】送信時処理を示すフローチャート。
【図７】検出処理を示すフローチャート。
【図８】送信制御処理を示すフローチャート。
【図９】ＵＡＲＴフレームの送受信において、送信異常が検出されない例を説明する説明図。
【図１０】第１実施形態の作動を説明する説明図。
【図１１】ＬＩＮフレームを説明する説明図。
【図１２】第２実施形態の作動を説明する説明図。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら、本開示の実施形態を説明する。
［１．第１実施形態］
［１−１．構成］
図１に示す通信システム１は、例えば乗用車等の車両に搭載されている。通信システム１は、図１に示すように、電子制御装置（以下、ＥＣＵ）１０を備える。ＥＣＵは、Electronic Control Unitの略である。通信システム１は、複数の他のＥＣＵ２０を備えていてもよい。図１では、通信システム１が、３つの他のＥＣＵ２０を備える様子が示されている。ＥＣＵ１０及び他のＥＣＵ２０は、それぞれに割り当てられた種々の機能を実現するための各種処理を実行する。
【００１２】
通信システム１では、ＥＣＵ１０と他のＥＣＵ２０のそれぞれとは、通信線５を介して、所定の通信手順に従って、シリアル通信可能に接続されている。本実施形態では、ＵＡＲＴに従って、シリアル通信が行われる。
【００１３】
ＥＣＵ１０は、トランシーバ１１と通信コントローラ１２マイクロコンピュータ（以下、マイコン）１２とを備える。なお、図示しないが、他のＥＣＵ２０は、ＥＣＵ１０と同様に、トランシーバと通信コントローラとを備えるように構成され得る。
【００１４】
トランシーバ１１は、通信相手となる他のＥＣＵ２０が備えるトランシーバとの間で、ＵＡＲＴで規定された通信線５の電気的条件を満たす電気信号を送受信するように構成された公知のものである。トランシーバ１１は、通信コントローラ１２から入力されるデジタルデータを電気信号に変換して通信線５へ送信するとともに、通信線５から受信した電気信号をデジタルデータに変換して通信コントローラ１２へ出力する。
【００１５】
デジタルデータ（以下、データ）は、論理値０及び論理値１といった所定の２つの論理値で表される。通信線５上では、図２に示すように、論理値０に対応する電気信号はＬレベルであり、論理値１に対応する電気信号はＨレベルである。また、通信線５に接続されているＥＣＵ１０及び他のＥＣＵ２０のいずれもが通信線５を介して送受信を行っていない場合、通信線５上では、その信号レベルはＨレベルである。
【００１６】
ここでは、ＵＡＲＴに従った通信に使用されるデータである通信データは、図３に示すように、スタートビットと、ユーザデータと、ストップビットとを含むシリアルデータである。ここでいうＵＡＲＴに従った通信データは、ＵＡＲＴフレームに相当する。スタートビットは、通信データの開始を示す。スタートビットは、論理値０で表される。ユーザデータは、通信線５を介して送受信される所定長のデータである。ＵＡＲＴでは、ユーザデータは８ビットである。ストップビットは、通信データの終了を示す。ストップビットは、スタートビットとは反対の論理値である論理値１で表される。
【００１７】
以下でいう開始信号とは、スタートビットの論理値に対応する電気信号をいうものとする。スタートビットは論理値０で表されることから、開始信号はＬレベルの電気信号である。少なくとも通信データの送信が開始されるときは、通信線５上には、開始信号が現れる。つまり、Ｌレベルの電気信号が現れる。
【００１８】
図１に戻り説明を続ける。通信コントローラ１２は、ＣＰＵ２１と、ＲＡＭ、ＲＯＭ、フラッシュメモリ等の半導体メモリ（以下、メモリ２２）と、を有するマイコンを備える。
【００１９】
ＥＣＵ１０の各種機能は、ＣＰＵ２１がメモリ２２に格納されたプログラムを実行することにより実現される。また、このプログラムが実行されることで、プログラムに対応する方法が実行される。ＥＣＵ１０は、ＣＰＵ２１がプログラムを実行することで実現される機能の構成として、図４に示すように、通信部３１と、検出部３２と、制御部３３と、を備える。
【００２０】
ＥＣＵ１０を構成するこれらの要素を実現する手法はソフトウェアに限るものではなく、その一部又は全部の要素について、一つあるいは複数のハードウェアを用いて実現してもよい。例えば、上記機能がハードウェアである電子回路によって実現される場合、その電子回路は多数の論理回路を含むデジタル回路、又はアナログ回路、あるいはこれらの組合せによって実現してもよい。
【００２１】
通信部３１は、制御部３３から送信実行指示を受けると、ＵＡＲＴに従って、通信データを生成する処理を行う。具体的には、通信部３１は、制御部３３から入力された送信用データを上述のユーザデータとして用い、送信用データにスタートビット及びストップビットを付与した通信データを生成する。そして、通信部３１は、生成した通信データをトランシーバ１１へ出力する。通信部３１は、トランシーバ１１に、デジタルデータである通信データを電気信号に変換させ、通信線５を介して、他のＥＣＵ２０へ送信させる。
【００２２】
通信部３１は、トランシーバ１１から、トランシーバ１１が通信線５に現れた電気信号をデジタルデータに変換した、デジタル変換データが入力される。通信部３１は、デジタル変換データの中からスタートビットを検出して、通信データの開始を特定する処理を行う。
【００２３】
通信部３１は、デジタル変換データにおいて、スタートビットからストップビットまでを通信データとして特定する処理を行う。また、通信部３１は、特定された通信データからスタートビット及びストップビットを除いて得られるユーザデータを、他のＥＣＵ２０から受信した受信データとして通信コントローラ１２へ出力する処理を行う。このようにして、通信部３１は、他のＥＣＵ２０からの通信データを通信線５を介して受信している。
【００２４】
通信部３１は、トランシーバ１１に通信データを通信線５へ送信させる際、送信中の通信データに含まれる送信用データと、トランシーバ１１が通信線５を介して受信した通信データに含まれる受信データとを比較する処理を行う。通信部３１は、送信用データと受信データとが一致していなければ、送信異常が生じたと判断する。ここでいう送信異常とは、送信用データと受信データとが一致していないことをいう。
【００２５】
通信部３１は、１バイト単位で、送信用データと受信データとが一致しているか否か、を判断する。ここでいう送信異常は、ＵＡＲＴにおける、所謂ビットエラーに相当する。通信部３１、後述する受信時処理、送信時処理、を行う。
【００２６】
検出部３２は、トランシーバ１１から、デジタル変換データが分岐して入力されている。検出部３２は、後述する検出処理を行う。
制御部３３は、ＥＣＵ１０における作動を統括して制御するものである。制御部３３は、通信部３１から入力される受信データに基づいて、ＥＣＵ１０に割り当てられた所定の機能を実現するため、各種の処理を実行するように構成され得る。制御部３３は、後述する送信制御処理を行う。
【００２７】
［１−２．処理］
［１−２−１．受信時処理］
次に、通信部３１が実行する受信時処理について、図５のフローチャートを用いて説明する。受信時処理は、デジタル変換データにおいて、通信データの開始が特定される毎に起動される。受信時処理は、トランシーバ１１から入力されたデジタル変換データにおいてスタートビットが検出された後にストップビットが検出されると、リセットフラグをセットする処理である。ここでいうリセットフラグは、通信データにおいてストップビットが検出されたか否かを表す情報である。なお、リセットフラグは、メモリ２２に記憶されており、デジタル変換データにおいて通信データの開始が特定される毎にリセットされる。
【００２８】
通信部３１は、Ｓ１１０では、デジタル変換データを取得する。
通信部３１は、Ｓ１２０では、デジタル変換データにおいて、スタートビットから所定のビット数の後に、ストップビットが検出されたか否か、を判断する。ここでいう所定のビット数は、ユーザデータに相当するビット数であり、ＵＡＲＴに従う本実施形態では、８ビットである。通信部３１は、ストップビットが検出されたと判断された場合に処理をＳ１３０へ移行させ、ストップビットが検出されなかったと判断された場合に本受信時処理を終了する。
【００２９】
通信部３１は、Ｓ１３０では、リセットフラグをセットし、本受信時処理を終了する。
［１−２−２．送信時処理］
次に、通信部３１が実行する送信時処理について、図６のフローチャートを用いて説明する。送信時処理は、制御部３３から送信実行指示を受ける毎に起動される。送信時処理は、トランシーバ１１に送信用データを通信線５へ送信させる際、上述の送信異常が生じた場合にリセットフラグをセットする処理である。つまり、上述のリセットフラグは、送信異常が生じたか否かを表す情報でもある。
【００３０】
通信部３１は、Ｓ２１０では、送信用データをトランシーバ１１へ出力する。これにより、送信用データをユーザデータとして含む通信データが、トランシーバ１１によって電気信号に変換されて、通信線５を介して他のＥＣＵ２０へ送信される。
【００３１】
通信部３１は、Ｓ２２０では、送信異常が生じたか否かを判断する。通信部３１は、送信異常が生じたと判断された場合に処理をＳ２３０へ移行させ、送信異常が生じたと判断されなかった場合に、本送信時処理を終了する。
【００３２】
通信部３１は、Ｓ２３０では、リセットフラグをセットし、本送信時処理を終了する。
［１−２−３．検出処理］
次に、検出部３２が実行する検出処理について、図７のフローチャートを用いて説明する。検出処理は無通信期間において開始信号が生じたか否か、を判断する処理である。以下でいう検出フラグとは、無通信期間において開始信号が生じたか否かの判断結果を表す。検出フラグはメモリ２２に記憶される。ここでいう無通信とは、通信線５において通信データが送受信されていないことを表す。無通信期間とは、通信線５において通信データが送受信されていない期間を表す。検出処理は、ＥＣＵ１０への電力供給が開始された以降、繰り返し実行される。
【００３３】
検出部３２は、Ｓ３１０では、デジタル変換データを取得する。
検出部３２は、Ｓ３２０では、開始信号が生じたか否かを判断する。ここでは、通信線５に、１ビット分の期間Ｌレベルを表す電気信号が現れた場合に、開始信号が生じたと判断する。つまり、検出部３２は、デジタル変換データにおいて、論理値０が１ビット分の期間検出された場合に、開始信号が生じたと判断する。検出部３２は、開始信号が検出された場合に処理をＳ３３０へ移行させ、開始信号が検出されなかった場合に処理をＳ３１０へ移行させる。
【００３４】
検出部３２は、Ｓ３３０では、検出フラグをセットする。
検出部３２は、Ｓ３４０では、リセットフラグがセットされているか否かを判断する。ここで、検出部３２は、リセットフラグがセットされている場合に、処理をＳ３５０へ移行させる。一方、検出部３２は、リセットフラグがセットされていない場合に、処理をＳ３３０へ移行させ、リセットフラグがセットされるまで待機する。
【００３５】
検出部３２は、Ｓ３５０では、検出フラグをリセットし、処理をＳ３１０へ移行させ、Ｓ３１０移行の処理を繰り返す。
このように、検出フラグは、開始信号が検出されるとセットされ、且つ、リセットフラグがセットされるとリセットされる。上述のように、リセットフラグは、スタートビットが検出されてから所定のビット数の後にストップビットが検出された場合、及び送信異常が生じたと判断された場合にセットされる。
【００３６】
検出フラグは、ストップビットが検出されて通信データの送信が終了するとリセットされ、開始信号が検出されるとセットされるフラグである。つまり、検出フラグは、無通信期間において開始信号が生じたか否か、の判断結果を表す。検出フラグは、セットされている場合に、無通信期間において開始信号が生じたことを表し、リセットされている場合に無通信期間において開始信号が生じていないことを表す。
【００３７】
なお、送信異常が生じた場合は、ストップビットが検出されず、リセットフラグがセットされない状態が生じ得る。つまり、検出フラグがリセットされない状態が生じ得る。そこで、上述の送信時処理では、送信異常が生じた場合に検出フラグがリセットされない状態となることを抑制するために、送信異常が生じた場合にリセットフラグがセットされるようになっている。
【００３８】
［１−２−４．送信制御処理］
次に、制御部３３が実行する送信制御処理について、図８のフローチャートを用いて説明する。
【００３９】
ここで、図９に示すように、ＵＡＲＴの通信において、仮に、送信ノードとしてのＥＣＵ１０によって、通信データすなわちＵＡＲＴフレームが送信されてから次のＵＡＲＴフレームが送信される前に、通信線５において例えばノイズ等によって開始信号が生じたとする。つまり、無通信期間にスタートビット以外の要因によって開始信号が生じたとする。
【００４０】
このような場合、受信ノードとしての他のＥＣＵ２０では、該開始信号をスタートビットに相当する電気信号であると誤って認識し、該開始信号をスタートビットとして、誤ったユーザデータを受信するおそれがある。また、このような場合、送信ノードとしてのＥＣＵ１０では、上述の送信異常は検出されない。送信異常が検出されるのはＵＡＲＴフレームの送信が開始された以降であるから、である。
【００４１】
つまり、このような場合、他のＥＣＵ２０において誤ったユーザデータが受信されるにもかかわらず、ＥＣＵ１０及び他のＥＣＵ２０のいずれにおいても、誤ったユーザデータが送受信されるおそれがあること、が検出されないことになる。
【００４２】
そこで、本実施形態では、ＥＣＵ１０は、制御部３３によって送信制御処理を実行することによって、誤ったユーザデータが送受信されるおそれがあること、を検出する。
送信制御処理は、送信要求が生じたことをきっかけとして開始される。送信要求とは、送信用データを含む通信データを通信線５を介して他のＥＣＵ２０へ送信させる要求を表す。送信要求は、予め定められたスケジュールや他のＥＣＵ２０からの要求等に従って生じ得る。なお、以下でいう送信フレームとは、送信用データをユーザデータとして含む通信データ、をいう。送信用データは、通信線５を介して送信すべきデータを表す。
【００４３】
制御部３３は、Ｓ４１０では、送信要求を取得する。
制御部３３は、Ｓ４２０では、送信要求に従って、送信用データを生成する。
制御部３３は、Ｓ４３０では、検出フラグを取得する。
【００４４】
制御部３３は、Ｓ４３０では、無通信期間に開始信号が生じたか否かを判断する。具体的には、制御部３３は、検出フラグがセットされている場合に、無通信期間に開始信号が生じたと判断する。制御部３３は、無通信期間に開始信号が生じていない場合に処理をＳ４５０へ移行させ、無通信期間に開始信号が生じていた場合に処理をＳ４６０へ移行させる。
【００４５】
制御部３３は、Ｓ４５０では、送信用データを通信部３１へ出力する。そして、本送信制御処理を終了する。これにより、通信部３１によって送信用データを含む通信データが生成される。そして、該通信データが、トランシーバ１１によって電気信号に変換されて、通信線５を介して他のＥＣＵ２０へ送信される。
【００４６】
制御部３３は、Ｓ４６０では、ユーザデータが誤って送受信されるおそれがあると判定する。判定結果はメモリ２２に記憶される。
制御部３３は、Ｓ４７０では、送信用データの通信部３１への出力を中止する。つまり、制御部３３は、送信用データを通信部３１へ出力しない。そして、制御部３３は、本送信制御処理を終了する。
【００４７】
［１−２−５．作動］
このように構成されたＥＣＵ１０は、図１０に示すように、送信ノードとして作動する際、送信準備が完了し通信データを送信する前に通信線５に開始信号が生じていた場合には、通信データを送信せず、ユーザデータが誤って送受信されるおそれがあると判定する。上述のように、検出フラグは、無通信期間にスタートビット以外の要因によって開始信号が生じたときにセットされている。つまり、例えばノイズ等といったスタートビット以外の要因によって無通信期間に開始信号が生じていたことが検出された場合には、通信データが送信されず、ユーザデータが誤って送受信されるおそれがあると判定される。
【００４８】
［１−３．効果］
以上詳述した第１実施形態によれば、以下の効果を奏する。
（１ａ）ＥＣＵ１０は、複数の他のＥＣＵ２０と通信線５を介して接続され、複数の他のＥＣＵ２０との間で通信を行う通信装置である。ＥＣＵ１０は、通信部３１と検出部３２とを備える。通信部３１は、所定の２つの論理値のうちの一方で表されるスタートビット、及びスタートビットとは反対の論理値で表されるストップビット、を含む通信データ、を他のＥＣＵ２０に通信線５を介して送信するとともに、他のＥＣＵ２０からの通信データを通信線５を介して受信する。検出部３２は、無通信期間に開始信号が生じたか否か、を判断する。
【００４９】
これによれば、無通信期間において、ノイズ等といったスタートビットでは無いものに起因して通信線５に開始信号が生じた場合にも、開始信号が生じたと判断される。その結果、該判断結果を利用して、例えば、無通信期間に開始信号が生じたことを、シリアル通信において誤ったデータが送受信されるおそれがあることとして、検出することができる。
【００５０】
（１ｂ）検出部３２は、Ｓ３３０、Ｓ３５０において、無通信期間において通信線５に開始信号が生じたか否か、の判断結果を表す検出フラグをメモリ２２に記憶させる。
制御部３３は、Ｓ４３０ではメモリ２２から検出フラグを取得し、Ｓ４５０では、検出フラグが無通信期間に開始信号が生じていないことを表す場合に、通信部３１に、通信線５を介して送信フレームを送信させる。且つ、制御部３３は、Ｓ４７０では、検出フラグが無通信期間に開始信号が生じたことを表す場合に、通信部３１に、送信フレームを送信させない。
【００５１】
これによれば、ノイズ等といったスタートビットでは無いものに起因して通信線５に開始信号が生じた場合には、送信フレームが送信されない。その結果、不要な送信フレームが送信されることを抑制することができる。
【００５２】
（１ｃ）通信部３１は、Ｓ１２０では、該通信部３１によって通信線５を介して受信されたデジタル変換データにおいて、スタートビットを検出し、スタートビットから所定のビット数後にストップビットが検出されたか否かを判断する。検出部３２は、ストップビットが検出されたと判断された場合、無通信期間に開始信号が生じていない、と判断する。
【００５３】
つまり、通信データの受信が終了する毎に、検出フラグがリセットされる。その結果、通信データの送信が終了した以降を無通信期間として、該無通信期間に開始信号が生じた場合に検出フラグがセットされる。
【００５４】
（１ｄ）通信部３１は、Ｓ２２０では、送信フレームが通信線５に送信される際に、通信線５を介して受信する通信データを表す受信フレームに含まれる受信データと送信用データとが一致するか否かを判断する。検出部３２は、送信用データと受信データとが一致していないと判断された場合に、無通信期間に前記開始信号が生じていない、と判断する。
【００５５】
その結果、送信異常が生じた場合に検出フラグがリセットされない状態となることを抑制することができる。
（１ｅ）通信部３１は、ＵＡＲＴインタフェースに基づいて、通信データを通信線５へ送信するとともに、通信線５から通信データを受信する。その結果、ＵＡＲＴインタフェースに基づいて、通信データを送受信することができる。
【００５６】
（１ｆ）制御部３３は、Ｓ４６０では、送信フレームを送信する際に、検出部３２によって無通信期間において開始信号が生じたと判断された場合に、通信データが誤って送受信されるおそれがあると判定する。その結果、該判定の結果に基づいて、ＥＣＵ１０の誤動作を抑制することが可能となる。
【００５７】
［１−４．変形例］
（変形例１）ＵＡＲＴインタフェースでは、ある論理値が１／２ビット時間以上継続したときに、該論理値の符号が発生したと判断される。つまり、ある論理値の継続時間が１／２ビット時間未満であるときは、該論理値の符号が発生していないと判断される。１／２ビット時間とは、１ビットに相当する電気信号が通信線５に現れる時間の１／２の時間をいう。
【００５８】
そこで、上記実施形態において、ＥＣＵ１０では、検出部３２は、無通信期間において通信線に開始信号が現れた期間の長さが１／２ビット時間以上である場合に、無通信期間に開始信号が生じた、と判断するように構成され得る。具体的には、検出部３２は、検出処理のＳ３２０において、開始信号、つまりＬレベルの電気信号が現れた期間の長さが１／２ビット時間以上である場合に、開始信号が検出された、と判断するように構成されてもよい。
【００５９】
その結果、本変形例では、ノイズによって１／２ビット時間未満の開始信号が発生したときには送信フレームが送信されるので、このような短期間のノイズによって通信が滞ることを抑制することができる。
【００６０】
（変形例２）ＥＣＵ１０では、制御部３３は、送信制御処理においてＳ４６０が省略されるように構成され得る。
（変形例３）ＥＣＵ１０では、制御部３３は、送信制御処理において、Ｓ４５０、Ｓ４７０が省略されるように構成され得る。
【００６１】
［２．第２実施形態］
［２−１．構成］
第２実施形態は、基本的な構成は第１実施形態と同様であるため、相違点について以下に説明する。なお、第１実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。
【００６２】
前述した第１実施形態では、ＥＣＵ１０及び他のＥＣＵ２０との間では、ＵＡＲＴに従って、通信線５を介して、ＵＡＲＴフレームが通信データとして送受信されていた。これに対し、第２実施形態では、ＥＣＵ１０及び他のＥＣＵ２０との間では、ＬＩＮインタフェースに基づいて、通信線５を介して、ＬＩＮフレームが通信データとして送受信される点で、第１実施形態と相違する。
【００６３】
ＬＩＮは、Local Interconnect Networkの略であり、登録商標である。なお、ＬＩＮについては、ＩＳＯ１７９８７に規定されており、各種文献において公知であるため、ここでは詳細な説明を省略する。
【００６４】
本実施形態では、図１において、ＵＡＲＴに対応するトランシーバ１１が、ＬＩＮに対応するトランシーバに置換される。図示しないが、他のＥＣＵ２０も同様に、ＬＩＮに対応するトランシーバを備える。
【００６５】
なお、ＬＩＮでは、図２において、論理値０に対応するＬレベルの電気信号がドミナントに相当し、論理値１に対応するＨレベルの電気信号がレセッシブに相当する。
ＬＩＮの通信は、マスター・スレーブ方式で行われる。ＬＩＮフレームは、図１１に示すように、マスターノードから出力されるヘッダと、スレーブノードから出力されるレスポンスとで構成される。レスポンスは、図示しないが、データとチェックサムとの２つのフィールドで構成されており、データ、チェックサムともに、ＵＡＲＴフレームで送信される。つまり、レスポンスは、複数のＵＡＲＴフレームを含む。
【００６６】
なお、ヘッダが送信されてからレスポンスの送信が開始される迄の期間を、レスポンススペースという。ＬＩＮでは、予め定められた所定の時間が、レスポンススペースとして許容されている。
【００６７】
本実施形態では、ＥＣＵ１０は、スレーブノードとして機能する。つまり、図１における他のＥＣＵ２０のいずれか１つをマスターノードとして、該マスターノードからヘッダが送信されると、ＥＣＵ１０は、ヘッダに含まれるフレームＩＤに基づいて、レスポンスを送信するかどうかを識別する。ＥＣＵ１０は、フレームＩＤに基づいてレスポンスを送信することが確定すると、レスポンスを送信する。
【００６８】
ＥＣＵ１０は、上記実施形態と同様に、通信部３１、検出部３２、制御部３３を備える。
なお、通信部３１は、更に、ＬＩＮに従って、通信データとしてのレスポンスを送信するとともに、通信データとしてのヘッダを受信する処理を行う。また、通信部３１は、更に、ヘッダを受信したか否かを判断し、ヘッダを受信した場合にリセット通知をセットする処理を行う。
【００６９】
制御部３３は、更に、ＬＩＮに従って、通信部３１によって受信されたヘッダに含まれているフレームＩＤに基づいて、レスポンスを送信するか否かを判断する処理を行う。制御部３３は、レスポンスを送信すると判断された場合に、上述の送信要求を生成する処理を行う。これによって、レスポンスに含まれるフレームＩＤに基づいてレスポンスを送信することが確定された場合に、送信制御処理が起動される。
【００７０】
［２−４．処理］
本実施形態の制御部３３は、図示しないが、上述の図８に示すフローチャートからＳ４６０を削除した送信制御処理を実行する。
【００７１】
つまり、制御部３３は、レスポンスを送信する際に、Ｓ４３０にて検出フラグを取得する。制御部３３は、Ｓ４４０では、開始信号すなわちドミナントが通信線５に生じているか否かを判断する。ここで、制御部３３は、検出フラグが無通信期間にドミナントが生じていないことを表す場合に、Ｓ４５０にて通信部３１にレスポンスを送信させる。一方、制御部３３は、検出フラグが無通信期間にドミナントが生じたことを表す場合に、Ｓ４７０にて通信部３１にレスポンスを送信させることを中止する。
【００７２】
［２−４．作動］
このように構成されたＥＣＵ１０は、スレーブノードとして作動する際、図１２に示すように、レスポンスを送信する際に通信線５に開始信号としてのドミナントが生じていた場合には、レスポンスを送信しない。つまり、例えばノイズ等といったスタートビット以外の要因によって無通信期間に開始信号が生じていたことが検出された場合には、レスポンスが送信されないので、レスポンスが誤って送受信されることが抑制される。
【００７３】
［２−３．効果］
以上詳述した第２実施形態によれば、前述した第１実施形態の効果（１ａ）−（１ｄ）を奏し、さらに、以下の効果を奏する。
【００７４】
（２ａ）通信部３１は、ＬＩＮインタフェースに基づいて、通信データを送信するとともに、通信データを受信する。その結果、ＥＣＵ１０は、ＬＩＮに基づいて、通信データを送受信することができる。
【００７５】
（２ｂ）ＥＣＵ１０は、スレーブノードとして作動するように構成される。制御部３３は、ヘッダ及びレスポンスを含むＬＩＮフレームのうちレスポンスを通信データとして送信する際、検出フラグを取得し、検出フラグに基づいて、レスポンスを送信するか否かを判断する。ＥＣＵ１０は、検出フラグが無通信期間に開始信号が生じていないことを表す場合に、通信部３１にレスポンスを送信させ、且つ、検出フラグが無通信期間に開始信号が生じたことを表す場合に、通信部３１にレスポンスを送信させない。
【００７６】
その結果、例えば、ヘッダが送信された後にノイズ等によって通信線５にドミナントが生じている場合には、レスポンスを送信しないようにすることができるので、レスポンスが誤って受信されることを抑制することができる。
【００７７】
［３．他の実施形態］
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
【００７８】
（３ａ）上記実施形態では、通信システム１が、３つの他のＥＣＵ２０を備えていたが、これに限定されるものではない。通信システム１が備える他のＥＣＵ２０の数は、１つであってもよいし、３以外の複数であってもよい。
【００７９】
（３ｂ）上記実施形態では、通信部３１は、１バイト単位で送信用データと受信データとを比較し、送信用データと受信データとが一致していなければ、送信異常が生じたと判断する処理を行っていたが、これに限定されるものではない。例えば、通信部３１は、送信用データと、受信データとを１ビット毎に比較し、送信用データと受信データとが一致していなければ、送信異常が生じたと判断する処理を行うように構成されてもよい。
【００８０】
（３ｃ）上記実施形態において、他のＥＣＵ２０は、ＥＣＵ１０と同様に、受信時処理、送信時処理、検出処理、及び送信制御処理を実行するように構成されてもよい。
（３ｄ）上記実施形態では、ＥＣＵ１０では、通信部３１、検出部３２、制御部３３を備えていたが、これに限定されるものではない。例えば、制御部３３が通信部３１及び検出部３２を備えるといったように、通信部３１、検出部３２、制御部３３のうちのいずれか１つが残りの機能を備えるように構成されてもよい。また例えば、通信部３１が検出部３２を備えるといったように、通信部３１、検出部３２、制御部３３のうちのいずれか１つが残りの２つのうち一方の機能を備えるように構成されてもよい。
【００８１】
（３ｅ）上記実施形態では、ＥＣＵ１０は１つのマイコンを備えていたが、これに限定されるものではない。ＥＣＵ１０は、例えば、通信部３１、検出部３２、制御部３３といった機能毎にマイコンを備えるといったように、複数のマイコンを備えていてもよい。
【００８２】
（３ｆ）上記第２実施形態では、ＥＣＵ１０において、制御部３３は、検出フラグが無通信期間に開始信号としてのドミナントが生じたことを表す場合に、通信部３１にレスポンスを送信させないように構成されていたが、これに限定されるものではない。
【００８３】
制御部３３は、レスポンスを送信する際に判断結果を取得し、判断結果が無通信期間にドミナントが生じていないことを表す場合に、通信部３１に、レスポンスを送信させ、且つ、判断結果が無通信期間にドミナントが生じたことを表す場合に、通信部３１に、破壊信号を送信させるように構成されていてもよい。
【００８４】
ここでいう破壊信号とは、予め定められた信号であって、他のＥＣＵ２０に、レスポンスが誤って送受信されるおそれがあることを検出させるための信号、をいう。破壊信号には、例えば、ドミナントが１０ビット以上連続する信号や、レスポンスに含まれるチェックサムであって意図的に誤らせたチェックサム、等が挙げられる。
【００８５】
一方、他のＥＣＵ２０は、該破壊信号を受信した場合に、レスポンスが誤って送受信されるおそれがあることを検出し、受信したレスポンスを破棄するように構成されてもよい。
【００８６】
その結果、無通信期間にドミナントが生じた場合に、受信側となる他のＥＣＵ２０においてもレスポンスが誤って送受信されるおそれがあることを検出させ、レスポンスが誤って送受信されることを抑制することができる。なお、ＥＣＵ１０は、通信線５を介して破壊信号を受信した場合に、上述の他のＥＣＵ２０と同様に作動するように構成されてもよい。
【００８７】
（３ｇ）上記実施形態における１つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、１つの構成要素が有する１つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、１つの構成要素によって実現したり、複数の構成要素によって実現される１つの機能を、１つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。なお、特許請求の範囲に記載した文言から特定される技術思想に含まれるあらゆる態様が本開示の実施形態である。
【００８８】
（３ｈ）上述した通信システム１、ＥＣＵ１０、通信コントローラ１２、ＣＰＵ２１の他、ＥＣＵ１０を機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体、通信方法など、種々の形態で本開示を実現することもできる。
【００８９】
なお、ＥＣＵ１０が通信装置に相当する。また、通信部３１が、送受信部、終了符号検出部、一致検出部に相当し、検出部３２が、判断部、判断結果記憶部に相当し、制御部３３が、送信制御部、判定部に相当する。また、Ｓ１２０が終了符号検出部としての処理に相当し、Ｓ２２０が一致検出部としての処理に相当し、Ｓ３１０、Ｓ３５０が判断記憶部としての処理に相当し、Ｓ４６０が判定部としての処理に相当する。
【００９０】
また、検出フラグが、メモリ２２に記憶された、判断部による判断結果に相当し、デジタル変換データが、送受信部によって通信線を介して受信されたデータに相当する。また、ＵＡＲＴフレーム、レスポンスが通信データに相当し、スタートビットが開始符号に相当し、ストップビットが終了符号に相当する。
【符号の説明】
【００９１】
１０  ＥＣＵ、３１  通信部、３２  検出部。
【図１】
2018201148.tif 000003
【図２】
2018201148.tif 000004
【図３】
2018201148.tif 000005
【図４】
2018201148.tif 000006
【図５】
2018201148.tif 000007
【図６】
2018201148.tif 000008
【図７】
2018201148.tif 000009
【図８】
2018201148.tif 000010
【図９】
2018201148.tif 000011
【図１０】
2018201148.tif 000012
【図１１】
2018201148.tif 000013
【図１２】
2018201148.tif 000014