(57)【特許請求の範囲】
【請求項１】
通信相手の装置と通信線を介して接続されると共に、
前記通信相手の装置から一定時間毎に送信される１フレーム分の通信データを受信して受信バッファに格納する毎に、受信割込要求を発生する通信手段を備え、
前記受信割込要求に応じて起動される受信割込ルーチンにて、前記通信手段の受信バッファから所定の記憶手段へ前記通信データを転送する受信処理を行い、
更に、前記記憶手段内のデータを用いて制御対象を制御するように構成された電子制御装置において、
前記受信割込ルーチンでは、
当該受信割込ルーチンが前回起動されてから今回起動されるまでの時間間隔に基づいて、前記通信手段による前記通信データの受信間隔が正常な範囲よりも長い異常（以下、第１種異常という）が発生したか否かと、前記受信間隔が正常な範囲よりも短い異常（以下、第２種異常という）が発生したか否かとを判定すると共に、前記第１種異常が発生していると判定した場合には、当該受信割込ルーチンにて前記受信処理が行われるのを禁止し、前記第２種異常が発生していると判定した場合には、当該受信割込ルーチンにて前記受信処理が行われるのを禁止すると共に、以後当該受信割込ルーチンが起動されるのを禁止する異常モード検出対応処理が行われるようになっており、
更に、前記異常モード検出対応処理により前記受信割込ルーチンの起動が禁止されている場合には、予め定められた所定時間毎に起動される定期ルーチンにて、前記通信手段による前記通信データの受信間隔が正常に戻ったか否かを判定すると共に、前記受信間隔が正常に戻ったと判定したならば、前記受信割込ルーチンが起動されるのを許可すること、
を特徴とする電子制御装置。
【請求項２】
請求項１に記載の電子制御装置において、
前記定期ルーチンの起動周期は、前記正常な範囲内の値に設定されていると共に、
前記定期ルーチンでは、当該定期ルーチンが前回起動されてから今回起動されるまでの間に前記通信手段が前記通信データを１回だけ受信したか否かを判定して、前記通信データを１回だけ受信していれば、前記受信間隔が正常に戻ったと判定すること、
を特徴とする電子制御装置。
【請求項３】
請求項１又は請求項２に記載の電子制御装置において、
前記定期ルーチンにて、前記受信間隔が正常に戻ったと判定したならば、前記受信割込ルーチンが起動されるのを許可すると共に、その時点で前記通信手段の受信バッファに格納されている通信データを前記記憶手段に転送すること、
を特徴とする電子制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信相手の装置と通信線を介して接続されることにより、通信システムを形成する電子制御装置に関し、特に、その通信相手の装置から一定時間毎にデータが送信されて来る電子制御装置に関するものである。
【０００２】
【従来の技術】
従来より、例えば車両においては、通信線を介して互いに接続された複数の電子制御装置が通信を行って制御データを共有する通信システムが構成される。そして、一般に、こうした車載用電子制御装置間の通信システムにおいては、常時予め決められた時間間隔（通信間隔）で且つ同じボーレートでシリアルデータ通信が行われる。
【０００３】
ところで、このような通信システムにおいては、送信側の電子制御装置に異常が発生して、その装置からの通信データの送信間隔が、予め決められた通信間隔よりも長くなったり、短くなったりすることがある。
このため、受信側の電子制御装置には、以下のようなフェイルセーフ機能が備えられる。即ち、受信側の電子制御装置では、通信データを受信した間隔（受信間隔）が予め決められた正常範囲から外れたか否かを判定し、正常範囲から外れたならば通信異常が発生したとして、受信処理（即ち、通信線から受信したデータを、制御対象の制御のためにアクセスするＲＡＭ等の記憶手段へ転送する処理）を中断する。そして、その後、受信間隔が正常に戻ったと判定したら、正常復帰したとして、受信処理を再開する。尚、通信システムを構成する各電子制御装置が、データの送受信（即ち、双方向の通信）を行うものであるならば、こうしたフェイルセーフ機能は、各電子制御装置に備えられる。つまり、上記の「受信側の電子制御装置」とは、データを受信している電子制御装置を意味している。
【０００４】
そして、従来の電子制御装置では、上記のフェイルセーフ機能を、マイクロコンピュータにて１フレーム分の通信データを受信する毎に起動される受信割込ルーチンで実現するようにしていた。
具体的に説明すると、まず、一般に、この種の電子制御装置を構成するマイクロコンピュータ（以下、単にマイコンという）には、他の装置とシリアルデータ通信を行うためのハードウエアであるシリアル通信インターフェース（以下、ＳＣＩと記す）が備えられている。
【０００５】
そして、そのＳＣＩは、例えば特開平８−２９３８８１号公報にも開示されているように、スタートビットからストップビットまでの複数ビット（例えば１０ビット）を１フレームとした通信データを受信するための手段として、受信用シフトレジスタと、受信バッファとを備えている。そして更に、ＳＣＩは、通信線上のスタートビットを検出したら、以降のデータビットを、予め決められたボーレートで上記受信用シフトレジスタに１ビットずつシフトしていき、その後、通信線上のストップビットを検出したら、そのストップビットまでの１フレーム分の通信データを受信用シフトレジスタから受信バッファに移して、受信割込要求を発生し、ソフトウエアで上記受信バッファからデータ（即ち、受信した１フレーム分の通信データ）を読み出せるようにする。
【０００６】
このため、マイコンでは、上記受信割込要求に応じて起動される受信割込ルーチンにて、上記ＳＣＩの受信バッファからＲＡＭ等へ通信データを転送する受信処理を行うのであるが、その受信処理の前に、当該受信割込ルーチンが前回起動されてから今回起動されるまでの時間間隔を、ＳＣＩによる通信データの受信間隔として測定する処理と、その処理で測定された受信間隔が正常であるか否かを判定する判定処理とを行い、その判定処理で受信間隔が正常ではないと判定すると、以後、その判定処理で受信間隔が正常になったと判定されるまでの間、当該受信割込ルーチンで上記受信処理が行われるのを禁止する。
【０００７】
そして、このような受信割込ルーチンの構成により、上記のフェイルセーフ機能が実現される。
【０００８】
【発明が解決しようとする課題】
ところが、上記のように受信割込ルーチンだけでフェイルセーフ機能の全てを実現するように構成すると、受信間隔が正常でないと異常判定してから受信間隔が正常に戻ったか否かを判定する正常復帰の判定も、受信割込ルーチンで行うこととなるため、特に通信間隔が短くなる異常が発生した場合には、受信割込ルーチンが正常時よりも頻繁に起動されることとなり、その結果、受信割込ルーチンよりも優先順位が低い時間割込ルーチンやベースルーチン等で行われる処理が、所定期間内に終わらなくなって、制御性が低下してしまうという問題が生じる。
【０００９】
尚、上記特開平８−２９３８８１号公報には、マスタ装置としての外部診断装置と、スレーブ装置としての各車載用電子制御装置とが、通常のボーレートでメッセージの送受信を行う前に、外部診断装置が通常のボーレートよりも大幅に遅いボーレートで初期化アドレスを送信することにより、初期化が行われる通信システムにおいて、通常の速いボーレートで通信している時に、外部診断装置が誤って遅いボーレートの初期化アドレスを送信してしまうと、各電子制御装置で受信割込が多発して他の処理が先に進まなくなる、という不具合を解決するために、以下のような技術が開示されている。
【００１０】
即ち、各電子制御装置は、受信した１フレーム分の通信データにおけるストップビットが正規な値ではないときに発生するフレーミングエラーに起因した受信割込が多発したと判定すると、外部診断装置が遅いボーレートの初期化アドレスを送信していると判断して、受信割込ルーチンが起動されるのを禁止し、その後は、一定時間毎の時間割込ルーチンにて、通信線のレベルをサンプリングすることにより上記初期化アドレスの各ビットを受信すると共に、その初期化アドレスの全ビットを受信したならば、受信割込ルーチンの起動を許可するようにしている。
【００１１】
しかし、上記公報に記載の技術は、通信間隔が異常になったことと、通信間隔が異常になってから正常に復帰したこととを検出しようとするものではなく、上記問題を解決することはできない。
また、上記技術のうち「受信割込ルーチンが起動されるのを禁止する」という考え方を利用して、受信割込ルーチンにて、ＳＣＩによる通信データの受信間隔が正常ではないと判定すると、当該受信割込ルーチンが起動されるのを禁止し、その後は、時間割込ルーチンやベースルーチン等の他のルーチンによって、受信間隔が正常に戻ったか否かを判定すると共に、そのルーチンで、受信間隔が正常に戻ったと判定したならば受信割込ルーチンの起動を許可する、といった構成を採ることが考えられる。
【００１２】
ところが、このように構成しようとしても、実際には、受信割込ルーチン以外の時間割込ルーチンやベースルーチン等では、受信間隔が正常に戻ったか否かを簡単な処理内容で正確に判定することはできず、上記問題を解決できない。
これは、受信割込ルーチン以外のルーチンでは、受信間隔を正確に検出することができない上に、通信異常のモードとしては、受信間隔が正常値よりも長くなる異常と、受信間隔が正常値よりも短くなる異常との２通りがあり、その両方の各異常モードから正常に復帰したことを夫々正確に判定することは難しいからである。
【００１３】
また例えば、正常な受信間隔よりも起動周期が短い時間割込ルーチンにより、ＳＣＩが通信データを受信したか否かを判定すると共に、受信したと前回判定してから今回判定するまでの当該ルーチンの起動回数から、ＳＣＩによる受信間隔を求めるように構成することも考えられるが、十分な判定精度を得るためには、その時間割込ルーチンの起動周期を正常な受信間隔よりも大幅に小さく（例えば１０分の１以下）設定しなければならなず、その時間割込ルーチンの分だけ、処理負荷が増大してしまう。よって、その時間割込ルーチンよりも優先順位が低い他の時間割込ルーチンやベースルーチン等で行われる処理が所定期間内に終わらなくなって、制御性が低下してしまう。
【００１４】
本発明は、こうした問題に鑑みなされたものであり、通信相手の装置から一定時間毎に送信されるはずの通信データを受信する電子制御装置において、その通信データの受信間隔が異常になったことと、その異常が解消されて受信間隔が正常に戻ったこととを、処理負荷を増大させることなく正確に判定することができるようにすることを目的としている。
【００１５】
【課題を解決するための手段及び発明の効果】
上記目的を達成するためになされた請求項１記載の本発明の電子制御装置は、通信相手の装置と通信線を介して接続される。
そして、この電子制御装置では、通信手段が、前記通信相手の装置から一定時間毎に送信される１フレーム分の通信データを受信して受信バッファに格納する毎に、受信割込要求を発生する。そして更に、この電子制御装置では、上記受信割込要求に応じて起動される受信割込ルーチンにて、通信手段の受信バッファから所定の記憶手段へ通信データ（即ち受信データ）を転送する受信処理を行う。また、この電子制御装置では、上記記憶手段内のデータを用いて制御対象を制御する。
【００１６】
このため、本電子制御装置では、従来の電子制御装置と同様に、前述のＳＣＩに相当する通信手段が１フレーム分の通信データを受信して受信バッファに格納する毎に、受信割込ルーチンが起動され、その受信割込ルーチン内の受信処理により、通信手段の受信バッファから所定の記憶手段へ受信データが転送される。そして、その記憶手段に転送された受信データは、制御対象の制御に適宜用いられることとなる。
【００１７】
ここで特に、本発明の電子制御装置では、受信割込ルーチンにて、以下の異常モード検出対応処理が行われる。
この異常モード検出対応処理では、当該受信割込ルーチンが前回起動されてから今回起動されるまでの時間間隔に基づいて、通信手段による通信データの受信間隔が正常な範囲よりも長い異常（以下、第１種異常という）が発生したか否かと、受信間隔が正常な範囲よりも短い異常（以下、第２種異常という）が発生したか否かとを判定すると共に、第１種異常が発生していると判定した場合には、当該受信割込ルーチンにて上記受信処理が行われるのを禁止し、また、第２種異常が発生していると判定した場合には、当該受信割込ルーチンにて上記受信処理が行われるのを禁止すると共に、以後、当該受信割込ルーチンが起動されるのを禁止する。
【００１８】
そして更に、本発明の電子制御装置では、上記異常モード検出対応処理により受信割込ルーチンの起動が禁止されている場合には、予め定められた所定時間毎に起動される定期ルーチンにて、通信手段による通信データの受信間隔が正常に戻ったか否かを判定すると共に、受信間隔が正常に戻ったと判定したならば、受信割込ルーチンが起動されるのを許可する。
【００１９】
このような本発明の電子制御装置においては、通信相手の装置に異常が生じて、その装置からの通信データの送信間隔が正常な範囲よりも長くなると、通信手段による通信データの受信間隔、延いては、受信割込ルーチンの起動間隔が正常な範囲よりも長くなり、その結果、受信割込ルーチン内の異常モード検出対応処理により、第１種異常が発生したと判定されて、受信処理が中断されることとなる。
【００２０】
そして、その後、通信相手の装置からの通信データの送信間隔が正常に戻ると、通信手段による通信データの受信間隔及び受信割込ルーチンの起動間隔が正常な範囲に戻るため、受信割込ルーチンの異常モード検出対応処理により、第１種異常と第２種異常との何れも発生していない（即ち正常である）と判定されて、受信処理の禁止が解除される（即ち受信処理が再開される）こととなる。
【００２１】
このため、通信相手の装置からの通信データの送信間隔が正常な範囲よりも長くなって、受信割込ルーチンで第１種異常の発生を検知した場合（即ち、受信間隔が正常な範囲よりも長いと異常判定した場合）には、前述した従来の電子制御装置と同様に、受信間隔が正常に戻ったか否かを判定する正常復帰の判定も、受信割込ルーチンで行われることとなる。
【００２２】
一方、本発明の電子制御装置において、通信相手の装置からの通信データの送信間隔が正常な範囲よりも短くなると、通信手段による通信データの受信間隔、延いては、受信割込ルーチンの起動間隔が正常な範囲よりも短くなり、その結果、受信割込ルーチン内の異常モード検出対応処理により、第２種異常が発生したと判定されて、受信処理が中断されると共に、当該受信割込ルーチンの起動が禁止されることとなる。すると、その後は、所定時間毎に起動される定期ルーチンにて、通信手段による通信データの受信間隔が正常に戻ったか否かが判定される。
【００２３】
そして、その後、通信相手の装置からの通信データの送信間隔が正常に戻り、上記定期ルーチンにて、受信間隔が正常に戻ったと判定されると、受信割込ルーチンの起動が許可されることとなる。
このため、通信相手の装置からの通信データの送信間隔が正常な範囲よりも短くなって、受信割込ルーチンで第２種異常の発生を検知した場合（即ち、受信間隔が正常な範囲よりも短いと異常判定した場合）には、以後、所定時間毎の定期ルーチンで受信間隔が正常に戻ったと判定されるまでの間、受信割込ルーチンの起動が禁止される。よって、受信割込ルーチンが正常時よりも頻繁に起動されることが防止される。
【００２４】
つまり、本発明の電子制御装置では、受信割込ルーチンにて、第１種異常（通信相手からの送信間隔が長くなって、受信間隔が正常な範囲よりも長くなる異常）が発生したと判定した場合には、引き続き、受信割込ルーチンにて、受信間隔が正常に戻ったか否かを判定するが、受信割込ルーチンにて、第２種異常（通信相手からの送信間隔が短くなって、受信間隔が正常な範囲よりも短くなる異常）が発生したと判定した場合には、その受信割込ルーチンの起動を禁止し、以後は、所定時間毎の定期ルーチンにて、受信間隔が正常に戻ったか否かを判定するようにしている。換言すれば、受信間隔が正常時よりも短い第２種異常が発生したと判定した場合にだけ、受信割込ルーチンの起動を禁止して、受信間隔が正常に戻ったか否かを、所定時間毎の定期ルーチンにて判定するようにしている。
【００２５】
このため、本発明の電子制御装置によれば、通信データの受信間隔が異常になったことと、その異常が解消されて受信間隔が正常に戻ったこととを、処理負荷を増大させることなく正確に判定することができる。
即ち、まず前述したように、受信割込ルーチンにて第１種異常の発生を検知した場合には、従来の電子制御装置と同様に、受信間隔が正常に戻ったか否かを判定する正常復帰の判定も、受信割込ルーチンで行われることとなるが、この場合、通信データの受信間隔は正常時よりも長くなっているため、受信割込ルーチンが正常時よりも頻繁に起動されることはなく、処理負荷は特に増大しない。
【００２６】
そして、受信割込ルーチンによれば、そのルーチンの起動間隔が受信間隔に等しいため、実際の受信間隔を正確に検出することができ、受信間隔が正常に戻ったことを正確に判定することができる。尚、もちろん、受信割込ルーチンによれば、受信間隔が正常な範囲から外れて第１種異常と第２種異常との何れが発生しているのかも、正確に判定することができる。また、受信割込ルーチンの起動間隔（＝受信間隔）は、当該ルーチンが前回起動された時刻と今回起動された時刻との差から求めることができ、その各時刻は、フリーランタイマ（フリーランカウンタ）等の一般的な内部時計によって容易に計測することができる。
【００２７】
一方、受信割込ルーチンにて第２種異常の発生を検知した場合には、受信割込ルーチンの起動が禁止される。よって、受信割込ルーチンが正常時よりも頻繁に起動されることが防止される。
そして更に、この場合には、受信間隔が正常な範囲よりも短くなっているということが前提条件にあることから、起動周期が比較的長く、その起動周期が正常な受信間隔と同等な定期ルーチンによっても、受信間隔が正常に戻ったか否かを正確且つ容易に判定することができる。
【００２８】
具体例を挙げると、請求項２に記載のように、まず、定期ルーチンの起動周期（上記所定時間）を、前記正常な範囲内の値（つまり、正常な受信間隔の下限値から上限値までの間の所定値）に設定しておく。そして、その定期ルーチンでは、当該定期ルーチンが前回起動されてから今回起動されるまでの間に通信手段が通信データを１回だけ受信したか否かを判定して、通信データを１回だけ受信していれば、受信間隔が正常に戻った（つまり、受信間隔が正常な範囲に戻った）と判定すれば良い。
【００２９】
尚、一般に、マイコンのＳＣＩは、１フレーム分の通信データを前回受信してから今回受信するまでの間に、ＣＰＵから何等かのアクセスを受けなかった場合には、２重受信であるオーバーランエラーの発生を示すオーバーランエラーフラグを立てる（セットする）ようになっている。このため、そのようなＳＣＩを通信手段として用いれば、定期ルーチンが前回起動されてから今回起動されるまでの間に通信手段が通信データを１回だけ受信したか否かは、その定期ルーチンにて、上記オーバーランエラーフラグの状態を監視することにより、簡単に判定することができる。
【００３０】
以上のように、本発明の電子制御装置によれば、受信間隔が正常な範囲よりも長い異常時と短い異常時とで、受信間隔の正常復帰判定の処理方法を変えており、特に、受信間隔が正常な範囲よりも長い異常時には、引き続き受信割込ルーチンで正常復帰判定を行い、受信間隔が正常な範囲よりも短い異常時には、受信割込ルーチンの起動を禁止して、定期ルーチンで受信間隔の正常復帰判定を行うようにしているため、受信間隔が異常になったことと、受信間隔が正常に戻ったこととを、処理負荷を増大させることなく正確に判定できるようになる。
【００３１】
ところで、定期ルーチンにて、受信間隔が正常に戻ったと判定したならば、受信割込ルーチンの起動を許可するだけでなく、請求項３に記載の如く、その時点で通信手段の受信バッファに格納されている通信データを前記記憶手段に転送するようにすれば、受信間隔が正常に戻った後の信頼性の高い受信データを、極力早期に記憶手段へ転送することができ、制御性を向上させることができる。
【００３２】
つまり、定期ルーチンで受信間隔が正常に戻ったと判定された後に、通信手段により次の通信データが受信されて、それに伴い起動される受信割込ルーチンで受信処理が行われれば、記憶手段に正常な受信データが転送されることとなるが、それよりも１回前に受信された正常な受信データを記憶手段に転送することができ、その分、最新の受信データを用いた制御をいち早く開始することができるからである。
【００３３】
【発明の実施の形態】
以下、本発明が適用された実施形態の車両内通信システム（詳しくは、車両に搭載された電子制御装置間の通信システム）について、図面を用いて説明する。まず図１（Ａ）に示すように、本実施形態の車両内通信システムは、車両に搭載された２つの電子制御装置（以下、ＥＣＵという）１ａ，１ｂと、これらＥＣＵ１ａ，１ｂを接続する通信線３とから構成されており、例えば、ＥＣＵ１ａは、エンジンを制御するＥＣＵ（エンジンＥＣＵ）であり、ＥＣＵ１ｂは、トランスミッションを制御するＥＣＵ（トランスミッションＥＣＵ）である。
【００３４】
そして、ＥＣＵ１ａ，１ｂは、通信線３を介してシリアルデータ通信を行うことにより、エンジン回転数データや車速データといった各種の制御データを互いに共用し、その制御データを用いて各自の制御対象を制御する。尚、以下の説明において、各ＥＣＵ１ａ，１ｂを特に区別しない場合には、ＥＣＵの符号として“１”を用いる。
【００３５】
また、本実施形態の車両内通信システムにおいて、各ＥＣＵ１が通信線３を介してやり取りする通信データは、図１（Ｂ）に示すように、ローレベルのスタートビットＳと、実質的な情報データである８ビットＤ０〜Ｄ７と、ハイレベルのストップビットＰと、からなる１０ビットを１フレームとしている。
【００３６】
次に、図２（Ａ）に示す如く、各ＥＣＵ１は、他のＥＣＵ１との通信と制御対象の制御とを司るマイコン５と、マイコン５から出力される通信データを通信線３へと送出すると共に、通信線３上に伝送される通信データをマイコン５へと入力させる通信ドライバ回路７とを備えている。
【００３７】
そして、マイコン５は、一般的な構成のものであり、ＣＰＵ９と、ＣＰＵ９で実行されるプログラムやそのプログラムの実行時に参照される固定データが格納されたＲＯＭ１１と、ＣＰＵ９による演算結果等が一時記憶される記憶手段としてのＲＡＭ１３と、他のＥＣＵ１（詳しくは、他のＥＣＵ１のマイコン５）とシリアルデータ通信を行うための通信手段としてのＳＣＩ（シリアル通信インターフェース）１５と、それらを互いに接続するバス１７とを備えている。
【００３８】
また、ＳＣＩ１５は、図２（Ｂ）に示すように、通信ドライバ回路７から入力される通信データ（即ち受信データ）を内部に取り込むための入力バッファ１９と、当該マイコン５が送信しようとしている通信データ（即ち送信データ）を通信ドライバ回路７へ出力するための出力バッファ２１と、入力バッファ１９によって取り込まれた通信データを１ビットずつ格納する受信用シフトレジスタ２３と、その受信用シフトレジスタ２３に格納された１フレーム分の通信データが移されると共に、バス１７を介してアクセス可能な受信バッファ２５と、バス１７を介して送信対象のデータが書き込まれる送信バッファ２７と、送信バッファ２７に格納されたデータが移されると共に、そのデータを１ビットずつシフトして出力する送信用シフトレジスタ２９と、入力バッファ１９及び出力バッファ２１と上記両シフトレジスタ２３，２９との間に介在して設けられた入出力回路３１と、上記各部を制御する制御回路３３とを備えている。そして、制御回路３３はバス１７と接続されている。
【００３９】
このようなＳＣＩ１５においては、入力バッファ１９から入力されてきた通信データが入出力回路３１に取り込まれる。そして、入出力回路３１によりスタートビットＳが検出されると、制御回路３３が、その入出力回路３１から受信用シフトレジスタ２３へ、以降のデータビットＤ０〜Ｄ７を、予め決められたボーレートで１ビットずつシフトして出力させ、これにより、スタートビットＳから始まる通信データの各ビットを受信用シフトレジスタ２３にシフトして格納させていく。そして更に、その後、入出力回路３１によりストップビットＰが検出されると、制御回路３３は、そのストップビットＰまでの１フレーム分の通信データを受信用シフトレジスタ２３から受信バッファ２５に転送させると共に、ＣＰＵ９に対して受信割込要求を発生し、更に、当該ＳＣＩ１５が１フレーム分の通信データを受信したこと（つまり、受信バッファ２５に受信データが格納されていること）を示す受信履歴フラグをセットする（“１”にする）。尚、上記受信履歴フラグは、バス１７を介して読み出し可能であると共に、その受信履歴フラグのクリア（“０”にすること）は、ソフトウエアによって行われる。
【００４０】
また、制御回路３３は、入出力回路３１によって検出されたストップビットＰ（即ち、入出力回路３１がスタートビットＳを検出してから９ビット目に当たるビット）が正規な値（本実施形態では、ハイレベルに相当する論理１）であるか否かを判定し、ストップビットＰが正規な値でなければ、フレーミングエラーの発生を示すフレーミングエラーフラグをセットする。また更に、制御回路３３は、１フレーム分の通信データの受信を完了して、その通信データを受信用シフトレジスタ２３から受信バッファ２５に転送させる時に、受信履歴フラグがセットされたままであったならば、２重受信であるオーバーランエラーの発生を示すオーバーランエラーフラグをセットする。尚、上記フレーミングエラーフラグ及びオーバーランエラーフラグも、バス１７を介して読み出し可能であると共に、その各フラグのクリアは、ソフトウエアによって行われる。
【００４１】
一方、ＳＣＩ１５において、データの送信時には、ソフトウエアによってＲＡＭ１３から送信バッファ２７に１バイト（＝８ビット）の送信対象データＤ０〜Ｄ７が書き込まれる。すると、その送信バッファ２７内のデータＤ０〜Ｄ７は、先頭と末尾とに夫々スタートビットＳとストップビットＰとが付けられた合計１０ビットの１フレームの形で送信用シフトレジスタ２９に転送される。
【００４２】
そして、その送信用シフトレジスタ２９に転送された１フレーム分のデータは、制御回路３３の制御により、送信用シフトレジスタ２９から入出力回路３１及び出力バッファ２１を介して、スタートビットＳを先頭に１ビットずつ通信ドライバ回路７へ出力される。これにより、通信線３への１フレーム分のデータ送信が行われる。
【００４３】
以上のように構成された本実施形態の車両内通信システムにおいては、ＥＣＵ１ａ，１ｂのうちの何れかが送信者となり他が受信者となる。そして、送信側のＥＣＵ１は、１フレーム分の通信データを、予め決められた一定時間毎に（以下、この時間間隔を通信間隔ともいう）且つ同じボーレートで送信する。
【００４４】
具体例を挙げると、エンジンＥＣＵ１ａが、エンジン回転数データや車速データなどを情報データＤ０〜Ｄ７として含んだ通信データを、一定時間毎に送信する。そして、トランスミッションＥＣＵ１ｂでは、エンジンＥＣＵ１ａからの通信データを受信し、その受信データ（詳しくは、受信した通信データ中の情報データＤ０〜Ｄ７）を、ＲＡＭ１３に転送して制御対象の制御に用いる。例えば、トランスミッションＥＣＵ１ｂは、エンジンＥＣＵ１ａからのエンジン回転数データや車速データに応じて、変速制御やセンサの異常検出等を行う。
【００４５】
このため、本実施形態の車両内通信システムにおいて、受信側となるＥＣＵ１は、通信データの受信間隔が予め決められた通信間隔の正常範囲から外れたか否かを判定して、正常範囲から外れたならば、その後、受信間隔が正常に戻ったと判定するまでの間、通信線３から受信したデータをＲＡＭ１３に転送する受信処理を中断する、といったフェイルセーフ動作を行う。つまり、受信間隔が正常範囲から外れたということは、送信側のＥＣＵ１に何等かの異常が生じたと考えられるためであり、そのような場合に受信したデータをＲＡＭ１３に転送してしまうと、信頼性の無いデータを用いて制御対象を制御することとなるからである。
【００４６】
そこで次に、上記フェイルセーフ動作を実現するために、ＥＣＵ１のマイコン５で実行される処理について、図３及び図４のフローチャートを用いて説明する。尚、本実施形態の車両内通信システムでは、どのＥＣＵ１ａ，１ｂも受信側になり得る。そして、以下に説明する処理は、受信側になったＥＣＵ１のマイコン５で実行されるものである。
【００４７】
まず図３は、マイコン５において、前述のＳＣＩ１５により受信割込要求が発生された時に起動される受信割込ルーチンを表すフローチャートである。
図３に示すように、この受信割込ルーチンの実行が開始されると、まずステップ（以下、「Ｓ」と記す）１１０にて、前述のフレーミングエラーフラグとオーバーランエラーフラグとが何れか一方でもセットされているか否かを判定し、その両フラグの何れか一方でもセットされていれば、受信エラーが発生したとして、Ｓ１２０に進み、そのセットされているフラグをクリアする。
【００４８】
そして、Ｓ１３０に進んで、ＳＣＩ１５の受信バッファ２５をクリアすると共に、前述の受信履歴フラグをクリアし、当該ルーチンを終了する。
一方、上記Ｓ１１０にて、フレーミングエラーフラグとオーバーランエラーフラグとが両方共にセットされていないと判定した場合には、ＳＣＩ１５にて通信データが正常に受信された（即ち、受信エラーが無い）と判断できるため、Ｓ１４０に移行する。
【００４９】
Ｓ１４０では、現在の時刻（現在時刻）から、当該Ｓ１４０の処理を前回実行した時刻（前回時刻）を引くことにより、ＳＣＩ１５による通信データの受信間隔を求める。そして、続くＳ１５０にて、今回のＳ１４０で用いた現在時刻を、次回のＳ１４０で用いる前回時刻として記憶する。尚、現在時刻は、マイコン５に内蔵された周知のフリーランタイマの値によって検出される。
【００５０】
つまり、Ｓ１４０及びＳ１５０では、当該受信割込ルーチンが前回起動されてから今回起動されるまでの時間間隔（当該受信割込ルーチンの起動間隔）を、通信データの受信間隔として求めている。
そして次に、Ｓ１６０にて、Ｓ１４０で求めた受信間隔が、予め決められた通信間隔の正常範囲の上限値よりも長いか、その正常範囲内か、その正常範囲の下限値よりも短いかを判定する。尚、本実施形態においては、通信間隔のセンター値が５ｍｓであり、その通信間隔の正常範囲は４〜６ｍｓ（＝５ｍｓ±２０％）であるものとする。
【００５１】
そして、受信間隔が正常範囲内であると判定した場合には、Ｓ１７０に進んで、カウンタＣｎｔＬの値とカウンタＣｎｔＳの値とを、夫々“０“にクリアし、続くＳ１８０にて、第１種異常検出フラグＦＬと第２種異常検出フラグＦＳとを、夫々“０”にクリアする。尚、第１種異常検出フラグＦＬは、受信間隔が正常範囲よりも長い異常（第１種異常）が発生したことを示すフラグであり、第２種異常検出フラグＦＳは、受信間隔が正常範囲よりも短い異常（第２種異常）が発生したことを示すフラグである。
【００５２】
そして更に、続くＳ１９０にて、受信バッファ２５に格納されている受信データ（詳しくは情報データＤ０〜Ｄ７）をＲＡＭ１３に転送する受信処理を行い、その後、前述したＳ１３０に移行して、受信バッファ２５と受信履歴フラグとをクリアした後、当該ルーチンを終了する。
【００５３】
これに対し、上記Ｓ１６０にて、受信間隔が正常範囲の上限値よりも長いと判定した場合には、Ｓ２００に移行する。
Ｓ２００では、カウンタＣｎｔＬの値を１インクリメント（＋１）し、続くＳ２１０にて、そのカウンタＣｎｔＬの値が所定の判定値ＮＬ（本実施形態では３）以上であるか否かを判定する。そして、カウンタＣｎｔＬの値が判定値ＮＬ以上でなければ、そのままＳ１３０に移行するが、カウンタＣｎｔＬの値が判定値ＮＬ以上であれば、Ｓ２２０に進んで、第１種異常検出フラグＦＬをセットし（“１”にし）、その後、Ｓ１３０に移行する。
【００５４】
また、上記Ｓ１６０にて、受信間隔が正常範囲の下限値よりも短いと判定した場合には、Ｓ２３０に移行する。
Ｓ２３０では、カウンタＣｎｔＳの値を１インクリメント（＋１）し、続くＳ２４０にて、そのカウンタＣｎｔＳの値が所定の判定値ＮＳ（本実施形態では３）以上であるか否かを判定する。そして、カウンタＣｎｔＳの値が判定値ＮＳ以上でなければ、そのままＳ１３０に移行するが、カウンタＣｎｔＳの値が判定値ＮＳ以上であれば、Ｓ２５０に進む。
【００５５】
そして、Ｓ２５０では、第２種異常検出フラグＦＳをセットし（“１”にし）、続くＳ２６０では、以後の当該受信割込ルーチンの起動が禁止されるように割込ベクタを変更する。つまり、受信割込要求が発生した時に、当該受信割込ルーチンに代えて、何も処理を行わずにリターンするだけのダミールーチンが起動されるようにする。尚、マイコン５の機能として、受信割込要求を内部レジスタの設定によって無効にすることができるのであれば、その内部レジスタの設定により、当該受信割込ルーチンが起動されるのを禁止しても良い。
【００５６】
そして、上記Ｓ２６０の処理を行った後、Ｓ１３０に移行する。すると、以後は、ＳＣＩ１５によって受信割込要求が発生されても、当該受信割込ルーチンは起動されなくなる。
尚、本実施形態では、この受信割込ルーチンにおけるＳ１６０〜Ｓ１８０及びＳ２００〜Ｓ２６０の処理が、異常モード検出対応処理に相当している。
【００５７】
次に、図４は、マイコン５において、所定時間毎に起動される定期ルーチンとしての時間割込ルーチンを表すフローチャートである。尚、本実施形態において、この時間割込ルーチンの起動間隔は、通信間隔の正常範囲（４〜６ｍｓ）の下限値と同じ４ｍｓに設定されている。よって、以下、この時間割込ルーチンを４ｍｓ時間割込ルーチンという。
【００５８】
図４に示すように、この４ｍｓ時間割込ルーチンの実行が開始されると、まずＳ３１０にて、当該ルーチンに割り当てられた処理のうち、通信には直接関係のない他の制御処理（以下、４ｍｓ毎の他の制御処理という）を行う。
そして、続くＳ３２０にて、第２種異常検出フラグＦＳがセットされているか否かを判定し、第２種異常検出フラグＦＳがセットされていなけば、そのままＳ３９０に移行して、４ｍｓ毎の他の制御処理の残り部分を行い、その後、当該ルーチンを終了する。
【００５９】
一方、上記Ｓ３２０にて、第２種異常検出フラグＦＳがセットされていると判定した場合には、受信割込ルーチンの起動が禁止されている状態であることから、その受信割込ルーチンの代わりに受信間隔が正常に戻ったか否かを判定するため、以下のＳ３３０〜Ｓ３８０の処理を行う。
【００６０】
即ち、まずＳ３３０にて、受信履歴フラグがセットされているか否かを判定し、受信履歴フラグがセットされていなければ、ＳＣＩ１５により通信データが受信されていないことから、そのままＳ３９０に移行する。
また、上記Ｓ３３０で受信履歴フラグがセットされていると判定した場合には、当該４ｍｓ時間割込ルーチンが前回起動されてから今回起動されるまでの間に、ＳＣＩ１５が通信データを少なくとも１回以上受信していることから、Ｓ３４０に進んで、フレーミングエラーフラグとオーバーランエラーフラグとが何れか一方でもセットされているか否かを判定する。
【００６１】
そして、フレーミングエラーフラグとオーバーランエラーフラグとが何れか一方でもセットされていたならば、Ｓ３４５に進んで、そのセットされているフラグをクリアし、その後、Ｓ３８０に移行する。そして、このＳ３８０にて、受信バッファ２５をクリアすると共に、受信履歴フラグをクリアし、その後、Ｓ３９０に進む。
【００６２】
これに対し、上記Ｓ３４０にて、フレーミングエラーフラグとオーバーランエラーフラグとが両方共にセットされていないと判定した場合には、Ｓ３５０に進んで、カウンタＣｎｔＳの値と第２種異常検出フラグＦＳとを夫々“０”にクリアする。
【００６３】
そして、続くＳ３６０にて、受信割込ルーチンのＳ１９０と全く同様に、受信バッファ２５に格納されている受信データをＲＡＭ１３に転送する受信処理を行う。
そして更に、続くＳ３７０にて、図３の受信割込ルーチンが以後起動されるように、割込ベクタを変更する。つまり、割込ベクタを、図３のＳ２６０で変更する前の状態に戻して、受信割込ルーチンが起動されるのを許可するのである。尚、受信割込ルーチンの起動が内部レジスタの設定によって無効にされているのであれば、その内部レジスタの値を、受信割込ルーチンが起動されるように設定し直せば良い。
【００６４】
そして、上記Ｓ３７０の処理を行った後、Ｓ３８０に進んで、受信バッファ２５をクリアすると共に、受信履歴フラグをクリアし、その後、Ｓ３９０で４ｍｓ毎の他の制御処理の残り部分を行った後、当該ルーチンを終了する。
この４ｍｓ時間割込ルーチンでは、Ｓ３３０とＳ３４０の処理により、当該ルーチンが前回起動されてから今回起動されるまでの４ｍｓの間に、ＳＣＩ１５が通信データを１回だけ受信したか否かを判定するようにしている。
【００６５】
つまり、まず、この４ｍｓ時間割込ルーチンでは、Ｓ３３０で受信履歴フラグがセットされていると肯定判定すると、必ずＳ３８０にて、その受信履歴フラグをクリアする。このため、もし、当該４ｍｓ時間割込ルーチンが前回起動されてから今回起動されるまでの間に、ＳＣＩ１５が通信データを２回以上受信していたならば、受信履歴フラグだけでなく、オーバーランエラーフラグもセットされることとなり、また、当該４ｍｓ時間割込ルーチンが前回起動されてから今回起動されるまでの間に、ＳＣＩ１５が通信データを１回だけ受信していたならば、受信履歴フラグだけがセットされることとなる。
【００６６】
そして、上記Ｓ３４０にて、フレーミングエラーフラグとオーバーランエラーフラグとが両方共にセットされていないと否定判定した場合（Ｓ３４０：ＮＯ）には、受信履歴フラグがセットされており且つオーバーランエラーフラグはセットされていない状態である。
【００６７】
よって、その場合には、当該ルーチンが前回起動されてから今回起動されるまでの４ｍｓの間に、ＳＣＩ１５が通信データを１回だけ受信したと判定することができる。
そして、この４ｍｓ時間割込ルーチンでは、上記Ｓ３４０での否定判定により、当該４ｍｓ時間割込ルーチンが前回起動されてから今回起動されるまでの間にＳＣＩ１５が通信データを１回だけ受信したことを確認したならば、正常範囲（４〜６ｍｓ）よりも短くなっていた受信間隔が正常範囲内に戻ったと判断している。
【００６８】
そして更に、Ｓ３４０で否定判定した場合には、ＳＣＩ１５で受信された受信データにフレーミングエラーも無いため、Ｓ３６０にて、ＳＣＩ１５の受信バッファ２５から、その正常な受信データをＲＡＭ１３へ転送し、更にＳ３７０にて、それまで禁止されていた受信割込ルーチンの起動を許可するようにしている。
【００６９】
以上のような本実施形態のＥＣＵ１では、送信側のＥＣＵに異常が生じて、そのＥＣＵからの送信間隔が正常範囲より長くなると、図５に示すように、マイコン５のＳＣＩ１５が１フレーム分の通信データを受信するタイミング（受信タイミング）の間隔である受信間隔及び受信割込ルーチンの起動間隔が、正常範囲（４〜６ｍｓ）よりも長くなる。尚、図５では、時刻ｔ１〜時刻ｔ２までの間、受信間隔が正常範囲より長くなっている。
【００７０】
すると、受信割込ルーチンでは、Ｓ１６０の判定処理により、受信間隔が正常範囲の上限値よりも長い第１種異常が発生したと判定されるようになり、Ｓ１９０での受信処理が行われなくなる。
そして更に、受信割込ルーチンにて、Ｓ１６０の判定処理により、第１種異常が発生したと判定されるようになると、図５における時刻ｔ１〜時刻ｔ２の期間内に示す如く、ＳＣＩ１５により通信データが受信されて受信割込ルーチンが起動される毎に、カウンタＣｎｔＬの値が１ずつ増加される（Ｓ２００）。そして、カウンタＣｎｔＬの値が判定値ＮＬ（＝３）以上になると（Ｓ２１０：ＹＥＳ）、第１種異常が発生したという異常判定が確定されて、第１種異常検出フラグＦＬがセットされる（Ｓ２２０）。尚、この第１種異常検出フラグＦＬは、図示しない他の処理によって参照され、例えば、そのフラグＦＬがセットされている継続時間から、通信線３の断線などが検出される。
【００７１】
その後、送信側のＥＣＵからの通信データの送信間隔が正常範囲に戻って、図５の時刻ｔ２以降に示す如く、ＳＣＩ１５による通信データの受信間隔及び受信割込ルーチンの起動間隔が正常範囲に戻ると、受信割込ルーチンでは、Ｓ１６０の判定処理により、受信間隔が正常範囲内であると判定（即ち、正常に戻ったと判定）されるようになり、Ｓ１９０での受信処理が再び行われるようになる。尚、この時、カウンタＣｎｔＬの値と第１種異常検出フラグＦＬは、Ｓ１７０とＳ１８０の処理によってクリアされる。
【００７２】
一方、本実施形態のＥＣＵ１において、送信側のＥＣＵに異常が生じて、そのＥＣＵからの送信間隔が正常範囲より短くなると、図６に示すように、ＳＣＩ１５による通信データの受信間隔及び受信割込ルーチンの起動間隔が、正常範囲（４〜６ｍｓ）よりも短くなる。尚、図６では、時刻ｔ３〜時刻ｔ５までの間、受信間隔が正常範囲より短くなっている。
【００７３】
すると、受信割込ルーチンでは、Ｓ１６０の判定処理により、受信間隔が正常範囲の下限値よりも短い第２種異常が発生したと判定されるようになり、Ｓ１９０での受信処理が行われなくなる。
そして更に、受信割込ルーチンにて、Ｓ１６０の判定処理により、第２種異常が発生したと判定されるようになると、図６における時刻ｔ３〜時刻ｔ４の期間内に示す如く、ＳＣＩ１５により通信データが受信されて受信割込ルーチンが起動される毎に、カウンタＣｎｔＳの値が１ずつ増加される（Ｓ２３０）。そして、図６の時刻ｔ４に示す如く、カウンタＣｎｔＳの値が判定値ＮＳ（＝３）に達すると（Ｓ２４０：ＹＥＳ）、第２種異常が発生したという異常判定が確定されて、第２種異常検出フラグＦＳがセットされると共に（Ｓ２５０）、それ以後の受信割込ルーチンの起動が禁止される（Ｓ２６０）。
【００７４】
このようにして第２種異常検出フラグＦＳがセットされると、その後は、４ｍｓ時間割込ルーチンにて、Ｓ３３０〜Ｓ３８０の処理（以下、通信処理という）が実行され、この通信処理により、ＳＣＩ１５による通信データの受信間隔が正常に戻ったか否かが判定される。
【００７５】
そして、その後、送信側のＥＣＵからの通信データの送信間隔が正常範囲に戻って、図６の時刻ｔ５以降に示す如く、ＳＣＩ１５による通信データの受信間隔が正常範囲に戻り、ＳＣＩ１５が、４ｍｓ時間割込ルーチンの起動間隔内に通信データを１回だけ受信するようになると、図６の時刻ｔ６に示す如く、４ｍｓ時間割込ルーチンにおける上記通信処理にて、受信間隔が正常に戻ったと判定され（Ｓ３４０：ＮＯ）、カウンタＣｎｔＳの値と第２種異常検出フラグＦＳとがクリアされると共に（Ｓ３５０）、その時点で受信バッファ２５に格納されている最新且つ正常な受信データがＲＡＭ１３に転送され（Ｓ３６０）、更に、受信割込ルーチンの起動が許可される（Ｓ３７０）。
【００７６】
よって、以後は、ＳＣＩ１５にて通信データが受信される毎に、再び受信割込ルーチンが起動されるようになり、その受信割込ルーチンにて、Ｓ１９０の受信処理が行われることとなる。また、第２種異常検出フラグＦＳがクリアされると、４ｍｓ時間割込ルーチンでは、上記Ｓ３３０〜Ｓ３８０の通信処理が再び実行されなくなる。
【００７７】
以上詳述したように、本実施形態のＥＣＵ１では、受信間隔が正常範囲よりも長い異常時と短い異常時とで、受信間隔の正常復帰判定の処理方法を変えており、特に、受信間隔が正常範囲よりも長い第１種異常の検出時には、引き続き受信割込ルーチンで正常復帰判定を行い、受信間隔が正常範囲よりも短い第２種異常の検出時には、受信割込ルーチンの起動を禁止して、起動周期が正常な受信間隔と同等な４ｍｓ時間割込ルーチンにより、受信間隔の正常復帰判定を行うようにしている。
【００７８】
よって、通信データの受信間隔が異常になったことと、その異常が解消されて受信間隔が正常に戻ったこととを、マイコン５での処理負荷を増大させることなく正確に判定することができる。
即ち、受信割込ルーチンにて第１種異常の発生を検知した場合（受信間隔が正常範囲よりも長いと異常判定した場合）には、通信データの受信間隔が正常時よりも長くなっているため、そのまま受信割込ルーチンで正常復帰判定を行っても、その受信割込ルーチンが正常時よりも頻繁に起動されることはなく、処理負荷は特に増大しない。そして、受信割込ルーチンによれば、そのルーチンの起動間隔が受信間隔に等しいため、受信間隔を正確に検出することができ、受信間隔が正常に戻ったことを正確に判定することができる。もちろん、受信割込ルーチンによれば、受信間隔が正常範囲から外れて第１種異常と第２種異常との何れが発生しているのかも、正確に判定することができる。
【００７９】
また、受信割込ルーチンにて第２種異常の発生を検知した場合（受信間隔が正常範囲よりも短いと異常判定した場合）には、受信割込ルーチンの起動が禁止されるため、受信割込ルーチンが正常時よりも頻繁に起動されることが防止される。そして特に、この場合には、受信間隔が正常な範囲よりも短くなっているということが分かっているため、起動周期が正常な受信間隔と同等な４ｍｓ時間割込ルーチンによって、受信間隔が正常に戻ったか否かを正確に判定することができる。つまり、４ｍｓ時間割込ルーチンにて、受信履歴フラグとオーバーランエラーフラグとを監視し、当該ルーチンが前回起動されてから今回起動されるまでの間にＳＣＩ１５が通信データを１回だけ受信したか否かを確認するだけで、受信間隔が正常に戻ったか否かを正確に判定することができる。このため、受信間隔が正常範囲より短くなり、受信割込ルーチンにて第２種異常の発生を検知した場合にも、マイコン５での処理負荷が増大することはない。
【００８０】
一方更に、本実施形態のＥＣＵ１では、４ｍｓ時間割込ルーチンにて、受信間隔が正常に戻ったと判定したならば（Ｓ３４０：ＮＯ）、受信割込ルーチンの起動を許可するだけでなく、その時点でＳＣＩ１５の受信バッファ２５に格納されている通信データをＲＡＭ１３に転送するようにしている（Ｓ３６０）。
【００８１】
このため、受信間隔が正常に戻った後の信頼性の高い受信データを、極力早期にＲＡＭ１３へ転送することができ、制御性を向上させることができる。
つまり、４ｍｓ時間割込ルーチンで受信間隔が正常に戻ったと判定された後に、ＳＣＩ１５により次の通信データが受信されて、それに伴い起動される受信割込ルーチンでＳ１９０の受信処理が行われれば、ＲＡＭ１３に正常な受信データが転送されることとなるが、それよりも１回前に受信された正常な受信データをＲＡＭ１３に転送することができ、その分、最新の受信データを用いた制御をいち早く開始できるからである。
【００８２】
以上、本発明の一実施形態について説明したが、本発明は、種々の形態を採り得ることは言うまでもない。
例えば、 上記実施形態では、定期ルーチンとしての時間割込ルーチンの起動間隔を、受信間隔（通信間隔）の正常範囲の下限値に設定したが、そのルーチンの起動間隔は、受信間隔の正常範囲内の値であれば良い。但し、上記実施形態の如く正常範囲の下限値に設定すれば、受信間隔が正常範囲よりも短くなってから正常範囲内に復帰したことを、いち早く検知し易くなるという点で有利である。
【００８３】
また、上記実施形態のＥＣＵ１は、車両内通信システムを構成するものであったが、本発明は、車両用以外のＥＣＵに対しても全く同様に適用することができる。
【図面の簡単な説明】
【図１】  実施形態の車両内通信システムを説明する説明図であり、（Ａ）はそのシステムの構成を表し、（Ｂ）は通信データのフォーマットを表している。
【図２】  実施形態の電子制御装置（ＥＣＵ）の構成を説明する説明図である。
【図３】  電子制御装置のマイコンで実行される受信割込ルーチンを表すフローチャートである。
【図４】  電子制御装置のマイコンで実行される４ｍｓ時間割込ルーチンを表すフローチャートである。
【図５】  受信間隔が正常範囲よりも長くなった場合の作用を説明するタイムチャートである。
【図６】  受信間隔が正常範囲よりも短くなった場合の作用を説明するタイムチャートである。
【符号の説明】
１，１ａ，１ｂ…ＥＣＵ（電子制御装置）、３…通信線、５…マイコン（マイクロコンピュータ）、７…通信ドライバ回路、９…ＣＰＵ、１１…ＲＯＭ、１３…ＲＡＭ、１５…ＳＣＩ（シリアル通信インターフェース）、１７…バス、１９…入力バッファ、２１…出力バッファ、２３…受信用シフトレジスタ、２５…受信バッファ、２７…送信バッファ、２９…送信用シフトレジスタ、３１…入出力回路、３３…制御回路
【図１】
0004465905.tif 000002
【図２】
0004465905.tif 000003
【図３】
0004465905.tif 000004
【図４】
0004465905.tif 000005
【図５】
0004465905.tif 000006
【図６】
0004465905.tif 000007