(57)【要約】  ＣＡＮネットワークは、それぞれがＣＡＮバス、ＣＡＮバスでホストＣＰＵに接続されるＣＡＮインターフェースを有する複数のＣＡＮシステムを有している。少なくとも１つのＣＡＮインターフェースは、他のＣＡＮシステムのＣＡＮバスに選択的にアクセスが可能なセレクタインターフェースである。モニタするバス上のデータをセレクタインターフェースのバスに自動的に転送するミラーモードと言うモードでセレクタインターフェースを動作させることにより、バス上のデータをモニタすることが可能である。診断装置に接続することにより、モニタするバス上のデータの診断が可能となる。【選択図】  図１
2007500959.tif 000002
【特許請求の範囲】
【請求項１】
複数のＣＡＮシステムを有し、それぞれのＣＡＮシステムがＣＡＮバスおよびホストＣＰＵとのデータ交換を行うために前記ＣＡＮバスに接続されたＣＡＮインターフェースを有するデータネットワークであって、
少なくとも１つのＣＡＮシステムのＣＡＮインターフェースは、他のＣＡＮシステムのＣＡＮバスと選択的にアクセスするセレクタインターフェースであることを特徴とするデータネットワーク。
【請求項２】
前記ＣＡＮインターフェースは、当該ＣＡＮインターフェース自身のＣＡＮバスとデータを交換するＣＡＮプロトコルハンドラ、データ保持制御手段および前記ホストＣＰＵに対するインターフェースを有し、
前記セレクタインターフェースは、さらに、他のＣＡＮシステムのＣＡＮバスを選択するセレクタと、
当該選択されたＣＡＮバスとデータを交換する第２のプロトコルハンドラを有することを特徴とする請求項１に記載のデータネットワーク。
【請求項３】
前記セレクタインターフェースは、選択されたＣＡＮバスのデータ交換をモニタし、特定された有効メッセージを前記選択されたＣＡＮバスからセレクタインターフェース自身のＣＡＮバスに転送するモニタ手段を有していることを特徴とする請求項２に記載のデータネットワーク。
【請求項４】
前記特定された有効メッセージは、前記セレクタインターフェースの前記データ保持手段の指定区域に保持され、当該指定区域から前記ＣＡＮバスに送られることを特徴とする請求項３のデータネットワーク。
【請求項５】
前記セレクタインターフェースのＣＡＮバスは、診断装置に接続されていることを特徴とする請求項４に記載のデータネットワーク。
【請求項６】
複数のＣＡＮシステムを有し、それぞれのＣＡＮシステムがＣＡＮバスおよびホストＣＰＵとのデータ交換を行うために前記ＣＡＮバスに接続されたＣＡＮインターフェースを有するデータネットワークの動作方法であって、
ＣＡＮインターフェースの１つを他のＣＡＮシステムのＣＡＮバスと選択的に接続し、
前記ＣＡＮインターフェースを介して前記バスのデータ交換をモニタすることを特徴とするデータネットワークの動作方法。
【請求項７】
前記ＣＡＮインターフェースは、モニタするＣＡＮバス上で交換される有効メッセージを、自動的に当該ＣＡＮインターフェースに接続されたＣＡＮバスに送るミラーモードとされることを特徴とする請求項６に記載のデータネットワークの動作方法。
【請求項８】
前記データの転送は、メッセージのコピー処理を利用しないことを特徴とする請求項６に記載のデータネットワークの動作方法。
【請求項９】
前記データ転送は、１以上のフィルタによって定義されるメッセージ群へと制限され、当該フィルタは、フィルタされるメッセージの範囲を規定するマスクを含むことが可能であることを特徴とする請求項６に記載のデータネットワークの動作方法。
【請求項１０】
ネガティブフィルタ機能を用いて、モニタしているＣＡＮインターフェースからＣＡＮバスへのデータの転送から単一メッセージあるいは所定範囲のメッセージが除外されることを特徴とする請求項６に記載のデータネットワークの動作方法。
【請求項１１】
前記セレクタインターフェースは、所定基準のみあるいは所定範囲内のメッセージのみを転送するフィルタを有することを特徴とする請求項１乃至５のいずれか１項に記載のデータネットワーク。
【請求項１２】
前記セレクタインターフェースは、所定基準のメッセージの転送を禁止するフィルタを有することを特徴とする請求項１乃至５のいずれか１項に記載のデータネットワーク。
【発明の詳細な説明】
【背景技術】
【０００１】
ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ Ａｒｅａ Ｎｅｔｗｏｒｋ : ＩＳＯ１１８９８)は、工業用、自動車産業用のネットワークに広く用いられており、独立ノード間で、データを交換する技術である。近年の自動車産業の発達に伴い、１台の車の中の複数ノードは、１つのネットワークに接続されなくなってきている。むしろ、そのシステム設計は、特定のアプリケーション、あるいは特定のバススピードを要求するノード群を指定して、ＣＡＮバスシステムを分離している。しかし、このマルチチャンネルの構造は、典型的には診断目的に必要とされるため、あるネットワークから他のネットワークへの連続的な情報の伝達が困難である。
【０００２】
現在、上記のタスクは、１つ以上のＣＡＮインターフェースを有するノードのホストプロセッサで、ソフトウェアのアルゴリズムによって行う必要がある。この作業は、ホストプロセッサの通常動作の中断を必要とする。そして、ホストプロセッサは、あるＣＡＮインターフェースからの情報を受信し、その情報をターゲットのＣＡＮインターフェースに送信し、これらのデータの転送要求を出す。ホストプロセッサは、通常こういったデータの使用、変更を行わないため、この処理は非常に非効率である。優先順位の高いタスクが転送処理を遅らせることがあるため、ホストプロセッサがこの処理を行うことによる遅延は、予測不可能である。さらに、他のＣＡＮインターフェースに転送中のデータストリームが動作中のホストプロセッサに影響を与える。このように、診断のためにＣＡＮネットワークから、連続的にデータをモニタする主旨は、充分には満足されていない。
【０００３】
ホストプロセッサがこのタスクを行うのを取りやめるための方法がある。ブリッジと呼ばれるこの方法は、ソースとなるＣＡＮインターフェースから目的となるＣＡＮインターフェースに独立してデータをコピーする。この構成によりホストプロセッサの動作中断の必要はなくなるが、まだ、いくつかの不利な点が残っている。まず第１に、終了までに一定の時間を要するコピーアルゴリズムが残っていることである。この時間は、転送されるべきデータの伝播時間遅延を生じる。第２に、この構成はＣＡＮメッセージを保持するノードの全てのＣＡＮインターフェースに共通のメモリを必要とすることである。このことは、１ノードあたりのＣＡＮインターフェースが増えた場合に大きな問題となる。共通メモリで作業するＣＡＮインターフェースが増えるほど、全てのＣＡＮインターフェースの任意のポイントでのタイミング要求に応えるために、より高い動作周波数が必要となる。
【０００４】
請求項１の前提部分の装置がドイツ公開公報ＤＥ１９７５８０３２Ａに示されている。この文献は、ＣＡＮインターフェース間でのブリッジモジュールの使用について示しており、ＣＡＮシステム間でのデータ転送を容易にするために、ノードの全てのＣＡＮシステムで、例えば内容アドレスメモリ（コンテント・アドレッサブル・メモリ）などの共通のメッセージメモリを使用することを提案している。ブリッジと共通メモリの問題点は、すでに述べたとおりである。さらに、内容アドレスメモリは、ある特定のアプリケーションに特有のものであり、アプリケーションが変更された場合は、再構築しなければならない。そのため、内容アドレスメモリでは、ある特定の処理を行う技術にのみしか適用できない。
【０００５】
そのため、本発明の目的は、あるＣＡＮバスシステムから他のＣＡＮバスシステムへ容易にデータを転送し、さらにＣＡＮシステムのモニタを容易に行えるデータネットワークおよびデータネットワークの駆動方法を提供することである。
この目的は、請求項１に記載されたデータネットワークおよび請求項６に記載された方法によって達成される。他の請求項は、本発明のさらに発展した部分に関係している。
【０００６】
本発明は、ＣＡＮシステムの１つのＣＡＮインターフェースを"セレクタインターフェース"と変形することを提案している。このセレクタインターフェースは、他のＣＡＮシステムのＣＡＮバスのデータ交換をモニタするために、そのＣＡＮバスに選択的に接続可能である。このために、セレクタインターフェースは、そのバス自身のプロトコルハンドラに加えて、モニタするバスのプロトコルハンドラ、およびセレクタを備えている。このセレクタインターフェースは、モニタするバスのデータがセレクタインターフェースのバスに自動的に転送され（反映され）る"ミラーモード"と呼ばれる動作が可能である。このバスは、モニタされるバスで交換されているデータを分析するために分析装置に優先的に接続可能である。
【０００７】
ここで述べる方法は、モニタされるＣＡＮバスシステムから、他のＣＡＮバスシステムへデータストリームを提供する必要がある場合に、ＣＡＮゲートウェイの不都合を避けることが出来る。この方法は、モニタされるＣＡＮバスに接続されるＣＡＮインターフェースを、特殊な構成をすることもない。
【０００８】
さらに、データ転送は、メッセージのコピー処理を行わずミラーメッセージの遅延を減少させている。これによりシステムのパフォーマンスを向上させている。
【０００９】
本発明を発展させた形として、データの転送を、１つ以上のフィルタによって規定されたメッセージ群に限定する機能をセレクタインターフェースに与えることが可能である。このフィルタには、フィルタ処理されるメッセージの範囲を規定するマスクを含めることが可能である。このポジティブフィル多機能では、フィルタに規定されていないメッセージは、ＣＡＮインターフェースからＣＡＮバスへと転送されない。
【００１０】
さらに、ネガティブフィルタ機能を用いて、モニタしているＣＡＮインターフェースからＣＡＮバスへのデータの転送から単一メッセージあるいは所定範囲のメッセージが除外することが可能である。このネガティブフィルタ機能は、フィルタ処理されるメッセージの範囲を規定するマスクを含めることが可能である。フィルタの基準に合致するメッセージはＣＡＮインターフェースからＣＡＮバスにコピーされない。フィルタに規定されないメッセージについては、その詳細を知る必要はなく、ＣＡＮバスにコピーされる。
【発明を実施するための最良の形態】
【００１１】
図１に示す構成では、第１、第２のＣＡＮインターフェース１０、２０が示されている。これらのＣＡＮインターフェースは同一の構成であり、ＣＡＮバス１１、２１、ＣＡＮプロトコルハンドラ１２、２２データ保持・制御部１３、２３、インターフェース１４、２４およびホストＣＰＵ（不図示）を備えた構成である。
【００１２】
この構成は、一般的によく知られており、バスに接続された上記のＣＡＮインターフェースを複数有するのが通常の構成である。ＣＡＮバス１１あるいは１２から他のＣＡＮバスあるいはＣＡＮインターフェースにデータストリームを供給するには、対応するインターフェースのホストプロセッサによって、データ転送を行う必要がある。つまり、ホストＣＰＵがあるＣＡＮインターフェースのデータ保持部からデータを読み出し、例えば共有メッセージバッファなどにそれをコピーし、さらに他のＣＡＮインターフェースのデータ保持部にデータを格納しなければならない。
【００１３】
一方、下記に述べる構成であれば、この作業をホストプロセッサとは独立して実行することが出来る。この構成は、個々のＣＡＮインターフェースに特殊な動作を必要としていない。１つのＣＡＮインターフェースのみが専用のハードウェアを有する構成のものに置き換えられている。
【００１４】
本発明の基本的な概念は、上記のＣＡＮインターフェース１０、２０を変更した第３のＣＡＮインターフェース３０によって実行される。さらに第３のＣＡＮインターフェース３０の追加入力端子とモニタされるＣＡＮインターフェースのバス間の接続３６、３７も追加される。
【００１５】
ＣＡＮバス１０あるいは２０のデータストリームにアクセスするために、ＣＡＮインターフェース３０は、第２のプロトコルハンドラ３５を備えている。このプロトコルハンドラは、メッセージを受け取るのみの構成とされている。そして、モニタされるＣＡＮバスシステムへのエラーを示すメッセージの転送は止められる。プログラム制御可能なセレクタ３８によって、ホストプロセッサは、モニタすべきチャンネルを選択する。ＣＡＮバス３０にデータ転送するのに必要な全てのパラメータをホストプロセッサが初期化した後に、"ミラーモード"と呼ばれる診断のための動作モードが開始される。
【００１６】
ミラーモードの間は、モニタされるバス上でやり取りされる全ての有効ＣＡＮフレームが、ＣＡＮインターフェース３０のＣＡＮプロトコルハンドラ３５によって受信される。これらのフレームは、通常時は、本来のプロトコルハンドラ３２によって利用されているメッセージバッファ３３に保持される。
【００１７】
ミラーモードの間、ＣＡＮプロトコルハンドラ３５は、データ保持部の一部のみを使用する。したがって、ホストプロセッサは、その間もＣＡＮプロトコルハンドラ３２を介して、本来のアプリケーションのメッセージの受信、送信が可能である。モニタするＣＡＮバスからフレームを受け取ると、専用マシンがＣＡＮプロトコルハンドラ３２に、このフレームの転送要求を出力する。このフレームは、ＣＡＮインターフェース３０の転送メッセージとして内部の優先順位の構成に含まれるようになる。このフレームが、保留中の他の転送要求と比較して最も優先順位が高い場合は、このフレームはＣＡＮバス３１へと送られる。
【００１８】
ホストプロセッサによりアプリケーションのメッセージが送信されない場合は、ＣＡＮプロトコルハンドラ３５が受け取ったメッセージシーケンスはＣＡＮプロトコルハンドラ３２に送られるものと同一である。アプリケーションが、このノードのホストプロセッサによって生成された付加メッセージを送信することを選択した場合、ＣＡＮプロトコル（ＩＳＯ１１８９８）によって設定された優先順位に従って、これらのメッセージがデータストリームの間に入れ込まれる。
【００１９】
モニタされたＣＡＮバスからＣＡＮバスシステム３１へのメッセージシーケンスの限定は、メッセージを受け付ける部分での保持アルゴリズムで実施される。データ保持・制御部３３は、ＣＡＮプロトコルハンドラ３５から受け取るメッセージを、メッセージバッファの範囲内に固定順（例えば上り順）で保持していく。したがって、ＣＡＮバスシステム３１への転送処理では、次にどのメッセージを送るべきかが分かるようになっている。
【００２０】
ミラーモードで、モニタされるバスから既に受け取ったメッセージを処理している場合でなければ、新しく受け取ったメッセージの転送の準備が行われる。このメッセージは、現在ＣＡＮバスシステム３１へ転送中のものに対して転送要求保留状態、あるいは内部のアービトレーションを待つ状態のメッセージとなりうる。また、ＣＡＮプロトコルハンドラ３５によって受信されたものの、まだ転送要求がなされていない１つ以上のメッセージともなりうる。
【００２１】
データ保持・制御部３３がＣＡＮバスシステム３１への転送が完了したことを認識すると、データ保持・制御部３３は、この転送がＣＰＵによって行われた転送なのか、ミラーモードで行われた転送なのかをチェックする。後者の場合は、ＣＡＮプロトコルハンドラ３５の受信処理における保持順に次のメッセージの転送準備が行われる。ミラーモードのときの処理は図２に示されている。
【００２２】
本発明は、あるＣＡＮバスのデータストリームを同じノードに接続された他のＣＡＮバスからモニタすることを提案している。この診断機能はホストプロセッサのリアルタイムの動作には何の影響も与えない。この構成は、システムの故障を、診断によって特定するときに重要となる。割り込みのないミラーモードの動作は、データ転送機能そのものの動作によって潜在的な故障が隠されてしまわないことを保障している。
【００２３】
ＣＡＮバス３に転送されるメッセージは、モニタされるＣＡＮバスシステム（ＣＡＮバス１、２）より受信したメッセージが保持されるメモリから直接取り出される。この動作によりメモリを減少させることが出来、モニタするＣＡＮバスシステムからＣＡＮバスシステム３への転送を、受信バッファから転送専用バッファへの内部のコピー処理のように速く行うことが出来る。ミラーモード動作中は、メッセージバッファが転送バッファの要因も有しつつ、モニタされるＣＡＮバスシステムからの受信を行うように構成されている。ミラーモードにおけるＣＡＮバス３の転送は１つの指示で開始される。"ミラー"メッセージの待ち時間は、メッセージそのものの長さ（ＣＡＮバス上でのメッセージの存在）で与えられる最小のものとなる。これは診断システムにおいて重要な要素である。
【００２４】
ミラーモードを備えるＣＡＮインターフェースは、現存するＣＡＮインターフェースを変更することなくあらゆるＣＡＮノードに追加が可能である。この方式は、現存する製品に対してミラーモードを利用することを可能とする。
【００２５】
現在あるＣＡＮブリッジによるＣＡＮバスから他のＣＡＮバスへのデータ転送と比較して、ミラーモードはデータ保持に関してより簡単な構成を提供することが出来る。今日のＣＡＮブリッジシステムでは、異なるＣＡＮバスシステム間でデータ転送を行う全てのＣＡＮインターフェースに対して共有のデータ保持部を必要としている。ミラーモードは、この構成を必要としていない。図１に示す構成よりも、共通のデータ保持部を有する構成は、設計が複雑になり、タイミングの要求もより厳しいものとなる。ミラーモードであれば、ＣＡＮインターフェースをより低い周波数で動作させることができ、結果として設計を容易に出来る。また、個々のＣＡＮインターフェースは、単体の回路として設計可能となる。
【００２６】
"ミラーモード"と言う言葉は、あるＣＡＮバスのデータが他のＣＡＮバスに、専用のＣＡＮインターフェースで反映されると言うことを意味している。あるＣＡＮバスシステムから他のＣＡＮバスシステムへの転送は、メッセージのコピーをすることなしに行われる。モニタされるＣＡＮバスから受信したデータは、他のＣＡＮバス（例えば、診断ＣＡＮバス）に送信するときの保持部（メッセージバッファ）に保持される。
【００２７】
ミラーモードは、そのＣＡＮバスシステムに直接接続されていないＣＡＮバスシステムのデータストリームを、割り込みなしに、計測、監視する方法を提供している。
【００２８】
ミラーモードは、モニタされるバスで現れる有効なメッセージシーケンスと同じシーケンスを診断ＣＡＮバスに提供できる。ミラーモードは、全ての有効フレームを扱うことが出来る。データフレーム、リモートフレーム、両フォーマットの識別子、標準および拡張識別子をミラーモードで扱うことが可能である。
【００２９】
ミラーモードは、共通データ領域と制御領域（メッセージバッファ領域）で作業する二つのＣＡＮプロトコルハンドラを利用する。モニタされるＣＡＮバスシステムに接続されるＣＡＮプロトコルハンドラは、メッセージバッファ領域の一部を共有する。もう一方のＣＡＮプロトコルハンドラは、ミラーモードが独立で動作している時にもホストプロセッサからのメッセージを処理することが出来る。ホストプロセッサによってミラーモードが起動されていない場合は、メッセージバッファの全ての領域が診断ＣＡＮバスのＣＡＮプロトコルハンドラに割り当てられる。
【００３０】
ミラーモードを備えたＣＡＮインターフェースは現存するＣＡＮインターフェースを変更することなく現存するマルチチャンネルＣＡＮノードと一体化することが可能である。ミラーモードは、ノードにあるＣＡＮインターフェースの数とは独立して設けられている。
【００３１】
図２の１行目にモニタするＣＡＮバスシステムから受信したメッセージ（ＲＸ（３２）,ＲＸ（３３）,ＲＸ（３４））のタイミングを示す。ＤＮｉ（メッセージバッファiに対するデータニューフラグ）が３のときに有効な受信が起こる。
【００３２】
データ保持・制御部の一部であるミラーモード部（Ｍｉｒｒｏｒ Ｍｏｄｅ Ｅｎｇｉｎｅ : ＭＭＥ）は、それぞれの受信を行い、既に受信しＣＡＮバスシステム３１への転送を待っているメッセージの数を反映させるために、カウンタを増加させる。受信したメッセージが保持された順番にそれぞれのメッセージバッファに転送要求がセットされる。転送要求はＭＭＰが０のとき、あるいはＣＡＮバスシステム３１の転送が認識されたときに発行される。
【００３３】
３列目は、ＣＡＮバスシステムの動作（ＤＩＡＧ）と、ＴＨＬ（Ｔｒａｎｓｍｉｓｓｉｏｎ Ｈｉｓｔｏｒｙ Ｌｉｓｔ）と呼ばれる転送終了状態を示している。
【００３４】
図３は、ＣＰＵが他のメッセージを出力する場合のミラーモード動作を示している。この例では、メッセージ１５（ＴＸ１５）の転送要求をＣＰＵが示している。このメッセージはミラーモードのための保持領域には位置しておらず、データ保持・制御部３３に属している。メッセージ１５は、ＴＸ（３３）、ＴＸ（３４）よりも高い優先順位を有していると仮定する。
【００３５】
ＣＰＵの転送要求はＴＸ（３２）の後に与えられる。一方ＭＭＥは、ＴＸ（３２）の転送が終了した後にＲＸ（３３）の転送準備を行う。ＴＸ（１５）が転送された後、ＭＭＥは、メッセージＴＸ（１５）の終端で、この転送終了はミラーモードの対象メッセージではないことを認識する。この場合、ＭＭＥから新たな転送要求は出されず、ＭＭＥは、ＴＸ（３３）の転送終了を待って、対象メッセージＲＸ（３４）の転送要求を行う。
【００３６】
この例は、どのようにしてモニタするバスの診断とホストＣＰＵの要求する通信とを並行して発行するかを示している。
【００３７】
上記に示された構成は例に過ぎない。ミラーモードは、任意の数のＣＡＮチャンネルを有するどのようなノードにも適用可能である。
【００３８】
ホストプロセッサのＣＡＮチャンネル数ｎは、ミラーモードとは別のものである。
【００３９】
場合によってはｎは１でもよい。この場合、ＣＡＮ-Ｉ/Ｆ３のみが存在し、モニタするＣＡＮバスとの接続はチップ上にはなく、アプリケーション上の他のＣＡＮバスシステムのノードへと送られる。
【００４０】
一度初期化すれば、ホストプロセッサは、ミラーモード動作のサポートをする必要はなく、ミラーモード動作による影響も受けない。
【００４１】
さらに、ミラーモード動作と共に、使用者に応じた拡張モードとして、ネガティブあるいはポジティブフィルタ機能を提供することも出来る。顧客は、モニタするバス１１、１２一方のメッセージ群を選択して取り出すことが可能である。この構成（ポジティブアイデンティフィケーションあるいはポジティブフィルタ機能）は、インターフェース３０のセレクタに装備でき、使用者によって動作させることが出来る。一方、ネガティブフィルタ機能も搭載することができる。ネガティブフィルタは、使用者がミラーモードに含まない識別子や識別子の範囲を指定することで動作する。この機能により、使用者は、診断バスシステムにおける影響のあるデータを抑えることが出来る。診断バスは、通常、例えば修理工場や警察と言ったところにアクセスポイントが設定される。ミラーモードにおいて、フィルタの設定にが保護されていない場合は、不正なアクセスにより、ＣＡＮバスの情報を得て、変化させられてしまうおそれがある。
【図面の簡単な説明】
【００４２】
【図１】３チャンネルのＣＡＮゲートウェイの基本構造を示すブロック図。
【図２】ミラーモードの基本原理を説明する信号図。
【図３】インターリーブ動作を示す信号図。
【符号の説明】
【００４３】
１０、２０、３０    ＣＡＮインターフェース
１１、２１、３１    ＣＡＮバス
１２、２２、３２、３５    ＣＡＮプロトコルハンドラ
１３、２３、３３    データ保持制御部
１４、２４、３４    ホストＣＰＵへのインターフェース
【図１】
2007500959.tif 000003
【図２】
2007500959.tif 000004
【図３】
2007500959.tif 000005
【国際調査報告】
2007500959.tif 000006
2007500959.tif 000007
2007500959.tif 000008