(57)【要約】本発明は、メッセージを伝送するためのバスにより結合された第１局（２０２）と第２局（２０３，２０４）とを有するバスシステムに関するもので、上記バスは第１局（２０２）が第２局（２０３，２０４）に対してメッセージを所定の順序で送信するようなプロトコルに従って動作するように設計され、第１局（２０２）は割り込み可能なプロセッサ（２０６）と、バッファ（５０１，５０２）を有するメモリエレメント（２０８）と、バスインターフェース（２０７）とを有し、上記割り込み可能なプロセッサ（２０６）は複数の系列のメッセージプロパティを発生するように動作させることができ、該プロセッサ（２０６）は更に上記複数の系列のメッセージプロパティのうちから第１系列のメッセージプロパティを上記バッファ（５０１，５０２）へ送出するように動作させることができると共に、上記バスインターフェースから割込信号を受信すると、上記複数の系列のメッセージプロパティのうちから第２系列のメッセージプロパティを送出し、上記バッファ（５０１，５０２）は上記プロセッサ（２０６）により調整可能であると共に上記第１系列のメッセージプロパティ及び第２系列のメッセージプロパティを記憶するように整合されるような記憶容量を有し、上記バスインターフェース（２０７）は、上記バッファから上記第１系列のメッセージプロパティを取り出し、これらプロセッサから前記メッセージの第１系列を発生し、上記メッセージの上記第１系列を第２局（２０３，２０４）に伝送し、上記割込信号を上記プロセッサ（２０６）に伝送する、ように動作させることができる。
2005527877.tif 000002
【特許請求の範囲】
【請求項１】
メッセージを伝送するバスにより結合された第１局及び第２局を有し、前記バスは前記第１局が前記第２局に対してメッセージを所定の順序で周期的に送信するようなプロトコルに従って動作するように設計されているようなバスシステムにおいて、
−  前記第１局は、割り込み可能なプロセッサと、バッファを有するメモリエレメントと、バスインターフェースとを有し、
−  前記割り込み可能なプロセッサは、複数の系列のメモリプロパティを発生するように動作させることができ、
−  前記プロセッサは、更に、前記複数の系列のメッセージプロパティから第１系列のメッセージプロパティを前記バッファに送出すると共に、前記バスインターフェースから割込信号を入力すると、前記複数の系列のメッセージプロパティから第２系列のメッセージプロパティを送出するように動作させることができ、
−  前記バッファは、前記第１系列のメッセージプロパティ及び前記第２系列のメッセージプロパティを記憶するのに適合するように前記プロセッサにより調整することができるような記憶容量を有し、
−  前記バスインターフェースは、前記バッファから前記第１系列のメッセージプロパティを取り出し、前記メッセージプロパティから前記メッセージプロパティの第１系列を発生し、前記メッセージの前記第１系列を前記第２局に送信し、前記割込信号を前記プロセッサに送信するように動作させることができる、
ことを特徴とするバスシステム。
【請求項２】
請求項１に記載のバスシステムにおいて、
−  前記メモリエレメントは、前記第１系列のメッセージプロパティを記憶する第１バッファと、前記第２系列のメッセージプロパティを記憶する第２バッファとを有し、
−  前記バスインターフェースは、前記第１バッファから前記第１系列のメッセージプロパティを取り出すように動作させることができ、その間に前記プロセッサは前記第２系列のメッセージプロパティを前記第２バッファに送出する、
ことを特徴とするバスシステム。
【請求項３】
請求項１に記載のバスシステムにおいて、前記メッセージプロパティはタイミング情報を有していることを特徴とするバスシステム。
【請求項４】
請求項３に記載のバスシステムにおいて、前記タイミング情報はフレーム番号を有することを特徴とするバスシステム。
【請求項５】
請求項３に記載のバスシステムにおいて、前記メッセージプロパティは更にペイロードを有していることを特徴とするバスシステム。
【請求項６】
請求項５に記載のバスシステムにおいて、
−  前記バスインターフェースは、前記第２局からデータ項目を伴うメッセージを周期的に受信するように動作させることができ、
−  前記バスインターフェースは、前記受信されたメッセージから前記データ項目を抽出し、前記受信されたメッセージからタイミング情報を抽出し、該タイミング情報を前記バッファに記憶された前記第１系列のメッセージプロパティからの前記メッセージプロパティの前記タイミング情報と比較し、前記抽出されたタイミング情報が前記バッファに記憶された前記第１系列のメッセージプロパティからの前記メッセージプロパティの前記タイミング情報と合致する場合に前記抽出されたデータ項目を前記ペイロードに追加するように更に動作させることができ、
−  前記プロセッサは、前記バスインターフェースから他の割込信号が受信されると、前記バッファに記憶された前記第１系列のメッセージプロパティからの前記メッセージプロパティから前記ペイロードを取り出すように動作させることができる、
ことを特徴とするバスシステム。
【請求項７】
請求項１に記載のバスシステムにおいて、該バスシステムがＵＳＢシステムであることを特徴とするバスシステム。
【請求項８】
バスに対する接続部と、割り込み可能なプロセッサから複数の系列のメッセージプロパティを入力する入力端と、割込信号を前記プロセッサに送出する割込出力端とを有するバスインターフェースにおいて、
−  前記バスインターフェースは、コントローラと、バッファを有するメモリエレメントとを有し、
−  前記バッファは、前記プロセッサにより調整することが可能であり、且つ、前記プロセッサから入力された前記複数の系列のメッセージプロパティから前記メッセージプロパティの第１系列を記憶すると共に、前記プロセッサが前記割込出力端を介して割込信号を入力した後前記プロセッサから入力された前記複数の系列のメッセージプロパティから前記メッセージプロパティの第２系列を記憶するように整合されるような記憶容量を有し、
−  前記コントローラは、前記バッファから前記第１系列のメッセージプロパティを取り出し、前記メッセージプロパティの前記第１系列から第１系列のメッセージプロパティを発生し、該第１系列のメッセージプロパティを前記バスに対する前記接続部に送出し、前記割込信号を前記プロセッサに送出するように動作させることができる、
ことを特徴とするバスインターフェース。
【請求項９】
請求項８に記載のバスインターフェースにおいて、
−  前記メモリエレメントは、前記第１系列のメッセージプロパティを記憶する第１バッファと、前記第２系列のメッセージプロパティを記憶する第２バッファとを有し、
−  前記コントローラは、前記第１バッファから前記第１系列のメッセージプロパティを取り出すように動作させることができ、その間に前記第２バッファは前記プロセッサから前記第２系列のメッセージプロパティを入力する、
ことを特徴とするバスインターフェース。
【請求項１０】
請求項８に記載のバスインターフェースにおいて、
−  前記バスインターフェースは、他のバッファを有し、
−  前記他のバッファは、前記プロセッサから記憶容量制御項目を入力するように動作させることができ、
−  前記コントローラは、前記記憶容量制御項目を前記他のバッファから取り出すように動作させることができると共に、該記憶容量制御項目内に含まれる情報に基づいて、前記記憶容量を調整するように動作させることができる、
ことを特徴とするバスインターフェース。
【請求項１１】
請求項８に記載のバスインターフェースにおいて、前記メッセージプロパティは前記メッセージに関するタイミング情報を有していることを特徴とするバスインターフェース。
【請求項１２】
請求項１１に記載のバスインターフェースにおいて、前記タイミング情報はフレーム番号を有していることを特徴とするバスインターフェース。
【請求項１３】
請求項１１に記載のバスインターフェースにおいて、前記メッセージプロパティは前記メッセージのペイロードを更に有していることを特徴とするバスインターフェース。
【請求項１４】
請求項１３に記載のバスインターフェースにおいて、
−  前記コントローラは、前記第２局からデータ項目を伴うメッセージを周期的に受信するように動作させることができ、
−  前記コントローラは、前記受信されたメッセージから前記データ項目を抽出し、前記受信されたメッセージからタイミング情報を抽出し、該タイミング情報を前記バッファに記憶された前記第１系列のメッセージプロパティからの前記メッセージプロパティの前記タイミング情報と比較し、前記抽出されたタイミング情報が前記バッファに記憶された前記第１系列のメッセージプロパティからの前記メッセージプロパティの前記タイミング情報と合致する場合に前記抽出されたデータ項目を前記ペイロードに追加するように更に動作させることができ、
−  前記割込出力端を介して前記プロセッサに他の割込信号を送出して、該プロパティに対して前記抽出されたデータ項目の前記ペイロードへの前記追加を通知する、
ことを特徴とするバスインターフェース。
【請求項１５】
請求項８に記載のバスインターフェースにおいて、該バスインターフェースがＵＳＢインターフェースとして動作することができることを特徴とするバスインターフェース。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メッセージを伝送するためのバスにより結合された第１局及び第２局を有し、該バスが、上記第１局が第２局に対してメッセージを所定の順序で周期的に伝送するプロトコルに従って動作するように設計されているようなバスシステムに関する。
【０００２】
また、本発明はバス用の接続部と、割り込み可能なプロセッサから複数の系列のメッセージプロパティを入力するための入力端と、割込信号を上記プロセッサに伝送するための割込出力端とを有するようなバスインターフェースにも関する。
【背景技術】
【０００３】
上記のようなバスシステムはＵＳＢ仕様書に開示されている。ＵＳＢ仕様は、コンパック・コンピュータ・コーポレーション、ヒューレット・パッカード・カンパニ、インテル・コーポレーション、ルーセント・テクノロジ・インク、マイクロソフト・コーポレーション、ＮＥＣコーポレーション及びコーニンクレッカ・フィリップス・エレクトロニクス・エヌ・ヴイを含む会社群により公表された規格である。以下に述べるものは、本発明の完全な理解に関連するＵＳＢの種々の特徴である。ＵＳＢに関する他の背景情報は、ここに参照により組み込まれるＵＳＢ仕様、リビジョン２.０から得ることができる。
【０００４】
ＵＳＢは、パーソナルコンピュータと、例えばウエブカム、プリンタ、スキャナ、マイクロフォン及びキーボード等の多様な周辺機器との間でのデータ交換をサポートするように設計された標準バスである。このように、ＵＳＢは、ＲＳ−２３２Ｃ、シリアルポート、パラレルポート及びＰＳ／２インターフェース等の既存のインターフェースを置換するものである。例えばＵＳＢオンザゴー（USB OTG）におけるような、ＵＳＢの更なる開発は、他の装置がパーソナルコンピュータを置換するようなバスシステムを目標としている。斯様な装置は、例えば、デジタルスチルカメラ、ビデオカメラ、パーソナル・デジタル・アシスト又はセルラ電話（携帯電話）等であり得る。
【０００５】
ＵＳＢシステムのようなバスシステムにおいては、バスを介して電子バス局が相互に接続される。通常、バス局はデータを処理又は発生させると共にデータの流れを制御するためにプロセッサ又は計算システムを有している。ＵＳＢ局は、ホスト（例えば、パーソナルコンピュータ）として、及び装置（周辺機器）として定義される。通常は、如何なるＵＳＢシステムにおいても、１つのみのホストしか存在しない。斯かるホストにおけるＵＳＢインターフェースは、ホストコントローラとも呼ばれる。斯かるホストコントローラはハードウェア、ファームウェア又はソフトウェアの組み合わせで実施化することができる。ＵＳＢ装置は、追加の取付け点（attachment points）又は機能を提供し、かくして当該システムに能力を提供するようなハブと定義される。斯かる装置はホストに対して分岐スター技術（tiered-star technology）を介して接続される。ハブは、ＵＳＢ装置の取り付け又は取り外しを示す。ホストは、新たに取り付けられたＵＳＢ装置がハブであるか又は機能であるかを判断し、該ＵＳＢ装置に固有のＵＳＢアドレスを割り当てる。全てのＵＳＢ装置は固有のＵＳＢアドレスによりアクセスされる。各装置は、更に、当該ホストが通信することができる１以上のエンドポイントをサポートする。残りの説明は、機能として定義されるＵＳＢ装置に限定する。
【０００６】
ＵＳＢはポーリングされるバスである。ホストコントローラは全てのデータ伝送を開始する。殆どのバス取引処理（トランザクション）は３つのパケットまでの伝送を含む。各トランザクションは、ホストコントローラが予定に基づいて、当該トランザクションのタイプ及び方向、ＵＳＢ装置アドレス並びにエンドポイントの番号を記述したＵＳＢパケットを送信した場合に開始する。このパケットは、“トークンパケット”と呼ばれる。アドレス指定されたＵＳＢ装置は適切なアドレスフィールドを復号することにより自身を選択する。所与のトランザクションにおいて、データはホストから装置へ又は装置からホストへの何れかで伝送される。データ伝送の方向は上記トークンパケット内で指定される。この場合、当該トランザクションの発信元は、データパケットを送信するか、又は該送信元が伝送すべきデータを有していないことを示す。宛先は、通常は、当該伝送が成功したかを示すハンドシェークパケットで応答する。
【０００７】
ＵＳＢアーキテクチャは以下の３つの基本的タイプのデータ伝送を含む。（１）等時性伝送：即ち、ホストと装置間の周期的な連続した通信で、典型的には時間関連情報のために使用され、事前交渉された待ち時間（レイテンシ）で事前交渉された量のＵＳＢ帯域幅を占有する；（２）割込伝送：低頻度の待ち時間が制約された通信で、典型的には人の知覚可能なエコー又は帰還応答特性を伴う文字又は座標のような非同期データのために使用される；（３）バルク伝送：非周期的な、大パケットのバースト通信で、典型的には如何なる利用可能な帯域幅も使用することができると共に帯域幅が利用可能になるまで遅延することが可能なデータのために使用される。
【０００８】
通常、両タイプのバス局、即ちホスト及び装置、はデータを処理若しくは発生し、又はデータの流れを制御し、又はこれら両者を行うプロセッサ又は計算システムを有する。上述したＵＳＢシステムの直裁な実施化は、一方においてはプロセッサとホストのバスインターフェースとの間での、他方においてはホストのバスインターフェースと装置との間での通信における重大な通信タイミング問題につながり得る。これは、特に等時性伝送の場合に当てはまる。リアルタイムデータを含むような、これらの伝送においては、ホストがＵＳＢ装置に対してトークンパケットを周期的に送信し、各トークンパケットにはホストからＵＳＢ装置への又はその逆の何れかのデータパケットの伝送が続く。斯かるデータのリアルタイム的性質のために、当該ホストのプロセッサと該ホストのバスインターフェースとの間の通信は、該ホストのバスインターフェースとＵＳＢ装置との間の通信と同調していなければならず、さもなければ、データが失われる。
【０００９】
米国特許第6,145,045号は、この問題に対する部分的解決策を開示している。もっとも、該特許は非等時性伝送の間でのＵＳＢ装置内の通信タイミングの問題に焦点を当てている。該特許は、バスインターフェース、プロセッサ、第１バッファ及び第２バッファを有するようなバス局を開示している。第１（マイクロ）フレームの間において、上記プロセッサは第１バッファと通信し（例えばデータを読み取り又は書き込む）、その間に上記バスは第２バッファ及び第１局と通信して、データを第２バッファから第２局へ送信するか又は第２局から入力されたデータを第２バッファに書き込む。上記第１（マイクロ）フレームに続く第２（マイクロ）フレームの間において、上記プロセッサは第２バッファと通信し（例えば、データを読み取り又は書き込み）、その間に上記バスは第１バッファ及び第１局と通信して、データを第１バッファから第２局へ送信するか又は第２局から入力されたデータを第１バッファに書き込む。通常、上記バスインターフェースは上記プロセッサに割込をかけて、該プロセッサに同プロセッサが新たな情報を上記バッファの一方に書き込む又は上記バッファの一方から情報を読み取るべきことを通知する。
【００１０】
ＵＳＢシステムにとっては一般的に、そして、ＵＳＢ  ＯＴＧシステムにとっては特に、バス局、例えばホスト、におけるバスインターフェースは好ましくは多様なプロセッサ及び計算システムと共動することができなければならない。しかしながら、それ以外では好適な多様なプロセッサは比較的長い割込応答時間を有し、その結果、斯かるプロセッサがバス局、例えばホスト、においてプロセッサとして使用されたとすると、データの喪失又は破壊につながりかねない。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明の目的は、とりわけ、第１局及び第２局を有するバスシステムにおける第１局
内でプロセッサとバスインターフェースとの間の通信タイミングの柔軟性を増加させることにある。
【課題を解決するための手段】
【００１２】
この目的のため、本発明は冒頭の段落に記載したようなバスシステムであって、
−  上記第１局が、割り込み可能なプロセッサと、バッファを備えるメモリエレメントと、バスインターフェースとを有し、
−  上記割り込み可能なプロセッサが複数の系列のメッセージプロパティを発生するように動作させることができ、
−  上記プロセッサが、更に、上記複数の系列のメッセージプロパティのうちから第１系列のメッセージプロパティを上記バッファに対して送出すると共に、上記バスインターフェースから割込信号が入力されると上記複数の系列のメッセージプロパティのうちから第２系列のメッセージプロパティを送出するように動作させることができ、
−  上記バッファが、上記プロセッサにより、記憶容量が前記第１系列のメッセージプロパティ及び前記第２系列のメッセージプロパティを記憶するのに整合されるように調整され得るような記憶容量を有し、
−  上記バッファインターフェースが、上記バッファから前記第１系列のメッセージプロパティを取り出し、該メッセージプロパティから前記メッセージプロパティの第１系列を発生し、前記メッセージプロパティの前記第１系列を前記第２局へ伝送し、前記割込信号を前記プロセッサに伝送するように動作させることができる、
ことを特徴とするバスシステムを提供する。
【００１３】
動作時において、上記第１局内のプロセッサは、情報を第２局に対してリアルタイム的に供給する必要がある。この目的のために、上記プロセッサは前記メッセージプロパティを前記バスインターフェースに供給する必要がある。該バスインターフェースは前記メッセージプロパティからメッセージを発生し、該メッセージを第２局に送信する。
【００１４】
従来のやり方においては、上記バスインターフェースは第１メッセージプロパティを上記バスインターフェースか、又は該バスインターフェースに関連するバッファに伝送するであろう。この場合、上記バスインターフェースは、もし必要なら、上記バッファから上記第１メッセージプロパティを取り出し、該第１メッセージプロパティから第１メッセージを発生し、該第１メッセージを第２局に送信する。上記バスインターフェースが第２メッセージプロパティを必要とするまでに、該バスインターフェースは割込信号を上記プロセッサに送信する。この後、上記プロセッサは上記第２メッセージプロパティを上記バッファ又は上記バスインターフェースに送信することにより応答するであろう。最後に、上記バスインターフェースは、もし必要なら、上記バッファから上記第２メッセージプロパティを取り出し、該第２メッセージプロパティから第２メッセージを発生し、該第２メッセージを上記第２局に送信する。
【００１５】
上記割込信号の上記プロセッサへの上記送信と、上記第２メッセージプロパティの上記送信との間に長い待ち時間（レイテンシ）が存在する場合、言い換えると、上記プロセッサが長い割込応答時間を有するであろう場合、上記待ち時間は、結果として、上記第２メッセージプロパティを上記バスインターフェースに余りにも遅く到達させ、結果としてデータの喪失又は破壊を伴う。斯様なプロセッサは、それ以外では、当該バスシステム内で使用するのに非常に適し得る。このように、従来のやり方は、割込応答時間に対する厳しい要件により、プロセッサの選択を制限してしまう。
【００１６】
上記バスインターフェースから割込信号を受信した際に、上記プロセッサが単一のメッセージに対するメッセージプロパティの代わりに前もって一連のメッセージプロパティを送出するのを可能にすることにより、該プロセッサは応答するための充分な時間を持つことになり、長い割込応答時間の欠点が回避される。該プロセッサに自身の必要性に応じて上記バッファの記憶容量を調節させることにより、上記バスインターフェースは非常に多様なプロセッサと共動することができ、該バッファの記憶容量が不必要に大きく選定されることがないことが保証される。結果として、可能な場合はメッセージプロパティの短い系列、又は前記メッセージの１つに対するメッセージプロパティのみを記憶するための小さな記憶容量のバッファ、そして、必要な場合は長い系列のメッセージプロパティを記憶するための大きな記憶容量を持つバッファとなる。これは、上記バスシステムの第１局内における上記プロセッサとバスインターフェースとの間での通信タイミングの柔軟性を増加させる。
【００１７】
一例として、上記プロセッサは第２局に到達するデータの品質に関して情報、例えば検出されたエラーの数を有する情報を利用可能にすることができる。該品質が或るレベルより低下すると、当該プロセッサは上記バッファの記憶容量を増加するように決定することができる。更に、小さな記憶容量のバッファのみが必要とされる場合は、前記メモリエレメント内で一層多くの空間を他の目的のための他のバッファに割り当てることができる。
【００１８】
本発明によるバスシステムの一実施例は、
−  前記メモリエレメントが、前記第１系列のメッセージプロパティを記憶するための第１バッファと、前記第２系列のメッセージプロパティを記憶するための第２バッファを有し、
−  前記バスインターフェースを、前記第１バッファから前記第１系列のメッセージプロパティを取り出し、その間に前記プロセッサが前記第２バッファに対して前記第２系列のメッセージプロパティを送出するように動作させることができる、
ことを特徴とする。
【００１９】
この実施例の動作においては、上記バスインターフェースを介しての上記第２局と上記プロセッサとの間の通信には直接的な連鎖は存在しない。上記第１系列のメッセージプロパティは、上記第１バッファに対して上記プロセッサと第１バッファとの間のリンクのタイミングに従って送信される。その後、上記第２系列のメッセージプロパティは第２バッファに対して上記プロセッサと第２バッファとの間のリンクのタイミングに従って送信される。同時に、上記バッファは第２局に対してメッセージを周期的に送信するが、これらメッセージは上記第１バッファに記憶された第１系列のメッセージプロパティから発生される。上記プロセッサと上記第２バッファとの間の上記リンクのタイミングに対する唯一の制限は、上記第２系列のメッセージプロパティの伝送が、上記バスインターフェースが第２系列のメッセージプロパティのうちからメッセージプロパティを取り出す必要がある時点までに完了されているべきであるということである。
【００２０】
本発明によるバスシステムの他の実施例は、上記メッセージプロパティがタイミング情報及び、もし当てはまるなら、ペイロードを含むことを特徴とする。このようにして、上記プロセッサの介入無しで上記メッセージの正しいタイミングを決定する該バスインターフェースの能力は向上される。更に、上記メッセージプロパティへ上記ペイロード（リアルタイムデータを有し得る）を含めることは、上記プロセッサと上記バスインターフェースとの間の通信を単純化させる。何故なら、斯かるペイロードを供給するために、これら２つの間の追加の通信リンクは必要とされないからである。更に、正しいリアルタイムデータを正しいメッセージに割り当てるために、当該バスインターフェースによる如何なる追加の処理も必要とされない。
【００２１】
本発明によるバスシステムの他の実施例は、
−  前記バスインターフェースを、第２局からデータ項目を伴うメッセージを周期的に受信するように動作させることができ、
−  更に、上記バスインターフェースを、上記の受信されたメッセージから上記データ項目を抽出し、上記受信されたメッセージからタイミング情報を抽出し、該タイミング情報を前記バッファに記憶された前記第１系列のメッセージプロパティからの前記メッセージプロパティのタイミング情報と比較し、上記の抽出されたタイミング情報が前記バッファに記憶された前記第１系列のメッセージプロパティからの前記メッセージプロパティのタイミング情報と一致する場合に上記の抽出されたデータ項目を上記ペイロードに追加するように動作させることができ、
−  前記プロセッサを、前記バスインターフェースから他の割込信号が受信されると、前記バッファに記憶された前記第１系列のメッセージプロパティからの前記メッセージプロパティから上記ペイロードを取り出すように動作させることができる、
ことを特徴とする。
【００２２】
この実施例は、上記プロセッサが上記第２局からリアルタイムデータを必要とする状況において、上記プロセッサと上記バスインターフェースとの間の通信を単純化する。この状況において、上記プロセッサは好ましくは一連のメッセージプロパティを実際のペイロード無しで送出する。しかしながら、上記バッファ内には上記一連のメッセージプロパティが、上記メッセージプロパティがペイロードを有するかのように記憶される。このようにして、上記メッセージプロパティにペイロードを追加するために空間が確保される。該ペイロードは上記バスインターフェースにより追加される。該バスインターフェースは、上記の受信されたメッセージからタイミング情報を抽出し、該抽出されたタイミング情報を上記メッセージプロパティ内のタイミング情報と比較する。上記バスインターフェースが一致を見付けたら、該バスインターフェースは上記の抽出されたデータ項目をペイロードとして上記メッセージプロパティに追加する。次いで、前記プロセッサは該メッセージプロパティのペイロードを取り出す。該プロセッサは、上記ペイロードを、好ましくは上記バスインターフェースから他の割込信号が受信された後に取り出す。このように、前記第２局から上記プロセッサへのリアルタイムデータの伝送を容易化するために、何の追加の構成も必要とされない。
【００２３】
第２段落に記載したようなバスインターフェースは、本発明によれば、
−  該バスインターフェースが、コントローラと、バッファを備えるメモリエレメントとを有し、
−  該バッファは、前記プロセッサにより調整可能である一方、該プロセッサが前記割込出力端を介して割込信号を受信した後に該プロセッサから受信される前記複数の系列のメッセージプロパティのうちから第１系列のメッセージプロパティを記憶すると共に、上記プロセッサから受信された前記複数の系列のメッセージプロパティのうちから第２系列のメッセージプロパティを記憶するように整合されるような記憶容量を有し、
−  前記コントローラは、上記バッファから上記第１系列のメッセージプロパティを取り出し、上記メッセージの上記第１系列から第１系列のメッセージプロパティを発生し、該第１系列のメッセージプロパティを前記バス用の接続部に送出し、前記割込信号を前記プロセッサに送出する、
ことを特徴とする。
【００２４】
また、本発明によるバスインターフェースの一実施例は、
−  該バスインターフェースが、他のバッファを有し、
−  該他のバッファを、前記プロセッサから記憶容量制御項目を受信するように動作させることができ、
−  前記コントローラを、上記他のバッファから上記記憶容量制御項目を受信するように動作させると共に、該記憶容量制御項目内に含まれる情報に基づいて、該記憶容量を調整するように動作させることができる、
ことを特徴とする。
【００２５】
この実施例は、上記プロセッサと上記バスインターフェースとの間の通信を単純化させる。上記プロセッサは、上記バスインターフェースに該プロセッサが要する記憶容量を通知する。上記バスインターフェースは、該記憶容量の実際の調整を処理する。斯様な調整は、例えば上記プロセッサが上記第２局に到達するリアルタイムデータの品質が或るレベルより低下したことを検出したような場合のように、動作中であっても実行することができる。
【００２６】
本発明の上記及び他の態様は、以下に説明する実施例から明らかとなり、斯かる実施例を参照して解説されるであろう。
【発明を実施するための最良の形態】
【００２７】
図１は、ＵＳＢ仕様、リビジョン２.０で指定された等時性トランザクションフォーマットを示す説明図である。ＵＳＢ内では、全ての通信はホストにより開始される。全てのＵＳＢ装置は、固有のＵＳＢアドレスによりアクセスされる。各装置は、更に、当該ホストが通信することができる１以上のエンドポイントもサポートする。
【００２８】
ＵＳＢは、ＵＳＢホストとＵＳＢ装置との間で機能的データ及び制御の交換をサポートする。ＵＳＢデータの伝送は、ホストのソフトウェアとＵＳＢ装置上の特定のエンドポイントとの間で生じる。ＵＳＢアーキテクチャは、以下の３つの基本タイプの伝送を含む：
−  等時性伝送：予め交渉された待ち時間で予め交渉された量のＵＳＢ帯域幅を占めるような等時性の又はストリーミングのリアルタイムデータ；
−  割込伝送：人が知覚可能なエコー又は帰還応答特性を持つ文字又は座標のような、非同期な対話的データ；及び
−  バルク伝送：比較的大きくバースト的な量で発生又は消費され、広い動的許容範囲及び伝送制約条件を有する非同期ブロック伝送。
【００２９】
進行中のトランザクションがない場合、ＵＳＢシステムはアイドルモード１０１である。データ伝送を含む等時性バストランザクションは、２つの段階、即ち準備（セットアップ）段階１０２及びデータ段階１０３を含む。データ伝送を含む等時性バストランザクションは、２つの異なるパケットの伝送、例えばトークンパケット１０４、１０５及びデータパケット１０６、１０７を含む。等時性トランザクションは、ハンドシェークパケットが伝送されるような状態フェーズ又は再試行能力はサポートしない。
【００３０】
等時性トランザクションは、ＩＮ伝送（入力伝送）又はＯＵＴ伝送（出力伝送）からなることができる。入力伝送の場合、ＵＳＢホストはＩＮトークン１０４を送信することにより当該トランザクションを開始する。ＩＮトークン１０４を受信すると、ＵＳＢ装置はデータパケット１０６内でデータを返送する。例えばバスエラーにより、ＩＮトークン１０４が当該ＵＳＢ装置により受信されない、又は壊れて受信された場合、該ＵＳＢ装置はデータパケット１０６を返送しないであろう。この状況が線１０８により示されている。入力伝送の完了後、当該ＵＳＢシステムはアイドルモード１０１に戻る。
【００３１】
出力伝送の場合、ＵＳＢホストはＯＵＴトークン１０５を送信することによりトランザクションを開始する。該ＵＳＢホストは次いでデータパケット１０７においてデータを送信する。該出力伝送の完了後、当該ＵＳＢシステムはアイドルモード１０１に戻る。
【００３２】
図２は、本発明によるバスシステムを示すブロック図である。該バスシステム２０１は、ＵＳＢホストとして作用する第１局２０２、並びにＵＳＢ装置として作用する第２局２０３及び２０４を有している。局２０２、２０３、２０４はバス接続部２０５により結合される。第１局２０２は更に詳細に示されている。該第１局は割り込み可能なプロセッサ２０６及びバスインターフェース２０７を有している。該バスインターフェースは、第１バッファ及び第２バッファを備えるメモリエレメント２０８と、コントローラ２０９とを有している。メモリエレメント２０８が当該バスインターフェースの一部である必要はない。他の構成においては、メモリエレメント２０８は、第１局２０２内ではあるが、上記バスインターフェースの外部に配置することもできる。プロセッサ２０６及びコントローラ２０９の両者は、メモリエレメント２０８内の第１及び第２バッファにアクセスする。上記コントローラはバス接続部２０５に結合される。更に、コントローラ２０９はプロセッサ２０６に対する割込接続部２１０を有している。
【００３３】
ＵＳＢホスト２０２とＵＳＢ装置２０３及び２０４との間の等時性通信は、上記第１バッファ及び第２バッファにおけるデータの二重バッファ処理によりサポートされる。等時性通信内では、データはＵＳＢホスト２０２からＵＳＢ装置２０３、２０４へ又はその逆へ周期的に（（マイクロ）フレーム毎に）送信される。これが、等時性データがＵＳＢホスト２０２からＵＳＢ装置２０３、２０４へ伝送されるような下記の例により示される。
【００３４】
第１期間のＮ個の（マイクロ）フレームの間において、プロセッサ２０６により第１系列のＮ個のメッセージのメッセージプロパティが第１バッファに書き込まれる。これらのメッセージプロパティは、ＵＳＢフレーム番号及び上記メッセージのペイロードを含む。上記第１期間の直後に続く第２期間のＮ個の（マイクロ）フレームの間において、コントローラ２０９は第１バッファから上記メッセージプロパティを取り出し、第１系列のＮ個の等時性メッセージを送信する。同じ期間の間において、プロセッサ２０６は、コントローラ２０９により割込出力端２１０を介して送出される割込信号により起動されて、第２系列のＮ個のメッセージに関するメッセージプロパティを第２バッファに書き込む。上記第２期間の直後に続く第３期間のＮ個の（マイクロ）フレームの間において、コントローラ２０９は第２バッファから上記メッセージプロパティを取り出し、第２系列のＮ個の等時性メッセージを送信する。同じ期間の間において、プロセッサ２０６は、コントローラ２０９により割込出力端２１０を介して送出される割込信号により起動されて、第３系列のＮ個のメッセージに関するメッセージプロパティを第１バッファに書き込む。更なる期間においては、この様な処理が継続し、その都度、コントローラ２０９は前の期間においてプロセッサ２０６により書き込まれたＮ個のメッセージプロパティの系列を一方のバッファから取り出す一方、プロセッサ２０６は割込出力端２１０を介してコントローラ２０９により送出される割込信号により起動されてＮ個のメッセージプロパティの新たな系列を他方のバッファに書き込む。
【００３５】
各期間の持続時間Ｎはプロセッサ２０６により調整することができる。この目的のため、プロセッサ２０６は持続時間Ｎを含む制御項目を第３データバッファに書き込む。このデータバッファは上記メモリエレメント２０８の一部とするか、又はコントローラ２０９内のレジスタとすることができる。該第３バッファ内に記憶された持続時間Ｎに依存して、コントローラ２０９は第１バッファ及び第２バッファの記憶容量を、各々が正確にＮ個のメッセージプロパティを記憶することができるように調整する。当該メモリエレメントにおける如何なる残りのメモリ空間も、他の目的に使用することができる。
【００３６】
例えば、上記制御項目に書き込まれたＮなる値が４であるとすると、プロセッサ２０６はフレーム番号及びペイロードを含む４つのメッセージプロパティの系列を、第１バッファ又は第２バッファの何れかに書き込まなければならない。プロセッサ２０６は、割込出力端２１０を介してコントローラ２０９により送出される割込信号に応答し、４つのメッセージプロパティの上記系列を書き込むために４ミリ秒を有する。同じ期間内に、上記コントローラは、プロセッサ２０６により他方のバッファに書き込まれたメッセージプロパティの前の系列から４つの等時性メッセージを発生し送信する。
【００３７】
このようにして、コントローラ２０９は多様なプロセッサ２０６と共動することができることが明らかであろう。比較的長い割込応答時間を持つプロセッサにとっては、上記Ｎなる値は比較的大きいであろう。短い割込応答時間のプロセッサにとっては、上記Ｎなる値は比較的小さいであろう。Ｎの最小値は１に等しい。
【００３８】
図３Ａは、データ伝送に関するトランザクションを示すメッセージ図である。該メッセージ図は、図２のシステムの動作を、出力伝送からなる等時性トランザクションに関して示している。上から下に進むにつれて、時間ｔが増加する。プロセッサ２０６とメモリエレメント２０８内の第１バッファとの間での情報交換は、第１ライン３０１と第２ライン３０２との間の矢印により示されている。プロセッサ２０６とメモリエレメント２０８内の第２バッファとの間の情報交換は、第１ライン３０１と第３ライン３０３との間の矢印により示されている。プロセッサ２０６とバスインターフェース２０７との間の情報交換は、第１ライン３０１と第４ライン３０４との間の矢印により示されている。メモリエレメント２０８の第１バッファとバスインターフェース２０７との間の情報交換は、第２ライン３０２と第４ライン３０４との間の矢印により示されている。メモリエレメント２０８の第２バッファとバスインターフェース２０７との間の情報交換は、第３ライン３０３と第４ライン３０４との間の矢印により示されている。バスインターフェース２０７と第２局２０３、２０４との間の情報交換は、第４ライン３０４と第５ライン３０５との間の矢印により示されている。
【００３９】
第１期間３０６において、プロセッサ２０６は第１系列のメッセージプロパティを第１書込動作３０９において第１バッファに書き込む。この第１系列のメッセージプロパティは、２つの等時性ＵＳＢ伝送に関するプロパティを含んでいる。バスインターフェース２０７は、次いで、割込信号３１０をプロセッサ２０６に送信する。
【００４０】
第２期間において、バスインターフェース２０７は、第１バッファに記憶された前記第１系列のメッセージプロパティから第１等時性ＵＳＢ伝送のプロパティ３１１を取り出す。次いで、第１ＵＳＢ（マイクロ）フレームにおいて、バスインターフェース２０７はＯＵＴトークン３１２を第２局２０３、２０４に送信する。該ＯＵＴトークンにはデータパケット３１３が後続する。次いで、バスインターフェース２０７は前記第１バッファに記憶された第１系列のメッセージプロパティから第２等時性ＵＳＢ伝送のプロパティ３１４を取り出す。第２ＵＳＢ（マイクロ）フレームにおいて、バスインターフェース２０７は、今度は、第２ＯＵＴトークン３１５を第２局２０３、２０４に送信する。これには、第２データパケット３１６が後続する。そうしている間に、割込信号３１０に応答して、プロセッサ２０６は第２書込動作３１７において第２系列のメッセージプロパティを第２バッファに書き込む。この第２系列のメッセージプロパティは、２つの等時性ＵＳＢ伝送に関するプロパティを有している。上記第２データパケット３１６を送信した後、バスインターフェース２０７は第２割込信号３１８をプロセッサ２０６に送信する。
【００４１】
第３期間３０８において、バスインターフェース２０７は、第２バッファに記憶された上記第２系列のメッセージプロパティから第３等時性ＵＳＢ伝送のプロパティ３１９を取り出す。次いで、第３ＵＳＢ（マイクロ）フレームにおいて、バスインターフェース２０７は第３ＯＵＴトークン３２０を第２局２０３、２０４に送信する。該ＯＵＴトークンには第３データパケット３２１が後続する。次いで、バスインターフェース２０７は第２バッファに記憶された前記第２系列のメッセージプロパティから第４等時性ＵＳＢ伝送のプロパティ３２２を取り出す。第４ＵＳＢ（マイクロ）フレームにおいて、バスインターフェース２０７は、今度は、第４ＯＵＴトークン３２３を第２局２０３、２０４へ送信する。これには、第４データパケット３２４が後続する。そうしている間に、上記第２割込信号３１８に応答して、プロセッサ２０６は第３書込動作３２６において第１バッファに第３系列のメッセージプロパティを書き込む。この第３系列のメッセージプロパティは、２つの等時性ＵＳＢ伝送に関するプロパティを有している。上記第４データパケット３２４を送信した後、バスインターフェース２０７は第３割込信号３２８をプロセッサ２０６に送信する。
【００４２】
第１バッファ及び第２バッファに書き込まれる上記メッセージプロパティは、ＵＳＢ（マイクロ）フレーム番号の形のタイミング情報及びペイロードを含み、当該フレームにあるべきリアルタイムデータの部分は斯かる（マイクロ）フレーム番号により示される。このように、バスインターフェース２０７は、リアルタイムデータを供給するために、当該伝送をプロセッサ２０６側での更なる動作を要すること無しに処理することができる。このようにして、プロセッサ２０６とバスインターフェース２０７との間の通信は単純化される。何故なら、リアルタイムデータを供給するために、上記２つの間には何の追加通信リンクも必要とされないからである。更に、正しいリアルタイムデータを正しい等時性ＵＳＢ伝送に割り当てるために、上記バスインターフェースによる追加の処理も必要とされない。
【００４３】
図３Ａに示され且つ上述された通信は当該バスシステムの機能を明瞭化するために設計された解説例に過ぎず、当該バスシステムの機能は図示の通信にも又はこれらが示された順序にも限定されるものではないことは明らかであろう。
【００４４】
図３Ｂは、データ伝送に関するトランザクションを示すメッセージ図である。該メッセージ図は、図２のシステムの動作を、入力伝送からなる等時性トランザクションに関して示している。上から下へと時間ｔは増加する。プロセッサ２０６とメモリエレメント２０８内の第１バッファとの間の情報交換が、第１ライン３０１と第２ライン３０２との間の矢印により示されている。プロセッサ２０６とメモリエレメント２０８内の第２バッファとの間の情報交換が、第１ライン３０１と第３ライン３０３との間の矢印により示されている。プロセッサ２０６とバスインターフェース２０７との間の情報交換が、第１ライン３０１と第４ライン３０４との間の矢印により示されている。メモリエレメント２０８の第１バッファとバスインターフェース２０７との間の情報交換が、第２ライン３０２と第４ライン３０４との間の矢印により示されている。メモリエレメント２０８の第２バッファとバスインターフェース２０７との間の情報交換が、第３ライン３０３と第４ライン３０４との間の矢印により示されている。バスインターフェース２０７と第２局２０３、２０４との間の情報交換が、第４ライン３０４と第５ライン３０５との間の矢印により示されている。
【００４５】
第１期間３２９において、プロセッサ２０６は第１書込動作３３２において第１系列のメッセージプロパティを上記第１バッファに書き込む。この第１系列のメッセージプロパティは、２つの等時性ＵＳＢ伝送に関するプロパティを有している。次いで、バスインターフェース２０７は割込信号３３３をプロセッサ２０６に送信する。
【００４６】
第２期間において、バスインターフェース２０７は上記第１バッファに記憶された第１系列のメッセージプロパティから第１等時性ＵＳＢ伝送のプロパティ３３４を取り出す。次いで、第１ＵＳＢ（マイクロ）フレームにおいて、バスインターフェース２０７はＩＮトークン３３５を第２局２０３、２０４に送信する。アドレス指定されたＵＳＢ装置は、上記ＩＮトークン３３５に対してデータパケット３３６を送信することにより応答する。バスインターフェース２０７の第１書込動作３３７において、上記データパケット３３６内のデータは、第１バッファに記憶された前記第１系列のメッセージプロパティからの第１メッセージプロパティにペイロードとして追加される。次いで、バスインターフェース２０７は第１バッファに記憶された前記第１系列のメッセージプロパティからの第２等時性ＵＳＢ伝送のプロパティ３３８を取り出す。次いで、第２ＵＳＢ（マイクロ）フレームにおいて、バスインターフェース２０７はＩＮトークン３３９を第２局２０３、２０４に送信する。アドレス指定されたＵＳＢ装置は、上記ＩＮトークン３３９に対してデータパケット３４０を送信することにより応答する。バスインターフェース２０７の第２書込動作３４１において、上記データパケット３４０内のデータは、第１バッファに記憶された前記第１系列のメッセージプロパティからの第２メッセージプロパティにペイロードとして追加される。ここで、バスインターフェース２０７は第２割込信号３４３をプロセッサ２０６に対して送信する。そうこうする間に、前記割込信号３３３に応答して、プロセッサ２０６は第２書込動作３４２において第２系列のメッセージプロパティを第２バッファに書き込む。この第２系列のメッセージプロパティは、２つの等時性ＵＳＢ伝送に関するプロパティを有している。
【００４７】
第３期間において、バスインターフェース２０７は第２バッファに記憶された前記第２系列のメッセージプロパティから第３等時性ＵＳＢ伝送のプロパティ３４４を取り出す。次いで、第３ＵＳＢ（マイクロ）フレームにおいて、バスインターフェース２０７はＩＮトークン３４５を第２局２０３、２０４に送信する。アドレス指定されたＵＳＢ装置は、上記ＩＮトークン３４５に対してデータパケット３４６を送信することにより応答する。バスインターフェース２０７の第３書込動作３４７において、上記データパケット３４６内のデータは、第２バッファに記憶された前記第２系列のメッセージプロパティからの第１メッセージプロパティにペイロードとして追加される。次いで、バスインターフェース２０７は第２バッファに記憶された前記第２系列のメッセージプロパティからの第４等時性ＵＳＢ伝送のプロパティ３４８を取り出す。次いで、第２ＵＳＢ（マイクロ）フレームにおいて、バスインターフェース２０７はＩＮトークン３４９を第２局２０３、２０４に送信する。アドレス指定されたＵＳＢ装置は、上記ＩＮトークン３４９に対してデータパケット３５０を送信することにより応答する。バスインターフェース２０７の第４書込動作３５１において、上記データパケット３５０内のデータは、第２バッファに記憶された前記第２系列のメッセージプロパティからの第２メッセージプロパティにペイロードとして追加される。この際、バスインターフェース２０７は第３割込信号３５４をプロセッサ２０６に対して送信する。そうこうする間に、前記割込信号３４３に応答して、プロセッサ２０６は第１バッファに記憶された第１系列のメッセージプロパティを第１読取動作３５２において読み取る。これらのメッセージプロパティは、ここでは、上記のアドレス指定されたＵＳＢ装置によりデータパケット３３６及び３４０で送信されたデータをペイロードとして含んでいる。次いで、プロセッサ２０６は第３書込動作３５３において第３系列のメッセージプロパティを第１バッファに書き込む。この第３系列のメッセージプロパティは２つの等時性ＵＳＢ伝送に関するプロパティを有している。
【００４８】
図３Ｂに示され且つ上述された通信は当該バスシステムの機能を明瞭化するために設計された解説例に過ぎず、当該バスシステムの機能は図示の通信にも又はこれらが示された順序にも限定されるものではないことは明らかであろう。
【００４９】
図４は、本発明によるバスインターフェースを示すブロック図である。該図に示されるブロック図は、バスインターフェース集積回路のブロック図である。該バスインターフェース集積回路４０１は二重の役割を有している。該集積回路は、ＵＳＢ装置として動作するバス局及びＵＳＢホストとして動作するバス局の両者の一部であり得る。これは、ＵＳＢオンザゴー（ＯＴＧ）装置において特に有効である。斯様なＵＳＢ ＯＴＧ装置は例えばデジタルスチルカメラ、デジタルビデオカメラ、パーソナルデジタルアシスト又はオシロスコープであり得、斯かる装置は特定のモードではＵＳＢを介して例えば大容量記憶装置（例えば、ハードディスクドライブ、光学レコーダ若しくは固体レコーダ）、プリンタ又は携帯電話（セルラフォン）に接続される。この動作モードにおいて、上記ＵＳＢ ＯＴＧ装置はＵＳＢホストとして動作しなければならない。他の動作モードにおいては、該ＵＳＢ ＯＴＧ装置はＵＳＢを介して例えばパーソナルコンピュータに接続される。この動作モードにおいては、該ＵＳＢ ＯＴＧ装置はＵＳＢ装置として動作しなければならない。該ＵＳＢ ＯＴＧ装置のバスインターフェース集積回路が動作するモードは、当該ＵＳＢ ＯＴＧ装置内のプロセッサによりソフトウェア的に決定され、且つ、制御することができる。
【００５０】
当該ＵＳＢ ＯＴＧ装置が携帯型である場合、上記バスインターフェース集積回路が例えば低バストラフィック又は全くバストラフィックが無い期間において特定の機能ブロックを停止するか又は低クロック速度で動作するような低電力消費モードを含むことが有利である。斯様な低電力消費モードは、当該ＵＳＢ ＯＴＧ装置のプロセッサにより制御されて、バスインターフェース集積回路の特定の若しくは全ての機能ブロックを動作状態戻すか又はクロック速度を増加させるような、所謂、遠隔ウェークアップフィーチャを含めることにより向上させることができる。斯かる遠隔ウェークアップフィーチャは、例えば、当該プロセッサがバストラフィックの増加を予測した場合に起動することができる。
【００５１】
バスインターフェース集積回路４０１は、プロセッサへの接続部４０２と、該バスインターフェース集積回路４０１がＵＳＢホストとして動作する場合にＵＳＢに接続するための接続部４０３と、該バスインターフェース集積回路４０１がＵＳＢ装置として動作する場合にＵＳＢに接続するための接続部４０４とを有している。実際の構成においては、接続部４０３及び４０４は同一のＩ／Ｏ端子を共用することができる一方、内部マルチプレクサが当該バス信号の内部経路を処理することができることに注意されたい。斯様な構成は、接続部４０３が同時に使用されることがないことが保証される場合に有利である。
【００５２】
バスインターフェース集積回路４０１は、更に、ホスト／装置マルチプレクサ４０５、タイミングブロック４０６、ホストインターフェース４０７、装置インターフェース４０８、ホストコントローラ４０９、装置コントローラ４１０、ホストメモリエレメント４１１、装置メモリエレメント４１２、ホスト送受信器４１３及び装置送受信器４１４を有している。
【００５３】
ホスト／装置マルチプレクサ４０５は接続部４０２を介して当該プロセッサと接続される。該マルチプレクサは、好ましくは上記プロセッサの制御の下で、当該バスインターフェース集積回路４０１の上記プロセッサとの通信の内部経路を決定する。バスインターフェース集積回路４０１がＵＳＢホストとして動作する場合、該ホスト／装置マルチプレクサ４０５はホストコントローラ４０９を、ホストインターフェース４０７を介して上記プロセッサにリンクする。当該バスインターフェース集積回路４０１がＵＳＢ装置として動作する場合は、該ホスト／装置マルチプレクサ４０５は装置コントローラ４１０を装置インターフェース４０８経由で上記プロセッサにリンクする。ホストコントローラ４０９はホスト送受信器４１３を介してバス接続部４０３にアクセスする。装置コントローラ４１０は、装置送受信器４１４を介してバス接続部４０４にアクセスする。
【００５４】
ホストメモリエレメント４１１は、ホストコントローラ４０９により、及びホスト／装置マルチプレクサ４０５を介して上記プロセッサによりアクセスすることができる。該メモリエレメントは、例えば、上記プロセッサにより送出されるリクエストプロパティを記憶するため、及びホストコントローラ４０９とＵＳＢホストとの間の通信の結果を記憶するために使用することができる。
【００５５】
装置メモリエレメント４１２は、装置コントローラ４１０により、及びホスト／装置マルチプレクサ４０５を介して上記プロセッサによりアクセスすることができる。該メモリエレメントは、例えば上記プロセッサにより発生され、ＵＳＢ装置に送信されるべきデータをバッファするために使用することができる。
【００５６】
当該バスインターフェース集積回路と多様なプロセッサとの間の共動をサポートするために、ホストメモリエレメント４１１及び装置メモリエレメント４１２は、好ましくは、当該プロセッサにダイレクトメモリアクセス（ＤＭＡ）モード及び並列入出力モードの両方でアクセスすることができるものとする。
【００５７】
上記プロセッサとバスインターフェース集積回路４０１内の上記メモリエレメントとの間での幾つかの方法の通信をサポートすることが有利である。この結果、プロセッサの広い選択が可能となる。例えば、一層複雑な計算システムはＤＭＡ動作をサポートするものであろう。当該バスインターフェースがＤＭＡもサポートすれば、当該プロセッサの通信オーバーヘッドは更に低減される。一方、余り複雑でないバス局では、当該プロセッサはＤＭＡコントローラのサポート無しで全ての通信を処理する。このような状況では、当該バスインターフェースは該バスインターフェースと上記プロセッサとの間のデータ交換を並列入出力モードでサポートする必要がある。
【００５８】
上述した実施例はバスインターフェース集積回路に関するものであるが、当業者にとっては、当該説明図内の別個のブロック又はブロック群を別の集積回路及び個別部品内で実施化することができることは自明であろう。このように、当該ブロック図により説明したバスインターフェースに関する代替実施例は、上記種々のブロックの機能を果たす複数の集積回路及び個別部品を有することができる。
【００５９】
当該バスシステムの要件に応じて、上記バスインターフェースを集積回路として実現することが有利である。集積回路への機能の集積は、部品点数の低減及び面積の最小化を可能にし、かくして、当該バスインターフェースを有するバス局の物理的寸法を減少させる結果となる。更に、当該バスインターフェースを集積回路として実現することは、電力消費の低減にも繋がるであろう。
【００６０】
当該バスシステムの要件に応じて、上記バスインターフェースを複数の集積回路及び個別電子部品により可能な限り標準の構築ブロックを使用して実現することが有利である。このことは、当該バスインターフェースの価格を低下させる。
【００６１】
図５は、バスシステムの第１局内のコントローラとプロセッサとの間の通信を示すブロック図である。該ブロック図は、コントローラ２０９と、プロセッサ２０６と、第１バッファ５０１及び第２バッファ５０２と、これら第１バッファ５０１及び第２バッファ５０２の記憶容量を決定する制御項目を記録する第３バッファ５０３とを示している。プロセッサ２０６がメッセージプロパティの系列の第１バッファ５０１及び第２バッファ５０２への書込を開始する前に、該プロセッサは値Ｎ、即ち各系列が含むであろうメッセージプロパティの数、を第３バッファ５０３に書き込む。コントローラ２０９は、この値Ｎを上記第３バッファから取り出し、第１バッファ５０１及び第２バッファ５０２の記憶容量をそれに従って調整する。
【００６２】
第１バッファ５０１において、５０４は或る系列の最初のメッセージプロパティの位置を符号的に示し、５０５は同じ系列の２番目のメッセージプロパティの位置を示し、５０６は同じ系列の最後のＮ番目のメッセージプロパティの位置を示している。５０７は、同じ系列の残りのメッセージプロパティの位置を符号的に示している。
【００６３】
第２バッファ５０２において、５０８は第２系列の最初のメッセージプロパティの位置を符号的に示し、５０９は同じ系列の２番目のメッセージプロパティの位置を示し、５１０は同じ系列の最後のＮ番目のメッセージプロパティの位置を示している。５１１は、同じ系列の残りのメッセージプロパティの位置を符号的に示している。
【００６４】
上記メッセージプロパティは２つの部分、即ち伝送記述子又はヘッダ５１２及びペイロード又はデータ５１３、に分割されている。出力伝送の場合、ペイロード５１３は、ＵＳＢホストからアドレス指定されたＵＳＢ装置へ送信されるべきデータパケットに含まれるべきデータである。入力伝送においては、ペイロード５１３は初期には空の空間であって、後にアドレス指定されたＵＳＢ装置により送信されるデータパケットに含まれるデータにより満たされる。上記伝送記述子もコントローラ２０９によりトランザクションの結果を記憶するために使用される。これらの理由により、プロセッサ２０６及びコントローラ２０９の両者は、第１バッファ５０１及び第２バッファ５０２に対して読取アクセス及び書込アクセスを有する必要がある。
【００６５】
次の表は、上記伝送記述子のフォーマットを示している。示されたフォーマットは、バイト０、バイト１、…、バイト７として示す８バイトからなっている。各バイトは、０、１、…、７と番号が振られた８ビットからなっている。
【００６６】
【表１】
2005527877.tif 000003
【００６７】
次の表は、上記表におけるパラメータの意味を明瞭にする。
【００６８】
【表２】
2005527877.tif 000004
【図面の簡単な説明】
【００６９】
【図１】図１は、ＵＳＢ仕様、リビジョン２.０で指定される等時性トランザクションフォーマットを示す説明図である。
【図２】図２は、本発明によるバスシステムを示すブロック図である。
【図３Ａ】図３Ａは、データ伝送に関するトランザクションを示すメッセージ図である。
【図３Ｂ】図３Ｂは、データ伝送に関するトランザクションを示すメッセージ図である。
【図４】図４は、本発明によるバスインターフェースを示すブロック図である。
【図５】図５は、当該バスシステムの第１局内でのコントローラとプロセッサとの間の通信を示すブロック図である。
【図１】
2005527877.tif 000005
【図２】
2005527877.tif 000006
【図３Ａ】
2005527877.tif 000007
【図３Ｂ】
2005527877.tif 000008
【図４】
2005527877.tif 000009
【図５】
2005527877.tif 000010
【国際調査報告】
2005527877.tif 000011
2005527877.tif 000012