(57)【要約】【課題】ＥＣＵに配置された通信コントローラに依存することなく通信系の異常を検出可能なＥＣＵを提供すること。【解決手段】車載ネットワーク１３，１４に接続された機器との通信を制御する通信コントローラ２２と、通信コントローラ２２から受け付けた送信信号から比較用信号を生成する送受信回路１２と、通信コントローラ２２と送受信回路１２を接続する送信線２４、及び、通信コントローラ２２と送受信回路１２を接続する受信線２５に接続された比較手段２３と、を有し、比較手段２３は、送受信回路１２に検査信号を出力し、送受信回路１２が検査信号から生成した比較用信号の入力を受け付け、送信信号と前記比較用信号を比較する、ことを特徴とする。【選択図】図１
2011229079.tif 000002
【特許請求の範囲】
【請求項１】
車載ネットワークに接続された機器との通信を制御する通信コントローラと、
前記通信コントローラから受け付けた送信信号から比較用信号を生成する送受信回路と、
前記通信コントローラと前記送受信回路を接続する送信線、及び、前記通信コントローラと前記送受信回路を接続する受信線に接続された比較手段と、を有し、
前記比較手段は、前記送受信回路に検査信号を出力し、前記送受信回路が前記検査信号から生成した前記比較用信号の入力を受け付け、前記送信信号と前記比較用信号を比較する、
ことを特徴とする電子制御ユニット。
【請求項２】
データの送信を要求するＣＰＵと、
前記ＣＰＵからデータの送信要求を受け付け、車載ネットワークに接続された機器との通信を制御する通信コントローラと、
前記通信コントローラが前記データから生成した送信信号を前記車載ネットワークに送信する送受信回路と、
前記通信コントローラと前記送受信回路を接続する送信線に接続された比較手段と、
前記比較手段に比較のタイミングを通知するタイミング通知手段と、を有し、
前記比較手段は、前記タイミング通知手段が通知するタイミングに基づき、前記送信線を介し入力された前記送信信号に含まれる前記データと、前記ＣＰＵから入力された前記データと比較する、
ことを特徴とする電子制御ユニット。
【請求項３】
データの送信を要求するＣＰＵと、
前記ＣＰＵからデータの送信要求を受け付け、車載ネットワークに接続された機器との通信を制御する通信コントローラと、
前記通信コントローラが前記データから生成した送信信号を前記車載ネットワークに送信し、前記送信信号から比較用信号を生成する送受信回路と、
前記通信コントローラと前記送受信回路を接続する送信線、及び、前記通信コントローラと前記送受信回路を接続する受信線に接続された比較手段と、を有し、
前記比較手段は、前記送信信号と前記比較用信号を比較する、
ことを特徴とする電子制御ユニット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載される電子制御装置に関し、特に、他の電子制御装置と通信する電子制御装置に関する。
【背景技術】
【０００２】
車両制御の電子化・複雑化が進むにつれ、車両に搭載される電子制御装置（以下、ＥＣＵという）の数が増大している。これら複数のＥＣＵが互いに通信することで情報の共有や高度な制御が可能になるため、各ＥＣＵは車載ＬＡＮを介して接続されている。このため各ＥＣＵはマイコンだけでなく、通信専用の通信コントローラを有する。
【０００３】
通信コントローラに不具合があると、そのＥＣＵだけでなく、通信コントローラに不具合のあったＥＣＵと通信していた他の複数のＥＣＵにも影響を及ぼすおそれがある。このため従来から通信コントローラには異常を検出する仕組みが設けられている。例えば、車載ＬＡＮのプロトコルの１つであるＣＡＮ（Controller  Area  Network）プロトコルでは、通信コントローラが、自ノードが送信した送信ビットをそのまま受信できる仕組みを利用して送信ビットと受信ビットとを比較し、ビットエラーを検出している。
【０００４】
これに対し、ＦｒｅｘＲａｙプロトコルでは係る仕組みがないが、ＦｒｅｘＲａｙプロトコルにおいて通信コントローラが出力する信号を利用した不具合の検出方法が提案されている（例えば、特許文献１参照。）。特許文献１には、通信コントローラから送信信号線に出力された送信信号をトランシーバが受信して、受信信号線に立ち上がりエッジが生じたか否かを、エッジ検出回路を用いて検出する異常検出方法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１０５５４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
このように、従来、通信コントローラがなければ通信コントローラの故障を検出することは困難であった。すなわち、ＣＡＮプロトコルでは、自ノードが送信した送信ビットをそのまま受信できる仕組みを利用しており、特許文献１では通信コントローラが送信する送信要求信号や送信信号を利用している。
【０００７】
しかしながら、故障の検出に通信コントローラが必須となると、通信コントローラの負荷が増大するという問題がある。
【０００８】
また、複数のＥＣＵが１つの車両に搭載される状況では、プロトコルの異なる通信コントローラが各ＥＣＵに搭載されることもあるが、この場合にＥＣＵ間で検出可能な通信異常に違いがあると、車載ＬＡＮ上でフェイルセーフの設計を統一しにくい。
【０００９】
本発明は、上記課題に鑑み、ＥＣＵに配置された通信コントローラに依存することなく通信系の異常を検出可能なＥＣＵを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、車載ネットワークに接続された機器との通信を制御する通信コントローラと、通信コントローラから受け付けた送信信号から比較用信号を生成する送受信回路と、通信コントローラと送受信回路を接続する送信線、及び、通信コントローラと送受信回路を接続する受信線に接続された比較手段と、を有し、比較手段は、送受信回路に検査信号を出力し、送受信回路が検査信号から生成した比較用信号の入力を受け付け、送信信号と前記比較用信号を比較する、ことを特徴とする。
【発明の効果】
【００１１】
ＥＣＵに配置された通信コントローラに依存することなく通信系の異常を検出可能なＥＣＵを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】ＥＣＵの概略構成図の一例である。
【図２】検査信号と比較方法を模式的に説明する図の一例である。
【図３】比較器が異常の有無を判定する手順を示すフローチャート図の一例である。
【図４】ＥＣＵの概略構成図の一例である（実施例２）。
【図５】比較器が異常の有無を判定する手順を示すフローチャート図の一例である（実施例２）。
【図６】ＥＣＵの概略構成図の一例である（実施例３）。
【図７】比較器が異常の有無を判定する手順を示すフローチャート図の一例である（実施例３）。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための形態について図面を参照しながら実施例を挙げて説明する。
【実施例１】
【００１４】
本実施例では、通信コントローラを介さずに、バスの異常を検出するＥＣＵ（electronic  control  unit）について説明する。
【００１５】
図１は、ＥＣＵ１００の概略構成図の一例を示す。概略を説明する。
（１）まず、比較器２３が端子Ｄからデータ線２９を介して、トランシーバ１２の端子Ｔｘに検査用の検査信号を送信する。
（２）トランシーバ１２の送信回路２６は、検査信号をバス１３，１４に出力するが、受信回路２７はその検査信号から比較用信号を生成して、端子Ｒｘから通信コントローラ２２の端子Ｒｘに出力する。この際、比較用信号はデータ線２８を介して、比較器２３の端子Ｒにも出力される。
（３）信号線２４，トランシーバ１２及び信号線２５に断線などの異常がなければ、比較器２３の端子Ｄと端子Ｒをそれぞれ通過する検査信号と比較用信号は等しくなる。比較器２３は、検査信号と比較用信号をビット単位で比較することで、信号線２４，トランシーバ１２及び２５の異常を検出する。
【００１６】
したがって、通信コントローラ２２は作動していなくても、ＥＣＵ１００は、比較器２３だけにより信号線２４，トランシーバ１２及び信号線２５における異常の有無を検出することができる。
【００１７】
〔ＥＣＵ１００の構成〕
以下、詳細に説明する。ＥＣＵ１００は、マイコン１１、トランシーバ１２及びデータ線２８，２９を有する。リセット回路やＩ／Ｏは省略したが、各ＥＣＵ１００に汎用的な又は特有の回路を有していてもよい。
【００１８】
マイコン１１は、ＣＰＵ２１、通信コントローラ２２、及び、比較器２３を有する。この他、ＲＡＭやＲＯＭ、入出力Ｉ／Ｏは省略した。入出力Ｉ／Ｏには例えば各種のセンサが接続されている。ＣＰＵ２１は、ＲＯＭに記憶されたプログラムを、ＲＡＭを作業メモリにして実行する。ＣＰＵ２１がプログラムを実行することにより、ＲＯＭに記憶されたデータやセンサから検出した検出信号を加工し、加工して得られたデータを車載ＬＡＮ上に送信する（以下、単にＣＰＵ２１が「データを送信する」という。）。データは、通信コントローラ２２の送信バッファに記憶される。
【００１９】
通信コントローラ２２は、ＣＡＮやＦｌｅｘＲａｙ等の通信プロトコルに従って、送信バッファのデータをシリアルの送信信号に変換して出力端子Ｔｘからトランシーバ１２の端子Ｔｘに出力する。ＣＡＮプロトコルの場合、通信コントローラ２２はフレーム単位でデータを送信する。また、ＦｌｅｘＲａｙプロトコルの場合、通信コントローラ２２は予め定められたタイミングのスタティックスロット（アイドル時間、ヘッダセグメント、ペイロードセグメント及びトレイラセグメント）において送信信号を送信する。
【００２０】
また、ＣＡＮプロトコルによるデータの受信時、通信コントローラ２２は、受信したフレームのデータＩＤを、予め定められている受信対象のデータＩＤと比較し、受信すべきデータをＣＰＵ２１に出力し、それ以外は破棄する。ＦｌｅｘＲａｙプロトコルの場合、通信コントローラ２２は、ヘッダセグメントに含まれる「Frame ID」に基づき、スタティックスロットの内容や送信したＥＣＵ１００を識別する。
【００２１】
このように、通信コントローラ２２の機能はプロトコルにより異なるが、本実施例では、異常検出に通信コントローラ２２が関わらないので、通信プロトコルはどのようなものでもよい。
【００２２】
トランシーバ１２の送信回路２６は、データの送信時、通信コントローラ２２が端子Ｔｘに入力した論理レベルの送信信号を、対応する差動電圧に変換して１対のバス１３，１４に出力する。バス１３，１４はＣＡＮプロトコルではＣＡＮＨとＣＡＮＬと呼ばれ、ＦｌｅｘＲａｙプロトコルではＢＰ、ＢＭと呼ばれる。
【００２３】
また、データの受信時、トランシーバ１２の受信回路２７は、差動電圧を読み取り、所定の電圧範囲に含まれるように整形した電圧内の受信信号を、通信コントローラ２２の端子Ｒｘに出力する。通信コントローラ２２の端子Ｒｘはコンパレータを有しており、所定の閾値電圧と受信回路２７からの受信信号とを比較してデジタルデータを取得する。
【００２４】
本実施例では、通信コントローラ２２の端子Ｔｘとトランシーバ１２の端子Ｔｘを結ぶ信号線２４に比較器２３の端子Ｄが、通信コントローラ２２の端子Ｒｘとトランシーバ１２の端子Ｒｘを結ぶ信号線２５に、比較器２３の端子Ｒが、それぞれ接続されている点が特徴の１つである。
【００２５】
〔比較器２３〕
比較器２３は、出力用ポートの端子Ｄと入力用ポートの端子Ｒを有し、端子Ｄから出力する検査信号と、端子Ｒから入力された比較用信号を比較して、比較結果をＣＰＵ２１に通知する。端子Ｄ，Ｒそれぞれには、各種のデータの記憶用のバッファが確保されている。
【００２６】
ＣＰＵ２１は、アイドル状態になった場合や、起動直後、又は、電源オフの直前等、所定のタイミングになると、比較器２３に比較を要求する。すなわち、通信コントローラ２２が実需のデータを送信しないタイミングでは、ＣＰＵ２１は比較の開始を比較器２３に要求することができる。こうすることで、比較器２３が出力した検査信号が、通信コントローラ２２が送信する実需の送信信号と干渉することを防止できる。
【００２７】
比較器２３は用意した検査データを用いて比較を開始する。検査信号に変換される検査データは、「１０１０１０１１００…」などの無作為のデータ、「１」「０」が交互に並ぶデータ、又は、「１」「０」の数が既知のデータ等である。検査データは、比較器２３又はマイコン１１の不揮発メモリに記憶されていてもよいし、ＣＰＵ２１がプログラムを実行して生成したものでもよい。
【００２８】
図２は、検査信号と比較方法を模式的に説明する図の一例である。図２（ａ）はＣＡＮプロトコルを想定した検査信号の一例を、図２（ｂ）はＦｌｅｘＲａｙプロトコルを想定した検査信号の一例を、それぞれ示す。
【００２９】
ＣＡＮプロトコルの場合、フレームは、ＳｏＦ、データＩＤ、ＲＴＲ、コントロールフィールド、データフィールド、ＣＲＣ、ＡＣＫ、ＥｏＦの各フィールドを有する。ここで、検査信号もバス１３，１４を介して他のＥＣＵ１００に送信され得るため、検査信号は、予め定められたダミーの「データＩＤ」を有することが好ましい。ダミーのデータであれば、他のＥＣＵ１００は受信しても破棄すべきものであることを検出できる。なお、検査信号は「データフィールド」に格納される。
【００３０】
ところで、ＦｌｅｘＲａｙプロトコルの場合は、スタティックスロットが確保されているが、ＣＡＮプロトコルの場合、イベントドリブン型なので、比較器２３が検査信号をトランシーバ１２に出力している間に、他のＥＣＵ１００がデータを送信するおそれがある。このため、比較器２３は、ＣＡＮプロトコルのアクセス調停であるＣＤＭＡ／ＣＡ（Carrier  Sense  Multiple  Access/Collision  Avoidance）を利用して、送信権を獲得する。
【００３１】
ＣＡＮプロトコルの場合、ダミーのデータＩＤは、好ましくは、優先度が比較的又は最も高いデータＩＤであり、他のＥＣＵ１００のデータよりも優先的に送信しやすいようになっている。
【００３２】
図２（ａ）では、データＩＤの多くがドミナントになっており（ドミナントはリセッシブを置き換える）、他のＥＣＵ１００との調停が生じても、比較器２３が優先的にデータを送信することができるようになる。他のＥＣＵ１００のデータＩＤの方が優先的であった場合は、検査信号と比較用信号が一致しないことになるが、他のＥＣＵ１００のデータの送信を阻害することを防止できる。この場合（比較結果が一致しない場合）、比較器２３は、再度、検査信号を送信して比較を行い、それでも検査信号と比較用信号が一致しない場合に異常を検出すればよい。
【００３３】
ＦｌｅｘＲａｙプロトコルの場合、ヘッダセグメントの先頭の１〜５ビット（ステータスビット）に続く１１ビットの「Frame  ID」に、ダミーデータを示すビットを含めておく。検査データは「ペイロードセグメント」に格納される。スタティックスロットが確保されているＦｌｅｘＲａｙプロトコルの場合は、調停を考慮する必要がない。なお、通信コントローラ２２は、例えば定期的に、比較器２３にスタティックスロットのタイミングを通知する。
【００３４】
以上のように、通信コントローラ２２のプロトコルにほとんど依存することなく、比較器２３は、ただ検査信号と受信した比較用信号を比較すればよい。
【００３５】
比較器２３の２つの比較方法について説明する。例えば、信号線２４から送信回路２６にかけて断線した箇所があれば、比較器２３がＨｉｇｈの電圧値を含む検査信号を出力しても、比較器２３の端子Ｒに入力される比較用信号は全てＬｏｗ又はＨｉｇｈになる。また、例えば、受信回路２７から信号線２５にかけて断線した箇所があれば、比較器２３がＨｉｇｈの電圧値を含む検査信号を出力しても、比較器２３の端子Ｒに入力される比較用信号は全てＬｏｗ又はＨｉｇｈになる。
【００３６】
（１）比較器２３は、端子Ｄから出力する検査信号と、端子Ｒから入力される比較用信号とを、クロック信号に基づき１ビットずつ取り出し、両者が「Ｈ」か又は両者が「Ｌ」かを比較する。全て一致した場合は正常であるので、比較器２３は何もしない。検査信号と比較用信号の１ビット以上が一致しない場合、比較器２３は、ＣＰＵ２１に通知することができる。
【００３７】
（２）比較器２３は、クロック信号に基づき１ビットずつ取り出し、端子Ｄから出力する検査信号の電圧値が閾値電圧を超えた回数と、端子Ｒに入力された比較用信号の電圧値が閾値電圧を超えた回数と、をそれぞれカウントし、回数が一致するか否かを判定する。回数が一致すれば正常であるので、比較器２３は何もしない。回数が一致しない場合、比較器２３は、ＣＰＵ２１に通知することができる。この方法は検査信号と比較用信号にタイムラグがある場合に有効である。
【００３８】
なお、一致したか否かの判定基準は、適宜、定めることができる。例えば、１００％の一致でなくても、ノイズなどの影響を考慮して９５％程度一致すれば、比較器２３は一致したと判定することができる。
【００３９】
比較器２３によるＣＰＵ２１への通知方法は、フラグをオンにする、ＣＰＵ２１に割り込みする等である。この通知を受けてＣＰＵ２１は、例えばダイアグコードをＲＯＭに記憶したり、メータパネルの警告用のアイコンを点灯するなどして、乗員に異常を通知する。また、ＣＰＵ２１は、外部のサーバにダイアグコード等と共に異常を通知してもよい。
【００４０】
〔動作手順〕
図３は、比較器２３が異常の有無を判定する手順を示すフローチャート図の一例である。まず、ＣＰＵ２１は、検査タイミングになったことを比較器２３に通知する（Ｓ１０）。
【００４１】
次に、比較器２３は、検査信号を端子Ｄからトランシーバ１２の端子ＴＸに出力する（Ｓ２０）。ＣＡＮプロトコルの場合はＣＰＵ２１からの通知をトリガーに、ＦｌｅｘＲａｙプロトコルの場合は通信コントローラ２２からスタティックスロットのタイミングになったという通知をトリガーに、比較器２３は、検査信号を端子Ｄからトランシーバ１２の端子ＴＸに出力する。
【００４２】
検査信号を端子Ｄから出力することで、送信回路２６及び受信回路２７を介して比較用信号が比較器２３の端子Ｒに入力される（Ｓ３０）。トランシーバ１２から比較器２３までの間がバッファ等の遅延回路を介することなく接続されている場合、比較器２３が検査信号を出力した次のクロックから、端子Ｒに比較用信号が入力される。比較器２３は遅延分のクロックだけ、比較用信号をずらして検査信号と比較する。
【００４３】
比較器２３は、検査データに対応した一連の検査信号を出力すると、端子Ｄの検査信号と端子Ｒの比較用信号が基準値以上に一致したか否かを判定する（Ｓ４０）。一致している場合（Ｓ４０のＹｅｓ）、信号線２４、トランシーバ１２及び信号線２５に異常がないので、比較器２３はなにもしない（Ｓ５０）。
【００４４】
基準値以上に一致しない場合（Ｓ４０のＮｏ）、信号線２４、トランシーバ１２及び信号線２５に異常があることになるので、比較器２３は異常を検出し、ＣＰＵ２１等に通知する（Ｓ６０）。
【００４５】
以上説明したように、本実施形態のＥＣＵ１００は、比較器２３を設け、トランシーバ１２と接続することで、通信コントローラ２２の負荷の増大を抑制して、信号線２４、トランシーバ１２及び信号線２５の異常の有無を検出することができる。
【実施例２】
【００４６】
本実施例では、通信コントローラ２２に余分な負荷をかけずに、通信コントローラ２２の異常を検出するＥＣＵ１００について説明する。
【００４７】
図４は、ＥＣＵ１００の概略構成図の一例を示す。まず、概略を説明する。
（１）ＣＰＵ２１はプログラムの実行により、データを送信する際、通信コントローラ２２だけでなく、比較器２３の端子Ｒ２にも同じデータのデータ信号を出力する。
（２）通信コントローラ２２は、送信信号の送信を開始する際、タイマ３２をオンにする。次いで、通信コントローラ２２は、フレーム（ＣＡＮプロトコルの場合）又はスタティックスロット（ＦｌｅｘＲａｙプロトコルの場合）を生成してトランシーバ１２にデータから変換した送信信号を出力する。送信信号は、信号線２４に接続された比較器２３にも出力される。
（３）トランシーバ１２の送信回路２６は送信信号をバス１３，１４に出力するが、受信回路２７は送信信号から比較用信号を生成して、通信コントローラ２２に出力する。
（４）比較器２３は、タイマ３２のカウント結果を利用して所定のタイミングになると（送信信号に含まれるデータが信号線２４に現れるタイミングになると）、ＣＰＵ２１から取得したデータ信号と、信号線２４から取得した送信信号の比較を開始する。
【００４８】
比較器２３は、データ信号と送信信号をビット単位で比較することで、通信コントローラ２２の異常を検出することができる。したがって、通信コントローラ２２は実需のデータを送信するだけで、比較器２３が通信コントローラ２２の異常の有無を検出することができる。なお、信号線２４に断線が生じていても、比較器２３は通信コントローラ２２の異常として検出するが、この場合は実施例１の異常の検出を行うことで、異常の種類や箇所を判別できる。
【００４９】
本実施例の比較器２３について説明する。本実施例の比較器２３は、通信コントローラ２２がデータから生成した送信信号と、ＣＰＵ２１が比較器２３に出力したデータ信号を比較する。このため、比較器２３の端子Ｒは信号線２４と接続され、比較器２３の端子Ｒ２は、データ線３３を介してＣＰＵ２１と接続されている。信号同士を比較するのでなく、送信信号から「１」「０」のデジタルデータを、データ信号から「１」「０」のデジタルデータをそれぞれ生成し、両者を比較してもよい。本実施例では両者を区別せず、信号同士を比較するものとする。
【００５０】
図２にて説明したように、フレームの先頭のデータＩＤ（ＣＡＮプロトコル）やFlame  ID（ＦｌｅｘＲａｙプロトコル）は、同じＥＣＵ１００でも送信するデータによって変わる可能性がある。よって、比較器２３が検査信号と比較用信号を比較するためには、データフィールド（ＣＡＮプロトコル）又はペイロードセグメント（ＦｌｅｘＲａｙプロトコル）に格納されたデータであることが好ましい。
【００５１】
例えば、ＣＡＮプロトコルの場合、データフィールドは、フレームの１９ビット目以降なので、図示したタイマ３２は通信コントローラ２２から通知を受けた時からクロックを１９回カウントすると、比較器２３に比較の開始を通知する。また、ＦｌｅｘＲａｙプロトコルの場合、ペイロードセグメントは、スタティックスロットのヘッダセグメント（４０ビット）の後なので、タイマ３２は通信コントローラ２２から通知を受けた時からクロックを４０回カウントすると、比較器２３に比較の開始を通知する。こうすることで、比較器２３は、ＣＰＵ２１が出力したデータ信号と、送信信号のデータフィールド又はペイロードセグメントに相当する部分を比較することができる。
【００５２】
比較器２３は、タイマ３２から通知を受けるまで、端子Ｒ２に設けられたバッファにデータ信号のまま又はデジタルのデータに変換してデータを記憶しておく。
【００５３】
タイマ３２による待機時間は、通信プロトコルによって異なるが、待機時間を複数のプロトコルにおいて最も長い時間に統一（固定値）できるので、通信プロトコルの相違はほとんどコスト増とはならない。例えば、本実施例では、通信プロトコルに関係なく、タイマ３２のクロックのカウント数を４０回としておくことができる。
【００５４】
ところで、ＣＰＵ２１が送信するデータは、ＮＲＺ（Non-Return-to-Zero）により符号化される。ＮＲＺではデータの「１」がＨｉｇｈに「０」がＬｏｗに割り当てられるので、ＣＰＵ２１が比較器２３に出力したデータ信号と、データフィールド又はペイロードセグメントに対応した送信信号とは一致するとしてよい。
【００５５】
しかし、ＮＲＺでは、ビットスタッフィングルールが定められているため、同一レベルが５ビット以上継続すると、通信コントローラ２２が強制的に「１」又は「０」を挿入する。このため、ＣＰＵ２１が送信対象としたデータによっては、通信コントローラ２２がトランシーバ１２に出力する送信信号と、ＣＰＵ２１が比較器２３に出力したデータ信号が異なる場合がある。
【００５６】
この不都合を回避する方法は２つある。１つは、比較器２３がビットスタッフィングルールを採用して、ＣＰＵ２１から入力されたデータ信号に「１」又は「０」が５ビット以上継続した箇所がある場合、強制的に「０」又は「１」を挿入する方法である。もう１つは、端子Ｒに入力された送信信号に「１」又は「０」が５ビット以上継続した箇所がある場合、６ビット目を破棄する方法である。いずれかの方法を採用することで、ビットスタッフィングルールに伴う不都合を回避できる。
【００５７】
比較方法は、実施例１と同様である。すなわち、比較器２３は、端子Ｒ２のデータ信号と端子Ｒの送信信号を、クロック信号に基づき１ビットずつ取り出し両者が「Ｈ」か又両者が「Ｌ」かを比較してもよいし、端子Ｒ２のデータ信号が閾値電圧を超えた回数と端子Ｒの送信信号が閾値電圧を超えた回数とをそれぞれカウントし、回数が一致するか否かを判定してもよい。一致したか否かの判定基準も、適宜、定めることができる。
【００５８】
なお、比較器２３は、ＣＰＵ２１が出力したデータに対応するデータ信号がなくなるか、又は、予め定められた所定個以上のビット数を比較すると比較を終了する。
【００５９】
図５は、比較器２３が異常の有無を判定する手順を示すフローチャート図の一例である。まず、ＣＰＵ２１は、データ信号を通信コントローラ２２と比較器２３に出力する（Ｓ１１０）。ＣＰＵ２１が送信する全てのデータについて、通信コントローラ２２の異常の有無を判定してもよいし、ＥＣＵ１００の電源のオンの直後など決まったタイミングで異常の有無を判定してもよい。
【００６０】
通信コントローラ２２は、通信プロトコルに応じてフレーム又はスタティックスロットを生成し、データから変換した送信信号の送信を開始するタイミングでタイマ３２をオンにする（Ｓ１２０）。こうすることで、タイマ３２は比較器２３が比較を開始するタイミングになると比較器２３に通知できる。
【００６１】
通信コントローラ２２は、送信信号をトランシーバ１２に送信する（Ｓ１３０）。
【００６２】
通信コントローラ２２が送信信号をトランシーバ１２に出力することで、送信信号が比較器２３の端子Ｒに入力される（Ｓ１４０）。
【００６３】
比較器２３は、タイマ３２がカウントを終了するまで待機している（Ｓ１５０）。この間、通信コントローラ２２は送信信号の送信を継続している。
【００６４】
タイマ３２がカウントを終了すると（Ｓ１５０のＹｅｓ）、比較器２３は、必要であればビットスタッフィングルールに対応しながら、端子Ｒ２から入力されたデータ信号と端子Ｒに入力された送信信号の比較を開始する（Ｓ１６０）。
【００６５】
なお、ＣＡＮプロトコルの場合、データＩＤによっては通信コントローラ２２が調停に負ける可能性がある。この場合、通信コントローラ２２は送信信号の送信を中止するので、タイマ３２をオフにする。送信権を得た場合には、タイマ３２は最後までカウントを終了でき、比較器２３は比較を開始することができる。
【００６６】
比較器２３は、ＣＰＵ２１から取得した全てのデータ信号又は所定量以上のデータ信号を比較すると、端子Ｒ２のデータ信号と端子Ｒの送信信号が基準値以上に一致したか否かを判定する（Ｓ１７０）。
【００６７】
比較の結果、基準値以上に一致している場合（Ｓ１７０のＹｅｓ）、通信コントローラ２２に異常がないので、比較器はなにもしない（Ｓ１８０）。
【００６８】
基準値以上に一致しない場合（Ｓ１７０のＮｏ）、通信コントローラ２２に異常があることになるので、比較器２３は異常を検出し、ＣＰＵ２１等に通知する（Ｓ１９０）。
【００６９】
以上説明したように、本実施形態のＥＣＵ１００は、比較器２３及びタイマ３２を設け、ＣＰＵ２１と比較器２３と、信号線２４と比較器２３をそれぞれ接続することで、通信コントローラ２２にはほとんど負荷をかけることなく、通信コントローラ２２の異常を検出することができる。また、異常の判定の際、実需のデータの送信を阻害することもない。
【実施例３】
【００７０】
図６は、本実施例のＥＣＵ１００の概略構成図の一例を示す。図６において図１と同一部には同一の符号を付しその説明は省略する。比較器２３が信号線２４、２５と接続されている点は図１と同じであるが、図６の比較器２３は検査信号を出力しない。概略を説明する。
（１）通信コントローラ２２は、ＣＰＵ２１の要求に基づき、送信信号をトランシーバ１２の端子Ｔｘに送信する。この際、送信信号はデータ線２９を介して、比較器２３の端子Ｄにも出力される。
（２）トランシーバ１２の送信回路２６は、送信信号をバス１３，１４に出力するが、受信回路２７はその送信信号から比較用信号を生成して、端子Ｒｘから通信コントローラ２２の端子Ｒｘに出力する。この際、比較用信号はデータ線２８を介して、比較器２３の端子Ｒにも出力される。
（３）信号線２４，トランシーバ１２及び信号線２５に断線などの異常がなければ、比較器２３の端子Ｄと端子Ｒをそれぞれ通過する送信信号と比較用信号は等しくなる。比較器２３は、送信信号と比較用信号をビット単位で比較することで、信号線２４，トランシーバ１２及び２５の異常を検出する。
【００７１】
したがって、通信コントローラ２２が実需のデータを送信するだけで、ＥＣＵ１００は信号線２４，トランシーバ１２及び信号線２５における異常の有無を検出することができる。
【００７２】
本実施例の比較器２３は、通信コントローラ２２がデータから生成した送信信号と、受信回路２７が送信信号から生成した比較用信号を比較する。このため、比較器２３の端子Ｄは信号線２４と接続され、比較器２３の端子Ｒは信号線２５と接続されている。したがって、通信コントローラ２２が送信した送信信号は全て、データ線２９を介して比較器２３の端子Ｄに入力され、受信回路２７が生成した比較用信号は全て、データ線２８を介して比較器２３の端子Ｒに入力される。
【００７３】
比較器２３は、端子Ｄに入力された送信信号のエッジをトリガに、端子Ｄに入力される送信信号の記憶や数クロックの遅延管理を開始する。送信信号と比較用信号が同時に比較器２３に到達する場合、記憶や遅延管理は不要である。端子Ｒにも同時か又は少し遅れて比較用信号が入力される。比較器２３は、端子Ｒへの比較用信号のエッジをトリガに、端子Ｄに入力される送信信号と端子Ｒに入力される比較用信号の比較を開始する。
【００７４】
連続した一連の送信信号（例えば、１フレーム、１スタティックスロット）又は所定量以上の送信信号を比較用信号と比較すると、比較器２３は、比較結果が基準を満たしているか否かを判定する。なお、本実施例では、ＣＰＵ２１から比較器２３への通知やタイマ３２による比較のタイミングの通知は不要なので、コスト増を抑制できる。
【００７５】
図７は、比較器２３が異常の有無を判定する手順を示すフローチャート図の一例である。比較器２３は、端子Ｄに送信信号が入力されると、送信信号の記憶を開始する（Ｓ２１０）。
【００７６】
同時か又は少し遅れて端子Ｒに比較用信号が入力される（Ｓ２２０）。比較器２３は、端子Ｄの送信信号と端子Ｒの比較用信号が基準値以上に一致したか否かを判定する（Ｓ２３０）。一致している場合（Ｓ２３０のＹｅｓ）、信号線２４、トランシーバ１２及び信号線２５に異常がないので、比較器２３はなにもしない（Ｓ２４０）。
【００７７】
基準値以上に一致しない場合（Ｓ２３０のＮｏ）、信号線２４、トランシーバ１２及び信号線２５に異常があることになるので、比較器２３は異常を検出し、ＣＰＵ２１等に通知する（Ｓ２５０）。
【００７８】
以上説明したように、本実施形態のＥＣＵ１００は、比較器２３を設けるだけで、信号線２４、トランシーバ１２及び信号線２５の異常の有無を検出することができる。また、異常の検出が通信コントローラ２２のプロトコルに依存することもない。
【符号の説明】
【００７９】
１１      マイコン
１２      トランシーバ
１３、１４  バス      
２１      ＣＰＵ
２２      通信コントローラ
２３      比較器
２６      送信回路
２７      受信回路
３２      タイマ
１００    ＥＣＵ
【図１】
2011229079.tif 000003
【図２】
2011229079.tif 000004
【図３】
2011229079.tif 000005
【図４】
2011229079.tif 000006
【図５】
2011229079.tif 000007
【図６】
2011229079.tif 000008
【図７】
2011229079.tif 000009