(57)【要約】【課題】フレームの受信側における誤動作をより確実に防止する。【解決手段】通信ノード１を構成するＣＡＮコントローラ２０は、フレーム１０１の入力からＣＡＮバス２への送信を開始するまでの送信レイテンシを計測する。ＣＡＮコントローラ２０は、フレーム１０１の送信に際して、フレーム１０１に前記送信レイテンシに関する情報を含める。例えば、ＣＡＮコントローラ２０は、フレーム１０１中の識別子１０５を、前記送信レイテンシに応じた識別子に置き換える。一方、フレーム１０１を受信した通信ノード内のＣＡＮコントローラは、前記送信レイテンシに応じて、フレーム１０１に対して実行すべき処理を決定する。【選択図】図１
2011103577.tif 000002
【特許請求の範囲】
【請求項１】
入力されたフレームをネットワークへ送信する送信部と、
前記入力から前記送信が開始されるまでの待ち時間を計測する計測部と、
前記送信に際して、前記フレームに前記待ち時間に関する情報を含める包含部と、
を備えた通信コントローラ。
【請求項２】
請求項１において、
前記ネットワークが、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ Ａｒｅａ Ｎｅｔｗｏｒｋ）であり、
前記包含部が、前記フレーム中の識別子を、前記待ち時間に応じた識別子に置き換えることを特徴とした通信コントローラ。
【請求項３】
請求項１又は２において、
前記包含部が、予め定めたフレームに対して、前記待ち時間に関する情報を含めることを特徴とした通信コントローラ。
【請求項４】
請求項１〜３のいずれか一項において、
前記ネットワークから、送信元における滞留時間に関する情報を含むフレームを受信する受信部と、
前記滞留時間に応じて、前記受信したフレームに対して実行すべき処理を決定する決定部と、
をさらに備えた通信コントローラ。
【請求項５】
入力されたフレームをネットワークへ送信する第１の通信ノードと、
前記ネットワークから前記フレームを受信する第２の通信ノードと、を備え、
前記第１の通信ノードは、前記送信に際して、前記フレームに、前記入力から前記送信を開始するまでの待ち時間に関する情報を含め、
前記第２の通信ノードは、前記待ち時間に応じて、前記フレームに対して実行すべき処理を決定する、通信システム。
【請求項６】
入力されたフレームをネットワークへ送信する通信ノードにおける通信制御方法であって、
前記入力から前記送信を開始するまでの待ち時間を計測し、
前記送信に際して、前記フレームに前記待ち時間に関する情報を含める、通信制御方法。
【請求項７】
請求項６において、
前記ネットワークとしてＣＡＮを用いる場合、前記フレーム中の識別子を、前記待ち時間に応じた識別子に置き換えることを特徴とした通信制御方法。
【請求項８】
請求項６又は７において、
前記フレームが予め定めたフレームである場合に、前記フレームに前記待ち時間に関する情報を含めることを特徴とした通信制御方法。
【請求項９】
請求項６〜８のいずれか一項において、
前記ネットワークから、送信元の通信ノードにおける滞留時間に関する情報を含むフレームを受信し、
前記滞留時間に応じて、前記受信したフレームに対して実行すべき処理を決定する
ことを特徴とした通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信コントローラ、通信システム、及び通信制御方法に関し、特に通信ノードにおける、フレーム送信に際しての待ち時間(送信レイテンシ)を管理する技術に関する。
【背景技術】
【０００２】
近年、車両内ネットワークにおいては、高いリアルタイム性を要求するアプリケーションが適用されて来ている。このような要求に対応するため、フレームがその送信先の通信ノードに到達するまでのレイテンシをより低減可能なタイムトリガプロトコルの策定が進められている。
【０００３】
しかしながら、多くのメーカは、車両内ネットワークにＣＡＮ(Ｃｏｎｔｏｒｏｌｌｅｒ Ａｒｅａ Ｎｅｔｗｏｒｋ)等のイベントトリガプロトコルを採用し続けており、タイムトリガプロトコルへの乗り換えが遅れている状況にある。これは、メーカが、タイムトリガプロトコルの採用に伴って、ネットワーク設計の困難度や部品コストが増大するのを嫌うためである。
【０００４】
この問題に対処する関連技術が、例えば特許文献１に記載されている。
【０００５】
図５に、特許文献１に記載される中継装置２００の構成を示す。この中継装置２００は、大略、ＣＡＮバス２＿１を介して相互接続されるＥＣＵ(Ｅｌｅｃｔｒｏｎｉｃ Ｃｏｎｔｒｏｌ Ｕｎｉｔ)３００＿１〜３００＿３により形成される一のＣＡＮと、ＣＡＮバス２＿２を介して相互接続されるＥＣＵ３００＿４及び３００＿５により形成される他のＣＡＮとの間でフレームを中継する。中継装置２００は、中継に際して許容時間を超えて滞留させたフレームを破棄し、以て中継先のＥＣＵが、所望のタイミングより遅れてフレームを受信することに因り誤動作してしまうのを防止している。なお、以降の説明においては、ＣＡＮバス２＿１及び２＿２を符号２で総称することがある。
【０００６】
具体的には、中継装置２００は、トランシーバ２０１＿１及び２０１＿２(以下、符号２０１で総称することがある)と、通信制御部２０２＿１及び２０２＿２(以下、符号２０２で総称することがある)と、受信バッファ２０３＿１及び２０３＿２(以下、符号２０３で総称することがある)と、送信バッファ２０４＿１及び２０４＿２(以下、符号２０４で総称することがある)と、フレーム転送制御部２０５と、フリーランタイマ２０６と、タイムスタンプ付与部２０７＿１及び２０７＿２(以下、符号２０７で総称することがある)と、滞留時間チェック部２０８＿１及び２０８＿２(以下、符号２０８で総称することがある)と、タイムスタンプ除去部２０９＿１及び２０９＿２(以下、符号２０９で総称することがある)と、フレーム破棄部２１０とを備えている。
【０００７】
この内、トランシーバ２０１は、ＣＡＮバス２上で伝送される信号を受信し、通信制御部２０２へ出力する。また、トランシーバ２０１は、通信制御部２０２から転送されたフレームを表す信号を、ＣＡＮバス２へ送出する。
【０００８】
通信制御部２０２は、トランシーバ２０１の出力信号を解読して得たフレームを、タイムスタンプ付与部２０７を介して受信バッファ２０３に格納する。また、通信制御部２０２は、滞留時間チェック部２０８及びタイムスタンプ除去部２０９を介して送信バッファ２０４から読み出したフレームを、トランシーバ２０１へ転送する。
【０００９】
フレーム転送制御部２０５は、受信バッファ２０３＿１から読み出したフレームを送信バッファ２０４＿２に格納する一方、受信バッファ２０３＿２から読み出したフレームを送信バッファ２０４＿１に格納する。
【００１０】
フリーランタイマ２０６は、中継装置２００が動作している間、自律的にカウントアップを実行する。
【００１１】
タイムスタンプ付与部２０７は、通信制御部２０２から転送されたフレームに、フリーランタイマ２０６から出力されたカウント値をタイムスタンプとして付与する。また、タイムスタンプ付与部２０７は、タイムスタンプを付与したフレームを、受信バッファ２０３に格納する。
【００１２】
滞留時間チェック部２０８は、フリーランタイマ２０６から出力されたカウント値と、送信バッファ２０４から読み出したフレーム中のタイムスタンプ(カウント値)との差分を、中継装置２００におけるフレームの滞留時間として算出する。この時、滞留時間チェック部２０８は、算出した滞留時間と、所定の許容時間とを比較する。この結果、滞留時間が許容時間以下である場合、フレームをタイムスタンプ除去部２０９へ転送する。一方、滞留時間が許容時間を超過している場合、滞留時間チェック部２０８は、フレームをフレーム破棄部２１０へ転送する。
【００１３】
タイムスタンプ除去部２０９は、滞留時間チェック部２０８から転送されたフレームからタイムスタンプを除去し、通信制御部２０２へ転送する。
【００１４】
フレーム破棄部２１０は、滞留時間チェック部２０８から転送されたフレームを破棄する。
【００１５】
次に、上記の中継装置２００の動作を、ＣＡＮバス２＿１からＣＡＮバス２＿２へフレームを中継する場合を例に取り、図６を参照して説明する。
【００１６】
図６に示すように、トランシーバ２０１＿１と通信制御部２０２の協調動作によりＣＡＮバス２＿１からフレームが受信されると(ステップＳ１０１)、タイムスタンプ付与部２０７＿１は、受信されたフレームにタイムスタンプを付与する(ステップＳ１０２)。そして、タイムスタンプ付与部２０７＿１は、タイムスタンプを付与したフレームを、受信バッファ２０３＿１に格納する(ステップＳ１０３)。
【００１７】
これを検知したフレーム転送制御部２０５は、受信バッファ２０３＿１からフレームを読み出すと共に、フレーム中のＩＤ(Ｉｄｅｎｔｉｆｉｅｒ)に基づき、フレームの中継先がＣＡＮバス２＿２であると判断する(ステップＳ１０４)。そして、フレーム転送制御部２０５は、フレームを、ＣＡＮバス２＿２用の送信バッファ２０４＿２に格納する(ステップＳ１０５)。
【００１８】
これを検知した滞留時間チェック部２０８＿２は、送信バッファ２０４＿２からフレームを読み出すと共に、フレーム中のタイムスタントとフリーランタイマ２０６から出力されたカウント値とを用いて、フレームの滞留時間を算出する。そして、滞留時間チェック部２０８＿２は、算出した滞留時間と許容時間とを比較する(ステップＳ１０６)。
【００１９】
この結果、滞留時間≦許容時間が成立する場合、滞留時間チェック部２０８＿２は、フレームをタイムスタンプ除去部２０９＿２へ転送する。タイムスタンプ除去部２０９＿２は、タイムスタンプを除去したフレームを、通信制御部２０２＿２へ転送する(ステップＳ１０７)。これにより、フレームは、通信制御部２０２＿２及びランシーバ２０１＿２を経由してＣＡＮバス２＿２へ送出されることとなる(ステップＳ１０８)。
【００２０】
一方、上記のステップＳ１０６で滞留時間＞許容時間が成立する場合、滞留時間チェック部２０８＿２は、フレームをフレーム破棄部２１０へ転送し、以てフレームを破棄する(ステップＳ１０９)。
【先行技術文献】
【特許文献】
【００２１】
【特許文献１】特開２００８−１６０３７９号公報
【発明の概要】
【発明が解決しようとする課題】
【００２２】
しかしながら、上記の特許文献１には、フレームの受信側における誤動作の防止効果が不十分であるという課題があった。これは、許容時間を超えないまでも、所望のタイミングより遅延して受信されるフレームが存在するためである。受信側では、フレームの有効期間を判別できず、そのフレームをどの程度急いで処理すべきなのかを判断できない虞がある。
【００２３】
例えば、複数のＣＡＮチャネルを介して同等の優先度を有する複数のフレームを同時に受信したケースにおいて、受信側では、どのフレームを優先して処理すべきか何ら判断できない。このケースを、図７を参照して具体的に説明する。今、図７に示す如く、送信レイテンシが発生していない通信ノード４００Ａから送出されたフレーム４０１Ａと、内部の送信処理遅延や、図示されない他の通信ノードに調停負けしたこと等に起因して送信レイテンシが発生している通信ノード４００Ｂから送出されたフレーム４０１Ｂとが、通信ノード４００Ｃで同時に受信されたとする。この時、通信ノード４００Ｃは、フレーム４０１Ａ及び４０１Ｂの有効期限を判別できないため、有効期限に余裕の有るフレーム４０１Ａを先に処理し(ステップＳ２０１)、有効期限に余裕の無いフレーム４０１Ｂに対する処理を待機し得る(ステップＳ２０２)。
【課題を解決するための手段】
【００２４】
本発明の一態様に係る通信コントローラは、入力されたフレームをネットワークへ送信する送信部と、前記入力から前記送信が開始されるまでの待ち時間を計測する計測部と、前記送信に際して、前記フレームに前記待ち時間に関する情報を含める包含部とを備える。
【００２５】
また、本発明の一態様に係る通信システムは、入力されたフレームをネットワークへ送信する第１の通信ノードと、前記ネットワークから前記フレームを受信する第２の通信ノードとを備える。前記第１の通信ノードは、前記送信に際して、前記フレームに、前記入力から前記送信を開始するまでの待ち時間に関する情報を含める。前記第２の通信ノードは、前記待ち時間に応じて、前記フレームに対して実行すべき処理を決定する。
【００２６】
さらに、本発明の一態様に係る通信制御方法は、入力されたフレームをネットワークへ送信する通信ノードにおける通信制御方法を提供する。この通信制御方法は、前記入力から前記送信を開始するまでの待ち時間を計測し、前記送信に際して、前記フレームに前記待ち時間に関する情報を含める。
【００２７】
すなわち、本発明では、送信レイテンシに関する情報をフレームに含めて伝送する。このため、受信側では、送信レイテンシを考慮してフレームを処理することが可能である。
【発明の効果】
【００２８】
本発明によれば、フレームの受信側における誤動作を、上記の特許文献１と比較してより確実に防止することが可能である。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施の形態に係る通信コントローラ及びこれを適用する通信ノードの構成例を示したブロック図である。
【図２】本発明の実施の形態に係る通信コントローラに用いる送信レイテンシ包含部の構成例を示したブロック図である。
【図３】本発明の実施の形態に係る通信コントローラ及びこれを適用する通信ノードにおけるフレーム送信処理例を示したフローチャート図である。
【図４】本発明の実施の形態に係る通信コントローラ及びこれを適用する通信ノードにおけるフレーム受信処理例を示した図である。
【図５】本発明の関連技術に係る中継装置の構成例を示したブロック図である。
【図６】本発明の関連技術に係る中継装置の動作例を示したブロック図である。
【図７】本発明の関連技術が有する課題を説明するためのブロック図である。
【発明を実施するための形態】
【００３０】
以下、本発明に係る通信コントローラ及びこれを適用する通信ノードの実施の形態を、図１〜図４を参照して説明する。なお、各図面において同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
【００３１】
図１に示すように、本実施の形態に係る通信ノード１は、トランシーバ１０と、ＣＡＮコントローラ２０と、ＣＰＵ(Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ)３０と、その他の周辺ブロック４０とで構成される。ここで、トランシーバ１０は、ＣＡＮバス２に接続されると共に、送信バス３及び受信バス４を介してＣＡＮコントローラ２０に接続される。また、ＣＡＮコントローラ２０、ＣＰＵ３０、及び周辺ブロック４０は、ローカルバス５を介して相互接続される。
【００３２】
この内、トランシーバ１０は、図５に示したトランシーバ２０１と同様の機能を有し、ＣＡＮコントローラ２０から送信バス３を介して転送されたフレームを表す信号を、ＣＡＮバス２へ送出する。また、トランシーバ１０は、ＣＡＮバス２上で伝送される信号を受信し、受信バス４を介してＣＡＮコントローラ２０へ出力する。
【００３３】
一方、ＣＡＮコントローラ２０は、ローカルバスＩ／Ｆ２１と、フレームバッファ２２と、フレームハンドラ２３と、送信レイテンシ包含部２４と、ビットストリーム制御部２５と、エラー管理部２６と、送受信タイミング制御部２７とを備えている。
【００３４】
ローカルバスＩ／Ｆ２１は、ローカルバス５を介してＣＰＵ３０から入力されたデータフレームやリモートフレーム等の送信フレーム１０１を、フレームバッファ２２に格納する。また、ローカルバスＩ／Ｆ２１は、フレームバッファ２２から、ＣＡＮバス２からの受信フレーム１０２を読み出し、ＣＰＵ３０へ転送する。さらに、ローカルバスＩ／Ｆ２１は、ＣＰＵ３０からの後述する設定信号１０３を、送信レイテンシ包含部２４へ転送する。
【００３５】
フレームバッファ２２には、複数の送信フレーム１０１を格納するための送信バッファ２２＿１と、複数の受信フレーム１０２を格納するための受信バッファ２２＿２とが形成されている。ここで、送信フレーム１０１及び受信フレーム１０２は、それぞれ、図示の如くフレームを識別するためのＩＤと、後続するデータ長を示すＤＬＣ(Ｄａｔａ Ｌｅｎｇｔｈ Ｃｏｄｅ)と、データ本体とから成る。
【００３６】
フレームハンドラ２３は、送受信タイミング制御部２７からの送信フレーム読出指示信号１０４をトリガとして、送信バッファ２２＿１から送信フレーム１０１を読み出し、送信レイテンシ包含部２４へ転送する。この時、フレームハンドラ２３は、送信フレーム１０１中からＩＤ１０５を抽出し、送信レイテンシ包含部２４に与える。また、フレームハンドラ２３は、ビットストリーム制御部２５から転送された受信フレーム１０２を、受信バッファ２２＿２に格納する。
【００３７】
送信レイテンシ包含部２４は、大略、フレームハンドラ２３から転送された送信フレーム１０１に、ＣＡＮコントローラ２０における送信レイテンシに関する情報を含め、ビットストリーム制御部２５へ転送する。具体的には、送信レイテンシ包含部２４は、設定信号１０３としてカウントイネーブル信号１１２(詳細は後述する)を受信した場合、送信レイテンシの計測を開始する。また、送信レイテンシ包含部２４は、フレームハンドラ２３から受信したＩＤ１０５が設定信号１０３中に含まれる管理対象ＩＤ１１３(詳細は後述する)と一致した場合、フレーム１０１中のＩＤ１０５を、送信レイテンシに応じたＩＤに置換する。さらに、送信レイテンシ包含部２４は、送受信タイミング制御部２７からフレーム送信完了信号１０６を受信した場合、送信レイテンシの計測を停止(計測値を初期化)する。なお、送信レイテンシ包含部２４は、送信フレーム１０１中のデータ本体に、送信レイテンシの計測値を付加するようにしても良い。
【００３８】
ビットストリーム制御部２５は、送受信タイミング制御部２７からのフレーム送信開始タイミング信号１０７をトリガとして、送信レイテンシ包含部２４から転送されたフレーム１０１を、送信バス３及びトランシーバ１０を介してＣＡＮバス２へ送信する。フレームの終端を示すＥＯＦ(Ｅｎｄ Ｏｆ Ｆｒａｍｅ)の送信が完了した場合、ビットストリーム制御部２５は、ＥＯＦ送信完了信号１０８を送受信タイミング制御部２７に与える。また、ビットストリーム制御部２５は、トランシーバ１０及び受信バス４を介してＣＡＮバス２から受信したフレーム１０２を、フレームハンドラ２３へ転送する。ＥＯＦの受信が完了した場合、ビットストリーム制御部２５は、ＥＯＦ受信完了信号１０９を送受信タイミング制御部２７に与える。さらに、ビットストリーム制御部２５は、フレーム１０１の送信結果又はフレーム１０２の受信結果を示す通信結果信号１１０を、エラー管理部２６に与える。ここで、通信結果信号１１０は、通信の正常終了、又は調停負けを含む通信エラーのいずれかを呈する。
【００３９】
エラー管理部２６は、通信結果信号１１０が通信エラーを呈する場合、エラー検出信号１１１を送受信タイミング制御部２７に与える。
【００４０】
送受信タイミング制御部２７は、大略、ＣＡＮコントローラ２０におけるフレームの送受信タイミングを制御する。具体的には、送受信タイミング制御部２７は、エラー管理部２６からエラー検出信号１１１が通知されていない状態に在り、且つビットストリーム制御部２５においてフレーム１０２の受信が行われていない場合に、フレーム１０１をＣＡＮバス２へ送信可能と判断し、送信フレーム読出指示信号１０４及びフレーム送信開始タイミング信号１０７を発生する。また、送受信タイミング制御部２７は、ビットストリーム制御部２５からのＥＯＦ送信完了信号１０８をトリガとして、フレーム送信完了信号１０６を発生する。
【００４１】
次に、送信レイテンシ包含部２４の具体的な構成例を、図２を参照して詳細に説明する。
【００４２】
送信レイテンシ包含部２４は、図２に示す如く簡易に構成できる。具体的には、送信レイテンシ包含部２４は、タイマ５１と、タイマ管理レジスタ５２と、管理対象ＩＤレジスタ５３と、レイテンシ閾値レジスタ５４＿１〜５４＿３(以下、符号５４で総称することがある)と、置換ＩＤレジスタ５５＿１〜５５＿３(以下、符号５５で総称することがある)と、セレクタ５６と、ＩＤ比較部５７と、レイテンシ判定部５８とを備えている。
【００４３】
この内、タイマ５１は、タイマ管理レジスタ５２からカウントイネーブル信号１１２が出力されている間、カウントアップを実行する。また、タイマ５１は、送受信タイミング制御部２７からフレーム送信完了信号１０６を受信した場合、カウントアップを停止すると共に、カウント値１１７を初期化する。
【００４４】
タイマ管理レジスタ５２は、図１に示したＣＰＵ３０からカウントイネーブル信号１１２を設定信号１０３として受信した場合、カウントイネーブル信号１１２の出力を開始する。ここで、ＣＰＵ３０は、送信フレーム１０１のＣＡＮコントローラ２０への入力に際して、カウントイネーブル信号１１２を発生するものとする。また、タイマ管理レジスタ５２は、送受信タイミング制御部２７からフレーム送信完了信号１０６を受信した場合、カウントイネーブル信号１１２の出力を停止する。
【００４５】
管理対象ＩＤレジスタ５３は、ＣＰＵ３０からの設定信号１０３に含まれる管理対象ＩＤ１１３を保持する。ここで、ＣＰＵ３０は、ＣＡＮコントローラ２０の動作開始に先立って、管理対象ＩＤレジスタ５３に管理対象ＩＤ１１３を予め設定しておくものとする。また、管理対象ＩＤ１１３として、ＣＰＵ３０が生成するフレームの内でより高いリアルタイム性が要求されるフレームに対応するＩＤを設定すると好適である。なお、ＣＰＵ３０は、管理対象ＩＤレジスタ５３に、自身が入力し得る全てのフレームに対応するＩＤを設定しても良いし、特定の通信ノード宛のフレームに対応するＩＤのみを設定しても良い。
【００４６】
レイテンシ閾値レジスタ５４＿１〜５４＿３は、ＣＰＵ３０からの設定信号１０３に含まれるレイテンシ閾値１１４＿１〜１１４＿３(以下、符号１１４で総称することがある)を、レイテンシ判定部５８に、カウント値１１７に応じて置換すべきＩＤ(以下、置換ＩＤと略称する)を選択させるための閾値としてそれぞれ保持する。ここで、ＣＰＵ３０は、ＣＡＮコントローラ２０の動作開始に先立って、レイテンシ閾値レジスタ５４にレイテンシ閾値１１４を予め設定しておくものとする。
【００４７】
置換ＩＤレジスタ５５＿１〜５５＿３は、ＣＰＵ３０からの設定信号１０３に含まれる置換ＩＤ１１５＿１〜１１５＿３(以下、符号１１５で総称することがある)をそれぞれ保持する。ここで、ＣＰＵ３０は、ＣＡＮコントローラ２０の動作開始に先立って、置換ＩＤレジスタ５５に置換ＩＤ１１５を予め設定しておくものとする。
【００４８】
セレクタ５６は、送信フレーム１０１中のＩＤ１０５、及び置換ＩＤ１１５＿１〜１１５＿３を入力とし、レイテンシ判定部５８からの選択信号１１８に従っていずれか一つのＩＤを選択する。これにより、送信フレーム１０１中のＩＤ１０５が、そのまま維持されるか、又はＩＤ１１５＿１〜１１５＿３のいずれか一つに置き換えられることとなる。
【００４９】
ＩＤ比較部５７は、図１に示したフレームハンドラ２３から受信したＩＤ１０５と、管理対象ＩＤレジスタ５３により保持される管理対象ＩＤ１１３とを比較し、その比較結果を示す信号(以下、比較結果信号と呼称する)１１６をレイテンシ判定部５８へ出力する。ここで、比較結果信号１１６は、両ＩＤの一致又は不一致のいずれかを呈する。
【００５０】
レイテンシ判定部５８は、比較結果信号１１６が一致を呈する場合、タイマ５１から出力されたカウント値１１７と、置換ＩＤレジスタ５５＿１〜５５＿３によりそれぞれ保持されるレイテンシ閾値１１４＿１〜１１４＿３とを比較する。また、レイテンシ判定部５８は、その比較結果に基づき、送信フレーム１０１中のＩＤ１０５、及び置換ＩＤレジスタ５５＿１〜５５＿３にそれぞれ保持される置換ＩＤ１１５＿１〜１１５＿３のいずれか一つを選択する。さらに、レイテンシ判定部５８は、その選択結果に応じた選択信号１１８を発生する。
【００５１】
以下、本実施の形態の動作を説明するが、まず上記の通信ノード１におけるフレーム送信処理例を、図３及び図４を参照して説明する。そして、通信ノード１におけるフレーム受信処理例を、図４を参照して説明する。
【００５２】
図３に示すように、送信フレーム１０１がＣＰＵ３０からローカルバスＩ／Ｆ２１に入力されると(ステップＳ１)、ローカルバスＩ／Ｆ２１は、入力された送信フレーム１０１を、フレームバッファ２２内の送信バッファ２２＿１に格納する。
【００５３】
これと並行して、送信レイテンシ包含部２４内のタイマ管理レジスタ５２は、ＣＰＵ３０からカウントイネーブル信号１１２を受信し、カウントイネーブル信号１１２のタイマ５１への出力を開始する。タイマ５１は、カウントアップを開始する。これにより、ＣＡＮコントローラ２０における送信レイテンシの計測が開始されることとなる(ステップＳ２)。
【００５４】
この後、送受信タイミング制御部２７は、フレーム１０１をＣＡＮバス２へ送信可能と判断すると(ステップＳ３)、送信フレーム読出指示信号１０４をフレームハンドラ２３に与えると共に、フレーム送信開始タイミング信号１０７をビットストリーム制御部２５に与える。フレームハンドラ２３は、送信バッファ２２＿１から送信フレーム１０１を読み出し、送信レイテンシ包含部２４へ転送する。この時、フレームハンドラ２３は、送信フレーム１０１中からＩＤ１０５を抽出し、送信レイテンシ包含部２４に与える。一方、ビットストリーム制御部２５は、送信レイテンシ包含部２４からの送信フレーム１０１の転送を待機する。
【００５５】
そして、送信レイテンシ包含部２４内のＩＤ比較部５７は、フレームハンドラ２３から受信したＩＤ１０５と、管理対象ＩＤレジスタ５３により保持される管理対象ＩＤ１１３とを比較し、比較結果信号１１６をレイテンシ判定部５８へ出力する。比較結果信号１１６が両ＩＤの一致を呈する場合(ステップＳ４)、レイテンシ判定部５８は、タイマ５１から出力されたカウント値１１７と、置換ＩＤレジスタ５５に保持されるレイテンシ閾値１１４とを比較する(ステップＳ５)。そして、レイテンシ判定部５８は、送信フレーム１０１中のＩＤ１０５を上記ステップＳ５の比較結果に応じたＩＤ１１５に置換し、ビットストリーム制御部２５へ転送する(ステップＳ６)。
【００５６】
ビットストリーム制御部２５は、送信バス３及びトランシーバ１０を介して、フレーム１０１をＣＡＮバス２へ送信する(ステップＳ７)。なお、上記のステップＳ４で比較結果信号１１６が両ＩＤの不一致を呈する場合、フレーム１０１は、送信レイテンシ包含部２４によりＩＤ１０５が置換されること無く、ＣＡＮバス２へ送信される。
【００５７】
上記のステップＳ４〜Ｓ７の処理を、図４(ａ)に示す、上記の通信ノード１と同様に構成された通信ノード１Ａ〜１Ｄの各々に対して、図４(ｂ)に示す如く共通のＩＤ置換設定が行われている場合を例に取って詳細に説明する。ここで、通信ノード１Ｄは、通信ノード１Ａ〜１Ｃから、互いに異なるＣＡＮチャネルを介して同等の優先度を有するフレーム１０１Ａ〜１０１Ｃを同時に受信するものとする。また、通信ノード１Ａに送信レイテンシが発生しておらず、通信ノード１Ｂに送信レイテンシ１１９Ｂ(１０μｓｅｃ＜１１９Ｂ＜１００μｓｅｃ)が発生しており、通信ノード１Ｃに送信レイテンシ１１９Ｂより遥かに大きな送信レイテンシ１１９Ｃ(１１９Ｂ≧１００μｓｅｃ)が発生しているものとする。なお、これらの送信レイテンシ１１９Ｂ及び１１９Ｃは、通信ノード１Ｂ及び１Ｃ内部の送信処理遅延や、図示されない他の通信ノードに調停負けしたこと等に起因して発生している。さらに、フレーム１０１Ａには、その生成時点でＩＤ１０５＝"Ｅ"が付与されており、フレーム１０１Ｂ及び１０１Ｃには、その生成時点でＩＤ１０５＝"Ｈ"がそれぞれ付与されているものとする。
【００５８】
まず、フレーム１０１Ａ中のＩＤ１０５＝"Ｅ"が管理対象ＩＤ１１３として設定されているため、通信ノード１Ａ内のＩＤ比較部５７は、比較結果信号１１６＝"一致"をレイテンシ判定部５８へ出力する。また、通信ノード１Ａには送信レイテンシが発生してないため、フレーム１０１Ａについてタイマ５１により計測されたカウント値１１７は１０μｓｅｃ未満となる。この場合、レイテンシ判定部５８は、ＩＤ１０５を置換すること無く、フレーム１０１Ａをビットストリーム制御部２５へ転送する。これにより、フレーム１０１Ａが通信ノード１Ｄで受信されることとなる。
【００５９】
また、フレーム１０１Ｂ中のＩＤ１０５＝"Ｈ"が管理対象ＩＤ１１３として設定されているため、通信ノード１Ｂ内のＩＤ比較部５７は、比較結果信号１１６＝"一致"をレイテンシ判定部５８へ出力する。また、通信ノード１Ｂに発生している送信レイテンシ１１９Ｂに因り、フレーム１０１Ｂについてタイマ５１により計測されたカウント値１１７は１０μｓｅｃ以上、１００μｓｅｃ未満となる。この場合、レイテンシ判定部５８は、ＩＤ１０５を"Ｉ"に置換したフレーム１０１Ｂを、ビットストリーム制御部２５へ転送する。これにより、フレーム１０１Ｂが通信ノード１Ｄで受信されることとなる。
【００６０】
さらに、フレーム１０１Ｃ中のＩＤ１０５＝"Ｈ"が管理対象ＩＤ１１３として設定されているため、通信ノード１Ｃ内のＩＤ比較部５７は、比較結果信号１１６＝"一致"をレイテンシ判定部５８へ出力する。また、通信ノード１Ｃに発生している送信レイテンシ１１９Ｃに因り、フレーム１０１Ｃについてタイマ５１により計測されたカウント値１１７は１００μｓｅｃ以上となる。この場合、レイテンシ判定部５８は、ＩＤ１０５を"Ｊ"に置換したフレーム１０１Ｃを、ビットストリーム制御部２５へ転送する。これにより、フレーム１０１Ｃが通信ノード１Ｄで受信されることとなる。
【００６１】
一方、通信ノード１Ｄは、フレーム１０１Ｃ中のＩＤ１０５が１００μｓｅｃ以上の送信レイテンシに対応する"Ｊ"であるため、フレーム１０１Ｃの有効期限が切れていると判断して、フレーム１０１Ｃを破棄する(ステップＳ１１)。この処理は、例えばフレームハンドラ２３が、受信バッファ２２＿２にフレーム１０１Ｃを格納しないことで実現できる。
【００６２】
また、通信ノード１Ｄは、フレーム１０１Ｂ中のＩＤ１０５が１００μｓｅｃ未満の送信レイテンシに対応する"Ｉ"である一方、フレーム１０１Ａ中のＩＤ１０５が送信レイテンシ無しに対応する"Ｈ"であるため、有効期限に余裕の無いフレームフレーム１０１Ｂをフレーム１０１Ａより先に処理し(ステップＳ１２)、フレーム１０１Ａに対する処理を待機する(ステップＳ１３)。これらの処理は、例えばフレームハンドラ２３が、受信バッファ２２＿２にフレーム１０１Ｂ、フレーム１０１Ａを順に格納することで実現できる。
【００６３】
このように、複数のＣＡＮチャネルを介してフレームを受信する通信ノードであっても、送信側の通信ノードにおける送信レイテンシを考慮してフレームの処理優先度を決定することができる。従って、受信側の通信ノードにおける誤動作を確実に防止できる。また、ＩＤ置換によりフレームに送信レイテンシに関する情報を含める場合、フレーム長(トラフィック量)の増大を抑えることができるというメリットもある。
【００６４】
なお、上記の実施の形態によって本発明は限定されるものではなく、特許請求の範囲の記載に基づき、当業者によって種々の変更が可能なことは明らかである。
【００６５】
例えば、送信レイテンシに関する情報はフレームのデータ本体(ペイロード)に付加することもできる。このため、本発明は、フレームのフォーマットを問わず、ＣＡＮ以外の各種ネットワークにも適用可能である。また、上記の実施の形態に示した通信コントローラの各処理を、通信ノードに実行させるためのプログラムとして提供することもできる。この場合、当該プログラムを、通信ノード内のプロセッサが実行可能なようにメモリ等の記憶媒体に格納すると好適である。或いは、当該プログラムは、既存の通信ノードに組み込まれたファームウェアへのプラグインとして提供しても良い。
【符号の説明】
【００６６】
１, １Ａ〜１Ｄ  通信ノード
２  ＣＡＮバス
３  送信バス
４  受信バス
５  ローカルバス
１０  トランシーバ
２０  ＣＡＮコントローラ
２１  ローカルバスＩ／Ｆ
２２  フレームバッファ
２２＿１  送信バッファ
２２＿２  受信バッファ
２３  フレームハンドラ
２４  送信レイテンシ包含部
２５  ビットストリーム制御部
２６  エラー管理部
２７  送受信タイミング制御部
３０  ＣＰＵ
４０  周辺ブロック
５１  タイマ
５２  タイマ管理レジスタ
５３  管理対象ＩＤレジスタ
５４, ５４＿１〜５４＿３  レイテンシ閾値レジスタ
５５, ５５＿１〜５５＿３  置換ＩＤレジスタ
５６  レジスタ
５７  ＩＤ比較部
５８  レイテンシ判定部
１０１, １０１Ａ〜１０１Ｃ  送信フレーム
１０２  受信フレーム
１０３  設定信号
１０４  送信フレーム読出指示信号
１０５  ＩＤ
１０６  フレーム送信完了信号
１０７  フレーム送信開始タイミング信号
１０８  ＥＯＦ送信完了信号
１０９  ＥＯＦ受信完了信号
１１０  通信結果信号
１１１  エラー検出信号
１１２  カウントイネーブル信号
１１３  管理対象ＩＤ
１１４, １１４＿１〜１１４＿３  レイテンシ閾値
１１５, １１５＿１〜１１５＿３  置換ＩＤ
１１６  比較結果信号
１１７  カウント値
１１８  選択信号
１１９, １１９Ｂ, １１９Ｃ  送信レイテンシ
【図１】
2011103577.tif 000003
【図２】
2011103577.tif 000004
【図３】
2011103577.tif 000005
【図４】
2011103577.tif 000006
【図５】
2011103577.tif 000007
【図６】
2011103577.tif 000008
【図７】
2011103577.tif 000009