JP4680194B2 - シリアル・バス・フレームの応答時間予測方法 - Google Patents

シリアル・バス・フレームの応答時間予測方法 Download PDF

Info

Publication number
JP4680194B2
JP4680194B2 JP2006526569A JP2006526569A JP4680194B2 JP 4680194 B2 JP4680194 B2 JP 4680194B2 JP 2006526569 A JP2006526569 A JP 2006526569A JP 2006526569 A JP2006526569 A JP 2006526569A JP 4680194 B2 JP4680194 B2 JP 4680194B2
Authority
JP
Japan
Prior art keywords
frame
time
transaction
serial bus
period
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006526569A
Other languages
English (en)
Other versions
JP2007506312A (ja
Inventor
スサカリー、アレクサンダー
Original Assignee
メンター グラフィックス コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by メンター グラフィックス コーポレイション filed Critical メンター グラフィックス コーポレイション
Publication of JP2007506312A publication Critical patent/JP2007506312A/ja
Application granted granted Critical
Publication of JP4680194B2 publication Critical patent/JP4680194B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD]
    • H04L12/4135Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD] using bit-wise arbitration

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Bus Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

(技術分野)
本発明は、CAN等のシリアル・バス・ネットワークのフレーム・キューイング・システムにおいて、優先順位を固定したフレームの最悪ケースの応答時間を予測する方法に関する。
(背景)
多くの応用において、シリアル・バス・ネットワークは、デジタル・デバイス間の通信のために使用される。一例は、車のCANネットワークである。更に、これらのデバイス間の通信には、特別なタイミングの要求が伴うのが普通であり、1つの事象が発生する時刻から、これに対応する作用が実行されるまでの最大遅延が指定される。例えば、ネットワークがいくつかの他のタスク(エンジン制御、送信制御など)によって占有されている場合であっても、センサ信号に対して自動ブレーキング・システム(ABS)が直ちに応答することは当然のことと理解されている。
そのようなタイミング要求は、フレームに関する最大応答時間、すなわちフレーム送信要求の到着とこの同じフレームの送信完了との最大時間間隔と言い換えてもよい。
従って、そのようなネットワークを設計する場合、重要なことは、このタイミング要求のなかでメッセージ(フレーム)の送信を保証できることである。そのような保証を可能とするように、ネットワークは、ソフトウエア設計ツールを用いて修正され、最大応答時間が予測される。もしネットワークが現在の環境において遅すぎると判断されれば、再設計又は、もし可能であればネットワーク・バスの帯域幅の改善が必要となる。
シリアル・バスで優先順位を指定しフレームの分布を処理する仕組みは、スケジューリングと呼ばれ、例えば、集中型のコンピュータ処理システムのタスク・スケジューリングと似ている。上で述べた設計ツールは、応答時間解析、すなわち要求(例えば、シリアル・バスへフレームを送信する要求)がなされてからこれが処理されるまでの遅延を数学的に決定する方法に基づいている。
現在処理されているタスク又はフレームを新しい要求によって中断できるようにするアルゴリズムをプリエンプティブ・スケジューリング・アルゴリズムと呼ぶ。新しい要求を処理する前に現在のタスク又はフレームを完了させるようにするアルゴリズムをノンプリエンプティブと呼ぶ。
プリエンプティブ・スケジューリングのスケジューリング解析の一例は、1986年10月発行のBCS Computer Journal誌、第29巻、第5号、ページ390−395に記載されたM.JosephおよびP.Pandya著の論文「Finding response times in a real time system」に与えられる。この解析は、タスクの最悪ケースの応答時間は、スケジューリング・プロセスにすべての種類の要求が同時に入力されるときに発生する、とする仮定に基づく。
しかし、与えられた要求群がオフセット制約を有することがしばしばある。すなわち、異なる種類の要求は、互いに一定のオフセットを持たせて実行されるように制約を受ける。従って、同時に発生する要求という仮定は、望ましくない予測を与える。
1994年にヨーク大学のコンピュータ・サイエンス学部からYCS報告第221号として出版された、Ken Tindell著の論文「Adding time−offsets to schedulability analysis」は、そのようなオフセットを許容するプロセッサでのタスクに関するスケジューリング解析について述べている。ここで、相関のある時間依存性を有するタスク群は、いわゆるトランザクションに一緒にグループ化される。
この方式は、予測の精度を高め、悲観さの程度を低減するものの、各々のタスクは、対応するトランザクション周期の整数倍となる周期を持たされることになる。しかし、シリアル・バスのフレームについて考えると、フレーム周期は、フレーム処理周期の倍数になるとしか保証できない。タスクのオフセットがトランザクション周期よりも短くなるように制限されるため、このことは、この方法の応用に厳しい制限を課すことになる。
従って、上で述べた従来技術にもかかわらず、既知のスケジューリング解析モデルは、デジタル・ネットワークのシリアル・バスのフレーム応答時間の正確な予測ができない。
この結果、CANネットワークなどのシリアル・バス・ネットワークで利用可能なコンピュータ・モデルは、一般に、悲観的に過ぎる。この過大に悲観的な近似のせいで、不必要な再設計や、不必要な帯域幅の導入などが行われている。
更に、シリアル・バス・ネットワークのノードは、与えられた数のフレームだけしかアービトレーション・プロセスに入力できないように制限される。一般にノード・バジェットと呼ばれるこの制約は、ノード・プロセッサがフレームのスケジューリングおよび送信から離れて他のタスクを処理できるようにするために課されるものである。これらのバジェットは、従来のスケジューリング解析では考慮されなかった。
(発明の概要)
本発明の1つの目的は、従って、シリアル・バス・ネットワークのフレームの配信時間を推定するより正確な方法を提供することであり、更に従来技術の方法の欠点の少なくともいくつかを克服することである。
この目的およびその他の目的は、導入のところで述べた種類の方法によって達成される。この方法は、含まれるフレームのフレーム周期の最小公倍数(LCM)としてトランザクション周期を定義するステップ、前記フレームと同じかそれよりも高い優先順位を有するトランザクション中のすべてのフレームについて可能性の最も遅い解放時間を表すスタート時点の組を同定するステップ、各々のスタート時点(s)について、このスタート時点でスタートすることができ、前記フレームと同じかそれよりも高い優先順位を有するフレーム系列の最大周期を決定し、このスタート時点と同じかそれよりも大きい可能な最も遅い解放時間を有する次のフレーム・インスタンスを同定し、前記系列の最後と前記フレーム・インスタンスの到着時間との差分を計算するステップおよび前記差分の最長のものを選択することによってフレーム応答時間を決定するステップを含む。
シリアル・バス・ネットワークに存在するトランザクションをよりよくモデル化する解析を実現するために、トランザクションの概念を従来技術のものから再定義した結果、解析を実行するときに異なるアプローチを取ることになった。本発明に従えば、トランザクション周期は、そこに含まれるフレーム周期よりも長く、フレーム周期のLCMとして定義される。この結果、与えられた優先順位の1つのフレームのいくつかのインスタンスが1つのトランザクションで発生し、このことが応答時間推定プロセスを変更する。
従来の推定は、1つのフレームの1つの特別なインスタンスに基づくのであるが、本発明に従う方法は、トランザクションのすべてのインスタンスを考慮する。
シリアル・バス・ネットワークの状態に合わせて従来技術の応答時間解析方式を調節することによって、本発明に従う方法は、処理の異なる段階でフレーム応答時間のより正確な予測を与え、ネットワークのより効率的な活用を可能にする。
キューイング・システムは、例えば、シリアル・バス・ネットワークのシリアル・バスでよく、あるいは、このバスに接続された送信又は受信キューでよい。システム全体の応答時間解析では、アプリケーションからアプリケーションへの応答時間に対するいくつかの異なる要因について考慮する必要がある。
フレーム応答時間を決定するステップは、前記差分の最大値とフレーム送信時間との和を計算する工程を含むことができる。
1つの実施の形態に従えば、スタート時点の組は、各々が1つのフレーム・インスタンスに付随するサブセットに分割され、一時にこのサブセットの1つのスタート時点について前記差分が計算される。このことによって、少し異なる実施方法が実現するが、最後の結果は不変である。
前記最大の周期を計算するステップは、現在の周期を初期値にセットし、周期が収束するまで次のステップを反復することによって実行される。すなわち、与えられたトランザクションと前記スタート時点との時間遅れの組を同定することによって各トランザクションからの最大寄与を決定し、この特別な時間遅れを伴うこの特別なトランザクションからの寄与を決定し、最大の寄与を選択するステップ、これらすべての最大寄与の合計を含む更新された周期を決定するステップ、および現在の周期を更新された周期で置き換えるステップである。
これは、与えられた時点でスタートする最長のビジー周期を見出すという非常に困難な解析問題に対する効率的な数値的解法を提供する。
初期値は、好ましくは、前記フレームより低い優先順位を有するフレームの可能な最長の送信時間にセットされる。これは、対象のフレームの前に解放される低優先順位のフレームによって引き起こされる、可能性のある最長遅延を表す。この遅延は、システムのノンプリエンプティブな性質によって生ずる。更に、この遅延は、各々の更新された周期の中に定数項として含めることができ、推定をより正確なものとする。
好適な実施の形態に従えば、各々の更新された周期の中に、誤差項も1つの項として含まれる。誤差項は、シリアル・バスの送信エラーの最も可能性の高い周期を表し、典型的には、現在のビジー周期の時間長に依存する。従って、誤差項は、各々の反復について再計算される。
1つの実施の形態に従えば、各送信キューが与えられた時間内に前記シリアル・バスへ限られた数のフレームを送信するように構成されたシリアル・バスの応答時間決定に関連して、同じ送信キューから発するフレームは、バッチと呼ばれ、また最大の寄与を決定するステップは、一時に1つのバッチについて実行され、更に、対応する送信キューが現在の周期内に送信する最大数のフレームの送信時間を決定するステップと、前記送信時間に対する前記最大寄与(I(T))を制限するステップとを含む。
この実施の形態は、本発明に従う方法をバジェット(budgets)を処理するように修正するが、これは、例えばある種のCANシステムの重要な特徴である。
(詳細な説明)
以下の説明では、フレームというのは、同じ固定された優先順位を有するフレームのクラスを意味する。キューイング・システムの個々のフレームは、この代わりにフレーム・インスタンスと呼ばれる。
到着時間というのは、フレーム・インスタンスが概念的に生成される時点であり、また解放時間は、このフレーム・インスタンスが実際にキューイング・システムのアービトレーション・プロセス(arbitration process)に入る時点を意味する。完璧なシステムにおいては、これらの時刻は、一致するが、実際には、遅延が存在し、それは、解放ジッタと呼ばれる。インスタンスの可能な最も遅い解放時間というのは、到着時間に可能な最大のジッタを加えたものである。
フレーム・インスタンスは、周期的に到着すると期待され、これらの到着間の期待周期をフレーム周期と呼ぶ。散発フレーム、すなわち周期的な性質を持たないフレームは、2つの散発的な到着間で最も短い時間と等しい周期を有するものとして扱われる。
解放時間から、送信時間はそのフレームの送信を完了することを要求される。これは、フレーム本体に含まれるデータ量に依存する。CANのようなノンプリエンプティブ・システムでは、フレームは送信が開始されたあとで中断されることはない。
共通の時間関係を共有するいくつかのフレームは、1つのトランザクションとして一緒にグループ化される。ここで、各フレームは、トランザクションのスタートに対してオフセットを以って関連付けられる。トランザクションは、トランザクション周期という周期性を有し、各トランザクションの発生は、トランザクション・インバケーション(invocation)と呼ばれる。共通の時間関係を有するすべてのフレームが同じトランザクションにグループ化される必要はないことに注目される。実際、本発明の好適な実施の形態に従えば、対象のフレームをそのトランザクションのうちで最も優先順位の低いフレームとして定義することが有利な場合もある。このことは、優先順位の低いフレームを別のトランザクションにグループ化することによって実現できる。
散発フレームは、他のフレームに対して時間関係を持たないため、それ自身で1つのトランザクションを構成する。このような散発トランザクションは、2つの散発的な到着間の最も短い時間に等しい周期を有するものとして扱われる。
優先順位iを有する解放されたフレーム・インスタンスがキューイング・システムによって送信される前に、最も高い優先順位j<iを有する任意のフレームの送信が完了している必要がある(より高い優先順位を低い指数で表現することに注意)。バスがこのようなフレームで占有される期間をレベルi−1のビジー周期と呼ぶ。フレーム・インスタンスの到着とこのインスタンスの送信完了との間の遅延を応答時間と呼ぶ。
図1は、本発明を応用できるネットワーク1の例を示す。ネットワーク1は、フレーム4に含まれる情報を運ぶシリアル・バス3によって接続された複数のノード2を含む。このようなネットワークの一例は、CAN、コントローラ・エリア・ネットワークである。これは、自動車および制御応用で広く利用されるようになった簡単な通信標準である。CAN標準は、1991年にStuttgartのRobert Bosch GmbHから発表された「CAN仕様書第2.0版」に詳細に述べられている。
各ノード2は、ノード・コントローラ5、送信キュー6および受信キュー7を含む。送信準備のできたフレームは割当てられた送信キューに挿入され、送信キューは、フレームの優先順位によって指令される。ノード・コントローラは、フレーム処理ルーチンを呼び出すことで、送信キューに待機しているフレームをシリアル・バスに置く。このような呼出しの時間長を限られたものに保証するために、すべての送信キューは、バジェット、すなわち、1つのフレーム処理呼出しに含めることのできるフレーム・インスタンスの最大数を有する。フレーム処理呼出し間の期間は、フレーム処理周期と呼ばれる。
フレーム処理ルーチンの呼出しは、周期的に行われ、そのたびに、送信キュー・バジェットで許される個数のフレームが(優先順位に従って)キューから取り出されて、コントローラにコピーされ、送信される。いくつかのシリアル・バス・システム、例えば、Volcano Communication Technology ABによって実施されるCANでは、1つのノード・コントローラに複数のキューが割り当てられるが、1つのフレームは、1つの送信キューにしか割り当てることができない。
この状況は、受信ノード側でも同様である。受信コントローラによって受信されたフレームは、ローカルの受信キューに挿入されて、フレーム処理ルーチンへの呼出しが周期的に行われる。そのたびに、受信キュー・バジェットで許される個数のフレームが受信キューから取り出され、処理される。
CANシステム、および類似のタイプのシリアル・バス・ネットワークのノードは、同期しない。これは、同じノードから、もしノードがいくつかの送信キューを有していれば同じ送信キューから、発するフレーム間には、異なるフレーム間に予め定められた時間関係(オフセット、上記を参照)のみが存在することを意味する。従って、1つのトランザクションのフレームは、すべて同じ送信キューから発する。1つの送信キューからのトランザクションをすべて集めたものをバッチ(batch)と呼ぶ。従って、特定のバジェットは、常に1つの特別なバッチに関連付けられることになる。
CANは、2つ以上のフレームが送信準備できたときにバス上の競争を解決するためにアービトレーション・プロトコルを使用する。アービトレーション・プロトコルは、次のように働く。すなわち、各フレーム4は、11又は29ビットのユニークなアービトレーション・フィールドでスタートする。もしCANコントローラがゼロを送信すれば、他のコントローラが何を送信してもゼロを送り返す。もしCANコントローラが1を送信すれば、バスは、ゼロを送信する他のコントローラがない場合にだけ1を送り返す。
アービトレーション・プロトコルが始動すると、コントローラは、最上位ビットで始まるコントローラに待機している最優先のフレームのアービトレーション・フィールドの送信を開始する。送信される各ビットについて、コントローラは、信号がバスに沿って伝搬するのを待って、バスの値を読む。もしコントローラが1を送信して0を受信すると、これは、別のコントローラがアービトレーション・フィールドにより小さい値を符号化したフレームを送信しようとしていることを意味するため、コントローラは、その競争から下りて送信を中止する。アービトレーション・フィールドの最後のビットが送信されたあとでは、アービトレーション・フィールドがユニークであるため、まだ送信を続けているコントローラが1つ残ることがある。このように、アービトレーション・フィールドの値は、優先順位に等しく、小さい値は、高い優先順位を意味する。
Volcano Communication Technology ABによって提供されるミドルウエアは、アプリケーション・プログラマに対するインタフェースを提供する。これは、完全に信号に基づくもので、信号が書き込まれたときに、その新しい値が所定の保証された時間内にシステム全体に配信されることを保証する。
Volcano Network Architect(VNA:ヴォルカノ ネットワーク アーキテクト)と呼ばれるオフラインのソフトウエア・モジュールによって、システム・デザイナは、機能を構築する信号を定義し、これらの信号に対するタイミング制約を指定することができる。フレーム・コンパイラと呼ばれる別のモジュールは、異なる信号のタイミング要求に基づいてネットワーク構成をコンパイルするように適応している。このプロセスは、信号をフレームにパックし、周期、優先順位およびオフセットのようなパラメータを割り当てることを含む。応答時間解析は、この構成が指定された制約を満たすことを実証するためにこのプロセスの中で実行される。
CANバス自身によって引き起こされる応答時間に加えて、終了から終了まで(すなわち、アプリケーションからアプリケーションまで)の応答時間は、このように1つのフレームが送信および受信キューのなかで待機できる時間に対応する2つの付加的な部分を含む。図2は、このプロセスを示す。最初に、データ(アプリケーションから発する信号)が送信される。すなわち、シリアル・バスへ送信されるはずのフレームに配置される。このフレームは、送信キューに置かれ、一定の時間D1のあとで、このフレームはフレーム処理呼出しに含められ、バス・スケジューリング・プロセス(アービトレーション)に入る。フレームがバスへ送信されるために要する時間D2が上で述べた応答時間である。フレームは、次に、一定の時間D3を受信キューで過ごし、そのあとで、最終的に受信アプリケーションにデータを通信するフレーム処理呼出しに含められる。
フレーム・コンパイラによって実行されるプロセスの一部のフロー・チャートを図3に示す。最初に、工程S51で、現在利用可能なデータに基づいて周期およびオフセットが決められる。次に、引き続く3つの工程(S52−S54)で、送信キュー遅延、バス応答時間および受信キュー遅延がそれぞれ計算される。工程S55では、この結果が解析されて、この結果が更に反復を施すことで改善するかどうか判断される。この判断に基づいて、プログラム制御は、工程S51に戻されるか、あるいは、プロセスは、終了する。実際的な実施では、各サブセットが特別な動作モードに関連付けられるようになったフレームの異なるサブセットについて、これらの計算を工程S52−S54で実行することが望ましい。
次の説明は、シリアル・バスの応答時間に焦点を当てて行われるが、図2の3つの遅延D1、D2およびD3は、すべて本質的に同じ方法に従って決定することができる。ここで、1つの部分の応答時間は、次のもののジッタである。しかし、上で述べたバジェットの効果は、バス応答時間D2を決定するときにのみ考慮する必要があることに注目される。
図4は、優先順位i>j>gと、周期p、pおよびpを有する3つのフレームF、FおよびFを示す。フレームFとFは、トランザクションの始まりに対するオフセットOとOを有するが、これらは、この場合、フレームFの到着に一致する。本発明に従えば、これらのフレームを含むトランザクションTは、3つのフレーム周期の最小公倍数、p=LCM(p,p,p)に等しい周期を有するように定義されるため、各トランザクション・インバケーションは同一である。1つのフレームFi,kの各インスタンスkは、2つのつながった矢印で示されており、最初の矢印は、インスタンスの到着時間ai,kを示し、第2のものは、可能な最も遅い解放時間ri,kを示している。これらの矢印間の時間がジッタJである。
優先順位iを有するフレームのインスタンスkの応答時間Ri,kを決定するために、このインスタンスについてレベルi−1のビジー周期(w)を決定しなければならない。応答時間は、次式で与えられる。
[数1]
i,k=βi−1,k+w−ai,k+C=Di,k+C 式1
ここで、βi−1,kは、インスタンスkに関するレベルi−1のビジー周期wのスタート、ai,kはフレームの到着時間、Cはフレームの送信時間である。このことは、図5に示されている。
式1に従って最悪ケースの応答時間を決定するプロセスについて、図6−8を参照しながら説明する。
まず、候補となるスタート時点の組が工程S2(図6)で決定される。明らかなように、最悪ケースのレベルi−1のビジー周期は、優先順位j≦i(同じかより高い優先順位)を持つ1つのフレーム・インスタンスの可能な最も遅い解放時間の1つでスタートしなければならない。図4に示されたトランザクションでは、これらのスタート時点候補は、ri,1−ri,4、rj,1−rj,3およびrg,1−rg,6と表記されている。
これらのスタート時点sの各々について、対応する最大レベルi−1のビジー周期wの長さが決められ(工程S3)、対応するスタート時点s(ri,k≧s)と同時又はそのあとで、可能な最も遅い解放時間ri,kを有するフレーム・インスタンスkが同定される(工程S4)。図4で、時点ri,2、rj,1、rg,1およびrg,2は、インスタンス2に関連し、ri,3、rj,2およびrg,3は、インスタンス3に関連し、ri,4、rg,4およびrg,5は、インスタンス4に関連し、またri,1、rj,3およびrg,6はインスタンス1に関連する。
原理的に、rj,3およびrg,6は、次のトランザクション・インバケーションのインスタンス1に関連するが、上で行ったトランザクション周期の定義に従って、スタート時点とインスタンスとの関連付けは、同じトランザクションに「循環(ラップ・アラウンド)」することができる。式1は、ビジー周期がフレーム・インスタンスの最も遅い解放の前にスタートすることを仮定しているので、当業者は、この場合に、ビジー周期βi−1,kの正確なスタートが実際には、rj,3又はrg,6からトランザクション周期pを差し引いた時点であることを理解されよう。
式1の第1項である、s+wとai,kの差分Di,kは、工程S5で計算され、すべてのスタート時点について工程S3からS5が繰り返される(工程S6)。工程S7では、計算された差分の最大のものを選び、フレーム送信時間を加えることによって、最悪ケースの応答時間Rが次のように計算される。
[数2]
=max(Di,k)+C
全く等価であるが別の方法が図7に示されている。ここで、工程S11からS16が図6の工程S2からS6に置き換わる。ここで、トランザクションのフレーム・インスタンスがまず決定され(工程S11)、次にこのインスタンスに関連するスタート時点候補の組が決定される(工程S12)。この組は、もちろん、工程S2の完全な組のサブセットである。工程S13からS15は、工程S3、S5およびS6に対応し、工程S4は、インスタンスが既知であるため不要である。次に、工程S16では、各インスタンスについて工程S12からS15を繰り返す必要がある。
最大のビジー周期の長さを決定する工程(S3およびS13)については、図8を参照しながらより詳細に説明する。ここに説明するルーチンは、入力変数i(フレーム優先順位)とs(対象となるスタート時点)で呼び出される。
最初に、工程S21で、時間長wの初期値が選ばれる。この値は、バスが低優先順位のフレームによってブロックされる期間であるブロッキング因子Bに対応し、優先順位j>iを有するフレームに関する最大送信時間に等しい。このブロッキング因子が非実時間のフレーム(解析の一部ではない)からも生ずること、そのためシリアル・バスの可能な最大の送信時間にセットすべきであることに注目される。典型的なCANバスでは、これは、8バイト・フレームの送信時間である。
次に、特別なトランザクションTとビジー周期のスタート時点sとの間の時間遅れの候補値の組が工程S22で同定される。上のスタート時点に関する状況と同様に、もしスタート時点sが、トランザクション中で優先順位j<iを持つ可能な最も遅い解放時間において発生すれば、トランザクションは、ビジー周期に対して最も大きい影響を与えるものとなるであろうことを示すことができる。
次に、工程S23からS26において、この特別なトランザクションからビジー周期wの長さへの寄与因子i(T)が各時間遅れの候補値について決定される。最初に(工程S23およびS24)、トランザクションTに属し優先順位j<iを持ついくつのフレームが時間長wのビジー周期内に解放されるかが決定される。ビジー周期内にいくつかのトランザクション・インバケーションが生じ得ることに注目される。
工程S25では、すべての解放されたフレーム(優先順位j<i)が加算されて寄与因子i(T)が得られ、このプロセスが組のすべての時間遅れについて繰り返される(工程S26)。トランザクションからの可能な最大の寄与I(T)が工程S27で選ばれて、すべてのトランザクションについて工程S22からS27が繰り返される(工程S28)。
対象のフレームが属するトランザクションに対しても工程S22からS28が実行されることに注目される。しかし、この特別な場合には、考えうる時間遅れは1つしか存在しない(スタート時点sは、トランザクションで固定される)ので、工程S23およびS25は、一度だけ繰り返される。
工程S29で、時間長wnに対する新しい値がwn=B+ΣI(T)として決定され、この新しい値wnが現在の時間長wと工程S30で比較される。もしこれらが等しければ、このプロセスは、工程S32で終了して、プログラム制御は、工程S4又はS14に戻る。もしそうでなければ、wは、wnで置き換えられて、工程S22からS30が繰り返される(工程S31)。工程S30からS32は、時間長wが収束するまでのプロセスの反復に対応する。
wnとwを比較するとき、1ビットをシリアル・バスへ送信するために要する時間TBITよりも短い差分は、考慮しない。実際、本方法は、整数(浮動数の代わりに)のみを使用して、各整数きざみがTBITを表すようにすることで有利に実施される。
推定に対する送信エラーの影響を処理するために、wnに第3項E(w+C)を含めることができる。これは、時間w+C内にバスで発生するすべてのタイプのエラーに要する時間を表す。当業者は、Eを推定するためにいくつも方法があることを理解する。
上で述べたプロセスで、反復の各々は、現在の値wに基づいている。これの代わりに、工程S23での決定は、トランザクションごとに更新される新しい時間長wnに基づくようにすることができる。このような更新は、特別なトランザクションからの寄与I(T)が決定される工程S27の直後にwn=wn+I(T)を計算することを含む。同時に、このトランザクションから先に反復された寄与は、wnから低減しているはずで、これは、I(T)が更新される工程S27の直前にwn=wn−I(T)を計算することで行うことができる。
上の変形は、工程S21での別の初期化を要求するものである。すなわち、新しい間隔値wnがBにセットされ、最大の寄与Iの組がゼロにセットされる。
更なる改善版として、工程S23で使用されるビジー周期の時間長は、現在調べられているトランザクションからの寄与について補償することができる。しかし、先の反復で計算された寄与I(T)を単純に差し引くことは、楽観的に過ぎるビジー周期を与える危険性が高いことに注目しなければならない。この代わりに、もっと複雑な補償が必要である。
図9は、バジェット効果を処理し、それによって最悪ケースの応答時間を短縮するために、図8のプロセスの工程S28及びS29を置換するシーケンスを示す。
図8の工程S28に置き換わる工程S41は、1つのバッチのすべてのトランザクションについて工程S22からS26を繰り返す。次に、工程S42では、このバッチからの合計の寄与(I)に関する限度が次のように決定される。まず、現在のビジー周期w内に送信できるフレームの最大数nが次のように決定される。
Figure 0004680194
ここで、bは、ノード・バジェットのフレーム数、fpは、ノードのフレーム処理周期、Jは、フレーム処理呼出しの可能な遅延である。nは、最近接の整数値に丸められることに注目される。
フレーム処理時間fpは、2つの引き続くフレーム処理呼出し間の時間として定義されるので、もし最初の呼出しが次のものよりも遅れるようであれば、フレームの実際の解放(すなわち、これらの呼出しの完了)間の時間は、もっと短い。従って、楽観的過ぎる限度を与えないようにするためには、現在の時間長に対して可能な最大の遅延Jを加える必要がある。
限度limit(w)が次にnフレームの最大送信時間として計算される。この計算を簡単にするために、各々の送信されるフレームの送信時間を、優先順位j<iを持つバッチの任意のフレームの最大送信時間で近似することが可能であるが、より複雑な計算を考案することもできる。
工程S43では、バッチ寄与IがI=min(I(T),limit(w))として決定され、工程S22からスタートするプロセスがすべてのバッチに対して繰り返される(工程S44)。工程S45が図8の工程S29に置き換わり、wn=B+ΣIとして新しい値wnを計算する。ここでも、wnに第3項E(w+C)を含めることができる。プログラム制御は、次に図8の工程S30に続く。
当業者であれば、特許請求の範囲に定義される本発明から離れることなく上で述べた好適な実施の形態に対する数多くの修正を施すことができることが明らかである。例えば、上で述べたように、本方法は、完全な応答時間解析を提供するように、CANの例えば送信キューおよび受信キューに容易に適応できる。これらの場合には、バジェットの効果は、存在しないが、送信レートによる同様の制約が受信キューに存在する。
当然ながら、本方法は、若干の調節を行うことでその他のタイプのシリアル・バス・ネットワークにも同様に適用可能である。

Claims (12)

  1. フレーム・キューイング・システムのフレームに関する最悪ケースの応答時間を予測する方法であって、前記フレームは、固定された優先順位(i)および期待されるフレーム周期(p)を有し、異なる優先順位および異なるフレーム周期を有するいくつかのフレームを含むトランザクション(T)に属しており、
    含まれるフレームのフレーム周期の最小公倍数LCMとしてトランザクション周期を定義するステップと、
    前記フレームと等しいかそれより高い優先順位(j≦i)を有するトランザクション(T)のすべてのフレーム・インスタンスについて、あり得る最も遅い解放時間を表す1組のスタート時点(s)を同定するステップと、
    各々のスタート時点(s)に対して、この時点(s)にスタートでき、前記フレームより高い優先順位を有するフレーム系列の最大周期(w)を決定し、前記スタート時点(s)と同じかそれより大きい、あり得る最も遅い解放時間(ri,k)を有する次のフレーム・インスタンス(Fi,k)を同定し、前記系列の最後(s+w)と前記フレーム・インスタンス(Fi,k)の到着時間(ai,k)との間の差分(Di,k)を計算するステップと、
    前記差分(Di,k)の最長のものを選んで、フレーム応答時間を決定するステップと、
    を含む前記方法。
  2. 請求項1記載の方法であって、前記フレーム・キューイング・システムがコントローラ・エリア・ネットワークなどのシリアル・バス・ネットワーク(1)のノード(2)の受信キュー(7)である前記方法。
  3. 請求項1記載の方法であって、前記フレーム・キューイング・システムがコントローラ・エリア・ネットワークなどのシリアル・バス・ネットワーク(1)のノード(2)の送信キュー(7)である前記方法。
  4. 請求項1記載の方法であって、前記フレーム・キューイング・システムがコントローラ・エリア・ネットワークなどのシリアル・バス・ネットワーク(1)のいくつかのノード(2)を接続するシリアル・バス(3)である前記方法。
  5. 請求項1−4のいずれか1項記載の方法であって、フレーム応答時間が前記差分(Di,k)の最長のものとフレーム送信時間(C)との和として決定される前記方法。
  6. 先行するいずれか一つの項に記載の方法であって、前記スタート時点の組がサブセットに分割され、そのサブセットの各々が1つのフレーム・インスタンス(Fi,k)と関連付けられ、また前記差分(Di,k)が一時に1つのそのようなサブセットのスタート時点について計算される前記方法。
  7. 先行するいずれか一つの項に記載の方法であって、前記最大周期を計算するステップが、現在の周期(w)を初期値(B)にセットし、周期が収束するまで次のステップ、
    各トランザクション(T)から与えられたトランザクション(T)と前記スタート時点との間の1組の時間遅れを同定するステップと、
    前記特別な時間遅れを持った前記特別なトランザクションからの寄与(i(T))を決定し、最大の寄与を選択する(I(T)=max(i(T)))ステップによって最大寄与(I(T))を決定するステップと、
    すべてのそのような最大寄与の和(ΣI(T))を含む更新された時間長(wn)を決定するステップと、
    現在の時間長(w)を更新された時間長(wn)で置き換えるステップと、
    を繰り返すことによって実行される前記方法。
  8. 請求項7記載の方法であって、前記初期値(B)が前記フレームよりも低い優先順位(j>i)を有するフレームの可能な最長の送信時間である前記方法。
  9. 請求項8記載の方法であって、前記初期値(B)が各々の更新された時間長(wn)に定数項として含まれる前記方法。
  10. 請求項7−9記載の方法であって、各々の更新された時間長(wn)に誤差項が含まれる前記方法。
  11. 請求項7−10のいずれか1項記載の方法であって、前記フレーム・キューイング・システムは、コントローラ・エリア・ネットワークなどのシリアル・バス・ネットワーク(1)のいくつかのノード(2)を接続するシリアル・バス(3)であり、
    送信キューは、与えられた時間内に前記シリアル・バスに限られた数(b)のフレームを送信するように構成され、
    同じ送信キューから発するフレームは、バッチと呼ばれ、
    最大寄与(I(T))を決定するステップは、一時に1つのバッチについて実行され、更に、
    対応する送信キューが現在の時間長(w)内に送信する最大数のフレームの送信時間(limit(w))を決定するステップと、
    前記最大寄与(I(T))を前記送信時間に制限する(limit(w))ステップと、
    を含む前記方法。
  12. コンピュータ・プロセッサによって実行されるとき、先行する請求項のいずれか1項記載の方法を実行するように適応したソフトウエア・モジュール。
JP2006526569A 2003-09-16 2004-09-13 シリアル・バス・フレームの応答時間予測方法 Active JP4680194B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03020937A EP1517481B1 (en) 2003-09-16 2003-09-16 Response time prediction method for frames on a serial bus
PCT/EP2004/010204 WO2005027426A1 (en) 2003-09-16 2004-09-13 Response time prediction method for frames on a serial bus

Publications (2)

Publication Number Publication Date
JP2007506312A JP2007506312A (ja) 2007-03-15
JP4680194B2 true JP4680194B2 (ja) 2011-05-11

Family

ID=34178409

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006526569A Active JP4680194B2 (ja) 2003-09-16 2004-09-13 シリアル・バス・フレームの応答時間予測方法

Country Status (6)

Country Link
US (1) US20070189179A1 (ja)
EP (1) EP1517481B1 (ja)
JP (1) JP4680194B2 (ja)
AT (1) ATE316729T1 (ja)
DE (1) DE60303335T2 (ja)
WO (1) WO2005027426A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5050653B2 (ja) * 2007-05-28 2012-10-17 株式会社デンソー 電子制御装置
US9660927B2 (en) * 2015-04-22 2017-05-23 Accedian Networks Inc. Preemptive packet transmission
CN105245423B (zh) * 2015-08-28 2018-06-26 中国航天科工集团第三研究院第八三五七研究所 基于最大分配距离算法的1553b总线消息传输优化方法
DE102015116419A1 (de) 2015-09-28 2017-03-30 Bayerische Motoren Werke Aktiengesellschaft Robuste Prioritätsreihenfolge für Nachrichten auf einem Bussystem
FR3102584B1 (fr) * 2019-10-28 2021-11-05 St Microelectronics Grenoble 2 Procédé d'acquittement de communication par bus

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09200234A (ja) * 1996-01-16 1997-07-31 Denso Corp デ−タ送信装置
JPH11163900A (ja) * 1997-11-25 1999-06-18 Nippon Soken Inc 多重通信システムにおけるデータ送信制御方法及び装置
JPH11261611A (ja) * 1998-03-12 1999-09-24 Mitsubishi Electric Corp 送信用バスインタフェース装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09200234A (ja) * 1996-01-16 1997-07-31 Denso Corp デ−タ送信装置
JPH11163900A (ja) * 1997-11-25 1999-06-18 Nippon Soken Inc 多重通信システムにおけるデータ送信制御方法及び装置
JPH11261611A (ja) * 1998-03-12 1999-09-24 Mitsubishi Electric Corp 送信用バスインタフェース装置

Also Published As

Publication number Publication date
DE60303335D1 (de) 2006-04-13
WO2005027426A1 (en) 2005-03-24
EP1517481B1 (en) 2006-01-25
ATE316729T1 (de) 2006-02-15
EP1517481A1 (en) 2005-03-23
JP2007506312A (ja) 2007-03-15
DE60303335T2 (de) 2006-10-19
US20070189179A1 (en) 2007-08-16

Similar Documents

Publication Publication Date Title
US6138200A (en) System for allocating bus bandwidth by assigning priority for each bus duration time slot to application using bus frame and bus duration
Hwang et al. Elastic resource sharing for distributed deep learning
US10554577B2 (en) Adaptive resource scheduling for data stream processing
CN108089921B (zh) 用于云端大数据运算架构的服务器及其运算资源最佳化方法
US7788667B2 (en) Extensible scheduling of tasks in time-triggered distributed embedded systems
Tindell Using offset information to analyse static priority pre-emptively scheduled task sets
US6633942B1 (en) Distributed real-time operating system providing integrated interrupt management
US20100333102A1 (en) Distributed Real-Time Operating System
US6393433B1 (en) Methods and apparatus for evaluating effect of run-time schedules on performance of end-system multimedia applications
US8473563B2 (en) Extensible scheduling of messages on time-triggered busses
Abdelzaher et al. Optimal combined task and message scheduling in distributed real-time systems
CN111367644A (zh) 一种面向异构融合系统的任务调度方法及装置
Nicol et al. Problem oriented protocol design
Grenier et al. Fine-tuning MAC-level protocols for optimized real-time QoS
Chokshi et al. Performance analysis of FlexRay-based systems using real-time calculus, revisited
Pazzaglia et al. Optimizing the functional deployment on multicore platforms with logical execution time
JP4680194B2 (ja) シリアル・バス・フレームの応答時間予測方法
JP2012518215A (ja) システムの実時間処理能力の解析方法
Pop et al. Schedulability-driven frame packing for multicluster distributed embedded systems
CN110413210B (zh) 用于处理数据的方法、设备和计算机程序产品
CN110276153B (zh) 并行离散时间仿真的非一致时间余度非严格时间管理方法
US7925490B2 (en) Method of transactional simulation of a generic communication node model, and the corresponding computer program product and storage means
Reder et al. A WCET-aware parallel programming model for predictability enhanced multi-core architectures
Schneider et al. Quantifying notions of extensibility in flexray schedule synthesis
JP2006215621A (ja) Dma制御装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20070702

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070903

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101111

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110104

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110202

R150 Certificate of patent or registration of utility model

Ref document number: 4680194

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140210

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250