(57)【特許請求の範囲】
【請求項１】
シリアルインタフェースバスを転送されたパケットを受信し、受信パケットに対する応答パケットを当該シリアルインタフェースバスに送信するシリアルインタフェース回路であって、
制御およびステータス用レジスタと、
受信パケットの内容に応じた応答パケットを生成して上記シリアルインタフェースバスに送信する制御系回路と、
受信パケットが上記レジスタへの要求パケットの場合に、当該要求パケットの内容および処理に応じた応答パケットを生成する自動応答回路と、
受信パケットが上記レジスタへのアクセスを要求する要求パケットであるか否かを判別し、要求パケットの場合には受信パケットを上記自動応答回路に供給し、要求パケット以外の場合には受信パケットを上記制御系回路に供給する判別回路と
を有するシリアルインタフェース回路。
【請求項２】
上記自動応答回路は、供給されたデータのアドレスが、上記レジスタへの正常なアクセスか異常なアクセスかを判別し、正常な場合には内容に応じた応答パケットを生成し、異常な場合にはエラー応答パケットを生成する
請求項１記載のシリアルインタフェース回路。
【請求項３】
上記受信パケットはアシンクロナスパケットであり、上記判別回路が判別する情報は、デスティネーション・オフセット(destination offset)領域に設定されている情報である
請求項１記載のシリアルインタフェース回路。
【請求項４】
上記受信パケットはアシンクロナスパケットであり、上記判別回路が判別する情報は、デスティネーション・オフセット(destination offset)領域に設定されている情報である
請求項２記載のシリアルインタフェース回路。
【請求項５】
上記判別回路は、受信パケットの供給先を判別するまで上記自動応答回路および制御系回路に受信パケットを供給し、判別後、非供給先の回路への受信パケットの供給を停止する
請求項３記載のシリアルインタフェース回路。
【請求項６】
上記判別回路は、受信パケットの供給先を判別するまで上記自動応答回路および制御系回路に受信パケットを供給し、判別後、非供給先の回路への受信パケットの供給を停止する
請求項４記載のシリアルインタフェース回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パケットデータの送受信を行うシリアルインタフェース回路に関するものである。
【０００２】
【従来の技術】
近年、マルチメディア・データ転送のためのインタフェースとして、高速データ転送、リアルタイム転送を実現するＩＥＥＥ（The Institute of Electrical and Electronic Engineers) １３９４、Ｈｉｇｈ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｓｉｒｉａｌ  Ｂｕｓが規格化された。
【０００３】
このＩＥＥＥ１３９４シリアルインタフェースのデータ転送においては、ネットワーク内で行われる転送動作をサブアクションと呼び、２つのサブアクションが規定されている。
一つは、従来のRequest,Acknowledge の要求、受信確認を行うアシンクロナス（Asynchronous) 転送であり、他の一つはあるノードから１２５μｓに１回必ずデータが送られるアイソクロナス(Isochronous) 転送である。
【０００４】
このように、２つの転送モードを有するＩＥＥＥ１３９４シリアルインタフェースでのデータは、パケット単位で転送が行われるが、ＩＥＥＥ１３９４規格では、取り扱う最小データの単位は１クワドレット(quadlet) （＝４バイト＝３２ビット）である。
【０００５】
ＩＥＥＥ１３９４規格では、通常、コンピュータデータは、図６に示すように、アシンクロナス転送を用いて行われる。
アシンクロナス転送は、図６（ａ）に示すように、バスを獲得するためのアービトレーション（ａｒｂ）、データを転送するパケットトランスミッション、およびアクノリッジメント（ａｃｋ）の３つの遷移状態をとる。
【０００６】
そして、パケットトランスミッションの実行は、図６（ｂ）に示すようなフォーマットで行われる。
転送パケットの第１クワドレットは、１６ビットのデスティネーションＩＤ(destination ID)領域、６ビットのトランザクション・ラベルｔｌ(transaction label) 領域、２ビットのリトライ  コードｒｔ(retry code)領域、４ビットのトランザクション・コードｔｃｏｄｅ(transanction code) 領域、および４ビットのプライオリティｐｒｉ(priority)領域から構成されている。
デスティネーションＩＤ領域はこのノードのバスナンバーとノードナンバー、プライオリティ領域は優先レベルを示す。
【０００７】
第２クワドレットおよび第３クワドレットは、１６ビットのソースＩＤ(source ID) 領域、および４８ビットのデスティネーション・オフセット(destination offset)領域により構成されている。
ソースＩＤ領域はこのパケットを送ったノードＩＤを示し、デスティネーション・オフセット領域はハイ(High)およびロー(Low) の連続した領域からなり、デスティネーション・ノードのアドレス空間のアドレスを示す。
【０００８】
第４クワドレットは、１６ビットのデータ長(data length) 領域、および１６ビットのイクステンディド・トランザクション・コード(extended tcode)領域に構成されている。
データ長領域は受信したパケットのバイト数を示し、イクステンディド tcode領域はｔｃｏｄｅがロック・トランザクション(Lock transaction)の場合、このパケットのデータが行う実際のロック動作(Lock Action) を示す領域である。
【０００９】
データフィールド領域(data field)の前のクワドレットに付加されたヘッダＣＲＣ（header CRC) 領域は、パケットヘッダの誤り検出符号である。
また、データ領域(data field)の後のクワドレットに付加されたデータＣＲＣ（data CRC) 領域は、データフィールドの誤り検出符号である。
【００１０】
【発明が解決しようとする課題】
ところで、シリアルインタフェース回路においては、たとえばコアレジスタ、バス・ディペンド(bus-dependent) レジスタ、ユニット・アーキテクチャ( unit-architecture)レジスタ等からなる制御およびステータスのレジスタであるＣＳＲ(Control and Status Registers)が設けられる。
【００１１】
ＩＥＥＥ１３９４シリアルインタフェース上で、ＣＳＲへのアクセス（読み出し／書き込み）は、一般的にソフトウェアで行われていた。
これは、ＣＳＲ自体もソフトウェア側で持っているためである。このような場合には、制御回路としてのＣＰＵ側で全ての処理を行うため、アクセスに対する要求(Request) パケットはコマンド転送用のパケットと同一の受信ＦＩＦＯ(Firs-In First-Out) に格納した後、順次ＣＰＵが読み出し、所定の処理を行う。
【００１２】
したがって、従来の制御回路としてのＣＰＵ側で全ての処理を行う構成では、応答に時間がかかり、また、ＣＰＵの負担が大きいという不利益がある。
【００１３】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、制御回路の負担を軽減でき、しかも高速に応答することができるシリアルインタフェース回路を提供することにある。
【００１４】
【課題を解決するための手段】
上記目的を達成するため、本発明は、シリアルインタフェースバスを転送されたパケットを受信し、受信パケットに対する応答パケットを当該シリアルインタフェースバスに送信するシリアルインタフェース回路であって、制御およびステータス用レジスタと、受信パケットの内容に応じた応答パケットを生成して上記シリアルインタフェースバスに送信する制御系回路と、受信パケットが上記レジスタへの要求パケットの場合に、当該要求パケットの内容および処理に応じた応答パケットを生成する自動応答回路と、受信パケットが上記レジスタへのアクセスを要求する要求パケットであるか否かを判別し、要求パケットの場合には受信パケットを上記自動応答回路に供給し、要求パケット以外の場合には受信パケットを上記制御系回路に供給する判別回路とを有する。
【００１５】
また、本発明では、上記自動応答回路は、供給されたデータのアドレスが、上記レジスタへの正常なアクセスか異常なアクセスかを判別し、正常な場合には内容に応じた応答パケットを生成し、異常な場合にはエラー応答パケットを生成する。
【００１６】
また、本発明では、上記受信パケットはアシンクロナスパケットであり、上記判別回路が判別する情報は、デスティネーション・オフセット(destination offset)領域に設定されている情報である。
【００１７】
また、本発明では、上記判別回路は、受信パケットの供給先を判別するまで上記自動応答回路および制御系回路に受信パケットを供給し、判別後、非供給先の回路への受信パケットの供給を停止する。
【００１８】
本発明によれば、シリアルインタフェースバスを転送されたパケットは、たとえば判別回路に入力される。
判別回路では、たとえば受信パケットに付加されている供給先情報により制御およびステータス用レジスタのアクセスを要求する要求パケットか、それ以外のたとえばコマンド等の制御用パケットであるかが判別される。
このとき、受信パケットが要求パケットであると判断した場合には当該要求パケットが自動応答回路に供給され、制御用パケットであると判断した場合には当該制御用パケットが制御系回路に供給される。
要求パケットが供給された自動応答回路では、要求パケットの内容および処理に応じた応答パケットが自動的に生成され、生成された応答パケットが送信系回路を通してシリアルインタフェースバスに送出される。
また、制御系回路では、供給された制御用パケットの内容および処理に応じた通常の応答パケットが生成され、生成された応答パケットが送信系回路を通してシリアルインタフェースバスに送出される。
【００１９】
また、判別回路では、たとえば受信パケットの供給先が判別するまで、受信パケットが自動応答回路および制御系回路に供給される。
そして、判別の結果、受信パケットが要求パケットの場合には、制御系回路への受信パケットの供給が停止され、受信パケットが当該要求パケット以外の場合には自動応答回路への受信パケットの供給が停止される。
【００２０】
【発明の実施の形態】
図１は、本発明に係るＩＥＥＥ１３９４シリアルインタフェース回路の一実施形態を示すブロック構成図である。
なお、図１においては、アイソクロナス通信系回路の具体的な構成は図示していない。
【００２１】
このシリアルインタフェース回路は、リンク・レイヤ回路１０、フィジカル・レイヤ回路２０、およびホストコンピュータとしてのマイクロコンピュータ３０により構成されている。
【００２２】
リンク・レイヤ回路１０は、マイクロコンピュータ３０の制御の下、アシンクロナス転送およびアイソクロナス転送の制御、並びにフィジカル・レイヤ回路２０の制御を行う。
【００２３】
図１に示すように、リンク・レイヤ回路１０のアシンクロナス通信系回路は、たとえば、リンクコア１０１、マイクロコンピュータＩ／Ｆ回路１０２、デマルチプレクサ１０３、受信用ＦＩＦＯメモリ(AR-FIFO) １０４、送信用ＦＩＦＯメモリ(AT-FIFO) １０５、判別回路としてのインバウンド回路１０６、オートレスポンス回路（自動応答回路）１０７、アウトバウンド回路１０８、および送信用リンクＦＩＦＯメモリ(LAT-FIFO)１０９により構成されている。
なお、受信用ＦＩＦＯメモリ１０４、マイクロコンピュータＩ／Ｆ１０２、およびマイクロコンピュータ３０により制御系回路が構成される。
【００２４】
リンクコア１０１は、アシンクロナス通信用パケットおよびアイソクロナス通信用パケットの送信回路、受信回路、これらパケットのＩＥＥＥ１３９４シリアルバスＢＳを直接ドライブするフィジカル・レイヤ回路２０とのインタフェース回路、１２５μｓ毎にリセットされるサイクルタイマ、サイクルモニタやＣＲＣ回路から構成されている。
また、リンクコア１０１は、フィジカル・レイヤ回路２０およびＩＥＥＥ１３９４シリアルインタフェースバスＢＳを介して、送受信先の信号処理回路との間で、送受信の可否を示すＣＳ(Cycle Start) パケットを１２５μｓ毎に送受信する。
なお、図１では、上述したように、アイソクロナス通信系のＦＩＦＯ等は省略している。
【００２５】
マイクロコンピュータＩ／Ｆ１０２は、主としてマイクロコンピュータ３０と、送信用ＦＩＦＯメモリ１０４および受信用ＦＩＦＯメモリ１０５との間でのアシンクロナス通信用パケットの書き込み、読み出し等の調停等を行う。
【００２６】
デマルチプレクサ１０３は、リンクコア１０１から入力した通信用パケットの１３９４ヘッダ内に存在するｔ−ｃｏｄｅ（図６）を参照して、アシンクロナス通信用パケット、アイソシンクロナス通信用パケットおよびセルフＩＤパケットのいずれであるかを識別し、アシンクロナス通信用パケットであればインバウンド回路１０６に出力し、アイソクロナス通信用パケットであれば図示しない処理回路に出力する。
【００２７】
また、受信用ＦＩＦＯメモリ１０４は、ＩＥＥＥ１３９４シリアルインタフェースバスＢＳを伝送されてきたアシンクロナス通信用パケットが、インバウンド回路１０６により格納される。
また、たとえばインバウンド回路１０６からのＣＳＲ−abort 信号ＡＢＲＴをアクティブで受けると、たとえば３クワドレット程度まで格納した受信パケットは、マイクロコンピュータ３０で処理するパケットではなく、たとえばＣＳＲに対するリード(read)/ ライト(write)/ロック(lock)処理用のパケットであるとして、ライト(write) ポインタを元に戻す（当該パケットの格納開始前のポインタ位置に戻す）。
【００２８】
送信用ＦＩＦＯメモリ１０５には、ＩＥＥＥ１３９４シリアルバスＢＳに伝送させるアシンクロナス通信用パケットが格納され、格納データはアウトバウンド回路１０８に与えられる。
【００２９】
インバウンド回路１０６は、デマルチプレクサ１０３から入力したアシンクロナス通信用パケットを受けて、受信パケットがＣＳＲ宛あるいはコンフィギュレーションＲＯＭ(CONFIG ROM)宛のパケットであるのか、受信用ＦＩＦＯメモリ１０４に格納すべきコントロール用コマンド等のパケットであるのかを、図６（ｂ）に示す第３クワドレットのデスティネーション・オフセット(destination offset)領域により示されるアドレスによって判断し、ＣＳＲ宛の場合には受信パケットデータをオートレスポンス回路１０７に供給し、受信用ＦＩＦＯメモリ１０４に格納すべきパケットの場合には、受信用ＦＩＦＯメモリ１０４に供給する。
【００３０】
図２は、デスティネーション・オフセットの例を示す図である。
この例では、図２に示すように、オフセット「０２１Ｃ−０２１Ｆ」は「Ｂｕｓ  Ｍａｎａｇｅｒ  ＩＤ」、オフセット「０２２０−０２２３」は「Ｂａｎｄｗｉｄｔｈ  ａｖａｉｌａｂｌｅ」、オフセット「０２２４−０２２７」は「Ｃｈａｎｎｅｌ  ａｖａｉｌａｂｌｅ  Ｈｉ」、オフセット「０２２８−０２２Ｂ」は「Ｃｈａｎｎｅｌ  ａｖａｉｌａｂｌｅ  Ｌｏ」、オフセット「０４００−０４１３」は「Ｃｏｎｆｉｇ  ＲＯＭ」、オフセット「０９００−０９０３」は「ＯＭＰＲ」、オフセット「０９０４−０９０７」は「ＯＰＣＲ」、オフセット「０９８０−０９８３」は「ＩＭＰＲ」、およびオフセット「０９８４−０９８７」は「ＩＰＣＲ」をそれぞれ示している。
【００３１】
そして、インバウンド回路１０６は、上述したように、第３クワドレットのデスティネーション・オフセット領域により示されるアドレスを確認するまでは、オートレスポンス回路１０７および受信用ＦＩＦＯメモリ１０４の両方に受信パケットデータを供給し、ＣＳＲ宛あるいはコンフィギュレーションＲＯＭ(CONFIG ROM)宛のパケットであると判断した場合には、ＣＳＲ−abort 信号ＡＢＲＴをアクティブで受信用ＦＩＦＯメモリ１０４に出力し、非アクティブでオートレスポンス回路１０７に出力する。
【００３２】
具体的には、インバウンド回路１０６は、第１クワドレットのデータ（３２ビット）が入力されたとき、オートレスポンス回路１０７の先頭（第１番目）レジスタにデータを書き込み、受信用ＦＩＦＯメモリ１０４の０番地に第１クワドレットのデータを書き込む。
次に、インバウンド回路１０６は、第２クワドレットのデータ（３２ビット）が入力されたとき、オートレスポンス回路１０７の第２番目レジスタにデータを書き込み、受信用ＦＩＦＯメモリ１０４の１番地に第２クワドレットのデータを書き込む。
そして、インバウンド回路１０６は、第３クワドレットのデータ（３２ビット）が入力されたとき、デスティネーション・オフセット領域により示されるアドレスを確認することにより、ＣＳＲ宛等、すなわちオートレスポンスするパケットであるか否かの判別を行う。
インバウンド回路１０６は、ＣＳＲ宛等のパケットであると判別したときは、オートレスポンス回路１０７の第３番目レジスタにデータを書き込み、受信用ＦＩＦＯメモリ１０４のライトポインタ（アドレス）を０に戻す。
以降、パケットの最後のデータまで、第ｎ番目のデータを第ｎ番目レジスタに書き込んでいく。
一方、インバウンド回路１０６は、ＣＳＲ宛等のパケットでないと判別したときは、受信用ＦＩＦＯメモリ１０４の２番地に第３クワドレットのデータを書き込む。
以降、パケットの最後のデータまで、第ｎ番目のデータを第（ｎ−１）番地に書き込んでいく。
【００３３】
また、インバウンド回路１０６は、ＣＳＲ宛等ではなく受信用ＦＩＦＯメモリ１０４行きのパケットであると判断した場合には、受信用ＦＩＦＯメモリ１０４へのＣＳＲ−abort 信号ＡＢＲＴを非アクティブとし、オートレスポンス回路１０７へのＣＳＲ−abort 信号ＡＢＲＴをアクティブとする。
【００３４】
なお、受信データは、ライト(write) 信号ＷＲＩＮおよび確認(confirm) 信号ＣＮＦＭによって、受信用ＦＩＦＯメモリ１０４またはオートレスポンス回路１０７に格納される。ライト(write) 信号ＷＲＩＮが書き込みポインタを、確認(confirm) 信号ＣＮＦＭが確認ポインタを制御する。したがって、供給データは確認(confirm) 信号ＣＮＦＭによって確定することになる。
たとえば、アクティブのＣＳＲ−abort 信号ＡＢＲＴを受けた受信用ＦＩＦＯメモリ１０４では、以降の確認(confirm) 信号を無視して、代わりの書き込みポインタを前の状態に戻す。
【００３５】
オートレスポンス回路１０７は、インバウンド回路１０６から入力したアシンクロナス通信用パケットに対して、所定のオートレスポンス処理を行い、その処理結果であるアシンクロナス通信用パケットを生成して、アウトバウンド回路１０６に出力する。
ここで、オートレスポンス処理とは、ＩＥＥＥ１３９４シリアルインタフェースバスＢＳを伝送されてきたアシンクロナス通信用パケットを、マイクロコンピュータ３０に出力して処理するのではなく、リンク・レイヤ回路１０内で自動的に処理を行い、その処理結果をＩＥＥＥ１３９４シリアルバスＢＳを伝送する処理をいう。
【００３６】
図３は、オートレスポンス回路１０７の具体的な構成例を示すブロック図である。
このオートレスポンス回路１０７は、図３に示すように、入力タイミング生成回路１０７１、データストア回路１０７２、アドレスチェック回路１０７３、応答パケット生成回路１０７４、出力タイミング生成回路１０７５、ＣＳＲ１０７６、およびＣＯＮＦＩＧ  ＲＯＭ１０７７により構成されている。
【００３７】
入力タイミング生成回路１０７１は、ＣＳＲ−abort 信号ＡＢＲＴを非アクティブで受け、また確認信号ＣＮＦＭ  ＩＮをアクティブで受けた場合、ライト信号ＷＲＩＮを受けてインバウンド回路１０６から供給される受信データの入力タイミング信号Ｓ１０７１ａ，Ｓ１０７１ｂを生成してそれぞれデータストア回路１０７２および出力タイミング生成回路１０７５に出力する。
【００３８】
データストア回路１０７２は、レジスタＤＳｒｅｇ１，ＤＳｒｅｇ２，ＤＳｒｅｇ３で構成され、入力タイミング生成回路１０７１で生成された入力タイミングに基づいて、インバウンド回路１０６から供給されるデータを一時格納する。この格納データは、アドレスチェック回路１０７３および応答パケット生成回路１０７４に供給される。
【００３９】
アドレスチェック回路１０７３は、データストア回路１０７２に格納されたデータのアドレスが、レジスタへの正常なアクセスか異常なアクセスかを判別し、その結果を信号Ｓ１０７３として応答パケット生成回路１０７４に出力する。
【００４０】
応答パケット生成回路１０７４は、アドレスチェック回路１０７２の出力信号Ｓ１０７３が、正常なレジスタへのアクセスである旨を示している場合には、その内容に応じた応答パケットを生成し、データＤＯＵＴとしてアウトバウンド回路１０８に出力する。
一方、応答パケット生成回路１０７４は、アドレスチェック回路１０７２の出力信号Ｓ１０７３が、たとえばリードしか許さないアドレスにロックをかけた場合、アドレスエラーあるいはタイプエラーの応答パケットを生成し、データＤＯＵＴとしてアウトバウンド回路１０８に出力する。
【００４１】
出力タイミング生成回路１０７５は、入力タイミング生成回路１０７１によるタイミング信号Ｓ１０７１ｂを受けて応答パケット生成回路１０７４による応答パケットデータＤＯＵＴの送信用リンクＦＩＦＯメモリ１０９への出力タイミングを生成し、リードレスポンスの信号ＷＲＯＵＴとしてアウトバウンド回路１０８に出力する。このとき、確認信号ＣＮＦＭをアクティブで、アボート（無効）信号ＡＢＲＴを非アクティブで出力する。
【００４２】
図４は、オートレスポンス回路１０７にリード・クワドレット・リクエスト(Read-Quadlet-Request)の要求パケットが供給されたときの入力データおよび信号、並びに生成された応答パケットデータおよび信号例を示す図である。
また、図５は、リード・クワドレット・リクエストに応じて生成された応答パケットのフォーマットを示す図である。
なお、図４では、例してオフセット「０２１Ｃ（Ｂｕｓ  Ｍａｎａｇｅｒ  ＩＤ）」にリードリクエストを出す場合を示している。
【００４３】
この場合、図４（ａ）および（ｂ）に示すように、クワドレット単位でライト信号ＷＲＩＮがＨｄｒ１，Ｈｄｒ２，Ｈｄｒ３に順に入力され、第４クワドレットの入力タイミングでライト信号ＷＲＩＮおよび確認信号ＣＮＦＭ  ＩＮが供給される。
この例では、第１クワドレットの第１ヘッダ（Ｈｄｒ１）のデータは、たとえば「０００１０００４」として供給され、第２クワドレットの第２ヘッダ（Ｈｄｒ２）のデータは、たとえば「ＦＦＣ１ＦＦＦＦ」として供給され、第３クワドレットの第３ヘッダ（Ｈｄｒ３）のデータは、たとえば「Ｆ００００２１Ｃ」として供給される。
【００４４】
そして、データストア回路１０７２のレジスタＤＳｒｅｇ１，ＤＳｒｅｇ２，ＤＳｒｅｇ３にデータ（Ｈｄｒ１，Ｈｄｒ２，Ｈｄｒ３）が取り込められる。
データストア回路１０７２では、レジスタＤＳｒｅｇ１にＨｄｒ３が入力されたときに、全てのデータが取り込めたことになる。
【００４５】
アドレスチェック回路１０７３では、データストア回路１０７２のレジスタＤＳｒｅｇ３に取り込まれたデータＨｄｒ１のｔ−ｃｏｄｅ＝４により、このパケットがリードリクエストということ、レジスタＤＳｒｅｇ１に取り込まれたオフセット＝２１Ｃによりオートレスポンス宛のパケットというこで、信号Ｓ１０７３がたとえばハイレベルで応答パケット生成回路１０７４に出力される。
【００４６】
また、ＣＳＲ１０７６およびＣＯＮＦＩＧ  ＲＯＭ１０７７は、各オフセット値に対応したレジスタを有しており、データストア回路１０７２のレジスタＤＳｒｅｇ１のデータＨｄｒ３よりオフセット値＝２１Ｃのデータ（００００００３ｆ）が出力される。
【００４７】
そして、応答パケット生成回路１０７４では、第１および第２のクワドレットにおける第１および第２のヘッダＨｄｒ１，Ｈｄｒ２が作成され、さらに第４クワドレットにリード・データが設定されて、応答パケットが生成される。
この場合、応答パケット生成回路１０７４では、第１クワドレットの第１ヘッダ（Ｈｄｒ１）のデータは、入力のデータＨｄｒ１＝０００１００４０より、応答パケットのＨｄｒ１＝０００１００６０（ｔ−ｃｏｄｅ＝６：リードレスポンス）が生成される。
同様に、入力のデータＨｄｒ２＝ＦＦＣ１ＦＦＦＦより、応答パケットのＨｄｒ２＝ＦＦＣ０００００が生成される。
【００４８】
そして、出力タイミング生成回路１０７５によりリードレスポンスの出力タイミング信号ＷＲＯＵＴに同期して応答パケット生成回路１０７４から生成されたＨｄｒ１，Ｈｄｒ２、およびリードデータが出力される。
最後に、出力タイミング生成回路１０７５により信ＣＮＦＭＯＵＴが出力されて、有効なデータとなる。
【００４９】
アウトバウンド回路１０８は、オートレスポンス処理の場合にはオートレスポンス回路１０７で生成されたアシンクロナス通信用パケットを送信用リンクＦＩＦＯメモリ１０８に出力し、通常処理の場合には、マイクロコンピュータ３０で生成され、送信用ＦＩＦＯメモリ１０５に格納されたアシンクロナス通信用パケットを送信用リンクＦＩＦＯメモリ１０８に出力する。
【００５０】
送信用リンクＦＩＦＯメモリ１０９は、アウトバウンド回路１０８から入力したアシンクロナス通信用パケットを格納するリングバッファである。
【００５１】
次に、上記構成における動作について、ＣＳＲ宛の要求パケットを受信したときの動作を例に説明する。
【００５２】
たとえばＩＥＥＥ１３９４シリアルインタフェースバスＢＳを転送されてきたパケットデータがフィジカル・レイヤ回路２０、リンク・レイヤ回路１０のリンクコア１０１を介してデマルチプレクサ１０３に入力される。
【００５３】
デマルチプレクサ１０３では、リンクコア１０１から入力した通信用パケットの１３９４ヘッダ内に存在するｔ−ｃｏｄｅ（図６）が参照されて、アシンクロナス通信用パケット、アイソクロナス通信用パケットおよびセルフＩＤパケットのいずれであるかが識別され、アシンクロナス通信用パケットであればインバウンド回路１０６に出力される。
【００５４】
インバウンド回路１０６では、デマルチプレクサ１０３からのアシンクロナス通信用パケットを受けて、受信パケットの第３クワドレットのデスティネーション・オフセット領域により示されるアドレスによって、受信パケットがＣＳＲ宛あるいはコンフィギュレーションＲＯＭ(CONFIG ROM)宛のパケットであるのか、受信用ＦＩＦＯメモリ１０４に格納すべきコントロール用コマンド等のパケットであるのかが判断される。
【００５５】
インバウンド回路１０６において、受信パケットがＣＳＲ宛の要求パケットであると判断されると、受信パケットデータがオートレスポンス回路１０７に供給される。
一方、受信用ＦＩＦＯメモリ１０４に格納すべきパケットであると判断された場合には、受信パケットは受信用ＦＩＦＯメモリ１０４に供給される。
【００５６】
このとき、インバウンド回路１０６からは、上述したように、第３クワドレットのデスティネーション・オフセット領域により示されるアドレスを確認するまでは、オートレスポンス回路１０７および受信用ＦＩＦＯメモリ１０４の両方に受信パケットデータが供給される。
本例では、受信パケットはＣＳＲ宛の要求パケットと仮定していることから、ＣＳＲ宛のパケットであると判断され、インバウンド回路１０６からはＣＳＲ−abort 信号ＡＢＲＴをアクティブで受信用ＦＩＦＯメモリ１０４に出力され、非アクティブでオートレスポンス回路１０７に出力される。
また、インバウンド回路１０６からはオートレスポンス回路１０７に対して、ライト信号ＷＲＩＮが各クワドレットの先頭タイミングで出力されるとともに、第３クワドレット以降、たとえば第５クワドレットの先頭タイミングで確認信号ＣＮＦＭが出力される。
【００５７】
一方、受信用ＦＩＦＯメモリ１０４では、インバウンド回路１０６からのＣＳＲ−abort 信号Ｓ１０８を介してアクティブで受けると、たとえば３クワドレット程度まで格納した受信パケットは、ＣＳＲ宛のものとして、ライト(write) ポインタが当該パケットの格納開始前のポインタ位置に戻される。
【００５８】
インバウンド回路１０６からオートレスポンス回路１０７に供給されたライト信号ＷＲＩＮ、ＳＲ−abort 信号ＡＢＲＴおよび確認信号ＣＮＦＭは入力タイミング生成回路１０７１に入力される。
入力タイミング生成回路１０７１では、ＣＳＲ−abort 信号ＡＢＲＴを非アクティブで受け、確認信号ＣＮＦＭをアクティブで受けることから、ライト信号ＷＲＩＮに基づいてインバウンド回路１０６から供給される受信データの入力タイミング信号Ｓ１０７１ａ，Ｓ１０７１ｂが生成されて、データストア回路１０７２および出力タイミング生成回路１０７５に出力される。
【００５９】
データストア回路１０７２では、入力タイミング生成回路１０７１で生成された入力タイミングに基づいて、インバウンド回路１０６から供給されるデータが一時格納される。この格納データは、アドレスチェック回路１０７３および応答パケット生成回路１０７４に供給される。
【００６０】
アドレスチェック回路１０７３では、データストア回路１０７２に格納されたデータのアドレスが、レジスタへの正常なアクセスか異常なアクセスかが判別され、その結果が信号Ｓ１０７３として応答パケット生成回路１０７４に出力される。
【００６１】
応答パケット生成回路１０７４においては、アドレスチェック回路１０７２の出力信号Ｓ１０７３が、正常なレジスタへのアクセスである旨を示している場合には、その内容に応じた応答パケットが生成されて、データＤＯＵＴとしてアウトバウンド回路１０８に出力される。
一方、アドレスチェック回路１０７２の出力信号Ｓ１０７３が、たとえばリードしか許さないアドレスにロックをかけた場合、アドレスエラーあるいはタイプエラーの応答パケットが生成され、データＤＯＵＴとしてアウトバウンド回路１０８に出力される。
【００６２】
また、出力タイミング生成回路１０７５では、入力タイミング生成回路１０７１によるタイミング信号Ｓ１０７１ｂを受けて応答パケット生成回路１０７４による応答パケットデータＤＯＵＴの送信用リンクＦＩＦＯメモリ１０９への出力タイミングが生成され、信号ＷＲＯＵＴとしてアウトバウンド回路１０８に出力される。このとき、確認信号ＣＮＦＭがアクティブで、アボート（無効）信号ＡＢＲＴが非アクティブで、アウトバウンド回路１０８に出力される。
【００６３】
そして、生成された応答パケットは送信用リンクＦＩＦＯメモリ１０８を介してリンクコア１０１に入力され、さらにフィジカル・レイヤ回路２０を介してシリアルインタフェースバスＢＳに送信される。
【００６４】
以上説明したように、本実施形態によれば、受信パケットがＣＳＲ宛の要求パケットの場合に、要求パケットの内容および処理に応じた応答パケットを生成するオートレスポンス回路１０７と、受信パケットがＣＳＲへのアクセスを要求する要求パケットであるか否かを判別し、要求パケットの場合には受信パケットをオートレスポンス回路１０７に供給し、要求パケット以外の場合には受信パケットを格納データがマイクロコンピュータ３０で用いられる受信用ＦＩＦＯメモリ１０４に供給するインバウンド回路１０７とを設けたことから、制御回路としてマイクロコンピュータ３０の負担を軽減でき、しかも高速に応答することができるシリアルインタフェース回路を実現できる利点がある。
【００６５】
なお、外部またはマイクロコンピュータ３０からコンフィギュレーションレジスタ等に設定した制御情報をアクティブで受けると、インバウンド回路１０６からのＣＳＲ−abort 信号ＡＢＲＴをアクティブで受けたとしても、受信パケットの格納を停止せずにすべて格納するように構成することも可能である。
この場合には、マイクロコンピュータ３０により、ソフトウェアによる制御が可能である。
【００６６】
【発明の効果】
以上説明したように、本発明によれば、制御回路の負担を軽減でき、しかも高速に応答することができるシリアルインタフェース回路を実現できる利点がある。
【図面の簡単な説明】
【図１】本発明に係るＩＥＥＥ１３９４シリアルインタフェース回路の一実施形態を示すブロック構成図である。
【図２】デスティネーション・オフセットの例を示す図である。
【図３】本発明に係るオートレスポンス回路の具体的な構成例を示すブロック図である。
【図４】オートレスポンス回路にリード・クワドレット・リクエストの要求パケットが供給されたときの入力データおよび信号、並びに生成された応答パケットデータおよび信号例を示す図である。
【図５】リード・クワドレット・リクエストに応じて生成された応答パケットのフォーマットを示す図である。
【図６】ＩＥＥＥ１３９４規格のアシンクロナス転送を説明するための図である。
【符号の説明】
１０…リンク・レイヤ回路、２０…フィジカル・レイヤ回路、３０…マイクロコンピュータ、１０１…リンクコア、１０２…マイクロコンピュータＩ／Ｆ、１０３…デマルチプレクサ、１０４…受信用ＦＩＦＯメモリ(AR-FIFO) 、１０５…送信用ＦＩＦＯメモリ(AT-FIFO) 、１０６…インバウンド回路、１０７…オートレスポンス回路（自動応答回路）、１０８…アウトバウンド回路、１０９…送信用リンクＦＩＦＯメモリ(LAT-FIFO)、１０７１…入力タイミング生成回路、１０７２…データストア回路、１０７３…アドレスチェック回路、１０７４…応答用レジスタ、１０７５…出力タイミング生成回路、１０７６…ＣＳＲ、１０７７…ＣＯＮＦＩＧ  ＲＯＭ。
【図１】
0004062829.tif 000002
【図２】
0004062829.tif 000003
【図３】
0004062829.tif 000004
【図４】
0004062829.tif 000005
【図５】
0004062829.tif 000006
【図６】
0004062829.tif 000007