JP2009303208A - シリアルデータインターフェースを使用して複数の論理データストリームのそれぞれに対応するデータを送信/受信する方法及び装置 - Google Patents

シリアルデータインターフェースを使用して複数の論理データストリームのそれぞれに対応するデータを送信/受信する方法及び装置

Info

Publication number
JP2009303208A
JP2009303208A JP2009118360A JP2009118360A JP2009303208A JP 2009303208 A JP2009303208 A JP 2009303208A JP 2009118360 A JP2009118360 A JP 2009118360A JP 2009118360 A JP2009118360 A JP 2009118360A JP 2009303208 A JP2009303208 A JP 2009303208A
Authority
JP
Japan
Prior art keywords
data
message
logical
serial
serial data
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.)
Pending
Application number
JP2009118360A
Other languages
English (en)
Other versions
JP2009303208A5 (ja
Inventor
Andrew M Bennett
アンドリュー・エム・ベネット
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.)
Agilent Technologies Inc
Original Assignee
Agilent Technologies Inc
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 Agilent Technologies Inc filed Critical Agilent Technologies Inc
Publication of JP2009303208A publication Critical patent/JP2009303208A/ja
Publication of JP2009303208A5 publication Critical patent/JP2009303208A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • 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
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • G06F13/4278Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using an embedded synchronisation
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/32Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
    • G06F13/34Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer with priority control
    • 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
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Abstract

【課題】複数の論理データストリームに関するデータをシリアルデータインターフェースを介して送信あるいは受信する方法及び装置を提供する。
【解決手段】論理データストリームのいくつかについてのデータをステージングし、そのデータが準備完了したかを判断し、データを搬送するメッセージのヘッダが関連する論理データストリームを識別するよう複数のメッセージを生成し、i)各論理データストリームについてステージングされたデータの準備の完了と、ii)論理データストリームの優先方式とを使用する際に、アクティブな論理データストリームのうちの1つを定期的に指定するように、該i)及びii)を使用し、シリアルデータインターフェースを介して複数の論理データストリームのうちのアクティブな1つに対応するメッセージを送信し、他のものに対応するメッセージを送信しない、データの送信/受信方法。
【選択図】図3

Description

本発明は、データを送信/受信する技術に関する。
複数のデータストリームのそれぞれに対応するデータをデータインターフェースを介して送信する方法には、2つの一般的な方法がある。一方の方法は、パラレルアドレス/データバスを使用し、データストリームのそれぞれは、別個のアドレス範囲に書き込まれる(と共に別個のアドレス範囲から読み出される)ものである。他方の方法は、シリアルバス及び予め定義されたインターリーブ方式を使用するものである。
一例示のパラレルアドレス/データバスは、TigerSHARC(登録商標)プロセッサ(米国マサチューセッツ州ノーウッドのAnalog Devices社によって提供されている)のクラスタバスである。このようなバスを使用することの不利な点は、このようなバスが多数の入出力(I/O)ピンを消費するということである。さらに、同じラインは、通常、データの送信及び受信に使用され、どの所与の時点においても、バスは一方向にされている(すなわち、バスは半二重である)。また、多数のI/Oパスを実装することによるオーバーヘッドにより、複数のデバイス(例えば、「クラスタ」内の複数のプロセッサ)によるバスの共有が助長される傾向もある。
予め定義されたインターリーブ方式は、シリアルデータインターフェースを使用して実施することができ、双方向(すなわち、同時送信/受信)リンクの実施の実現可能性をより高くするので、パラレルアドレス/データバスを上回る有利な点を有する。しかしながら、予め定義されたインターリーブ方式の不利な点は、各データストリームのデータ転送レート間の関係が固定されているということである。すなわち、データストリームの予め定義されたインターリーブによって、任意の特定のデータストリームのデータ転送レートを個別に変更することが非常に困難(且つ実際には不可能)になる。
本発明により、複数の論理データストリームに関するデータをシリアルデータインターフェースを介して送信あるいは受信する方法及び装置を提供することができる。
本発明によるシリアルデータインターフェースを介して複数の論理データストリームのそれぞれに対応するデータを送信する方法は、論理データストリームの少なくともいくつかについてのデータをステージングすることと、各論理データストリームについてステージングされたデータのデータ準備完了を判断することと、複数のメッセージを生成することであって、該メッセージのそれぞれはヘッダを有し、該メッセージの少なくともいくつかは、データのいくつかを搬送し、データを搬送するメッセージのヘッダは、それらのメッセージのデータが関連する論理データストリームを識別する、複数のメッセージを生成することと、i)各論理データストリームについてステージングされたデータのデータ準備完了、及びii)論理データストリームの優先方式を使用することであって、論理データストリームのうちのアクティブな1つを定期的に指定する、i)及びii)を使用することと、シリアルデータインターフェースを介して、複数の論理データストリームのうちのアクティブな1つに対応するメッセージを送信し、該複数の論理データストリームのうちの他のものに対応するメッセージを送信しないことと、を含む。
シリアルデータリンクによってデータを送信するための一例示の新しいシステムを示すブロック図である。 シリアルデータインターフェースを介して複数の論理データストリームのそれぞれに対応するデータを送信するための一例示の方法を示すフローチャートである。 図2に示す方法等の方法を実施するための一例示の装置を示すブロック図である。 図3に示すシリアルデータ送信機を実施する第1の例示の方法を示すブロック図である。 図3に示すシリアルデータ送信機又は図7に示すシリアルデータ受信機を実施する第2の例示の方法を示すブロック図である。 シリアルデータインターフェースを介して複数の論理データストリームのそれぞれに対応するデータを受信するための一例示の方法を示すフローチャートである。 図6に示す方法等の方法を実施するための一例示の装置を示すブロック図である。 図7に示すシリアルデータ受信機を実施する一例示の方法を示すブロック図である。 図1に示すシステムを介して送信/受信されるメッセージの一例示のメッセージ構造を示す図である。 図9に示すメッセージ構造の一例示のヘッダを示す図である。
本発明の例示の実施形態は、本出願に添付の図面に示される。
図1は、シリアルデータリンク102によってデータを送信するための一例示の新しいシステム100を示している。このシステム100は、シリアルデータリンク102の1つ又は複数のシリアルデータチャネル108、110によって接続されている第1のデバイス104及び第2のデバイス106を備える。例として、デバイス104、106のそれぞれは、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理デバイス(PLD)、又は特定用途向け集積回路(ASIC)とすることができる。
図示するように、シリアルデータリンク102は、第1のデバイス104から第2のデバイス106へシリアルデータを送信するための第1のチャネル108、及び第2のデバイス106から第1のデバイス104へシリアルデータを送信するための第2のチャネル110を備えることができる。いくつかの場合には、チャネル108、110の一方のみを提供することができる。これらの場合には、データ送信は、単一の方向に限定することができる。すなわち、デバイス104、106のうちの一つは、シリアルデータリンク102のアービタ(arbiter)として働くことができる。
図1に示すように、第1のデバイス104及び第2のデバイス106のそれぞれには、これらのデバイス104、106のそれぞれをシリアルデータリンク102に連結するストリームインターフェース112、114が設けられる。次に、各ストリームインターフェース112、114は、シリアルデータ送信機116、120及びシリアルデータ受信機118、122を備えることができる。ただし、いくつかの場合には、ストリームインターフェース112、114は、シリアルデータ送信機のみ又はシリアルデータ受信機のみを備えることができる。シリアルデータ送信機116、120のそれぞれは、デバイス104、106の他方のものの対応するシリアルデータ受信機118、122と対にされる(例えば、第1のデバイス104のシリアルデータ送信機116は、第2のデバイス106のシリアルデータ受信機118と対にされる)。第1の送信機/受信機対116/118は、第1のシリアルデータチャネル108を介したデータの送信を容易にし、もし設けられた場合には、第2の送信機/受信機対120/122は、第2のシリアルデータチャネル110を介したデータの送信を容易にする。
図1にさらに示すように、送信機/受信機対116/118、120/122のそれぞれは、その各シリアルデータチャネル108、110を使用して、複数の論理データストリーム124/126/128、130/132/134のそれぞれに対応するデータを送信する。本明細書でより詳細に論述するように、システム100の利点は、異なる論理データストリーム124/126/128、130/132/134に対応するデータを、論理データストリーム124/126/128、130/132/134の優先方式に一致した、大部分独立して異なるデータ転送レートで送信することができるということである。このように、予め定義されたインターリーブ方式の構造の一部を回避する方法ではあるが、複数の論理データストリーム124/126/128、130/132/134に対応するデータをシリアルデータリンク102を介して送信することができる。
次に図2を参照して、複数の論理データストリームのそれぞれに対応するデータを送信する方法200が示されている。いくつかの実施形態では、方法200は、図1に示すデバイス104、106のうちの1つのストリームインターフェース(112又は114)によって実施することができる。
方法200は、論理データストリームの少なくともいくつかについてのデータをステージングする(staging:実際の使用環境に近い状況に準備する)ステップ202を含む。例として、データのステージングは、この説明において後により詳細に論述するように、複数の先入れ先出し(FIFO)バッファ又はピンポンバッファを使用して成し遂げることができる。
ステップ204において、各論理ストリームデータについてステージングされたデータの「データ準備完了(data readiness)」を判断する。すなわち、データ準備の完了を、ストリーム単位で判断する。
ステップ206において、複数のメッセージを組み立てる。メッセージのそれぞれには、ヘッダが設けられ、メッセージの少なくともいくつかは、論理データストリームについてステージングされたデータのいくつかを搬送する。データを搬送するメッセージの場合、それらのメッセージのヘッダは、それらのメッセージのデータが関連する論理データストリーム(あるいは複数の論理データストリーム)を識別する。
通常、メッセージは、1つの特定の論理データストリームに関連するデータのみを搬送することが想定される。しかしながら、ブロードキャストメッセージも考慮され、ブロードキャストメッセージでは、メッセージのヘッダは、データが論理データストリームのうちの複数の1つへブロードキャストされることを示す。
留意すべきは、データを搬送するメッセージは、特定の論理データストリームについてステージングされたデータのいくつかを搬送することさえすればよいということである(ただし、論理データストリームのデータの量が十分少なく、そのストリームのデータのすべてを単一のメッセージで搬送することができる場合が存在し得る)。
ステップ208において、i)各論理データストリームについてステージングされたデータのデータ準備完了、及びii)論理データストリームの優先方式、の双方を使用して、論理データストリームのうちのアクティブな1つが定期的に指定される。次に、ステップ210において、複数の論理データストリームのうちのアクティブな1つに対応するメッセージを、シリアルデータインターフェースを介して送信する一方、複数の論理データストリームのうちの他のものに対応するメッセージは送信しない。
状況に応じて、シリアルデータインターフェースを介してフロー制御情報を受信することができる。このフロー制御情報は、リモート受信機がデータを受信する準備が完了していることを示し、論理データストリームのうちのアクティブな1つを指定するための追加の基準として使用することができる。このように、特定の論理データストリームのフロー制御は、シリアルデータリンクの送信端及び受信端の双方によって規制することができる。
方法200のステップは、特定のフローを有するように示されているが、このフローは重要ではなく、さまざまなフローが考慮されることに留意されたい。実際には、ほとんどの場合、この方法のステップのすべては、並列に実行される。
図3は、方法200等の方法を実施するための一例示の装置300を示している。図示するように、装置300は、シリアルデータ送信機302を備える。このシリアルデータ送信機302は、シリアルデータインターフェース306を介してメッセージ304を送信するように構成される。詳細には、シリアルデータ送信機302は、1)複数の論理データストリーム308、310、312のうちのアクティブな1つに対応するメッセージ304を送信し、2)複数の論理データストリーム308、310、312のうちの他のものに対応するメッセージ304を送信しないように構成されている。複数の論理データストリームのうちの「アクティブな1つ」が意味するものは、まもなく明らかになる。
シリアルデータ送信機302をより詳細に見ると、シリアルデータ送信機302は、データステージングメカニズム314、メッセージ生成メカニズム316、及びアービトレーションメカニズム(arbitration mechanism)318を備える。いくつかの実施形態では、これらの構造は、個別に実装することができる。他の実施形態では、これらの構造の機能は、1つ又は複数の多目的構造によって提供することができる。
データステージングメカニズム314は、論理データストリーム308、310、312の少なくともいくつかについてのデータをステージングし、各論理データストリーム308、310、312についてステージングされたデータのデータ準備完了インジケータをセットする。データ準備完了インジケータ322は、例えば、ステージングメカニズム314が、特定の論理データストリーム308、310、312について所定のデータ量よりも多くステージングされた時、又はエンドオブフレーム(EOF)インジケータが、特定の論理データストリーム308、310、312について受信された時を示す。
メッセージ生成メカニズム316は、複数のメッセージ304を組み立てる(例えば、パケット化する)。メッセージ304のそれぞれは、ヘッダと共に組み立てられ、メッセージの少なくともいくつかは、データステージングメカニズム314によってステージングされたデータのいくつかを搬送する。データを搬送するメッセージの場合、それらのメッセージのヘッダは、それらのメッセージのデータが関連する論理データストリームを識別する。
これもまた図3に示すように、論理データストリーム308、310、312は、優先方式320を有する。すなわち、ストリーム308、310、312のそれぞれは、最も高い優先度、次に高い優先度等を有するものとして指定される。アービトレーションメカニズム318は、i)論理データストリーム308、310、312のデータ準備完了インジケータ322、及びii)論理データストリーム308、310、312の優先方式320、を使用して、論理データストリーム308、310、312のうちのアクティブな1つを定期的に指定する。例えば、アービトレーションメカニズム318は、論理データストリーム308、310、312のいずれがデータを送信する準備が完了しているのかを判断し且つ最も高い優先度を有する「準備完了」のストリームを「アクティブ」なストリームとして指定することによって、論理データストリーム308、310、312のいずれがアクティブであるのかを判断することができる。いずれのストリームがアクティブであるのかを定期的な基準で指定することによって、より高い優先度のデータストリームがデータを送信する準備が完了しているとき、より低い優先度のデータストリームは、シリアルデータインターフェース306を独占することができない。このように、より高い優先度のストリームについてより低いレイテンシ(latency:待ち時間)を維持することができる。本明細書で定義する場合、特定の論理データストリームの最大レイテンシは、他の論理データストリームの最大メッセージサイズに等しい。論理データストリームのレイテンシは、従って、論理データストリームの他のものについて生成されたメッセージの長さを制限することによって調整することができる。
いくつかの実施形態では、図3に示す装置300は、シリアルデータ受信機324をさらに備えることができる。このシリアルデータ受信機324は、シリアルデータインターフェース306を介してフロー制御情報326を受信するように構成することができる。このフロー制御情報326は、リモート受信機がデータを受信する準備が完了していることを示す。いくつかの場合には、フロー制御情報326は、リモート受信機が、論理データストリーム308、310、312のそれぞれの1つに対応するデータを受信する準備が完了していることを示すことができる。他の場合には、フロー制御情報326は、リモート受信機が「全体として」データを受信する準備が完了していることを示すことができる。いずれにしても、フロー制御情報326は、アービトレーションメカニズム318によって、論理データストリーム308、310、312のうちのアクティブな1つを指定するための追加の基準として使用することができる。このように、シリアルデータ送信機302又はリモート受信機のいずれも、シリアルデータインターフェース306を介して論理ストリームのデータフローを制御することができる。
いくつかの実施形態では、シリアルデータ受信機324は、メッセージ(例えば、シリアルデータ送信機302によって送信されたメッセージと形態が類似したメッセージ)を受信する。これらの実施形態では、受信されたメッセージのヘッダを処理して、フロー制御情報326を抽出することができる。
図4は、フィールドプログラマブルゲートアレイ(FPGA400)を使用してシリアルデータ送信機302(図3)を実施する一例示の方法を示している。図示するように、シリアルデータ送信機302には、論理データストリーム308、310、312毎に送信(TX)ストリームオブジェクト402、404、406(すなわち、FPGAハードウェアブロック)を設けることができる。次に、TXストリームオブジェクト402、404、406のそれぞれには、ストリームプロデューサ410に対する論理データストリームインターフェース408、ストリームオブジェクトパラメータの構成を可能にする制御インターフェース412、及びストリームオブジェクトとシリアルデータインターフェース306との間のメッセージ/状態インターフェース414が設けられる。
TXストリームオブジェクト402、404、406のそれぞれは、自身の内部ストリームインターフェース408から受信されたデータをバッファリング(又はステージング)するFIFOバッファ416を含む。データのバッファリング又はステージングは、シリアルデータインターフェース306が他のストリームについてのデータを自由に送信することができる状態にしておくのに必要とされる。
各TXストリームオブジェクト402、404、406は、メッセージを組み立てるときに、メッセージデータにメッセージヘッダをプリペンド(prepend:先頭に追加する)する。これは、ヘッダブロック418によって行われる。いくつかの実施形態では、メッセージのデータ部は、可変幅を有することができ、メッセージの終了は、「最大データサイズ」レジスタ420又はEOFインジケータでマーキングされたデータワードによって決定される。この「最大データサイズ」レジスタ420は、FIFOバッファ416のしきい値を設定するのにも使用することができる。すなわち、FIFOバッファ416にステージングされたデータの量が最大データサイズを超えると、FIFOバッファ416にステージングされたデータは、シリアルデータインターフェース306を介した送信のために、メッセージに組み立てることができる。しかしながら、いくつかの場合には、データは、FIFOバッファ416に十分高速に蓄積する場合があるので、FIFOバッファ416にステージングされたデータから複数のメッセージを形成することができることに留意されたい。これは、データフレーミングが行われない場合に、同相/直交(I/Q)サンプルデータ等のデータを一貫してストリーミングするのに特に有用である。
ストリームプロデューサ410は、論理データストリームインターフェース408を介して、特定の1つのデータの終了をマーキングするEOFインジケータをアサートすることができる。いくつかの実施形態では、EOFインジケータは、メッセージが、(通常、最大データサイズに対して早い)EOFインジケータで終了することを示す。
いくつかの場合には、FIFOバッファ416は、複数のEOFインジケータを含むことができ、それらの複数のEOFインジケータのそれぞれは、異なる1つのデータの終了をマーキングする。他の場合には、次のEOFインジケータに達する前に複数のメッセージを組み立てて送信することもできるし、又はEOFインジケータ間に含まれるデータを、単一のメッセージによって搬送することができるものよりも少なくすることもできる。EOFインジケータの使用によって、プロセス間通信(IPC)データ又はコプロセッサデータ等のフレームにされたデータをシリアルデータインターフェース306を介して送信することが可能になる。定期的に挿入されたEOFインジケータは、I/Qサンプルデータ等のストリーミングデータを「バンプ(bump)」(同期)して、シリアルデータ送信機302とリモート受信機との間のアラインメントを確実にするのに使用することもできる。
データ可用性(DAV:Data Available)信号及びデータ準備完了(RFD:Ready for Data)信号は、ストリームプロデューサ410からストリームオブジェクト402へデータをいつ転送するのかを制御する。DAV及びRFDの双方がアサートされた場合、データは、TXストリームオブジェクト402へ転送される。
制御インターフェース412を制御/状態論理422及び最大データサイズレジスタ420と組み合わせることによって、ストリームオブジェクトパラメータの読み出し及び構成(書き込み)が可能になる。読み出し可能且つ構成可能なストリームオブジェクトパラメータには、例えば、最大データサイズ、FIFOエンプティインジケータ、FIFOフルインジケータ、FIFOデータカウント、FIFOバッファ及びメッセージ生成プロセスをフラッシュ/リセットするオプション、TXストリームオブジェクトイネーブル、及びFIFOエンプティインジケータマスクが含まれ得る。FIFOエンプティ状態は、FIFOデータカウントが非ゼロからゼロに遷移した時に発生する。FIFOフルインジケータは、アサートされたとき、ストリームプロデューサ410からストリームオブジェクト402へのデータの転送をストール(stall)する。FIFOデータカウントは、FIFOバッファ416に現在記憶されているデータエントリーのカウントを反映する。FIFOエンプティインジケータマスクは、FIFOエンプティインジケータのアサートを抑制するのに使用され、論理データストリームを使用してIPCデータ又はコプロセッサデータ等のバーストデータを送信する時に重要となる可能性がある。
いくつかの実施形態では、ストリームオブジェクト402、404、406によって供給される論理データストリームの優先方式は、「ハード」優先方式とすることができる。例えば、各ストリームオブジェクト402、404、406は、優先番号(例えば、0、1、2...N)に関連付けることができ、低い番号が付けられたオブジェクトほど、それよりも高い番号が付けられたオブジェクトよりも高い優先度を有する。代替的に、優先度方式は、制御インターフェース412を介して静的又は動的に構成することもできる。
シリアルデータ送信機302(図4)では、データステージングメカニズムが、複数のFIFOバッファ416によって部分的に提供され、メッセージ生成メカニズムが、ヘッダ生成論理418及びシリアルデータインターフェース306によって部分的に提供され、アービトレーションメカニズムが、制御インターフェース412及びシリアルデータインターフェース306によって部分的に提供される。
図5は、デジタル信号プロセッサ(DSP500)を使用してシリアルデータ送信機302(図3)を実施する一例示の方法を示している。シリアルデータ送信機302には、TX DMAコントローラ502、TX DMA割り込みサービスルーチン(ISR)504、及び論理データストリーム毎のダイレクトメモリアクセス(DMA)構造506(又は508又は510)の1つ又は複数のリンクリストが設けられる。DMA構造512のそれぞれには、別個のDMAディスクリプタ、及び論理ストリーミングに必要な他の任意の情報(セマフォを送信するための「sem」フィールド等)を設けることができ、それによって、DMA構造512のそれぞれをリンクリストから別個に読み出すことが可能になる。一般に、DMA構造512が小さいほど、シリアルデータインターフェース306を介してより小さなメッセージの送信が容易になり、これによって、複数の論理データストリームがシリアルデータインターフェース306を介してデータを送信する必要がある時の瞬時レイテンシの削減に役立てることができる。
いくつかの場合には、ピンポンバッファ手法516、518を使用して、データの送信部(source)又は受信部(sink)とすることができる。これらの場合には、バッファ516、518のそれぞれは、DMA構造のリンクリストに関連付けることができる。これによって、中央処理装置(CPU)は、1つのバッファにデータをステージングすることが可能になる一方、他方のバッファにステージングされたデータは、シリアルデータインターフェース306を介して送信される。
図5は、一例示のシリアルデータ受信機702も示している。このシリアルデータ受信機702は、この説明において後により詳細に説明される。しかしながら、シリアルデータ送信機302を十分に説明する目的で、シリアルデータ受信機702は、シリアルデータインターフェース306を介してフロー制御情報を受信することができることに留意されたい。フロー制御情報は、リモート受信機がデータを受信する準備が完了していることを示し、好ましくは、リモート受信機が、複数の論理データストリームのそれぞれに対応するデータを受信する準備が完了していることを示す。いくつかの実施形態では、フロー制御情報は、受信されたメッセージのヘッダから抽出される。
シリアルデータ受信機702によって受信されたフロー制御情報は、受信(RX)インターフェースISR520によって取り込まれ、TXストリーム状態レジスタ522に記憶される。フロー制御情報が更新されると、RXインターフェースISR520は、TX DMA ISR504に通知し、次に、TX DMA ISR504は、TXストリーム状態レジスタ522を読み出す。
TX DMA ISR504は、シリアルデータインターフェース306へのアクセスをアービトレート(arbitrate)する。この点で、TX DMA ISRは、i)送信機302によって供給される論理データストリームのそれぞれについてのデータ準備完了インジケータ、ii)論理データストリームの優先方式、及びiii)リモート受信機から受信されたフロー制御情報、を使用して、論理データストリームのうちの「アクティブ」な1つを定期的に指定する。また、TX DMA ISR504は、メッセージヘッダを組み立て、必要に応じて、DMA構造506、508、510のリンクリストからデータを読み出すようにTX DMAコントローラ502に命令する。
いくつかの実施形態では、TX DMA ISR504は、1)現在のTX DMA転送が完了した時、2)フロー制御情報が受信された時、又は3)論理データストリームの1つについてのデータ準備完了インジケータが更新された時のいずれかで呼び出される。TX DMA ISR504を呼び出すこれらの異なる状況のため、TX DMA ISR504は、TX DMAコントローラ502を自由に使用することができると想定することができない(そして新たな動作を行うようにTX DMAコントローラ502に命令する前にチェックしなければならない)。
TX DMA ISR504は、ストリームセマフォも提供することができる。例えば、TX DMA転送の完了時に、DMAディスクリプタの「sem」フィールドが非ゼロである場合、データが送信されたことをストリームオーナタスクに通知するストリームセマフォを与えることができる。
シリアルデータインターフェース306を介してデータを送信するための一例示の方法200(図2)(及び同内容を行うための一例示の装置300、図3参照)を説明してきたが、次に、シリアルデータインターフェースを介してデータを受信するための一例示の方法600(図6)を説明する。いくつかの実施形態では、データを受信する方法600は、データを送信する方法200と組み合わせることができ、この組み合わせられた方法は、例えば、図1に示すデバイス104、106のうち単一のデバイスによって実行される。
方法600のステップ602において、メッセージを、シリアルデータインターフェースを介して受信する。ステップ604において、複数のデータバッファを使用して、複数の論理データストリームについて受信されたデータをバッファリングする。ステップ606において、受信されたメッセージのヘッダを処理して、i)もしあれば、メッセージが関連する複数の論理データストリームの1つ又は複数が識別され、ii)メッセージに含まれるデータを、複数の論理データストリームの識別された1つ又は複数に対応するデータバッファの1つ又は複数へルーティングする。状況に応じて、ステップ612において、受信されたメッセージのヘッダを処理して、フロー制御情報を抽出することもできる。このフロー制御情報は、対応するデータ送信方法(例えば、図2の方法200)によって使用することができる。
方法600のステップ608において、データバッファのそれぞれを監視し、フロー制御情報を生成する。このフロー制御情報は、データバッファの1つ又は複数が論理データストリームの追加のデータを受信する準備が完了していることを示す。ステップ610において、フロー制御情報を、リモート受信機へ送信する。いくつかの実施形態では、フロー制御情報を、1つ又は複数のメッセージヘッダでリモート受信機へ送信する。それらのヘッダは、方法600のステップ606において処理されたヘッダと類似したもの(又は同じもの)とすることができる。
方法600のステップは、特定のフローを有するように示されているが、このフローは重要ではなく、さまざまなフローが考慮されることに留意されたい。実際には、ほとんどの場合、この方法のステップのすべては、並列に実行される。また、この方法のステップは、図2に示す方法のステップと並列に実行することもできる。
図7は、方法600等の方法を実施するための一例示の装置700を示している。図示するように、装置700は、シリアルデータインターフェース306を介してメッセージ704を受信するように構成されるシリアルデータ受信機702を備える。このシリアルデータ受信機702は、複数のデータバッファ706、メッセージルータ708、及びデータバッファ706のそれぞれを監視するメカニズム710を備える。いくつかの実施形態では、これらの構造は、個別に実装することができる。他の実施形態では、これらの構造の機能は、1つ又は複数の多目的構造によって提供することができる。
複数のデータバッファ706は、複数の論理データストリーム712、714、716について受信されたデータをバッファリングする。メッセージルータ708は、i)シリアルデータインターフェースを介して受信されたメッセージのヘッダを処理して、メッセージが関連する複数の論理データストリーム712、714、716の1つ又は複数を識別し、ii)メッセージに含まれるデータを、論理データストリーム712、714、716の識別された1つ又は複数に対応するデータバッファ706の1つ又は複数へルーティングする。データバッファ706のそれぞれを監視するメカニズム710は、データバッファ706を監視するだけでなく、シリアルデータ受信機702が追加のデータを受信する準備が完了していることを示すフロー制御情報718も生成する。好ましくは、フロー制御情報718は、各論理データストリーム712、714、716の追加のデータを受信する準備が完了していることを示す。
いくつかの実施形態では、図7に示す装置700は、シリアルデータ送信機720をさらに備えることができる。このシリアルデータ送信機は、メカニズム710によって生成されるフロー制御情報718をリモート受信機へ送信するように構成することができる。いくつかの実施形態では、シリアルデータ送信機720は、1つ又は複数のメッセージヘッダで(又はその一部として)フロー制御情報718を送信することができる。シリアルデータ送信機720が、第2の複数の論理データストリーム(図3に示す論理データストリーム308、310、312等)に対応するデータを搬送するメッセージを送信するのに使用されるとき、フロー制御情報718は、これらのメッセージの1つ又は複数のヘッダで送信することができる。代替的に、すなわち、第2の論理データストリーム308、310、312のいずれもが送信用のデータを有しないとき、フロー制御情報718は、1つ又は複数のヘッダのみのメッセージ(すなわち、第2の複数の論理データストリーム308、310、312についてステージングされたデータのいずれも搬送しないメッセージ)を介して送信することができる。
図8は、フィールドプログラマブルゲートアレイ(FPGA800)を使用してシリアルデータ受信機702(図7)を実施する一例示の方法を示している。シリアルデータ受信機702には、論理データストリーム毎に受信(RX)ストリームオブジェクト802、804、806(すなわち、FPGAハードウェアブロック)が設けられる。RXストリームオブジェクト802、804、806のそれぞれには、ストリームコンシューマ810に対する論理データストリームインターフェース808、ストリームオブジェクトパラメータの構成を可能にする制御インターフェース812、及びストリームオブジェクトとシリアルデータインターフェース306との間のメッセージ/状態インターフェース814が設けられる。
メッセージが受信されると、シリアルデータインターフェース306は、各メッセージヘッダを読み出して廃棄してから、メッセージに含まれるデータをメッセージが関連する論理データストリーム(又はRX受信オブジェクト802、804、806)へルーティングする。シリアルデータインターフェース306は、メッセージヘッダのいくつか又はすべてからフロー制御情報を抽出することもできる。このフロー制御情報は、対応するシリアルデータ送信機302のアービトレーションメカニズム318(図3)へ転送することができる。
RXストリームオブジェクト802、804、806のそれぞれは、自身がシリアルデータインターフェース306から受信するデータをバッファリングするFIFOバッファ816を含む。データのバッファリングは、シリアルデータインターフェース306が他のストリームについてのデータを自由に受信することができる状態にしておくのに必要とされる。
データ可用性(DAV)信号及びデータ準備完了(RFD)信号は、ストリームオブジェクト802からストリームコンシューマ810へデータをいつ転送するのかを制御する。DAV及びRFDの双方がアサートされた場合、データは、RXストリームオブジェクト802から転送される。ストリームオブジェクト802は、スタートオブフレーム(SOF)信号及びエンドオブフレーム(EOF)信号をサポートすることもできる。これらの信号は、受信されたメッセージがSOFインジケータ及びEOFインジケータでマーキングされていることに応じて生成することができる。
制御インターフェース812を制御/状態論理818及びFIFOウォーターマークレジスタ820と組み合わせることによって、ストリームオブジェクトパラメータの読み出し及び構成(書き込み)が可能になる。読み出し可能且つ構成可能なストリームオブジェクトパラメータには、例えば、FIFOウォーターマークレベル、FIFOエンプティインジケータ、FIFOオーバーフローインジケータ、FIFOデータカウント、FIFOバッファをフラッシュ/リセットするオプション、RXストリームオブジェクトイネーブル、及びFIFOエンプティインジケータマスクを含めることができる。FIFOエンプティ状態は、FIFOデータカウントが非ゼロからゼロに遷移した時に発生する。FIFOオーバーフロー状態は、FIFOがフルである間にFIFOバッファへの書き込みが試みられた時に発生する。FIFOデータカウントは、FIFOバッファに現在記憶されているデータエントリーのカウントを反映する。FIFOエンプティインジケータマスクは、FIFOエンプティインジケータを抑制するのに使用され、論理データストリームを使用してIPCデータやコプロセッサデータ等の不連続なデータ又はまばらなデータを受信する時に重要となる可能性がある。
ストリームオブジェクト802のフロー制御情報は、ストリームオブジェクトのFIFOデータカウントをストリームオブジェクトのFIFOウォーターマークレベルと比較することによって生成することができる。FIFOデータカウントがFIFOウォーターマークレベルを超えている(すなわち、FIFOバッファ816がそのウォーターマークレベルを超えるデータを保持する)場合、ストリームオブジェクトの準備完了状態を「準備完了」から「準備未完了」へ変更することができる。シリアルデータ受信機702がシリアルデータ送信機に連結されている場合、シリアルデータ送信機は、シリアルデータ受信機のフロー制御情報をリモート受信機へ送信することができ、それによって、1つ又は複数の論理データストリームに対応するデータの送信の停止又は低速化を送信機に行わせることができる。いくつかの実施形態では、シリアルデータ受信機のフロー制御情報は、1)FIFOデータカウントがFIFOウォーターマークレベルの上から下へ遷移した時、2)メッセージの最後の1つのデータがRXストリームオブジェクトに書き込まれ、オブジェクトのFIFOデータカウントがウォーターマークレベル未満のままである時、3)FIFOオーバーフロー状態が発生した時、又は4)FIFOエンプティ状態が発生し、FIFOエンプティインジケータマスクがセットされていない時等、の所定のイベントの発生時にのみリモート受信機へ送信(公開)される。他の実施形態では、フロー制御情報は、他のイベントの発生時又は定期的に送信することができる。好ましくは、フロー制御情報は、送信されるメッセージのヘッダに組み込まれ、可能であれば、フロー制御情報は、論理データストリームのデータを搬送するメッセージのヘッダに組み込まれる。しかしながら、論理データストリームが、送信するデータを有しないときは、前述したように、フロー制御情報は、いくつかの実施形態では、ヘッダのみのメッセージに組み込むことができる。
シリアルデータ受信機702(図7)では、複数のデータバッファが、複数のFIFOバッファ816によって部分的に提供され、メッセージルータが、シリアルデータインターフェース306によって部分的に提供され、データバッファのそれぞれを監視するメカニズムが、制御インターフェース812及びシリアルデータインターフェース306によって部分的に提供される。
図5は、DSP500を使用してシリアルデータ受信機702を実施する一例示の方法を示している。シリアルデータ受信機702には、RX DMAコントローラ524、RXインターフェースISR520、RX DMA ISR526、及び論理データストリーム毎のダイレクトメモリアクセス(DMA)構造528、530、532の1つ又は複数のリンクリストが設けられる。DMA構造534のそれぞれには、別個のDMAディスクリプタ、及び論理ストリーミングに必要な他の任意の情報(セマフォを送信するための「sem」フィールド等)を設けることができ、それによって、DMA構造534のそれぞれを別個に書き込むことが可能になる。
いくつかの場合には、ピンポンバッファ手法538、540を使用して、データの送信部(source)又は受信部(sink)とすることができる。これらの場合には、バッファ538、540のそれぞれは、DMA構造のリンクリストに関連付けることができる。これによって、中央処理装置(CPU)は、一方のバッファからデータを読み出すことが可能になる一方、シリアルデータインターフェースを介して受信されたデータは、他方のバッファに書き込まれる。
RXインターフェースISR520は、各着信メッセージからヘッダを剥ぎ取り、DMA構造528、530、532のリンクリストのRX DMAディスクリプタに基づいて、メッセージのデータコンテンツをどこにDMAするのかを判断する。好ましくは、メッセージヘッダ自体は、DMA構造534に書き込まれず、それによって、連続したデータレコードの記憶が可能になる。メッセージのデータコンテンツの書き込みが完了すると、セマフォをRX DMA ISR526によって提供することができる。例えば、RX DMA転送の完了時に、DMAディスクリプタの「sem」フィールドが非ゼロである場合、データレコードが完全に取り込まれたことをストリームオーナタスクに通知するストリームセマフォを与えることができる。
図5は、先に論述したような一例示のシリアルデータ送信機302も示している。シリアルデータ受信機702が、シリアルデータインターフェース306を介してフロー制御情報を受信した場合、このフロー制御情報を、前述したように処理するために、RXインターフェースISR520が取り込むことができ、TX DMA ISR504へ転送することができる。
前述したように、システム100(図1)を、本明細書で開示したさまざまな送信機及び受信機と組み合わせることによって、単一のシリアルデータリンク上での複数の論理データストリームに対応するデータの送信が可能になる。加えて、システム100によって、各論理データストリームのデータを、(論理データストリームの優先方式を条件として)他の論理データストリームと共に行われているものから大部分独立した方法で送信することが可能になる。さらに、システム100のストリームインターフェース112、114のそれぞれが、フロー制御情報を送信及び受信するように構成されているとき、特定のデータストリームに対応するデータの送信は、システム100の送信端及び受信端の双方によって規制することができる。
図1に示すシリアルデータリンクは、さまざまなシリアルデータリンクプロトコルを使用して実施することができる。このさまざまなシリアルデータリンクプロトコルには、TigerSHARC(登録商標)プロセッサのリンク−ポート(Link-Port)プロトコル、(米国カリフォルニア州サンノゼのXilinx社によって開発された)オーロラシリアル接続プロトコル、及びさまざまな低電圧差動シグナリング(LVDS)プロトコルが含まれる。リンク−ポート環境では、シリアルデータリンクによって送信される各メッセージは、単一のクォドワード(quad word)ヘッダ及びその後に続く生データの[0…n]のクォドワードのブロックを含む一群の連続したクォドワードを含む。一例示のリンク−ポートメッセージ構造については図9を参照されたい(ただし、このメッセージ構造は、他のシリアルデータリンクプロトコルにも使用することができる)。データブロック数がゼロに等しい場合、メッセージは、ヘッダのみを含む(すなわち、メッセージは、ヘッダのみのメッセージである)。
留意すべきは、リンク−ポートプロトコルのメッセージ構造は、128ビットのクォドワードを予想している。しかしながら、本明細書で開示した送信機及び受信機は、異なる幅(例えば、32ビット幅、64ビット幅、又は128ビット幅)のデータを各リンク−ポートクォドワードにパック(pack)するように構成することができる。さらに、生のデータブロックの終了が、クォドワードの境界に位置しない場合、送信される最後のクォドワードには、所定のフィルパターンを詰める(pad)ことができる。
リンク−ポート環境では、図1に示す第1のデバイスは、図5に示すシリアルデータ送信機及びシリアルデータ受信機を実施するように構成されるTigerSHARC(登録商標)プロセッサとすることができる。図1に示す第2のデバイスは、図4及び図8に示すシリアルデータ送信機及びシリアルデータ受信機を実施するように構成されるFPGAとすることができる。
図10は、メッセージヘッダの一例示の構成を示している。このヘッダは、さまざまなシリアルデータリンクプロトコルによって使用することができ、特に、リンク−ポートプロトコルによって使用することができる。ヘッダは、ヘッダ識別子部(HEAD_ID)、現メッセージ識別子部(CURR_MSG)、送信ストリーム状態部(TX_STR_OBJ_STAT)、及び受信ストリーム状態部(RX_STR_OBJ_STAT)を含む。
ヘッダ識別子は、受信機に対するヘッダの開始を識別する一意のビット列である。しかしながら、リンク−ポート環境では、ヘッダのHEAD_ID部は、FPGAが、エラー状態を報告するのに使用することもできるし、又はTigerSHARC(登録商標)がエラー状態をクリアするのに使用することもできる。
現メッセージ識別子は、メッセージが関連する論理データストリームを識別する。一実施形態では、複数の論理データストリームのそれぞれについて1ビットを設けることができ、これらのビットの1つを、1つのメッセージが関連する論理データストリームを識別するようにセットすることができる。代替的に、これらのビットの複数のものを、論理データストリームの複数にメッセージを「マルチキャスト」(multicast:同報送信)するようにセットすることができる。メッセージがヘッダから構成されているにすぎない場合、すべてのビットをクリアすることができる。
リンク−ポート環境では、ヘッダの送信ストリーム状態部は、1)(FPGA→TigerSHARC送信における)論理データストリーム毎のシリアルデータ送信機エラー、又は2)(TigerSHARC→FPGA送信における)論理データストリーム毎にストリームエラーをクリアすべきか否かを示すことができる。
また、リンク−ポート環境では、ヘッダの受信ストリーム状態部は、シリアルデータ受信機が、各論理データストリームに対応するデータを受信する準備が完了していることを示すこともできる。加えて、ヘッダの受信ストリーム状態部は、1)(FPGA→TigerSHARC送信における)論理データストリーム毎のシリアルデータ受信機エラー、又は2)(TigerSHARC→FPGA送信における)論理データストリーム毎にストリームエラーをクリアすべきか否かを示すこともできる。
304 メッセージ
306 シリアルデータインターフェース
308 論理データストリーム
314 データステージングメカニズム
316 メッセージ生成メカニズム
318 アービトレーションメカニズム
320 ストリーム優先方式
322 データ準備完了インジケータ(ストリーム毎)
324 シリアルデータ受信機
326 フロー制御情報
704 メッセージ
706 データバッファ
708 ルーティングメカニズム
710 データバッファを監視するメカニズム
712 論理データストリーム
718 フロー制御情報
720 シリアルデータ送信機

Claims (10)

  1. シリアルデータインターフェースを介して複数の論理データストリームのそれぞれに対応するデータを送信する方法(200)であって、
    前記論理データストリームの少なくともいくつかについてのデータをステージングすること(202)、
    各論理データストリームについてステージングされた前記データのデータ準備完了を判断すること(204)、
    複数のメッセージを生成すること(206)であって、該メッセージのそれぞれはヘッダを有し、該メッセージの少なくともいくつかは、前記データのいくつかを搬送し、データを搬送する前記メッセージの前記ヘッダは、それらのメッセージのデータが関連する前記論理データストリームを識別する、複数のメッセージを生成すること(206)、
    i)各論理データストリームについてステージングされた前記データの前記データ準備完了、及びii)前記論理データストリームの優先方式を使用すること(208)であって、前記論理データストリームのうちのアクティブな1つを定期的に指定する、i)及びii)を使用すること(208)、並びに
    前記シリアルデータインターフェースを介して、前記複数の論理データストリームのうちの前記アクティブな1つに対応するメッセージを送信し、該複数の論理データストリームのうちの他のものに対応するメッセージを送信しないこと(210)、
    を含む、方法。
  2. 方法(200)であって、
    前記シリアルデータインターフェースを介してフロー制御情報を受信することであって、該フロー制御情報は、リモート受信機がデータを受信する準備が完了していることを示す、フロー制御情報を受信すること、及び
    また、前記フロー制御情報を使用することであって、前記論理データストリームのうちの前記アクティブな1つを定期的に指定する、前記フロー制御情報を使用すること、
    をさらに含む、請求項1に記載の方法。
  3. 方法(200)であって、
    前記シリアルデータインターフェースを介してメッセージを受信すること、及び
    前記受信されたメッセージのヘッダを処理することであって、前記フロー制御情報を抽出する、前記受信されたメッセージのヘッダを処理すること、
    をさらに含む、請求項2に記載の方法。
  4. 装置(300)であって、
    シリアルデータインターフェース(306)を介して、複数の論理データストリーム(308、310、312)のうちのアクティブな1つに対応するメッセージ(304)を送信するが、前記複数の論理データストリームのうちの他のものに対応するメッセージを送信しないように構成されるシリアルデータ送信機(302)、
    を備え、該シリアルデータ送信機は、
    前記論理データストリームの少なくともいくつかについてのデータをステージングすると共に、該論理データストリームのそれぞれについてステージングされた前記データのデータ準備完了インジケータ(322)をセットするデータステージングメカニズム(314)と、
    複数のメッセージを生成するメッセージ生成メカニズム(316)であって、該メッセージのそれぞれはヘッダを有し、該メッセージの少なくともいくつかは、前記データのいくつかを搬送し、データを搬送する前記メッセージの前記ヘッダは、それらのメッセージのデータが関連する前記論理データストリームを識別する、メッセージ生成メカニズム(316)と、
    i)前記論理データストリームの前記データ準備完了インジケータ、及びii)該論理データストリームの優先方式(320)を使用して、該論理データストリームのうちの前記アクティブな1つを定期的に指定するアービトレーションメカニズム(318)と、
    を有する、装置。
  5. 装置(300)であって、
    前記シリアルデータインターフェース(306)を介してフロー制御情報(326)を受信するように構成されるシリアルデータ受信機(324)であって、前記フロー制御情報は、リモート受信機がデータを受信する準備が完了していることを示す、シリアルデータ受信機(324)をさらに備え、
    前記アービトレーションメカニズム(318)は、前記フロー制御情報をさらに使用して、前記論理データストリームのうちの前記アクティブな1つを定期的に指定する、請求項4に記載の装置。
  6. 装置(700)であって、
    前記シリアルデータインターフェース(306)を介してメッセージ(704)を受信するように構成されるシリアルデータ受信機(702)をさらに備え、該シリアルデータ受信機(702)は、
    第2の複数の論理データストリーム(712、714、716)について受信されたデータをバッファリングする複数のデータバッファ(706)と、
    i)前記シリアルデータインターフェースを介して受信された前記メッセージのヘッダを処理して、もしあれば、前記メッセージが関連する前記第2の複数の論理データストリームの1つ又は複数を識別し、ii)前記メッセージに含まれるデータを、前記第2の論理データストリームの前記識別された1つ又は複数に対応する前記データバッファの1つ又は複数へルーティングする、メッセージルータ(708)と、
    前記データバッファのそれぞれを監視し、前記シリアルデータ受信機が前記第2の論理データストリームのそれぞれについて追加のデータを受信する準備が完了していることを示すフロー制御情報(718)を生成するメカニズム(710)と、
    を有し、
    前記シリアルデータ送信機(720)は、前記メッセージの前記ヘッダの1つ又は複数で前記フロー制御情報をリモート受信機へ送信するようにさらに構成される、請求項4に記載の装置。
  7. 装置(700)であって、前記シリアルデータ送信機(720)は、前記シリアルデータインターフェース(306)を介して、ヘッダのみを有するメッセージを送信するようにさらに構成され、該ヘッダのみのメッセージは、前記フロー制御情報(718)の少なくともいくつかを搬送するが、前記ステージングされたデータのいずれも搬送しない、請求項6に記載の装置。
  8. 装置(700)であって、
    シリアルデータインターフェース(306)を介してメッセージ(704)を受信するように構成されるシリアルデータ受信機(702)であって、
    複数の論理データストリーム(712、714、716)について受信されたデータをバッファリングする複数のデータバッファ(706)と、
    i)前記シリアルデータインターフェースを介して受信された前記メッセージのヘッダを処理して、もしあれば、前記メッセージが関連する複数の論理データストリームの1つ又は複数を識別し、ii)前記メッセージに含まれるデータを、前記論理データストリームの前記識別された1つ又は複数に対応する前記データバッファの1つ又は複数へルーティングする、メッセージルータ(708)と、
    前記データバッファのそれぞれを監視し、前記シリアルデータ受信機が追加のデータを受信する準備が完了していることを示すフロー制御情報(718)を生成するメカニズム(710)と、
    を有する、シリアルデータ受信機(702)、及び
    前記フロー制御情報をリモート受信機へ送信するように構成されるシリアルデータ送信機(720)、
    を備える、装置。
  9. 装置(700)であって、前記フロー制御情報(718)は、各論理データストリーム(712、714、716)の追加のデータを受信する準備が完了していることを示す、請求項8に記載の装置。
  10. 装置(700)であって、
    前記データバッファ(706)の少なくとも1つは、対応するウォーターマークレベルに関連付けられ、
    前記データバッファのそれぞれを監視する前記メカニズム(710)は、そのウォーターマークレベルを超えるデータを保持する前記データバッファの1つに部分的に基づいて、前記フロー制御情報(718)を生成する、請求項8に記載の装置。
JP2009118360A 2008-06-17 2009-05-15 シリアルデータインターフェースを使用して複数の論理データストリームのそれぞれに対応するデータを送信/受信する方法及び装置 Pending JP2009303208A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/140,941 US20090310489A1 (en) 2008-06-17 2008-06-17 Methods and apparatus using a serial data interface to transmit/receive data corresponding to each of a plurality of logical data streams

Publications (2)

Publication Number Publication Date
JP2009303208A true JP2009303208A (ja) 2009-12-24
JP2009303208A5 JP2009303208A5 (ja) 2012-06-28

Family

ID=40833662

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009118360A Pending JP2009303208A (ja) 2008-06-17 2009-05-15 シリアルデータインターフェースを使用して複数の論理データストリームのそれぞれに対応するデータを送信/受信する方法及び装置

Country Status (3)

Country Link
US (1) US20090310489A1 (ja)
JP (1) JP2009303208A (ja)
GB (1) GB2460920B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019008793A (ja) * 2017-06-20 2019-01-17 インフィネオン テクノロジーズ アクチエンゲゼルシャフトInfineon Technologies AG Dmaセーフリンク付きリストを用いるセーフダブルバッファリング

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009182458A (ja) * 2008-01-29 2009-08-13 Sony Corp 通信装置、通信システム、通信方法及びプログラム
US8723460B2 (en) 2011-02-23 2014-05-13 Deere & Company Method and system for controlling an electric motor with compensation for time delay in position determination
BR112013021502B1 (pt) * 2011-02-23 2020-10-13 Deere & Company método e sistema para controlar um motor
JP5840088B2 (ja) * 2012-07-20 2016-01-06 株式会社日立ハイテクノロジーズ 端末通信装置および分散制御システム
US9575768B1 (en) 2013-01-08 2017-02-21 Marvell International Ltd. Loading boot code from multiple memories
CN105518621B (zh) * 2013-07-31 2019-09-17 马维尔国际贸易有限公司 将引导操作并行化的方法
GB2539445A (en) * 2015-06-16 2016-12-21 Nordic Semiconductor Asa Data processing
US20170017584A1 (en) * 2015-07-15 2017-01-19 Microchip Technology Incorporated SPI Interface With Less-Than-8-Bit Bytes And Variable Packet Size
CN109952764B (zh) * 2016-11-09 2021-11-23 瑞萨电子株式会社 通讯网络控制器模块、存储数据的方法和辅助系统
GB2562259B (en) 2017-05-09 2020-03-04 Advanced Risc Mach Ltd Electronic communications control
CN111475460B (zh) * 2020-04-06 2023-08-29 桂林电子科技大学 基于NoC的高速数据采集系统与上位机通信接口控制器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006099180A (ja) * 2004-09-28 2006-04-13 Ricoh Co Ltd データ転送装置及び画像形成システム
JP2006273261A (ja) * 2005-03-30 2006-10-12 Denso Corp 自動車用制御ユニット
JP2006526369A (ja) * 2003-05-16 2006-11-16 松下電器産業株式会社 電灯線通信システム上でのパケットの分別及び連結
JP2007515113A (ja) * 2003-11-24 2007-06-07 インテロン・コーポレーション 複数の局が共有媒体を介して通信するネットワークにおける動作方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0718773A1 (en) * 1994-12-19 1996-06-26 Advanced Micro Devices, Inc. Bus access arbiter
US6023478A (en) * 1996-03-29 2000-02-08 Hewlett-Packard Method and apparatus for communicating data byte streams
US6098124A (en) * 1998-04-09 2000-08-01 National Instruments Corporation Arbiter for transferring largest accumulated data block output from data buffers over serial bus
US6751228B1 (en) * 1999-03-23 2004-06-15 Yamaha Corporation Packet handler of audio data by isochronous mode
US6684272B1 (en) * 1999-12-23 2004-01-27 Intel Corporation Throughput enhancement for a universal host controller interface in a universal serial bus
US6944617B2 (en) * 2001-12-28 2005-09-13 Intel Corporation Communicating transaction types between agents in a computer system using packet headers including an extended type/extended length field
US20030123393A1 (en) * 2002-01-03 2003-07-03 Feuerstraeter Mark T. Method and apparatus for priority based flow control in an ethernet architecture
US20040249964A1 (en) * 2003-03-06 2004-12-09 Thibault Mougel Method of data transfer and apparatus therefor
US7295519B2 (en) * 2003-06-20 2007-11-13 Motorola, Inc. Method of quality of service based flow control within a distributed switch fabric network
US20060101178A1 (en) * 2004-11-08 2006-05-11 Zhong Tina C Arbitration in a multi-protocol environment
US7986700B2 (en) * 2006-09-25 2011-07-26 Futurewei Technologies, Inc. Multiplexed data stream circuit architecture

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006526369A (ja) * 2003-05-16 2006-11-16 松下電器産業株式会社 電灯線通信システム上でのパケットの分別及び連結
JP2007515113A (ja) * 2003-11-24 2007-06-07 インテロン・コーポレーション 複数の局が共有媒体を介して通信するネットワークにおける動作方法
JP2006099180A (ja) * 2004-09-28 2006-04-13 Ricoh Co Ltd データ転送装置及び画像形成システム
JP2006273261A (ja) * 2005-03-30 2006-10-12 Denso Corp 自動車用制御ユニット

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019008793A (ja) * 2017-06-20 2019-01-17 インフィネオン テクノロジーズ アクチエンゲゼルシャフトInfineon Technologies AG Dmaセーフリンク付きリストを用いるセーフダブルバッファリング

Also Published As

Publication number Publication date
GB2460920B (en) 2012-10-31
GB0907906D0 (en) 2009-06-24
GB2460920A (en) 2009-12-23
US20090310489A1 (en) 2009-12-17

Similar Documents

Publication Publication Date Title
JP2009303208A (ja) シリアルデータインターフェースを使用して複数の論理データストリームのそれぞれに対応するデータを送信/受信する方法及び装置
JP3816530B2 (ja) 低い待ち時間、高いクロック周波数、プレジオ非同期 パケット・ベースクロスバー・スイッチング・チップ・システム及び方法
TW581960B (en) Processor for determining physical lane skew order
US8316171B2 (en) Network on chip (NoC) with QoS features
WO2019033857A1 (zh) 报文控制方法及网络装置
JP3436543B2 (ja) インターフェースシステム
KR101298862B1 (ko) Pci 익스프레스를 통해 ⅰd 기반 스트림을 가능하게 하는 방법 및 장치
TWI379567B (en) Single network interface card (nic) with multiple-ports and method thereof
US20080209089A1 (en) Packet-Based Parallel Interface Protocol For A Serial Buffer Having A Parallel Processor Port
CA2699096A1 (en) High performance network adapter (hpna)
JP2009303208A5 (ja)
GB2411985A (en) Bus arrangement for reducing response time in a System on a Chip
US10419355B2 (en) Flow control of network device
US7779194B2 (en) Data modification module
JP6254331B2 (ja) ネットワークオンチップトポロジー内のトンネリング
TW200814634A (en) Systems and methods for packet forward control
JP6075169B2 (ja) スイッチ装置、パケット制御方法及びデータ通信システム
WO2012149742A1 (zh) 信号保序方法和装置
US8630181B2 (en) Communication system and corresponding integrated circuit and method
JPWO2020129219A1 (ja) ネットワーク装置、ネットワークシステム、ネットワーク方法、およびネットワークプログラム
US7886090B2 (en) Method for managing under-runs and a device having under-run management capabilities
CN112631985B (zh) 一种链路共享的片上网络
JP2018500799A (ja) マルチチャネルオーディオアライメント方式
US20130107711A1 (en) Packet traffic control in a network processor
JP2010258567A (ja) データ伝送システムおよびそのデータ伝送方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120514

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130816

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140131