JP3837843B2 - Serial interface circuit - Google Patents
Serial interface circuit Download PDFInfo
- Publication number
- JP3837843B2 JP3837843B2 JP16598897A JP16598897A JP3837843B2 JP 3837843 B2 JP3837843 B2 JP 3837843B2 JP 16598897 A JP16598897 A JP 16598897A JP 16598897 A JP16598897 A JP 16598897A JP 3837843 B2 JP3837843 B2 JP 3837843B2
- Authority
- JP
- Japan
- Prior art keywords
- error
- circuit
- packet
- request
- response
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Small-Scale Networks (AREA)
- Communication Control (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、ディジタルシリアルインタフェース回路に係り、特にHDD(Hard Disk Drive) 、DVD(Digital Video Disk)−ROM、CD(Compact Disk)−ROM、テープストリーマ(Tape Streamer) 等のストレージ装置に接続するシリアルインタフェース回路に関するものである。
【0002】
【従来の技術】
近年、マルチメディア・データ転送のためのインタフェースとして、高速データ転送、リアルタイム転送を実現するIEEE(The Institute of Electrical and Electronic Engineers) 1394、High Performance Sirial Busが規格化された。
【0003】
このIEEE1394シリアルインタフェースのデータ転送においては、ネットワーク内で行われる転送動作をサブアクションと呼び、2つのサブアクションが規定されている。
一つは、従来のRequest,Acknowledge の要求、受信確認を行うアシンクロナス(Asynchronous) 転送であり、他の一つはあるノードから125μsに1回必ずデータが送られるアイソクロナス(Isochronous) 転送である。
【0004】
このように、2つの転送モードを有するIEEE1394シリアルインタフェースでのデータは、パケット単位で転送が行われるが、IEEE1394規格では、取り扱う最小データの単位は1クワドレット(quadlet) (=4バイト=32ビット)である。
【0005】
IEEE1394規格では、通常、コンピュータデータは、図7に示すように、アシンクロナス転送を用いて行われる。
アシンクロナス転送は、図7(a)に示すように、バスを獲得するためのアービトレーション(arb)、データを転送するパケットトランスミッション、およびアクノリッジメント(ack)の3つの遷移状態をとる。
【0006】
そして、パケットトランスミッションの実行は、図7(b)に示すようなフォーマットで行われる。
転送パケットの第1クワドレットは、16ビットのデスティネーションID(destination ID)領域、6ビットのトランザクション ラベルtl(transaction label) 領域、2ビットのリトライ コードrt(retry code)領域、4ビットのトランザクション コードtcode(transaction code) 領域、および4ビットのプライオリティpri(priority)領域から構成されている。
デスティネーションID領域はこのノードのバスナンバーとノードナンバー、プライオリティ領域は優先レベルを示す。
【0007】
第2クワドレットおよび第3クワドレットは、16ビットのソースID(source ID) 領域、および48ビットのデスティネーション オフセット(destination
offset)領域により構成されている。
ソースID領域はこのパケットを送ったノードIDを示し、デスティネーション・オフセット領域はハイ(High)およびロー(Low) の連続した領域からなり、デスティネーション ノードのアドレス空間のアドレスを示す。
【0008】
第4クワドレットは、16ビットのデータ長(data length) 領域、および16ビットのイクステンディド・トランザクション・コード(extended tcode)領域に構成されている。
データ長領域は受信したパケットのバイト数を示し、イクステンディド tcode領域はtcodeがロック・トランザクション(Lock transaction)の場合、このパケットのデータが行う実際のロック動作(Lock Action) を示す領域である。
【0009】
データフィールド領域(data field)の前のクワドレットに付加されたヘッダCRC(header CRC) 領域は、パケットヘッダの誤り検出符号である。
また、データ領域(data field)の後のクワドレットに付加されたデータCRC(data CRC) 領域は、データフィールドの誤り検出符号である。
【0010】
【発明が解決しようとする課題】
ところで、上述したように、アシンクロナス転送で行われる通常のコンピュータデータの転送では、そのプロトコルとして、SBP−2(Serial Bus Protocol-2) が用いられる。
このプロトコルによると、ストレージデバイス(Storage Device)であるターゲット(Target)からホストコンピュータ(Host Computer) であるイニシエータ(Initiator) にデータを転送するときは、ストレージデバイスからホストコンピュータのメモリへデータを書き込む形で、またホストコンピュータからターゲットにデータを転送するときは、ストレージデバイスがホストコンピュータのメモリのデータを読み出す形で転送が行われる。
【0011】
しかしながら、ストレージデバイスに格納される、あるいはストレージデバイスから読み出される大容量のデータをIEEE1394規格のパケットにして、送受信するための、いわゆるトランザクション・レイヤ(Transaction Layer) をコントロールする処理系回路システムが未だ確立されていない。
また、トラザクション系における通信エラーの検出、判別回路も実現する必要がある。
【0012】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、大容量のデータを所定の規格に合わせたパケットにして送受信することができ、また、エラーが発生した場合にその判別を行うことができ、円滑な送受信処理をすることができるシリアルインタフェース回路を提供することにある。
【0013】
【課題を解決するための手段】
上記目的を達成するため、本発明は、自ノードとシリアルインタフェースバスを介して接続された他ノード間でパケットの送受信を行うシリアルインタフェース回路であって、自ノードから他ノードへの要求パケットを生成し、上記シリアルインタフェースバスに送出し、当該要求パケットに対する応答パケットに対する受信処理を行うデータ処理回路と、受信した応答パケットにエラーが有るか否かを判別し、エラーがある場合にはそのエラー内容を判別するエラー判別回路と、受信したパケットにあるトランザクションコードおよびラベルをチェックし、イニシエータからターゲットである上記データ処理回路に対しての応答パケットであるかその他のパケットであるかの分別を行い、応答パケットのみを上記データ処理回路に入力させる分別回路と、を有し、上記エラー判別回路は、要求パケットに対する適当な応答パケットが返ってきたか否かの判別を行い、不適当な応答パケットである場合には、送信した要求に不適当な応答パケットが返ってきたエラーであると判別し、適当な応答パケットが返ってきたと判別すると、その応答がコンプリート (Complete) 、ビジー (Busy) 、ペンディング (Pending) 、であるかで異なる判別処理を行い、コンプリートの場合には、要求に対応した受信または送信あるかを判別し、要求の対応しない場合には送信した要求に不適当な応答パケットが返ってきたエラーであると判別し、要求に対応する場合には、エラーなしのコンプリートであると判別し、ビジーの場合には、再送信を行うリトライ動作を行い、このリトライ回数が、あらかじめ設定したリトライ制限回数に達したか否かの判別を行い、リトライ制限回数に達していると相手がビジーであるエラーと判別し、ペンディングンの場合には、応答パケットをあらかじめ設定した時間内に受信したか否かを判別し、時間内に受信したかった場合には規定時間内に応答が戻らないというエラーであると判別する。
【0014】
また、本発明では、上記エラー判別回路は、エラーを検出すると上記データ処理回路のパケットの送受信処理を停止させる。
【0015】
また、本発明では、エラーレジスタを有し、上記エラー判別回路は、エラーを検出した場合にはエラー内容を上記エラーレジスタにセットする。
【0016】
また、本発明では、上記エラーレジスタにエラー内容がセットされている場合には、上記データ処理回路を初期化する制御回路を有する。
【0017】
また、本発明では、上記エラー判別回路はエラーを検出すると上記制御回路にエラーを検出した旨を知らせ、上記制御回路は、エラー検出の知らせを受けて上記エラーレジスタの読み出しを行い、上記初期化処理を行う。
【0018】
また、本発明の回路によれば、データ処理回路において、自ノードから他ノードへの要求パケットが生成され、シリアルインタフェースバスに送出される。
そして、他ノードからの要求パケットに対する応答パケットが受信されて所定の処理が行われる。
また、応答パケットはエラー判別回路にも入力される。エラー判別回路では、受信した応答パケットにエラーが有るか否かが検出され、かつエラーがある場合にはそのエラー内容が判別される。
たとえば、エラー判別回路でエラーが検出されると、データ処理回路のパケットの送受信処理が停止され、また、そのエラー内容がエラーレジスタにセットさされるとともに、エラーを検出した旨が制御回路に知らされる。すなわち、エラー割り込みが行われる。
制御回路では、エラー検出の知らせを受けると、エラーレジスタの内容の読み出しが行われ、データ処理回路に対する初期化処理が行われる。
【0019】
【発明の実施の形態】
図1は、本発明に係るIEEE1394シリアルインタフェース回路の一実施形態を示すブロック構成図である。
なお、このシリアルインタフェース回路は、アシンクロナス通信で扱われるコンピュータデータの転送を行うことを目的として構成されている。このため、図1においては、アイソクロナス通信系回路の具体的な構成は図示していない。
【0020】
このシリアルインタフェース回路は、リンク/トランザクション・レイヤ集積回路10、フィジカル・レイヤ回路20、ストレージデバイスとしての図示しないハードディスクドライバ(HDD)のコントローラ30、ホストコンピュータとしてのローカルプロセッサ40により構成されている。
【0021】
リンク/トランザクション・レイヤ集積回路10は、リンク・レイヤ回路100およびトランザクション・レイヤ回路120が集積化されて構成され、ローカルプロセッサ40の制御の下、アシンクロナス転送の制御、並びにフィジカル・レイヤ回路20の制御を行う。
【0022】
リンク・レイヤ回路100は、図1に示すように、リンクコア(Link Core))101、CPUインタフェース回路(Sub-CPU I/F )102、アシンクロナス通信で用いられる送信用FIFO(AT-FIFO:First-In First-Out) 103、受信用FIFO(AR-FIFO)104、受信パケットを判別する分別回路(DeMux) 105、セルフID用リゾルバ(Resolver)106、およびコントロールレジスタ(Control Registers 、以下CRという)107により構成されている。
【0023】
リンクコア101は、コマンドやコンピュータデータが転送されるアシンクロナス通信用パケットおよびアイソクロナス通信用パケットの送信回路、受信回路、これらパケットのIEEE1394シリアルバスBSを直接ドライブするフィジカル・レイヤ回路20とのインタフェース回路、125μs毎にリセットされるサイクルタイマ、サイクルモニタやCRC回路から構成されている。
また、図示しないハードディスクから読み出され、トランザクション・レイヤ回路120で所定の送信パケットとして生成されたコンピュータデータの送信処理等を行う。
たとえば、後述するトランザクション・レイヤ回路120のトランザクションコントローラ126から送るべきデータがある旨の知らせを受けるとフィジカル・レイヤ回路20を経由して1394シリアルバスのアービトレーションを行いバスを確保する。
なお、図1では、上述したように、アイソクロナス通信系のFIFO等は省略している。
【0024】
CPUインタフェース回路102は、ローカルプロセッサ40と送信用FIFO103、受信用FIFO104とのアシンクロナス通信用パケットの書き込み、読み出し等の調停、並びに、ローカルプロセッサ40とCR107との各種データの送受信の調停を行う。
たとえば、イニシエータとしてのホストコンピュータからIEEE1394インタフェースバスBSを送信され、受信用FIFOに格納されたストレージデバイスとしてのハードディスクのコントロール用コマンドをローカルプロセッサ40に伝送する。
【0025】
ローカルプロセッサ40からは、コンピュータデータを送受信するためにトランザクション・レイヤ回路120を起動させるためのデータがCPUインタフェース102を通してCR107にセット(ADPst=1)される。
【0026】
送信用FIFO103には、IEEE1394シリアルバスBSに伝送させるアシンクロナス通信用パケットが格納され、格納データはリンクコア101に与えられる。
【0027】
また、受信用FIFO104は、IEEE1394シリアルバスBSを伝送されてきたアシンクロナス通信用パケット、たとえばストレージデバイスとしてのハードディスクのコントロール用コマンド等が、分別回路105により格納される。
【0028】
分別回路105は、リンクコア101を介したアシンクロナス通信用パケットの第1クワドレッドにあるトランザクションコードtcode(Transaction code)およびトランザクションラベルtl(Transaction label) をチェックし、イニシエータであるホストコンピュータからターゲットであるトランザクション・レイヤ回路に対しての応答パケット(Response Packet) であるかその他のパケットであるかの分別を行い、応答パケットのみをトランザクション・レイヤ回路120に入力させ、その他のパケットを受信用FIFO104に格納する。
【0029】
なお、分別のチェックに用いられるトランザクションラベルtlは共通に「a」にセットされ、tcode(Transaction code)は、書き込み(Write) の要求(request)および応答(Response)、読み出し(Read)の要求(Read request) および応答(Read Response) で異なるデータがセットされる。
具体的には、tcodeは、書き込み要求(Write request)でクワドレット書き込み(Quadlet Write) の場合には「0」、ブロック書き込み(Block Write) の場合には「1」にセットされる。
また、書き込み応答(Write Response)の場合には「2」にセットされる。
読み出し要求(Read request) でクワドレット読み出し(Quadlet Read)の場合には「4」、ブロック読み出し(Block Read)の場合には「5」にセットされる。
また、読み出し応答(Read Response) の場合には「6/7」にセットされる。
【0030】
リゾルバ106は、IEEE1394シリアルインタフェースバスBSを伝送されてきたセルフIDパケットを解析し、CR107に格納する。また、エラーチェック、ノード数のカウント等の機能も有する。
【0031】
トランザクション・レイヤ回路120は、コンピュータ周辺機器(本実施形態ではハードディスク)のデータをSBP−2(Serial Bus Protocol-2) 規格に基づいて、アシンクロナスパケットとして自動的に送信、受信をする機能を備えている。
また、トランザクション・レイヤ回路120は、リトライ(Retry) 機能並びにスプリットタイムアウト(Split Timeout) 検出機能を備えている。
リトライ機能は、要求パケットを送信した後、ack busy* のAckコードが返ってきた場合、該当する要求パケットを再送信する機能である。パケットを再送信する場合、送信パケットの第1クワドレッドにある2ビットのrt領域を「00」から「01」にセットしてコアリンク101に知らせ送信する。
スプリットタイムアウト(Split Timeout) 検出機能は、応答パケットが返ってくるまでのタイムアウトを検出する機能である。
【0032】
このトランザクション・レイヤ回路120は、トランスポートデータインタフェース回路121、要求パケット生成回路(SBPreq)122、応答パケットデコード回路(SBPRsp)123、要求用FIFO(Request FIFO:ADPTF)124、応答用FIFO(Response FIFO:ADPRF) 125、およびトランザクションコントローラ126により構成されている。
そして、要求パケット生成回路122、応答パケットデコード回路123、要求用FIFO124、応答用FIFO125、およびトランザクションコントローラ126によりデータ処理回路ADPが構成される。
【0033】
トランスポートデータインタフェース回路121は、HDDコントローラ30と要求パケット生成回路122、応答パケットデコード回路123とのデータの送受信の調停を行う。
【0034】
要求パケット生成回路122は、リンク・レイヤ回路100のCR107からデータ転送起動の指示を受けると、送信(書き込み)の場合、SBP−2規格に従ってトランスポートデータインタフェース回路121を介して得た図示しないハードディスクに記録されたコンピュータデータをパケットに分けられるように1個以上のデータに分け、CR107にセットされた転送データ長等のデータに基づいてSBPプロトコルのアドレスを算出し、パケット毎に増加する1394バスアドレスとトランザクションラベルtl(=a)やトランザクションコードtcode(たとえば1または5)等を設定した4クラドレットからなる1394ヘッダを付加して要求用FIFO124に格納する。
また、受信(読み出し)の場合には、SBP−2規格に従って、CR107にセットされた転送データ長等のデータに基づいてSBPプロトコルのアドレスを算出し、パケット毎に増加する1394バスアドレスとトランザクションラベルtl(=a)やトランザクションコードtcode(たとえば1または5)等を設定し、指定されたアドレス、データ長分の1394ブロック読み出し要求コマンド(Block read Request Command)を1個以上のパケットにして要求用FIFO124に格納する。
【0035】
なお、要求パケット生成回路122は、送信および受信時には、CR107にて指定される最大長データmax-payload を受けて送信する要求パケットに対する応答パケットの最大データ長を計算する。
この最大データ長(バイト)maxpl は次式に基づいて求められる。
【0036】
【数1】
maxpl =2(max,Payload+2) …(1)
【0037】
応答パケットデコード回路123は、受信時に応答用FIFO125に格納されたデータを読み出し、1394ヘッダを取り除いて、データを所定のタイミングでトランスポートデータインタフェース回路121を介してHDDコントローラ30に出力する。
【0038】
要求用FIFO124は、送信(書き込み)時にはパケット化された送信データが格納され、受信(読み出し)の場合には、1394ブロック読み出し要求コマンドが格納される。
なお、要求用FIFO124は、送るべきデータを記憶しているときは、その旨を示すたとえばローレベル(「0」)でアクティブの信号EMTをトランザクションコントローラ126に出力する。
【0039】
応答用FIFO125は、受信(読み出し)の場合には、ホストコンピュータ側から1394シリアルバスBSを伝送されてきた受信データが格納される。
なお、応答用FIFO125は、残りの記憶容量を示す信号をトランザクションコントローラ126に出力する。
【0040】
トランザクションコントローラ126は、送信時に要求用FIFO124に格納されたパケット化された送信データ、および受信時に要求用FIFO124に格納された1394ブロック読み出し要求コマンド(要求パケット)のリンク・レイヤコア回路100のリンクコア101への出力制御を行う。
また、送信時に、リンク・レイヤ回路100の分別回路105からの応答パケットを受けて、そのリトライコードrcodeをCR107に書き込み、受信時には分別回路105からの応答パケットを応答用FIFO125に格納する。
【0041】
また、トランザクションコントローラ126は、図2に示すように、応答パケット(他ノードからの受信確認であるAcknowledge も含む)にエラーが有るか否かを判別し、エラーがある場合にはそのエラー内容を判別し、要求パケット生成回路122、応答パケットデコード回路123、要求用FIFO124および応答用パケット125の処理を信号S126で停止させるエラー判別回路1261を有している。
【0042】
書き込み(送信)および読み出し(受信)のトランザクションの場合、受け取る受信確認(Acknowledge) または応答パケットに関しては、たとえば図3に示すようなエラーが発生する可能性があり、エラー判別回路1261は、エラーがあることを検出すると、要求パケット生成回路122、応答パケットデコード回路123、要求用FIFO124および応答用パケット125の処理を停止させるとともに、これらのエラーの内容を判別し、たとえば内容に応じたエラーコードをCR107のエラーレジスタにセットする。また、エラーがあることを検出すると割り込み信号(Interrupt) 用のCR107に割り込みビットをセットしてローカルプロセッサ40にエラーを検出したことを知らせる。
【0043】
ここで、図3の各エラーコードの内容について説明する。
エラーコードERC「0」は、エラーなし、「1」は送信した要求に不適当なackコードが返ってきた、「2」は受信した応答に不適当なackコードを返した、「3」は規定時間内に応答が戻らない、「4」はリトライ制限の回数、要求パケットを送っても相手がビジーである、「5」はバスリセットが発生した、「6」は不適当なrcode(response code) を受信した、「7」は指定ノード以外からの応答パケットを受信した、「8」は実行しているトランザクションとは異なるtcode(transaction code)を受信した、という内容である。
【0044】
ここで、図2に示すエラー判別回路の書き込み(受信)時の動作を図4のフローチャートを参照しつつ説明し、その後、SBP−2規格で決められたパケットを転送する場合のコンピュータデータの通常の送信および受信動作を説明する。
【0045】
エラー判別回路1261においては、まず、要求パケットに対する適当なackコード(応答パケット)が返ってきたか否かの判別が行われる(S1)。
ステップS1で不適当なackコードである場合には、コード「1」の送信した要求に不適当なackコードが返ってきたエラーであると判別される。
ステップS1で適当はackコードが返ってきたと判別されると、その応答がコンプリート(Complete)、ビジー(Busy)、ペンディング(Pending) 、であるかで異なる判別処理が行われる。
【0046】
コンプリートの場合には、読み出しであるか書き込みであるかが判別され、読み出しであると不適当な応答である場合にはコード「1」のエラーであると判別され、書き込みである場合にはコンプリートであると判別される(S3)。
【0047】
ビジーの場合には、再送信を行うリトライ動作が行われるが、このリトライ
回数が、あらかじめ設定したリトライ制限回数に達したか否かの判別が行われる(S4)。
ステップS4において、リトライ制限回数に達していないと判別した場合にはステップS1の動作、すなわち要求パケットの再送信動作が行われる。
一方、リトライ制限回数に達していると、コード「4」のリトライ制限の回数だけ要求パケットを送っても相手がビジーであるエラーと判別される。
【0048】
ペンディングンの場合には、ステップS5〜S9の判別動作が順に行われる。
まず、ステップS5においては、応答パケットをあらかじめ設定した時間内に受信したか否かの判別が行われる。
ステップS5において、応答パケットがあらかじめ設定した時間内に返ってこなかった場合には、コード「3」の規定時間内に応答が戻らないというエラーであると判別される。
一方、規定時間内に応答が戻った場合には、ステップS6の処理に移行する。
【0049】
ステップS6においては、受信した応答に不適当なackコードを返したか否かの判別が行われる。
ステップS6において、受信した応答に不適当なackコードを返した場合には、コード2の不適当なackコードを返したエラーであると判別される。
一方、適当なackコードを返した場合には、ステップS7の処理に移行する。
【0050】
ステップS7においては、適当なrcode(response code) を受信したか否かの判別が行われる。
ステップS7において、不適当なrcodeを受信した場合には、コード「6」の不適当なrcodeを受信したエラーであると判別される。
一方、適当なrcodeを受信した場合には、ステップS8の処理に移行する。
【0051】
ステップS8においては、ソース(source)IDが正常であるか否かの判別が行われる。
ステップS8において、ソースIDが異常であると判別されると、コード「7」の指定ノード以外からの応答パケットを受信したエラーであると判別される。
一方、正常なソースIDを受信した場合には、ステップS9の処理に移行する。
【0052】
ステップS9においては、受信したtcode(transaction code)が正常であるか否かの判別が行われる。
ステップS9において、受信したtcodeが異常であると判別されると、コード「8」の実行しているトランザクションとは異なるtcodeを受信したエラーであると判別される。
一方、正常なtcodeを受信した場合にはエラーなし(コンプリート)として処理される。
【0053】
エラー判別回路1261では、上述したようにエラーがあることが検出されると、信号S126が要求パケット生成回路122、応答パケットデコード回路123、要求用FIFO124および応答用パケット125に出力されて、それらの処理が停止させる処理が行われる。
そして、エラーの内容に応じたエラーコードがCR107のエラーレジスタにセットされ、また、エラーがあることを検出すると割り込み信号(Interrupt) 用のCR107に割り込みビットがセットされる。これにより、ローカルプロセッサ40にエラーにより割り込む要求があることが報知される。
これにより、ローカルプロセッサ40により、CR107の内容が読み出され、CR107を介して、トランザクション・レイヤ回路120に対する初期化(リセット)処理が行われる。
【0054】
次に、上記構成において、SBP−2規格で決められたパケットを転送する場合のコンピュータデータの通常の送信および受信動作を説明する。
【0055】
まず、送信動作、すなわち、ターゲットであるハードディスクからイニシエータであるホストコンピュータにデータを転送するときであって、ストレージデバイス(ハードディスク)からホストコンピュータのメモリへデータを書き込む動作を行う場合について説明する。
【0056】
ホストコンピュータから1394シリアルバスBSを転送されてきたSBP−2規格に基づいたORB(Operation Request Block)等のパケットデータがフィジカル・レイヤ回路20、リンク・レイヤ回路100のリンクコア101を介して分別回路105に入力される。
【0057】
分別回路105では、受信パケットを受けてホストコンピュータからターゲットであるトランザクション・レイヤ回路に対しての応答パケット(Response Packet) であるかその他のパケットであるかの分別が行われる。
そしてこの場合、その他のパケットであることから受信データが受信用FIFO104に格納される。
受信用FIFO104に格納されたORB等の受信データは、CPUインタフェース回路102を介してローカルプロセッサ40に入力される。
ローカルプロセッサ40では、CPUインタフェース回路102を介してORBの内容に従ってCR107のトランザクション・レイヤ回路用レジスタの初期化が行われる。
これにより、トランザクション・レイヤ回路120が起動される。
【0058】
起動されたトランザクション・レイヤ回路120では、要求パケット生成回路122において、トランスポートインタフェース121を介してHDDコントローラ30に対してのデータの要求が始められる。
要求に応じ、トランスポートインタフェース121を介して送られてきた送信データは、要求パケット生成回路122においてSBP−2規格に従ってトランスポートデータインタフェース回路121を介して得た図示しないハードディスクに記録されたコンピュータデータをパケットに分けられるように1個以上のデータに分けられ、CR107にセットされた転送データ長等のデータに基づいてSBPプロトコルのアドレスが算出され、パケット毎に増加する1394バスアドレスとトランザクションラベルtl(=a)やトランザクションコードtcode(たとえば1または5)等が設定された4クラドレットからなる1394ヘッダが付加されて要求用FIFO124に格納される。
【0059】
要求用1FIFO124に1つの1394パケットサイズ以上のデータが格納されると、そのデータはトランザクションコントローラ126によりリンク・レイヤ回路100のリンクコア101に送られる。
そして、リンクコア101によって、フィジカル・レイヤ回路20を介して1394シリアルバスBSに対しアービトレーションが掛けられる。
これにより、バスの獲得ができたならば、転送データを含む書き込み要求パケット(Write Request Packet)がフィジカル・レイヤ回路20、1394シリアルバスBSを介してホストコンピュータに送信される。
【0060】
送信後、ホストコンピュータから書き込み要求パケットに対するAckコードと、場合によっては書き込み応答パケット(Write Response Packet) が送られてきて、フィジカル・レイヤ回路20、リンク・レイヤ回路100のリンクコア101を介して分別回路105に入力される。
【0061】
分別回路105では、受信パケットのトランザクションコードtcodeおよびトランザクションラベルtlのチェックが行われ、ホストコンピュータからターゲットであるトランザクション・レイヤ回路120に対しての応答パケット(Response Packet) であると判別されると、その応答パケットがトランザクション・レイヤ回路120のトランザクションコントローラ126に入力される。
【0062】
トランザクションコントローラ126では、入力された応答パケットのAckコードと応答コード(Response code) が正常ならば次のデータのリンクコア101への送出が行われる。
以上の動作が繰り返されて、コンピュータデータのホストコンピュータのメモリへの書き込み(送信)動作が行われる。
【0063】
以上の送信に関するトランザクション・レイヤ回路120の動作の概略を図4に示す。
【0064】
次に、受信動作、すなわち、ホストコンピュータからターゲットにデータを転送するときであって、ストレージデバイス(ハードディスク)がホストコンピュータのメモリのデータを読み出す動作を行う場合について説明する。
【0065】
ホストコンピュータから1394シリアルバスBSを転送されてきたSBP−2規格に基づいたORB(Operation Request Block)等のパケットデータがフィジカル・レイヤ回路20、リンク・レイヤ回路100のリンクコア101を介して分別回路105に入力される。
【0066】
分別回路105では、受信パケットを受けてホストコンピュータからターゲットであるトランザクション・レイヤ回路に対しての応答パケット(Response Packet) であるかその他のパケットであるかの分別が行われる。
そしてこの場合、その他のパケットであることから受信データが受信用FIFO104に格納される。
受信用FIFO104に格納されたORB等の受信データは、CPUインタフェース回路102を介してローカルプロセッサ40に入力される。
ローカルプロセッサ40では、CPUインタフェース回路102を介してORBの内容に従ってCR107のトランザクション・レイヤ回路用レジスタの初期化が行われる。
これにより、トランザクション・レイヤ回路120が起動される。
【0067】
起動されたトランザクション・レイヤ回路120では、要求パケット生成回路122において、SBP−2規格に従って、CR107にセットされた転送データ長等のデータに基づいてSBPプロトコルのアドレスが算出され、パケット毎に増加する1394バスアドレスとトランザクションラベルtl(=a)やトランザクションコードtcode(たとえば1または5)等が設定され、指定されたアドレス、データ長分の1394ブロック読み出し要求コマンド(Block read Request Command)がパケット化されて要求用FIFO124に格納される。
【0068】
要求用FIFO124に格納された読み出し要求コマンドパケットは、トランザクションコントローラ126によりリンク・レイヤ回路100のリンクコア101に送られる。
そして、リンクコア101によって、フィジカル・レイヤ回路20を介して1394シリアルバスBSに対しアービトレーションが掛けられる。
これにより、バスの獲得ができたならば、読み出し要求パケット(Read Request Packet) がフィジカル・レイヤ回路20、1394シリアルバスBSを介してホストコンピュータに送信される。
【0069】
送信後、ホストコンピュータから読み出し要求パケットに対するAckコードと、指定されたデータ長分のデータを含んだ読み出し応答パケット(Read Response Packet) が送られてきて、フィジカル・レイヤ回路20、リンク・レイヤ回路100のリンクコア101を介して分別回路105に入力される。
【0070】
分別回路105では、受信パケットのトランザクションコードtcodeおよびトランザクションラベルtlのチェックが行われ、ホストコンピュータからターゲットであるトランザクション・レイヤ回路に対しての応答パケット(Response Packet) であると判別されると、その応答パケットがトランザクション・レイヤ回路120のトランザクションコントローラ126に入力される。
【0071】
トランザクションコントローラ126では、分別回路105からの応答パケットが応答用FIFO125に格納される。
応答用FIFO125に格納されたデータは、応答パケットデコード回路123によって読み出され、1394ヘッダが取り除かれて、所定のタイミングでトランスポートデータインタフェース回路121を介してHDDコントローラ30に出力される。
以上の動作が繰り返されて、コンピュータデータのストレージデバイス(ハードディスク)への書き込み(受信)動作が行われる。
【0072】
以上の受信に関するトランザクション・レイヤ回路129の動作の概略を図5に示す。
【0073】
以上説明したように、本実施形態によれば、ストレージデバイスが接続され、ストレージデバイスのデータを読み出し、自己指定のトランザクションラベルを付加して送信アシンクロナスパケットとしてシリアルインタフェースバスBSに送出し、他ノードのデータを当該ストレージデバイスへ転送する場合に、自己指定のラベルを付加した要求パケットを生成してシリアルインタフェースバスBSに送出し、他ノードからのこの要求パケットに対する応答パケットを受信し、応答パケットからデータ部を取り出してストレージデバイスへ転送するデータ処理回路としてのトランザクション・レイヤ回路120を設けたので、ストレージデバイスに格納される、あるいはストレージデバイスから読み出される大容量のデータをSBP−2規格に合わせたIEEE1394パケットにして送受信することができ、IEEE1394シリアルバスインタフェースのアシンクロナスパケットを用いて大容量のデータ転送を実現することができる。
そして、SBP−2規格に基づいたORBのフェッチ、データ転送、イニシエータへのステイタス送信といったシーケンスを簡略化でき、ディスクドライバ、テープストリーマ等のコンピュータ周辺機器のデータをIEEE1394シリアルバスに接続する際に最適な設計が可能となる。
【0074】
また、応答パケットにエラーが有るか否かを判別し、エラーがある場合にはそのエラー内容を判別し、要求パケット生成回路122、応答パケットデコード回路123、要求用FIFO124および応答用パケット125の処理を信号S126で停止させるエラー判別回路1261を設けたので、エラーが発生した場合にその判別を行うことができ、制御系回路の付加を軽減でき的確な送受信処理をすることができる。
【0075】
さらに、トランザクション・レイヤ回路120に要求用FIFO124および応答用FIFO125を設けるとともに、リンク・レイヤ回路100に送信用FIFO103および受信用FIFO104を設けたので、要求用FIFO124および応答用FIFO125によるデータのやりとりと並列して、データ以外の通常の1394パケットの送受信を行うことできる。
【0076】
また、リンクコア101を介したアシンクロナス通信用パケットの第1クワドレッドにあるトランザクションコードtcode(Transaction code)およびトランザクションラベルtl(Transaction label) をチェックし、イニシエータであるホストコンピュータからターゲットであるトランザクション・レイヤ回路に対しての応答パケット(Response Packet) であるかその他のパケットであるかの分別を行い、応答パケットのみをトランザクション・レイヤ回路120に入力させ、その他のパケットを受信用FIFO104に格納する分別回路105を設けたので、たとえばトランザクション・レイヤ回路120側で致命的なエラーがおきてデータの読み出し/書き込み動作が止まってしまったとしても、データの次の入力されてくるコマンドの読み出しができなることがなく、データの読み出し/書き込みの状況にかかわりなくコマンドの受信を円滑に行うことができる利点がある。
【0077】
【発明の効果】
以上説明したように、本発明によれば、大容量のデータを所定の規格に合わせたパケットにして送受信することができることはもとより、エラーが発生した場合にその判別を行うことができ、制御系回路の付加を軽減でき、的確な送受信処理をすることができる。
【図面の簡単な説明】
【図1】本発明に係るIEEE1394シリアルインタフェース回路の一実施形態を示すブロック構成図である。
【図2】本発明に係るエラー判別回路を示すブロック図である。
【図3】エラーコードの一例を示す図である。
【図4】エラー判別動作を説明するためのフローチャートである。
【図5】本発明に係るトランザクション・レイヤ回路における送信動作の概略を示す図である。
【図6】本発明に係るトランザクション・レイヤ回路における受信動作の概略を示す図である。
【図7】IEEE1394規格のアシンクロナス転送を説明するための図である。
【符号の説明】
10…リンク/トランザクションレイヤ集積回路、20…フィジカル・レイヤ回路、30…HDDコントローラ、40…ローカルプロセッサ、100,100a…リンク・レイヤ回路、101…リンクコア、102…CPUインタフェース回路、103…アシンクロナス送信用FIFO、104…アシンクロナス受信用FIFO、105,105a…分別回路、106…リゾルバ、107…コントロールレジスタ、120…トランザクション・レイヤ回路、121…トランスポートデータインタフェース回路、121…要求パケット生成回路、123…応答パケットデコード回路、124…要求用FIFO、125…応答用FIFO、126…トランザクションコントローラ、1261…エラー判別回路。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a digital serial interface circuit, and in particular, a serial connected to a storage device such as an HDD (Hard Disk Drive), a DVD (Digital Video Disk) -ROM, a CD (Compact Disk) -ROM, and a tape streamer. The present invention relates to an interface circuit.
[0002]
[Prior art]
In recent years, IEEE (The Institute of Electrical and Electronic Engineers) 1394 and High Performance Serial Bus that realize high-speed data transfer and real-time transfer have been standardized as interfaces for multimedia data transfer.
[0003]
In the data transfer of the IEEE1394 serial interface, a transfer operation performed in the network is called a subaction and two subactions are defined.
One is a conventional Asynchronous transfer for request and acknowledge request and reception confirmation, and the other is an isochronous transfer in which data is always sent once every 125 μs from a certain node.
[0004]
In this way, data in the IEEE 1394 serial interface having two transfer modes is transferred in units of packets, but in the IEEE 1394 standard, the minimum data unit to be handled is 1 quadlet (= 4 bytes = 32 bits). It is.
[0005]
According to the IEEE 1394 standard, computer data is normally transmitted using asynchronous transfer as shown in FIG.
As shown in FIG. 7A, asynchronous transfer takes three transition states: arbitration (arb) for acquiring a bus, packet transmission for transferring data, and acknowledgment (ack).
[0006]
The packet transmission is executed in a format as shown in FIG.
The first quadlet of the transfer packet includes a 16-bit destination ID area, a 6-bit transaction label tl (transaction label) area, a 2-bit retry code rt (retry code) area, and a 4-bit transaction code tcode. ( transaction code) area and 4-bit priority pri (priority) area.
The destination ID area indicates the bus number and node number of this node, and the priority area indicates the priority level.
[0007]
The second and third quadlets have a 16-bit source ID field and a 48-bit destination offset.
offset) area.
The source ID area indicates the node ID that sent this packet, and the destination offset area is composed of continuous high and low areas, indicating the address of the destination node address space.
[0008]
The fourth quadlet is composed of a 16-bit data length area and a 16-bit extended transaction code area.
The data length area indicates the number of bytes of the received packet, and the extended tcode area indicates the actual lock action (Lock Action) performed by the data of this packet when tcode is a lock transaction. .
[0009]
The header CRC (header CRC) area added to the quadlet before the data field area is an error detection code of the packet header.
A data CRC (data CRC) area added to the quadlet after the data field is an error detection code of the data field.
[0010]
[Problems to be solved by the invention]
By the way, as described above, SBP-2 (Serial Bus Protocol-2) is used as a protocol in normal computer data transfer performed by asynchronous transfer.
According to this protocol, when data is transferred from a target (Storage Device) to a host computer (Initiator), data is written from the storage device to the host computer memory. In addition, when data is transferred from the host computer to the target, the transfer is performed in such a manner that the storage device reads the data in the memory of the host computer.
[0011]
However, a processing circuit system for controlling a so-called transaction layer for transmitting and receiving large-capacity data stored in a storage device or read from the storage device as an IEEE 1394 packet is still established. It has not been.
It is also necessary to implement a communication error detection and discrimination circuit in the transaction system.
[0012]
The present invention has been made in view of such circumstances, and an object of the present invention is to transmit / receive a large amount of data in a packet conforming to a predetermined standard, and to determine when an error occurs. An object of the present invention is to provide a serial interface circuit that can be performed and can perform smooth transmission and reception processing.
[0013]
[Means for Solving the Problems]
In order to achieve the above object, the present invention provides a serial interface circuit that transmits and receives packets between other nodes connected to the own node via a serial interface bus, and generates a request packet from the own node to the other node. The data processing circuit that transmits to the serial interface bus and performs reception processing for the response packet to the request packet, and determines whether or not the received response packet has an error. An error determination circuit that determines the transaction code and label in the received packet, and discriminates whether it is a response packet or other packet from the initiator to the data processing circuit that is the target, Only the response packet is input to the data processing circuit. The error determination circuit determines whether or not an appropriate response packet for the request packet has been returned. If the response packet is inappropriate, the error determination circuit is inappropriate for the transmitted request. determines that the error response packet is returned, when it is determined that has been returned appropriate response packet, the response is complete (Complete), busy (busy), different determination processing on whether it is, pending (pending) In the case of completion, it is determined whether there is a reception or transmission corresponding to the request, and in the case where the request does not correspond, it is determined that the error is a response packet that is inappropriate for the transmitted request. If it corresponds, it is determined that the error is complete, and if it is busy, a retry operation is performed to perform retransmission, and this retry count is set in advance. It is determined whether the retry limit has been reached, and if the retry limit has been reached, it is determined that the other party is busy, and in the case of pending, a response packet is received within a preset time. It is determined whether or not it is an error that the response does not return within the specified time if it is received within the specified time .
[0014]
In the present invention, the error determination circuit stops packet transmission / reception processing of the data processing circuit when an error is detected.
[0015]
In the present invention, an error register is provided, and the error determination circuit sets the error content in the error register when an error is detected.
[0016]
The present invention further includes a control circuit for initializing the data processing circuit when the error content is set in the error register.
[0017]
In the present invention, when the error determination circuit detects an error, the error detection circuit notifies the control circuit that the error has been detected, and the control circuit reads the error register upon receiving the error detection notification and performs the initialization. Process.
[0018]
Further, according to the circuit of the present invention, a request packet from the own node to another node is generated and sent to the serial interface bus in the data processing circuit.
Then, a response packet to the request packet from another node is received and predetermined processing is performed.
The response packet is also input to the error determination circuit. The error determination circuit detects whether or not there is an error in the received response packet. If there is an error, the error content is determined.
For example, when an error is detected by the error determination circuit, packet transmission / reception processing of the data processing circuit is stopped, the error content is set in the error register, and the control circuit is notified that the error has been detected. The That is, an error interrupt is performed.
Upon receiving notification of error detection, the control circuit reads the contents of the error register and performs initialization processing on the data processing circuit.
[0019]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a block diagram showing an embodiment of an
Note that this serial interface circuit is configured for the purpose of transferring computer data handled in asynchronous communication. For this reason, the specific configuration of the isochronous communication system circuit is not shown in FIG.
[0020]
The serial interface circuit includes a link / transaction layer integrated
[0021]
The link / transaction layer integrated
[0022]
As shown in FIG. 1, the
[0023]
The
Further, it performs a transmission process of computer data read from a hard disk (not shown) and generated as a predetermined transmission packet by the
For example, upon receiving notification that there is data to be sent from the
In FIG. 1, as described above, the isochronous communication FIFO and the like are omitted.
[0024]
The
For example, an
[0025]
From the
[0026]
The
[0027]
The receiving
[0028]
The
[0029]
Note that the transaction label tl used for the classification check is commonly set to “a”, and tcode (Transaction code) is a write request, a response, and a read request (Read) ( Different data is set for Read request and Read response.
Specifically, tcode is set to “0” when the write request is a quadlet write and “1” when the block write is a block write.
In the case of a write response, it is set to “2”.
It is set to “4” when the read request is a quadlet read and “5” when the block read is a block read.
In the case of a read response (Read Response), it is set to “6/7”.
[0030]
The
[0031]
The
In addition, the
The retry function is a function for retransmitting a corresponding request packet when an ack busy * Ack code is returned after transmitting the request packet. When retransmitting a packet, the 2-bit rt region in the first quadred of the transmission packet is set from “00” to “01” to notify the
The split timeout detection function is a function for detecting a timeout until a response packet is returned.
[0032]
The
The request
[0033]
The transport
[0034]
When the request
In the case of reception (reading), in accordance with the SBP-2 standard, an SBP protocol address is calculated based on data such as the transfer data length set in the
[0035]
The request
This maximum data length (byte) maxpl is obtained based on the following equation.
[0036]
[Expression 1]
maxpl = 2 (max, Payload + 2) (1)
[0037]
The response
[0038]
The
When the data to be sent is stored, the
[0039]
In the case of reception (reading), the
The
[0040]
The
Also, upon transmission, a response packet from the
[0041]
Further, as shown in FIG. 2, the
[0042]
If the write transaction (transmission) and read (receive), for acknowledgment (Acknowledge) or response packet received, there is a possibility that for example an error as shown in FIG. 3 occurs, an
[0043]
Here, the contents of each error code in FIG. 3 will be described.
Error code ERC “0” indicates no error, “1” returns an ack code inappropriate for the transmitted request, “2” returns an ack code inappropriate for the received response, “3” No response is returned within the specified time, “4” is the retry limit count, the other party is busy even if a request packet is sent, “5” is a bus reset, “6” is an inappropriate rcode (response "7" is a response packet from a node other than the designated node, and "8" is a tcode (transaction code) different from the transaction being executed.
[0044]
Here, the operation at the time of writing (receiving) of the error discriminating circuit shown in FIG. 2 will be described with reference to the flowchart of FIG. 4, and then the normal computer data when transferring a packet determined by the SBP-2 standard is described. The transmission and reception operations will be described.
[0045]
The
If the ack code is inappropriate in step S1, it is determined that the error is that an inappropriate ack code is returned in response to the request transmitted with the code “1”.
If it is determined in step S1 that the ack code has been returned appropriately, different determination processing is performed depending on whether the response is complete, busy, or pending.
[0046]
In the case of complete, it is determined whether it is a read or a write. If the response is an inappropriate response if it is a read, it is determined that the error is a code “1”, and if it is a write, the complete (S3).
[0047]
In the case of busy, a retry operation for performing retransmission is performed, and it is determined whether or not the number of retries has reached a preset retry limit (S4).
If it is determined in step S4 that the retry limit count has not been reached, the operation in step S1, that is, the request packet retransmission operation is performed.
On the other hand, if the retry limit number has been reached, it is determined that the partner is busy even if the request packet is sent the number of times of the retry limit of code “4”.
[0048]
In the case of pending, the determination operations in steps S5 to S9 are performed in order.
First, in step S5, it is determined whether or not a response packet has been received within a preset time.
In step S5, if the response packet does not return within the preset time, it is determined that the response does not return within the specified time of the code “3”.
On the other hand, if the response is returned within the specified time, the process proceeds to step S6.
[0049]
In step S6, it is determined whether or not an ack code inappropriate for the received response is returned.
In step S6, when an inappropriate ack code is returned to the received response, it is determined that the error is that an inappropriate ack code of
On the other hand, if an appropriate ack code is returned, the process proceeds to step S7.
[0050]
In step S7, it is determined whether or not an appropriate rcode (response code) has been received.
If an inappropriate rcode is received in step S7, it is determined that the error is that an inappropriate rcode of code “6” has been received.
On the other hand, if an appropriate rcode is received, the process proceeds to step S8.
[0051]
In step S8, it is determined whether or not the source ID is normal.
If it is determined in step S8 that the source ID is abnormal, it is determined that the error is a response packet received from a node other than the designated node with the code “7”.
On the other hand, if a normal source ID is received, the process proceeds to step S9.
[0052]
In step S9, it is determined whether or not the received tcode (transaction code) is normal.
If it is determined in step S9 that the received tcode is abnormal, it is determined that the error is a tcode received that is different from the transaction in which the code “8” is executed.
On the other hand, when normal tcode is received, it is processed as no error (complete).
[0053]
When it is detected that there is an error as described above, the
An error code corresponding to the content of the error is set in the error register of the
As a result, the content of the
[0054]
Next, normal transmission and reception operations of computer data when a packet determined by the SBP-2 standard is transferred in the above configuration will be described.
[0055]
First, a transmission operation, that is, a case in which data is transferred from a target hard disk to an initiator host computer and data is written from a storage device (hard disk) to a memory of the host computer will be described.
[0056]
Packet data such as ORB ( Operation Request Block) based on the SBP-2 standard transferred from the host computer via the 1394 serial bus BS is separated via the
[0057]
The
In this case, the received data is stored in the receiving
Reception data such as ORB stored in the
In the
As a result, the
[0058]
In the activated
In response to the request, the transmission data sent via the
[0059]
When data of one 1394 packet size or larger is stored in the
The
Thus, if the bus is acquired, a write request packet including the transfer data is transmitted to the host computer via the
[0060]
After transmission, an Ack code for the write request packet and, in some cases, a write response packet are sent from the host computer, and are sorted via the
[0061]
In the
[0062]
In the
The above operation is repeated, and the operation of writing (sending) computer data to the memory of the host computer is performed.
[0063]
FIG. 4 shows an outline of the operation of the
[0064]
Next, a reception operation, that is, a case where the storage device (hard disk) reads data from the memory of the host computer when data is transferred from the host computer to the target will be described.
[0065]
Packet data such as ORB ( Operation Request Block) based on the SBP-2 standard transferred from the host computer via the 1394 serial bus BS is separated via the
[0066]
The
In this case, the received data is stored in the receiving
Reception data such as ORB stored in the
In the
As a result, the
[0067]
In the activated
[0068]
The read request command packet stored in the
The
As a result, if the bus is acquired, a read request packet is transmitted to the host computer via the
[0069]
After transmission, an Ack code for the read request packet and a read response packet (Read Response Packet) including data for the specified data length are sent from the host computer, and the
[0070]
In the
[0071]
In the
The data stored in the
The above operation is repeated, and the operation of writing (receiving) computer data to the storage device (hard disk) is performed.
[0072]
FIG. 5 shows an outline of the operation of the transaction layer circuit 129 related to the above reception.
[0073]
As described above, according to the present embodiment, the storage device is connected, reads the data of the storage device, adds a self-designated transaction label, sends it to the serial interface bus BS as a transmission asynchronous packet, and When transferring data to the storage device, a request packet with a self-designated label is generated and sent to the serial interface bus BS, a response packet to this request packet from another node is received, and the data from the response packet Since the
The sequence of ORB fetch, data transfer, and status transmission to the initiator based on the SBP-2 standard can be simplified, and it is optimal for connecting computer peripheral data such as disk drivers and tape streamers to the
[0074]
Also, it is determined whether or not there is an error in the response packet. If there is an error, the error content is determined, and the request
[0075]
Further, since the requesting
[0076]
In addition, the transaction code tcode (Transaction code) and the transaction label tl (Transaction label) in the first quadred of the packet for asynchronous communication through the
[0077]
【The invention's effect】
As described above, according to the present invention, not only can a large amount of data be transmitted and received in packets conforming to a predetermined standard, but also when an error occurs, the determination can be made. The addition of a circuit can be reduced, and an accurate transmission / reception process can be performed.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an embodiment of an
FIG. 2 is a block diagram showing an error determination circuit according to the present invention.
FIG. 3 is a diagram illustrating an example of an error code.
FIG. 4 is a flowchart for explaining an error determination operation;
FIG. 5 is a diagram showing an outline of a transmission operation in a transaction layer circuit according to the present invention.
FIG. 6 is a diagram showing an outline of a reception operation in a transaction layer circuit according to the present invention.
FIG. 7 is a diagram for explaining asynchronous transfer of the
[Explanation of symbols]
DESCRIPTION OF
Claims (8)
自ノードから他ノードへの要求パケットを生成し、上記シリアルインタフェースバスに送出し、当該要求パケットに対する応答パケットに対する受信処理を行うデータ処理回路と、
受信した応答パケットにエラーが有るか否かを判別し、エラーがある場合にはそのエラー内容を判別するエラー判別回路と、
受信したパケットにあるトランザクションコードおよびラベルをチェックし、イニシエータからターゲットである上記データ処理回路に対しての応答パケットであるかその他のパケットであるかの分別を行い、応答パケットのみを上記データ処理回路に入力させる分別回路と、を有し、
上記エラー判別回路は、
要求パケットに対する適当な応答パケットが返ってきたか否かの判別を行い、不適当な応答パケットである場合には、送信した要求に不適当な応答パケットが返ってきたエラーであると判別し、
適当な応答パケットが返ってきたと判別すると、その応答がコンプリート (Complete) 、ビジー (Busy) 、ペンディング (Pending) 、であるかで異なる判別処理を行い、
コンプリートの場合には、要求に対応した受信または送信あるかを判別し、要求の対応しない場合には送信した要求に不適当な応答パケットが返ってきたエラーであると判別し、要求に対応する場合には、エラーなしのコンプリートであると判別し、
ビジーの場合には、再送信を行うリトライ動作を行い、このリトライ回数が、あらかじめ設定したリトライ制限回数に達したか否かの判別を行い、リトライ制限回数に達していると相手がビジーであるエラーと判別し、
ペンディングンの場合には、応答パケットをあらかじめ設定した時間内に受信したか否かを判別し、時間内に受信したかった場合には規定時間内に応答が戻らないというエラーであると判別する
シリアルインタフェース回路。A serial interface circuit that transmits and receives packets between other nodes connected to the local node via a serial interface bus,
A data processing circuit that generates a request packet from the own node to another node, sends the request packet to the serial interface bus, and performs a reception process on a response packet to the request packet
An error determination circuit that determines whether or not there is an error in the received response packet, and if there is an error, determines an error content ;
The transaction code and label in the received packet are checked, the response packet from the initiator to the data processing circuit that is the target is distinguished from other packets, and only the response packet is sent to the data processing circuit. A separation circuit to be input to
The error discrimination circuit
It is determined whether or not an appropriate response packet for the request packet has been returned, and if it is an inappropriate response packet, it is determined that the error is that an inappropriate response packet has been returned for the transmitted request.
When determining that has been returned appropriate response packet, the response is complete (Complete), busy (Busy), performs a different determination processing on whether it is, pending (Pending),
In the case of complete, it is determined whether there is reception or transmission corresponding to the request. In the case where the request does not correspond, it is determined that an error response packet is returned in response to the transmitted request, and the request is responded. If it is, determine that the error is complete and
In the case of busy, a retry operation for performing retransmission is performed, it is determined whether or not the number of retries has reached a preset retry limit, and the partner is busy if the retry limit has been reached. Determined as an error,
In the case of pending, it is determined whether or not the response packet is received within a preset time, and if it is received within the time, it is determined that the error is that the response does not return within the specified time. Serial interface circuit.
請求項1記載のシリアルインタフェース回路。The serial interface circuit according to claim 1, wherein the error determination circuit stops packet transmission / reception processing of the data processing circuit when an error is detected.
上記エラー判別回路は、エラーを検出した場合にはエラー内容を上記エラーレジスタにセットする
請求項1記載のシリアルインタフェース回路。Has an error register,
The serial interface circuit according to claim 1, wherein the error determination circuit sets an error content in the error register when an error is detected.
上記エラー判別回路は、エラーを検出した場合にはエラー内容を上記エラーレジスタにセットする
請求項2記載のシリアルインタフェース回路。Has an error register,
The serial interface circuit according to claim 2, wherein when an error is detected, the error determination circuit sets an error content in the error register.
を有する請求項3記載のシリアルインタフェース回路。The serial interface circuit according to claim 3, further comprising a control circuit that initializes the data processing circuit when an error content is set in the error register.
を有する請求項4記載のシリアルインタフェース回路。The serial interface circuit according to claim 4, further comprising: a control circuit that initializes the data processing circuit when an error content is set in the error register.
上記制御回路は、エラー検出の知らせを受けて上記エラーレジスタの読み出しを行い、上記初期化処理を行う
請求項5記載のシリアルインタフェース回路。When the error determination circuit detects an error, it notifies the control circuit that the error has been detected,
The serial interface circuit according to claim 5, wherein the control circuit reads the error register upon receiving notification of error detection and performs the initialization process.
上記制御回路は、エラー検出の知らせを受けて上記エラーレジスタの読み出しを行い、上記初期化処理を行う
請求項6記載のシリアルインタフェース回路。When the error determination circuit detects an error, it notifies the control circuit that the error has been detected,
The serial interface circuit according to claim 6, wherein the control circuit reads the error register upon receiving notification of error detection and performs the initialization process.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16598897A JP3837843B2 (en) | 1997-06-23 | 1997-06-23 | Serial interface circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16598897A JP3837843B2 (en) | 1997-06-23 | 1997-06-23 | Serial interface circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1117711A JPH1117711A (en) | 1999-01-22 |
JP3837843B2 true JP3837843B2 (en) | 2006-10-25 |
Family
ID=15822790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16598897A Expired - Fee Related JP3837843B2 (en) | 1997-06-23 | 1997-06-23 | Serial interface circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3837843B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3584789B2 (en) * | 1999-07-15 | 2004-11-04 | セイコーエプソン株式会社 | Data transfer control device and electronic equipment |
-
1997
- 1997-06-23 JP JP16598897A patent/JP3837843B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH1117711A (en) | 1999-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3543647B2 (en) | Data transfer control device and electronic equipment | |
JP3560423B2 (en) | Packet transmitting / receiving device and packet receiving device | |
US20070180336A1 (en) | Multi-initiator control unit and method | |
JP3584789B2 (en) | Data transfer control device and electronic equipment | |
JP3608441B2 (en) | Data transfer control device and electronic device | |
JP3733699B2 (en) | Serial interface circuit | |
JP3785747B2 (en) | Serial interface circuit and signal processing method thereof | |
JP3837843B2 (en) | Serial interface circuit | |
JP3539287B2 (en) | Data transfer control device and electronic equipment | |
JP3494040B2 (en) | Data transfer control device and electronic equipment | |
JPH1117710A (en) | Serial interface circuit | |
JP3494042B2 (en) | Data transfer control device and electronic equipment | |
JPH1117775A (en) | Serial interface circuit | |
JPH1117773A (en) | Serial interface circuit | |
JPH1117767A (en) | Serial interface circuit | |
JPH11308300A (en) | Serial interface circuit | |
JPH1117774A (en) | Serial interface circuit | |
JP4582180B2 (en) | Data transmission equipment | |
JP2000224195A (en) | Data transmitter | |
JPH11308301A (en) | Serial interface circuit | |
JP4062829B2 (en) | Serial interface circuit | |
JP2003023471A (en) | Packet transmission/reception processing circuit | |
JP3610982B2 (en) | Data transfer control device and electronic device | |
JP2000115176A (en) | Serial interface circuit | |
JP2006109312A (en) | Communication control apparatus and its method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040115 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060126 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060131 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060403 |
|
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: 20060711 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060724 |
|
LAPS | Cancellation because of no payment of annual fees |