JP3604727B2 - マルチマスタシリアルバスシステム - Google Patents
マルチマスタシリアルバスシステム Download PDFInfo
- Publication number
- JP3604727B2 JP3604727B2 JP10715994A JP10715994A JP3604727B2 JP 3604727 B2 JP3604727 B2 JP 3604727B2 JP 10715994 A JP10715994 A JP 10715994A JP 10715994 A JP10715994 A JP 10715994A JP 3604727 B2 JP3604727 B2 JP 3604727B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- arbitration
- highway
- data
- serial bus
- 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 - Lifetime
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
- H04L12/40032—Details regarding a bus interface enhancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40143—Bus networks involving priority mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40169—Flexible bus arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Bus Control (AREA)
- Small-Scale Networks (AREA)
Description
【産業上の利用分野】
本発明はシリアルバスシステムに関し、特にシェルフ内での高速通信のためのマルチマスタシリアルバス(MMSB)システムに関する。
【0002】
【従来の技術】
従来のMMSBシステムにおいては、2つのワイヤ、すなわち、クロックとデータが使用され、バスアクセス機構はバックオフ及びリトライ構成からなっていた。カードが交通量が多い状態のバスにアクセスするときは送信時にいったんアクセスをやめ、次にこのバスにアクセスする前に所定の時間待機する。したがって、あるノードは通信を開始するまでに不必要な時間待たされることを余儀なくされる。さらに、通信コントローラは比較的低い転送レートを有するのみである。また、通信コントローラと各カードに基づくマイクロプロセッサとの間には、プロセッサが頻繁にサービスすることを要するFIFO構成によって構成された簡単なインタフェースがあるのみであった。
【0003】
GB−A−2015217に開示され、シリアルに再使用可能な資源にアクセスする多数のステーションは、中央に集められたリゾルーション機構によって起こる時間的遅延を克服するために、分散型優先決定(プライオリティリゾルーション)機能を備えている。このシステムは固定されたサイクルタイムセグメントにおいてデータ転送を行い、このようなセグメントにおけるデータ転送中に次のアクセスを仲裁する。データ転送セグメントと仲裁とを制御すべくクロックが使用される。
【0004】
【発明が解決しようとする課題】
しかしながら、上記したGB−A−2015217は十分なデータ転送機能を備えていなかった。
【0005】
本発明はこのような課題に着目してなされたものであり、その目的とするところは、優れたデータ転送機能を有するマルチマスタシリアルバスシステムを提供することにある。
【0006】
【課題を解決するための手段及び作用】
上記の目的を達成するために、本発明のマルチマスタシリアルバスシステムは、複数のノードと、ノード間でデータが転送される通信ハイウェイと、一度に1つのノードのみがこの通信ハイウェイにアクセスするように制御するアクセス制御手段とを具備するマルチマスタシリアルバスシステムにおいて、1つのノードから他のノードへの転送がアービトレーション区間と転送区間とを具備し、前記ハイウェイが3つのラインを含み、このうち2つが共有されて前記アービトレーション区間と転送区間において個々の機能を実行する。
【0007】
【実施例】
図1は、例えば遠隔通信システムのシェルフ内で、カード間の通信を可能にすべく多数のカードを相互接続するMMSB(通信ハイウェイ)1を含むマルチマスタシリアルバス(MMSB)システムの構成を示す図である。多くの種類のカードがあるが、図では第1レートで動作する4ライン(ポート)カード2と、第2レートで動作するメインラインカード3と、あるレートから他のレートへと切り換えるスイッチカード4と、シェルフコントローラのエンド(EOSC)が使用されている。カードは通常はバス1に沿ってHDLC(ハイレベルデータリンク制御)形のメッセージを送ることによって通信する。本発明のMMSB構成においては、どのカードも他のカードへデータ転送を行なうことができ、放送メーッセージが支持される。このことを可能にするために、各カードは後述する通信コントローラを含む個々のサブセクション6を有している。MMSM1を介して通常送信されるこの種のデータは応用によって異なるものであるが、概してMMSB1がカード構成とEOSCによる制御のために使用される。この制御にはROSC5に送信されるアラームとフォールト、保護スイッチングのためのカード間通信、ポート間ネットワーク管理通信のルーテイングがある。
【0008】
前記したMMSBシステムでは2つのワイヤ、クロック及びデータが使用された。本実施例のプロトコルは良好なパフォーマンスを得るために3ワイヤ(ライン)が使用される。図2は32ノード構成に対するこのような3ワイヤ構成を示しており、ノードは上記したカード及びEOSCに対応している。3つのワイヤは保護のために二重化されている(図2には示さず)。第1のワイヤはアービトレーション(仲裁)クロックを転送するためであり、他の2つは共有されて二重機能(データクロック/アービトレーション及びデータ/スロット)を実行する。好ましくはすべてのバックプレイン信号レベルはIEEE フュ−チャバス+スタンダードに整合している。共有ワイヤは全転送サイクルの第1部で第1の機能を実行し、第2部で第2の機能を実行する。すなわち転送サイクルは連続する2つの異なる区間からなる。転送サイクルの第1部はアービトレーション区間と呼び、第2部は転送区間と呼ぶことにする。共有ワイヤを再使用することによって、効率的な使用がバックプレイン信号から得られる。
【0009】
アービトレーションクロックはシェルフ内の中央(プラグインユニット/カード)で生成されるクロックである。アービトレーションクロックは保護のために二重化されているので、スタンバイクロックはシェルフ内の他のカードで生成される。したがってもし2つのスイッチカードがある場合は、1つはメインクロックを発生し、他のカードはスタンバイクロックを発生する。以下に示すように、アービトレーションクロックは転送を希望するすべてのノードによって使用され、アービトレーション区間においてのみアクティブとなる。概してアービトレーションクロックレートは7MHzである。
【0010】
データクロック/アービトレーションワイヤはアービトレーション区間においてアービトレーション信号を転送し、全転送サイクルのこの部分であることを示すために使用される。いったんアービトレーション区間が完了した後は、その信号はデータを転送するためのデータクロックになる。データクロックの最大周波数は通信コントローラの動作の最大速度によって制限され、概して16MHzである。
【0011】
データ/スロットワイヤはアービトレーション区間内のスロット信号であり、送信を希望するノードの1つがバスの制御権を”勝ちとる”点を識別するために使用される。このことについては後述する。いったんアービトレーション区間が完了するとこの信号は実際に送信されるデータとなる。データクロックレートが16MHzであるときの最大データ転送レートは16Mビット/秒である。
【0012】
アービトレーション区間に使用される3つの信号はアービトレーションクロック、アービトレーション及びスロット信号である。アービトレーション区間は最大64スロット(図3)に分割され、各スロットはアービトレーションクロックの立ち上がりに対応する。このスロットはバス上で最大32のノード(マスタ/カード)を支持するために各群が32スロットからなる2群に分割される。この2群の使用については”公平(fairness)”アクセス方法に関して後述する。
【0013】
各ノードはそのカードに関連した特定のスロット番号を有し、この番号はシェルフ内の物理的位置を示している。概してスロット番号は”ハードワイヤド(hard−wired)”構成である。
【0014】
以下、図4を参照して、全転送サイクルにおけるデータ転送について説明する。ここでバスアイドル状態とは、アービトレーション=スロット=論理1(アービトレーションクロックの2つの立ち上がりに対して)の状態を示す。データを転送することを希望するどのノードも、次のクロックサイクルでアービトレーション信号をローレベルにすることによってアービトレーションサイクルを開始する。ノードが最初にデータを転送するときは、アービトレーションの開始からスロット番号を計数し、3番目のクロックサイクルをスロット0として計数する。計数がノードの物理的バックプレインスロット番号に達したときは、スロットラインはローレベルにされる。そのスロット位置に先立つスロット周期において、もし、1がスロットラインに存在するときはそのノードは仲裁に”勝つ”。一方、そのスロット位置以前のアービトレーション区間のどの時間であってもそのスロットラインに0が存在するときは、そのノードは”負け”となる。この場合、他のノードが勝ったとみなしてアービトレーション区間を終了する。ノードが勝ったという状態は、アービトレーションクロックの立ち上がりで、アービトレーション=スロット=論理0である状態として定義される。この時点で”勝者”を除くすべてのノードはアービトレーションとスロットラインの駆動を停止し、レシーバになる。勝者はアービトレーションクロックを”接地(ground)”し、アービトレーションの機能とスロット信号とを各々データクロックとデータになるように切り換える。この時点で転送サイクルは転送区間に入る。転送区間の終わりで勝者となったノードはアービトレーションクロックを解放して(接地を停止する)、新たなアービトレーション区間を開始できるようにする。これによって図4に示すように、アービトレーションクロックの第1周期は不完全となる。この初期パルスの周期とシェルフ内のノードの相対位置によって、転送を希望するノードはこの遷移を検出する。したがって、アービトレーション区間の開始は、転送を希望するすべてのノードがバスアイドル状態を確実に検出するためにさらにアービトレーションクロックの間遅延される。もし転送を希望するノードが2つあり、上記したノードに従ってノードAがアービトレーションクロックの第1立ち上がりエッジでバスアイドル状態を検出し、ノードBが次の立ち上がりエッジでバスアイドル状態を検出した場合は、ノードAは次の(第3の)クロックサイクルでアービトレーション信号をローレベルにして2クロックサイクル後にスロット番号の計数を開始する。ノードBは第4サイクルでアービトレーション信号をローレベルにするが、ノードAがすでにローレベル、すなわちだれかがアービトレーション区間を開始しているので、ノードBは次の(第5の)アービトレーションクロックからスロット番号の計数を開始する。すなわち、ノードA及びBに対するスロット番号の計数はアービトレーション信号をローレベルにするために第1ノードに同期される。
【0015】
転送区間で使用される信号はデータクロックとデータ信号である。転送はHDLCフレーム規則に従って起こり、転送はフラグシーケンスとともに開始あるいは終了する。概してHDLCフレームは8ビットの一連のフレームフラグを始めに、8/16ビットのアドレス、8/16ビットの制御ワード、転送すべき8×nビットの情報、16/32ビットのフレームチェックシーケンス、8ビットの最終フラグからなる。ノードがいったんシリアルバスの制御を得た後はシーケンスはデータ及びクロックから始まる。したがって、最大長ポイントツーポイントバックプレイン接続のために受信ノードが2つの信号の間に小さなタイミングスキューをもつ限り、転送区間の転送レートは通信コントローラが動作できる
最大レートによってのみ制限される。転送速度はバスの長さとは無関係である。
【0016】
本実施例のMMSBシステムプロトコルにおける2つの信号は二重の機能をもつので、転送区間とアービトレーション区間との間の切り換え期間においてはデータの完全さが維持される。図6の転送シーケンスでは ”きれいな(clean)”遷移が得られる。転送の終わりは通信コントローラから送信要求信号を除去することによって検出される。最終フラグが転送される次の8つのデータクロックサイクルの後に、送信クリア信号は通信コントローラによって非アクティブにされる。最後に次の8つのクロックサイクルの後で、アービトレーションクロックを接地するドライバはオフ状態にされ、(バックプレイン上の)アービトレーションクロックを可能にして新たなアービトレーション区間が始まる。
【0017】
転送を希望するすべてのノードに公平にアクセスできるようにするために、各ノードのスロット位置に基づく”公平”ルールが使用される。あるノードがアービトレーション区間を勝ちとった場合、次のアービトレーション区間でかつ32スロットの第2群(図3を参照)でノードが同じ相対スロット位置をもつように、そのスロット位置に32ビットを付加する。このことは2つの分離部を有するリーグテーブルに類似している。ある分離部ではノードはつねにその相対位置を保持するが、アービトレーション区間を勝ちとったときは第2分離部の同じ位置に移行する。この規則は、もしノードが第2群のスロットから勝ちとった場合、すなわち、ノードが第2分離部のアービトレーション区間を勝ちとった場合は、第2分離部に残る。しかしながら、もし、ノードが第2群のアービトレーション区間を開始し、最初の32スロット周期のアービトレーション区間が勝者なしに通過したときは、ノードは最初の32スロット周期の終わりで、そのスロット位置から32ビットを減算して第1群に戻る。
【0018】
次に、多数のアービトレーション方法を参照して”公平”ルールについて説明する。ここで、ノードAと呼べれる任意のノードが転送を希望しているものとし、バックプレインの物理的スロット位置が28に等しいものとする。
【0019】
図7に示すように、ノードAは最初に第1群のスロット28にあり、この場合、ノードAは第1群のアービトレーション区間を開始する。他のどのノードも転送を希望しておらず、スロット位置に到達したときにノードAがアービトレーションを勝ちとる。したがってノードAはスロット位置に32ビットを付加して次のアービトレーション区間のために第2群に移行する。
【0020】
図8において、次のアービトレーションサイクルでノードAは最初に第2群に配置される。他のノード例えばスロット位置3のノードは転送を希望している。スロット3は第1群において開始されるので、スロット位置に到達したときに勝つ。しかしながら、ノードAは第2群に残る。これは、アービトレーション区間において最初に負けた後、ノードAが第1群にもどることができたとき、第1群で待機しているより優先度の高いノードに対して、”不公平”となるからである。
【0021】
図9に示されるような場合は、ノードAは再び第2群においてアービトレーション区間を開始するが、第1及び第2群の他のノードは転送を希望していない。したがってノードAがアービトレーションに勝って第2群に残る。
【0022】
図10に示されるような場合は、ノードAは第2群においてアービトレーション区間を開始する。また、第1群において他のどのノードも転送を希望していない。しかしながら、スロット位置3のノードはすでに以前のアービトレーションサイクルを勝ちとり、第2群においてこのアービトレーションを開始する。両方のノードが転送を希望し、そのスロット位置に到達したときにスロット3が勝つ。公平ルールによれば、ノードAは第2セットで負けたので、次のアービトレーションサイクルのために第1群に戻る。
【0023】
図11に示すような場合は、ノードAは第1群において開始する。スロット位置3のノードは転送を希望しており、そのスロット位置に到達したときに勝つ。したがって、この”他人が勝つ”場合は、ノードAは次のアービトレーションサイクルのために第1群に残る。
【0024】
図12はバスにアクセスすることを希望するノードが最悪の場合を示している。第2群において開始するスロット位置31におけるノードを除いて、すべてのノードが第1群においてアービトレーションサイクルを開始する場合を考える。スロット31以外のすべてのノードは転送を希望している。スロット位置0のノードが勝って転送し、第2群に移行する。このことが起こっている場合、スロット位置31のノードは転送を希望する。次のアービトレーションサイクル(サイクルn+1からn+30)において、スロット位置1乃至30のノードが連続して第2群に移行する。(現在第2群にある)スロット31は転送を希望する。次のアービトレーションサイクル(n+31)において、スロット位置0乃至30が再び転送を希望し、ノード31からの転送要求があるものとする。この場合はすべてのノードは第2群においてアービトレーションサイクルを開始し、すべてのノードが転送を希望する。スロット位置0のノードが勝って転送し、第2群に残る。(ノード31を含む)すべての残りのノードは第1群へと移行する。したがってスロット位置31のノードはノード1乃至30が次に転送するまで待機する必要があり、スロット31が最後に転送を許可される前に第2群へと移行する。しかしながら、このことが発生する可能性は非常に小さい。
【0025】
本発明にかかるMMSBシステムは容易に入手可能な構成要素を使用して達成されるが、1つ以上のASIC(application specific integrated circuit)を使用することも可能である。MMSBシステムのハイウェイアクセス制御手段のブロック図が図13に示されている。情報転送に係わる例えばシェルフのノード/ラインカードのすべてが反復して構成される。シェルフ上のすべてのカードを使用する必要はなく選択されたサブセットだけでよい。プロセッサ10は単にMMSBシステムの一部ではなく、カード/ノードの処理資源である。また、メインのオンボードプロセッサである必要はなく、例えばコプロセッサでもよい。メモリ11はプロセッサ10と通信コントローラ12との間で共有される。
【0026】
バックプレインに関して送信されるメッセージは共有メモリ11の領域かあるいは、処理資源10によってデュアルポートRAM(DPRAM)に記憶される。共有メモリはSGS−トムソンMK50H21シリアル通信コントローラ等を使用するときに必要になる。この装置はすべての特徴、特に後述する送信要求機能を備えているので本実施例に好適する。通信コントローラはマスタとして動作するので共有メモリが要求され、RAMをプロセッサと共有する必要がある。
【0027】
概して、別個のあるいはチェーン状のバッファデータは共有メモリ11に記憶され、一連のリングによって参照される。単一のプロトコルがデータバッファがプロセッサ10または通信コントローラ12によって制御されているか否かを決定する。もしデータパケットが通信コントローラによって”所有され”転送を必要とするときは、コントローラ12はバスアクセスコントローラFPGA13に送信要求(RTS)を発行する。その後、コントローラ13はMMSBアービトレーションプロトコルに従って送信を希望する他のノードによるバス上のアクセスを決定する。問題のノードがバスの制御を獲得したときは、上記したようにデータを送信する通信コントローラに送信クリア(CTS)信号を送信する。
【0028】
ノードがデータを送信していないとき、またはシリアルバスの制御を獲得しようとしていないとき(転送サイクルでないとき)はノードは自動的に受信モードになる。このモードでは通信コントローラ12は受信したパケットのアドレスをフィルタリングし、パケットデータは共有メモリのあらかじめ割り当てられた(受信)バッファに自動的に配置される。再度単一のプロトコルがバッファの所有権をデータにアクセスして制御するプロセッサに渡すのに使用される。
【0029】
メモリの共有された領域は図13に示すように、デュアルポートメモリか又は、疑似デュアルポートRAM11aとして実現される。後者の場合は標準スタティックRAM装置が、ラッチ、バッファ、制御ロジックの構成で使用され、プロセッサ及び通信コントローラによるアクセスを可能にしている。ここで、プロセッサと通信コントローラのアクセスは同時には起こらない。DPRAMは高価なので、複数の大きなバッファサイズ(及び大きなメモリ装置)が要求される場合は疑似DPRAM構成がコスト上有利である。しかしながら、この場合は複雑になりパフォーマンスが低下する。小さいなバッファサイズと高いデータスループットが要求される場合、すなわち高いシリアルレートが要求される場合はDPRAMを使用することが望ましい。
【0030】
通常の応用においては、プロセッサまたはコプロセッサはデータバッファとDPRAMに記憶された関連するポインタ情報を管理する役目をもつ。例えば、EOSCへの応用において、データはMMSBシリアルインタフェースを介して受信され、メッセージはEOSCで終了するかあるいは再度フォーマティングされて例えばLANコントローラに送られる。制御プロセッサとして特定用途向けのものが選択される。高いスループットと16メガビット/秒のシリアルレートを実現するのに好ましい構成は、非マルチプレックス構成のアドレス/データバスと、16ビットデータ転送と、300nsのオーダの最大DPRAMアクセスサイクル時間(アービトレーションを含む)からなっている。
【0031】
改善されたMMSBシステムの全体的回路が図14に示されている。共有メモリとプロセッサインタフェースは特定用途向けなのでここでは詳細に説明しない。通信コントローラの機能は概してDMA(ダイレクトメモリアクセス)コントローラとシリアルインタフェースとからなる。DMAコントローラは共有メモリに記憶されたデータバッファにアクセスする役目を持つ。コントローラは概して共有メモリを受信方向におけるフリーバッファに対して管理可能にするアルゴリズムと、どちらのバッファが転送方向に送信できるかを決定するルックアヘッド装置とを有する。さらに、メモリへのバースト転送や、異なる種類のプロセッサを仲介する能力等をも有する。シリアルインタフェースは受信及び送信チャネルからなる。いくつかの利用できる装置は二重の送信及び受信チャネルを有する。レシーバはフレームの境界を認識し、入力されるフレームチェックシーケンス(FCS)をチェックする役目をもつ。正しくないFCS値を有するフレームは棄却される。レシーバはシリアルの入力データをパラレルフォーマットに変換し、共有メモリバッファ内の受信フレームを記憶するDMAコントローラに転送する。ある種の利用可能なコントローラはリンクアイドルやフレームアボートシーケンスを検出する進んだ機能を有している。トランスミッタはDMAコントローラによってアクセスされる共有メモリ転送バッファ内のデータをフレーム化したり、シリアルにしたりする役目をもつ。トランスミッタは出力されるデータのFCSを計算し、得られた結果をデータに付加する。フレーム間を埋めるために生成される余分のフラグシーケンスはここでは不要である。トランスミッタはさらに送信要求及び送信クリア信号を制御する役目をもつ。これらの信号は転送サイクルを開始し、バスアクセスコントローラの全体動作を制御するのに使用される。多数の高速通信コントローラが利用可能であるが、ここに記載したバスアクセスコントローラはRTS/CTS構成を有する通信コントローラが必要であり、上記したように、SGS−トムソン MK50H21及びモトローラ MC68360がこれらの特徴を有する。
【0032】
バスアクセスコントローラ13はバックプレインシリアルバス上のアクセスを制御する役目を持つ。また、転送を希望する他のノードとのアクセス優先権を決定する役目ももつ。さらに動作管理機能も備えており、メインバスで転送上の失敗があった場合は他のスレーブバスに切り換える。バスアクセスコントローラは完全な転送サイクルを動作すべく通信コントローラからのRTS/CTS信号を使用する。さらに、バスアクセスコントローラはフューチャバス+スタンダードに対して動作するバックプレインドライバ/レシーバ14に対するインタフェースとなり、プロトコルが動作するのに要するスロット番号を決定するためにバックプレインに対する直接インタフェースを含んでいる。
【0033】
転送方向のフューチャバス+ドライバはバスアクセスコントローラ13からのTTLレベル信号をバックプレイン上のバックプレイントランシーバロジック(BTL)レベルに変換する。同様に受信方向においても、BTLレベル信号はTTLレベル信号に変換される。密集したバックプレイン内で駆動される高速信号が要求される場合は特性上フューチャバス+スタンダードが特に好ましい。さらに、精密に設計されたバックプレインにおいて、BTLレシーバは良好なノイズ除去特性を有し、電圧変動(バス上では1ボルト)が小さいので電力消費が低減される。メイン及びスタンバイバスの保護切り換え方法を実現するためにドライバ/レシーバは2つのセット(3つの信号からなる2群)で配置されている。理想的には、メイン及びスタンバイバスが単一のデバイス内に配置できるように、十分なBTLドライバ/レシーバを一体化するための装置が必要である。適当な装置として、3−3−1構成の7BTLを一体化するフィリップスFB2043がある。
【0034】
改善形MMSBシステムを動作させるために各ノードには特定のスロット値、すなわち0乃至31の範囲の数を割り当てる必要がある。この数はバックプレインのノードの物理的位置によって決定され、5つの信号からなるバスアクセスコントローラFPGA13上にはインタフェースが設けられる。これらはGNDに固定接続されるかあるいはプルアップ抵抗(図17)を介してVCCに接続される。コントローラ13はメインバス上のアービトレーションクロックを管理する。1ms以上の期間、クロック信号に関する非アクティブ状態が検出されたときは、ローカルプロセッサに対してインタラプトが生成される。プロセッサはスタンバイバスへの切り換えを行なうことによって他のノードと通信を確立することを試みる。これはドライバ/レシーバ14上のメイン/スタンバイ選択信号をプロセッサによって制御可能なパラレル出力ポートに接続することによって実現される。
【0035】
MMSBアービトレーションプロトコルはバスアクセスコントローラ13内で実現され、特に、クイックロジックQL8×12FPGA(フィールドプログラマブルゲートアレイ)または、FPGA(グルーロジックと呼ぶ)に外付けされた少数の要素を有するALTERA EPM5064−1 EPLDを使用すれば、プロトコルのタイミングに対するきびしい要求を満たすことができる。すべての要求を単一の要素内で満たすためにASICを使用できることは勿論である。
【0036】
バスアクセスコントローラ13の全体が図15に示されている。3つの主な機能ブロックと、アービトレーションドライブ20と、アービトレーションコントロール21と、フェアネスリゾルーション22とからなる。アービトレーションドライブクロック20はバスアイドル状態を検出して通信コントローラからのデータ送信要求をラッチする役目をもつ。ロジックはアービトレーション区間におけるアービトレーション信号を駆動する。ノードがアービトレーション区間を勝ちとったときは、転送区間の間、転送クロックがアービトレーション/データクロックライン上でアクティブになる。さらに、このブロックは、通信コントローラがデータを送信可能にするためのCTS信号を発生する。アービトレーション制御ブロック21はアービトレーション区間の終わりを表示するスロット信号を発生する役目をもつ。ノードがアービトレーション区間を勝ちとったときは、ロジックは、転送区間が完了するまでアービトレーションクロックを”接地”する。フェアネスリゾルーションブロック22は主に、ノードの物理的バックプレイン位置によって与えられるSLOT ID値からのスロット周期を計数する役目をもつ。さらにロジックはノードを第1群及び第2群の間で切り換える役目をもつ。 バスアクセスコントローラ13全体を実現するために、クイックロジックQL8×12FPGAに加えて、少量のグルーロジックが必要である。図16に示された構成では、グルーロジックはバスアクセスコントローラ13全体を実現するために、TEXAS 74ACT1174等の2つのD形ラッチ23と、2つの東芝製74BCO8あるいは同等のANDゲート24とが、FPGA25とともに具備している。
【0037】
バスアクセスコントローラ13の設計は送信要求信号(RTS)と送信クリア(CTS)信号とを特徴付ける通信コントローラを指示しているのみである。これは通信コントローラがシリアルバスへアクセスする必要があるときに何らかの表示が必要となるからである。現在利用可能な進んだコントローラの多くは送信クリア入力のみを有しており、そのような装置を実現するためにバスアクセスロジックは転送の先端フラグの状態を検出してバスアクセスが決定されるまでデータ転送を一時停止することが必要である。したがって上記したSGSトムソン装置がここでは適している。さらに上記したバスアクセスコントローラ13においては通信コントローラがプログラムされる必要があり、これより連続フレームが最小2フラグすなわち、フレーム間の大きさは最小2フラグによって分離される。これは転送区間の終わりと次のアイドル周期との間の遷移区間のよるものである。 上記した結果を有する特定のMMSB回路は図17と図18に示されている。必要とする共有メモリのタイプや実現されるRAMアービトレーション構成に依存するので、ここではプロセッサまたは共有メモリインタフェースの詳細な構成は示さない。図18は通信コントローラのRXDATA入力に接続された(点線で囲まれた)74BC08 ANDゲート24を付加的に含んでいる。これはMK50H21コントローラによって特定される2nsのデータ保持時間を保証する必要があるためである。
【0038】
以下に図19を参照してMK50H21コントローラのバッファ管理について簡単に説明する。バッファ管理の基本的機構は記述子リングと呼ばれるメモリ内のタスクの円形の待ち行列(queue)である。転送と受信動作を記述するのに個々のリングがあり、128までのバッファが通信コントローラによって実行を待機している記述子リング上に配列される。記述子リングは各バッファに割り当てられた記述子を有する。各記述子はそのバッファの開始アドレスに対するポインタを保持し、バイトで構成されたバッファ長の間、各記述子はプロセッサまたは通信コントローラがバッファを”所有”するかどうかを記述する制御ビットを含んでいる。転送時、通信コントローラがバッファを所有するときにバッファを転送することが許可されてバッファが転送される。また、受信時、通信コントローラがバッファを所有するときは受信データをバッファ内に記憶する。バッファ管理機構は個々のバッファの長さよりも長いフレームを処理する。これは多数のバッファを使用するチェイニング(chaining)方法によって実行される。通信コントローラはルックアヘッドの方法で次の記述子リングをテストする。フレームが1つのバッファに対して長すぎるときは最初のバッファを満たす、すなわち、チェイニングした後で次のバッファが使用される。通信コントローラはその後次のバッファを探索し、必要に応じてそのバッファをチェイニングする。
【0039】
【発明の効果】
本発明によれば、優れたデータ転送機能を有するマルチマスタシリアルバスシステムを提供することができる。
【図面の簡単な説明】
【図1】マルチマスタシリアルバスシステムの構成を示す図である。
【図2】3ワイヤからなるバックプレインシステムの構成を示す図である。
【図3】群及びスロット周期に分割されたアービトレーション区間を示す図である。
【図4】全転送サイクルのタイミング動作を示す図である。
【図5】信号の同期状態を示す図である。
【図6】転送区間とアービトレーション区間の間の切り換えを示す図である。
【図7】以前に勝ちがなかった場合の状態を示す図である。
【図8】最初に負ける場合の状態を示す図である。
【図9】次に勝つ場合の状態を示す図である。
【図10】次に負ける場合の状態を示す図である。
【図11】他人が勝つ場合の状態を示す図である。
【図12】最悪の場合の状態を示す図である。
【図13】MMSBのブロック図である。
【図14】図13のMMSBシステムの一部を詳細に示す図である。
【図15】バスアクセスコントローラのブロック図である。
【図16】バスアクセスコントローラFPGAとこれに関連するグルーロジックを示す図である。
【図17】MMSB(バスアクセスコントローラ及びグルーロジック)の一部を示す図である。
【図18】特定のMMSBシステム回路(通信コントローラ及びフューチャバス+トランシーバ)の他の部分を示す図である。
【図19】通信コントローラバッファ管理機能を示す図である。
【符号の説明】
1…通信ハイウェイ(MMSB)、2…ポートカード、3…メインカード、4…スイッチカード、5…シェルフコントローラのエンド、6…サブセクション。
Claims (9)
- 複数のノードと、前記ノード間のデータ送信が実行される通信ハイウェイと、一度に1つのノードのみが前記ハイウェイにアクセス可能にするアクセス制御手段とを備えたマルチマスタシリアルバスシステムであって、1つのノードから他のノードへの前記データ送信は、アービトレーション区間と転送区間とを備え、前記アービトレーション区間は複数のスロットに分割され、各ノードは関連するスロット番号を有し、前記通信ハイウェイは第1、第2及び第3のラインを備え、前記第1のラインは前記アービトレーション区間においてアービトレーションクロック信号を搬送し、前記第2のラインは前記アービトレーション区間においてアービトレーション信号を搬送するとともに前記転送区間においてデータクロック信号を搬送し、前記第3のラインは前記アービトレーション区間においてスロット信号を搬送するとともに、前記ノードの1つが前記ハイウェイへのアクセスを勝ち取ったときに、前記転送区間において前記ノードから搬送されるべき実際のデータを搬送するマルチマスタシリアルバスシステム。
- 前記3つのラインは保護の目的で二重化されていることを特徴とする請求項1記載のマルチマスタシリアルバスシステム。
- データはHDLC(ハイレベルデータリンク制御)形式で前記ハイウェイを介して転送されることを特徴とする請求項1記載のマルチマスタシリアルバスシステム。
- 前記各ノードのアクセス制御手段は、前記ノードの処理資源と、通信コントローラと、前記処理資源と前記通信コントローラ間で供給されるメモリと、前記ハイウェイへのアクセスを制御するとともにアービトレーション構成において他のノードとのアクセス優先権を決定するバスアクセスコントローラと、前記ハイウェイに直接接続されたハイウェイドライバ/レシーバとを含み、前記ハイウェイを介して転送されるデータは前記処理資源によって前記メモリに記憶されるとともに、前記ハイウェイから受信したデータは前記通信コントローラによって前記メモリに記憶されることを特徴とする請求項3記載のマルチマスタシリアルバスシステム。
- ハイウェイドライバ/レシーバは、保護の目的で二重化され、前記3つのラインに対応するメイン及びスタンバイラインによって前記ハイウェイに接続されていることを特徴とする請求項4記載のマルチマスタシリアルバスシステム。
- 前記アービトレーションクロック信号は1つのノードで生成されるとともに、保護の目的で、他のノードで生成されたスタンバイクロック信号によって二重化されている請求項5記載のマルチマスタシリアルバスシステム。
- nノードを有し、前記アービトレーション区間は、2nスロットに分割され、前記スロットは2つの群のnスロットに分割され、各ノードは前記関連するスロット番号を有し、このスロット番号は前記ノードが前記ハイウェイへアクセスするときの公平さを提供するアービトレーション構成によって決定されることを特徴とする請求項1記載のマルチマスタシリアルバスシステム。
- 前記ノードは最初に前記第1群のnスロットに関連し、前記第1群のスロットに関連する前記ノードが前記アービトレーション区間を勝ち取ったときに、そのスロット位置にnを加算して前記第2群のスロットに関連付けられ、前記第2群のスロットに関連する前記ノードが前記アービトレーション区間を勝ち取ったときに前記第2群のスロットに関連付けられた状態を維持し、前記ノードが前記第2群のスロットに関連付けられるとともに、前記アービトレーション区間の前記第1のnスロット区間が勝者なしに通過したときには、前記ノードは前記位置からnを減算して前記第1群のスロットに再び関連付けられる請求項7記載のマルチマスタシリアルバスシステム。
- 前記1つのノードが前記ハイウェイへのアクセスを勝ち取ったときには、前記1つのノードは前記転送区間に対する前記データクロック信号と、実際に転送するべきデータとを発生し、このときの転送速度は前記ハイウェイの長さと無関係である請求項1記載のマルチマスタシリアルバスシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9310539A GB2278259B (en) | 1993-05-21 | 1993-05-21 | Serial bus system |
GB9310539.3 | 1993-05-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07134690A JPH07134690A (ja) | 1995-05-23 |
JP3604727B2 true JP3604727B2 (ja) | 2004-12-22 |
Family
ID=10735914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10715994A Expired - Lifetime JP3604727B2 (ja) | 1993-05-21 | 1994-05-20 | マルチマスタシリアルバスシステム |
Country Status (5)
Country | Link |
---|---|
US (1) | US5479395A (ja) |
EP (1) | EP0629063B1 (ja) |
JP (1) | JP3604727B2 (ja) |
DE (1) | DE69422750T2 (ja) |
GB (1) | GB2278259B (ja) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5799205A (en) * | 1992-11-13 | 1998-08-25 | Mannesmann Aktiengesellschaft | Transfer system for data exchange using two active central processing units directly connected together parallel to serial system bus directly connecting CPUs to dispersed devices |
WO1995020193A1 (en) * | 1994-01-25 | 1995-07-27 | Apple Computer, Inc. | Improved bus protocol using separate clocks for arbitration and data transfer |
US5781551A (en) * | 1994-09-15 | 1998-07-14 | Texas Instruments Incorporated | Computer communications system with tree architecture and communications method |
US5793993A (en) * | 1995-01-26 | 1998-08-11 | General Magic, Inc. | Method for transmitting bus commands and data over two wires of a serial bus |
WO1996023267A1 (en) * | 1995-01-26 | 1996-08-01 | Hans Verner Thorsen | Method and system for accessing data |
JPH096718A (ja) * | 1995-06-16 | 1997-01-10 | Toshiba Corp | ポータブルコンピュータシステム |
KR0146762B1 (ko) * | 1995-07-24 | 1998-08-17 | 양승택 | 병렬 공통 버스형 고속 패킷 교환 시스템에 중재 교환 장치 및 그 방법 |
JPH1091588A (ja) * | 1996-09-13 | 1998-04-10 | Nec Ic Microcomput Syst Ltd | データ転送装置 |
US6111885A (en) * | 1997-03-07 | 2000-08-29 | Advanced Micro Devices Inc. | Apparatus for and method of communicating data among devices interconnected on a bus |
US6111888A (en) * | 1997-05-27 | 2000-08-29 | Micro Motion, Inc. | Deterministic serial bus communication system |
US6049545A (en) * | 1997-10-03 | 2000-04-11 | Alcatel Usa Sourcing, L.P. | System and method for message communications in a distributed telecommunications switch |
US6411628B1 (en) * | 1998-02-02 | 2002-06-25 | Intel Corporation | Distributed arbitration on a full duplex bus |
US5974051A (en) * | 1998-03-03 | 1999-10-26 | Cisco Technology, Inc. | System interprocessor communication using media independent interface-based channel |
US6219353B1 (en) | 1998-06-17 | 2001-04-17 | Nortel Networks Limited | Message hub |
IL140568A0 (en) * | 1998-07-01 | 2002-02-10 | Qualcomm Inc | Improved inter-device serial bus protocol |
US6501765B1 (en) * | 1998-09-01 | 2002-12-31 | At&T Corp. | Distributed method and apparatus for allocating a communication medium |
DE19941691B4 (de) * | 1999-09-01 | 2004-03-25 | Siemens Ag | Rückwanddatenbus zur Verbindung mehrerer Baugruppen |
DE19947660A1 (de) * | 1999-10-04 | 2001-04-12 | Bayerische Motoren Werke Ag | Betriebsverfahren für zwei Datenbusse |
DE19947662A1 (de) * | 1999-10-04 | 2001-04-12 | Bayerische Motoren Werke Ag | Betriebsverfahren für einen Datenbus |
SE518070C2 (sv) * | 2000-12-20 | 2002-08-20 | Abb Ab | VSC-strömriktare |
EP1223785A1 (en) * | 2001-01-15 | 2002-07-17 | BRITISH TELECOMMUNICATIONS public limited company | Optical switch |
US7574589B1 (en) * | 2005-05-05 | 2009-08-11 | Alcatel-Lucent Usa Inc. | Booting intelligent components from a shared resource |
DE102005054202B3 (de) * | 2005-11-14 | 2007-04-19 | Siemens Ag | Serielles Bussystem, Teilnehmervorrichtung und an die Teilnehmervorrichtung anschließbare Eingabe-/Ausgabekarte |
US20070255990A1 (en) * | 2006-04-12 | 2007-11-01 | Burke Kevin C | Test access port switch |
KR20110072023A (ko) * | 2009-12-22 | 2011-06-29 | 삼성전자주식회사 | 휴대 단말기의 프로세서 간 데이터 통신 방법 및 장치 |
DE102010041368A1 (de) * | 2010-09-24 | 2012-04-19 | Robert Bosch Gmbh | Verfahren und Teilnehmerstation zum optimierten Übertragen von Daten zwischen Teilnehmerstationen eines Bussystems |
DE102018101103A1 (de) * | 2018-01-18 | 2019-07-18 | Volkswagen Aktiengesellschaft | Verfahren und Computerprogramme für eine Überwachungsinstanz und eine Kommunikationskomponente, Überwachungsinstanz, Kommunikationskomponente, System und Fahrzeug |
US20200233829A1 (en) * | 2019-01-22 | 2020-07-23 | Qualcomm Incorporated | Multi-lane system power management interface |
US11513799B2 (en) * | 2019-11-04 | 2022-11-29 | Apple Inc. | Chained buffers in neural network processor |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4320502A (en) * | 1978-02-22 | 1982-03-16 | International Business Machines Corp. | Distributed priority resolution system |
US4560985B1 (en) * | 1982-05-07 | 1994-04-12 | Digital Equipment Corp | Dual-count, round-robin ditributed arbitration technique for serial buses |
US4628311A (en) * | 1983-10-19 | 1986-12-09 | International Business Machines Corporation | Carrier sense multiple access with collision avoidance utilizing rotating time staggered access windows |
US4656627A (en) * | 1984-11-21 | 1987-04-07 | At&T Company | Multiphase packet switching system |
NL8500462A (nl) * | 1985-02-19 | 1986-09-16 | Philips Nv | Inrichting voor het overdragen van digitale data. |
EP0240577A1 (de) * | 1986-03-26 | 1987-10-14 | LITEF Litton Techn. Werke der HELLIGE GmbH | Schnittstelleneinheit zwischen einem redundanten Dualbus und einer Datenverarbeitungseinheit |
US4998244A (en) * | 1989-07-17 | 1991-03-05 | Racal Data Communications Inc. | High speed module interconnection bus |
US5329521A (en) * | 1992-11-12 | 1994-07-12 | Walsh Jeffrey R | Method and apparatus for redundant local area network systems |
-
1993
- 1993-05-21 GB GB9310539A patent/GB2278259B/en not_active Expired - Lifetime
-
1994
- 1994-04-28 EP EP94303113A patent/EP0629063B1/en not_active Expired - Lifetime
- 1994-04-28 DE DE69422750T patent/DE69422750T2/de not_active Expired - Lifetime
- 1994-05-16 US US08/243,501 patent/US5479395A/en not_active Expired - Lifetime
- 1994-05-20 JP JP10715994A patent/JP3604727B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69422750T2 (de) | 2000-06-29 |
GB2278259A (en) | 1994-11-23 |
JPH07134690A (ja) | 1995-05-23 |
DE69422750D1 (de) | 2000-03-02 |
GB9310539D0 (en) | 1993-07-07 |
GB2278259B (en) | 1997-01-15 |
EP0629063A1 (en) | 1994-12-14 |
US5479395A (en) | 1995-12-26 |
EP0629063B1 (en) | 2000-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3604727B2 (ja) | マルチマスタシリアルバスシステム | |
US5802057A (en) | Fly-by serial bus arbitration | |
JP3604398B2 (ja) | 並列パケット化されたモジュール期調停高速制御およびデータバス | |
US6199119B1 (en) | Method and apparatus for the addition and removal of nodes from a common interconnect | |
US5940399A (en) | Methods of collision control in CSMA local area network | |
US4819229A (en) | Local area network priority control system | |
US6122667A (en) | Method and integrated circuit for high-bandwidth network server interfacing to a local area network using CSMA/CD | |
JPH0799513B2 (ja) | デ−タバスにおけるデ−タ調停及び衝突検知方法 | |
JPH0752877B2 (ja) | インタ−モジユ−ルデ−タ通信用シリアルデ−タバス | |
WO1996010791A1 (en) | Method and apparatus for accelerating arbitration in a serial bus by detection of acknowledge packets | |
EP0904645B1 (en) | Rotating priority arrangement in an ethernet network | |
US5422885A (en) | Contention free local area network | |
GB2117939A (en) | Data communication network and method of communication | |
US6298067B1 (en) | Distributed arbitration scheme for network device | |
EP0785650A1 (en) | Two-pin distributed ethernet bus architecture | |
US5467351A (en) | Extendible round robin local area hub network | |
US6219353B1 (en) | Message hub | |
EP0237839A2 (en) | Serial data bus for intermodule data communications and method of data arbitration and collision detection on a data bus | |
US6243411B1 (en) | Infinitely expandable Ethernet network repeater unit | |
US5949818A (en) | Expandable ethernet network repeater unit | |
US6055267A (en) | Expandable ethernet network repeater unit | |
KR950001514B1 (ko) | 공유버스를 이용한 근거리 통신 장치 | |
JP3169720B2 (ja) | 信号衝突防止方式 | |
JPH0457139B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040210 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20040510 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20040527 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040810 |
|
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: 20040831 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040930 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081008 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091008 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091008 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101008 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111008 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121008 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131008 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |