JP4571671B2 - 通信モジュールのメッセージメモリのデータへアクセスする方法および装置 - Google Patents

通信モジュールのメッセージメモリのデータへアクセスする方法および装置 Download PDF

Info

Publication number
JP4571671B2
JP4571671B2 JP2007524316A JP2007524316A JP4571671B2 JP 4571671 B2 JP4571671 B2 JP 4571671B2 JP 2007524316 A JP2007524316 A JP 2007524316A JP 2007524316 A JP2007524316 A JP 2007524316A JP 4571671 B2 JP4571671 B2 JP 4571671B2
Authority
JP
Japan
Prior art keywords
memory
message
data
buffer memory
access
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.)
Expired - Fee Related
Application number
JP2007524316A
Other languages
English (en)
Other versions
JP2008509583A (ja
Inventor
ハルトヴィッヒ,フローリアン
ホルスト,クリスティアン
バイラー,フランツ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of JP2008509583A publication Critical patent/JP2008509583A/ja
Application granted granted Critical
Publication of JP4571671B2 publication Critical patent/JP4571671B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow
    • H04L49/9089Reactions to storage capacity overflow replacing packets in a storage arrangement, e.g. pushout
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements

Description

本発明は、独立請求項の上位概念に記載のメッセージメモリへデータを入力し、あるいはメッセージメモリからデータを出力することによって、通信モジュールのメッセージメモリのデータへアクセスする方法および装置に関する。
通信システムとバスシステム、すなわち通信接続を用いて制御装置、センサ技術およびアクチュエータ技術をネットワーク化することは、近年、最近の自動車を製造する場合、あるいはまた機械製作、特に工作機械領域においても、すなわち自動化においても、著しく増大している。その場合に、機能を複数の制御装置へ分配することによるシナジー効果を得ることができる。その場合に分配されたシステムが話題にされる。種々のステーション間の通信は、ますますバスシステムを介して、すなわち通信システムを介して行われるようになって来ている。バス上の通信トラフィック、アクセスと受信の機構およびエラー処理は、プロトコルを介して制御される。そのための既知のプロトコルは、CANプロトコルあるいはまたTTCANプロトコルおよびFlexRayプロトコルであって、その場合にこの時点においては、FlexRayプロトコル仕様V2.0が基礎となっている。その場合にFlexRayは、特に自動車内に使用するための、高速、決定論的かつエラー許容するバスシステムである。FlexRayプロトコルは、時分割多重接続(Time-Division-Multiple-Access(TDMA))の方法に従って作動し、その場合にコンポーネント、すなわち加入者ないし伝送すべきメッセージに、固定のタイムスロットが割り当てられ、その中でそれらは通信接続への排他的アクセスを有している。これは、TTCANにおいても、同様に変換される。その場合にタイムスロットは、固定のサイクルで繰り返されるので、メッセージがバスを介して伝送される時点は正確に予測することができ、バスアクセスは決定論的に行われる。バス上でメッセージを伝送するための帯域幅を最適に利用するために、FlexRayはサイクルを静的な部分と動的な部分に分割する。その場合に固定のタイムスロットは、バスサイクルの最初の静的な部分内にある。動的な部分内では、タイムスロットは動的に与えられる。その中で排他的なバスアクセスは、それぞれ短い時間、いわゆるミニスロットの間だけ可能にされる。ミニスロットの内部でバスアクセスが行われた場合にのみ、タイムスロットが必要な時間だけ延長される。従って帯域幅は、それが実際にも必要とされる場合にだけ、消費される。その場合にFlexRayは、2本の物理的に分離された導線を介してそれぞれ1秒当たり最大10MBのデータ率で通信する。その場合に2つのチャネルは、特にOSI(Open System Architecture)参照モデルの、物理層に相当する。これらは、主としてメッセージの冗長な、すなわちエラー許容する伝送に用いられるが、異なるメッセージを伝送することも可能であって、その場合にはそれによってデータ率が倍増される。しかし、FlexRayは、もっと低いデータ率で駆動することもできる。
同期した機能を実現し、かつ2つのメッセージ間の小さい間隔によって帯域幅を最適にするために、通信ネットワーク内の分配されたコンポーネント、すなわち加入者は、共通のタイムベース、いわゆるグローバルタイムを必要とする。タイマ同期のために、サイクルの静的な部分内で同期通知が伝送され、その場合にFlexRay仕様に応じた特殊なアルゴリズムを用いてコンポーネントのローカルタイムが、すべてのローカルタイムがグローバルタイムに同期して進行するように、補正される。この同期化は、TTCANネットワークにおいても同様に行われる。
FlexRayネットワークノードまたはFlexRay加入者あるいはホストは、加入者プロセッサ、すなわちホストプロセッサ、FlexRayコントローラあるいは通信コントローラおよび(バスを監視する場合に)バスガーディアンを有している。その場合にホストプロセッサ、すなわち加入者プロセッサは、FlexRay通信コントローラを介して伝送されるデータを供給して処理する。FlexRayネットワーク内の通信のために、たとえば254までのデータバイトを有するメッセージまたはメッセージオブジェクトを構成することができる。このメッセージまたはメッセージオブジェクトを、物理層、すなわち通信接続とホストプロセッサの間で伝送するために、通信モジュール、特に通信コントローラが使用される。
通信モジュール、特にFlexRay通信コントローラ、のメッセージメモリへのアクセスは、ホストプロセッサユニット、従ってホストCPUによっても、物理層へのインターフェイスモジュールを介しても行われる。その場合にホストCPUによるアクセスは、コンフィグレーションデータ、ステータスデータおよび本来送信すべきデータの書込みと読取りを有している。その場合に物理層へのインターフェイスモジュールのアクセスは、送信メッセージの読取り、受信したメッセージの格納を有するが、その両方の場合に適切な方法でメッセージの一貫性が保証されなければならない。
従って本発明の課題は、ホストCPU、従って加入者プロセッサとメッセージメモリとの間のデータ伝送を、伝送速度とデータ一貫性に関して最適化することである。
この課題を解決するために、本発明は、メッセージメモリへデータを入力し、あるいはそこから出力することによって、通信モジュールのメッセージメモリのデータへアクセスする方法および装置に基づいており、その場合にメッセージメモリがバッファメモリ配置と接続されており、データが第1の伝送方向においてメッセージメモリへ伝送され、第2の伝送方向においてはメッセージメモリから伝送され、その場合にバッファメモリ配置は第1の伝送方向において入力バッファメモリを有し、第2の伝送方向においては出力バッファメモリを有しており、入力バッファメモリと出力バッファメモリは好ましくはそれぞれ部分バッファメモリと部分バッファメモリのためのシャドウメモリに分割されており、その場合に各伝送方向において次のステップが実施される:データをそれぞれのバッファメモリへ入力し、部分バッファメモリとシャドウメモリへのアクセスが交換されるので、後続のデータはシャドウメモリへ入力することができ、入力されているデータがすでに部分バッファメモリから予定された伝送方向へ出力される。従って本発明によれば、通信モジュールのメッセージメモリのデータへアクセスするために、入力バッファメモリと出力バッファメモリとを有するバッファメモリ配置が導入され、その場合に入力バッファメモリが第1の部分バッファメモリと第1のシャドウメモリを有しており、出力バッファメモリは第2の部分バッファメモリと第2のシャドウメモリを有しており、その場合に第1の手段が設けられており、その第1の手段によって第1の部分バッファメモリと第1のシャドウメモリへのアクセスが交換され、第2の手段が設けられており、その第2の手段によって第2の部分バッファメモリと第2のシャドウメモリへのアクセスが交換される。
すなわち、好ましくは、通信モジュールのメッセージメモリのデータへアクセスするためにバッファメモリが設けられており、その場合にバッファメモリは部分バッファメモリと部分バッファメモリのシャドウメモリとを有しており、かつ手段が設けられており、その手段によって部分バッファメモリとシャドウメモリへのアクセスが交換される。
すなわち、本発明は、送信および受信ユニットのアクセスから分離するために、バッファメモリ配置、特に書込みのための入力バッファと読出しのための出力バッファとを介在させることによって、ホストCPUとメッセージメモリとの間でデータ伝送するための方法と装置を記述している。その場合に特に、メッセージハンドラー、従ってメッセージ管理者によって、メッセージメモリに関するすべてのアクセスが制御され、かつコントロールされ、それによって記憶されているメッセージの、要求されるデータ一貫性が保証される。紹介した発明は、さらに、この交換によって伝送速度を著しく向上させることができ、バッファメモリの2分割によって交互に書込みと読出しが可能になるので、データ伝送の際に同一のメモリ箇所への同時アクセスの問題が解消され、従ってデータ一貫性が保証される、という利点を有している。
好ましくは、部分バッファメモリとシャドウメモリへのアクセスの交換は、識別子によって表示され、あるいは好ましい実施形態においては識別子によって作動される。
好ましくはデータがメッセージ内で伝送され、メッセージはメッセージ識別子を有しており、その場合に部分バッファメモリとシャドウメモリへのアクセスの交換は、メッセージ識別子が予め定めることのできるレジスタに書き込まれた場合に行われる。
その場合に特に好ましくは、データはメッセージ内で少なくとも第1のデータ、従ってコンフィグレーションデータ、ステータスデータと第2のデータ、従って本来伝送すべきデータに分割されており、その場合に少なくとも1つのデータ識別子に従って第1のデータのみ、あるいは第2のデータのみ、あるいは第1と第2のデータが伝送される。
好ましくはデータへのアクセスはアクセス識別子によって表示され、そのアクセス識別子がレジスタに登録される。好ましくはアクセス識別子自体から、あるいはレジスタ内のその位置から、どの部分バッファメモリへ、あるいはどのシャドウメモリへ今アクセスされるか、の情報を求めることができる。
好ましくはアクセスを交換する場合に、少なくとも部分的にレジスタ登録、特に上述した識別子、がレジスタ内で交換される。
部分バッファメモリとシャドウメモリへのアクセスの交換を作動させるために、好ましくは切替え識別子を設けることができる。
さらに、データをメモリに書き込もうとする場合に、好ましくは少なくとも1つの伝送方向のために、スタート識別子をレジスタに登録することができる。
バッファメモリ配置と含まれる入力および出力バッファメモリおよびアクセス交換を有する本発明によって、ホストCPUはモジュール内部の潜在時間にもかかわらず、中断なしにメッセージメモリへアクセスすることができる。最適なメモリ利用と中断のないことによって、一方で、伝送速度が増大され、同時に本発明によってデータ一貫性が保証される。
他の利点と好ましい形態が、請求項の特徴と明細書から得られる。
以上説明したように本発明によれば、ホストCPU、従って加入者プロセッサとメッセージメモリとの間のデータ伝送を、伝送速度とデータ一貫性に関して最適化することができる。
図面の図を用いて、本発明を詳細に説明する。
以下、実施例を用いて本発明を詳細に説明する。
図1は、加入者またはホスト102をFlexRay通信接続101、すなわちFlexRayの物理層に接続するためのFlexRay通信モジュール100を概略的に示している。そのためにFlexRay通信モジュール100は、接続107を介して加入者すなわち加入者プロセッサ102と、そして接続106を介して通信接続101と接続されている。一方では伝送時間に関して、そして他方ではデータ一貫性に関して問題なく接続するために、FlexRay通信モジュール内で大体において3つの配置が概略的に区別される。その場合に第1の配置105は、伝送すべきメッセージの少なくとも一部を記憶、特に一時的に格納するために用いられる。加入者102とこの第1の配置105との間には、接続107と108を介して第2の配置104が接続されている。同様に、加入者101と第1の配置105の間には、第3の配置103が接続106と109を介して接続されており、それによって最適な速度でデータの一貫性を保証しながら、第1の配置105内へ、またはそこからの、メッセージ、特にFlexRayメッセージの一部としてのデータの、極めて柔軟な入力と出力を得ることができる。
図2には、通信モジュール100の好ましい実施形態が、再度詳細に示されている。それぞれの接続106から109も、同様に詳細に示されている。その場合に第2の配置104は、入力バッファメモリ201(Input Buffer IBF)、出力バッファメモリ202(Output Buffer OBF)および、2つの部分203と204からなるインターフェイスモジュールを有しており、その場合に第1の部分モジュール203は加入者に依存せず、第2の部分モジュール204は加入者固有である。加入者固有の部分モジュール204(Customer CPU Interface CIF)は、加入者固有のホストCPU102、従ってクライアント固有の加入者を、FlexRay通信モジュールと接続する。そのために双方向のデータ線216、アドレス線217および制御入力218が設けられている。同様に、符号219で示すインターラプトまたは中断出力が設けられている。加入者固有の部分モジュール204は、加入者に依存しない部分モジュール203(Generic CPU Interface GIF)と接続されており、すなわちFlexRay通信モジュールまたはFlexRayIPモジュールは、ジェネリックな、従って一般的な、CPUインターフェイスを有しており、それに適切な加入者固有の部分モジュール、従ってCustomer CPU Interface CIFを介して多数の異なるクライアント固有のホストCPUが接続される。従って加入者に応じて部分モジュール204のみを変更すればよく、それは、手間とコストが著しく少なく済むことを意味している。
入力バッファメモリ201と出力バッファメモリ202は、1つのメモリモジュール内に形成することができ、あるいは別々のメモリモジュール内に形成することができる。その場合に入力バッファメモリ201は、メッセージメモリ200へ伝送するためのメッセージを一時記憶するために用いられる。その場合に入力バッファモジュールは、好ましくは、それぞれ、特にコンフィグレーションデータを有する、ヘッドセグメントまたはヘッダーセグメントとデータセグメントまたはペイロードセグメントからなる、2つの完全なメッセージを記憶することができるように、形成されている。その場合に入力バッファメモリは、2つの部分(部分バッファメモリとシャドウメモリ)で形成されており、それによって、入力バッファメモリの2つの部分に交互に書き込むことにより、ないしは交互にアクセスすることによって、加入者CPU102とメッセージメモリ200の間の伝送が加速される。同様に、出力バッファメモリ(Output Buffer OBF)は、メッセージメモリ200から加入者CPU102へ伝送するためのメッセージを一時記憶するために用いられる。その場合に出力バッファ202も、特にコンフィグレーションデータを有する、ヘッダーセグメントとデータセグメント、従ってペイロードセグメントからなる2つの完全なメッセージを記憶することができるように、形成されている。ここでも、出力バッファメモリ202が2つの部分、部分バッファメモリとシャドウメモリに分割されており、それによってここでも2つの部分を交互に読むことによって、伝送が加速され、ないしは交互にアクセスすることによって加入者ないしホストCPU102とメッセージメモリ200の間の伝送が加速される。ブロック201から204からなるこの第2の配置104は、図示のように、第1の配置105と接続されている。
配置105は、メッセージハンドラ200(Message Handler MHD)とメッセージメモリ300(Message RAM)からなる。メッセージハンドラは、入力バッファメモリ201および出力バッファメモリ202とメッセージメモリ300との間のデータ伝送を管理し、または制御する。同様にメッセージハンドラは、第3の配置103を介しての他の方向におけるデータ伝送を管理し、または制御する。メッセージメモリは、好ましくはシングルポートRAMとして形成されている。このRAMメモリは、メッセージないしメッセージオブジェクト、従って本来のデータを、コンフィグレーションおよびステータスデータと共に記憶する。メッセージメモリ300の正確な構造が、図3に詳細に示されている。
第3の配置103は、ブロック205から208からなる。FlexRay物理層の2つのチャネルに応じて、この配置103は、それぞれ2つのデータ伝送方向を備えた2つのデータパスに分割されている。これは、接続213と214によって明らかにされ、その中にチャネルAについて受信(RxA)と送信(TxA)のためのRxAとTxA、チャネルBについてRxBとTxBの2つのデータ方向が示されている。
接続215によって、任意の双方向制御入力が示されている。第3の配置103の結合は、チャネルBについては第1のバッファメモリ205を介して、チャネルAについては第2のバッファメモリ206を介して行われる。これら2つのバッファメモリ(一時バッファRAM; RAM A とRAM B)は、第1の配置105からの、あるいは第1の配置105へのデータ伝送のための一時メモリとして用いられる。2つのチャネルに応じて、2つのバッファメモリ205と206は、それぞれインターフェイスモジュール207および208と接続されており、それらが送信/受信シフトレジスタとFlexRayプロトコル有限状態オートマトンとからなるFlexRayプロトコルコントローラまたはバスプロトコルコントローラを有している。従って2つのバッファメモリ205と206は、インターフェイスモジュールのシフトレジスタまたはFlexRayコントローラ207および208とメッセージメモリ300の間でデータ伝送するための一時メモリとして用いられる。ここでも好ましい方法で、各バッファメモリ205または206によって2つのFlexRayメッセージのデータフィールド、従ってペイロードセグメントまたはデータセグメントが記憶される。
さらに、通信モジュール100内に符号209でグローバルタイムユニット(Global Time Unit GTU)が示されており、同タイムユニットはFlexRay内のグローバルなタイムパターン、すなわちMicrotick μTとMacrotick MTを表示する権限を有している。同様に、グローバルタイムユニット209を介して、サイクルカウンタ(Cycle Counter)のエラー許容するタイマ同期およびFlexRayの静的および動的セグメント内の時間的シーケンスのコントロールが制御される。
ブロック210によって、一般的なシステム制御(System Universal Control SUC)が示されており、そのシステム制御によってFlexRay通信コントローラのオペレーションモードが管理され、かつ制御される。それに属するのは、ウェイクアップ、スタートアップ、リインテグレーションないしインテグレーション、ノーマルオペレーション(normal operation)およびパッシブオペレーション(passive operation)である。
ブロック211は、FlexRayプロトコル仕様v2.0に記載されているような、ネットワークとエラーマネージメント(Network-and Error Management)を示している。そして、ブロック212は、中断制御(Interrupt Control INT)を示しており、それがステータスおよびエラー中断フラグ(status and error interrupt flags)を管理し、かつ加入者CPU102への中断出力219をコントロールつまり制御する。ブロック212は、さらに、時間中断すなわちタイマーインターラプトを発生させるための絶対的および相対的なタイマないしタイムジェネレータを有している。
FlexRayネットワーク内の通信のために、254までのデータバイトを有するメッセージオブジェクトないしメッセージ(Message Buffer)を構成することができる。メッセージメモリ300は、特にメッセージRAMメモリ(Message RAM)であって、それはたとえば最大で64のメモリオブジェクトを記憶することができる。メッセージ自体の処理ないし管理に関するすべての機能は、メッセージ管理者すなわちメッセージハンドラ200に実装されている。これは、たとえば、アクセプタンスフィルタリング、2つのFlexRayプロトコルコントローラブロック207および208とメッセージメモリ300、従ってメッセージRAMとの間のメッセージの伝送および送信順序のコントロールとコンフィグレーションデータないしステータスデータの準備である。
外部のCPU、つまり加入者プロセッサ102の外部のプロセッサは、加入者インターフェイスを介して、加入者固有の部分モジュール204によって直接FlexRay通信モジュールのレジスタへアクセスすることができる。その場合に多数のレジスタが使用される。これらのレジスタは、FlexRayプロトコルコントローラ、すなわちインターフェイスモジュール207と208、メッセージハンドラ(Message Handler MHD)200、グローバルタイムユニット(Global Time Unit GTU)209、一般的システムコントローラ(System Universal Controller SUC)210、ネットワークおよびエラーマネージメントユニット(Network and Error Management Unit NEM)212、中断コントローラ(Interrupt Controller INT)212およびメッセージRAM、従ってメッセージメモリ300へのアクセスを構成して制御し、それに応じたステータスを表示するために用いられる。これらのレジスタの少なくとも一部について、図4〜6と図7〜9を用いて再度詳しく説明する。この種の説明された、本発明に基づくFlexRay通信モジュールは、FlexRay仕様v2.0の簡単な変換を可能にし、それによって簡単に、該当するFlexRay機能性を有するASICまたはマイクロコントローラを形成することができる。
図3には、メッセージメモリ300の分割が詳細に示されている。FlexRayプロトコル仕様に従って要求される、FlexRay通信コントローラの機能性のために、送信すべきメッセージを準備して(Transit Buffer)エラーが生じずに受信されたメッセージを格納する(Receive Buffer)ためのメッセージメモリが必要である。FlexRayプロトコルは、0から254バイトのデータ領域、すなわちペイロード領域を有するメッセージを許可する。図2に示すように、メッセージメモリは、FlexRay通信モジュール100の一部である。以下で説明する方法および対応するメッセージメモリは、送信すべきメッセージないし受信したメッセージを、特にランダムアクセスメモリ(RAM)を使用して、記憶することを記述しており、その場合に本発明に基づく機構によって、予め定められた大きさのメッセージメモリ内に可変の数のメッセージを記憶することが可能である。その場合に、記憶可能なメッセージの数は、個々のメッセージのデータ領域の大きさに依存しており、それによって、一方で、メッセージのデータ領域の大きさを制限することなく、必要なメモリの大きさを最小限に抑えることができ、他方では、メモリの最適な利用が行われる。以下において、特にRAMベースのメッセージメモリのこの可変の分割を、FlexRay通信コントローラについて詳細に説明する。
実装するために、たとえば、nビット、たとえば8、16、32などの固定のワード幅とmワードの予め定められたメモリ深度とを有する(n、mは自然数)メッセージメモリが設けられる。その場合にメッセージメモリ300は、2つのセグメント、ヘッダーセグメントすなわちヘッドセグメントHSと、データセグメントDS(Payload Section, Payload Segment)に分割される。従ってメッセージ当たり、ヘッダ領域HBとデータ領域DBがあてがわれる。従ってメッセージ0、1からk(kは自然数)のために、ヘッダ領域またはヘッド領域HB0、HB1からHBkとデータ領域DB0、DB1からDBkがあてがわれる。従ってメッセージは、第1と第2のデータの間で区別され、その場合に第1のデータは、FlexRayメッセージに関するコンフィグレーションデータおよび/またはステータスデータに相当し、それぞれヘッダ領域HB(HB0、HB1、…、HBk)に格納される。それに応じて、伝送されるべき本来のデータに相当する第2のデータは、データ領域DB(DB0、DB1、…、DBk)に格納される。従ってメッセージ当たり第1のデータのために、第1のデータ範囲(ビット、バイトまたはメモリワードで測定する)が生じ、メッセージの第2のデータのために第2のデータ範囲(同様にビット、バイトまたはメモリワードで測定する)が生じ、その場合にメッセージ当たりの第2のデータ範囲は様々であることができる。ヘッドセグメントHSとデータセグメントDSの間の分割は、メッセージメモリ300内で可変であって、すなわち、領域間に予め定められる境界は存在しない。本発明によれば、ヘッドセグメントHSとデータセグメントDSの間の分割は、メッセージの数kと1つまたはk全部のメッセージの第2のデータ範囲、従って本来のデータの範囲に依存する。本発明によれば、それぞれのメッセージのコンフィグレーションデータKD0、KD1からKDkに、それぞれ直接ポインタすなわちデータポインタDP0、DP1からDPkが対応づけられる。特殊な形態においては、各ヘッド領域HB0、HB1からHBkに固定の数のメモリワードが対応づけられ、ここでは2つが対応づけられるので、常にコンフィグレーションデータKD(KD0、KD1、…、KDk)とポインタDP(DP0、DP1、…、DPk)がヘッダ領域HB内に一緒に格納されている。その大きさないしデータ範囲が記憶すべきメッセージの数kに依存する、ヘッダ領域HBを有するこのヘッドセグメントHSに、本来のメッセージデータD0、D1からDkを記憶するためのデータセグメントDSが連続している。このデータセグメント(つまりデータセクション)DSは、そのデータ範囲において、格納されているメッセージデータのそれぞれのデータ範囲、ここでは例えばDB0内の6ワード、DB1の1ワードおよびDBkの2ワード、に依存する。従ってそれぞれのポインタDP0、DP1からDPkは、常に最初、すなわち、それぞれのメッセージ0、1からkのデータD0、D1からDkが格納されている、それぞれのデータ領域DB0、DB1からDBkの開始アドレスを指示する。従ってヘッドセグメントHSとデータセグメントDSの間のメッセージメモリの分割は可変であって、メッセージ自体の数とメッセージのそれぞれのデータ範囲、そしてそれに伴って第2のデータ範囲全体に依存する。わずかなメッセージが構成される場合には、ヘッドセグメントが小さくなり、メッセージメモリ内の空いた領域は、データを記憶するためのデータセグメントに追加して使用することができる。この可変性によって、最適なメモリ利用を保証することができ、従ってより小さいメモリの使用も可能である。従って、同様に記憶されるメッセージの数kとメッセージのそれぞれ第2のデータ範囲との組み合わせに依存する、自由なデータセグメントFDS、特にその大きさが、最小限に抑えられており、特に0になることができる。
ポインタの使用の他に、第1と第2のデータ、すなわちコンフィグレーションデータKD(KD0、KD1、…、KDk)と本来のデータD(D0、D1、…、Dk)を、予め定めることのできる順序で格納することも可能であるので、ヘッドセグメントHS内のヘッド領域HB0からHBkの順序とデータセグメントDS内のデータ領域DB0からDBkの順序がそれぞれ同一になる。その場合には、場合によってはポインタを省くことができる。
特別な形態においては、メッセージメモリにエラー認識発生器、特にパリティビットジェネレータ要素と、エラー認識検査器、特にパリティビット検査要素が対応づけられており、それによって、メモリワード当たりあるいは領域当たり(HBおよび/またはDB)チェックサムが、特にパリティビットとして一緒に格納できることによって、HSとDS内に格納されているデータの正しさが保証される。たとえばCRC(Cyclic redundancy check)のような他のコントロール識別あるいはまたECC(Error Code Correction)のような、より強力な識別も考えられる。従ってメッセージメモリの固定的な分割に対して次の利点が生じる。
利用者は、小さいデータフィールドを有するより多くの数のメッセージを使用したいのか、大きいデータフィールドを有する小さい数のメッセージを使用したいのか、をプログラミングの際に決定することができる。様々な大きさのデータ領域を有するメッセージを構成する場合に、存在しているメモリ領域を最適に利用することができる。利用者は、データメッセージ領域を様々なメッセージのために共通に利用する可能性を有する。
集積回路上に通信コントローラを実装する場合に、通信コントローラのその他の機能を変更することなく、メッセージメモリの大きさを、使用されるメモリのメモリ深度の適合によって、アプリケーションの要求に適合させることができる。
以下において、図4〜6と図7〜9を用いて、ホストCPUアクセス、すなわちバッファメモリ配置201と202を介してのコンフィグレーションデータないしステータスデータと本来のデータの書込みと読出しを詳細に説明する。その場合に目的は、データ一貫性が保証され、かつ同時に高い伝送速度が保証されるように、データ伝送に関する分離を形成することである。このプロセスの制御は、後にさらに図10、11および12において詳細に説明する、メッセージハンドラ200を介して行われる。
図4、5および6において、まず、入力バッファメモリ201を介しての、ホストCPU、加入者CPU102によるメッセージメモリ300への書込みアクセスについて詳細に説明する。そのために、図4は、再度通信モジュール100を示しており、その場合に分かり易くする理由から、通信モジュール100のここで重要な部分のみが示されている。これは、1つには、シーケンスの制御に責任を有するメッセージハンドラ200と2つのコントロールレジスタ403および404であって、それらは図示のように通信モジュール100内でメッセージハンドラ200の外部に収容することができるが、メッセージハンドラ200自体に含めることもできる。その場合に符号403は、入力要求レジスタ(Input Buffer Command Request Register)を示し、404は入力マスキングレジスタ(Input Buffer Command Mask Register)を示している。従ってホストCPU102のメッセージメモリ(Message RAM)300への書込みアクセスは、中間に接続されている入力バッファメモリ201(Input Buffer)を介して行われる。この入力バッファメモリ201は、分割して、ないしは二重に、特に部分バッファメモリ400とその部分バッファメモリに属するシャドウメモリ401として設計されている。従って、後述するように、メッセージあるいはメッセージオブジェクトあるいはメッセージメモリ300のデータへのホストCPU102の連続的なアクセスが行われ、それによってデータ一貫性と加速された伝送が保証される。アクセスの制御は、入力要求レジスタ403および入力マスキングレジスタ404を介して行われる。レジスタ403内には0から31の数によって、ここではたとえば32ビットの幅について、それぞれのビット位置403が表されている。同じことが、レジスタ404と404内のビット位置0から31について当てはまる。
本発明によれば、たとえば、レジスタ403のビット位置0から5、15、16から21および31は、シーケンス制御に関して特別な機能を有している。すなわち、レジスタ403のビット位置0から5内へ、メッセージ識別子として識別子IBRH(Input Buffer Request Host)を登録することができる。同様にレジスタ403のビット位置16から21には、識別子IBRS(Input Buffer Request Shadow)を登録することができる。同様に403のレジスタ箇所15には、IBSYHを、そして403のレジスタ箇所31にはIBSYSをアクセス識別子として登録することができる。レジスタ404の箇所0から2も、特徴的であって、その場合に0と1にはLHSH(Load Header Section Host)とLDSH(Load Data Section Host)によってデータ識別子として他の識別子が登録される。このデータ識別子は、ここでは、最も単純な形式で、すなわちそれぞれ1ビットとして形成されている。レジスタ404のビット位置2内には、STXRH(Set Transmission X Request Host)によって開始識別子が登録される。
以下、入力バッファを介してのメッセージメモリへの書込みアクセスの遂行を説明する。
ホストCPU102は、伝送すべきメッセージのデータを入力バッファメモリ201へ書き込む。その場合にホストCPU102は、メッセージメモリのヘッダーセグメントHSのためのメッセージのコンフィグレーションおよびヘッダデータHDのみ、あるいはメッセージメモリのデータセグメントDSのためのメッセージの、伝送すべき本来のデータのみ、あるいは両方を書き込むことができる。メッセージのどの部分を伝送すべきか、すなわちコンフィグレーションデータおよび/または本来のデータを伝送すべきかは、入力マスキングレジスタ404内の特殊なデータ識別子LHSHとLDSHによって決定される。その場合にLHSH(Load Header Section Host)によっては、ヘッダデータ、すなわちコンフィグレーションデータKDが伝送されるべきかが定められ、LDSH(Load
Data Section Host)によっては、データDが伝送されるべきかが定められる。入力バッファメモリ201が、バッファメモリの一部400とそれに属するシャドウメモリ401によって2つに分けて形成されており、交互にアクセスが行われることによって、LHSHとLDSHとの間で対をなして他の2つのデータ認識領域が設けられており、それらはここではシャドウメモリ401に関する。レジスタ404のビット位置16と17のこのデータ識別子は、LHSS(Load Header Section Shadow)とLDSS(Load Data Section Shadow)によって表されている。従ってこれらによって、シャドウメモリ401に関する伝送プロセスが制御される。
入力マスキングレジスタ404のビット位置2内へスタートビット、言い換えれば開始識別子STXRH(Set Transmission X Request Host)がセットされた場合には、メッセージメモリ300へそれぞれ伝送すべきコンフィグレーションデータおよび/または本来のデータの伝送が行われた後に、自動的に該当するメッセージオブジェクトのための送信要求(Transmission Request)がセットされる。すなわち、スタート識別子STXRHによって、伝送するメッセージオブジェクトの自動的送信が制御され、特に開始される。
シャドウメモリについてそれに相当する相対物は、開始識別子STXRS(Set Transmission X Request Shadow)であって、それは例えば入力マスキングレジスタ404のビット位置18内に含まれており、ここでも最も簡単な場合においては1ビットとして形成されている。STXRSの機能は、STXRHの機能と同様であるが、ただシャドウメモリ1に関するものである。
ホストCPU102が入力要求レジスタ403のビット位置0から5内へ、すなわちIBRHに従って、メッセージ識別子、特にメッセージメモリ300内の入力バッファメモリ201のデータを伝送すべきメッセージオブジェクトの番号を書き込んだ場合に、入力バッファメモリ201の部分バッファメモリ400と付属のシャドウメモリ401が、交代され、ないしはホストCPU102とメッセージメモリ300の、2つの部分メモリ400と401へのそれぞれのアクセスが、図4の半球状の矢印で示されるように交代される。その場合に、たとえば、メッセージメモリ300へのデータトランスファー、つまりデータ伝送が開始される。メッセージメモリ300へのデータ伝送自体は、シャドウメモリ401から行われる。同時に、レジスタ領域IBRHとIBRSが交換される。同様にLHSHおよびLDSHもLHSSおよびLDSSと交換される。同様にSTXRHがSTXRSと交換される。従ってIBRSは、シャドウメモリ401からの伝送が有効になっているメッセージの識別子、すなわちメッセージオブジェクトの番号ないしは、シャドウメモリ401から最後のデータ(KDおよび/またはD)としてメッセージメモリ内のどのメッセージオブジェクトが、すなわちどの領域が得られたかを示す。入力要求レジスタ403のビット位置31内の識別子(ここでも再びたとえば1ビット)IBSYS(Input Buffer Busy Shadow)によって、ちょうどシャドウメモリ401の関与によって伝送が行われているか、が表示される。すなわち、たとえばIBSYS=1においては、ちょうどシャドウメモリ401から伝送され、IBSYS=0の場合には、そうではない。このビットIBSYSは、たとえば、たとえばレジスタ403内にIBRHによって、従ってビット位置0から5の書込みによってセットされ、それによってシャドウメモリ401とメッセージメモリ300との間で伝送が有効であることが表示される。メッセージメモリ300への、このデータ伝送が終了した後に、IBSYSが再びリセットされる。
シャドウメモリ401からのデータ伝送がまさに進行している間に、ホストCPU102は、伝送すべき次のメッセージを入力バッファメモリ、言い換えれば部分バッファメモリ400へ書き込むことができる。たとえばレジスタ403のビット位置15内の他のアクセス識別子IBSYH(Input Buffer Busy Host)を用いて、識別をさらに細かく行うことができる。シャドウメモリ401とメッセージメモリ300の間で伝送が遂行されている間、つまりIBSYS=1において、ホストCPU102がまさにSBRH、つまりレジスタ403のビット位置0から5を書き込んだ場合に、入力要求レジスタ403にIBSYHがセットされる。従って進行している転送が終了するとすぐに、要求された転送(STXRHによる要求、上記参照)が開始されて、ビットIBSYHがリセットされる。ビットIBSYSは、時間全体の間セットされ続け、それによってメッセージメモリへデータが伝送されることが示される。その場合にすべての実施例のすべての使用されるビットは、1つまたは複数のビットを有する識別子として形成することもできる。メモリと処理の経済的理由から、1ビットによる解決は効果的である。
上述した構造は、ホストCPU102が入力バッファメモリへアクセスするアクセス速度がFlexRay−IP−モジュールの、つまり通信モジュール100の内部のデータ伝送率よりも小さいことを前提として、ホストCPU102に、メッセージメモリ内にある、ヘッダ領域HBとデータ領域DBからなるメッセージオブジェクトへ連続的にデータを伝送することを許可する。
図7、8および9では、出力バッファメモリ202を介しての、ホストCPUまたは加入者CPU102によるメッセージメモリ300への読取りアクセスを詳細に説明する。そのために、図7は、再度通信モジュール100を示しており、その場合にわかりやすくする理由から、ここでも通信モジュール100の重要な部分のみが示されている。それは、まず、シーケンスの制御に責任を持つメッセージハンドラ200と2つのコントロールレジスタ703および704であって、それらは図示のように通信モジュール100内でメッセージハンドラ200の外部に収容することができるが、メッセージハンドラ200自体に含めることもできる。その場合に符号703は、出力要請レジスタ(Output Buffer Command Request Register)を示し、符号704は出力マスキングレジスタ(Output Buffer Command Mask Register)を示している。従ってメッセージメモリ300へのホストCPU102の読取りアクセスは、中間に接続された出力バッファメモリ202(Output Buffer)を介して行われる。この出力バッファメモリ202も、同様に分割され、ないしは二重に、特に部分バッファメモリ701と部分バッファメモリに属するシャドウメモリ702として設計されている。従ってここでも、後述するように、メッセージないしメッセージオブジェクトないしメッセージメモリ300内のデータにホストCPU102が連続的にアクセスすることができ、従ってデータ一貫性とメッセージメモリからホストへの逆方向における加速された伝送が保証される。アクセスの制御は、出力要請レジスタ703と出力マスキングレジスタ704を介して行われる。レジスタ703内でも、0から31の数によって、ここではたとえば32ビット幅のための、それぞれのビット位置が示されている。同じことが、レジスタ704と704内のビット位置0から31についても当てはまる。
本発明によれば、レジスタ703のビット位置0〜5、8と9、15と16〜21は、読取りアクセスのシーケンス制御に関して、特別な機能を有している。すなわち、レジスタ703のビット位置0から5内へ、メッセージ識別子として識別子OBRS(Output Buffer Request Shadow)が登録可能である。同様に、レジスタ703のビット位置16から21へ、識別子OBRH(Output Buffer Request Host)が登録可能である。アクセス識別子として、レジスタ703のビット位置15に、識別子OBSYS(Output Buffer
Busy Shadow)が登録可能である。出力マスキングレジスタ704のビット位置0と1も特徴づけられ、その場合にビット位置0と1に、RDSS(Read Data Section Shadow)とRHSS(Read Header Section Shadow)によってデータ識別子としての他の識別子が登録可能である。他の識別子が、たとえばビット位置16と17にRDSH(Read Data Section Host)とRHSH(Read Header Section Host)で設けられている。これらの識別子は、ここでもたとえば簡単な形式で、すなわちそれぞれ1ビットとして形成することができる。レジスタ703のビット位置9には、スタート識別子REQが登録されている。さらに、切替え識別子VIEWが設けられており、それが例えばレジスタ703のビット位置8に登録されている。
ホストCPU102が、所望のメッセージ、つまり特に所望のメッセージオブジェクトの番号を、OBRSに従ってレジスタ703のビット位置0から5へ書き込むことによって、メッセージメモリ300からメッセージオブジェクトのデータを要求する。この場合にもホストCPUは、逆方向の場合のように、メッセージのステータスないしコンフィグレーションおよびヘッダデータKDのみを、つまりヘッダ領域から読むか、あるいはメッセージの伝送すべき本来のデータDのみを、つまりデータ領域から読むか、あるいは両方を読むこともできる。従ってその場合に、ヘッダ領域および/またはデータ領域からデータのどの部分が伝送されるべきかは、逆方向と同様にRHSSとRDSSによって決定される。すなわち、RHSSは、ヘッダデータが読まれるべきかを表し、RDSSは、本来のデータが読まれるべきかを表す。
開始識別子は、メッセージメモリからシャドウメモリ700への伝送を開始するために用いられる。すなわち、最も簡単な場合のように、識別子として1ビットが使用される場合には、出力要求レジスタ703内のビット位置9にビットREQをセットすることによって、シャドウメモリ700からメッセージメモリ300への伝送が開始される。進行している伝送は、ここでもアクセス識別子によって、ここでも最も簡単な場合にはレジスタ703内のビットOBSYSによって表される。競合を回避するためには、OBSYSがセットされておらず、つまりまさに進行する伝送が行われていない場合にのみ、ビットREQをセットできると効果的である。その場合にここでは、メッセージメモリ300とシャドウメモリ700の間でメッセージ伝送がおこなわれる。本来のシーケンスは、図4、5および6で説明したものと反対方向に、同様に制御し(相補的なレジスタ占有)かつ行うことができるが、変形例においては、付加的な識別子、すなわちレジスタ703のビット位置8内の切替え識別子VIEWによって行うことができる。すなわち、伝送の終了後に、ビットOBSYSがリセットされて、出力要求レジスタ703内にビットVIEWをセットすることによって、部分バッファメモリ701と付属のシャドウメモリ700が交代され、ないしは部分バッファメモリ701と付属のシャドウメモリ700との間のアクセスが交代されて、ホストCPU102はメッセージメモリから要求されたメッセージオブジェクトを、つまり該当するメッセージを部分バッファメモリ701から読み出すことができる。その場合にここでも、図4、5および6内の逆伝送方向と同様に、レジスタセルOBRSとOBRHが交代される。同様に、RHSSとRDSSが、RHSHとRDSHに交代される。保護構造として、ここでも、ビットVIEWは、OBSYSがセットされていない場合、すなわち進行中の伝送が行われていない場合にのみセットすることができる。
従って中間に接続された出力バッファメモリ202を介してメッセージメモリ300へのホストCPU102の読取りアクセスが行われる。この出力バッファメモリは、入力バッファメモリと同様に二重に、あるいは2つに分けて設計されており、それによってホストCPU102がメッセージメモリ300に格納されているメッセージオブジェクトへ連続的にアクセスすることが保証される。ここでも、高いデータ一貫性と加速された伝送の利点が得られる。
上述した入力バッファと出力バッファを使用することによって、ホストCPUはモジュール内部の潜在時間にもかかわらず中断されることなくメッセージメモリへアクセスできることが保証される。
このデータ一貫性を保証するために、データ伝送、特に通信モジュール100内の転送は、メッセージハンドラ200(Message Handler MHD)によって行われる。それについて図10にメッセージハンドラ200が示されている。メッセージハンドラは、その機能性において複数の状態機械あるいは自動状態機械、従って最終的な自動機械、いわゆる有限状態機械(FSM)によって表すことができる。その場合に少なくとも3つの状態機械と、好ましい実施形態においては4つの有限状態機械が設けられている。第1の有限状態機械は、IOBF−FSMであって、符号501で示されている(Input/Output Buffer State Machine)。このIOBF−FSMは、それぞれ伝送方向に応じて入力バッファメモリまたは出力バッファメモリに関してIBF−FSM(Input Buffer FSM)とOBF−FSM(Output Buffer FSM)の2つの有限状態機械に分割することができ、従って最大5つの状態自動機械(IBF−FSM、OBF−FSM、TBF1−FSM、TBF2−FSM、AFSM)が考えられる。しかし好ましくは、共通のIOBF−FSMが設けられる。少なくとも第2の有限状態機械は、ここでは、好ましい実施例の流れにおいて2つのブロック502と503に分割されており、図2に示すような、メモリ205と206に関して2つのチャネルAとBを操作する。その場合に、2つのチャネルAとBを操作するために、1つの有限状態機械を設けることができ、あるいはまた好ましい形態におけるように、チャネルAのための有限状態機械TBF1−FSMが符号502で示され(Transient Buffer 1(206,RAM A)State Machine)、チャネルBのためのTBF2−FSMは符号503で示されている(Transient Buffer 2(205,RAM B)State Machine)。
好ましい実施例において3つの有限状態機械501−503のアクセスを制御するために、符号500で示される、属性付き状態機械、いわゆるAFSMが用いられる。データ(DKおよび/またはD)は、通信モジュール内で、VCO(Voltage controlled oscillator)のようなクロック手段、発振水晶などによって生成され、あるいはそれから適合されたクロックで伝送される。その場合にクロックTは、モジュール内で生成することができ、あるいは外部から、たとえばバスクロックとして設定することができる。この属性付き有限状態機械500は、3つの有限状態機械の1つに交互に、特にそれぞれクロック周期Tの間、メッセージメモリへのアクセスを与える。すなわち、提供される時間は、個々の状態自動機械501、502、503のアクセス要求に応じて、この要求する状態自動機械へ分配される。アクセス要求が1つの有限状態機械のみによって行われた場合には、その有限状態機械はアクセス時間の100%、従ってすべてのクロックTを得る。アクセス要求が、2つの状態自動機械によって行われた場合には、各有限状態機械は、アクセス時間の50%を得る。そして、3つの状態自動機械によって行われた場合には、有限状態機械の各々はアクセス時間の1/3を得る。それによってそれぞれ提供される帯域幅が最適に利用される。
符号501で示される第1の有限状態機械、すなわちIOBF−FSMは、必要に応じて次の行動を実施する:
−入力バッファメモリ201からメッセージメモリ300内の選択されたメッセージオブジェクトへのデータ伝送。
−メッセージメモリ300内の選択されたメッセージオブジェクトから出力バッファメモリ202へのデータ伝送。
チャネルAのための状態機械502、すなわちTBF1−FSMは、以下の行動を実施する:
−メッセージメモリ300内の選択されたメッセージオブジェクトからチャネルAのためのバッファメモリ206へのデータ伝送。
−バッファメモリ206からメッセージメモリ300内の選択されたメッセージオブジェクトへのデータ伝送。
−メッセージメモリ内の適合するメッセージオブジェクトの検索、その場合に受信においては、アクセプタンスフィルタリングの枠内においてチャネルAで受信したメッセージを格納するためのメッセージオブジェクト(Receive Buffer)が探されて、送信においてはチャネルAで送信すべき次のメッセージオブジェクト(Transmit Buffer)が探される。
ブロック503内チャネルBのための、TBF2−FSM、すなわち有限状態機械の行動も、それと同様である。これは、バッファメモリ300内の選択されたメッセージオブジェクトからチャネルBのバッファメモリ205へデータ伝送を実施し、かつバッファメモリ205からメッセージメモリ300の選択されたメモリオブジェクトへのデータ伝送を実施する。サーチ機能も、メッセージメモリ内の適合したメッセージオブジェクトを探すTBF1−FSMと同様であって、その場合に受信においてはアクセプタンスフィルタリングの枠内においてチャネルBで受信したメッセージを格納するためのメッセージオブジェクト(Receive Buffer)が探され、送信においてはチャネルBで送信すべき次のメッセージまたはメッセージオブジェクト(Transmit Buffer)が探される。
図11には、シーケンスと伝送路が再度示されている。3つの状態機械501−503が、個々の部分の間のそれぞれのデータ伝送を制御する。その場合にここでも符号102でホストCPUが示され、符号201で入力バッファメモリが、そして符号202で出力バッファメモリが示されている。符号300は、メッセージメモリを示しており、チャネルAとチャネルBのための2つのバッファメモリは、符号206と205で示されている。インターフェイス要素207と208も、同様に示されている。符号501で示す第1の状態機械IOBF−FSMは、データ伝送Z1AとZ1B、すなわち入力バッファメモリ201からメッセージメモリ300へ、そしてメッセージメモリ300から出力バッファメモリ202へのデータ伝送を制御する。その場合にデータ伝送は、たとえば32ビットのワード幅を有するデータバスを介して行われ、その場合にそれぞれ他のビット数も可能である。同じことが、メッセージメモリ300とバッファメモリ206の間の伝送Z2にも当てはまる。このデータ伝送は、TBF1−FSM、すなわちチャネルAのための状態機械502によって制御される。メッセージメモリ300とバッファメモリ205の間の伝送Z3は、状態自動機械TBF2−FSM、すなわち503によって制御される。ここでもデータ伝送は、たとえば32ビットのワード幅を有するデータバスを介して行われ、その場合にここもそれぞれ他のビット数も可能である。通常、上述した伝送路を介して完全なメッセージオブジェクトを伝送することは、複数のクロック周期Tを必要とする。従ってクロック周期Tに関して伝送時間を分割することが、アービター、すなわちAFSM500によって行われる。従って図11には、メッセージハンドラによってコントロールされる、そのメモリコンポーネント間のデータパスが示されている。メッセージメモリ内に記憶されているメッセージオブジェクトのデータ一貫性を保証するために、好ましくは、図示のパス、従ってZ1AとZ1BおよびZ2とZ3の一方においてのみ、同時にデータが交換される。
図12には、提供されるシステムクロックTがアービター、従ってAFSM500によって3つの要求する状態自動機械へどのように分配されるかが、例で示されている。位相1においては、状態自動機械501と状態自動機械502のアクセス要求が行われ、すなわち時間全体がそれぞれ半分ずつ2つの要求する状態自動機械へ分割される。これは、位相1内のクロック周期に関して、状態自動機械501がクロック周期T1とT3でアクセスを有し、状態自動機械502がクロック周期T2とT4でアクセスを有することを意味している。位相2においては、アクセスは状態自動機械501によってだけ行われるので、3つのクロック周期すべて、従ってT5からT7のアクセス時間の100%がIOBF−FSM上で生じる。位相3においては、3つの状態自動機械すべてのアクセス要求が行われるので、全アクセス時間の3分割が行われる。その場合にアービターAFSMは、アクセス時間を、たとえば、クロック周期T8とT11において有限状態機械501が、クロック周期T9とT12においては有限状態機械502が、そしてクロック周期T10とT13においては有限状態機械503がアクセスを得るように分配する。そして位相4において、通信モジュールの2つのチャネルAとB上で2つの状態自動機械502と503によってアクセスが行われるので、クロック周期T14とT16のアクセス分配が有限状態機械502に、そしてT15とT17においては有限状態機械503へ行われる。
従って属性付き状態自動機械AFSM500は、3つの状態自動機械の1つより多くがメッセージメモリ300へのアクセスを要求した場合に、アクセスがクロック単位で交互に要求する状態自動機械へ分配されることをもたらす。このやり方は、メッセージメモリに格納されているメッセージオブジェクトの一貫性、すなわちデータ一貫性を保証する。たとえば、ホストCPU102が、まさに受信されたメッセージがメッセージオブジェクトに書き込まれている間に、出力バッファメモリ202を介してそのメッセージオブジェクトを読み出そうとした場合に、どの要求が最初に開始されたかに従って、古い状態か、あるいは新しい状態が読み出され、メッセージメモリ内のメッセージオブジェクト内のアクセス自体が衝突することはない。
上述した方法は、ホストCPUに、進行中の動作内でメッセージメモリ内の各任意のメッセージオブジェクトを読み出し、あるいは書き込むことを可能にし、選択されたメッセージオブジェクトはホストCPUのアクセスが続く間、FlexRayバスの2つのチャネル上のデータ交換の関与によって阻止されることがない(Buffer Locking)。同時に、アクセスがクロック単位で入れ子にされることによって、メッセージメモリ内に格納されているデータの一貫性が保証され、伝送速度も完全な帯域幅の利用によって増大される。
通信モジュールとそれの、物理的な層、従って通信接続への結合と通信加入者または通信ホストを概略的な表示で示している。 図1に基づく通信モジュールとその接続を、特殊な実施形態において示している。 メッセージメモリの構造を示している。 アーキテクチャとデータアクセスのプロセスを、加入者からメッセージメモリの方向に概略的に示している。 アーキテクチャとデータアクセスのプロセスを、加入者からメッセージメモリの方向に概略的に示している。 アーキテクチャとデータアクセスのプロセスを、加入者からメッセージメモリの方向に概略的に示している。 アーキテクチャとデータアクセスのプロセスをメッセージから加入者の方向に概略的に示している。 アーキテクチャとデータアクセスのプロセスをメッセージから加入者の方向に概略的に示している。 アーキテクチャとデータアクセスのプロセスをメッセージから加入者の方向に概略的に示している。 メッセージハンドラとその中に含まれる有限状態機械を概略的に示している。 通信モジュールの構成部分と加入者および、メッセージハンドラによって制御される、該当するデータパスを再度概略的に示している。 図11のデータパスに関連するアクセスの分配を示している。

Claims (12)

  1. メッセージメモリ(300)へデータを入力し、あるいはメッセージメモリ(300)からデータを出力することによって、通信モジュール(100)のメッセージメモリ(300)のデータへアクセスする方法であって、
    メッセージメモリがバッファメモリ集合体(201および202)と接続されており、データが第1の伝送方向においてメッセージメモリへ、第2の伝送方向においてはメッセージメモリから伝送される、前記方法において、
    バッファメモリ集合体が、第1の伝送方向において入力バッファメモリ(201)を有し、第2の伝送方向においては出力バッファメモリ(202)を有しており、かつ、
    入力バッファメモリおよび出力バッファメモリが、それぞれ部分バッファメモリ(400、701)とその部分バッファメモリのためのシャドウメモリ(401、700)に分割されており、その場合に各伝送方向において:
    −それぞれの部分バッファメモリへデータを入力し、かつ、
    −部分バッファメモリとシャドウメモリへのアクセスが交換されるので、
    −後続のデータをシャドウメモリへ入力することができ、入力されているデータはすでに部分バッファメモリから予定されている伝送方向に出力される、
    ステップが実行され、
    データがメッセージ内で伝送され、メッセージにはメッセージ識別子(IBRH、IBRS、OBRH、OBRS)が設けられており、前記部分バッファメモリと前記シャドウメモリへのアクセスの交換が、予め定められるレジスタ(403、404、703、704)内へ前記メッセージ識別子が書き込まれた場合に行われることを特徴とする、通信モジュールのメッセージメモリのデータへアクセスする方法。
  2. データがメッセージ内で伝送され、メッセージ内のデータが少なくとも第1のデータ(KD)と第2のデータ(D)に分割されており、少なくとも1つのデータ識別子(LHSH、LDSH、LDSS、LHSS、RHSS、RDSS、RDSH、RHSH)に従って、前記第1のデータ(KD)のみ、あるいは前記第2のデータ(D)のみ、あるいは前記第1のデータと前記第2のデータが伝送されることを特徴とする、請求項1に記載の方法。
  3. データへのアクセスが、アクセス識別子(IBSYS、IBSYH、OBSYS)によって表示され、前記アクセス識別子がレジスタに登録されることを特徴とする、請求項1に記載の方法。
  4. アクセス識別子(IBSYS、IBSYH、OBSYS)自体から、あるいはレジスタ内のアクセス識別子の位置から、どの部分バッファメモリへ、あるいはどのシャドウメモリへ、今アクセスされるかの情報を求めることができることを特徴とする、請求項に記載の方法。
  5. アクセスを交換する場合に、少なくとも一部のレジスタ登録が、特に識別子がレジスタ内で交換されることを特徴とする、請求項1または2に記載の方法。
  6. 部分バッファメモリとシャドウメモリへのアクセスの交換が、切替え識別子(VIEW)によって作動されることを特徴とする請求項1に記載の方法。
  7. データをメモリへ書き込もうとする場合に、少なくとも1つの伝送方向のためにスタート識別子(STXRH、REQ)がレジスタへ登録されることを特徴とする、請求項1に記載の方法。
  8. メッセージメモリ(300)のデータへアクセスする方法であって、その場合にバッファメモリ(201、202)が設けられている、前記方法において、
    バッファメモリが、部分バッファメモリ(400、701)と前記部分バッファメモリのためのシャドウメモリ(401、700)に分割されており、データへアクセスする場合に:
    −データを部分バッファメモリへ入力し、かつ、
    −部分バッファメモリとシャドウメモリへのアクセスが交換されるので、
    −後続のデータは、シャドウメモリへ入力することができ、入力されているデータはすでに部分バッファメモリから出力される、
    ステップが実行され、
    データがメッセージ内で伝送され、メッセージにはメッセージ識別子(IBRH、IBRS、OBRH、OBRS)が設けられており、前記部分バッファメモリと前記シャドウメモリへのアクセスの交換が、予め定められるレジスタ(403、404、703、704)内へ前記メッセージ識別子が書き込まれた場合に行われることを特徴とする、メッセージメモリのデータへアクセスする方法。
  9. 通信モジュール(100)のメッセージメモリ(300)のデータへアクセスするためのバッファメモリ集合体において、
    バッファメモリ集合体が、入力バッファメモリ(201)と出力バッファメモリ(202)に分割されており、入力バッファメモリ(201)が第1の部分バッファメモリ(400)と、部分バッファメモリの第1のシャドウメモリ(401)とを有しており、出力バッファメモリ(202)は第2の部分バッファメモリ(701)と第2のシャドウメモリ(700)を有しており、その場合に第1の手段が設けられており、前記第1の手段によって第1の部分バッファメモリ(400)と第1のシャドウメモリ(401)へのアクセスが交換され、かつ第2の手段が設けられており、前記第2の手段によって第2の部分バッファメモリ(701)と第2のシャドウメモリ(700)へのアクセスが交換され、データがメッセージ内で伝送され、メッセージにはメッセージ識別子(IBRH、IBRS、OBRH、OBRS)が設けられており、前記第1の部分バッファメモリと前記第1のシャドウメモリへのアクセスの交換及び前記第2の部分バッファメモリと前記第2のシャドウメモリへのアクセスの交換が、予め定められるレジスタ(403、404、703、704)内へ前記メッセージ識別子が書き込まれた場合に行われることを特徴とする、バッファメモリ集合体
  10. 通信モジュール(100)のメッセージメモリ(300)のデータへアクセスするためのバッファメモリにおいて、
    バッファメモリ(201、202)は、部分バッファメモリ(400、701)と前記部分バッファメモリのシャドウメモリ(401、700)とを有しており、その場合に手段が設けられており、前記手段によって部分バッファメモリ(400、701)とシャドウメモリ(401、700)へのアクセスが交換され、データがメッセージ内で伝送され、メッセージにはメッセージ識別子(IBRH、IBRS、OBRH、OBRS)が設けられており、前記部分バッファメモリと前記シャドウメモリへのアクセスの交換が、予め定められるレジスタ(403、404、703、704)内へメッセージ識別子が書き込まれた場合に行われることを特徴とする、バッファメモリ。
  11. 請求項9に記載のバッファメモリ集合体を有する、通信モジュール。
  12. 請求項10に記載のバッファメモリを有する、通信モジュール。
JP2007524316A 2004-08-05 2005-06-29 通信モジュールのメッセージメモリのデータへアクセスする方法および装置 Expired - Fee Related JP4571671B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102004038213A DE102004038213A1 (de) 2004-08-05 2004-08-05 Verfahren und Vorrichtung zum Zugriff auf Daten eines Botschaftsspeichers eines Kommunikationsbausteins
PCT/EP2005/053077 WO2006015911A1 (de) 2004-08-05 2005-06-29 Verfahren und vorrichtung zum zugriff auf daten eines botschaftsspeichers eines kommunikationsbausteins

Publications (2)

Publication Number Publication Date
JP2008509583A JP2008509583A (ja) 2008-03-27
JP4571671B2 true JP4571671B2 (ja) 2010-10-27

Family

ID=35057190

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007524316A Expired - Fee Related JP4571671B2 (ja) 2004-08-05 2005-06-29 通信モジュールのメッセージメモリのデータへアクセスする方法および装置

Country Status (10)

Country Link
US (1) US8095740B2 (ja)
EP (1) EP1776807B1 (ja)
JP (1) JP4571671B2 (ja)
KR (1) KR100970300B1 (ja)
CN (1) CN1993945B (ja)
AT (1) ATE452491T1 (ja)
DE (2) DE102004038213A1 (ja)
ES (1) ES2337163T3 (ja)
RU (1) RU2377729C2 (ja)
WO (1) WO2006015911A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE602004027024D1 (de) * 2004-08-05 2010-06-17 Bosch Gmbh Robert Kommunikationskontrolleur für FlexRay-Netze
WO2007147435A1 (en) * 2006-06-20 2007-12-27 Freescale Semiconductor, Inc. Method for transmitting a datum from a time-dependent data storage means
WO2007147441A1 (en) * 2006-06-22 2007-12-27 Freescale Semiconductor, Inc. Method and system of grouping interrupts from a time-dependent data storage means
DE102006038428A1 (de) * 2006-08-17 2008-02-21 Bayerische Motoren Werke Ag Verfahren zur Programmierung eines Steuergerätes eines Kraftfahrzeugs
US7949679B2 (en) * 2008-03-05 2011-05-24 International Business Machines Corporation Efficient storage for finite state machines
JP5362668B2 (ja) * 2010-09-16 2013-12-11 日立オートモティブシステムズ株式会社 車内データ中継装置
CN103608829A (zh) * 2011-01-18 2014-02-26 舍德Ip有限责任公司 用于基于编码完整性进行计算机化协商的系统和方法
CN103827840B (zh) * 2011-09-29 2017-09-12 英特尔公司 用于拷贝寄存器内容的处理器、方法和装置以及计算系统
US8639672B2 (en) * 2012-03-27 2014-01-28 International Business Machines Corporation Multiplex classification for tabular data compression
TWI605458B (zh) * 2012-04-25 2017-11-11 Sony Corp Non-volatile memory devices, non-volatile memory control devices, and non-volatile memory control methods
US9449032B2 (en) * 2013-04-22 2016-09-20 Sap Se Multi-buffering system supporting read/write access to different data source type
WO2016182743A1 (en) 2015-05-09 2016-11-17 Medtronic, Inc. Methods and devices that utilize hardware to move blocks of operating parameter data from memory to a register set
CN108694144B (zh) * 2017-04-07 2021-08-03 苏州倍昊电子科技有限公司 接口电路、信号传输系统及其信号传输方法
KR102259970B1 (ko) * 2017-10-13 2021-06-02 주식회사 엘지에너지솔루션 데이터 입력 스케쥴링 장치
US11216370B2 (en) * 2018-02-20 2022-01-04 Medtronic, Inc. Methods and devices that utilize hardware to move blocks of operating parameter data from memory to a register set
DE102018221954A1 (de) * 2018-12-17 2020-06-18 Robert Bosch Gmbh Recheneinrichtung und Verfahren zum Betreiben einer Recheneinrichtung
US10811082B1 (en) * 2019-06-24 2020-10-20 Sandisk Technologies Llc Non-volatile memory with fast data cache transfer scheme
US10825526B1 (en) 2019-06-24 2020-11-03 Sandisk Technologies Llc Non-volatile memory with reduced data cache buffer

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6158359A (ja) 1984-08-30 1986-03-25 Toshiba Corp デ−タ伝送装置
JPS61233852A (ja) * 1985-04-09 1986-10-18 Yaskawa Electric Mfg Co Ltd メモリ編集方式
JPS62152002A (ja) * 1985-12-26 1987-07-07 Yaskawa Electric Mfg Co Ltd プログラマブルコントロ−ラ
US5195182A (en) * 1989-04-03 1993-03-16 Eastman Kodak Company Frame buffer architecture for storing sequential data in alternating memory banks
JPH0367348A (ja) * 1989-08-04 1991-03-22 Fujitsu Ltd 受信データメモリの面切換え制御方式
US5127002A (en) * 1991-07-17 1992-06-30 Motorola, Inc. Time slot assigner for use in a serial communication system
US6101321A (en) * 1992-04-10 2000-08-08 Eastman Kodak Company Method and apparatus for broadcasting data in a ring connected multiprocessor
CA2080159C (en) * 1992-10-08 1998-09-15 Paul Alan Gresham Digital signal processor interface
CA2107704A1 (en) 1992-10-13 1994-04-14 Shigeo Tanaka Method and apparatus for communication between equipment units
MX9306994A (es) * 1992-12-15 1994-06-30 Ericsson Telefon Ab L M Sistema de control de flujo para interruptores de paquete.
US5805927A (en) * 1994-01-28 1998-09-08 Apple Computer, Inc. Direct memory access channel architecture and method for reception of network information
US5687316A (en) * 1994-07-29 1997-11-11 International Business Machines Corporation Communication apparatus and methods having P-MAC, I-MAC engines and buffer bypass for simultaneously transmitting multimedia and packet data
SE514348C2 (sv) * 1995-06-09 2001-02-12 Saab Dynamics Ab Minnesstruktur anpassad för lagring och hämtning av vektorer
CN1154931C (zh) * 1995-08-04 2004-06-23 吴乾弥 流水线式-脉冲式-单指令多数据阵列处理结构及其方法
JPH09185556A (ja) * 1995-12-27 1997-07-15 Toshiba Corp 二重化メモリの管理方法、及び二重化メモリ管理装置
US5958029A (en) * 1997-10-20 1999-09-28 Motorola, Inc. Method and system for efficient message validation
US6081847A (en) * 1998-02-27 2000-06-27 Lsi Logic Corporation System and method for efficient initialization of a ring network
TW425769B (en) * 1999-07-08 2001-03-11 Via Tech Inc Mapping register structure of codec controller and powering down and suspending method using the same
WO2001005123A1 (en) * 1999-07-13 2001-01-18 Alteon Web Systems, Inc. Apparatus and method to minimize incoming data loss
US7333489B1 (en) 2000-05-08 2008-02-19 Crossroads Systems, Inc. System and method for storing frame header data
US7352766B2 (en) * 2002-03-12 2008-04-01 Alcatel Lucent High-speed memory having a modular structure
EP1355456A1 (en) * 2002-04-16 2003-10-22 Robert Bosch Gmbh FlexRay communication protocol
US7337241B2 (en) * 2002-09-27 2008-02-26 Alacritech, Inc. Fast-path apparatus for receiving data corresponding to a TCP connection
RU2231112C1 (ru) 2002-10-29 2004-06-20 Закрытое акционерное общество "ЦБИ-сервис" Способ подключения персонального компьютера
JP2007501583A (ja) * 2003-05-21 2007-01-25 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 通信プロトコルに関するメッセージメモリ及び方法
GB0313986D0 (en) * 2003-06-17 2003-07-23 Zarlink Semiconductor Inc Data memory extension for use in double buffered TDM switches
JP2005135065A (ja) * 2003-10-29 2005-05-26 Hitachi Ltd 記憶デバイス制御装置、及び記憶デバイス制御装置の制御方法
US7281102B1 (en) * 2004-08-12 2007-10-09 Vmware, Inc. Restricting memory access to protect data when sharing a common address space
JP2006185000A (ja) * 2004-12-27 2006-07-13 Hitachi Ltd ストレージ装置

Also Published As

Publication number Publication date
KR20070039120A (ko) 2007-04-11
EP1776807A1 (de) 2007-04-25
KR100970300B1 (ko) 2010-07-15
ATE452491T1 (de) 2010-01-15
US20080282041A1 (en) 2008-11-13
RU2007108065A (ru) 2008-09-10
CN1993945A (zh) 2007-07-04
US8095740B2 (en) 2012-01-10
EP1776807B1 (de) 2009-12-16
CN1993945B (zh) 2012-11-14
WO2006015911A1 (de) 2006-02-16
ES2337163T3 (es) 2010-04-21
JP2008509583A (ja) 2008-03-27
RU2377729C2 (ru) 2009-12-27
DE502005008714D1 (de) 2010-01-28
DE102004038213A1 (de) 2006-03-16

Similar Documents

Publication Publication Date Title
JP4571671B2 (ja) 通信モジュールのメッセージメモリのデータへアクセスする方法および装置
JP2008508826A (ja) FlexRay通信モジュール
KR100981461B1 (ko) 통신 칩 및 메시지 관리자에 의한 통신 칩의 메시지 메모리의 데이터에 대한 액세스 제어 방법
JP4740261B2 (ja) 通信システム及び通信モジュールの通信リンクや通信システムのノードを経由してメッセージのデータを伝送する方法と、この方法を実現するための通信システム。
JP4903801B2 (ja) FlexRay通信モジュールとFlexRay加入者装置とを繋ぐ加入者インタフェース、およびFlexRay通信モジュールとFlexRay加入者装置とを繋ぐ加入者インタフェースを経由するメッセージの伝送方法
JP2008509463A (ja) メッセージをメッセージメモリに記憶する方法およびメッセージメモリ
US20090300254A1 (en) Method for Connecting a Flexray user having a Microcontroller to a Flexray Communications line Via a Flexray Communications Control Device, and Flexray Communications Control Device, Flexray User, and Flexray Communications System for Realizing this Method
US20100161834A1 (en) User interface between a microcontroller and a flexray communications module; flexray user; and method for transmitting messages via such an interface
JP2009502072A (ja) FlexRay通信モジュール及びFlexRay通信制御装置、並びにFlexRay通信接続とFlexRay加入者装置との間でメッセージを伝送する方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091027

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100323

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100623

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: 20100713

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: 20100812

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

Free format text: PAYMENT UNTIL: 20130820

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4571671

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

LAPS Cancellation because of no payment of annual fees