(57)【特許請求の範囲】
【請求項１】
複数の通信制御ユニットを有する分散通信システムのためのアドバンスド通信制御ユニット（６０）であって、前記複数の通信制御ユニットの少なくとも１つがアドバンスド通信制御ユニット（６０）であり、前記複数の通信制御ユニットの各々は通信媒体に接続され、通信プロトコルを用いて通信するように構成されており、前記アドバンスド通信制御ユニット（６０）は、
プロトコル事象記録回路（６２）であって、
前記アドバンスド通信制御ユニット（６０）の少なくとも１つの内部プロトコル事象データ伝送経路（６６）に接続されたモニタ入力（６４）であって、前記少なくとも１つの内部プロトコル事象データ伝送経路（６６）は、前記アドバンスド通信制御ユニット（６０）のプロトコル・エンジン（７２）とホスト・インタフェース（７４）との間を接続し、前記モニタ入力（６４）は、ホスト・インタフェース・レジスタのステータス情報を直接監視するために接続されている、前記モニタ入力（６４）と、
メモリ素子（７０）に接続されたデバッグ出力（６８）とを有し、
少なくとも１つの設定パラメータに応じて前記モニタ入力（６４）から受信されたプロトコル事象データをフィルタ処理し、フィルタ処理されたプロトコル事象データを前記デバッグ出力に提供するように構成されている、前記プロトコル事象記録回路（６２）
を備え、前記プロトコル事象記録回路は、前記フィルタ処理されたプロトコル事象データを非侵入的に記録するように構成されている、アドバンスド通信制御ユニット（６０）。
【請求項２】
前記通信プロトコルが、実時間通信プロトコル、タイムトリガ型通信プロトコル、及びフレックスレイ（商標）プロトコルのうちの少なくとも１つである、請求項１に記載のアドバンスド通信制御ユニット。
【請求項３】
前記プロトコル事象記録回路は、前記通信システムの起動段階の間に前記プロトコル事象データを記録するように構成されている、請求項１または請求項２に記載のアドバンスド通信制御ユニット。
【請求項４】
前記メモリ素子が先入れ先出しバッファ装置である、請求項１乃至３のいずれか１項に記載のアドバンスド通信制御ユニット。
【請求項５】
前記メモリ素子が一般的なバッファリング・サブシステムである、請求項１乃至４のいずれか１項に記載のアドバンスド通信制御ユニット。
【請求項６】
前記少なくとも１つの設定パラメータを前記プロトコル事象記録回路に提供するように構成された設定ユーザ・インタフェース（７８）を備える、請求項１乃至５のいずれか１項に記載のアドバンスド通信制御ユニット。
【請求項７】
前記メモリ素子が、設定可能なバッファ・サイズ・パラメータに応じた量の前記フィルタ処理されたプロトコル事象データをバッファリングするように構成されている、請求項１乃至６のいずれか１項に記載のアドバンスド通信制御ユニット。
【請求項８】
前記プロトコル事象記録回路が、前記フィルタ処理されたプロトコル事象データをプロトコル事象フレーム形式で前記メモリ素子に提供するように構成されている、請求項１乃至７のいずれか１項に記載のアドバンスド通信制御ユニット。
【請求項９】
前記プロトコル事象フレーム形式は、追加されたタイミング情報を含む、請求項８に記載のアドバンスド通信制御ユニット。
【請求項１０】
複数の通信制御ユニットを有する分散通信システムのためのアドバンスド通信制御ユニットのプロトコル事象記録回路を用いてプロトコル事象を記録する方法であって、前記複数の通信制御ユニットの少なくとも１つがアドバンスド通信制御ユニットであり、前記複数の通信制御ユニットの各々は通信媒体に接続され、通信プロトコルを用いて通信するように構成されており、前記方法は、
前記アドバンスド通信制御ユニットの少なくとも１つの内部プロトコル事象データ伝送経路上で送信されたプロトコル事象データを、前記プロトコル事象記録回路のモニタ入力（６４）を介して受信すること（９０）であって、前記少なくとも１つの内部プロトコル事象データ伝送経路は、前記アドバンスド通信制御ユニットのプロトコル・エンジン（７２）とホスト・インタフェース（７４）との間を接続し、前記モニタ入力（６４）は、ホスト・インタフェース・レジスタのステータス情報を直接監視するために接続されている、前記受信すること（９０）、
少なくとも１つの設定パラメータに応じて、前記モニタ入力から受信された前記プロトコル事象データをフィルタ処理すること（９２）、
フィルタ処理されたプロトコル事象データを、前記プロトコル事象記録回路のデバッグ出力（６８）を介して接続されたメモリ素子に提供すること（９４）
を含み、前記プロトコル事象記録回路は、前記フィルタ処理されたプロトコル事象データを非侵入的に記録するように構成されている、方法。
【請求項１１】
設定ユーザ・インタフェースを用いて前記少なくとも１つの設定パラメータを前記プロトコル事象記録回路に提供すること（９６）を含む、請求項１０に記載の方法。
【請求項１２】
前記フィルタ処理されたプロトコル事象データを、デバッグ・ユニットを用いて処理すること（９８）を含む、請求項１０または請求項１１に記載の方法。
【請求項１３】
請求項１乃至９のいずれか１項に記載の少なくとも１つのアドバンスド通信制御ユニットを備える乗り物（１００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に、通信システムに関し、特に、アドバンスド通信制御ユニット、プロトコル事象を記録するための方法、および乗り物に関する。
【背景技術】
【０００２】
データ通信システムは通常、データ・バスのような通信媒体に接続され、通信媒体を横断してメッセージ・データをやりとりするいくつかの通信ノードで構成されている。各通信ノードは通常、バス上の信号を聞き、バスからデータを受信し、バスを横断して他のノードにデータを送信するように設定された通信制御装置を含んでいる。意味のあるシグナル交換を可能にするために、データ伝送が通信プロトコルに基づいて実行され、この通信プロトコルは、通信媒体への物理的アクセス、またはノード間のデータ搬送のような、通信の異なるレイヤの規則を規定する大量の異なるプロトコルで構成されてもよい。
【０００３】
ノードは、例えば、マイクロコントローラのような処理装置を含んでいてもよい。例えば自動車環境では、処理装置は自動車内の電気的システムまたはサブシステムのうちの１つ以上を制御する任意の埋め込みシステムである電子制御装置であってもよい。ノードは、通信プロトコルを用いて通信してもよい。車両への応用では、いくつかの例を挙げると、コントローラ・エリア・ネットワーク（ＣＡＮ）プロトコルまたはフレックスレイ（ＦｌｅｘＲａｙ）・プロトコルを使用してもよい。ＣＡＮバスは、マイクロコントローラおよび装置が車両の中で互いに通信できるように設計された車載バス標準である。フレックスレイは、より高速かつより信頼性の高い代替案を提供する。フレックスレイ通信プロトコルは、数台の装置により通信媒体へアクセスするための時分割多重アクセス（ＴＤＭＡ）方式に基づいており、このＴＤＭＡ方式は通信システムの起動段階時に確立される予定のノード間に同期を要求する。
【０００４】
図１を参照すると、先行技術の通信制御ユニット１４の起動失敗シーケンスの、垂直な時間軸を有する、第１のメッセージ・シーケンス・チャート１０の一例が模式的に示されている。起動段階は事象率が高い期間になる可能性がある。図示の例では、ソフトウェア・モジュール１２が、通信システム内の他のフレックスレイ制御装置１６との通信をセットアップするフレックスレイ制御装置１４の起動を誘発する。制御装置１４は、ソフトウェア・モジュール１２から設定データ１８と、後続の実行起動コマンド２０とを受信する。制御装置は、他の通信ノードの制御装置１６との通信２２のセットアップを開始する。一定の時間の後に、起動通信１４は失敗し、制御装置１４はソフトウェア・モジュール１２にその失敗を示す。図示の例では、フレックスレイ制御装置１４は、通信を確立できなかったこと、およびプロトコル状態機械が、正常な活動状態に入るのに失敗したことを示すメッセージ２４をソフトウェア・モジュール１２に発行してもよい。しかしながら、失敗メッセージ２４を受信した後に、誤動作の理由がソフトウェア・モジュールにより導出２６されない可能性がある。
【０００５】
システムの通信制御装置で検出される通信システムの誤動作の場合、不良を見つけて取り除き、または少なくとも不良数を減らす組織的なプロセスとしてのシステムのデバッグ作業を適用してもよい。これを行うために、２〜３の例を挙げると、レートおよびオフセット補正値に対するレジスタ内容変化、プロトコル実行を実現する状態機械の状態変化、またはスロット・ステータス情報などの、例えば、関連のあるプロトコル事象などを含むトレース情報を分析してもよい。
【０００６】
単一段階デバッグ作業では、これらの情報は、プロトコルの動作にブレイクポイントを挿入して、プロトコル実行を中断させて、さらなる分析を行うために制御装置からステータス情報を読み出すことにより取得できる。しかしながら、中断している間も他のノードの制御装置は処理および通信を継続して、それらの制御装置の状態と、通信バスの状態とを変化させ得る。
【０００７】
あるいは、例えば、通信プロトコルの実行中に制御装置状態レジスタのステータス情報をトレースして、プロトコル実行の中断を回避してもよい。例えば、ステータス・レジスタなどからトレースする予定の関連情報にアクセスして読み取るプロセスは、内部データ・バスの帯域幅などのシステム・リソースの一部分を消費するとともに、追加のプロセッサ負荷を必要とする。この侵入的な（ｉｎｔｒｕｓｉｖｅ）方法は、プロトコル実行のタイムフローを変化させたり、または妨げたりする可能性があり、このことは、例えば、実時間実行が求められるときに関連する可能性がある。システムの起動段階のような通信媒体上での事象率が高い期間中は、プロトコル・フローのスケジュールへの影響を軽減させるために、事象の一部分だけをトレースしてもよい。
【０００８】
特許文献１では、フレックスレイ通信システムに接続されたモニタ装置について記載しており、このモニタ装置は通信制御装置がプロトコルに適合した挙動を行っているかを侵入的にチェックする。示されているバス・ガーディアンは、通信制御装置の正しい挙動を監視するための独自のカウンタとタイマとを実現する。通信制御装置状態機械の移り変わりを、その基準と比較するために、バス・ガーディアンは個別の基準状態機械を実現する。
【０００９】
特許文献２では、ＤＳＰバス・モニタ装置について記載している。分散通信システムではないシステムの内部バス用のモニタ装置としての埋め込みプロセッサを、試験ツールとして提供している。バス監視装置は、デジタル・シグナル・プロセッサ（ＤＳＰ）と同じチップまたはモジュールの中に常駐しており、これにより、外部接点からはアクセスできない内部プロセッサ・バスへの接続が可能になっている。監視装置は個別の循環バッファを使用して、１つ以上の内部プロセッサ・バスそれぞれからのデータ・トレースを連続的に保存する。トリガ状態が発生した場合、保存は停止して、プロセッサ動作を評価するためにトレースを保持する。
【００１０】
特許文献３では、埋め込みプロセッサ用の設定可能なトレース・ポートについて記載している。プロセッサ・コアから出力バッファに渡されるトレース情報量を選択的に制限するトレース・ポートを提供する。プロセッサ・トレース・データは、出力バッファの調整可能な読み出し率に適合するように圧縮できる。
【００１１】
特許文献４では、ＤＳＰデバッグ動作用の埋め込みトレース・マクロセルを示している。マクロセルは、非侵入的に（ｎｏｎ−ｉｎｔｒｕｓｉｖｅｌｙ）監視されたソフトウェア実行の選択可能な態様を記録して、ブレイクポイントを生成する。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】国際公開第２００８／１１０９５７号
【特許文献２】米国特許第６，８５４，０２９号明細書
【特許文献３】米国特許第７，１４９，９２６号明細書
【特許文献４】米国特許出願公開第２００８／０１１５１１５号明細書
【発明の概要】
【課題を解決するための手段】
【００１３】
本発明は、添付の請求項に記載するように、アドバンスド通信制御ユニットと、プロトコル事象を記録するための方法と、自動車とを提供する。
本発明の具体的な実施形態は従属請求項に記述している。
【００１４】
本発明のこれらの、および他の態様は、以下に説明する実施形態を参照することにより明らかになり、解明されるであろう。
【図面の簡単な説明】
【００１５】
【図１】先行技術の通信制御ユニットの起動失敗シーケンスの第１のメッセージ・シーケンス・チャートの一例を模式的に示す図である。
【図２】アドバンスド通信制御ユニットの実施形態例の起動失敗シーケンスの第２のメッセージ・シーケンス・チャートの一例を模式的に示す図である。
【図３】アドバンスド通信制御ユニットの実施形態の一例の模式的ブロック図である。
【図４】プロトコル事象を記録するための方法の実施形態の一例を模式的に示す図である。
【図５】アドバンスド通信制御ユニットを含む乗り物の実施形態の一例を模式的に示す図である。
【発明を実施するための形態】
【００１６】
本発明のさらなる詳細、態様、および実施形態は、添付図面を参照することにより、ほんの一例として説明されるであろう。図面では、同様の要素または機能的に類似した要素を特定するために、同様の参照番号を使用している。図面の中の要素は単純化して明確になるように示されており、必ずしも原寸に比例して描かれているわけではない。
【００１７】
図２を参照すると、アドバンスド通信制御ユニット３４の実施形態例の起動失敗シーケンスの、垂直な時間軸を有する、第２のメッセージ・シーケンス・チャート３０の一例が模式的に示されている。図１と同様に、起動段階は事象率が高い期間である可能性があり、図示の例はフレックスレイ通信システムを示していてもよい。図示の例では、ソフトウェア・モジュール３２が、通信システム内の他のフレックスレイ制御装置３６との通信をセットアップするアドバンスド・フレックスレイ制御装置３４の起動を誘発する。他のフレックスレイ制御装置３６は、先行技術の制御装置またはアドバンスド・コミュニケーション制御装置のどちらであってもよい。アドバンスド・フレックスレイ制御ユニット３４は設定データ３８を受信する。その後、例えば、デバッグ・モジュール５０により発行された中断メッセージ５２を受信した時に、ソフトウェア・モジュール３２の動作を停止させる。しかしながら、モジュール５０は、アドバンスド・フレックスレイ制御装置３４のアドバンスド機能を構成するようになされた他の任意のエンティティであってもよい。その後、デバッグ・モジュール５０は、図示のアドバンスド・コミュニケーション制御装置３４に、プロトコル事象記録回路設定メッセージ５２を送信してもよい。メッセージは、少なくとも１つの設定パラメータを含んでいてもよい。あるいは、メッセージは、アドバンスド通信制御ユニット３４に、例えば、設定ファイルまたはデバッガ・ウィンドウから、プロトコル事象記録回路設定データを読み取らせてもよい。または変更された設定ルーチンの実行を誘発してもよい。その後、ソフトウェア・モジュール３２からの後続の実行起動コマンド４０が、アドバンスド通信制御ユニット３４に通常動作を継続させてもよい。アドバンスド通信制御装置３４は、他の通信ノードの制御装置３６との通信４２のセットアップを開始する。一定の時間の後、起動通信４４は失敗し、制御装置３４はソフトウェア・モジュール３２にその失敗を示す。図示の例では、フレックスレイ制御装置３４は、通信を確立できなかったこと、およびプロトコル状態機械が、その正常な活動状態に入るのに失敗したことを示すメッセージ４４をソフトウェア・モジュール１２に発行してもよい。失敗メッセージ４４を受信した後に、誤動作の理由がデバッグ・モジュール５０により導出４６されてもよく、その手段として、アドバンスド・メモリ素子において遭遇し、プロトコル事象記録回路によりメモリ素子内に保存されるプロトコル事象データから抽出され、選択・トレースされるプロトコル事象データを含むメモリ素子を読み取って評価する方式を採用している。
【００１８】
ここで図３を参照すると、アドバンスド通信制御ユニット６０の実施形態の例の模式的ブロック図を示している。例として、図示のアドバンスド通信制御ユニット６０は、フレックスレイ通信制御装置に基づいていてもよい。図示の制御装置は、複数の通信制御ユニットを有する分散通信システム用のアドバンスド通信制御ユニット６０であってもよく、これら複数の通信制御ユニットは、そのうちの少なくとも１つがアドバンスド通信制御ユニット６０であり、複数の通信制御ユニットはそれぞれ通信媒体に接続され、通信プロトコルを用いて通信するように構成されている。アドバンスド通信制御ユニット６０は、アドバンスド通信制御ユニット６０の少なくとも１つのプロトコル事象データ伝送経路６６に接続されたモニタ入力６４と、メモリ素子７０に接続されたデバッグ出力６８とを有するプロトコル事象記録回路６２を含んでいてもよく、少なくとも１つの設定パラメータに応じてモニタ入力６４から受信したプロトコル事象データをフィルタ処理して、フィルタ処理されたプロトコル事象データをデバッグ出力６８に提供するように構成されていてもよい。
【００１９】
図示のアドバンスド通信制御装置６０は、プロトコル事象をデバッグする手段を提供してもよく、ソフトウェア・アプリケーションへの影響をゼロまたは最小限に抑えながら、アドバンスド通信制御ユニットを含む通信ノードを用いて機能を実現してもよい。
【００２０】
プロトコル事象記録回路６２は、プロトコル事象データをメモリ素子７０内に保存するように構成されていてもよい。その後、このトレースされたデータは、制御装置と通信システムとのデバッグ作業のために読み取られてもよい。
【００２１】
プロトコル事象記録回路６２である事象観察モジュールが、例えば、どのプロトコル事象をいつ保存すべきかを選択するために使用してもよい少なくとも１つの設定パラメータに応じて設定されてもよい。
【００２２】
プロトコル事象記録回路は、プロトコル事象データをフィルタ処理し、少なくとも１つの設定パラメータに応じて関連すると考えられるデータを選択するための最低限の論理回路だけを用いて実現してもよい。これにより、消費電力と所要のダイ領域との増加を最小に抑えながら、先行技術の通信制御ユニットに基づいて実現することを可能にし得る。
【００２３】
図示されているように、アドバンスド通信制御ユニット６０は、プロトコル・エンジン・ユニット７２を含んでいてもよい。アドバンスド通信制御ユニット６０は、例えば、１つ以上のトランシーバ・ユニットなどを経由したバス・アクセス用の媒体アクセス制御（ｍｅｄｉａ  ａｃｃｅｓｓ  ｃｏｎｔｒｏｌ：ＭＡＣ）構成要素、およびプロトコル実行用の状態機械を実現するプロトコル・エンジン制御（ｐｒｏｔｏｃｏｌ  ｅｎｇｉｎｅ  ｃｏｎｔｒｏｌ：ＰＯＣ）構成要素などの数個の通信構成要素で構成されていてもよい。例えば、フレックスレイＰＯＣは、通信の進捗に応じて、各制御装置状態が特定の通信に固有の活動により特徴付けられる８種類の異なる状態を含んでいてもよい。フレックスレイ制御装置のＰＯＣ構成要素は、制御装置状態遷移に関与する。
【００２４】
そして、図示のアドバンスド通信制御ユニット６０は、送信予定のデータを生成して、通信ネットワークから受信したデータを消費するアプリケーションを実行するマイクロコントローラなどのホスト処理装置（図示せず）と通信するためにホスト・インタフェース７４を含んでいてもよい。通信ノードは、制御ユニットとホスト処理装置とを含んでいてもよい。例として、フレックスレイ制御装置は、ホストを通信作業から解放する。フレックスレイ制御装置では、ホスト・インタフェース７４はコントローラ・ホスト・インタフェース（ＣＨＩ）であってもよい。データ伝送、例えば、プロトコル事象データなどの伝送のために、ホスト・インタフェース７４をプロトコル・エンジン・ユニット７２に接続してもよい。したがって、プロトコル・エンジンとホスト・インタフェース７４の間で利用できる、直接的または間接的なプロトコル事象データ伝送経路６６があってもよい。
【００２５】
ホスト・インタフェース７４の内部レジスタ・バッファをプロトコル事象伝送経路６６の一部分であると見なしてもよく、例えば、ホスト・インタフェース・レジスタのステータス情報を直接監視するために接続されているモニタ入力６４は、少なくとも１つのプロトコル事象データ伝送経路６６に接続されたモニタ入力６４の範囲内であってもよい。アドバンスド通信制御ユニット６０の図示の実施形態では、プロトコル事象伝送経路６６はプロトコル・エンジン７２とホスト・インタフェース７４の間の内部経路である。他の実施形態では、経路６６が、異なる制御装置モジュール、例えば、プロトコル・エンジン７２とインタフェースを、外部トランシーバに接続してもよいことに注目すべきである。これは、プロトコル事象を抽出するためのプロトコル事象記録回路の中に追加回路を必要とする可能性がある。
【００２６】
データを伝送することが、データを送信すること、データを受信することを含んでいてもよく、したがって、データを伝送することは双方向通信および一方向通信を示していてもよい。
【００２７】
プロトコル事象は、実行中のプロトコルに関連している任意の重要情報でもよい。
例として、プロトコル事象記録回路としてのフレックスレイ観察モジュールは、例えば、ＣＨＩ内に存在してはいるが変わりやすい不安定な情報の変化を観察することにより検出されるフレックスレイ・プロトコル事象に敏感であってもよい。フレックスレイ・プロトコル事象は、例えば、ＰＯＣ状態変化と、ＰＯＣサブ状態変化と、「積分がチャネルＡ／Ｂ上で始まった」、「仮想フレームがＡ／Ｂを開始する」、「積分がＡ／Ｂを中断した」、「Ａ／Ｂ上の有効な同期フレーム」のような事象とを含んでいてもよく、ここでＡおよびＢは、通信媒体と、ユーティリティ・バスの情報と、特定のスロット、またはレートおよびオフセット補正値のスロット・ステータス情報と、ＰＯＣの正常な活動状態を解き放す条件：ＮｏｒｍａｌＡｃｔｉｖｅへの多重アクセス方法により実現されるデータ伝送チャネルを示している。事象は、特定の時刻に、特定の周期の間、または連続的に記録でき、例えば、デバッガ・モジュールにより開始および停止できる。
【００２８】
通信媒体は、例えば、電気パルス、電磁波、または光波を用いて信号伝送を可能にする任意の有線または無線の通信媒体であってもよい。
ホスト・インタフェース７４は、システム・メモリ・インタフェース７６を介してシステム・メモリにアクセスしてもよい。
【００２９】
通信プロトコルは任意の通信プロトコルであってもよい。通信プロトコルは、例えば、実時間通信プロトコルであってもよく、この実時間通信プロトコルは、通信が実時間の制約を受ける、すなわち、情報配布の動作期限、および事象からシステム応答までの動作期限を課せられる通信プロトコルである。システム負荷にかかわらず、実時間期限を満たす必要がある。図示のアドバンスド通信制御ユニットは、プロトコル実行とスケジュールとの流れに影響を与えたり、または変化させたりすることなく、トレース・データを記録することを可能にし得る。このことは、例えば、セーフティ・クリティカル・システムなどにとって、例えば、自動車環境などにおいて重要である可能性がある。
【００３０】
通信プロトコルは、タイムトリガ型通信プロトコルであってもよい。通信制御ユニットは、通信システム全体にわたって分布するが、共通タイミングを使用してもよい。この場合、同等な時間概念をすべてのノードに提供するために時刻同期を使用してもよい。各ノードは、正しいメッセージの先験的に既知の予期される到着時間と、観測される到着時間の間の差を測定して、送り手側のクロックと、受け手側のクロックの間の差を検出する。その後、フォールト・トレラント平均アルゴリズムがローカル・クロックに対する補正項を計算して、ローカル・クロックが通信システムの他のすべてのクロックと同期を保持するようになっていてもよい。これは、所定の継続時間の間、通信制御装置が連続的に送信できる、通信媒体への時分割多重アクセスに使用してもよい。提供されるアドバンスド通信制御ユニットは、通信システムの通信ノードの同期に対して影響を与えずにデバッグを行うためにプロトコル事象データを記録することを可能にし得る。
【００３１】
通信プロトコルは、例えば、イーサネットまたはユニバーサル・シリアル・バス（ＵＳＢ）プロトコルのような非自動車環境内のバスに使用される任意の通信プロトコルであってもよく、または、例えば、コントローラ・エリア・ネットワーク（ＣＡＮ）、ローカル相互接続ネットワーク（ＬＩＮ）、媒体指向型システム搬送（ＭＯＳＴ）、タイムトリガ型プロトコル（ＴＴＰ）、シリアル通信インタフェース（ＳＣＩ）、またはバイトフライト・プロトコルのような自動車環境内のバスに使用される任意の通信プロトコルであってもよい。
【００３２】
アドバンスド通信制御ユニットの実施形態では、通信プロトコルはフレックスレイ（商標）プロトコルを含んでいてもよい。通信プロトコルはフレックスレイ規格に適合してもよく、または追加の非標準機能を含んでいてもよい。フレックスレイ・プロトコルは、通信媒体への同期アクセスを用いて高いデータ伝送率と信頼できる伝送とを可能にする。その結果、提示されるアドバンスド通信制御ユニット６２は、通信の過程にほとんど、もしくは全く影響を与えずにトレース・データを取得することを可能にし得る。
【００３３】
プロトコル事象記録回路は、フィルタ処理されたプロトコル事象データを非侵入的に（ｎｏｎ−ｉｎｔｒｕｓｉｖｅｌｙ）記録するように構成され得る。システムを停止させてトレース・データを抽出するためにブレイクポイントを挿入しなくてもよく、プロトコル事象記録回路の動作に起因する遅延を本質的にほとんど引き起こさない。
【００３４】
これは、高い事象率が予想できる通信期間の間、例えば、システムの通信制御装置間の通信の初期設定の間、時刻同期の確立の間などに重要である可能性がある。プロトコル事象記録回路は、通信システムの起動段階の間にプロトコル事象データを記録するように構成されていてもよい。起動時のフレックスレイ・プロトコル事象のようなプロトコル事象は、既存のデバッグ環境内で情報が観察できるよりも速く起こる場合が多い。アドバンスド通信制御ユニットは、起動期間のような事象率が高い期間の間であっても、トレース・データを記録できる可能性がある。
【００３５】
これは、状態変化割り込みの異なる発生時点での１つの状態プリントにより、例えば、割り込みに基づいて状態レジスタ読み取りを誘発するデバッグ方法、および同じ起動段階を数回実行するデバッグ方法を回避するのに役立つ可能性がある。
【００３６】
メモリ素子７０は先入れ先出し（ＦＩＦＯ）バッファ装置であってもよい。これは、プロトコル事象データを連続的にトレースすることを可能にし得る。
また、メモリ素子７０は、システム・メモリのサブシステムまたは外部バス・インタフェースのような一般的な（ｇｅｎｅｒｉｃ）バッファリング・サブシステムであってもよい。これは、アドバンスド通信制御ユニット６２の中の専用プロトコル事象記録メモリ用の追加の個別メモリ・ハードウェアまたは追加のダイ領域を省く可能性があり、実時間スタンプ情報を用いてリアルタイムでシステム・メモリ・バスにおいてプロトコル事象を直接デバッグするために、例えば、ネクサス・デバッグ・インタフェースを用いてアドバンスド・バス・デバッグの使用を可能にし得る。共有システム・メモリ・インタフェース７６を介してプロトコル事象記録ユニット６２のデバッグ出力６８をメモリ素子７０に接続して、追加のインタフェース回路の実施を回避してもよい。システム・メモリ・インタフェース７６は、例えば、メッセージ・バッファ内容をシステム・メモリの中に書き込み、システム・メモリから読み取るのに使用するのと同じであってもよい。
【００３７】
図示のアドバンスド通信制御装置は、プロトコル事象記録回路６２を追加することにより、既存のソフトウェアとスケジュールとに対する副次的な悪影響なしにフレックスレイ・プロトコル事象などのプロトコル事象をデバッグする手段を提供してもよく、このプロトコル事象記録回路６２は、例えば、ＦＩＦＯであってもよいメモリ素子７０の中に重大なフレックスレイ事象を記録してもよい。メモリ素子は、マイクロコントローラ上の通信制御ユニットの外部のシステム・メモリ内に位置してもよく、デバッグ予定の問題が発生した後には、デバッガがメモリ素子を容易に監視してもよい。メモリ素子のサイズが、パラメータに応じて設定可能であってもよい。サイズは、システム・メモリのすべてまたは一部分であってもよい。記録されたデータの利用性についてホスト処理装置に通知する指示子を提供してもよい。
【００３８】
アドバンスド通信制御ユニット６０は、少なくとも１つの設定パラメータをプロトコル事象記録回路６２に提供するように構成された設定ユーザ・インタフェース７８を含んでいてもよい。プロトコル事象記録回路６２は、図２で説明するように、設定パラメータを含むか、または異なる供給源からの設定パラメータの読み込みを誘発するかのどちらかである設定メッセージ８０を受信するための設定入力を含んでいてもよい。設定ユーザ・インタフェースは、書き込みアドレスまたは書き込みポインタ８２を受信してもよい。設定ユーザ・インタフェース７８は、例えば、既存の通信制御装置ユーザ・インタフェースの一部分であってもよい。設定ユーザ・インタフェース７８は、設定パラメータを設定するソフトウェア・ツール用のインタフェースを提供してもよい。他の実施形態では、設定ユーザ・インタフェース７８は、例えば、任意の種類のスイッチを用いる、設定パラメータのハードウェアの設定用のインタフェースであってもよい。
【００３９】
設定ユーザ・インタフェース・モジュール７８は、プロトコル事象記録回路用の設定情報を保存してもよく、記録されたデータの記憶場所を特定する書き込みポインタ８２をアプリケーションまたはデバッガに提供してもよい。設定パラメータは、メモリ素子７０のバッファ・サイズと、どのプロトコル事象を記録すべきか、およびそれらをいつ記録するかの指定とを含んでいてもよい。
【００４０】
メモリ素子７０は、設定可能なバッファ・サイズ・パラメータに応じた量のフィルタ処理されたプロトコル事象データをバッファリングするようになっていてもよい。選択されるバッファ・サイズは、例えば、通信プロトコルおよび関連する最大データ転送速度、予想されるもしくは最大のプロトコル事象率、または他のパラメータに依存してもよい。
【００４１】
プロトコル事象記録回路６２は、フィルタ処理されたプロトコル事象データをプロトコル事象フレーム形式でメモリ素子７０に提供するように構成され得る。この形式は、小さいデータ構造を示してもよく、例えば、記録される予定の事象の種類、または使用されるプロトコルのデータ形式に応じて規定されてもよい。プロトコル事象記録回路６２は、システム・メモリ・インタフェース７６にフレーム８４を提供してもよい。プロトコル事象フレーム形式は、タイミング情報を含んでいてもよい。例えば、ＣＨＩホスト・クロック、ＰＥ  μＴ、またはフレックスレイ［サイクル、マクロティック（ｍａｃｒｏｔｉｃｋ）］タイミングを単位にしたタイム・スタンプを、フレックスレイ・プロトコル事象フレームに追加してもよい。これにより、例えば、ネクサスのようなアドバンスド・システム・バス・デバッガを使用して、実時間のタイム・スタンプを有するフレックスレイ・プロトコル事象フレームを取得することを可能にし得る。設定ユーザ・インタフェース７８で提供するような記録設定に基づいて、プロトコル事象記録回路６２は、特定のプロトコル事象の集合に敏感であってもよい。このような事象がそれぞれ発生したとき、記録回路６２は、フレックスレイ・プロトコル事象フレームのような１つのフレームを構成するようになってもよく、例えば、システム・メモリ・インタフェース７６を介して、その１つのフレームをＦＩＦＯであってもよいメモリ素子７０に転送してもよい。各転送は、書き込みポインタ８２の値を増加させてもよい。
【００４２】
ここで図４を参照すると、プロトコル事象を記録するための方法の実施形態の例の模式図が示されている。図示の方法は、アドバンスド通信制御ユニット内のプロトコル事象記録回路を用いてプロトコル事象を記録するための方法の一部として、記載のアドバンスド通信制御ユニットの利点と特徴とを実現することを可能にする。
【００４３】
複数の通信制御ユニットを有する分散通信システム用のアドバンスド通信制御ユニット内のプロトコル事象記録回路を用いてプロトコル事象を記録するための方法において、これら複数の通信制御ユニットは、そのうちの少なくとも１つがアドバンスド通信制御ユニットであり、複数の通信制御ユニットはそれぞれ通信媒体に接続され、通信プロトコルを用いて通信するように構成されており、図示の方法は、アドバンスド通信制御ユニットの少なくとも１つのプロトコル事象データ伝送経路上に伝送されたプロトコル事象データを受信すること９０、少なくとも１つの設定パラメータに応じてプロトコル事象データをフィルタ処理すること９２、フィルタ処理されたプロトコル事象データをメモリ素子に提供すること９４を含んでいてもよい。
【００４４】
方法の実施形態では、方法が、設定ユーザ・インタフェースを用いて少なくとも１つの設定パラメータをプロトコル事象記録回路に提供すること９６を含んでいてもよい。
方法の実施形態では、方法が、フィルタ処理されたプロトコル事象データをデバッグ・ユニットを用いて処理すること９８を含んでいてもよい。
【００４５】
ここで図５を参照すると、アドバンスド通信制御ユニットを含む乗り物の実施形態の一例を示している。乗り物は、上述のように、少なくとも１つのアドバンスド通信制御ユニットを含んでいてもよい。乗り物は自動車であってもよい。しかしながら、乗り物は、飛行機、船、ヘリコプタなどの任意の自力推進装置であってもよい。例えば、フレックスレイ通信システムなどの自動車用通信システムは、例えば、セーフティ・クリティカル・システムにとって重要である可能性がある信頼性の高い通信を提供してもよい。セーフティ・クリティカル・システムは、安全とシステム故障の回避とが重要問題である環境で使用されるシステムであってもよく、セーフティ・クリティカル・システムは、誤動作が運転者にとって危険な状況を引き起こす可能性があるような、ならびにシステムの開発および試験中に発見される間違った動作に対する正確なトレース・データが後のシステム誤動作を回避するのに役立つ可能性があるような、例えば、ブレーキまたは電気的操舵装置などの車両安全システムのような機能的安全性用途で見られる可能性がある。
【００４６】
本発明の図示の実施形態はその大部分が当業者に公知の電子部品と電子回路とを用いて実現してもよいため、本発明の基本的概念を理解して正しく認識するようにするために、および本発明の開示を分かりにくくしたり、または本発明の開示から気をそらしたりすることがないようにするために、上述のように、必要と考えられるより以上の範囲について詳細を説明することは行わないであろう。
【００４７】
上述の詳説では、本発明の実施形態の特定の例に関して本発明を説明している。しかしながら、添付の請求項に示しているような本発明の広い要旨および範囲を逸脱することなく、本発明にさまざまな修正および変更を行ってもよいことは明らかであろう。
【００４８】
本明細書に記載の接続は、例えば、媒介装置を経由して、各ノード、ユニット、もしくは装置から、または各ノード、ユニット、もしくは装置へ信号を伝達するのに適した任意の種類の接続であってもよい。したがって、特に示唆したり、または明記したりしない限り、接続は、例えば、直接接続であってもよく、または間接接続であってもよい。接続は、単一接続、複数接続、一方向接続、または双方向接続であることに関連して図示されたり、または説明されたりしてもよい。しかしながら、異なる実施形態が接続の実施態様を変化させてもよい。例えば、双方向接続ではなく、むしろ別々の一方向接続を使用してもよく、逆もまた同様である。また、複数接続は、複数の信号を連続的に、または時分割して伝達する単一接続と置き換えてもよい。同様に、複数の信号を伝える単一接続は、これらの信号の一部分を伝えるさまざまな異なる接続に分離してもよい。したがって、信号を伝達するための多くの選択肢が存在している。
【００４９】
論理ブロックの間の境界はあくまで例を示したに過ぎないこと、他の実施形態では複数の論理ブロックもしくは複数の回路素子を一つにまとめてもよく、または他の実施形態はさまざまな論理ブロックもしくは回路素子に機能の交互分解を課してもよいことを当業者は認識するであろう。したがって、本明細書に示すアーキテクチャはあくまで例を示したに過ぎないこと、実際、同じ機能を達成する他の多くのアーキテクチャを実現できることを理解すべきである。例えば、アドバンスド通信制御ユニット６０は単一装置であってもよい。しかしながら、アドバンスド通信制御ユニット６０は、より多くの装置から構成されていてもよい。例えば、プロトコル事象記録回路６２は独立して単独で実現されてもよく、インタフェースを介して制御ユニット６０の残りのモジュールに接続されてもよい。
【００５０】
同じ機能を達成するための構成要素の任意の配置が、所望の機能を達成するように効果的に「関連している」。したがって、特定の機能を達成するように本明細書で組み合わせた任意の２つの構成要素は、アーキテクチャまたは媒介構成要素に関係なく所望の機能を達成するように互いに「関連している」と考えることができる。同様に、そのように関連する任意の２つの構成要素は、また、所望の機能を達成するために互いに「動作可能なように接続されている」または「動作可能なように結合されている」とも見なすことができる。
【００５１】
さらに、上述した動作の間の境界はあくまで例を示したに過ぎないことを当業者は認識するであろう。複数の動作を組み合わせて単一動作にまとめてもよく、単一動作を追加の動作内に分散させてもよく、動作を少なくとも部分的に時間的に重複しながら実行してもよい。さらに、他の実施形態が特定の動作の複数のインスタンスを含んでいてもよく、他のさまざまな実施形態では動作の順序を変更してもよい。
【００５２】
また、例えば、一実施形態では、単一の集積回路上に位置する回路として、または同一のデバイスの中に位置する回路として図示の実施例を実現してもよい。例えば、アドバンスド通信制御ユニット６０は、ホスト処理装置と一体化してもよい。あるいは、実施例は、好適な方法で互いに相互接続した任意の個数の個別の集積回路または個別のデバイスとして実現してもよい。例えば、メモリ素子７０は、制御ユニット６０から分離したシステム・メモリであってもよく、または制御ユニット６０の中に組み込まれてもよい。
【００５３】
また、例えば、実施例または実施例の一部分は、任意の適切な種類のハードウェア記述言語などで、物理的回路のソフト表現もしくはコード表現として、または物理的回路に変換可能な論理的表現として実現してもよい。
【００５４】
しかしながら、他の修正、変形、および代案もまた可能である。したがって、明細書および図面は、限定的意味ではなく、むしろ例示的意味で考慮すべきである。
請求項において、括弧の中に記載されたいかなる参照記号も、請求を限定するものと解釈すべきではない。単語「含む」は、その後に請求項に記載された他の要素またはステップの存在を排除するものではない。特に明記のない限り、「第１の」および「第２の」のような用語は、このような用語が記述する要素を任意に区別するために使用される。したがって、これらの用語は、必ずしもこのような要素の時間的または他の優先順位付けを示すことを目的としているわけではない。特定の複数の手段が互いに異なる請求項に記載されているという単なる事実は、これらの手段を組み合わせて使用することが有利ではないと示唆しているわけではない。
【００５５】
本発明の原理を特定の装置に関連して上記で説明したが、この説明はほんの一例として行ったに過ぎず、本発明の範囲を限定するものとして行ったわけではないことを明確に理解すべきである。
【図４】
0005605959.tif 000002
【図５】
0005605959.tif 000003
【図１】
0005605959.tif 000004
【図２】
0005605959.tif 000005
【図３】
0005605959.tif 000006